@capgo/cli 7.71.1 → 7.71.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +40 -40
- package/dist/package.json +1 -1
- package/dist/src/sdk.js +22 -22
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{createRequire as Yh}from"node:module";var tf=Object.create;var{getPrototypeOf:ef,defineProperty:v7,getOwnPropertyNames:rU,getOwnPropertyDescriptor:Dh}=Object,aU=Object.prototype.hasOwnProperty;var
|
|
2
|
+
import{createRequire as Yh}from"node:module";var tf=Object.create;var{getPrototypeOf:ef,defineProperty:v7,getOwnPropertyNames:rU,getOwnPropertyDescriptor:Dh}=Object,aU=Object.prototype.hasOwnProperty;var r1=(D,Y,X)=>{X=D!=null?tf(ef(D)):{};let Q=Y||!D||!D.__esModule?v7(X,"default",{value:D,enumerable:!0}):X;for(let J of rU(D))if(!aU.call(Q,J))v7(Q,J,{get:()=>D[J],enumerable:!0});return Q},iU=new WeakMap,v9=(D)=>{var Y=iU.get(D),X;if(Y)return Y;if(Y=v7({},"__esModule",{value:!0}),D&&typeof D==="object"||typeof D==="function")rU(D).map((Q)=>!aU.call(Y,Q)&&v7(Y,Q,{get:()=>D[Q],enumerable:!(X=Dh(D,Q))||X.enumerable}));return iU.set(D,Y),Y},T=(D,Y)=>()=>(Y||D((Y={exports:{}}).exports,Y),Y.exports);var B9=(D,Y)=>{for(var X in Y)v7(D,X,{get:Y[X],enumerable:!0,configurable:!0,set:(Q)=>Y[X]=()=>Q})};var Z8=(D,Y)=>()=>(D&&(Y=D(D=0)),Y);var a=Yh(import.meta.url);var y7=T((Xh)=>{class m$ extends Error{constructor(D,Y,X){super(X);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=Y,this.exitCode=D,this.nestedError=void 0}}class oU extends m${constructor(D){super(1,"commander.invalidArgument",D);Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}}Xh.CommanderError=m$;Xh.InvalidArgumentError=oU});var OX=T((Gh)=>{var{InvalidArgumentError:Wh}=y7();class sU{constructor(D,Y){switch(this.description=Y||"",this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,D[0]){case"<":this.required=!0,this._name=D.slice(1,-1);break;case"[":this.required=!1,this._name=D.slice(1,-1);break;default:this.required=!0,this._name=D;break}if(this._name.endsWith("..."))this.variadic=!0,this._name=this._name.slice(0,-3)}name(){return this._name}_collectValue(D,Y){if(Y===this.defaultValue||!Array.isArray(Y))return[D];return Y.push(D),Y}default(D,Y){return this.defaultValue=D,this.defaultValueDescription=Y,this}argParser(D){return this.parseArg=D,this}choices(D){return this.argChoices=D.slice(),this.parseArg=(Y,X)=>{if(!this.argChoices.includes(Y))throw new Wh(`Allowed choices are ${this.argChoices.join(", ")}.`);if(this.variadic)return this._collectValue(Y,X);return Y},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}}function $h(D){let Y=D.name()+(D.variadic===!0?"...":"");return D.required?"<"+Y+">":"["+Y+"]"}Gh.Argument=sU;Gh.humanReadableArgName=$h});var c$=T((qh)=>{var{humanReadableArgName:Fh}=OX();class tU{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(D){this.helpWidth=this.helpWidth??D.helpWidth??80}visibleCommands(D){let Y=D.commands.filter((Q)=>!Q._hidden),X=D._getHelpCommand();if(X&&!X._hidden)Y.push(X);if(this.sortSubcommands)Y.sort((Q,J)=>{return Q.name().localeCompare(J.name())});return Y}compareOptions(D,Y){let X=(Q)=>{return Q.short?Q.short.replace(/^-/,""):Q.long.replace(/^--/,"")};return X(D).localeCompare(X(Y))}visibleOptions(D){let Y=D.options.filter((Q)=>!Q.hidden),X=D._getHelpOption();if(X&&!X.hidden){let Q=X.short&&D._findOption(X.short),J=X.long&&D._findOption(X.long);if(!Q&&!J)Y.push(X);else if(X.long&&!J)Y.push(D.createOption(X.long,X.description));else if(X.short&&!Q)Y.push(D.createOption(X.short,X.description))}if(this.sortOptions)Y.sort(this.compareOptions);return Y}visibleGlobalOptions(D){if(!this.showGlobalOptions)return[];let Y=[];for(let X=D.parent;X;X=X.parent){let Q=X.options.filter((J)=>!J.hidden);Y.push(...Q)}if(this.sortOptions)Y.sort(this.compareOptions);return Y}visibleArguments(D){if(D._argsDescription)D.registeredArguments.forEach((Y)=>{Y.description=Y.description||D._argsDescription[Y.name()]||""});if(D.registeredArguments.find((Y)=>Y.description))return D.registeredArguments;return[]}subcommandTerm(D){let Y=D.registeredArguments.map((X)=>Fh(X)).join(" ");return D._name+(D._aliases[0]?"|"+D._aliases[0]:"")+(D.options.length?" [options]":"")+(Y?" "+Y:"")}optionTerm(D){return D.flags}argumentTerm(D){return D.name()}longestSubcommandTermLength(D,Y){return Y.visibleCommands(D).reduce((X,Q)=>{return Math.max(X,this.displayWidth(Y.styleSubcommandTerm(Y.subcommandTerm(Q))))},0)}longestOptionTermLength(D,Y){return Y.visibleOptions(D).reduce((X,Q)=>{return Math.max(X,this.displayWidth(Y.styleOptionTerm(Y.optionTerm(Q))))},0)}longestGlobalOptionTermLength(D,Y){return Y.visibleGlobalOptions(D).reduce((X,Q)=>{return Math.max(X,this.displayWidth(Y.styleOptionTerm(Y.optionTerm(Q))))},0)}longestArgumentTermLength(D,Y){return Y.visibleArguments(D).reduce((X,Q)=>{return Math.max(X,this.displayWidth(Y.styleArgumentTerm(Y.argumentTerm(Q))))},0)}commandUsage(D){let Y=D._name;if(D._aliases[0])Y=Y+"|"+D._aliases[0];let X="";for(let Q=D.parent;Q;Q=Q.parent)X=Q.name()+" "+X;return X+Y+" "+D.usage()}commandDescription(D){return D.description()}subcommandDescription(D){return D.summary()||D.description()}optionDescription(D){let Y=[];if(D.argChoices)Y.push(`choices: ${D.argChoices.map((X)=>JSON.stringify(X)).join(", ")}`);if(D.defaultValue!==void 0){if(D.required||D.optional||D.isBoolean()&&typeof D.defaultValue==="boolean")Y.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`)}if(D.presetArg!==void 0&&D.optional)Y.push(`preset: ${JSON.stringify(D.presetArg)}`);if(D.envVar!==void 0)Y.push(`env: ${D.envVar}`);if(Y.length>0){let X=`(${Y.join(", ")})`;if(D.description)return`${D.description} ${X}`;return X}return D.description}argumentDescription(D){let Y=[];if(D.argChoices)Y.push(`choices: ${D.argChoices.map((X)=>JSON.stringify(X)).join(", ")}`);if(D.defaultValue!==void 0)Y.push(`default: ${D.defaultValueDescription||JSON.stringify(D.defaultValue)}`);if(Y.length>0){let X=`(${Y.join(", ")})`;if(D.description)return`${D.description} ${X}`;return X}return D.description}formatItemList(D,Y,X){if(Y.length===0)return[];return[X.styleTitle(D),...Y,""]}groupItems(D,Y,X){let Q=new Map;return D.forEach((J)=>{let W=X(J);if(!Q.has(W))Q.set(W,[])}),Y.forEach((J)=>{let W=X(J);if(!Q.has(W))Q.set(W,[]);Q.get(W).push(J)}),Q}formatHelp(D,Y){let X=Y.padWidth(D,Y),Q=Y.helpWidth??80;function J(F,K){return Y.formatItem(F,X,K,Y)}let W=[`${Y.styleTitle("Usage:")} ${Y.styleUsage(Y.commandUsage(D))}`,""],$=Y.commandDescription(D);if($.length>0)W=W.concat([Y.boxWrap(Y.styleCommandDescription($),Q),""]);let G=Y.visibleArguments(D).map((F)=>{return J(Y.styleArgumentTerm(Y.argumentTerm(F)),Y.styleArgumentDescription(Y.argumentDescription(F)))});if(W=W.concat(this.formatItemList("Arguments:",G,Y)),this.groupItems(D.options,Y.visibleOptions(D),(F)=>F.helpGroupHeading??"Options:").forEach((F,K)=>{let U=F.map((z)=>{return J(Y.styleOptionTerm(Y.optionTerm(z)),Y.styleOptionDescription(Y.optionDescription(z)))});W=W.concat(this.formatItemList(K,U,Y))}),Y.showGlobalOptions){let F=Y.visibleGlobalOptions(D).map((K)=>{return J(Y.styleOptionTerm(Y.optionTerm(K)),Y.styleOptionDescription(Y.optionDescription(K)))});W=W.concat(this.formatItemList("Global Options:",F,Y))}return this.groupItems(D.commands,Y.visibleCommands(D),(F)=>F.helpGroup()||"Commands:").forEach((F,K)=>{let U=F.map((z)=>{return J(Y.styleSubcommandTerm(Y.subcommandTerm(z)),Y.styleSubcommandDescription(Y.subcommandDescription(z)))});W=W.concat(this.formatItemList(K,U,Y))}),W.join(`
|
|
3
3
|
`)}displayWidth(D){return eU(D).length}styleTitle(D){return D}styleUsage(D){return D.split(" ").map((Y)=>{if(Y==="[options]")return this.styleOptionText(Y);if(Y==="[command]")return this.styleSubcommandText(Y);if(Y[0]==="["||Y[0]==="<")return this.styleArgumentText(Y);return this.styleCommandText(Y)}).join(" ")}styleCommandDescription(D){return this.styleDescriptionText(D)}styleOptionDescription(D){return this.styleDescriptionText(D)}styleSubcommandDescription(D){return this.styleDescriptionText(D)}styleArgumentDescription(D){return this.styleDescriptionText(D)}styleDescriptionText(D){return D}styleOptionTerm(D){return this.styleOptionText(D)}styleSubcommandTerm(D){return D.split(" ").map((Y)=>{if(Y==="[options]")return this.styleOptionText(Y);if(Y[0]==="["||Y[0]==="<")return this.styleArgumentText(Y);return this.styleSubcommandText(Y)}).join(" ")}styleArgumentTerm(D){return this.styleArgumentText(D)}styleOptionText(D){return D}styleArgumentText(D){return D}styleSubcommandText(D){return D}styleCommandText(D){return D}padWidth(D,Y){return Math.max(Y.longestOptionTermLength(D,Y),Y.longestGlobalOptionTermLength(D,Y),Y.longestSubcommandTermLength(D,Y),Y.longestArgumentTermLength(D,Y))}preformatted(D){return/\n[^\S\r\n]/.test(D)}formatItem(D,Y,X,Q){let W=" ".repeat(2);if(!X)return W+D;let $=D.padEnd(Y+D.length-Q.displayWidth(D)),G=2,H=(this.helpWidth??80)-Y-G-2,F;if(H<this.minWidthToWrap||Q.preformatted(X))F=X;else F=Q.boxWrap(X,H).replace(/\n/g,`
|
|
4
4
|
`+" ".repeat(Y+G));return W+$+" ".repeat(G)+F.replace(/\n/g,`
|
|
5
5
|
${W}`)}boxWrap(D,Y){if(Y<this.minWidthToWrap)return D;let X=D.split(/\r\n|\n/),Q=/[\s]*[^\s]+/g,J=[];return X.forEach((W)=>{let $=W.match(Q);if($===null){J.push("");return}let G=[$.shift()],B=this.displayWidth(G[0]);$.forEach((H)=>{let F=this.displayWidth(H);if(B+F<=Y){G.push(H),B+=F;return}J.push(G.join(""));let K=H.trimStart();G=[K],B=this.displayWidth(K)}),J.push(G.join(""))}),J.join(`
|
|
@@ -24,7 +24,7 @@ Expecting one of '${X.join("', '")}'`);if(this._lifeCycleHooks[D])this._lifeCycl
|
|
|
24
24
|
`),this.outputHelp({error:!0});let X=Y||{},Q=X.exitCode||1,J=X.code||"commander.error";this._exit(Q,J,D)}_parseOptionsEnv(){this.options.forEach((D)=>{if(D.envVar&&D.envVar in i0.env){let Y=D.attributeName();if(this.getOptionValue(Y)===void 0||["default","config","env"].includes(this.getOptionValueSource(Y)))if(D.required||D.optional)this.emit(`optionEnv:${D.name()}`,i0.env[D.envVar]);else this.emit(`optionEnv:${D.name()}`)}})}_parseOptionsImplied(){let D=new Ph(this.options),Y=(X)=>{return this.getOptionValue(X)!==void 0&&!["default","implied"].includes(this.getOptionValueSource(X))};this.options.filter((X)=>X.implied!==void 0&&Y(X.attributeName())&&D.valueFromOption(this.getOptionValue(X.attributeName()),X)).forEach((X)=>{Object.keys(X.implied).filter((Q)=>!Y(Q)).forEach((Q)=>{this.setOptionValueWithSource(Q,X.implied[Q],"implied")})})}missingArgument(D){let Y=`error: missing required argument '${D}'`;this.error(Y,{code:"commander.missingArgument"})}optionMissingArgument(D){let Y=`error: option '${D.flags}' argument missing`;this.error(Y,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(D){let Y=`error: required option '${D.flags}' not specified`;this.error(Y,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(D,Y){let X=(W)=>{let $=W.attributeName(),G=this.getOptionValue($),B=this.options.find((F)=>F.negate&&$===F.attributeName()),H=this.options.find((F)=>!F.negate&&$===F.attributeName());if(B&&(B.presetArg===void 0&&G===!1||B.presetArg!==void 0&&G===B.presetArg))return B;return H||W},Q=(W)=>{let $=X(W),G=$.attributeName();if(this.getOptionValueSource(G)==="env")return`environment variable '${$.envVar}'`;return`option '${$.flags}'`},J=`error: ${Q(D)} cannot be used with ${Q(Y)}`;this.error(J,{code:"commander.conflictingOption"})}unknownOption(D){if(this._allowUnknownOption)return;let Y="";if(D.startsWith("--")&&this._showSuggestionAfterError){let Q=[],J=this;do{let W=J.createHelp().visibleOptions(J).filter(($)=>$.long).map(($)=>$.long);Q=Q.concat(W),J=J.parent}while(J&&!J._enablePositionalOptions);Y=Ww(D,Q)}let X=`error: unknown option '${D}'${Y}`;this.error(X,{code:"commander.unknownOption"})}_excessArguments(D){if(this._allowExcessArguments)return;let Y=this.registeredArguments.length,X=Y===1?"":"s",J=`error: too many arguments${this.parent?` for '${this.name()}'`:""}. Expected ${Y} argument${X} but got ${D.length}.`;this.error(J,{code:"commander.excessArguments"})}unknownCommand(){let D=this.args[0],Y="";if(this._showSuggestionAfterError){let Q=[];this.createHelp().visibleCommands(this).forEach((J)=>{if(Q.push(J.name()),J.alias())Q.push(J.alias())}),Y=Ww(D,Q)}let X=`error: unknown command '${D}'${Y}`;this.error(X,{code:"commander.unknownCommand"})}version(D,Y,X){if(D===void 0)return this._version;this._version=D,Y=Y||"-V, --version",X=X||"output the version number";let Q=this.createOption(Y,X);return this._versionOptionName=Q.attributeName(),this._registerOption(Q),this.on("option:"+Q.name(),()=>{this._outputConfiguration.writeOut(`${D}
|
|
25
25
|
`),this._exit(0,"commander.version",D)}),this}description(D,Y){if(D===void 0&&Y===void 0)return this._description;if(this._description=D,Y)this._argsDescription=Y;return this}summary(D){if(D===void 0)return this._summary;return this._summary=D,this}alias(D){if(D===void 0)return this._aliases[0];let Y=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler)Y=this.commands[this.commands.length-1];if(D===Y._name)throw Error("Command alias can't be the same as its name");let X=this.parent?._findCommand(D);if(X){let Q=[X.name()].concat(X.aliases()).join("|");throw Error(`cannot add alias '${D}' to command '${this.name()}' as already have command '${Q}'`)}return Y._aliases.push(D),this}aliases(D){if(D===void 0)return this._aliases;return D.forEach((Y)=>this.alias(Y)),this}usage(D){if(D===void 0){if(this._usage)return this._usage;let Y=this.registeredArguments.map((X)=>{return jh(X)});return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?Y:[]).join(" ")}return this._usage=D,this}name(D){if(D===void 0)return this._name;return this._name=D,this}helpGroup(D){if(D===void 0)return this._helpGroupHeading??"";return this._helpGroupHeading=D,this}commandsGroup(D){if(D===void 0)return this._defaultCommandGroup??"";return this._defaultCommandGroup=D,this}optionsGroup(D){if(D===void 0)return this._defaultOptionGroup??"";return this._defaultOptionGroup=D,this}_initOptionGroup(D){if(this._defaultOptionGroup&&!D.helpGroupHeading)D.helpGroup(this._defaultOptionGroup)}_initCommandGroup(D){if(this._defaultCommandGroup&&!D.helpGroup())D.helpGroup(this._defaultCommandGroup)}nameFromFilename(D){return this._name=H9.basename(D,H9.extname(D)),this}executableDir(D){if(D===void 0)return this._executableDir;return this._executableDir=D,this}helpInformation(D){let Y=this.createHelp(),X=this._getOutputContext(D);Y.prepareContext({error:X.error,helpWidth:X.helpWidth,outputHasColors:X.hasColors});let Q=Y.formatHelp(this,Y);if(X.hasColors)return Q;return this._outputConfiguration.stripColor(Q)}_getOutputContext(D){D=D||{};let Y=!!D.error,X,Q,J;if(Y)X=($)=>this._outputConfiguration.writeErr($),Q=this._outputConfiguration.getErrHasColors(),J=this._outputConfiguration.getErrHelpWidth();else X=($)=>this._outputConfiguration.writeOut($),Q=this._outputConfiguration.getOutHasColors(),J=this._outputConfiguration.getOutHelpWidth();return{error:Y,write:($)=>{if(!Q)$=this._outputConfiguration.stripColor($);return X($)},hasColors:Q,helpWidth:J}}outputHelp(D){let Y;if(typeof D==="function")Y=D,D=void 0;let X=this._getOutputContext(D),Q={error:X.error,write:X.write,command:this};this._getCommandAndAncestors().reverse().forEach((W)=>W.emit("beforeAllHelp",Q)),this.emit("beforeHelp",Q);let J=this.helpInformation({error:X.error});if(Y){if(J=Y(J),typeof J!=="string"&&!Buffer.isBuffer(J))throw Error("outputHelp callback must return a string or a Buffer")}if(X.write(J),this._getHelpOption()?.long)this.emit(this._getHelpOption().long);this.emit("afterHelp",Q),this._getCommandAndAncestors().forEach((W)=>W.emit("afterAllHelp",Q))}helpOption(D,Y){if(typeof D==="boolean"){if(D){if(this._helpOption===null)this._helpOption=void 0;if(this._defaultOptionGroup)this._initOptionGroup(this._getHelpOption())}else this._helpOption=null;return this}if(this._helpOption=this.createOption(D??"-h, --help",Y??"display help for command"),D||Y)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===void 0)this.helpOption(void 0,void 0);return this._helpOption}addHelpOption(D){return this._helpOption=D,this._initOptionGroup(D),this}help(D){this.outputHelp(D);let Y=Number(i0.exitCode??0);if(Y===0&&D&&typeof D!=="function"&&D.error)Y=1;this._exit(Y,"commander.help","(outputHelp)")}addHelpText(D,Y){let X=["beforeAll","before","after","afterAll"];if(!X.includes(D))throw Error(`Unexpected value for position to addHelpText.
|
|
26
26
|
Expecting one of '${X.join("', '")}'`);let Q=`${D}Help`;return this.on(Q,(J)=>{let W;if(typeof Y==="function")W=Y({error:J.error,command:J.command});else W=Y;if(W)J.write(`${W}
|
|
27
|
-
`)}),this}_outputHelpIfRequested(D){let Y=this._getHelpOption();if(Y&&D.find((Q)=>Y.is(Q)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function $w(D){return D.map((Y)=>{if(!Y.startsWith("--inspect"))return Y;let X,Q="127.0.0.1",J="9229",W;if((W=Y.match(/^(--inspect(-brk)?)$/))!==null)X=W[1];else if((W=Y.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(X=W[1],/^\d+$/.test(W[3]))J=W[3];else Q=W[3];else if((W=Y.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)X=W[1],Q=W[3],J=W[4];if(X&&J!=="0")return`${X}=${Q}:${parseInt(J)+1}`;return Y})}function n$(){if(i0.env.NO_COLOR||i0.env.FORCE_COLOR==="0"||i0.env.FORCE_COLOR==="false")return!1;if(i0.env.FORCE_COLOR||i0.env.CLICOLOR_FORCE!==void 0)return!0;return}Ih.Command=i$;Ih.useColor=n$});var qw=T((kh)=>{var{Argument:Bw}=OX(),{Command:r$}=Gw(),{CommanderError:_h,InvalidArgumentError:Hw}=y7(),{Help:bh}=c$(),{Option:Fw}=l$();kh.program=new r$;kh.createCommand=(D)=>new r$(D);kh.createOption=(D,Y)=>new Fw(D,Y);kh.createArgument=(D,Y)=>new Bw(D,Y);kh.Command=r$;kh.Option=Fw;kh.Argument=Bw;kh.Help=bh;kh.CommanderError=_h;kh.InvalidArgumentError=Hw;kh.InvalidOptionArgumentError=Hw});var o$=T((dq0,zw)=>{var a$={to(D,Y){if(!Y)return`\x1B[${D+1}G`;return`\x1B[${Y+1};${D+1}H`},move(D,Y){let X="";if(D<0)X+=`\x1B[${-D}D`;else if(D>0)X+=`\x1B[${D}C`;if(Y<0)X+=`\x1B[${-Y}A`;else if(Y>0)X+=`\x1B[${Y}B`;return X},up:(D=1)=>`\x1B[${D}A`,down:(D=1)=>`\x1B[${D}B`,forward:(D=1)=>`\x1B[${D}C`,backward:(D=1)=>`\x1B[${D}D`,nextLine:(D=1)=>"\x1B[E".repeat(D),prevLine:(D=1)=>"\x1B[F".repeat(D),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},ih={up:(D=1)=>"\x1B[S".repeat(D),down:(D=1)=>"\x1B[T".repeat(D)},rh={screen:"\x1B[2J",up:(D=1)=>"\x1B[1J".repeat(D),down:(D=1)=>"\x1B[J".repeat(D),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(D){let Y="";for(let X=0;X<D;X++)Y+=this.line+(X<D-1?a$.up():"");if(D)Y+=a$.left;return Y}};zw.exports={cursor:a$,scroll:ih,erase:rh,beep:"\x07"}});var t$=T((pq0,s$)=>{var AX=process||{},Uw=AX.argv||[],ZX=AX.env||{},ah=!(!!ZX.NO_COLOR||Uw.includes("--no-color"))&&(!!ZX.FORCE_COLOR||Uw.includes("--color")||AX.platform==="win32"||(AX.stdout||{}).isTTY&&ZX.TERM!=="dumb"||!!ZX.CI),oh=(D,Y,X=D)=>(Q)=>{let J=""+Q,W=J.indexOf(Y,D.length);return~W?D+sh(J,Y,X,W)+Y:D+J+Y},sh=(D,Y,X,Q)=>{let J="",W=0;do J+=D.substring(W,Q)+X,W=Q+Y.length,Q=D.indexOf(Y,W);while(~Q);return J+D.substring(W)},ww=(D=ah)=>{let Y=D?oh:()=>String;return{isColorSupported:D,reset:Y("\x1B[0m","\x1B[0m"),bold:Y("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:Y("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:Y("\x1B[3m","\x1B[23m"),underline:Y("\x1B[4m","\x1B[24m"),inverse:Y("\x1B[7m","\x1B[27m"),hidden:Y("\x1B[8m","\x1B[28m"),strikethrough:Y("\x1B[9m","\x1B[29m"),black:Y("\x1B[30m","\x1B[39m"),red:Y("\x1B[31m","\x1B[39m"),green:Y("\x1B[32m","\x1B[39m"),yellow:Y("\x1B[33m","\x1B[39m"),blue:Y("\x1B[34m","\x1B[39m"),magenta:Y("\x1B[35m","\x1B[39m"),cyan:Y("\x1B[36m","\x1B[39m"),white:Y("\x1B[37m","\x1B[39m"),gray:Y("\x1B[90m","\x1B[39m"),bgBlack:Y("\x1B[40m","\x1B[49m"),bgRed:Y("\x1B[41m","\x1B[49m"),bgGreen:Y("\x1B[42m","\x1B[49m"),bgYellow:Y("\x1B[43m","\x1B[49m"),bgBlue:Y("\x1B[44m","\x1B[49m"),bgMagenta:Y("\x1B[45m","\x1B[49m"),bgCyan:Y("\x1B[46m","\x1B[49m"),bgWhite:Y("\x1B[47m","\x1B[49m"),blackBright:Y("\x1B[90m","\x1B[39m"),redBright:Y("\x1B[91m","\x1B[39m"),greenBright:Y("\x1B[92m","\x1B[39m"),yellowBright:Y("\x1B[93m","\x1B[39m"),blueBright:Y("\x1B[94m","\x1B[39m"),magentaBright:Y("\x1B[95m","\x1B[39m"),cyanBright:Y("\x1B[96m","\x1B[39m"),whiteBright:Y("\x1B[97m","\x1B[39m"),bgBlackBright:Y("\x1B[100m","\x1B[49m"),bgRedBright:Y("\x1B[101m","\x1B[49m"),bgGreenBright:Y("\x1B[102m","\x1B[49m"),bgYellowBright:Y("\x1B[103m","\x1B[49m"),bgBlueBright:Y("\x1B[104m","\x1B[49m"),bgMagentaBright:Y("\x1B[105m","\x1B[49m"),bgCyanBright:Y("\x1B[106m","\x1B[49m"),bgWhiteBright:Y("\x1B[107m","\x1B[49m")}};s$.exports=ww();s$.exports.createColors=ww});var IX=T((yw)=>{Object.defineProperty(yw,"__esModule",{value:!0});yw.isNXMonorepo=yw.isMonorepo=yw.findPackageRelativePathInMonorepo=yw.findPackagePath=yw.findNXMonorepoRoot=yw.findMonorepoRoot=void 0;var u7=a("node:fs"),h9=a("node:path");function PX(D){let Y=(0,h9.join)(D,"package.json"),X=(0,h9.join)(D,"pnpm-workspace.yaml");if((0,u7.existsSync)(X)||(0,u7.existsSync)(Y)&&JSON.parse((0,u7.readFileSync)(Y,"utf-8")).workspaces)return D;let Q=(0,h9.dirname)(D);if(Q===D)throw Error("Monorepo root not found");return PX(Q)}yw.findMonorepoRoot=PX;function zG(D){let Y=(0,h9.join)(D,"nx.json");if((0,u7.existsSync)(Y))return D;let X=(0,h9.dirname)(D);if(X===D)throw Error("Monorepo root not found");return zG(X)}yw.findNXMonorepoRoot=zG;function UG(D,Y,X){let Q=(0,h9.join)(Y,"node_modules",D);if((0,u7.existsSync)(Q))return Q;if(Y===X)return null;let J=(0,h9.dirname)(Y);return UG(D,J,X)}yw.findPackagePath=UG;function bg(D,Y){let X=PX(Y),Q=UG(D,Y,X);if(Q)return(0,h9.relative)(Y,Q);return null}yw.findPackageRelativePathInMonorepo=bg;function kg(D){try{return PX(D),!0}catch(Y){return!1}}yw.isMonorepo=kg;function vg(D){try{return zG(D),!0}catch(Y){return!1}}yw.isNXMonorepo=vg});var m8=T((XU0,hX)=>{var ew,DV,YV,XV,QV,JV,WV,$V,GV,BV,HV,FV,qV,yX,ZG,KV,zV,UV,b5,wV,VV,LV,MV,OV,NV,ZV,AV,EV,fX,RV,jV,TV;(function(D){var Y=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd)define("tslib",["exports"],function(Q){D(X(Y,X(Q)))});else if(typeof hX==="object"&&typeof XU0==="object")D(X(Y,X(XU0)));else D(X(Y));function X(Q,J){if(Q!==Y)if(typeof Object.create==="function")Object.defineProperty(Q,"__esModule",{value:!0});else Q.__esModule=!0;return function(W,$){return Q[W]=J?J(W,$):$}}})(function(D){var Y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(W,$){W.__proto__=$}||function(W,$){for(var G in $)if(Object.prototype.hasOwnProperty.call($,G))W[G]=$[G]};ew=function(W,$){if(typeof $!=="function"&&$!==null)throw TypeError("Class extends value "+String($)+" is not a constructor or null");Y(W,$);function G(){this.constructor=W}W.prototype=$===null?Object.create($):(G.prototype=$.prototype,new G)},DV=Object.assign||function(W){for(var $,G=1,B=arguments.length;G<B;G++){$=arguments[G];for(var H in $)if(Object.prototype.hasOwnProperty.call($,H))W[H]=$[H]}return W},YV=function(W,$){var G={};for(var B in W)if(Object.prototype.hasOwnProperty.call(W,B)&&$.indexOf(B)<0)G[B]=W[B];if(W!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var H=0,B=Object.getOwnPropertySymbols(W);H<B.length;H++)if($.indexOf(B[H])<0&&Object.prototype.propertyIsEnumerable.call(W,B[H]))G[B[H]]=W[B[H]]}return G},XV=function(W,$,G,B){var H=arguments.length,F=H<3?$:B===null?B=Object.getOwnPropertyDescriptor($,G):B,K;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")F=Reflect.decorate(W,$,G,B);else for(var U=W.length-1;U>=0;U--)if(K=W[U])F=(H<3?K(F):H>3?K($,G,F):K($,G))||F;return H>3&&F&&Object.defineProperty($,G,F),F},QV=function(W,$){return function(G,B){$(G,B,W)}},JV=function(W,$,G,B,H,F){function K(I){if(I!==void 0&&typeof I!=="function")throw TypeError("Function expected");return I}var U=B.kind,z=U==="getter"?"get":U==="setter"?"set":"value",w=!$&&W?B.static?W:W.prototype:null,V=$||(w?Object.getOwnPropertyDescriptor(w,B.name):{}),L,O=!1;for(var Z=G.length-1;Z>=0;Z--){var M={};for(var E in B)M[E]=E==="access"?{}:B[E];for(var E in B.access)M.access[E]=B.access[E];M.addInitializer=function(I){if(O)throw TypeError("Cannot add initializers after decoration has completed");F.push(K(I||null))};var j=(0,G[Z])(U==="accessor"?{get:V.get,set:V.set}:V[z],M);if(U==="accessor"){if(j===void 0)continue;if(j===null||typeof j!=="object")throw TypeError("Object expected");if(L=K(j.get))V.get=L;if(L=K(j.set))V.set=L;if(L=K(j.init))H.unshift(L)}else if(L=K(j))if(U==="field")H.unshift(L);else V[z]=L}if(w)Object.defineProperty(w,B.name,V);O=!0},WV=function(W,$,G){var B=arguments.length>2;for(var H=0;H<$.length;H++)G=B?$[H].call(W,G):$[H].call(W);return B?G:void 0},$V=function(W){return typeof W==="symbol"?W:"".concat(W)},GV=function(W,$,G){if(typeof $==="symbol")$=$.description?"[".concat($.description,"]"):"";return Object.defineProperty(W,"name",{configurable:!0,value:G?"".concat(G," ",$):$})},BV=function(W,$){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(W,$)},HV=function(W,$,G,B){function H(F){return F instanceof G?F:new G(function(K){K(F)})}return new(G||(G=Promise))(function(F,K){function U(V){try{w(B.next(V))}catch(L){K(L)}}function z(V){try{w(B.throw(V))}catch(L){K(L)}}function w(V){V.done?F(V.value):H(V.value).then(U,z)}w((B=B.apply(W,$||[])).next())})},FV=function(W,$){var G={label:0,sent:function(){if(F[0]&1)throw F[1];return F[1]},trys:[],ops:[]},B,H,F,K=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return K.next=U(0),K.throw=U(1),K.return=U(2),typeof Symbol==="function"&&(K[Symbol.iterator]=function(){return this}),K;function U(w){return function(V){return z([w,V])}}function z(w){if(B)throw TypeError("Generator is already executing.");while(K&&(K=0,w[0]&&(G=0)),G)try{if(B=1,H&&(F=w[0]&2?H.return:w[0]?H.throw||((F=H.return)&&F.call(H),0):H.next)&&!(F=F.call(H,w[1])).done)return F;if(H=0,F)w=[w[0]&2,F.value];switch(w[0]){case 0:case 1:F=w;break;case 4:return G.label++,{value:w[1],done:!1};case 5:G.label++,H=w[1],w=[0];continue;case 7:w=G.ops.pop(),G.trys.pop();continue;default:if((F=G.trys,!(F=F.length>0&&F[F.length-1]))&&(w[0]===6||w[0]===2)){G=0;continue}if(w[0]===3&&(!F||w[1]>F[0]&&w[1]<F[3])){G.label=w[1];break}if(w[0]===6&&G.label<F[1]){G.label=F[1],F=w;break}if(F&&G.label<F[2]){G.label=F[2],G.ops.push(w);break}if(F[2])G.ops.pop();G.trys.pop();continue}w=$.call(W,G)}catch(V){w=[6,V],H=0}finally{B=F=0}if(w[0]&5)throw w[1];return{value:w[0]?w[1]:void 0,done:!0}}},qV=function(W,$){for(var G in W)if(G!=="default"&&!Object.prototype.hasOwnProperty.call($,G))fX($,W,G)},fX=Object.create?function(W,$,G,B){if(B===void 0)B=G;var H=Object.getOwnPropertyDescriptor($,G);if(!H||("get"in H?!$.__esModule:H.writable||H.configurable))H={enumerable:!0,get:function(){return $[G]}};Object.defineProperty(W,B,H)}:function(W,$,G,B){if(B===void 0)B=G;W[B]=$[G]},yX=function(W){var $=typeof Symbol==="function"&&Symbol.iterator,G=$&&W[$],B=0;if(G)return G.call(W);if(W&&typeof W.length==="number")return{next:function(){if(W&&B>=W.length)W=void 0;return{value:W&&W[B++],done:!W}}};throw TypeError($?"Object is not iterable.":"Symbol.iterator is not defined.")},ZG=function(W,$){var G=typeof Symbol==="function"&&W[Symbol.iterator];if(!G)return W;var B=G.call(W),H,F=[],K;try{while(($===void 0||$-- >0)&&!(H=B.next()).done)F.push(H.value)}catch(U){K={error:U}}finally{try{if(H&&!H.done&&(G=B.return))G.call(B)}finally{if(K)throw K.error}}return F},KV=function(){for(var W=[],$=0;$<arguments.length;$++)W=W.concat(ZG(arguments[$]));return W},zV=function(){for(var W=0,$=0,G=arguments.length;$<G;$++)W+=arguments[$].length;for(var B=Array(W),H=0,$=0;$<G;$++)for(var F=arguments[$],K=0,U=F.length;K<U;K++,H++)B[H]=F[K];return B},UV=function(W,$,G){if(G||arguments.length===2){for(var B=0,H=$.length,F;B<H;B++)if(F||!(B in $)){if(!F)F=Array.prototype.slice.call($,0,B);F[B]=$[B]}}return W.concat(F||Array.prototype.slice.call($))},b5=function(W){return this instanceof b5?(this.v=W,this):new b5(W)},wV=function(W,$,G){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var B=G.apply(W,$||[]),H,F=[];return H=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),U("next"),U("throw"),U("return",K),H[Symbol.asyncIterator]=function(){return this},H;function K(Z){return function(M){return Promise.resolve(M).then(Z,L)}}function U(Z,M){if(B[Z]){if(H[Z]=function(E){return new Promise(function(j,I){F.push([Z,E,j,I])>1||z(Z,E)})},M)H[Z]=M(H[Z])}}function z(Z,M){try{w(B[Z](M))}catch(E){O(F[0][3],E)}}function w(Z){Z.value instanceof b5?Promise.resolve(Z.value.v).then(V,L):O(F[0][2],Z)}function V(Z){z("next",Z)}function L(Z){z("throw",Z)}function O(Z,M){if(Z(M),F.shift(),F.length)z(F[0][0],F[0][1])}},VV=function(W){var $,G;return $={},B("next"),B("throw",function(H){throw H}),B("return"),$[Symbol.iterator]=function(){return this},$;function B(H,F){$[H]=W[H]?function(K){return(G=!G)?{value:b5(W[H](K)),done:!1}:F?F(K):K}:F}},LV=function(W){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var $=W[Symbol.asyncIterator],G;return $?$.call(W):(W=typeof yX==="function"?yX(W):W[Symbol.iterator](),G={},B("next"),B("throw"),B("return"),G[Symbol.asyncIterator]=function(){return this},G);function B(F){G[F]=W[F]&&function(K){return new Promise(function(U,z){K=W[F](K),H(U,z,K.done,K.value)})}}function H(F,K,U,z){Promise.resolve(z).then(function(w){F({value:w,done:U})},K)}},MV=function(W,$){if(Object.defineProperty)Object.defineProperty(W,"raw",{value:$});else W.raw=$;return W};var X=Object.create?function(W,$){Object.defineProperty(W,"default",{enumerable:!0,value:$})}:function(W,$){W.default=$},Q=function(W){return Q=Object.getOwnPropertyNames||function($){var G=[];for(var B in $)if(Object.prototype.hasOwnProperty.call($,B))G[G.length]=B;return G},Q(W)};OV=function(W){if(W&&W.__esModule)return W;var $={};if(W!=null){for(var G=Q(W),B=0;B<G.length;B++)if(G[B]!=="default")fX($,W,G[B])}return X($,W),$},NV=function(W){return W&&W.__esModule?W:{default:W}},ZV=function(W,$,G,B){if(G==="a"&&!B)throw TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!B:!$.has(W))throw TypeError("Cannot read private member from an object whose class did not declare it");return G==="m"?B:G==="a"?B.call(W):B?B.value:$.get(W)},AV=function(W,$,G,B,H){if(B==="m")throw TypeError("Private method is not writable");if(B==="a"&&!H)throw TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!H:!$.has(W))throw TypeError("Cannot write private member to an object whose class did not declare it");return B==="a"?H.call(W,G):H?H.value=G:$.set(W,G),G},EV=function(W,$){if($===null||typeof $!=="object"&&typeof $!=="function")throw TypeError("Cannot use 'in' operator on non-object");return typeof W==="function"?$===W:W.has($)},RV=function(W,$,G){if($!==null&&$!==void 0){if(typeof $!=="object"&&typeof $!=="function")throw TypeError("Object expected.");var B,H;if(G){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");B=$[Symbol.asyncDispose]}if(B===void 0){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");if(B=$[Symbol.dispose],G)H=B}if(typeof B!=="function")throw TypeError("Object not disposable.");if(H)B=function(){try{H.call(this)}catch(F){return Promise.reject(F)}};W.stack.push({value:$,dispose:B,async:G})}else if(G)W.stack.push({async:!0});return $};var J=typeof SuppressedError==="function"?SuppressedError:function(W,$,G){var B=Error(G);return B.name="SuppressedError",B.error=W,B.suppressed=$,B};jV=function(W){function $(F){W.error=W.hasError?new J(F,W.error,"An error was suppressed during disposal."):F,W.hasError=!0}var G,B=0;function H(){while(G=W.stack.pop())try{if(!G.async&&B===1)return B=0,W.stack.push(G),Promise.resolve().then(H);if(G.dispose){var F=G.dispose.call(G.value);if(G.async)return B|=2,Promise.resolve(F).then(H,function(K){return $(K),H()})}else B|=1}catch(K){$(K)}if(B===1)return W.hasError?Promise.reject(W.error):Promise.resolve();if(W.hasError)throw W.error}return H()},TV=function(W,$){if(typeof W==="string"&&/^\.\.?\//.test(W))return W.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(G,B,H,F,K){return B?$?".jsx":".js":H&&(!F||!K)?G:H+F+"."+K.toLowerCase()+"js"});return W},D("__extends",ew),D("__assign",DV),D("__rest",YV),D("__decorate",XV),D("__param",QV),D("__esDecorate",JV),D("__runInitializers",WV),D("__propKey",$V),D("__setFunctionName",GV),D("__metadata",BV),D("__awaiter",HV),D("__generator",FV),D("__exportStar",qV),D("__createBinding",fX),D("__values",yX),D("__read",ZG),D("__spread",KV),D("__spreadArrays",zV),D("__spreadArray",UV),D("__await",b5),D("__asyncGenerator",wV),D("__asyncDelegator",VV),D("__asyncValues",LV),D("__makeTemplateObject",MV),D("__importStar",OV),D("__importDefault",NV),D("__classPrivateFieldGet",ZV),D("__classPrivateFieldSet",AV),D("__classPrivateFieldIn",EV),D("__addDisposableResource",RV),D("__disposeResources",jV),D("__rewriteRelativeImportExtension",TV)})});var IV=T((SV)=>{Object.defineProperty(SV,"__esModule",{value:!0});SV.resolveFetch=void 0;var Bu=(D)=>{if(D)return(...Y)=>D(...Y);return(...Y)=>fetch(...Y)};SV.resolveFetch=Bu});var AG=T((kV)=>{Object.defineProperty(kV,"__esModule",{value:!0});kV.FunctionRegion=kV.FunctionsHttpError=kV.FunctionsRelayError=kV.FunctionsFetchError=kV.FunctionsError=void 0;class d7 extends Error{constructor(D,Y="FunctionsError",X){super(D);this.name=Y,this.context=X}}kV.FunctionsError=d7;class xV extends d7{constructor(D){super("Failed to send a request to the Edge Function","FunctionsFetchError",D)}}kV.FunctionsFetchError=xV;class _V extends d7{constructor(D){super("Relay Error invoking the Edge Function","FunctionsRelayError",D)}}kV.FunctionsRelayError=_V;class bV extends d7{constructor(D){super("Edge Function returned a non-2xx status code","FunctionsHttpError",D)}}kV.FunctionsHttpError=bV;var CV;(function(D){D.Any="any",D.ApNortheast1="ap-northeast-1",D.ApNortheast2="ap-northeast-2",D.ApSouth1="ap-south-1",D.ApSoutheast1="ap-southeast-1",D.ApSoutheast2="ap-southeast-2",D.CaCentral1="ca-central-1",D.EuCentral1="eu-central-1",D.EuWest1="eu-west-1",D.EuWest2="eu-west-2",D.EuWest3="eu-west-3",D.SaEast1="sa-east-1",D.UsEast1="us-east-1",D.UsWest1="us-west-1",D.UsWest2="us-west-2"})(CV||(kV.FunctionRegion=CV={}))});var gV=T((fV)=>{Object.defineProperty(fV,"__esModule",{value:!0});fV.FunctionsClient=void 0;var zu=m8(),Uu=IV(),k5=AG();class yV{constructor(D,{headers:Y={},customFetch:X,region:Q=k5.FunctionRegion.Any}={}){this.url=D,this.headers=Y,this.region=Q,this.fetch=(0,Uu.resolveFetch)(X)}setAuth(D){this.headers.Authorization=`Bearer ${D}`}invoke(D){return zu.__awaiter(this,arguments,void 0,function*(Y,X={}){var Q;let J,W;try{let{headers:$,method:G,body:B,signal:H,timeout:F}=X,K={},{region:U}=X;if(!U)U=this.region;let z=new URL(`${this.url}/${Y}`);if(U&&U!=="any")K["x-region"]=U,z.searchParams.set("forceFunctionRegion",U);let w;if(B&&($&&!Object.prototype.hasOwnProperty.call($,"Content-Type")||!$))if(typeof Blob<"u"&&B instanceof Blob||B instanceof ArrayBuffer)K["Content-Type"]="application/octet-stream",w=B;else if(typeof B==="string")K["Content-Type"]="text/plain",w=B;else if(typeof FormData<"u"&&B instanceof FormData)w=B;else K["Content-Type"]="application/json",w=JSON.stringify(B);else w=B;let V=H;if(F)if(W=new AbortController,J=setTimeout(()=>W.abort(),F),H)V=W.signal,H.addEventListener("abort",()=>W.abort());else V=W.signal;let L=yield this.fetch(z.toString(),{method:G||"POST",headers:Object.assign(Object.assign(Object.assign({},K),this.headers),$),body:w,signal:V}).catch((E)=>{throw new k5.FunctionsFetchError(E)}),O=L.headers.get("x-relay-error");if(O&&O==="true")throw new k5.FunctionsRelayError(L);if(!L.ok)throw new k5.FunctionsHttpError(L);let Z=((Q=L.headers.get("Content-Type"))!==null&&Q!==void 0?Q:"text/plain").split(";")[0].trim(),M;if(Z==="application/json")M=yield L.json();else if(Z==="application/octet-stream"||Z==="application/pdf")M=yield L.blob();else if(Z==="text/event-stream")M=L;else if(Z==="multipart/form-data")M=yield L.formData();else M=yield L.text();return{data:M,error:null,response:L}}catch($){return{data:null,error:$,response:$ instanceof k5.FunctionsHttpError||$ instanceof k5.FunctionsRelayError?$.context:void 0}}finally{if(J)clearTimeout(J)}})}}fV.FunctionsClient=yV});var uV=T((m9)=>{Object.defineProperty(m9,"__esModule",{value:!0});m9.FunctionRegion=m9.FunctionsRelayError=m9.FunctionsHttpError=m9.FunctionsFetchError=m9.FunctionsError=m9.FunctionsClient=void 0;var wu=gV();Object.defineProperty(m9,"FunctionsClient",{enumerable:!0,get:function(){return wu.FunctionsClient}});var p7=AG();Object.defineProperty(m9,"FunctionsError",{enumerable:!0,get:function(){return p7.FunctionsError}});Object.defineProperty(m9,"FunctionsFetchError",{enumerable:!0,get:function(){return p7.FunctionsFetchError}});Object.defineProperty(m9,"FunctionsHttpError",{enumerable:!0,get:function(){return p7.FunctionsHttpError}});Object.defineProperty(m9,"FunctionsRelayError",{enumerable:!0,get:function(){return p7.FunctionsRelayError}});Object.defineProperty(m9,"FunctionRegion",{enumerable:!0,get:function(){return p7.FunctionRegion}})});var kG=T((Dw0,XL)=>{XL.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}});var mX=T((JL)=>{var QL={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function Mm(D){return function(...Y){if(Y.length)D=D.replace(/\{(\d)\}/g,(X,Q)=>Y[Q]||"");return Error("ADM-ZIP: "+D)}}for(let D of Object.keys(QL))JL[D]=Mm(QL[D])});var HL=T((Xw0,BL)=>{var Om=a("fs"),p1=a("path"),WL=kG(),Nm=mX(),Zm=typeof process==="object"&&process.platform==="win32",$L=(D)=>typeof D==="object"&&D!==null,GL=new Uint32Array(256).map((D,Y)=>{for(let X=0;X<8;X++)if((Y&1)!==0)Y=3988292384^Y>>>1;else Y>>>=1;return Y>>>0});function _1(D){if(this.sep=p1.sep,this.fs=Om,$L(D)){if($L(D.fs)&&typeof D.fs.statSync==="function")this.fs=D.fs}}BL.exports=_1;_1.prototype.makeDir=function(D){let Y=this;function X(Q){let J=Q.split(Y.sep)[0];Q.split(Y.sep).forEach(function(W){if(!W||W.substr(-1,1)===":")return;J+=Y.sep+W;var $;try{$=Y.fs.statSync(J)}catch(G){Y.fs.mkdirSync(J)}if($&&$.isFile())throw Nm.FILE_IN_THE_WAY(`"${J}"`)})}X(D)};_1.prototype.writeFileTo=function(D,Y,X,Q){let J=this;if(J.fs.existsSync(D)){if(!X)return!1;var W=J.fs.statSync(D);if(W.isDirectory())return!1}var $=p1.dirname(D);if(!J.fs.existsSync($))J.makeDir($);var G;try{G=J.fs.openSync(D,"w",438)}catch(B){J.fs.chmodSync(D,438),G=J.fs.openSync(D,"w",438)}if(G)try{J.fs.writeSync(G,Y,0,Y.length,0)}finally{J.fs.closeSync(G)}return J.fs.chmodSync(D,Q||438),!0};_1.prototype.writeFileToAsync=function(D,Y,X,Q,J){if(typeof Q==="function")J=Q,Q=void 0;let W=this;W.fs.exists(D,function($){if($&&!X)return J(!1);W.fs.stat(D,function(G,B){if($&&B.isDirectory())return J(!1);var H=p1.dirname(D);W.fs.exists(H,function(F){if(!F)W.makeDir(H);W.fs.open(D,"w",438,function(K,U){if(K)W.fs.chmod(D,438,function(){W.fs.open(D,"w",438,function(z,w){W.fs.write(w,Y,0,Y.length,0,function(){W.fs.close(w,function(){W.fs.chmod(D,Q||438,function(){J(!0)})})})})});else if(U)W.fs.write(U,Y,0,Y.length,0,function(){W.fs.close(U,function(){W.fs.chmod(D,Q||438,function(){J(!0)})})});else W.fs.chmod(D,Q||438,function(){J(!0)})})})})})};_1.prototype.findFiles=function(D){let Y=this;function X(Q,J,W){if(typeof J==="boolean")W=J,J=void 0;let $=[];return Y.fs.readdirSync(Q).forEach(function(G){let B=p1.join(Q,G),H=Y.fs.statSync(B);if(!J||J.test(B))$.push(p1.normalize(B)+(H.isDirectory()?Y.sep:""));if(H.isDirectory()&&W)$=$.concat(X(B,J,W))}),$}return X(D,void 0,!0)};_1.prototype.findFilesAsync=function(D,Y){let X=this,Q=[];X.fs.readdir(D,function(J,W){if(J)return Y(J);let $=W.length;if(!$)return Y(null,Q);W.forEach(function(G){G=p1.join(D,G),X.fs.stat(G,function(B,H){if(B)return Y(B);if(H){if(Q.push(p1.normalize(G)+(H.isDirectory()?X.sep:"")),H.isDirectory())X.findFilesAsync(G,function(F,K){if(F)return Y(F);if(Q=Q.concat(K),!--$)Y(null,Q)});else if(!--$)Y(null,Q)}})})})};_1.prototype.getAttributes=function(){};_1.prototype.setAttributes=function(){};_1.crc32update=function(D,Y){return GL[(D^Y)&255]^D>>>8};_1.crc32=function(D){if(typeof D==="string")D=Buffer.from(D,"utf8");let Y=D.length,X=-1;for(let Q=0;Q<Y;)X=_1.crc32update(X,D[Q++]);return~X>>>0};_1.methodToString=function(D){switch(D){case WL.STORED:return"STORED ("+D+")";case WL.DEFLATED:return"DEFLATED ("+D+")";default:return"UNSUPPORTED ("+D+")"}};_1.canonical=function(D){if(!D)return"";let Y=p1.posix.normalize("/"+D.split("\\").join("/"));return p1.join(".",Y)};_1.zipnamefix=function(D){if(!D)return"";let Y=p1.posix.normalize("/"+D.split("\\").join("/"));return p1.posix.join(".",Y)};_1.findLast=function(D,Y){if(!Array.isArray(D))throw TypeError("arr is not array");let X=D.length>>>0;for(let Q=X-1;Q>=0;Q--)if(Y(D[Q],Q,D))return D[Q];return};_1.sanitize=function(D,Y){D=p1.resolve(p1.normalize(D));var X=Y.split("/");for(var Q=0,J=X.length;Q<J;Q++){var W=p1.normalize(p1.join(D,X.slice(Q,J).join(p1.sep)));if(W.indexOf(D)===0)return W}return p1.normalize(p1.join(D,p1.basename(Y)))};_1.toBuffer=function(Y,X){if(Buffer.isBuffer(Y))return Y;else if(Y instanceof Uint8Array)return Buffer.from(Y);else return typeof Y==="string"?X(Y):Buffer.alloc(0)};_1.readBigUInt64LE=function(D,Y){var X=Buffer.from(D.slice(Y,Y+8));return X.swap64(),parseInt(`0x${X.toString("hex")}`)};_1.fromDOS2Date=function(D){return new Date((D>>25&127)+1980,Math.max((D>>21&15)-1,0),Math.max(D>>16&31,1),D>>11&31,D>>5&63,(D&31)<<1)};_1.fromDate2DOS=function(D){let Y=0,X=0;if(D.getFullYear()>1979)Y=(D.getFullYear()-1980&127)<<9|D.getMonth()+1<<5|D.getDate(),X=D.getHours()<<11|D.getMinutes()<<5|D.getSeconds()>>1;return Y<<16|X};_1.isWin=Zm;_1.crcTable=GL});var qL=T((Qw0,FL)=>{var Am=a("path");FL.exports=function(D,{fs:Y}){var X=D||"",Q=W(),J=null;function W(){return{directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0}}if(X&&Y.existsSync(X))J=Y.statSync(X),Q.directory=J.isDirectory(),Q.mtime=J.mtime,Q.atime=J.atime,Q.executable=(73&J.mode)!==0,Q.readonly=(128&J.mode)===0,Q.hidden=Am.basename(X)[0]===".";else console.warn("Invalid path: "+X);return{get directory(){return Q.directory},get readOnly(){return Q.readonly},get hidden(){return Q.hidden},get mtime(){return Q.mtime},get atime(){return Q.atime},get executable(){return Q.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:X,isDirectory:Q.directory,isReadOnly:Q.readonly,isHidden:Q.hidden,isExecutable:Q.executable,mTime:Q.mtime,aTime:Q.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var zL=T((Jw0,KL)=>{KL.exports={efs:!0,encode:(D)=>Buffer.from(D,"utf8"),decode:(D)=>D.toString("utf8")}});var h5=T((Ww0,f5)=>{f5.exports=HL();f5.exports.Constants=kG();f5.exports.Errors=mX();f5.exports.FileAttr=qL();f5.exports.decoder=zL()});var wL=T(($w0,UL)=>{var c9=h5(),Q0=c9.Constants;UL.exports=function(){var D=20,Y=10,X=0,Q=0,J=0,W=0,$=0,G=0,B=0,H=0,F=0,K=0,U=0,z=0,w=0;D|=c9.isWin?2560:768,X|=Q0.FLG_EFS;let V={extraLen:0},L=(M)=>Math.max(0,M)>>>0,O=(M)=>Math.max(0,M)&65535,Z=(M)=>Math.max(0,M)&255;return J=c9.fromDate2DOS(new Date),{get made(){return D},set made(M){D=M},get version(){return Y},set version(M){Y=M},get flags(){return X},set flags(M){X=M},get flags_efs(){return(X&Q0.FLG_EFS)>0},set flags_efs(M){if(M)X|=Q0.FLG_EFS;else X&=~Q0.FLG_EFS},get flags_desc(){return(X&Q0.FLG_DESC)>0},set flags_desc(M){if(M)X|=Q0.FLG_DESC;else X&=~Q0.FLG_DESC},get method(){return Q},set method(M){switch(M){case Q0.STORED:this.version=10;case Q0.DEFLATED:default:this.version=20}Q=M},get time(){return c9.fromDOS2Date(this.timeval)},set time(M){this.timeval=c9.fromDate2DOS(M)},get timeval(){return J},set timeval(M){J=L(M)},get timeHighByte(){return Z(J>>>8)},get crc(){return W},set crc(M){W=L(M)},get compressedSize(){return $},set compressedSize(M){$=L(M)},get size(){return G},set size(M){G=L(M)},get fileNameLength(){return B},set fileNameLength(M){B=M},get extraLength(){return H},set extraLength(M){H=M},get extraLocalLength(){return V.extraLen},set extraLocalLength(M){V.extraLen=M},get commentLength(){return F},set commentLength(M){F=M},get diskNumStart(){return K},set diskNumStart(M){K=L(M)},get inAttr(){return U},set inAttr(M){U=L(M)},get attr(){return z},set attr(M){z=L(M)},get fileAttr(){return(z||0)>>16&4095},get offset(){return w},set offset(M){w=L(M)},get encrypted(){return(X&Q0.FLG_ENC)===Q0.FLG_ENC},get centralHeaderSize(){return Q0.CENHDR+B+H+F},get realDataOffset(){return w+Q0.LOCHDR+V.fnameLen+V.extraLen},get localHeader(){return V},loadLocalHeaderFromBinary:function(M){var E=M.slice(w,w+Q0.LOCHDR);if(E.readUInt32LE(0)!==Q0.LOCSIG)throw c9.Errors.INVALID_LOC();V.version=E.readUInt16LE(Q0.LOCVER),V.flags=E.readUInt16LE(Q0.LOCFLG),V.method=E.readUInt16LE(Q0.LOCHOW),V.time=E.readUInt32LE(Q0.LOCTIM),V.crc=E.readUInt32LE(Q0.LOCCRC),V.compressedSize=E.readUInt32LE(Q0.LOCSIZ),V.size=E.readUInt32LE(Q0.LOCLEN),V.fnameLen=E.readUInt16LE(Q0.LOCNAM),V.extraLen=E.readUInt16LE(Q0.LOCEXT);let j=w+Q0.LOCHDR+V.fnameLen,I=j+V.extraLen;return M.slice(j,I)},loadFromBinary:function(M){if(M.length!==Q0.CENHDR||M.readUInt32LE(0)!==Q0.CENSIG)throw c9.Errors.INVALID_CEN();D=M.readUInt16LE(Q0.CENVEM),Y=M.readUInt16LE(Q0.CENVER),X=M.readUInt16LE(Q0.CENFLG),Q=M.readUInt16LE(Q0.CENHOW),J=M.readUInt32LE(Q0.CENTIM),W=M.readUInt32LE(Q0.CENCRC),$=M.readUInt32LE(Q0.CENSIZ),G=M.readUInt32LE(Q0.CENLEN),B=M.readUInt16LE(Q0.CENNAM),H=M.readUInt16LE(Q0.CENEXT),F=M.readUInt16LE(Q0.CENCOM),K=M.readUInt16LE(Q0.CENDSK),U=M.readUInt16LE(Q0.CENATT),z=M.readUInt32LE(Q0.CENATX),w=M.readUInt32LE(Q0.CENOFF)},localHeaderToBinary:function(){var M=Buffer.alloc(Q0.LOCHDR);return M.writeUInt32LE(Q0.LOCSIG,0),M.writeUInt16LE(Y,Q0.LOCVER),M.writeUInt16LE(X,Q0.LOCFLG),M.writeUInt16LE(Q,Q0.LOCHOW),M.writeUInt32LE(J,Q0.LOCTIM),M.writeUInt32LE(W,Q0.LOCCRC),M.writeUInt32LE($,Q0.LOCSIZ),M.writeUInt32LE(G,Q0.LOCLEN),M.writeUInt16LE(B,Q0.LOCNAM),M.writeUInt16LE(V.extraLen,Q0.LOCEXT),M},centralHeaderToBinary:function(){var M=Buffer.alloc(Q0.CENHDR+B+H+F);return M.writeUInt32LE(Q0.CENSIG,0),M.writeUInt16LE(D,Q0.CENVEM),M.writeUInt16LE(Y,Q0.CENVER),M.writeUInt16LE(X,Q0.CENFLG),M.writeUInt16LE(Q,Q0.CENHOW),M.writeUInt32LE(J,Q0.CENTIM),M.writeUInt32LE(W,Q0.CENCRC),M.writeUInt32LE($,Q0.CENSIZ),M.writeUInt32LE(G,Q0.CENLEN),M.writeUInt16LE(B,Q0.CENNAM),M.writeUInt16LE(H,Q0.CENEXT),M.writeUInt16LE(F,Q0.CENCOM),M.writeUInt16LE(K,Q0.CENDSK),M.writeUInt16LE(U,Q0.CENATT),M.writeUInt32LE(z,Q0.CENATX),M.writeUInt32LE(w,Q0.CENOFF),M},toJSON:function(){let M=function(E){return E+" bytes"};return{made:D,version:Y,flags:X,method:c9.methodToString(Q),time:this.time,crc:"0x"+W.toString(16).toUpperCase(),compressedSize:M($),size:M(G),fileNameLength:M(B),extraLength:M(H),commentLength:M(F),diskNumStart:K,inAttr:U,attr:z,offset:w,centralHeaderSize:M(Q0.CENHDR+B+H+F)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var LL=T((Gw0,VL)=>{var g5=h5(),R1=g5.Constants;VL.exports=function(){var D=0,Y=0,X=0,Q=0,J=0;return{get diskEntries(){return D},set diskEntries(W){D=Y=W},get totalEntries(){return Y},set totalEntries(W){Y=D=W},get size(){return X},set size(W){X=W},get offset(){return Q},set offset(W){Q=W},get commentLength(){return J},set commentLength(W){J=W},get mainHeaderSize(){return R1.ENDHDR+J},loadFromBinary:function(W){if((W.length!==R1.ENDHDR||W.readUInt32LE(0)!==R1.ENDSIG)&&(W.length<R1.ZIP64HDR||W.readUInt32LE(0)!==R1.ZIP64SIG))throw g5.Errors.INVALID_END();if(W.readUInt32LE(0)===R1.ENDSIG)D=W.readUInt16LE(R1.ENDSUB),Y=W.readUInt16LE(R1.ENDTOT),X=W.readUInt32LE(R1.ENDSIZ),Q=W.readUInt32LE(R1.ENDOFF),J=W.readUInt16LE(R1.ENDCOM);else D=g5.readBigUInt64LE(W,R1.ZIP64SUB),Y=g5.readBigUInt64LE(W,R1.ZIP64TOT),X=g5.readBigUInt64LE(W,R1.ZIP64SIZE),Q=g5.readBigUInt64LE(W,R1.ZIP64OFF),J=0},toBinary:function(){var W=Buffer.alloc(R1.ENDHDR+J);return W.writeUInt32LE(R1.ENDSIG,0),W.writeUInt32LE(0,4),W.writeUInt16LE(D,R1.ENDSUB),W.writeUInt16LE(Y,R1.ENDTOT),W.writeUInt32LE(X,R1.ENDSIZ),W.writeUInt32LE(Q,R1.ENDOFF),W.writeUInt16LE(J,R1.ENDCOM),W.fill(" ",R1.ENDHDR),W},toJSON:function(){let W=function($,G){let B=$.toString(16).toUpperCase();while(B.length<G)B="0"+B;return"0x"+B};return{diskEntries:D,totalEntries:Y,size:X+" bytes",offset:W(Q,4),commentLength:J}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var vG=T((Em)=>{Em.EntryHeader=wL();Em.MainHeader=LL()});var OL=T((Hw0,ML)=>{ML.exports=function(D){var Y=a("zlib"),X={chunkSize:(parseInt(D.length/1024)+1)*1024};return{deflate:function(){return Y.deflateRawSync(D,X)},deflateAsync:function(Q){var J=Y.createDeflateRaw(X),W=[],$=0;J.on("data",function(G){W.push(G),$+=G.length}),J.on("end",function(){var G=Buffer.alloc($),B=0;G.fill(0);for(var H=0;H<W.length;H++){var F=W[H];F.copy(G,B),B+=F.length}Q&&Q(G)}),J.end(D)}}}});var ZL=T((Fw0,NL)=>{var Tm=+(process.versions?process.versions.node:"").split(".")[0]||0;NL.exports=function(D,Y){var X=a("zlib");let Q=Tm>=15&&Y>0?{maxOutputLength:Y}:{};return{inflate:function(){return X.inflateRawSync(D,Q)},inflateAsync:function(J){var W=X.createInflateRaw(Q),$=[],G=0;W.on("data",function(B){$.push(B),G+=B.length}),W.on("end",function(){var B=Buffer.alloc(G),H=0;B.fill(0);for(var F=0;F<$.length;F++){var K=$[F];K.copy(B,H),H+=K.length}J&&J(B)}),W.end(D)}}}});var TL=T((qw0,jL)=>{var{randomFillSync:AL}=a("crypto"),Sm=mX(),Pm=new Uint32Array(256).map((D,Y)=>{for(let X=0;X<8;X++)if((Y&1)!==0)Y=Y>>>1^3988292384;else Y>>>=1;return Y>>>0}),RL=(D,Y)=>Math.imul(D,Y)>>>0,EL=(D,Y)=>{return Pm[(D^Y)&255]^D>>>8},t7=()=>{if(typeof AL==="function")return AL(Buffer.alloc(12));else return t7.node()};t7.node=()=>{let D=Buffer.alloc(12),Y=D.length;for(let X=0;X<Y;X++)D[X]=Math.random()*256&255;return D};var cX={genSalt:t7};function lX(D){let Y=Buffer.isBuffer(D)?D:Buffer.from(D);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let X=0;X<Y.length;X++)this.updateKeys(Y[X])}lX.prototype.updateKeys=function(D){let Y=this.keys;return Y[0]=EL(Y[0],D),Y[1]+=Y[0]&255,Y[1]=RL(Y[1],134775813)+1,Y[2]=EL(Y[2],Y[1]>>>24),D};lX.prototype.next=function(){let D=(this.keys[2]|2)>>>0;return RL(D,D^1)>>8&255};function Im(D){let Y=new lX(D);return function(X){let Q=Buffer.alloc(X.length),J=0;for(let W of X)Q[J++]=Y.updateKeys(W^Y.next());return Q}}function Cm(D){let Y=new lX(D);return function(X,Q,J=0){if(!Q)Q=Buffer.alloc(X.length);for(let W of X){let $=Y.next();Q[J++]=W^$,Y.updateKeys(W)}return Q}}function xm(D,Y,X){if(!D||!Buffer.isBuffer(D)||D.length<12)return Buffer.alloc(0);let Q=Im(X),J=Q(D.slice(0,12)),W=(Y.flags&8)===8?Y.timeHighByte:Y.crc>>>24;if(J[11]!==W)throw Sm.WRONG_PASSWORD();return Q(D.slice(12))}function _m(D){if(Buffer.isBuffer(D)&&D.length>=12)cX.genSalt=function(){return D.slice(0,12)};else if(D==="node")cX.genSalt=t7.node;else cX.genSalt=t7}function bm(D,Y,X,Q=!1){if(D==null)D=Buffer.alloc(0);if(!Buffer.isBuffer(D))D=Buffer.from(D.toString());let J=Cm(X),W=cX.genSalt();if(W[11]=Y.crc>>>24&255,Q)W[10]=Y.crc>>>16&255;let $=Buffer.alloc(D.length+12);return J(W,$),J(D,$,12)}jL.exports={decrypt:xm,encrypt:bm,_salter:_m}});var SL=T((km)=>{km.Deflater=OL();km.Inflater=ZL();km.ZipCrypto=TL()});var fG=T((zw0,PL)=>{var o0=h5(),hm=vG(),b1=o0.Constants,yG=SL();PL.exports=function(D,Y){var X=new hm.EntryHeader,Q=Buffer.alloc(0),J=Buffer.alloc(0),W=!1,$=null,G=Buffer.alloc(0),B=Buffer.alloc(0),H=!0;let F=D,K=typeof F.decoder==="object"?F.decoder:o0.decoder;H=K.hasOwnProperty("efs")?K.efs:!1;function U(){if(!Y||!(Y instanceof Uint8Array))return Buffer.alloc(0);return B=X.loadLocalHeaderFromBinary(Y),Y.slice(X.realDataOffset,X.realDataOffset+X.compressedSize)}function z(M){if(!X.flags_desc){if(o0.crc32(M)!==X.localHeader.crc)return!1}else{let E={},j=X.realDataOffset+X.compressedSize;if(Y.readUInt32LE(j)==b1.LOCSIG||Y.readUInt32LE(j)==b1.CENSIG)throw o0.Errors.DESCRIPTOR_NOT_EXIST();if(Y.readUInt32LE(j)==b1.EXTSIG)E.crc=Y.readUInt32LE(j+b1.EXTCRC),E.compressedSize=Y.readUInt32LE(j+b1.EXTSIZ),E.size=Y.readUInt32LE(j+b1.EXTLEN);else if(Y.readUInt16LE(j+12)===19280)E.crc=Y.readUInt32LE(j+b1.EXTCRC-4),E.compressedSize=Y.readUInt32LE(j+b1.EXTSIZ-4),E.size=Y.readUInt32LE(j+b1.EXTLEN-4);else throw o0.Errors.DESCRIPTOR_UNKNOWN();if(E.compressedSize!==X.compressedSize||E.size!==X.size||E.crc!==X.crc)throw o0.Errors.DESCRIPTOR_FAULTY();if(o0.crc32(M)!==E.crc)return!1}return!0}function w(M,E,j){if(typeof E>"u"&&typeof M==="string")j=M,M=void 0;if(W){if(M&&E)E(Buffer.alloc(0),o0.Errors.DIRECTORY_CONTENT_ERROR());return Buffer.alloc(0)}var I=U();if(I.length===0){if(M&&E)E(I);return I}if(X.encrypted){if(typeof j!=="string"&&!Buffer.isBuffer(j))throw o0.Errors.INVALID_PASS_PARAM();I=yG.ZipCrypto.decrypt(I,X,j)}var x=Buffer.alloc(X.size);switch(X.method){case o0.Constants.STORED:if(I.copy(x),!z(x)){if(M&&E)E(x,o0.Errors.BAD_CRC());throw o0.Errors.BAD_CRC()}else{if(M&&E)E(x);return x}case o0.Constants.DEFLATED:var y=new yG.Inflater(I,X.size);if(!M){if(y.inflate(x).copy(x,0),!z(x))throw o0.Errors.BAD_CRC(`"${K.decode(Q)}"`);return x}else y.inflateAsync(function(C){if(C.copy(C,0),E)if(!z(C))E(C,o0.Errors.BAD_CRC());else E(C)});break;default:if(M&&E)E(Buffer.alloc(0),o0.Errors.UNKNOWN_METHOD());throw o0.Errors.UNKNOWN_METHOD()}}function V(M,E){if((!$||!$.length)&&Buffer.isBuffer(Y)){if(M&&E)E(U());return U()}if($.length&&!W){var j;switch(X.method){case o0.Constants.STORED:if(X.compressedSize=X.size,j=Buffer.alloc($.length),$.copy(j),M&&E)E(j);return j;default:case o0.Constants.DEFLATED:var I=new yG.Deflater($);if(!M){var x=I.deflate();return X.compressedSize=x.length,x}else I.deflateAsync(function(y){j=Buffer.alloc(y.length),X.compressedSize=y.length,y.copy(j),E&&E(j)});I=null;break}}else if(M&&E)E(Buffer.alloc(0));else return Buffer.alloc(0)}function L(M,E){return(M.readUInt32LE(E+4)<<4)+M.readUInt32LE(E)}function O(M){try{var E=0,j,I,x;while(E+4<M.length)if(j=M.readUInt16LE(E),E+=2,I=M.readUInt16LE(E),E+=2,x=M.slice(E,E+I),E+=I,b1.ID_ZIP64===j)Z(x)}catch(y){throw o0.Errors.EXTRA_FIELD_PARSE_ERROR()}}function Z(M){var E,j,I,x;if(M.length>=b1.EF_ZIP64_SCOMP){if(E=L(M,b1.EF_ZIP64_SUNCOMP),X.size===b1.EF_ZIP64_OR_32)X.size=E}if(M.length>=b1.EF_ZIP64_RHO){if(j=L(M,b1.EF_ZIP64_SCOMP),X.compressedSize===b1.EF_ZIP64_OR_32)X.compressedSize=j}if(M.length>=b1.EF_ZIP64_DSN){if(I=L(M,b1.EF_ZIP64_RHO),X.offset===b1.EF_ZIP64_OR_32)X.offset=I}if(M.length>=b1.EF_ZIP64_DSN+4){if(x=M.readUInt32LE(b1.EF_ZIP64_DSN),X.diskNumStart===b1.EF_ZIP64_OR_16)X.diskNumStart=x}}return{get entryName(){return K.decode(Q)},get rawEntryName(){return Q},set entryName(M){Q=o0.toBuffer(M,K.encode);var E=Q[Q.length-1];W=E===47||E===92,X.fileNameLength=Q.length},get efs(){if(typeof H==="function")return H(this.entryName);else return H},get extra(){return G},set extra(M){G=M,X.extraLength=M.length,O(M)},get comment(){return K.decode(J)},set comment(M){if(J=o0.toBuffer(M,K.encode),X.commentLength=J.length,J.length>65535)throw o0.Errors.COMMENT_TOO_LONG()},get name(){var M=K.decode(Q);return W?M.substr(M.length-1).split("/").pop():M.split("/").pop()},get isDirectory(){return W},getCompressedData:function(){return V(!1,null)},getCompressedDataAsync:function(M){V(!0,M)},setData:function(M){if($=o0.toBuffer(M,o0.decoder.encode),!W&&$.length)X.size=$.length,X.method=o0.Constants.DEFLATED,X.crc=o0.crc32(M),X.changed=!0;else X.method=o0.Constants.STORED},getData:function(M){if(X.changed)return $;else return w(!1,null,M)},getDataAsync:function(M,E){if(X.changed)M($);else w(!0,M,E)},set attr(M){X.attr=M},get attr(){return X.attr},set header(M){X.loadFromBinary(M)},get header(){return X},packCentralHeader:function(){X.flags_efs=this.efs,X.extraLength=G.length;var M=X.centralHeaderToBinary(),E=o0.Constants.CENHDR;return Q.copy(M,E),E+=Q.length,G.copy(M,E),E+=X.extraLength,J.copy(M,E),M},packLocalHeader:function(){let M=0;X.flags_efs=this.efs,X.extraLocalLength=B.length;let E=X.localHeaderToBinary(),j=Buffer.alloc(E.length+Q.length+X.extraLocalLength);return E.copy(j,M),M+=E.length,Q.copy(j,M),M+=Q.length,B.copy(j,M),M+=B.length,j},toJSON:function(){let M=function(E){return"<"+(E&&E.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:X.toJSON(),compressedData:M(Y),data:M($)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var xL=T((Uw0,CL)=>{var IL=fG(),gm=vG(),Y8=h5();CL.exports=function(D,Y){var X=[],Q={},J=Buffer.alloc(0),W=new gm.MainHeader,$=!1,G=null;let B=new Set,H=Y,{noSort:F,decoder:K}=H;if(D)w(H.readEntries);else $=!0;function U(){let L=new Set;for(let O of Object.keys(Q)){let Z=O.split("/");if(Z.pop(),!Z.length)continue;for(let M=0;M<Z.length;M++){let E=Z.slice(0,M+1).join("/")+"/";L.add(E)}}for(let O of L)if(!(O in Q)){let Z=new IL(H);Z.entryName=O,Z.attr=16,Z.temporary=!0,X.push(Z),Q[Z.entryName]=Z,B.add(Z)}}function z(){if($=!0,Q={},W.diskEntries>(D.length-W.offset)/Y8.Constants.CENHDR)throw Y8.Errors.DISK_ENTRY_TOO_LARGE();X=Array(W.diskEntries);var L=W.offset;for(var O=0;O<X.length;O++){var Z=L,M=new IL(H,D);if(M.header=D.slice(Z,Z+=Y8.Constants.CENHDR),M.entryName=D.slice(Z,Z+=M.header.fileNameLength),M.header.extraLength)M.extra=D.slice(Z,Z+=M.header.extraLength);if(M.header.commentLength)M.comment=D.slice(Z,Z+M.header.commentLength);L+=M.header.centralHeaderSize,X[O]=M,Q[M.entryName]=M}B.clear(),U()}function w(L){var O=D.length-Y8.Constants.ENDHDR,Z=Math.max(0,O-65535),M=Z,E=D.length,j=-1,I=0;if(typeof H.trailingSpace==="boolean"?H.trailingSpace:!1)Z=0;for(O;O>=M;O--){if(D[O]!==80)continue;if(D.readUInt32LE(O)===Y8.Constants.ENDSIG){j=O,I=O,E=O+Y8.Constants.ENDHDR,M=O-Y8.Constants.END64HDR;continue}if(D.readUInt32LE(O)===Y8.Constants.END64SIG){M=Z;continue}if(D.readUInt32LE(O)===Y8.Constants.ZIP64SIG){j=O,E=O+Y8.readBigUInt64LE(D,O+Y8.Constants.ZIP64SIZE)+Y8.Constants.ZIP64LEAD;break}}if(j==-1)throw Y8.Errors.INVALID_FORMAT();if(W.loadFromBinary(D.slice(j,E)),W.commentLength)J=D.slice(I+Y8.Constants.ENDHDR);if(L)z()}function V(){if(X.length>1&&!F)X.sort((L,O)=>L.entryName.toLowerCase().localeCompare(O.entryName.toLowerCase()))}return{get entries(){if(!$)z();return X.filter((L)=>!B.has(L))},get comment(){return K.decode(J)},set comment(L){J=Y8.toBuffer(L,K.encode),W.commentLength=J.length},getEntryCount:function(){if(!$)return W.diskEntries;return X.length},forEach:function(L){this.entries.forEach(L)},getEntry:function(L){if(!$)z();return Q[L]||null},setEntry:function(L){if(!$)z();X.push(L),Q[L.entryName]=L,W.totalEntries=X.length},deleteFile:function(L,O=!0){if(!$)z();let Z=Q[L];this.getEntryChildren(Z,O).map((E)=>E.entryName).forEach(this.deleteEntry)},deleteEntry:function(L){if(!$)z();let O=Q[L],Z=X.indexOf(O);if(Z>=0)X.splice(Z,1),delete Q[L],W.totalEntries=X.length},getEntryChildren:function(L,O=!0){if(!$)z();if(typeof L==="object")if(L.isDirectory&&O){let Z=[],M=L.entryName;for(let E of X)if(E.entryName.startsWith(M))Z.push(E);return Z}else return[L];return[]},getChildCount:function(L){if(L&&L.isDirectory){let O=this.getEntryChildren(L);return O.includes(L)?O.length-1:O.length}return 0},compressToBuffer:function(){if(!$)z();V();let L=[],O=[],Z=0,M=0;W.size=0,W.offset=0;let E=0;for(let x of this.entries){let y=x.getCompressedData();x.header.offset=M;let C=x.packLocalHeader(),c=C.length+y.length;M+=c,L.push(C),L.push(y);let S=x.packCentralHeader();O.push(S),W.size+=S.length,Z+=c+S.length,E++}Z+=W.mainHeaderSize,W.offset=M,W.totalEntries=E,M=0;let j=Buffer.alloc(Z);for(let x of L)x.copy(j,M),M+=x.length;for(let x of O)x.copy(j,M),M+=x.length;let I=W.toBinary();if(J)J.copy(I,Y8.Constants.ENDHDR);return I.copy(j,M),D=j,$=!1,j},toAsyncBuffer:function(L,O,Z,M){try{if(!$)z();V();let E=[],j=[],I=0,x=0,y=0;W.size=0,W.offset=0;let C=function(c){if(c.length>0){let S=c.shift(),p=S.entryName+S.extra.toString();if(Z)Z(p);S.getCompressedDataAsync(function(u){if(M)M(p);S.header.offset=x;let J0=S.packLocalHeader(),_=J0.length+u.length;x+=_,E.push(J0),E.push(u);let N=S.packCentralHeader();j.push(N),W.size+=N.length,I+=_+N.length,y++,C(c)})}else{I+=W.mainHeaderSize,W.offset=x,W.totalEntries=y,x=0;let S=Buffer.alloc(I);E.forEach(function(u){u.copy(S,x),x+=u.length}),j.forEach(function(u){u.copy(S,x),x+=u.length});let p=W.toBinary();if(J)J.copy(p,Y8.Constants.ENDHDR);p.copy(S,x),D=S,$=!1,L(S)}};C(Array.from(this.entries))}catch(E){O(E)}}}}});var hG=T((ww0,bL)=>{var j1=h5(),k1=a("path"),um=fG(),mm=xL(),PD=(...D)=>j1.findLast(D,(Y)=>typeof Y==="boolean"),_L=(...D)=>j1.findLast(D,(Y)=>typeof Y==="string"),cm=(...D)=>j1.findLast(D,(Y)=>typeof Y==="function"),lm={noSort:!1,readEntries:!1,method:j1.Constants.NONE,fs:null};bL.exports=function(D,Y){let X=null,Q=Object.assign(Object.create(null),lm);if(D&&typeof D==="object"){if(!(D instanceof Uint8Array)){if(Object.assign(Q,D),D=Q.input?Q.input:void 0,Q.input)delete Q.input}if(Buffer.isBuffer(D))X=D,Q.method=j1.Constants.BUFFER,D=void 0}Object.assign(Q,Y);let J=new j1(Q);if(typeof Q.decoder!=="object"||typeof Q.decoder.encode!=="function"||typeof Q.decoder.decode!=="function")Q.decoder=j1.decoder;if(D&&typeof D==="string")if(J.fs.existsSync(D))Q.method=j1.Constants.FILE,Q.filename=D,X=J.fs.readFileSync(D);else throw j1.Errors.INVALID_FILENAME();let W=new mm(X,Q),{canonical:$,sanitize:G,zipnamefix:B}=j1;function H(z){if(z&&W){var w;if(typeof z==="string")w=W.getEntry(k1.posix.normalize(z));if(typeof z==="object"&&typeof z.entryName<"u"&&typeof z.header<"u")w=W.getEntry(z.entryName);if(w)return w}return null}function F(z){let{join:w,normalize:V,sep:L}=k1.posix;return w(".",V(L+z.split("\\").join(L)+L))}function K(z){if(z instanceof RegExp)return function(w){return function(V){return w.test(V)}}(z);else if(typeof z!=="function")return()=>!0;return z}let U=(z,w)=>{let V=w.slice(-1);return V=V===J.sep?J.sep:"",k1.relative(z,w)+V};return{readFile:function(z,w){var V=H(z);return V&&V.getData(w)||null},childCount:function(z){let w=H(z);if(w)return W.getChildCount(w)},readFileAsync:function(z,w){var V=H(z);if(V)V.getDataAsync(w);else w(null,"getEntry failed for:"+z)},readAsText:function(z,w){var V=H(z);if(V){var L=V.getData();if(L&&L.length)return L.toString(w||"utf8")}return""},readAsTextAsync:function(z,w,V){var L=H(z);if(L)L.getDataAsync(function(O,Z){if(Z){w(O,Z);return}if(O&&O.length)w(O.toString(V||"utf8"));else w("")});else w("")},deleteFile:function(z,w=!0){var V=H(z);if(V)W.deleteFile(V.entryName,w)},deleteEntry:function(z){var w=H(z);if(w)W.deleteEntry(w.entryName)},addZipComment:function(z){W.comment=z},getZipComment:function(){return W.comment||""},addZipEntryComment:function(z,w){var V=H(z);if(V)V.comment=w},getZipEntryComment:function(z){var w=H(z);if(w)return w.comment||"";return""},updateFile:function(z,w){var V=H(z);if(V)V.setData(w)},addLocalFile:function(z,w,V,L){if(J.fs.existsSync(z)){w=w?F(w):"";let O=k1.win32.basename(k1.win32.normalize(z));w+=V?V:O;let Z=J.fs.statSync(z),M=Z.isFile()?J.fs.readFileSync(z):Buffer.alloc(0);if(Z.isDirectory())w+=J.sep;this.addFile(w,M,L,Z)}else throw j1.Errors.FILE_NOT_FOUND(z)},addLocalFileAsync:function(z,w){z=typeof z==="object"?z:{localPath:z};let V=k1.resolve(z.localPath),{comment:L}=z,{zipPath:O,zipName:Z}=z,M=this;J.fs.stat(V,function(E,j){if(E)return w(E,!1);O=O?F(O):"";let I=k1.win32.basename(k1.win32.normalize(V));if(O+=Z?Z:I,j.isFile())J.fs.readFile(V,function(x,y){if(x)return w(x,!1);return M.addFile(O,y,L,j),setImmediate(w,void 0,!0)});else if(j.isDirectory())return O+=J.sep,M.addFile(O,Buffer.alloc(0),L,j),setImmediate(w,void 0,!0)})},addLocalFolder:function(z,w,V){if(V=K(V),w=w?F(w):"",z=k1.normalize(z),J.fs.existsSync(z)){let L=J.findFiles(z),O=this;if(L.length)for(let Z of L){let M=k1.join(w,U(z,Z));if(V(M))O.addLocalFile(Z,k1.dirname(M))}}else throw j1.Errors.FILE_NOT_FOUND(z)},addLocalFolderAsync:function(z,w,V,L){L=K(L),V=V?F(V):"",z=k1.normalize(z);var O=this;J.fs.open(z,"r",function(Z){if(Z&&Z.code==="ENOENT")w(void 0,j1.Errors.FILE_NOT_FOUND(z));else if(Z)w(void 0,Z);else{var M=J.findFiles(z),E=-1,j=function(){if(E+=1,E<M.length){var I=M[E],x=U(z,I).split("\\").join("/");if(x=x.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),L(x))J.fs.stat(I,function(y,C){if(y)w(void 0,y);if(C.isFile())J.fs.readFile(I,function(c,S){if(c)w(void 0,c);else O.addFile(V+x,S,"",C),j()});else O.addFile(V+x+"/",Buffer.alloc(0),"",C),j()});else process.nextTick(()=>{j()})}else w(!0,void 0)};j()}})},addLocalFolderAsync2:function(z,w){let V=this;z=typeof z==="object"?z:{localPath:z},localPath=k1.resolve(F(z.localPath));let{zipPath:L,filter:O,namefix:Z}=z;if(O instanceof RegExp)O=function(j){return function(I){return j.test(I)}}(O);else if(typeof O!=="function")O=function(){return!0};if(L=L?F(L):"",Z=="latin1")Z=(j)=>j.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"");if(typeof Z!=="function")Z=(j)=>j;let M=(j)=>k1.join(L,Z(U(localPath,j))),E=(j)=>k1.win32.basename(k1.win32.normalize(Z(j)));J.fs.open(localPath,"r",function(j){if(j&&j.code==="ENOENT")w(void 0,j1.Errors.FILE_NOT_FOUND(localPath));else if(j)w(void 0,j);else J.findFilesAsync(localPath,function(I,x){if(I)return w(I);if(x=x.filter((y)=>O(M(y))),!x.length)w(void 0,!1);setImmediate(x.reverse().reduce(function(y,C){return function(c,S){if(c||S===!1)return setImmediate(y,c,!1);V.addLocalFileAsync({localPath:C,zipPath:k1.dirname(M(C)),zipName:E(C)},y)}},w))})})},addLocalFolderPromise:function(z,w){return new Promise((V,L)=>{this.addLocalFolderAsync2(Object.assign({localPath:z},w),(O,Z)=>{if(O)L(O);if(Z)V(this)})})},addFile:function(z,w,V,L){z=B(z);let O=H(z),Z=O!=null;if(!Z)O=new um(Q),O.entryName=z;O.comment=V||"";let M=typeof L==="object"&&L instanceof J.fs.Stats;if(M)O.header.time=L.mtime;var E=O.isDirectory?16:0;let j=O.isDirectory?16384:32768;if(M)j|=4095&L.mode;else if(typeof L==="number")j|=4095&L;else j|=O.isDirectory?493:420;if(E=(E|j<<16)>>>0,O.attr=E,O.setData(w),!Z)W.setEntry(O);return O},getEntries:function(z){return W.password=z,W?W.entries:[]},getEntry:function(z){return H(z)},getEntryCount:function(){return W.getEntryCount()},forEach:function(z){return W.forEach(z)},extractEntryTo:function(z,w,V,L,O,Z){L=PD(!1,L),O=PD(!1,O),V=PD(!0,V),Z=_L(O,Z);var M=H(z);if(!M)throw j1.Errors.NO_ENTRY();var E=$(M.entryName),j=G(w,Z&&!M.isDirectory?Z:V?E:k1.basename(E));if(M.isDirectory){var I=W.getEntryChildren(M);return I.forEach(function(C){if(C.isDirectory)return;var c=C.getData();if(!c)throw j1.Errors.CANT_EXTRACT_FILE();var S=$(C.entryName),p=G(w,V?S:k1.basename(S));let u=O?C.header.fileAttr:void 0;J.writeFileTo(p,c,L,u)}),!0}var x=M.getData(W.password);if(!x)throw j1.Errors.CANT_EXTRACT_FILE();if(J.fs.existsSync(j)&&!L)throw j1.Errors.CANT_OVERRIDE();let y=O?z.header.fileAttr:void 0;return J.writeFileTo(j,x,L,y),!0},test:function(z){if(!W)return!1;for(var w in W.entries)try{if(w.isDirectory)continue;var V=W.entries[w].getData(z);if(!V)return!1}catch(L){return!1}return!0},extractAllTo:function(z,w,V,L){if(V=PD(!1,V),L=_L(V,L),w=PD(!1,w),!W)throw j1.Errors.NO_ZIP();W.entries.forEach(function(O){var Z=G(z,$(O.entryName));if(O.isDirectory){J.makeDir(Z);return}var M=O.getData(L);if(!M)throw j1.Errors.CANT_EXTRACT_FILE();let E=V?O.header.fileAttr:void 0;J.writeFileTo(Z,M,w,E);try{J.fs.utimesSync(Z,O.header.time,O.header.time)}catch(j){throw j1.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(z,w,V,L){if(L=cm(w,V,L),V=PD(!1,V),w=PD(!1,w),!L)return new Promise((j,I)=>{this.extractAllToAsync(z,w,V,function(x){if(x)I(x);else j(this)})});if(!W){L(j1.Errors.NO_ZIP());return}z=k1.resolve(z);let O=(j)=>G(z,k1.normalize($(j.entryName))),Z=(j,I)=>Error(j+': "'+I+'"'),M=[],E=[];W.entries.forEach((j)=>{if(j.isDirectory)M.push(j);else E.push(j)});for(let j of M){let I=O(j),x=V?j.header.fileAttr:void 0;try{if(J.makeDir(I),x)J.fs.chmodSync(I,x);J.fs.utimesSync(I,j.header.time,j.header.time)}catch(y){L(Z("Unable to create folder",I))}}E.reverse().reduce(function(j,I){return function(x){if(x)j(x);else{let y=k1.normalize($(I.entryName)),C=G(z,y);I.getDataAsync(function(c,S){if(S)j(S);else if(!c)j(j1.Errors.CANT_EXTRACT_FILE());else{let p=V?I.header.fileAttr:void 0;J.writeFileToAsync(C,c,w,p,function(u){if(!u)j(Z("Unable to write file",C));J.fs.utimes(C,I.header.time,I.header.time,function(J0){if(J0)j(Z("Unable to set times",C));else j()})})}})}}},L)()},writeZip:function(z,w){if(arguments.length===1){if(typeof z==="function")w=z,z=""}if(!z&&Q.filename)z=Q.filename;if(!z)return;var V=W.compressToBuffer();if(V){var L=J.writeFileTo(z,V,!0);if(typeof w==="function")w(!L?Error("failed"):null,"")}},writeZipPromise:function(z,w){let{overwrite:V,perm:L}=Object.assign({overwrite:!0},w);return new Promise((O,Z)=>{if(!z&&Q.filename)z=Q.filename;if(!z)Z("ADM-ZIP: ZIP File Name Missing");this.toBufferPromise().then((M)=>{let E=(j)=>j?O(j):Z("ADM-ZIP: Wasn't able to write zip file");J.writeFileToAsync(z,M,V,L,E)},Z)})},toBufferPromise:function(){return new Promise((z,w)=>{W.toAsyncBuffer(z,w)})},toBuffer:function(z,w,V,L){if(typeof z==="function")return W.toAsyncBuffer(z,w,V,L),null;return W.compressToBuffer()}}}});var fL=T((Vw0,yL)=>{var vL={};yL.exports=vL;var kL={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(kL).forEach(function(D){var Y=kL[D],X=vL[D]=[];X.open="\x1B["+Y[0]+"m",X.close="\x1B["+Y[1]+"m"})});var gL=T((Lw0,hL)=>{hL.exports=function(D,Y){Y=Y||process.argv;var X=Y.indexOf("--"),Q=/^-{1,2}/.test(D)?"":"--",J=Y.indexOf(Q+D);return J!==-1&&(X===-1?!0:J<X)}});var mL=T((Mw0,uL)=>{var dm=a("os"),S6=gL(),R8=process.env,u5=void 0;if(S6("no-color")||S6("no-colors")||S6("color=false"))u5=!1;else if(S6("color")||S6("colors")||S6("color=true")||S6("color=always"))u5=!0;if("FORCE_COLOR"in R8)u5=R8.FORCE_COLOR.length===0||parseInt(R8.FORCE_COLOR,10)!==0;function pm(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function nm(D){if(u5===!1)return 0;if(S6("color=16m")||S6("color=full")||S6("color=truecolor"))return 3;if(S6("color=256"))return 2;if(D&&!D.isTTY&&u5!==!0)return 0;var Y=u5?1:0;if(process.platform==="win32"){var X=dm.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(X[0])>=10&&Number(X[2])>=10586)return Number(X[2])>=14931?3:2;return 1}if("CI"in R8){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(J){return J in R8})||R8.CI_NAME==="codeship")return 1;return Y}if("TEAMCITY_VERSION"in R8)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(R8.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in R8){var Q=parseInt((R8.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(R8.TERM_PROGRAM){case"iTerm.app":return Q>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(R8.TERM))return 2;if(/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(R8.TERM))return 1;if("COLORTERM"in R8)return 1;if(R8.TERM==="dumb")return Y;return Y}function gG(D){var Y=nm(D);return pm(Y)}uL.exports={supportsColor:gG,stdout:gG(process.stdout),stderr:gG(process.stderr)}});var lL=T((Ow0,cL)=>{cL.exports=function(Y,X){var Q="";Y=Y||"Run the trap, drop the bass",Y=Y.split("");var J={a:["@","Ą","Ⱥ","Ʌ","Δ","Λ","Д"],b:["ß","Ɓ","Ƀ","ɮ","β","฿"],c:["©","Ȼ","Ͼ"],d:["Ð","Ɗ","Ԁ","ԁ","Ԃ","ԃ"],e:["Ë","ĕ","Ǝ","ɘ","Σ","ξ","Ҽ","੬"],f:["Ӻ"],g:["ɢ"],h:["Ħ","ƕ","Ң","Һ","Ӈ","Ԋ"],i:["༏"],j:["Ĵ"],k:["ĸ","Ҡ","Ӄ","Ԟ"],l:["Ĺ"],m:["ʍ","Ӎ","ӎ","Ԡ","ԡ","൩"],n:["Ñ","ŋ","Ɲ","Ͷ","Π","Ҋ"],o:["Ø","õ","ø","Ǿ","ʘ","Ѻ","ם","","๏"],p:["Ƿ","Ҏ"],q:["্"],r:["®","Ʀ","Ȑ","Ɍ","ʀ","Я"],s:["§","Ϟ","ϟ","Ϩ"],t:["Ł","Ŧ","ͳ"],u:["Ʊ","Ս"],v:["ט"],w:["Ш","Ѡ","Ѽ","൰"],x:["Ҳ","Ӿ","Ӽ","ӽ"],y:["¥","Ұ","Ӌ"],z:["Ƶ","ɀ"]};return Y.forEach(function(W){W=W.toLowerCase();var $=J[W]||[" "],G=Math.floor(Math.random()*$.length);if(typeof J[W]<"u")Q+=J[W][G];else Q+=W}),Q}});var pL=T((Nw0,dL)=>{dL.exports=function(Y,X){Y=Y||" he is here ";var Q={up:["̍","̎","̄","̅","̿","̑","̆","̐","͒","͗","͑","̇","̈","̊","͂","̓","̈","͊","͋","͌","̃","̂","̌","͐","̀","́","̋","̏","̒","̓","̔","̽","̉","ͣ","ͤ","ͥ","ͦ","ͧ","ͨ","ͩ","ͪ","ͫ","ͬ","ͭ","ͮ","ͯ","̾","͛","͆","̚"],down:["̖","̗","̘","̙","̜","̝","̞","̟","̠","̤","̥","̦","̩","̪","̫","̬","̭","̮","̯","̰","̱","̲","̳","̹","̺","̻","̼","ͅ","͇","͈","͉","͍","͎","͓","͔","͕","͖","͙","͚","̣"],mid:["̕","̛","̀","́","͘","̡","̢","̧","̨","̴","̵","̶","͜","͝","͞","͟","͠","͢","̸","̷","͡"," ҉"]},J=[].concat(Q.up,Q.down,Q.mid);function W(B){var H=Math.floor(Math.random()*B);return H}function $(B){var H=!1;return J.filter(function(F){H=F===B}),H}function G(B,H){var F="",K,U;H=H||{},H.up=typeof H.up<"u"?H.up:!0,H.mid=typeof H.mid<"u"?H.mid:!0,H.down=typeof H.down<"u"?H.down:!0,H.size=typeof H.size<"u"?H.size:"maxi",B=B.split("");for(U in B){if($(U))continue;switch(F=F+B[U],K={up:0,down:0,mid:0},H.size){case"mini":K.up=W(8),K.mid=W(2),K.down=W(8);break;case"maxi":K.up=W(16)+3,K.mid=W(4)+1,K.down=W(64)+3;break;default:K.up=W(8)+1,K.mid=W(6)/2,K.down=W(8)+1;break}var z=["up","mid","down"];for(var w in z){var V=z[w];for(var L=0;L<=K[V];L++)if(H[V])F=F+Q[V][W(Q[V].length)]}}return F}return G(Y,X)}});var iL=T((Zw0,nL)=>{nL.exports=function(D){return function(Y,X,Q){if(Y===" ")return Y;switch(X%3){case 0:return D.red(Y);case 1:return D.white(Y);case 2:return D.blue(Y)}}}});var aL=T((Aw0,rL)=>{rL.exports=function(D){return function(Y,X,Q){return X%2===0?Y:D.inverse(Y)}}});var sL=T((Ew0,oL)=>{oL.exports=function(D){var Y=["red","yellow","green","blue","magenta"];return function(X,Q,J){if(X===" ")return X;else return D[Y[Q++%Y.length]](X)}}});var eL=T((Rw0,tL)=>{tL.exports=function(D){var Y=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta","brightYellow","brightRed","brightGreen","brightBlue","brightWhite","brightCyan","brightMagenta"];return function(X,Q,J){return X===" "?X:D[Y[Math.round(Math.random()*(Y.length-2))]](X)}}});var JM=T((Tw0,QM)=>{var v0={};QM.exports=v0;v0.themes={};var im=a("util"),ID=v0.styles=fL(),DM=Object.defineProperties,rm=new RegExp(/[\r\n]+/g);v0.supportsColor=mL().supportsColor;if(typeof v0.enabled>"u")v0.enabled=v0.supportsColor()!==!1;v0.enable=function(){v0.enabled=!0};v0.disable=function(){v0.enabled=!1};v0.stripColors=v0.strip=function(D){return(""+D).replace(/\x1B\[\d+m/g,"")};var jw0=v0.stylize=function(Y,X){if(!v0.enabled)return Y+"";var Q=ID[X];if(!Q&&X in v0)return v0[X](Y);return Q.open+Y+Q.close},am=/[|\\{}()[\]^$+*?.]/g,om=function(D){if(typeof D!=="string")throw TypeError("Expected a string");return D.replace(am,"\\$&")};function YM(D){var Y=function X(){return tm.apply(X,arguments)};return Y._styles=D,Y.__proto__=sm,Y}var XM=function(){var D={};return ID.grey=ID.gray,Object.keys(ID).forEach(function(Y){ID[Y].closeRe=new RegExp(om(ID[Y].close),"g"),D[Y]={get:function(){return YM(this._styles.concat(Y))}}}),D}(),sm=DM(function(){},XM);function tm(){var D=Array.prototype.slice.call(arguments),Y=D.map(function($){if($!=null&&$.constructor===String)return $;else return im.inspect($)}).join(" ");if(!v0.enabled||!Y)return Y;var X=Y.indexOf(`
|
|
27
|
+
`)}),this}_outputHelpIfRequested(D){let Y=this._getHelpOption();if(Y&&D.find((Q)=>Y.is(Q)))this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)")}}function $w(D){return D.map((Y)=>{if(!Y.startsWith("--inspect"))return Y;let X,Q="127.0.0.1",J="9229",W;if((W=Y.match(/^(--inspect(-brk)?)$/))!==null)X=W[1];else if((W=Y.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null)if(X=W[1],/^\d+$/.test(W[3]))J=W[3];else Q=W[3];else if((W=Y.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null)X=W[1],Q=W[3],J=W[4];if(X&&J!=="0")return`${X}=${Q}:${parseInt(J)+1}`;return Y})}function n$(){if(i0.env.NO_COLOR||i0.env.FORCE_COLOR==="0"||i0.env.FORCE_COLOR==="false")return!1;if(i0.env.FORCE_COLOR||i0.env.CLICOLOR_FORCE!==void 0)return!0;return}Ih.Command=i$;Ih.useColor=n$});var qw=T((kh)=>{var{Argument:Bw}=OX(),{Command:r$}=Gw(),{CommanderError:_h,InvalidArgumentError:Hw}=y7(),{Help:bh}=c$(),{Option:Fw}=l$();kh.program=new r$;kh.createCommand=(D)=>new r$(D);kh.createOption=(D,Y)=>new Fw(D,Y);kh.createArgument=(D,Y)=>new Bw(D,Y);kh.Command=r$;kh.Option=Fw;kh.Argument=Bw;kh.Help=bh;kh.CommanderError=_h;kh.InvalidArgumentError=Hw;kh.InvalidOptionArgumentError=Hw});var o$=T((dq0,zw)=>{var a$={to(D,Y){if(!Y)return`\x1B[${D+1}G`;return`\x1B[${Y+1};${D+1}H`},move(D,Y){let X="";if(D<0)X+=`\x1B[${-D}D`;else if(D>0)X+=`\x1B[${D}C`;if(Y<0)X+=`\x1B[${-Y}A`;else if(Y>0)X+=`\x1B[${Y}B`;return X},up:(D=1)=>`\x1B[${D}A`,down:(D=1)=>`\x1B[${D}B`,forward:(D=1)=>`\x1B[${D}C`,backward:(D=1)=>`\x1B[${D}D`,nextLine:(D=1)=>"\x1B[E".repeat(D),prevLine:(D=1)=>"\x1B[F".repeat(D),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},ih={up:(D=1)=>"\x1B[S".repeat(D),down:(D=1)=>"\x1B[T".repeat(D)},rh={screen:"\x1B[2J",up:(D=1)=>"\x1B[1J".repeat(D),down:(D=1)=>"\x1B[J".repeat(D),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(D){let Y="";for(let X=0;X<D;X++)Y+=this.line+(X<D-1?a$.up():"");if(D)Y+=a$.left;return Y}};zw.exports={cursor:a$,scroll:ih,erase:rh,beep:"\x07"}});var t$=T((pq0,s$)=>{var AX=process||{},Uw=AX.argv||[],ZX=AX.env||{},ah=!(!!ZX.NO_COLOR||Uw.includes("--no-color"))&&(!!ZX.FORCE_COLOR||Uw.includes("--color")||AX.platform==="win32"||(AX.stdout||{}).isTTY&&ZX.TERM!=="dumb"||!!ZX.CI),oh=(D,Y,X=D)=>(Q)=>{let J=""+Q,W=J.indexOf(Y,D.length);return~W?D+sh(J,Y,X,W)+Y:D+J+Y},sh=(D,Y,X,Q)=>{let J="",W=0;do J+=D.substring(W,Q)+X,W=Q+Y.length,Q=D.indexOf(Y,W);while(~Q);return J+D.substring(W)},ww=(D=ah)=>{let Y=D?oh:()=>String;return{isColorSupported:D,reset:Y("\x1B[0m","\x1B[0m"),bold:Y("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:Y("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:Y("\x1B[3m","\x1B[23m"),underline:Y("\x1B[4m","\x1B[24m"),inverse:Y("\x1B[7m","\x1B[27m"),hidden:Y("\x1B[8m","\x1B[28m"),strikethrough:Y("\x1B[9m","\x1B[29m"),black:Y("\x1B[30m","\x1B[39m"),red:Y("\x1B[31m","\x1B[39m"),green:Y("\x1B[32m","\x1B[39m"),yellow:Y("\x1B[33m","\x1B[39m"),blue:Y("\x1B[34m","\x1B[39m"),magenta:Y("\x1B[35m","\x1B[39m"),cyan:Y("\x1B[36m","\x1B[39m"),white:Y("\x1B[37m","\x1B[39m"),gray:Y("\x1B[90m","\x1B[39m"),bgBlack:Y("\x1B[40m","\x1B[49m"),bgRed:Y("\x1B[41m","\x1B[49m"),bgGreen:Y("\x1B[42m","\x1B[49m"),bgYellow:Y("\x1B[43m","\x1B[49m"),bgBlue:Y("\x1B[44m","\x1B[49m"),bgMagenta:Y("\x1B[45m","\x1B[49m"),bgCyan:Y("\x1B[46m","\x1B[49m"),bgWhite:Y("\x1B[47m","\x1B[49m"),blackBright:Y("\x1B[90m","\x1B[39m"),redBright:Y("\x1B[91m","\x1B[39m"),greenBright:Y("\x1B[92m","\x1B[39m"),yellowBright:Y("\x1B[93m","\x1B[39m"),blueBright:Y("\x1B[94m","\x1B[39m"),magentaBright:Y("\x1B[95m","\x1B[39m"),cyanBright:Y("\x1B[96m","\x1B[39m"),whiteBright:Y("\x1B[97m","\x1B[39m"),bgBlackBright:Y("\x1B[100m","\x1B[49m"),bgRedBright:Y("\x1B[101m","\x1B[49m"),bgGreenBright:Y("\x1B[102m","\x1B[49m"),bgYellowBright:Y("\x1B[103m","\x1B[49m"),bgBlueBright:Y("\x1B[104m","\x1B[49m"),bgMagentaBright:Y("\x1B[105m","\x1B[49m"),bgCyanBright:Y("\x1B[106m","\x1B[49m"),bgWhiteBright:Y("\x1B[107m","\x1B[49m")}};s$.exports=ww();s$.exports.createColors=ww});var IX=T((yw)=>{Object.defineProperty(yw,"__esModule",{value:!0});yw.isNXMonorepo=yw.isMonorepo=yw.findPackageRelativePathInMonorepo=yw.findPackagePath=yw.findNXMonorepoRoot=yw.findMonorepoRoot=void 0;var u7=a("node:fs"),h9=a("node:path");function PX(D){let Y=(0,h9.join)(D,"package.json"),X=(0,h9.join)(D,"pnpm-workspace.yaml");if((0,u7.existsSync)(X)||(0,u7.existsSync)(Y)&&JSON.parse((0,u7.readFileSync)(Y,"utf-8")).workspaces)return D;let Q=(0,h9.dirname)(D);if(Q===D)throw Error("Monorepo root not found");return PX(Q)}yw.findMonorepoRoot=PX;function zG(D){let Y=(0,h9.join)(D,"nx.json");if((0,u7.existsSync)(Y))return D;let X=(0,h9.dirname)(D);if(X===D)throw Error("Monorepo root not found");return zG(X)}yw.findNXMonorepoRoot=zG;function UG(D,Y,X){let Q=(0,h9.join)(Y,"node_modules",D);if((0,u7.existsSync)(Q))return Q;if(Y===X)return null;let J=(0,h9.dirname)(Y);return UG(D,J,X)}yw.findPackagePath=UG;function bg(D,Y){let X=PX(Y),Q=UG(D,Y,X);if(Q)return(0,h9.relative)(Y,Q);return null}yw.findPackageRelativePathInMonorepo=bg;function kg(D){try{return PX(D),!0}catch(Y){return!1}}yw.isMonorepo=kg;function vg(D){try{return zG(D),!0}catch(Y){return!1}}yw.isNXMonorepo=vg});var m8=T((XU0,hX)=>{var ew,DV,YV,XV,QV,JV,WV,$V,GV,BV,HV,FV,qV,yX,ZG,KV,zV,UV,b5,wV,VV,LV,MV,OV,NV,ZV,AV,EV,fX,RV,jV,TV;(function(D){var Y=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd)define("tslib",["exports"],function(Q){D(X(Y,X(Q)))});else if(typeof hX==="object"&&typeof XU0==="object")D(X(Y,X(XU0)));else D(X(Y));function X(Q,J){if(Q!==Y)if(typeof Object.create==="function")Object.defineProperty(Q,"__esModule",{value:!0});else Q.__esModule=!0;return function(W,$){return Q[W]=J?J(W,$):$}}})(function(D){var Y=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(W,$){W.__proto__=$}||function(W,$){for(var G in $)if(Object.prototype.hasOwnProperty.call($,G))W[G]=$[G]};ew=function(W,$){if(typeof $!=="function"&&$!==null)throw TypeError("Class extends value "+String($)+" is not a constructor or null");Y(W,$);function G(){this.constructor=W}W.prototype=$===null?Object.create($):(G.prototype=$.prototype,new G)},DV=Object.assign||function(W){for(var $,G=1,B=arguments.length;G<B;G++){$=arguments[G];for(var H in $)if(Object.prototype.hasOwnProperty.call($,H))W[H]=$[H]}return W},YV=function(W,$){var G={};for(var B in W)if(Object.prototype.hasOwnProperty.call(W,B)&&$.indexOf(B)<0)G[B]=W[B];if(W!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var H=0,B=Object.getOwnPropertySymbols(W);H<B.length;H++)if($.indexOf(B[H])<0&&Object.prototype.propertyIsEnumerable.call(W,B[H]))G[B[H]]=W[B[H]]}return G},XV=function(W,$,G,B){var H=arguments.length,F=H<3?$:B===null?B=Object.getOwnPropertyDescriptor($,G):B,K;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")F=Reflect.decorate(W,$,G,B);else for(var U=W.length-1;U>=0;U--)if(K=W[U])F=(H<3?K(F):H>3?K($,G,F):K($,G))||F;return H>3&&F&&Object.defineProperty($,G,F),F},QV=function(W,$){return function(G,B){$(G,B,W)}},JV=function(W,$,G,B,H,F){function K(I){if(I!==void 0&&typeof I!=="function")throw TypeError("Function expected");return I}var U=B.kind,z=U==="getter"?"get":U==="setter"?"set":"value",w=!$&&W?B.static?W:W.prototype:null,V=$||(w?Object.getOwnPropertyDescriptor(w,B.name):{}),L,O=!1;for(var Z=G.length-1;Z>=0;Z--){var M={};for(var E in B)M[E]=E==="access"?{}:B[E];for(var E in B.access)M.access[E]=B.access[E];M.addInitializer=function(I){if(O)throw TypeError("Cannot add initializers after decoration has completed");F.push(K(I||null))};var j=(0,G[Z])(U==="accessor"?{get:V.get,set:V.set}:V[z],M);if(U==="accessor"){if(j===void 0)continue;if(j===null||typeof j!=="object")throw TypeError("Object expected");if(L=K(j.get))V.get=L;if(L=K(j.set))V.set=L;if(L=K(j.init))H.unshift(L)}else if(L=K(j))if(U==="field")H.unshift(L);else V[z]=L}if(w)Object.defineProperty(w,B.name,V);O=!0},WV=function(W,$,G){var B=arguments.length>2;for(var H=0;H<$.length;H++)G=B?$[H].call(W,G):$[H].call(W);return B?G:void 0},$V=function(W){return typeof W==="symbol"?W:"".concat(W)},GV=function(W,$,G){if(typeof $==="symbol")$=$.description?"[".concat($.description,"]"):"";return Object.defineProperty(W,"name",{configurable:!0,value:G?"".concat(G," ",$):$})},BV=function(W,$){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(W,$)},HV=function(W,$,G,B){function H(F){return F instanceof G?F:new G(function(K){K(F)})}return new(G||(G=Promise))(function(F,K){function U(V){try{w(B.next(V))}catch(L){K(L)}}function z(V){try{w(B.throw(V))}catch(L){K(L)}}function w(V){V.done?F(V.value):H(V.value).then(U,z)}w((B=B.apply(W,$||[])).next())})},FV=function(W,$){var G={label:0,sent:function(){if(F[0]&1)throw F[1];return F[1]},trys:[],ops:[]},B,H,F,K=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return K.next=U(0),K.throw=U(1),K.return=U(2),typeof Symbol==="function"&&(K[Symbol.iterator]=function(){return this}),K;function U(w){return function(V){return z([w,V])}}function z(w){if(B)throw TypeError("Generator is already executing.");while(K&&(K=0,w[0]&&(G=0)),G)try{if(B=1,H&&(F=w[0]&2?H.return:w[0]?H.throw||((F=H.return)&&F.call(H),0):H.next)&&!(F=F.call(H,w[1])).done)return F;if(H=0,F)w=[w[0]&2,F.value];switch(w[0]){case 0:case 1:F=w;break;case 4:return G.label++,{value:w[1],done:!1};case 5:G.label++,H=w[1],w=[0];continue;case 7:w=G.ops.pop(),G.trys.pop();continue;default:if((F=G.trys,!(F=F.length>0&&F[F.length-1]))&&(w[0]===6||w[0]===2)){G=0;continue}if(w[0]===3&&(!F||w[1]>F[0]&&w[1]<F[3])){G.label=w[1];break}if(w[0]===6&&G.label<F[1]){G.label=F[1],F=w;break}if(F&&G.label<F[2]){G.label=F[2],G.ops.push(w);break}if(F[2])G.ops.pop();G.trys.pop();continue}w=$.call(W,G)}catch(V){w=[6,V],H=0}finally{B=F=0}if(w[0]&5)throw w[1];return{value:w[0]?w[1]:void 0,done:!0}}},qV=function(W,$){for(var G in W)if(G!=="default"&&!Object.prototype.hasOwnProperty.call($,G))fX($,W,G)},fX=Object.create?function(W,$,G,B){if(B===void 0)B=G;var H=Object.getOwnPropertyDescriptor($,G);if(!H||("get"in H?!$.__esModule:H.writable||H.configurable))H={enumerable:!0,get:function(){return $[G]}};Object.defineProperty(W,B,H)}:function(W,$,G,B){if(B===void 0)B=G;W[B]=$[G]},yX=function(W){var $=typeof Symbol==="function"&&Symbol.iterator,G=$&&W[$],B=0;if(G)return G.call(W);if(W&&typeof W.length==="number")return{next:function(){if(W&&B>=W.length)W=void 0;return{value:W&&W[B++],done:!W}}};throw TypeError($?"Object is not iterable.":"Symbol.iterator is not defined.")},ZG=function(W,$){var G=typeof Symbol==="function"&&W[Symbol.iterator];if(!G)return W;var B=G.call(W),H,F=[],K;try{while(($===void 0||$-- >0)&&!(H=B.next()).done)F.push(H.value)}catch(U){K={error:U}}finally{try{if(H&&!H.done&&(G=B.return))G.call(B)}finally{if(K)throw K.error}}return F},KV=function(){for(var W=[],$=0;$<arguments.length;$++)W=W.concat(ZG(arguments[$]));return W},zV=function(){for(var W=0,$=0,G=arguments.length;$<G;$++)W+=arguments[$].length;for(var B=Array(W),H=0,$=0;$<G;$++)for(var F=arguments[$],K=0,U=F.length;K<U;K++,H++)B[H]=F[K];return B},UV=function(W,$,G){if(G||arguments.length===2){for(var B=0,H=$.length,F;B<H;B++)if(F||!(B in $)){if(!F)F=Array.prototype.slice.call($,0,B);F[B]=$[B]}}return W.concat(F||Array.prototype.slice.call($))},b5=function(W){return this instanceof b5?(this.v=W,this):new b5(W)},wV=function(W,$,G){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var B=G.apply(W,$||[]),H,F=[];return H=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),U("next"),U("throw"),U("return",K),H[Symbol.asyncIterator]=function(){return this},H;function K(Z){return function(M){return Promise.resolve(M).then(Z,L)}}function U(Z,M){if(B[Z]){if(H[Z]=function(E){return new Promise(function(j,I){F.push([Z,E,j,I])>1||z(Z,E)})},M)H[Z]=M(H[Z])}}function z(Z,M){try{w(B[Z](M))}catch(E){O(F[0][3],E)}}function w(Z){Z.value instanceof b5?Promise.resolve(Z.value.v).then(V,L):O(F[0][2],Z)}function V(Z){z("next",Z)}function L(Z){z("throw",Z)}function O(Z,M){if(Z(M),F.shift(),F.length)z(F[0][0],F[0][1])}},VV=function(W){var $,G;return $={},B("next"),B("throw",function(H){throw H}),B("return"),$[Symbol.iterator]=function(){return this},$;function B(H,F){$[H]=W[H]?function(K){return(G=!G)?{value:b5(W[H](K)),done:!1}:F?F(K):K}:F}},LV=function(W){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var $=W[Symbol.asyncIterator],G;return $?$.call(W):(W=typeof yX==="function"?yX(W):W[Symbol.iterator](),G={},B("next"),B("throw"),B("return"),G[Symbol.asyncIterator]=function(){return this},G);function B(F){G[F]=W[F]&&function(K){return new Promise(function(U,z){K=W[F](K),H(U,z,K.done,K.value)})}}function H(F,K,U,z){Promise.resolve(z).then(function(w){F({value:w,done:U})},K)}},MV=function(W,$){if(Object.defineProperty)Object.defineProperty(W,"raw",{value:$});else W.raw=$;return W};var X=Object.create?function(W,$){Object.defineProperty(W,"default",{enumerable:!0,value:$})}:function(W,$){W.default=$},Q=function(W){return Q=Object.getOwnPropertyNames||function($){var G=[];for(var B in $)if(Object.prototype.hasOwnProperty.call($,B))G[G.length]=B;return G},Q(W)};OV=function(W){if(W&&W.__esModule)return W;var $={};if(W!=null){for(var G=Q(W),B=0;B<G.length;B++)if(G[B]!=="default")fX($,W,G[B])}return X($,W),$},NV=function(W){return W&&W.__esModule?W:{default:W}},ZV=function(W,$,G,B){if(G==="a"&&!B)throw TypeError("Private accessor was defined without a getter");if(typeof $==="function"?W!==$||!B:!$.has(W))throw TypeError("Cannot read private member from an object whose class did not declare it");return G==="m"?B:G==="a"?B.call(W):B?B.value:$.get(W)},AV=function(W,$,G,B,H){if(B==="m")throw TypeError("Private method is not writable");if(B==="a"&&!H)throw TypeError("Private accessor was defined without a setter");if(typeof $==="function"?W!==$||!H:!$.has(W))throw TypeError("Cannot write private member to an object whose class did not declare it");return B==="a"?H.call(W,G):H?H.value=G:$.set(W,G),G},EV=function(W,$){if($===null||typeof $!=="object"&&typeof $!=="function")throw TypeError("Cannot use 'in' operator on non-object");return typeof W==="function"?$===W:W.has($)},RV=function(W,$,G){if($!==null&&$!==void 0){if(typeof $!=="object"&&typeof $!=="function")throw TypeError("Object expected.");var B,H;if(G){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");B=$[Symbol.asyncDispose]}if(B===void 0){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");if(B=$[Symbol.dispose],G)H=B}if(typeof B!=="function")throw TypeError("Object not disposable.");if(H)B=function(){try{H.call(this)}catch(F){return Promise.reject(F)}};W.stack.push({value:$,dispose:B,async:G})}else if(G)W.stack.push({async:!0});return $};var J=typeof SuppressedError==="function"?SuppressedError:function(W,$,G){var B=Error(G);return B.name="SuppressedError",B.error=W,B.suppressed=$,B};jV=function(W){function $(F){W.error=W.hasError?new J(F,W.error,"An error was suppressed during disposal."):F,W.hasError=!0}var G,B=0;function H(){while(G=W.stack.pop())try{if(!G.async&&B===1)return B=0,W.stack.push(G),Promise.resolve().then(H);if(G.dispose){var F=G.dispose.call(G.value);if(G.async)return B|=2,Promise.resolve(F).then(H,function(K){return $(K),H()})}else B|=1}catch(K){$(K)}if(B===1)return W.hasError?Promise.reject(W.error):Promise.resolve();if(W.hasError)throw W.error}return H()},TV=function(W,$){if(typeof W==="string"&&/^\.\.?\//.test(W))return W.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(G,B,H,F,K){return B?$?".jsx":".js":H&&(!F||!K)?G:H+F+"."+K.toLowerCase()+"js"});return W},D("__extends",ew),D("__assign",DV),D("__rest",YV),D("__decorate",XV),D("__param",QV),D("__esDecorate",JV),D("__runInitializers",WV),D("__propKey",$V),D("__setFunctionName",GV),D("__metadata",BV),D("__awaiter",HV),D("__generator",FV),D("__exportStar",qV),D("__createBinding",fX),D("__values",yX),D("__read",ZG),D("__spread",KV),D("__spreadArrays",zV),D("__spreadArray",UV),D("__await",b5),D("__asyncGenerator",wV),D("__asyncDelegator",VV),D("__asyncValues",LV),D("__makeTemplateObject",MV),D("__importStar",OV),D("__importDefault",NV),D("__classPrivateFieldGet",ZV),D("__classPrivateFieldSet",AV),D("__classPrivateFieldIn",EV),D("__addDisposableResource",RV),D("__disposeResources",jV),D("__rewriteRelativeImportExtension",TV)})});var IV=T((SV)=>{Object.defineProperty(SV,"__esModule",{value:!0});SV.resolveFetch=void 0;var Bu=(D)=>{if(D)return(...Y)=>D(...Y);return(...Y)=>fetch(...Y)};SV.resolveFetch=Bu});var AG=T((kV)=>{Object.defineProperty(kV,"__esModule",{value:!0});kV.FunctionRegion=kV.FunctionsHttpError=kV.FunctionsRelayError=kV.FunctionsFetchError=kV.FunctionsError=void 0;class d7 extends Error{constructor(D,Y="FunctionsError",X){super(D);this.name=Y,this.context=X}}kV.FunctionsError=d7;class xV extends d7{constructor(D){super("Failed to send a request to the Edge Function","FunctionsFetchError",D)}}kV.FunctionsFetchError=xV;class _V extends d7{constructor(D){super("Relay Error invoking the Edge Function","FunctionsRelayError",D)}}kV.FunctionsRelayError=_V;class bV extends d7{constructor(D){super("Edge Function returned a non-2xx status code","FunctionsHttpError",D)}}kV.FunctionsHttpError=bV;var CV;(function(D){D.Any="any",D.ApNortheast1="ap-northeast-1",D.ApNortheast2="ap-northeast-2",D.ApSouth1="ap-south-1",D.ApSoutheast1="ap-southeast-1",D.ApSoutheast2="ap-southeast-2",D.CaCentral1="ca-central-1",D.EuCentral1="eu-central-1",D.EuWest1="eu-west-1",D.EuWest2="eu-west-2",D.EuWest3="eu-west-3",D.SaEast1="sa-east-1",D.UsEast1="us-east-1",D.UsWest1="us-west-1",D.UsWest2="us-west-2"})(CV||(kV.FunctionRegion=CV={}))});var gV=T((fV)=>{Object.defineProperty(fV,"__esModule",{value:!0});fV.FunctionsClient=void 0;var zu=m8(),Uu=IV(),k5=AG();class yV{constructor(D,{headers:Y={},customFetch:X,region:Q=k5.FunctionRegion.Any}={}){this.url=D,this.headers=Y,this.region=Q,this.fetch=(0,Uu.resolveFetch)(X)}setAuth(D){this.headers.Authorization=`Bearer ${D}`}invoke(D){return zu.__awaiter(this,arguments,void 0,function*(Y,X={}){var Q;let J,W;try{let{headers:$,method:G,body:B,signal:H,timeout:F}=X,K={},{region:U}=X;if(!U)U=this.region;let z=new URL(`${this.url}/${Y}`);if(U&&U!=="any")K["x-region"]=U,z.searchParams.set("forceFunctionRegion",U);let w;if(B&&($&&!Object.prototype.hasOwnProperty.call($,"Content-Type")||!$))if(typeof Blob<"u"&&B instanceof Blob||B instanceof ArrayBuffer)K["Content-Type"]="application/octet-stream",w=B;else if(typeof B==="string")K["Content-Type"]="text/plain",w=B;else if(typeof FormData<"u"&&B instanceof FormData)w=B;else K["Content-Type"]="application/json",w=JSON.stringify(B);else w=B;let V=H;if(F)if(W=new AbortController,J=setTimeout(()=>W.abort(),F),H)V=W.signal,H.addEventListener("abort",()=>W.abort());else V=W.signal;let L=yield this.fetch(z.toString(),{method:G||"POST",headers:Object.assign(Object.assign(Object.assign({},K),this.headers),$),body:w,signal:V}).catch((E)=>{throw new k5.FunctionsFetchError(E)}),O=L.headers.get("x-relay-error");if(O&&O==="true")throw new k5.FunctionsRelayError(L);if(!L.ok)throw new k5.FunctionsHttpError(L);let Z=((Q=L.headers.get("Content-Type"))!==null&&Q!==void 0?Q:"text/plain").split(";")[0].trim(),M;if(Z==="application/json")M=yield L.json();else if(Z==="application/octet-stream"||Z==="application/pdf")M=yield L.blob();else if(Z==="text/event-stream")M=L;else if(Z==="multipart/form-data")M=yield L.formData();else M=yield L.text();return{data:M,error:null,response:L}}catch($){return{data:null,error:$,response:$ instanceof k5.FunctionsHttpError||$ instanceof k5.FunctionsRelayError?$.context:void 0}}finally{if(J)clearTimeout(J)}})}}fV.FunctionsClient=yV});var uV=T((m9)=>{Object.defineProperty(m9,"__esModule",{value:!0});m9.FunctionRegion=m9.FunctionsRelayError=m9.FunctionsHttpError=m9.FunctionsFetchError=m9.FunctionsError=m9.FunctionsClient=void 0;var wu=gV();Object.defineProperty(m9,"FunctionsClient",{enumerable:!0,get:function(){return wu.FunctionsClient}});var p7=AG();Object.defineProperty(m9,"FunctionsError",{enumerable:!0,get:function(){return p7.FunctionsError}});Object.defineProperty(m9,"FunctionsFetchError",{enumerable:!0,get:function(){return p7.FunctionsFetchError}});Object.defineProperty(m9,"FunctionsHttpError",{enumerable:!0,get:function(){return p7.FunctionsHttpError}});Object.defineProperty(m9,"FunctionsRelayError",{enumerable:!0,get:function(){return p7.FunctionsRelayError}});Object.defineProperty(m9,"FunctionRegion",{enumerable:!0,get:function(){return p7.FunctionRegion}})});var kG=T((Dw0,XL)=>{XL.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}});var mX=T((JL)=>{var QL={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function Mm(D){return function(...Y){if(Y.length)D=D.replace(/\{(\d)\}/g,(X,Q)=>Y[Q]||"");return Error("ADM-ZIP: "+D)}}for(let D of Object.keys(QL))JL[D]=Mm(QL[D])});var HL=T((Xw0,BL)=>{var Om=a("fs"),d1=a("path"),WL=kG(),Nm=mX(),Zm=typeof process==="object"&&process.platform==="win32",$L=(D)=>typeof D==="object"&&D!==null,GL=new Uint32Array(256).map((D,Y)=>{for(let X=0;X<8;X++)if((Y&1)!==0)Y=3988292384^Y>>>1;else Y>>>=1;return Y>>>0});function _1(D){if(this.sep=d1.sep,this.fs=Om,$L(D)){if($L(D.fs)&&typeof D.fs.statSync==="function")this.fs=D.fs}}BL.exports=_1;_1.prototype.makeDir=function(D){let Y=this;function X(Q){let J=Q.split(Y.sep)[0];Q.split(Y.sep).forEach(function(W){if(!W||W.substr(-1,1)===":")return;J+=Y.sep+W;var $;try{$=Y.fs.statSync(J)}catch(G){Y.fs.mkdirSync(J)}if($&&$.isFile())throw Nm.FILE_IN_THE_WAY(`"${J}"`)})}X(D)};_1.prototype.writeFileTo=function(D,Y,X,Q){let J=this;if(J.fs.existsSync(D)){if(!X)return!1;var W=J.fs.statSync(D);if(W.isDirectory())return!1}var $=d1.dirname(D);if(!J.fs.existsSync($))J.makeDir($);var G;try{G=J.fs.openSync(D,"w",438)}catch(B){J.fs.chmodSync(D,438),G=J.fs.openSync(D,"w",438)}if(G)try{J.fs.writeSync(G,Y,0,Y.length,0)}finally{J.fs.closeSync(G)}return J.fs.chmodSync(D,Q||438),!0};_1.prototype.writeFileToAsync=function(D,Y,X,Q,J){if(typeof Q==="function")J=Q,Q=void 0;let W=this;W.fs.exists(D,function($){if($&&!X)return J(!1);W.fs.stat(D,function(G,B){if($&&B.isDirectory())return J(!1);var H=d1.dirname(D);W.fs.exists(H,function(F){if(!F)W.makeDir(H);W.fs.open(D,"w",438,function(K,U){if(K)W.fs.chmod(D,438,function(){W.fs.open(D,"w",438,function(z,w){W.fs.write(w,Y,0,Y.length,0,function(){W.fs.close(w,function(){W.fs.chmod(D,Q||438,function(){J(!0)})})})})});else if(U)W.fs.write(U,Y,0,Y.length,0,function(){W.fs.close(U,function(){W.fs.chmod(D,Q||438,function(){J(!0)})})});else W.fs.chmod(D,Q||438,function(){J(!0)})})})})})};_1.prototype.findFiles=function(D){let Y=this;function X(Q,J,W){if(typeof J==="boolean")W=J,J=void 0;let $=[];return Y.fs.readdirSync(Q).forEach(function(G){let B=d1.join(Q,G),H=Y.fs.statSync(B);if(!J||J.test(B))$.push(d1.normalize(B)+(H.isDirectory()?Y.sep:""));if(H.isDirectory()&&W)$=$.concat(X(B,J,W))}),$}return X(D,void 0,!0)};_1.prototype.findFilesAsync=function(D,Y){let X=this,Q=[];X.fs.readdir(D,function(J,W){if(J)return Y(J);let $=W.length;if(!$)return Y(null,Q);W.forEach(function(G){G=d1.join(D,G),X.fs.stat(G,function(B,H){if(B)return Y(B);if(H){if(Q.push(d1.normalize(G)+(H.isDirectory()?X.sep:"")),H.isDirectory())X.findFilesAsync(G,function(F,K){if(F)return Y(F);if(Q=Q.concat(K),!--$)Y(null,Q)});else if(!--$)Y(null,Q)}})})})};_1.prototype.getAttributes=function(){};_1.prototype.setAttributes=function(){};_1.crc32update=function(D,Y){return GL[(D^Y)&255]^D>>>8};_1.crc32=function(D){if(typeof D==="string")D=Buffer.from(D,"utf8");let Y=D.length,X=-1;for(let Q=0;Q<Y;)X=_1.crc32update(X,D[Q++]);return~X>>>0};_1.methodToString=function(D){switch(D){case WL.STORED:return"STORED ("+D+")";case WL.DEFLATED:return"DEFLATED ("+D+")";default:return"UNSUPPORTED ("+D+")"}};_1.canonical=function(D){if(!D)return"";let Y=d1.posix.normalize("/"+D.split("\\").join("/"));return d1.join(".",Y)};_1.zipnamefix=function(D){if(!D)return"";let Y=d1.posix.normalize("/"+D.split("\\").join("/"));return d1.posix.join(".",Y)};_1.findLast=function(D,Y){if(!Array.isArray(D))throw TypeError("arr is not array");let X=D.length>>>0;for(let Q=X-1;Q>=0;Q--)if(Y(D[Q],Q,D))return D[Q];return};_1.sanitize=function(D,Y){D=d1.resolve(d1.normalize(D));var X=Y.split("/");for(var Q=0,J=X.length;Q<J;Q++){var W=d1.normalize(d1.join(D,X.slice(Q,J).join(d1.sep)));if(W.indexOf(D)===0)return W}return d1.normalize(d1.join(D,d1.basename(Y)))};_1.toBuffer=function(Y,X){if(Buffer.isBuffer(Y))return Y;else if(Y instanceof Uint8Array)return Buffer.from(Y);else return typeof Y==="string"?X(Y):Buffer.alloc(0)};_1.readBigUInt64LE=function(D,Y){var X=Buffer.from(D.slice(Y,Y+8));return X.swap64(),parseInt(`0x${X.toString("hex")}`)};_1.fromDOS2Date=function(D){return new Date((D>>25&127)+1980,Math.max((D>>21&15)-1,0),Math.max(D>>16&31,1),D>>11&31,D>>5&63,(D&31)<<1)};_1.fromDate2DOS=function(D){let Y=0,X=0;if(D.getFullYear()>1979)Y=(D.getFullYear()-1980&127)<<9|D.getMonth()+1<<5|D.getDate(),X=D.getHours()<<11|D.getMinutes()<<5|D.getSeconds()>>1;return Y<<16|X};_1.isWin=Zm;_1.crcTable=GL});var qL=T((Qw0,FL)=>{var Am=a("path");FL.exports=function(D,{fs:Y}){var X=D||"",Q=W(),J=null;function W(){return{directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0}}if(X&&Y.existsSync(X))J=Y.statSync(X),Q.directory=J.isDirectory(),Q.mtime=J.mtime,Q.atime=J.atime,Q.executable=(73&J.mode)!==0,Q.readonly=(128&J.mode)===0,Q.hidden=Am.basename(X)[0]===".";else console.warn("Invalid path: "+X);return{get directory(){return Q.directory},get readOnly(){return Q.readonly},get hidden(){return Q.hidden},get mtime(){return Q.mtime},get atime(){return Q.atime},get executable(){return Q.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:X,isDirectory:Q.directory,isReadOnly:Q.readonly,isHidden:Q.hidden,isExecutable:Q.executable,mTime:Q.mtime,aTime:Q.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var zL=T((Jw0,KL)=>{KL.exports={efs:!0,encode:(D)=>Buffer.from(D,"utf8"),decode:(D)=>D.toString("utf8")}});var h5=T((Ww0,f5)=>{f5.exports=HL();f5.exports.Constants=kG();f5.exports.Errors=mX();f5.exports.FileAttr=qL();f5.exports.decoder=zL()});var wL=T(($w0,UL)=>{var c9=h5(),Q0=c9.Constants;UL.exports=function(){var D=20,Y=10,X=0,Q=0,J=0,W=0,$=0,G=0,B=0,H=0,F=0,K=0,U=0,z=0,w=0;D|=c9.isWin?2560:768,X|=Q0.FLG_EFS;let V={extraLen:0},L=(M)=>Math.max(0,M)>>>0,O=(M)=>Math.max(0,M)&65535,Z=(M)=>Math.max(0,M)&255;return J=c9.fromDate2DOS(new Date),{get made(){return D},set made(M){D=M},get version(){return Y},set version(M){Y=M},get flags(){return X},set flags(M){X=M},get flags_efs(){return(X&Q0.FLG_EFS)>0},set flags_efs(M){if(M)X|=Q0.FLG_EFS;else X&=~Q0.FLG_EFS},get flags_desc(){return(X&Q0.FLG_DESC)>0},set flags_desc(M){if(M)X|=Q0.FLG_DESC;else X&=~Q0.FLG_DESC},get method(){return Q},set method(M){switch(M){case Q0.STORED:this.version=10;case Q0.DEFLATED:default:this.version=20}Q=M},get time(){return c9.fromDOS2Date(this.timeval)},set time(M){this.timeval=c9.fromDate2DOS(M)},get timeval(){return J},set timeval(M){J=L(M)},get timeHighByte(){return Z(J>>>8)},get crc(){return W},set crc(M){W=L(M)},get compressedSize(){return $},set compressedSize(M){$=L(M)},get size(){return G},set size(M){G=L(M)},get fileNameLength(){return B},set fileNameLength(M){B=M},get extraLength(){return H},set extraLength(M){H=M},get extraLocalLength(){return V.extraLen},set extraLocalLength(M){V.extraLen=M},get commentLength(){return F},set commentLength(M){F=M},get diskNumStart(){return K},set diskNumStart(M){K=L(M)},get inAttr(){return U},set inAttr(M){U=L(M)},get attr(){return z},set attr(M){z=L(M)},get fileAttr(){return(z||0)>>16&4095},get offset(){return w},set offset(M){w=L(M)},get encrypted(){return(X&Q0.FLG_ENC)===Q0.FLG_ENC},get centralHeaderSize(){return Q0.CENHDR+B+H+F},get realDataOffset(){return w+Q0.LOCHDR+V.fnameLen+V.extraLen},get localHeader(){return V},loadLocalHeaderFromBinary:function(M){var E=M.slice(w,w+Q0.LOCHDR);if(E.readUInt32LE(0)!==Q0.LOCSIG)throw c9.Errors.INVALID_LOC();V.version=E.readUInt16LE(Q0.LOCVER),V.flags=E.readUInt16LE(Q0.LOCFLG),V.method=E.readUInt16LE(Q0.LOCHOW),V.time=E.readUInt32LE(Q0.LOCTIM),V.crc=E.readUInt32LE(Q0.LOCCRC),V.compressedSize=E.readUInt32LE(Q0.LOCSIZ),V.size=E.readUInt32LE(Q0.LOCLEN),V.fnameLen=E.readUInt16LE(Q0.LOCNAM),V.extraLen=E.readUInt16LE(Q0.LOCEXT);let j=w+Q0.LOCHDR+V.fnameLen,I=j+V.extraLen;return M.slice(j,I)},loadFromBinary:function(M){if(M.length!==Q0.CENHDR||M.readUInt32LE(0)!==Q0.CENSIG)throw c9.Errors.INVALID_CEN();D=M.readUInt16LE(Q0.CENVEM),Y=M.readUInt16LE(Q0.CENVER),X=M.readUInt16LE(Q0.CENFLG),Q=M.readUInt16LE(Q0.CENHOW),J=M.readUInt32LE(Q0.CENTIM),W=M.readUInt32LE(Q0.CENCRC),$=M.readUInt32LE(Q0.CENSIZ),G=M.readUInt32LE(Q0.CENLEN),B=M.readUInt16LE(Q0.CENNAM),H=M.readUInt16LE(Q0.CENEXT),F=M.readUInt16LE(Q0.CENCOM),K=M.readUInt16LE(Q0.CENDSK),U=M.readUInt16LE(Q0.CENATT),z=M.readUInt32LE(Q0.CENATX),w=M.readUInt32LE(Q0.CENOFF)},localHeaderToBinary:function(){var M=Buffer.alloc(Q0.LOCHDR);return M.writeUInt32LE(Q0.LOCSIG,0),M.writeUInt16LE(Y,Q0.LOCVER),M.writeUInt16LE(X,Q0.LOCFLG),M.writeUInt16LE(Q,Q0.LOCHOW),M.writeUInt32LE(J,Q0.LOCTIM),M.writeUInt32LE(W,Q0.LOCCRC),M.writeUInt32LE($,Q0.LOCSIZ),M.writeUInt32LE(G,Q0.LOCLEN),M.writeUInt16LE(B,Q0.LOCNAM),M.writeUInt16LE(V.extraLen,Q0.LOCEXT),M},centralHeaderToBinary:function(){var M=Buffer.alloc(Q0.CENHDR+B+H+F);return M.writeUInt32LE(Q0.CENSIG,0),M.writeUInt16LE(D,Q0.CENVEM),M.writeUInt16LE(Y,Q0.CENVER),M.writeUInt16LE(X,Q0.CENFLG),M.writeUInt16LE(Q,Q0.CENHOW),M.writeUInt32LE(J,Q0.CENTIM),M.writeUInt32LE(W,Q0.CENCRC),M.writeUInt32LE($,Q0.CENSIZ),M.writeUInt32LE(G,Q0.CENLEN),M.writeUInt16LE(B,Q0.CENNAM),M.writeUInt16LE(H,Q0.CENEXT),M.writeUInt16LE(F,Q0.CENCOM),M.writeUInt16LE(K,Q0.CENDSK),M.writeUInt16LE(U,Q0.CENATT),M.writeUInt32LE(z,Q0.CENATX),M.writeUInt32LE(w,Q0.CENOFF),M},toJSON:function(){let M=function(E){return E+" bytes"};return{made:D,version:Y,flags:X,method:c9.methodToString(Q),time:this.time,crc:"0x"+W.toString(16).toUpperCase(),compressedSize:M($),size:M(G),fileNameLength:M(B),extraLength:M(H),commentLength:M(F),diskNumStart:K,inAttr:U,attr:z,offset:w,centralHeaderSize:M(Q0.CENHDR+B+H+F)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var LL=T((Gw0,VL)=>{var g5=h5(),R1=g5.Constants;VL.exports=function(){var D=0,Y=0,X=0,Q=0,J=0;return{get diskEntries(){return D},set diskEntries(W){D=Y=W},get totalEntries(){return Y},set totalEntries(W){Y=D=W},get size(){return X},set size(W){X=W},get offset(){return Q},set offset(W){Q=W},get commentLength(){return J},set commentLength(W){J=W},get mainHeaderSize(){return R1.ENDHDR+J},loadFromBinary:function(W){if((W.length!==R1.ENDHDR||W.readUInt32LE(0)!==R1.ENDSIG)&&(W.length<R1.ZIP64HDR||W.readUInt32LE(0)!==R1.ZIP64SIG))throw g5.Errors.INVALID_END();if(W.readUInt32LE(0)===R1.ENDSIG)D=W.readUInt16LE(R1.ENDSUB),Y=W.readUInt16LE(R1.ENDTOT),X=W.readUInt32LE(R1.ENDSIZ),Q=W.readUInt32LE(R1.ENDOFF),J=W.readUInt16LE(R1.ENDCOM);else D=g5.readBigUInt64LE(W,R1.ZIP64SUB),Y=g5.readBigUInt64LE(W,R1.ZIP64TOT),X=g5.readBigUInt64LE(W,R1.ZIP64SIZE),Q=g5.readBigUInt64LE(W,R1.ZIP64OFF),J=0},toBinary:function(){var W=Buffer.alloc(R1.ENDHDR+J);return W.writeUInt32LE(R1.ENDSIG,0),W.writeUInt32LE(0,4),W.writeUInt16LE(D,R1.ENDSUB),W.writeUInt16LE(Y,R1.ENDTOT),W.writeUInt32LE(X,R1.ENDSIZ),W.writeUInt32LE(Q,R1.ENDOFF),W.writeUInt16LE(J,R1.ENDCOM),W.fill(" ",R1.ENDHDR),W},toJSON:function(){let W=function($,G){let B=$.toString(16).toUpperCase();while(B.length<G)B="0"+B;return"0x"+B};return{diskEntries:D,totalEntries:Y,size:X+" bytes",offset:W(Q,4),commentLength:J}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var vG=T((Em)=>{Em.EntryHeader=wL();Em.MainHeader=LL()});var OL=T((Hw0,ML)=>{ML.exports=function(D){var Y=a("zlib"),X={chunkSize:(parseInt(D.length/1024)+1)*1024};return{deflate:function(){return Y.deflateRawSync(D,X)},deflateAsync:function(Q){var J=Y.createDeflateRaw(X),W=[],$=0;J.on("data",function(G){W.push(G),$+=G.length}),J.on("end",function(){var G=Buffer.alloc($),B=0;G.fill(0);for(var H=0;H<W.length;H++){var F=W[H];F.copy(G,B),B+=F.length}Q&&Q(G)}),J.end(D)}}}});var ZL=T((Fw0,NL)=>{var Tm=+(process.versions?process.versions.node:"").split(".")[0]||0;NL.exports=function(D,Y){var X=a("zlib");let Q=Tm>=15&&Y>0?{maxOutputLength:Y}:{};return{inflate:function(){return X.inflateRawSync(D,Q)},inflateAsync:function(J){var W=X.createInflateRaw(Q),$=[],G=0;W.on("data",function(B){$.push(B),G+=B.length}),W.on("end",function(){var B=Buffer.alloc(G),H=0;B.fill(0);for(var F=0;F<$.length;F++){var K=$[F];K.copy(B,H),H+=K.length}J&&J(B)}),W.end(D)}}}});var TL=T((qw0,jL)=>{var{randomFillSync:AL}=a("crypto"),Sm=mX(),Pm=new Uint32Array(256).map((D,Y)=>{for(let X=0;X<8;X++)if((Y&1)!==0)Y=Y>>>1^3988292384;else Y>>>=1;return Y>>>0}),RL=(D,Y)=>Math.imul(D,Y)>>>0,EL=(D,Y)=>{return Pm[(D^Y)&255]^D>>>8},t7=()=>{if(typeof AL==="function")return AL(Buffer.alloc(12));else return t7.node()};t7.node=()=>{let D=Buffer.alloc(12),Y=D.length;for(let X=0;X<Y;X++)D[X]=Math.random()*256&255;return D};var cX={genSalt:t7};function lX(D){let Y=Buffer.isBuffer(D)?D:Buffer.from(D);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let X=0;X<Y.length;X++)this.updateKeys(Y[X])}lX.prototype.updateKeys=function(D){let Y=this.keys;return Y[0]=EL(Y[0],D),Y[1]+=Y[0]&255,Y[1]=RL(Y[1],134775813)+1,Y[2]=EL(Y[2],Y[1]>>>24),D};lX.prototype.next=function(){let D=(this.keys[2]|2)>>>0;return RL(D,D^1)>>8&255};function Im(D){let Y=new lX(D);return function(X){let Q=Buffer.alloc(X.length),J=0;for(let W of X)Q[J++]=Y.updateKeys(W^Y.next());return Q}}function Cm(D){let Y=new lX(D);return function(X,Q,J=0){if(!Q)Q=Buffer.alloc(X.length);for(let W of X){let $=Y.next();Q[J++]=W^$,Y.updateKeys(W)}return Q}}function xm(D,Y,X){if(!D||!Buffer.isBuffer(D)||D.length<12)return Buffer.alloc(0);let Q=Im(X),J=Q(D.slice(0,12)),W=(Y.flags&8)===8?Y.timeHighByte:Y.crc>>>24;if(J[11]!==W)throw Sm.WRONG_PASSWORD();return Q(D.slice(12))}function _m(D){if(Buffer.isBuffer(D)&&D.length>=12)cX.genSalt=function(){return D.slice(0,12)};else if(D==="node")cX.genSalt=t7.node;else cX.genSalt=t7}function bm(D,Y,X,Q=!1){if(D==null)D=Buffer.alloc(0);if(!Buffer.isBuffer(D))D=Buffer.from(D.toString());let J=Cm(X),W=cX.genSalt();if(W[11]=Y.crc>>>24&255,Q)W[10]=Y.crc>>>16&255;let $=Buffer.alloc(D.length+12);return J(W,$),J(D,$,12)}jL.exports={decrypt:xm,encrypt:bm,_salter:_m}});var SL=T((km)=>{km.Deflater=OL();km.Inflater=ZL();km.ZipCrypto=TL()});var fG=T((zw0,PL)=>{var o0=h5(),hm=vG(),b1=o0.Constants,yG=SL();PL.exports=function(D,Y){var X=new hm.EntryHeader,Q=Buffer.alloc(0),J=Buffer.alloc(0),W=!1,$=null,G=Buffer.alloc(0),B=Buffer.alloc(0),H=!0;let F=D,K=typeof F.decoder==="object"?F.decoder:o0.decoder;H=K.hasOwnProperty("efs")?K.efs:!1;function U(){if(!Y||!(Y instanceof Uint8Array))return Buffer.alloc(0);return B=X.loadLocalHeaderFromBinary(Y),Y.slice(X.realDataOffset,X.realDataOffset+X.compressedSize)}function z(M){if(!X.flags_desc){if(o0.crc32(M)!==X.localHeader.crc)return!1}else{let E={},j=X.realDataOffset+X.compressedSize;if(Y.readUInt32LE(j)==b1.LOCSIG||Y.readUInt32LE(j)==b1.CENSIG)throw o0.Errors.DESCRIPTOR_NOT_EXIST();if(Y.readUInt32LE(j)==b1.EXTSIG)E.crc=Y.readUInt32LE(j+b1.EXTCRC),E.compressedSize=Y.readUInt32LE(j+b1.EXTSIZ),E.size=Y.readUInt32LE(j+b1.EXTLEN);else if(Y.readUInt16LE(j+12)===19280)E.crc=Y.readUInt32LE(j+b1.EXTCRC-4),E.compressedSize=Y.readUInt32LE(j+b1.EXTSIZ-4),E.size=Y.readUInt32LE(j+b1.EXTLEN-4);else throw o0.Errors.DESCRIPTOR_UNKNOWN();if(E.compressedSize!==X.compressedSize||E.size!==X.size||E.crc!==X.crc)throw o0.Errors.DESCRIPTOR_FAULTY();if(o0.crc32(M)!==E.crc)return!1}return!0}function w(M,E,j){if(typeof E>"u"&&typeof M==="string")j=M,M=void 0;if(W){if(M&&E)E(Buffer.alloc(0),o0.Errors.DIRECTORY_CONTENT_ERROR());return Buffer.alloc(0)}var I=U();if(I.length===0){if(M&&E)E(I);return I}if(X.encrypted){if(typeof j!=="string"&&!Buffer.isBuffer(j))throw o0.Errors.INVALID_PASS_PARAM();I=yG.ZipCrypto.decrypt(I,X,j)}var x=Buffer.alloc(X.size);switch(X.method){case o0.Constants.STORED:if(I.copy(x),!z(x)){if(M&&E)E(x,o0.Errors.BAD_CRC());throw o0.Errors.BAD_CRC()}else{if(M&&E)E(x);return x}case o0.Constants.DEFLATED:var y=new yG.Inflater(I,X.size);if(!M){if(y.inflate(x).copy(x,0),!z(x))throw o0.Errors.BAD_CRC(`"${K.decode(Q)}"`);return x}else y.inflateAsync(function(C){if(C.copy(C,0),E)if(!z(C))E(C,o0.Errors.BAD_CRC());else E(C)});break;default:if(M&&E)E(Buffer.alloc(0),o0.Errors.UNKNOWN_METHOD());throw o0.Errors.UNKNOWN_METHOD()}}function V(M,E){if((!$||!$.length)&&Buffer.isBuffer(Y)){if(M&&E)E(U());return U()}if($.length&&!W){var j;switch(X.method){case o0.Constants.STORED:if(X.compressedSize=X.size,j=Buffer.alloc($.length),$.copy(j),M&&E)E(j);return j;default:case o0.Constants.DEFLATED:var I=new yG.Deflater($);if(!M){var x=I.deflate();return X.compressedSize=x.length,x}else I.deflateAsync(function(y){j=Buffer.alloc(y.length),X.compressedSize=y.length,y.copy(j),E&&E(j)});I=null;break}}else if(M&&E)E(Buffer.alloc(0));else return Buffer.alloc(0)}function L(M,E){return(M.readUInt32LE(E+4)<<4)+M.readUInt32LE(E)}function O(M){try{var E=0,j,I,x;while(E+4<M.length)if(j=M.readUInt16LE(E),E+=2,I=M.readUInt16LE(E),E+=2,x=M.slice(E,E+I),E+=I,b1.ID_ZIP64===j)Z(x)}catch(y){throw o0.Errors.EXTRA_FIELD_PARSE_ERROR()}}function Z(M){var E,j,I,x;if(M.length>=b1.EF_ZIP64_SCOMP){if(E=L(M,b1.EF_ZIP64_SUNCOMP),X.size===b1.EF_ZIP64_OR_32)X.size=E}if(M.length>=b1.EF_ZIP64_RHO){if(j=L(M,b1.EF_ZIP64_SCOMP),X.compressedSize===b1.EF_ZIP64_OR_32)X.compressedSize=j}if(M.length>=b1.EF_ZIP64_DSN){if(I=L(M,b1.EF_ZIP64_RHO),X.offset===b1.EF_ZIP64_OR_32)X.offset=I}if(M.length>=b1.EF_ZIP64_DSN+4){if(x=M.readUInt32LE(b1.EF_ZIP64_DSN),X.diskNumStart===b1.EF_ZIP64_OR_16)X.diskNumStart=x}}return{get entryName(){return K.decode(Q)},get rawEntryName(){return Q},set entryName(M){Q=o0.toBuffer(M,K.encode);var E=Q[Q.length-1];W=E===47||E===92,X.fileNameLength=Q.length},get efs(){if(typeof H==="function")return H(this.entryName);else return H},get extra(){return G},set extra(M){G=M,X.extraLength=M.length,O(M)},get comment(){return K.decode(J)},set comment(M){if(J=o0.toBuffer(M,K.encode),X.commentLength=J.length,J.length>65535)throw o0.Errors.COMMENT_TOO_LONG()},get name(){var M=K.decode(Q);return W?M.substr(M.length-1).split("/").pop():M.split("/").pop()},get isDirectory(){return W},getCompressedData:function(){return V(!1,null)},getCompressedDataAsync:function(M){V(!0,M)},setData:function(M){if($=o0.toBuffer(M,o0.decoder.encode),!W&&$.length)X.size=$.length,X.method=o0.Constants.DEFLATED,X.crc=o0.crc32(M),X.changed=!0;else X.method=o0.Constants.STORED},getData:function(M){if(X.changed)return $;else return w(!1,null,M)},getDataAsync:function(M,E){if(X.changed)M($);else w(!0,M,E)},set attr(M){X.attr=M},get attr(){return X.attr},set header(M){X.loadFromBinary(M)},get header(){return X},packCentralHeader:function(){X.flags_efs=this.efs,X.extraLength=G.length;var M=X.centralHeaderToBinary(),E=o0.Constants.CENHDR;return Q.copy(M,E),E+=Q.length,G.copy(M,E),E+=X.extraLength,J.copy(M,E),M},packLocalHeader:function(){let M=0;X.flags_efs=this.efs,X.extraLocalLength=B.length;let E=X.localHeaderToBinary(),j=Buffer.alloc(E.length+Q.length+X.extraLocalLength);return E.copy(j,M),M+=E.length,Q.copy(j,M),M+=Q.length,B.copy(j,M),M+=B.length,j},toJSON:function(){let M=function(E){return"<"+(E&&E.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:X.toJSON(),compressedData:M(Y),data:M($)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var xL=T((Uw0,CL)=>{var IL=fG(),gm=vG(),Y8=h5();CL.exports=function(D,Y){var X=[],Q={},J=Buffer.alloc(0),W=new gm.MainHeader,$=!1,G=null;let B=new Set,H=Y,{noSort:F,decoder:K}=H;if(D)w(H.readEntries);else $=!0;function U(){let L=new Set;for(let O of Object.keys(Q)){let Z=O.split("/");if(Z.pop(),!Z.length)continue;for(let M=0;M<Z.length;M++){let E=Z.slice(0,M+1).join("/")+"/";L.add(E)}}for(let O of L)if(!(O in Q)){let Z=new IL(H);Z.entryName=O,Z.attr=16,Z.temporary=!0,X.push(Z),Q[Z.entryName]=Z,B.add(Z)}}function z(){if($=!0,Q={},W.diskEntries>(D.length-W.offset)/Y8.Constants.CENHDR)throw Y8.Errors.DISK_ENTRY_TOO_LARGE();X=Array(W.diskEntries);var L=W.offset;for(var O=0;O<X.length;O++){var Z=L,M=new IL(H,D);if(M.header=D.slice(Z,Z+=Y8.Constants.CENHDR),M.entryName=D.slice(Z,Z+=M.header.fileNameLength),M.header.extraLength)M.extra=D.slice(Z,Z+=M.header.extraLength);if(M.header.commentLength)M.comment=D.slice(Z,Z+M.header.commentLength);L+=M.header.centralHeaderSize,X[O]=M,Q[M.entryName]=M}B.clear(),U()}function w(L){var O=D.length-Y8.Constants.ENDHDR,Z=Math.max(0,O-65535),M=Z,E=D.length,j=-1,I=0;if(typeof H.trailingSpace==="boolean"?H.trailingSpace:!1)Z=0;for(O;O>=M;O--){if(D[O]!==80)continue;if(D.readUInt32LE(O)===Y8.Constants.ENDSIG){j=O,I=O,E=O+Y8.Constants.ENDHDR,M=O-Y8.Constants.END64HDR;continue}if(D.readUInt32LE(O)===Y8.Constants.END64SIG){M=Z;continue}if(D.readUInt32LE(O)===Y8.Constants.ZIP64SIG){j=O,E=O+Y8.readBigUInt64LE(D,O+Y8.Constants.ZIP64SIZE)+Y8.Constants.ZIP64LEAD;break}}if(j==-1)throw Y8.Errors.INVALID_FORMAT();if(W.loadFromBinary(D.slice(j,E)),W.commentLength)J=D.slice(I+Y8.Constants.ENDHDR);if(L)z()}function V(){if(X.length>1&&!F)X.sort((L,O)=>L.entryName.toLowerCase().localeCompare(O.entryName.toLowerCase()))}return{get entries(){if(!$)z();return X.filter((L)=>!B.has(L))},get comment(){return K.decode(J)},set comment(L){J=Y8.toBuffer(L,K.encode),W.commentLength=J.length},getEntryCount:function(){if(!$)return W.diskEntries;return X.length},forEach:function(L){this.entries.forEach(L)},getEntry:function(L){if(!$)z();return Q[L]||null},setEntry:function(L){if(!$)z();X.push(L),Q[L.entryName]=L,W.totalEntries=X.length},deleteFile:function(L,O=!0){if(!$)z();let Z=Q[L];this.getEntryChildren(Z,O).map((E)=>E.entryName).forEach(this.deleteEntry)},deleteEntry:function(L){if(!$)z();let O=Q[L],Z=X.indexOf(O);if(Z>=0)X.splice(Z,1),delete Q[L],W.totalEntries=X.length},getEntryChildren:function(L,O=!0){if(!$)z();if(typeof L==="object")if(L.isDirectory&&O){let Z=[],M=L.entryName;for(let E of X)if(E.entryName.startsWith(M))Z.push(E);return Z}else return[L];return[]},getChildCount:function(L){if(L&&L.isDirectory){let O=this.getEntryChildren(L);return O.includes(L)?O.length-1:O.length}return 0},compressToBuffer:function(){if(!$)z();V();let L=[],O=[],Z=0,M=0;W.size=0,W.offset=0;let E=0;for(let x of this.entries){let y=x.getCompressedData();x.header.offset=M;let C=x.packLocalHeader(),c=C.length+y.length;M+=c,L.push(C),L.push(y);let S=x.packCentralHeader();O.push(S),W.size+=S.length,Z+=c+S.length,E++}Z+=W.mainHeaderSize,W.offset=M,W.totalEntries=E,M=0;let j=Buffer.alloc(Z);for(let x of L)x.copy(j,M),M+=x.length;for(let x of O)x.copy(j,M),M+=x.length;let I=W.toBinary();if(J)J.copy(I,Y8.Constants.ENDHDR);return I.copy(j,M),D=j,$=!1,j},toAsyncBuffer:function(L,O,Z,M){try{if(!$)z();V();let E=[],j=[],I=0,x=0,y=0;W.size=0,W.offset=0;let C=function(c){if(c.length>0){let S=c.shift(),p=S.entryName+S.extra.toString();if(Z)Z(p);S.getCompressedDataAsync(function(u){if(M)M(p);S.header.offset=x;let J0=S.packLocalHeader(),_=J0.length+u.length;x+=_,E.push(J0),E.push(u);let N=S.packCentralHeader();j.push(N),W.size+=N.length,I+=_+N.length,y++,C(c)})}else{I+=W.mainHeaderSize,W.offset=x,W.totalEntries=y,x=0;let S=Buffer.alloc(I);E.forEach(function(u){u.copy(S,x),x+=u.length}),j.forEach(function(u){u.copy(S,x),x+=u.length});let p=W.toBinary();if(J)J.copy(p,Y8.Constants.ENDHDR);p.copy(S,x),D=S,$=!1,L(S)}};C(Array.from(this.entries))}catch(E){O(E)}}}}});var hG=T((ww0,bL)=>{var j1=h5(),k1=a("path"),um=fG(),mm=xL(),PD=(...D)=>j1.findLast(D,(Y)=>typeof Y==="boolean"),_L=(...D)=>j1.findLast(D,(Y)=>typeof Y==="string"),cm=(...D)=>j1.findLast(D,(Y)=>typeof Y==="function"),lm={noSort:!1,readEntries:!1,method:j1.Constants.NONE,fs:null};bL.exports=function(D,Y){let X=null,Q=Object.assign(Object.create(null),lm);if(D&&typeof D==="object"){if(!(D instanceof Uint8Array)){if(Object.assign(Q,D),D=Q.input?Q.input:void 0,Q.input)delete Q.input}if(Buffer.isBuffer(D))X=D,Q.method=j1.Constants.BUFFER,D=void 0}Object.assign(Q,Y);let J=new j1(Q);if(typeof Q.decoder!=="object"||typeof Q.decoder.encode!=="function"||typeof Q.decoder.decode!=="function")Q.decoder=j1.decoder;if(D&&typeof D==="string")if(J.fs.existsSync(D))Q.method=j1.Constants.FILE,Q.filename=D,X=J.fs.readFileSync(D);else throw j1.Errors.INVALID_FILENAME();let W=new mm(X,Q),{canonical:$,sanitize:G,zipnamefix:B}=j1;function H(z){if(z&&W){var w;if(typeof z==="string")w=W.getEntry(k1.posix.normalize(z));if(typeof z==="object"&&typeof z.entryName<"u"&&typeof z.header<"u")w=W.getEntry(z.entryName);if(w)return w}return null}function F(z){let{join:w,normalize:V,sep:L}=k1.posix;return w(".",V(L+z.split("\\").join(L)+L))}function K(z){if(z instanceof RegExp)return function(w){return function(V){return w.test(V)}}(z);else if(typeof z!=="function")return()=>!0;return z}let U=(z,w)=>{let V=w.slice(-1);return V=V===J.sep?J.sep:"",k1.relative(z,w)+V};return{readFile:function(z,w){var V=H(z);return V&&V.getData(w)||null},childCount:function(z){let w=H(z);if(w)return W.getChildCount(w)},readFileAsync:function(z,w){var V=H(z);if(V)V.getDataAsync(w);else w(null,"getEntry failed for:"+z)},readAsText:function(z,w){var V=H(z);if(V){var L=V.getData();if(L&&L.length)return L.toString(w||"utf8")}return""},readAsTextAsync:function(z,w,V){var L=H(z);if(L)L.getDataAsync(function(O,Z){if(Z){w(O,Z);return}if(O&&O.length)w(O.toString(V||"utf8"));else w("")});else w("")},deleteFile:function(z,w=!0){var V=H(z);if(V)W.deleteFile(V.entryName,w)},deleteEntry:function(z){var w=H(z);if(w)W.deleteEntry(w.entryName)},addZipComment:function(z){W.comment=z},getZipComment:function(){return W.comment||""},addZipEntryComment:function(z,w){var V=H(z);if(V)V.comment=w},getZipEntryComment:function(z){var w=H(z);if(w)return w.comment||"";return""},updateFile:function(z,w){var V=H(z);if(V)V.setData(w)},addLocalFile:function(z,w,V,L){if(J.fs.existsSync(z)){w=w?F(w):"";let O=k1.win32.basename(k1.win32.normalize(z));w+=V?V:O;let Z=J.fs.statSync(z),M=Z.isFile()?J.fs.readFileSync(z):Buffer.alloc(0);if(Z.isDirectory())w+=J.sep;this.addFile(w,M,L,Z)}else throw j1.Errors.FILE_NOT_FOUND(z)},addLocalFileAsync:function(z,w){z=typeof z==="object"?z:{localPath:z};let V=k1.resolve(z.localPath),{comment:L}=z,{zipPath:O,zipName:Z}=z,M=this;J.fs.stat(V,function(E,j){if(E)return w(E,!1);O=O?F(O):"";let I=k1.win32.basename(k1.win32.normalize(V));if(O+=Z?Z:I,j.isFile())J.fs.readFile(V,function(x,y){if(x)return w(x,!1);return M.addFile(O,y,L,j),setImmediate(w,void 0,!0)});else if(j.isDirectory())return O+=J.sep,M.addFile(O,Buffer.alloc(0),L,j),setImmediate(w,void 0,!0)})},addLocalFolder:function(z,w,V){if(V=K(V),w=w?F(w):"",z=k1.normalize(z),J.fs.existsSync(z)){let L=J.findFiles(z),O=this;if(L.length)for(let Z of L){let M=k1.join(w,U(z,Z));if(V(M))O.addLocalFile(Z,k1.dirname(M))}}else throw j1.Errors.FILE_NOT_FOUND(z)},addLocalFolderAsync:function(z,w,V,L){L=K(L),V=V?F(V):"",z=k1.normalize(z);var O=this;J.fs.open(z,"r",function(Z){if(Z&&Z.code==="ENOENT")w(void 0,j1.Errors.FILE_NOT_FOUND(z));else if(Z)w(void 0,Z);else{var M=J.findFiles(z),E=-1,j=function(){if(E+=1,E<M.length){var I=M[E],x=U(z,I).split("\\").join("/");if(x=x.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),L(x))J.fs.stat(I,function(y,C){if(y)w(void 0,y);if(C.isFile())J.fs.readFile(I,function(c,S){if(c)w(void 0,c);else O.addFile(V+x,S,"",C),j()});else O.addFile(V+x+"/",Buffer.alloc(0),"",C),j()});else process.nextTick(()=>{j()})}else w(!0,void 0)};j()}})},addLocalFolderAsync2:function(z,w){let V=this;z=typeof z==="object"?z:{localPath:z},localPath=k1.resolve(F(z.localPath));let{zipPath:L,filter:O,namefix:Z}=z;if(O instanceof RegExp)O=function(j){return function(I){return j.test(I)}}(O);else if(typeof O!=="function")O=function(){return!0};if(L=L?F(L):"",Z=="latin1")Z=(j)=>j.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"");if(typeof Z!=="function")Z=(j)=>j;let M=(j)=>k1.join(L,Z(U(localPath,j))),E=(j)=>k1.win32.basename(k1.win32.normalize(Z(j)));J.fs.open(localPath,"r",function(j){if(j&&j.code==="ENOENT")w(void 0,j1.Errors.FILE_NOT_FOUND(localPath));else if(j)w(void 0,j);else J.findFilesAsync(localPath,function(I,x){if(I)return w(I);if(x=x.filter((y)=>O(M(y))),!x.length)w(void 0,!1);setImmediate(x.reverse().reduce(function(y,C){return function(c,S){if(c||S===!1)return setImmediate(y,c,!1);V.addLocalFileAsync({localPath:C,zipPath:k1.dirname(M(C)),zipName:E(C)},y)}},w))})})},addLocalFolderPromise:function(z,w){return new Promise((V,L)=>{this.addLocalFolderAsync2(Object.assign({localPath:z},w),(O,Z)=>{if(O)L(O);if(Z)V(this)})})},addFile:function(z,w,V,L){z=B(z);let O=H(z),Z=O!=null;if(!Z)O=new um(Q),O.entryName=z;O.comment=V||"";let M=typeof L==="object"&&L instanceof J.fs.Stats;if(M)O.header.time=L.mtime;var E=O.isDirectory?16:0;let j=O.isDirectory?16384:32768;if(M)j|=4095&L.mode;else if(typeof L==="number")j|=4095&L;else j|=O.isDirectory?493:420;if(E=(E|j<<16)>>>0,O.attr=E,O.setData(w),!Z)W.setEntry(O);return O},getEntries:function(z){return W.password=z,W?W.entries:[]},getEntry:function(z){return H(z)},getEntryCount:function(){return W.getEntryCount()},forEach:function(z){return W.forEach(z)},extractEntryTo:function(z,w,V,L,O,Z){L=PD(!1,L),O=PD(!1,O),V=PD(!0,V),Z=_L(O,Z);var M=H(z);if(!M)throw j1.Errors.NO_ENTRY();var E=$(M.entryName),j=G(w,Z&&!M.isDirectory?Z:V?E:k1.basename(E));if(M.isDirectory){var I=W.getEntryChildren(M);return I.forEach(function(C){if(C.isDirectory)return;var c=C.getData();if(!c)throw j1.Errors.CANT_EXTRACT_FILE();var S=$(C.entryName),p=G(w,V?S:k1.basename(S));let u=O?C.header.fileAttr:void 0;J.writeFileTo(p,c,L,u)}),!0}var x=M.getData(W.password);if(!x)throw j1.Errors.CANT_EXTRACT_FILE();if(J.fs.existsSync(j)&&!L)throw j1.Errors.CANT_OVERRIDE();let y=O?z.header.fileAttr:void 0;return J.writeFileTo(j,x,L,y),!0},test:function(z){if(!W)return!1;for(var w in W.entries)try{if(w.isDirectory)continue;var V=W.entries[w].getData(z);if(!V)return!1}catch(L){return!1}return!0},extractAllTo:function(z,w,V,L){if(V=PD(!1,V),L=_L(V,L),w=PD(!1,w),!W)throw j1.Errors.NO_ZIP();W.entries.forEach(function(O){var Z=G(z,$(O.entryName));if(O.isDirectory){J.makeDir(Z);return}var M=O.getData(L);if(!M)throw j1.Errors.CANT_EXTRACT_FILE();let E=V?O.header.fileAttr:void 0;J.writeFileTo(Z,M,w,E);try{J.fs.utimesSync(Z,O.header.time,O.header.time)}catch(j){throw j1.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(z,w,V,L){if(L=cm(w,V,L),V=PD(!1,V),w=PD(!1,w),!L)return new Promise((j,I)=>{this.extractAllToAsync(z,w,V,function(x){if(x)I(x);else j(this)})});if(!W){L(j1.Errors.NO_ZIP());return}z=k1.resolve(z);let O=(j)=>G(z,k1.normalize($(j.entryName))),Z=(j,I)=>Error(j+': "'+I+'"'),M=[],E=[];W.entries.forEach((j)=>{if(j.isDirectory)M.push(j);else E.push(j)});for(let j of M){let I=O(j),x=V?j.header.fileAttr:void 0;try{if(J.makeDir(I),x)J.fs.chmodSync(I,x);J.fs.utimesSync(I,j.header.time,j.header.time)}catch(y){L(Z("Unable to create folder",I))}}E.reverse().reduce(function(j,I){return function(x){if(x)j(x);else{let y=k1.normalize($(I.entryName)),C=G(z,y);I.getDataAsync(function(c,S){if(S)j(S);else if(!c)j(j1.Errors.CANT_EXTRACT_FILE());else{let p=V?I.header.fileAttr:void 0;J.writeFileToAsync(C,c,w,p,function(u){if(!u)j(Z("Unable to write file",C));J.fs.utimes(C,I.header.time,I.header.time,function(J0){if(J0)j(Z("Unable to set times",C));else j()})})}})}}},L)()},writeZip:function(z,w){if(arguments.length===1){if(typeof z==="function")w=z,z=""}if(!z&&Q.filename)z=Q.filename;if(!z)return;var V=W.compressToBuffer();if(V){var L=J.writeFileTo(z,V,!0);if(typeof w==="function")w(!L?Error("failed"):null,"")}},writeZipPromise:function(z,w){let{overwrite:V,perm:L}=Object.assign({overwrite:!0},w);return new Promise((O,Z)=>{if(!z&&Q.filename)z=Q.filename;if(!z)Z("ADM-ZIP: ZIP File Name Missing");this.toBufferPromise().then((M)=>{let E=(j)=>j?O(j):Z("ADM-ZIP: Wasn't able to write zip file");J.writeFileToAsync(z,M,V,L,E)},Z)})},toBufferPromise:function(){return new Promise((z,w)=>{W.toAsyncBuffer(z,w)})},toBuffer:function(z,w,V,L){if(typeof z==="function")return W.toAsyncBuffer(z,w,V,L),null;return W.compressToBuffer()}}}});var fL=T((Vw0,yL)=>{var vL={};yL.exports=vL;var kL={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(kL).forEach(function(D){var Y=kL[D],X=vL[D]=[];X.open="\x1B["+Y[0]+"m",X.close="\x1B["+Y[1]+"m"})});var gL=T((Lw0,hL)=>{hL.exports=function(D,Y){Y=Y||process.argv;var X=Y.indexOf("--"),Q=/^-{1,2}/.test(D)?"":"--",J=Y.indexOf(Q+D);return J!==-1&&(X===-1?!0:J<X)}});var mL=T((Mw0,uL)=>{var dm=a("os"),S6=gL(),R8=process.env,u5=void 0;if(S6("no-color")||S6("no-colors")||S6("color=false"))u5=!1;else if(S6("color")||S6("colors")||S6("color=true")||S6("color=always"))u5=!0;if("FORCE_COLOR"in R8)u5=R8.FORCE_COLOR.length===0||parseInt(R8.FORCE_COLOR,10)!==0;function pm(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function nm(D){if(u5===!1)return 0;if(S6("color=16m")||S6("color=full")||S6("color=truecolor"))return 3;if(S6("color=256"))return 2;if(D&&!D.isTTY&&u5!==!0)return 0;var Y=u5?1:0;if(process.platform==="win32"){var X=dm.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(X[0])>=10&&Number(X[2])>=10586)return Number(X[2])>=14931?3:2;return 1}if("CI"in R8){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(J){return J in R8})||R8.CI_NAME==="codeship")return 1;return Y}if("TEAMCITY_VERSION"in R8)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(R8.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in R8){var Q=parseInt((R8.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(R8.TERM_PROGRAM){case"iTerm.app":return Q>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(R8.TERM))return 2;if(/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(R8.TERM))return 1;if("COLORTERM"in R8)return 1;if(R8.TERM==="dumb")return Y;return Y}function gG(D){var Y=nm(D);return pm(Y)}uL.exports={supportsColor:gG,stdout:gG(process.stdout),stderr:gG(process.stderr)}});var lL=T((Ow0,cL)=>{cL.exports=function(Y,X){var Q="";Y=Y||"Run the trap, drop the bass",Y=Y.split("");var J={a:["@","Ą","Ⱥ","Ʌ","Δ","Λ","Д"],b:["ß","Ɓ","Ƀ","ɮ","β","฿"],c:["©","Ȼ","Ͼ"],d:["Ð","Ɗ","Ԁ","ԁ","Ԃ","ԃ"],e:["Ë","ĕ","Ǝ","ɘ","Σ","ξ","Ҽ","੬"],f:["Ӻ"],g:["ɢ"],h:["Ħ","ƕ","Ң","Һ","Ӈ","Ԋ"],i:["༏"],j:["Ĵ"],k:["ĸ","Ҡ","Ӄ","Ԟ"],l:["Ĺ"],m:["ʍ","Ӎ","ӎ","Ԡ","ԡ","൩"],n:["Ñ","ŋ","Ɲ","Ͷ","Π","Ҋ"],o:["Ø","õ","ø","Ǿ","ʘ","Ѻ","ם","","๏"],p:["Ƿ","Ҏ"],q:["্"],r:["®","Ʀ","Ȑ","Ɍ","ʀ","Я"],s:["§","Ϟ","ϟ","Ϩ"],t:["Ł","Ŧ","ͳ"],u:["Ʊ","Ս"],v:["ט"],w:["Ш","Ѡ","Ѽ","൰"],x:["Ҳ","Ӿ","Ӽ","ӽ"],y:["¥","Ұ","Ӌ"],z:["Ƶ","ɀ"]};return Y.forEach(function(W){W=W.toLowerCase();var $=J[W]||[" "],G=Math.floor(Math.random()*$.length);if(typeof J[W]<"u")Q+=J[W][G];else Q+=W}),Q}});var pL=T((Nw0,dL)=>{dL.exports=function(Y,X){Y=Y||" he is here ";var Q={up:["̍","̎","̄","̅","̿","̑","̆","̐","͒","͗","͑","̇","̈","̊","͂","̓","̈","͊","͋","͌","̃","̂","̌","͐","̀","́","̋","̏","̒","̓","̔","̽","̉","ͣ","ͤ","ͥ","ͦ","ͧ","ͨ","ͩ","ͪ","ͫ","ͬ","ͭ","ͮ","ͯ","̾","͛","͆","̚"],down:["̖","̗","̘","̙","̜","̝","̞","̟","̠","̤","̥","̦","̩","̪","̫","̬","̭","̮","̯","̰","̱","̲","̳","̹","̺","̻","̼","ͅ","͇","͈","͉","͍","͎","͓","͔","͕","͖","͙","͚","̣"],mid:["̕","̛","̀","́","͘","̡","̢","̧","̨","̴","̵","̶","͜","͝","͞","͟","͠","͢","̸","̷","͡"," ҉"]},J=[].concat(Q.up,Q.down,Q.mid);function W(B){var H=Math.floor(Math.random()*B);return H}function $(B){var H=!1;return J.filter(function(F){H=F===B}),H}function G(B,H){var F="",K,U;H=H||{},H.up=typeof H.up<"u"?H.up:!0,H.mid=typeof H.mid<"u"?H.mid:!0,H.down=typeof H.down<"u"?H.down:!0,H.size=typeof H.size<"u"?H.size:"maxi",B=B.split("");for(U in B){if($(U))continue;switch(F=F+B[U],K={up:0,down:0,mid:0},H.size){case"mini":K.up=W(8),K.mid=W(2),K.down=W(8);break;case"maxi":K.up=W(16)+3,K.mid=W(4)+1,K.down=W(64)+3;break;default:K.up=W(8)+1,K.mid=W(6)/2,K.down=W(8)+1;break}var z=["up","mid","down"];for(var w in z){var V=z[w];for(var L=0;L<=K[V];L++)if(H[V])F=F+Q[V][W(Q[V].length)]}}return F}return G(Y,X)}});var iL=T((Zw0,nL)=>{nL.exports=function(D){return function(Y,X,Q){if(Y===" ")return Y;switch(X%3){case 0:return D.red(Y);case 1:return D.white(Y);case 2:return D.blue(Y)}}}});var aL=T((Aw0,rL)=>{rL.exports=function(D){return function(Y,X,Q){return X%2===0?Y:D.inverse(Y)}}});var sL=T((Ew0,oL)=>{oL.exports=function(D){var Y=["red","yellow","green","blue","magenta"];return function(X,Q,J){if(X===" ")return X;else return D[Y[Q++%Y.length]](X)}}});var eL=T((Rw0,tL)=>{tL.exports=function(D){var Y=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta","brightYellow","brightRed","brightGreen","brightBlue","brightWhite","brightCyan","brightMagenta"];return function(X,Q,J){return X===" "?X:D[Y[Math.round(Math.random()*(Y.length-2))]](X)}}});var JM=T((Tw0,QM)=>{var v0={};QM.exports=v0;v0.themes={};var im=a("util"),ID=v0.styles=fL(),DM=Object.defineProperties,rm=new RegExp(/[\r\n]+/g);v0.supportsColor=mL().supportsColor;if(typeof v0.enabled>"u")v0.enabled=v0.supportsColor()!==!1;v0.enable=function(){v0.enabled=!0};v0.disable=function(){v0.enabled=!1};v0.stripColors=v0.strip=function(D){return(""+D).replace(/\x1B\[\d+m/g,"")};var jw0=v0.stylize=function(Y,X){if(!v0.enabled)return Y+"";var Q=ID[X];if(!Q&&X in v0)return v0[X](Y);return Q.open+Y+Q.close},am=/[|\\{}()[\]^$+*?.]/g,om=function(D){if(typeof D!=="string")throw TypeError("Expected a string");return D.replace(am,"\\$&")};function YM(D){var Y=function X(){return tm.apply(X,arguments)};return Y._styles=D,Y.__proto__=sm,Y}var XM=function(){var D={};return ID.grey=ID.gray,Object.keys(ID).forEach(function(Y){ID[Y].closeRe=new RegExp(om(ID[Y].close),"g"),D[Y]={get:function(){return YM(this._styles.concat(Y))}}}),D}(),sm=DM(function(){},XM);function tm(){var D=Array.prototype.slice.call(arguments),Y=D.map(function($){if($!=null&&$.constructor===String)return $;else return im.inspect($)}).join(" ");if(!v0.enabled||!Y)return Y;var X=Y.indexOf(`
|
|
28
28
|
`)!=-1,Q=this._styles,J=Q.length;while(J--){var W=ID[Q[J]];if(Y=W.open+Y.replace(W.closeRe,W.open)+W.close,X)Y=Y.replace(rm,function($){return W.close+$+W.open})}return Y}v0.setTheme=function(D){if(typeof D==="string"){console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));");return}for(var Y in D)(function(X){v0[X]=function(Q){if(typeof D[X]==="object"){var J=Q;for(var W in D[X])J=v0[D[X][W]](J);return J}return v0[D[X]](Q)}})(Y)};function em(){var D={};return Object.keys(XM).forEach(function(Y){D[Y]={get:function(){return YM([Y])}}}),D}var Dc=function(Y,X){var Q=X.split("");return Q=Q.map(Y),Q.join("")};v0.trap=lL();v0.zalgo=pL();v0.maps={};v0.maps.america=iL()(v0);v0.maps.zebra=aL()(v0);v0.maps.rainbow=sL()(v0);v0.maps.random=eL()(v0);for(uG in v0.maps)(function(D){v0[D]=function(Y){return Dc(v0.maps[D],Y)}})(uG);var uG;DM(v0,em())});var $M=T((Sw0,WM)=>{var Yc=JM();WM.exports=Yc});var GM=T((Xc)=>{Xc.indent=function(Y){return Array(Y+1).join(" ")};Xc.getMaxIndexLength=function(D){var Y=0;return Object.getOwnPropertyNames(D).forEach(function(X){if(D[X]===void 0)return;Y=Math.max(Y,X.length)}),Y}});var BM=T((Iw0,Wc)=>{Wc.exports={author:"Rafael de Oleza <rafeca@gmail.com> (https://github.com/rafeca)",name:"prettyjson",description:"Package for formatting JSON data in a coloured YAML-style, perfect for CLI output",version:"1.2.5",homepage:"http://rafeca.com/prettyjson",keywords:["json","cli","formatting","colors"],repository:{type:"git",url:"https://github.com/rafeca/prettyjson.git"},bugs:{url:"https://github.com/rafeca/prettyjson/issues"},main:"./lib/prettyjson",files:["bin/prettyjson","lib/*.js"],license:"MIT",scripts:{test:"npm run jshint && mocha --reporter spec",testwin:"node ./node_modules/mocha/bin/mocha --reporter spec",jshint:"jshint lib/*.js test/*.js",coverage:"istanbul cover _mocha --report lcovonly -- -R spec",coveralls:"npm run coverage && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage",changelog:"git log $(git describe --tags --abbrev=0)..HEAD --pretty='* %s' --first-parent"},bin:{prettyjson:"./bin/prettyjson"},dependencies:{colors:"1.4.0",minimist:"^1.2.0"},devDependencies:{coveralls:"^2.11.15",istanbul:"^0.4.5",jshint:"^2.9.4",mocha:"^3.1.2","mocha-lcov-reporter":"^1.2.0",should:"^11.1.1"}}});var FM=T((Hc)=>{var d6=$M(),l9=GM(),$c=/[^\w\s\n\r\v\t\.,]/i;Hc.version=BM().version;var mG=function(D,Y){return D!==void 0||Y.renderUndefined},dX=function(D,Y,X){if(typeof D==="boolean"||typeof D==="number"||typeof D==="function"||D===null||D===void 0||D instanceof Date)return!0;if(typeof D==="string"&&D.indexOf(`
|
|
29
29
|
`)===-1)return!0;if(X.inlineArrays&&!Y){if(Array.isArray(D)&&dX(D[0],!0,X))return!0}return!1},Gc=function(D,Y){if(Y.noColor)return D;if(typeof D==="string")return Y.stringColor?d6[Y.stringColor](D):D;var X=D+"";if(D===!0)return d6.green(X);if(D===!1)return d6.red(X);if(D===null||D===void 0)return d6.grey(X);if(typeof D==="number")if(D>=0)return d6[Y.positiveNumberColor](X);else return d6[Y.negativeNumberColor](X);if(typeof D==="function")return"function() {}";if(Array.isArray(D))return D.join(", ");return X},cG=function(D,Y){if(D.multilineStringColor===null||D.noColor)return Y;else return d6[D.multilineStringColor](Y)},Bc=function(D,Y,X){var Q=D.split(`
|
|
30
30
|
`);return Q=Q.map(function(J){return l9.indent(Y)+cG(X,J)}),Q.join(`
|
|
@@ -41,7 +41,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
41
41
|
`)}),Y.__defineSetter__("stack",function(X){return[X].concat(Y.stack).join(`
|
|
42
42
|
|
|
43
43
|
`)}),Y}});var oN=T((FV0,aN)=>{var p9=a("constants"),Or=process.cwd,RQ=null,Nr=process.env.GRACEFUL_FS_PLATFORM||process.platform;process.cwd=function(){if(!RQ)RQ=Or.call(process);return RQ};try{process.cwd()}catch(D){}if(typeof process.chdir==="function"){if(jQ=process.chdir,process.chdir=function(D){RQ=null,jQ.call(process,D)},Object.setPrototypeOf)Object.setPrototypeOf(process.chdir,jQ)}var jQ;aN.exports=Zr;function Zr(D){if(p9.hasOwnProperty("O_SYMLINK")&&process.version.match(/^v0\.6\.[0-2]|^v0\.5\./))Y(D);if(!D.lutimes)X(D);if(D.chown=W(D.chown),D.fchown=W(D.fchown),D.lchown=W(D.lchown),D.chmod=Q(D.chmod),D.fchmod=Q(D.fchmod),D.lchmod=Q(D.lchmod),D.chownSync=$(D.chownSync),D.fchownSync=$(D.fchownSync),D.lchownSync=$(D.lchownSync),D.chmodSync=J(D.chmodSync),D.fchmodSync=J(D.fchmodSync),D.lchmodSync=J(D.lchmodSync),D.stat=G(D.stat),D.fstat=G(D.fstat),D.lstat=G(D.lstat),D.statSync=B(D.statSync),D.fstatSync=B(D.fstatSync),D.lstatSync=B(D.lstatSync),D.chmod&&!D.lchmod)D.lchmod=function(F,K,U){if(U)process.nextTick(U)},D.lchmodSync=function(){};if(D.chown&&!D.lchown)D.lchown=function(F,K,U,z){if(z)process.nextTick(z)},D.lchownSync=function(){};if(Nr==="win32")D.rename=typeof D.rename!=="function"?D.rename:function(F){function K(U,z,w){var V=Date.now(),L=0;F(U,z,function O(Z){if(Z&&(Z.code==="EACCES"||Z.code==="EPERM"||Z.code==="EBUSY")&&Date.now()-V<60000){if(setTimeout(function(){D.stat(z,function(M,E){if(M&&M.code==="ENOENT")F(U,z,O);else w(Z)})},L),L<100)L+=10;return}if(w)w(Z)})}if(Object.setPrototypeOf)Object.setPrototypeOf(K,F);return K}(D.rename);D.read=typeof D.read!=="function"?D.read:function(F){function K(U,z,w,V,L,O){var Z;if(O&&typeof O==="function"){var M=0;Z=function(E,j,I){if(E&&E.code==="EAGAIN"&&M<10)return M++,F.call(D,U,z,w,V,L,Z);O.apply(this,arguments)}}return F.call(D,U,z,w,V,L,Z)}if(Object.setPrototypeOf)Object.setPrototypeOf(K,F);return K}(D.read),D.readSync=typeof D.readSync!=="function"?D.readSync:function(F){return function(K,U,z,w,V){var L=0;while(!0)try{return F.call(D,K,U,z,w,V)}catch(O){if(O.code==="EAGAIN"&&L<10){L++;continue}throw O}}}(D.readSync);function Y(F){F.lchmod=function(K,U,z){F.open(K,p9.O_WRONLY|p9.O_SYMLINK,U,function(w,V){if(w){if(z)z(w);return}F.fchmod(V,U,function(L){F.close(V,function(O){if(z)z(L||O)})})})},F.lchmodSync=function(K,U){var z=F.openSync(K,p9.O_WRONLY|p9.O_SYMLINK,U),w=!0,V;try{V=F.fchmodSync(z,U),w=!1}finally{if(w)try{F.closeSync(z)}catch(L){}else F.closeSync(z)}return V}}function X(F){if(p9.hasOwnProperty("O_SYMLINK")&&F.futimes)F.lutimes=function(K,U,z,w){F.open(K,p9.O_SYMLINK,function(V,L){if(V){if(w)w(V);return}F.futimes(L,U,z,function(O){F.close(L,function(Z){if(w)w(O||Z)})})})},F.lutimesSync=function(K,U,z){var w=F.openSync(K,p9.O_SYMLINK),V,L=!0;try{V=F.futimesSync(w,U,z),L=!1}finally{if(L)try{F.closeSync(w)}catch(O){}else F.closeSync(w)}return V};else if(F.futimes)F.lutimes=function(K,U,z,w){if(w)process.nextTick(w)},F.lutimesSync=function(){}}function Q(F){if(!F)return F;return function(K,U,z){return F.call(D,K,U,function(w){if(H(w))w=null;if(z)z.apply(this,arguments)})}}function J(F){if(!F)return F;return function(K,U){try{return F.call(D,K,U)}catch(z){if(!H(z))throw z}}}function W(F){if(!F)return F;return function(K,U,z,w){return F.call(D,K,U,z,function(V){if(H(V))V=null;if(w)w.apply(this,arguments)})}}function $(F){if(!F)return F;return function(K,U,z){try{return F.call(D,K,U,z)}catch(w){if(!H(w))throw w}}}function G(F){if(!F)return F;return function(K,U,z){if(typeof U==="function")z=U,U=null;function w(V,L){if(L){if(L.uid<0)L.uid+=4294967296;if(L.gid<0)L.gid+=4294967296}if(z)z.apply(this,arguments)}return U?F.call(D,K,U,w):F.call(D,K,w)}}function B(F){if(!F)return F;return function(K,U){var z=U?F.call(D,K,U):F.call(D,K);if(z){if(z.uid<0)z.uid+=4294967296;if(z.gid<0)z.gid+=4294967296}return z}}function H(F){if(!F)return!0;if(F.code==="ENOSYS")return!0;var K=!process.getuid||process.getuid()!==0;if(K){if(F.code==="EINVAL"||F.code==="EPERM")return!0}return!1}}});var eN=T((qV0,tN)=>{var sN=a("stream").Stream;tN.exports=Ar;function Ar(D){return{ReadStream:Y,WriteStream:X};function Y(Q,J){if(!(this instanceof Y))return new Y(Q,J);sN.call(this);var W=this;this.path=Q,this.fd=null,this.readable=!0,this.paused=!1,this.flags="r",this.mode=438,this.bufferSize=65536,J=J||{};var $=Object.keys(J);for(var G=0,B=$.length;G<B;G++){var H=$[G];this[H]=J[H]}if(this.encoding)this.setEncoding(this.encoding);if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.end===void 0)this.end=1/0;else if(typeof this.end!=="number")throw TypeError("end must be a Number");if(this.start>this.end)throw Error("start must be <= end");this.pos=this.start}if(this.fd!==null){process.nextTick(function(){W._read()});return}D.open(this.path,this.flags,this.mode,function(F,K){if(F){W.emit("error",F),W.readable=!1;return}W.fd=K,W.emit("open",K),W._read()})}function X(Q,J){if(!(this instanceof X))return new X(Q,J);sN.call(this),this.path=Q,this.fd=null,this.writable=!0,this.flags="w",this.encoding="binary",this.mode=438,this.bytesWritten=0,J=J||{};var W=Object.keys(J);for(var $=0,G=W.length;$<G;$++){var B=W[$];this[B]=J[B]}if(this.start!==void 0){if(typeof this.start!=="number")throw TypeError("start must be a Number");if(this.start<0)throw Error("start must be >= zero");this.pos=this.start}if(this.busy=!1,this._queue=[],this.fd===null)this._open=D.open,this._queue.push([this._open,this.path,this.flags,this.mode,void 0]),this.flush()}}});var YZ=T((KV0,DZ)=>{DZ.exports=Rr;var Er=Object.getPrototypeOf||function(D){return D.__proto__};function Rr(D){if(D===null||typeof D!=="object")return D;if(D instanceof Object)var Y={__proto__:Er(D)};else var Y=Object.create(null);return Object.getOwnPropertyNames(D).forEach(function(X){Object.defineProperty(Y,X,Object.getOwnPropertyDescriptor(D,X))}),Y}});var n9=T((zV0,vB)=>{var T1=a("fs"),jr=oN(),Tr=eN(),Sr=YZ(),TQ=a("util"),X8,PQ;if(typeof Symbol==="function"&&typeof Symbol.for==="function")X8=Symbol.for("graceful-fs.queue"),PQ=Symbol.for("graceful-fs.previous");else X8="___graceful-fs.queue",PQ="___graceful-fs.previous";function Pr(){}function QZ(D,Y){Object.defineProperty(D,X8,{get:function(){return Y}})}var dD=Pr;if(TQ.debuglog)dD=TQ.debuglog("gfs4");else if(/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))dD=function(){var D=TQ.format.apply(TQ,arguments);D="GFS4: "+D.split(/\n/).join(`
|
|
44
|
-
GFS4: `),console.error(D)};if(!T1[X8]){if(_B=global[X8]||[],QZ(T1,_B),T1.close=function(D){function Y(X,Q){return D.call(T1,X,function(J){if(!J)XZ();if(typeof Q==="function")Q.apply(this,arguments)})}return Object.defineProperty(Y,PQ,{value:D}),Y}(T1.close),T1.closeSync=function(D){function Y(X){D.apply(T1,arguments),XZ()}return Object.defineProperty(Y,PQ,{value:D}),Y}(T1.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){dD(T1[X8]),a("assert").equal(T1[X8].length,0)})}var _B;if(!global[X8])QZ(global,T1[X8]);vB.exports=bB(Sr(T1));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!T1.__patched)vB.exports=bB(T1),T1.__patched=!0;function bB(D){jr(D),D.gracefulify=bB,D.createReadStream=j,D.createWriteStream=I;var Y=D.readFile;D.readFile=X;function X(C,c,S){if(typeof c==="function")S=c,c=null;return p(C,c,S);function p(u,J0,_,N){return Y(u,J0,function(A){if(A&&(A.code==="EMFILE"||A.code==="ENFILE"))B4([p,[u,J0,_],A,N||Date.now(),Date.now()]);else if(typeof _==="function")_.apply(this,arguments)})}}var Q=D.writeFile;D.writeFile=J;function J(C,c,S,p){if(typeof S==="function")p=S,S=null;return u(C,c,S,p);function u(J0,_,N,A,R){return Q(J0,_,N,function(P){if(P&&(P.code==="EMFILE"||P.code==="ENFILE"))B4([u,[J0,_,N,A],P,R||Date.now(),Date.now()]);else if(typeof A==="function")A.apply(this,arguments)})}}var W=D.appendFile;if(W)D.appendFile=$;function $(C,c,S,p){if(typeof S==="function")p=S,S=null;return u(C,c,S,p);function u(J0,_,N,A,R){return W(J0,_,N,function(P){if(P&&(P.code==="EMFILE"||P.code==="ENFILE"))B4([u,[J0,_,N,A],P,R||Date.now(),Date.now()]);else if(typeof A==="function")A.apply(this,arguments)})}}var G=D.copyFile;if(G)D.copyFile=B;function B(C,c,S,p){if(typeof S==="function")p=S,S=0;return u(C,c,S,p);function u(J0,_,N,A,R){return G(J0,_,N,function(P){if(P&&(P.code==="EMFILE"||P.code==="ENFILE"))B4([u,[J0,_,N,A],P,R||Date.now(),Date.now()]);else if(typeof A==="function")A.apply(this,arguments)})}}var H=D.readdir;D.readdir=K;var F=/^v[0-5]\./;function K(C,c,S){if(typeof c==="function")S=c,c=null;var p=F.test(process.version)?function(_,N,A,R){return H(_,u(_,N,A,R))}:function(_,N,A,R){return H(_,N,u(_,N,A,R))};return p(C,c,S);function u(J0,_,N,A){return function(R,P){if(R&&(R.code==="EMFILE"||R.code==="ENFILE"))B4([p,[J0,_,N],R,A||Date.now(),Date.now()]);else{if(P&&P.sort)P.sort();if(typeof N==="function")N.call(this,R,P)}}}}if(process.version.substr(0,4)==="v0.8"){var U=Tr(D);O=U.ReadStream,M=U.WriteStream}var z=D.ReadStream;if(z)O.prototype=Object.create(z.prototype),O.prototype.open=Z;var w=D.WriteStream;if(w)M.prototype=Object.create(w.prototype),M.prototype.open=E;Object.defineProperty(D,"ReadStream",{get:function(){return O},set:function(C){O=C},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return M},set:function(C){M=C},enumerable:!0,configurable:!0});var V=O;Object.defineProperty(D,"FileReadStream",{get:function(){return V},set:function(C){V=C},enumerable:!0,configurable:!0});var L=M;Object.defineProperty(D,"FileWriteStream",{get:function(){return L},set:function(C){L=C},enumerable:!0,configurable:!0});function O(C,c){if(this instanceof O)return z.apply(this,arguments),this;else return O.apply(Object.create(O.prototype),arguments)}function Z(){var C=this;y(C.path,C.flags,C.mode,function(c,S){if(c){if(C.autoClose)C.destroy();C.emit("error",c)}else C.fd=S,C.emit("open",S),C.read()})}function M(C,c){if(this instanceof M)return w.apply(this,arguments),this;else return M.apply(Object.create(M.prototype),arguments)}function E(){var C=this;y(C.path,C.flags,C.mode,function(c,S){if(c)C.destroy(),C.emit("error",c);else C.fd=S,C.emit("open",S)})}function j(C,c){return new D.ReadStream(C,c)}function I(C,c){return new D.WriteStream(C,c)}var x=D.open;D.open=y;function y(C,c,S,p){if(typeof S==="function")p=S,S=null;return u(C,c,S,p);function u(J0,_,N,A,R){return x(J0,_,N,function(P,v){if(P&&(P.code==="EMFILE"||P.code==="ENFILE"))B4([u,[J0,_,N,A],P,R||Date.now(),Date.now()]);else if(typeof A==="function")A.apply(this,arguments)})}}return D}function B4(D){dD("ENQUEUE",D[0].name,D[1]),T1[X8].push(D),kB()}var SQ;function XZ(){var D=Date.now();for(var Y=0;Y<T1[X8].length;++Y)if(T1[X8][Y].length>2)T1[X8][Y][3]=D,T1[X8][Y][4]=D;kB()}function kB(){if(clearTimeout(SQ),SQ=void 0,T1[X8].length===0)return;var D=T1[X8].shift(),Y=D[0],X=D[1],Q=D[2],J=D[3],W=D[4];if(J===void 0)dD("RETRY",Y.name,X),Y.apply(null,X);else if(Date.now()-J>=60000){dD("TIMEOUT",Y.name,X);var $=X.pop();if(typeof $==="function")$.call(null,Q)}else{var G=Date.now()-W,B=Math.max(W-J,1),H=Math.min(B*1.2,100);if(G>=H)dD("RETRY",Y.name,X),Y.apply(null,X.concat([J]));else T1[X8].push(D)}if(SQ===void 0)SQ=setTimeout(kB,0)}});var WZ=T((UV0,JZ)=>{function q6(D,Y){if(typeof Y==="boolean")Y={forever:Y};if(this._originalTimeouts=JSON.parse(JSON.stringify(D)),this._timeouts=D,this._options=Y||{},this._maxRetryTime=Y&&Y.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever)this._cachedTimeouts=this._timeouts.slice(0)}JZ.exports=q6;q6.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};q6.prototype.stop=function(){if(this._timeout)clearTimeout(this._timeout);this._timeouts=[],this._cachedTimeouts=null};q6.prototype.retry=function(D){if(this._timeout)clearTimeout(this._timeout);if(!D)return!1;var Y=new Date().getTime();if(D&&Y-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error("RetryOperation timeout occurred")),!1;this._errors.push(D);var X=this._timeouts.shift();if(X===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),X=this._timeouts.shift();else return!1;var Q=this,J=setTimeout(function(){if(Q._attempts++,Q._operationTimeoutCb){if(Q._timeout=setTimeout(function(){Q._operationTimeoutCb(Q._attempts)},Q._operationTimeout),Q._options.unref)Q._timeout.unref()}Q._fn(Q._attempts)},X);if(this._options.unref)J.unref();return!0};q6.prototype.attempt=function(D,Y){if(this._fn=D,Y){if(Y.timeout)this._operationTimeout=Y.timeout;if(Y.cb)this._operationTimeoutCb=Y.cb}var X=this;if(this._operationTimeoutCb)this._timeout=setTimeout(function(){X._operationTimeoutCb()},X._operationTimeout);this._operationStart=new Date().getTime(),this._fn(this._attempts)};q6.prototype.try=function(D){console.log("Using RetryOperation.try() is deprecated"),this.attempt(D)};q6.prototype.start=function(D){console.log("Using RetryOperation.start() is deprecated"),this.attempt(D)};q6.prototype.start=q6.prototype.try;q6.prototype.errors=function(){return this._errors};q6.prototype.attempts=function(){return this._attempts};q6.prototype.mainError=function(){if(this._errors.length===0)return null;var D={},Y=null,X=0;for(var Q=0;Q<this._errors.length;Q++){var J=this._errors[Q],W=J.message,$=(D[W]||0)+1;if(D[W]=$,$>=X)Y=J,X=$}return Y}});var GZ=T((Cr)=>{var Ir=WZ();Cr.operation=function(D){var Y=Cr.timeouts(D);return new Ir(Y,{forever:D&&D.forever,unref:D&&D.unref,maxRetryTime:D&&D.maxRetryTime})};Cr.timeouts=function(D){if(D instanceof Array)return[].concat(D);var Y={retries:10,factor:2,minTimeout:1000,maxTimeout:1/0,randomize:!1};for(var X in D)Y[X]=D[X];if(Y.minTimeout>Y.maxTimeout)throw Error("minTimeout is greater than maxTimeout");var Q=[];for(var J=0;J<Y.retries;J++)Q.push(this.createTimeout(J,Y));if(D&&D.forever&&!Q.length)Q.push(this.createTimeout(J,Y));return Q.sort(function(W,$){return W-$}),Q};Cr.createTimeout=function(D,Y){var X=Y.randomize?Math.random()+1:1,Q=Math.round(X*Y.minTimeout*Math.pow(Y.factor,D));return Q=Math.min(Q,Y.maxTimeout),Q};Cr.wrap=function(D,Y,X){if(Y instanceof Array)X=Y,Y=null;if(!X){X=[];for(var Q in D)if(typeof D[Q]==="function")X.push(Q)}for(var J=0;J<X.length;J++){var W=X[J],$=D[W];D[W]=function(B){var H=Cr.operation(Y),F=Array.prototype.slice.call(arguments,1),K=F.pop();F.push(function(U){if(H.retry(U))return;if(U)arguments[0]=H.mainError();K.apply(this,arguments)}),H.attempt(function(){B.apply(D,F)})}.bind(D,$),D[W].options=Y}}});var BZ=T((VV0,IQ)=>{IQ.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32")IQ.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")IQ.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var uB=T((LV0,F4)=>{var V1=global.process,pD=function(D){return D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function"};if(!pD(V1))F4.exports=function(){return function(){}};else{if(yB=a("assert"),nD=BZ(),fB=/^win/i.test(V1.platform),H4=a("events"),typeof H4!=="function")H4=H4.EventEmitter;if(V1.__signal_exit_emitter__)n1=V1.__signal_exit_emitter__;else n1=V1.__signal_exit_emitter__=new H4,n1.count=0,n1.emitted={};if(!n1.infinite)n1.setMaxListeners(1/0),n1.infinite=!0;F4.exports=function(D,Y){if(!pD(global.process))return function(){};if(yB.equal(typeof D,"function","a callback must be provided for exit handler"),iD===!1)CQ();var X="exit";if(Y&&Y.alwaysLast)X="afterexit";var Q=function(){if(n1.removeListener(X,D),n1.listeners("exit").length===0&&n1.listeners("afterexit").length===0)M3()};return n1.on(X,D),Q},M3=function(){if(!iD||!pD(global.process))return;iD=!1,nD.forEach(function(Y){try{V1.removeListener(Y,O3[Y])}catch(X){}}),V1.emit=N3,V1.reallyExit=xQ,n1.count-=1},F4.exports.unload=M3,i9=function(Y,X,Q){if(n1.emitted[Y])return;n1.emitted[Y]=!0,n1.emit(Y,X,Q)},O3={},nD.forEach(function(D){O3[D]=function(){if(!pD(global.process))return;var X=V1.listeners(D);if(X.length===n1.count){if(M3(),i9("exit",null,D),i9("afterexit",null,D),fB&&D==="SIGHUP")D="SIGINT";V1.kill(V1.pid,D)}}}),F4.exports.signals=function(){return nD},iD=!1,CQ=function(){if(iD||!pD(global.process))return;iD=!0,n1.count+=1,nD=nD.filter(function(Y){try{return V1.on(Y,O3[Y]),!0}catch(X){return!1}}),V1.emit=gB,V1.reallyExit=hB},F4.exports.load=CQ,xQ=V1.reallyExit,hB=function(Y){if(!pD(global.process))return;V1.exitCode=Y||0,i9("exit",V1.exitCode,null),i9("afterexit",V1.exitCode,null),xQ.call(V1,V1.exitCode)},N3=V1.emit,gB=function(Y,X){if(Y==="exit"&&pD(global.process)){if(X!==void 0)V1.exitCode=X;var Q=N3.apply(this,arguments);return i9("exit",V1.exitCode,null),i9("afterexit",V1.exitCode,null),Q}else return N3.apply(this,arguments)}}var yB,nD,fB,H4,n1,M3,i9,O3,iD,CQ,xQ,hB,N3,gB});var FZ=T((yr,mB)=>{var HZ=Symbol();function kr(D,Y,X){let Q=Y[HZ];if(Q)return Y.stat(D,(W,$)=>{if(W)return X(W);X(null,$.mtime,Q)});let J=new Date(Math.ceil(Date.now()/1000)*1000+5);Y.utimes(D,J,J,(W)=>{if(W)return X(W);Y.stat(D,($,G)=>{if($)return X($);let B=G.mtime.getTime()%1000===0?"s":"ms";Object.defineProperty(Y,HZ,{value:B}),X(null,G.mtime,B)})})}function vr(D){let Y=Date.now();if(D==="s")Y=Math.ceil(Y/1000)*1000;return new Date(Y)}yr.probe=kr;yr.getMtime=vr});var wZ=T((pr,A3)=>{var gr=a("path"),dB=n9(),ur=GZ(),mr=uB(),qZ=FZ(),U9={};function Z3(D,Y){return Y.lockfilePath||`${D}.lock`}function pB(D,Y,X){if(!Y.realpath)return X(null,gr.resolve(D));Y.fs.realpath(D,X)}function lB(D,Y,X){let Q=Z3(D,Y);Y.fs.mkdir(Q,(J)=>{if(!J)return qZ.probe(Q,Y.fs,(W,$,G)=>{if(W)return Y.fs.rmdir(Q,()=>{}),X(W);X(null,$,G)});if(J.code!=="EEXIST")return X(J);if(Y.stale<=0)return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));Y.fs.stat(Q,(W,$)=>{if(W){if(W.code==="ENOENT")return lB(D,{...Y,stale:0},X);return X(W)}if(!KZ($,Y))return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));zZ(D,Y,(G)=>{if(G)return X(G);lB(D,{...Y,stale:0},X)})})})}function KZ(D,Y){return D.mtime.getTime()<Date.now()-Y.stale}function zZ(D,Y,X){Y.fs.rmdir(Z3(D,Y),(Q)=>{if(Q&&Q.code!=="ENOENT")return X(Q);X()})}function _Q(D,Y){let X=U9[D];if(X.updateTimeout)return;if(X.updateDelay=X.updateDelay||Y.update,X.updateTimeout=setTimeout(()=>{X.updateTimeout=null,Y.fs.stat(X.lockfilePath,(Q,J)=>{let W=X.lastUpdate+Y.stale<Date.now();if(Q){if(Q.code==="ENOENT"||W)return cB(D,X,Object.assign(Q,{code:"ECOMPROMISED"}));return X.updateDelay=1000,_Q(D,Y)}if(X.mtime.getTime()!==J.mtime.getTime())return cB(D,X,Object.assign(Error("Unable to update lock within the stale threshold"),{code:"ECOMPROMISED"}));let G=qZ.getMtime(X.mtimePrecision);Y.fs.utimes(X.lockfilePath,G,G,(B)=>{let H=X.lastUpdate+Y.stale<Date.now();if(X.released)return;if(B){if(B.code==="ENOENT"||H)return cB(D,X,Object.assign(B,{code:"ECOMPROMISED"}));return X.updateDelay=1000,_Q(D,Y)}X.mtime=G,X.lastUpdate=Date.now(),X.updateDelay=null,_Q(D,Y)})})},X.updateDelay),X.updateTimeout.unref)X.updateTimeout.unref()}function cB(D,Y,X){if(Y.released=!0,Y.updateTimeout)clearTimeout(Y.updateTimeout);if(U9[D]===Y)delete U9[D];Y.options.onCompromised(X)}function cr(D,Y,X){Y={stale:1e4,update:null,realpath:!0,retries:0,fs:dB,onCompromised:(Q)=>{throw Q},...Y},Y.retries=Y.retries||0,Y.retries=typeof Y.retries==="number"?{retries:Y.retries}:Y.retries,Y.stale=Math.max(Y.stale||0,2000),Y.update=Y.update==null?Y.stale/2:Y.update||0,Y.update=Math.max(Math.min(Y.update,Y.stale/2),1000),pB(D,Y,(Q,J)=>{if(Q)return X(Q);let W=ur.operation(Y.retries);W.attempt(()=>{lB(J,Y,($,G,B)=>{if(W.retry($))return;if($)return X(W.mainError());let H=U9[J]={lockfilePath:Z3(J,Y),mtime:G,mtimePrecision:B,options:Y,lastUpdate:Date.now()};_Q(J,Y),X(null,(F)=>{if(H.released)return F&&F(Object.assign(Error("Lock is already released"),{code:"ERELEASED"}));UZ(J,{...Y,realpath:!1},F)})})})})}function UZ(D,Y,X){Y={fs:dB,realpath:!0,...Y},pB(D,Y,(Q,J)=>{if(Q)return X(Q);let W=U9[J];if(!W)return X(Object.assign(Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));W.updateTimeout&&clearTimeout(W.updateTimeout),W.released=!0,delete U9[J],zZ(J,Y,X)})}function lr(D,Y,X){Y={stale:1e4,realpath:!0,fs:dB,...Y},Y.stale=Math.max(Y.stale||0,2000),pB(D,Y,(Q,J)=>{if(Q)return X(Q);Y.fs.stat(Z3(J,Y),(W,$)=>{if(W)return W.code==="ENOENT"?X(null,!1):X(W);return X(null,!KZ($,Y))})})}function dr(){return U9}mr(()=>{for(let D in U9){let Y=U9[D].options;try{Y.fs.rmdirSync(Z3(D,Y))}catch(X){}}});pr.lock=cr;pr.unlock=UZ;pr.check=lr;pr.getLocks=dr});var LZ=T((MV0,VZ)=>{var or=n9();function sr(D){let Y=["mkdir","realpath","stat","rmdir","utimes"],X={...D};return Y.forEach((Q)=>{X[Q]=(...J)=>{let W=J.pop(),$;try{$=D[`${Q}Sync`](...J)}catch(G){return W(G)}W(null,$)}}),X}function tr(D){return(...Y)=>new Promise((X,Q)=>{Y.push((J,W)=>{if(J)Q(J);else X(W)}),D(...Y)})}function er(D){return(...Y)=>{let X,Q;if(Y.push((J,W)=>{X=J,Q=W}),D(...Y),X)throw X;return Q}}function Da(D){if(D={...D},D.fs=sr(D.fs||or),typeof D.retries==="number"&&D.retries>0||D.retries&&typeof D.retries.retries==="number"&&D.retries.retries>0)throw Object.assign(Error("Cannot use retries with the sync api"),{code:"ESYNC"});return D}VZ.exports={toPromise:tr,toSync:er,toSyncOptions:Da}});var OZ=T((OV0,r9)=>{var q4=wZ(),{toPromise:bQ,toSync:kQ,toSyncOptions:nB}=LZ();async function MZ(D,Y){let X=await bQ(q4.lock)(D,Y);return bQ(X)}function Ya(D,Y){let X=kQ(q4.lock)(D,nB(Y));return kQ(X)}function Xa(D,Y){return bQ(q4.unlock)(D,Y)}function Qa(D,Y){return kQ(q4.unlock)(D,nB(Y))}function Ja(D,Y){return bQ(q4.check)(D,Y)}function Wa(D,Y){return kQ(q4.check)(D,nB(Y))}r9.exports=MZ;r9.exports.lock=MZ;r9.exports.unlock=Xa;r9.exports.lockSync=Ya;r9.exports.unlockSync=Qa;r9.exports.check=Ja;r9.exports.checkSync=Wa});var TZ=T((RZ)=>{Object.defineProperty(RZ,"__esModule",{value:!0});RZ.canStoreURLs=RZ.FileUrlStorage=void 0;var NZ=a("fs"),$a=Ba(rN()),ZZ=Ga(OZ());function EZ(D){if(typeof WeakMap!="function")return null;var Y=new WeakMap,X=new WeakMap;return(EZ=function(Q){return Q?X:Y})(D)}function Ga(D,Y){if(!Y&&D&&D.__esModule)return D;if(D===null||typeof D!="object"&&typeof D!="function")return{default:D};var X=EZ(Y);if(X&&X.has(D))return X.get(D);var Q={__proto__:null},J=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var W in D)if(W!=="default"&&{}.hasOwnProperty.call(D,W)){var $=J?Object.getOwnPropertyDescriptor(D,W):null;$&&($.get||$.set)?Object.defineProperty(Q,W,$):Q[W]=D[W]}return Q.default=D,X&&X.set(D,Q),Q}function Ba(D){return D&&D.__esModule?D:{default:D}}function E3(D){return E3=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Y){return typeof Y}:function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},E3(D)}function Ha(D,Y){if(!(D instanceof Y))throw TypeError("Cannot call a class as a function")}function AZ(D,Y){for(var X=0;X<Y.length;X++){var Q=Y[X];if(Q.enumerable=Q.enumerable||!1,Q.configurable=!0,"value"in Q)Q.writable=!0;Object.defineProperty(D,qa(Q.key),Q)}}function Fa(D,Y,X){if(Y)AZ(D.prototype,Y);if(X)AZ(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function qa(D){var Y=Ka(D,"string");return E3(Y)=="symbol"?Y:Y+""}function Ka(D,Y){if(E3(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Q=X.call(D,Y||"default");if(E3(Q)!="object")return Q;throw TypeError("@@toPrimitive must return a primitive value.")}return(Y==="string"?String:Number)(D)}var NV0=RZ.canStoreURLs=!0,ZV0=RZ.FileUrlStorage=function(){function D(Y){Ha(this,D),this.path=Y}return Fa(D,[{key:"findAllUploads",value:function(){var X=this;return new Promise(function(Q,J){X._getItems("tus::",function(W,$){if(W)J(W);else Q($)})})}},{key:"findUploadsByFingerprint",value:function(X){var Q=this;return new Promise(function(J,W){Q._getItems("tus::".concat(X),function($,G){if($)W($);else J(G)})})}},{key:"removeUpload",value:function(X){var Q=this;return new Promise(function(J,W){Q._removeItem(X,function($){if($)W($);else J()})})}},{key:"addUpload",value:function(X,Q){var J=this,W=Math.round(Math.random()*1000000000000),$="tus::".concat(X,"::").concat(W);return new Promise(function(G,B){J._setItem($,Q,function(H){if(H)B(H);else G($)})})}},{key:"_setItem",value:function(X,Q,J){var W=this;ZZ.lock(this.path,this._lockfileOptions()).then(function($){J=W._releaseAndCb($,J),W._getData(function(G,B){if(G){J(G);return}B[X]=Q,W._writeData(B,function(H){return J(H)})})}).catch(J)}},{key:"_getItems",value:function(X,Q){this._getData(function(J,W){if(J){Q(J);return}var $=Object.keys(W).filter(function(G){return G.startsWith(X)}).map(function(G){var B=W[G];return B.urlStorageKey=G,B});Q(null,$)})}},{key:"_removeItem",value:function(X,Q){var J=this;ZZ.lock(this.path,this._lockfileOptions()).then(function(W){Q=J._releaseAndCb(W,Q),J._getData(function($,G){if($){Q($);return}delete G[X],J._writeData(G,function(B){return Q(B)})})}).catch(Q)}},{key:"_lockfileOptions",value:function(){return{realpath:!1,retries:{retries:5,minTimeout:20}}}},{key:"_releaseAndCb",value:function(X,Q){return function(J){if(J){X().then(function(){return Q(J)}).catch(function(W){return Q((0,$a.default)([J,W]))});return}X().then(Q).catch(Q)}}},{key:"_writeData",value:function(X,Q){var J={encoding:"utf8",mode:432,flag:"w"};(0,NZ.writeFile)(this.path,JSON.stringify(X),J,function(W){return Q(W)})}},{key:"_getData",value:function(X){(0,NZ.readFile)(this.path,"utf8",function(Q,J){if(Q){if(Q.code==="ENOENT")X(null,{});else X(Q);return}try{J=!J.trim().length?{}:JSON.parse(J)}catch(W){X(W);return}X(null,J)})}}])}()});var yQ=T((a9)=>{Object.defineProperty(a9,"__esModule",{value:!0});Object.defineProperty(a9,"DefaultHttpStack",{enumerable:!0,get:function(){return CZ.default}});Object.defineProperty(a9,"DetailedError",{enumerable:!0,get:function(){return Ua.default}});Object.defineProperty(a9,"FileUrlStorage",{enumerable:!0,get:function(){return xZ.FileUrlStorage}});Object.defineProperty(a9,"StreamSource",{enumerable:!0,get:function(){return Oa.default}});a9.Upload=void 0;Object.defineProperty(a9,"canStoreURLs",{enumerable:!0,get:function(){return xZ.canStoreURLs}});a9.defaultOptions=void 0;Object.defineProperty(a9,"enableDebugLog",{enumerable:!0,get:function(){return wa.enableDebugLog}});a9.isSupported=void 0;var Ua=rD(pG()),wa=nG(),Va=rD(OM()),iB=rD(tM()),La=rD(MO()),Ma=rD(EO()),CZ=rD(gO()),Oa=rD(QB()),xZ=TZ();function rD(D){return D&&D.__esModule?D:{default:D}}function z4(D){return z4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Y){return typeof Y}:function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},z4(D)}function Na(D,Y){if(!(D instanceof Y))throw TypeError("Cannot call a class as a function")}function SZ(D,Y){for(var X=0;X<Y.length;X++){var Q=Y[X];if(Q.enumerable=Q.enumerable||!1,Q.configurable=!0,"value"in Q)Q.writable=!0;Object.defineProperty(D,bZ(Q.key),Q)}}function Za(D,Y,X){if(Y)SZ(D.prototype,Y);if(X)SZ(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function Aa(D,Y,X){return Y=vQ(Y),Ea(D,_Z()?Reflect.construct(Y,X||[],vQ(D).constructor):Y.apply(D,X))}function Ea(D,Y){if(Y&&(z4(Y)==="object"||typeof Y==="function"))return Y;else if(Y!==void 0)throw TypeError("Derived constructors may only return object or undefined");return Ra(D)}function Ra(D){if(D===void 0)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return D}function _Z(){try{var D=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(Y){}return(_Z=function(){return!!D})()}function vQ(D){return vQ=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(X){return X.__proto__||Object.getPrototypeOf(X)},vQ(D)}function ja(D,Y){if(typeof Y!=="function"&&Y!==null)throw TypeError("Super expression must either be null or a function");if(D.prototype=Object.create(Y&&Y.prototype,{constructor:{value:D,writable:!0,configurable:!0}}),Object.defineProperty(D,"prototype",{writable:!1}),Y)rB(D,Y)}function rB(D,Y){return rB=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Q,J){return Q.__proto__=J,Q},rB(D,Y)}function PZ(D,Y){var X=Object.keys(D);if(Object.getOwnPropertySymbols){var Q=Object.getOwnPropertySymbols(D);Y&&(Q=Q.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),X.push.apply(X,Q)}return X}function K4(D){for(var Y=1;Y<arguments.length;Y++){var X=arguments[Y]!=null?arguments[Y]:{};Y%2?PZ(Object(X),!0).forEach(function(Q){Ta(D,Q,X[Q])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(X)):PZ(Object(X)).forEach(function(Q){Object.defineProperty(D,Q,Object.getOwnPropertyDescriptor(X,Q))})}return D}function Ta(D,Y,X){if(Y=bZ(Y),Y in D)Object.defineProperty(D,Y,{value:X,enumerable:!0,configurable:!0,writable:!0});else D[Y]=X;return D}function bZ(D){var Y=Sa(D,"string");return z4(Y)=="symbol"?Y:Y+""}function Sa(D,Y){if(z4(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Q=X.call(D,Y||"default");if(z4(Q)!="object")return Q;throw TypeError("@@toPrimitive must return a primitive value.")}return(Y==="string"?String:Number)(D)}var IZ=a9.defaultOptions=K4(K4({},iB.default.defaultOptions),{},{httpStack:new CZ.default,fileReader:new La.default,urlStorage:new Va.default,fingerprint:Ma.default}),EV0=a9.Upload=function(D){function Y(){var X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Na(this,Y),Q=K4(K4({},IZ),Q),Aa(this,Y,[X,Q])}return ja(Y,D),Za(Y,null,[{key:"terminate",value:function(Q){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return J=K4(K4({},IZ),J),iB.default.terminate(Q,J)}}])}(iB.default),RV0=a9.isSupported=!0});var mZ=T((cV0,uZ)=>{var U4=1000,w4=U4*60,V4=w4*60,aD=V4*24,fa=aD*7,ha=aD*365.25;uZ.exports=function(D,Y){Y=Y||{};var X=typeof D;if(X==="string"&&D.length>0)return ga(D);else if(X==="number"&&isFinite(D))return Y.long?ma(D):ua(D);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(D))};function ga(D){if(D=String(D),D.length>100)return;var Y=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(D);if(!Y)return;var X=parseFloat(Y[1]),Q=(Y[2]||"ms").toLowerCase();switch(Q){case"years":case"year":case"yrs":case"yr":case"y":return X*ha;case"weeks":case"week":case"w":return X*fa;case"days":case"day":case"d":return X*aD;case"hours":case"hour":case"hrs":case"hr":case"h":return X*V4;case"minutes":case"minute":case"mins":case"min":case"m":return X*w4;case"seconds":case"second":case"secs":case"sec":case"s":return X*U4;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return X;default:return}}function ua(D){var Y=Math.abs(D);if(Y>=aD)return Math.round(D/aD)+"d";if(Y>=V4)return Math.round(D/V4)+"h";if(Y>=w4)return Math.round(D/w4)+"m";if(Y>=U4)return Math.round(D/U4)+"s";return D+"ms"}function ma(D){var Y=Math.abs(D);if(Y>=aD)return hQ(D,Y,aD,"day");if(Y>=V4)return hQ(D,Y,V4,"hour");if(Y>=w4)return hQ(D,Y,w4,"minute");if(Y>=U4)return hQ(D,Y,U4,"second");return D+" ms"}function hQ(D,Y,X,Q){var J=Y>=X*1.5;return Math.round(D/X)+" "+Q+(J?"s":"")}});var oB=T((lV0,cZ)=>{function ca(D){X.debug=X,X.default=X,X.coerce=B,X.disable=$,X.enable=J,X.enabled=G,X.humanize=mZ(),X.destroy=H,Object.keys(D).forEach((F)=>{X[F]=D[F]}),X.names=[],X.skips=[],X.formatters={};function Y(F){let K=0;for(let U=0;U<F.length;U++)K=(K<<5)-K+F.charCodeAt(U),K|=0;return X.colors[Math.abs(K)%X.colors.length]}X.selectColor=Y;function X(F){let K,U=null,z,w;function V(...L){if(!V.enabled)return;let O=V,Z=Number(new Date),M=Z-(K||Z);if(O.diff=M,O.prev=K,O.curr=Z,K=Z,L[0]=X.coerce(L[0]),typeof L[0]!=="string")L.unshift("%O");let E=0;L[0]=L[0].replace(/%([a-zA-Z%])/g,(I,x)=>{if(I==="%%")return"%";E++;let y=X.formatters[x];if(typeof y==="function"){let C=L[E];I=y.call(O,C),L.splice(E,1),E--}return I}),X.formatArgs.call(O,L),(O.log||X.log).apply(O,L)}if(V.namespace=F,V.useColors=X.useColors(),V.color=X.selectColor(F),V.extend=Q,V.destroy=X.destroy,Object.defineProperty(V,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(U!==null)return U;if(z!==X.namespaces)z=X.namespaces,w=X.enabled(F);return w},set:(L)=>{U=L}}),typeof X.init==="function")X.init(V);return V}function Q(F,K){let U=X(this.namespace+(typeof K>"u"?":":K)+F);return U.log=this.log,U}function J(F){X.save(F),X.namespaces=F,X.names=[],X.skips=[];let K=(typeof F==="string"?F:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let U of K)if(U[0]==="-")X.skips.push(U.slice(1));else X.names.push(U)}function W(F,K){let U=0,z=0,w=-1,V=0;while(U<F.length)if(z<K.length&&(K[z]===F[U]||K[z]==="*"))if(K[z]==="*")w=z,V=U,z++;else U++,z++;else if(w!==-1)z=w+1,V++,U=V;else return!1;while(z<K.length&&K[z]==="*")z++;return z===K.length}function $(){let F=[...X.names,...X.skips.map((K)=>"-"+K)].join(",");return X.enable(""),F}function G(F){for(let K of X.skips)if(W(F,K))return!1;for(let K of X.names)if(W(F,K))return!0;return!1}function B(F){if(F instanceof Error)return F.stack||F.message;return F}function H(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return X.enable(X.load()),X}cZ.exports=ca});var dZ=T((lZ,gQ)=>{lZ.formatArgs=da;lZ.save=pa;lZ.load=na;lZ.useColors=la;lZ.storage=ia();lZ.destroy=(()=>{let D=!1;return()=>{if(!D)D=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();lZ.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function la(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let D;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(D=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(D[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function da(D){if(D[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+D[0]+(this.useColors?"%c ":" ")+"+"+gQ.exports.humanize(this.diff),!this.useColors)return;let Y="color: "+this.color;D.splice(1,0,Y,"color: inherit");let X=0,Q=0;D[0].replace(/%[a-zA-Z%]/g,(J)=>{if(J==="%%")return;if(X++,J==="%c")Q=X}),D.splice(Q,0,Y)}lZ.log=console.debug||console.log||(()=>{});function pa(D){try{if(D)lZ.storage.setItem("debug",D);else lZ.storage.removeItem("debug")}catch(Y){}}function na(){let D;try{D=lZ.storage.getItem("debug")||lZ.storage.getItem("DEBUG")}catch(Y){}if(!D&&typeof process<"u"&&"env"in process)D=process.env.DEBUG;return D}function ia(){try{return localStorage}catch(D){}}gQ.exports=oB()(lZ);var{formatters:ra}=gQ.exports;ra.j=function(D){try{return JSON.stringify(D)}catch(Y){return"[UnexpectedJSONParseError]: "+Y.message}}});var nZ=T((pV0,pZ)=>{pZ.exports=(D,Y=process.argv)=>{let X=D.startsWith("-")?"":D.length===1?"-":"--",Q=Y.indexOf(X+D),J=Y.indexOf("--");return Q!==-1&&(J===-1||Q<J)}});var aZ=T((nV0,rZ)=>{var Xo=a("os"),iZ=a("tty"),K6=nZ(),{env:o1}=process,o9;if(K6("no-color")||K6("no-colors")||K6("color=false")||K6("color=never"))o9=0;else if(K6("color")||K6("colors")||K6("color=true")||K6("color=always"))o9=1;if("FORCE_COLOR"in o1)if(o1.FORCE_COLOR==="true")o9=1;else if(o1.FORCE_COLOR==="false")o9=0;else o9=o1.FORCE_COLOR.length===0?1:Math.min(parseInt(o1.FORCE_COLOR,10),3);function sB(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function tB(D,Y){if(o9===0)return 0;if(K6("color=16m")||K6("color=full")||K6("color=truecolor"))return 3;if(K6("color=256"))return 2;if(D&&!Y&&o9===void 0)return 0;let X=o9||0;if(o1.TERM==="dumb")return X;if(process.platform==="win32"){let Q=Xo.release().split(".");if(Number(Q[0])>=10&&Number(Q[2])>=10586)return Number(Q[2])>=14931?3:2;return 1}if("CI"in o1){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((Q)=>(Q in o1))||o1.CI_NAME==="codeship")return 1;return X}if("TEAMCITY_VERSION"in o1)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o1.TEAMCITY_VERSION)?1:0;if(o1.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in o1){let Q=parseInt((o1.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o1.TERM_PROGRAM){case"iTerm.app":return Q>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(o1.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o1.TERM))return 1;if("COLORTERM"in o1)return 1;return X}function Qo(D){let Y=tB(D,D&&D.isTTY);return sB(Y)}rZ.exports={supportsColor:Qo,stdout:sB(tB(!0,iZ.isatty(1))),stderr:sB(tB(!0,iZ.isatty(2)))}});var eZ=T((sZ,mQ)=>{var Jo=a("tty"),uQ=a("util");sZ.init=qo;sZ.log=Bo;sZ.formatArgs=$o;sZ.save=Ho;sZ.load=Fo;sZ.useColors=Wo;sZ.destroy=uQ.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");sZ.colors=[6,2,3,4,5,1];try{let D=aZ();if(D&&(D.stderr||D).level>=2)sZ.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(D){}sZ.inspectOpts=Object.keys(process.env).filter((D)=>{return/^debug_/i.test(D)}).reduce((D,Y)=>{let X=Y.substring(6).toLowerCase().replace(/_([a-z])/g,(J,W)=>{return W.toUpperCase()}),Q=process.env[Y];if(/^(yes|on|true|enabled)$/i.test(Q))Q=!0;else if(/^(no|off|false|disabled)$/i.test(Q))Q=!1;else if(Q==="null")Q=null;else Q=Number(Q);return D[X]=Q,D},{});function Wo(){return"colors"in sZ.inspectOpts?Boolean(sZ.inspectOpts.colors):Jo.isatty(process.stderr.fd)}function $o(D){let{namespace:Y,useColors:X}=this;if(X){let Q=this.color,J="\x1B[3"+(Q<8?Q:"8;5;"+Q),W=` ${J};1m${Y} \x1B[0m`;D[0]=W+D[0].split(`
|
|
44
|
+
GFS4: `),console.error(D)};if(!T1[X8]){if(_B=global[X8]||[],QZ(T1,_B),T1.close=function(D){function Y(X,Q){return D.call(T1,X,function(J){if(!J)XZ();if(typeof Q==="function")Q.apply(this,arguments)})}return Object.defineProperty(Y,PQ,{value:D}),Y}(T1.close),T1.closeSync=function(D){function Y(X){D.apply(T1,arguments),XZ()}return Object.defineProperty(Y,PQ,{value:D}),Y}(T1.closeSync),/\bgfs4\b/i.test(process.env.NODE_DEBUG||""))process.on("exit",function(){dD(T1[X8]),a("assert").equal(T1[X8].length,0)})}var _B;if(!global[X8])QZ(global,T1[X8]);vB.exports=bB(Sr(T1));if(process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH&&!T1.__patched)vB.exports=bB(T1),T1.__patched=!0;function bB(D){jr(D),D.gracefulify=bB,D.createReadStream=j,D.createWriteStream=I;var Y=D.readFile;D.readFile=X;function X(C,c,S){if(typeof c==="function")S=c,c=null;return p(C,c,S);function p(u,J0,_,N){return Y(u,J0,function(A){if(A&&(A.code==="EMFILE"||A.code==="ENFILE"))B4([p,[u,J0,_],A,N||Date.now(),Date.now()]);else if(typeof _==="function")_.apply(this,arguments)})}}var Q=D.writeFile;D.writeFile=J;function J(C,c,S,p){if(typeof S==="function")p=S,S=null;return u(C,c,S,p);function u(J0,_,N,A,R){return Q(J0,_,N,function(P){if(P&&(P.code==="EMFILE"||P.code==="ENFILE"))B4([u,[J0,_,N,A],P,R||Date.now(),Date.now()]);else if(typeof A==="function")A.apply(this,arguments)})}}var W=D.appendFile;if(W)D.appendFile=$;function $(C,c,S,p){if(typeof S==="function")p=S,S=null;return u(C,c,S,p);function u(J0,_,N,A,R){return W(J0,_,N,function(P){if(P&&(P.code==="EMFILE"||P.code==="ENFILE"))B4([u,[J0,_,N,A],P,R||Date.now(),Date.now()]);else if(typeof A==="function")A.apply(this,arguments)})}}var G=D.copyFile;if(G)D.copyFile=B;function B(C,c,S,p){if(typeof S==="function")p=S,S=0;return u(C,c,S,p);function u(J0,_,N,A,R){return G(J0,_,N,function(P){if(P&&(P.code==="EMFILE"||P.code==="ENFILE"))B4([u,[J0,_,N,A],P,R||Date.now(),Date.now()]);else if(typeof A==="function")A.apply(this,arguments)})}}var H=D.readdir;D.readdir=K;var F=/^v[0-5]\./;function K(C,c,S){if(typeof c==="function")S=c,c=null;var p=F.test(process.version)?function(_,N,A,R){return H(_,u(_,N,A,R))}:function(_,N,A,R){return H(_,N,u(_,N,A,R))};return p(C,c,S);function u(J0,_,N,A){return function(R,P){if(R&&(R.code==="EMFILE"||R.code==="ENFILE"))B4([p,[J0,_,N],R,A||Date.now(),Date.now()]);else{if(P&&P.sort)P.sort();if(typeof N==="function")N.call(this,R,P)}}}}if(process.version.substr(0,4)==="v0.8"){var U=Tr(D);O=U.ReadStream,M=U.WriteStream}var z=D.ReadStream;if(z)O.prototype=Object.create(z.prototype),O.prototype.open=Z;var w=D.WriteStream;if(w)M.prototype=Object.create(w.prototype),M.prototype.open=E;Object.defineProperty(D,"ReadStream",{get:function(){return O},set:function(C){O=C},enumerable:!0,configurable:!0}),Object.defineProperty(D,"WriteStream",{get:function(){return M},set:function(C){M=C},enumerable:!0,configurable:!0});var V=O;Object.defineProperty(D,"FileReadStream",{get:function(){return V},set:function(C){V=C},enumerable:!0,configurable:!0});var L=M;Object.defineProperty(D,"FileWriteStream",{get:function(){return L},set:function(C){L=C},enumerable:!0,configurable:!0});function O(C,c){if(this instanceof O)return z.apply(this,arguments),this;else return O.apply(Object.create(O.prototype),arguments)}function Z(){var C=this;y(C.path,C.flags,C.mode,function(c,S){if(c){if(C.autoClose)C.destroy();C.emit("error",c)}else C.fd=S,C.emit("open",S),C.read()})}function M(C,c){if(this instanceof M)return w.apply(this,arguments),this;else return M.apply(Object.create(M.prototype),arguments)}function E(){var C=this;y(C.path,C.flags,C.mode,function(c,S){if(c)C.destroy(),C.emit("error",c);else C.fd=S,C.emit("open",S)})}function j(C,c){return new D.ReadStream(C,c)}function I(C,c){return new D.WriteStream(C,c)}var x=D.open;D.open=y;function y(C,c,S,p){if(typeof S==="function")p=S,S=null;return u(C,c,S,p);function u(J0,_,N,A,R){return x(J0,_,N,function(P,v){if(P&&(P.code==="EMFILE"||P.code==="ENFILE"))B4([u,[J0,_,N,A],P,R||Date.now(),Date.now()]);else if(typeof A==="function")A.apply(this,arguments)})}}return D}function B4(D){dD("ENQUEUE",D[0].name,D[1]),T1[X8].push(D),kB()}var SQ;function XZ(){var D=Date.now();for(var Y=0;Y<T1[X8].length;++Y)if(T1[X8][Y].length>2)T1[X8][Y][3]=D,T1[X8][Y][4]=D;kB()}function kB(){if(clearTimeout(SQ),SQ=void 0,T1[X8].length===0)return;var D=T1[X8].shift(),Y=D[0],X=D[1],Q=D[2],J=D[3],W=D[4];if(J===void 0)dD("RETRY",Y.name,X),Y.apply(null,X);else if(Date.now()-J>=60000){dD("TIMEOUT",Y.name,X);var $=X.pop();if(typeof $==="function")$.call(null,Q)}else{var G=Date.now()-W,B=Math.max(W-J,1),H=Math.min(B*1.2,100);if(G>=H)dD("RETRY",Y.name,X),Y.apply(null,X.concat([J]));else T1[X8].push(D)}if(SQ===void 0)SQ=setTimeout(kB,0)}});var WZ=T((UV0,JZ)=>{function q6(D,Y){if(typeof Y==="boolean")Y={forever:Y};if(this._originalTimeouts=JSON.parse(JSON.stringify(D)),this._timeouts=D,this._options=Y||{},this._maxRetryTime=Y&&Y.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._options.forever)this._cachedTimeouts=this._timeouts.slice(0)}JZ.exports=q6;q6.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts};q6.prototype.stop=function(){if(this._timeout)clearTimeout(this._timeout);this._timeouts=[],this._cachedTimeouts=null};q6.prototype.retry=function(D){if(this._timeout)clearTimeout(this._timeout);if(!D)return!1;var Y=new Date().getTime();if(D&&Y-this._operationStart>=this._maxRetryTime)return this._errors.unshift(Error("RetryOperation timeout occurred")),!1;this._errors.push(D);var X=this._timeouts.shift();if(X===void 0)if(this._cachedTimeouts)this._errors.splice(this._errors.length-1,this._errors.length),this._timeouts=this._cachedTimeouts.slice(0),X=this._timeouts.shift();else return!1;var Q=this,J=setTimeout(function(){if(Q._attempts++,Q._operationTimeoutCb){if(Q._timeout=setTimeout(function(){Q._operationTimeoutCb(Q._attempts)},Q._operationTimeout),Q._options.unref)Q._timeout.unref()}Q._fn(Q._attempts)},X);if(this._options.unref)J.unref();return!0};q6.prototype.attempt=function(D,Y){if(this._fn=D,Y){if(Y.timeout)this._operationTimeout=Y.timeout;if(Y.cb)this._operationTimeoutCb=Y.cb}var X=this;if(this._operationTimeoutCb)this._timeout=setTimeout(function(){X._operationTimeoutCb()},X._operationTimeout);this._operationStart=new Date().getTime(),this._fn(this._attempts)};q6.prototype.try=function(D){console.log("Using RetryOperation.try() is deprecated"),this.attempt(D)};q6.prototype.start=function(D){console.log("Using RetryOperation.start() is deprecated"),this.attempt(D)};q6.prototype.start=q6.prototype.try;q6.prototype.errors=function(){return this._errors};q6.prototype.attempts=function(){return this._attempts};q6.prototype.mainError=function(){if(this._errors.length===0)return null;var D={},Y=null,X=0;for(var Q=0;Q<this._errors.length;Q++){var J=this._errors[Q],W=J.message,$=(D[W]||0)+1;if(D[W]=$,$>=X)Y=J,X=$}return Y}});var GZ=T((Cr)=>{var Ir=WZ();Cr.operation=function(D){var Y=Cr.timeouts(D);return new Ir(Y,{forever:D&&D.forever,unref:D&&D.unref,maxRetryTime:D&&D.maxRetryTime})};Cr.timeouts=function(D){if(D instanceof Array)return[].concat(D);var Y={retries:10,factor:2,minTimeout:1000,maxTimeout:1/0,randomize:!1};for(var X in D)Y[X]=D[X];if(Y.minTimeout>Y.maxTimeout)throw Error("minTimeout is greater than maxTimeout");var Q=[];for(var J=0;J<Y.retries;J++)Q.push(this.createTimeout(J,Y));if(D&&D.forever&&!Q.length)Q.push(this.createTimeout(J,Y));return Q.sort(function(W,$){return W-$}),Q};Cr.createTimeout=function(D,Y){var X=Y.randomize?Math.random()+1:1,Q=Math.round(X*Y.minTimeout*Math.pow(Y.factor,D));return Q=Math.min(Q,Y.maxTimeout),Q};Cr.wrap=function(D,Y,X){if(Y instanceof Array)X=Y,Y=null;if(!X){X=[];for(var Q in D)if(typeof D[Q]==="function")X.push(Q)}for(var J=0;J<X.length;J++){var W=X[J],$=D[W];D[W]=function(B){var H=Cr.operation(Y),F=Array.prototype.slice.call(arguments,1),K=F.pop();F.push(function(U){if(H.retry(U))return;if(U)arguments[0]=H.mainError();K.apply(this,arguments)}),H.attempt(function(){B.apply(D,F)})}.bind(D,$),D[W].options=Y}}});var BZ=T((VV0,IQ)=>{IQ.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];if(process.platform!=="win32")IQ.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");if(process.platform==="linux")IQ.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var uB=T((LV0,F4)=>{var V1=global.process,pD=function(D){return D&&typeof D==="object"&&typeof D.removeListener==="function"&&typeof D.emit==="function"&&typeof D.reallyExit==="function"&&typeof D.listeners==="function"&&typeof D.kill==="function"&&typeof D.pid==="number"&&typeof D.on==="function"};if(!pD(V1))F4.exports=function(){return function(){}};else{if(yB=a("assert"),nD=BZ(),fB=/^win/i.test(V1.platform),H4=a("events"),typeof H4!=="function")H4=H4.EventEmitter;if(V1.__signal_exit_emitter__)p1=V1.__signal_exit_emitter__;else p1=V1.__signal_exit_emitter__=new H4,p1.count=0,p1.emitted={};if(!p1.infinite)p1.setMaxListeners(1/0),p1.infinite=!0;F4.exports=function(D,Y){if(!pD(global.process))return function(){};if(yB.equal(typeof D,"function","a callback must be provided for exit handler"),iD===!1)CQ();var X="exit";if(Y&&Y.alwaysLast)X="afterexit";var Q=function(){if(p1.removeListener(X,D),p1.listeners("exit").length===0&&p1.listeners("afterexit").length===0)M3()};return p1.on(X,D),Q},M3=function(){if(!iD||!pD(global.process))return;iD=!1,nD.forEach(function(Y){try{V1.removeListener(Y,O3[Y])}catch(X){}}),V1.emit=N3,V1.reallyExit=xQ,p1.count-=1},F4.exports.unload=M3,i9=function(Y,X,Q){if(p1.emitted[Y])return;p1.emitted[Y]=!0,p1.emit(Y,X,Q)},O3={},nD.forEach(function(D){O3[D]=function(){if(!pD(global.process))return;var X=V1.listeners(D);if(X.length===p1.count){if(M3(),i9("exit",null,D),i9("afterexit",null,D),fB&&D==="SIGHUP")D="SIGINT";V1.kill(V1.pid,D)}}}),F4.exports.signals=function(){return nD},iD=!1,CQ=function(){if(iD||!pD(global.process))return;iD=!0,p1.count+=1,nD=nD.filter(function(Y){try{return V1.on(Y,O3[Y]),!0}catch(X){return!1}}),V1.emit=gB,V1.reallyExit=hB},F4.exports.load=CQ,xQ=V1.reallyExit,hB=function(Y){if(!pD(global.process))return;V1.exitCode=Y||0,i9("exit",V1.exitCode,null),i9("afterexit",V1.exitCode,null),xQ.call(V1,V1.exitCode)},N3=V1.emit,gB=function(Y,X){if(Y==="exit"&&pD(global.process)){if(X!==void 0)V1.exitCode=X;var Q=N3.apply(this,arguments);return i9("exit",V1.exitCode,null),i9("afterexit",V1.exitCode,null),Q}else return N3.apply(this,arguments)}}var yB,nD,fB,H4,p1,M3,i9,O3,iD,CQ,xQ,hB,N3,gB});var FZ=T((yr,mB)=>{var HZ=Symbol();function kr(D,Y,X){let Q=Y[HZ];if(Q)return Y.stat(D,(W,$)=>{if(W)return X(W);X(null,$.mtime,Q)});let J=new Date(Math.ceil(Date.now()/1000)*1000+5);Y.utimes(D,J,J,(W)=>{if(W)return X(W);Y.stat(D,($,G)=>{if($)return X($);let B=G.mtime.getTime()%1000===0?"s":"ms";Object.defineProperty(Y,HZ,{value:B}),X(null,G.mtime,B)})})}function vr(D){let Y=Date.now();if(D==="s")Y=Math.ceil(Y/1000)*1000;return new Date(Y)}yr.probe=kr;yr.getMtime=vr});var wZ=T((pr,A3)=>{var gr=a("path"),dB=n9(),ur=GZ(),mr=uB(),qZ=FZ(),U9={};function Z3(D,Y){return Y.lockfilePath||`${D}.lock`}function pB(D,Y,X){if(!Y.realpath)return X(null,gr.resolve(D));Y.fs.realpath(D,X)}function lB(D,Y,X){let Q=Z3(D,Y);Y.fs.mkdir(Q,(J)=>{if(!J)return qZ.probe(Q,Y.fs,(W,$,G)=>{if(W)return Y.fs.rmdir(Q,()=>{}),X(W);X(null,$,G)});if(J.code!=="EEXIST")return X(J);if(Y.stale<=0)return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));Y.fs.stat(Q,(W,$)=>{if(W){if(W.code==="ENOENT")return lB(D,{...Y,stale:0},X);return X(W)}if(!KZ($,Y))return X(Object.assign(Error("Lock file is already being held"),{code:"ELOCKED",file:D}));zZ(D,Y,(G)=>{if(G)return X(G);lB(D,{...Y,stale:0},X)})})})}function KZ(D,Y){return D.mtime.getTime()<Date.now()-Y.stale}function zZ(D,Y,X){Y.fs.rmdir(Z3(D,Y),(Q)=>{if(Q&&Q.code!=="ENOENT")return X(Q);X()})}function _Q(D,Y){let X=U9[D];if(X.updateTimeout)return;if(X.updateDelay=X.updateDelay||Y.update,X.updateTimeout=setTimeout(()=>{X.updateTimeout=null,Y.fs.stat(X.lockfilePath,(Q,J)=>{let W=X.lastUpdate+Y.stale<Date.now();if(Q){if(Q.code==="ENOENT"||W)return cB(D,X,Object.assign(Q,{code:"ECOMPROMISED"}));return X.updateDelay=1000,_Q(D,Y)}if(X.mtime.getTime()!==J.mtime.getTime())return cB(D,X,Object.assign(Error("Unable to update lock within the stale threshold"),{code:"ECOMPROMISED"}));let G=qZ.getMtime(X.mtimePrecision);Y.fs.utimes(X.lockfilePath,G,G,(B)=>{let H=X.lastUpdate+Y.stale<Date.now();if(X.released)return;if(B){if(B.code==="ENOENT"||H)return cB(D,X,Object.assign(B,{code:"ECOMPROMISED"}));return X.updateDelay=1000,_Q(D,Y)}X.mtime=G,X.lastUpdate=Date.now(),X.updateDelay=null,_Q(D,Y)})})},X.updateDelay),X.updateTimeout.unref)X.updateTimeout.unref()}function cB(D,Y,X){if(Y.released=!0,Y.updateTimeout)clearTimeout(Y.updateTimeout);if(U9[D]===Y)delete U9[D];Y.options.onCompromised(X)}function cr(D,Y,X){Y={stale:1e4,update:null,realpath:!0,retries:0,fs:dB,onCompromised:(Q)=>{throw Q},...Y},Y.retries=Y.retries||0,Y.retries=typeof Y.retries==="number"?{retries:Y.retries}:Y.retries,Y.stale=Math.max(Y.stale||0,2000),Y.update=Y.update==null?Y.stale/2:Y.update||0,Y.update=Math.max(Math.min(Y.update,Y.stale/2),1000),pB(D,Y,(Q,J)=>{if(Q)return X(Q);let W=ur.operation(Y.retries);W.attempt(()=>{lB(J,Y,($,G,B)=>{if(W.retry($))return;if($)return X(W.mainError());let H=U9[J]={lockfilePath:Z3(J,Y),mtime:G,mtimePrecision:B,options:Y,lastUpdate:Date.now()};_Q(J,Y),X(null,(F)=>{if(H.released)return F&&F(Object.assign(Error("Lock is already released"),{code:"ERELEASED"}));UZ(J,{...Y,realpath:!1},F)})})})})}function UZ(D,Y,X){Y={fs:dB,realpath:!0,...Y},pB(D,Y,(Q,J)=>{if(Q)return X(Q);let W=U9[J];if(!W)return X(Object.assign(Error("Lock is not acquired/owned by you"),{code:"ENOTACQUIRED"}));W.updateTimeout&&clearTimeout(W.updateTimeout),W.released=!0,delete U9[J],zZ(J,Y,X)})}function lr(D,Y,X){Y={stale:1e4,realpath:!0,fs:dB,...Y},Y.stale=Math.max(Y.stale||0,2000),pB(D,Y,(Q,J)=>{if(Q)return X(Q);Y.fs.stat(Z3(J,Y),(W,$)=>{if(W)return W.code==="ENOENT"?X(null,!1):X(W);return X(null,!KZ($,Y))})})}function dr(){return U9}mr(()=>{for(let D in U9){let Y=U9[D].options;try{Y.fs.rmdirSync(Z3(D,Y))}catch(X){}}});pr.lock=cr;pr.unlock=UZ;pr.check=lr;pr.getLocks=dr});var LZ=T((MV0,VZ)=>{var or=n9();function sr(D){let Y=["mkdir","realpath","stat","rmdir","utimes"],X={...D};return Y.forEach((Q)=>{X[Q]=(...J)=>{let W=J.pop(),$;try{$=D[`${Q}Sync`](...J)}catch(G){return W(G)}W(null,$)}}),X}function tr(D){return(...Y)=>new Promise((X,Q)=>{Y.push((J,W)=>{if(J)Q(J);else X(W)}),D(...Y)})}function er(D){return(...Y)=>{let X,Q;if(Y.push((J,W)=>{X=J,Q=W}),D(...Y),X)throw X;return Q}}function Da(D){if(D={...D},D.fs=sr(D.fs||or),typeof D.retries==="number"&&D.retries>0||D.retries&&typeof D.retries.retries==="number"&&D.retries.retries>0)throw Object.assign(Error("Cannot use retries with the sync api"),{code:"ESYNC"});return D}VZ.exports={toPromise:tr,toSync:er,toSyncOptions:Da}});var OZ=T((OV0,r9)=>{var q4=wZ(),{toPromise:bQ,toSync:kQ,toSyncOptions:nB}=LZ();async function MZ(D,Y){let X=await bQ(q4.lock)(D,Y);return bQ(X)}function Ya(D,Y){let X=kQ(q4.lock)(D,nB(Y));return kQ(X)}function Xa(D,Y){return bQ(q4.unlock)(D,Y)}function Qa(D,Y){return kQ(q4.unlock)(D,nB(Y))}function Ja(D,Y){return bQ(q4.check)(D,Y)}function Wa(D,Y){return kQ(q4.check)(D,nB(Y))}r9.exports=MZ;r9.exports.lock=MZ;r9.exports.unlock=Xa;r9.exports.lockSync=Ya;r9.exports.unlockSync=Qa;r9.exports.check=Ja;r9.exports.checkSync=Wa});var TZ=T((RZ)=>{Object.defineProperty(RZ,"__esModule",{value:!0});RZ.canStoreURLs=RZ.FileUrlStorage=void 0;var NZ=a("fs"),$a=Ba(rN()),ZZ=Ga(OZ());function EZ(D){if(typeof WeakMap!="function")return null;var Y=new WeakMap,X=new WeakMap;return(EZ=function(Q){return Q?X:Y})(D)}function Ga(D,Y){if(!Y&&D&&D.__esModule)return D;if(D===null||typeof D!="object"&&typeof D!="function")return{default:D};var X=EZ(Y);if(X&&X.has(D))return X.get(D);var Q={__proto__:null},J=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var W in D)if(W!=="default"&&{}.hasOwnProperty.call(D,W)){var $=J?Object.getOwnPropertyDescriptor(D,W):null;$&&($.get||$.set)?Object.defineProperty(Q,W,$):Q[W]=D[W]}return Q.default=D,X&&X.set(D,Q),Q}function Ba(D){return D&&D.__esModule?D:{default:D}}function E3(D){return E3=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Y){return typeof Y}:function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},E3(D)}function Ha(D,Y){if(!(D instanceof Y))throw TypeError("Cannot call a class as a function")}function AZ(D,Y){for(var X=0;X<Y.length;X++){var Q=Y[X];if(Q.enumerable=Q.enumerable||!1,Q.configurable=!0,"value"in Q)Q.writable=!0;Object.defineProperty(D,qa(Q.key),Q)}}function Fa(D,Y,X){if(Y)AZ(D.prototype,Y);if(X)AZ(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function qa(D){var Y=Ka(D,"string");return E3(Y)=="symbol"?Y:Y+""}function Ka(D,Y){if(E3(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Q=X.call(D,Y||"default");if(E3(Q)!="object")return Q;throw TypeError("@@toPrimitive must return a primitive value.")}return(Y==="string"?String:Number)(D)}var NV0=RZ.canStoreURLs=!0,ZV0=RZ.FileUrlStorage=function(){function D(Y){Ha(this,D),this.path=Y}return Fa(D,[{key:"findAllUploads",value:function(){var X=this;return new Promise(function(Q,J){X._getItems("tus::",function(W,$){if(W)J(W);else Q($)})})}},{key:"findUploadsByFingerprint",value:function(X){var Q=this;return new Promise(function(J,W){Q._getItems("tus::".concat(X),function($,G){if($)W($);else J(G)})})}},{key:"removeUpload",value:function(X){var Q=this;return new Promise(function(J,W){Q._removeItem(X,function($){if($)W($);else J()})})}},{key:"addUpload",value:function(X,Q){var J=this,W=Math.round(Math.random()*1000000000000),$="tus::".concat(X,"::").concat(W);return new Promise(function(G,B){J._setItem($,Q,function(H){if(H)B(H);else G($)})})}},{key:"_setItem",value:function(X,Q,J){var W=this;ZZ.lock(this.path,this._lockfileOptions()).then(function($){J=W._releaseAndCb($,J),W._getData(function(G,B){if(G){J(G);return}B[X]=Q,W._writeData(B,function(H){return J(H)})})}).catch(J)}},{key:"_getItems",value:function(X,Q){this._getData(function(J,W){if(J){Q(J);return}var $=Object.keys(W).filter(function(G){return G.startsWith(X)}).map(function(G){var B=W[G];return B.urlStorageKey=G,B});Q(null,$)})}},{key:"_removeItem",value:function(X,Q){var J=this;ZZ.lock(this.path,this._lockfileOptions()).then(function(W){Q=J._releaseAndCb(W,Q),J._getData(function($,G){if($){Q($);return}delete G[X],J._writeData(G,function(B){return Q(B)})})}).catch(Q)}},{key:"_lockfileOptions",value:function(){return{realpath:!1,retries:{retries:5,minTimeout:20}}}},{key:"_releaseAndCb",value:function(X,Q){return function(J){if(J){X().then(function(){return Q(J)}).catch(function(W){return Q((0,$a.default)([J,W]))});return}X().then(Q).catch(Q)}}},{key:"_writeData",value:function(X,Q){var J={encoding:"utf8",mode:432,flag:"w"};(0,NZ.writeFile)(this.path,JSON.stringify(X),J,function(W){return Q(W)})}},{key:"_getData",value:function(X){(0,NZ.readFile)(this.path,"utf8",function(Q,J){if(Q){if(Q.code==="ENOENT")X(null,{});else X(Q);return}try{J=!J.trim().length?{}:JSON.parse(J)}catch(W){X(W);return}X(null,J)})}}])}()});var yQ=T((a9)=>{Object.defineProperty(a9,"__esModule",{value:!0});Object.defineProperty(a9,"DefaultHttpStack",{enumerable:!0,get:function(){return CZ.default}});Object.defineProperty(a9,"DetailedError",{enumerable:!0,get:function(){return Ua.default}});Object.defineProperty(a9,"FileUrlStorage",{enumerable:!0,get:function(){return xZ.FileUrlStorage}});Object.defineProperty(a9,"StreamSource",{enumerable:!0,get:function(){return Oa.default}});a9.Upload=void 0;Object.defineProperty(a9,"canStoreURLs",{enumerable:!0,get:function(){return xZ.canStoreURLs}});a9.defaultOptions=void 0;Object.defineProperty(a9,"enableDebugLog",{enumerable:!0,get:function(){return wa.enableDebugLog}});a9.isSupported=void 0;var Ua=rD(pG()),wa=nG(),Va=rD(OM()),iB=rD(tM()),La=rD(MO()),Ma=rD(EO()),CZ=rD(gO()),Oa=rD(QB()),xZ=TZ();function rD(D){return D&&D.__esModule?D:{default:D}}function z4(D){return z4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Y){return typeof Y}:function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},z4(D)}function Na(D,Y){if(!(D instanceof Y))throw TypeError("Cannot call a class as a function")}function SZ(D,Y){for(var X=0;X<Y.length;X++){var Q=Y[X];if(Q.enumerable=Q.enumerable||!1,Q.configurable=!0,"value"in Q)Q.writable=!0;Object.defineProperty(D,bZ(Q.key),Q)}}function Za(D,Y,X){if(Y)SZ(D.prototype,Y);if(X)SZ(D,X);return Object.defineProperty(D,"prototype",{writable:!1}),D}function Aa(D,Y,X){return Y=vQ(Y),Ea(D,_Z()?Reflect.construct(Y,X||[],vQ(D).constructor):Y.apply(D,X))}function Ea(D,Y){if(Y&&(z4(Y)==="object"||typeof Y==="function"))return Y;else if(Y!==void 0)throw TypeError("Derived constructors may only return object or undefined");return Ra(D)}function Ra(D){if(D===void 0)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return D}function _Z(){try{var D=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(Y){}return(_Z=function(){return!!D})()}function vQ(D){return vQ=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(X){return X.__proto__||Object.getPrototypeOf(X)},vQ(D)}function ja(D,Y){if(typeof Y!=="function"&&Y!==null)throw TypeError("Super expression must either be null or a function");if(D.prototype=Object.create(Y&&Y.prototype,{constructor:{value:D,writable:!0,configurable:!0}}),Object.defineProperty(D,"prototype",{writable:!1}),Y)rB(D,Y)}function rB(D,Y){return rB=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(Q,J){return Q.__proto__=J,Q},rB(D,Y)}function PZ(D,Y){var X=Object.keys(D);if(Object.getOwnPropertySymbols){var Q=Object.getOwnPropertySymbols(D);Y&&(Q=Q.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),X.push.apply(X,Q)}return X}function K4(D){for(var Y=1;Y<arguments.length;Y++){var X=arguments[Y]!=null?arguments[Y]:{};Y%2?PZ(Object(X),!0).forEach(function(Q){Ta(D,Q,X[Q])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(X)):PZ(Object(X)).forEach(function(Q){Object.defineProperty(D,Q,Object.getOwnPropertyDescriptor(X,Q))})}return D}function Ta(D,Y,X){if(Y=bZ(Y),Y in D)Object.defineProperty(D,Y,{value:X,enumerable:!0,configurable:!0,writable:!0});else D[Y]=X;return D}function bZ(D){var Y=Sa(D,"string");return z4(Y)=="symbol"?Y:Y+""}function Sa(D,Y){if(z4(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Q=X.call(D,Y||"default");if(z4(Q)!="object")return Q;throw TypeError("@@toPrimitive must return a primitive value.")}return(Y==="string"?String:Number)(D)}var IZ=a9.defaultOptions=K4(K4({},iB.default.defaultOptions),{},{httpStack:new CZ.default,fileReader:new La.default,urlStorage:new Va.default,fingerprint:Ma.default}),EV0=a9.Upload=function(D){function Y(){var X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return Na(this,Y),Q=K4(K4({},IZ),Q),Aa(this,Y,[X,Q])}return ja(Y,D),Za(Y,null,[{key:"terminate",value:function(Q){var J=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};return J=K4(K4({},IZ),J),iB.default.terminate(Q,J)}}])}(iB.default),RV0=a9.isSupported=!0});var mZ=T((cV0,uZ)=>{var U4=1000,w4=U4*60,V4=w4*60,aD=V4*24,fa=aD*7,ha=aD*365.25;uZ.exports=function(D,Y){Y=Y||{};var X=typeof D;if(X==="string"&&D.length>0)return ga(D);else if(X==="number"&&isFinite(D))return Y.long?ma(D):ua(D);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(D))};function ga(D){if(D=String(D),D.length>100)return;var Y=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(D);if(!Y)return;var X=parseFloat(Y[1]),Q=(Y[2]||"ms").toLowerCase();switch(Q){case"years":case"year":case"yrs":case"yr":case"y":return X*ha;case"weeks":case"week":case"w":return X*fa;case"days":case"day":case"d":return X*aD;case"hours":case"hour":case"hrs":case"hr":case"h":return X*V4;case"minutes":case"minute":case"mins":case"min":case"m":return X*w4;case"seconds":case"second":case"secs":case"sec":case"s":return X*U4;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return X;default:return}}function ua(D){var Y=Math.abs(D);if(Y>=aD)return Math.round(D/aD)+"d";if(Y>=V4)return Math.round(D/V4)+"h";if(Y>=w4)return Math.round(D/w4)+"m";if(Y>=U4)return Math.round(D/U4)+"s";return D+"ms"}function ma(D){var Y=Math.abs(D);if(Y>=aD)return hQ(D,Y,aD,"day");if(Y>=V4)return hQ(D,Y,V4,"hour");if(Y>=w4)return hQ(D,Y,w4,"minute");if(Y>=U4)return hQ(D,Y,U4,"second");return D+" ms"}function hQ(D,Y,X,Q){var J=Y>=X*1.5;return Math.round(D/X)+" "+Q+(J?"s":"")}});var oB=T((lV0,cZ)=>{function ca(D){X.debug=X,X.default=X,X.coerce=B,X.disable=$,X.enable=J,X.enabled=G,X.humanize=mZ(),X.destroy=H,Object.keys(D).forEach((F)=>{X[F]=D[F]}),X.names=[],X.skips=[],X.formatters={};function Y(F){let K=0;for(let U=0;U<F.length;U++)K=(K<<5)-K+F.charCodeAt(U),K|=0;return X.colors[Math.abs(K)%X.colors.length]}X.selectColor=Y;function X(F){let K,U=null,z,w;function V(...L){if(!V.enabled)return;let O=V,Z=Number(new Date),M=Z-(K||Z);if(O.diff=M,O.prev=K,O.curr=Z,K=Z,L[0]=X.coerce(L[0]),typeof L[0]!=="string")L.unshift("%O");let E=0;L[0]=L[0].replace(/%([a-zA-Z%])/g,(I,x)=>{if(I==="%%")return"%";E++;let y=X.formatters[x];if(typeof y==="function"){let C=L[E];I=y.call(O,C),L.splice(E,1),E--}return I}),X.formatArgs.call(O,L),(O.log||X.log).apply(O,L)}if(V.namespace=F,V.useColors=X.useColors(),V.color=X.selectColor(F),V.extend=Q,V.destroy=X.destroy,Object.defineProperty(V,"enabled",{enumerable:!0,configurable:!1,get:()=>{if(U!==null)return U;if(z!==X.namespaces)z=X.namespaces,w=X.enabled(F);return w},set:(L)=>{U=L}}),typeof X.init==="function")X.init(V);return V}function Q(F,K){let U=X(this.namespace+(typeof K>"u"?":":K)+F);return U.log=this.log,U}function J(F){X.save(F),X.namespaces=F,X.names=[],X.skips=[];let K=(typeof F==="string"?F:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let U of K)if(U[0]==="-")X.skips.push(U.slice(1));else X.names.push(U)}function W(F,K){let U=0,z=0,w=-1,V=0;while(U<F.length)if(z<K.length&&(K[z]===F[U]||K[z]==="*"))if(K[z]==="*")w=z,V=U,z++;else U++,z++;else if(w!==-1)z=w+1,V++,U=V;else return!1;while(z<K.length&&K[z]==="*")z++;return z===K.length}function $(){let F=[...X.names,...X.skips.map((K)=>"-"+K)].join(",");return X.enable(""),F}function G(F){for(let K of X.skips)if(W(F,K))return!1;for(let K of X.names)if(W(F,K))return!0;return!1}function B(F){if(F instanceof Error)return F.stack||F.message;return F}function H(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return X.enable(X.load()),X}cZ.exports=ca});var dZ=T((lZ,gQ)=>{lZ.formatArgs=da;lZ.save=pa;lZ.load=na;lZ.useColors=la;lZ.storage=ia();lZ.destroy=(()=>{let D=!1;return()=>{if(!D)D=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}})();lZ.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function la(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let D;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(D=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(D[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function da(D){if(D[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+D[0]+(this.useColors?"%c ":" ")+"+"+gQ.exports.humanize(this.diff),!this.useColors)return;let Y="color: "+this.color;D.splice(1,0,Y,"color: inherit");let X=0,Q=0;D[0].replace(/%[a-zA-Z%]/g,(J)=>{if(J==="%%")return;if(X++,J==="%c")Q=X}),D.splice(Q,0,Y)}lZ.log=console.debug||console.log||(()=>{});function pa(D){try{if(D)lZ.storage.setItem("debug",D);else lZ.storage.removeItem("debug")}catch(Y){}}function na(){let D;try{D=lZ.storage.getItem("debug")||lZ.storage.getItem("DEBUG")}catch(Y){}if(!D&&typeof process<"u"&&"env"in process)D=process.env.DEBUG;return D}function ia(){try{return localStorage}catch(D){}}gQ.exports=oB()(lZ);var{formatters:ra}=gQ.exports;ra.j=function(D){try{return JSON.stringify(D)}catch(Y){return"[UnexpectedJSONParseError]: "+Y.message}}});var nZ=T((pV0,pZ)=>{pZ.exports=(D,Y=process.argv)=>{let X=D.startsWith("-")?"":D.length===1?"-":"--",Q=Y.indexOf(X+D),J=Y.indexOf("--");return Q!==-1&&(J===-1||Q<J)}});var aZ=T((nV0,rZ)=>{var Xo=a("os"),iZ=a("tty"),K6=nZ(),{env:o1}=process,o9;if(K6("no-color")||K6("no-colors")||K6("color=false")||K6("color=never"))o9=0;else if(K6("color")||K6("colors")||K6("color=true")||K6("color=always"))o9=1;if("FORCE_COLOR"in o1)if(o1.FORCE_COLOR==="true")o9=1;else if(o1.FORCE_COLOR==="false")o9=0;else o9=o1.FORCE_COLOR.length===0?1:Math.min(parseInt(o1.FORCE_COLOR,10),3);function sB(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function tB(D,Y){if(o9===0)return 0;if(K6("color=16m")||K6("color=full")||K6("color=truecolor"))return 3;if(K6("color=256"))return 2;if(D&&!Y&&o9===void 0)return 0;let X=o9||0;if(o1.TERM==="dumb")return X;if(process.platform==="win32"){let Q=Xo.release().split(".");if(Number(Q[0])>=10&&Number(Q[2])>=10586)return Number(Q[2])>=14931?3:2;return 1}if("CI"in o1){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some((Q)=>(Q in o1))||o1.CI_NAME==="codeship")return 1;return X}if("TEAMCITY_VERSION"in o1)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o1.TEAMCITY_VERSION)?1:0;if(o1.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in o1){let Q=parseInt((o1.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o1.TERM_PROGRAM){case"iTerm.app":return Q>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(o1.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o1.TERM))return 1;if("COLORTERM"in o1)return 1;return X}function Qo(D){let Y=tB(D,D&&D.isTTY);return sB(Y)}rZ.exports={supportsColor:Qo,stdout:sB(tB(!0,iZ.isatty(1))),stderr:sB(tB(!0,iZ.isatty(2)))}});var eZ=T((sZ,mQ)=>{var Jo=a("tty"),uQ=a("util");sZ.init=qo;sZ.log=Bo;sZ.formatArgs=$o;sZ.save=Ho;sZ.load=Fo;sZ.useColors=Wo;sZ.destroy=uQ.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");sZ.colors=[6,2,3,4,5,1];try{let D=aZ();if(D&&(D.stderr||D).level>=2)sZ.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}catch(D){}sZ.inspectOpts=Object.keys(process.env).filter((D)=>{return/^debug_/i.test(D)}).reduce((D,Y)=>{let X=Y.substring(6).toLowerCase().replace(/_([a-z])/g,(J,W)=>{return W.toUpperCase()}),Q=process.env[Y];if(/^(yes|on|true|enabled)$/i.test(Q))Q=!0;else if(/^(no|off|false|disabled)$/i.test(Q))Q=!1;else if(Q==="null")Q=null;else Q=Number(Q);return D[X]=Q,D},{});function Wo(){return"colors"in sZ.inspectOpts?Boolean(sZ.inspectOpts.colors):Jo.isatty(process.stderr.fd)}function $o(D){let{namespace:Y,useColors:X}=this;if(X){let Q=this.color,J="\x1B[3"+(Q<8?Q:"8;5;"+Q),W=` ${J};1m${Y} \x1B[0m`;D[0]=W+D[0].split(`
|
|
45
45
|
`).join(`
|
|
46
46
|
`+W),D.push(J+"m+"+mQ.exports.humanize(this.diff)+"\x1B[0m")}else D[0]=Go()+Y+" "+D[0]}function Go(){if(sZ.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function Bo(...D){return process.stderr.write(uQ.formatWithOptions(sZ.inspectOpts,...D)+`
|
|
47
47
|
`)}function Ho(D){if(D)process.env.DEBUG=D;else delete process.env.DEBUG}function Fo(){return process.env.DEBUG}function qo(D){D.inspectOpts={};let Y=Object.keys(sZ.inspectOpts);for(let X=0;X<Y.length;X++)D.inspectOpts[Y[X]]=sZ.inspectOpts[Y[X]]}mQ.exports=oB()(sZ);var{formatters:oZ}=mQ.exports;oZ.o=function(D){return this.inspectOpts.colors=this.useColors,uQ.inspect(D,this.inspectOpts).split(`
|
|
@@ -121,7 +121,7 @@ tell application "System Events" to get value of property list item "CFBundleNam
|
|
|
121
121
|
* Copyright (c) 2014-present, Jon Schlinkert.
|
|
122
122
|
* Licensed under the MIT License.
|
|
123
123
|
*/var zD0=a("util"),_P=CP(),xP=(D)=>D!==null&&typeof D==="object"&&!Array.isArray(D),UD0=(D)=>{return(Y)=>D===!0?Number(Y):String(Y)},GF=(D)=>{return typeof D==="number"||typeof D==="string"&&D!==""},JY=(D)=>Number.isInteger(+D),BF=(D)=>{let Y=`${D}`,X=-1;if(Y[0]==="-")Y=Y.slice(1);if(Y==="0")return!1;while(Y[++X]==="0");return X>0},wD0=(D,Y,X)=>{if(typeof D==="string"||typeof Y==="string")return!0;return X.stringify===!0},VD0=(D,Y,X)=>{if(Y>0){let Q=D[0]==="-"?"-":"";if(Q)D=D.slice(1);D=Q+D.padStart(Q?Y-1:Y,"0")}if(X===!1)return String(D);return D},mJ=(D,Y)=>{let X=D[0]==="-"?"-":"";if(X)D=D.slice(1),Y--;while(D.length<Y)D="0"+D;return X?"-"+D:D},LD0=(D,Y,X)=>{D.negatives.sort((G,B)=>G<B?-1:G>B?1:0),D.positives.sort((G,B)=>G<B?-1:G>B?1:0);let Q=Y.capture?"":"?:",J="",W="",$;if(D.positives.length)J=D.positives.map((G)=>mJ(String(G),X)).join("|");if(D.negatives.length)W=`-(${Q}${D.negatives.map((G)=>mJ(String(G),X)).join("|")})`;if(J&&W)$=`${J}|${W}`;else $=J||W;if(Y.wrap)return`(${Q}${$})`;return $},bP=(D,Y,X,Q)=>{if(X)return _P(D,Y,{wrap:!1,...Q});let J=String.fromCharCode(D);if(D===Y)return J;let W=String.fromCharCode(Y);return`[${J}-${W}]`},kP=(D,Y,X)=>{if(Array.isArray(D)){let Q=X.wrap===!0,J=X.capture?"":"?:";return Q?`(${J}${D.join("|")})`:D.join("|")}return _P(D,Y,X)},vP=(...D)=>{return RangeError("Invalid range arguments: "+zD0.inspect(...D))},yP=(D,Y,X)=>{if(X.strictRanges===!0)throw vP([D,Y]);return[]},MD0=(D,Y)=>{if(Y.strictRanges===!0)throw TypeError(`Expected step "${D}" to be a number`);return[]},OD0=(D,Y,X=1,Q={})=>{let J=Number(D),W=Number(Y);if(!Number.isInteger(J)||!Number.isInteger(W)){if(Q.strictRanges===!0)throw vP([D,Y]);return[]}if(J===0)J=0;if(W===0)W=0;let $=J>W,G=String(D),B=String(Y),H=String(X);X=Math.max(Math.abs(X),1);let F=BF(G)||BF(B)||BF(H),K=F?Math.max(G.length,B.length,H.length):0,U=F===!1&&wD0(D,Y,Q)===!1,z=Q.transform||UD0(U);if(Q.toRegex&&X===1)return bP(mJ(D,K),mJ(Y,K),!0,Q);let w={negatives:[],positives:[]},V=(Z)=>w[Z<0?"negatives":"positives"].push(Math.abs(Z)),L=[],O=0;while($?J>=W:J<=W){if(Q.toRegex===!0&&X>1)V(J);else L.push(VD0(z(J,O),K,U));J=$?J-X:J+X,O++}if(Q.toRegex===!0)return X>1?LD0(w,Q,K):kP(L,null,{wrap:!1,...Q});return L},ND0=(D,Y,X=1,Q={})=>{if(!JY(D)&&D.length>1||!JY(Y)&&Y.length>1)return yP(D,Y,Q);let J=Q.transform||((U)=>String.fromCharCode(U)),W=`${D}`.charCodeAt(0),$=`${Y}`.charCodeAt(0),G=W>$,B=Math.min(W,$),H=Math.max(W,$);if(Q.toRegex&&X===1)return bP(B,H,!1,Q);let F=[],K=0;while(G?W>=$:W<=$)F.push(J(W,K)),W=G?W-X:W+X,K++;if(Q.toRegex===!0)return kP(F,null,{wrap:!1,options:Q});return F},uJ=(D,Y,X,Q={})=>{if(Y==null&&GF(D))return[D];if(!GF(D)||!GF(Y))return yP(D,Y,Q);if(typeof X==="function")return uJ(D,Y,1,{transform:X});if(xP(X))return uJ(D,Y,0,X);let J={...Q};if(J.capture===!0)J.wrap=!0;if(X=X||J.step||1,!JY(X)){if(X!=null&&!xP(X))return MD0(X,J);return uJ(D,Y,1,X)}if(JY(D)&&JY(Y))return OD0(D,Y,X,J);return ND0(D,Y,Math.max(Math.abs(X),1),J)};fP.exports=uJ});var uP=T((WA0,gP)=>{var ZD0=HF(),hP=hJ(),AD0=(D,Y={})=>{let X=(Q,J={})=>{let W=hP.isInvalidBrace(J),$=Q.invalid===!0&&Y.escapeInvalid===!0,G=W===!0||$===!0,B=Y.escapeInvalid===!0?"\\":"",H="";if(Q.isOpen===!0)return B+Q.value;if(Q.isClose===!0)return console.log("node.isClose",B,Q.value),B+Q.value;if(Q.type==="open")return G?B+Q.value:"(";if(Q.type==="close")return G?B+Q.value:")";if(Q.type==="comma")return Q.prev.type==="comma"?"":G?Q.value:"|";if(Q.value)return Q.value;if(Q.nodes&&Q.ranges>0){let F=hP.reduce(Q.nodes),K=ZD0(...F,{...Y,wrap:!1,toRegex:!0,strictZeros:!0});if(K.length!==0)return F.length>1&&K.length>1?`(${K})`:K}if(Q.nodes)for(let F of Q.nodes)H+=X(F,Q);return H};return X(D)};gP.exports=AD0});var lP=T(($A0,cP)=>{var ED0=HF(),mP=gJ(),r4=hJ(),K5=(D="",Y="",X=!1)=>{let Q=[];if(D=[].concat(D),Y=[].concat(Y),!Y.length)return D;if(!D.length)return X?r4.flatten(Y).map((J)=>`{${J}}`):Y;for(let J of D)if(Array.isArray(J))for(let W of J)Q.push(K5(W,Y,X));else for(let W of Y){if(X===!0&&typeof W==="string")W=`{${W}}`;Q.push(Array.isArray(W)?K5(J,W,X):J+W)}return r4.flatten(Q)},RD0=(D,Y={})=>{let X=Y.rangeLimit===void 0?1000:Y.rangeLimit,Q=(J,W={})=>{J.queue=[];let $=W,G=W.queue;while($.type!=="brace"&&$.type!=="root"&&$.parent)$=$.parent,G=$.queue;if(J.invalid||J.dollar){G.push(K5(G.pop(),mP(J,Y)));return}if(J.type==="brace"&&J.invalid!==!0&&J.nodes.length===2){G.push(K5(G.pop(),["{}"]));return}if(J.nodes&&J.ranges>0){let K=r4.reduce(J.nodes);if(r4.exceedsLimit(...K,Y.step,X))throw RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let U=ED0(...K,Y);if(U.length===0)U=mP(J,Y);G.push(K5(G.pop(),U)),J.nodes=[];return}let B=r4.encloseBrace(J),H=J.queue,F=J;while(F.type!=="brace"&&F.type!=="root"&&F.parent)F=F.parent,H=F.queue;for(let K=0;K<J.nodes.length;K++){let U=J.nodes[K];if(U.type==="comma"&&J.type==="brace"){if(K===1)H.push("");H.push("");continue}if(U.type==="close"){G.push(K5(G.pop(),H,B));continue}if(U.value&&U.type!=="open"){H.push(K5(H.pop(),U.value));continue}if(U.nodes)Q(U,J)}return H};return r4.flatten(Q(D))};cP.exports=RD0});var pP=T((GA0,dP)=>{dP.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
124
|
-
`,CHAR_NO_BREAK_SPACE:" ",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var oP=T((BA0,aP)=>{var jD0=gJ(),{MAX_LENGTH:nP,CHAR_BACKSLASH:FF,CHAR_BACKTICK:TD0,CHAR_COMMA:SD0,CHAR_DOT:PD0,CHAR_LEFT_PARENTHESES:ID0,CHAR_RIGHT_PARENTHESES:CD0,CHAR_LEFT_CURLY_BRACE:xD0,CHAR_RIGHT_CURLY_BRACE:_D0,CHAR_LEFT_SQUARE_BRACKET:iP,CHAR_RIGHT_SQUARE_BRACKET:rP,CHAR_DOUBLE_QUOTE:bD0,CHAR_SINGLE_QUOTE:kD0,CHAR_NO_BREAK_SPACE:vD0,CHAR_ZERO_WIDTH_NOBREAK_SPACE:yD0}=pP(),fD0=(D,Y={})=>{if(typeof D!=="string")throw TypeError("Expected a string");let X=Y||{},Q=typeof X.maxLength==="number"?Math.min(nP,X.maxLength):nP;if(D.length>Q)throw SyntaxError(`Input length (${D.length}), exceeds max characters (${Q})`);let J={type:"root",input:D,nodes:[]},W=[J],$=J,G=J,B=0,H=D.length,F=0,K=0,U,z=()=>D[F++],w=(V)=>{if(V.type==="text"&&G.type==="dot")G.type="text";if(G&&G.type==="text"&&V.type==="text"){G.value+=V.value;return}return $.nodes.push(V),V.parent=$,V.prev=G,G=V,V};w({type:"bos"});while(F<H){if($=W[W.length-1],U=z(),U===yD0||U===vD0)continue;if(U===FF){w({type:"text",value:(Y.keepEscaping?U:"")+z()});continue}if(U===rP){w({type:"text",value:"\\"+U});continue}if(U===iP){B++;let V;while(F<H&&(V=z())){if(U+=V,V===iP){B++;continue}if(V===FF){U+=z();continue}if(V===rP){if(B--,B===0)break}}w({type:"text",value:U});continue}if(U===ID0){$=w({type:"paren",nodes:[]}),W.push($),w({type:"text",value:U});continue}if(U===CD0){if($.type!=="paren"){w({type:"text",value:U});continue}$=W.pop(),w({type:"text",value:U}),$=W[W.length-1];continue}if(U===bD0||U===kD0||U===TD0){let V=U,L;if(Y.keepQuotes!==!0)U="";while(F<H&&(L=z())){if(L===FF){U+=L+z();continue}if(L===V){if(Y.keepQuotes===!0)U+=L;break}U+=L}w({type:"text",value:U});continue}if(U===xD0){K++;let L={type:"brace",open:!0,close:!1,dollar:G.value&&G.value.slice(-1)==="$"||$.dollar===!0,depth:K,commas:0,ranges:0,nodes:[]};$=w(L),W.push($),w({type:"open",value:U});continue}if(U===_D0){if($.type!=="brace"){w({type:"text",value:U});continue}let V="close";$=W.pop(),$.close=!0,w({type:V,value:U}),K--,$=W[W.length-1];continue}if(U===SD0&&K>0){if($.ranges>0){$.ranges=0;let V=$.nodes.shift();$.nodes=[V,{type:"text",value:jD0($)}]}w({type:"comma",value:U}),$.commas++;continue}if(U===PD0&&K>0&&$.commas===0){let V=$.nodes;if(K===0||V.length===0){w({type:"text",value:U});continue}if(G.type==="dot"){if($.range=[],G.value+=U,G.type="range",$.nodes.length!==3&&$.nodes.length!==5){$.invalid=!0,$.ranges=0,G.type="text";continue}$.ranges++,$.args=[];continue}if(G.type==="range"){V.pop();let L=V[V.length-1];L.value+=G.value+U,G=L,$.ranges--;continue}w({type:"dot",value:U});continue}w({type:"text",value:U})}do if($=W.pop(),$.type!=="root"){$.nodes.forEach((O)=>{if(!O.nodes){if(O.type==="open")O.isOpen=!0;if(O.type==="close")O.isClose=!0;if(!O.nodes)O.type="text";O.invalid=!0}});let V=W[W.length-1],L=V.nodes.indexOf($);V.nodes.splice(L,1,...$.nodes)}while(W.length>0);return w({type:"eos"}),J};aP.exports=fD0});var eP=T((HA0,tP)=>{var sP=gJ(),hD0=uP(),gD0=lP(),uD0=oP(),J6=(D,Y={})=>{let X=[];if(Array.isArray(D))for(let Q of D){let J=J6.create(Q,Y);if(Array.isArray(J))X.push(...J);else X.push(J)}else X=[].concat(J6.create(D,Y));if(Y&&Y.expand===!0&&Y.nodupes===!0)X=[...new Set(X)];return X};J6.parse=(D,Y={})=>uD0(D,Y);J6.stringify=(D,Y={})=>{if(typeof D==="string")return sP(J6.parse(D,Y),Y);return sP(D,Y)};J6.compile=(D,Y={})=>{if(typeof D==="string")D=J6.parse(D,Y);return hD0(D,Y)};J6.expand=(D,Y={})=>{if(typeof D==="string")D=J6.parse(D,Y);let X=gD0(D,Y);if(Y.noempty===!0)X=X.filter(Boolean);if(Y.nodupes===!0)X=[...new Set(X)];return X};J6.create=(D,Y={})=>{if(D===""||D.length<3)return[D];return Y.expand!==!0?J6.compile(D,Y):J6.expand(D,Y)};tP.exports=J6});var WY=T((FA0,YI)=>{var mD0=a("path"),DI={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)"},cD0={...DI,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)"},lD0={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};YI.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:lD0,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:mD0.sep,extglobChars(D){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${D.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(D){return D===!0?cD0:DI}}});var $Y=T((oD0)=>{var dD0=a("path"),pD0=process.platform==="win32",{REGEX_BACKSLASH:nD0,REGEX_REMOVE_BACKSLASH:iD0,REGEX_SPECIAL_CHARS:rD0,REGEX_SPECIAL_CHARS_GLOBAL:aD0}=WY();oD0.isObject=(D)=>D!==null&&typeof D==="object"&&!Array.isArray(D);oD0.hasRegexChars=(D)=>rD0.test(D);oD0.isRegexChar=(D)=>D.length===1&&oD0.hasRegexChars(D);oD0.escapeRegex=(D)=>D.replace(aD0,"\\$1");oD0.toPosixSlashes=(D)=>D.replace(nD0,"/");oD0.removeBackslashes=(D)=>{return D.replace(iD0,(Y)=>{return Y==="\\"?"":Y})};oD0.supportsLookbehinds=()=>{let D=process.version.slice(1).split(".").map(Number);if(D.length===3&&D[0]>=9||D[0]===8&&D[1]>=10)return!0;return!1};oD0.isWindows=(D)=>{if(D&&typeof D.windows==="boolean")return D.windows;return pD0===!0||dD0.sep==="\\"};oD0.escapeLast=(D,Y,X)=>{let Q=D.lastIndexOf(Y,X);if(Q===-1)return D;if(D[Q-1]==="\\")return oD0.escapeLast(D,Y,Q-1);return`${D.slice(0,Q)}\\${D.slice(Q)}`};oD0.removePrefix=(D,Y={})=>{let X=D;if(X.startsWith("./"))X=X.slice(2),Y.prefix="./";return X};oD0.wrapOutput=(D,Y={},X={})=>{let Q=X.contains?"":"^",J=X.contains?"":"$",W=`${Q}(?:${D})${J}`;if(Y.negated===!0)W=`(?:^(?!${W}).*$)`;return W}});var qI=T((KA0,FI)=>{var JI=$Y(),{CHAR_ASTERISK:qF,CHAR_AT:$50,CHAR_BACKWARD_SLASH:GY,CHAR_COMMA:G50,CHAR_DOT:KF,CHAR_EXCLAMATION_MARK:zF,CHAR_FORWARD_SLASH:HI,CHAR_LEFT_CURLY_BRACE:UF,CHAR_LEFT_PARENTHESES:wF,CHAR_LEFT_SQUARE_BRACKET:B50,CHAR_PLUS:H50,CHAR_QUESTION_MARK:WI,CHAR_RIGHT_CURLY_BRACE:F50,CHAR_RIGHT_PARENTHESES:$I,CHAR_RIGHT_SQUARE_BRACKET:q50}=WY(),GI=(D)=>{return D===HI||D===GY},BI=(D)=>{if(D.isPrefix!==!0)D.depth=D.isGlobstar?1/0:1},K50=(D,Y)=>{let X=Y||{},Q=D.length-1,J=X.parts===!0||X.scanToEnd===!0,W=[],$=[],G=[],B=D,H=-1,F=0,K=0,U=!1,z=!1,w=!1,V=!1,L=!1,O=!1,Z=!1,M=!1,E=!1,j=!1,I=0,x,y,C={value:"",depth:0,isGlob:!1},c=()=>H>=Q,S=()=>B.charCodeAt(H+1),p=()=>{return x=y,B.charCodeAt(++H)};while(H<Q){y=p();let A;if(y===GY){if(Z=C.backslashes=!0,y=p(),y===UF)O=!0;continue}if(O===!0||y===UF){I++;while(c()!==!0&&(y=p())){if(y===GY){Z=C.backslashes=!0,p();continue}if(y===UF){I++;continue}if(O!==!0&&y===KF&&(y=p())===KF){if(U=C.isBrace=!0,w=C.isGlob=!0,j=!0,J===!0)continue;break}if(O!==!0&&y===G50){if(U=C.isBrace=!0,w=C.isGlob=!0,j=!0,J===!0)continue;break}if(y===F50){if(I--,I===0){O=!1,U=C.isBrace=!0,j=!0;break}}}if(J===!0)continue;break}if(y===HI){if(W.push(H),$.push(C),C={value:"",depth:0,isGlob:!1},j===!0)continue;if(x===KF&&H===F+1){F+=2;continue}K=H+1;continue}if(X.noext!==!0){if((y===H50||y===$50||y===qF||y===WI||y===zF)===!0&&S()===wF){if(w=C.isGlob=!0,V=C.isExtglob=!0,j=!0,y===zF&&H===F)E=!0;if(J===!0){while(c()!==!0&&(y=p())){if(y===GY){Z=C.backslashes=!0,y=p();continue}if(y===$I){w=C.isGlob=!0,j=!0;break}}continue}break}}if(y===qF){if(x===qF)L=C.isGlobstar=!0;if(w=C.isGlob=!0,j=!0,J===!0)continue;break}if(y===WI){if(w=C.isGlob=!0,j=!0,J===!0)continue;break}if(y===B50){while(c()!==!0&&(A=p())){if(A===GY){Z=C.backslashes=!0,p();continue}if(A===q50){z=C.isBracket=!0,w=C.isGlob=!0,j=!0;break}}if(J===!0)continue;break}if(X.nonegate!==!0&&y===zF&&H===F){M=C.negated=!0,F++;continue}if(X.noparen!==!0&&y===wF){if(w=C.isGlob=!0,J===!0){while(c()!==!0&&(y=p())){if(y===wF){Z=C.backslashes=!0,y=p();continue}if(y===$I){j=!0;break}}continue}break}if(w===!0){if(j=!0,J===!0)continue;break}}if(X.noext===!0)V=!1,w=!1;let u=B,J0="",_="";if(F>0)J0=B.slice(0,F),B=B.slice(F),K-=F;if(u&&w===!0&&K>0)u=B.slice(0,K),_=B.slice(K);else if(w===!0)u="",_=B;else u=B;if(u&&u!==""&&u!=="/"&&u!==B){if(GI(u.charCodeAt(u.length-1)))u=u.slice(0,-1)}if(X.unescape===!0){if(_)_=JI.removeBackslashes(_);if(u&&Z===!0)u=JI.removeBackslashes(u)}let N={prefix:J0,input:D,start:F,base:u,glob:_,isBrace:U,isBracket:z,isGlob:w,isExtglob:V,isGlobstar:L,negated:M,negatedExtglob:E};if(X.tokens===!0){if(N.maxDepth=0,!GI(y))$.push(C);N.tokens=$}if(X.parts===!0||X.tokens===!0){let A;for(let R=0;R<W.length;R++){let P=A?A+1:F,v=W[R],b=D.slice(P,v);if(X.tokens){if(R===0&&F!==0)$[R].isPrefix=!0,$[R].value=J0;else $[R].value=b;BI($[R]),N.maxDepth+=$[R].depth}if(R!==0||b!=="")G.push(b);A=v}if(A&&A+1<D.length){let R=D.slice(A+1);if(G.push(R),X.tokens)$[$.length-1].value=R,BI($[$.length-1]),N.maxDepth+=$[$.length-1].depth}N.slashes=W,N.parts=G}return N};FI.exports=K50});var UI=T((zA0,zI)=>{var cJ=WY(),W6=$Y(),{MAX_LENGTH:lJ,POSIX_REGEX_SOURCE:z50,REGEX_NON_SPECIAL_CHARS:U50,REGEX_SPECIAL_CHARS_BACKREF:w50,REPLACEMENTS:KI}=cJ,V50=(D,Y)=>{if(typeof Y.expandRange==="function")return Y.expandRange(...D,Y);D.sort();let X=`[${D.join("-")}]`;try{new RegExp(X)}catch(Q){return D.map((J)=>W6.escapeRegex(J)).join("..")}return X},a4=(D,Y)=>{return`Missing ${D}: "${Y}" - use "\\\\${Y}" to match literal characters`},VF=(D,Y)=>{if(typeof D!=="string")throw TypeError("Expected a string");D=KI[D]||D;let X={...Y},Q=typeof X.maxLength==="number"?Math.min(lJ,X.maxLength):lJ,J=D.length;if(J>Q)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Q}`);let W={type:"bos",value:"",output:X.prepend||""},$=[W],G=X.capture?"":"?:",B=W6.isWindows(Y),H=cJ.globChars(B),F=cJ.extglobChars(H),{DOT_LITERAL:K,PLUS_LITERAL:U,SLASH_LITERAL:z,ONE_CHAR:w,DOTS_SLASH:V,NO_DOT:L,NO_DOT_SLASH:O,NO_DOTS_SLASH:Z,QMARK:M,QMARK_NO_DOT:E,STAR:j,START_ANCHOR:I}=H,x=(Y0)=>{return`(${G}(?:(?!${I}${Y0.dot?V:K}).)*?)`},y=X.dot?"":L,C=X.dot?M:E,c=X.bash===!0?x(X):j;if(X.capture)c=`(${c})`;if(typeof X.noext==="boolean")X.noextglob=X.noext;let S={input:D,index:-1,start:0,dot:X.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:$};D=W6.removePrefix(D,S),J=D.length;let p=[],u=[],J0=[],_=W,N,A=()=>S.index===J-1,R=S.peek=(Y0=1)=>D[S.index+Y0],P=S.advance=()=>D[++S.index]||"",v=()=>D.slice(S.index+1),b=(Y0="",n0=0)=>{S.consumed+=Y0,S.index+=n0},r=(Y0)=>{S.output+=Y0.output!=null?Y0.output:Y0.value,b(Y0.value)},k=()=>{let Y0=1;while(R()==="!"&&(R(2)!=="("||R(3)==="?"))P(),S.start++,Y0++;if(Y0%2===0)return!1;return S.negated=!0,S.start++,!0},g=(Y0)=>{S[Y0]++,J0.push(Y0)},$0=(Y0)=>{S[Y0]--,J0.pop()},l=(Y0)=>{if(_.type==="globstar"){let n0=S.braces>0&&(Y0.type==="comma"||Y0.type==="brace"),t=Y0.extglob===!0||p.length&&(Y0.type==="pipe"||Y0.type==="paren");if(Y0.type!=="slash"&&Y0.type!=="paren"&&!n0&&!t)S.output=S.output.slice(0,-_.output.length),_.type="star",_.value="*",_.output=c,S.output+=_.output}if(p.length&&Y0.type!=="paren")p[p.length-1].inner+=Y0.value;if(Y0.value||Y0.output)r(Y0);if(_&&_.type==="text"&&Y0.type==="text"){_.value+=Y0.value,_.output=(_.output||"")+Y0.value;return}Y0.prev=_,$.push(Y0),_=Y0},E0=(Y0,n0)=>{let t={...F[n0],conditions:1,inner:""};t.prev=_,t.parens=S.parens,t.output=S.output;let k0=(X.capture?"(":"")+t.open;g("parens"),l({type:Y0,value:n0,output:S.output?"":w}),l({type:"paren",extglob:!0,value:P(),output:k0}),p.push(t)},o8=(Y0)=>{let n0=Y0.close+(X.capture?")":""),t;if(Y0.type==="negate"){let k0=c;if(Y0.inner&&Y0.inner.length>1&&Y0.inner.includes("/"))k0=x(X);if(k0!==c||A()||/^\)+$/.test(v()))n0=Y0.close=`)$))${k0}`;if(Y0.inner.includes("*")&&(t=v())&&/^\.[^\\/.]+$/.test(t)){let A1=VF(t,{...Y,fastpaths:!1}).output;n0=Y0.close=`)${A1})${k0})`}if(Y0.prev.type==="bos")S.negatedExtglob=!0}l({type:"paren",extglob:!0,value:N,output:n0}),$0("parens")};if(X.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(D)){let Y0=!1,n0=D.replace(w50,(t,k0,A1,N8,d1,u$)=>{if(N8==="\\")return Y0=!0,t;if(N8==="?"){if(k0)return k0+N8+(d1?M.repeat(d1.length):"");if(u$===0)return C+(d1?M.repeat(d1.length):"");return M.repeat(A1.length)}if(N8===".")return K.repeat(A1.length);if(N8==="*"){if(k0)return k0+N8+(d1?c:"");return c}return k0?t:`\\${t}`});if(Y0===!0)if(X.unescape===!0)n0=n0.replace(/\\/g,"");else n0=n0.replace(/\\+/g,(t)=>{return t.length%2===0?"\\\\":t?"\\":""});if(n0===D&&X.contains===!0)return S.output=D,S;return S.output=W6.wrapOutput(n0,S,Y),S}while(!A()){if(N=P(),N==="\x00")continue;if(N==="\\"){let t=R();if(t==="/"&&X.bash!==!0)continue;if(t==="."||t===";")continue;if(!t){N+="\\",l({type:"text",value:N});continue}let k0=/^\\+/.exec(v()),A1=0;if(k0&&k0[0].length>2){if(A1=k0[0].length,S.index+=A1,A1%2!==0)N+="\\"}if(X.unescape===!0)N=P();else N+=P();if(S.brackets===0){l({type:"text",value:N});continue}}if(S.brackets>0&&(N!=="]"||_.value==="["||_.value==="[^")){if(X.posix!==!1&&N===":"){let t=_.value.slice(1);if(t.includes("[")){if(_.posix=!0,t.includes(":")){let k0=_.value.lastIndexOf("["),A1=_.value.slice(0,k0),N8=_.value.slice(k0+2),d1=z50[N8];if(d1){if(_.value=A1+d1,S.backtrack=!0,P(),!W.output&&$.indexOf(_)===1)W.output=w;continue}}}}if(N==="["&&R()!==":"||N==="-"&&R()==="]")N=`\\${N}`;if(N==="]"&&(_.value==="["||_.value==="[^"))N=`\\${N}`;if(X.posix===!0&&N==="!"&&_.value==="[")N="^";_.value+=N,r({value:N});continue}if(S.quotes===1&&N!=='"'){N=W6.escapeRegex(N),_.value+=N,r({value:N});continue}if(N==='"'){if(S.quotes=S.quotes===1?0:1,X.keepQuotes===!0)l({type:"text",value:N});continue}if(N==="("){g("parens"),l({type:"paren",value:N});continue}if(N===")"){if(S.parens===0&&X.strictBrackets===!0)throw SyntaxError(a4("opening","("));let t=p[p.length-1];if(t&&S.parens===t.parens+1){o8(p.pop());continue}l({type:"paren",value:N,output:S.parens?")":"\\)"}),$0("parens");continue}if(N==="["){if(X.nobracket===!0||!v().includes("]")){if(X.nobracket!==!0&&X.strictBrackets===!0)throw SyntaxError(a4("closing","]"));N=`\\${N}`}else g("brackets");l({type:"bracket",value:N});continue}if(N==="]"){if(X.nobracket===!0||_&&_.type==="bracket"&&_.value.length===1){l({type:"text",value:N,output:`\\${N}`});continue}if(S.brackets===0){if(X.strictBrackets===!0)throw SyntaxError(a4("opening","["));l({type:"text",value:N,output:`\\${N}`});continue}$0("brackets");let t=_.value.slice(1);if(_.posix!==!0&&t[0]==="^"&&!t.includes("/"))N=`/${N}`;if(_.value+=N,r({value:N}),X.literalBrackets===!1||W6.hasRegexChars(t))continue;let k0=W6.escapeRegex(_.value);if(S.output=S.output.slice(0,-_.value.length),X.literalBrackets===!0){S.output+=k0,_.value=k0;continue}_.value=`(${G}${k0}|${_.value})`,S.output+=_.value;continue}if(N==="{"&&X.nobrace!==!0){g("braces");let t={type:"brace",value:N,output:"(",outputIndex:S.output.length,tokensIndex:S.tokens.length};u.push(t),l(t);continue}if(N==="}"){let t=u[u.length-1];if(X.nobrace===!0||!t){l({type:"text",value:N,output:N});continue}let k0=")";if(t.dots===!0){let A1=$.slice(),N8=[];for(let d1=A1.length-1;d1>=0;d1--){if($.pop(),A1[d1].type==="brace")break;if(A1[d1].type!=="dots")N8.unshift(A1[d1].value)}k0=V50(N8,X),S.backtrack=!0}if(t.comma!==!0&&t.dots!==!0){let A1=S.output.slice(0,t.outputIndex),N8=S.tokens.slice(t.tokensIndex);t.value=t.output="\\{",N=k0="\\}",S.output=A1;for(let d1 of N8)S.output+=d1.output||d1.value}l({type:"brace",value:N,output:k0}),$0("braces"),u.pop();continue}if(N==="|"){if(p.length>0)p[p.length-1].conditions++;l({type:"text",value:N});continue}if(N===","){let t=N,k0=u[u.length-1];if(k0&&J0[J0.length-1]==="braces")k0.comma=!0,t="|";l({type:"comma",value:N,output:t});continue}if(N==="/"){if(_.type==="dot"&&S.index===S.start+1){S.start=S.index+1,S.consumed="",S.output="",$.pop(),_=W;continue}l({type:"slash",value:N,output:z});continue}if(N==="."){if(S.braces>0&&_.type==="dot"){if(_.value===".")_.output=K;let t=u[u.length-1];_.type="dots",_.output+=N,_.value+=N,t.dots=!0;continue}if(S.braces+S.parens===0&&_.type!=="bos"&&_.type!=="slash"){l({type:"text",value:N,output:K});continue}l({type:"dot",value:N,output:K});continue}if(N==="?"){if(!(_&&_.value==="(")&&X.noextglob!==!0&&R()==="("&&R(2)!=="?"){E0("qmark",N);continue}if(_&&_.type==="paren"){let k0=R(),A1=N;if(k0==="<"&&!W6.supportsLookbehinds())throw Error("Node.js v10 or higher is required for regex lookbehinds");if(_.value==="("&&!/[!=<:]/.test(k0)||k0==="<"&&!/<([!=]|\w+>)/.test(v()))A1=`\\${N}`;l({type:"text",value:N,output:A1});continue}if(X.dot!==!0&&(_.type==="slash"||_.type==="bos")){l({type:"qmark",value:N,output:E});continue}l({type:"qmark",value:N,output:M});continue}if(N==="!"){if(X.noextglob!==!0&&R()==="("){if(R(2)!=="?"||!/[!=<:]/.test(R(3))){E0("negate",N);continue}}if(X.nonegate!==!0&&S.index===0){k();continue}}if(N==="+"){if(X.noextglob!==!0&&R()==="("&&R(2)!=="?"){E0("plus",N);continue}if(_&&_.value==="("||X.regex===!1){l({type:"plus",value:N,output:U});continue}if(_&&(_.type==="bracket"||_.type==="paren"||_.type==="brace")||S.parens>0){l({type:"plus",value:N});continue}l({type:"plus",value:U});continue}if(N==="@"){if(X.noextglob!==!0&&R()==="("&&R(2)!=="?"){l({type:"at",extglob:!0,value:N,output:""});continue}l({type:"text",value:N});continue}if(N!=="*"){if(N==="$"||N==="^")N=`\\${N}`;let t=U50.exec(v());if(t)N+=t[0],S.index+=t[0].length;l({type:"text",value:N});continue}if(_&&(_.type==="globstar"||_.star===!0)){_.type="star",_.star=!0,_.value+=N,_.output=c,S.backtrack=!0,S.globstar=!0,b(N);continue}let Y0=v();if(X.noextglob!==!0&&/^\([^?]/.test(Y0)){E0("star",N);continue}if(_.type==="star"){if(X.noglobstar===!0){b(N);continue}let t=_.prev,k0=t.prev,A1=t.type==="slash"||t.type==="bos",N8=k0&&(k0.type==="star"||k0.type==="globstar");if(X.bash===!0&&(!A1||Y0[0]&&Y0[0]!=="/")){l({type:"star",value:N,output:""});continue}let d1=S.braces>0&&(t.type==="comma"||t.type==="brace"),u$=p.length&&(t.type==="pipe"||t.type==="paren");if(!A1&&t.type!=="paren"&&!d1&&!u$){l({type:"star",value:N,output:""});continue}while(Y0.slice(0,3)==="/**"){let MX=D[S.index+4];if(MX&&MX!=="/")break;Y0=Y0.slice(3),b("/**",3)}if(t.type==="bos"&&A()){_.type="globstar",_.value+=N,_.output=x(X),S.output=_.output,S.globstar=!0,b(N);continue}if(t.type==="slash"&&t.prev.type!=="bos"&&!N8&&A()){S.output=S.output.slice(0,-(t.output+_.output).length),t.output=`(?:${t.output}`,_.type="globstar",_.output=x(X)+(X.strictSlashes?")":"|$)"),_.value+=N,S.globstar=!0,S.output+=t.output+_.output,b(N);continue}if(t.type==="slash"&&t.prev.type!=="bos"&&Y0[0]==="/"){let MX=Y0[1]!==void 0?"|$":"";S.output=S.output.slice(0,-(t.output+_.output).length),t.output=`(?:${t.output}`,_.type="globstar",_.output=`${x(X)}${z}|${z}${MX})`,_.value+=N,S.output+=t.output+_.output,S.globstar=!0,b(N+P()),l({type:"slash",value:"/",output:""});continue}if(t.type==="bos"&&Y0[0]==="/"){_.type="globstar",_.value+=N,_.output=`(?:^|${z}|${x(X)}${z})`,S.output=_.output,S.globstar=!0,b(N+P()),l({type:"slash",value:"/",output:""});continue}S.output=S.output.slice(0,-_.output.length),_.type="globstar",_.output=x(X),_.value+=N,S.output+=_.output,S.globstar=!0,b(N);continue}let n0={type:"star",value:N,output:c};if(X.bash===!0){if(n0.output=".*?",_.type==="bos"||_.type==="slash")n0.output=y+n0.output;l(n0);continue}if(_&&(_.type==="bracket"||_.type==="paren")&&X.regex===!0){n0.output=N,l(n0);continue}if(S.index===S.start||_.type==="slash"||_.type==="dot"){if(_.type==="dot")S.output+=O,_.output+=O;else if(X.dot===!0)S.output+=Z,_.output+=Z;else S.output+=y,_.output+=y;if(R()!=="*")S.output+=w,_.output+=w}l(n0)}while(S.brackets>0){if(X.strictBrackets===!0)throw SyntaxError(a4("closing","]"));S.output=W6.escapeLast(S.output,"["),$0("brackets")}while(S.parens>0){if(X.strictBrackets===!0)throw SyntaxError(a4("closing",")"));S.output=W6.escapeLast(S.output,"("),$0("parens")}while(S.braces>0){if(X.strictBrackets===!0)throw SyntaxError(a4("closing","}"));S.output=W6.escapeLast(S.output,"{"),$0("braces")}if(X.strictSlashes!==!0&&(_.type==="star"||_.type==="bracket"))l({type:"maybe_slash",value:"",output:`${z}?`});if(S.backtrack===!0){S.output="";for(let Y0 of S.tokens)if(S.output+=Y0.output!=null?Y0.output:Y0.value,Y0.suffix)S.output+=Y0.suffix}return S};VF.fastpaths=(D,Y)=>{let X={...Y},Q=typeof X.maxLength==="number"?Math.min(lJ,X.maxLength):lJ,J=D.length;if(J>Q)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Q}`);D=KI[D]||D;let W=W6.isWindows(Y),{DOT_LITERAL:$,SLASH_LITERAL:G,ONE_CHAR:B,DOTS_SLASH:H,NO_DOT:F,NO_DOTS:K,NO_DOTS_SLASH:U,STAR:z,START_ANCHOR:w}=cJ.globChars(W),V=X.dot?K:F,L=X.dot?U:F,O=X.capture?"":"?:",Z={negated:!1,prefix:""},M=X.bash===!0?".*?":z;if(X.capture)M=`(${M})`;let E=(y)=>{if(y.noglobstar===!0)return M;return`(${O}(?:(?!${w}${y.dot?H:$}).)*?)`},j=(y)=>{switch(y){case"*":return`${V}${B}${M}`;case".*":return`${$}${B}${M}`;case"*.*":return`${V}${M}${$}${B}${M}`;case"*/*":return`${V}${M}${G}${B}${L}${M}`;case"**":return V+E(X);case"**/*":return`(?:${V}${E(X)}${G})?${L}${B}${M}`;case"**/*.*":return`(?:${V}${E(X)}${G})?${L}${M}${$}${B}${M}`;case"**/.*":return`(?:${V}${E(X)}${G})?${$}${B}${M}`;default:{let C=/^(.*?)\.(\w+)$/.exec(y);if(!C)return;let c=j(C[1]);if(!c)return;return c+$+C[2]}}},I=W6.removePrefix(D,Z),x=j(I);if(x&&X.strictSlashes!==!0)x+=`${G}?`;return x};zI.exports=VF});var VI=T((UA0,wI)=>{var L50=a("path"),M50=qI(),LF=UI(),MF=$Y(),O50=WY(),N50=(D)=>D&&typeof D==="object"&&!Array.isArray(D),u1=(D,Y,X=!1)=>{if(Array.isArray(D)){let F=D.map((U)=>u1(U,Y,X));return(U)=>{for(let z of F){let w=z(U);if(w)return w}return!1}}let Q=N50(D)&&D.tokens&&D.input;if(D===""||typeof D!=="string"&&!Q)throw TypeError("Expected pattern to be a non-empty string");let J=Y||{},W=MF.isWindows(Y),$=Q?u1.compileRe(D,Y):u1.makeRe(D,Y,!1,!0),G=$.state;delete $.state;let B=()=>!1;if(J.ignore){let F={...Y,ignore:null,onMatch:null,onResult:null};B=u1(J.ignore,F,X)}let H=(F,K=!1)=>{let{isMatch:U,match:z,output:w}=u1.test(F,$,Y,{glob:D,posix:W}),V={glob:D,state:G,regex:$,posix:W,input:F,output:w,match:z,isMatch:U};if(typeof J.onResult==="function")J.onResult(V);if(U===!1)return V.isMatch=!1,K?V:!1;if(B(F)){if(typeof J.onIgnore==="function")J.onIgnore(V);return V.isMatch=!1,K?V:!1}if(typeof J.onMatch==="function")J.onMatch(V);return K?V:!0};if(X)H.state=G;return H};u1.test=(D,Y,X,{glob:Q,posix:J}={})=>{if(typeof D!=="string")throw TypeError("Expected input to be a string");if(D==="")return{isMatch:!1,output:""};let W=X||{},$=W.format||(J?MF.toPosixSlashes:null),G=D===Q,B=G&&$?$(D):D;if(G===!1)B=$?$(D):D,G=B===Q;if(G===!1||W.capture===!0)if(W.matchBase===!0||W.basename===!0)G=u1.matchBase(D,Y,X,J);else G=Y.exec(B);return{isMatch:Boolean(G),match:G,output:B}};u1.matchBase=(D,Y,X,Q=MF.isWindows(X))=>{return(Y instanceof RegExp?Y:u1.makeRe(Y,X)).test(L50.basename(D))};u1.isMatch=(D,Y,X)=>u1(Y,X)(D);u1.parse=(D,Y)=>{if(Array.isArray(D))return D.map((X)=>u1.parse(X,Y));return LF(D,{...Y,fastpaths:!1})};u1.scan=(D,Y)=>M50(D,Y);u1.compileRe=(D,Y,X=!1,Q=!1)=>{if(X===!0)return D.output;let J=Y||{},W=J.contains?"":"^",$=J.contains?"":"$",G=`${W}(?:${D.output})${$}`;if(D&&D.negated===!0)G=`^(?!${G}).*$`;let B=u1.toRegex(G,Y);if(Q===!0)B.state=D;return B};u1.makeRe=(D,Y={},X=!1,Q=!1)=>{if(!D||typeof D!=="string")throw TypeError("Expected a non-empty string");let J={negated:!1,fastpaths:!0};if(Y.fastpaths!==!1&&(D[0]==="."||D[0]==="*"))J.output=LF.fastpaths(D,Y);if(!J.output)J=LF(D,Y);return u1.compileRe(J,Y,X,Q)};u1.toRegex=(D,Y)=>{try{let X=Y||{};return new RegExp(D,X.flags||(X.nocase?"i":""))}catch(X){if(Y&&Y.debug===!0)throw X;return/$^/}};u1.constants=O50;wI.exports=u1});var AI=T((wA0,ZI)=>{var MI=a("util"),OI=eP(),t6=VI(),OF=$Y(),LI=(D)=>D===""||D==="./",NI=(D)=>{let Y=D.indexOf("{");return Y>-1&&D.indexOf("}",Y)>-1},z1=(D,Y,X)=>{Y=[].concat(Y),D=[].concat(D);let Q=new Set,J=new Set,W=new Set,$=0,G=(F)=>{if(W.add(F.output),X&&X.onResult)X.onResult(F)};for(let F=0;F<Y.length;F++){let K=t6(String(Y[F]),{...X,onResult:G},!0),U=K.state.negated||K.state.negatedExtglob;if(U)$++;for(let z of D){let w=K(z,!0);if(!(U?!w.isMatch:w.isMatch))continue;if(U)Q.add(w.output);else Q.delete(w.output),J.add(w.output)}}let H=($===Y.length?[...W]:[...J]).filter((F)=>!Q.has(F));if(X&&H.length===0){if(X.failglob===!0)throw Error(`No matches found for "${Y.join(", ")}"`);if(X.nonull===!0||X.nullglob===!0)return X.unescape?Y.map((F)=>F.replace(/\\/g,"")):Y}return H};z1.match=z1;z1.matcher=(D,Y)=>t6(D,Y);z1.isMatch=(D,Y,X)=>t6(Y,X)(D);z1.any=z1.isMatch;z1.not=(D,Y,X={})=>{Y=[].concat(Y).map(String);let Q=new Set,J=[],$=new Set(z1(D,Y,{...X,onResult:(G)=>{if(X.onResult)X.onResult(G);J.push(G.output)}}));for(let G of J)if(!$.has(G))Q.add(G);return[...Q]};z1.contains=(D,Y,X)=>{if(typeof D!=="string")throw TypeError(`Expected a string: "${MI.inspect(D)}"`);if(Array.isArray(Y))return Y.some((Q)=>z1.contains(D,Q,X));if(typeof Y==="string"){if(LI(D)||LI(Y))return!1;if(D.includes(Y)||D.startsWith("./")&&D.slice(2).includes(Y))return!0}return z1.isMatch(D,Y,{...X,contains:!0})};z1.matchKeys=(D,Y,X)=>{if(!OF.isObject(D))throw TypeError("Expected the first argument to be an object");let Q=z1(Object.keys(D),Y,X),J={};for(let W of Q)J[W]=D[W];return J};z1.some=(D,Y,X)=>{let Q=[].concat(D);for(let J of[].concat(Y)){let W=t6(String(J),X);if(Q.some(($)=>W($)))return!0}return!1};z1.every=(D,Y,X)=>{let Q=[].concat(D);for(let J of[].concat(Y)){let W=t6(String(J),X);if(!Q.every(($)=>W($)))return!1}return!0};z1.all=(D,Y,X)=>{if(typeof D!=="string")throw TypeError(`Expected a string: "${MI.inspect(D)}"`);return[].concat(Y).every((Q)=>t6(Q,X)(D))};z1.capture=(D,Y,X)=>{let Q=OF.isWindows(X),W=t6.makeRe(String(D),{...X,capture:!0}).exec(Q?OF.toPosixSlashes(Y):Y);if(W)return W.slice(1).map(($)=>$===void 0?"":$)};z1.makeRe=(...D)=>t6.makeRe(...D);z1.scan=(...D)=>t6.scan(...D);z1.parse=(D,Y)=>{let X=[];for(let Q of[].concat(D||[]))for(let J of OI(String(Q),Y))X.push(t6.parse(J,Y));return X};z1.braces=(D,Y)=>{if(typeof D!=="string")throw TypeError("Expected a string");if(Y&&Y.nobrace===!0||!NI(D))return[D];return OI(D,Y)};z1.braceExpand=(D,Y)=>{if(typeof D!=="string")throw TypeError("Expected a string");return z1.braces(D,{...Y,expand:!0})};z1.hasBraces=NI;ZI.exports=z1});var sI=T((R40,R9)=>{/*!
|
|
124
|
+
`,CHAR_NO_BREAK_SPACE:" ",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var oP=T((BA0,aP)=>{var jD0=gJ(),{MAX_LENGTH:nP,CHAR_BACKSLASH:FF,CHAR_BACKTICK:TD0,CHAR_COMMA:SD0,CHAR_DOT:PD0,CHAR_LEFT_PARENTHESES:ID0,CHAR_RIGHT_PARENTHESES:CD0,CHAR_LEFT_CURLY_BRACE:xD0,CHAR_RIGHT_CURLY_BRACE:_D0,CHAR_LEFT_SQUARE_BRACKET:iP,CHAR_RIGHT_SQUARE_BRACKET:rP,CHAR_DOUBLE_QUOTE:bD0,CHAR_SINGLE_QUOTE:kD0,CHAR_NO_BREAK_SPACE:vD0,CHAR_ZERO_WIDTH_NOBREAK_SPACE:yD0}=pP(),fD0=(D,Y={})=>{if(typeof D!=="string")throw TypeError("Expected a string");let X=Y||{},Q=typeof X.maxLength==="number"?Math.min(nP,X.maxLength):nP;if(D.length>Q)throw SyntaxError(`Input length (${D.length}), exceeds max characters (${Q})`);let J={type:"root",input:D,nodes:[]},W=[J],$=J,G=J,B=0,H=D.length,F=0,K=0,U,z=()=>D[F++],w=(V)=>{if(V.type==="text"&&G.type==="dot")G.type="text";if(G&&G.type==="text"&&V.type==="text"){G.value+=V.value;return}return $.nodes.push(V),V.parent=$,V.prev=G,G=V,V};w({type:"bos"});while(F<H){if($=W[W.length-1],U=z(),U===yD0||U===vD0)continue;if(U===FF){w({type:"text",value:(Y.keepEscaping?U:"")+z()});continue}if(U===rP){w({type:"text",value:"\\"+U});continue}if(U===iP){B++;let V;while(F<H&&(V=z())){if(U+=V,V===iP){B++;continue}if(V===FF){U+=z();continue}if(V===rP){if(B--,B===0)break}}w({type:"text",value:U});continue}if(U===ID0){$=w({type:"paren",nodes:[]}),W.push($),w({type:"text",value:U});continue}if(U===CD0){if($.type!=="paren"){w({type:"text",value:U});continue}$=W.pop(),w({type:"text",value:U}),$=W[W.length-1];continue}if(U===bD0||U===kD0||U===TD0){let V=U,L;if(Y.keepQuotes!==!0)U="";while(F<H&&(L=z())){if(L===FF){U+=L+z();continue}if(L===V){if(Y.keepQuotes===!0)U+=L;break}U+=L}w({type:"text",value:U});continue}if(U===xD0){K++;let L={type:"brace",open:!0,close:!1,dollar:G.value&&G.value.slice(-1)==="$"||$.dollar===!0,depth:K,commas:0,ranges:0,nodes:[]};$=w(L),W.push($),w({type:"open",value:U});continue}if(U===_D0){if($.type!=="brace"){w({type:"text",value:U});continue}let V="close";$=W.pop(),$.close=!0,w({type:V,value:U}),K--,$=W[W.length-1];continue}if(U===SD0&&K>0){if($.ranges>0){$.ranges=0;let V=$.nodes.shift();$.nodes=[V,{type:"text",value:jD0($)}]}w({type:"comma",value:U}),$.commas++;continue}if(U===PD0&&K>0&&$.commas===0){let V=$.nodes;if(K===0||V.length===0){w({type:"text",value:U});continue}if(G.type==="dot"){if($.range=[],G.value+=U,G.type="range",$.nodes.length!==3&&$.nodes.length!==5){$.invalid=!0,$.ranges=0,G.type="text";continue}$.ranges++,$.args=[];continue}if(G.type==="range"){V.pop();let L=V[V.length-1];L.value+=G.value+U,G=L,$.ranges--;continue}w({type:"dot",value:U});continue}w({type:"text",value:U})}do if($=W.pop(),$.type!=="root"){$.nodes.forEach((O)=>{if(!O.nodes){if(O.type==="open")O.isOpen=!0;if(O.type==="close")O.isClose=!0;if(!O.nodes)O.type="text";O.invalid=!0}});let V=W[W.length-1],L=V.nodes.indexOf($);V.nodes.splice(L,1,...$.nodes)}while(W.length>0);return w({type:"eos"}),J};aP.exports=fD0});var eP=T((HA0,tP)=>{var sP=gJ(),hD0=uP(),gD0=lP(),uD0=oP(),J6=(D,Y={})=>{let X=[];if(Array.isArray(D))for(let Q of D){let J=J6.create(Q,Y);if(Array.isArray(J))X.push(...J);else X.push(J)}else X=[].concat(J6.create(D,Y));if(Y&&Y.expand===!0&&Y.nodupes===!0)X=[...new Set(X)];return X};J6.parse=(D,Y={})=>uD0(D,Y);J6.stringify=(D,Y={})=>{if(typeof D==="string")return sP(J6.parse(D,Y),Y);return sP(D,Y)};J6.compile=(D,Y={})=>{if(typeof D==="string")D=J6.parse(D,Y);return hD0(D,Y)};J6.expand=(D,Y={})=>{if(typeof D==="string")D=J6.parse(D,Y);let X=gD0(D,Y);if(Y.noempty===!0)X=X.filter(Boolean);if(Y.nodupes===!0)X=[...new Set(X)];return X};J6.create=(D,Y={})=>{if(D===""||D.length<3)return[D];return Y.expand!==!0?J6.compile(D,Y):J6.expand(D,Y)};tP.exports=J6});var WY=T((FA0,YI)=>{var mD0=a("path"),DI={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)"},cD0={...DI,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)"},lD0={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};YI.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:lD0,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:mD0.sep,extglobChars(D){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${D.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(D){return D===!0?cD0:DI}}});var $Y=T((oD0)=>{var dD0=a("path"),pD0=process.platform==="win32",{REGEX_BACKSLASH:nD0,REGEX_REMOVE_BACKSLASH:iD0,REGEX_SPECIAL_CHARS:rD0,REGEX_SPECIAL_CHARS_GLOBAL:aD0}=WY();oD0.isObject=(D)=>D!==null&&typeof D==="object"&&!Array.isArray(D);oD0.hasRegexChars=(D)=>rD0.test(D);oD0.isRegexChar=(D)=>D.length===1&&oD0.hasRegexChars(D);oD0.escapeRegex=(D)=>D.replace(aD0,"\\$1");oD0.toPosixSlashes=(D)=>D.replace(nD0,"/");oD0.removeBackslashes=(D)=>{return D.replace(iD0,(Y)=>{return Y==="\\"?"":Y})};oD0.supportsLookbehinds=()=>{let D=process.version.slice(1).split(".").map(Number);if(D.length===3&&D[0]>=9||D[0]===8&&D[1]>=10)return!0;return!1};oD0.isWindows=(D)=>{if(D&&typeof D.windows==="boolean")return D.windows;return pD0===!0||dD0.sep==="\\"};oD0.escapeLast=(D,Y,X)=>{let Q=D.lastIndexOf(Y,X);if(Q===-1)return D;if(D[Q-1]==="\\")return oD0.escapeLast(D,Y,Q-1);return`${D.slice(0,Q)}\\${D.slice(Q)}`};oD0.removePrefix=(D,Y={})=>{let X=D;if(X.startsWith("./"))X=X.slice(2),Y.prefix="./";return X};oD0.wrapOutput=(D,Y={},X={})=>{let Q=X.contains?"":"^",J=X.contains?"":"$",W=`${Q}(?:${D})${J}`;if(Y.negated===!0)W=`(?:^(?!${W}).*$)`;return W}});var qI=T((KA0,FI)=>{var JI=$Y(),{CHAR_ASTERISK:qF,CHAR_AT:$50,CHAR_BACKWARD_SLASH:GY,CHAR_COMMA:G50,CHAR_DOT:KF,CHAR_EXCLAMATION_MARK:zF,CHAR_FORWARD_SLASH:HI,CHAR_LEFT_CURLY_BRACE:UF,CHAR_LEFT_PARENTHESES:wF,CHAR_LEFT_SQUARE_BRACKET:B50,CHAR_PLUS:H50,CHAR_QUESTION_MARK:WI,CHAR_RIGHT_CURLY_BRACE:F50,CHAR_RIGHT_PARENTHESES:$I,CHAR_RIGHT_SQUARE_BRACKET:q50}=WY(),GI=(D)=>{return D===HI||D===GY},BI=(D)=>{if(D.isPrefix!==!0)D.depth=D.isGlobstar?1/0:1},K50=(D,Y)=>{let X=Y||{},Q=D.length-1,J=X.parts===!0||X.scanToEnd===!0,W=[],$=[],G=[],B=D,H=-1,F=0,K=0,U=!1,z=!1,w=!1,V=!1,L=!1,O=!1,Z=!1,M=!1,E=!1,j=!1,I=0,x,y,C={value:"",depth:0,isGlob:!1},c=()=>H>=Q,S=()=>B.charCodeAt(H+1),p=()=>{return x=y,B.charCodeAt(++H)};while(H<Q){y=p();let A;if(y===GY){if(Z=C.backslashes=!0,y=p(),y===UF)O=!0;continue}if(O===!0||y===UF){I++;while(c()!==!0&&(y=p())){if(y===GY){Z=C.backslashes=!0,p();continue}if(y===UF){I++;continue}if(O!==!0&&y===KF&&(y=p())===KF){if(U=C.isBrace=!0,w=C.isGlob=!0,j=!0,J===!0)continue;break}if(O!==!0&&y===G50){if(U=C.isBrace=!0,w=C.isGlob=!0,j=!0,J===!0)continue;break}if(y===F50){if(I--,I===0){O=!1,U=C.isBrace=!0,j=!0;break}}}if(J===!0)continue;break}if(y===HI){if(W.push(H),$.push(C),C={value:"",depth:0,isGlob:!1},j===!0)continue;if(x===KF&&H===F+1){F+=2;continue}K=H+1;continue}if(X.noext!==!0){if((y===H50||y===$50||y===qF||y===WI||y===zF)===!0&&S()===wF){if(w=C.isGlob=!0,V=C.isExtglob=!0,j=!0,y===zF&&H===F)E=!0;if(J===!0){while(c()!==!0&&(y=p())){if(y===GY){Z=C.backslashes=!0,y=p();continue}if(y===$I){w=C.isGlob=!0,j=!0;break}}continue}break}}if(y===qF){if(x===qF)L=C.isGlobstar=!0;if(w=C.isGlob=!0,j=!0,J===!0)continue;break}if(y===WI){if(w=C.isGlob=!0,j=!0,J===!0)continue;break}if(y===B50){while(c()!==!0&&(A=p())){if(A===GY){Z=C.backslashes=!0,p();continue}if(A===q50){z=C.isBracket=!0,w=C.isGlob=!0,j=!0;break}}if(J===!0)continue;break}if(X.nonegate!==!0&&y===zF&&H===F){M=C.negated=!0,F++;continue}if(X.noparen!==!0&&y===wF){if(w=C.isGlob=!0,J===!0){while(c()!==!0&&(y=p())){if(y===wF){Z=C.backslashes=!0,y=p();continue}if(y===$I){j=!0;break}}continue}break}if(w===!0){if(j=!0,J===!0)continue;break}}if(X.noext===!0)V=!1,w=!1;let u=B,J0="",_="";if(F>0)J0=B.slice(0,F),B=B.slice(F),K-=F;if(u&&w===!0&&K>0)u=B.slice(0,K),_=B.slice(K);else if(w===!0)u="",_=B;else u=B;if(u&&u!==""&&u!=="/"&&u!==B){if(GI(u.charCodeAt(u.length-1)))u=u.slice(0,-1)}if(X.unescape===!0){if(_)_=JI.removeBackslashes(_);if(u&&Z===!0)u=JI.removeBackslashes(u)}let N={prefix:J0,input:D,start:F,base:u,glob:_,isBrace:U,isBracket:z,isGlob:w,isExtglob:V,isGlobstar:L,negated:M,negatedExtglob:E};if(X.tokens===!0){if(N.maxDepth=0,!GI(y))$.push(C);N.tokens=$}if(X.parts===!0||X.tokens===!0){let A;for(let R=0;R<W.length;R++){let P=A?A+1:F,v=W[R],b=D.slice(P,v);if(X.tokens){if(R===0&&F!==0)$[R].isPrefix=!0,$[R].value=J0;else $[R].value=b;BI($[R]),N.maxDepth+=$[R].depth}if(R!==0||b!=="")G.push(b);A=v}if(A&&A+1<D.length){let R=D.slice(A+1);if(G.push(R),X.tokens)$[$.length-1].value=R,BI($[$.length-1]),N.maxDepth+=$[$.length-1].depth}N.slashes=W,N.parts=G}return N};FI.exports=K50});var UI=T((zA0,zI)=>{var cJ=WY(),W6=$Y(),{MAX_LENGTH:lJ,POSIX_REGEX_SOURCE:z50,REGEX_NON_SPECIAL_CHARS:U50,REGEX_SPECIAL_CHARS_BACKREF:w50,REPLACEMENTS:KI}=cJ,V50=(D,Y)=>{if(typeof Y.expandRange==="function")return Y.expandRange(...D,Y);D.sort();let X=`[${D.join("-")}]`;try{new RegExp(X)}catch(Q){return D.map((J)=>W6.escapeRegex(J)).join("..")}return X},a4=(D,Y)=>{return`Missing ${D}: "${Y}" - use "\\\\${Y}" to match literal characters`},VF=(D,Y)=>{if(typeof D!=="string")throw TypeError("Expected a string");D=KI[D]||D;let X={...Y},Q=typeof X.maxLength==="number"?Math.min(lJ,X.maxLength):lJ,J=D.length;if(J>Q)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Q}`);let W={type:"bos",value:"",output:X.prepend||""},$=[W],G=X.capture?"":"?:",B=W6.isWindows(Y),H=cJ.globChars(B),F=cJ.extglobChars(H),{DOT_LITERAL:K,PLUS_LITERAL:U,SLASH_LITERAL:z,ONE_CHAR:w,DOTS_SLASH:V,NO_DOT:L,NO_DOT_SLASH:O,NO_DOTS_SLASH:Z,QMARK:M,QMARK_NO_DOT:E,STAR:j,START_ANCHOR:I}=H,x=(Y0)=>{return`(${G}(?:(?!${I}${Y0.dot?V:K}).)*?)`},y=X.dot?"":L,C=X.dot?M:E,c=X.bash===!0?x(X):j;if(X.capture)c=`(${c})`;if(typeof X.noext==="boolean")X.noextglob=X.noext;let S={input:D,index:-1,start:0,dot:X.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:$};D=W6.removePrefix(D,S),J=D.length;let p=[],u=[],J0=[],_=W,N,A=()=>S.index===J-1,R=S.peek=(Y0=1)=>D[S.index+Y0],P=S.advance=()=>D[++S.index]||"",v=()=>D.slice(S.index+1),b=(Y0="",n0=0)=>{S.consumed+=Y0,S.index+=n0},r=(Y0)=>{S.output+=Y0.output!=null?Y0.output:Y0.value,b(Y0.value)},k=()=>{let Y0=1;while(R()==="!"&&(R(2)!=="("||R(3)==="?"))P(),S.start++,Y0++;if(Y0%2===0)return!1;return S.negated=!0,S.start++,!0},g=(Y0)=>{S[Y0]++,J0.push(Y0)},$0=(Y0)=>{S[Y0]--,J0.pop()},l=(Y0)=>{if(_.type==="globstar"){let n0=S.braces>0&&(Y0.type==="comma"||Y0.type==="brace"),t=Y0.extglob===!0||p.length&&(Y0.type==="pipe"||Y0.type==="paren");if(Y0.type!=="slash"&&Y0.type!=="paren"&&!n0&&!t)S.output=S.output.slice(0,-_.output.length),_.type="star",_.value="*",_.output=c,S.output+=_.output}if(p.length&&Y0.type!=="paren")p[p.length-1].inner+=Y0.value;if(Y0.value||Y0.output)r(Y0);if(_&&_.type==="text"&&Y0.type==="text"){_.value+=Y0.value,_.output=(_.output||"")+Y0.value;return}Y0.prev=_,$.push(Y0),_=Y0},E0=(Y0,n0)=>{let t={...F[n0],conditions:1,inner:""};t.prev=_,t.parens=S.parens,t.output=S.output;let k0=(X.capture?"(":"")+t.open;g("parens"),l({type:Y0,value:n0,output:S.output?"":w}),l({type:"paren",extglob:!0,value:P(),output:k0}),p.push(t)},o8=(Y0)=>{let n0=Y0.close+(X.capture?")":""),t;if(Y0.type==="negate"){let k0=c;if(Y0.inner&&Y0.inner.length>1&&Y0.inner.includes("/"))k0=x(X);if(k0!==c||A()||/^\)+$/.test(v()))n0=Y0.close=`)$))${k0}`;if(Y0.inner.includes("*")&&(t=v())&&/^\.[^\\/.]+$/.test(t)){let A1=VF(t,{...Y,fastpaths:!1}).output;n0=Y0.close=`)${A1})${k0})`}if(Y0.prev.type==="bos")S.negatedExtglob=!0}l({type:"paren",extglob:!0,value:N,output:n0}),$0("parens")};if(X.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(D)){let Y0=!1,n0=D.replace(w50,(t,k0,A1,N8,l1,u$)=>{if(N8==="\\")return Y0=!0,t;if(N8==="?"){if(k0)return k0+N8+(l1?M.repeat(l1.length):"");if(u$===0)return C+(l1?M.repeat(l1.length):"");return M.repeat(A1.length)}if(N8===".")return K.repeat(A1.length);if(N8==="*"){if(k0)return k0+N8+(l1?c:"");return c}return k0?t:`\\${t}`});if(Y0===!0)if(X.unescape===!0)n0=n0.replace(/\\/g,"");else n0=n0.replace(/\\+/g,(t)=>{return t.length%2===0?"\\\\":t?"\\":""});if(n0===D&&X.contains===!0)return S.output=D,S;return S.output=W6.wrapOutput(n0,S,Y),S}while(!A()){if(N=P(),N==="\x00")continue;if(N==="\\"){let t=R();if(t==="/"&&X.bash!==!0)continue;if(t==="."||t===";")continue;if(!t){N+="\\",l({type:"text",value:N});continue}let k0=/^\\+/.exec(v()),A1=0;if(k0&&k0[0].length>2){if(A1=k0[0].length,S.index+=A1,A1%2!==0)N+="\\"}if(X.unescape===!0)N=P();else N+=P();if(S.brackets===0){l({type:"text",value:N});continue}}if(S.brackets>0&&(N!=="]"||_.value==="["||_.value==="[^")){if(X.posix!==!1&&N===":"){let t=_.value.slice(1);if(t.includes("[")){if(_.posix=!0,t.includes(":")){let k0=_.value.lastIndexOf("["),A1=_.value.slice(0,k0),N8=_.value.slice(k0+2),l1=z50[N8];if(l1){if(_.value=A1+l1,S.backtrack=!0,P(),!W.output&&$.indexOf(_)===1)W.output=w;continue}}}}if(N==="["&&R()!==":"||N==="-"&&R()==="]")N=`\\${N}`;if(N==="]"&&(_.value==="["||_.value==="[^"))N=`\\${N}`;if(X.posix===!0&&N==="!"&&_.value==="[")N="^";_.value+=N,r({value:N});continue}if(S.quotes===1&&N!=='"'){N=W6.escapeRegex(N),_.value+=N,r({value:N});continue}if(N==='"'){if(S.quotes=S.quotes===1?0:1,X.keepQuotes===!0)l({type:"text",value:N});continue}if(N==="("){g("parens"),l({type:"paren",value:N});continue}if(N===")"){if(S.parens===0&&X.strictBrackets===!0)throw SyntaxError(a4("opening","("));let t=p[p.length-1];if(t&&S.parens===t.parens+1){o8(p.pop());continue}l({type:"paren",value:N,output:S.parens?")":"\\)"}),$0("parens");continue}if(N==="["){if(X.nobracket===!0||!v().includes("]")){if(X.nobracket!==!0&&X.strictBrackets===!0)throw SyntaxError(a4("closing","]"));N=`\\${N}`}else g("brackets");l({type:"bracket",value:N});continue}if(N==="]"){if(X.nobracket===!0||_&&_.type==="bracket"&&_.value.length===1){l({type:"text",value:N,output:`\\${N}`});continue}if(S.brackets===0){if(X.strictBrackets===!0)throw SyntaxError(a4("opening","["));l({type:"text",value:N,output:`\\${N}`});continue}$0("brackets");let t=_.value.slice(1);if(_.posix!==!0&&t[0]==="^"&&!t.includes("/"))N=`/${N}`;if(_.value+=N,r({value:N}),X.literalBrackets===!1||W6.hasRegexChars(t))continue;let k0=W6.escapeRegex(_.value);if(S.output=S.output.slice(0,-_.value.length),X.literalBrackets===!0){S.output+=k0,_.value=k0;continue}_.value=`(${G}${k0}|${_.value})`,S.output+=_.value;continue}if(N==="{"&&X.nobrace!==!0){g("braces");let t={type:"brace",value:N,output:"(",outputIndex:S.output.length,tokensIndex:S.tokens.length};u.push(t),l(t);continue}if(N==="}"){let t=u[u.length-1];if(X.nobrace===!0||!t){l({type:"text",value:N,output:N});continue}let k0=")";if(t.dots===!0){let A1=$.slice(),N8=[];for(let l1=A1.length-1;l1>=0;l1--){if($.pop(),A1[l1].type==="brace")break;if(A1[l1].type!=="dots")N8.unshift(A1[l1].value)}k0=V50(N8,X),S.backtrack=!0}if(t.comma!==!0&&t.dots!==!0){let A1=S.output.slice(0,t.outputIndex),N8=S.tokens.slice(t.tokensIndex);t.value=t.output="\\{",N=k0="\\}",S.output=A1;for(let l1 of N8)S.output+=l1.output||l1.value}l({type:"brace",value:N,output:k0}),$0("braces"),u.pop();continue}if(N==="|"){if(p.length>0)p[p.length-1].conditions++;l({type:"text",value:N});continue}if(N===","){let t=N,k0=u[u.length-1];if(k0&&J0[J0.length-1]==="braces")k0.comma=!0,t="|";l({type:"comma",value:N,output:t});continue}if(N==="/"){if(_.type==="dot"&&S.index===S.start+1){S.start=S.index+1,S.consumed="",S.output="",$.pop(),_=W;continue}l({type:"slash",value:N,output:z});continue}if(N==="."){if(S.braces>0&&_.type==="dot"){if(_.value===".")_.output=K;let t=u[u.length-1];_.type="dots",_.output+=N,_.value+=N,t.dots=!0;continue}if(S.braces+S.parens===0&&_.type!=="bos"&&_.type!=="slash"){l({type:"text",value:N,output:K});continue}l({type:"dot",value:N,output:K});continue}if(N==="?"){if(!(_&&_.value==="(")&&X.noextglob!==!0&&R()==="("&&R(2)!=="?"){E0("qmark",N);continue}if(_&&_.type==="paren"){let k0=R(),A1=N;if(k0==="<"&&!W6.supportsLookbehinds())throw Error("Node.js v10 or higher is required for regex lookbehinds");if(_.value==="("&&!/[!=<:]/.test(k0)||k0==="<"&&!/<([!=]|\w+>)/.test(v()))A1=`\\${N}`;l({type:"text",value:N,output:A1});continue}if(X.dot!==!0&&(_.type==="slash"||_.type==="bos")){l({type:"qmark",value:N,output:E});continue}l({type:"qmark",value:N,output:M});continue}if(N==="!"){if(X.noextglob!==!0&&R()==="("){if(R(2)!=="?"||!/[!=<:]/.test(R(3))){E0("negate",N);continue}}if(X.nonegate!==!0&&S.index===0){k();continue}}if(N==="+"){if(X.noextglob!==!0&&R()==="("&&R(2)!=="?"){E0("plus",N);continue}if(_&&_.value==="("||X.regex===!1){l({type:"plus",value:N,output:U});continue}if(_&&(_.type==="bracket"||_.type==="paren"||_.type==="brace")||S.parens>0){l({type:"plus",value:N});continue}l({type:"plus",value:U});continue}if(N==="@"){if(X.noextglob!==!0&&R()==="("&&R(2)!=="?"){l({type:"at",extglob:!0,value:N,output:""});continue}l({type:"text",value:N});continue}if(N!=="*"){if(N==="$"||N==="^")N=`\\${N}`;let t=U50.exec(v());if(t)N+=t[0],S.index+=t[0].length;l({type:"text",value:N});continue}if(_&&(_.type==="globstar"||_.star===!0)){_.type="star",_.star=!0,_.value+=N,_.output=c,S.backtrack=!0,S.globstar=!0,b(N);continue}let Y0=v();if(X.noextglob!==!0&&/^\([^?]/.test(Y0)){E0("star",N);continue}if(_.type==="star"){if(X.noglobstar===!0){b(N);continue}let t=_.prev,k0=t.prev,A1=t.type==="slash"||t.type==="bos",N8=k0&&(k0.type==="star"||k0.type==="globstar");if(X.bash===!0&&(!A1||Y0[0]&&Y0[0]!=="/")){l({type:"star",value:N,output:""});continue}let l1=S.braces>0&&(t.type==="comma"||t.type==="brace"),u$=p.length&&(t.type==="pipe"||t.type==="paren");if(!A1&&t.type!=="paren"&&!l1&&!u$){l({type:"star",value:N,output:""});continue}while(Y0.slice(0,3)==="/**"){let MX=D[S.index+4];if(MX&&MX!=="/")break;Y0=Y0.slice(3),b("/**",3)}if(t.type==="bos"&&A()){_.type="globstar",_.value+=N,_.output=x(X),S.output=_.output,S.globstar=!0,b(N);continue}if(t.type==="slash"&&t.prev.type!=="bos"&&!N8&&A()){S.output=S.output.slice(0,-(t.output+_.output).length),t.output=`(?:${t.output}`,_.type="globstar",_.output=x(X)+(X.strictSlashes?")":"|$)"),_.value+=N,S.globstar=!0,S.output+=t.output+_.output,b(N);continue}if(t.type==="slash"&&t.prev.type!=="bos"&&Y0[0]==="/"){let MX=Y0[1]!==void 0?"|$":"";S.output=S.output.slice(0,-(t.output+_.output).length),t.output=`(?:${t.output}`,_.type="globstar",_.output=`${x(X)}${z}|${z}${MX})`,_.value+=N,S.output+=t.output+_.output,S.globstar=!0,b(N+P()),l({type:"slash",value:"/",output:""});continue}if(t.type==="bos"&&Y0[0]==="/"){_.type="globstar",_.value+=N,_.output=`(?:^|${z}|${x(X)}${z})`,S.output=_.output,S.globstar=!0,b(N+P()),l({type:"slash",value:"/",output:""});continue}S.output=S.output.slice(0,-_.output.length),_.type="globstar",_.output=x(X),_.value+=N,S.output+=_.output,S.globstar=!0,b(N);continue}let n0={type:"star",value:N,output:c};if(X.bash===!0){if(n0.output=".*?",_.type==="bos"||_.type==="slash")n0.output=y+n0.output;l(n0);continue}if(_&&(_.type==="bracket"||_.type==="paren")&&X.regex===!0){n0.output=N,l(n0);continue}if(S.index===S.start||_.type==="slash"||_.type==="dot"){if(_.type==="dot")S.output+=O,_.output+=O;else if(X.dot===!0)S.output+=Z,_.output+=Z;else S.output+=y,_.output+=y;if(R()!=="*")S.output+=w,_.output+=w}l(n0)}while(S.brackets>0){if(X.strictBrackets===!0)throw SyntaxError(a4("closing","]"));S.output=W6.escapeLast(S.output,"["),$0("brackets")}while(S.parens>0){if(X.strictBrackets===!0)throw SyntaxError(a4("closing",")"));S.output=W6.escapeLast(S.output,"("),$0("parens")}while(S.braces>0){if(X.strictBrackets===!0)throw SyntaxError(a4("closing","}"));S.output=W6.escapeLast(S.output,"{"),$0("braces")}if(X.strictSlashes!==!0&&(_.type==="star"||_.type==="bracket"))l({type:"maybe_slash",value:"",output:`${z}?`});if(S.backtrack===!0){S.output="";for(let Y0 of S.tokens)if(S.output+=Y0.output!=null?Y0.output:Y0.value,Y0.suffix)S.output+=Y0.suffix}return S};VF.fastpaths=(D,Y)=>{let X={...Y},Q=typeof X.maxLength==="number"?Math.min(lJ,X.maxLength):lJ,J=D.length;if(J>Q)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Q}`);D=KI[D]||D;let W=W6.isWindows(Y),{DOT_LITERAL:$,SLASH_LITERAL:G,ONE_CHAR:B,DOTS_SLASH:H,NO_DOT:F,NO_DOTS:K,NO_DOTS_SLASH:U,STAR:z,START_ANCHOR:w}=cJ.globChars(W),V=X.dot?K:F,L=X.dot?U:F,O=X.capture?"":"?:",Z={negated:!1,prefix:""},M=X.bash===!0?".*?":z;if(X.capture)M=`(${M})`;let E=(y)=>{if(y.noglobstar===!0)return M;return`(${O}(?:(?!${w}${y.dot?H:$}).)*?)`},j=(y)=>{switch(y){case"*":return`${V}${B}${M}`;case".*":return`${$}${B}${M}`;case"*.*":return`${V}${M}${$}${B}${M}`;case"*/*":return`${V}${M}${G}${B}${L}${M}`;case"**":return V+E(X);case"**/*":return`(?:${V}${E(X)}${G})?${L}${B}${M}`;case"**/*.*":return`(?:${V}${E(X)}${G})?${L}${M}${$}${B}${M}`;case"**/.*":return`(?:${V}${E(X)}${G})?${$}${B}${M}`;default:{let C=/^(.*?)\.(\w+)$/.exec(y);if(!C)return;let c=j(C[1]);if(!c)return;return c+$+C[2]}}},I=W6.removePrefix(D,Z),x=j(I);if(x&&X.strictSlashes!==!0)x+=`${G}?`;return x};zI.exports=VF});var VI=T((UA0,wI)=>{var L50=a("path"),M50=qI(),LF=UI(),MF=$Y(),O50=WY(),N50=(D)=>D&&typeof D==="object"&&!Array.isArray(D),g1=(D,Y,X=!1)=>{if(Array.isArray(D)){let F=D.map((U)=>g1(U,Y,X));return(U)=>{for(let z of F){let w=z(U);if(w)return w}return!1}}let Q=N50(D)&&D.tokens&&D.input;if(D===""||typeof D!=="string"&&!Q)throw TypeError("Expected pattern to be a non-empty string");let J=Y||{},W=MF.isWindows(Y),$=Q?g1.compileRe(D,Y):g1.makeRe(D,Y,!1,!0),G=$.state;delete $.state;let B=()=>!1;if(J.ignore){let F={...Y,ignore:null,onMatch:null,onResult:null};B=g1(J.ignore,F,X)}let H=(F,K=!1)=>{let{isMatch:U,match:z,output:w}=g1.test(F,$,Y,{glob:D,posix:W}),V={glob:D,state:G,regex:$,posix:W,input:F,output:w,match:z,isMatch:U};if(typeof J.onResult==="function")J.onResult(V);if(U===!1)return V.isMatch=!1,K?V:!1;if(B(F)){if(typeof J.onIgnore==="function")J.onIgnore(V);return V.isMatch=!1,K?V:!1}if(typeof J.onMatch==="function")J.onMatch(V);return K?V:!0};if(X)H.state=G;return H};g1.test=(D,Y,X,{glob:Q,posix:J}={})=>{if(typeof D!=="string")throw TypeError("Expected input to be a string");if(D==="")return{isMatch:!1,output:""};let W=X||{},$=W.format||(J?MF.toPosixSlashes:null),G=D===Q,B=G&&$?$(D):D;if(G===!1)B=$?$(D):D,G=B===Q;if(G===!1||W.capture===!0)if(W.matchBase===!0||W.basename===!0)G=g1.matchBase(D,Y,X,J);else G=Y.exec(B);return{isMatch:Boolean(G),match:G,output:B}};g1.matchBase=(D,Y,X,Q=MF.isWindows(X))=>{return(Y instanceof RegExp?Y:g1.makeRe(Y,X)).test(L50.basename(D))};g1.isMatch=(D,Y,X)=>g1(Y,X)(D);g1.parse=(D,Y)=>{if(Array.isArray(D))return D.map((X)=>g1.parse(X,Y));return LF(D,{...Y,fastpaths:!1})};g1.scan=(D,Y)=>M50(D,Y);g1.compileRe=(D,Y,X=!1,Q=!1)=>{if(X===!0)return D.output;let J=Y||{},W=J.contains?"":"^",$=J.contains?"":"$",G=`${W}(?:${D.output})${$}`;if(D&&D.negated===!0)G=`^(?!${G}).*$`;let B=g1.toRegex(G,Y);if(Q===!0)B.state=D;return B};g1.makeRe=(D,Y={},X=!1,Q=!1)=>{if(!D||typeof D!=="string")throw TypeError("Expected a non-empty string");let J={negated:!1,fastpaths:!0};if(Y.fastpaths!==!1&&(D[0]==="."||D[0]==="*"))J.output=LF.fastpaths(D,Y);if(!J.output)J=LF(D,Y);return g1.compileRe(J,Y,X,Q)};g1.toRegex=(D,Y)=>{try{let X=Y||{};return new RegExp(D,X.flags||(X.nocase?"i":""))}catch(X){if(Y&&Y.debug===!0)throw X;return/$^/}};g1.constants=O50;wI.exports=g1});var AI=T((wA0,ZI)=>{var MI=a("util"),OI=eP(),t6=VI(),OF=$Y(),LI=(D)=>D===""||D==="./",NI=(D)=>{let Y=D.indexOf("{");return Y>-1&&D.indexOf("}",Y)>-1},z1=(D,Y,X)=>{Y=[].concat(Y),D=[].concat(D);let Q=new Set,J=new Set,W=new Set,$=0,G=(F)=>{if(W.add(F.output),X&&X.onResult)X.onResult(F)};for(let F=0;F<Y.length;F++){let K=t6(String(Y[F]),{...X,onResult:G},!0),U=K.state.negated||K.state.negatedExtglob;if(U)$++;for(let z of D){let w=K(z,!0);if(!(U?!w.isMatch:w.isMatch))continue;if(U)Q.add(w.output);else Q.delete(w.output),J.add(w.output)}}let H=($===Y.length?[...W]:[...J]).filter((F)=>!Q.has(F));if(X&&H.length===0){if(X.failglob===!0)throw Error(`No matches found for "${Y.join(", ")}"`);if(X.nonull===!0||X.nullglob===!0)return X.unescape?Y.map((F)=>F.replace(/\\/g,"")):Y}return H};z1.match=z1;z1.matcher=(D,Y)=>t6(D,Y);z1.isMatch=(D,Y,X)=>t6(Y,X)(D);z1.any=z1.isMatch;z1.not=(D,Y,X={})=>{Y=[].concat(Y).map(String);let Q=new Set,J=[],$=new Set(z1(D,Y,{...X,onResult:(G)=>{if(X.onResult)X.onResult(G);J.push(G.output)}}));for(let G of J)if(!$.has(G))Q.add(G);return[...Q]};z1.contains=(D,Y,X)=>{if(typeof D!=="string")throw TypeError(`Expected a string: "${MI.inspect(D)}"`);if(Array.isArray(Y))return Y.some((Q)=>z1.contains(D,Q,X));if(typeof Y==="string"){if(LI(D)||LI(Y))return!1;if(D.includes(Y)||D.startsWith("./")&&D.slice(2).includes(Y))return!0}return z1.isMatch(D,Y,{...X,contains:!0})};z1.matchKeys=(D,Y,X)=>{if(!OF.isObject(D))throw TypeError("Expected the first argument to be an object");let Q=z1(Object.keys(D),Y,X),J={};for(let W of Q)J[W]=D[W];return J};z1.some=(D,Y,X)=>{let Q=[].concat(D);for(let J of[].concat(Y)){let W=t6(String(J),X);if(Q.some(($)=>W($)))return!0}return!1};z1.every=(D,Y,X)=>{let Q=[].concat(D);for(let J of[].concat(Y)){let W=t6(String(J),X);if(!Q.every(($)=>W($)))return!1}return!0};z1.all=(D,Y,X)=>{if(typeof D!=="string")throw TypeError(`Expected a string: "${MI.inspect(D)}"`);return[].concat(Y).every((Q)=>t6(Q,X)(D))};z1.capture=(D,Y,X)=>{let Q=OF.isWindows(X),W=t6.makeRe(String(D),{...X,capture:!0}).exec(Q?OF.toPosixSlashes(Y):Y);if(W)return W.slice(1).map(($)=>$===void 0?"":$)};z1.makeRe=(...D)=>t6.makeRe(...D);z1.scan=(...D)=>t6.scan(...D);z1.parse=(D,Y)=>{let X=[];for(let Q of[].concat(D||[]))for(let J of OI(String(Q),Y))X.push(t6.parse(J,Y));return X};z1.braces=(D,Y)=>{if(typeof D!=="string")throw TypeError("Expected a string");if(Y&&Y.nobrace===!0||!NI(D))return[D];return OI(D,Y)};z1.braceExpand=(D,Y)=>{if(typeof D!=="string")throw TypeError("Expected a string");return z1.braces(D,{...Y,expand:!0})};z1.hasBraces=NI;ZI.exports=z1});var sI=T((R40,R9)=>{/*!
|
|
125
125
|
* Tmp
|
|
126
126
|
*
|
|
127
127
|
* Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
|
|
@@ -134,7 +134,7 @@ tell application "System Events" to get value of property list item "CFBundleNam
|
|
|
134
134
|
|| ${$} === "boolean" || ${J} === null`).assign(G,P0._`[${J}]`)}}}function lW0({gen:D,parentData:Y,parentDataProperty:X},Q){D.if(P0._`${Y} !== undefined`,()=>D.assign(P0._`${Y}[${X}]`,Q))}function uz(D,Y,X,Q=T7.Correct){let J=Q===T7.Correct?P0.operators.EQ:P0.operators.NEQ,W;switch(D){case"null":return P0._`${Y} ${J} null`;case"array":W=P0._`Array.isArray(${Y})`;break;case"object":W=P0._`${Y} && typeof ${Y} == "object" && !Array.isArray(${Y})`;break;case"integer":W=$(P0._`!(${Y} % 1) && !isNaN(${Y})`);break;case"number":W=$();break;default:return P0._`typeof ${Y} ${J} ${D}`}return Q===T7.Correct?W:(0,P0.not)(W);function $(G=P0.nil){return(0,P0.and)(P0._`typeof ${Y} == "number"`,G,X?P0._`isFinite(${Y})`:P0.nil)}}Xk.checkDataType=uz;function mz(D,Y,X,Q){if(D.length===1)return uz(D[0],Y,X,Q);let J,W=(0,eb.toHash)(D);if(W.array&&W.object){let $=P0._`typeof ${Y} != "object"`;J=W.null?$:P0._`!${Y} || ${$}`,delete W.null,delete W.array,delete W.object}else J=P0.nil;if(W.number)delete W.integer;for(let $ in W)J=(0,P0.and)(J,uz($,Y,X,Q));return J}Xk.checkDataTypes=mz;var dW0={message:({schema:D})=>`must be ${D}`,params:({schema:D,schemaValue:Y})=>typeof D=="string"?P0._`{type: ${D}}`:P0._`{type: ${Y}}`};function cz(D){let Y=pW0(D);(0,hW0.reportError)(Y,dW0)}Xk.reportTypeError=cz;function pW0(D){let{gen:Y,data:X,schema:Q}=D,J=(0,eb.schemaRefOrVal)(D,Q,"type");return{gen:Y,keyword:"type",data:X,schema:Q.type,schemaCode:J,schemaValue:J,parentSchema:Q,params:{},it:D}}});var Gk=T((Wk)=>{Object.defineProperty(Wk,"__esModule",{value:!0});Wk.assignDefaults=void 0;var S7=x0(),tW0=p0();function eW0(D,Y){let{properties:X,items:Q}=D.schema;if(Y==="object"&&X)for(let J in X)Jk(D,J,X[J].default);else if(Y==="array"&&Array.isArray(Q))Q.forEach((J,W)=>Jk(D,W,J.default))}Wk.assignDefaults=eW0;function Jk(D,Y,X){let{gen:Q,compositeRule:J,data:W,opts:$}=D;if(X===void 0)return;let G=S7._`${W}${(0,S7.getProperty)(Y)}`;if(J){(0,tW0.checkStrictMode)(D,`default is ignored for: ${G}`);return}let B=S7._`${G} === undefined`;if($.useDefaults==="empty")B=S7._`${B} || ${G} === null || ${G} === ""`;Q.if(B,S7._`${G} = ${(0,S7.stringify)(X)}`)}});var Z6=T((Fk)=>{Object.defineProperty(Fk,"__esModule",{value:!0});Fk.validateUnion=Fk.validateArray=Fk.usePattern=Fk.callValidateCode=Fk.schemaProperties=Fk.allSchemaProperties=Fk.noPropertyInData=Fk.propertyInData=Fk.isOwnProperty=Fk.hasPropFunc=Fk.reportMissingProp=Fk.checkMissingProp=Fk.checkReportMissingProp=void 0;var U1=x0(),lz=p0(),AD=C9(),D$0=p0();function Y$0(D,Y){let{gen:X,data:Q,it:J}=D;X.if(pz(X,Q,Y,J.opts.ownProperties),()=>{D.setParams({missingProperty:U1._`${Y}`},!0),D.error()})}Fk.checkReportMissingProp=Y$0;function X$0({gen:D,data:Y,it:{opts:X}},Q,J){return(0,U1.or)(...Q.map((W)=>(0,U1.and)(pz(D,Y,W,X.ownProperties),U1._`${J} = ${W}`)))}Fk.checkMissingProp=X$0;function Q$0(D,Y){D.setParams({missingProperty:Y},!0),D.error()}Fk.reportMissingProp=Q$0;function Bk(D){return D.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:U1._`Object.prototype.hasOwnProperty`})}Fk.hasPropFunc=Bk;function dz(D,Y,X){return U1._`${Bk(D)}.call(${Y}, ${X})`}Fk.isOwnProperty=dz;function J$0(D,Y,X,Q){let J=U1._`${Y}${(0,U1.getProperty)(X)} !== undefined`;return Q?U1._`${J} && ${dz(D,Y,X)}`:J}Fk.propertyInData=J$0;function pz(D,Y,X,Q){let J=U1._`${Y}${(0,U1.getProperty)(X)} === undefined`;return Q?(0,U1.or)(J,(0,U1.not)(dz(D,Y,X))):J}Fk.noPropertyInData=pz;function Hk(D){return D?Object.keys(D).filter((Y)=>Y!=="__proto__"):[]}Fk.allSchemaProperties=Hk;function W$0(D,Y){return Hk(Y).filter((X)=>!(0,lz.alwaysValidSchema)(D,Y[X]))}Fk.schemaProperties=W$0;function $$0({schemaCode:D,data:Y,it:{gen:X,topSchemaRef:Q,schemaPath:J,errorPath:W},it:$},G,B,H){let F=H?U1._`${D}, ${Y}, ${Q}${J}`:Y,K=[[AD.default.instancePath,(0,U1.strConcat)(AD.default.instancePath,W)],[AD.default.parentData,$.parentData],[AD.default.parentDataProperty,$.parentDataProperty],[AD.default.rootData,AD.default.rootData]];if($.opts.dynamicRef)K.push([AD.default.dynamicAnchors,AD.default.dynamicAnchors]);let U=U1._`${F}, ${X.object(...K)}`;return B!==U1.nil?U1._`${G}.call(${B}, ${U})`:U1._`${G}(${U})`}Fk.callValidateCode=$$0;var G$0=U1._`new RegExp`;function B$0({gen:D,it:{opts:Y}},X){let Q=Y.unicodeRegExp?"u":"",{regExp:J}=Y.code,W=J(X,Q);return D.scopeValue("pattern",{key:W.toString(),ref:W,code:U1._`${J.code==="new RegExp"?G$0:(0,D$0.useFunc)(D,J)}(${X}, ${Q})`})}Fk.usePattern=B$0;function H$0(D){let{gen:Y,data:X,keyword:Q,it:J}=D,W=Y.name("valid");if(J.allErrors){let G=Y.let("valid",!0);return $(()=>Y.assign(G,!1)),G}return Y.var(W,!0),$(()=>Y.break()),W;function $(G){let B=Y.const("len",U1._`${X}.length`);Y.forRange("i",0,B,(H)=>{D.subschema({keyword:Q,dataProp:H,dataPropType:lz.Type.Num},W),Y.if((0,U1.not)(W),G)})}}Fk.validateArray=H$0;function F$0(D){let{gen:Y,schema:X,keyword:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(X.some((B)=>(0,lz.alwaysValidSchema)(J,B))&&!J.opts.unevaluated)return;let $=Y.let("valid",!1),G=Y.name("_valid");Y.block(()=>X.forEach((B,H)=>{let F=D.subschema({keyword:Q,schemaProp:H,compositeRule:!0},G);if(Y.assign($,U1._`${$} || ${G}`),!D.mergeValidEvaluated(F,G))Y.if((0,U1.not)($))})),D.result($,()=>D.reset(),()=>D.error(!0))}Fk.validateUnion=F$0});var Vk=T((Uk)=>{Object.defineProperty(Uk,"__esModule",{value:!0});Uk.validateKeywordUsage=Uk.validSchemaType=Uk.funcKeywordCode=Uk.macroKeywordCode=void 0;var y8=x0(),S5=C9(),E$0=Z6(),R$0=aY();function j$0(D,Y){let{gen:X,keyword:Q,schema:J,parentSchema:W,it:$}=D,G=Y.macro.call($.self,J,W,$),B=zk(X,Q,G);if($.opts.validateSchema!==!1)$.self.validateSchema(G,!0);let H=X.name("valid");D.subschema({schema:G,schemaPath:y8.nil,errSchemaPath:`${$.errSchemaPath}/${Q}`,topSchemaRef:B,compositeRule:!0},H),D.pass(H,()=>D.error(!0))}Uk.macroKeywordCode=j$0;function T$0(D,Y){var X;let{gen:Q,keyword:J,schema:W,parentSchema:$,$data:G,it:B}=D;P$0(B,Y);let H=!G&&Y.compile?Y.compile.call(B.self,W,$,B):Y.validate,F=zk(Q,J,H),K=Q.let("valid");D.block$data(K,U),D.ok((X=Y.valid)!==null&&X!==void 0?X:K);function U(){if(Y.errors===!1){if(V(),Y.modifying)Kk(D);L(()=>D.error())}else{let O=Y.async?z():w();if(Y.modifying)Kk(D);L(()=>S$0(D,O))}}function z(){let O=Q.let("ruleErrs",null);return Q.try(()=>V(y8._`await `),(Z)=>Q.assign(K,!1).if(y8._`${Z} instanceof ${B.ValidationError}`,()=>Q.assign(O,y8._`${Z}.errors`),()=>Q.throw(Z))),O}function w(){let O=y8._`${F}.errors`;return Q.assign(O,null),V(y8.nil),O}function V(O=Y.async?y8._`await `:y8.nil){let Z=B.opts.passContext?S5.default.this:S5.default.self,M=!(("compile"in Y)&&!G||Y.schema===!1);Q.assign(K,y8._`${O}${(0,E$0.callValidateCode)(D,F,Z,M)}`,Y.modifying)}function L(O){var Z;Q.if((0,y8.not)((Z=Y.valid)!==null&&Z!==void 0?Z:K),O)}}Uk.funcKeywordCode=T$0;function Kk(D){let{gen:Y,data:X,it:Q}=D;Y.if(Q.parentData,()=>Y.assign(X,y8._`${Q.parentData}[${Q.parentDataProperty}]`))}function S$0(D,Y){let{gen:X}=D;X.if(y8._`Array.isArray(${Y})`,()=>{X.assign(S5.default.vErrors,y8._`${S5.default.vErrors} === null ? ${Y} : ${S5.default.vErrors}.concat(${Y})`).assign(S5.default.errors,y8._`${S5.default.vErrors}.length`),(0,R$0.extendErrors)(D)},()=>D.error())}function P$0({schemaEnv:D},Y){if(Y.async&&!D.$async)throw Error("async keyword in sync schema")}function zk(D,Y,X){if(X===void 0)throw Error(`keyword "${Y}" failed to compile`);return D.scopeValue("keyword",typeof X=="function"?{ref:X}:{ref:X,code:(0,y8.stringify)(X)})}function I$0(D,Y,X=!1){return!Y.length||Y.some((Q)=>Q==="array"?Array.isArray(D):Q==="object"?D&&typeof D=="object"&&!Array.isArray(D):typeof D==Q||X&&typeof D>"u")}Uk.validSchemaType=I$0;function C$0({schema:D,opts:Y,self:X,errSchemaPath:Q},J,W){if(Array.isArray(J.keyword)?!J.keyword.includes(W):J.keyword!==W)throw Error("ajv implementation error");let $=J.dependencies;if($===null||$===void 0?void 0:$.some((G)=>!Object.prototype.hasOwnProperty.call(D,G)))throw Error(`parent schema must have dependencies of ${W}: ${$.join(",")}`);if(J.validateSchema){if(!J.validateSchema(D[W])){let B=`keyword "${W}" value is invalid at path "${Q}": `+X.errorsText(J.validateSchema.errors);if(Y.validateSchema==="log")X.logger.error(B);else throw Error(B)}}}Uk.validateKeywordUsage=C$0});var Nk=T((Mk)=>{Object.defineProperty(Mk,"__esModule",{value:!0});Mk.extendSubschemaMode=Mk.extendSubschemaData=Mk.getSubschema=void 0;var W9=x0(),Lk=p0();function k$0(D,{keyword:Y,schemaProp:X,schema:Q,schemaPath:J,errSchemaPath:W,topSchemaRef:$}){if(Y!==void 0&&Q!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(Y!==void 0){let G=D.schema[Y];return X===void 0?{schema:G,schemaPath:W9._`${D.schemaPath}${(0,W9.getProperty)(Y)}`,errSchemaPath:`${D.errSchemaPath}/${Y}`}:{schema:G[X],schemaPath:W9._`${D.schemaPath}${(0,W9.getProperty)(Y)}${(0,W9.getProperty)(X)}`,errSchemaPath:`${D.errSchemaPath}/${Y}/${(0,Lk.escapeFragment)(X)}`}}if(Q!==void 0){if(J===void 0||W===void 0||$===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:Q,schemaPath:J,topSchemaRef:$,errSchemaPath:W}}throw Error('either "keyword" or "schema" must be passed')}Mk.getSubschema=k$0;function v$0(D,Y,{dataProp:X,dataPropType:Q,data:J,dataTypes:W,propertyName:$}){if(J!==void 0&&X!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:G}=Y;if(X!==void 0){let{errorPath:H,dataPathArr:F,opts:K}=Y,U=G.let("data",W9._`${Y.data}${(0,W9.getProperty)(X)}`,!0);B(U),D.errorPath=W9.str`${H}${(0,Lk.getErrorPath)(X,Q,K.jsPropertySyntax)}`,D.parentDataProperty=W9._`${X}`,D.dataPathArr=[...F,D.parentDataProperty]}if(J!==void 0){let H=J instanceof W9.Name?J:G.let("data",J,!0);if(B(H),$!==void 0)D.propertyName=$}if(W)D.dataTypes=W;function B(H){D.data=H,D.dataLevel=Y.dataLevel+1,D.dataTypes=[],Y.definedProperties=new Set,D.parentData=Y.data,D.dataNames=[...Y.dataNames,H]}}Mk.extendSubschemaData=v$0;function y$0(D,{jtdDiscriminator:Y,jtdMetadata:X,compositeRule:Q,createErrors:J,allErrors:W}){if(Q!==void 0)D.compositeRule=Q;if(J!==void 0)D.createErrors=J;if(W!==void 0)D.allErrors=W;D.jtdDiscriminator=Y,D.jtdMetadata=X}Mk.extendSubschemaMode=y$0});var nz=T((xI0,Zk)=>{Zk.exports=function D(Y,X){if(Y===X)return!0;if(Y&&X&&typeof Y=="object"&&typeof X=="object"){if(Y.constructor!==X.constructor)return!1;var Q,J,W;if(Array.isArray(Y)){if(Q=Y.length,Q!=X.length)return!1;for(J=Q;J--!==0;)if(!D(Y[J],X[J]))return!1;return!0}if(Y.constructor===RegExp)return Y.source===X.source&&Y.flags===X.flags;if(Y.valueOf!==Object.prototype.valueOf)return Y.valueOf()===X.valueOf();if(Y.toString!==Object.prototype.toString)return Y.toString()===X.toString();if(W=Object.keys(Y),Q=W.length,Q!==Object.keys(X).length)return!1;for(J=Q;J--!==0;)if(!Object.prototype.hasOwnProperty.call(X,W[J]))return!1;for(J=Q;J--!==0;){var $=W[J];if(!D(Y[$],X[$]))return!1}return!0}return Y!==Y&&X!==X}});var Ek=T((_I0,Ak)=>{var ED=Ak.exports=function(D,Y,X){if(typeof Y=="function")X=Y,Y={};X=Y.cb||X;var Q=typeof X=="function"?X:X.pre||function(){},J=X.post||function(){};B$(Y,Q,J,D,"",D)};ED.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};ED.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};ED.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};ED.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function B$(D,Y,X,Q,J,W,$,G,B,H){if(Q&&typeof Q=="object"&&!Array.isArray(Q)){Y(Q,J,W,$,G,B,H);for(var F in Q){var K=Q[F];if(Array.isArray(K)){if(F in ED.arrayKeywords)for(var U=0;U<K.length;U++)B$(D,Y,X,K[U],J+"/"+F+"/"+U,W,J,F,Q,U)}else if(F in ED.propsKeywords){if(K&&typeof K=="object")for(var z in K)B$(D,Y,X,K[z],J+"/"+F+"/"+g$0(z),W,J,F,Q,z)}else if(F in ED.keywords||D.allKeys&&!(F in ED.skipKeywords))B$(D,Y,X,K,J+"/"+F,W,J,F,Q)}X(Q,J,W,$,G,B,H)}}function g$0(D){return D.replace(/~/g,"~0").replace(/\//g,"~1")}});var sY=T((Sk)=>{Object.defineProperty(Sk,"__esModule",{value:!0});Sk.getSchemaRefs=Sk.resolveUrl=Sk.normalizeId=Sk._getFullPath=Sk.getFullPath=Sk.inlineRef=void 0;var u$0=p0(),m$0=nz(),c$0=Ek(),l$0=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function d$0(D,Y=!0){if(typeof D=="boolean")return!0;if(Y===!0)return!iz(D);if(!Y)return!1;return Rk(D)<=Y}Sk.inlineRef=d$0;var p$0=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function iz(D){for(let Y in D){if(p$0.has(Y))return!0;let X=D[Y];if(Array.isArray(X)&&X.some(iz))return!0;if(typeof X=="object"&&iz(X))return!0}return!1}function Rk(D){let Y=0;for(let X in D){if(X==="$ref")return 1/0;if(Y++,l$0.has(X))continue;if(typeof D[X]=="object")(0,u$0.eachItem)(D[X],(Q)=>Y+=Rk(Q));if(Y===1/0)return 1/0}return Y}function jk(D,Y="",X){if(X!==!1)Y=P7(Y);let Q=D.parse(Y);return Tk(D,Q)}Sk.getFullPath=jk;function Tk(D,Y){return D.serialize(Y).split("#")[0]+"#"}Sk._getFullPath=Tk;var n$0=/#\/?$/;function P7(D){return D?D.replace(n$0,""):""}Sk.normalizeId=P7;function i$0(D,Y,X){return X=P7(X),D.resolve(Y,X)}Sk.resolveUrl=i$0;var r$0=/^[a-z_][-a-z0-9._]*$/i;function a$0(D,Y){if(typeof D=="boolean")return{};let{schemaId:X,uriResolver:Q}=this.opts,J=P7(D[X]||Y),W={"":J},$=jk(Q,J,!1),G={},B=new Set;return c$0(D,{allKeys:!0},(K,U,z,w)=>{if(w===void 0)return;let V=$+U,L=W[w];if(typeof K[X]=="string")L=O.call(this,K[X]);Z.call(this,K.$anchor),Z.call(this,K.$dynamicAnchor),W[U]=L;function O(M){let E=this.opts.uriResolver.resolve;if(M=P7(L?E(L,M):M),B.has(M))throw F(M);B.add(M);let j=this.refs[M];if(typeof j=="string")j=this.refs[j];if(typeof j=="object")H(K,j.schema,M);else if(M!==P7(V))if(M[0]==="#")H(K,G[M],M),G[M]=K;else this.refs[M]=V;return M}function Z(M){if(typeof M=="string"){if(!r$0.test(M))throw Error(`invalid anchor "${M}"`);O.call(this,`#${M}`)}}}),G;function H(K,U,z){if(U!==void 0&&!m$0(K,U))throw F(z)}function F(K){return Error(`reference "${K}" resolves to more than one schema`)}}Sk.getSchemaRefs=a$0});var DX=T((lk)=>{Object.defineProperty(lk,"__esModule",{value:!0});lk.getData=lk.KeywordCxt=lk.validateFunctionCode=void 0;var bk=nb(),Ik=oY(),az=gz(),H$=oY(),YG0=Gk(),eY=Vk(),rz=Nk(),z0=x0(),A0=C9(),XG0=sY(),x9=p0(),tY=aY();function QG0(D){if(yk(D)){if(fk(D),vk(D)){$G0(D);return}}kk(D,()=>(0,bk.topBoolOrEmptySchema)(D))}lk.validateFunctionCode=QG0;function kk({gen:D,validateName:Y,schema:X,schemaEnv:Q,opts:J},W){if(J.code.es5)D.func(Y,z0._`${A0.default.data}, ${A0.default.valCxt}`,Q.$async,()=>{D.code(z0._`"use strict"; ${Ck(X,J)}`),WG0(D,J),D.code(W)});else D.func(Y,z0._`${A0.default.data}, ${JG0(J)}`,Q.$async,()=>D.code(Ck(X,J)).code(W))}function JG0(D){return z0._`{${A0.default.instancePath}="", ${A0.default.parentData}, ${A0.default.parentDataProperty}, ${A0.default.rootData}=${A0.default.data}${D.dynamicRef?z0._`, ${A0.default.dynamicAnchors}={}`:z0.nil}}={}`}function WG0(D,Y){D.if(A0.default.valCxt,()=>{if(D.var(A0.default.instancePath,z0._`${A0.default.valCxt}.${A0.default.instancePath}`),D.var(A0.default.parentData,z0._`${A0.default.valCxt}.${A0.default.parentData}`),D.var(A0.default.parentDataProperty,z0._`${A0.default.valCxt}.${A0.default.parentDataProperty}`),D.var(A0.default.rootData,z0._`${A0.default.valCxt}.${A0.default.rootData}`),Y.dynamicRef)D.var(A0.default.dynamicAnchors,z0._`${A0.default.valCxt}.${A0.default.dynamicAnchors}`)},()=>{if(D.var(A0.default.instancePath,z0._`""`),D.var(A0.default.parentData,z0._`undefined`),D.var(A0.default.parentDataProperty,z0._`undefined`),D.var(A0.default.rootData,A0.default.data),Y.dynamicRef)D.var(A0.default.dynamicAnchors,z0._`{}`)})}function $G0(D){let{schema:Y,opts:X,gen:Q}=D;kk(D,()=>{if(X.$comment&&Y.$comment)gk(D);if(qG0(D),Q.let(A0.default.vErrors,null),Q.let(A0.default.errors,0),X.unevaluated)GG0(D);hk(D),UG0(D)});return}function GG0(D){let{gen:Y,validateName:X}=D;D.evaluated=Y.const("evaluated",z0._`${X}.evaluated`),Y.if(z0._`${D.evaluated}.dynamicProps`,()=>Y.assign(z0._`${D.evaluated}.props`,z0._`undefined`)),Y.if(z0._`${D.evaluated}.dynamicItems`,()=>Y.assign(z0._`${D.evaluated}.items`,z0._`undefined`))}function Ck(D,Y){let X=typeof D=="object"&&D[Y.schemaId];return X&&(Y.code.source||Y.code.process)?z0._`/*# sourceURL=${X} */`:z0.nil}function BG0(D,Y){if(yk(D)){if(fk(D),vk(D)){HG0(D,Y);return}}(0,bk.boolOrEmptySchema)(D,Y)}function vk({schema:D,self:Y}){if(typeof D=="boolean")return!D;for(let X in D)if(Y.RULES.all[X])return!0;return!1}function yk(D){return typeof D.schema!="boolean"}function HG0(D,Y){let{schema:X,gen:Q,opts:J}=D;if(J.$comment&&X.$comment)gk(D);KG0(D),zG0(D);let W=Q.const("_errs",A0.default.errors);hk(D,W),Q.var(Y,z0._`${W} === ${A0.default.errors}`)}function fk(D){(0,x9.checkUnknownRules)(D),FG0(D)}function hk(D,Y){if(D.opts.jtd)return xk(D,[],!1,Y);let X=(0,Ik.getSchemaTypes)(D.schema),Q=(0,Ik.coerceAndCheckDataType)(D,X);xk(D,X,!Q,Y)}function FG0(D){let{schema:Y,errSchemaPath:X,opts:Q,self:J}=D;if(Y.$ref&&Q.ignoreKeywordsWithRef&&(0,x9.schemaHasRulesButRef)(Y,J.RULES))J.logger.warn(`$ref: keywords ignored in schema at path "${X}"`)}function qG0(D){let{schema:Y,opts:X}=D;if(Y.default!==void 0&&X.useDefaults&&X.strictSchema)(0,x9.checkStrictMode)(D,"default is ignored in the schema root")}function KG0(D){let Y=D.schema[D.opts.schemaId];if(Y)D.baseId=(0,XG0.resolveUrl)(D.opts.uriResolver,D.baseId,Y)}function zG0(D){if(D.schema.$async&&!D.schemaEnv.$async)throw Error("async schema in sync schema")}function gk({gen:D,schemaEnv:Y,schema:X,errSchemaPath:Q,opts:J}){let W=X.$comment;if(J.$comment===!0)D.code(z0._`${A0.default.self}.logger.log(${W})`);else if(typeof J.$comment=="function"){let $=z0.str`${Q}/$comment`,G=D.scopeValue("root",{ref:Y.root});D.code(z0._`${A0.default.self}.opts.$comment(${W}, ${$}, ${G}.schema)`)}}function UG0(D){let{gen:Y,schemaEnv:X,validateName:Q,ValidationError:J,opts:W}=D;if(X.$async)Y.if(z0._`${A0.default.errors} === 0`,()=>Y.return(A0.default.data),()=>Y.throw(z0._`new ${J}(${A0.default.vErrors})`));else{if(Y.assign(z0._`${Q}.errors`,A0.default.vErrors),W.unevaluated)wG0(D);Y.return(z0._`${A0.default.errors} === 0`)}}function wG0({gen:D,evaluated:Y,props:X,items:Q}){if(X instanceof z0.Name)D.assign(z0._`${Y}.props`,X);if(Q instanceof z0.Name)D.assign(z0._`${Y}.items`,Q)}function xk(D,Y,X,Q){let{gen:J,schema:W,data:$,allErrors:G,opts:B,self:H}=D,{RULES:F}=H;if(W.$ref&&(B.ignoreKeywordsWithRef||!(0,x9.schemaHasRulesButRef)(W,F))){J.block(()=>mk(D,"$ref",F.all.$ref.definition));return}if(!B.jtd)VG0(D,Y);J.block(()=>{for(let U of F.rules)K(U);K(F.post)});function K(U){if(!(0,az.shouldUseGroup)(W,U))return;if(U.type){if(J.if((0,H$.checkDataType)(U.type,$,B.strictNumbers)),_k(D,U),Y.length===1&&Y[0]===U.type&&X)J.else(),(0,H$.reportTypeError)(D);J.endIf()}else _k(D,U);if(!G)J.if(z0._`${A0.default.errors} === ${Q||0}`)}}function _k(D,Y){let{gen:X,schema:Q,opts:{useDefaults:J}}=D;if(J)(0,YG0.assignDefaults)(D,Y.type);X.block(()=>{for(let W of Y.rules)if((0,az.shouldUseRule)(Q,W))mk(D,W.keyword,W.definition,Y.type)})}function VG0(D,Y){if(D.schemaEnv.meta||!D.opts.strictTypes)return;if(LG0(D,Y),!D.opts.allowUnionTypes)MG0(D,Y);OG0(D,D.dataTypes)}function LG0(D,Y){if(!Y.length)return;if(!D.dataTypes.length){D.dataTypes=Y;return}Y.forEach((X)=>{if(!uk(D.dataTypes,X))oz(D,`type "${X}" not allowed by context "${D.dataTypes.join(",")}"`)}),ZG0(D,Y)}function MG0(D,Y){if(Y.length>1&&!(Y.length===2&&Y.includes("null")))oz(D,"use allowUnionTypes to allow union type keyword")}function OG0(D,Y){let X=D.self.RULES.all;for(let Q in X){let J=X[Q];if(typeof J=="object"&&(0,az.shouldUseRule)(D.schema,J)){let{type:W}=J.definition;if(W.length&&!W.some(($)=>NG0(Y,$)))oz(D,`missing type "${W.join(",")}" for keyword "${Q}"`)}}}function NG0(D,Y){return D.includes(Y)||Y==="number"&&D.includes("integer")}function uk(D,Y){return D.includes(Y)||Y==="integer"&&D.includes("number")}function ZG0(D,Y){let X=[];for(let Q of D.dataTypes)if(uk(Y,Q))X.push(Q);else if(Y.includes("integer")&&Q==="number")X.push("integer");D.dataTypes=X}function oz(D,Y){let X=D.schemaEnv.baseId+D.errSchemaPath;Y+=` at "${X}" (strictTypes)`,(0,x9.checkStrictMode)(D,Y,D.opts.strictTypes)}class sz{constructor(D,Y,X){if((0,eY.validateKeywordUsage)(D,Y,X),this.gen=D.gen,this.allErrors=D.allErrors,this.keyword=X,this.data=D.data,this.schema=D.schema[X],this.$data=Y.$data&&D.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,x9.schemaRefOrVal)(D,this.schema,X,this.$data),this.schemaType=Y.schemaType,this.parentSchema=D.schema,this.params={},this.it=D,this.def=Y,this.$data)this.schemaCode=D.gen.const("vSchema",ck(this.$data,D));else if(this.schemaCode=this.schemaValue,!(0,eY.validSchemaType)(this.schema,Y.schemaType,Y.allowUndefined))throw Error(`${X} value must be ${JSON.stringify(Y.schemaType)}`);if("code"in Y?Y.trackErrors:Y.errors!==!1)this.errsCount=D.gen.const("_errs",A0.default.errors)}result(D,Y,X){this.failResult((0,z0.not)(D),Y,X)}failResult(D,Y,X){if(this.gen.if(D),X)X();else this.error();if(Y){if(this.gen.else(),Y(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(D,Y){this.failResult((0,z0.not)(D),void 0,Y)}fail(D){if(D===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(D),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(D){if(!this.$data)return this.fail(D);let{schemaCode:Y}=this;this.fail(z0._`${Y} !== undefined && (${(0,z0.or)(this.invalid$data(),D)})`)}error(D,Y,X){if(Y){this.setParams(Y),this._error(D,X),this.setParams({});return}this._error(D,X)}_error(D,Y){(D?tY.reportExtraError:tY.reportError)(this,this.def.error,Y)}$dataError(){(0,tY.reportError)(this,this.def.$dataError||tY.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,tY.resetErrorsCount)(this.gen,this.errsCount)}ok(D){if(!this.allErrors)this.gen.if(D)}setParams(D,Y){if(Y)Object.assign(this.params,D);else this.params=D}block$data(D,Y,X=z0.nil){this.gen.block(()=>{this.check$data(D,X),Y()})}check$data(D=z0.nil,Y=z0.nil){if(!this.$data)return;let{gen:X,schemaCode:Q,schemaType:J,def:W}=this;if(X.if((0,z0.or)(z0._`${Q} === undefined`,Y)),D!==z0.nil)X.assign(D,!0);if(J.length||W.validateSchema){if(X.elseIf(this.invalid$data()),this.$dataError(),D!==z0.nil)X.assign(D,!1)}X.else()}invalid$data(){let{gen:D,schemaCode:Y,schemaType:X,def:Q,it:J}=this;return(0,z0.or)(W(),$());function W(){if(X.length){if(!(Y instanceof z0.Name))throw Error("ajv implementation error");let G=Array.isArray(X)?X:[X];return z0._`${(0,H$.checkDataTypes)(G,Y,J.opts.strictNumbers,H$.DataType.Wrong)}`}return z0.nil}function $(){if(Q.validateSchema){let G=D.scopeValue("validate$data",{ref:Q.validateSchema});return z0._`!${G}(${Y})`}return z0.nil}}subschema(D,Y){let X=(0,rz.getSubschema)(this.it,D);(0,rz.extendSubschemaData)(X,this.it,D),(0,rz.extendSubschemaMode)(X,D);let Q={...this.it,...X,items:void 0,props:void 0};return BG0(Q,Y),Q}mergeEvaluated(D,Y){let{it:X,gen:Q}=this;if(!X.opts.unevaluated)return;if(X.props!==!0&&D.props!==void 0)X.props=x9.mergeEvaluated.props(Q,D.props,X.props,Y);if(X.items!==!0&&D.items!==void 0)X.items=x9.mergeEvaluated.items(Q,D.items,X.items,Y)}mergeValidEvaluated(D,Y){let{it:X,gen:Q}=this;if(X.opts.unevaluated&&(X.props!==!0||X.items!==!0))return Q.if(Y,()=>this.mergeEvaluated(D,z0.Name)),!0}}lk.KeywordCxt=sz;function mk(D,Y,X,Q){let J=new sz(D,X,Y);if("code"in X)X.code(J,Q);else if(J.$data&&X.validate)(0,eY.funcKeywordCode)(J,X);else if("macro"in X)(0,eY.macroKeywordCode)(J,X);else if(X.compile||X.validate)(0,eY.funcKeywordCode)(J,X)}var AG0=/^\/(?:[^~]|~0|~1)*$/,EG0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ck(D,{dataLevel:Y,dataNames:X,dataPathArr:Q}){let J,W;if(D==="")return A0.default.rootData;if(D[0]==="/"){if(!AG0.test(D))throw Error(`Invalid JSON-pointer: ${D}`);J=D,W=A0.default.rootData}else{let H=EG0.exec(D);if(!H)throw Error(`Invalid JSON-pointer: ${D}`);let F=+H[1];if(J=H[2],J==="#"){if(F>=Y)throw Error(B("property/index",F));return Q[Y-F]}if(F>Y)throw Error(B("data",F));if(W=X[Y-F],!J)return W}let $=W,G=J.split("/");for(let H of G)if(H)W=z0._`${W}${(0,z0.getProperty)((0,x9.unescapeJsonPointer)(H))}`,$=z0._`${$} && ${W}`;return $;function B(H,F){return`Cannot access ${H} ${F} levels up, current level is ${Y}`}}lk.getData=ck});var F$=T((nk)=>{Object.defineProperty(nk,"__esModule",{value:!0});class pk extends Error{constructor(D){super("validation failed");this.errors=D,this.ajv=this.validation=!0}}nk.default=pk});var YX=T((rk)=>{Object.defineProperty(rk,"__esModule",{value:!0});var tz=sY();class ik extends Error{constructor(D,Y,X,Q){super(Q||`can't resolve reference ${X} from id ${Y}`);this.missingRef=(0,tz.resolveUrl)(D,Y,X),this.missingSchema=(0,tz.normalizeId)((0,tz.getFullPath)(D,this.missingRef))}}rk.default=ik});var K$=T((sk)=>{Object.defineProperty(sk,"__esModule",{value:!0});sk.resolveSchema=sk.getCompilingSchema=sk.resolveRef=sk.compileSchema=sk.SchemaEnv=void 0;var u6=x0(),PG0=F$(),P5=C9(),m6=sY(),ak=p0(),IG0=DX();class XX{constructor(D){var Y;this.refs={},this.dynamicAnchors={};let X;if(typeof D.schema=="object")X=D.schema;this.schema=D.schema,this.schemaId=D.schemaId,this.root=D.root||this,this.baseId=(Y=D.baseId)!==null&&Y!==void 0?Y:(0,m6.normalizeId)(X===null||X===void 0?void 0:X[D.schemaId||"$id"]),this.schemaPath=D.schemaPath,this.localRefs=D.localRefs,this.meta=D.meta,this.$async=X===null||X===void 0?void 0:X.$async,this.refs={}}}sk.SchemaEnv=XX;function DU(D){let Y=ok.call(this,D);if(Y)return Y;let X=(0,m6.getFullPath)(this.opts.uriResolver,D.root.baseId),{es5:Q,lines:J}=this.opts.code,{ownProperties:W}=this.opts,$=new u6.CodeGen(this.scope,{es5:Q,lines:J,ownProperties:W}),G;if(D.$async)G=$.scopeValue("Error",{ref:PG0.default,code:u6._`require("ajv/dist/runtime/validation_error").default`});let B=$.scopeName("validate");D.validateName=B;let H={gen:$,allErrors:this.opts.allErrors,data:P5.default.data,parentData:P5.default.parentData,parentDataProperty:P5.default.parentDataProperty,dataNames:[P5.default.data],dataPathArr:[u6.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:$.scopeValue("schema",this.opts.code.source===!0?{ref:D.schema,code:(0,u6.stringify)(D.schema)}:{ref:D.schema}),validateName:B,ValidationError:G,schema:D.schema,schemaEnv:D,rootId:X,baseId:D.baseId||X,schemaPath:u6.nil,errSchemaPath:D.schemaPath||(this.opts.jtd?"":"#"),errorPath:u6._`""`,opts:this.opts,self:this},F;try{this._compilations.add(D),(0,IG0.validateFunctionCode)(H),$.optimize(this.opts.code.optimize);let K=$.toString();if(F=`${$.scopeRefs(P5.default.scope)}return ${K}`,this.opts.code.process)F=this.opts.code.process(F,D);let z=Function(`${P5.default.self}`,`${P5.default.scope}`,F)(this,this.scope.get());if(this.scope.value(B,{ref:z}),z.errors=null,z.schema=D.schema,z.schemaEnv=D,D.$async)z.$async=!0;if(this.opts.code.source===!0)z.source={validateName:B,validateCode:K,scopeValues:$._values};if(this.opts.unevaluated){let{props:w,items:V}=H;if(z.evaluated={props:w instanceof u6.Name?void 0:w,items:V instanceof u6.Name?void 0:V,dynamicProps:w instanceof u6.Name,dynamicItems:V instanceof u6.Name},z.source)z.source.evaluated=(0,u6.stringify)(z.evaluated)}return D.validate=z,D}catch(K){if(delete D.validate,delete D.validateName,F)this.logger.error("Error compiling schema, function code:",F);throw K}finally{this._compilations.delete(D)}}sk.compileSchema=DU;function CG0(D,Y,X){var Q;X=(0,m6.resolveUrl)(this.opts.uriResolver,Y,X);let J=D.refs[X];if(J)return J;let W=bG0.call(this,D,X);if(W===void 0){let $=(Q=D.localRefs)===null||Q===void 0?void 0:Q[X],{schemaId:G}=this.opts;if($)W=new XX({schema:$,schemaId:G,root:D,baseId:Y})}if(W===void 0)return;return D.refs[X]=xG0.call(this,W)}sk.resolveRef=CG0;function xG0(D){if((0,m6.inlineRef)(D.schema,this.opts.inlineRefs))return D.schema;return D.validate?D:DU.call(this,D)}function ok(D){for(let Y of this._compilations)if(_G0(Y,D))return Y}sk.getCompilingSchema=ok;function _G0(D,Y){return D.schema===Y.schema&&D.root===Y.root&&D.baseId===Y.baseId}function bG0(D,Y){let X;while(typeof(X=this.refs[Y])=="string")Y=X;return X||this.schemas[Y]||q$.call(this,D,Y)}function q$(D,Y){let X=this.opts.uriResolver.parse(Y),Q=(0,m6._getFullPath)(this.opts.uriResolver,X),J=(0,m6.getFullPath)(this.opts.uriResolver,D.baseId,void 0);if(Object.keys(D.schema).length>0&&Q===J)return ez.call(this,X,D);let W=(0,m6.normalizeId)(Q),$=this.refs[W]||this.schemas[W];if(typeof $=="string"){let G=q$.call(this,D,$);if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;return ez.call(this,X,G)}if(typeof($===null||$===void 0?void 0:$.schema)!=="object")return;if(!$.validate)DU.call(this,$);if(W===(0,m6.normalizeId)(Y)){let{schema:G}=$,{schemaId:B}=this.opts,H=G[B];if(H)J=(0,m6.resolveUrl)(this.opts.uriResolver,J,H);return new XX({schema:G,schemaId:B,root:D,baseId:J})}return ez.call(this,X,$)}sk.resolveSchema=q$;var kG0=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function ez(D,{baseId:Y,schema:X,root:Q}){var J;if(((J=D.fragment)===null||J===void 0?void 0:J[0])!=="/")return;for(let G of D.fragment.slice(1).split("/")){if(typeof X==="boolean")return;let B=X[(0,ak.unescapeFragment)(G)];if(B===void 0)return;X=B;let H=typeof X==="object"&&X[this.opts.schemaId];if(!kG0.has(G)&&H)Y=(0,m6.resolveUrl)(this.opts.uriResolver,Y,H)}let W;if(typeof X!="boolean"&&X.$ref&&!(0,ak.schemaHasRulesButRef)(X,this.RULES)){let G=(0,m6.resolveUrl)(this.opts.uriResolver,Y,X.$ref);W=q$.call(this,Q,G)}let{schemaId:$}=this.opts;if(W=W||new XX({schema:X,schemaId:$,root:Q,baseId:Y}),W.schema!==W.root.schema)return W;return}});var ek=T((hI0,gG0)=>{gG0.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var XU=T((gI0,Qv)=>{var uG0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),Yv=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function YU(D){let Y="",X=0,Q=0;for(Q=0;Q<D.length;Q++){if(X=D[Q].charCodeAt(0),X===48)continue;if(!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=D[Q];break}for(Q+=1;Q<D.length;Q++){if(X=D[Q].charCodeAt(0),!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=D[Q]}return Y}var mG0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function Dv(D){return D.length=0,!0}function cG0(D,Y,X){if(D.length){let Q=YU(D);if(Q!=="")Y.push(Q);else return X.error=!0,!1;D.length=0}return!0}function lG0(D){let Y=0,X={error:!1,address:"",zone:""},Q=[],J=[],W=!1,$=!1,G=cG0;for(let B=0;B<D.length;B++){let H=D[B];if(H==="["||H==="]")continue;if(H===":"){if(W===!0)$=!0;if(!G(J,Q,X))break;if(++Y>7){X.error=!0;break}if(B>0&&D[B-1]===":")W=!0;Q.push(":");continue}else if(H==="%"){if(!G(J,Q,X))break;G=Dv}else{J.push(H);continue}}if(J.length)if(G===Dv)X.zone=J.join("");else if($)Q.push(J.join(""));else Q.push(YU(J));return X.address=Q.join(""),X}function Xv(D){if(dG0(D,":")<2)return{host:D,isIPV6:!1};let Y=lG0(D);if(!Y.error){let{address:X,address:Q}=Y;if(Y.zone)X+="%"+Y.zone,Q+="%25"+Y.zone;return{host:X,isIPV6:!0,escapedHost:Q}}else return{host:D,isIPV6:!1}}function dG0(D,Y){let X=0;for(let Q=0;Q<D.length;Q++)if(D[Q]===Y)X++;return X}function pG0(D){let Y=D,X=[],Q=-1,J=0;while(J=Y.length){if(J===1)if(Y===".")break;else if(Y==="/"){X.push("/");break}else{X.push(Y);break}else if(J===2){if(Y[0]==="."){if(Y[1]===".")break;else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."||Y[1]==="/"){X.push("/");break}}}else if(J===3){if(Y==="/.."){if(X.length!==0)X.pop();X.push("/");break}}if(Y[0]==="."){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(3);continue}}else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(2);continue}else if(Y[2]==="."){if(Y[3]==="/"){if(Y=Y.slice(3),X.length!==0)X.pop();continue}}}}if((Q=Y.indexOf("/",1))===-1){X.push(Y);break}else X.push(Y.slice(0,Q)),Y=Y.slice(Q)}return X.join("")}function nG0(D,Y){let X=Y!==!0?escape:unescape;if(D.scheme!==void 0)D.scheme=X(D.scheme);if(D.userinfo!==void 0)D.userinfo=X(D.userinfo);if(D.host!==void 0)D.host=X(D.host);if(D.path!==void 0)D.path=X(D.path);if(D.query!==void 0)D.query=X(D.query);if(D.fragment!==void 0)D.fragment=X(D.fragment);return D}function iG0(D){let Y=[];if(D.userinfo!==void 0)Y.push(D.userinfo),Y.push("@");if(D.host!==void 0){let X=unescape(D.host);if(!Yv(X)){let Q=Xv(X);if(Q.isIPV6===!0)X=`[${Q.escapedHost}]`;else X=D.host}Y.push(X)}if(typeof D.port==="number"||typeof D.port==="string")Y.push(":"),Y.push(String(D.port));return Y.length?Y.join(""):void 0}Qv.exports={nonSimpleDomain:mG0,recomposeAuthority:iG0,normalizeComponentEncoding:nG0,removeDotSegments:pG0,isIPv4:Yv,isUUID:uG0,normalizeIPv6:Xv,stringArrayToHexStripped:YU}});var Bv=T((uI0,Gv)=>{var{isUUID:rG0}=XU(),aG0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,oG0=["http","https","ws","wss","urn","urn:uuid"];function sG0(D){return oG0.indexOf(D)!==-1}function QU(D){if(D.secure===!0)return!0;else if(D.secure===!1)return!1;else if(D.scheme)return D.scheme.length===3&&(D.scheme[0]==="w"||D.scheme[0]==="W")&&(D.scheme[1]==="s"||D.scheme[1]==="S")&&(D.scheme[2]==="s"||D.scheme[2]==="S");else return!1}function Jv(D){if(!D.host)D.error=D.error||"HTTP URIs must have a host.";return D}function Wv(D){let Y=String(D.scheme).toLowerCase()==="https";if(D.port===(Y?443:80)||D.port==="")D.port=void 0;if(!D.path)D.path="/";return D}function tG0(D){return D.secure=QU(D),D.resourceName=(D.path||"/")+(D.query?"?"+D.query:""),D.path=void 0,D.query=void 0,D}function eG0(D){if(D.port===(QU(D)?443:80)||D.port==="")D.port=void 0;if(typeof D.secure==="boolean")D.scheme=D.secure?"wss":"ws",D.secure=void 0;if(D.resourceName){let[Y,X]=D.resourceName.split("?");D.path=Y&&Y!=="/"?Y:void 0,D.query=X,D.resourceName=void 0}return D.fragment=void 0,D}function DB0(D,Y){if(!D.path)return D.error="URN can not be parsed",D;let X=D.path.match(aG0);if(X){let Q=Y.scheme||D.scheme||"urn";D.nid=X[1].toLowerCase(),D.nss=X[2];let J=`${Q}:${Y.nid||D.nid}`,W=JU(J);if(D.path=void 0,W)D=W.parse(D,Y)}else D.error=D.error||"URN can not be parsed.";return D}function YB0(D,Y){if(D.nid===void 0)throw Error("URN without nid cannot be serialized");let X=Y.scheme||D.scheme||"urn",Q=D.nid.toLowerCase(),J=`${X}:${Y.nid||Q}`,W=JU(J);if(W)D=W.serialize(D,Y);let $=D,G=D.nss;return $.path=`${Q||Y.nid}:${G}`,Y.skipEscape=!0,$}function XB0(D,Y){let X=D;if(X.uuid=X.nss,X.nss=void 0,!Y.tolerant&&(!X.uuid||!rG0(X.uuid)))X.error=X.error||"UUID is not valid.";return X}function QB0(D){let Y=D;return Y.nss=(D.uuid||"").toLowerCase(),Y}var $v={scheme:"http",domainHost:!0,parse:Jv,serialize:Wv},JB0={scheme:"https",domainHost:$v.domainHost,parse:Jv,serialize:Wv},z$={scheme:"ws",domainHost:!0,parse:tG0,serialize:eG0},WB0={scheme:"wss",domainHost:z$.domainHost,parse:z$.parse,serialize:z$.serialize},$B0={scheme:"urn",parse:DB0,serialize:YB0,skipNormalize:!0},GB0={scheme:"urn:uuid",parse:XB0,serialize:QB0,skipNormalize:!0},U$={http:$v,https:JB0,ws:z$,wss:WB0,urn:$B0,"urn:uuid":GB0};Object.setPrototypeOf(U$,null);function JU(D){return D&&(U$[D]||U$[D.toLowerCase()])||void 0}Gv.exports={wsIsSecure:QU,SCHEMES:U$,isValidSchemeName:sG0,getSchemeHandler:JU}});var qv=T((mI0,V$)=>{var{normalizeIPv6:BB0,removeDotSegments:QX,recomposeAuthority:HB0,normalizeComponentEncoding:w$,isIPv4:FB0,nonSimpleDomain:qB0}=XU(),{SCHEMES:KB0,getSchemeHandler:Hv}=Bv();function zB0(D,Y){if(typeof D==="string")D=$9(_9(D,Y),Y);else if(typeof D==="object")D=_9($9(D,Y),Y);return D}function UB0(D,Y,X){let Q=X?Object.assign({scheme:"null"},X):{scheme:"null"},J=Fv(_9(D,Q),_9(Y,Q),Q,!0);return Q.skipEscape=!0,$9(J,Q)}function Fv(D,Y,X,Q){let J={};if(!Q)D=_9($9(D,X),X),Y=_9($9(Y,X),X);if(X=X||{},!X.tolerant&&Y.scheme)J.scheme=Y.scheme,J.userinfo=Y.userinfo,J.host=Y.host,J.port=Y.port,J.path=QX(Y.path||""),J.query=Y.query;else{if(Y.userinfo!==void 0||Y.host!==void 0||Y.port!==void 0)J.userinfo=Y.userinfo,J.host=Y.host,J.port=Y.port,J.path=QX(Y.path||""),J.query=Y.query;else{if(!Y.path)if(J.path=D.path,Y.query!==void 0)J.query=Y.query;else J.query=D.query;else{if(Y.path[0]==="/")J.path=QX(Y.path);else{if((D.userinfo!==void 0||D.host!==void 0||D.port!==void 0)&&!D.path)J.path="/"+Y.path;else if(!D.path)J.path=Y.path;else J.path=D.path.slice(0,D.path.lastIndexOf("/")+1)+Y.path;J.path=QX(J.path)}J.query=Y.query}J.userinfo=D.userinfo,J.host=D.host,J.port=D.port}J.scheme=D.scheme}return J.fragment=Y.fragment,J}function wB0(D,Y,X){if(typeof D==="string")D=unescape(D),D=$9(w$(_9(D,X),!0),{...X,skipEscape:!0});else if(typeof D==="object")D=$9(w$(D,!0),{...X,skipEscape:!0});if(typeof Y==="string")Y=unescape(Y),Y=$9(w$(_9(Y,X),!0),{...X,skipEscape:!0});else if(typeof Y==="object")Y=$9(w$(Y,!0),{...X,skipEscape:!0});return D.toLowerCase()===Y.toLowerCase()}function $9(D,Y){let X={host:D.host,scheme:D.scheme,userinfo:D.userinfo,port:D.port,path:D.path,query:D.query,nid:D.nid,nss:D.nss,uuid:D.uuid,fragment:D.fragment,reference:D.reference,resourceName:D.resourceName,secure:D.secure,error:""},Q=Object.assign({},Y),J=[],W=Hv(Q.scheme||X.scheme);if(W&&W.serialize)W.serialize(X,Q);if(X.path!==void 0)if(!Q.skipEscape){if(X.path=escape(X.path),X.scheme!==void 0)X.path=X.path.split("%3A").join(":")}else X.path=unescape(X.path);if(Q.reference!=="suffix"&&X.scheme)J.push(X.scheme,":");let $=HB0(X);if($!==void 0){if(Q.reference!=="suffix")J.push("//");if(J.push($),X.path&&X.path[0]!=="/")J.push("/")}if(X.path!==void 0){let G=X.path;if(!Q.absolutePath&&(!W||!W.absolutePath))G=QX(G);if($===void 0&&G[0]==="/"&&G[1]==="/")G="/%2F"+G.slice(2);J.push(G)}if(X.query!==void 0)J.push("?",X.query);if(X.fragment!==void 0)J.push("#",X.fragment);return J.join("")}var VB0=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function _9(D,Y){let X=Object.assign({},Y),Q={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},J=!1;if(X.reference==="suffix")if(X.scheme)D=X.scheme+":"+D;else D="//"+D;let W=D.match(VB0);if(W){if(Q.scheme=W[1],Q.userinfo=W[3],Q.host=W[4],Q.port=parseInt(W[5],10),Q.path=W[6]||"",Q.query=W[7],Q.fragment=W[8],isNaN(Q.port))Q.port=W[5];if(Q.host)if(FB0(Q.host)===!1){let B=BB0(Q.host);Q.host=B.host.toLowerCase(),J=B.isIPV6}else J=!0;if(Q.scheme===void 0&&Q.userinfo===void 0&&Q.host===void 0&&Q.port===void 0&&Q.query===void 0&&!Q.path)Q.reference="same-document";else if(Q.scheme===void 0)Q.reference="relative";else if(Q.fragment===void 0)Q.reference="absolute";else Q.reference="uri";if(X.reference&&X.reference!=="suffix"&&X.reference!==Q.reference)Q.error=Q.error||"URI is not a "+X.reference+" reference.";let $=Hv(X.scheme||Q.scheme);if(!X.unicodeSupport&&(!$||!$.unicodeSupport)){if(Q.host&&(X.domainHost||$&&$.domainHost)&&J===!1&&qB0(Q.host))try{Q.host=URL.domainToASCII(Q.host.toLowerCase())}catch(G){Q.error=Q.error||"Host's domain name can not be converted to ASCII: "+G}}if(!$||$&&!$.skipNormalize){if(D.indexOf("%")!==-1){if(Q.scheme!==void 0)Q.scheme=unescape(Q.scheme);if(Q.host!==void 0)Q.host=unescape(Q.host)}if(Q.path)Q.path=escape(unescape(Q.path));if(Q.fragment)Q.fragment=encodeURI(decodeURIComponent(Q.fragment))}if($&&$.parse)$.parse(Q,X)}else Q.error=Q.error||"URI can not be parsed.";return Q}var WU={SCHEMES:KB0,normalize:zB0,resolve:UB0,resolveComponent:Fv,equal:wB0,serialize:$9,parse:_9};V$.exports=WU;V$.exports.default=WU;V$.exports.fastUri=WU});var Uv=T((zv)=>{Object.defineProperty(zv,"__esModule",{value:!0});var Kv=qv();Kv.code='require("ajv/dist/runtime/uri").default';zv.default=Kv});var Av=T((b9)=>{Object.defineProperty(b9,"__esModule",{value:!0});b9.CodeGen=b9.Name=b9.nil=b9.stringify=b9.str=b9._=b9.KeywordCxt=void 0;var MB0=DX();Object.defineProperty(b9,"KeywordCxt",{enumerable:!0,get:function(){return MB0.KeywordCxt}});var I7=x0();Object.defineProperty(b9,"_",{enumerable:!0,get:function(){return I7._}});Object.defineProperty(b9,"str",{enumerable:!0,get:function(){return I7.str}});Object.defineProperty(b9,"stringify",{enumerable:!0,get:function(){return I7.stringify}});Object.defineProperty(b9,"nil",{enumerable:!0,get:function(){return I7.nil}});Object.defineProperty(b9,"Name",{enumerable:!0,get:function(){return I7.Name}});Object.defineProperty(b9,"CodeGen",{enumerable:!0,get:function(){return I7.CodeGen}});var OB0=F$(),Ov=YX(),NB0=hz(),JX=K$(),ZB0=x0(),WX=sY(),L$=oY(),GU=p0(),wv=ek(),AB0=Uv(),Nv=(D,Y)=>new RegExp(D,Y);Nv.code="new RegExp";var EB0=["removeAdditional","useDefaults","coerceTypes"],RB0=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),jB0={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},TB0={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Vv=200;function SB0(D){var Y,X,Q,J,W,$,G,B,H,F,K,U,z,w,V,L,O,Z,M,E,j,I,x,y,C;let c=D.strict,S=(Y=D.code)===null||Y===void 0?void 0:Y.optimize,p=S===!0||S===void 0?1:S||0,u=(Q=(X=D.code)===null||X===void 0?void 0:X.regExp)!==null&&Q!==void 0?Q:Nv,J0=(J=D.uriResolver)!==null&&J!==void 0?J:AB0.default;return{strictSchema:($=(W=D.strictSchema)!==null&&W!==void 0?W:c)!==null&&$!==void 0?$:!0,strictNumbers:(B=(G=D.strictNumbers)!==null&&G!==void 0?G:c)!==null&&B!==void 0?B:!0,strictTypes:(F=(H=D.strictTypes)!==null&&H!==void 0?H:c)!==null&&F!==void 0?F:"log",strictTuples:(U=(K=D.strictTuples)!==null&&K!==void 0?K:c)!==null&&U!==void 0?U:"log",strictRequired:(w=(z=D.strictRequired)!==null&&z!==void 0?z:c)!==null&&w!==void 0?w:!1,code:D.code?{...D.code,optimize:p,regExp:u}:{optimize:p,regExp:u},loopRequired:(V=D.loopRequired)!==null&&V!==void 0?V:Vv,loopEnum:(L=D.loopEnum)!==null&&L!==void 0?L:Vv,meta:(O=D.meta)!==null&&O!==void 0?O:!0,messages:(Z=D.messages)!==null&&Z!==void 0?Z:!0,inlineRefs:(M=D.inlineRefs)!==null&&M!==void 0?M:!0,schemaId:(E=D.schemaId)!==null&&E!==void 0?E:"$id",addUsedSchema:(j=D.addUsedSchema)!==null&&j!==void 0?j:!0,validateSchema:(I=D.validateSchema)!==null&&I!==void 0?I:!0,validateFormats:(x=D.validateFormats)!==null&&x!==void 0?x:!0,unicodeRegExp:(y=D.unicodeRegExp)!==null&&y!==void 0?y:!0,int32range:(C=D.int32range)!==null&&C!==void 0?C:!0,uriResolver:J0}}class M${constructor(D={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,D=this.opts={...D,...SB0(D)};let{es5:Y,lines:X}=this.opts.code;this.scope=new ZB0.ValueScope({scope:{},prefixes:RB0,es5:Y,lines:X}),this.logger=bB0(D.logger);let Q=D.validateFormats;if(D.validateFormats=!1,this.RULES=(0,NB0.getRules)(),Lv.call(this,jB0,D,"NOT SUPPORTED"),Lv.call(this,TB0,D,"DEPRECATED","warn"),this._metaOpts=xB0.call(this),D.formats)IB0.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),D.keywords)CB0.call(this,D.keywords);if(typeof D.meta=="object")this.addMetaSchema(D.meta);PB0.call(this),D.validateFormats=Q}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:D,meta:Y,schemaId:X}=this.opts,Q=wv;if(X==="id")Q={...wv},Q.id=Q.$id,delete Q.$id;if(Y&&D)this.addMetaSchema(Q,Q[X],!1)}defaultMeta(){let{meta:D,schemaId:Y}=this.opts;return this.opts.defaultMeta=typeof D=="object"?D[Y]||D:void 0}validate(D,Y){let X;if(typeof D=="string"){if(X=this.getSchema(D),!X)throw Error(`no schema with key or ref "${D}"`)}else X=this.compile(D);let Q=X(Y);if(!("$async"in X))this.errors=X.errors;return Q}compile(D,Y){let X=this._addSchema(D,Y);return X.validate||this._compileSchemaEnv(X)}compileAsync(D,Y){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:X}=this.opts;return Q.call(this,D,Y);async function Q(H,F){await J.call(this,H.$schema);let K=this._addSchema(H,F);return K.validate||W.call(this,K)}async function J(H){if(H&&!this.getSchema(H))await Q.call(this,{$ref:H},!0)}async function W(H){try{return this._compileSchemaEnv(H)}catch(F){if(!(F instanceof Ov.default))throw F;return $.call(this,F),await G.call(this,F.missingSchema),W.call(this,H)}}function $({missingSchema:H,missingRef:F}){if(this.refs[H])throw Error(`AnySchema ${H} is loaded but ${F} cannot be resolved`)}async function G(H){let F=await B.call(this,H);if(!this.refs[H])await J.call(this,F.$schema);if(!this.refs[H])this.addSchema(F,H,Y)}async function B(H){let F=this._loading[H];if(F)return F;try{return await(this._loading[H]=X(H))}finally{delete this._loading[H]}}}addSchema(D,Y,X,Q=this.opts.validateSchema){if(Array.isArray(D)){for(let W of D)this.addSchema(W,void 0,X,Q);return this}let J;if(typeof D==="object"){let{schemaId:W}=this.opts;if(J=D[W],J!==void 0&&typeof J!="string")throw Error(`schema ${W} must be string`)}return Y=(0,WX.normalizeId)(Y||J),this._checkUnique(Y),this.schemas[Y]=this._addSchema(D,X,Y,Q,!0),this}addMetaSchema(D,Y,X=this.opts.validateSchema){return this.addSchema(D,Y,!0,X),this}validateSchema(D,Y){if(typeof D=="boolean")return!0;let X;if(X=D.$schema,X!==void 0&&typeof X!="string")throw Error("$schema must be a string");if(X=X||this.opts.defaultMeta||this.defaultMeta(),!X)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let Q=this.validate(X,D);if(!Q&&Y){let J="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(J);else throw Error(J)}return Q}getSchema(D){let Y;while(typeof(Y=Mv.call(this,D))=="string")D=Y;if(Y===void 0){let{schemaId:X}=this.opts,Q=new JX.SchemaEnv({schema:{},schemaId:X});if(Y=JX.resolveSchema.call(this,Q,D),!Y)return;this.refs[D]=Y}return Y.validate||this._compileSchemaEnv(Y)}removeSchema(D){if(D instanceof RegExp)return this._removeAllSchemas(this.schemas,D),this._removeAllSchemas(this.refs,D),this;switch(typeof D){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let Y=Mv.call(this,D);if(typeof Y=="object")this._cache.delete(Y.schema);return delete this.schemas[D],delete this.refs[D],this}case"object":{let Y=D;this._cache.delete(Y);let X=D[this.opts.schemaId];if(X)X=(0,WX.normalizeId)(X),delete this.schemas[X],delete this.refs[X];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(D){for(let Y of D)this.addKeyword(Y);return this}addKeyword(D,Y){let X;if(typeof D=="string"){if(X=D,typeof Y=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),Y.keyword=X}else if(typeof D=="object"&&Y===void 0){if(Y=D,X=Y.keyword,Array.isArray(X)&&!X.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(vB0.call(this,X,Y),!Y)return(0,GU.eachItem)(X,(J)=>$U.call(this,J)),this;fB0.call(this,Y);let Q={...Y,type:(0,L$.getJSONTypes)(Y.type),schemaType:(0,L$.getJSONTypes)(Y.schemaType)};return(0,GU.eachItem)(X,Q.type.length===0?(J)=>$U.call(this,J,Q):(J)=>Q.type.forEach((W)=>$U.call(this,J,Q,W))),this}getKeyword(D){let Y=this.RULES.all[D];return typeof Y=="object"?Y.definition:!!Y}removeKeyword(D){let{RULES:Y}=this;delete Y.keywords[D],delete Y.all[D];for(let X of Y.rules){let Q=X.rules.findIndex((J)=>J.keyword===D);if(Q>=0)X.rules.splice(Q,1)}return this}addFormat(D,Y){if(typeof Y=="string")Y=new RegExp(Y);return this.formats[D]=Y,this}errorsText(D=this.errors,{separator:Y=", ",dataVar:X="data"}={}){if(!D||D.length===0)return"No errors";return D.map((Q)=>`${X}${Q.instancePath} ${Q.message}`).reduce((Q,J)=>Q+Y+J)}$dataMetaSchema(D,Y){let X=this.RULES.all;D=JSON.parse(JSON.stringify(D));for(let Q of Y){let J=Q.split("/").slice(1),W=D;for(let $ of J)W=W[$];for(let $ in X){let G=X[$];if(typeof G!="object")continue;let{$data:B}=G.definition,H=W[$];if(B&&H)W[$]=Zv(H)}}return D}_removeAllSchemas(D,Y){for(let X in D){let Q=D[X];if(!Y||Y.test(X)){if(typeof Q=="string")delete D[X];else if(Q&&!Q.meta)this._cache.delete(Q.schema),delete D[X]}}}_addSchema(D,Y,X,Q=this.opts.validateSchema,J=this.opts.addUsedSchema){let W,{schemaId:$}=this.opts;if(typeof D=="object")W=D[$];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof D!="boolean")throw Error("schema must be object or boolean");let G=this._cache.get(D);if(G!==void 0)return G;X=(0,WX.normalizeId)(W||X);let B=WX.getSchemaRefs.call(this,D,X);if(G=new JX.SchemaEnv({schema:D,schemaId:$,meta:Y,baseId:X,localRefs:B}),this._cache.set(G.schema,G),J&&!X.startsWith("#")){if(X)this._checkUnique(X);this.refs[X]=G}if(Q)this.validateSchema(D,!0);return G}_checkUnique(D){if(this.schemas[D]||this.refs[D])throw Error(`schema with key or id "${D}" already exists`)}_compileSchemaEnv(D){if(D.meta)this._compileMetaSchema(D);else JX.compileSchema.call(this,D);if(!D.validate)throw Error("ajv implementation error");return D.validate}_compileMetaSchema(D){let Y=this.opts;this.opts=this._metaOpts;try{JX.compileSchema.call(this,D)}finally{this.opts=Y}}}M$.ValidationError=OB0.default;M$.MissingRefError=Ov.default;b9.default=M$;function Lv(D,Y,X,Q="error"){for(let J in D){let W=J;if(W in Y)this.logger[Q](`${X}: option ${J}. ${D[W]}`)}}function Mv(D){return D=(0,WX.normalizeId)(D),this.schemas[D]||this.refs[D]}function PB0(){let D=this.opts.schemas;if(!D)return;if(Array.isArray(D))this.addSchema(D);else for(let Y in D)this.addSchema(D[Y],Y)}function IB0(){for(let D in this.opts.formats){let Y=this.opts.formats[D];if(Y)this.addFormat(D,Y)}}function CB0(D){if(Array.isArray(D)){this.addVocabulary(D);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let Y in D){let X=D[Y];if(!X.keyword)X.keyword=Y;this.addKeyword(X)}}function xB0(){let D={...this.opts};for(let Y of EB0)delete D[Y];return D}var _B0={log(){},warn(){},error(){}};function bB0(D){if(D===!1)return _B0;if(D===void 0)return console;if(D.log&&D.warn&&D.error)return D;throw Error("logger must implement log, warn and error methods")}var kB0=/^[a-z_$][a-z0-9_$:-]*$/i;function vB0(D,Y){let{RULES:X}=this;if((0,GU.eachItem)(D,(Q)=>{if(X.keywords[Q])throw Error(`Keyword ${Q} is already defined`);if(!kB0.test(Q))throw Error(`Keyword ${Q} has invalid name`)}),!Y)return;if(Y.$data&&!(("code"in Y)||("validate"in Y)))throw Error('$data keyword must have "code" or "validate" function')}function $U(D,Y,X){var Q;let J=Y===null||Y===void 0?void 0:Y.post;if(X&&J)throw Error('keyword with "post" flag cannot have "type"');let{RULES:W}=this,$=J?W.post:W.rules.find(({type:B})=>B===X);if(!$)$={type:X,rules:[]},W.rules.push($);if(W.keywords[D]=!0,!Y)return;let G={keyword:D,definition:{...Y,type:(0,L$.getJSONTypes)(Y.type),schemaType:(0,L$.getJSONTypes)(Y.schemaType)}};if(Y.before)yB0.call(this,$,G,Y.before);else $.rules.push(G);W.all[D]=G,(Q=Y.implements)===null||Q===void 0||Q.forEach((B)=>this.addKeyword(B))}function yB0(D,Y,X){let Q=D.rules.findIndex((J)=>J.keyword===X);if(Q>=0)D.rules.splice(Q,0,Y);else D.rules.push(Y),this.logger.warn(`rule ${X} is not defined`)}function fB0(D){let{metaSchema:Y}=D;if(Y===void 0)return;if(D.$data&&this.opts.$data)Y=Zv(Y);D.validateSchema=this.compile(Y,!0)}var hB0={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Zv(D){return{anyOf:[D,hB0]}}});var Rv=T((Ev)=>{Object.defineProperty(Ev,"__esModule",{value:!0});var mB0={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Ev.default=mB0});var Cv=T((Pv)=>{Object.defineProperty(Pv,"__esModule",{value:!0});Pv.callRef=Pv.getValidate=void 0;var lB0=YX(),jv=Z6(),r8=x0(),C7=C9(),Tv=K$(),O$=p0(),dB0={keyword:"$ref",schemaType:"string",code(D){let{gen:Y,schema:X,it:Q}=D,{baseId:J,schemaEnv:W,validateName:$,opts:G,self:B}=Q,{root:H}=W;if((X==="#"||X==="#/")&&J===H.baseId)return K();let F=Tv.resolveRef.call(B,H,J,X);if(F===void 0)throw new lB0.default(Q.opts.uriResolver,J,X);if(F instanceof Tv.SchemaEnv)return U(F);return z(F);function K(){if(W===H)return N$(D,$,W,W.$async);let w=Y.scopeValue("root",{ref:H});return N$(D,r8._`${w}.validate`,H,H.$async)}function U(w){let V=Sv(D,w);N$(D,V,w,w.$async)}function z(w){let V=Y.scopeValue("schema",G.code.source===!0?{ref:w,code:(0,r8.stringify)(w)}:{ref:w}),L=Y.name("valid"),O=D.subschema({schema:w,dataTypes:[],schemaPath:r8.nil,topSchemaRef:V,errSchemaPath:X},L);D.mergeEvaluated(O),D.ok(L)}}};function Sv(D,Y){let{gen:X}=D;return Y.validate?X.scopeValue("validate",{ref:Y.validate}):r8._`${X.scopeValue("wrapper",{ref:Y})}.validate`}Pv.getValidate=Sv;function N$(D,Y,X,Q){let{gen:J,it:W}=D,{allErrors:$,schemaEnv:G,opts:B}=W,H=B.passContext?C7.default.this:r8.nil;if(Q)F();else K();function F(){if(!G.$async)throw Error("async schema referenced by sync schema");let w=J.let("valid");J.try(()=>{if(J.code(r8._`await ${(0,jv.callValidateCode)(D,Y,H)}`),z(Y),!$)J.assign(w,!0)},(V)=>{if(J.if(r8._`!(${V} instanceof ${W.ValidationError})`,()=>J.throw(V)),U(V),!$)J.assign(w,!1)}),D.ok(w)}function K(){D.result((0,jv.callValidateCode)(D,Y,H),()=>z(Y),()=>U(Y))}function U(w){let V=r8._`${w}.errors`;J.assign(C7.default.vErrors,r8._`${C7.default.vErrors} === null ? ${V} : ${C7.default.vErrors}.concat(${V})`),J.assign(C7.default.errors,r8._`${C7.default.vErrors}.length`)}function z(w){var V;if(!W.opts.unevaluated)return;let L=(V=X===null||X===void 0?void 0:X.validate)===null||V===void 0?void 0:V.evaluated;if(W.props!==!0)if(L&&!L.dynamicProps){if(L.props!==void 0)W.props=O$.mergeEvaluated.props(J,L.props,W.props)}else{let O=J.var("props",r8._`${w}.evaluated.props`);W.props=O$.mergeEvaluated.props(J,O,W.props,r8.Name)}if(W.items!==!0)if(L&&!L.dynamicItems){if(L.items!==void 0)W.items=O$.mergeEvaluated.items(J,L.items,W.items)}else{let O=J.var("items",r8._`${w}.evaluated.items`);W.items=O$.mergeEvaluated.items(J,O,W.items,r8.Name)}}}Pv.callRef=N$;Pv.default=dB0});var _v=T((xv)=>{Object.defineProperty(xv,"__esModule",{value:!0});var iB0=Rv(),rB0=Cv(),aB0=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",iB0.default,rB0.default];xv.default=aB0});var kv=T((bv)=>{Object.defineProperty(bv,"__esModule",{value:!0});var Z$=x0(),RD=Z$.operators,A$={maximum:{okStr:"<=",ok:RD.LTE,fail:RD.GT},minimum:{okStr:">=",ok:RD.GTE,fail:RD.LT},exclusiveMaximum:{okStr:"<",ok:RD.LT,fail:RD.GTE},exclusiveMinimum:{okStr:">",ok:RD.GT,fail:RD.LTE}},sB0={message:({keyword:D,schemaCode:Y})=>Z$.str`must be ${A$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>Z$._`{comparison: ${A$[D].okStr}, limit: ${Y}}`},tB0={keyword:Object.keys(A$),type:"number",schemaType:"number",$data:!0,error:sB0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D;D.fail$data(Z$._`${X} ${A$[Y].fail} ${Q} || isNaN(${X})`)}};bv.default=tB0});var yv=T((vv)=>{Object.defineProperty(vv,"__esModule",{value:!0});var $X=x0(),DH0={message:({schemaCode:D})=>$X.str`must be multiple of ${D}`,params:({schemaCode:D})=>$X._`{multipleOf: ${D}}`},YH0={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:DH0,code(D){let{gen:Y,data:X,schemaCode:Q,it:J}=D,W=J.opts.multipleOfPrecision,$=Y.let("res"),G=W?$X._`Math.abs(Math.round(${$}) - ${$}) > 1e-${W}`:$X._`${$} !== parseInt(${$})`;D.fail$data($X._`(${Q} === 0 || (${$} = ${X}/${Q}, ${G}))`)}};vv.default=YH0});var gv=T((hv)=>{Object.defineProperty(hv,"__esModule",{value:!0});function fv(D){let Y=D.length,X=0,Q=0,J;while(Q<Y)if(X++,J=D.charCodeAt(Q++),J>=55296&&J<=56319&&Q<Y){if(J=D.charCodeAt(Q),(J&64512)===56320)Q++}return X}hv.default=fv;fv.code='require("ajv/dist/runtime/ucs2length").default'});var mv=T((uv)=>{Object.defineProperty(uv,"__esModule",{value:!0});var I5=x0(),JH0=p0(),WH0=gv(),$H0={message({keyword:D,schemaCode:Y}){let X=D==="maxLength"?"more":"fewer";return I5.str`must NOT have ${X} than ${Y} characters`},params:({schemaCode:D})=>I5._`{limit: ${D}}`},GH0={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:$H0,code(D){let{keyword:Y,data:X,schemaCode:Q,it:J}=D,W=Y==="maxLength"?I5.operators.GT:I5.operators.LT,$=J.opts.unicode===!1?I5._`${X}.length`:I5._`${(0,JH0.useFunc)(D.gen,WH0.default)}(${X})`;D.fail$data(I5._`${$} ${W} ${Q}`)}};uv.default=GH0});var lv=T((cv)=>{Object.defineProperty(cv,"__esModule",{value:!0});var HH0=Z6(),E$=x0(),FH0={message:({schemaCode:D})=>E$.str`must match pattern "${D}"`,params:({schemaCode:D})=>E$._`{pattern: ${D}}`},qH0={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:FH0,code(D){let{data:Y,$data:X,schema:Q,schemaCode:J,it:W}=D,$=W.opts.unicodeRegExp?"u":"",G=X?E$._`(new RegExp(${J}, ${$}))`:(0,HH0.usePattern)(D,Q);D.fail$data(E$._`!${G}.test(${Y})`)}};cv.default=qH0});var pv=T((dv)=>{Object.defineProperty(dv,"__esModule",{value:!0});var GX=x0(),zH0={message({keyword:D,schemaCode:Y}){let X=D==="maxProperties"?"more":"fewer";return GX.str`must NOT have ${X} than ${Y} properties`},params:({schemaCode:D})=>GX._`{limit: ${D}}`},UH0={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:zH0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D,J=Y==="maxProperties"?GX.operators.GT:GX.operators.LT;D.fail$data(GX._`Object.keys(${X}).length ${J} ${Q}`)}};dv.default=UH0});var iv=T((nv)=>{Object.defineProperty(nv,"__esModule",{value:!0});var BX=Z6(),HX=x0(),VH0=p0(),LH0={message:({params:{missingProperty:D}})=>HX.str`must have required property '${D}'`,params:({params:{missingProperty:D}})=>HX._`{missingProperty: ${D}}`},MH0={keyword:"required",type:"object",schemaType:"array",$data:!0,error:LH0,code(D){let{gen:Y,schema:X,schemaCode:Q,data:J,$data:W,it:$}=D,{opts:G}=$;if(!W&&X.length===0)return;let B=X.length>=G.loopRequired;if($.allErrors)H();else F();if(G.strictRequired){let z=D.parentSchema.properties,{definedProperties:w}=D.it;for(let V of X)if((z===null||z===void 0?void 0:z[V])===void 0&&!w.has(V)){let L=$.schemaEnv.baseId+$.errSchemaPath,O=`required property "${V}" is not defined at "${L}" (strictRequired)`;(0,VH0.checkStrictMode)($,O,$.opts.strictRequired)}}function H(){if(B||W)D.block$data(HX.nil,K);else for(let z of X)(0,BX.checkReportMissingProp)(D,z)}function F(){let z=Y.let("missing");if(B||W){let w=Y.let("valid",!0);D.block$data(w,()=>U(z,w)),D.ok(w)}else Y.if((0,BX.checkMissingProp)(D,X,z)),(0,BX.reportMissingProp)(D,z),Y.else()}function K(){Y.forOf("prop",Q,(z)=>{D.setParams({missingProperty:z}),Y.if((0,BX.noPropertyInData)(Y,J,z,G.ownProperties),()=>D.error())})}function U(z,w){D.setParams({missingProperty:z}),Y.forOf(z,Q,()=>{Y.assign(w,(0,BX.propertyInData)(Y,J,z,G.ownProperties)),Y.if((0,HX.not)(w),()=>{D.error(),Y.break()})},HX.nil)}}};nv.default=MH0});var av=T((rv)=>{Object.defineProperty(rv,"__esModule",{value:!0});var FX=x0(),NH0={message({keyword:D,schemaCode:Y}){let X=D==="maxItems"?"more":"fewer";return FX.str`must NOT have ${X} than ${Y} items`},params:({schemaCode:D})=>FX._`{limit: ${D}}`},ZH0={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:NH0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D,J=Y==="maxItems"?FX.operators.GT:FX.operators.LT;D.fail$data(FX._`${X}.length ${J} ${Q}`)}};rv.default=ZH0});var R$=T((sv)=>{Object.defineProperty(sv,"__esModule",{value:!0});var ov=nz();ov.code='require("ajv/dist/runtime/equal").default';sv.default=ov});var ev=T((tv)=>{Object.defineProperty(tv,"__esModule",{value:!0});var BU=oY(),K8=x0(),RH0=p0(),jH0=R$(),TH0={message:({params:{i:D,j:Y}})=>K8.str`must NOT have duplicate items (items ## ${Y} and ${D} are identical)`,params:({params:{i:D,j:Y}})=>K8._`{i: ${D}, j: ${Y}}`},SH0={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:TH0,code(D){let{gen:Y,data:X,$data:Q,schema:J,parentSchema:W,schemaCode:$,it:G}=D;if(!Q&&!J)return;let B=Y.let("valid"),H=W.items?(0,BU.getSchemaTypes)(W.items):[];D.block$data(B,F,K8._`${$} === false`),D.ok(B);function F(){let w=Y.let("i",K8._`${X}.length`),V=Y.let("j");D.setParams({i:w,j:V}),Y.assign(B,!0),Y.if(K8._`${w} > 1`,()=>(K()?U:z)(w,V))}function K(){return H.length>0&&!H.some((w)=>w==="object"||w==="array")}function U(w,V){let L=Y.name("item"),O=(0,BU.checkDataTypes)(H,L,G.opts.strictNumbers,BU.DataType.Wrong),Z=Y.const("indices",K8._`{}`);Y.for(K8._`;${w}--;`,()=>{if(Y.let(L,K8._`${X}[${w}]`),Y.if(O,K8._`continue`),H.length>1)Y.if(K8._`typeof ${L} == "string"`,K8._`${L} += "_"`);Y.if(K8._`typeof ${Z}[${L}] == "number"`,()=>{Y.assign(V,K8._`${Z}[${L}]`),D.error(),Y.assign(B,!1).break()}).code(K8._`${Z}[${L}] = ${w}`)})}function z(w,V){let L=(0,RH0.useFunc)(Y,jH0.default),O=Y.name("outer");Y.label(O).for(K8._`;${w}--;`,()=>Y.for(K8._`${V} = ${w}; ${V}--;`,()=>Y.if(K8._`${L}(${X}[${w}], ${X}[${V}])`,()=>{D.error(),Y.assign(B,!1).break(O)})))}}};tv.default=SH0});var Yy=T((Dy)=>{Object.defineProperty(Dy,"__esModule",{value:!0});var HU=x0(),IH0=p0(),CH0=R$(),xH0={message:"must be equal to constant",params:({schemaCode:D})=>HU._`{allowedValue: ${D}}`},_H0={keyword:"const",$data:!0,error:xH0,code(D){let{gen:Y,data:X,$data:Q,schemaCode:J,schema:W}=D;if(Q||W&&typeof W=="object")D.fail$data(HU._`!${(0,IH0.useFunc)(Y,CH0.default)}(${X}, ${J})`);else D.fail(HU._`${W} !== ${X}`)}};Dy.default=_H0});var Qy=T((Xy)=>{Object.defineProperty(Xy,"__esModule",{value:!0});var qX=x0(),kH0=p0(),vH0=R$(),yH0={message:"must be equal to one of the allowed values",params:({schemaCode:D})=>qX._`{allowedValues: ${D}}`},fH0={keyword:"enum",schemaType:"array",$data:!0,error:yH0,code(D){let{gen:Y,data:X,$data:Q,schema:J,schemaCode:W,it:$}=D;if(!Q&&J.length===0)throw Error("enum must have non-empty array");let G=J.length>=$.opts.loopEnum,B,H=()=>B!==null&&B!==void 0?B:B=(0,kH0.useFunc)(Y,vH0.default),F;if(G||Q)F=Y.let("valid"),D.block$data(F,K);else{if(!Array.isArray(J))throw Error("ajv implementation error");let z=Y.const("vSchema",W);F=(0,qX.or)(...J.map((w,V)=>U(z,V)))}D.pass(F);function K(){Y.assign(F,!1),Y.forOf("v",W,(z)=>Y.if(qX._`${H()}(${X}, ${z})`,()=>Y.assign(F,!0).break()))}function U(z,w){let V=J[w];return typeof V==="object"&&V!==null?qX._`${H()}(${X}, ${z}[${w}])`:qX._`${X} === ${V}`}}};Xy.default=fH0});var Wy=T((Jy)=>{Object.defineProperty(Jy,"__esModule",{value:!0});var gH0=kv(),uH0=yv(),mH0=mv(),cH0=lv(),lH0=pv(),dH0=iv(),pH0=av(),nH0=ev(),iH0=Yy(),rH0=Qy(),aH0=[gH0.default,uH0.default,mH0.default,cH0.default,lH0.default,dH0.default,pH0.default,nH0.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},iH0.default,rH0.default];Jy.default=aH0});var qU=T((Gy)=>{Object.defineProperty(Gy,"__esModule",{value:!0});Gy.validateAdditionalItems=void 0;var C5=x0(),FU=p0(),sH0={message:({params:{len:D}})=>C5.str`must NOT have more than ${D} items`,params:({params:{len:D}})=>C5._`{limit: ${D}}`},tH0={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:sH0,code(D){let{parentSchema:Y,it:X}=D,{items:Q}=Y;if(!Array.isArray(Q)){(0,FU.checkStrictMode)(X,'"additionalItems" is ignored when "items" is not an array of schemas');return}$y(D,Q)}};function $y(D,Y){let{gen:X,schema:Q,data:J,keyword:W,it:$}=D;$.items=!0;let G=X.const("len",C5._`${J}.length`);if(Q===!1)D.setParams({len:Y.length}),D.pass(C5._`${G} <= ${Y.length}`);else if(typeof Q=="object"&&!(0,FU.alwaysValidSchema)($,Q)){let H=X.var("valid",C5._`${G} <= ${Y.length}`);X.if((0,C5.not)(H),()=>B(H)),D.ok(H)}function B(H){X.forRange("i",Y.length,G,(F)=>{if(D.subschema({keyword:W,dataProp:F,dataPropType:FU.Type.Num},H),!$.allErrors)X.if((0,C5.not)(H),()=>X.break())})}}Gy.validateAdditionalItems=$y;Gy.default=tH0});var KU=T((qy)=>{Object.defineProperty(qy,"__esModule",{value:!0});qy.validateTuple=void 0;var Hy=x0(),j$=p0(),D20=Z6(),Y20={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(D){let{schema:Y,it:X}=D;if(Array.isArray(Y))return Fy(D,"additionalItems",Y);if(X.items=!0,(0,j$.alwaysValidSchema)(X,Y))return;D.ok((0,D20.validateArray)(D))}};function Fy(D,Y,X=D.schema){let{gen:Q,parentSchema:J,data:W,keyword:$,it:G}=D;if(F(J),G.opts.unevaluated&&X.length&&G.items!==!0)G.items=j$.mergeEvaluated.items(Q,X.length,G.items);let B=Q.name("valid"),H=Q.const("len",Hy._`${W}.length`);X.forEach((K,U)=>{if((0,j$.alwaysValidSchema)(G,K))return;Q.if(Hy._`${H} > ${U}`,()=>D.subschema({keyword:$,schemaProp:U,dataProp:U},B)),D.ok(B)});function F(K){let{opts:U,errSchemaPath:z}=G,w=X.length,V=w===K.minItems&&(w===K.maxItems||K[Y]===!1);if(U.strictTuples&&!V){let L=`"${$}" is ${w}-tuple, but minItems or maxItems/${Y} are not specified or different at path "${z}"`;(0,j$.checkStrictMode)(G,L,U.strictTuples)}}}qy.validateTuple=Fy;qy.default=Y20});var Uy=T((zy)=>{Object.defineProperty(zy,"__esModule",{value:!0});var Q20=KU(),J20={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(D)=>(0,Q20.validateTuple)(D,"items")};zy.default=J20});var Ly=T((Vy)=>{Object.defineProperty(Vy,"__esModule",{value:!0});var wy=x0(),$20=p0(),G20=Z6(),B20=qU(),H20={message:({params:{len:D}})=>wy.str`must NOT have more than ${D} items`,params:({params:{len:D}})=>wy._`{limit: ${D}}`},F20={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:H20,code(D){let{schema:Y,parentSchema:X,it:Q}=D,{prefixItems:J}=X;if(Q.items=!0,(0,$20.alwaysValidSchema)(Q,Y))return;if(J)(0,B20.validateAdditionalItems)(D,J);else D.ok((0,G20.validateArray)(D))}};Vy.default=F20});var Oy=T((My)=>{Object.defineProperty(My,"__esModule",{value:!0});var A6=x0(),T$=p0(),K20={message:({params:{min:D,max:Y}})=>Y===void 0?A6.str`must contain at least ${D} valid item(s)`:A6.str`must contain at least ${D} and no more than ${Y} valid item(s)`,params:({params:{min:D,max:Y}})=>Y===void 0?A6._`{minContains: ${D}}`:A6._`{minContains: ${D}, maxContains: ${Y}}`},z20={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:K20,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D,$,G,{minContains:B,maxContains:H}=Q;if(W.opts.next)$=B===void 0?1:B,G=H;else $=1;let F=Y.const("len",A6._`${J}.length`);if(D.setParams({min:$,max:G}),G===void 0&&$===0){(0,T$.checkStrictMode)(W,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(G!==void 0&&$>G){(0,T$.checkStrictMode)(W,'"minContains" > "maxContains" is always invalid'),D.fail();return}if((0,T$.alwaysValidSchema)(W,X)){let V=A6._`${F} >= ${$}`;if(G!==void 0)V=A6._`${V} && ${F} <= ${G}`;D.pass(V);return}W.items=!0;let K=Y.name("valid");if(G===void 0&&$===1)z(K,()=>Y.if(K,()=>Y.break()));else if($===0){if(Y.let(K,!0),G!==void 0)Y.if(A6._`${J}.length > 0`,U)}else Y.let(K,!1),U();D.result(K,()=>D.reset());function U(){let V=Y.name("_valid"),L=Y.let("count",0);z(V,()=>Y.if(V,()=>w(L)))}function z(V,L){Y.forRange("i",0,F,(O)=>{D.subschema({keyword:"contains",dataProp:O,dataPropType:T$.Type.Num,compositeRule:!0},V),L()})}function w(V){if(Y.code(A6._`${V}++`),G===void 0)Y.if(A6._`${V} >= ${$}`,()=>Y.assign(K,!0).break());else if(Y.if(A6._`${V} > ${G}`,()=>Y.assign(K,!1).break()),$===1)Y.assign(K,!0);else Y.if(A6._`${V} >= ${$}`,()=>Y.assign(K,!0))}}};My.default=z20});var jy=T((Ay)=>{Object.defineProperty(Ay,"__esModule",{value:!0});Ay.validateSchemaDeps=Ay.validatePropertyDeps=Ay.error=void 0;var zU=x0(),w20=p0(),KX=Z6();Ay.error={message:({params:{property:D,depsCount:Y,deps:X}})=>{let Q=Y===1?"property":"properties";return zU.str`must have ${Q} ${X} when property ${D} is present`},params:({params:{property:D,depsCount:Y,deps:X,missingProperty:Q}})=>zU._`{property: ${D},
|
|
135
135
|
missingProperty: ${Q},
|
|
136
136
|
depsCount: ${Y},
|
|
137
|
-
deps: ${X}}`};var V20={keyword:"dependencies",type:"object",schemaType:"object",error:Ay.error,code(D){let[Y,X]=L20(D);Ny(D,Y),Zy(D,X)}};function L20({schema:D}){let Y={},X={};for(let Q in D){if(Q==="__proto__")continue;let J=Array.isArray(D[Q])?Y:X;J[Q]=D[Q]}return[Y,X]}function Ny(D,Y=D.schema){let{gen:X,data:Q,it:J}=D;if(Object.keys(Y).length===0)return;let W=X.let("missing");for(let $ in Y){let G=Y[$];if(G.length===0)continue;let B=(0,KX.propertyInData)(X,Q,$,J.opts.ownProperties);if(D.setParams({property:$,depsCount:G.length,deps:G.join(", ")}),J.allErrors)X.if(B,()=>{for(let H of G)(0,KX.checkReportMissingProp)(D,H)});else X.if(zU._`${B} && (${(0,KX.checkMissingProp)(D,G,W)})`),(0,KX.reportMissingProp)(D,W),X.else()}}Ay.validatePropertyDeps=Ny;function Zy(D,Y=D.schema){let{gen:X,data:Q,keyword:J,it:W}=D,$=X.name("valid");for(let G in Y){if((0,w20.alwaysValidSchema)(W,Y[G]))continue;X.if((0,KX.propertyInData)(X,Q,G,W.opts.ownProperties),()=>{let B=D.subschema({keyword:J,schemaProp:G},$);D.mergeValidEvaluated(B,$)},()=>X.var($,!0)),D.ok($)}}Ay.validateSchemaDeps=Zy;Ay.default=V20});var Py=T((Sy)=>{Object.defineProperty(Sy,"__esModule",{value:!0});var Ty=x0(),N20=p0(),Z20={message:"property name must be valid",params:({params:D})=>Ty._`{propertyName: ${D.propertyName}}`},A20={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Z20,code(D){let{gen:Y,schema:X,data:Q,it:J}=D;if((0,N20.alwaysValidSchema)(J,X))return;let W=Y.name("valid");Y.forIn("key",Q,($)=>{D.setParams({propertyName:$}),D.subschema({keyword:"propertyNames",data:$,dataTypes:["string"],propertyName:$,compositeRule:!0},W),Y.if((0,Ty.not)(W),()=>{if(D.error(!0),!J.allErrors)Y.break()})}),D.ok(W)}};Sy.default=A20});var UU=T((Iy)=>{Object.defineProperty(Iy,"__esModule",{value:!0});var S$=Z6(),c6=x0(),R20=C9(),P$=p0(),j20={message:"must NOT have additional properties",params:({params:D})=>c6._`{additionalProperty: ${D.additionalProperty}}`},T20={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:j20,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,errsCount:W,it:$}=D;if(!W)throw Error("ajv implementation error");let{allErrors:G,opts:B}=$;if($.props=!0,B.removeAdditional!=="all"&&(0,P$.alwaysValidSchema)($,X))return;let H=(0,S$.allSchemaProperties)(Q.properties),F=(0,S$.allSchemaProperties)(Q.patternProperties);K(),D.ok(c6._`${W} === ${R20.default.errors}`);function K(){Y.forIn("key",J,(L)=>{if(!H.length&&!F.length)w(L);else Y.if(U(L),()=>w(L))})}function U(L){let O;if(H.length>8){let Z=(0,P$.schemaRefOrVal)($,Q.properties,"properties");O=(0,S$.isOwnProperty)(Y,Z,L)}else if(H.length)O=(0,c6.or)(...H.map((Z)=>c6._`${L} === ${Z}`));else O=c6.nil;if(F.length)O=(0,c6.or)(O,...F.map((Z)=>c6._`${(0,S$.usePattern)(D,Z)}.test(${L})`));return(0,c6.not)(O)}function z(L){Y.code(c6._`delete ${J}[${L}]`)}function w(L){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){z(L);return}if(X===!1){if(D.setParams({additionalProperty:L}),D.error(),!G)Y.break();return}if(typeof X=="object"&&!(0,P$.alwaysValidSchema)($,X)){let O=Y.name("valid");if(B.removeAdditional==="failing")V(L,O,!1),Y.if((0,c6.not)(O),()=>{D.reset(),z(L)});else if(V(L,O),!G)Y.if((0,c6.not)(O),()=>Y.break())}}function V(L,O,Z){let M={keyword:"additionalProperties",dataProp:L,dataPropType:P$.Type.Str};if(Z===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});D.subschema(M,O)}}};Iy.default=T20});var by=T((_y)=>{Object.defineProperty(_y,"__esModule",{value:!0});var P20=DX(),Cy=Z6(),wU=p0(),xy=UU(),I20={keyword:"properties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D;if(W.opts.removeAdditional==="all"&&Q.additionalProperties===void 0)xy.default.code(new P20.KeywordCxt(W,xy.default,"additionalProperties"));let $=(0,Cy.allSchemaProperties)(X);for(let K of $)W.definedProperties.add(K);if(W.opts.unevaluated&&$.length&&W.props!==!0)W.props=wU.mergeEvaluated.props(Y,(0,wU.toHash)($),W.props);let G=$.filter((K)=>!(0,wU.alwaysValidSchema)(W,X[K]));if(G.length===0)return;let B=Y.name("valid");for(let K of G){if(H(K))F(K);else{if(Y.if((0,Cy.propertyInData)(Y,J,K,W.opts.ownProperties)),F(K),!W.allErrors)Y.else().var(B,!0);Y.endIf()}D.it.definedProperties.add(K),D.ok(B)}function H(K){return W.opts.useDefaults&&!W.compositeRule&&X[K].default!==void 0}function F(K){D.subschema({keyword:"properties",schemaProp:K,dataProp:K},B)}}};_y.default=I20});var hy=T((fy)=>{Object.defineProperty(fy,"__esModule",{value:!0});var ky=Z6(),I$=x0(),vy=p0(),yy=p0(),x20={keyword:"patternProperties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,data:Q,parentSchema:J,it:W}=D,{opts:$}=W,G=(0,ky.allSchemaProperties)(X),B=G.filter((V)=>(0,vy.alwaysValidSchema)(W,X[V]));if(G.length===0||B.length===G.length&&(!W.opts.unevaluated||W.props===!0))return;let H=$.strictSchema&&!$.allowMatchingProperties&&J.properties,F=Y.name("valid");if(W.props!==!0&&!(W.props instanceof I$.Name))W.props=(0,yy.evaluatedPropsToName)(Y,W.props);let{props:K}=W;U();function U(){for(let V of G){if(H)z(V);if(W.allErrors)w(V);else Y.var(F,!0),w(V),Y.if(F)}}function z(V){for(let L in H)if(new RegExp(V).test(L))(0,vy.checkStrictMode)(W,`property ${L} matches pattern ${V} (use allowMatchingProperties)`)}function w(V){Y.forIn("key",Q,(L)=>{Y.if(I$._`${(0,ky.usePattern)(D,V)}.test(${L})`,()=>{let O=B.includes(V);if(!O)D.subschema({keyword:"patternProperties",schemaProp:V,dataProp:L,dataPropType:yy.Type.Str},F);if(W.opts.unevaluated&&K!==!0)Y.assign(I$._`${K}[${L}]`,!0);else if(!O&&!W.allErrors)Y.if((0,I$.not)(F),()=>Y.break())})})}}};fy.default=x20});var uy=T((gy)=>{Object.defineProperty(gy,"__esModule",{value:!0});var b20=p0(),k20={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(D){let{gen:Y,schema:X,it:Q}=D;if((0,b20.alwaysValidSchema)(Q,X)){D.fail();return}let J=Y.name("valid");D.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},J),D.failResult(J,()=>D.reset(),()=>D.error())},error:{message:"must NOT be valid"}};gy.default=k20});var cy=T((my)=>{Object.defineProperty(my,"__esModule",{value:!0});var y20=Z6(),f20={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:y20.validateUnion,error:{message:"must match a schema in anyOf"}};my.default=f20});var dy=T((ly)=>{Object.defineProperty(ly,"__esModule",{value:!0});var C$=x0(),g20=p0(),u20={message:"must match exactly one schema in oneOf",params:({params:D})=>C$._`{passingSchemas: ${D.passing}}`},m20={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:u20,code(D){let{gen:Y,schema:X,parentSchema:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(J.opts.discriminator&&Q.discriminator)return;let W=X,$=Y.let("valid",!1),G=Y.let("passing",null),B=Y.name("_valid");D.setParams({passing:G}),Y.block(H),D.result($,()=>D.reset(),()=>D.error(!0));function H(){W.forEach((F,K)=>{let U;if((0,g20.alwaysValidSchema)(J,F))Y.var(B,!0);else U=D.subschema({keyword:"oneOf",schemaProp:K,compositeRule:!0},B);if(K>0)Y.if(C$._`${B} && ${$}`).assign($,!1).assign(G,C$._`[${G}, ${K}]`).else();Y.if(B,()=>{if(Y.assign($,!0),Y.assign(G,K),U)D.mergeEvaluated(U,C$.Name)})})}}};ly.default=m20});var ny=T((py)=>{Object.defineProperty(py,"__esModule",{value:!0});var l20=p0(),d20={keyword:"allOf",schemaType:"array",code(D){let{gen:Y,schema:X,it:Q}=D;if(!Array.isArray(X))throw Error("ajv implementation error");let J=Y.name("valid");X.forEach((W,$)=>{if((0,l20.alwaysValidSchema)(Q,W))return;let G=D.subschema({keyword:"allOf",schemaProp:$},J);D.ok(J),D.mergeEvaluated(G)})}};py.default=d20});var oy=T((ay)=>{Object.defineProperty(ay,"__esModule",{value:!0});var x$=x0(),ry=p0(),n20={message:({params:D})=>x$.str`must match "${D.ifClause}" schema`,params:({params:D})=>x$._`{failingKeyword: ${D.ifClause}}`},i20={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:n20,code(D){let{gen:Y,parentSchema:X,it:Q}=D;if(X.then===void 0&&X.else===void 0)(0,ry.checkStrictMode)(Q,'"if" without "then" and "else" is ignored');let J=iy(Q,"then"),W=iy(Q,"else");if(!J&&!W)return;let $=Y.let("valid",!0),G=Y.name("_valid");if(B(),D.reset(),J&&W){let F=Y.let("ifClause");D.setParams({ifClause:F}),Y.if(G,H("then",F),H("else",F))}else if(J)Y.if(G,H("then"));else Y.if((0,x$.not)(G),H("else"));D.pass($,()=>D.error(!0));function B(){let F=D.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},G);D.mergeEvaluated(F)}function H(F,K){return()=>{let U=D.subschema({keyword:F},G);if(Y.assign($,G),D.mergeValidEvaluated(U,$),K)Y.assign(K,x$._`${F}`);else D.setParams({ifClause:F})}}}};function iy(D,Y){let X=D.schema[Y];return X!==void 0&&!(0,ry.alwaysValidSchema)(D,X)}ay.default=i20});var ty=T((sy)=>{Object.defineProperty(sy,"__esModule",{value:!0});var a20=p0(),o20={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:D,parentSchema:Y,it:X}){if(Y.if===void 0)(0,a20.checkStrictMode)(X,`"${D}" without "if" is ignored`)}};sy.default=o20});var Df=T((ey)=>{Object.defineProperty(ey,"__esModule",{value:!0});var t20=qU(),e20=Uy(),DF0=KU(),YF0=Ly(),XF0=Oy(),QF0=jy(),JF0=Py(),WF0=UU(),$F0=by(),GF0=hy(),BF0=uy(),HF0=cy(),FF0=dy(),qF0=ny(),KF0=oy(),zF0=ty();function UF0(D=!1){let Y=[BF0.default,HF0.default,FF0.default,qF0.default,KF0.default,zF0.default,JF0.default,WF0.default,QF0.default,$F0.default,GF0.default];if(D)Y.push(e20.default,YF0.default);else Y.push(t20.default,DF0.default);return Y.push(XF0.default),Y}ey.default=UF0});var Xf=T((Yf)=>{Object.defineProperty(Yf,"__esModule",{value:!0});var m1=x0(),VF0={message:({schemaCode:D})=>m1.str`must match format "${D}"`,params:({schemaCode:D})=>m1._`{format: ${D}}`},LF0={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:VF0,code(D,Y){let{gen:X,data:Q,$data:J,schema:W,schemaCode:$,it:G}=D,{opts:B,errSchemaPath:H,schemaEnv:F,self:K}=G;if(!B.validateFormats)return;if(J)U();else z();function U(){let w=X.scopeValue("formats",{ref:K.formats,code:B.code.formats}),V=X.const("fDef",m1._`${w}[${$}]`),L=X.let("fType"),O=X.let("format");X.if(m1._`typeof ${V} == "object" && !(${V} instanceof RegExp)`,()=>X.assign(L,m1._`${V}.type || "string"`).assign(O,m1._`${V}.validate`),()=>X.assign(L,m1._`"string"`).assign(O,V)),D.fail$data((0,m1.or)(Z(),M()));function Z(){if(B.strictSchema===!1)return m1.nil;return m1._`${$} && !${O}`}function M(){let E=F.$async?m1._`(${V}.async ? await ${O}(${Q}) : ${O}(${Q}))`:m1._`${O}(${Q})`,j=m1._`(typeof ${O} == "function" ? ${E} : ${O}.test(${Q}))`;return m1._`${O} && ${O} !== true && ${L} === ${Y} && !${j}`}}function z(){let w=K.formats[W];if(!w){Z();return}if(w===!0)return;let[V,L,O]=M(w);if(V===Y)D.pass(E());function Z(){if(B.strictSchema===!1){K.logger.warn(j());return}throw Error(j());function j(){return`unknown format "${W}" ignored in schema at path "${H}"`}}function M(j){let I=j instanceof RegExp?(0,m1.regexpCode)(j):B.code.formats?m1._`${B.code.formats}${(0,m1.getProperty)(W)}`:void 0,x=X.scopeValue("formats",{key:W,ref:j,code:I});if(typeof j=="object"&&!(j instanceof RegExp))return[j.type||"string",j.validate,m1._`${x}.validate`];return["string",j,x]}function E(){if(typeof w=="object"&&!(w instanceof RegExp)&&w.async){if(!F.$async)throw Error("async format in sync schema");return m1._`await ${O}(${Q})`}return typeof L=="function"?m1._`${O}(${Q})`:m1._`${O}.test(${Q})`}}}};Yf.default=LF0});var Jf=T((Qf)=>{Object.defineProperty(Qf,"__esModule",{value:!0});var OF0=Xf(),NF0=[OF0.default];Qf.default=NF0});var Gf=T((Wf)=>{Object.defineProperty(Wf,"__esModule",{value:!0});Wf.contentVocabulary=Wf.metadataVocabulary=void 0;Wf.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Wf.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Ff=T((Hf)=>{Object.defineProperty(Hf,"__esModule",{value:!0});var EF0=_v(),RF0=Wy(),jF0=Df(),TF0=Jf(),Bf=Gf(),SF0=[EF0.default,RF0.default,(0,jF0.default)(),TF0.default,Bf.metadataVocabulary,Bf.contentVocabulary];Hf.default=SF0});var Uf=T((Kf)=>{Object.defineProperty(Kf,"__esModule",{value:!0});Kf.DiscrError=void 0;var qf;(function(D){D.Tag="tag",D.Mapping="mapping"})(qf||(Kf.DiscrError=qf={}))});var Lf=T((Vf)=>{Object.defineProperty(Vf,"__esModule",{value:!0});var x7=x0(),VU=Uf(),wf=K$(),IF0=YX(),CF0=p0(),xF0={message:({params:{discrError:D,tagName:Y}})=>D===VU.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:D,tag:Y,tagName:X}})=>x7._`{error: ${D}, tag: ${X}, tagValue: ${Y}}`},_F0={keyword:"discriminator",type:"object",schemaType:"object",error:xF0,code(D){let{gen:Y,data:X,schema:Q,parentSchema:J,it:W}=D,{oneOf:$}=J;if(!W.opts.discriminator)throw Error("discriminator: requires discriminator option");let G=Q.propertyName;if(typeof G!="string")throw Error("discriminator: requires propertyName");if(Q.mapping)throw Error("discriminator: mapping is not supported");if(!$)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),H=Y.const("tag",x7._`${X}${(0,x7.getProperty)(G)}`);Y.if(x7._`typeof ${H} == "string"`,()=>F(),()=>D.error(!1,{discrError:VU.DiscrError.Tag,tag:H,tagName:G})),D.ok(B);function F(){let z=U();Y.if(!1);for(let w in z)Y.elseIf(x7._`${H} === ${w}`),Y.assign(B,K(z[w]));Y.else(),D.error(!1,{discrError:VU.DiscrError.Mapping,tag:H,tagName:G}),Y.endIf()}function K(z){let w=Y.name("valid"),V=D.subschema({keyword:"oneOf",schemaProp:z},w);return D.mergeEvaluated(V,x7.Name),w}function U(){var z;let w={},V=O(J),L=!0;for(let E=0;E<$.length;E++){let j=$[E];if((j===null||j===void 0?void 0:j.$ref)&&!(0,CF0.schemaHasRulesButRef)(j,W.self.RULES)){let x=j.$ref;if(j=wf.resolveRef.call(W.self,W.schemaEnv.root,W.baseId,x),j instanceof wf.SchemaEnv)j=j.schema;if(j===void 0)throw new IF0.default(W.opts.uriResolver,W.baseId,x)}let I=(z=j===null||j===void 0?void 0:j.properties)===null||z===void 0?void 0:z[G];if(typeof I!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${G}"`);L=L&&(V||O(j)),Z(I,E)}if(!L)throw Error(`discriminator: "${G}" must be required`);return w;function O({required:E}){return Array.isArray(E)&&E.includes(G)}function Z(E,j){if(E.const)M(E.const,j);else if(E.enum)for(let I of E.enum)M(I,j);else throw Error(`discriminator: "properties/${G}" must have "const" or "enum"`)}function M(E,j){if(typeof E!="string"||E in w)throw Error(`discriminator: "${G}" values must be unique strings`);w[E]=j}}}};Vf.default=_F0});var Mf=T((vC0,kF0)=>{kF0.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var MU=T((a8,LU)=>{Object.defineProperty(a8,"__esModule",{value:!0});a8.MissingRefError=a8.ValidationError=a8.CodeGen=a8.Name=a8.nil=a8.stringify=a8.str=a8._=a8.KeywordCxt=a8.Ajv=void 0;var vF0=Av(),yF0=Ff(),fF0=Lf(),Of=Mf(),hF0=["/properties"],_$="http://json-schema.org/draft-07/schema";class zX extends vF0.default{_addVocabularies(){if(super._addVocabularies(),yF0.default.forEach((D)=>this.addVocabulary(D)),this.opts.discriminator)this.addKeyword(fF0.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let D=this.opts.$data?this.$dataMetaSchema(Of,hF0):Of;this.addMetaSchema(D,_$,!1),this.refs["http://json-schema.org/schema"]=_$}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(_$)?_$:void 0)}}a8.Ajv=zX;LU.exports=a8=zX;LU.exports.Ajv=zX;Object.defineProperty(a8,"__esModule",{value:!0});a8.default=zX;var gF0=DX();Object.defineProperty(a8,"KeywordCxt",{enumerable:!0,get:function(){return gF0.KeywordCxt}});var _7=x0();Object.defineProperty(a8,"_",{enumerable:!0,get:function(){return _7._}});Object.defineProperty(a8,"str",{enumerable:!0,get:function(){return _7.str}});Object.defineProperty(a8,"stringify",{enumerable:!0,get:function(){return _7.stringify}});Object.defineProperty(a8,"nil",{enumerable:!0,get:function(){return _7.nil}});Object.defineProperty(a8,"Name",{enumerable:!0,get:function(){return _7.Name}});Object.defineProperty(a8,"CodeGen",{enumerable:!0,get:function(){return _7.CodeGen}});var uF0=F$();Object.defineProperty(a8,"ValidationError",{enumerable:!0,get:function(){return uF0.default}});var mF0=YX();Object.defineProperty(a8,"MissingRefError",{enumerable:!0,get:function(){return mF0.default}})});var If=T((Sf)=>{Object.defineProperty(Sf,"__esModule",{value:!0});Sf.formatNames=Sf.fastFormats=Sf.fullFormats=void 0;function G9(D,Y){return{validate:D,compare:Y}}Sf.fullFormats={date:G9(Ef,AU),time:G9(NU(!0),EU),"date-time":G9(Nf(!0),jf),"iso-time":G9(NU(),Rf),"iso-date-time":G9(Nf(),Tf),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:aF0,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:Xq0,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:oF0,int32:{type:"number",validate:eF0},int64:{type:"number",validate:Dq0},float:{type:"number",validate:Af},double:{type:"number",validate:Af},password:!0,binary:!0};Sf.fastFormats={...Sf.fullFormats,date:G9(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,AU),time:G9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,EU),"date-time":G9(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,jf),"iso-time":G9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Rf),"iso-date-time":G9(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Tf),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};Sf.formatNames=Object.keys(Sf.fullFormats);function dF0(D){return D%4===0&&(D%100!==0||D%400===0)}var pF0=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,nF0=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Ef(D){let Y=pF0.exec(D);if(!Y)return!1;let X=+Y[1],Q=+Y[2],J=+Y[3];return Q>=1&&Q<=12&&J>=1&&J<=(Q===2&&dF0(X)?29:nF0[Q])}function AU(D,Y){if(!(D&&Y))return;if(D>Y)return 1;if(D<Y)return-1;return 0}var OU=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function NU(D){return function(X){let Q=OU.exec(X);if(!Q)return!1;let J=+Q[1],W=+Q[2],$=+Q[3],G=Q[4],B=Q[5]==="-"?-1:1,H=+(Q[6]||0),F=+(Q[7]||0);if(H>23||F>59||D&&!G)return!1;if(J<=23&&W<=59&&$<60)return!0;let K=W-F*B,U=J-H*B-(K<0?1:0);return(U===23||U===-1)&&(K===59||K===-1)&&$<61}}function EU(D,Y){if(!(D&&Y))return;let X=new Date("2020-01-01T"+D).valueOf(),Q=new Date("2020-01-01T"+Y).valueOf();if(!(X&&Q))return;return X-Q}function Rf(D,Y){if(!(D&&Y))return;let X=OU.exec(D),Q=OU.exec(Y);if(!(X&&Q))return;if(D=X[1]+X[2]+X[3],Y=Q[1]+Q[2]+Q[3],D>Y)return 1;if(D<Y)return-1;return 0}var ZU=/t|\s/i;function Nf(D){let Y=NU(D);return function(Q){let J=Q.split(ZU);return J.length===2&&Ef(J[0])&&Y(J[1])}}function jf(D,Y){if(!(D&&Y))return;let X=new Date(D).valueOf(),Q=new Date(Y).valueOf();if(!(X&&Q))return;return X-Q}function Tf(D,Y){if(!(D&&Y))return;let[X,Q]=D.split(ZU),[J,W]=Y.split(ZU),$=AU(X,J);if($===void 0)return;return $||EU(Q,W)}var iF0=/\/|:/,rF0=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function aF0(D){return iF0.test(D)&&rF0.test(D)}var Zf=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function oF0(D){return Zf.lastIndex=0,Zf.test(D)}var sF0=-2147483648,tF0=2147483647;function eF0(D){return Number.isInteger(D)&&D<=tF0&&D>=sF0}function Dq0(D){return Number.isInteger(D)}function Af(){return!0}var Yq0=/[^\\]\\Z/;function Xq0(D){if(Yq0.test(D))return!1;try{return new RegExp(D),!0}catch(Y){return!1}}});var xf=T((Cf)=>{Object.defineProperty(Cf,"__esModule",{value:!0});Cf.formatLimitDefinition=void 0;var Jq0=MU(),l6=x0(),jD=l6.operators,b$={formatMaximum:{okStr:"<=",ok:jD.LTE,fail:jD.GT},formatMinimum:{okStr:">=",ok:jD.GTE,fail:jD.LT},formatExclusiveMaximum:{okStr:"<",ok:jD.LT,fail:jD.GTE},formatExclusiveMinimum:{okStr:">",ok:jD.GT,fail:jD.LTE}},Wq0={message:({keyword:D,schemaCode:Y})=>l6.str`should be ${b$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>l6._`{comparison: ${b$[D].okStr}, limit: ${Y}}`};Cf.formatLimitDefinition={keyword:Object.keys(b$),type:"string",schemaType:"string",$data:!0,error:Wq0,code(D){let{gen:Y,data:X,schemaCode:Q,keyword:J,it:W}=D,{opts:$,self:G}=W;if(!$.validateFormats)return;let B=new Jq0.KeywordCxt(W,G.RULES.all.format.definition,"format");if(B.$data)H();else F();function H(){let U=Y.scopeValue("formats",{ref:G.formats,code:$.code.formats}),z=Y.const("fmt",l6._`${U}[${B.schemaCode}]`);D.fail$data((0,l6.or)(l6._`typeof ${z} != "object"`,l6._`${z} instanceof RegExp`,l6._`typeof ${z}.compare != "function"`,K(z)))}function F(){let U=B.schema,z=G.formats[U];if(!z||z===!0)return;if(typeof z!="object"||z instanceof RegExp||typeof z.compare!="function")throw Error(`"${J}": format "${U}" does not define "compare" function`);let w=Y.scopeValue("formats",{key:U,ref:z,code:$.code.formats?l6._`${$.code.formats}${(0,l6.getProperty)(U)}`:void 0});D.fail$data(K(w))}function K(U){return l6._`${U}.compare(${X}, ${Q}) ${b$[J].fail} 0`}},dependencies:["format"]};var $q0=(D)=>{return D.addKeyword(Cf.formatLimitDefinition),D};Cf.default=$q0});var vf=T((UX,kf)=>{Object.defineProperty(UX,"__esModule",{value:!0});var b7=If(),Bq0=xf(),TU=x0(),_f=new TU.Name("fullFormats"),Hq0=new TU.Name("fastFormats"),SU=(D,Y={keywords:!0})=>{if(Array.isArray(Y))return bf(D,Y,b7.fullFormats,_f),D;let[X,Q]=Y.mode==="fast"?[b7.fastFormats,Hq0]:[b7.fullFormats,_f],J=Y.formats||b7.formatNames;if(bf(D,J,X,Q),Y.keywords)(0,Bq0.default)(D);return D};SU.get=(D,Y="full")=>{let Q=(Y==="fast"?b7.fastFormats:b7.fullFormats)[D];if(!Q)throw Error(`Unknown format "${D}"`);return Q};function bf(D,Y,X,Q){var J,W;(J=(W=D.opts.code).formats)!==null&&J!==void 0||(W.formats=TU._`require("ajv-formats/dist/formats").${Q}`);for(let $ of Y)D.addFormat($,X[$])}kf.exports=UX=SU;Object.defineProperty(UX,"__esModule",{value:!0});UX.default=SU});import{exit as pU}from"node:process";var Kw=y1(qw(),1),{program:l1,createCommand:_q0,createArgument:bq0,createOption:kq0,CommanderError:vq0,InvalidArgumentError:yq0,InvalidOptionArgumentError:fq0,Command:hq0,Argument:gq0,Option:uq0,Help:mq0}=Kw.default;var f8={name:"@capgo/cli",version:"7.71.1",type:"module",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};import{existsSync as BS,readFileSync as HS}from"node:fs";var z8=y1(o$(),1),f7=y1(t$(),1);import{stdin as jw,stdout as Tw}from"node:process";import*as y9 from"node:readline";import Vw from"node:readline";import{Writable as th}from"node:stream";function eh({onlyFirst:D=!1}={}){let Y=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(Y,D?void 0:"g")}var Dg=eh();function Sw(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(Dg,"")}function Pw(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var Iw={exports:{}};(function(D){var Y={};D.exports=Y,Y.eastAsianWidth=function(Q){var J=Q.charCodeAt(0),W=Q.length==2?Q.charCodeAt(1):0,$=J;return 55296<=J&&J<=56319&&56320<=W&&W<=57343&&(J&=1023,W&=1023,$=J<<10|W,$+=65536),$==12288||65281<=$&&$<=65376||65504<=$&&$<=65510?"F":$==8361||65377<=$&&$<=65470||65474<=$&&$<=65479||65482<=$&&$<=65487||65490<=$&&$<=65495||65498<=$&&$<=65500||65512<=$&&$<=65518?"H":4352<=$&&$<=4447||4515<=$&&$<=4519||4602<=$&&$<=4607||9001<=$&&$<=9002||11904<=$&&$<=11929||11931<=$&&$<=12019||12032<=$&&$<=12245||12272<=$&&$<=12283||12289<=$&&$<=12350||12353<=$&&$<=12438||12441<=$&&$<=12543||12549<=$&&$<=12589||12593<=$&&$<=12686||12688<=$&&$<=12730||12736<=$&&$<=12771||12784<=$&&$<=12830||12832<=$&&$<=12871||12880<=$&&$<=13054||13056<=$&&$<=19903||19968<=$&&$<=42124||42128<=$&&$<=42182||43360<=$&&$<=43388||44032<=$&&$<=55203||55216<=$&&$<=55238||55243<=$&&$<=55291||63744<=$&&$<=64255||65040<=$&&$<=65049||65072<=$&&$<=65106||65108<=$&&$<=65126||65128<=$&&$<=65131||110592<=$&&$<=110593||127488<=$&&$<=127490||127504<=$&&$<=127546||127552<=$&&$<=127560||127568<=$&&$<=127569||131072<=$&&$<=194367||177984<=$&&$<=196605||196608<=$&&$<=262141?"W":32<=$&&$<=126||162<=$&&$<=163||165<=$&&$<=166||$==172||$==175||10214<=$&&$<=10221||10629<=$&&$<=10630?"Na":$==161||$==164||167<=$&&$<=168||$==170||173<=$&&$<=174||176<=$&&$<=180||182<=$&&$<=186||188<=$&&$<=191||$==198||$==208||215<=$&&$<=216||222<=$&&$<=225||$==230||232<=$&&$<=234||236<=$&&$<=237||$==240||242<=$&&$<=243||247<=$&&$<=250||$==252||$==254||$==257||$==273||$==275||$==283||294<=$&&$<=295||$==299||305<=$&&$<=307||$==312||319<=$&&$<=322||$==324||328<=$&&$<=331||$==333||338<=$&&$<=339||358<=$&&$<=359||$==363||$==462||$==464||$==466||$==468||$==470||$==472||$==474||$==476||$==593||$==609||$==708||$==711||713<=$&&$<=715||$==717||$==720||728<=$&&$<=731||$==733||$==735||768<=$&&$<=879||913<=$&&$<=929||931<=$&&$<=937||945<=$&&$<=961||963<=$&&$<=969||$==1025||1040<=$&&$<=1103||$==1105||$==8208||8211<=$&&$<=8214||8216<=$&&$<=8217||8220<=$&&$<=8221||8224<=$&&$<=8226||8228<=$&&$<=8231||$==8240||8242<=$&&$<=8243||$==8245||$==8251||$==8254||$==8308||$==8319||8321<=$&&$<=8324||$==8364||$==8451||$==8453||$==8457||$==8467||$==8470||8481<=$&&$<=8482||$==8486||$==8491||8531<=$&&$<=8532||8539<=$&&$<=8542||8544<=$&&$<=8555||8560<=$&&$<=8569||$==8585||8592<=$&&$<=8601||8632<=$&&$<=8633||$==8658||$==8660||$==8679||$==8704||8706<=$&&$<=8707||8711<=$&&$<=8712||$==8715||$==8719||$==8721||$==8725||$==8730||8733<=$&&$<=8736||$==8739||$==8741||8743<=$&&$<=8748||$==8750||8756<=$&&$<=8759||8764<=$&&$<=8765||$==8776||$==8780||$==8786||8800<=$&&$<=8801||8804<=$&&$<=8807||8810<=$&&$<=8811||8814<=$&&$<=8815||8834<=$&&$<=8835||8838<=$&&$<=8839||$==8853||$==8857||$==8869||$==8895||$==8978||9312<=$&&$<=9449||9451<=$&&$<=9547||9552<=$&&$<=9587||9600<=$&&$<=9615||9618<=$&&$<=9621||9632<=$&&$<=9633||9635<=$&&$<=9641||9650<=$&&$<=9651||9654<=$&&$<=9655||9660<=$&&$<=9661||9664<=$&&$<=9665||9670<=$&&$<=9672||$==9675||9678<=$&&$<=9681||9698<=$&&$<=9701||$==9711||9733<=$&&$<=9734||$==9737||9742<=$&&$<=9743||9748<=$&&$<=9749||$==9756||$==9758||$==9792||$==9794||9824<=$&&$<=9825||9827<=$&&$<=9829||9831<=$&&$<=9834||9836<=$&&$<=9837||$==9839||9886<=$&&$<=9887||9918<=$&&$<=9919||9924<=$&&$<=9933||9935<=$&&$<=9953||$==9955||9960<=$&&$<=9983||$==10045||$==10071||10102<=$&&$<=10111||11093<=$&&$<=11097||12872<=$&&$<=12879||57344<=$&&$<=63743||65024<=$&&$<=65039||$==65533||127232<=$&&$<=127242||127248<=$&&$<=127277||127280<=$&&$<=127337||127344<=$&&$<=127386||917760<=$&&$<=917999||983040<=$&&$<=1048573||1048576<=$&&$<=1114109?"A":"N"},Y.characterLength=function(Q){var J=this.eastAsianWidth(Q);return J=="F"||J=="W"||J=="A"?2:1};function X(Q){return Q.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}Y.length=function(Q){for(var J=X(Q),W=0,$=0;$<J.length;$++)W=W+this.characterLength(J[$]);return W},Y.slice=function(Q,J,W){textLen=Y.length(Q),J=J||0,W=W||1,J<0&&(J=textLen+J),W<0&&(W=textLen+W);for(var $="",G=0,B=X(Q),H=0;H<B.length;H++){var F=B[H],K=Y.length(F);if(G>=J-(K==2?1:0))if(G+K<=W)$+=F;else break;G+=K}return $}})(Iw);var Yg=Iw.exports,Xg=Pw(Yg),Qg=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Jg=Pw(Qg);function h7(D,Y={}){if(typeof D!="string"||D.length===0||(Y={ambiguousIsNarrow:!0,...Y},D=Sw(D),D.length===0))return 0;D=D.replace(Jg()," ");let X=Y.ambiguousIsNarrow?1:2,Q=0;for(let J of D){let W=J.codePointAt(0);if(W<=31||W>=127&&W<=159||W>=768&&W<=879)continue;switch(Xg.eastAsianWidth(J)){case"F":case"W":Q+=2;break;case"A":Q+=X;break;default:Q+=1}}return Q}var e$=10,Lw=(D=0)=>(Y)=>`\x1B[${Y+D}m`,Mw=(D=0)=>(Y)=>`\x1B[${38+D};5;${Y}m`,Ow=(D=0)=>(Y,X,Q)=>`\x1B[${38+D};2;${Y};${X};${Q}m`,w1={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(w1.modifier);var Wg=Object.keys(w1.color),$g=Object.keys(w1.bgColor);[...Wg,...$g];function Gg(){let D=new Map;for(let[Y,X]of Object.entries(w1)){for(let[Q,J]of Object.entries(X))w1[Q]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},X[Q]=w1[Q],D.set(J[0],J[1]);Object.defineProperty(w1,Y,{value:X,enumerable:!1})}return Object.defineProperty(w1,"codes",{value:D,enumerable:!1}),w1.color.close="\x1B[39m",w1.bgColor.close="\x1B[49m",w1.color.ansi=Lw(),w1.color.ansi256=Mw(),w1.color.ansi16m=Ow(),w1.bgColor.ansi=Lw(e$),w1.bgColor.ansi256=Mw(e$),w1.bgColor.ansi16m=Ow(e$),Object.defineProperties(w1,{rgbToAnsi256:{value:(Y,X,Q)=>Y===X&&X===Q?Y<8?16:Y>248?231:Math.round((Y-8)/247*24)+232:16+36*Math.round(Y/255*5)+6*Math.round(X/255*5)+Math.round(Q/255*5),enumerable:!1},hexToRgb:{value:(Y)=>{let X=/[a-f\d]{6}|[a-f\d]{3}/i.exec(Y.toString(16));if(!X)return[0,0,0];let[Q]=X;Q.length===3&&(Q=[...Q].map((W)=>W+W).join(""));let J=Number.parseInt(Q,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:(Y)=>w1.rgbToAnsi256(...w1.hexToRgb(Y)),enumerable:!1},ansi256ToAnsi:{value:(Y)=>{if(Y<8)return 30+Y;if(Y<16)return 90+(Y-8);let X,Q,J;if(Y>=232)X=((Y-232)*10+8)/255,Q=X,J=X;else{Y-=16;let G=Y%36;X=Math.floor(Y/36)/5,Q=Math.floor(G/6)/5,J=G%6/5}let W=Math.max(X,Q,J)*2;if(W===0)return 30;let $=30+(Math.round(J)<<2|Math.round(Q)<<1|Math.round(X));return W===2&&($+=60),$},enumerable:!1},rgbToAnsi:{value:(Y,X,Q)=>w1.ansi256ToAnsi(w1.rgbToAnsi256(Y,X,Q)),enumerable:!1},hexToAnsi:{value:(Y)=>w1.ansi256ToAnsi(w1.hexToAnsi256(Y)),enumerable:!1}}),w1}var Bg=Gg(),jX=new Set(["\x1B",""]),Hg=39,XG="\x07",Cw="[",Fg="]",xw="m",QG=`${Fg}8;;`,Nw=(D)=>`${jX.values().next().value}${Cw}${D}${xw}`,Zw=(D)=>`${jX.values().next().value}${QG}${D}${XG}`,qg=(D)=>D.split(" ").map((Y)=>h7(Y)),DG=(D,Y,X)=>{let Q=[...Y],J=!1,W=!1,$=h7(Sw(D[D.length-1]));for(let[G,B]of Q.entries()){let H=h7(B);if($+H<=X?D[D.length-1]+=B:(D.push(B),$=0),jX.has(B)&&(J=!0,W=Q.slice(G+1).join("").startsWith(QG)),J){W?B===XG&&(J=!1,W=!1):B===xw&&(J=!1);continue}$+=H,$===X&&G<Q.length-1&&(D.push(""),$=0)}!$&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},Kg=(D)=>{let Y=D.split(" "),X=Y.length;for(;X>0&&!(h7(Y[X-1])>0);)X--;return X===Y.length?D:Y.slice(0,X).join(" ")+Y.slice(X).join("")},zg=(D,Y,X={})=>{if(X.trim!==!1&&D.trim()==="")return"";let Q="",J,W,$=qg(D),G=[""];for(let[H,F]of D.split(" ").entries()){X.trim!==!1&&(G[G.length-1]=G[G.length-1].trimStart());let K=h7(G[G.length-1]);if(H!==0&&(K>=Y&&(X.wordWrap===!1||X.trim===!1)&&(G.push(""),K=0),(K>0||X.trim===!1)&&(G[G.length-1]+=" ",K++)),X.hard&&$[H]>Y){let U=Y-K,z=1+Math.floor(($[H]-U-1)/Y);Math.floor(($[H]-1)/Y)<z&&G.push(""),DG(G,F,Y);continue}if(K+$[H]>Y&&K>0&&$[H]>0){if(X.wordWrap===!1&&K<Y){DG(G,F,Y);continue}G.push("")}if(K+$[H]>Y&&X.wordWrap===!1){DG(G,F,Y);continue}G[G.length-1]+=F}X.trim!==!1&&(G=G.map((H)=>Kg(H)));let B=[...G.join(`
|
|
137
|
+
deps: ${X}}`};var V20={keyword:"dependencies",type:"object",schemaType:"object",error:Ay.error,code(D){let[Y,X]=L20(D);Ny(D,Y),Zy(D,X)}};function L20({schema:D}){let Y={},X={};for(let Q in D){if(Q==="__proto__")continue;let J=Array.isArray(D[Q])?Y:X;J[Q]=D[Q]}return[Y,X]}function Ny(D,Y=D.schema){let{gen:X,data:Q,it:J}=D;if(Object.keys(Y).length===0)return;let W=X.let("missing");for(let $ in Y){let G=Y[$];if(G.length===0)continue;let B=(0,KX.propertyInData)(X,Q,$,J.opts.ownProperties);if(D.setParams({property:$,depsCount:G.length,deps:G.join(", ")}),J.allErrors)X.if(B,()=>{for(let H of G)(0,KX.checkReportMissingProp)(D,H)});else X.if(zU._`${B} && (${(0,KX.checkMissingProp)(D,G,W)})`),(0,KX.reportMissingProp)(D,W),X.else()}}Ay.validatePropertyDeps=Ny;function Zy(D,Y=D.schema){let{gen:X,data:Q,keyword:J,it:W}=D,$=X.name("valid");for(let G in Y){if((0,w20.alwaysValidSchema)(W,Y[G]))continue;X.if((0,KX.propertyInData)(X,Q,G,W.opts.ownProperties),()=>{let B=D.subschema({keyword:J,schemaProp:G},$);D.mergeValidEvaluated(B,$)},()=>X.var($,!0)),D.ok($)}}Ay.validateSchemaDeps=Zy;Ay.default=V20});var Py=T((Sy)=>{Object.defineProperty(Sy,"__esModule",{value:!0});var Ty=x0(),N20=p0(),Z20={message:"property name must be valid",params:({params:D})=>Ty._`{propertyName: ${D.propertyName}}`},A20={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:Z20,code(D){let{gen:Y,schema:X,data:Q,it:J}=D;if((0,N20.alwaysValidSchema)(J,X))return;let W=Y.name("valid");Y.forIn("key",Q,($)=>{D.setParams({propertyName:$}),D.subschema({keyword:"propertyNames",data:$,dataTypes:["string"],propertyName:$,compositeRule:!0},W),Y.if((0,Ty.not)(W),()=>{if(D.error(!0),!J.allErrors)Y.break()})}),D.ok(W)}};Sy.default=A20});var UU=T((Iy)=>{Object.defineProperty(Iy,"__esModule",{value:!0});var S$=Z6(),c6=x0(),R20=C9(),P$=p0(),j20={message:"must NOT have additional properties",params:({params:D})=>c6._`{additionalProperty: ${D.additionalProperty}}`},T20={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:j20,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,errsCount:W,it:$}=D;if(!W)throw Error("ajv implementation error");let{allErrors:G,opts:B}=$;if($.props=!0,B.removeAdditional!=="all"&&(0,P$.alwaysValidSchema)($,X))return;let H=(0,S$.allSchemaProperties)(Q.properties),F=(0,S$.allSchemaProperties)(Q.patternProperties);K(),D.ok(c6._`${W} === ${R20.default.errors}`);function K(){Y.forIn("key",J,(L)=>{if(!H.length&&!F.length)w(L);else Y.if(U(L),()=>w(L))})}function U(L){let O;if(H.length>8){let Z=(0,P$.schemaRefOrVal)($,Q.properties,"properties");O=(0,S$.isOwnProperty)(Y,Z,L)}else if(H.length)O=(0,c6.or)(...H.map((Z)=>c6._`${L} === ${Z}`));else O=c6.nil;if(F.length)O=(0,c6.or)(O,...F.map((Z)=>c6._`${(0,S$.usePattern)(D,Z)}.test(${L})`));return(0,c6.not)(O)}function z(L){Y.code(c6._`delete ${J}[${L}]`)}function w(L){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){z(L);return}if(X===!1){if(D.setParams({additionalProperty:L}),D.error(),!G)Y.break();return}if(typeof X=="object"&&!(0,P$.alwaysValidSchema)($,X)){let O=Y.name("valid");if(B.removeAdditional==="failing")V(L,O,!1),Y.if((0,c6.not)(O),()=>{D.reset(),z(L)});else if(V(L,O),!G)Y.if((0,c6.not)(O),()=>Y.break())}}function V(L,O,Z){let M={keyword:"additionalProperties",dataProp:L,dataPropType:P$.Type.Str};if(Z===!1)Object.assign(M,{compositeRule:!0,createErrors:!1,allErrors:!1});D.subschema(M,O)}}};Iy.default=T20});var by=T((_y)=>{Object.defineProperty(_y,"__esModule",{value:!0});var P20=DX(),Cy=Z6(),wU=p0(),xy=UU(),I20={keyword:"properties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D;if(W.opts.removeAdditional==="all"&&Q.additionalProperties===void 0)xy.default.code(new P20.KeywordCxt(W,xy.default,"additionalProperties"));let $=(0,Cy.allSchemaProperties)(X);for(let K of $)W.definedProperties.add(K);if(W.opts.unevaluated&&$.length&&W.props!==!0)W.props=wU.mergeEvaluated.props(Y,(0,wU.toHash)($),W.props);let G=$.filter((K)=>!(0,wU.alwaysValidSchema)(W,X[K]));if(G.length===0)return;let B=Y.name("valid");for(let K of G){if(H(K))F(K);else{if(Y.if((0,Cy.propertyInData)(Y,J,K,W.opts.ownProperties)),F(K),!W.allErrors)Y.else().var(B,!0);Y.endIf()}D.it.definedProperties.add(K),D.ok(B)}function H(K){return W.opts.useDefaults&&!W.compositeRule&&X[K].default!==void 0}function F(K){D.subschema({keyword:"properties",schemaProp:K,dataProp:K},B)}}};_y.default=I20});var hy=T((fy)=>{Object.defineProperty(fy,"__esModule",{value:!0});var ky=Z6(),I$=x0(),vy=p0(),yy=p0(),x20={keyword:"patternProperties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,data:Q,parentSchema:J,it:W}=D,{opts:$}=W,G=(0,ky.allSchemaProperties)(X),B=G.filter((V)=>(0,vy.alwaysValidSchema)(W,X[V]));if(G.length===0||B.length===G.length&&(!W.opts.unevaluated||W.props===!0))return;let H=$.strictSchema&&!$.allowMatchingProperties&&J.properties,F=Y.name("valid");if(W.props!==!0&&!(W.props instanceof I$.Name))W.props=(0,yy.evaluatedPropsToName)(Y,W.props);let{props:K}=W;U();function U(){for(let V of G){if(H)z(V);if(W.allErrors)w(V);else Y.var(F,!0),w(V),Y.if(F)}}function z(V){for(let L in H)if(new RegExp(V).test(L))(0,vy.checkStrictMode)(W,`property ${L} matches pattern ${V} (use allowMatchingProperties)`)}function w(V){Y.forIn("key",Q,(L)=>{Y.if(I$._`${(0,ky.usePattern)(D,V)}.test(${L})`,()=>{let O=B.includes(V);if(!O)D.subschema({keyword:"patternProperties",schemaProp:V,dataProp:L,dataPropType:yy.Type.Str},F);if(W.opts.unevaluated&&K!==!0)Y.assign(I$._`${K}[${L}]`,!0);else if(!O&&!W.allErrors)Y.if((0,I$.not)(F),()=>Y.break())})})}}};fy.default=x20});var uy=T((gy)=>{Object.defineProperty(gy,"__esModule",{value:!0});var b20=p0(),k20={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(D){let{gen:Y,schema:X,it:Q}=D;if((0,b20.alwaysValidSchema)(Q,X)){D.fail();return}let J=Y.name("valid");D.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},J),D.failResult(J,()=>D.reset(),()=>D.error())},error:{message:"must NOT be valid"}};gy.default=k20});var cy=T((my)=>{Object.defineProperty(my,"__esModule",{value:!0});var y20=Z6(),f20={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:y20.validateUnion,error:{message:"must match a schema in anyOf"}};my.default=f20});var dy=T((ly)=>{Object.defineProperty(ly,"__esModule",{value:!0});var C$=x0(),g20=p0(),u20={message:"must match exactly one schema in oneOf",params:({params:D})=>C$._`{passingSchemas: ${D.passing}}`},m20={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:u20,code(D){let{gen:Y,schema:X,parentSchema:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(J.opts.discriminator&&Q.discriminator)return;let W=X,$=Y.let("valid",!1),G=Y.let("passing",null),B=Y.name("_valid");D.setParams({passing:G}),Y.block(H),D.result($,()=>D.reset(),()=>D.error(!0));function H(){W.forEach((F,K)=>{let U;if((0,g20.alwaysValidSchema)(J,F))Y.var(B,!0);else U=D.subschema({keyword:"oneOf",schemaProp:K,compositeRule:!0},B);if(K>0)Y.if(C$._`${B} && ${$}`).assign($,!1).assign(G,C$._`[${G}, ${K}]`).else();Y.if(B,()=>{if(Y.assign($,!0),Y.assign(G,K),U)D.mergeEvaluated(U,C$.Name)})})}}};ly.default=m20});var ny=T((py)=>{Object.defineProperty(py,"__esModule",{value:!0});var l20=p0(),d20={keyword:"allOf",schemaType:"array",code(D){let{gen:Y,schema:X,it:Q}=D;if(!Array.isArray(X))throw Error("ajv implementation error");let J=Y.name("valid");X.forEach((W,$)=>{if((0,l20.alwaysValidSchema)(Q,W))return;let G=D.subschema({keyword:"allOf",schemaProp:$},J);D.ok(J),D.mergeEvaluated(G)})}};py.default=d20});var oy=T((ay)=>{Object.defineProperty(ay,"__esModule",{value:!0});var x$=x0(),ry=p0(),n20={message:({params:D})=>x$.str`must match "${D.ifClause}" schema`,params:({params:D})=>x$._`{failingKeyword: ${D.ifClause}}`},i20={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:n20,code(D){let{gen:Y,parentSchema:X,it:Q}=D;if(X.then===void 0&&X.else===void 0)(0,ry.checkStrictMode)(Q,'"if" without "then" and "else" is ignored');let J=iy(Q,"then"),W=iy(Q,"else");if(!J&&!W)return;let $=Y.let("valid",!0),G=Y.name("_valid");if(B(),D.reset(),J&&W){let F=Y.let("ifClause");D.setParams({ifClause:F}),Y.if(G,H("then",F),H("else",F))}else if(J)Y.if(G,H("then"));else Y.if((0,x$.not)(G),H("else"));D.pass($,()=>D.error(!0));function B(){let F=D.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},G);D.mergeEvaluated(F)}function H(F,K){return()=>{let U=D.subschema({keyword:F},G);if(Y.assign($,G),D.mergeValidEvaluated(U,$),K)Y.assign(K,x$._`${F}`);else D.setParams({ifClause:F})}}}};function iy(D,Y){let X=D.schema[Y];return X!==void 0&&!(0,ry.alwaysValidSchema)(D,X)}ay.default=i20});var ty=T((sy)=>{Object.defineProperty(sy,"__esModule",{value:!0});var a20=p0(),o20={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:D,parentSchema:Y,it:X}){if(Y.if===void 0)(0,a20.checkStrictMode)(X,`"${D}" without "if" is ignored`)}};sy.default=o20});var Df=T((ey)=>{Object.defineProperty(ey,"__esModule",{value:!0});var t20=qU(),e20=Uy(),DF0=KU(),YF0=Ly(),XF0=Oy(),QF0=jy(),JF0=Py(),WF0=UU(),$F0=by(),GF0=hy(),BF0=uy(),HF0=cy(),FF0=dy(),qF0=ny(),KF0=oy(),zF0=ty();function UF0(D=!1){let Y=[BF0.default,HF0.default,FF0.default,qF0.default,KF0.default,zF0.default,JF0.default,WF0.default,QF0.default,$F0.default,GF0.default];if(D)Y.push(e20.default,YF0.default);else Y.push(t20.default,DF0.default);return Y.push(XF0.default),Y}ey.default=UF0});var Xf=T((Yf)=>{Object.defineProperty(Yf,"__esModule",{value:!0});var u1=x0(),VF0={message:({schemaCode:D})=>u1.str`must match format "${D}"`,params:({schemaCode:D})=>u1._`{format: ${D}}`},LF0={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:VF0,code(D,Y){let{gen:X,data:Q,$data:J,schema:W,schemaCode:$,it:G}=D,{opts:B,errSchemaPath:H,schemaEnv:F,self:K}=G;if(!B.validateFormats)return;if(J)U();else z();function U(){let w=X.scopeValue("formats",{ref:K.formats,code:B.code.formats}),V=X.const("fDef",u1._`${w}[${$}]`),L=X.let("fType"),O=X.let("format");X.if(u1._`typeof ${V} == "object" && !(${V} instanceof RegExp)`,()=>X.assign(L,u1._`${V}.type || "string"`).assign(O,u1._`${V}.validate`),()=>X.assign(L,u1._`"string"`).assign(O,V)),D.fail$data((0,u1.or)(Z(),M()));function Z(){if(B.strictSchema===!1)return u1.nil;return u1._`${$} && !${O}`}function M(){let E=F.$async?u1._`(${V}.async ? await ${O}(${Q}) : ${O}(${Q}))`:u1._`${O}(${Q})`,j=u1._`(typeof ${O} == "function" ? ${E} : ${O}.test(${Q}))`;return u1._`${O} && ${O} !== true && ${L} === ${Y} && !${j}`}}function z(){let w=K.formats[W];if(!w){Z();return}if(w===!0)return;let[V,L,O]=M(w);if(V===Y)D.pass(E());function Z(){if(B.strictSchema===!1){K.logger.warn(j());return}throw Error(j());function j(){return`unknown format "${W}" ignored in schema at path "${H}"`}}function M(j){let I=j instanceof RegExp?(0,u1.regexpCode)(j):B.code.formats?u1._`${B.code.formats}${(0,u1.getProperty)(W)}`:void 0,x=X.scopeValue("formats",{key:W,ref:j,code:I});if(typeof j=="object"&&!(j instanceof RegExp))return[j.type||"string",j.validate,u1._`${x}.validate`];return["string",j,x]}function E(){if(typeof w=="object"&&!(w instanceof RegExp)&&w.async){if(!F.$async)throw Error("async format in sync schema");return u1._`await ${O}(${Q})`}return typeof L=="function"?u1._`${O}(${Q})`:u1._`${O}.test(${Q})`}}}};Yf.default=LF0});var Jf=T((Qf)=>{Object.defineProperty(Qf,"__esModule",{value:!0});var OF0=Xf(),NF0=[OF0.default];Qf.default=NF0});var Gf=T((Wf)=>{Object.defineProperty(Wf,"__esModule",{value:!0});Wf.contentVocabulary=Wf.metadataVocabulary=void 0;Wf.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Wf.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Ff=T((Hf)=>{Object.defineProperty(Hf,"__esModule",{value:!0});var EF0=_v(),RF0=Wy(),jF0=Df(),TF0=Jf(),Bf=Gf(),SF0=[EF0.default,RF0.default,(0,jF0.default)(),TF0.default,Bf.metadataVocabulary,Bf.contentVocabulary];Hf.default=SF0});var Uf=T((Kf)=>{Object.defineProperty(Kf,"__esModule",{value:!0});Kf.DiscrError=void 0;var qf;(function(D){D.Tag="tag",D.Mapping="mapping"})(qf||(Kf.DiscrError=qf={}))});var Lf=T((Vf)=>{Object.defineProperty(Vf,"__esModule",{value:!0});var x7=x0(),VU=Uf(),wf=K$(),IF0=YX(),CF0=p0(),xF0={message:({params:{discrError:D,tagName:Y}})=>D===VU.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:D,tag:Y,tagName:X}})=>x7._`{error: ${D}, tag: ${X}, tagValue: ${Y}}`},_F0={keyword:"discriminator",type:"object",schemaType:"object",error:xF0,code(D){let{gen:Y,data:X,schema:Q,parentSchema:J,it:W}=D,{oneOf:$}=J;if(!W.opts.discriminator)throw Error("discriminator: requires discriminator option");let G=Q.propertyName;if(typeof G!="string")throw Error("discriminator: requires propertyName");if(Q.mapping)throw Error("discriminator: mapping is not supported");if(!$)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),H=Y.const("tag",x7._`${X}${(0,x7.getProperty)(G)}`);Y.if(x7._`typeof ${H} == "string"`,()=>F(),()=>D.error(!1,{discrError:VU.DiscrError.Tag,tag:H,tagName:G})),D.ok(B);function F(){let z=U();Y.if(!1);for(let w in z)Y.elseIf(x7._`${H} === ${w}`),Y.assign(B,K(z[w]));Y.else(),D.error(!1,{discrError:VU.DiscrError.Mapping,tag:H,tagName:G}),Y.endIf()}function K(z){let w=Y.name("valid"),V=D.subschema({keyword:"oneOf",schemaProp:z},w);return D.mergeEvaluated(V,x7.Name),w}function U(){var z;let w={},V=O(J),L=!0;for(let E=0;E<$.length;E++){let j=$[E];if((j===null||j===void 0?void 0:j.$ref)&&!(0,CF0.schemaHasRulesButRef)(j,W.self.RULES)){let x=j.$ref;if(j=wf.resolveRef.call(W.self,W.schemaEnv.root,W.baseId,x),j instanceof wf.SchemaEnv)j=j.schema;if(j===void 0)throw new IF0.default(W.opts.uriResolver,W.baseId,x)}let I=(z=j===null||j===void 0?void 0:j.properties)===null||z===void 0?void 0:z[G];if(typeof I!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${G}"`);L=L&&(V||O(j)),Z(I,E)}if(!L)throw Error(`discriminator: "${G}" must be required`);return w;function O({required:E}){return Array.isArray(E)&&E.includes(G)}function Z(E,j){if(E.const)M(E.const,j);else if(E.enum)for(let I of E.enum)M(I,j);else throw Error(`discriminator: "properties/${G}" must have "const" or "enum"`)}function M(E,j){if(typeof E!="string"||E in w)throw Error(`discriminator: "${G}" values must be unique strings`);w[E]=j}}}};Vf.default=_F0});var Mf=T((vC0,kF0)=>{kF0.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var MU=T((a8,LU)=>{Object.defineProperty(a8,"__esModule",{value:!0});a8.MissingRefError=a8.ValidationError=a8.CodeGen=a8.Name=a8.nil=a8.stringify=a8.str=a8._=a8.KeywordCxt=a8.Ajv=void 0;var vF0=Av(),yF0=Ff(),fF0=Lf(),Of=Mf(),hF0=["/properties"],_$="http://json-schema.org/draft-07/schema";class zX extends vF0.default{_addVocabularies(){if(super._addVocabularies(),yF0.default.forEach((D)=>this.addVocabulary(D)),this.opts.discriminator)this.addKeyword(fF0.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let D=this.opts.$data?this.$dataMetaSchema(Of,hF0):Of;this.addMetaSchema(D,_$,!1),this.refs["http://json-schema.org/schema"]=_$}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(_$)?_$:void 0)}}a8.Ajv=zX;LU.exports=a8=zX;LU.exports.Ajv=zX;Object.defineProperty(a8,"__esModule",{value:!0});a8.default=zX;var gF0=DX();Object.defineProperty(a8,"KeywordCxt",{enumerable:!0,get:function(){return gF0.KeywordCxt}});var _7=x0();Object.defineProperty(a8,"_",{enumerable:!0,get:function(){return _7._}});Object.defineProperty(a8,"str",{enumerable:!0,get:function(){return _7.str}});Object.defineProperty(a8,"stringify",{enumerable:!0,get:function(){return _7.stringify}});Object.defineProperty(a8,"nil",{enumerable:!0,get:function(){return _7.nil}});Object.defineProperty(a8,"Name",{enumerable:!0,get:function(){return _7.Name}});Object.defineProperty(a8,"CodeGen",{enumerable:!0,get:function(){return _7.CodeGen}});var uF0=F$();Object.defineProperty(a8,"ValidationError",{enumerable:!0,get:function(){return uF0.default}});var mF0=YX();Object.defineProperty(a8,"MissingRefError",{enumerable:!0,get:function(){return mF0.default}})});var If=T((Sf)=>{Object.defineProperty(Sf,"__esModule",{value:!0});Sf.formatNames=Sf.fastFormats=Sf.fullFormats=void 0;function G9(D,Y){return{validate:D,compare:Y}}Sf.fullFormats={date:G9(Ef,AU),time:G9(NU(!0),EU),"date-time":G9(Nf(!0),jf),"iso-time":G9(NU(),Rf),"iso-date-time":G9(Nf(),Tf),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:aF0,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:Xq0,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:oF0,int32:{type:"number",validate:eF0},int64:{type:"number",validate:Dq0},float:{type:"number",validate:Af},double:{type:"number",validate:Af},password:!0,binary:!0};Sf.fastFormats={...Sf.fullFormats,date:G9(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,AU),time:G9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,EU),"date-time":G9(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,jf),"iso-time":G9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Rf),"iso-date-time":G9(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Tf),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};Sf.formatNames=Object.keys(Sf.fullFormats);function dF0(D){return D%4===0&&(D%100!==0||D%400===0)}var pF0=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,nF0=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Ef(D){let Y=pF0.exec(D);if(!Y)return!1;let X=+Y[1],Q=+Y[2],J=+Y[3];return Q>=1&&Q<=12&&J>=1&&J<=(Q===2&&dF0(X)?29:nF0[Q])}function AU(D,Y){if(!(D&&Y))return;if(D>Y)return 1;if(D<Y)return-1;return 0}var OU=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function NU(D){return function(X){let Q=OU.exec(X);if(!Q)return!1;let J=+Q[1],W=+Q[2],$=+Q[3],G=Q[4],B=Q[5]==="-"?-1:1,H=+(Q[6]||0),F=+(Q[7]||0);if(H>23||F>59||D&&!G)return!1;if(J<=23&&W<=59&&$<60)return!0;let K=W-F*B,U=J-H*B-(K<0?1:0);return(U===23||U===-1)&&(K===59||K===-1)&&$<61}}function EU(D,Y){if(!(D&&Y))return;let X=new Date("2020-01-01T"+D).valueOf(),Q=new Date("2020-01-01T"+Y).valueOf();if(!(X&&Q))return;return X-Q}function Rf(D,Y){if(!(D&&Y))return;let X=OU.exec(D),Q=OU.exec(Y);if(!(X&&Q))return;if(D=X[1]+X[2]+X[3],Y=Q[1]+Q[2]+Q[3],D>Y)return 1;if(D<Y)return-1;return 0}var ZU=/t|\s/i;function Nf(D){let Y=NU(D);return function(Q){let J=Q.split(ZU);return J.length===2&&Ef(J[0])&&Y(J[1])}}function jf(D,Y){if(!(D&&Y))return;let X=new Date(D).valueOf(),Q=new Date(Y).valueOf();if(!(X&&Q))return;return X-Q}function Tf(D,Y){if(!(D&&Y))return;let[X,Q]=D.split(ZU),[J,W]=Y.split(ZU),$=AU(X,J);if($===void 0)return;return $||EU(Q,W)}var iF0=/\/|:/,rF0=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function aF0(D){return iF0.test(D)&&rF0.test(D)}var Zf=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function oF0(D){return Zf.lastIndex=0,Zf.test(D)}var sF0=-2147483648,tF0=2147483647;function eF0(D){return Number.isInteger(D)&&D<=tF0&&D>=sF0}function Dq0(D){return Number.isInteger(D)}function Af(){return!0}var Yq0=/[^\\]\\Z/;function Xq0(D){if(Yq0.test(D))return!1;try{return new RegExp(D),!0}catch(Y){return!1}}});var xf=T((Cf)=>{Object.defineProperty(Cf,"__esModule",{value:!0});Cf.formatLimitDefinition=void 0;var Jq0=MU(),l6=x0(),jD=l6.operators,b$={formatMaximum:{okStr:"<=",ok:jD.LTE,fail:jD.GT},formatMinimum:{okStr:">=",ok:jD.GTE,fail:jD.LT},formatExclusiveMaximum:{okStr:"<",ok:jD.LT,fail:jD.GTE},formatExclusiveMinimum:{okStr:">",ok:jD.GT,fail:jD.LTE}},Wq0={message:({keyword:D,schemaCode:Y})=>l6.str`should be ${b$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>l6._`{comparison: ${b$[D].okStr}, limit: ${Y}}`};Cf.formatLimitDefinition={keyword:Object.keys(b$),type:"string",schemaType:"string",$data:!0,error:Wq0,code(D){let{gen:Y,data:X,schemaCode:Q,keyword:J,it:W}=D,{opts:$,self:G}=W;if(!$.validateFormats)return;let B=new Jq0.KeywordCxt(W,G.RULES.all.format.definition,"format");if(B.$data)H();else F();function H(){let U=Y.scopeValue("formats",{ref:G.formats,code:$.code.formats}),z=Y.const("fmt",l6._`${U}[${B.schemaCode}]`);D.fail$data((0,l6.or)(l6._`typeof ${z} != "object"`,l6._`${z} instanceof RegExp`,l6._`typeof ${z}.compare != "function"`,K(z)))}function F(){let U=B.schema,z=G.formats[U];if(!z||z===!0)return;if(typeof z!="object"||z instanceof RegExp||typeof z.compare!="function")throw Error(`"${J}": format "${U}" does not define "compare" function`);let w=Y.scopeValue("formats",{key:U,ref:z,code:$.code.formats?l6._`${$.code.formats}${(0,l6.getProperty)(U)}`:void 0});D.fail$data(K(w))}function K(U){return l6._`${U}.compare(${X}, ${Q}) ${b$[J].fail} 0`}},dependencies:["format"]};var $q0=(D)=>{return D.addKeyword(Cf.formatLimitDefinition),D};Cf.default=$q0});var vf=T((UX,kf)=>{Object.defineProperty(UX,"__esModule",{value:!0});var b7=If(),Bq0=xf(),TU=x0(),_f=new TU.Name("fullFormats"),Hq0=new TU.Name("fastFormats"),SU=(D,Y={keywords:!0})=>{if(Array.isArray(Y))return bf(D,Y,b7.fullFormats,_f),D;let[X,Q]=Y.mode==="fast"?[b7.fastFormats,Hq0]:[b7.fullFormats,_f],J=Y.formats||b7.formatNames;if(bf(D,J,X,Q),Y.keywords)(0,Bq0.default)(D);return D};SU.get=(D,Y="full")=>{let Q=(Y==="fast"?b7.fastFormats:b7.fullFormats)[D];if(!Q)throw Error(`Unknown format "${D}"`);return Q};function bf(D,Y,X,Q){var J,W;(J=(W=D.opts.code).formats)!==null&&J!==void 0||(W.formats=TU._`require("ajv-formats/dist/formats").${Q}`);for(let $ of Y)D.addFormat($,X[$])}kf.exports=UX=SU;Object.defineProperty(UX,"__esModule",{value:!0});UX.default=SU});import{exit as pU}from"node:process";var Kw=r1(qw(),1),{program:c1,createCommand:_q0,createArgument:bq0,createOption:kq0,CommanderError:vq0,InvalidArgumentError:yq0,InvalidOptionArgumentError:fq0,Command:hq0,Argument:gq0,Option:uq0,Help:mq0}=Kw.default;var f8={name:"@capgo/cli",version:"7.71.2",type:"module",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};import{existsSync as BS,readFileSync as HS}from"node:fs";var z8=r1(o$(),1),f7=r1(t$(),1);import{stdin as jw,stdout as Tw}from"node:process";import*as y9 from"node:readline";import Vw from"node:readline";import{Writable as th}from"node:stream";function eh({onlyFirst:D=!1}={}){let Y=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(Y,D?void 0:"g")}var Dg=eh();function Sw(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(Dg,"")}function Pw(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var Iw={exports:{}};(function(D){var Y={};D.exports=Y,Y.eastAsianWidth=function(Q){var J=Q.charCodeAt(0),W=Q.length==2?Q.charCodeAt(1):0,$=J;return 55296<=J&&J<=56319&&56320<=W&&W<=57343&&(J&=1023,W&=1023,$=J<<10|W,$+=65536),$==12288||65281<=$&&$<=65376||65504<=$&&$<=65510?"F":$==8361||65377<=$&&$<=65470||65474<=$&&$<=65479||65482<=$&&$<=65487||65490<=$&&$<=65495||65498<=$&&$<=65500||65512<=$&&$<=65518?"H":4352<=$&&$<=4447||4515<=$&&$<=4519||4602<=$&&$<=4607||9001<=$&&$<=9002||11904<=$&&$<=11929||11931<=$&&$<=12019||12032<=$&&$<=12245||12272<=$&&$<=12283||12289<=$&&$<=12350||12353<=$&&$<=12438||12441<=$&&$<=12543||12549<=$&&$<=12589||12593<=$&&$<=12686||12688<=$&&$<=12730||12736<=$&&$<=12771||12784<=$&&$<=12830||12832<=$&&$<=12871||12880<=$&&$<=13054||13056<=$&&$<=19903||19968<=$&&$<=42124||42128<=$&&$<=42182||43360<=$&&$<=43388||44032<=$&&$<=55203||55216<=$&&$<=55238||55243<=$&&$<=55291||63744<=$&&$<=64255||65040<=$&&$<=65049||65072<=$&&$<=65106||65108<=$&&$<=65126||65128<=$&&$<=65131||110592<=$&&$<=110593||127488<=$&&$<=127490||127504<=$&&$<=127546||127552<=$&&$<=127560||127568<=$&&$<=127569||131072<=$&&$<=194367||177984<=$&&$<=196605||196608<=$&&$<=262141?"W":32<=$&&$<=126||162<=$&&$<=163||165<=$&&$<=166||$==172||$==175||10214<=$&&$<=10221||10629<=$&&$<=10630?"Na":$==161||$==164||167<=$&&$<=168||$==170||173<=$&&$<=174||176<=$&&$<=180||182<=$&&$<=186||188<=$&&$<=191||$==198||$==208||215<=$&&$<=216||222<=$&&$<=225||$==230||232<=$&&$<=234||236<=$&&$<=237||$==240||242<=$&&$<=243||247<=$&&$<=250||$==252||$==254||$==257||$==273||$==275||$==283||294<=$&&$<=295||$==299||305<=$&&$<=307||$==312||319<=$&&$<=322||$==324||328<=$&&$<=331||$==333||338<=$&&$<=339||358<=$&&$<=359||$==363||$==462||$==464||$==466||$==468||$==470||$==472||$==474||$==476||$==593||$==609||$==708||$==711||713<=$&&$<=715||$==717||$==720||728<=$&&$<=731||$==733||$==735||768<=$&&$<=879||913<=$&&$<=929||931<=$&&$<=937||945<=$&&$<=961||963<=$&&$<=969||$==1025||1040<=$&&$<=1103||$==1105||$==8208||8211<=$&&$<=8214||8216<=$&&$<=8217||8220<=$&&$<=8221||8224<=$&&$<=8226||8228<=$&&$<=8231||$==8240||8242<=$&&$<=8243||$==8245||$==8251||$==8254||$==8308||$==8319||8321<=$&&$<=8324||$==8364||$==8451||$==8453||$==8457||$==8467||$==8470||8481<=$&&$<=8482||$==8486||$==8491||8531<=$&&$<=8532||8539<=$&&$<=8542||8544<=$&&$<=8555||8560<=$&&$<=8569||$==8585||8592<=$&&$<=8601||8632<=$&&$<=8633||$==8658||$==8660||$==8679||$==8704||8706<=$&&$<=8707||8711<=$&&$<=8712||$==8715||$==8719||$==8721||$==8725||$==8730||8733<=$&&$<=8736||$==8739||$==8741||8743<=$&&$<=8748||$==8750||8756<=$&&$<=8759||8764<=$&&$<=8765||$==8776||$==8780||$==8786||8800<=$&&$<=8801||8804<=$&&$<=8807||8810<=$&&$<=8811||8814<=$&&$<=8815||8834<=$&&$<=8835||8838<=$&&$<=8839||$==8853||$==8857||$==8869||$==8895||$==8978||9312<=$&&$<=9449||9451<=$&&$<=9547||9552<=$&&$<=9587||9600<=$&&$<=9615||9618<=$&&$<=9621||9632<=$&&$<=9633||9635<=$&&$<=9641||9650<=$&&$<=9651||9654<=$&&$<=9655||9660<=$&&$<=9661||9664<=$&&$<=9665||9670<=$&&$<=9672||$==9675||9678<=$&&$<=9681||9698<=$&&$<=9701||$==9711||9733<=$&&$<=9734||$==9737||9742<=$&&$<=9743||9748<=$&&$<=9749||$==9756||$==9758||$==9792||$==9794||9824<=$&&$<=9825||9827<=$&&$<=9829||9831<=$&&$<=9834||9836<=$&&$<=9837||$==9839||9886<=$&&$<=9887||9918<=$&&$<=9919||9924<=$&&$<=9933||9935<=$&&$<=9953||$==9955||9960<=$&&$<=9983||$==10045||$==10071||10102<=$&&$<=10111||11093<=$&&$<=11097||12872<=$&&$<=12879||57344<=$&&$<=63743||65024<=$&&$<=65039||$==65533||127232<=$&&$<=127242||127248<=$&&$<=127277||127280<=$&&$<=127337||127344<=$&&$<=127386||917760<=$&&$<=917999||983040<=$&&$<=1048573||1048576<=$&&$<=1114109?"A":"N"},Y.characterLength=function(Q){var J=this.eastAsianWidth(Q);return J=="F"||J=="W"||J=="A"?2:1};function X(Q){return Q.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}Y.length=function(Q){for(var J=X(Q),W=0,$=0;$<J.length;$++)W=W+this.characterLength(J[$]);return W},Y.slice=function(Q,J,W){textLen=Y.length(Q),J=J||0,W=W||1,J<0&&(J=textLen+J),W<0&&(W=textLen+W);for(var $="",G=0,B=X(Q),H=0;H<B.length;H++){var F=B[H],K=Y.length(F);if(G>=J-(K==2?1:0))if(G+K<=W)$+=F;else break;G+=K}return $}})(Iw);var Yg=Iw.exports,Xg=Pw(Yg),Qg=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Jg=Pw(Qg);function h7(D,Y={}){if(typeof D!="string"||D.length===0||(Y={ambiguousIsNarrow:!0,...Y},D=Sw(D),D.length===0))return 0;D=D.replace(Jg()," ");let X=Y.ambiguousIsNarrow?1:2,Q=0;for(let J of D){let W=J.codePointAt(0);if(W<=31||W>=127&&W<=159||W>=768&&W<=879)continue;switch(Xg.eastAsianWidth(J)){case"F":case"W":Q+=2;break;case"A":Q+=X;break;default:Q+=1}}return Q}var e$=10,Lw=(D=0)=>(Y)=>`\x1B[${Y+D}m`,Mw=(D=0)=>(Y)=>`\x1B[${38+D};5;${Y}m`,Ow=(D=0)=>(Y,X,Q)=>`\x1B[${38+D};2;${Y};${X};${Q}m`,w1={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(w1.modifier);var Wg=Object.keys(w1.color),$g=Object.keys(w1.bgColor);[...Wg,...$g];function Gg(){let D=new Map;for(let[Y,X]of Object.entries(w1)){for(let[Q,J]of Object.entries(X))w1[Q]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},X[Q]=w1[Q],D.set(J[0],J[1]);Object.defineProperty(w1,Y,{value:X,enumerable:!1})}return Object.defineProperty(w1,"codes",{value:D,enumerable:!1}),w1.color.close="\x1B[39m",w1.bgColor.close="\x1B[49m",w1.color.ansi=Lw(),w1.color.ansi256=Mw(),w1.color.ansi16m=Ow(),w1.bgColor.ansi=Lw(e$),w1.bgColor.ansi256=Mw(e$),w1.bgColor.ansi16m=Ow(e$),Object.defineProperties(w1,{rgbToAnsi256:{value:(Y,X,Q)=>Y===X&&X===Q?Y<8?16:Y>248?231:Math.round((Y-8)/247*24)+232:16+36*Math.round(Y/255*5)+6*Math.round(X/255*5)+Math.round(Q/255*5),enumerable:!1},hexToRgb:{value:(Y)=>{let X=/[a-f\d]{6}|[a-f\d]{3}/i.exec(Y.toString(16));if(!X)return[0,0,0];let[Q]=X;Q.length===3&&(Q=[...Q].map((W)=>W+W).join(""));let J=Number.parseInt(Q,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:(Y)=>w1.rgbToAnsi256(...w1.hexToRgb(Y)),enumerable:!1},ansi256ToAnsi:{value:(Y)=>{if(Y<8)return 30+Y;if(Y<16)return 90+(Y-8);let X,Q,J;if(Y>=232)X=((Y-232)*10+8)/255,Q=X,J=X;else{Y-=16;let G=Y%36;X=Math.floor(Y/36)/5,Q=Math.floor(G/6)/5,J=G%6/5}let W=Math.max(X,Q,J)*2;if(W===0)return 30;let $=30+(Math.round(J)<<2|Math.round(Q)<<1|Math.round(X));return W===2&&($+=60),$},enumerable:!1},rgbToAnsi:{value:(Y,X,Q)=>w1.ansi256ToAnsi(w1.rgbToAnsi256(Y,X,Q)),enumerable:!1},hexToAnsi:{value:(Y)=>w1.ansi256ToAnsi(w1.hexToAnsi256(Y)),enumerable:!1}}),w1}var Bg=Gg(),jX=new Set(["\x1B",""]),Hg=39,XG="\x07",Cw="[",Fg="]",xw="m",QG=`${Fg}8;;`,Nw=(D)=>`${jX.values().next().value}${Cw}${D}${xw}`,Zw=(D)=>`${jX.values().next().value}${QG}${D}${XG}`,qg=(D)=>D.split(" ").map((Y)=>h7(Y)),DG=(D,Y,X)=>{let Q=[...Y],J=!1,W=!1,$=h7(Sw(D[D.length-1]));for(let[G,B]of Q.entries()){let H=h7(B);if($+H<=X?D[D.length-1]+=B:(D.push(B),$=0),jX.has(B)&&(J=!0,W=Q.slice(G+1).join("").startsWith(QG)),J){W?B===XG&&(J=!1,W=!1):B===xw&&(J=!1);continue}$+=H,$===X&&G<Q.length-1&&(D.push(""),$=0)}!$&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},Kg=(D)=>{let Y=D.split(" "),X=Y.length;for(;X>0&&!(h7(Y[X-1])>0);)X--;return X===Y.length?D:Y.slice(0,X).join(" ")+Y.slice(X).join("")},zg=(D,Y,X={})=>{if(X.trim!==!1&&D.trim()==="")return"";let Q="",J,W,$=qg(D),G=[""];for(let[H,F]of D.split(" ").entries()){X.trim!==!1&&(G[G.length-1]=G[G.length-1].trimStart());let K=h7(G[G.length-1]);if(H!==0&&(K>=Y&&(X.wordWrap===!1||X.trim===!1)&&(G.push(""),K=0),(K>0||X.trim===!1)&&(G[G.length-1]+=" ",K++)),X.hard&&$[H]>Y){let U=Y-K,z=1+Math.floor(($[H]-U-1)/Y);Math.floor(($[H]-1)/Y)<z&&G.push(""),DG(G,F,Y);continue}if(K+$[H]>Y&&K>0&&$[H]>0){if(X.wordWrap===!1&&K<Y){DG(G,F,Y);continue}G.push("")}if(K+$[H]>Y&&X.wordWrap===!1){DG(G,F,Y);continue}G[G.length-1]+=F}X.trim!==!1&&(G=G.map((H)=>Kg(H)));let B=[...G.join(`
|
|
138
138
|
`)];for(let[H,F]of B.entries()){if(Q+=F,jX.has(F)){let{groups:U}=new RegExp(`(?:\\${Cw}(?<code>\\d+)m|\\${QG}(?<uri>.*)${XG})`).exec(B.slice(H).join(""))||{groups:{}};if(U.code!==void 0){let z=Number.parseFloat(U.code);J=z===Hg?void 0:z}else U.uri!==void 0&&(W=U.uri.length===0?void 0:U.uri)}let K=Bg.codes.get(Number(J));B[H+1]===`
|
|
139
139
|
`?(W&&(Q+=Zw("")),J&&K&&(Q+=Nw(K))):F===`
|
|
140
140
|
`&&(J&&K&&(Q+=Nw(J)),W&&(Q+=Zw(W)))}return Q};function Aw(D,Y,X){return String(D).normalize().replace(/\r\n/g,`
|
|
@@ -147,7 +147,7 @@ tell application "System Events" to get value of property list item "CFBundleNam
|
|
|
147
147
|
`).length-1;this.output.write(z8.cursor.move(-999,D*-1))}render(){let D=Aw(this._render(this)??"",process.stdout.columns,{hard:!0});if(D!==this._prevFrame){if(this.state==="initial")this.output.write(z8.cursor.hide);else{let Y=wg(this._prevFrame,D);if(this.restoreCursor(),Y&&Y?.length===1){let X=Y[0];this.output.write(z8.cursor.move(0,X)),this.output.write(z8.erase.lines(1));let Q=D.split(`
|
|
148
148
|
`);this.output.write(Q[X]),this._prevFrame=D,this.output.write(z8.cursor.move(0,Q.length-X-1));return}if(Y&&Y?.length>1){let X=Y[0];this.output.write(z8.cursor.move(0,X)),this.output.write(z8.erase.down());let Q=D.split(`
|
|
149
149
|
`).slice(X);this.output.write(Q.join(`
|
|
150
|
-
`)),this._prevFrame=D;return}this.output.write(z8.erase.down())}this.output.write(D),this.state==="initial"&&(this.state="active"),this._prevFrame=D}}}class WG extends g7{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(D){super(D,!1),this.value=!!D.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",(Y)=>{this.output.write(z8.cursor.move(0,-1)),this.value=Y,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var Og;Og=new WeakMap;var Ng=Object.defineProperty,Zg=(D,Y,X)=>(Y in D)?Ng(D,Y,{enumerable:!0,configurable:!0,writable:!0,value:X}):D[Y]=X,Ew=(D,Y,X)=>(Zg(D,typeof Y!="symbol"?Y+"":Y,X),X);class $G extends g7{constructor({mask:D,...Y}){super(Y),Ew(this,"valueWithCursor",""),Ew(this,"_mask","•"),this._mask=D??"•",this.on("finalize",()=>{this.valueWithCursor=this.masked}),this.on("value",()=>{if(this.cursor>=this.value.length)this.valueWithCursor=`${this.masked}${f7.default.inverse(f7.default.hidden("_"))}`;else{let X=this.masked.slice(0,this.cursor),Q=this.masked.slice(this.cursor);this.valueWithCursor=`${X}${f7.default.inverse(Q[0])}${Q.slice(1)}`}})}get cursor(){return this._cursor}get masked(){return this.value.replaceAll(/./g,this._mask)}}var Ag=Object.defineProperty,Eg=(D,Y,X)=>(Y in D)?Ag(D,Y,{enumerable:!0,configurable:!0,writable:!0,value:X}):D[Y]=X,Rw=(D,Y,X)=>(Eg(D,typeof Y!="symbol"?Y+"":Y,X),X);class GG extends g7{constructor(D){super(D,!1),Rw(this,"options"),Rw(this,"cursor",0),this.options=D.options,this.cursor=this.options.findIndex(({value:Y})=>Y===D.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",(Y)=>{switch(Y){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}}class BG extends g7{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}█`;let D=this.value.slice(0,this.cursor),[Y,...X]=this.value.slice(this.cursor);return`${D}${f7.default.inverse(Y)}${X.join("")}`}get cursor(){return this._cursor}constructor(D){super(D),this.on("finalize",()=>{this.value||(this.value=D.defaultValue)})}}var s=
|
|
150
|
+
`)),this._prevFrame=D;return}this.output.write(z8.erase.down())}this.output.write(D),this.state==="initial"&&(this.state="active"),this._prevFrame=D}}}class WG extends g7{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(D){super(D,!1),this.value=!!D.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",(Y)=>{this.output.write(z8.cursor.move(0,-1)),this.value=Y,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var Og;Og=new WeakMap;var Ng=Object.defineProperty,Zg=(D,Y,X)=>(Y in D)?Ng(D,Y,{enumerable:!0,configurable:!0,writable:!0,value:X}):D[Y]=X,Ew=(D,Y,X)=>(Zg(D,typeof Y!="symbol"?Y+"":Y,X),X);class $G extends g7{constructor({mask:D,...Y}){super(Y),Ew(this,"valueWithCursor",""),Ew(this,"_mask","•"),this._mask=D??"•",this.on("finalize",()=>{this.valueWithCursor=this.masked}),this.on("value",()=>{if(this.cursor>=this.value.length)this.valueWithCursor=`${this.masked}${f7.default.inverse(f7.default.hidden("_"))}`;else{let X=this.masked.slice(0,this.cursor),Q=this.masked.slice(this.cursor);this.valueWithCursor=`${X}${f7.default.inverse(Q[0])}${Q.slice(1)}`}})}get cursor(){return this._cursor}get masked(){return this.value.replaceAll(/./g,this._mask)}}var Ag=Object.defineProperty,Eg=(D,Y,X)=>(Y in D)?Ag(D,Y,{enumerable:!0,configurable:!0,writable:!0,value:X}):D[Y]=X,Rw=(D,Y,X)=>(Eg(D,typeof Y!="symbol"?Y+"":Y,X),X);class GG extends g7{constructor(D){super(D,!1),Rw(this,"options"),Rw(this,"cursor",0),this.options=D.options,this.cursor=this.options.findIndex(({value:Y})=>Y===D.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",(Y)=>{switch(Y){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}}class BG extends g7{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}█`;let D=this.value.slice(0,this.cursor),[Y,...X]=this.value.slice(this.cursor);return`${D}${f7.default.inverse(Y)}${X.join("")}`}get cursor(){return this._cursor}constructor(D){super(D),this.on("finalize",()=>{this.value||(this.value=D.defaultValue)})}}var s=r1(t$(),1),TX=r1(o$(),1);import E6 from"node:process";function Rg(){return E6.platform!=="win32"?E6.env.TERM!=="linux":!!E6.env.CI||!!E6.env.WT_SESSION||!!E6.env.TERMINUS_SUBLIME||E6.env.ConEmuTask==="{cmd::Cmder}"||E6.env.TERM_PROGRAM==="Terminus-Sublime"||E6.env.TERM_PROGRAM==="vscode"||E6.env.TERM==="xterm-256color"||E6.env.TERM==="alacritty"||E6.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var HG=Rg(),y1=(D,Y)=>HG?D:Y,jg=y1("◆","*"),bw=y1("■","x"),kw=y1("▲","x"),KG=y1("◇","o"),Tg=y1("┌","T"),a0=y1("│","|"),f9=y1("└","—"),FG=y1("●",">"),qG=y1("○"," "),XK0=y1("◻","[•]"),QK0=y1("◼","[+]"),JK0=y1("◻","[ ]"),Sg=y1("▪","•"),WK0=y1("─","-"),$K0=y1("╮","+"),GK0=y1("├","+"),BK0=y1("╯","+"),Pg=y1("●","•"),Ig=y1("◆","*"),Cg=y1("▲","!"),xg=y1("■","x"),SX=(D)=>{switch(D){case"initial":case"active":return s.default.cyan(jg);case"cancel":return s.default.red(bw);case"error":return s.default.yellow(kw);case"submit":return s.default.green(KG)}},_g=(D)=>{let{cursor:Y,options:X,style:Q}=D,J=D.maxItems??Number.POSITIVE_INFINITY,W=Math.max(process.stdout.rows-4,0),$=Math.min(W,Math.max(J,5)),G=0;Y>=G+$-3?G=Math.max(Math.min(Y-$+3,X.length-$),0):Y<G+2&&(G=Math.max(Y-2,0));let B=$<X.length&&G>0,H=$<X.length&&G+$<X.length;return X.slice(G,G+$).map((F,K,U)=>{let z=K===0&&B,w=K===U.length-1&&H;return z||w?s.default.dim("..."):Q(F,K+G===Y)})},h8=(D)=>new BG({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,render(){let Y=`${s.default.gray(a0)}
|
|
151
151
|
${SX(this.state)} ${D.message}
|
|
152
152
|
`,X=D.placeholder?s.default.inverse(D.placeholder[0])+s.default.dim(D.placeholder.slice(1)):s.default.inverse(s.default.hidden("_")),Q=this.value?this.valueWithCursor:X;switch(this.state){case"error":return`${Y.trim()}
|
|
153
153
|
${s.default.yellow(a0)} ${Q}
|
|
@@ -188,12 +188,12 @@ ${s.default.gray(f9)} ${D}
|
|
|
188
188
|
`);process.stdout.write(TX.cursor.move(-999,E.length-1)),process.stdout.write(TX.erase.down(E.length))},L=(E)=>E.replace(/\.+$/,""),O=(E)=>{let j=(performance.now()-E)/1000,I=Math.floor(j/60),x=Math.floor(j%60);return I>0?`[${I}m ${x}s]`:`[${x}s]`},Z=(E="")=>{$=!0,J=_w(),G=L(E),H=performance.now(),process.stdout.write(`${s.default.gray(a0)}
|
|
189
189
|
`);let j=0,I=0;z(),W=setInterval(()=>{if(Q&&G===B)return;V(),B=G;let x=s.default.magenta(Y[j]);if(Q)process.stdout.write(`${x} ${G}...`);else if(D==="timer")process.stdout.write(`${x} ${G} ${O(H)}`);else{let y=".".repeat(Math.floor(I)).slice(0,3);process.stdout.write(`${x} ${G}${y}`)}j=j+1<Y.length?j+1:0,I=I<Y.length?I+0.125:0},X)},M=(E="",j=0)=>{$=!1,clearInterval(W),V();let I=j===0?s.default.green(KG):j===1?s.default.red(bw):s.default.red(kw);G=L(E??G),D==="timer"?process.stdout.write(`${I} ${G} ${O(H)}
|
|
190
190
|
`):process.stdout.write(`${I} ${G}
|
|
191
|
-
`),w(),J()};return{start:Z,stop:M,message:(E="")=>{G=L(E??G)}}};var s6=y1(IX(),1);import{spawn as E60}from"node:child_process";import{existsSync as i1,readdirSync as b4,readFileSync as C8,statSync as R60}from"node:fs";import{homedir as j60,platform as T60}from"node:os";import V2,{dirname as d3,join as Y1,relative as vT,resolve as UJ,sep as yT}from"node:path";import{cwd as o6,env as S60}from"node:process";import{existsSync as g8}from"fs";var m7=(D=".",Y="unknown")=>{let X=`${D}/bun.lockb`,Q=`${D}/bun.lock`,J=`${D}/pnpm-lock.yaml`,W=`${D}/shrinkwrap.yaml`,$=`${D}/yarn.lock`,G=`${D}/package-lock.json`,B=`${D}/npm-shrinkwrap.json`;if(g8(X)||g8(Q))return"bun";if(g8(J)||g8(W))return"pnpm";if(g8($))return"yarn";if(g8(G)||g8(B))return"npm";return Y},CX=(D=m7(),Y=!1)=>{switch(D){case"bun":return Y?"bun install":"install";case"pnpm":return Y?"pnpm install":"install";case"yarn":return Y?"yarn install":"install";case"npm":return Y?"npm install":"install";case"unknown":return Y?"unknown unknown":"unknown";default:return Y?"npm install":"install"}},hw=(D=".",Y="npx")=>{let X=`${D}/bun.lockb`,Q=`${D}/bun.lock`,J=`${D}/pnpm-lock.yaml`,W=`${D}/shrinkwrap.yaml`,$=`${D}/yarn.lock`,G=`${D}/package-lock.json`,B=`${D}/npm-shrinkwrap.json`;if(g8(X)||g8(Q))return"bunx";if(g8(J)||g8(W))return"pnpm exec";if(g8($))return"yarn dlx";if(g8(G)||g8(B))return"npx";return Y};function xX(D,Y){if(isNaN(D)||isNaN(Y))throw Error("Cannot compare against non-numbers");return D===Y?0:D<Y?-1:1}function mw(D=[],Y=[]){if(D.length&&!Y.length)return-1;if(!D.length&&Y.length)return 1;return 0}function VG(D=[],Y=[]){let X=Math.max(D.length,Y.length);for(let Q=0;Q<X;Q++){let J=D[Q],W=Y[Q];if(J===void 0&&W===void 0)return 0;if(W===void 0)return 1;if(J===void 0)return-1;if(typeof J==="string"&&typeof W==="number")return 1;if(typeof J==="number"&&typeof W==="string")return-1;if(J<W)return-1;if(J>W)return 1}return 0}var x5="0|[1-9]\\d*",mg="\\d*[a-zA-Z-][a-zA-Z0-9-]*",cg=`(?<major>${x5})\\.(?<minor>${x5})\\.(?<patch>${x5})`,gw=`(?:${x5}|${mg})`,cw=`(?:-(?<prerelease>${gw}(?:\\.${gw})*))`,uw="[0-9A-Za-z-]+",lw=`(?:\\+(?<buildmetadata>${uw}(?:\\.${uw})*))`,dw=`v?${cg}${cw}?${lw}?`,pw=new RegExp(`^${dw}$`),nw="(?:<|>)?=?",lg="x|X|\\*",wG=`${x5}|${lg}`,_X=`[v=\\s]*(?<major>${wG})(?:\\.(?<minor>${wG})(?:\\.(?<patch>${wG})${cw}?${lw}?)?)?`,iw=new RegExp(`^(?<operator>~>?|\\^|${nw})\\s*${_X}$`),rw=new RegExp(`^(?<operator>${nw})\\s*(${dw})$|^$`);function LG(D){return typeof D==="number"&&!Number.isNaN(D)&&(!Number.isFinite(D)||0<=D&&D<=Number.MAX_SAFE_INTEGER)}var MG=256;var dg=new RegExp(`^${x5}$`);function A8(D){return D.split(".").filter(Boolean).map((Y)=>{if(dg.test(Y)){let X=Number(Y);if(LG(X))return X}return Y})}function R6(D){return D.split(".").filter(Boolean)}function g9(D,Y){let X=Number(D);if(!LG(X))throw TypeError(Y);return X}function F9(D){return Number.isNaN(D.major)&&Number.isNaN(D.minor)&&Number.isNaN(D.patch)&&(D.prerelease===void 0||D.prerelease.length===0)&&(D.build===void 0||D.build.length===0)}function E8(D,Y){if(D===Y)return 0;return xX(D.major,Y.major)||xX(D.minor,Y.minor)||xX(D.patch,Y.patch)||mw(D.prerelease,Y.prerelease)||VG(D.prerelease,Y.prerelease)}function OG(D){return D.toFixed(0)}function u8(D){let Y=OG(D.major),X=OG(D.minor),Q=OG(D.patch),J=D.prerelease?.join(".")??"",W=D.build?.join(".")??"";return[[`${Y}.${X}.${Q}`,J].filter((B)=>B).join("-"),W].filter((B)=>B).join("+")}function pg(D,Y){if(F9(Y))return!0;let X=E8(D,Y);switch(Y.operator){case"=":case void 0:return X===0;case"!=":return X!==0;case">":return X>0;case"<":return X<0;case">=":return X>=0;case"<=":return X<=0}}function bX(D,Y){for(let X of Y)if(!pg(D,X))return!1;if(D.prerelease&&D.prerelease.length>0){for(let X of Y){if(F9(X))continue;let{major:Q,minor:J,patch:W,prerelease:$}=X;if($&&$.length>0){if(D.major===Q&&D.minor===J&&D.patch===W)return!0}}return!1}return!0}function c7(D,Y){return Y.some((X)=>bX(D,X))}function ng(D=[]){let Y=[...D],X=Y.length;while(X>=0){let Q=Y[X];if(typeof Q==="number"){Y[X]=Q+1;break}X-=1}if(X===-1)Y.push(0);return Y}function l7(D=[],Y){let X=ng(D);if(!Y)return X;let Q=A8(Y);if(Q.every((J)=>typeof J==="string")){if(Q.every((J,W)=>J===X[W])&&typeof X[Q.length]==="number")return X;Q=[...Q,0]}return Q}function u9(D,Y,X={}){let Q=X.build!==void 0?R6(X.build):D.build??[];switch(Y){case"premajor":return{major:D.major+1,minor:0,patch:0,prerelease:l7(D.prerelease,X.prerelease),build:Q};case"preminor":return{major:D.major,minor:D.minor+1,patch:0,prerelease:l7(D.prerelease,X.prerelease),build:Q};case"prepatch":return{major:D.major,minor:D.minor,patch:D.patch+1,prerelease:l7(D.prerelease,X.prerelease),build:Q};case"prerelease":{let W=(D.prerelease??[]).length===0?D.patch+1:D.patch;return{major:D.major,minor:D.minor,patch:W,prerelease:l7(D.prerelease,X.prerelease),build:Q}}case"major":return{major:(D.prerelease??[]).length===0||D.minor!==0||D.patch!==0?D.major+1:D.major,minor:0,patch:0,prerelease:[],build:Q};case"minor":{let W=(D.prerelease??[]).length===0||D.patch!==0?D.minor+1:D.minor;return{major:D.major,minor:W,patch:0,prerelease:[],build:Q}}case"patch":{let W=(D.prerelease??[]).length===0?D.patch+1:D.patch;return{major:D.major,minor:D.minor,patch:W,prerelease:[],build:Q}}case"pre":return{major:D.major,minor:D.minor,patch:D.patch,prerelease:l7(D.prerelease,X.prerelease),build:Q};default:throw TypeError(`Cannot increment version: invalid argument ${Y}`)}}var kX={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},_5={operator:void 0,...kX};function NG(D,Y){return E8(D,Y)>0}function t8(D,Y){return E8(D,Y)<0}function ig(D){let X=D.match(rw)?.groups;if(!X)return null;let{operator:Q,prerelease:J,buildmetadata:W}=X,$=X.major?{major:g9(X.major,`Cannot parse comparator ${D}: invalid major version`),minor:g9(X.minor,`Cannot parse comparator ${D}: invalid minor version`),patch:g9(X.patch,`Cannot parse comparator ${D}: invalid patch version`),prerelease:J?A8(J):[],build:W?R6(W):[]}:kX;return{operator:Q||void 0,...$}}function $1(D){return!D||D.toLowerCase()==="x"||D==="*"}function rg(D){if($1(D.major))return;if($1(D.minor))return{operator:">=",major:+D.major,minor:0,patch:0,prerelease:[],build:[]};if($1(D.patch))return{operator:">=",major:+D.major,minor:+D.minor,patch:0,prerelease:[],build:[]};return{operator:">=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:D.prerelease?A8(D.prerelease):[],build:[]}}function ag(D){if($1(D.major))return;if($1(D.minor))return{operator:"<",major:+D.major+1,minor:0,patch:0,prerelease:[],build:[]};if($1(D.patch))return{operator:"<",major:+D.major,minor:+D.minor+1,patch:0,prerelease:[],build:[]};if(D.prerelease)return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:A8(D.prerelease),build:[]};return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:[],build:[]}}function og(D){let Y=D.match(new RegExp(`^${_X}`)),X=Y?.groups;if(!X)return null;let Q=Y[0].length,J=D.slice(Q).match(/^\s+-\s+/);if(!J)return null;let W=J[0].length,G=D.slice(Q+W).match(new RegExp(`^${_X}\\s*$`))?.groups;if(!G)return null;let B=rg(X),H=ag(G);return[B,H].filter(Boolean)}function sg(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[_5];if(X)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Q){if(J===0)return[{operator:">=",major:J,minor:W,patch:0},{operator:"<",major:J,minor:W+1,patch:0}];return[{operator:">=",major:J,minor:W,patch:0},{operator:"<",major:J+1,minor:0,patch:0}]}let G=A8(D.prerelease??"");if(J===0){if(W===0)return[{operator:">=",major:J,minor:W,patch:$,prerelease:G},{operator:"<",major:J,minor:W,patch:$+1}];return[{operator:">=",major:J,minor:W,patch:$,prerelease:G},{operator:"<",major:J,minor:W+1,patch:0}]}return[{operator:">=",major:J,minor:W,patch:$,prerelease:G},{operator:"<",major:J+1,minor:0,patch:0}]}function tg(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[_5];if(X)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Q)return[{operator:">=",major:J,minor:W,patch:0},{operator:"<",major:J,minor:W+1,patch:0}];let G=A8(D.prerelease??"");return[{operator:">=",major:J,minor:W,patch:$,prerelease:G},{operator:"<",major:J,minor:W+1,patch:0}]}function eg(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[{operator:"<",major:0,minor:0,patch:0}];if(X){if(Q)return[{operator:"<",major:J,minor:0,patch:0}];return[{operator:"<",major:J,minor:0,patch:0}]}if(Q)return[{operator:"<",major:J,minor:W,patch:0}];let G=A8(D.prerelease??""),B=R6(D.build??"");return[{operator:"<",major:J,minor:W,patch:$,prerelease:G,build:B}]}function Du(D){let Y=$1(D.minor),X=$1(D.patch),Q=+D.major,J=+D.minor,W=+D.patch;if(Y){if(X)return[{operator:"<",major:Q+1,minor:0,patch:0}];return[{operator:"<",major:Q,minor:J+1,patch:0}]}if(X)return[{operator:"<",major:Q,minor:J+1,patch:0}];let $=A8(D.prerelease??""),G=R6(D.build??"");return[{operator:"<=",major:Q,minor:J,patch:W,prerelease:$,build:G}]}function Yu(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[{operator:"<",major:0,minor:0,patch:0}];if(X)return[{operator:">=",major:J+1,minor:0,patch:0}];if(Q)return[{operator:">=",major:J,minor:W+1,patch:0}];let G=A8(D.prerelease??""),B=R6(D.build??"");return[{operator:">",major:J,minor:W,patch:$,prerelease:G,build:B}]}function Xu(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[_5];if(X){if(Q)return[{operator:">=",major:J,minor:0,patch:0}];return[{operator:">=",major:J,minor:0,patch:0}]}if(Q)return[{operator:">=",major:J,minor:W,patch:0}];let G=A8(D.prerelease??""),B=R6(D.build??"");return[{operator:">=",major:J,minor:W,patch:$,prerelease:G,build:B}]}function Qu(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[_5];if(X)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Q)return[{operator:">=",major:J,minor:W,patch:0},{operator:"<",major:J,minor:W+1,patch:0}];let G=A8(D.prerelease??""),B=R6(D.build??"");return[{operator:void 0,major:J,minor:W,patch:$,prerelease:G,build:B}]}function Ju(D){let Y=D.match(iw)?.groups;if(!Y)return ig(D);switch(Y.operator){case"^":return sg(Y);case"~":case"~>":return tg(Y);case"<":return eg(Y);case"<=":return Du(Y);case">":return Yu(Y);case">=":return Xu(Y);case"=":case"":return Qu(Y);default:throw Error(`Cannot parse version range: '${Y.operator}' is not a valid operator`)}}function Wu(D){return D.split(/\s+/).flatMap(Ju)}function vX(D){let Y=D.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map((X)=>og(X)||Wu(X));if(Y.some((X)=>X.includes(null)))throw TypeError(`Cannot parse version range: range "${D}" is invalid`);return Y}function I0(D){if(typeof D!=="string")throw TypeError(`Cannot parse version as version must be a string: received ${typeof D}`);if(D.length>MG)throw TypeError(`Cannot parse version as version length is too long: length is ${D.length}, max length is ${MG}`);D=D.trim();let Y=D.match(pw)?.groups;if(!Y)throw TypeError(`Cannot parse version: ${D}`);let X=g9(Y.major,`Cannot parse version ${D}: invalid major version`),Q=g9(Y.minor,`Cannot parse version ${D}: invalid minor version`),J=g9(Y.patch,`Cannot parse version ${D}: invalid patch version`),W=Y.prerelease?A8(Y.prerelease):[],$=Y.buildmetadata?R6(Y.buildmetadata):[];return{major:X,minor:Q,patch:J,prerelease:W,build:$}}function aw(D,Y){let X=D.operator,Q=Y.operator;if(X===void 0){if(F9(D))return!0;return c7(D,[[Y]])}if(Q===void 0){if(F9(Y))return!0;return c7(Y,[[D]])}let J=E8(D,Y);return(X===">="||X===">")&&(Q===">="||Q===">")||(X==="<="||X==="<")&&(Q==="<="||Q==="<")||J===0&&((X===">="||X==="<=")&&(Q===">="||Q==="<="))||J===-1&&(X===">="||X===">")&&(Q==="<="||Q==="<")||J===1&&(X==="<="||X==="<")&&(Q===">="||Q===">")}function $u(D){return D.every((Y)=>{return Y.some((X)=>Gu(X))})}function Gu(D){for(let Y=0;Y<D.length-1;Y++){let X=D[Y];for(let Q of D.slice(Y+1))if(!aw(X,Q))return!1}return!0}function ow(D,Y){return $u([D,Y])&&D.some((X)=>{return Y.some((Q)=>{return X.every((J)=>{return Q.every((W)=>aw(J,W))})})})}function sw(D){try{return I0(D),!0}catch{return!1}}function tw(D,Y){return E8(D,Y)>=0}var T6=y1(uV(),1);var cV=class extends Error{constructor(D){super(D.message);this.name="PostgrestError",this.details=D.details,this.hint=D.hint,this.code=D.code}},Lu=class{constructor(D){var Y,X;if(this.shouldThrowOnError=!1,this.method=D.method,this.url=D.url,this.headers=new Headers(D.headers),this.schema=D.schema,this.body=D.body,this.shouldThrowOnError=(Y=D.shouldThrowOnError)!==null&&Y!==void 0?Y:!1,this.signal=D.signal,this.isMaybeSingle=(X=D.isMaybeSingle)!==null&&X!==void 0?X:!1,D.fetch)this.fetch=D.fetch;else this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(D,Y){return this.headers=new Headers(this.headers),this.headers.set(D,Y),this}then(D,Y){var X=this;if(this.schema===void 0);else if(["GET","HEAD"].includes(this.method))this.headers.set("Accept-Profile",this.schema);else this.headers.set("Content-Profile",this.schema);if(this.method!=="GET"&&this.method!=="HEAD")this.headers.set("Content-Type","application/json");let Q=this.fetch,J=Q(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async(W)=>{let $=null,G=null,B=null,H=W.status,F=W.statusText;if(W.ok){var K,U;if(X.method!=="HEAD"){var z;let O=await W.text();if(O==="");else if(X.headers.get("Accept")==="text/csv")G=O;else if(X.headers.get("Accept")&&((z=X.headers.get("Accept"))===null||z===void 0?void 0:z.includes("application/vnd.pgrst.plan+text")))G=O;else G=JSON.parse(O)}let V=(K=X.headers.get("Prefer"))===null||K===void 0?void 0:K.match(/count=(exact|planned|estimated)/),L=(U=W.headers.get("content-range"))===null||U===void 0?void 0:U.split("/");if(V&&L&&L.length>1)B=parseInt(L[1]);if(X.isMaybeSingle&&X.method==="GET"&&Array.isArray(G))if(G.length>1)$={code:"PGRST116",details:`Results contain ${G.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},G=null,B=null,H=406,F="Not Acceptable";else if(G.length===1)G=G[0];else G=null}else{var w;let V=await W.text();try{if($=JSON.parse(V),Array.isArray($)&&W.status===404)G=[],$=null,H=200,F="OK"}catch(L){if(W.status===404&&V==="")H=204,F="No Content";else $={message:V}}if($&&X.isMaybeSingle&&($===null||$===void 0||(w=$.details)===null||w===void 0?void 0:w.includes("0 rows")))$=null,H=200,F="OK";if($&&X.shouldThrowOnError)throw new cV($)}return{error:$,data:G,count:B,status:H,statusText:F}});if(!this.shouldThrowOnError)J=J.catch((W)=>{var $;let G="",B=W===null||W===void 0?void 0:W.cause;if(B){var H,F,K,U;let w=(H=B===null||B===void 0?void 0:B.message)!==null&&H!==void 0?H:"",V=(F=B===null||B===void 0?void 0:B.code)!==null&&F!==void 0?F:"";if(G=`${(K=W===null||W===void 0?void 0:W.name)!==null&&K!==void 0?K:"FetchError"}: ${W===null||W===void 0?void 0:W.message}`,G+=`
|
|
191
|
+
`),w(),J()};return{start:Z,stop:M,message:(E="")=>{G=L(E??G)}}};var s6=r1(IX(),1);import{spawn as E60}from"node:child_process";import{existsSync as n1,readdirSync as b4,readFileSync as C8,statSync as R60}from"node:fs";import{homedir as j60,platform as T60}from"node:os";import V2,{dirname as d3,join as Y1,relative as vT,resolve as UJ,sep as yT}from"node:path";import{cwd as o6,env as S60}from"node:process";import{existsSync as g8}from"fs";var m7=(D=".",Y="unknown")=>{let X=`${D}/bun.lockb`,Q=`${D}/bun.lock`,J=`${D}/pnpm-lock.yaml`,W=`${D}/shrinkwrap.yaml`,$=`${D}/yarn.lock`,G=`${D}/package-lock.json`,B=`${D}/npm-shrinkwrap.json`;if(g8(X)||g8(Q))return"bun";if(g8(J)||g8(W))return"pnpm";if(g8($))return"yarn";if(g8(G)||g8(B))return"npm";return Y},CX=(D=m7(),Y=!1)=>{switch(D){case"bun":return Y?"bun install":"install";case"pnpm":return Y?"pnpm install":"install";case"yarn":return Y?"yarn install":"install";case"npm":return Y?"npm install":"install";case"unknown":return Y?"unknown unknown":"unknown";default:return Y?"npm install":"install"}},hw=(D=".",Y="npx")=>{let X=`${D}/bun.lockb`,Q=`${D}/bun.lock`,J=`${D}/pnpm-lock.yaml`,W=`${D}/shrinkwrap.yaml`,$=`${D}/yarn.lock`,G=`${D}/package-lock.json`,B=`${D}/npm-shrinkwrap.json`;if(g8(X)||g8(Q))return"bunx";if(g8(J)||g8(W))return"pnpm exec";if(g8($))return"yarn dlx";if(g8(G)||g8(B))return"npx";return Y};function xX(D,Y){if(isNaN(D)||isNaN(Y))throw Error("Cannot compare against non-numbers");return D===Y?0:D<Y?-1:1}function mw(D=[],Y=[]){if(D.length&&!Y.length)return-1;if(!D.length&&Y.length)return 1;return 0}function VG(D=[],Y=[]){let X=Math.max(D.length,Y.length);for(let Q=0;Q<X;Q++){let J=D[Q],W=Y[Q];if(J===void 0&&W===void 0)return 0;if(W===void 0)return 1;if(J===void 0)return-1;if(typeof J==="string"&&typeof W==="number")return 1;if(typeof J==="number"&&typeof W==="string")return-1;if(J<W)return-1;if(J>W)return 1}return 0}var x5="0|[1-9]\\d*",mg="\\d*[a-zA-Z-][a-zA-Z0-9-]*",cg=`(?<major>${x5})\\.(?<minor>${x5})\\.(?<patch>${x5})`,gw=`(?:${x5}|${mg})`,cw=`(?:-(?<prerelease>${gw}(?:\\.${gw})*))`,uw="[0-9A-Za-z-]+",lw=`(?:\\+(?<buildmetadata>${uw}(?:\\.${uw})*))`,dw=`v?${cg}${cw}?${lw}?`,pw=new RegExp(`^${dw}$`),nw="(?:<|>)?=?",lg="x|X|\\*",wG=`${x5}|${lg}`,_X=`[v=\\s]*(?<major>${wG})(?:\\.(?<minor>${wG})(?:\\.(?<patch>${wG})${cw}?${lw}?)?)?`,iw=new RegExp(`^(?<operator>~>?|\\^|${nw})\\s*${_X}$`),rw=new RegExp(`^(?<operator>${nw})\\s*(${dw})$|^$`);function LG(D){return typeof D==="number"&&!Number.isNaN(D)&&(!Number.isFinite(D)||0<=D&&D<=Number.MAX_SAFE_INTEGER)}var MG=256;var dg=new RegExp(`^${x5}$`);function A8(D){return D.split(".").filter(Boolean).map((Y)=>{if(dg.test(Y)){let X=Number(Y);if(LG(X))return X}return Y})}function R6(D){return D.split(".").filter(Boolean)}function g9(D,Y){let X=Number(D);if(!LG(X))throw TypeError(Y);return X}function F9(D){return Number.isNaN(D.major)&&Number.isNaN(D.minor)&&Number.isNaN(D.patch)&&(D.prerelease===void 0||D.prerelease.length===0)&&(D.build===void 0||D.build.length===0)}function E8(D,Y){if(D===Y)return 0;return xX(D.major,Y.major)||xX(D.minor,Y.minor)||xX(D.patch,Y.patch)||mw(D.prerelease,Y.prerelease)||VG(D.prerelease,Y.prerelease)}function OG(D){return D.toFixed(0)}function u8(D){let Y=OG(D.major),X=OG(D.minor),Q=OG(D.patch),J=D.prerelease?.join(".")??"",W=D.build?.join(".")??"";return[[`${Y}.${X}.${Q}`,J].filter((B)=>B).join("-"),W].filter((B)=>B).join("+")}function pg(D,Y){if(F9(Y))return!0;let X=E8(D,Y);switch(Y.operator){case"=":case void 0:return X===0;case"!=":return X!==0;case">":return X>0;case"<":return X<0;case">=":return X>=0;case"<=":return X<=0}}function bX(D,Y){for(let X of Y)if(!pg(D,X))return!1;if(D.prerelease&&D.prerelease.length>0){for(let X of Y){if(F9(X))continue;let{major:Q,minor:J,patch:W,prerelease:$}=X;if($&&$.length>0){if(D.major===Q&&D.minor===J&&D.patch===W)return!0}}return!1}return!0}function c7(D,Y){return Y.some((X)=>bX(D,X))}function ng(D=[]){let Y=[...D],X=Y.length;while(X>=0){let Q=Y[X];if(typeof Q==="number"){Y[X]=Q+1;break}X-=1}if(X===-1)Y.push(0);return Y}function l7(D=[],Y){let X=ng(D);if(!Y)return X;let Q=A8(Y);if(Q.every((J)=>typeof J==="string")){if(Q.every((J,W)=>J===X[W])&&typeof X[Q.length]==="number")return X;Q=[...Q,0]}return Q}function u9(D,Y,X={}){let Q=X.build!==void 0?R6(X.build):D.build??[];switch(Y){case"premajor":return{major:D.major+1,minor:0,patch:0,prerelease:l7(D.prerelease,X.prerelease),build:Q};case"preminor":return{major:D.major,minor:D.minor+1,patch:0,prerelease:l7(D.prerelease,X.prerelease),build:Q};case"prepatch":return{major:D.major,minor:D.minor,patch:D.patch+1,prerelease:l7(D.prerelease,X.prerelease),build:Q};case"prerelease":{let W=(D.prerelease??[]).length===0?D.patch+1:D.patch;return{major:D.major,minor:D.minor,patch:W,prerelease:l7(D.prerelease,X.prerelease),build:Q}}case"major":return{major:(D.prerelease??[]).length===0||D.minor!==0||D.patch!==0?D.major+1:D.major,minor:0,patch:0,prerelease:[],build:Q};case"minor":{let W=(D.prerelease??[]).length===0||D.patch!==0?D.minor+1:D.minor;return{major:D.major,minor:W,patch:0,prerelease:[],build:Q}}case"patch":{let W=(D.prerelease??[]).length===0?D.patch+1:D.patch;return{major:D.major,minor:D.minor,patch:W,prerelease:[],build:Q}}case"pre":return{major:D.major,minor:D.minor,patch:D.patch,prerelease:l7(D.prerelease,X.prerelease),build:Q};default:throw TypeError(`Cannot increment version: invalid argument ${Y}`)}}var kX={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},_5={operator:void 0,...kX};function NG(D,Y){return E8(D,Y)>0}function t8(D,Y){return E8(D,Y)<0}function ig(D){let X=D.match(rw)?.groups;if(!X)return null;let{operator:Q,prerelease:J,buildmetadata:W}=X,$=X.major?{major:g9(X.major,`Cannot parse comparator ${D}: invalid major version`),minor:g9(X.minor,`Cannot parse comparator ${D}: invalid minor version`),patch:g9(X.patch,`Cannot parse comparator ${D}: invalid patch version`),prerelease:J?A8(J):[],build:W?R6(W):[]}:kX;return{operator:Q||void 0,...$}}function $1(D){return!D||D.toLowerCase()==="x"||D==="*"}function rg(D){if($1(D.major))return;if($1(D.minor))return{operator:">=",major:+D.major,minor:0,patch:0,prerelease:[],build:[]};if($1(D.patch))return{operator:">=",major:+D.major,minor:+D.minor,patch:0,prerelease:[],build:[]};return{operator:">=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:D.prerelease?A8(D.prerelease):[],build:[]}}function ag(D){if($1(D.major))return;if($1(D.minor))return{operator:"<",major:+D.major+1,minor:0,patch:0,prerelease:[],build:[]};if($1(D.patch))return{operator:"<",major:+D.major,minor:+D.minor+1,patch:0,prerelease:[],build:[]};if(D.prerelease)return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:A8(D.prerelease),build:[]};return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:[],build:[]}}function og(D){let Y=D.match(new RegExp(`^${_X}`)),X=Y?.groups;if(!X)return null;let Q=Y[0].length,J=D.slice(Q).match(/^\s+-\s+/);if(!J)return null;let W=J[0].length,G=D.slice(Q+W).match(new RegExp(`^${_X}\\s*$`))?.groups;if(!G)return null;let B=rg(X),H=ag(G);return[B,H].filter(Boolean)}function sg(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[_5];if(X)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Q){if(J===0)return[{operator:">=",major:J,minor:W,patch:0},{operator:"<",major:J,minor:W+1,patch:0}];return[{operator:">=",major:J,minor:W,patch:0},{operator:"<",major:J+1,minor:0,patch:0}]}let G=A8(D.prerelease??"");if(J===0){if(W===0)return[{operator:">=",major:J,minor:W,patch:$,prerelease:G},{operator:"<",major:J,minor:W,patch:$+1}];return[{operator:">=",major:J,minor:W,patch:$,prerelease:G},{operator:"<",major:J,minor:W+1,patch:0}]}return[{operator:">=",major:J,minor:W,patch:$,prerelease:G},{operator:"<",major:J+1,minor:0,patch:0}]}function tg(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[_5];if(X)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Q)return[{operator:">=",major:J,minor:W,patch:0},{operator:"<",major:J,minor:W+1,patch:0}];let G=A8(D.prerelease??"");return[{operator:">=",major:J,minor:W,patch:$,prerelease:G},{operator:"<",major:J,minor:W+1,patch:0}]}function eg(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[{operator:"<",major:0,minor:0,patch:0}];if(X){if(Q)return[{operator:"<",major:J,minor:0,patch:0}];return[{operator:"<",major:J,minor:0,patch:0}]}if(Q)return[{operator:"<",major:J,minor:W,patch:0}];let G=A8(D.prerelease??""),B=R6(D.build??"");return[{operator:"<",major:J,minor:W,patch:$,prerelease:G,build:B}]}function Du(D){let Y=$1(D.minor),X=$1(D.patch),Q=+D.major,J=+D.minor,W=+D.patch;if(Y){if(X)return[{operator:"<",major:Q+1,minor:0,patch:0}];return[{operator:"<",major:Q,minor:J+1,patch:0}]}if(X)return[{operator:"<",major:Q,minor:J+1,patch:0}];let $=A8(D.prerelease??""),G=R6(D.build??"");return[{operator:"<=",major:Q,minor:J,patch:W,prerelease:$,build:G}]}function Yu(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[{operator:"<",major:0,minor:0,patch:0}];if(X)return[{operator:">=",major:J+1,minor:0,patch:0}];if(Q)return[{operator:">=",major:J,minor:W+1,patch:0}];let G=A8(D.prerelease??""),B=R6(D.build??"");return[{operator:">",major:J,minor:W,patch:$,prerelease:G,build:B}]}function Xu(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[_5];if(X){if(Q)return[{operator:">=",major:J,minor:0,patch:0}];return[{operator:">=",major:J,minor:0,patch:0}]}if(Q)return[{operator:">=",major:J,minor:W,patch:0}];let G=A8(D.prerelease??""),B=R6(D.build??"");return[{operator:">=",major:J,minor:W,patch:$,prerelease:G,build:B}]}function Qu(D){let Y=$1(D.major),X=$1(D.minor),Q=$1(D.patch),J=+D.major,W=+D.minor,$=+D.patch;if(Y)return[_5];if(X)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Q)return[{operator:">=",major:J,minor:W,patch:0},{operator:"<",major:J,minor:W+1,patch:0}];let G=A8(D.prerelease??""),B=R6(D.build??"");return[{operator:void 0,major:J,minor:W,patch:$,prerelease:G,build:B}]}function Ju(D){let Y=D.match(iw)?.groups;if(!Y)return ig(D);switch(Y.operator){case"^":return sg(Y);case"~":case"~>":return tg(Y);case"<":return eg(Y);case"<=":return Du(Y);case">":return Yu(Y);case">=":return Xu(Y);case"=":case"":return Qu(Y);default:throw Error(`Cannot parse version range: '${Y.operator}' is not a valid operator`)}}function Wu(D){return D.split(/\s+/).flatMap(Ju)}function vX(D){let Y=D.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map((X)=>og(X)||Wu(X));if(Y.some((X)=>X.includes(null)))throw TypeError(`Cannot parse version range: range "${D}" is invalid`);return Y}function I0(D){if(typeof D!=="string")throw TypeError(`Cannot parse version as version must be a string: received ${typeof D}`);if(D.length>MG)throw TypeError(`Cannot parse version as version length is too long: length is ${D.length}, max length is ${MG}`);D=D.trim();let Y=D.match(pw)?.groups;if(!Y)throw TypeError(`Cannot parse version: ${D}`);let X=g9(Y.major,`Cannot parse version ${D}: invalid major version`),Q=g9(Y.minor,`Cannot parse version ${D}: invalid minor version`),J=g9(Y.patch,`Cannot parse version ${D}: invalid patch version`),W=Y.prerelease?A8(Y.prerelease):[],$=Y.buildmetadata?R6(Y.buildmetadata):[];return{major:X,minor:Q,patch:J,prerelease:W,build:$}}function aw(D,Y){let X=D.operator,Q=Y.operator;if(X===void 0){if(F9(D))return!0;return c7(D,[[Y]])}if(Q===void 0){if(F9(Y))return!0;return c7(Y,[[D]])}let J=E8(D,Y);return(X===">="||X===">")&&(Q===">="||Q===">")||(X==="<="||X==="<")&&(Q==="<="||Q==="<")||J===0&&((X===">="||X==="<=")&&(Q===">="||Q==="<="))||J===-1&&(X===">="||X===">")&&(Q==="<="||Q==="<")||J===1&&(X==="<="||X==="<")&&(Q===">="||Q===">")}function $u(D){return D.every((Y)=>{return Y.some((X)=>Gu(X))})}function Gu(D){for(let Y=0;Y<D.length-1;Y++){let X=D[Y];for(let Q of D.slice(Y+1))if(!aw(X,Q))return!1}return!0}function ow(D,Y){return $u([D,Y])&&D.some((X)=>{return Y.some((Q)=>{return X.every((J)=>{return Q.every((W)=>aw(J,W))})})})}function sw(D){try{return I0(D),!0}catch{return!1}}function tw(D,Y){return E8(D,Y)>=0}var T6=r1(uV(),1);var cV=class extends Error{constructor(D){super(D.message);this.name="PostgrestError",this.details=D.details,this.hint=D.hint,this.code=D.code}},Lu=class{constructor(D){var Y,X;if(this.shouldThrowOnError=!1,this.method=D.method,this.url=D.url,this.headers=new Headers(D.headers),this.schema=D.schema,this.body=D.body,this.shouldThrowOnError=(Y=D.shouldThrowOnError)!==null&&Y!==void 0?Y:!1,this.signal=D.signal,this.isMaybeSingle=(X=D.isMaybeSingle)!==null&&X!==void 0?X:!1,D.fetch)this.fetch=D.fetch;else this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(D,Y){return this.headers=new Headers(this.headers),this.headers.set(D,Y),this}then(D,Y){var X=this;if(this.schema===void 0);else if(["GET","HEAD"].includes(this.method))this.headers.set("Accept-Profile",this.schema);else this.headers.set("Content-Profile",this.schema);if(this.method!=="GET"&&this.method!=="HEAD")this.headers.set("Content-Type","application/json");let Q=this.fetch,J=Q(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async(W)=>{let $=null,G=null,B=null,H=W.status,F=W.statusText;if(W.ok){var K,U;if(X.method!=="HEAD"){var z;let O=await W.text();if(O==="");else if(X.headers.get("Accept")==="text/csv")G=O;else if(X.headers.get("Accept")&&((z=X.headers.get("Accept"))===null||z===void 0?void 0:z.includes("application/vnd.pgrst.plan+text")))G=O;else G=JSON.parse(O)}let V=(K=X.headers.get("Prefer"))===null||K===void 0?void 0:K.match(/count=(exact|planned|estimated)/),L=(U=W.headers.get("content-range"))===null||U===void 0?void 0:U.split("/");if(V&&L&&L.length>1)B=parseInt(L[1]);if(X.isMaybeSingle&&X.method==="GET"&&Array.isArray(G))if(G.length>1)$={code:"PGRST116",details:`Results contain ${G.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},G=null,B=null,H=406,F="Not Acceptable";else if(G.length===1)G=G[0];else G=null}else{var w;let V=await W.text();try{if($=JSON.parse(V),Array.isArray($)&&W.status===404)G=[],$=null,H=200,F="OK"}catch(L){if(W.status===404&&V==="")H=204,F="No Content";else $={message:V}}if($&&X.isMaybeSingle&&($===null||$===void 0||(w=$.details)===null||w===void 0?void 0:w.includes("0 rows")))$=null,H=200,F="OK";if($&&X.shouldThrowOnError)throw new cV($)}return{error:$,data:G,count:B,status:H,statusText:F}});if(!this.shouldThrowOnError)J=J.catch((W)=>{var $;let G="",B=W===null||W===void 0?void 0:W.cause;if(B){var H,F,K,U;let w=(H=B===null||B===void 0?void 0:B.message)!==null&&H!==void 0?H:"",V=(F=B===null||B===void 0?void 0:B.code)!==null&&F!==void 0?F:"";if(G=`${(K=W===null||W===void 0?void 0:W.name)!==null&&K!==void 0?K:"FetchError"}: ${W===null||W===void 0?void 0:W.message}`,G+=`
|
|
192
192
|
|
|
193
193
|
Caused by: ${(U=B===null||B===void 0?void 0:B.name)!==null&&U!==void 0?U:"Error"}: ${w}`,V)G+=` (${V})`;if(B===null||B===void 0?void 0:B.stack)G+=`
|
|
194
|
-
${B.stack}`}else{var z;G=(z=W===null||W===void 0?void 0:W.stack)!==null&&z!==void 0?z:""}return{error:{message:`${($=W===null||W===void 0?void 0:W.name)!==null&&$!==void 0?$:"FetchError"}: ${W===null||W===void 0?void 0:W.message}`,details:G,hint:"",code:""},data:null,count:null,status:0,statusText:""}});return J.then(D,Y)}returns(){return this}overrideTypes(){return this}},Mu=class extends Lu{select(D){let Y=!1,X=(D!==null&&D!==void 0?D:"*").split("").map((Q)=>{if(/\s/.test(Q)&&!Y)return"";if(Q==='"')Y=!Y;return Q}).join("");return this.url.searchParams.set("select",X),this.headers.append("Prefer","return=representation"),this}order(D,{ascending:Y=!0,nullsFirst:X,foreignTable:Q,referencedTable:J=Q}={}){let W=J?`${J}.order`:"order",$=this.url.searchParams.get(W);return this.url.searchParams.set(W,`${$?`${$},`:""}${D}.${Y?"asc":"desc"}${X===void 0?"":X?".nullsfirst":".nullslast"}`),this}limit(D,{foreignTable:Y,referencedTable:X=Y}={}){let Q=typeof X>"u"?"limit":`${X}.limit`;return this.url.searchParams.set(Q,`${D}`),this}range(D,Y,{foreignTable:X,referencedTable:Q=X}={}){let J=typeof Q>"u"?"offset":`${Q}.offset`,W=typeof Q>"u"?"limit":`${Q}.limit`;return this.url.searchParams.set(J,`${D}`),this.url.searchParams.set(W,`${Y-D+1}`),this}abortSignal(D){return this.signal=D,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){if(this.method==="GET")this.headers.set("Accept","application/json");else this.headers.set("Accept","application/vnd.pgrst.object+json");return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:D=!1,verbose:Y=!1,settings:X=!1,buffers:Q=!1,wal:J=!1,format:W="text"}={}){var $;let G=[D?"analyze":null,Y?"verbose":null,X?"settings":null,Q?"buffers":null,J?"wal":null].filter(Boolean).join("|"),B=($=this.headers.get("Accept"))!==null&&$!==void 0?$:"application/json";if(this.headers.set("Accept",`application/vnd.pgrst.plan+${W}; for="${B}"; options=${G};`),W==="json")return this;else return this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(D){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${D}`),this}},mV=new RegExp("[,()]"),v5=class extends Mu{eq(D,Y){return this.url.searchParams.append(D,`eq.${Y}`),this}neq(D,Y){return this.url.searchParams.append(D,`neq.${Y}`),this}gt(D,Y){return this.url.searchParams.append(D,`gt.${Y}`),this}gte(D,Y){return this.url.searchParams.append(D,`gte.${Y}`),this}lt(D,Y){return this.url.searchParams.append(D,`lt.${Y}`),this}lte(D,Y){return this.url.searchParams.append(D,`lte.${Y}`),this}like(D,Y){return this.url.searchParams.append(D,`like.${Y}`),this}likeAllOf(D,Y){return this.url.searchParams.append(D,`like(all).{${Y.join(",")}}`),this}likeAnyOf(D,Y){return this.url.searchParams.append(D,`like(any).{${Y.join(",")}}`),this}ilike(D,Y){return this.url.searchParams.append(D,`ilike.${Y}`),this}ilikeAllOf(D,Y){return this.url.searchParams.append(D,`ilike(all).{${Y.join(",")}}`),this}ilikeAnyOf(D,Y){return this.url.searchParams.append(D,`ilike(any).{${Y.join(",")}}`),this}regexMatch(D,Y){return this.url.searchParams.append(D,`match.${Y}`),this}regexIMatch(D,Y){return this.url.searchParams.append(D,`imatch.${Y}`),this}is(D,Y){return this.url.searchParams.append(D,`is.${Y}`),this}isDistinct(D,Y){return this.url.searchParams.append(D,`isdistinct.${Y}`),this}in(D,Y){let X=Array.from(new Set(Y)).map((Q)=>{if(typeof Q==="string"&&mV.test(Q))return`"${Q}"`;else return`${Q}`}).join(",");return this.url.searchParams.append(D,`in.(${X})`),this}notIn(D,Y){let X=Array.from(new Set(Y)).map((Q)=>{if(typeof Q==="string"&&mV.test(Q))return`"${Q}"`;else return`${Q}`}).join(",");return this.url.searchParams.append(D,`not.in.(${X})`),this}contains(D,Y){if(typeof Y==="string")this.url.searchParams.append(D,`cs.${Y}`);else if(Array.isArray(Y))this.url.searchParams.append(D,`cs.{${Y.join(",")}}`);else this.url.searchParams.append(D,`cs.${JSON.stringify(Y)}`);return this}containedBy(D,Y){if(typeof Y==="string")this.url.searchParams.append(D,`cd.${Y}`);else if(Array.isArray(Y))this.url.searchParams.append(D,`cd.{${Y.join(",")}}`);else this.url.searchParams.append(D,`cd.${JSON.stringify(Y)}`);return this}rangeGt(D,Y){return this.url.searchParams.append(D,`sr.${Y}`),this}rangeGte(D,Y){return this.url.searchParams.append(D,`nxl.${Y}`),this}rangeLt(D,Y){return this.url.searchParams.append(D,`sl.${Y}`),this}rangeLte(D,Y){return this.url.searchParams.append(D,`nxr.${Y}`),this}rangeAdjacent(D,Y){return this.url.searchParams.append(D,`adj.${Y}`),this}overlaps(D,Y){if(typeof Y==="string")this.url.searchParams.append(D,`ov.${Y}`);else this.url.searchParams.append(D,`ov.{${Y.join(",")}}`);return this}textSearch(D,Y,{config:X,type:Q}={}){let J="";if(Q==="plain")J="pl";else if(Q==="phrase")J="ph";else if(Q==="websearch")J="w";let W=X===void 0?"":`(${X})`;return this.url.searchParams.append(D,`${J}fts${W}.${Y}`),this}match(D){return Object.entries(D).forEach(([Y,X])=>{this.url.searchParams.append(Y,`eq.${X}`)}),this}not(D,Y,X){return this.url.searchParams.append(D,`not.${Y}.${X}`),this}or(D,{foreignTable:Y,referencedTable:X=Y}={}){let Q=X?`${X}.or`:"or";return this.url.searchParams.append(Q,`(${D})`),this}filter(D,Y,X){return this.url.searchParams.append(D,`${Y}.${X}`),this}},Ou=class{constructor(D,{headers:Y={},schema:X,fetch:Q}){this.url=D,this.headers=new Headers(Y),this.schema=X,this.fetch=Q}select(D,Y){let{head:X=!1,count:Q}=Y!==null&&Y!==void 0?Y:{},J=X?"HEAD":"GET",W=!1,$=(D!==null&&D!==void 0?D:"*").split("").map((G)=>{if(/\s/.test(G)&&!W)return"";if(G==='"')W=!W;return G}).join("");if(this.url.searchParams.set("select",$),Q)this.headers.append("Prefer",`count=${Q}`);return new v5({method:J,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(D,{count:Y,defaultToNull:X=!0}={}){var Q;let J="POST";if(Y)this.headers.append("Prefer",`count=${Y}`);if(!X)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let W=D.reduce(($,G)=>$.concat(Object.keys(G)),[]);if(W.length>0){let $=[...new Set(W)].map((G)=>`"${G}"`);this.url.searchParams.set("columns",$.join(","))}}return new v5({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Q=this.fetch)!==null&&Q!==void 0?Q:fetch})}upsert(D,{onConflict:Y,ignoreDuplicates:X=!1,count:Q,defaultToNull:J=!0}={}){var W;let $="POST";if(this.headers.append("Prefer",`resolution=${X?"ignore":"merge"}-duplicates`),Y!==void 0)this.url.searchParams.set("on_conflict",Y);if(Q)this.headers.append("Prefer",`count=${Q}`);if(!J)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let G=D.reduce((B,H)=>B.concat(Object.keys(H)),[]);if(G.length>0){let B=[...new Set(G)].map((H)=>`"${H}"`);this.url.searchParams.set("columns",B.join(","))}}return new v5({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(W=this.fetch)!==null&&W!==void 0?W:fetch})}update(D,{count:Y}={}){var X;let Q="PATCH";if(Y)this.headers.append("Prefer",`count=${Y}`);return new v5({method:"PATCH",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(X=this.fetch)!==null&&X!==void 0?X:fetch})}delete({count:D}={}){var Y;let X="DELETE";if(D)this.headers.append("Prefer",`count=${D}`);return new v5({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:(Y=this.fetch)!==null&&Y!==void 0?Y:fetch})}},lV=class D{constructor(Y,{headers:X={},schema:Q,fetch:J}={}){this.url=Y,this.headers=new Headers(X),this.schemaName=Q,this.fetch=J}from(Y){if(!Y||typeof Y!=="string"||Y.trim()==="")throw Error("Invalid relation name: relation must be a non-empty string.");return new Ou(new URL(`${this.url}/${Y}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(Y){return new D(this.url,{headers:this.headers,schema:Y,fetch:this.fetch})}rpc(Y,X={},{head:Q=!1,get:J=!1,count:W}={}){var $;let G,B=new URL(`${this.url}/rpc/${Y}`),H;if(Q||J)G=Q?"HEAD":"GET",Object.entries(X).filter(([K,U])=>U!==void 0).map(([K,U])=>[K,Array.isArray(U)?`{${U.join(",")}}`:`${U}`]).forEach(([K,U])=>{B.searchParams.append(K,U)});else G="POST",H=X;let F=new Headers(this.headers);if(W)F.set("Prefer",`count=${W}`);return new v5({method:G,url:B,headers:F,schema:this.schemaName,body:H,fetch:($=this.fetch)!==null&&$!==void 0?$:fetch})}};class EG{constructor(){}connect(){}disconnect(){}}var n7=class extends Error{constructor(D,Y){super(D);this.name="IcebergError",this.status=Y.status,this.icebergType=Y.icebergType,this.icebergCode=Y.icebergCode,this.details=Y.details,this.isCommitStateUnknown=Y.icebergType==="CommitStateUnknownException"||[500,502,504].includes(Y.status)&&Y.icebergType?.includes("CommitState")===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Nu(D,Y,X){let Q=new URL(Y,D);if(X){for(let[J,W]of Object.entries(X))if(W!==void 0)Q.searchParams.set(J,W)}return Q.toString()}async function Zu(D){if(!D||D.type==="none")return{};if(D.type==="bearer")return{Authorization:`Bearer ${D.token}`};if(D.type==="header")return{[D.name]:D.value};if(D.type==="custom")return await D.getHeaders();return{}}function Au(D){let Y=D.fetchImpl??globalThis.fetch;return{async request({method:X,path:Q,query:J,body:W,headers:$}){let G=Nu(D.baseUrl,Q,J),B=await Zu(D.auth),H=await Y(G,{method:X,headers:{...W?{"Content-Type":"application/json"}:{},...B,...$},body:W?JSON.stringify(W):void 0}),F=await H.text(),K=(H.headers.get("content-type")||"").includes("application/json"),U=K&&F?JSON.parse(F):F;if(!H.ok){let z=K?U:void 0,w=z?.error;throw new n7(w?.message??`Request failed with status ${H.status}`,{status:H.status,icebergType:w?.type,icebergCode:w?.code,details:z})}return{status:H.status,headers:H.headers,data:U}}}}function gX(D){return D.join("\x1F")}var Eu=class{constructor(D,Y=""){this.client=D,this.prefix=Y}async listNamespaces(D){let Y=D?{parent:gX(D.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:Y})).data.namespaces.map((Q)=>({namespace:Q}))}async createNamespace(D,Y){let X={namespace:D.namespace,properties:Y?.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:X})).data}async dropNamespace(D){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${gX(D.namespace)}`})}async loadNamespaceMetadata(D){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${gX(D.namespace)}`})).data.properties}}async namespaceExists(D){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${gX(D.namespace)}`}),!0}catch(Y){if(Y instanceof n7&&Y.status===404)return!1;throw Y}}async createNamespaceIfNotExists(D,Y){try{return await this.createNamespace(D,Y)}catch(X){if(X instanceof n7&&X.status===409)return;throw X}}};function y5(D){return D.join("\x1F")}var Ru=class{constructor(D,Y="",X){this.client=D,this.prefix=Y,this.accessDelegation=X}async listTables(D){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables`})).data.identifiers}async createTable(D,Y){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables`,body:Y,headers:X})).data.metadata}async updateTable(D,Y){let X=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables/${D.name}`,body:Y});return{"metadata-location":X.data["metadata-location"],metadata:X.data.metadata}}async dropTable(D,Y){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables/${D.name}`,query:{purgeRequested:String(Y?.purge??!1)}})}async loadTable(D){let Y={};if(this.accessDelegation)Y["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables/${D.name}`,headers:Y})).data.metadata}async tableExists(D){let Y={};if(this.accessDelegation)Y["X-Iceberg-Access-Delegation"]=this.accessDelegation;try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables/${D.name}`,headers:Y}),!0}catch(X){if(X instanceof n7&&X.status===404)return!1;throw X}}async createTableIfNotExists(D,Y){try{return await this.createTable(D,Y)}catch(X){if(X instanceof n7&&X.status===409)return await this.loadTable({namespace:D.namespace,name:Y.name});throw X}}},dV=class{constructor(D){let Y="v1";if(D.catalogName)Y+=`/${D.catalogName}`;let X=D.baseUrl.endsWith("/")?D.baseUrl:`${D.baseUrl}/`;this.client=Au({baseUrl:X,auth:D.auth,fetchImpl:D.fetch}),this.accessDelegation=D.accessDelegation?.join(","),this.namespaceOps=new Eu(this.client,Y),this.tableOps=new Ru(this.client,Y,this.accessDelegation)}async listNamespaces(D){return this.namespaceOps.listNamespaces(D)}async createNamespace(D,Y){return this.namespaceOps.createNamespace(D,Y)}async dropNamespace(D){await this.namespaceOps.dropNamespace(D)}async loadNamespaceMetadata(D){return this.namespaceOps.loadNamespaceMetadata(D)}async listTables(D){return this.tableOps.listTables(D)}async createTable(D,Y){return this.tableOps.createTable(D,Y)}async updateTable(D,Y){return this.tableOps.updateTable(D,Y)}async dropTable(D,Y){await this.tableOps.dropTable(D,Y)}async loadTable(D){return this.tableOps.loadTable(D)}async namespaceExists(D){return this.namespaceOps.namespaceExists(D)}async tableExists(D){return this.tableOps.tableExists(D)}async createNamespaceIfNotExists(D,Y){return this.namespaceOps.createNamespaceIfNotExists(D,Y)}async createTableIfNotExists(D,Y){return this.tableOps.createTableIfNotExists(D,Y)}};var uX=class extends Error{constructor(D){super(D);this.__isStorageError=!0,this.name="StorageError"}};function E1(D){return typeof D==="object"&&D!==null&&"__isStorageError"in D}var ju=class extends uX{constructor(D,Y,X){super(D);this.name="StorageApiError",this.status=Y,this.statusCode=X}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},TG=class extends uX{constructor(D,Y){super(D);this.name="StorageUnknownError",this.originalError=Y}},IG=(D)=>{if(D)return(...Y)=>D(...Y);return(...Y)=>fetch(...Y)},Tu=()=>{return Response},SG=(D)=>{if(Array.isArray(D))return D.map((X)=>SG(X));else if(typeof D==="function"||D!==Object(D))return D;let Y={};return Object.entries(D).forEach(([X,Q])=>{let J=X.replace(/([-_][a-z])/gi,(W)=>W.toUpperCase().replace(/[-_]/g,""));Y[J]=SG(Q)}),Y},Su=(D)=>{if(typeof D!=="object"||D===null)return!1;let Y=Object.getPrototypeOf(D);return(Y===null||Y===Object.prototype||Object.getPrototypeOf(Y)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},Pu=(D)=>{if(!D||typeof D!=="string")return!1;if(D.length===0||D.length>100)return!1;if(D.trim()!==D)return!1;if(D.includes("/")||D.includes("\\"))return!1;return/^[\w!.\*'() &$@=;:+,?-]+$/.test(D)};function i7(D){return i7=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Y){return typeof Y}:function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},i7(D)}function Iu(D,Y){if(i7(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Q=X.call(D,Y||"default");if(i7(Q)!="object")return Q;throw TypeError("@@toPrimitive must return a primitive value.")}return(Y==="string"?String:Number)(D)}function Cu(D){var Y=Iu(D,"string");return i7(Y)=="symbol"?Y:Y+""}function xu(D,Y,X){return(Y=Cu(Y))in D?Object.defineProperty(D,Y,{value:X,enumerable:!0,configurable:!0,writable:!0}):D[Y]=X,D}function pV(D,Y){var X=Object.keys(D);if(Object.getOwnPropertySymbols){var Q=Object.getOwnPropertySymbols(D);Y&&(Q=Q.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),X.push.apply(X,Q)}return X}function O0(D){for(var Y=1;Y<arguments.length;Y++){var X=arguments[Y]!=null?arguments[Y]:{};Y%2?pV(Object(X),!0).forEach(function(Q){xu(D,Q,X[Q])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(X)):pV(Object(X)).forEach(function(Q){Object.defineProperty(D,Q,Object.getOwnPropertyDescriptor(X,Q))})}return D}var RG=(D)=>{var Y;return D.msg||D.message||D.error_description||(typeof D.error==="string"?D.error:(Y=D.error)===null||Y===void 0?void 0:Y.message)||JSON.stringify(D)},_u=async(D,Y,X)=>{if(D instanceof await Tu()&&!(X===null||X===void 0?void 0:X.noResolveJson))D.json().then((Q)=>{let J=D.status||500,W=(Q===null||Q===void 0?void 0:Q.statusCode)||J+"";Y(new ju(RG(Q),J,W))}).catch((Q)=>{Y(new TG(RG(Q),Q))});else Y(new TG(RG(D),D))},bu=(D,Y,X,Q)=>{let J={method:D,headers:(Y===null||Y===void 0?void 0:Y.headers)||{}};if(D==="GET"||!Q)return J;if(Su(Q))J.headers=O0({"Content-Type":"application/json"},Y===null||Y===void 0?void 0:Y.headers),J.body=JSON.stringify(Q);else J.body=Q;if(Y===null||Y===void 0?void 0:Y.duplex)J.duplex=Y.duplex;return O0(O0({},J),X)};async function a7(D,Y,X,Q,J,W){return new Promise(($,G)=>{D(X,bu(Y,Q,J,W)).then((B)=>{if(!B.ok)throw B;if(Q===null||Q===void 0?void 0:Q.noResolveJson)return B;return B.json()}).then((B)=>$(B)).catch((B)=>_u(B,G,Q))})}async function r7(D,Y,X,Q){return a7(D,"GET",Y,X,Q)}async function j6(D,Y,X,Q,J){return a7(D,"POST",Y,Q,J,X)}async function PG(D,Y,X,Q,J){return a7(D,"PUT",Y,Q,J,X)}async function ku(D,Y,X,Q){return a7(D,"HEAD",Y,O0(O0({},X),{},{noResolveJson:!0}),Q)}async function CG(D,Y,X,Q,J){return a7(D,"DELETE",Y,Q,J,X)}var vu=class{constructor(D,Y){this.downloadFn=D,this.shouldThrowOnError=Y}then(D,Y){return this.execute().then(D,Y)}async execute(){var D=this;try{return{data:(await D.downloadFn()).body,error:null}}catch(Y){if(D.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},rV;rV=Symbol.toStringTag;var yu=class{constructor(D,Y){this.downloadFn=D,this.shouldThrowOnError=Y,this[rV]="BlobDownloadBuilder",this.promise=null}asStream(){return new vu(this.downloadFn,this.shouldThrowOnError)}then(D,Y){return this.getPromise().then(D,Y)}catch(D){return this.getPromise().catch(D)}finally(D){return this.getPromise().finally(D)}getPromise(){if(!this.promise)this.promise=this.execute();return this.promise}async execute(){var D=this;try{return{data:await(await D.downloadFn()).blob(),error:null}}catch(Y){if(D.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},fu={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},nV={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1},hu=class{constructor(D,Y={},X,Q){this.shouldThrowOnError=!1,this.url=D,this.headers=Y,this.bucketId=X,this.fetch=IG(Q)}throwOnError(){return this.shouldThrowOnError=!0,this}async uploadOrUpdate(D,Y,X,Q){var J=this;try{let W,$=O0(O0({},nV),Q),G=O0(O0({},J.headers),D==="POST"&&{"x-upsert":String($.upsert)}),B=$.metadata;if(typeof Blob<"u"&&X instanceof Blob){if(W=new FormData,W.append("cacheControl",$.cacheControl),B)W.append("metadata",J.encodeMetadata(B));W.append("",X)}else if(typeof FormData<"u"&&X instanceof FormData){if(W=X,!W.has("cacheControl"))W.append("cacheControl",$.cacheControl);if(B&&!W.has("metadata"))W.append("metadata",J.encodeMetadata(B))}else{if(W=X,G["cache-control"]=`max-age=${$.cacheControl}`,G["content-type"]=$.contentType,B)G["x-metadata"]=J.toBase64(J.encodeMetadata(B));if((typeof ReadableStream<"u"&&W instanceof ReadableStream||W&&typeof W==="object"&&("pipe"in W)&&typeof W.pipe==="function")&&!$.duplex)$.duplex="half"}if(Q===null||Q===void 0?void 0:Q.headers)G=O0(O0({},G),Q.headers);let H=J._removeEmptyFolders(Y),F=J._getFinalPath(H),K=await(D=="PUT"?PG:j6)(J.fetch,`${J.url}/object/${F}`,W,O0({headers:G},($===null||$===void 0?void 0:$.duplex)?{duplex:$.duplex}:{}));return{data:{path:H,id:K.Id,fullPath:K.Key},error:null}}catch(W){if(J.shouldThrowOnError)throw W;if(E1(W))return{data:null,error:W};throw W}}async upload(D,Y,X){return this.uploadOrUpdate("POST",D,Y,X)}async uploadToSignedUrl(D,Y,X,Q){var J=this;let W=J._removeEmptyFolders(D),$=J._getFinalPath(W),G=new URL(J.url+`/object/upload/sign/${$}`);G.searchParams.set("token",Y);try{let B,H=O0({upsert:nV.upsert},Q),F=O0(O0({},J.headers),{"x-upsert":String(H.upsert)});if(typeof Blob<"u"&&X instanceof Blob)B=new FormData,B.append("cacheControl",H.cacheControl),B.append("",X);else if(typeof FormData<"u"&&X instanceof FormData)B=X,B.append("cacheControl",H.cacheControl);else B=X,F["cache-control"]=`max-age=${H.cacheControl}`,F["content-type"]=H.contentType;return{data:{path:W,fullPath:(await PG(J.fetch,G.toString(),B,{headers:F})).Key},error:null}}catch(B){if(J.shouldThrowOnError)throw B;if(E1(B))return{data:null,error:B};throw B}}async createSignedUploadUrl(D,Y){var X=this;try{let Q=X._getFinalPath(D),J=O0({},X.headers);if(Y===null||Y===void 0?void 0:Y.upsert)J["x-upsert"]="true";let W=await j6(X.fetch,`${X.url}/object/upload/sign/${Q}`,{},{headers:J}),$=new URL(X.url+W.url),G=$.searchParams.get("token");if(!G)throw new uX("No token returned by API");return{data:{signedUrl:$.toString(),path:D,token:G},error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(E1(Q))return{data:null,error:Q};throw Q}}async update(D,Y,X){return this.uploadOrUpdate("PUT",D,Y,X)}async move(D,Y,X){var Q=this;try{return{data:await j6(Q.fetch,`${Q.url}/object/move`,{bucketId:Q.bucketId,sourceKey:D,destinationKey:Y,destinationBucket:X===null||X===void 0?void 0:X.destinationBucket},{headers:Q.headers}),error:null}}catch(J){if(Q.shouldThrowOnError)throw J;if(E1(J))return{data:null,error:J};throw J}}async copy(D,Y,X){var Q=this;try{return{data:{path:(await j6(Q.fetch,`${Q.url}/object/copy`,{bucketId:Q.bucketId,sourceKey:D,destinationKey:Y,destinationBucket:X===null||X===void 0?void 0:X.destinationBucket},{headers:Q.headers})).Key},error:null}}catch(J){if(Q.shouldThrowOnError)throw J;if(E1(J))return{data:null,error:J};throw J}}async createSignedUrl(D,Y,X){var Q=this;try{let J=Q._getFinalPath(D),W=await j6(Q.fetch,`${Q.url}/object/sign/${J}`,O0({expiresIn:Y},(X===null||X===void 0?void 0:X.transform)?{transform:X.transform}:{}),{headers:Q.headers}),$=(X===null||X===void 0?void 0:X.download)?`&download=${X.download===!0?"":X.download}`:"";return W={signedUrl:encodeURI(`${Q.url}${W.signedURL}${$}`)},{data:W,error:null}}catch(J){if(Q.shouldThrowOnError)throw J;if(E1(J))return{data:null,error:J};throw J}}async createSignedUrls(D,Y,X){var Q=this;try{let J=await j6(Q.fetch,`${Q.url}/object/sign/${Q.bucketId}`,{expiresIn:Y,paths:D},{headers:Q.headers}),W=(X===null||X===void 0?void 0:X.download)?`&download=${X.download===!0?"":X.download}`:"";return{data:J.map(($)=>O0(O0({},$),{},{signedUrl:$.signedURL?encodeURI(`${Q.url}${$.signedURL}${W}`):null})),error:null}}catch(J){if(Q.shouldThrowOnError)throw J;if(E1(J))return{data:null,error:J};throw J}}download(D,Y){let X=typeof(Y===null||Y===void 0?void 0:Y.transform)<"u"?"render/image/authenticated":"object",Q=this.transformOptsToQueryString((Y===null||Y===void 0?void 0:Y.transform)||{}),J=Q?`?${Q}`:"",W=this._getFinalPath(D);return new yu(()=>r7(this.fetch,`${this.url}/${X}/${W}${J}`,{headers:this.headers,noResolveJson:!0}),this.shouldThrowOnError)}async info(D){var Y=this;let X=Y._getFinalPath(D);try{return{data:SG(await r7(Y.fetch,`${Y.url}/object/info/${X}`,{headers:Y.headers})),error:null}}catch(Q){if(Y.shouldThrowOnError)throw Q;if(E1(Q))return{data:null,error:Q};throw Q}}async exists(D){var Y=this;let X=Y._getFinalPath(D);try{return await ku(Y.fetch,`${Y.url}/object/${X}`,{headers:Y.headers}),{data:!0,error:null}}catch(Q){if(Y.shouldThrowOnError)throw Q;if(E1(Q)&&Q instanceof TG){let J=Q.originalError;if([400,404].includes(J===null||J===void 0?void 0:J.status))return{data:!1,error:Q}}throw Q}}getPublicUrl(D,Y){let X=this._getFinalPath(D),Q=[],J=(Y===null||Y===void 0?void 0:Y.download)?`download=${Y.download===!0?"":Y.download}`:"";if(J!=="")Q.push(J);let W=typeof(Y===null||Y===void 0?void 0:Y.transform)<"u"?"render/image":"object",$=this.transformOptsToQueryString((Y===null||Y===void 0?void 0:Y.transform)||{});if($!=="")Q.push($);let G=Q.join("&");if(G!=="")G=`?${G}`;return{data:{publicUrl:encodeURI(`${this.url}/${W}/public/${X}${G}`)}}}async remove(D){var Y=this;try{return{data:await CG(Y.fetch,`${Y.url}/object/${Y.bucketId}`,{prefixes:D},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async list(D,Y,X){var Q=this;try{let J=O0(O0(O0({},fu),Y),{},{prefix:D||""});return{data:await j6(Q.fetch,`${Q.url}/object/list/${Q.bucketId}`,J,{headers:Q.headers},X),error:null}}catch(J){if(Q.shouldThrowOnError)throw J;if(E1(J))return{data:null,error:J};throw J}}async listV2(D,Y){var X=this;try{let Q=O0({},D);return{data:await j6(X.fetch,`${X.url}/object/list-v2/${X.bucketId}`,Q,{headers:X.headers},Y),error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(E1(Q))return{data:null,error:Q};throw Q}}encodeMetadata(D){return JSON.stringify(D)}toBase64(D){if(typeof Buffer<"u")return Buffer.from(D).toString("base64");return btoa(D)}_getFinalPath(D){return`${this.bucketId}/${D.replace(/^\/+/,"")}`}_removeEmptyFolders(D){return D.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(D){let Y=[];if(D.width)Y.push(`width=${D.width}`);if(D.height)Y.push(`height=${D.height}`);if(D.resize)Y.push(`resize=${D.resize}`);if(D.format)Y.push(`format=${D.format}`);if(D.quality)Y.push(`quality=${D.quality}`);return Y.join("&")}},aV="2.89.0",oV={"X-Client-Info":`storage-js/${aV}`},gu=class{constructor(D,Y={},X,Q){this.shouldThrowOnError=!1;let J=new URL(D);if(Q===null||Q===void 0?void 0:Q.useNewHostname){if(/supabase\.(co|in|red)$/.test(J.hostname)&&!J.hostname.includes("storage.supabase."))J.hostname=J.hostname.replace("supabase.","storage.supabase.")}this.url=J.href.replace(/\/$/,""),this.headers=O0(O0({},oV),Y),this.fetch=IG(X)}throwOnError(){return this.shouldThrowOnError=!0,this}async listBuckets(D){var Y=this;try{let X=Y.listBucketOptionsToQueryString(D);return{data:await r7(Y.fetch,`${Y.url}/bucket${X}`,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async getBucket(D){var Y=this;try{return{data:await r7(Y.fetch,`${Y.url}/bucket/${D}`,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async createBucket(D,Y={public:!1}){var X=this;try{return{data:await j6(X.fetch,`${X.url}/bucket`,{id:D,name:D,type:Y.type,public:Y.public,file_size_limit:Y.fileSizeLimit,allowed_mime_types:Y.allowedMimeTypes},{headers:X.headers}),error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(E1(Q))return{data:null,error:Q};throw Q}}async updateBucket(D,Y){var X=this;try{return{data:await PG(X.fetch,`${X.url}/bucket/${D}`,{id:D,name:D,public:Y.public,file_size_limit:Y.fileSizeLimit,allowed_mime_types:Y.allowedMimeTypes},{headers:X.headers}),error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(E1(Q))return{data:null,error:Q};throw Q}}async emptyBucket(D){var Y=this;try{return{data:await j6(Y.fetch,`${Y.url}/bucket/${D}/empty`,{},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async deleteBucket(D){var Y=this;try{return{data:await CG(Y.fetch,`${Y.url}/bucket/${D}`,{},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}listBucketOptionsToQueryString(D){let Y={};if(D){if("limit"in D)Y.limit=String(D.limit);if("offset"in D)Y.offset=String(D.offset);if(D.search)Y.search=D.search;if(D.sortColumn)Y.sortColumn=D.sortColumn;if(D.sortOrder)Y.sortOrder=D.sortOrder}return Object.keys(Y).length>0?"?"+new URLSearchParams(Y).toString():""}},uu=class{constructor(D,Y={},X){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=O0(O0({},oV),Y),this.fetch=IG(X)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var Y=this;try{return{data:await j6(Y.fetch,`${Y.url}/bucket`,{name:D},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async listBuckets(D){var Y=this;try{let X=new URLSearchParams;if((D===null||D===void 0?void 0:D.limit)!==void 0)X.set("limit",D.limit.toString());if((D===null||D===void 0?void 0:D.offset)!==void 0)X.set("offset",D.offset.toString());if(D===null||D===void 0?void 0:D.sortColumn)X.set("sortColumn",D.sortColumn);if(D===null||D===void 0?void 0:D.sortOrder)X.set("sortOrder",D.sortOrder);if(D===null||D===void 0?void 0:D.search)X.set("search",D.search);let Q=X.toString(),J=Q?`${Y.url}/bucket?${Q}`:`${Y.url}/bucket`;return{data:await r7(Y.fetch,J,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async deleteBucket(D){var Y=this;try{return{data:await CG(Y.fetch,`${Y.url}/bucket/${D}`,{},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}from(D){var Y=this;if(!Pu(D))throw new uX("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");let X=new dV({baseUrl:this.url,catalogName:D,auth:{type:"custom",getHeaders:async()=>Y.headers},fetch:this.fetch}),Q=this.shouldThrowOnError;return new Proxy(X,{get(J,W){let $=J[W];if(typeof $!=="function")return $;return async(...G)=>{try{return{data:await $.apply(J,G),error:null}}catch(B){if(Q)throw B;return{data:null,error:B}}}}})}},xG={"X-Client-Info":`storage-js/${aV}`,"Content-Type":"application/json"},sV=class extends Error{constructor(D){super(D);this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}};function e8(D){return typeof D==="object"&&D!==null&&"__isStorageVectorsError"in D}var jG=class extends sV{constructor(D,Y,X){super(D);this.name="StorageVectorsApiError",this.status=Y,this.statusCode=X}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},mu=class extends sV{constructor(D,Y){super(D);this.name="StorageVectorsUnknownError",this.originalError=Y}};var _G=(D)=>{if(D)return(...Y)=>D(...Y);return(...Y)=>fetch(...Y)};var cu=(D)=>{if(typeof D!=="object"||D===null)return!1;let Y=Object.getPrototypeOf(D);return(Y===null||Y===Object.prototype||Object.getPrototypeOf(Y)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)};var iV=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),lu=async(D,Y,X)=>{if(D&&typeof D==="object"&&"status"in D&&"ok"in D&&typeof D.status==="number"&&!(X===null||X===void 0?void 0:X.noResolveJson)){let Q=D.status||500,J=D;if(typeof J.json==="function")J.json().then((W)=>{let $=(W===null||W===void 0?void 0:W.statusCode)||(W===null||W===void 0?void 0:W.code)||Q+"";Y(new jG(iV(W),Q,$))}).catch(()=>{let W=Q+"";Y(new jG(J.statusText||`HTTP ${Q} error`,Q,W))});else{let W=Q+"";Y(new jG(J.statusText||`HTTP ${Q} error`,Q,W))}}else Y(new mu(iV(D),D))},du=(D,Y,X,Q)=>{let J={method:D,headers:(Y===null||Y===void 0?void 0:Y.headers)||{}};if(D==="GET"||!Q)return J;if(cu(Q))J.headers=O0({"Content-Type":"application/json"},Y===null||Y===void 0?void 0:Y.headers),J.body=JSON.stringify(Q);else J.body=Q;return O0(O0({},J),X)};async function pu(D,Y,X,Q,J,W){return new Promise(($,G)=>{D(X,du(Y,Q,J,W)).then((B)=>{if(!B.ok)throw B;if(Q===null||Q===void 0?void 0:Q.noResolveJson)return B;let H=B.headers.get("content-type");if(!H||!H.includes("application/json"))return{};return B.json()}).then((B)=>$(B)).catch((B)=>lu(B,G,Q))})}async function D6(D,Y,X,Q,J){return pu(D,"POST",Y,Q,J,X)}var nu=class{constructor(D,Y={},X){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=O0(O0({},xG),Y),this.fetch=_G(X)}throwOnError(){return this.shouldThrowOnError=!0,this}async createIndex(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/CreateIndex`,D,{headers:Y.headers})||{},error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async getIndex(D,Y){var X=this;try{return{data:await D6(X.fetch,`${X.url}/GetIndex`,{vectorBucketName:D,indexName:Y},{headers:X.headers}),error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(e8(Q))return{data:null,error:Q};throw Q}}async listIndexes(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/ListIndexes`,D,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async deleteIndex(D,Y){var X=this;try{return{data:await D6(X.fetch,`${X.url}/DeleteIndex`,{vectorBucketName:D,indexName:Y},{headers:X.headers})||{},error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(e8(Q))return{data:null,error:Q};throw Q}}},iu=class{constructor(D,Y={},X){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=O0(O0({},xG),Y),this.fetch=_G(X)}throwOnError(){return this.shouldThrowOnError=!0,this}async putVectors(D){var Y=this;try{if(D.vectors.length<1||D.vectors.length>500)throw Error("Vector batch size must be between 1 and 500 items");return{data:await D6(Y.fetch,`${Y.url}/PutVectors`,D,{headers:Y.headers})||{},error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async getVectors(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/GetVectors`,D,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async listVectors(D){var Y=this;try{if(D.segmentCount!==void 0){if(D.segmentCount<1||D.segmentCount>16)throw Error("segmentCount must be between 1 and 16");if(D.segmentIndex!==void 0){if(D.segmentIndex<0||D.segmentIndex>=D.segmentCount)throw Error(`segmentIndex must be between 0 and ${D.segmentCount-1}`)}}return{data:await D6(Y.fetch,`${Y.url}/ListVectors`,D,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async queryVectors(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/QueryVectors`,D,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async deleteVectors(D){var Y=this;try{if(D.keys.length<1||D.keys.length>500)throw Error("Keys batch size must be between 1 and 500 items");return{data:await D6(Y.fetch,`${Y.url}/DeleteVectors`,D,{headers:Y.headers})||{},error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}},ru=class{constructor(D,Y={},X){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=O0(O0({},xG),Y),this.fetch=_G(X)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/CreateVectorBucket`,{vectorBucketName:D},{headers:Y.headers})||{},error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async getBucket(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/GetVectorBucket`,{vectorBucketName:D},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async listBuckets(D={}){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/ListVectorBuckets`,D,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async deleteBucket(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/DeleteVectorBucket`,{vectorBucketName:D},{headers:Y.headers})||{},error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}},au=class extends ru{constructor(D,Y={}){super(D,Y.headers||{},Y.fetch)}from(D){return new ou(this.url,this.headers,D,this.fetch)}async createBucket(D){var Y=()=>super.createBucket,X=this;return Y().call(X,D)}async getBucket(D){var Y=()=>super.getBucket,X=this;return Y().call(X,D)}async listBuckets(D={}){var Y=()=>super.listBuckets,X=this;return Y().call(X,D)}async deleteBucket(D){var Y=()=>super.deleteBucket,X=this;return Y().call(X,D)}},ou=class extends nu{constructor(D,Y,X,Q){super(D,Y,Q);this.vectorBucketName=X}async createIndex(D){var Y=()=>super.createIndex,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName}))}async listIndexes(D={}){var Y=()=>super.listIndexes,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName}))}async getIndex(D){var Y=()=>super.getIndex,X=this;return Y().call(X,X.vectorBucketName,D)}async deleteIndex(D){var Y=()=>super.deleteIndex,X=this;return Y().call(X,X.vectorBucketName,D)}index(D){return new su(this.url,this.headers,this.vectorBucketName,D,this.fetch)}},su=class extends iu{constructor(D,Y,X,Q,J){super(D,Y,J);this.vectorBucketName=X,this.indexName=Q}async putVectors(D){var Y=()=>super.putVectors,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName,indexName:X.indexName}))}async getVectors(D){var Y=()=>super.getVectors,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName,indexName:X.indexName}))}async listVectors(D={}){var Y=()=>super.listVectors,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName,indexName:X.indexName}))}async queryVectors(D){var Y=()=>super.queryVectors,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName,indexName:X.indexName}))}async deleteVectors(D){var Y=()=>super.deleteVectors,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName,indexName:X.indexName}))}},tV=class extends gu{constructor(D,Y={},X,Q){super(D,Y,X,Q)}from(D){return new hu(this.url,this.headers,D,this.fetch)}get vectors(){return new au(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new uu(this.url+"/iceberg",this.headers,this.fetch)}};var tu=()=>Promise.resolve({data:{session:null,user:null},error:null}),eu={get:(D,Y)=>{if(Y==="constructor")return D.constructor;if(Y==="then"||Y==="catch"||Y==="finally")return;if(typeof Y==="symbol")return;if(Y==="getSession")return()=>Promise.resolve({data:{session:null,user:null},error:null});if(Y==="onAuthStateChange")return()=>({data:{subscription:{unsubscribe:()=>{}}},error:null});return tu}};class eV{constructor(D){return this.options=D,new Proxy(this,eu)}}class bG extends eV{}var Dm="2.89.0",o7="";if(typeof Deno<"u")o7="deno";else if(typeof document<"u")o7="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")o7="react-native";else o7="node";var Ym={"X-Client-Info":`supabase-js-${o7}/${Dm}`},Xm={headers:Ym},Qm={schema:"public"},Jm={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},Wm={};function s7(D){return s7=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Y){return typeof Y}:function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},s7(D)}function $m(D,Y){if(s7(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Q=X.call(D,Y||"default");if(s7(Q)!="object")return Q;throw TypeError("@@toPrimitive must return a primitive value.")}return(Y==="string"?String:Number)(D)}function Gm(D){var Y=$m(D,"string");return s7(Y)=="symbol"?Y:Y+""}function Bm(D,Y,X){return(Y=Gm(Y))in D?Object.defineProperty(D,Y,{value:X,enumerable:!0,configurable:!0,writable:!0}):D[Y]=X,D}function DL(D,Y){var X=Object.keys(D);if(Object.getOwnPropertySymbols){var Q=Object.getOwnPropertySymbols(D);Y&&(Q=Q.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),X.push.apply(X,Q)}return X}function x1(D){for(var Y=1;Y<arguments.length;Y++){var X=arguments[Y]!=null?arguments[Y]:{};Y%2?DL(Object(X),!0).forEach(function(Q){Bm(D,Q,X[Q])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(X)):DL(Object(X)).forEach(function(Q){Object.defineProperty(D,Q,Object.getOwnPropertyDescriptor(X,Q))})}return D}var Hm=(D)=>{if(D)return(...Y)=>D(...Y);return(...Y)=>fetch(...Y)},Fm=()=>{return Headers},qm=(D,Y,X)=>{let Q=Hm(X),J=Fm();return async(W,$)=>{var G;let B=(G=await Y())!==null&&G!==void 0?G:D,H=new J($===null||$===void 0?void 0:$.headers);if(!H.has("apikey"))H.set("apikey",D);if(!H.has("Authorization"))H.set("Authorization",`Bearer ${B}`);return Q(W,x1(x1({},$),{},{headers:H}))}};function Km(D){return D.endsWith("/")?D:D+"/"}function zm(D,Y){var X,Q;let{db:J,auth:W,realtime:$,global:G}=D,{db:B,auth:H,realtime:F,global:K}=Y,U={db:x1(x1({},B),J),auth:x1(x1({},H),W),realtime:x1(x1({},F),$),storage:{},global:x1(x1(x1({},K),G),{},{headers:x1(x1({},(X=K===null||K===void 0?void 0:K.headers)!==null&&X!==void 0?X:{}),(Q=G===null||G===void 0?void 0:G.headers)!==null&&Q!==void 0?Q:{})}),accessToken:async()=>""};if(D.accessToken)U.accessToken=D.accessToken;else delete U.accessToken;return U}function Um(D){let Y=D===null||D===void 0?void 0:D.trim();if(!Y)throw Error("supabaseUrl is required.");if(!Y.match(/^https?:\/\//i))throw Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(Km(Y))}catch(X){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var wm=class extends bG{constructor(D){super(D)}},Vm=class{constructor(D,Y,X){var Q,J;this.supabaseUrl=D,this.supabaseKey=Y;let W=Um(D);if(!Y)throw Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",W),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",W),this.storageUrl=new URL("storage/v1",W),this.functionsUrl=new URL("functions/v1",W);let $=`sb-${W.hostname.split(".")[0]}-auth-token`,G={db:Qm,realtime:Wm,auth:x1(x1({},Jm),{},{storageKey:$}),global:Xm},B=zm(X!==null&&X!==void 0?X:{},G);if(this.storageKey=(Q=B.auth.storageKey)!==null&&Q!==void 0?Q:"",this.headers=(J=B.global.headers)!==null&&J!==void 0?J:{},!B.accessToken){var H;this.auth=this._initSupabaseAuthClient((H=B.auth)!==null&&H!==void 0?H:{},this.headers,B.global.fetch)}else this.accessToken=B.accessToken,this.auth=new Proxy({},{get:(F,K)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(K)} is not possible`)}});if(this.fetch=qm(Y,this._getAccessToken.bind(this),B.global.fetch),this.realtime=this._initRealtimeClient(x1({headers:this.headers,accessToken:this._getAccessToken.bind(this)},B.realtime)),this.accessToken)this.accessToken().then((F)=>this.realtime.setAuth(F)).catch((F)=>console.warn("Failed to set initial Realtime auth token:",F));if(this.rest=new lV(new URL("rest/v1",W).href,{headers:this.headers,schema:B.db.schema,fetch:this.fetch}),this.storage=new tV(this.storageUrl.href,this.headers,this.fetch,X===null||X===void 0?void 0:X.storage),!B.accessToken)this._listenForAuthEvents()}get functions(){return new T6.FunctionsClient(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(D){return this.rest.from(D)}schema(D){return this.rest.schema(D)}rpc(D,Y={},X={head:!1,get:!1,count:void 0}){return this.rest.rpc(D,Y,X)}channel(D,Y={config:{}}){return this.realtime.channel(D,Y)}getChannels(){return this.realtime.getChannels()}removeChannel(D){return this.realtime.removeChannel(D)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var D=this,Y,X;if(D.accessToken)return await D.accessToken();let{data:Q}=await D.auth.getSession();return(Y=(X=Q.session)===null||X===void 0?void 0:X.access_token)!==null&&Y!==void 0?Y:D.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:D,persistSession:Y,detectSessionInUrl:X,storage:Q,userStorage:J,storageKey:W,flowType:$,lock:G,debug:B,throwOnError:H},F,K){let U={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new wm({url:this.authUrl.href,headers:x1(x1({},U),F),storageKey:W,autoRefreshToken:D,persistSession:Y,detectSessionInUrl:X,storage:Q,userStorage:J,flowType:$,lock:G,debug:B,throwOnError:H,fetch:K,hasCustomAuthorizationHeader:Object.keys(this.headers).some((z)=>z.toLowerCase()==="authorization")})}_initRealtimeClient(D){return new EG(this.realtimeUrl.href,x1(x1({},D),{},{params:x1(x1({},{apikey:this.supabaseKey}),D===null||D===void 0?void 0:D.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((D,Y)=>{this._handleTokenChanged(D,"CLIENT",Y===null||Y===void 0?void 0:Y.access_token)})}_handleTokenChanged(D,Y,X){if((D==="TOKEN_REFRESHED"||D==="SIGNED_IN")&&this.changedAccessToken!==X)this.changedAccessToken=X,this.realtime.setAuth(X);else if(D==="SIGNED_OUT"){if(this.realtime.setAuth(),Y=="STORAGE")this.auth.signOut();this.changedAccessToken=void 0}}},YL=(D,Y,X)=>{return new Vm(D,Y,X)};function Lm(){if(typeof window<"u")return!1;if(typeof process>"u")return!1;let D=process.version;if(D===void 0||D===null)return!1;let Y=D.match(/^v(\d+)\./);if(!Y)return!1;return parseInt(Y[1],10)<=18}if(Lm())console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");var L2=y1(hG(),1),fT=y1(FM(),1),VJ=y1(yQ(),1);function fZ(D,Y){let Q=["normal","bold","dim","italic","underline","strikethrough"].indexOf(D),J="\x1B[";return"\x1B["+Q+"m"+Y+"\x1B[0m"}class G1{title=null;headers=[];rows=[];static narrowTheme={top:["╔","═","╤","╗"],row:["║"," ","│","║"],div:["╟","─","┼","╢"],bot:["╚","═","╧","╝"]};static wideTheme={top:["╔═","═","═╤═","═╗"],row:["║ "," "," │ "," ║"],div:["╟─","─","─┼─","─╢"],bot:["╚═","═","═╧═","═╝"]};static roundTheme={top:["╭─","─","─┬─","─╮"],row:["│ "," "," │ "," │"],div:["├─","─","─┼─","─┤"],bot:["╰─","─","─┴─","─╯"]};theme=G1.wideTheme;columnWidth(){let D=[this.headers,...this.rows].filter((X)=>X.length>0),Y=D[0].map((X)=>this.cast(X).length);for(let X of D.slice(1))for(let Q=0;Q<Y.length;Q++){let J=this.cast(X[Q]).length;if(J>Y[Q])Y[Q]=J}return Y}cast(D){if(typeof D==="object")return"obj";if(D!==void 0&&typeof D.toString==="function")return D.toString();else return""}renderTitle(){return"[ "+this.title+" ]"}renderLine(D){let Y=this.columnWidth();return D[0]+Y.map((X)=>D[1].repeat(X)).join(D[2])+D[3]}renderCell(D,Y,X=!1){let Q=this.cast(D),J=X?fZ("bold",Q):Q,W=Y-Q.length,$=this.theme.row[1];switch(typeof D){case"number":return $.repeat(W)+J;case"string":return J+$.repeat(W);case"boolean":case"object":return $.repeat(Math.ceil(W/2))+fZ("italic",Q)+$.repeat(Math.floor(W/2));default:return $.repeat(W)}}renderRow(D,Y=!1){let X=this.theme.row,Q=this.columnWidth();return X[0]+D.map((J,W)=>this.renderCell(J,Q[W],Y)).join(X[2])+X[3]}toString(){let D=this.theme,Y=this.headers.length>0,X=this.rows.length>0;return[this.title?this.renderTitle():"",Y||X?this.renderLine(D.top):"",Y?this.renderRow(this.headers,!0):"",Y&&X?this.renderLine(D.div):"",...this.rows.map((Q)=>this.renderRow(Q)),Y||X?this.renderLine(D.bot):""].filter((Q)=>Q.length>0).join(`
|
|
194
|
+
${B.stack}`}else{var z;G=(z=W===null||W===void 0?void 0:W.stack)!==null&&z!==void 0?z:""}return{error:{message:`${($=W===null||W===void 0?void 0:W.name)!==null&&$!==void 0?$:"FetchError"}: ${W===null||W===void 0?void 0:W.message}`,details:G,hint:"",code:""},data:null,count:null,status:0,statusText:""}});return J.then(D,Y)}returns(){return this}overrideTypes(){return this}},Mu=class extends Lu{select(D){let Y=!1,X=(D!==null&&D!==void 0?D:"*").split("").map((Q)=>{if(/\s/.test(Q)&&!Y)return"";if(Q==='"')Y=!Y;return Q}).join("");return this.url.searchParams.set("select",X),this.headers.append("Prefer","return=representation"),this}order(D,{ascending:Y=!0,nullsFirst:X,foreignTable:Q,referencedTable:J=Q}={}){let W=J?`${J}.order`:"order",$=this.url.searchParams.get(W);return this.url.searchParams.set(W,`${$?`${$},`:""}${D}.${Y?"asc":"desc"}${X===void 0?"":X?".nullsfirst":".nullslast"}`),this}limit(D,{foreignTable:Y,referencedTable:X=Y}={}){let Q=typeof X>"u"?"limit":`${X}.limit`;return this.url.searchParams.set(Q,`${D}`),this}range(D,Y,{foreignTable:X,referencedTable:Q=X}={}){let J=typeof Q>"u"?"offset":`${Q}.offset`,W=typeof Q>"u"?"limit":`${Q}.limit`;return this.url.searchParams.set(J,`${D}`),this.url.searchParams.set(W,`${Y-D+1}`),this}abortSignal(D){return this.signal=D,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){if(this.method==="GET")this.headers.set("Accept","application/json");else this.headers.set("Accept","application/vnd.pgrst.object+json");return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:D=!1,verbose:Y=!1,settings:X=!1,buffers:Q=!1,wal:J=!1,format:W="text"}={}){var $;let G=[D?"analyze":null,Y?"verbose":null,X?"settings":null,Q?"buffers":null,J?"wal":null].filter(Boolean).join("|"),B=($=this.headers.get("Accept"))!==null&&$!==void 0?$:"application/json";if(this.headers.set("Accept",`application/vnd.pgrst.plan+${W}; for="${B}"; options=${G};`),W==="json")return this;else return this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(D){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${D}`),this}},mV=new RegExp("[,()]"),v5=class extends Mu{eq(D,Y){return this.url.searchParams.append(D,`eq.${Y}`),this}neq(D,Y){return this.url.searchParams.append(D,`neq.${Y}`),this}gt(D,Y){return this.url.searchParams.append(D,`gt.${Y}`),this}gte(D,Y){return this.url.searchParams.append(D,`gte.${Y}`),this}lt(D,Y){return this.url.searchParams.append(D,`lt.${Y}`),this}lte(D,Y){return this.url.searchParams.append(D,`lte.${Y}`),this}like(D,Y){return this.url.searchParams.append(D,`like.${Y}`),this}likeAllOf(D,Y){return this.url.searchParams.append(D,`like(all).{${Y.join(",")}}`),this}likeAnyOf(D,Y){return this.url.searchParams.append(D,`like(any).{${Y.join(",")}}`),this}ilike(D,Y){return this.url.searchParams.append(D,`ilike.${Y}`),this}ilikeAllOf(D,Y){return this.url.searchParams.append(D,`ilike(all).{${Y.join(",")}}`),this}ilikeAnyOf(D,Y){return this.url.searchParams.append(D,`ilike(any).{${Y.join(",")}}`),this}regexMatch(D,Y){return this.url.searchParams.append(D,`match.${Y}`),this}regexIMatch(D,Y){return this.url.searchParams.append(D,`imatch.${Y}`),this}is(D,Y){return this.url.searchParams.append(D,`is.${Y}`),this}isDistinct(D,Y){return this.url.searchParams.append(D,`isdistinct.${Y}`),this}in(D,Y){let X=Array.from(new Set(Y)).map((Q)=>{if(typeof Q==="string"&&mV.test(Q))return`"${Q}"`;else return`${Q}`}).join(",");return this.url.searchParams.append(D,`in.(${X})`),this}notIn(D,Y){let X=Array.from(new Set(Y)).map((Q)=>{if(typeof Q==="string"&&mV.test(Q))return`"${Q}"`;else return`${Q}`}).join(",");return this.url.searchParams.append(D,`not.in.(${X})`),this}contains(D,Y){if(typeof Y==="string")this.url.searchParams.append(D,`cs.${Y}`);else if(Array.isArray(Y))this.url.searchParams.append(D,`cs.{${Y.join(",")}}`);else this.url.searchParams.append(D,`cs.${JSON.stringify(Y)}`);return this}containedBy(D,Y){if(typeof Y==="string")this.url.searchParams.append(D,`cd.${Y}`);else if(Array.isArray(Y))this.url.searchParams.append(D,`cd.{${Y.join(",")}}`);else this.url.searchParams.append(D,`cd.${JSON.stringify(Y)}`);return this}rangeGt(D,Y){return this.url.searchParams.append(D,`sr.${Y}`),this}rangeGte(D,Y){return this.url.searchParams.append(D,`nxl.${Y}`),this}rangeLt(D,Y){return this.url.searchParams.append(D,`sl.${Y}`),this}rangeLte(D,Y){return this.url.searchParams.append(D,`nxr.${Y}`),this}rangeAdjacent(D,Y){return this.url.searchParams.append(D,`adj.${Y}`),this}overlaps(D,Y){if(typeof Y==="string")this.url.searchParams.append(D,`ov.${Y}`);else this.url.searchParams.append(D,`ov.{${Y.join(",")}}`);return this}textSearch(D,Y,{config:X,type:Q}={}){let J="";if(Q==="plain")J="pl";else if(Q==="phrase")J="ph";else if(Q==="websearch")J="w";let W=X===void 0?"":`(${X})`;return this.url.searchParams.append(D,`${J}fts${W}.${Y}`),this}match(D){return Object.entries(D).forEach(([Y,X])=>{this.url.searchParams.append(Y,`eq.${X}`)}),this}not(D,Y,X){return this.url.searchParams.append(D,`not.${Y}.${X}`),this}or(D,{foreignTable:Y,referencedTable:X=Y}={}){let Q=X?`${X}.or`:"or";return this.url.searchParams.append(Q,`(${D})`),this}filter(D,Y,X){return this.url.searchParams.append(D,`${Y}.${X}`),this}},Ou=class{constructor(D,{headers:Y={},schema:X,fetch:Q}){this.url=D,this.headers=new Headers(Y),this.schema=X,this.fetch=Q}select(D,Y){let{head:X=!1,count:Q}=Y!==null&&Y!==void 0?Y:{},J=X?"HEAD":"GET",W=!1,$=(D!==null&&D!==void 0?D:"*").split("").map((G)=>{if(/\s/.test(G)&&!W)return"";if(G==='"')W=!W;return G}).join("");if(this.url.searchParams.set("select",$),Q)this.headers.append("Prefer",`count=${Q}`);return new v5({method:J,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(D,{count:Y,defaultToNull:X=!0}={}){var Q;let J="POST";if(Y)this.headers.append("Prefer",`count=${Y}`);if(!X)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let W=D.reduce(($,G)=>$.concat(Object.keys(G)),[]);if(W.length>0){let $=[...new Set(W)].map((G)=>`"${G}"`);this.url.searchParams.set("columns",$.join(","))}}return new v5({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Q=this.fetch)!==null&&Q!==void 0?Q:fetch})}upsert(D,{onConflict:Y,ignoreDuplicates:X=!1,count:Q,defaultToNull:J=!0}={}){var W;let $="POST";if(this.headers.append("Prefer",`resolution=${X?"ignore":"merge"}-duplicates`),Y!==void 0)this.url.searchParams.set("on_conflict",Y);if(Q)this.headers.append("Prefer",`count=${Q}`);if(!J)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let G=D.reduce((B,H)=>B.concat(Object.keys(H)),[]);if(G.length>0){let B=[...new Set(G)].map((H)=>`"${H}"`);this.url.searchParams.set("columns",B.join(","))}}return new v5({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(W=this.fetch)!==null&&W!==void 0?W:fetch})}update(D,{count:Y}={}){var X;let Q="PATCH";if(Y)this.headers.append("Prefer",`count=${Y}`);return new v5({method:"PATCH",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(X=this.fetch)!==null&&X!==void 0?X:fetch})}delete({count:D}={}){var Y;let X="DELETE";if(D)this.headers.append("Prefer",`count=${D}`);return new v5({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:(Y=this.fetch)!==null&&Y!==void 0?Y:fetch})}},lV=class D{constructor(Y,{headers:X={},schema:Q,fetch:J}={}){this.url=Y,this.headers=new Headers(X),this.schemaName=Q,this.fetch=J}from(Y){if(!Y||typeof Y!=="string"||Y.trim()==="")throw Error("Invalid relation name: relation must be a non-empty string.");return new Ou(new URL(`${this.url}/${Y}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(Y){return new D(this.url,{headers:this.headers,schema:Y,fetch:this.fetch})}rpc(Y,X={},{head:Q=!1,get:J=!1,count:W}={}){var $;let G,B=new URL(`${this.url}/rpc/${Y}`),H;if(Q||J)G=Q?"HEAD":"GET",Object.entries(X).filter(([K,U])=>U!==void 0).map(([K,U])=>[K,Array.isArray(U)?`{${U.join(",")}}`:`${U}`]).forEach(([K,U])=>{B.searchParams.append(K,U)});else G="POST",H=X;let F=new Headers(this.headers);if(W)F.set("Prefer",`count=${W}`);return new v5({method:G,url:B,headers:F,schema:this.schemaName,body:H,fetch:($=this.fetch)!==null&&$!==void 0?$:fetch})}};class EG{constructor(){}connect(){}disconnect(){}}var n7=class extends Error{constructor(D,Y){super(D);this.name="IcebergError",this.status=Y.status,this.icebergType=Y.icebergType,this.icebergCode=Y.icebergCode,this.details=Y.details,this.isCommitStateUnknown=Y.icebergType==="CommitStateUnknownException"||[500,502,504].includes(Y.status)&&Y.icebergType?.includes("CommitState")===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Nu(D,Y,X){let Q=new URL(Y,D);if(X){for(let[J,W]of Object.entries(X))if(W!==void 0)Q.searchParams.set(J,W)}return Q.toString()}async function Zu(D){if(!D||D.type==="none")return{};if(D.type==="bearer")return{Authorization:`Bearer ${D.token}`};if(D.type==="header")return{[D.name]:D.value};if(D.type==="custom")return await D.getHeaders();return{}}function Au(D){let Y=D.fetchImpl??globalThis.fetch;return{async request({method:X,path:Q,query:J,body:W,headers:$}){let G=Nu(D.baseUrl,Q,J),B=await Zu(D.auth),H=await Y(G,{method:X,headers:{...W?{"Content-Type":"application/json"}:{},...B,...$},body:W?JSON.stringify(W):void 0}),F=await H.text(),K=(H.headers.get("content-type")||"").includes("application/json"),U=K&&F?JSON.parse(F):F;if(!H.ok){let z=K?U:void 0,w=z?.error;throw new n7(w?.message??`Request failed with status ${H.status}`,{status:H.status,icebergType:w?.type,icebergCode:w?.code,details:z})}return{status:H.status,headers:H.headers,data:U}}}}function gX(D){return D.join("\x1F")}var Eu=class{constructor(D,Y=""){this.client=D,this.prefix=Y}async listNamespaces(D){let Y=D?{parent:gX(D.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:Y})).data.namespaces.map((Q)=>({namespace:Q}))}async createNamespace(D,Y){let X={namespace:D.namespace,properties:Y?.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:X})).data}async dropNamespace(D){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${gX(D.namespace)}`})}async loadNamespaceMetadata(D){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${gX(D.namespace)}`})).data.properties}}async namespaceExists(D){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${gX(D.namespace)}`}),!0}catch(Y){if(Y instanceof n7&&Y.status===404)return!1;throw Y}}async createNamespaceIfNotExists(D,Y){try{return await this.createNamespace(D,Y)}catch(X){if(X instanceof n7&&X.status===409)return;throw X}}};function y5(D){return D.join("\x1F")}var Ru=class{constructor(D,Y="",X){this.client=D,this.prefix=Y,this.accessDelegation=X}async listTables(D){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables`})).data.identifiers}async createTable(D,Y){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables`,body:Y,headers:X})).data.metadata}async updateTable(D,Y){let X=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables/${D.name}`,body:Y});return{"metadata-location":X.data["metadata-location"],metadata:X.data.metadata}}async dropTable(D,Y){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables/${D.name}`,query:{purgeRequested:String(Y?.purge??!1)}})}async loadTable(D){let Y={};if(this.accessDelegation)Y["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables/${D.name}`,headers:Y})).data.metadata}async tableExists(D){let Y={};if(this.accessDelegation)Y["X-Iceberg-Access-Delegation"]=this.accessDelegation;try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${y5(D.namespace)}/tables/${D.name}`,headers:Y}),!0}catch(X){if(X instanceof n7&&X.status===404)return!1;throw X}}async createTableIfNotExists(D,Y){try{return await this.createTable(D,Y)}catch(X){if(X instanceof n7&&X.status===409)return await this.loadTable({namespace:D.namespace,name:Y.name});throw X}}},dV=class{constructor(D){let Y="v1";if(D.catalogName)Y+=`/${D.catalogName}`;let X=D.baseUrl.endsWith("/")?D.baseUrl:`${D.baseUrl}/`;this.client=Au({baseUrl:X,auth:D.auth,fetchImpl:D.fetch}),this.accessDelegation=D.accessDelegation?.join(","),this.namespaceOps=new Eu(this.client,Y),this.tableOps=new Ru(this.client,Y,this.accessDelegation)}async listNamespaces(D){return this.namespaceOps.listNamespaces(D)}async createNamespace(D,Y){return this.namespaceOps.createNamespace(D,Y)}async dropNamespace(D){await this.namespaceOps.dropNamespace(D)}async loadNamespaceMetadata(D){return this.namespaceOps.loadNamespaceMetadata(D)}async listTables(D){return this.tableOps.listTables(D)}async createTable(D,Y){return this.tableOps.createTable(D,Y)}async updateTable(D,Y){return this.tableOps.updateTable(D,Y)}async dropTable(D,Y){await this.tableOps.dropTable(D,Y)}async loadTable(D){return this.tableOps.loadTable(D)}async namespaceExists(D){return this.namespaceOps.namespaceExists(D)}async tableExists(D){return this.tableOps.tableExists(D)}async createNamespaceIfNotExists(D,Y){return this.namespaceOps.createNamespaceIfNotExists(D,Y)}async createTableIfNotExists(D,Y){return this.tableOps.createTableIfNotExists(D,Y)}};var uX=class extends Error{constructor(D){super(D);this.__isStorageError=!0,this.name="StorageError"}};function E1(D){return typeof D==="object"&&D!==null&&"__isStorageError"in D}var ju=class extends uX{constructor(D,Y,X){super(D);this.name="StorageApiError",this.status=Y,this.statusCode=X}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},TG=class extends uX{constructor(D,Y){super(D);this.name="StorageUnknownError",this.originalError=Y}},IG=(D)=>{if(D)return(...Y)=>D(...Y);return(...Y)=>fetch(...Y)},Tu=()=>{return Response},SG=(D)=>{if(Array.isArray(D))return D.map((X)=>SG(X));else if(typeof D==="function"||D!==Object(D))return D;let Y={};return Object.entries(D).forEach(([X,Q])=>{let J=X.replace(/([-_][a-z])/gi,(W)=>W.toUpperCase().replace(/[-_]/g,""));Y[J]=SG(Q)}),Y},Su=(D)=>{if(typeof D!=="object"||D===null)return!1;let Y=Object.getPrototypeOf(D);return(Y===null||Y===Object.prototype||Object.getPrototypeOf(Y)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},Pu=(D)=>{if(!D||typeof D!=="string")return!1;if(D.length===0||D.length>100)return!1;if(D.trim()!==D)return!1;if(D.includes("/")||D.includes("\\"))return!1;return/^[\w!.\*'() &$@=;:+,?-]+$/.test(D)};function i7(D){return i7=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Y){return typeof Y}:function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},i7(D)}function Iu(D,Y){if(i7(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Q=X.call(D,Y||"default");if(i7(Q)!="object")return Q;throw TypeError("@@toPrimitive must return a primitive value.")}return(Y==="string"?String:Number)(D)}function Cu(D){var Y=Iu(D,"string");return i7(Y)=="symbol"?Y:Y+""}function xu(D,Y,X){return(Y=Cu(Y))in D?Object.defineProperty(D,Y,{value:X,enumerable:!0,configurable:!0,writable:!0}):D[Y]=X,D}function pV(D,Y){var X=Object.keys(D);if(Object.getOwnPropertySymbols){var Q=Object.getOwnPropertySymbols(D);Y&&(Q=Q.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),X.push.apply(X,Q)}return X}function O0(D){for(var Y=1;Y<arguments.length;Y++){var X=arguments[Y]!=null?arguments[Y]:{};Y%2?pV(Object(X),!0).forEach(function(Q){xu(D,Q,X[Q])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(X)):pV(Object(X)).forEach(function(Q){Object.defineProperty(D,Q,Object.getOwnPropertyDescriptor(X,Q))})}return D}var RG=(D)=>{var Y;return D.msg||D.message||D.error_description||(typeof D.error==="string"?D.error:(Y=D.error)===null||Y===void 0?void 0:Y.message)||JSON.stringify(D)},_u=async(D,Y,X)=>{if(D instanceof await Tu()&&!(X===null||X===void 0?void 0:X.noResolveJson))D.json().then((Q)=>{let J=D.status||500,W=(Q===null||Q===void 0?void 0:Q.statusCode)||J+"";Y(new ju(RG(Q),J,W))}).catch((Q)=>{Y(new TG(RG(Q),Q))});else Y(new TG(RG(D),D))},bu=(D,Y,X,Q)=>{let J={method:D,headers:(Y===null||Y===void 0?void 0:Y.headers)||{}};if(D==="GET"||!Q)return J;if(Su(Q))J.headers=O0({"Content-Type":"application/json"},Y===null||Y===void 0?void 0:Y.headers),J.body=JSON.stringify(Q);else J.body=Q;if(Y===null||Y===void 0?void 0:Y.duplex)J.duplex=Y.duplex;return O0(O0({},J),X)};async function a7(D,Y,X,Q,J,W){return new Promise(($,G)=>{D(X,bu(Y,Q,J,W)).then((B)=>{if(!B.ok)throw B;if(Q===null||Q===void 0?void 0:Q.noResolveJson)return B;return B.json()}).then((B)=>$(B)).catch((B)=>_u(B,G,Q))})}async function r7(D,Y,X,Q){return a7(D,"GET",Y,X,Q)}async function j6(D,Y,X,Q,J){return a7(D,"POST",Y,Q,J,X)}async function PG(D,Y,X,Q,J){return a7(D,"PUT",Y,Q,J,X)}async function ku(D,Y,X,Q){return a7(D,"HEAD",Y,O0(O0({},X),{},{noResolveJson:!0}),Q)}async function CG(D,Y,X,Q,J){return a7(D,"DELETE",Y,Q,J,X)}var vu=class{constructor(D,Y){this.downloadFn=D,this.shouldThrowOnError=Y}then(D,Y){return this.execute().then(D,Y)}async execute(){var D=this;try{return{data:(await D.downloadFn()).body,error:null}}catch(Y){if(D.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},rV;rV=Symbol.toStringTag;var yu=class{constructor(D,Y){this.downloadFn=D,this.shouldThrowOnError=Y,this[rV]="BlobDownloadBuilder",this.promise=null}asStream(){return new vu(this.downloadFn,this.shouldThrowOnError)}then(D,Y){return this.getPromise().then(D,Y)}catch(D){return this.getPromise().catch(D)}finally(D){return this.getPromise().finally(D)}getPromise(){if(!this.promise)this.promise=this.execute();return this.promise}async execute(){var D=this;try{return{data:await(await D.downloadFn()).blob(),error:null}}catch(Y){if(D.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},fu={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},nV={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1},hu=class{constructor(D,Y={},X,Q){this.shouldThrowOnError=!1,this.url=D,this.headers=Y,this.bucketId=X,this.fetch=IG(Q)}throwOnError(){return this.shouldThrowOnError=!0,this}async uploadOrUpdate(D,Y,X,Q){var J=this;try{let W,$=O0(O0({},nV),Q),G=O0(O0({},J.headers),D==="POST"&&{"x-upsert":String($.upsert)}),B=$.metadata;if(typeof Blob<"u"&&X instanceof Blob){if(W=new FormData,W.append("cacheControl",$.cacheControl),B)W.append("metadata",J.encodeMetadata(B));W.append("",X)}else if(typeof FormData<"u"&&X instanceof FormData){if(W=X,!W.has("cacheControl"))W.append("cacheControl",$.cacheControl);if(B&&!W.has("metadata"))W.append("metadata",J.encodeMetadata(B))}else{if(W=X,G["cache-control"]=`max-age=${$.cacheControl}`,G["content-type"]=$.contentType,B)G["x-metadata"]=J.toBase64(J.encodeMetadata(B));if((typeof ReadableStream<"u"&&W instanceof ReadableStream||W&&typeof W==="object"&&("pipe"in W)&&typeof W.pipe==="function")&&!$.duplex)$.duplex="half"}if(Q===null||Q===void 0?void 0:Q.headers)G=O0(O0({},G),Q.headers);let H=J._removeEmptyFolders(Y),F=J._getFinalPath(H),K=await(D=="PUT"?PG:j6)(J.fetch,`${J.url}/object/${F}`,W,O0({headers:G},($===null||$===void 0?void 0:$.duplex)?{duplex:$.duplex}:{}));return{data:{path:H,id:K.Id,fullPath:K.Key},error:null}}catch(W){if(J.shouldThrowOnError)throw W;if(E1(W))return{data:null,error:W};throw W}}async upload(D,Y,X){return this.uploadOrUpdate("POST",D,Y,X)}async uploadToSignedUrl(D,Y,X,Q){var J=this;let W=J._removeEmptyFolders(D),$=J._getFinalPath(W),G=new URL(J.url+`/object/upload/sign/${$}`);G.searchParams.set("token",Y);try{let B,H=O0({upsert:nV.upsert},Q),F=O0(O0({},J.headers),{"x-upsert":String(H.upsert)});if(typeof Blob<"u"&&X instanceof Blob)B=new FormData,B.append("cacheControl",H.cacheControl),B.append("",X);else if(typeof FormData<"u"&&X instanceof FormData)B=X,B.append("cacheControl",H.cacheControl);else B=X,F["cache-control"]=`max-age=${H.cacheControl}`,F["content-type"]=H.contentType;return{data:{path:W,fullPath:(await PG(J.fetch,G.toString(),B,{headers:F})).Key},error:null}}catch(B){if(J.shouldThrowOnError)throw B;if(E1(B))return{data:null,error:B};throw B}}async createSignedUploadUrl(D,Y){var X=this;try{let Q=X._getFinalPath(D),J=O0({},X.headers);if(Y===null||Y===void 0?void 0:Y.upsert)J["x-upsert"]="true";let W=await j6(X.fetch,`${X.url}/object/upload/sign/${Q}`,{},{headers:J}),$=new URL(X.url+W.url),G=$.searchParams.get("token");if(!G)throw new uX("No token returned by API");return{data:{signedUrl:$.toString(),path:D,token:G},error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(E1(Q))return{data:null,error:Q};throw Q}}async update(D,Y,X){return this.uploadOrUpdate("PUT",D,Y,X)}async move(D,Y,X){var Q=this;try{return{data:await j6(Q.fetch,`${Q.url}/object/move`,{bucketId:Q.bucketId,sourceKey:D,destinationKey:Y,destinationBucket:X===null||X===void 0?void 0:X.destinationBucket},{headers:Q.headers}),error:null}}catch(J){if(Q.shouldThrowOnError)throw J;if(E1(J))return{data:null,error:J};throw J}}async copy(D,Y,X){var Q=this;try{return{data:{path:(await j6(Q.fetch,`${Q.url}/object/copy`,{bucketId:Q.bucketId,sourceKey:D,destinationKey:Y,destinationBucket:X===null||X===void 0?void 0:X.destinationBucket},{headers:Q.headers})).Key},error:null}}catch(J){if(Q.shouldThrowOnError)throw J;if(E1(J))return{data:null,error:J};throw J}}async createSignedUrl(D,Y,X){var Q=this;try{let J=Q._getFinalPath(D),W=await j6(Q.fetch,`${Q.url}/object/sign/${J}`,O0({expiresIn:Y},(X===null||X===void 0?void 0:X.transform)?{transform:X.transform}:{}),{headers:Q.headers}),$=(X===null||X===void 0?void 0:X.download)?`&download=${X.download===!0?"":X.download}`:"";return W={signedUrl:encodeURI(`${Q.url}${W.signedURL}${$}`)},{data:W,error:null}}catch(J){if(Q.shouldThrowOnError)throw J;if(E1(J))return{data:null,error:J};throw J}}async createSignedUrls(D,Y,X){var Q=this;try{let J=await j6(Q.fetch,`${Q.url}/object/sign/${Q.bucketId}`,{expiresIn:Y,paths:D},{headers:Q.headers}),W=(X===null||X===void 0?void 0:X.download)?`&download=${X.download===!0?"":X.download}`:"";return{data:J.map(($)=>O0(O0({},$),{},{signedUrl:$.signedURL?encodeURI(`${Q.url}${$.signedURL}${W}`):null})),error:null}}catch(J){if(Q.shouldThrowOnError)throw J;if(E1(J))return{data:null,error:J};throw J}}download(D,Y){let X=typeof(Y===null||Y===void 0?void 0:Y.transform)<"u"?"render/image/authenticated":"object",Q=this.transformOptsToQueryString((Y===null||Y===void 0?void 0:Y.transform)||{}),J=Q?`?${Q}`:"",W=this._getFinalPath(D);return new yu(()=>r7(this.fetch,`${this.url}/${X}/${W}${J}`,{headers:this.headers,noResolveJson:!0}),this.shouldThrowOnError)}async info(D){var Y=this;let X=Y._getFinalPath(D);try{return{data:SG(await r7(Y.fetch,`${Y.url}/object/info/${X}`,{headers:Y.headers})),error:null}}catch(Q){if(Y.shouldThrowOnError)throw Q;if(E1(Q))return{data:null,error:Q};throw Q}}async exists(D){var Y=this;let X=Y._getFinalPath(D);try{return await ku(Y.fetch,`${Y.url}/object/${X}`,{headers:Y.headers}),{data:!0,error:null}}catch(Q){if(Y.shouldThrowOnError)throw Q;if(E1(Q)&&Q instanceof TG){let J=Q.originalError;if([400,404].includes(J===null||J===void 0?void 0:J.status))return{data:!1,error:Q}}throw Q}}getPublicUrl(D,Y){let X=this._getFinalPath(D),Q=[],J=(Y===null||Y===void 0?void 0:Y.download)?`download=${Y.download===!0?"":Y.download}`:"";if(J!=="")Q.push(J);let W=typeof(Y===null||Y===void 0?void 0:Y.transform)<"u"?"render/image":"object",$=this.transformOptsToQueryString((Y===null||Y===void 0?void 0:Y.transform)||{});if($!=="")Q.push($);let G=Q.join("&");if(G!=="")G=`?${G}`;return{data:{publicUrl:encodeURI(`${this.url}/${W}/public/${X}${G}`)}}}async remove(D){var Y=this;try{return{data:await CG(Y.fetch,`${Y.url}/object/${Y.bucketId}`,{prefixes:D},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async list(D,Y,X){var Q=this;try{let J=O0(O0(O0({},fu),Y),{},{prefix:D||""});return{data:await j6(Q.fetch,`${Q.url}/object/list/${Q.bucketId}`,J,{headers:Q.headers},X),error:null}}catch(J){if(Q.shouldThrowOnError)throw J;if(E1(J))return{data:null,error:J};throw J}}async listV2(D,Y){var X=this;try{let Q=O0({},D);return{data:await j6(X.fetch,`${X.url}/object/list-v2/${X.bucketId}`,Q,{headers:X.headers},Y),error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(E1(Q))return{data:null,error:Q};throw Q}}encodeMetadata(D){return JSON.stringify(D)}toBase64(D){if(typeof Buffer<"u")return Buffer.from(D).toString("base64");return btoa(D)}_getFinalPath(D){return`${this.bucketId}/${D.replace(/^\/+/,"")}`}_removeEmptyFolders(D){return D.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(D){let Y=[];if(D.width)Y.push(`width=${D.width}`);if(D.height)Y.push(`height=${D.height}`);if(D.resize)Y.push(`resize=${D.resize}`);if(D.format)Y.push(`format=${D.format}`);if(D.quality)Y.push(`quality=${D.quality}`);return Y.join("&")}},aV="2.89.0",oV={"X-Client-Info":`storage-js/${aV}`},gu=class{constructor(D,Y={},X,Q){this.shouldThrowOnError=!1;let J=new URL(D);if(Q===null||Q===void 0?void 0:Q.useNewHostname){if(/supabase\.(co|in|red)$/.test(J.hostname)&&!J.hostname.includes("storage.supabase."))J.hostname=J.hostname.replace("supabase.","storage.supabase.")}this.url=J.href.replace(/\/$/,""),this.headers=O0(O0({},oV),Y),this.fetch=IG(X)}throwOnError(){return this.shouldThrowOnError=!0,this}async listBuckets(D){var Y=this;try{let X=Y.listBucketOptionsToQueryString(D);return{data:await r7(Y.fetch,`${Y.url}/bucket${X}`,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async getBucket(D){var Y=this;try{return{data:await r7(Y.fetch,`${Y.url}/bucket/${D}`,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async createBucket(D,Y={public:!1}){var X=this;try{return{data:await j6(X.fetch,`${X.url}/bucket`,{id:D,name:D,type:Y.type,public:Y.public,file_size_limit:Y.fileSizeLimit,allowed_mime_types:Y.allowedMimeTypes},{headers:X.headers}),error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(E1(Q))return{data:null,error:Q};throw Q}}async updateBucket(D,Y){var X=this;try{return{data:await PG(X.fetch,`${X.url}/bucket/${D}`,{id:D,name:D,public:Y.public,file_size_limit:Y.fileSizeLimit,allowed_mime_types:Y.allowedMimeTypes},{headers:X.headers}),error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(E1(Q))return{data:null,error:Q};throw Q}}async emptyBucket(D){var Y=this;try{return{data:await j6(Y.fetch,`${Y.url}/bucket/${D}/empty`,{},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async deleteBucket(D){var Y=this;try{return{data:await CG(Y.fetch,`${Y.url}/bucket/${D}`,{},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}listBucketOptionsToQueryString(D){let Y={};if(D){if("limit"in D)Y.limit=String(D.limit);if("offset"in D)Y.offset=String(D.offset);if(D.search)Y.search=D.search;if(D.sortColumn)Y.sortColumn=D.sortColumn;if(D.sortOrder)Y.sortOrder=D.sortOrder}return Object.keys(Y).length>0?"?"+new URLSearchParams(Y).toString():""}},uu=class{constructor(D,Y={},X){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=O0(O0({},oV),Y),this.fetch=IG(X)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var Y=this;try{return{data:await j6(Y.fetch,`${Y.url}/bucket`,{name:D},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async listBuckets(D){var Y=this;try{let X=new URLSearchParams;if((D===null||D===void 0?void 0:D.limit)!==void 0)X.set("limit",D.limit.toString());if((D===null||D===void 0?void 0:D.offset)!==void 0)X.set("offset",D.offset.toString());if(D===null||D===void 0?void 0:D.sortColumn)X.set("sortColumn",D.sortColumn);if(D===null||D===void 0?void 0:D.sortOrder)X.set("sortOrder",D.sortOrder);if(D===null||D===void 0?void 0:D.search)X.set("search",D.search);let Q=X.toString(),J=Q?`${Y.url}/bucket?${Q}`:`${Y.url}/bucket`;return{data:await r7(Y.fetch,J,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}async deleteBucket(D){var Y=this;try{return{data:await CG(Y.fetch,`${Y.url}/bucket/${D}`,{},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(E1(X))return{data:null,error:X};throw X}}from(D){var Y=this;if(!Pu(D))throw new uX("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");let X=new dV({baseUrl:this.url,catalogName:D,auth:{type:"custom",getHeaders:async()=>Y.headers},fetch:this.fetch}),Q=this.shouldThrowOnError;return new Proxy(X,{get(J,W){let $=J[W];if(typeof $!=="function")return $;return async(...G)=>{try{return{data:await $.apply(J,G),error:null}}catch(B){if(Q)throw B;return{data:null,error:B}}}}})}},xG={"X-Client-Info":`storage-js/${aV}`,"Content-Type":"application/json"},sV=class extends Error{constructor(D){super(D);this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}};function e8(D){return typeof D==="object"&&D!==null&&"__isStorageVectorsError"in D}var jG=class extends sV{constructor(D,Y,X){super(D);this.name="StorageVectorsApiError",this.status=Y,this.statusCode=X}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},mu=class extends sV{constructor(D,Y){super(D);this.name="StorageVectorsUnknownError",this.originalError=Y}};var _G=(D)=>{if(D)return(...Y)=>D(...Y);return(...Y)=>fetch(...Y)};var cu=(D)=>{if(typeof D!=="object"||D===null)return!1;let Y=Object.getPrototypeOf(D);return(Y===null||Y===Object.prototype||Object.getPrototypeOf(Y)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)};var iV=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),lu=async(D,Y,X)=>{if(D&&typeof D==="object"&&"status"in D&&"ok"in D&&typeof D.status==="number"&&!(X===null||X===void 0?void 0:X.noResolveJson)){let Q=D.status||500,J=D;if(typeof J.json==="function")J.json().then((W)=>{let $=(W===null||W===void 0?void 0:W.statusCode)||(W===null||W===void 0?void 0:W.code)||Q+"";Y(new jG(iV(W),Q,$))}).catch(()=>{let W=Q+"";Y(new jG(J.statusText||`HTTP ${Q} error`,Q,W))});else{let W=Q+"";Y(new jG(J.statusText||`HTTP ${Q} error`,Q,W))}}else Y(new mu(iV(D),D))},du=(D,Y,X,Q)=>{let J={method:D,headers:(Y===null||Y===void 0?void 0:Y.headers)||{}};if(D==="GET"||!Q)return J;if(cu(Q))J.headers=O0({"Content-Type":"application/json"},Y===null||Y===void 0?void 0:Y.headers),J.body=JSON.stringify(Q);else J.body=Q;return O0(O0({},J),X)};async function pu(D,Y,X,Q,J,W){return new Promise(($,G)=>{D(X,du(Y,Q,J,W)).then((B)=>{if(!B.ok)throw B;if(Q===null||Q===void 0?void 0:Q.noResolveJson)return B;let H=B.headers.get("content-type");if(!H||!H.includes("application/json"))return{};return B.json()}).then((B)=>$(B)).catch((B)=>lu(B,G,Q))})}async function D6(D,Y,X,Q,J){return pu(D,"POST",Y,Q,J,X)}var nu=class{constructor(D,Y={},X){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=O0(O0({},xG),Y),this.fetch=_G(X)}throwOnError(){return this.shouldThrowOnError=!0,this}async createIndex(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/CreateIndex`,D,{headers:Y.headers})||{},error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async getIndex(D,Y){var X=this;try{return{data:await D6(X.fetch,`${X.url}/GetIndex`,{vectorBucketName:D,indexName:Y},{headers:X.headers}),error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(e8(Q))return{data:null,error:Q};throw Q}}async listIndexes(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/ListIndexes`,D,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async deleteIndex(D,Y){var X=this;try{return{data:await D6(X.fetch,`${X.url}/DeleteIndex`,{vectorBucketName:D,indexName:Y},{headers:X.headers})||{},error:null}}catch(Q){if(X.shouldThrowOnError)throw Q;if(e8(Q))return{data:null,error:Q};throw Q}}},iu=class{constructor(D,Y={},X){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=O0(O0({},xG),Y),this.fetch=_G(X)}throwOnError(){return this.shouldThrowOnError=!0,this}async putVectors(D){var Y=this;try{if(D.vectors.length<1||D.vectors.length>500)throw Error("Vector batch size must be between 1 and 500 items");return{data:await D6(Y.fetch,`${Y.url}/PutVectors`,D,{headers:Y.headers})||{},error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async getVectors(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/GetVectors`,D,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async listVectors(D){var Y=this;try{if(D.segmentCount!==void 0){if(D.segmentCount<1||D.segmentCount>16)throw Error("segmentCount must be between 1 and 16");if(D.segmentIndex!==void 0){if(D.segmentIndex<0||D.segmentIndex>=D.segmentCount)throw Error(`segmentIndex must be between 0 and ${D.segmentCount-1}`)}}return{data:await D6(Y.fetch,`${Y.url}/ListVectors`,D,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async queryVectors(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/QueryVectors`,D,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async deleteVectors(D){var Y=this;try{if(D.keys.length<1||D.keys.length>500)throw Error("Keys batch size must be between 1 and 500 items");return{data:await D6(Y.fetch,`${Y.url}/DeleteVectors`,D,{headers:Y.headers})||{},error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}},ru=class{constructor(D,Y={},X){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=O0(O0({},xG),Y),this.fetch=_G(X)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/CreateVectorBucket`,{vectorBucketName:D},{headers:Y.headers})||{},error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async getBucket(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/GetVectorBucket`,{vectorBucketName:D},{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async listBuckets(D={}){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/ListVectorBuckets`,D,{headers:Y.headers}),error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}async deleteBucket(D){var Y=this;try{return{data:await D6(Y.fetch,`${Y.url}/DeleteVectorBucket`,{vectorBucketName:D},{headers:Y.headers})||{},error:null}}catch(X){if(Y.shouldThrowOnError)throw X;if(e8(X))return{data:null,error:X};throw X}}},au=class extends ru{constructor(D,Y={}){super(D,Y.headers||{},Y.fetch)}from(D){return new ou(this.url,this.headers,D,this.fetch)}async createBucket(D){var Y=()=>super.createBucket,X=this;return Y().call(X,D)}async getBucket(D){var Y=()=>super.getBucket,X=this;return Y().call(X,D)}async listBuckets(D={}){var Y=()=>super.listBuckets,X=this;return Y().call(X,D)}async deleteBucket(D){var Y=()=>super.deleteBucket,X=this;return Y().call(X,D)}},ou=class extends nu{constructor(D,Y,X,Q){super(D,Y,Q);this.vectorBucketName=X}async createIndex(D){var Y=()=>super.createIndex,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName}))}async listIndexes(D={}){var Y=()=>super.listIndexes,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName}))}async getIndex(D){var Y=()=>super.getIndex,X=this;return Y().call(X,X.vectorBucketName,D)}async deleteIndex(D){var Y=()=>super.deleteIndex,X=this;return Y().call(X,X.vectorBucketName,D)}index(D){return new su(this.url,this.headers,this.vectorBucketName,D,this.fetch)}},su=class extends iu{constructor(D,Y,X,Q,J){super(D,Y,J);this.vectorBucketName=X,this.indexName=Q}async putVectors(D){var Y=()=>super.putVectors,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName,indexName:X.indexName}))}async getVectors(D){var Y=()=>super.getVectors,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName,indexName:X.indexName}))}async listVectors(D={}){var Y=()=>super.listVectors,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName,indexName:X.indexName}))}async queryVectors(D){var Y=()=>super.queryVectors,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName,indexName:X.indexName}))}async deleteVectors(D){var Y=()=>super.deleteVectors,X=this;return Y().call(X,O0(O0({},D),{},{vectorBucketName:X.vectorBucketName,indexName:X.indexName}))}},tV=class extends gu{constructor(D,Y={},X,Q){super(D,Y,X,Q)}from(D){return new hu(this.url,this.headers,D,this.fetch)}get vectors(){return new au(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new uu(this.url+"/iceberg",this.headers,this.fetch)}};var tu=()=>Promise.resolve({data:{session:null,user:null},error:null}),eu={get:(D,Y)=>{if(Y==="constructor")return D.constructor;if(Y==="then"||Y==="catch"||Y==="finally")return;if(typeof Y==="symbol")return;if(Y==="getSession")return()=>Promise.resolve({data:{session:null,user:null},error:null});if(Y==="onAuthStateChange")return()=>({data:{subscription:{unsubscribe:()=>{}}},error:null});return tu}};class eV{constructor(D){return this.options=D,new Proxy(this,eu)}}class bG extends eV{}var Dm="2.89.0",o7="";if(typeof Deno<"u")o7="deno";else if(typeof document<"u")o7="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")o7="react-native";else o7="node";var Ym={"X-Client-Info":`supabase-js-${o7}/${Dm}`},Xm={headers:Ym},Qm={schema:"public"},Jm={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},Wm={};function s7(D){return s7=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Y){return typeof Y}:function(Y){return Y&&typeof Symbol=="function"&&Y.constructor===Symbol&&Y!==Symbol.prototype?"symbol":typeof Y},s7(D)}function $m(D,Y){if(s7(D)!="object"||!D)return D;var X=D[Symbol.toPrimitive];if(X!==void 0){var Q=X.call(D,Y||"default");if(s7(Q)!="object")return Q;throw TypeError("@@toPrimitive must return a primitive value.")}return(Y==="string"?String:Number)(D)}function Gm(D){var Y=$m(D,"string");return s7(Y)=="symbol"?Y:Y+""}function Bm(D,Y,X){return(Y=Gm(Y))in D?Object.defineProperty(D,Y,{value:X,enumerable:!0,configurable:!0,writable:!0}):D[Y]=X,D}function DL(D,Y){var X=Object.keys(D);if(Object.getOwnPropertySymbols){var Q=Object.getOwnPropertySymbols(D);Y&&(Q=Q.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),X.push.apply(X,Q)}return X}function x1(D){for(var Y=1;Y<arguments.length;Y++){var X=arguments[Y]!=null?arguments[Y]:{};Y%2?DL(Object(X),!0).forEach(function(Q){Bm(D,Q,X[Q])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(X)):DL(Object(X)).forEach(function(Q){Object.defineProperty(D,Q,Object.getOwnPropertyDescriptor(X,Q))})}return D}var Hm=(D)=>{if(D)return(...Y)=>D(...Y);return(...Y)=>fetch(...Y)},Fm=()=>{return Headers},qm=(D,Y,X)=>{let Q=Hm(X),J=Fm();return async(W,$)=>{var G;let B=(G=await Y())!==null&&G!==void 0?G:D,H=new J($===null||$===void 0?void 0:$.headers);if(!H.has("apikey"))H.set("apikey",D);if(!H.has("Authorization"))H.set("Authorization",`Bearer ${B}`);return Q(W,x1(x1({},$),{},{headers:H}))}};function Km(D){return D.endsWith("/")?D:D+"/"}function zm(D,Y){var X,Q;let{db:J,auth:W,realtime:$,global:G}=D,{db:B,auth:H,realtime:F,global:K}=Y,U={db:x1(x1({},B),J),auth:x1(x1({},H),W),realtime:x1(x1({},F),$),storage:{},global:x1(x1(x1({},K),G),{},{headers:x1(x1({},(X=K===null||K===void 0?void 0:K.headers)!==null&&X!==void 0?X:{}),(Q=G===null||G===void 0?void 0:G.headers)!==null&&Q!==void 0?Q:{})}),accessToken:async()=>""};if(D.accessToken)U.accessToken=D.accessToken;else delete U.accessToken;return U}function Um(D){let Y=D===null||D===void 0?void 0:D.trim();if(!Y)throw Error("supabaseUrl is required.");if(!Y.match(/^https?:\/\//i))throw Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(Km(Y))}catch(X){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var wm=class extends bG{constructor(D){super(D)}},Vm=class{constructor(D,Y,X){var Q,J;this.supabaseUrl=D,this.supabaseKey=Y;let W=Um(D);if(!Y)throw Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",W),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",W),this.storageUrl=new URL("storage/v1",W),this.functionsUrl=new URL("functions/v1",W);let $=`sb-${W.hostname.split(".")[0]}-auth-token`,G={db:Qm,realtime:Wm,auth:x1(x1({},Jm),{},{storageKey:$}),global:Xm},B=zm(X!==null&&X!==void 0?X:{},G);if(this.storageKey=(Q=B.auth.storageKey)!==null&&Q!==void 0?Q:"",this.headers=(J=B.global.headers)!==null&&J!==void 0?J:{},!B.accessToken){var H;this.auth=this._initSupabaseAuthClient((H=B.auth)!==null&&H!==void 0?H:{},this.headers,B.global.fetch)}else this.accessToken=B.accessToken,this.auth=new Proxy({},{get:(F,K)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(K)} is not possible`)}});if(this.fetch=qm(Y,this._getAccessToken.bind(this),B.global.fetch),this.realtime=this._initRealtimeClient(x1({headers:this.headers,accessToken:this._getAccessToken.bind(this)},B.realtime)),this.accessToken)this.accessToken().then((F)=>this.realtime.setAuth(F)).catch((F)=>console.warn("Failed to set initial Realtime auth token:",F));if(this.rest=new lV(new URL("rest/v1",W).href,{headers:this.headers,schema:B.db.schema,fetch:this.fetch}),this.storage=new tV(this.storageUrl.href,this.headers,this.fetch,X===null||X===void 0?void 0:X.storage),!B.accessToken)this._listenForAuthEvents()}get functions(){return new T6.FunctionsClient(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(D){return this.rest.from(D)}schema(D){return this.rest.schema(D)}rpc(D,Y={},X={head:!1,get:!1,count:void 0}){return this.rest.rpc(D,Y,X)}channel(D,Y={config:{}}){return this.realtime.channel(D,Y)}getChannels(){return this.realtime.getChannels()}removeChannel(D){return this.realtime.removeChannel(D)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var D=this,Y,X;if(D.accessToken)return await D.accessToken();let{data:Q}=await D.auth.getSession();return(Y=(X=Q.session)===null||X===void 0?void 0:X.access_token)!==null&&Y!==void 0?Y:D.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:D,persistSession:Y,detectSessionInUrl:X,storage:Q,userStorage:J,storageKey:W,flowType:$,lock:G,debug:B,throwOnError:H},F,K){let U={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new wm({url:this.authUrl.href,headers:x1(x1({},U),F),storageKey:W,autoRefreshToken:D,persistSession:Y,detectSessionInUrl:X,storage:Q,userStorage:J,flowType:$,lock:G,debug:B,throwOnError:H,fetch:K,hasCustomAuthorizationHeader:Object.keys(this.headers).some((z)=>z.toLowerCase()==="authorization")})}_initRealtimeClient(D){return new EG(this.realtimeUrl.href,x1(x1({},D),{},{params:x1(x1({},{apikey:this.supabaseKey}),D===null||D===void 0?void 0:D.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((D,Y)=>{this._handleTokenChanged(D,"CLIENT",Y===null||Y===void 0?void 0:Y.access_token)})}_handleTokenChanged(D,Y,X){if((D==="TOKEN_REFRESHED"||D==="SIGNED_IN")&&this.changedAccessToken!==X)this.changedAccessToken=X,this.realtime.setAuth(X);else if(D==="SIGNED_OUT"){if(this.realtime.setAuth(),Y=="STORAGE")this.auth.signOut();this.changedAccessToken=void 0}}},YL=(D,Y,X)=>{return new Vm(D,Y,X)};function Lm(){if(typeof window<"u")return!1;if(typeof process>"u")return!1;let D=process.version;if(D===void 0||D===null)return!1;let Y=D.match(/^v(\d+)\./);if(!Y)return!1;return parseInt(Y[1],10)<=18}if(Lm())console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");var L2=r1(hG(),1),fT=r1(FM(),1),VJ=r1(yQ(),1);function fZ(D,Y){let Q=["normal","bold","dim","italic","underline","strikethrough"].indexOf(D),J="\x1B[";return"\x1B["+Q+"m"+Y+"\x1B[0m"}class G1{title=null;headers=[];rows=[];static narrowTheme={top:["╔","═","╤","╗"],row:["║"," ","│","║"],div:["╟","─","┼","╢"],bot:["╚","═","╧","╝"]};static wideTheme={top:["╔═","═","═╤═","═╗"],row:["║ "," "," │ "," ║"],div:["╟─","─","─┼─","─╢"],bot:["╚═","═","═╧═","═╝"]};static roundTheme={top:["╭─","─","─┬─","─╮"],row:["│ "," "," │ "," │"],div:["├─","─","─┼─","─┤"],bot:["╰─","─","─┴─","─╯"]};theme=G1.wideTheme;columnWidth(){let D=[this.headers,...this.rows].filter((X)=>X.length>0),Y=D[0].map((X)=>this.cast(X).length);for(let X of D.slice(1))for(let Q=0;Q<Y.length;Q++){let J=this.cast(X[Q]).length;if(J>Y[Q])Y[Q]=J}return Y}cast(D){if(typeof D==="object")return"obj";if(D!==void 0&&typeof D.toString==="function")return D.toString();else return""}renderTitle(){return"[ "+this.title+" ]"}renderLine(D){let Y=this.columnWidth();return D[0]+Y.map((X)=>D[1].repeat(X)).join(D[2])+D[3]}renderCell(D,Y,X=!1){let Q=this.cast(D),J=X?fZ("bold",Q):Q,W=Y-Q.length,$=this.theme.row[1];switch(typeof D){case"number":return $.repeat(W)+J;case"string":return J+$.repeat(W);case"boolean":case"object":return $.repeat(Math.ceil(W/2))+fZ("italic",Q)+$.repeat(Math.floor(W/2));default:return $.repeat(W)}}renderRow(D,Y=!1){let X=this.theme.row,Q=this.columnWidth();return X[0]+D.map((J,W)=>this.renderCell(J,Q[W],Y)).join(X[2])+X[3]}toString(){let D=this.theme,Y=this.headers.length>0,X=this.rows.length>0;return[this.title?this.renderTitle():"",Y||X?this.renderLine(D.top):"",Y?this.renderRow(this.headers,!0):"",Y&&X?this.renderLine(D.div):"",...this.rows.map((Q)=>this.renderRow(Q)),Y||X?this.renderLine(D.bot):""].filter((Q)=>Q.length>0).join(`
|
|
195
195
|
`)}}async function fQ(D){try{let X=`https://registry.npmjs.org/${encodeURIComponent(D.toLowerCase())}`,Q=await fetch(X,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});if(!Q.ok)return null;return(await Q.json())["dist-tags"]?.latest||null}catch{return null}}async function f0(){let D=await fQ("@capgo/cli")??"",Y=D?.split(".")[0];if(D!==f8.version)q.warning(`\uD83D\uDEA8 You are using @capgo/cli@${f8.version} it's not the latest version.
|
|
196
|
-
Please use @capgo/cli@${D}" or @capgo/cli@${Y} to keep up to date with the latest features and bug fixes.`)}function Pa(D){return new Promise((Y)=>{setTimeout(Y,D)})}function Ia(D){return new Date(D||"").toLocaleTimeString()}async function U8(D,Y,X,Q,J,W="✅"){await C0(X,{channel:D,event:Q,icon:W,user_id:Y,...J?{tags:{"app-id":J}}:{},notify:!1})}async function Ca(D,Y,X,Q){if(!R0(Y))return;throw await U8(D,X,Q,"canceled",void 0,"\uD83E\uDD37"),Error("Command cancelled")}async function xa(D,Y,X){try{let Q=await c8(),J=X?{...Y,rangeStart:X}:{...Y},W=await fetch(`${Q.hostApi}/private/stats`,{method:"POST",headers:{"Content-Type":"application/json",capgkey:D},body:JSON.stringify(J)});if(!W.ok)throw Error(`HTTP error! status: ${W.status}`);let $=await W.json();if($?.length>0)return $}catch(Q){console.error("Cannot get devices",Q),q.error(`Cannot get stats ${m(Q)}`)}return[]}function _a(D){let Y={get:{summary:()=>"Update request by device. Waiting for download…",level:"info",snag:"done"},delete:{summary:()=>"Bundle deleted on device",level:"info"},set:{summary:()=>"Bundle set on device ❤️",level:"info",snag:"set",stop:!0},NoChannelOrOverride:{summary:()=>"No default channel/override; create it in channel settings",level:"error"},needPlanUpgrade:{summary:({baseUrl:X})=>`Out of quota. Upgrade plan: ${X}/settings/organization/plans`,level:"error"},missingBundle:{summary:()=>"Requested bundle not found on server",level:"error"},noNew:{summary:()=>"Device already has latest available version",level:"info"},disablePlatformIos:{summary:()=>"iOS platform disabled in channel",level:"error"},disablePlatformAndroid:{summary:()=>"Android platform disabled in channel",level:"error"},disableAutoUpdate:{summary:()=>"Automatic updates disabled in channel",level:"error"},disableAutoUpdateToMajor:{summary:()=>"Auto-update to major versions disabled",level:"error"},disableAutoUpdateToMinor:{summary:()=>"Auto-update to minor versions disabled",level:"error"},disableAutoUpdateToPatch:{summary:()=>"Auto-update to patch versions disabled",level:"error"},disableAutoUpdateUnderNative:{summary:()=>"Channel update version is lower than device native",level:"error"},disableDevBuild:{summary:()=>"Dev build updates disabled in channel",level:"error"},disableProdBuild:{summary:()=>"Prod build updates disabled in channel",level:"error"},disableEmulator:{summary:()=>"Emulator updates disabled in channel",level:"error"},disableDevice:{summary:()=>"Physical device updates disabled in channel",level:"error"},cannotGetBundle:{summary:()=>"Cannot retrieve bundle from channel",level:"error"},cannotUpdateViaPrivateChannel:{summary:()=>"No access to private channel",level:"error"},channelMisconfigured:{summary:()=>"Channel configuration invalid or incomplete",level:"error"},disableAutoUpdateMetadata:{summary:()=>"Auto-update on metadata disabled",level:"error"},set_fail:{summary:()=>"Bundle set failed. Possibly corrupted",level:"error"},reset:{summary:()=>"Device reset to builtin bundle",level:"warn"},update_fail:{summary:()=>"Installed bundle failed to call notifyAppReady",level:"error"},checksum_fail:{summary:()=>"Downloaded bundle checksum validation failed",level:"error"},windows_path_fail:{summary:()=>"Bundle contains illegal Windows-style paths",level:"error"},canonical_path_fail:{summary:()=>"Bundle contains non-canonical paths",level:"error"},directory_path_fail:{summary:()=>"Bundle ZIP contains invalid directory paths",level:"error"},unzip_fail:{summary:()=>"Failed to unzip bundle on device",level:"error"},low_mem_fail:{summary:()=>"Download failed due to low device memory",level:"error"},app_moved_to_background:{summary:()=>"App moved to background",level:"info"},app_moved_to_foreground:{summary:()=>"App moved to foreground",level:"info"},decrypt_fail:{summary:()=>"Failed to decrypt downloaded bundle",level:"error"},getChannel:{summary:()=>"Queried current channel on device",level:"info"},setChannel:{summary:()=>"Channel set on device",level:"info"},InvalidIp:{summary:()=>"Device appears in Google datacenter; blocking recent updates (<4h)",level:"warn"},uninstall:{summary:()=>"App uninstalled or Capgo data cleared on device",level:"warn"}};if(D.action.startsWith("download_")){let X=D.action.split("_")[1];if(X==="complete")return{summary:()=>"Download complete; relaunch app to apply",level:"info",snag:"downloaded"};if(X==="fail")return{summary:()=>"Download failed on device",level:"error"};return{summary:()=>`Downloading ${X}%`,level:"info"}}return Y[D.action]||null}async function ba(D,Y,X,Q,J,W){let $=_a(D);if(!$)return{};if($.snag)await U8(Y,X,Q,$.snag);let G=Ia(D.created_at),B=D.action,H=D.version_id?`(version #${D.version_id})`:"",F=D.version?` (version ${D.version})`:H,K=`${$.summary({data:D,baseAppUrl:J,baseUrl:W})}${F}`;return{row:[G,D.device_id,B,K],stop:$.stop}}async function aB(D,Y,X,Q,J){let W=!0,$=await c8(),G=`${$.hostWeb}/app/${X}`;await U8(D,Q,Y,"Use waitlog",X);let B={appId:X,devicesId:J?[J]:void 0,order:[{key:"created_at",sortable:"desc"}],rangeStart:new Date().toISOString()},H=null,F=new Set,K=d0(),U=`${$.host}/docs/plugins/updater/debugging/#sent-from-the-backend`;K.start(`Waiting for logs (Expect delay of 30 sec) more info: ${U}`);while(W){await Pa(5000);let z=await xa(Y,B,H);if(z.length>0){let w=z.reduce((Z,M)=>{let E=new Date(M.created_at).getTime();return Math.max(Z,E)},H?new Date(H).getTime():0);if(w>0)H=new Date(w).toISOString();let V=z.filter((Z)=>{let M=`${Z.app_id}|${Z.device_id}|${Z.action}|${Z.version_id}|${Z.created_at}`;if(F.has(M))return!1;return F.add(M),!0}).sort((Z,M)=>new Date(Z.created_at).getTime()-new Date(M.created_at).getTime()),L=new G1;L.headers=["Time","Device","Key","Message"],L.theme=G1.roundTheme,L.rows=[];let O=!1;for(let Z of V){let{row:M,stop:E}=await ba(Z,D,Q,Y,G,$.hostWeb);if(M)L.rows.push(M);if(E)O=!0}if(L.rows.length)K.stop(""),q.info(L.toString()),K.start(`Waiting for logs (Expect delay of 30 sec) more info: ${U}`);if(O){W=!1;break}}}return K.stop("Stop watching logs"),Promise.resolve()}async function hZ(D,Y){F0("Debug Live update in Capgo"),await f0(),Y.apikey=Y.apikey||X0();let X=await U0();D=_0(D,X?.config);let Q=Y.device;if(!Y.apikey)throw q.error("Missing API key, you need to provide an API key to delete your app"),Error("Missing API key");if(!D)throw q.error("Missing argument, you need to provide a appId, or be in a capacitor project"),Error("Missing appId");let J=await V0(Y.apikey,Y.supaHost,Y.supaAnon),W=await a1(J,D),$=await j0({message:"Automatic check if update working in device ?"});if(await Ca("debug",$,W,Y.apikey),$)q.info(`Wait logs sent to Capgo from ${D} device, Please background your app and open it again \uD83D\uDCAA`),await aB("debug",Y.apikey,D,W,Q),e("Done ✅");else e("Canceled ❌")}import{Buffer as gZ}from"node:buffer";import{createHash as ka}from"node:crypto";var va=(()=>{let D=[];for(let Y=0;Y<256;Y++){let X=Y;for(let Q=0;Q<8;Q++)X=X&1?3988292384^X>>>1:X>>>1;D[Y]=X}return D})();function ya(D){let Y=4294967295;for(let X=0;X<D.length;X++){let Q=D[X];Y=va[(Y^Q)&255]^Y>>>8}return Y=Y^4294967295,(Y>>>0).toString(16).padStart(8,"0")}async function w9(D,Y="sha256"){let X=gZ.isBuffer(D)?D:gZ.from(D);if(Y==="crc32")return ya(X);let Q=ka(Y);return Q.update(X),Q.digest("hex")}var g3=
|
|
196
|
+
Please use @capgo/cli@${D}" or @capgo/cli@${Y} to keep up to date with the latest features and bug fixes.`)}function Pa(D){return new Promise((Y)=>{setTimeout(Y,D)})}function Ia(D){return new Date(D||"").toLocaleTimeString()}async function U8(D,Y,X,Q,J,W="✅"){await C0(X,{channel:D,event:Q,icon:W,user_id:Y,...J?{tags:{"app-id":J}}:{},notify:!1})}async function Ca(D,Y,X,Q){if(!R0(Y))return;throw await U8(D,X,Q,"canceled",void 0,"\uD83E\uDD37"),Error("Command cancelled")}async function xa(D,Y,X){try{let Q=await c8(),J=X?{...Y,rangeStart:X}:{...Y},W=await fetch(`${Q.hostApi}/private/stats`,{method:"POST",headers:{"Content-Type":"application/json",capgkey:D},body:JSON.stringify(J)});if(!W.ok)throw Error(`HTTP error! status: ${W.status}`);let $=await W.json();if($?.length>0)return $}catch(Q){console.error("Cannot get devices",Q),q.error(`Cannot get stats ${m(Q)}`)}return[]}function _a(D){let Y={get:{summary:()=>"Update request by device. Waiting for download…",level:"info",snag:"done"},delete:{summary:()=>"Bundle deleted on device",level:"info"},set:{summary:()=>"Bundle set on device ❤️",level:"info",snag:"set",stop:!0},NoChannelOrOverride:{summary:()=>"No default channel/override; create it in channel settings",level:"error"},needPlanUpgrade:{summary:({baseUrl:X})=>`Out of quota. Upgrade plan: ${X}/settings/organization/plans`,level:"error"},missingBundle:{summary:()=>"Requested bundle not found on server",level:"error"},noNew:{summary:()=>"Device already has latest available version",level:"info"},disablePlatformIos:{summary:()=>"iOS platform disabled in channel",level:"error"},disablePlatformAndroid:{summary:()=>"Android platform disabled in channel",level:"error"},disableAutoUpdate:{summary:()=>"Automatic updates disabled in channel",level:"error"},disableAutoUpdateToMajor:{summary:()=>"Auto-update to major versions disabled",level:"error"},disableAutoUpdateToMinor:{summary:()=>"Auto-update to minor versions disabled",level:"error"},disableAutoUpdateToPatch:{summary:()=>"Auto-update to patch versions disabled",level:"error"},disableAutoUpdateUnderNative:{summary:()=>"Channel update version is lower than device native",level:"error"},disableDevBuild:{summary:()=>"Dev build updates disabled in channel",level:"error"},disableProdBuild:{summary:()=>"Prod build updates disabled in channel",level:"error"},disableEmulator:{summary:()=>"Emulator updates disabled in channel",level:"error"},disableDevice:{summary:()=>"Physical device updates disabled in channel",level:"error"},cannotGetBundle:{summary:()=>"Cannot retrieve bundle from channel",level:"error"},cannotUpdateViaPrivateChannel:{summary:()=>"No access to private channel",level:"error"},channelMisconfigured:{summary:()=>"Channel configuration invalid or incomplete",level:"error"},disableAutoUpdateMetadata:{summary:()=>"Auto-update on metadata disabled",level:"error"},set_fail:{summary:()=>"Bundle set failed. Possibly corrupted",level:"error"},reset:{summary:()=>"Device reset to builtin bundle",level:"warn"},update_fail:{summary:()=>"Installed bundle failed to call notifyAppReady",level:"error"},checksum_fail:{summary:()=>"Downloaded bundle checksum validation failed",level:"error"},windows_path_fail:{summary:()=>"Bundle contains illegal Windows-style paths",level:"error"},canonical_path_fail:{summary:()=>"Bundle contains non-canonical paths",level:"error"},directory_path_fail:{summary:()=>"Bundle ZIP contains invalid directory paths",level:"error"},unzip_fail:{summary:()=>"Failed to unzip bundle on device",level:"error"},low_mem_fail:{summary:()=>"Download failed due to low device memory",level:"error"},app_moved_to_background:{summary:()=>"App moved to background",level:"info"},app_moved_to_foreground:{summary:()=>"App moved to foreground",level:"info"},decrypt_fail:{summary:()=>"Failed to decrypt downloaded bundle",level:"error"},getChannel:{summary:()=>"Queried current channel on device",level:"info"},setChannel:{summary:()=>"Channel set on device",level:"info"},InvalidIp:{summary:()=>"Device appears in Google datacenter; blocking recent updates (<4h)",level:"warn"},uninstall:{summary:()=>"App uninstalled or Capgo data cleared on device",level:"warn"}};if(D.action.startsWith("download_")){let X=D.action.split("_")[1];if(X==="complete")return{summary:()=>"Download complete; relaunch app to apply",level:"info",snag:"downloaded"};if(X==="fail")return{summary:()=>"Download failed on device",level:"error"};return{summary:()=>`Downloading ${X}%`,level:"info"}}return Y[D.action]||null}async function ba(D,Y,X,Q,J,W){let $=_a(D);if(!$)return{};if($.snag)await U8(Y,X,Q,$.snag);let G=Ia(D.created_at),B=D.action,H=D.version_id?`(version #${D.version_id})`:"",F=D.version?` (version ${D.version})`:H,K=`${$.summary({data:D,baseAppUrl:J,baseUrl:W})}${F}`;return{row:[G,D.device_id,B,K],stop:$.stop}}async function aB(D,Y,X,Q,J){let W=!0,$=await c8(),G=`${$.hostWeb}/app/${X}`;await U8(D,Q,Y,"Use waitlog",X);let B={appId:X,devicesId:J?[J]:void 0,order:[{key:"created_at",sortable:"desc"}],rangeStart:new Date().toISOString()},H=null,F=new Set,K=d0(),U=`${$.host}/docs/plugins/updater/debugging/#sent-from-the-backend`;K.start(`Waiting for logs (Expect delay of 30 sec) more info: ${U}`);while(W){await Pa(5000);let z=await xa(Y,B,H);if(z.length>0){let w=z.reduce((Z,M)=>{let E=new Date(M.created_at).getTime();return Math.max(Z,E)},H?new Date(H).getTime():0);if(w>0)H=new Date(w).toISOString();let V=z.filter((Z)=>{let M=`${Z.app_id}|${Z.device_id}|${Z.action}|${Z.version_id}|${Z.created_at}`;if(F.has(M))return!1;return F.add(M),!0}).sort((Z,M)=>new Date(Z.created_at).getTime()-new Date(M.created_at).getTime()),L=new G1;L.headers=["Time","Device","Key","Message"],L.theme=G1.roundTheme,L.rows=[];let O=!1;for(let Z of V){let{row:M,stop:E}=await ba(Z,D,Q,Y,G,$.hostWeb);if(M)L.rows.push(M);if(E)O=!0}if(L.rows.length)K.stop(""),q.info(L.toString()),K.start(`Waiting for logs (Expect delay of 30 sec) more info: ${U}`);if(O){W=!1;break}}}return K.stop("Stop watching logs"),Promise.resolve()}async function hZ(D,Y){F0("Debug Live update in Capgo"),await f0(),Y.apikey=Y.apikey||X0();let X=await U0();D=_0(D,X?.config);let Q=Y.device;if(!Y.apikey)throw q.error("Missing API key, you need to provide an API key to delete your app"),Error("Missing API key");if(!D)throw q.error("Missing argument, you need to provide a appId, or be in a capacitor project"),Error("Missing appId");let J=await V0(Y.apikey,Y.supaHost,Y.supaAnon),W=await a1(J,D),$=await j0({message:"Automatic check if update working in device ?"});if(await Ca("debug",$,W,Y.apikey),$)q.info(`Wait logs sent to Capgo from ${D} device, Please background your app and open it again \uD83D\uDCAA`),await aB("debug",Y.apikey,D,W,Q),e("Done ✅");else e("Canceled ❌")}import{Buffer as gZ}from"node:buffer";import{createHash as ka}from"node:crypto";var va=(()=>{let D=[];for(let Y=0;Y<256;Y++){let X=Y;for(let Q=0;Q<8;Q++)X=X&1?3988292384^X>>>1:X>>>1;D[Y]=X}return D})();function ya(D){let Y=4294967295;for(let X=0;X<D.length;X++){let Q=D[X];Y=va[(Y^Q)&255]^Y>>>8}return Y=Y^4294967295,(Y>>>0).toString(16).padStart(8,"0")}async function w9(D,Y="sha256"){let X=gZ.isBuffer(D)?D:gZ.from(D);if(Y==="crc32")return ya(X);let Q=ka(Y);return Q.update(X),Q.digest("hex")}var g3=r1(QT(),1);async function JT(){let D=await g3.loadConfig();return{config:D.app.extConfig,path:D.app.extConfigFilePath}}async function nH(D,Y,X=!1){let Q=await g3.loadConfig(),{extConfig:J}=Q.app;if(J){if(!J.plugins)J.plugins={extConfig:{},[D]:{}};if(!J.plugins[D])J.plugins[D]={};if(!X)J.plugins[D]=Y.config.plugins?.[D];else J=Y.config;g3.writeConfig(J,Q.app.extConfigFilePath)}}async function P4(D,Y=!1){await nH("CapacitorUpdater",D,Y)}var u3={ORG_REQUIRES_EXPIRING_KEY:"org_requires_expiring_key",EXPIRATION_REQUIRED:"expiration_required",EXPIRATION_EXCEEDS_MAX:"expiration_exceeds_max"},iH={[u3.ORG_REQUIRES_EXPIRING_KEY]:`This organization requires API keys with expiration dates.
|
|
197
197
|
|
|
198
198
|
Please generate a new API key with an expiration:
|
|
199
199
|
1. Go to https://web.capgo.app/dashboard/apikeys
|
|
@@ -216,7 +216,7 @@ Please generate a new API key with a shorter expiration:
|
|
|
216
216
|
|
|
217
217
|
${Y.message}
|
|
218
218
|
`;return Y.message||"An unknown error occurred"}var k4=".capgo_key",Q6=".capgo_key_v2",LJ=`${k4}.pub`,O9=`${Q6}.pub`,CT="https://capgo.app",xT="https://files.capgo.app",_T="https://api.capgo.app",bT="https://console.capgo.app",M2=120000,P60=20971520,I60=1073741824,C60=103809024,X6="package.json",v4=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*))*))?(?:\+([0-9a-z-]+(?:\.[0-9a-z-]+)*))?$/i;function m(D){if(!D)return"";if(I4(D).isSecurityPolicyError)return rH(D);return`
|
|
219
|
-
${fT.default.render(D)}`}async function y4(D,Y,X=!1){let{data:Q,error:J}=await D.rpc("reject_access_due_to_2fa_for_org",{org_id:Y});if(J){if(!X)q.error(`Cannot check 2FA compliance: ${J.message}`);throw Error(`Cannot check 2FA compliance: ${J.message}`)}if(Q){if(!X)q.error("\uD83D\uDD10 Access Denied: 2FA Required. Enable 2FA at https://web.capgo.app/settings/account");throw Error("2FA required for this organization")}}function wJ(D){return new Promise((Y)=>{setTimeout(Y,D)})}function hT(D){return s6.isMonorepo(D)||s6.isNXMonorepo(D)}function
|
|
219
|
+
${fT.default.render(D)}`}async function y4(D,Y,X=!1){let{data:Q,error:J}=await D.rpc("reject_access_due_to_2fa_for_org",{org_id:Y});if(J){if(!X)q.error(`Cannot check 2FA compliance: ${J.message}`);throw Error(`Cannot check 2FA compliance: ${J.message}`)}if(Q){if(!X)q.error("\uD83D\uDD10 Access Denied: 2FA Required. Enable 2FA at https://web.capgo.app/settings/account");throw Error("2FA required for this organization")}}function wJ(D){return new Promise((Y)=>{setTimeout(Y,D)})}function hT(D){return s6.isMonorepo(D)||s6.isNXMonorepo(D)}function f1(D){if(s6.isMonorepo(D))return s6.findMonorepoRoot(D);else if(s6.isNXMonorepo(D))return s6.findNXMonorepoRoot(D);return D}function gT(D=f1(o6()),Y=void 0){let X=Y?.split(",")[0];if(X){if(!n1(X)){let J=`Package.json at ${X} does not exist`;throw q.error(J),Error(J)}}let Q=C8(X??Y1(D,X6));return JSON.parse(Q)}function O2(D=f1(o6()),Y=void 0){return gT(D,Y).scripts}function C6(D=f1(o6()),Y=void 0){return gT(D,Y).version??""}function x60(D){let Y=D.replace("^","").replace("~","");if(sw(Y))try{let X=I0(Y);return u8(X)}catch{return Y}return Y}async function l8(D,Y=o6(),X){let Q=X?d3(X):Y;try{let $=`${D}/package.json`,{createRequire:G}=await import("node:module"),H=G(Y1(Q,"package.json")).resolve($),F=JSON.parse(C8(H,"utf-8"));if(F.version)return F.version}catch{}let J=Q,W=V2.parse(J).root;while(J!==W){let $=Y1(J,"node_modules",D,X6);if(n1($))try{let B=JSON.parse(C8($,"utf-8"));if(B.version)return B.version}catch{}let G=d3(J);if(G===J)break;J=G}if(D==="@capgo/capacitor-updater"){let $=null,G=Y1(Y,"ios","App","Podfile");if(n1(G))try{let H=C8(G,"utf-8").match(/pod\s+['"]CapgoCapacitorUpdater['"],\s*:path\s*=>\s*['"]([^'"]+)['"]/);if(H?.[1])$=UJ(Y1(Y,"ios","App",H[1]))}catch{}if(!$){let B=Y1(Y,"android","capacitor.settings.gradle");if(n1(B))try{let F=C8(B,"utf-8").match(/project\(':capgo-capacitor-updater'\)\.projectDir\s*=\s*new\s+File\(['"]([^'"]+)['"]/);if(F?.[1])$=UJ(Y1(Y,"android",F[1])).replace(/\/android$/,"")}catch{}}if($){let B=Y1($,X6);if(n1(B))try{let H=JSON.parse(C8(B,"utf-8"));if(H.version)return H.version}catch{}}}try{let G=(await z6(Y)).get(D);if(G)return G}catch{}return null}async function z6(D=f1(o6()),Y=void 0){let X=Y?.split(",");if(X??=[Y1(D,X6)],X){for(let W of X)if(!n1(W)){let $=`Package.json at ${W} does not exist`;throw q.error($),Error($)}}let Q=new Map,{createRequire:J}=await import("node:module");for(let W of X){let $=C8(W),G=JSON.parse($),B=d3(W),H=(F,K)=>{try{let V=J(Y1(B,"package.json")).resolve(`${F}/package.json`),L=JSON.parse(C8(V,"utf-8"));if(L.version)return L.version}catch{}let U=B,z=V2.parse(U).root;while(U!==z){let w=Y1(U,"node_modules",F,X6);if(n1(w))try{let L=JSON.parse(C8(w,"utf-8"));if(L.version)return L.version}catch{}let V=d3(U);if(V===U)break;U=V}return x60(K)};for(let F in G.dependencies)Q.set(F,H(F,G.dependencies[F]));for(let F in G.devDependencies)Q.set(F,H(F,G.devDependencies[F]))}return Q}async function U0(){try{let D=await JT();if(!D)throw q.error("No capacitor config file found, run `cap init` first"),Error("No capacitor config file found, run `cap init` first");return D}catch(D){let Y=`No capacitor config file found, run \`cap init\` first ${m(D)}`;throw q.error(Y),Error(Y)}}async function N2(D,Y){let X=await U0();if(X?.config)X.config.plugins??={},X.config.plugins.extConfig??={},X.config.plugins[D]??={},X.config.plugins[D]={...X.config.plugins[D],...Y},await nH(D,X);return X}async function p3(D){return N2("CapacitorUpdater",D)}async function c8(){try{let D=await U0(),Y={host:D?.config?.plugins?.CapacitorUpdater?.localHost||CT,hostWeb:D?.config?.plugins?.CapacitorUpdater?.localWebHost||bT,hostFilesApi:D?.config?.plugins?.CapacitorUpdater?.localApiFiles||xT,hostApi:D?.config?.plugins?.CapacitorUpdater?.localApi||_T};if(D?.config?.plugins?.CapacitorUpdater?.localSupa&&D?.config?.plugins?.CapacitorUpdater?.localSupaAnon)q.info("Using custom supabase instance from capacitor.config.json"),Y.supaKey=D?.config?.plugins?.CapacitorUpdater?.localSupaAnon,Y.supaHost=D?.config?.plugins?.CapacitorUpdater?.localSupa;return Y}catch{return{host:CT,hostWeb:bT,hostFilesApi:xT,hostApi:_T}}}var uT=/([A-Za-z0-9]+)\.(java|swift|kt|scala)$/;async function MJ(){let D=await c8();try{let Y=await fetch(`${D.hostApi}/private/config`);if(!Y.ok)throw Error(`HTTP error! status: ${Y.status}`);return{...await Y.json(),...D}}catch{return q.info(`Local config ${m(D)}`),D}}async function mT(){let D=await c8();try{let Y=await fetch(`${D.hostFilesApi}/files/config`);if(!Y.ok)throw Error(`HTTP error! status: ${Y.status}`);return await Y.json()}catch{return{partialUpload:!1,TUSUpload:!1,partialUploadForced:!1,TUSUploadForced:!1,maxUploadLength:I60,maxChunkSize:C60,alertUploadSize:P60}}}async function V0(D,Y,X){let Q=await MJ();if(Y&&X)q.info("Using custom supabase instance from provided options"),Q.supaHost=Y,Q.supaKey=X;if(!Q.supaHost||!Q.supaKey)throw q.error("Cannot connect to server please try again later"),Error("Cannot connect to server please try again later");return YL(Q.supaHost,Q.supaKey,{auth:{persistSession:!1},global:{headers:{capgkey:D}}})}async function _60(D,Y,X){let{data:Q}=await D.rpc("is_allowed_capgkey",{apikey:Y,keymode:X}).single();if(!Q){q.error("Invalid API key or insufficient permissions.");let W=`Your key should be: ${X.map(($,G)=>{if(X.length===1)return`"${$}"`;if(G===X.length-1)return`or "${$}"`;return`"${$}", `}).join("")} mode.`;throw q.error(W),Error("Invalid API key or insufficient permissions.")}}async function cT(D,Y){let{data:X}=await D.rpc("is_paying_org",{orgid:Y}).single();return X||!1}async function lT(D,Y){let{data:X}=await D.rpc("is_trial_org",{orgid:Y}).single();return X||0}async function b60(D,Y){let{data:X}=await D.rpc("is_allowed_action_org",{orgid:Y}).single();return!!X}async function k60(D,Y,X){let{data:Q}=await D.rpc("is_allowed_action",{apikey:X,appid:Y}).single();return!!Q}var V8;(($)=>{$[$.none=0]="none";$[$.read=1]="read";$[$.upload=2]="upload";$[$.write=3]="write";$[$.admin=4]="admin";$[$.super_admin=5]="super_admin"})(V8||={});var f4=(D,Y)=>D>=Y;async function dT(D,Y,X){let{data:Q,error:J}=await D.rpc("get_org_perm_for_apikey",{apikey:Y,app_id:X}).single();if(J)throw q.error("Cannot get permissions for organization!"),console.error(J),Error("Cannot get permissions for organization");if(Q.includes("perm")){let G=null;switch(Q){case"perm_none":{G=0;break}case"perm_read":{G=1;break}case"perm_upload":{G=2;break}case"perm_write":{G=3;break}case"perm_admin":{G=4;break}case"perm_owner":{G=5;break}default:{if(Q.includes("invite"))throw q.info("Please accept/deny the organization invitation before trying to access the app"),Error("Organization invitation pending");throw q.error(`Invalid output when fetching organization permission. Response: ${Q}`),Error(`Invalid output when fetching organization permission. Response: ${Q}`)}}return{okay:!0,data:G}}let $=null;switch(Q){case"INVALID_APIKEY":{$="INVALID_APIKEY";break}case"NO_APP":{$="NO_APP";break}case"NO_ORG":{$="NO_ORG";break}default:throw q.error(`Invalid error when fetching organization permission. Response: ${Q}`),Error(`Invalid error when fetching organization permission. Response: ${Q}`)}return{okay:!1,error:$}}async function pT(D,Y,X){let{data:Q,error:J}=await D.rpc("get_organization_cli_warnings",{orgid:Y,cli_version:X});if(J){q.error(`Cannot get cli warnings: ${m(J)}`);return}if(Q.length>0){q.warn(`Found ${Q.length} cli warnings for your organization.`);let W=null;for(let $ of Q){if(typeof $!=="object"||typeof $.message!=="string"||typeof $.fatal!=="boolean"){q.error(`Invalid cli warning: ${$}`);continue}let G=$;if(G.fatal)q.error(`${G.message.replaceAll("\\n",`
|
|
220
220
|
`)}`),W=Error(G.message);else q.warn(`${G.message.replaceAll("\\n",`
|
|
221
221
|
`)}`)}if(W)throw q.error("Please fix the warnings and try again."),W;q.info("End of cli warnings.")}}async function nT(D,Y,X,Q,J=!0){let W=await MJ();if(!await(Q?k60(D,Q,X):b60(D,Y)))throw q.error(`You need to upgrade your plan to continue to use capgo.
|
|
222
222
|
Upgrade here: ${W.hostWeb}/settings/organization/plans
|
|
@@ -226,18 +226,18 @@ Trial expires in ${G} days, upgrade here: ${W.hostWeb}/settings/organization/pla
|
|
|
226
226
|
Upgrade here: ${W.hostWeb}/settings/organization/plans
|
|
227
227
|
`),wJ(100),Promise.resolve().then(() => (U2(),z2)).then((H)=>{H.default(`${W.hostWeb}/settings/organization/plans`)}),wJ(500),Error("Plan upgrade required for upload");let[G,B]=await Promise.all([lT(D,Y),cT(D,Y)]);if(G>0&&J&&!B)q.warn(`WARNING !!
|
|
228
228
|
Trial expires in ${G} days, upgrade here: ${W.hostWeb}/settings/organization/plans
|
|
229
|
-
`)}function X0(D=!1){let Y=S60.CAPGO_TOKEN?.trim();if(Y){if(!D)q.info("Use CAPGO_TOKEN environment variable");return Y}let X=j60(),Q,J=`${X}/.capgo`;if(
|
|
229
|
+
`)}function X0(D=!1){let Y=S60.CAPGO_TOKEN?.trim();if(Y){if(!D)q.info("Use CAPGO_TOKEN environment variable");return Y}let X=j60(),Q,J=`${X}/.capgo`;if(n1(J)){if(!D)q.info(`Use global API key ${J}`);Q=C8(J,"utf8").trim()}if(J=".capgo",!Q&&n1(J)){if(!D)q.info(`Use local API key ${J}`);Q=C8(J,"utf8").trim()}if(!Q){let W=`Cannot find API key in local folder or global, please login first with ${W8().runner} @capgo/cli login`;throw q.error(W),Error(W)}return Q}async function*Z2(D){let Y=await b4(D,{withFileTypes:!0});for(let X of Y){let Q=UJ(D,X.name);if(X.isDirectory()&&!X.name.startsWith(".")&&!X.name.startsWith("node_modules")&&!X.name.startsWith("dist"))yield*Z2(Q);else yield Q}}function YD(D){let X=(D.endsWith(".br")?D.slice(0,-3):D).split(".").pop()?.toLowerCase()||"";return{html:"text/html",htm:"text/html",js:"application/javascript",mjs:"application/javascript",cjs:"application/javascript",css:"text/css",json:"application/json",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",bmp:"image/bmp",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",avif:"image/avif",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",eot:"application/vnd.ms-fontobject",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",mp4:"video/mp4",webm:"video/webm",xml:"application/xml",txt:"text/plain",md:"text/markdown",pdf:"application/pdf",wasm:"application/wasm",map:"application/json"}[X]||"application/octet-stream"}async function OJ(){let D=o6(),Y=!1,X=UJ(D,"tsconfig.json");if(n1(X))Y=!0;for await(let Q of Z2(D)){if(Q.includes("angular.json"))return q.info("Found angular project"),Y?"angular-ts":"angular-js";if(Q.includes("nuxt.config.js")||Q.includes("nuxt.config.ts"))return q.info("Found nuxtjs project"),Y?"nuxtjs-ts":"nuxtjs-js";if(Q.includes("next.config.js")||Q.includes("next.config.mjs"))return q.info("Found nextjs project"),Y?"nextjs-ts":"nextjs-js";if(Q.includes("svelte.config.js"))return q.info("Found sveltekit project"),Y?"sveltekit-ts":"sveltekit-js";if(Q.includes("rolluconfig.js"))return q.info("Found svelte project"),Y?"svelte-ts":"svelte-js";if(Q.includes("vue.config.js"))return q.info("Found vue project"),Y?"vue-ts":"vue-js";if(Q.includes(X6)){let J=d3(Q),W=await z6(J);if(W){if(W.get("react"))return q.info("Found react project test"),Y?"react-ts":"react-js";if(W.get("vue"))return q.info("Found vue project"),Y?"vue-ts":"vue-js"}}}return"unknown"}function rT(D,Y){if(D==="angular-js"||D==="angular-ts")return Y?"src/main.ts":"src/main.js";if(D==="nextjs-js"||D==="nextjs-ts")return Y?"src/app/layout.tsx":"src/app/layout.js";if(D==="svelte-js"||D==="svelte-ts")return Y?"src/main.ts":"src/main.js";if(D==="vue-js"||D==="vue-ts")return Y?"src/main.ts":"src/main.js";if(D==="react-js"||D==="react-ts")return Y?"src/index.tsx":"src/index.js";return null}async function A2(D){if(D==="angular")return q.info("Angular project detected"),"build";if(D==="nuxtjs")return q.info("Nuxtjs project detected"),"generate";if(D==="nextjs"){if(q.info("Nextjs project detected"),q.warn("Please make sure you have configured static export in your next.config.js: https://nextjs.org/docs/pages/building-your-application/deploying/static-exports"),q.warn("Please make sure you have the output: 'export' and distDir: 'dist' in your next.config.js"),!await j0({message:"Do you want to continue?"}))throw q.error("Build command selection aborted by user"),Error("Build command selection aborted by user");return"build"}if(D==="sveltekit"){if(q.info("Sveltekit project detected"),q.warn("Please make sure you have the adapter-static installed: https://kit.svelte.dev/docs/adapter-static"),q.warn("Please make sure you have the pages: 'dist' and assets: 'dest', in your svelte.config.js adapter"),!await j0({message:"Do you want to continue?"}))throw q.error("Build command selection aborted by user"),Error("Build command selection aborted by user");return"build"}return"build"}async function aT(){let D=/(main|index)\.(ts|tsx|js|jsx)$/,Y="",X=o6(),Q=X.split("/").length;for await(let J of Z2(X))if(J.split("/").length-Q<=2&&D.test(J)){Y=J,q.info(`Found main file here ${J}`);break}return Y}async function E2(D,Y){return D.from("app_versions").upsert(Y,{onConflict:"name,app_id"}).eq("app_id",Y.app_id).eq("name",Y.name)}async function oT(D,Y,X){let Q={app_id:Y,name:X,version:0};try{let W=await D.functions.invoke("files/upload_link",{body:JSON.stringify(Q)});if(W.error){if(W.error instanceof T6.FunctionsHttpError){let $=await W.error.context.json();q.error(`Upload URL error: ${$.status||JSON.stringify($)}`)}else q.error(`Cannot get upload url: ${W.error.message}`);return""}return W.data.url}catch(J){q.error(`Cannot get upload url ${m(J)}`)}return""}async function*sT(D){let Y=b4(D,{withFileTypes:!0});for(let X of Y){let Q=Y1(D,X.name);if(X.isDirectory())yield*sT(Q);else yield Q}}var tT="5.10.0",eT="6.25.0",n3="7.0.30";function U6(D,Y="5.10.0",X="6.25.0",Q="7.25.0"){if(D.major===5&&t8(D,I0(Y)))return!0;if(D.major===6&&t8(D,I0(X)))return!0;if(D.major===7&&t8(D,I0(Q)))return!0;return!1}async function DS(D){let Y=[],X=[".DS_Store",".git",".gitignore","node_modules","package-lock.json","tsconfig.json","tsconfig.app.json","tsconfig.spec.json","tsconfig.app.json","tsconfig.spec.json","tsconfig.app.json","tsconfig.spec.json"];for await(let Q of sT(D)){if(X.some((G)=>Q.includes(G))){q.info(`Ignoring file ${Q}, please ensure you have only required files in your dist folder`);continue}let J=C8(Q);if(J.length===0){q.info(`Ignoring empty file ${Q}, please ensure you have only required files in your dist folder`);continue}let W=await w9(J,"sha256"),$=vT(D,Q);if($.startsWith("/"))$=$.substring(1);Y.push({file:$,hash:W})}return Y}async function NJ(D){if(T60()==="win32")return y60(D);else return v60(D)}function v60(D){let Y=new L2.default;return Y.addLocalFolder(D),Y.toBuffer()}async function y60(D){q.info("Zipping file windows mode");let Y=new L2.default,X=(Q,J)=>{let W=b4(Q);for(let $ of W){let G=Y1(Q,$),B=R60(G);if(B.isFile()){let H=C8(G);Y.addFile(Y1(J,$).split(yT).join("/"),H)}else if(B.isDirectory())X(G,Y1(J,$))}};return X(D,""),Y.toBuffer()}async function YS(D,Y,X,Q,J,W,$,G){return new Promise((B,H)=>{C0(D,{channel:"app",event:"App TUS upload",icon:"⏫",user_id:X,tags:{"app-id":Q},notify:!1}),new VJ.Upload(Y,{endpoint:`${$.hostFilesApi}/files/upload/attachments/`,chunkSize:G,metadataForPartialUploads:{filename:`orgs/${X}/apps/${Q}/${J}.zip`,filetype:"application/gzip"},metadata:{filename:`orgs/${X}/apps/${Q}/${J}.zip`,filetype:"application/zip"},headers:{Authorization:D},onError(K){if(q.error(`Error uploading bundle: ${K.message}`),K instanceof VJ.DetailedError){let U=K.originalResponse?.getBody(),z=JSON.parse(U||'{"error": "unknown error"}');H(z.status||z.error||z.message||"unknown error")}else H(K.message||K.toString()||"unknown error")},onProgress(K,U){let z=(K/U*100).toFixed(2);W.message(`Uploaded ${z}%`)},async onSuccess(){await C0(D,{channel:"app",event:"App TUS done",icon:"⏫",user_id:X,tags:{"app-id":Q},notify:!1}).catch(),B(!0)}}).start()})}async function XS(D,Y,X){let Q={app_id:Y,name:X};try{let W=await D.functions.invoke("private/delete_failed_version",{body:JSON.stringify(Q),method:"DELETE"});if(W.error){if(W.error instanceof T6.FunctionsHttpError){let $=await W.error.context.json();q.error(`Cannot delete failed version: ${$.status||JSON.stringify($)}`)}else q.error(`Cannot delete failed version: ${W.error.message}`);return}return W.data?.status}catch(J){if(J instanceof T6.FunctionsHttpError){let W=await J.context.json();q.error(`Cannot delete failed version: ${W.message||JSON.stringify(W)}`)}else q.error(`Cannot delete failed version: ${m(J)}`)}}async function ZJ(D,Y){if(!Y.app_id||!Y.name||!Y.created_by)return q.error("missing app_id, name, or created_by"),Promise.reject(Error("missing app_id, name, or created_by"));let{data:X,error:Q}=await D.from("channels").select().eq("app_id",Y.app_id).eq("name",Y.name).single();if(X&&!Q)return D.from("channels").update(Y).eq("app_id",Y.app_id).eq("name",Y.name).select().single();return D.from("channels").insert(Y).select().single()}async function C0(D,Y,X){try{if(X)q.info(`Get remove config: for ${Y.event}`);let Q=await MJ();if(X)q.info(`Sending LogSnag event: ${JSON.stringify(Y)}`);let J=new AbortController,W=setTimeout(()=>J.abort(),1e4);try{let $=await fetch(`${Q.hostApi}/private/events`,{method:"POST",body:JSON.stringify(Y),headers:{"Content-Type":"application/json",capgkey:D},signal:J.signal});if(clearTimeout(W),!$.ok)throw Error(`HTTP error! status: ${$.status}`);let G=await $.json();if(G.error)q.error(`Failed to send LogSnag event: ${G.error}`)}finally{clearTimeout(W)}}catch(Q){if(X)q.error("Failed to send Stats event details:"),q.error(m(Q))}}function R2(D){if(q.error(`
|
|
230
230
|
\uD83D\uDD10 Access Denied: Two-Factor Authentication Required`),q.error("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),D)q.error(`
|
|
231
231
|
The organization "${D}" requires all members to have 2FA enabled.`);else q.error(`
|
|
232
232
|
This organization requires all members to have 2FA enabled.`);throw q.error(`
|
|
233
233
|
To regain access:`),q.error(" 1. Go to https://web.capgo.app/settings/account"),q.error(" 2. Enable Two-Factor Authentication on your account"),q.error(" 3. Try your command again"),q.error(`
|
|
234
234
|
For more information, visit: https://capgo.app/docs/webapp/2fa-enforcement/
|
|
235
|
-
`),Error("2FA required for this organization")}async function h4(D,Y){let{error:X,data:Q}=await D.rpc("get_orgs_v7");if(X)throw q.error("Cannot get the list of organizations - exiting"),q.error(`Error ${JSON.stringify(X)}`),Error("Cannot get the list of organizations");let J=Q.filter((B)=>!!Y.find((H)=>H===B.role));if(Q.length===0)throw q.error("Could not get organization please create an organization first"),Error("No organizations available");if(J.length===0)throw q.error(`Could not find organization with roles: ${Y.join(" or ")} please create an organization or ask the admin to add you to the organization with this roles`),Error("Could not find organization with required roles");let W=J.length>1?await D8({message:"Please pick the organization that you want to insert to",options:J.map((B)=>{let H=B.enforcing_2fa&&!B["2fa_has_access"]?" ⚠️ (2FA required)":"";return{value:B.gid,label:`${B.name}${H}`}})}):J[0].gid;if(R0(W))throw q.error("Canceled organization selection, exiting"),Error("Organization selection cancelled");let $=W,G=Q.find((B)=>B.gid===$);if(G.enforcing_2fa&&!G["2fa_has_access"])R2(G.name);return q.info(`Using the organization "${G.name}" as the app owner`),G}async function Z0(D,Y,X=["all"]){await _60(D,Y,X);let{data:Q,error:J}=await D.rpc("get_user_id",{apikey:Y}).single(),W=(Q||"").toString();if(!W||J)throw q.error("Cannot auth user with apikey"),Error("Cannot authenticate user with provided API key");return W}async function a1(D,Y){let{data:X,error:Q}=await D.from("apps").select("owner_org").eq("app_id",Y).single();if(!X||Q)throw q.error(`Cannot get organization id for app id ${Y}`),m(Q),Error(`Cannot get organization id for app id ${Y}`);return X.owner_org}function g4(D){return new Date(D||"").toLocaleString()}var kT=!1,_4="npm",l3="install",w2="npx";function W8(){if(kT)return{pm:_4,command:l3,installCommand:`${_4} ${l3}`,runner:w2};let D=
|
|
235
|
+
`),Error("2FA required for this organization")}async function h4(D,Y){let{error:X,data:Q}=await D.rpc("get_orgs_v7");if(X)throw q.error("Cannot get the list of organizations - exiting"),q.error(`Error ${JSON.stringify(X)}`),Error("Cannot get the list of organizations");let J=Q.filter((B)=>!!Y.find((H)=>H===B.role));if(Q.length===0)throw q.error("Could not get organization please create an organization first"),Error("No organizations available");if(J.length===0)throw q.error(`Could not find organization with roles: ${Y.join(" or ")} please create an organization or ask the admin to add you to the organization with this roles`),Error("Could not find organization with required roles");let W=J.length>1?await D8({message:"Please pick the organization that you want to insert to",options:J.map((B)=>{let H=B.enforcing_2fa&&!B["2fa_has_access"]?" ⚠️ (2FA required)":"";return{value:B.gid,label:`${B.name}${H}`}})}):J[0].gid;if(R0(W))throw q.error("Canceled organization selection, exiting"),Error("Organization selection cancelled");let $=W,G=Q.find((B)=>B.gid===$);if(G.enforcing_2fa&&!G["2fa_has_access"])R2(G.name);return q.info(`Using the organization "${G.name}" as the app owner`),G}async function Z0(D,Y,X=["all"]){await _60(D,Y,X);let{data:Q,error:J}=await D.rpc("get_user_id",{apikey:Y}).single(),W=(Q||"").toString();if(!W||J)throw q.error("Cannot auth user with apikey"),Error("Cannot authenticate user with provided API key");return W}async function a1(D,Y){let{data:X,error:Q}=await D.from("apps").select("owner_org").eq("app_id",Y).single();if(!X||Q)throw q.error(`Cannot get organization id for app id ${Y}`),m(Q),Error(`Cannot get organization id for app id ${Y}`);return X.owner_org}function g4(D){return new Date(D||"").toLocaleString()}var kT=!1,_4="npm",l3="install",w2="npx";function W8(){if(kT)return{pm:_4,command:l3,installCommand:`${_4} ${l3}`,runner:w2};let D=f1(o6());return _4=m7(D,"npm"),l3=CX(_4),kT=!0,w2=hw(D),{pm:_4,command:l3,installCommand:`${_4} ${l3}`,runner:w2}}function QS(D){return b4(D,{withFileTypes:!0}).flatMap((Q)=>{let J=Y1(D,Q.name);if(Q.isDirectory())return QS(J);else return J.split(`node_modules${yT}`)[1]||J})}function JS(D){if(!n1(D))return[];try{return b4(D,{withFileTypes:!0}).flatMap((Q)=>{let J=Y1(D,Q.name);if(Q.isDirectory())return JS(J);else return J})}catch{return[]}}function f60(D,Y){let X=[];if(Y==="ios"){try{let W=b4(D);for(let $ of W)if($.endsWith(".podspec"))X.push(Y1(D,$))}catch{}let Q=Y1(D,"Package.swift"),J=Y1(D,"ios","Package.swift");if(n1(Q))X.push(Q);if(n1(J))X.push(J)}else if(Y==="android"){let Q=Y1(D,"android"),J=Y1(Q,"build.gradle"),W=Y1(Q,"build.gradle.kts");if(n1(J))X.push(J);if(n1(W))X.push(W)}return X}async function h60(D){let Y=Y1(D,"ios"),X=Y1(D,"android"),Q=async($,G)=>{let B=n1($)?JS($).filter((z)=>uT.test(z)):[],H=f60(D,G),F=[...B,...H].sort((z,w)=>z.localeCompare(w));if(F.length===0)return;let{createHash:K}=await import("node:crypto"),U=K("sha256");for(let z of F)try{let w=vT(D,z);U.update(w);let V=C8(z);U.update(V)}catch{}return U.digest("hex")},[J,W]=await Promise.all([Q(Y,"ios"),Q(X,"android")]);return{ios_checksum:J,android_checksum:W}}async function j2(D,Y){let X=Y?Y.split(","):[],Q;try{Q=await z6("",D)}catch(F){throw q.error("Invalid package.json, JSON parsing failed"),console.error("json parse error: ",F),F instanceof Error?F:Error("Invalid package.json")}let J=D?.split(",")[0],W=!J?f1(o6()):V2.resolve(J).replace(X6,"");if(!Q)throw q.error("Missing dependencies section in package.json"),Error("Missing dependencies section in package.json");for(let[F,K]of Object.entries(Q))if(typeof K!=="string")throw q.error(`Invalid dependency ${F}: ${K}, expected string, got ${typeof K}`),Error(`Invalid dependency ${F}: expected string version`);let $=X.length===0?[Y1(o6(),"node_modules")]:X;if(!$.some((F)=>n1(F))){let F=m7(W,"npm"),K=CX(F);throw q.error(`Missing node_modules folder at ${$.join(", ")}, please run ${F} ${K}`),Error("Missing node_modules folder")}let B=!1,H=await Promise.all(Array.from(Q.entries()).map(async([F,K])=>{let U=!1,z=!1,w=K,V;for(let Z of $){let M=Y1(Z,F);if(n1(M)){U=!0,V=M;try{let E=Y1(M,X6);if(n1(E)){let j=JSON.parse(C8(E,"utf-8"));if(j.version)w=j.version}}catch{}try{if(QS(M).some((j)=>uT.test(j))){z=!0;break}}catch(E){throw q.error(`Error reading node_modules files for ${F} package in ${Z}`),console.error(E),E instanceof Error?E:Error(`Error reading node_modules files for ${F}`)}}}if(!U){B=!0;let Z=m7(W,"npm"),M=CX(Z);return q.error(`Missing dependency ${F}, please run ${Z} ${M}`),{name:F,version:K}}let L,O;if(z&&V){let Z=await h60(V);L=Z.ios_checksum,O=Z.android_checksum}return{name:F,version:w,native:z,ios_checksum:L,android_checksum:O}})).catch(()=>[]);if(B||H.find((F)=>F.native===void 0))throw q.error("Missing dependencies or invalid dependencies"),q.error("If you use monorepo, workspace or any special package manager you can use the --package-json [path,] and --node-modules [path,] options to make the command work properly"),Error("Missing dependencies or invalid dependencies");return H}async function g60(D,Y,X){let{data:Q,error:J}=await D.from("channels").select("version(checksum)").eq("name",X).eq("app_id",Y).single(),W=Q;if(J||W===null||!W.version||!W.version.checksum)return null;return W.version.checksum}function u60(D){if(!D)throw q.error("Error parsing native packages, perhaps the metadata does not exist in Capgo?"),Error("Error parsing native packages");for(let X of D){if(typeof X!=="object")throw q.error(`Invalid remote native package data: ${X}, expected object, got ${typeof X}`),Error("Invalid remote native package data");let{name:Q,version:J}=X;if(!Q||typeof Q!=="string")throw q.error(`Invalid remote native package name: ${Q}, expected string, got ${typeof Q}`),Error("Invalid remote native package name");if(!J||typeof J!=="string")throw q.error(`Invalid remote native package version: ${J}, expected string, got ${typeof J}`),Error("Invalid remote native package version")}return new Map(D.map((X)=>[X.name,X]))}async function WS(D,Y,X){let{data:Q,error:J}=await D.from("channels").select(`version (
|
|
236
236
|
native_packages
|
|
237
237
|
)`).eq("name",X).eq("app_id",Y).single();if(J)throw q.error(`Error fetching native packages: ${J.message}`),Error(`Error fetching native packages: ${J.message}`);return u60(Q.version.native_packages??[])}async function $S(D,Y,X,Q){let J=d0();J.start(`Checking bundle checksum compatibility with channel ${X}`);let W=await g60(D,Y,X);if(!W){J.stop(`No checksum found for channel ${X}, the bundle will be uploaded`);return}if(W&&W===Q)throw J.stop("Checksum check failed"),q.error(`Cannot upload the same bundle content.
|
|
238
238
|
Current bundle checksum matches remote bundle for channel ${X}
|
|
239
239
|
Did you build your app before uploading?
|
|
240
|
-
PS: You can ignore this check with "--ignore-checksum-check"`),Error("Cannot upload the same bundle content");J.stop(`Checksum compatible with ${X} channel`)}function _0(D,Y){return D||Y?.plugins?.CapacitorUpdater?.appId||Y?.appId}function W5(D){let Y=[];if(!D.localVersion)return{compatible:!0,reasons:[],message:"Package only exists on remote (will be removed)"};if(!D.remoteVersion)return Y.push("new_plugin"),{compatible:!1,reasons:Y,message:"New native plugin added (requires app store update)"};let X=!1;try{let $=vX(D.localVersion),G=vX(D.remoteVersion);X=ow($,G)}catch{X=!1}if(!X)Y.push("version_mismatch");let Q=D.localIosChecksum&&D.remoteIosChecksum&&D.localIosChecksum!==D.remoteIosChecksum,J=D.localAndroidChecksum&&D.remoteAndroidChecksum&&D.localAndroidChecksum!==D.remoteAndroidChecksum;if(Q&&J)Y.push("both_platforms_changed");else if(Q)Y.push("ios_code_changed");else if(J)Y.push("android_code_changed");if(Y.length===0)return{compatible:!0,reasons:[],message:"Compatible"};let W=[];for(let $ of Y)switch($){case"version_mismatch":W.push(`version changed: ${D.remoteVersion} → ${D.localVersion}`);break;case"ios_code_changed":W.push("iOS native code changed");break;case"android_code_changed":W.push("Android native code changed");break;case"both_platforms_changed":W.push("iOS and Android native code changed");break;case"new_plugin":W.push("new plugin (requires app store update)");break;case"removed_plugin":W.push("plugin removed");break}return{compatible:!1,reasons:Y,message:W.join(", ")}}function XD(D){return W5(D).compatible}async function AJ(D,Y,X,Q,J){let W=await j2(Q,J),$=await WS(D,Y,X),G=W.filter((H)=>!!H.native).map((H)=>{let F=$.get(H.name);if(F)return{name:H.name,localVersion:H.version,remoteVersion:F.version,localIosChecksum:H.ios_checksum,remoteIosChecksum:F.ios_checksum,localAndroidChecksum:H.android_checksum,remoteAndroidChecksum:F.android_checksum};return{name:H.name,localVersion:H.version,remoteVersion:void 0,localIosChecksum:H.ios_checksum,localAndroidChecksum:H.android_checksum}}),B=[...$].filter(([H])=>W.find((F)=>F.name===H)===void 0).map(([H,F])=>({name:H,localVersion:void 0,remoteVersion:F.version,remoteIosChecksum:F.ios_checksum,remoteAndroidChecksum:F.android_checksum}));return G.push(...B),{finalCompatibility:G,localDependencies:W}}async function T2(D,Y,X,Q){let J=await WS(D,Y,X),W=Q.map((G)=>{let B=J.get(G.name);if(B)return{name:G.name,localVersion:G.version,remoteVersion:B.version,localIosChecksum:G.ios_checksum,remoteIosChecksum:B.ios_checksum,localAndroidChecksum:G.android_checksum,remoteAndroidChecksum:B.android_checksum};return{name:G.name,localVersion:G.version,remoteVersion:void 0,localIosChecksum:G.ios_checksum,localAndroidChecksum:G.android_checksum}}),$=[...J].filter(([G])=>Q.find((B)=>B.name===G)===void 0).map(([G,B])=>({name:G,localVersion:void 0,remoteVersion:B.version,remoteIosChecksum:B.ios_checksum,remoteAndroidChecksum:B.android_checksum}));return W.push(...$),{finalCompatibility:W,localDependencies:Q}}async function EJ(D,Y,X){let Q=await j0({message:"Would you like to sync your project with Capacitor now? This is recommended to ensure encrypted updates work properly."});if(R0(Q)){if(D&&Y&&X)await U8("onboarding-v2",Y,X,"canceled","\uD83E\uDD37");throw q.error("Canceled Capacitor sync"),Error("Capacitor sync cancelled")}if(Q){let J=W8(),W=d0();W.start("Running the command...");try{await new Promise(($,G)=>{let B=E60(J.runner,["cap","sync"],{stdio:"pipe"});B.on("close",(H)=>{if(H===0)$();else G(Error(`Command failed with exit code ${H}`))}),B.on("error",(H)=>{G(H)})}),W.stop("Capacitor sync completed ✅")}catch($){W.stop("Error"),q.error(`Failed to run Capacitor sync: ${$}`),q.warn(`Please run "${J.runner} cap sync" manually to ensure encrypted updates work properly`)}}else{let J=W8();q.warn("⚠️ Important: If you upload encrypted bundles without syncing, updates will fail!"),q.info(`Remember to run "${J.runner} cap sync" before uploading encrypted bundles`)}}async function GS(D,Y){let{data:X}=await D.rpc("exist_app_v2",{appid:Y}).single();return!!X}async function g1(D,Y,X=!1){let{data:Q,error:J}=await D.rpc("reject_access_due_to_2fa_for_app",{app_id:Y});if(J){if(!X)q.error(`Cannot check 2FA compliance: ${J.message}`);throw Error(`Cannot check 2FA compliance: ${J.message}`)}if(Q){if(X)throw Error("2FA required for this organization");R2()}}async function L1(D,Y,X,Q,J=!1,W=!1){let $=W8();if(!W)await g1(D,X,J);let G=await dT(D,Y,X);if(!G.okay)switch(G.error){case"INVALID_APIKEY":{if(!J)q.error("Invalid apikey, such apikey does not exists!");throw Error("Invalid apikey, such apikey does not exists!")}case"NO_APP":{let F=`App ${X} does not exist, run first \`${$.runner} @capgo/cli app add ${X}\` to create it`;if(!J)q.error(F);throw Error(F)}case"NO_ORG":{if(!J)q.error("Could not find organization, please contact support to resolve this!");throw Error("Could not find organization, please contact support to resolve this!")}}let B=G.data;if(Q>B){let F=`Insuficcent permissions for app ${X}. Current permission: ${V8[G.data]}, required for this action: ${V8[Q]}.`;if(!J)q.error(F);throw Error(F)}return G.data}var w6="assets/icon.png";var m60=/^[a-z0-9]+(\.[\w-]+)+$/i;function c60(D,Y,X){if(!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(D.includes("--")){if(!X)q.error('The app id includes illegal symbols. You cannot use "--" in the app id');throw Error("App id includes illegal symbols")}if(!m60.test(D)){if(!X)q.error(`Invalid app ID format: "${D}"`),q.info("App ID must be in reverse domain notation (e.g., com.example.app)"),q.info("Valid format: lowercase letters, numbers, dots, hyphens, and underscores"),q.info("Examples: com.mycompany.myapp, io.capgo.app, com.example.my-app");throw Error("Invalid app ID format")}}async function l60(D,Y,X){if(!await GS(D,Y))return;if(Y==="io.ionic.starter"){if(!X)q.error(`This appId ${Y} cannot be used it's reserved, please change it in your capacitor config.`);throw Error("Reserved appId, please change it in capacitor config")}if(!X)q.error(`App ${Y} already exist`);throw Error(`App ${Y} already exists`)}async function i3(D,Y,X,Q=!1){if(!Q)F0("Adding");await f0(),Y.apikey=Y.apikey||X0();let J=await U0(),W=_0(D,J?.config);c60(W,Y,Q);let $=await V0(Y.apikey,Y.supaHost,Y.supaAnon),G=await Z0($,Y.apikey,["write","all"]);if(await l60($,W,Q),!X)X=await h4($,["admin","super_admin"]);let B=X.gid,{name:H,icon:F}=Y;if(H=H||J.config?.appName||"Unknown",F=F||"resources/icon.png",!F||!H){if(!Q)q.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project");throw Error("Missing app name or icon path")}if(!Q)q.info(`Adding ${W} to Capgo`);let K=null,U=null;if(F&&BS(F)){if(K=HS(F),U=YD(F)||"image/png",!Q)q.warn(`Found app icon ${F}`)}else if(BS(w6)){if(K=HS(w6),U=YD(w6)||"image/png",!Q)q.warn(`Found app icon ${w6}`)}else if(!Q)q.warn(`Cannot find app icon in any of the following locations: ${F}, ${w6}`);let z="icon",w="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(K&&U){let{error:L}=await $.storage.from(`images/org/${B}/${W}`).upload(z,K,{contentType:U});if(L){if(!Q)console.error(L);if(!Q)q.error(`Could not add app ${m(L)}`);throw Error(`Could not add app ${m(L)}`)}let{data:O}=await $.storage.from(`images/org/${B}/${W}`).getPublicUrl(z);w=O?.publicUrl||w}let{error:V}=await $.from("apps").insert({icon_url:w,owner_org:B,user_id:G,name:H,app_id:W});if(V){if(!Q)q.error(`Could not add app ${m(V)}`);throw Error(`Could not add app ${m(V)}`)}if(!Q)q.success(`App ${W} added to Capgo`),q.info("This app is accessible to all members of your organization based on their permissions"),q.info(`Next step: upload a bundle with "npx @capgo/cli bundle upload ${W}"`),e("Done ✅");return{appId:W,organizationUid:B,userId:G,name:H,signedURL:w}}async function FS(D,Y){await i3(D,Y,void 0)}async function S2(D,Y,X=!1,Q=!1){if(!X)F0("Deleting");Y.apikey=Y.apikey||X0();let J=await U0(),W=_0(D,J?.config);if(!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!W){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let $=await V0(Y.apikey,Y.supaHost,Y.supaAnon),G=await Z0($,Y.apikey,["write","all"]);await L1($,Y.apikey,W,5,X);let{data:B,error:H}=await $.from("apps").select("owner_org ( created_by, id )").eq("app_id",W).single(),F=B;if(!Q&&!H&&(F?.owner_org.created_by??"")!==G)if(!X){q.warn("Deleting the app is not recommended for users that are not the organization owner"),q.warn("You are invited as a super_admin but your are not the owner"),q.warn("It's strongly recommended that you do not continue!");let V=await D8({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(R0(V)||V==="no")throw q.error("Canceled deleting the app, exiting"),Error("App deletion cancelled")}else throw Error("Cannot delete app: you are not the organization owner");else if(H&&!X)q.warn(`Cannot get the app owner ${m(H)}`);let{error:K}=await $.storage.from("images").remove([`org/${F?.owner_org.id}/${W}/icon`]);if(K&&!X)q.error("Could not delete app logo");let{error:U}=await $.storage.from(`apps/${W}/${G}`).remove(["versions"]);if(U&&!X)q.error("Could not delete app version");let{error:z}=await $.from("apps").delete().eq("app_id",W);if(z){if(!X)q.error("Could not delete app");throw Error(`Could not delete app: ${m(z)}`)}let w=await a1($,W);if(await C0(Y.apikey,{channel:"app",event:"App Deleted",icon:"\uD83D\uDDD1️",user_id:w,tags:{"app-id":W},notify:!1}).catch(()=>{}),!X)q.success("App deleted in Capgo"),e("Done ✅");return!0}async function qS(D,Y){return S2(D,Y,!1,!1)}import{platform as d60,version as p60}from"node:os";import{version as n60}from"node:process";async function KS(D){let Y={},X=Object.keys(D);return(await Promise.all(X.map((J)=>fQ(J)))).forEach((J,W)=>{if(J)Y[X[W]]=J}),Y}async function i60(){let D=await z6(),Y={"@capgo/cli":f8.version};for(let[X,Q]of D)if(X.startsWith("@capgo/")||X.startsWith("@capawesome/")||X.startsWith("capacitor"))Y[X]=Q;return Y}async function P2(D,Y=!1){if(!Y)q.warn(" \uD83D\uDC8A Capgo Doctor \uD83D\uDC8A");let X=await U0(),Q=C6("",D.packageJson),J=X?.config?.plugins?.CapacitorUpdater?.version||Q,W=X?.config?.appName||"",$=_0("",X?.config),G=X?.config?.webDir||"";if(!Y)q.info(` App Name: ${W}`),q.info(` App ID: ${$}`),q.info(` App Version: ${J}`),q.info(` Web Dir: ${G}`),q.info(` OS: ${d60()} ${p60()}`),q.info(` Node: ${n60}`),q.info(" Installed Dependencies:");let B=await i60();if(Object.keys(B).length===0){if(!Y)q.warning("\x1B[31m%s\x1B[0m \uD83D\uDEA8 No dependencies found");throw Error("No dependencies found")}if(!Y)for(let F of Object.keys(B))q.info(` ${F}: ${B[F]}`);let H={};if(!Y){let F=d0();F.start("Running: Loading latest dependencies"),H=await KS(B),F.stop("Latest Dependencies:");for(let K of Object.keys(H))q.info(` ${K}: ${H[K]}`)}else H=await KS(B);if(JSON.stringify(B)!==JSON.stringify(H)){if(!Y)q.warn("\x1B[31m\uD83D\uDEA8 Some dependencies are not up to date\x1B[0m");throw Error("Some dependencies are not up to date")}if(!Y)q.success("\x1B[32m✅ All dependencies are up to date\x1B[0m");return{appName:W,appId:$,appVersion:J,webDir:G,installedDependencies:B,latestDependencies:H}}async function zS(D){return P2(D)}function r60(D){let Y=new G1;Y.headers=["Name","id","Created"],Y.rows=[];for(let X of D.toReversed())Y.rows.push([X.name??"",X.app_id,g4(X.created_at)]);q.success("Apps"),q.success(Y.toString())}async function a60(D,Y){let{data:X,error:Q}=await D.from("apps").select().order("created_at",{ascending:!1});if(Q){if(!Y)q.error("Apps not found");throw Error("Apps not found")}return X??[]}async function I2(D,Y=!1){if(!Y)F0("List apps in Capgo");await f0(),D.apikey=D.apikey||X0();let X=await V0(D.apikey,D.supaHost,D.supaAnon);if(await Z0(X,D.apikey,["write","all","read","upload"]),!Y)q.info("Getting active bundle in Capgo");let Q=await a60(X,Y);if(!Q.length){if(!Y)q.error("No apps found");throw Error("No apps found")}if(!Y)q.info(`Active app in Capgo: ${Q.length}`),r60(Q),e("Done ✅");return Q}async function US(D){return I2(D,!1)}import{randomUUID as o60}from"node:crypto";import{existsSync as wS,readFileSync as VS}from"node:fs";async function C2(D,Y,X=!1){if(!X)F0("Set app");Y.apikey=Y.apikey||X0();let Q=await U0();if(D=_0(D,Q?.config),!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await V0(Y.apikey,Y.supaHost,Y.supaAnon),$=(await h4(J,["admin","super_admin"])).gid,G=await Z0(J,Y.apikey,["write","all"]);await L1(J,Y.apikey,D,4,X);let{name:B,icon:H,retention:F,exposeMetadata:K}=Y;if(F&&Number.isNaN(Number(F))){if(!X)q.error("retention value must be a number");throw Error("Retention value must be a number")}else if(F&&F<0){if(!X)q.error("retention value cannot be less than 0");throw Error("Retention value cannot be less than 0")}else if(F&&F>=63113904){if(!X)q.error("retention value cannot be greater than 63113904 seconds (2 years)");throw Error("Retention value cannot be greater than 63113904 seconds (2 years)")}let U,z,w=`icon_${o60()}`,V="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(H&&wS(H)){if(U=VS(H),z=YD(H)||"image/png",!X)q.warn(`Found app icon ${H}`)}else if(wS(w6)){if(U=VS(w6),z=YD(w6)||"image/png",!X)q.warn(`Found app icon ${w6}`)}else if(!X)q.warn(`Cannot find app icon in any of the following locations: ${H}, ${w6}`);if(U&&z){let{error:O}=await J.storage.from(`images/org/${$}/${D}`).upload(w,U,{contentType:z});if(O){if(!X)q.error(`Could not set app ${m(O)}`);throw Error(`Could not set app: ${m(O)}`)}let{data:Z}=await J.storage.from(`images/org/${$}/${D}`).getPublicUrl(w);V=Z?.publicUrl||V}let{error:L}=await J.from("apps").update({icon_url:V,name:B,retention:!F?void 0:F*24*60*60,expose_metadata:K}).eq("app_id",D).eq("user_id",G);if(L){if(!X)q.error(`Could not set app ${m(L)}`);throw Error(`Could not set app: ${m(L)}`)}if(!X)e("Done ✅");return!0}async function LS(D,Y){return C2(D,Y)}async function x2(D,Y,X=!1){if(!X)F0("Set a specific setting in capacitor config");if(Y.bool&&Y.string){if(!X)q.error("Bool and string CANNOT be set at the same time");throw Error("Bool and string cannot both be provided")}if(!Y.bool&&!Y.string){if(!X)q.error("You MUST provide either bool or string as the value");throw Error("Either bool or string value is required")}if(Y.bool&&Y.bool!=="true"&&Y.bool!=="false"){if(!X)q.error("Invalid bool");throw Error("Invalid bool value; expected true or false")}try{let Q=await U0(),J=Q.config,W=D.split(".");if(W.length===0){if(!X)q.error("Invalid path");throw Error("Invalid config path")}for(let G of W.slice(0,-1)){if(!Object.prototype.hasOwnProperty.call(J,G))J[G]={};J=J[G]}let $=Y.bool?Y.bool==="true":Y.string;if(J[W.at(-1)]=$,await P4(Q,!0),!X)q.success(`Set "${D}" to "${$}"`)}catch(Q){if(!X)q.error(`Cannot set config in capacitor settings ${m(Q)}`);throw Error(`Cannot set capacitor config: ${m(Q)}`)}if(!X)e("Done ✅")}async function MS(D,Y){return x2(D,Y)}import{existsSync as V6}from"node:fs";import{resolve as L6}from"node:path";import{exit as S1}from"node:process";import{mkdir as s60,readFile as OS,writeFile as t60}from"node:fs/promises";import{homedir as e60}from"node:os";import{join as jJ}from"node:path";import{cwd as NS,env as X1}from"node:process";var ZS=jJ(e60(),".capgo-credentials"),AS=jJ(ZS,"credentials.json"),ES=".capgo-credentials.json";function RS(D){return D?jJ(NS(),ES):AS}function D90(D){return D?null:ZS}async function u4(D){return(await OS(D)).toString("base64")}async function m4(D){try{let Y=RS(D),X=await OS(Y,"utf-8");return JSON.parse(X)}catch{return{}}}async function r3(D,Y){if(Y!==void 0){let J=await m4(Y);if(!D){let W=Object.keys(J);if(W.length===0)return null;return J[W[0]]||null}return J[D]||null}let X=await m4(!0),Q=await m4(!1);if(!D){let J=Object.keys(X);if(J.length>0)return X[J[0]]||null;let W=Object.keys(Q);if(W.length===0)return null;return Q[W[0]]||null}return X[D]||Q[D]||null}async function RJ(D,Y){let X=RS(Y),Q=D90(Y);if(Q)await s60(Q,{recursive:!0});await t60(X,JSON.stringify(D,null,2),"utf-8")}function Y90(){let D={};if(X1.BUILD_CERTIFICATE_BASE64)D.BUILD_CERTIFICATE_BASE64=X1.BUILD_CERTIFICATE_BASE64;if(X1.BUILD_PROVISION_PROFILE_BASE64)D.BUILD_PROVISION_PROFILE_BASE64=X1.BUILD_PROVISION_PROFILE_BASE64;if(X1.BUILD_PROVISION_PROFILE_BASE64_PROD)D.BUILD_PROVISION_PROFILE_BASE64_PROD=X1.BUILD_PROVISION_PROFILE_BASE64_PROD;if(X1.P12_PASSWORD)D.P12_PASSWORD=X1.P12_PASSWORD;if(X1.APPLE_KEY_ID)D.APPLE_KEY_ID=X1.APPLE_KEY_ID;if(X1.APPLE_ISSUER_ID)D.APPLE_ISSUER_ID=X1.APPLE_ISSUER_ID;if(X1.APPLE_KEY_CONTENT)D.APPLE_KEY_CONTENT=X1.APPLE_KEY_CONTENT;if(X1.APPLE_PROFILE_NAME)D.APPLE_PROFILE_NAME=X1.APPLE_PROFILE_NAME;if(X1.APP_STORE_CONNECT_TEAM_ID)D.APP_STORE_CONNECT_TEAM_ID=X1.APP_STORE_CONNECT_TEAM_ID;if(X1.ANDROID_KEYSTORE_FILE)D.ANDROID_KEYSTORE_FILE=X1.ANDROID_KEYSTORE_FILE;if(X1.KEYSTORE_KEY_ALIAS)D.KEYSTORE_KEY_ALIAS=X1.KEYSTORE_KEY_ALIAS;if(X1.KEYSTORE_KEY_PASSWORD)D.KEYSTORE_KEY_PASSWORD=X1.KEYSTORE_KEY_PASSWORD;if(X1.KEYSTORE_STORE_PASSWORD)D.KEYSTORE_STORE_PASSWORD=X1.KEYSTORE_STORE_PASSWORD;if(X1.PLAY_CONFIG_JSON)D.PLAY_CONFIG_JSON=X1.PLAY_CONFIG_JSON;return D}async function jS(D,Y,X){let Q=await r3(D),J=Y90(),W={...Q?.[Y]||{}};if(Object.assign(W,J),X)Object.assign(W,X);if(Y==="android"){let $=!!W.KEYSTORE_KEY_PASSWORD,G=!!W.KEYSTORE_STORE_PASSWORD;if($&&!G)W.KEYSTORE_STORE_PASSWORD=W.KEYSTORE_KEY_PASSWORD;else if(!$&&G)W.KEYSTORE_KEY_PASSWORD=W.KEYSTORE_STORE_PASSWORD}return Object.keys(W).length>0?W:void 0}async function _2(D,Y,X={}){let Q={...X};if(D==="ios"){if(Y.BUILD_CERTIFICATE_FILE)Q.BUILD_CERTIFICATE_BASE64=await u4(Y.BUILD_CERTIFICATE_FILE);if(Y.BUILD_PROVISION_PROFILE_FILE)Q.BUILD_PROVISION_PROFILE_BASE64=await u4(Y.BUILD_PROVISION_PROFILE_FILE);if(Y.BUILD_PROVISION_PROFILE_FILE_PROD)Q.BUILD_PROVISION_PROFILE_BASE64_PROD=await u4(Y.BUILD_PROVISION_PROFILE_FILE_PROD);if(Y.APPLE_KEY_FILE)Q.APPLE_KEY_CONTENT=await u4(Y.APPLE_KEY_FILE)}else if(D==="android"){if(Y.ANDROID_KEYSTORE_PATH)Q.ANDROID_KEYSTORE_FILE=await u4(Y.ANDROID_KEYSTORE_PATH);if(Y.PLAY_CONFIG_JSON_PATH)Q.PLAY_CONFIG_JSON=await u4(Y.PLAY_CONFIG_JSON_PATH)}return Q}async function b2(D,Y,X,Q){let J=await m4(Q),W=J[D]||{};W[Y]={...W[Y],...X},J[D]=W,await RJ(J,Q)}async function TJ(D,Y,X){let Q=await m4(X);if(!D){await RJ({},X);return}if(!Y){delete Q[D],await RJ(Q,X);return}let J=Q[D]||{};if(delete J[Y],Object.keys(J).length===0)delete Q[D];else Q[D]=J;await RJ(Q,X)}async function k2(D,Y,X){return(await r3(D,X))?.[Y]||null}async function SJ(D){let Y=await m4(D);return Object.keys(Y)}function a3(){return jJ(NS(),ES)}function o3(){return AS}async function TS(D){try{if(!D.platform)q.error("Platform is required. Use --platform ios or --platform android"),S1(1);let Y=await U0(),X=_0(D.appId,Y?.config);if(!X)q.error("❌ App ID is required."),q.error(""),q.error("Either:"),q.error(" 1. Run this command from a Capacitor project directory, OR"),q.error(" 2. Provide --appId explicitly: --appId com.example.app"),q.error(""),S1(1);let Q=D.platform;q.info(`
|
|
240
|
+
PS: You can ignore this check with "--ignore-checksum-check"`),Error("Cannot upload the same bundle content");J.stop(`Checksum compatible with ${X} channel`)}function _0(D,Y){return D||Y?.plugins?.CapacitorUpdater?.appId||Y?.appId}function W5(D){let Y=[];if(!D.localVersion)return{compatible:!0,reasons:[],message:"Package only exists on remote (will be removed)"};if(!D.remoteVersion)return Y.push("new_plugin"),{compatible:!1,reasons:Y,message:"New native plugin added (requires app store update)"};let X=!1;try{let $=vX(D.localVersion),G=vX(D.remoteVersion);X=ow($,G)}catch{X=!1}if(!X)Y.push("version_mismatch");let Q=D.localIosChecksum&&D.remoteIosChecksum&&D.localIosChecksum!==D.remoteIosChecksum,J=D.localAndroidChecksum&&D.remoteAndroidChecksum&&D.localAndroidChecksum!==D.remoteAndroidChecksum;if(Q&&J)Y.push("both_platforms_changed");else if(Q)Y.push("ios_code_changed");else if(J)Y.push("android_code_changed");if(Y.length===0)return{compatible:!0,reasons:[],message:"Compatible"};let W=[];for(let $ of Y)switch($){case"version_mismatch":W.push(`version changed: ${D.remoteVersion} → ${D.localVersion}`);break;case"ios_code_changed":W.push("iOS native code changed");break;case"android_code_changed":W.push("Android native code changed");break;case"both_platforms_changed":W.push("iOS and Android native code changed");break;case"new_plugin":W.push("new plugin (requires app store update)");break;case"removed_plugin":W.push("plugin removed");break}return{compatible:!1,reasons:Y,message:W.join(", ")}}function XD(D){return W5(D).compatible}async function AJ(D,Y,X,Q,J){let W=await j2(Q,J),$=await WS(D,Y,X),G=W.filter((H)=>!!H.native).map((H)=>{let F=$.get(H.name);if(F)return{name:H.name,localVersion:H.version,remoteVersion:F.version,localIosChecksum:H.ios_checksum,remoteIosChecksum:F.ios_checksum,localAndroidChecksum:H.android_checksum,remoteAndroidChecksum:F.android_checksum};return{name:H.name,localVersion:H.version,remoteVersion:void 0,localIosChecksum:H.ios_checksum,localAndroidChecksum:H.android_checksum}}),B=[...$].filter(([H])=>W.find((F)=>F.name===H)===void 0).map(([H,F])=>({name:H,localVersion:void 0,remoteVersion:F.version,remoteIosChecksum:F.ios_checksum,remoteAndroidChecksum:F.android_checksum}));return G.push(...B),{finalCompatibility:G,localDependencies:W}}async function T2(D,Y,X,Q){let J=await WS(D,Y,X),W=Q.map((G)=>{let B=J.get(G.name);if(B)return{name:G.name,localVersion:G.version,remoteVersion:B.version,localIosChecksum:G.ios_checksum,remoteIosChecksum:B.ios_checksum,localAndroidChecksum:G.android_checksum,remoteAndroidChecksum:B.android_checksum};return{name:G.name,localVersion:G.version,remoteVersion:void 0,localIosChecksum:G.ios_checksum,localAndroidChecksum:G.android_checksum}}),$=[...J].filter(([G])=>Q.find((B)=>B.name===G)===void 0).map(([G,B])=>({name:G,localVersion:void 0,remoteVersion:B.version,remoteIosChecksum:B.ios_checksum,remoteAndroidChecksum:B.android_checksum}));return W.push(...$),{finalCompatibility:W,localDependencies:Q}}async function EJ(D,Y,X){let Q=await j0({message:"Would you like to sync your project with Capacitor now? This is recommended to ensure encrypted updates work properly."});if(R0(Q)){if(D&&Y&&X)await U8("onboarding-v2",Y,X,"canceled","\uD83E\uDD37");throw q.error("Canceled Capacitor sync"),Error("Capacitor sync cancelled")}if(Q){let J=W8(),W=d0();W.start("Running the command...");try{await new Promise(($,G)=>{let B=E60(J.runner,["cap","sync"],{stdio:"pipe"});B.on("close",(H)=>{if(H===0)$();else G(Error(`Command failed with exit code ${H}`))}),B.on("error",(H)=>{G(H)})}),W.stop("Capacitor sync completed ✅")}catch($){W.stop("Error"),q.error(`Failed to run Capacitor sync: ${$}`),q.warn(`Please run "${J.runner} cap sync" manually to ensure encrypted updates work properly`)}}else{let J=W8();q.warn("⚠️ Important: If you upload encrypted bundles without syncing, updates will fail!"),q.info(`Remember to run "${J.runner} cap sync" before uploading encrypted bundles`)}}async function GS(D,Y){let{data:X}=await D.rpc("exist_app_v2",{appid:Y}).single();return!!X}async function h1(D,Y,X=!1){let{data:Q,error:J}=await D.rpc("reject_access_due_to_2fa_for_app",{app_id:Y});if(J){if(!X)q.error(`Cannot check 2FA compliance: ${J.message}`);throw Error(`Cannot check 2FA compliance: ${J.message}`)}if(Q){if(X)throw Error("2FA required for this organization");R2()}}async function L1(D,Y,X,Q,J=!1,W=!1){let $=W8();if(!W)await h1(D,X,J);let G=await dT(D,Y,X);if(!G.okay)switch(G.error){case"INVALID_APIKEY":{if(!J)q.error("Invalid apikey, such apikey does not exists!");throw Error("Invalid apikey, such apikey does not exists!")}case"NO_APP":{let F=`App ${X} does not exist, run first \`${$.runner} @capgo/cli app add ${X}\` to create it`;if(!J)q.error(F);throw Error(F)}case"NO_ORG":{if(!J)q.error("Could not find organization, please contact support to resolve this!");throw Error("Could not find organization, please contact support to resolve this!")}}let B=G.data;if(Q>B){let F=`Insuficcent permissions for app ${X}. Current permission: ${V8[G.data]}, required for this action: ${V8[Q]}.`;if(!J)q.error(F);throw Error(F)}return G.data}var w6="assets/icon.png";var m60=/^[a-z0-9]+(\.[\w-]+)+$/i;function c60(D,Y,X){if(!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(D.includes("--")){if(!X)q.error('The app id includes illegal symbols. You cannot use "--" in the app id');throw Error("App id includes illegal symbols")}if(!m60.test(D)){if(!X)q.error(`Invalid app ID format: "${D}"`),q.info("App ID must be in reverse domain notation (e.g., com.example.app)"),q.info("Valid format: lowercase letters, numbers, dots, hyphens, and underscores"),q.info("Examples: com.mycompany.myapp, io.capgo.app, com.example.my-app");throw Error("Invalid app ID format")}}async function l60(D,Y,X){if(!await GS(D,Y))return;if(Y==="io.ionic.starter"){if(!X)q.error(`This appId ${Y} cannot be used it's reserved, please change it in your capacitor config.`);throw Error("Reserved appId, please change it in capacitor config")}if(!X)q.error(`App ${Y} already exist`);throw Error(`App ${Y} already exists`)}async function i3(D,Y,X,Q=!1){if(!Q)F0("Adding");await f0(),Y.apikey=Y.apikey||X0();let J=await U0(),W=_0(D,J?.config);c60(W,Y,Q);let $=await V0(Y.apikey,Y.supaHost,Y.supaAnon),G=await Z0($,Y.apikey,["write","all"]);if(await l60($,W,Q),!X)X=await h4($,["admin","super_admin"]);let B=X.gid,{name:H,icon:F}=Y;if(H=H||J.config?.appName||"Unknown",F=F||"resources/icon.png",!F||!H){if(!Q)q.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project");throw Error("Missing app name or icon path")}if(!Q)q.info(`Adding ${W} to Capgo`);let K=null,U=null;if(F&&BS(F)){if(K=HS(F),U=YD(F)||"image/png",!Q)q.warn(`Found app icon ${F}`)}else if(BS(w6)){if(K=HS(w6),U=YD(w6)||"image/png",!Q)q.warn(`Found app icon ${w6}`)}else if(!Q)q.warn(`Cannot find app icon in any of the following locations: ${F}, ${w6}`);let z="icon",w="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(K&&U){let{error:L}=await $.storage.from(`images/org/${B}/${W}`).upload(z,K,{contentType:U});if(L){if(!Q)console.error(L);if(!Q)q.error(`Could not add app ${m(L)}`);throw Error(`Could not add app ${m(L)}`)}let{data:O}=await $.storage.from(`images/org/${B}/${W}`).getPublicUrl(z);w=O?.publicUrl||w}let{error:V}=await $.from("apps").insert({icon_url:w,owner_org:B,user_id:G,name:H,app_id:W});if(V){if(!Q)q.error(`Could not add app ${m(V)}`);throw Error(`Could not add app ${m(V)}`)}if(!Q)q.success(`App ${W} added to Capgo`),q.info("This app is accessible to all members of your organization based on their permissions"),q.info(`Next step: upload a bundle with "npx @capgo/cli bundle upload ${W}"`),e("Done ✅");return{appId:W,organizationUid:B,userId:G,name:H,signedURL:w}}async function FS(D,Y){await i3(D,Y,void 0)}async function S2(D,Y,X=!1,Q=!1){if(!X)F0("Deleting");Y.apikey=Y.apikey||X0();let J=await U0(),W=_0(D,J?.config);if(!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!W){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let $=await V0(Y.apikey,Y.supaHost,Y.supaAnon),G=await Z0($,Y.apikey,["write","all"]);await L1($,Y.apikey,W,5,X);let{data:B,error:H}=await $.from("apps").select("owner_org ( created_by, id )").eq("app_id",W).single(),F=B;if(!Q&&!H&&(F?.owner_org.created_by??"")!==G)if(!X){q.warn("Deleting the app is not recommended for users that are not the organization owner"),q.warn("You are invited as a super_admin but your are not the owner"),q.warn("It's strongly recommended that you do not continue!");let V=await D8({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(R0(V)||V==="no")throw q.error("Canceled deleting the app, exiting"),Error("App deletion cancelled")}else throw Error("Cannot delete app: you are not the organization owner");else if(H&&!X)q.warn(`Cannot get the app owner ${m(H)}`);let{error:K}=await $.storage.from("images").remove([`org/${F?.owner_org.id}/${W}/icon`]);if(K&&!X)q.error("Could not delete app logo");let{error:U}=await $.storage.from(`apps/${W}/${G}`).remove(["versions"]);if(U&&!X)q.error("Could not delete app version");let{error:z}=await $.from("apps").delete().eq("app_id",W);if(z){if(!X)q.error("Could not delete app");throw Error(`Could not delete app: ${m(z)}`)}let w=await a1($,W);if(await C0(Y.apikey,{channel:"app",event:"App Deleted",icon:"\uD83D\uDDD1️",user_id:w,tags:{"app-id":W},notify:!1}).catch(()=>{}),!X)q.success("App deleted in Capgo"),e("Done ✅");return!0}async function qS(D,Y){return S2(D,Y,!1,!1)}import{platform as d60,version as p60}from"node:os";import{version as n60}from"node:process";async function KS(D){let Y={},X=Object.keys(D);return(await Promise.all(X.map((J)=>fQ(J)))).forEach((J,W)=>{if(J)Y[X[W]]=J}),Y}async function i60(){let D=await z6(),Y={"@capgo/cli":f8.version};for(let[X,Q]of D)if(X.startsWith("@capgo/")||X.startsWith("@capawesome/")||X.startsWith("capacitor"))Y[X]=Q;return Y}async function P2(D,Y=!1){if(!Y)q.warn(" \uD83D\uDC8A Capgo Doctor \uD83D\uDC8A");let X=await U0(),Q=C6("",D.packageJson),J=X?.config?.plugins?.CapacitorUpdater?.version||Q,W=X?.config?.appName||"",$=_0("",X?.config),G=X?.config?.webDir||"";if(!Y)q.info(` App Name: ${W}`),q.info(` App ID: ${$}`),q.info(` App Version: ${J}`),q.info(` Web Dir: ${G}`),q.info(` OS: ${d60()} ${p60()}`),q.info(` Node: ${n60}`),q.info(" Installed Dependencies:");let B=await i60();if(Object.keys(B).length===0){if(!Y)q.warning("\x1B[31m%s\x1B[0m \uD83D\uDEA8 No dependencies found");throw Error("No dependencies found")}if(!Y)for(let F of Object.keys(B))q.info(` ${F}: ${B[F]}`);let H={};if(!Y){let F=d0();F.start("Running: Loading latest dependencies"),H=await KS(B),F.stop("Latest Dependencies:");for(let K of Object.keys(H))q.info(` ${K}: ${H[K]}`)}else H=await KS(B);if(JSON.stringify(B)!==JSON.stringify(H)){if(!Y)q.warn("\x1B[31m\uD83D\uDEA8 Some dependencies are not up to date\x1B[0m");throw Error("Some dependencies are not up to date")}if(!Y)q.success("\x1B[32m✅ All dependencies are up to date\x1B[0m");return{appName:W,appId:$,appVersion:J,webDir:G,installedDependencies:B,latestDependencies:H}}async function zS(D){return P2(D)}function r60(D){let Y=new G1;Y.headers=["Name","id","Created"],Y.rows=[];for(let X of D.toReversed())Y.rows.push([X.name??"",X.app_id,g4(X.created_at)]);q.success("Apps"),q.success(Y.toString())}async function a60(D,Y){let{data:X,error:Q}=await D.from("apps").select().order("created_at",{ascending:!1});if(Q){if(!Y)q.error("Apps not found");throw Error("Apps not found")}return X??[]}async function I2(D,Y=!1){if(!Y)F0("List apps in Capgo");await f0(),D.apikey=D.apikey||X0();let X=await V0(D.apikey,D.supaHost,D.supaAnon);if(await Z0(X,D.apikey,["write","all","read","upload"]),!Y)q.info("Getting active bundle in Capgo");let Q=await a60(X,Y);if(!Q.length){if(!Y)q.error("No apps found");throw Error("No apps found")}if(!Y)q.info(`Active app in Capgo: ${Q.length}`),r60(Q),e("Done ✅");return Q}async function US(D){return I2(D,!1)}import{randomUUID as o60}from"node:crypto";import{existsSync as wS,readFileSync as VS}from"node:fs";async function C2(D,Y,X=!1){if(!X)F0("Set app");Y.apikey=Y.apikey||X0();let Q=await U0();if(D=_0(D,Q?.config),!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await V0(Y.apikey,Y.supaHost,Y.supaAnon),$=(await h4(J,["admin","super_admin"])).gid,G=await Z0(J,Y.apikey,["write","all"]);await L1(J,Y.apikey,D,4,X);let{name:B,icon:H,retention:F,exposeMetadata:K}=Y;if(F&&Number.isNaN(Number(F))){if(!X)q.error("retention value must be a number");throw Error("Retention value must be a number")}else if(F&&F<0){if(!X)q.error("retention value cannot be less than 0");throw Error("Retention value cannot be less than 0")}else if(F&&F>=63113904){if(!X)q.error("retention value cannot be greater than 63113904 seconds (2 years)");throw Error("Retention value cannot be greater than 63113904 seconds (2 years)")}let U,z,w=`icon_${o60()}`,V="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(H&&wS(H)){if(U=VS(H),z=YD(H)||"image/png",!X)q.warn(`Found app icon ${H}`)}else if(wS(w6)){if(U=VS(w6),z=YD(w6)||"image/png",!X)q.warn(`Found app icon ${w6}`)}else if(!X)q.warn(`Cannot find app icon in any of the following locations: ${H}, ${w6}`);if(U&&z){let{error:O}=await J.storage.from(`images/org/${$}/${D}`).upload(w,U,{contentType:z});if(O){if(!X)q.error(`Could not set app ${m(O)}`);throw Error(`Could not set app: ${m(O)}`)}let{data:Z}=await J.storage.from(`images/org/${$}/${D}`).getPublicUrl(w);V=Z?.publicUrl||V}let{error:L}=await J.from("apps").update({icon_url:V,name:B,retention:!F?void 0:F*24*60*60,expose_metadata:K}).eq("app_id",D).eq("user_id",G);if(L){if(!X)q.error(`Could not set app ${m(L)}`);throw Error(`Could not set app: ${m(L)}`)}if(!X)e("Done ✅");return!0}async function LS(D,Y){return C2(D,Y)}async function x2(D,Y,X=!1){if(!X)F0("Set a specific setting in capacitor config");if(Y.bool&&Y.string){if(!X)q.error("Bool and string CANNOT be set at the same time");throw Error("Bool and string cannot both be provided")}if(!Y.bool&&!Y.string){if(!X)q.error("You MUST provide either bool or string as the value");throw Error("Either bool or string value is required")}if(Y.bool&&Y.bool!=="true"&&Y.bool!=="false"){if(!X)q.error("Invalid bool");throw Error("Invalid bool value; expected true or false")}try{let Q=await U0(),J=Q.config,W=D.split(".");if(W.length===0){if(!X)q.error("Invalid path");throw Error("Invalid config path")}for(let G of W.slice(0,-1)){if(!Object.prototype.hasOwnProperty.call(J,G))J[G]={};J=J[G]}let $=Y.bool?Y.bool==="true":Y.string;if(J[W.at(-1)]=$,await P4(Q,!0),!X)q.success(`Set "${D}" to "${$}"`)}catch(Q){if(!X)q.error(`Cannot set config in capacitor settings ${m(Q)}`);throw Error(`Cannot set capacitor config: ${m(Q)}`)}if(!X)e("Done ✅")}async function MS(D,Y){return x2(D,Y)}import{existsSync as V6}from"node:fs";import{resolve as L6}from"node:path";import{exit as S1}from"node:process";import{mkdir as s60,readFile as OS,writeFile as t60}from"node:fs/promises";import{homedir as e60}from"node:os";import{join as jJ}from"node:path";import{cwd as NS,env as X1}from"node:process";var ZS=jJ(e60(),".capgo-credentials"),AS=jJ(ZS,"credentials.json"),ES=".capgo-credentials.json";function RS(D){return D?jJ(NS(),ES):AS}function D90(D){return D?null:ZS}async function u4(D){return(await OS(D)).toString("base64")}async function m4(D){try{let Y=RS(D),X=await OS(Y,"utf-8");return JSON.parse(X)}catch{return{}}}async function r3(D,Y){if(Y!==void 0){let J=await m4(Y);if(!D){let W=Object.keys(J);if(W.length===0)return null;return J[W[0]]||null}return J[D]||null}let X=await m4(!0),Q=await m4(!1);if(!D){let J=Object.keys(X);if(J.length>0)return X[J[0]]||null;let W=Object.keys(Q);if(W.length===0)return null;return Q[W[0]]||null}return X[D]||Q[D]||null}async function RJ(D,Y){let X=RS(Y),Q=D90(Y);if(Q)await s60(Q,{recursive:!0});await t60(X,JSON.stringify(D,null,2),"utf-8")}function Y90(){let D={};if(X1.BUILD_CERTIFICATE_BASE64)D.BUILD_CERTIFICATE_BASE64=X1.BUILD_CERTIFICATE_BASE64;if(X1.BUILD_PROVISION_PROFILE_BASE64)D.BUILD_PROVISION_PROFILE_BASE64=X1.BUILD_PROVISION_PROFILE_BASE64;if(X1.BUILD_PROVISION_PROFILE_BASE64_PROD)D.BUILD_PROVISION_PROFILE_BASE64_PROD=X1.BUILD_PROVISION_PROFILE_BASE64_PROD;if(X1.P12_PASSWORD)D.P12_PASSWORD=X1.P12_PASSWORD;if(X1.APPLE_KEY_ID)D.APPLE_KEY_ID=X1.APPLE_KEY_ID;if(X1.APPLE_ISSUER_ID)D.APPLE_ISSUER_ID=X1.APPLE_ISSUER_ID;if(X1.APPLE_KEY_CONTENT)D.APPLE_KEY_CONTENT=X1.APPLE_KEY_CONTENT;if(X1.APPLE_PROFILE_NAME)D.APPLE_PROFILE_NAME=X1.APPLE_PROFILE_NAME;if(X1.APP_STORE_CONNECT_TEAM_ID)D.APP_STORE_CONNECT_TEAM_ID=X1.APP_STORE_CONNECT_TEAM_ID;if(X1.ANDROID_KEYSTORE_FILE)D.ANDROID_KEYSTORE_FILE=X1.ANDROID_KEYSTORE_FILE;if(X1.KEYSTORE_KEY_ALIAS)D.KEYSTORE_KEY_ALIAS=X1.KEYSTORE_KEY_ALIAS;if(X1.KEYSTORE_KEY_PASSWORD)D.KEYSTORE_KEY_PASSWORD=X1.KEYSTORE_KEY_PASSWORD;if(X1.KEYSTORE_STORE_PASSWORD)D.KEYSTORE_STORE_PASSWORD=X1.KEYSTORE_STORE_PASSWORD;if(X1.PLAY_CONFIG_JSON)D.PLAY_CONFIG_JSON=X1.PLAY_CONFIG_JSON;return D}async function jS(D,Y,X){let Q=await r3(D),J=Y90(),W={...Q?.[Y]||{}};if(Object.assign(W,J),X)Object.assign(W,X);if(Y==="android"){let $=!!W.KEYSTORE_KEY_PASSWORD,G=!!W.KEYSTORE_STORE_PASSWORD;if($&&!G)W.KEYSTORE_STORE_PASSWORD=W.KEYSTORE_KEY_PASSWORD;else if(!$&&G)W.KEYSTORE_KEY_PASSWORD=W.KEYSTORE_STORE_PASSWORD}return Object.keys(W).length>0?W:void 0}async function _2(D,Y,X={}){let Q={...X};if(D==="ios"){if(Y.BUILD_CERTIFICATE_FILE)Q.BUILD_CERTIFICATE_BASE64=await u4(Y.BUILD_CERTIFICATE_FILE);if(Y.BUILD_PROVISION_PROFILE_FILE)Q.BUILD_PROVISION_PROFILE_BASE64=await u4(Y.BUILD_PROVISION_PROFILE_FILE);if(Y.BUILD_PROVISION_PROFILE_FILE_PROD)Q.BUILD_PROVISION_PROFILE_BASE64_PROD=await u4(Y.BUILD_PROVISION_PROFILE_FILE_PROD);if(Y.APPLE_KEY_FILE)Q.APPLE_KEY_CONTENT=await u4(Y.APPLE_KEY_FILE)}else if(D==="android"){if(Y.ANDROID_KEYSTORE_PATH)Q.ANDROID_KEYSTORE_FILE=await u4(Y.ANDROID_KEYSTORE_PATH);if(Y.PLAY_CONFIG_JSON_PATH)Q.PLAY_CONFIG_JSON=await u4(Y.PLAY_CONFIG_JSON_PATH)}return Q}async function b2(D,Y,X,Q){let J=await m4(Q),W=J[D]||{};W[Y]={...W[Y],...X},J[D]=W,await RJ(J,Q)}async function TJ(D,Y,X){let Q=await m4(X);if(!D){await RJ({},X);return}if(!Y){delete Q[D],await RJ(Q,X);return}let J=Q[D]||{};if(delete J[Y],Object.keys(J).length===0)delete Q[D];else Q[D]=J;await RJ(Q,X)}async function k2(D,Y,X){return(await r3(D,X))?.[Y]||null}async function SJ(D){let Y=await m4(D);return Object.keys(Y)}function a3(){return jJ(NS(),ES)}function o3(){return AS}async function TS(D){try{if(!D.platform)q.error("Platform is required. Use --platform ios or --platform android"),S1(1);let Y=await U0(),X=_0(D.appId,Y?.config);if(!X)q.error("❌ App ID is required."),q.error(""),q.error("Either:"),q.error(" 1. Run this command from a Capacitor project directory, OR"),q.error(" 2. Provide --appId explicitly: --appId com.example.app"),q.error(""),S1(1);let Q=D.platform;q.info(`
|
|
241
241
|
\uD83D\uDD12 SECURITY NOTICE:`),q.info(" - Credentials saved to ~/.capgo-credentials/credentials.json (local only)"),q.info(" - When building, credentials are sent to Capgo servers"),q.info(" - Credentials are NEVER stored on Capgo servers"),q.info(" - Auto-deleted after build"),q.info(` - Builds sent directly to app stores - Capgo keeps nothing
|
|
242
242
|
`);let J={},W={};if(Q==="ios"){if(D.certificate){let H=L6(D.certificate);if(!V6(H))q.error(`Certificate file not found: ${H}`),S1(1);W.BUILD_CERTIFICATE_FILE=H,q.info(`✓ Certificate file: ${H}`)}if(D.provisioningProfile){let H=L6(D.provisioningProfile);if(!V6(H))q.error(`Provisioning profile not found: ${H}`),S1(1);W.BUILD_PROVISION_PROFILE_FILE=H,q.info(`✓ Provisioning profile: ${H}`)}if(D.provisioningProfileProd){let H=L6(D.provisioningProfileProd);if(!V6(H))q.error(`Production provisioning profile not found: ${H}`),S1(1);W.BUILD_PROVISION_PROFILE_FILE_PROD=H,q.info(`✓ Production provisioning profile: ${H}`)}if(D.appleKey){let H=L6(D.appleKey);if(!V6(H))q.error(`Apple key file not found: ${H}`),S1(1);W.APPLE_KEY_FILE=H,q.info(`✓ Apple key file: ${H}`)}if(D.p12Password)J.P12_PASSWORD=D.p12Password;else if(W.BUILD_CERTIFICATE_FILE)q.warn("⚠️ No P12 password provided - assuming certificate has no password"),q.warn(' If your certificate requires a password, add --p12-password "your-password"');if(D.appleKeyId)J.APPLE_KEY_ID=D.appleKeyId;if(D.appleIssuerId)J.APPLE_ISSUER_ID=D.appleIssuerId;if(D.appleProfileName)J.APPLE_PROFILE_NAME=D.appleProfileName;if(D.appleTeamId)J.APP_STORE_CONNECT_TEAM_ID=D.appleTeamId}else if(Q==="android"){if(D.keystore){let K=L6(D.keystore);if(!V6(K))q.error(`Keystore file not found: ${K}`),S1(1);W.ANDROID_KEYSTORE_PATH=K,q.info(`✓ Keystore file: ${K}`)}if(D.playConfig){let K=L6(D.playConfig);if(!V6(K))q.error(`Play config file not found: ${K}`),S1(1);W.PLAY_CONFIG_JSON_PATH=K,q.info(`✓ Play Store config: ${K}`)}if(D.keystoreAlias)J.KEYSTORE_KEY_ALIAS=D.keystoreAlias;let H=!!D.keystoreKeyPassword,F=!!D.keystoreStorePassword;if(H&&!F)J.KEYSTORE_KEY_PASSWORD=D.keystoreKeyPassword,J.KEYSTORE_STORE_PASSWORD=D.keystoreKeyPassword;else if(!H&&F)J.KEYSTORE_KEY_PASSWORD=D.keystoreStorePassword,J.KEYSTORE_STORE_PASSWORD=D.keystoreStorePassword;else if(H&&F)J.KEYSTORE_KEY_PASSWORD=D.keystoreKeyPassword,J.KEYSTORE_STORE_PASSWORD=D.keystoreStorePassword}let $=await _2(Q,W,J),G=[];if(Q==="ios"){if(!$.BUILD_CERTIFICATE_BASE64)G.push("--certificate <path> (P12 certificate file)");if(!$.BUILD_PROVISION_PROFILE_BASE64)G.push("--provisioning-profile <path> (Provisioning profile file)");if(!$.APPLE_KEY_ID)G.push("--apple-key-id <id> (App Store Connect API Key ID)");if(!$.APPLE_ISSUER_ID)G.push("--apple-issuer-id <id> (App Store Connect Issuer ID)");if(!$.APPLE_KEY_CONTENT)G.push("--apple-key <path> (App Store Connect API Key file)");if(!$.APP_STORE_CONNECT_TEAM_ID)G.push("--apple-team-id <id> (App Store Connect Team ID)");if(!$.APPLE_PROFILE_NAME)G.push("--apple-profile-name <name> (Provisioning profile name)")}else if(Q==="android"){if(!$.ANDROID_KEYSTORE_FILE)G.push("--keystore <path> (Keystore file)");if(!$.KEYSTORE_KEY_ALIAS)G.push("--keystore-alias <alias> (Keystore alias)");if(!$.KEYSTORE_KEY_PASSWORD&&!$.KEYSTORE_STORE_PASSWORD)G.push("--keystore-key-password <password> OR --keystore-store-password <password> (At least one password required, will be used for both)");if(!$.PLAY_CONFIG_JSON)G.push("--play-config <path> (Google Play service account JSON - required for uploading to Play Store)")}if(G.length>0){q.error(`❌ Missing required credentials for ${Q.toUpperCase()}:`),q.error("");for(let H of G)q.error(` • ${H}`);if(q.error(""),q.error("Example:"),Q==="ios")q.error(" npx @capgo/cli build credentials save --platform ios \\"),q.error(" --certificate ./cert.p12 \\"),q.error(' --p12-password "your-password" \\ # Optional if cert has no password'),q.error(" --provisioning-profile ./profile.mobileprovision \\"),q.error(" --apple-key ./AuthKey_XXXXXXXXXX.p8 \\"),q.error(' --apple-key-id "XXXXXXXXXX" \\'),q.error(' --apple-issuer-id "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" \\'),q.error(' --apple-team-id "XXXXXXXXXX" \\'),q.error(' --apple-profile-name "match AppStore com.example.app"');else q.error(" npx @capgo/cli build credentials save --platform android \\"),q.error(" --keystore ./release.keystore \\"),q.error(' --keystore-alias "my-key-alias" \\'),q.error(' --keystore-key-password "password" \\'),q.error(" --play-config ./play-store-service-account.json"),q.error(""),q.error(" Note: If both key and store passwords are the same, you only need to provide one."),q.error(" If they differ, provide both --keystore-key-password and --keystore-store-password."),q.error(" The --play-config is required for uploading to Google Play Store.");q.error(""),S1(1)}await b2(X,Q,$,D.local);try{let H=X0(!0);if(H){let F=await V0(H),K=await a1(F,X);await C0(H,{channel:"credentials",event:"Credentials saved",icon:"\uD83D\uDD10",user_id:K,tags:{"app-id":X,platform:Q,storage:D.local?"local":"global"},notify:!1}).catch()}}catch{}let B=D.local?a3():o3();q.success(`
|
|
243
243
|
✅ ${Q.toUpperCase()} credentials saved successfully for ${X}!`),q.info(` Location: ${B}`),q.info(` Use: npx @capgo/cli build ${X} --platform ${Q}
|
|
@@ -250,7 +250,7 @@ Global: ${o3()}`),q.info(`Local: ${a3()}`),q.info(`
|
|
|
250
250
|
`)}catch(Y){q.error(`Failed to list credentials: ${Y instanceof Error?Y.message:String(Y)}`),S1(1)}}async function PS(D){try{let Y=await U0(),X=D.appId||_0(void 0,Y?.config),Q=D.local?a3():o3();if(X&&D.platform){if(!await k2(X,D.platform,D.local)){q.info(`No ${D.platform.toUpperCase()} credentials found for ${X}.`);return}await TJ(X,D.platform,D.local),q.success(`✅ ${D.platform.toUpperCase()} credentials cleared for ${X}!`)}else if(X){let J=await r3(X,D.local);if(!J||!J.ios&&!J.android){q.info(`No credentials found for ${X}.`);return}await TJ(X,void 0,D.local),q.success(`✅ All credentials cleared for ${X}!`)}else{if((await SJ(D.local)).length===0){q.info("No saved credentials found.");return}await TJ(void 0,void 0,D.local),q.success("✅ All credentials cleared!")}q.info(` Location: ${Q}
|
|
251
251
|
`)}catch(Y){q.error(`Failed to clear credentials: ${Y instanceof Error?Y.message:String(Y)}`),S1(1)}}async function IS(D){try{let Y=!!(D.certificate||D.provisioningProfile||D.provisioningProfileProd||D.p12Password||D.appleKey||D.appleKeyId||D.appleIssuerId||D.appleProfileName||D.appleTeamId),X=!!(D.keystore||D.keystoreAlias||D.keystoreKeyPassword||D.keystoreStorePassword||D.playConfig),Q=D.platform;if(!Q)if(Y&&!X)Q="ios";else if(X&&!Y)Q="android";else if(Y&&X)q.error("Cannot mix iOS and Android options. Please use --platform to specify which platform."),S1(1);else q.error("No credentials provided to update."),q.error(""),q.error("Usage: npx @capgo/cli build credentials update [options]"),q.error(""),q.error("iOS options: --certificate, --provisioning-profile, --apple-key, etc."),q.error("Android options: --keystore, --keystore-alias, --play-config, etc."),S1(1);let J=await U0(),W=_0(D.appId,J?.config);if(!W)q.error("❌ App ID is required."),q.error(""),q.error("Either:"),q.error(" 1. Run this command from a Capacitor project directory, OR"),q.error(" 2. Provide --appId explicitly: --appId com.example.app"),S1(1);if(!await k2(W,Q,D.local))q.error(`❌ No existing ${Q.toUpperCase()} credentials found for ${W}.`),q.error(""),q.error('Use "build credentials save" to create credentials first.'),S1(1);let G={},B={};if(Q==="ios"){if(D.certificate){let K=L6(D.certificate);if(!V6(K))q.error(`Certificate file not found: ${K}`),S1(1);B.BUILD_CERTIFICATE_FILE=K,q.info(`✓ Updating certificate: ${K}`)}if(D.provisioningProfile){let K=L6(D.provisioningProfile);if(!V6(K))q.error(`Provisioning profile not found: ${K}`),S1(1);B.BUILD_PROVISION_PROFILE_FILE=K,q.info(`✓ Updating provisioning profile: ${K}`)}if(D.provisioningProfileProd){let K=L6(D.provisioningProfileProd);if(!V6(K))q.error(`Production provisioning profile not found: ${K}`),S1(1);B.BUILD_PROVISION_PROFILE_FILE_PROD=K,q.info(`✓ Updating production provisioning profile: ${K}`)}if(D.appleKey){let K=L6(D.appleKey);if(!V6(K))q.error(`Apple key file not found: ${K}`),S1(1);B.APPLE_KEY_FILE=K,q.info(`✓ Updating Apple key file: ${K}`)}if(D.p12Password)G.P12_PASSWORD=D.p12Password,q.info("✓ Updating P12 password");if(D.appleKeyId)G.APPLE_KEY_ID=D.appleKeyId,q.info(`✓ Updating Apple Key ID: ${D.appleKeyId}`);if(D.appleIssuerId)G.APPLE_ISSUER_ID=D.appleIssuerId,q.info(`✓ Updating Apple Issuer ID: ${D.appleIssuerId}`);if(D.appleProfileName)G.APPLE_PROFILE_NAME=D.appleProfileName,q.info(`✓ Updating Apple Profile Name: ${D.appleProfileName}`);if(D.appleTeamId)G.APP_STORE_CONNECT_TEAM_ID=D.appleTeamId,q.info(`✓ Updating Apple Team ID: ${D.appleTeamId}`)}else if(Q==="android"){if(D.keystore){let K=L6(D.keystore);if(!V6(K))q.error(`Keystore file not found: ${K}`),S1(1);B.ANDROID_KEYSTORE_PATH=K,q.info(`✓ Updating keystore: ${K}`)}if(D.playConfig){let K=L6(D.playConfig);if(!V6(K))q.error(`Play config file not found: ${K}`),S1(1);B.PLAY_CONFIG_JSON_PATH=K,q.info(`✓ Updating Play Store config: ${K}`)}if(D.keystoreAlias)G.KEYSTORE_KEY_ALIAS=D.keystoreAlias,q.info(`✓ Updating keystore alias: ${D.keystoreAlias}`);if(D.keystoreKeyPassword)G.KEYSTORE_KEY_PASSWORD=D.keystoreKeyPassword,q.info("✓ Updating keystore key password");if(D.keystoreStorePassword)G.KEYSTORE_STORE_PASSWORD=D.keystoreStorePassword,q.info("✓ Updating keystore store password")}let H=await _2(Q,B,G);await b2(W,Q,H,D.local);let F=D.local?a3():o3();q.success(`
|
|
252
252
|
✅ ${Q.toUpperCase()} credentials updated for ${W}!`),q.info(` Location: ${F}
|
|
253
|
-
`)}catch(Y){q.error(`Failed to update credentials: ${Y instanceof Error?Y.message:String(Y)}`),S1(1)}}import{existsSync as v2,readdirSync as X90,readFileSync as Q90,statSync as J90}from"node:fs";import{mkdir as W90,readFile as y2,rm as $90,stat as G90,writeFile as B90}from"node:fs/promises";import{tmpdir as H90}from"node:os";import{basename as CS,join as c4,resolve as F90}from"node:path";import{cwd as q90,exit as K90}from"node:process";var _S=
|
|
253
|
+
`)}catch(Y){q.error(`Failed to update credentials: ${Y instanceof Error?Y.message:String(Y)}`),S1(1)}}import{existsSync as v2,readdirSync as X90,readFileSync as Q90,statSync as J90}from"node:fs";import{mkdir as W90,readFile as y2,rm as $90,stat as G90,writeFile as B90}from"node:fs/promises";import{tmpdir as H90}from"node:os";import{basename as CS,join as c4,resolve as F90}from"node:path";import{cwd as q90,exit as K90}from"node:process";var _S=r1(hG(),1),PJ=r1(yQ(),1);async function z90(D,Y,X=3,Q=!1){let J=[1000,3000,5000];for(let W=1;W<=X;W++)try{let $=await fetch(D,Y);if($.ok||$.status>=400&&$.status<500)return $;let G=await $.text().catch(()=>"unknown error");if(!Q)q.warn(`Build request attempt ${W}/${X} failed: ${$.status} - ${G}`);if(W<X){let B=J[W-1]||5000;if(!Q)q.info(`Retrying in ${B/1000}s...`);await new Promise((H)=>setTimeout(H,B))}else throw Error(`Failed to request build after ${X} attempts: ${$.status} - ${G}`)}catch($){let G=$ instanceof Error?$.message:String($);if(G.startsWith("Failed to request build after"))throw $;if(!Q)q.warn(`Build request attempt ${W}/${X} failed: ${G}`);if(W<X){let B=J[W-1]||5000;if(!Q)q.info(`Retrying in ${B/1000}s...`);await new Promise((H)=>setTimeout(H,B))}else throw Error(`Failed to request build after ${X} attempts: ${G}`)}throw Error("Unexpected error in fetchWithRetry")}async function U90(D,Y,X,Q,J,W=!1){if(J)return null;let $=null,G=!1,B=`${D}/build/logs/${Y}?app_id=${encodeURIComponent(X)}`;q.info(`Connecting to log stream: ${B}`);try{let H=await fetch(B,{headers:{authorization:Q}});if(q.info(`Log stream response: ${H.status}`),!H.ok){let w=await H.text().catch(()=>"unknown error");return q.warn(`Could not stream logs (${H.status}): ${w}`),null}let F=H.body?.getReader();if(!F)return q.warn("No response body for log stream"),null;q.info("Reading log stream...");let K=new TextDecoder,U="",z=(w)=>{if(!w.trim())return;let V=w.match(/^(?:Build|Job already) (succeeded|failed|expired|released|cancelled)$/i);if(V){$=V[1].toLowerCase();return}if($)return;if(!G)G=!0,q.info("");q.info(w)};while(!0){let{done:w,value:V}=await F.read();if(w)break;U+=K.decode(V,{stream:!0});let L=U.split(`
|
|
254
254
|
`);U=L.pop()||"";for(let O of L)if(O.startsWith("data: ")){let Z=O.slice(6);z(Z)}}if(U.startsWith("data: ")){let w=U.slice(6);z(w)}return $}catch(H){if(!J)q.warn(`Log streaming interrupted${H instanceof Error?`: ${H.message}`:""}`);return null}}async function w90(D,Y,X,Q,J,W){let G=0;while(G<120)try{let B=await fetch(`${D}/build/status?job_id=${encodeURIComponent(Y)}&app_id=${encodeURIComponent(X)}&platform=${Q}`,{headers:{authorization:J}});if(!B.ok){if(!W)q.warn(`Status check failed: ${B.status}`);await new Promise((F)=>setTimeout(F,5000)),G++;continue}let H=await B.json();if(H.status==="succeeded"||H.status==="failed")return H.status;await new Promise((F)=>setTimeout(F,5000)),G++}catch(B){if(!W)q.warn(`Status check error: ${B}`);await new Promise((H)=>setTimeout(H,5000)),G++}if(!W)q.warn("Build status polling timed out");return"timeout"}async function V90(D,Y){let X=new Set,Q=!1;if(Y==="ios"){let J=c4(D,"ios/App/CapApp-SPM/Package.swift");if(v2(J)){Q=!0;let $=(await y2(J,"utf-8")).matchAll(/\.package\s*\([^)]*path:\s*["'](?:\.\.\/)*node_modules\/([^"']+)["']\s*\)/g);for(let G of $)X.add(G[1])}else{let W=c4(D,"ios/App/Podfile");if(v2(W)){let G=(await y2(W,"utf-8")).matchAll(/pod\s+['"][^'"]+['"],\s*:path\s*=>\s*['"]\.\.\/\.\.\/node_modules\/([^'"]+)['"]/g);for(let B of G)X.add(B[1])}}}else if(Y==="android"){let J=c4(D,"android/capacitor.settings.gradle");if(v2(J)){let $=(await y2(J,"utf-8")).matchAll(/new\s+File\s*\(\s*['"]\.\.\/node_modules\/([^'"]+)['"]\s*\)/g);for(let G of $){let H=G[1].replace(/\/android$/,"");X.add(H)}}}return{packages:X,usesSPM:Q}}function xS(D,Y,X){let Q=D.replace(/\\/g,"/");if(Q.startsWith(`${Y}/`))return!0;if(Q==="package.json"||Q==="package-lock.json"||Q.startsWith("capacitor.config."))return!0;if(Q.startsWith("resources/"))return!0;if(Y==="ios"&&Q.startsWith("node_modules/@capacitor/ios/"))return!0;if(Y==="android"&&Q.startsWith("node_modules/@capacitor/android/"))return!0;for(let J of X.packages){let W=`node_modules/${J}/`;if(Y==="android"){if(Q.startsWith(`${W}android/`))return!0}else if(Y==="ios"){if(Q.startsWith(`${W}ios/`))return!0;if(X.usesSPM){if(Q===`${W}Package.swift`)return!0}else if(Q.startsWith(W)&&Q.endsWith(".podspec"))return!0}}return!1}function s3(D,Y,X,Q,J){let W=X90(Y);for(let $ of W){let G=c4(Y,$),B=X?`${X}/${$}`:$,H=J90(G);if(H.isDirectory()){if($===".git"||$==="dist"||$==="build"||$===".angular"||$===".vite"||$===".gradle"||$===".idea"||$===".swiftpm")continue;if($===Q){s3(D,G,B,Q,J);continue}if($==="node_modules"){s3(D,G,B,Q,J);continue}if($==="resources"){s3(D,G,B,Q,J);continue}let F=B.replace(/\\/g,"/");if(xS(B,Q,J)||Array.from(J.packages).some((U)=>{return`node_modules/${U}/`.startsWith(`${F}/`)||F.startsWith(`node_modules/${U}`)}))s3(D,G,B,Q,J)}else if(H.isFile()){if($===".DS_Store"||$.endsWith(".log"))continue;if(xS(B,Q,J))D.addLocalFile(G,X||void 0)}}}async function L90(D,Y,X){let Q=await V90(D,X),J=new _S.default;s3(J,D,"",X,Q),await B90(Y,J.toBuffer())}async function f2(D,Y,X=!1){let Q=Date.now(),J=Y.verbose??!1;try{Y.apikey=Y.apikey||X0(X);let W=await U0();if(D=D||W?.config.appId,!D)throw Error("Missing argument, you need to provide a appId, or be in a capacitor project");if(!Y.platform)throw Error("Missing required argument: --platform <ios|android>");if(Y.platform!=="ios"&&Y.platform!=="android")throw Error(`Invalid platform "${Y.platform}". Must be "ios" or "android"`);let $=F90(Y.path||q90()),G=Y.supaHost||"https://api.capgo.app",B=await V0(Y.apikey,Y.supaHost,Y.supaAnon);await Z0(B,Y.apikey,["write","all"]);let H=await a1(B,D);if(!X)q.info(`Requesting native build for ${D}`),q.info(`Platform: ${Y.platform}`),q.info(`Project: ${$}`),q.info(`
|
|
255
255
|
\uD83D\uDD12 Security: Credentials are never stored on Capgo servers`),q.info(" They are used only during build and deleted after"),q.info(` Builds sent directly to app stores - Capgo keeps nothing
|
|
256
256
|
`);if(J)q.info(`API host: ${G}`);let F={};if(Y.buildCertificateBase64)F.BUILD_CERTIFICATE_BASE64=Y.buildCertificateBase64;if(Y.buildProvisionProfileBase64)F.BUILD_PROVISION_PROFILE_BASE64=Y.buildProvisionProfileBase64;if(Y.buildProvisionProfileBase64Prod)F.BUILD_PROVISION_PROFILE_BASE64_PROD=Y.buildProvisionProfileBase64Prod;if(Y.p12Password)F.P12_PASSWORD=Y.p12Password;if(Y.appleKeyId)F.APPLE_KEY_ID=Y.appleKeyId;if(Y.appleIssuerId)F.APPLE_ISSUER_ID=Y.appleIssuerId;if(Y.appleKeyContent)F.APPLE_KEY_CONTENT=Y.appleKeyContent;if(Y.appleProfileName)F.APPLE_PROFILE_NAME=Y.appleProfileName;if(Y.appStoreConnectTeamId)F.APP_STORE_CONNECT_TEAM_ID=Y.appStoreConnectTeamId;if(Y.androidKeystoreFile)F.ANDROID_KEYSTORE_FILE=Y.androidKeystoreFile;if(Y.keystoreKeyAlias)F.KEYSTORE_KEY_ALIAS=Y.keystoreKeyAlias;let K=!!Y.keystoreKeyPassword,U=!!Y.keystoreStorePassword;if(K&&!U)F.KEYSTORE_KEY_PASSWORD=Y.keystoreKeyPassword,F.KEYSTORE_STORE_PASSWORD=Y.keystoreKeyPassword;else if(!K&&U)F.KEYSTORE_KEY_PASSWORD=Y.keystoreStorePassword,F.KEYSTORE_STORE_PASSWORD=Y.keystoreStorePassword;else if(K&&U)F.KEYSTORE_KEY_PASSWORD=Y.keystoreKeyPassword,F.KEYSTORE_STORE_PASSWORD=Y.keystoreStorePassword;if(Y.playConfigJson)F.PLAY_CONFIG_JSON=Y.playConfigJson;let z=await jS(D,Y.platform,Object.keys(F).length>0?F:void 0),w={app_id:D,platform:Y.platform,build_mode:Y.buildMode};if(!z){if(!X)q.error("❌ No credentials found for this app and platform"),q.error(""),q.error("You must provide credentials via:"),q.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),q.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),q.error(" 3. Saved credentials file:"),q.error(` npx @capgo/cli build credentials save --appId ${D} --platform ${Y.platform}`),q.error(""),q.error("Documentation:"),q.error(" https://capgo.app/docs/cli/cloud-build/credentials/");throw Error("No credentials found. Please provide credentials before building.")}let V=[];if(Y.platform==="ios"){if(!z.BUILD_CERTIFICATE_BASE64)V.push("BUILD_CERTIFICATE_BASE64 (or --build-certificate-base64)");if(!z.P12_PASSWORD&&!X)q.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),q.warn(" If your certificate requires a password, provide it with --p12-password");if(!z.BUILD_PROVISION_PROFILE_BASE64)V.push("BUILD_PROVISION_PROFILE_BASE64 (or --build-provision-profile-base64)");if(!z.APPLE_KEY_ID)V.push("APPLE_KEY_ID (or --apple-key-id)");if(!z.APPLE_ISSUER_ID)V.push("APPLE_ISSUER_ID (or --apple-issuer-id)");if(!z.APPLE_KEY_CONTENT)V.push("APPLE_KEY_CONTENT (or --apple-key-content)");if(!z.APP_STORE_CONNECT_TEAM_ID)V.push("APP_STORE_CONNECT_TEAM_ID (or --apple-team-id)")}else if(Y.platform==="android"){if(!z.ANDROID_KEYSTORE_FILE)V.push("ANDROID_KEYSTORE_FILE (or --android-keystore-file)");if(!z.KEYSTORE_KEY_ALIAS)V.push("KEYSTORE_KEY_ALIAS (or --keystore-key-alias)");if(!z.KEYSTORE_KEY_PASSWORD&&!z.KEYSTORE_STORE_PASSWORD)V.push("KEYSTORE_KEY_PASSWORD or KEYSTORE_STORE_PASSWORD (at least one password required)");if(!z.PLAY_CONFIG_JSON&&!X)q.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}if(V.length>0){if(!X){q.error(`❌ Missing required credentials for ${Y.platform}:`),q.error("");for(let j of V)q.error(` • ${j}`);q.error(""),q.error("Provide credentials via:"),q.error(' 1. CLI arguments: npx @capgo/cli build request --platform ios --apple-id "..." --p12-password "..."'),q.error(' 2. Environment variables: export APPLE_ID="..." P12_PASSWORD="..."'),q.error(" 3. Saved credentials: npx @capgo/cli build credentials save --platform ios ..."),q.error(""),q.error("Documentation:"),q.error(` https://capgo.app/docs/cli/cloud-build/${Y.platform}/`)}throw Error(`Missing required credentials for ${Y.platform}: ${V.join(", ")}`)}if(w.credentials=z,!X)q.info("✓ Using credentials (merged from CLI args, env vars, and saved file)");if(J){let j=Object.keys(z).filter((I)=>z[I]);q.info(`Credentials provided: ${j.join(", ")}`)}if(!X)q.info("Requesting build from Capgo...");let L=3,O=await z90(`${G}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Y.apikey},body:JSON.stringify(w)},L,X);if(!O.ok){let j=await O.text();throw Error(`Failed to request build: ${O.status} - ${j}`)}let Z=await O.json();if(!X)q.success(`Build job created: ${Z.job_id}`),q.info(`Status: ${Z.status}`);if(J)q.info(`Upload URL: ${Z.upload_url}`),q.info(`Upload expires: ${Z.upload_expires_at}`);await C0(Y.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",user_id:H,tags:{"app-id":D,platform:Y.platform},notify:!1}).catch();let M=c4(H90(),`capgo-build-${Date.now()}`);await W90(M,{recursive:!0});let E=c4(M,`${CS($)}.zip`);try{if(!X)q.info(`Zipping ${Y.platform} project from ${$}...`);await L90($,E,Y.platform);let I=((await G90(E)).size/1024/1024).toFixed(2);if(!X)q.success(`Created zip: ${E} (${I} MB)`);if(!X)q.info("Uploading to builder...");if(J)q.info(`Upload endpoint: ${Z.upload_url}`),q.info(`File size: ${I} MB`),q.info(`Job ID: ${Z.job_id}`);let x=Q90(E),y=d0();if(!X)y.start("Uploading bundle");if(await new Promise((J0,_)=>{let N=new PJ.Upload(x,{endpoint:Z.upload_url,chunkSize:5242880,metadata:{filename:CS(E),filetype:"application/zip"},headers:{authorization:Y.apikey},onBeforeRequest(A){if(J){q.info(`[TUS] ${A.getMethod()} ${A.getURL()}`);let R=A.getHeader("authorization");q.info(`[TUS] Authorization header present: ${!!R}`)}},onAfterResponse(A,R){if(J){q.info(`[TUS] Response status: ${R.getStatus()}`);let P=R.getHeader("upload-offset"),v=R.getHeader("tus-resumable");q.info(`[TUS] Upload-Offset: ${P}, Tus-Resumable: ${v}`)}},onError(A){if(!X)y.stop("Upload failed"),q.error(`Upload error: ${A.message}`);if(A instanceof PJ.DetailedError){let R=A.originalResponse?.getBody(),P=A.originalResponse?.getStatus(),v=A.originalRequest?.getURL();if(J)q.error(`[TUS] Request URL: ${v}`),q.error(`[TUS] Response status: ${P}`),q.error(`[TUS] Response body: ${R}`);let b="Unknown error";try{let r=JSON.parse(R||'{"error": "unknown error"}');b=r.status||r.error||r.message||"unknown error"}catch{b=R||A.message}_(Error(`TUS upload failed: ${b}`))}else _(Error(`TUS upload failed: ${A.message||A.toString()}`))},onProgress(A,R){let P=(A/R*100).toFixed(2);if(!X)y.message(`Uploading ${P}%`)},onSuccess(){if(!X)y.stop("Upload complete!");if(J)q.success("TUS upload completed successfully");J0()}});if(J)q.info("[TUS] Starting upload...");N.start()}),!X)q.info("Starting build job...");let C=await fetch(`${G}/build/start/${Z.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Y.apikey},body:JSON.stringify({app_id:D})});if(!C.ok){let J0=await C.text();throw Error(`Failed to start build: ${C.status} - ${J0}`)}let c=await C.json();if(!X)q.success("Build started!"),q.info("Streaming build logs...");let S,p=await U90(G,Z.job_id,D,Y.apikey,X,J);if(p)S=p;else S=await w90(G,Z.job_id,D,Y.platform,Y.apikey,X);if(!X)if(S==="succeeded")q.success("Build completed successfully!");else if(S==="failed")q.error("Build failed");else q.warn(`Build finished with status: ${S}`);let u=((Date.now()-Q)/1000).toFixed(2);return await C0(Y.apikey,{channel:"native-builder",event:S==="succeeded"?"Build succeeded":"Build failed",icon:S==="succeeded"?"✅":"❌",user_id:H,tags:{"app-id":D,platform:Y.platform,status:S||"unknown",time:u},notify:!1}).catch(),{success:S==="succeeded",jobId:Z.job_id,uploadUrl:Z.upload_url,status:S||c.status||Z.status}}finally{await $90(M,{recursive:!0,force:!0})}}catch(W){let $=W instanceof Error?W.message:String(W);if(!X)q.error($);return{success:!1,error:$}}}async function bS(D,Y){if(!(await f2(D,Y,!1)).success)K90(1)}async function kS(D,Y,X,Q={}){let{silent:J=!1,autoUnlink:W=!1}=Q,{data:$,error:G}=await D.from("channels").select().eq("app_id",Y).eq("version",X.id);if(G){if(!J)q.error(`Cannot check Version ${Y}@${X.name}: ${m(G)}`);throw Error(`Cannot check version ${Y}@${X.name}: ${m(G)}`)}if(!$?.length)return;if(J)throw Error(`Version ${Y}@${X.name} is used in ${$.length} channel(s)`);F0(`❌ Version ${Y}@${X.name} is used in ${$.length} channel${$.length>1?"s":""}`);let B=W;if(!W)B=await j0({message:"unlink it?"})===!0;if(!B)throw q.error("Unlink it first"),Error(`Version ${Y}@${X.name} is still linked to channel(s)`);for(let H of $){let F=d0();F.start(`Unlinking channel ${H.name}`);let K=await h2(D,Y,{silent:J});if(!K)throw F.stop(`Cannot find unknown version for ${Y}`),Error(`Cannot find unknown version for ${Y}`);let{error:U}=await D.from("channels").update({version:K.id}).eq("id",H.id);if(U)throw F.stop(`Cannot update channel ${H.name} ${m(U)}`),Error(`Cannot update channel ${H.name}: ${m(U)}`);F.stop(`✅ Channel ${H.name} unlinked`)}e(`Version unlinked from ${$.length} channel${$.length>1?"s":""}`)}async function h2(D,Y,X={}){let{silent:Q=!1}=X,{data:J,error:W}=await D.from("app_versions").select("id").eq("app_id",Y).eq("name","unknown").single();if(!W)return J;try{let $=await a1(D,Y),{data:G,error:B}=await D.from("app_versions").insert({owner_org:$,deleted:!0,name:"unknown",app_id:Y}).select("id").single();if(B){if(!Q)q.error(`Cannot find or create unknown version for ${Y}. Find error: ${m(W)}, Create error: ${m(B)}`);throw Error(`Cannot find or create unknown version for app ${Y}: ${m(B)}`)}return G}catch($){if(!Q)q.error(`Cannot find or create unknown version for ${Y}. Find error: ${m(W)}, Create error: ${m($)}`);throw Error(`Cannot retrieve or create unknown version for app ${Y}: ${m($)}`)}}function vS(D,Y){return D.from("channels").insert(Y).select().single()}function yS(D,Y,X,Q){return D.from("channels").delete().eq("name",Y).eq("app_id",X).single()}function fS(D,Y,X){return D.from("channels").select().eq("app_id",Y).eq("name",X).single()}function hS(D,Y,X){return D.from("channel_devices").delete().eq("app_id",Y).eq("channel_id",X)}function gS(D,Y,X){return D.from("channels").select(`
|
|
@@ -273,9 +273,9 @@ Global: ${o3()}`),q.info(`Local: ${a3()}`),q.info(`
|
|
|
273
273
|
created_by,
|
|
274
274
|
app_id,
|
|
275
275
|
version (id, name)
|
|
276
|
-
`).eq("app_id",Y).order("created_at",{ascending:!1});if(J){if(!X)q.error(`App ${Y} not found in database`);throw Error(`App ${Y} not found in database: ${m(J)}`)}return Q}async function g2(D,Y,X,Q={}){let{silent:J=!1}=Q,{error:W}=await D.from("app_versions").update({deleted:!0}).eq("app_id",Y).eq("deleted",!1).eq("name",X);if(W){let $=`App version ${Y}@${X} not found in database`;if(!J)q.error($);throw Error(`${$}: ${m(W)}`)}}async function IJ(D,Y,X,Q={}){let{silent:J=!1,autoUnlink:W=!1}=Q,$=await M90(D,Y,X,{silent:J});await kS(D,Y,$,{silent:J,autoUnlink:W}),await g2(D,Y,X,{silent:J})}function CJ(D,Y=!1){if(Y)return;if(!D.length)throw Error("No bundle found");let X=new G1;X.theme=G1.roundTheme,X.headers=["Version","Created","Keep"],X.rows=[];for(let Q of D.toReversed())X.rows.push([Q.name,g4(Q.created_at),Q.keep??""]);q.success("Bundles"),q.success(X.toString())}async function l4(D,Y,X={}){let{silent:Q=!1}=X,{data:J,error:W}=await D.from("app_versions").select().eq("app_id",Y).eq("deleted",!1).order("created_at",{ascending:!1});if(W){let $=`App ${Y} not found in database`;if(!Q)q.error($);throw Error(`${$}: ${m(W)}`)}return J??[]}async function cS(D,Y,X={}){let{silent:Q=!1}=X,{data:J,error:W}=await D.from("channels").select("version").eq("app_id",Y);if(W){let $=`App ${Y} not found in database`;if(!Q)q.error($);throw Error(`${$}: ${m(W)}`)}return(J??[]).map(($)=>$.version)}async function M90(D,Y,X,Q={}){let{silent:J=!1}=Q,{data:W,error:$}=await D.from("app_versions").select().eq("app_id",Y).eq("name",X).eq("deleted",!1).single();if(!W||$){let G=`App version ${Y}@${X} doesn't exist`;if(!J)q.error(G);throw Error(`${G}${$?`: ${m($)}`:""}`)}return W}async function O90(D,Y,X,Q){for await(let J of D){if(!Q)q.warn(`Removing ${J.name} created on ${g4(J.created_at)}`);await IJ(Y,X,J.name)}}function N90(D,Y,X){let Q=[];for(let J of D??[]){let W=I0(J.name);if(NG(W,Y)&&t8(W,X))Q.push(J)}return Q}async function u2(D,Y,X=!1){if(!X)F0("Cleanup versions in Capgo");await f0(),Y.apikey=Y.apikey||X0();let{bundle:Q,keep:J=4}=Y,W=Y.force||!1,$=Y.ignoreChannel||!1,G=await U0();if(D=_0(D,G?.config),!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to delete your app");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appid, or be in a capacitor project");throw Error("Missing appId")}let B=await V0(Y.apikey,Y.supaHost,Y.supaAnon);if(await
|
|
276
|
+
`).eq("app_id",Y).order("created_at",{ascending:!1});if(J){if(!X)q.error(`App ${Y} not found in database`);throw Error(`App ${Y} not found in database: ${m(J)}`)}return Q}async function g2(D,Y,X,Q={}){let{silent:J=!1}=Q,{error:W}=await D.from("app_versions").update({deleted:!0}).eq("app_id",Y).eq("deleted",!1).eq("name",X);if(W){let $=`App version ${Y}@${X} not found in database`;if(!J)q.error($);throw Error(`${$}: ${m(W)}`)}}async function IJ(D,Y,X,Q={}){let{silent:J=!1,autoUnlink:W=!1}=Q,$=await M90(D,Y,X,{silent:J});await kS(D,Y,$,{silent:J,autoUnlink:W}),await g2(D,Y,X,{silent:J})}function CJ(D,Y=!1){if(Y)return;if(!D.length)throw Error("No bundle found");let X=new G1;X.theme=G1.roundTheme,X.headers=["Version","Created","Keep"],X.rows=[];for(let Q of D.toReversed())X.rows.push([Q.name,g4(Q.created_at),Q.keep??""]);q.success("Bundles"),q.success(X.toString())}async function l4(D,Y,X={}){let{silent:Q=!1}=X,{data:J,error:W}=await D.from("app_versions").select().eq("app_id",Y).eq("deleted",!1).order("created_at",{ascending:!1});if(W){let $=`App ${Y} not found in database`;if(!Q)q.error($);throw Error(`${$}: ${m(W)}`)}return J??[]}async function cS(D,Y,X={}){let{silent:Q=!1}=X,{data:J,error:W}=await D.from("channels").select("version").eq("app_id",Y);if(W){let $=`App ${Y} not found in database`;if(!Q)q.error($);throw Error(`${$}: ${m(W)}`)}return(J??[]).map(($)=>$.version)}async function M90(D,Y,X,Q={}){let{silent:J=!1}=Q,{data:W,error:$}=await D.from("app_versions").select().eq("app_id",Y).eq("name",X).eq("deleted",!1).single();if(!W||$){let G=`App version ${Y}@${X} doesn't exist`;if(!J)q.error(G);throw Error(`${G}${$?`: ${m($)}`:""}`)}return W}async function O90(D,Y,X,Q){for await(let J of D){if(!Q)q.warn(`Removing ${J.name} created on ${g4(J.created_at)}`);await IJ(Y,X,J.name)}}function N90(D,Y,X){let Q=[];for(let J of D??[]){let W=I0(J.name);if(NG(W,Y)&&t8(W,X))Q.push(J)}return Q}async function u2(D,Y,X=!1){if(!X)F0("Cleanup versions in Capgo");await f0(),Y.apikey=Y.apikey||X0();let{bundle:Q,keep:J=4}=Y,W=Y.force||!1,$=Y.ignoreChannel||!1,G=await U0();if(D=_0(D,G?.config),!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to delete your app");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appid, or be in a capacitor project");throw Error("Missing appId")}let B=await V0(Y.apikey,Y.supaHost,Y.supaAnon);if(await h1(B,D,X),await Z0(B,Y.apikey,["write","all"]),await L1(B,Y.apikey,D,3,X,!0),!X)q.info("Querying all available versions in Capgo");let H=await l4(B,D),F=await cS(B,D);if(!X)q.info(`Total active versions in Capgo: ${H?.length??0}`);if(!H?.length){if(!X)q.error("No versions found, aborting cleanup");throw Error("No versions found")}if(Q){let z=I0(Q),w=u9(z,"major");if(!X)q.info(`Querying available versions in Capgo between ${u8(z)} and ${u8(w)}`);if(H=N90(H,z,w),!X)q.info(`Active versions in Capgo between ${u8(z)} and ${u8(w)}: ${H?.length??0}`)}let K=[],U=0;for(let z of H){let w=F.find((V)=>V===z.id);if(U<J||w&&!$)z.keep=w?"✅ (Linked to channel)":"✅",U+=1;else z.keep="❌",K.push(z)}if(!K.length){if(!X)q.warn("Nothing to be removed, aborting removal...");return{removed:0,kept:U}}if(!X)CJ(H);if(!W)if(!X){let z=await j0({message:"Do you want to continue removing the versions specified?"});if(R0(z)||!z)throw q.warn("Not confirmed, aborting removal..."),Error("Cleanup cancelled by user")}else throw Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");if(!X)q.success("You have confirmed removal, removing versions now");if(await O90(K,B,D,X),!X)e("Done ✅");return{removed:K.length,kept:U}}async function lS(D,Y){return u2(D,Y)}async function t3(D,Y,X=!1){if(!X)F0("Check compatibility");let Q={...Y,apikey:Y.apikey||X0()},J=D?void 0:await U0(),W=_0(D,J?.config),$=Q.channel;if(!$){if(!X)q.error("Missing argument, you need to provide a channel");throw Error("Missing channel")}if(!Q.apikey){if(!X)q.error("Missing API key, you need to provide an API key to access Capgo Cloud metadata");throw Error("Missing API key")}if(!W){if(!X)q.error("Missing argument, you need to provide an appId, or be in a capacitor project");throw Error("Missing appId")}let G=await V0(Q.apikey,Q.supaHost,Q.supaAnon);await h1(G,W,X),await Z0(G,Q.apikey,["write","all","read","upload"]),await L1(G,Q.apikey,W,1,X,!0);let B=await AJ(G,W,$,Q.packageJson,Q.nodeModules),H=B.finalCompatibility.some((F)=>!XD(F));if(!X){let F=new G1;F.headers=["Package","Local","Remote","Status","Details"],F.theme=G1.roundTheme,F.rows=[];let K=Q.text?"OK":"✅",U=Q.text?"FAIL":"❌";for(let z of B.finalCompatibility){let{name:w,localVersion:V,remoteVersion:L}=z,O=W5(z),Z=O.compatible?K:U;F.rows.push([w,V||"-",L||"-",Z,O.message])}if(q.success("Compatibility Check Results"),q.info(F.toString()),H){let z=B.finalCompatibility.filter((w)=>!XD(w)).length;q.warn(`
|
|
277
277
|
${z} package(s) are incompatible with channel "${$}"`),q.warn("An app store update may be required for these changes to take effect.")}else q.success(`
|
|
278
|
-
All packages are compatible with channel "${$}"`)}return{finalCompatibility:B.finalCompatibility,hasIncompatible:H,resolvedAppId:W,channel:$}}async function dS(D,Y){try{await t3(D,Y,!1)}catch(X){throw q.error(`Error checking compatibility ${m(X)}`),X}}import{existsSync as l2,readFileSync as tS,writeFileSync as j90}from"node:fs";import{cwd as T90}from"node:process";import{Buffer as N9}from"node:buffer";import{constants as Z90,createCipheriv as A90,createDecipheriv as E90,generateKeyPairSync as R90,privateEncrypt as m2,publicDecrypt as c2,randomBytes as pS}from"node:crypto";var nS="aes-128-cbc",Z9="base64",xJ="hex",d4=Z90.RSA_PKCS1_PADDING;function _J(D){let Y=pS(16),X=pS(16),Q=Y.toString(Z9),J=m2({key:D,padding:d4},X).toString(Z9);return{sessionKey:X,ivSessionKey:`${Q}:${J}`}}function p4(D,Y,X){let[Q]=X.split(":"),J=N9.from(Q,Z9),W=A90(nS,Y,J);return W.setAutoPadding(!0),N9.concat([W.update(D),W.final()])}function iS(D,Y,X){let[Q,J]=Y.split(":"),W=c2({key:X,padding:d4},N9.from(J,Z9)),$=N9.from(Q,Z9),G=E90(nS,W,$);return G.setAutoPadding(!0),N9.concat([G.update(D),G.final()])}function n4(D,Y){return m2({key:Y,padding:d4},N9.from(D,Z9)).toString(Z9)}function i4(D,Y){return m2({key:Y,padding:d4},N9.from(D,xJ)).toString(xJ)}function rS(D,Y){return c2({key:Y,padding:d4},N9.from(D,Z9)).toString(Z9)}function aS(D,Y){return c2({key:Y,padding:d4},N9.from(D,xJ)).toString(xJ)}function oS(){let{publicKey:D,privateKey:Y}=R90("rsa",{modulusLength:2048});return{publicKey:D.export({type:"pkcs1",format:"pem"}),privateKey:Y.export({type:"pkcs1",format:"pem"})}}function sS(D){if(!D)return"";return D.replace(/-----BEGIN RSA PUBLIC KEY-----/g,"").replace(/-----END RSA PUBLIC KEY-----/g,"").replace(/\n/g,"").replace(/\r/g,"").replace(/ /g,"").substring(0,20)}var S90="5.30.0",P90="6.30.0",I90="7.30.0";function C90(D,Y){let X=D.key||O9,Q=Y.config.plugins?.CapacitorUpdater?.publicKey;if(l2(X))Q=tS(X,"utf8");else if(!Q&&D.keyData)Q=D.keyData;return{publicKey:Q,fallbackKeyPath:X}}async function d2(D,Y,X,Q=!1){if(!Q)F0("Decrypt zip file");try{if(await f0(),!l2(D)){let K=`Zip not found at the path ${D}`;if(!Q)q.error(K);throw Error(K)}let J=await U0();if(!X.key&&!l2(O9)&&!J.config.plugins?.CapacitorUpdater?.publicKey){let K=`Public Key not found at the path ${O9} or in ${J.path}`;if(!Q)q.error(K);throw Error(K)}let{publicKey:W,fallbackKeyPath:$}=C90(X,J);if(!W){let K=`Cannot find public key ${$} or as keyData option or in ${J.path}`;if(!Q)q.error(K);throw Error(K)}let G=tS(D),B=iS(G,Y,X.keyData??W),H=`${D}_decrypted.zip`;if(j90(H,B),!Q)q.info(`Decrypted zip file at ${H}`);let F;if(X.checksum){let K=await w9(B,"sha256"),U=
|
|
278
|
+
All packages are compatible with channel "${$}"`)}return{finalCompatibility:B.finalCompatibility,hasIncompatible:H,resolvedAppId:W,channel:$}}async function dS(D,Y){try{await t3(D,Y,!1)}catch(X){throw q.error(`Error checking compatibility ${m(X)}`),X}}import{existsSync as l2,readFileSync as tS,writeFileSync as j90}from"node:fs";import{cwd as T90}from"node:process";import{Buffer as N9}from"node:buffer";import{constants as Z90,createCipheriv as A90,createDecipheriv as E90,generateKeyPairSync as R90,privateEncrypt as m2,publicDecrypt as c2,randomBytes as pS}from"node:crypto";var nS="aes-128-cbc",Z9="base64",xJ="hex",d4=Z90.RSA_PKCS1_PADDING;function _J(D){let Y=pS(16),X=pS(16),Q=Y.toString(Z9),J=m2({key:D,padding:d4},X).toString(Z9);return{sessionKey:X,ivSessionKey:`${Q}:${J}`}}function p4(D,Y,X){let[Q]=X.split(":"),J=N9.from(Q,Z9),W=A90(nS,Y,J);return W.setAutoPadding(!0),N9.concat([W.update(D),W.final()])}function iS(D,Y,X){let[Q,J]=Y.split(":"),W=c2({key:X,padding:d4},N9.from(J,Z9)),$=N9.from(Q,Z9),G=E90(nS,W,$);return G.setAutoPadding(!0),N9.concat([G.update(D),G.final()])}function n4(D,Y){return m2({key:Y,padding:d4},N9.from(D,Z9)).toString(Z9)}function i4(D,Y){return m2({key:Y,padding:d4},N9.from(D,xJ)).toString(xJ)}function rS(D,Y){return c2({key:Y,padding:d4},N9.from(D,Z9)).toString(Z9)}function aS(D,Y){return c2({key:Y,padding:d4},N9.from(D,xJ)).toString(xJ)}function oS(){let{publicKey:D,privateKey:Y}=R90("rsa",{modulusLength:2048});return{publicKey:D.export({type:"pkcs1",format:"pem"}),privateKey:Y.export({type:"pkcs1",format:"pem"})}}function sS(D){if(!D)return"";return D.replace(/-----BEGIN RSA PUBLIC KEY-----/g,"").replace(/-----END RSA PUBLIC KEY-----/g,"").replace(/\n/g,"").replace(/\r/g,"").replace(/ /g,"").substring(0,20)}var S90="5.30.0",P90="6.30.0",I90="7.30.0";function C90(D,Y){let X=D.key||O9,Q=Y.config.plugins?.CapacitorUpdater?.publicKey;if(l2(X))Q=tS(X,"utf8");else if(!Q&&D.keyData)Q=D.keyData;return{publicKey:Q,fallbackKeyPath:X}}async function d2(D,Y,X,Q=!1){if(!Q)F0("Decrypt zip file");try{if(await f0(),!l2(D)){let K=`Zip not found at the path ${D}`;if(!Q)q.error(K);throw Error(K)}let J=await U0();if(!X.key&&!l2(O9)&&!J.config.plugins?.CapacitorUpdater?.publicKey){let K=`Public Key not found at the path ${O9} or in ${J.path}`;if(!Q)q.error(K);throw Error(K)}let{publicKey:W,fallbackKeyPath:$}=C90(X,J);if(!W){let K=`Cannot find public key ${$} or as keyData option or in ${J.path}`;if(!Q)q.error(K);throw Error(K)}let G=tS(D),B=iS(G,Y,X.keyData??W),H=`${D}_decrypted.zip`;if(j90(H,B),!Q)q.info(`Decrypted zip file at ${H}`);let F;if(X.checksum){let K=await w9(B,"sha256"),U=f1(T90()),z=await l8("@capgo/capacitor-updater",U,X.packageJson),w=!1,V;try{V=z?I0(z):void 0}catch{V=void 0}if(V)w=!U6(V,S90,P90,I90);if(!Q)q.info(`Decrypting checksum with ${w?"V3":"V2"} (based on updater version ${z||"unknown"})`);let L=w?aS(X.checksum,X.keyData??W):rS(X.checksum,X.keyData??W);if(F=K===L,!F){let O=`Checksum does not match ${K} !== ${L}`;if(!Q)q.error(O);throw Error(O)}if(!Q)q.info("Checksum matches")}if(!Q)e("✅ done");return{outputPath:H,checksumMatches:F}}catch(J){if(!Q)q.error(`Error decrypting zip file ${m(J)}`);throw J instanceof Error?J:Error(String(J))}}async function eS(D,Y,X){await d2(D,Y,X,!1)}async function p2(D,Y,X,Q=!1){if(!Q)F0("Delete bundle");X.apikey=X.apikey||X0();let J=await U0();if(Y=_0(Y,J?.config),!X.apikey){if(!Q)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Y){if(!Q)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(!D){if(!Q)q.error("Missing argument, you need to provide a bundleId, or be in a capacitor project");throw Error("Missing bundleId")}let W=await V0(X.apikey,X.supaHost,X.supaAnon);if(await h1(W,Y,Q),await Z0(W,X.apikey,["write","all"]),await L1(W,X.apikey,Y,3,Q,!0),!Q)q.info(`Deleting bundle ${Y}@${D} from Capgo`),q.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever");if(await IJ(W,Y,D),!Q)q.success(`Bundle ${Y}@${D} deleted in Capgo`),e("Done");return!0}async function DP(D,Y,X){return p2(D,Y,X)}import{existsSync as n2,readFileSync as YP,writeFileSync as x90}from"node:fs";import{cwd as _90}from"node:process";var b90="5.30.0",k90="6.30.0",v90="7.30.0";function e3(D){console.error(m(D))}async function i2(D,Y,X,Q=!1){let{json:J}=X,W=!J&&!Q;if(W)F0("Encryption"),await f0();try{let $=await U0(),G=!!$.config.plugins?.CapacitorUpdater?.privateKey,B=!!$.config.plugins?.CapacitorUpdater?.publicKey;if(G&&W)q.warning("There is still a privateKey in the config");if(!n2(D)){let j=`Zip not found at the path ${D}`;if(!Q)if(J)e3({error:"zip_not_found"});else q.error(`Error: ${j}`);throw Error(j)}if(!B){if(!Q)if(J)e3({error:"missing_public_key"});else q.warning("Warning: Missing Public Key in config");throw Error("Missing public key in config")}let H=X.key||Q6,F=X.keyData||"";if(!n2(H)&&!F){if(!Q)if(J)e3({error:"missing_key"});else q.warning(`Cannot find a private key at ${H} or as a keyData option`),q.error("Error: Missing key");throw Error("Missing private key")}else if(n2(H))F=YP(H,"utf8");if(F&&!F.startsWith("-----BEGIN RSA PRIVATE KEY-----")){if(!Q)if(J)e3({error:"invalid_private_key"});else q.error("The private key provided is not a valid RSA Private key");throw Error("Invalid private key format")}let K=YP(D),{sessionKey:U,ivSessionKey:z}=_J(F),w=p4(K,U,z),V=f1(_90()),L=await l8("@capgo/capacitor-updater",V,X.packageJson),O=!1,Z;try{Z=L?I0(L):void 0}catch{Z=void 0}if(Z)O=!U6(Z,b90,k90,v90);let M=O?i4(Y,F):n4(Y,F);if(W)q.info(`Encrypting checksum with ${O?"V3":"V2"} (based on updater version ${L||"unknown"})`);let E=`${D}_encrypted.zip`;if(x90(E,w),!Q)if(J)console.log(JSON.stringify({checksum:M,filename:E,ivSessionKey:z},null,2));else q.success(`Encoded Checksum: ${M}`),q.success(`ivSessionKey: ${z}`),q.success(`Encrypted zip saved at ${E}`),e("Done ✅");return{checksum:M,filename:E,ivSessionKey:z}}catch($){if(!Q)if(X.json)e3($);else q.error(`Error encrypting zip file ${m($)}`);throw $ instanceof Error?$:Error(String($))}}async function XP(D,Y,X){await i2(D,Y,X,!1)}async function QP(D,Y,X=!1){if(!X)F0("List bundles");await f0(),Y.apikey=Y.apikey||X0();let Q=await U0();if(D=_0(D,Q?.config),!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appid, or be in a capacitor project");throw Error("Missing appId")}let J=await V0(Y.apikey,Y.supaHost,Y.supaAnon);if(await h1(J,D,X),await Z0(J,Y.apikey,["write","all","read","upload"]),await L1(J,Y.apikey,D,1,X,!0),!X)q.info(`Querying available versions of: ${D} in Capgo`);let W=await l4(J,D);if(!X)q.info(`Active versions in Capgo: ${W?.length??0}`),CJ(W),e("Done ✅");return W}import{stdout as y90}from"node:process";async function f90(D,Y){let X=await t3(D,Y,!0);return{releaseType:X.hasIncompatible?"native":"OTA",resolvedAppId:X.resolvedAppId,channel:X.channel}}async function JP(D,Y){try{let{releaseType:X,resolvedAppId:Q,channel:J}=await f90(D,Y),W=X==="OTA"?["Recommendation: OTA",`Run: npx @capgo/cli@latest bundle upload ${Q} --channel ${J}`]:["Recommendation: native",`Save credentials: npx @capgo/cli@latest build credentials save --appId ${Q} --platform <ios|android>`,`Request build: npx @capgo/cli@latest build request ${Q} --platform <ios|android> --path .`];y90.write(`${W.join(`
|
|
279
279
|
`)}
|
|
280
280
|
`)}catch(X){throw q.error(`Error checking release type ${m(X)}`),X}}import{randomUUID as y50}from"node:crypto";import{existsSync as dJ,readFileSync as f50}from"node:fs";import{cwd as AF}from"node:process";class r2 extends TransformStream{outChunkSize;constructor(D){let Y=new Uint8Array(D),X=0;super({transform(Q,J){let W=0;while(W<Q.length){let $=D-X,G=Math.min($,Q.length-W);if(Y.set(Q.subarray(W,W+G),X),W+=G,X+=G,X===D)J.enqueue(Y),Y=new Uint8Array(D),X=0}},flush(Q){if(X>0)Q.enqueue(Y.subarray(0,X))}}),this.outChunkSize=D}}function QD(D){return D=D.trim(),D=D.replace(/<!--[\s\S]*?-->/g,""),Y();function Y(){return{declaration:X(),root:Q()}}function X(){if(!B(/^<\?xml\s*/))return;let U={attributes:{}};while(!(H()||F("?>"))){let z=W();if(!z)return U;U.attributes[z.name]=z.value}return B(/\?>\s*/),U}function Q(){let K=B(/^<([\w-:.]+)\s*/);if(!K)return;let U={name:K[1],attributes:{},children:[]};while(!(H()||F(">")||F("?>")||F("/>"))){let w=W();if(!w)return U;U.attributes[w.name]=w.value}if(B(/^\s*\/>\s*/))return U;B(/\??>\s*/),U.content=J();let z;while(z=Q())U.children.push(z);return B(/^<\/[\w-:.]+>\s*/),U}function J(){let K=B(/^([^<]*)/);if(K)return G(K[1]);return""}function W(){let K=B(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(!K)return;return{name:K[1],value:G($(K[2]))}}function $(K){return K.replace(/^['"]|['"]$/g,"")}function G(K){return K.replaceAll("<","<").replaceAll(">",">").replaceAll("&","&")}function B(K){let U=D.match(K);if(!U)return;return D=D.slice(U[0].length),U}function H(){return D.length===0}function F(K){return D.startsWith(K)}}class A9 extends Error{}class x8 extends A9{}class bJ extends A9{}class a2 extends A9{bucketName;constructor(D){super(`Invalid bucket name: ${D}`),this.bucketName=D}}class E9 extends A9{objectName;constructor(D){super(`Invalid object name: ${D}`),this.objectName=D}}class $5 extends A9{constructor(){super("accessKey is required")}}class DY extends A9{constructor(){super("secretKey is required")}}class kJ extends A9{constructor(){super("expirySeconds cannot be less than 1 second or more than 7 days")}}class JD extends A9{statusCode;code;key;bucketName;resource;region;constructor(D,Y,X,Q={}){super(X),this.statusCode=D,this.code=Y,this.key=Q.key,this.bucketName=Q.bucketName,this.resource=Q.resource,this.region=Q.region}}async function WP(D){try{let X=QD(await D.text()).root;if(X?.name!=="Error")throw Error("Invalid root, expected <Error>");let Q=X.children.find((H)=>H.name==="Code")?.content??"UnknownErrorCode",J=X.children.find((H)=>H.name==="Message")?.content??"The error message could not be determined.",W=X.children.find((H)=>H.name==="Key")?.content,$=X.children.find((H)=>H.name==="BucketName")?.content,G=X.children.find((H)=>H.name==="Resource")?.content,B=X.children.find((H)=>H.name==="Region")?.content;return new JD(D.status,Q,J,{key:W,bucketName:$,resource:G,region:B})}catch{return new JD(D.status,"UnrecognizedError",`Error: Unexpected response code ${D.status} ${D.statusText}. Unable to parse response as XML.`)}}function $P(D){if(typeof D!=="number"||isNaN(D))return!1;return D>=1&&D<=65535}function GP(D){if(typeof D!=="string")return!1;if(D.length<3||D.length>63)return!1;if(D.includes(".."))return!1;if(D.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/))return!1;if(D.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/))return!0;return!1}function WD(D){if(!h90(D))return!1;if(D.length===0)return!1;return!0}function h90(D){if(typeof D!=="string")return!1;if(D.length>1024)return!1;return!0}function YY(D){return Array.from(D).map((Y)=>Y.toString(16).padStart(2,"0")).join("")}function G5(D=""){let Y={'"':"",""":"",""":"",""":"",""":""};return D.replace(/^("|"|")|("|"|")$/g,(X)=>Y[X])}function s2(D){return D.get("x-amz-version-id")??null}function B5(D){let Y=D.toISOString();return Y.slice(0,4)+Y.slice(5,7)+Y.slice(8,13)+Y.slice(14,16)+Y.slice(17,19)+"Z"}function t2(D){return B5(D).slice(0,8)}function e2(D,Y){return`${t2(Y)}/${D}/s3/aws4_request`}async function vJ(D){if(!(D instanceof Uint8Array))D=new TextEncoder().encode(D);return YY(new Uint8Array(await crypto.subtle.digest("SHA-256",D)))}var g90=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"];class DF extends WritableStream{getResult;constructor({client:D,bucketName:Y,objectName:X,partSize:Q,metadata:J}){let W,$=1,G,B=[],H,F=[];super({start(){},async write(K,U){let w=$++;try{if(w==1&&K.length<Q){let O=await D.makeRequest({method:"PUT",headers:new Headers({...J,"Content-Length":String(K.length)}),bucketName:Y,objectName:X,payload:K});W={etag:G5(O.headers.get("etag")??void 0),versionId:s2(O.headers)};return}if(w===1)G=(await u90({client:D,bucketName:Y,objectName:X,metadata:J})).uploadId;let V={"Content-Length":String(K.length)};for(let O of g90){let Z=J[O];if(Z)V[O]=Z}let L=D.makeRequest({method:"PUT",query:{partNumber:w.toString(),uploadId:G},headers:new Headers(V),bucketName:Y,objectName:X,payload:K}).then((O)=>{let Z=O.headers.get("etag")??"";if(Z)Z=Z.replace(/^"/,"").replace(/"$/,"");return B.push({part:w,etag:Z}),O});F.push(L.catch((O)=>{if(!H)H=O}))}catch(V){throw V}},async close(){if(W);else if(G){if(await Promise.all(F),H)throw H;B.sort((K,U)=>K.part>U.part?1:-1),W=await m90({client:D,bucketName:Y,objectName:X,uploadId:G,etags:B})}else throw Error("Stream was closed without uploading any data.")}});this.getResult=()=>{if(W===void 0)throw Error("Result is not ready. await the stream first.");return W}}}async function u90(D){let X=new Headers(D.metadata),Q="uploads",W=await(await D.client.makeRequest({method:"POST",bucketName:D.bucketName,objectName:D.objectName,query:"uploads",headers:X,returnBody:!0})).text(),$=QD(W).root;if(!$||$.name!=="InitiateMultipartUploadResult")throw Error(`Unexpected response: ${W}`);let G=$.children.find((B)=>B.name==="UploadId")?.content;if(!G)throw Error(`Unable to get UploadId from response: ${W}`);return{uploadId:G}}async function m90({client:D,bucketName:Y,objectName:X,uploadId:Q,etags:J}){let W=`
|
|
281
281
|
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
|
|
@@ -286,19 +286,19 @@ All packages are compatible with channel "${$}"`)}return{finalCompatibility:B.fi
|
|
|
286
286
|
`)+`
|
|
287
287
|
`,Q.join(";").toLowerCase(),J].join(`
|
|
288
288
|
`)}async function KP(D,Y,X){let Q=await vJ(D),J=e2(X,Y);return[XY,B5(Y),J,Q].join(`
|
|
289
|
-
`)}async function XF(D,Y,X){let Q=t2(D),J=await F5("AWS4"+X,Q),W=await F5(J,Y),$=await F5(W,"s3");return await F5($,"aws4_request")}function QF(D,Y,X){return`${D}/${e2(Y,X)}`}async function F5(D,Y){let X=new TextEncoder,Q=await crypto.subtle.importKey("raw",D instanceof Uint8Array?D:X.encode(D),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]),J=await crypto.subtle.sign("HMAC",Q,Y instanceof Uint8Array?Y:X.encode(Y));return new Uint8Array(J)}async function zP(D){if(!D.accessKey)throw new $5;if(!D.secretKey)throw new DY;if(D.expirySeconds<1||D.expirySeconds>604800)throw new kJ;let Y=new Date(D.date);Y.setSeconds(Y.getSeconds()+D.expirySeconds);let X=QF(D.accessKey,D.region,D.date),Q=B5(D.date),J={"X-Amz-Algorithm":XY,"X-Amz-Credential":X,"X-Amz-Date":Q,key:D.objectKey,...D.fields},W=[{bucket:D.bucket},{key:D.objectKey},{"X-Amz-Algorithm":XY},{"X-Amz-Credential":X},{"X-Amz-Date":Q}];if(D.conditions)W.push(...D.conditions);for(let[z,w]of Object.entries(D.fields||{})){if(["key","X-Amz-Algorithm","X-Amz-Credential","X-Amz-Date"].includes(z))continue;W.push({[z]:w})}let $={expiration:Y.toISOString(),conditions:W},G=new TextEncoder().encode(JSON.stringify($)),B=btoa(String.fromCharCode(...G));J.policy=B;let H=B,F=await XF(D.date,D.region,D.secretKey),K=YY(await F5(F,H)).toLowerCase();return J["X-Amz-Signature"]=K,{url:`${D.protocol}//${D.host}/${D.bucket}`,fields:J}}var l90=["Content-Type","Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Expires","x-amz-checksum-sha256","x-amz-grant-full-control","x-amz-grant-read","x-amz-grant-read-acp","x-amz-grant-write-acp","x-amz-server-side-encryption","x-amz-storage-class","x-amz-website-redirect-location","x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5","x-amz-server-side-encryption-aws-kms-key-id","x-amz-server-side-encryption-context","x-amz-server-side-encryption-bucket-key-enabled","x-amz-request-payer","x-amz-tagging","x-amz-object-lock-mode","x-amz-object-lock-retain-until-date","x-amz-object-lock-legal-hold","x-amz-expected-bucket-owner"],d90=5242880,p90=5368709120,JF=5497558138880;class yJ{host;port;protocol;accessKey;#D;sessionToken;defaultBucket;region;userAgent="s3-lite-client";pathStyle;pathPrefix;constructor({endPoint:D,useSSL:Y,port:X,pathPrefix:Q,...J}){if(/^https?:\/\//i.test(D)){if(Y!==void 0||X!==void 0||Q!==void 0)throw new x8("useSSL/port/pathPrefix cannot be specified if endPoint is a URL.");try{let $=new URL(D);if(D=$.hostname,Y=$.protocol==="https:",X=$.port?parseInt($.port,10):Y?443:80,$.pathname&&$.pathname!=="/")Q=$.pathname.endsWith("/")?$.pathname.slice(0,-1):$.pathname}catch{throw new bJ(`Invalid endPoint URL: ${D}`)}}if(typeof D!=="string"||D.length===0)throw new bJ(`Invalid endPoint: ${D}`);if(Y===void 0)Y=!0;if(X!==void 0&&!$P(X))throw new x8(`Invalid port: ${X}`);if(J.accessKey&&!J.secretKey)throw new x8("If specifying access key, secret key must also be provided.");if(J.accessKey&&J.accessKey.startsWith("ASIA")&&!J.sessionToken)throw new x8("If specifying temporary access key, session token must also be provided.");let W=Y?443:80;if(this.port=X??W,this.host=D.toLowerCase()+(this.port!==W?`:${this.port}`:""),this.protocol=Y?"https:":"http:",this.accessKey=J.accessKey,this.#D=J.secretKey??"",this.sessionToken=J.sessionToken,this.pathStyle=J.pathStyle??!0,this.pathPrefix=Q??"",this.defaultBucket=J.bucket,this.region=J.region,this.pathPrefix){if(!this.pathStyle)throw new x8("pathPrefix is incompatible with pathStyle=false");if(!this.pathPrefix.startsWith("/"))throw new x8("pathPrefix should start with /");if(this.pathPrefix.endsWith("/"))throw new x8("pathPrefix should not end with /")}}getBucketName(D){let Y=D?.bucketName??this.defaultBucket;if(Y===void 0||!GP(Y))throw new a2(Y??"");return Y}buildRequestOptions(D){let Y=this.getBucketName(D),X=this.pathStyle?this.host:`${Y}.${this.host}`,Q=D.headers??new Headers;Q.set("host",X);let J=typeof D.query==="object"?new URLSearchParams(D.query).toString().replace("+","%20"):D.query,W=this.pathStyle?`${this.pathPrefix}/${Y}/${D.objectName}`:`/${D.objectName}`,$=J?`?${J}`:"",G=W+$,B=W.split("/").map((H)=>encodeURIComponent(H)).join("/")+$;return{headers:Q,host:X,path:G,encodedPath:B}}async makeRequest({method:D,payload:Y,...X}){let Q=new Date,{headers:J,host:W,path:$,encodedPath:G}=this.buildRequestOptions(X),B=X.statusCode??200;if(D==="POST"||D==="PUT"||D==="DELETE"){if(Y===void 0)Y=new Uint8Array;else if(typeof Y==="string")Y=new TextEncoder().encode(Y);J.set("Content-Length",String(Y.length))}else if(Y)throw Error(`Unexpected payload on ${D} request.`);let H=await vJ(Y??new Uint8Array);if(J.set("x-amz-date",B5(Q)),J.set("x-amz-content-sha256",H),this.accessKey){if(this.sessionToken)J.set("x-amz-security-token",this.sessionToken);J.set("authorization",await BP({headers:J,method:D,path:$,accessKey:this.accessKey,secretKey:this.#D,region:this.region,date:Q}))}let F=`${this.protocol}//${W}${G}`,K=await fetch(F,{method:D,headers:J,body:Y});if(K.status!==B){if(K.status>=400)throw await WP(K);else if(K.status===301)throw new JD(K.status,"UnexpectedRedirect",'The server unexpectedly returned a redirect response. With AWS S3, this usually means you need to use a region-specific endpoint like "s3.us-west-2.amazonaws.com" instead of "s3.amazonaws.com"');throw new JD(K.status,"UnexpectedStatusCode",`Unexpected response code from the server (expected ${B}, got ${K.status} ${K.statusText}).`)}if(!X.returnBody)await K.body?.getReader().read();return K}async deleteObject(D,Y={}){let X=this.getBucketName(Y);if(!WD(D))throw new E9(D);let Q=Y.versionId?{versionId:Y.versionId}:{},J=new Headers;if(Y.governanceBypass)J.set("X-Amz-Bypass-Governance-Retention","true");await this.makeRequest({method:"DELETE",bucketName:X,objectName:D,headers:J,query:Q,statusCode:204})}async exists(D,Y){try{return await this.statObject(D,Y),!0}catch(X){if(X instanceof JD&&X.statusCode===404)return!1;throw X}}getObject(D,Y){return this.getPartialObject(D,{...Y,offset:0,length:0})}async getPartialObject(D,{offset:Y,length:X,...Q}){let J=this.getBucketName(Q);if(!WD(D))throw new E9(D);let W=new Headers(Object.entries(Q.metadata??{})),$=200;if(Y||X){let B="";if(Y)B=`bytes=${+Y}-`;else B="bytes=0-",Y=0;if(X)B+=`${+X+Y-1}`;W.set("Range",B),$=206}let G={...Q.responseParams,...Q.versionId?{versionId:Q.versionId}:{}};return await this.makeRequest({method:"GET",bucketName:J,objectName:D,headers:W,query:G,statusCode:$,returnBody:!0})}getPresignedUrl(D,Y,X={}){if(!this.accessKey)throw new $5;if(!WD(Y))throw new E9(Y);let{headers:Q,path:J}=this.buildRequestOptions({objectName:Y,bucketName:X.bucketName,query:X.parameters}),W=X.requestDate??new Date,$=X.expirySeconds??604800;return HP({protocol:this.protocol,headers:Q,method:D,path:J,accessKey:this.accessKey,secretKey:this.#D,sessionToken:this.sessionToken,region:this.region,date:W,expirySeconds:$})}presignedGetObject(D,Y={}){let{versionId:X,responseParams:Q,...J}=Y,W={...Q,...X?{versionId:X}:{}};return this.getPresignedUrl("GET",D,{parameters:W,...J})}async*listObjects(D={}){for await(let Y of this.listObjectsGrouped({...D,delimiter:""}))if(Y.type==="Object")yield Y;else throw Error(`Unexpected result from listObjectsGrouped(): ${Y}`)}async*listObjectsGrouped(D){let Y=this.getBucketName(D),X="",Q=D.pageSize??1000;if(Q<1||Q>1000)throw new x8("pageSize must be between 1 and 1,000.");let J=0;while(!0){let W=D.maxResults?Math.min(Q,D.maxResults-J):Q;if(W===0)return;let G=await(await this.makeRequest({method:"GET",bucketName:Y,objectName:"",query:{"list-type":"2",prefix:D.prefix??"",delimiter:D.delimiter,"max-keys":String(W),...X?{"continuation-token":X}:{}},returnBody:!0})).text(),B=QD(G).root;if(!B||B.name!=="ListBucketResult")throw Error(`Unexpected response: ${G}`);let H=B.children.filter((U)=>U.name==="CommonPrefixes").flatMap((U)=>U.children),F=[];for(let U of H)F.push({type:"CommonPrefix",prefix:U.content??""}),J++;for(let U of B.children.filter((z)=>z.name==="Contents"))F.push({type:"Object",key:U.children.find((z)=>z.name==="Key")?.content??"",etag:G5(U.children.find((z)=>z.name==="ETag")?.content??""),size:parseInt(U.children.find((z)=>z.name==="Size")?.content??"",10),lastModified:new Date(U.children.find((z)=>z.name==="LastModified")?.content??"invalid")}),J++;F.sort((U,z)=>{let w=U.type==="Object"?U.key:U.prefix,V=z.type==="Object"?z.key:z.prefix;return w>V?1:w<V?-1:0});for(let U of F)yield U;if(B.children.find((U)=>U.name==="IsTruncated")?.content==="true"){let U=B.children.find((z)=>z.name==="NextContinuationToken")?.content;if(!U)throw Error("Unexpectedly missing continuation token, but server said there are more results.");X=U}else return}}async putObject(D,Y,X){let Q=this.getBucketName(X);if(!WD(D))throw new E9(D);let J,W;if(typeof Y==="string"){let H=new TextEncoder().encode(Y);if(typeof ReadableStream.from<"u")W=ReadableStream.from([H]);else W=new ReadableStream({start(F){F.enqueue(H),F.close()}});J=H.length}else if(Y instanceof Uint8Array){if(typeof ReadableStream.from<"u")W=ReadableStream.from([Y]);else W=new ReadableStream({start(H){H.enqueue(Y),H.close()}});J=Y.byteLength}else if(Y instanceof ReadableStream)W=Y;else throw new x8("Invalid stream/data type provided.");if(X?.size!==void 0){if(J!==void 0&&X?.size!==J)throw new x8(`size was specified (${X.size}) but doesn't match auto-detected size (${J}).`);if(typeof X.size!=="number"||X.size<0||isNaN(X.size))throw new x8(`invalid size specified: ${X.size}`);else J=X.size}let $=X?.partSize??this.calculatePartSize(J);if($<d90)throw new x8("Part size should be greater than 5MB");else if($>p90)throw new x8("Part size should be less than 6MB");let G=new r2($),B=new DF({client:this,bucketName:Q,objectName:D,partSize:$,metadata:X?.metadata??{}});return await W.pipeThrough(G).pipeTo(B),B.getResult()}calculatePartSize(D){if(D===void 0)D=JF;if(D>JF)throw TypeError(`size should not be more than ${JF}`);let Y=67108864;while(!0){if(Y*1e4>D)return Y;Y+=16777216}}async statObject(D,Y){let X=this.getBucketName(Y);if(!WD(D))throw new E9(D);let Q={};if(Y?.versionId)Q.versionId=Y.versionId;let J=await this.makeRequest({method:"HEAD",bucketName:X,objectName:D,query:Q,headers:new Headers(Y?.headers)}),W={};for(let $ of l90)if(J.headers.has($))W[$]=J.headers.get($);return J.headers.forEach(($,G)=>{if(G.startsWith("x-amz-meta-"))W[G]=J.headers.get(G)}),{type:"Object",key:D,size:parseInt(J.headers.get("content-length")??"",10),metadata:W,lastModified:new Date(J.headers.get("Last-Modified")??"error: missing last modified"),versionId:J.headers.get("x-amz-version-id")||null,etag:G5(J.headers.get("ETag")??"")}}async copyObject(D,Y,X){let Q=this.getBucketName(X),J=D.sourceBucketName??Q;if(!WD(Y))throw new E9(Y);let W=`${J}/${D.sourceKey}`;if(D.sourceVersionId)W+=`?versionId=${D.sourceVersionId}`;let $=new Headers(X?.metadata);if(X?.metadata!==void 0)$.set("x-amz-metadata-directive","REPLACE");$.set("x-amz-copy-source",W);let G=await this.makeRequest({method:"PUT",bucketName:Q,objectName:Y,headers:$,returnBody:!0}),B=await G.text(),H=QD(B).root;if(!H||H.name!=="CopyObjectResult")throw Error(`Unexpected response: ${B}`);let F=H.children.find((U)=>U.name==="ETag")?.content??"",K=H.children.find((U)=>U.name==="LastModified")?.content;if(K===void 0)throw Error("Unable to find <LastModified>...</LastModified> from the server.");return{copySourceVersionId:G.headers.get("x-amz-copy-source-version-id")||null,etag:G5(F),lastModified:new Date(K),versionId:G.headers.get("x-amz-version-id")||null}}async bucketExists(D){try{return await this.listObjects({bucketName:D}).next(),!0}catch(Y){if(Y instanceof JD&&Y.statusCode===404)return!1;throw Y}}async makeBucket(D){await this.makeRequest({method:"PUT",bucketName:this.getBucketName({bucketName:D}),objectName:"",statusCode:200})}async removeBucket(D){await this.makeRequest({method:"DELETE",bucketName:this.getBucketName({bucketName:D}),objectName:"",statusCode:204})}presignedPostObject(D,Y={}){if(!WD(D))throw new E9(D);let X=this.getBucketName(Y);if(!X)throw Error("Bucket name is required for presignedPost, but none was provided either to this method nor to the client constructor");let Q=Y.requestDate||new Date,J=Y.expirySeconds??3600;return zP({protocol:this.protocol,host:this.host,bucket:X,objectKey:D,accessKey:this.accessKey||"",secretKey:this.#D||"",region:this.region,date:Q,expirySeconds:J,conditions:Y.conditions,fields:Y.fields})}}function UP(D){try{let Y=I0(D);return u8(u9(Y,"patch"))}catch{let Y=D.match(/^(\d+)\.(\d+)\.(\d+)/);if(Y){let[,X,Q,J]=Y;return`${X}.${Q}.${Number.parseInt(J)+1}`}return"1.0.1"}}async function wP(D,Y){let X=UP(D),Q=Y?` for ${Y}`:"",J=await D8({message:`How do you want to handle the version${Q}?`,options:[{value:"auto",label:`Auto: Bump patch version (${D} → ${X})`},{value:"manual",label:"Manual: I'll provide the version number"}]});if(R0(J))return null;if(J==="auto")return q.info(`\uD83D\uDD22 Auto-bumped version from ${D} to ${X}`),X;let W=await h8({message:`Current version is ${D}. Enter new version:`,validate:($)=>{if(!$)return"Version is required";if(!$.match(/^\d+\.\d+\.\d+/))return"Please enter a valid version (x.y.z)"}});if(R0(W))return null;return W}function VP(D){let Y=UP(D);try{let X=I0(D);return[Y,u8(u9(X,"minor")),`${D}-beta.1`,`${D}.1`]}catch{return[Y,`${D}.1`,`${D}-beta.1`,`${D}-rc.1`]}}import{readdirSync as LP,readFileSync as n90,statSync as i90}from"node:fs";import{extname as r90,join as a90}from"node:path";function o90(D,Y){return n90(D,"utf8").includes(Y)}function QY(D,Y){let X=LP(D);for(let Q of X){let J=a90(D,Q),W=i90(J);if(W.isDirectory()){if(QY(J,Y))return!0}else if(W.isFile()&&r90(J)===".js"){if(o90(J,Y))return!0}}return!1}function fJ(D){if(LP(D).indexOf("index.html")>-1)return!0;return!1}import{Buffer as Z50}from"node:buffer";import{createHash as A50}from"node:crypto";import{createReadStream as NF,statSync as E50}from"node:fs";import{platform as R50}from"node:os";import{join as j50,posix as T50,win32 as EI}from"node:path";import{cwd as S50}from"node:process";import{buffer as ZF}from"node:stream/consumers";import{createBrotliCompress as P50}from"node:zlib";var RI=y1(AI(),1),jI=y1(yQ(),1);async function I50(D,Y){try{let X=new URL(`${D.hostFilesApi}/files/read/attachments/${encodeURIComponent(Y)}`);return X.searchParams.set("nocache",`${Date.now()}`),(await fetch(X.toString(),{method:"GET",headers:{range:"bytes=0-0","cache-control":"no-cache"}})).ok}catch{return!1}}var C50=8192;async function x50(D){let Y=h1(S50()),X=await l8("@capgo/capacitor-updater",Y,D.packageJson),Q;try{Q=X?I0(X):void 0}catch{Q=void 0}if(!X||!Q)return{version:null,supportsBrotliV2:!1};let J=!U6(Q,void 0,void 0,n3);return{version:`${Q.major}.${Q.minor}.${Q.patch}`,supportsBrotliV2:J}}function _50(D,Y){if(!Y)return!1;let X=Y.split(",").map((Q)=>Q.trim()).filter((Q)=>!!Q);if(X.length===0)return!1;return RI.isMatch(D,X)}async function b50(D,Y,X){let J=E50(D).size,W=await ZF(NF(D));if(J===0)return{buffer:W,useBrotli:!1};if(_50(Y,X.noBrotliPatterns))return{buffer:W,useBrotli:!1};if(J<C50)return{buffer:W,useBrotli:!1};try{let $=await ZF(NF(D).pipe(P50({})));if($.length>=J-10)return{buffer:W,useBrotli:!1};return{buffer:$,useBrotli:!0}}catch($){return q.warn(`Brotli compression failed for ${D}: ${$}, using original file`),{buffer:W,useBrotli:!1}}}async function TI(D,Y,X,Q,J,W,$=!1){let G=d0();G.start(J!=="v2"?"Generating the update manifest":`Generating the update manifest with ${$?"V3":"V2"} encryption`);let B=await DS(D);if(J==="v2")for(let H of B)H.hash=$?i4(H.hash,W):n4(H.hash,W);return G.stop("Manifest generated successfully"),await C0(Y,{channel:"partial-update",event:"Generate manifest",icon:"\uD83D\uDCC2",user_id:X,tags:{"app-id":Q},notify:!1}),B}function k50(D){if(R50()!=="win32")return D;return EI.normalize(D).split(EI.sep).join(T50.sep)}function v50(D){let Y=D.split("/").map((X)=>encodeURIComponent(X)).join("/");if(D.includes(" "))q.warn(`File "${D}" contains spaces in its name.`);return Y}async function SI(D,Y,X,Q,J,W,$){let G=d0();G.start("Preparing partial update with TUS protocol");let B=performance.now(),H=await c8(),F=!!($.partial||$.delta||$.partialOnly||$.deltaOnly),{version:K,supportsBrotliV2:U}=await x50($);if(!U)throw Error(`Your project is using an older version of @capgo/capacitor-updater (${K||"unknown"}). To use Delta updates, please upgrade to version ${tT} (v5), ${eT} (v6) or ${n3} (v7) or higher.`);else if($.disableBrotli)q.info("Brotli compression disabled by user request");else if($.noBrotliPatterns)q.info(`Files matching patterns (${$.noBrotliPatterns}) will be excluded from brotli compression`);let z=Y.filter((O)=>O.file.includes(" "));if(z.length>0)throw Error(`Files with spaces in their names (${z.map((O)=>O.file).join(", ")}). Please rename the files.`);let w=0,V=Y.length,L=0;try{G.message(`Uploading ${V} files using TUS protocol`);let O=async(I)=>{let x=j50(X,I.file),y=k50(I.file),C,c=!1;if($.disableBrotli)C=await ZF(NF(x)),c=!1;else{let N=await b50(x,y,$);C=N.buffer,c=N.useBrotli}let S=C;if(W)S=p4(C,W.sessionKey,W.ivSessionKey);let p=y;if(c)p=`${y}.br`,L++;let u=v50(p),J0=A50("sha256").update(I.hash).digest("hex"),_;if(W){let N=Z50.from(W.ivSessionKey).toString("hex");_=`orgs/${J}/apps/${Q}/delta/${N}/${J0}_${u}`}else _=`orgs/${J}/apps/${Q}/delta/${J0}_${u}`;if(!W&&await I50(H,_))return w++,Promise.resolve({file_name:u,s3_path:_,file_hash:I.hash});return new Promise((N,A)=>{G.message(`Prepare upload partial file: ${y}`);let R=YD(p);new jI.Upload(S,{endpoint:`${H.hostFilesApi}/files/upload/attachments/`,chunkSize:$.tusChunkSize,retryDelays:[0,1000,3000,5000,1e4],removeFingerprintOnSuccess:!0,metadata:{filename:_,filetype:R},headers:{Authorization:D},onError:(v)=>{let b=v.toString(),r;try{let g=b.match(/response text: (\{.*?\})/);if(g&&g[1])r=JSON.parse(g[1]).moreInfo?.requestId}catch{}let k=r?` [requestId: ${r}]`:"";q.error(`Failed to upload ${y}: ${b}${k}`),A(v)},onProgress(){let v=(w/V*100).toFixed(2);G.message(`Uploading partial update: ${v}%`)},onSuccess(){w++,N({file_name:u,s3_path:_,file_hash:I.hash})}}).start()})},Z=500,M=[];for(let I=0;I<Y.length;I+=Z){let x=Y.slice(I,I+Z),y=Math.floor(I/Z)+1,C=Math.ceil(Y.length/Z);if(C>1)G.message(`Processing batch ${y}/${C} (${x.length} files)`);let c=await Promise.all(x.map((S)=>O(S)));M.push(...c)}let j=((performance.now()-B)/1000).toFixed(2);if(G.stop(`Partial update uploaded successfully \uD83D\uDCAA in (${j} seconds)`),L>0)q.info(`${L} of ${V} files were compressed with brotli and use .br extension`);return await C0(D,{channel:"app",event:`App Partial TUS done${L>0?" with .br extension":""}`,icon:"⏫",user_id:J,tags:{"app-id":Q},notify:!1}),await C0(D,{channel:"performance",event:"Partial upload performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":Q,time:j},notify:!1}),M}catch(O){let M=((performance.now()-B)/1000).toFixed(2);if(G.stop(`Failed to upload Partial bundle (after ${M} seconds)`),F)throw q.error(`Error uploading partial update: ${O}`),q.error("Delta/partial upload was explicitly requested but failed. Upload aborted."),O;else return q.info(`Error uploading partial update: ${O}, This is not a critical error, the bundle has been uploaded without the partial files`),null}}function g0(D){throw q.error(D),Error(D)}function h50(D){let Y=new G1;Y.headers=["Package","Local","Remote","Status","Details"],Y.theme=G1.roundTheme,Y.rows=[];for(let X of D){let{name:Q,localVersion:J,remoteVersion:W}=X,$=W5(X),G=$.compatible?"✅":"❌";Y.rows.push([Q,J||"-",W||"-",G,$.message])}q.info(Y.toString())}async function g50(D,Y){let X=C6("",Y.packageJson),Q=Y.bundle||D?.plugins?.CapacitorUpdater?.version||X||`0.0.1-beta.${y50().split("-")[0]}`;if(!v4.test(Q))g0(`Your bundle name ${Q}, is not valid it should follow semver convention : https://semver.org/`);return Q}function u50(D){let Y=D.apikey||X0();if(!Y)g0("Missing API key, you need to provide an API key to upload your bundle");return Y}function m50(D,Y,X){let Q=_0(D,X),J=Y.path||X?.webDir;if(!Q)g0("Missing argument, you need to provide a appid or be in a capacitor project");if(!J)g0("Missing argument, you need to provide a path (--path), or be in a capacitor project");if(!dJ(J))g0(`Path ${J} does not exist, build your app first, or provide a valid path`);return{appid:Q,path:J}}function c50(D,Y){let X=D.codeCheck;if(typeof X>"u"||X){if(!QY(Y,"notifyAppReady"))g0(`notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready
|
|
290
|
-
If you are sure your app has this code, you can use the --no-code-check option`);if(!fJ(Y))g0(`index.html is missing in the root folder of ${Y}`)}}async function l50(D,Y,X,Q,J,W){let{ignoreMetadataCheck:$,autoMinUpdateVersion:G,minUpdateVersion:B}=X,{data:H,error:F}=await D.from("channels").select("disable_auto_update, version ( min_update_version, native_packages )").eq("name",Q).eq("app_id",J).single(),K=!!H&&H.disable_auto_update==="version_number",U,z;if(!F&&H&&H.version&&H.version.native_packages&&!$){let L=d0();L.start(`Checking bundle compatibility with channel ${Q}`);let{finalCompatibility:O,localDependencies:Z}=await AJ(D,J,Q,X.packageJson,X.nodeModules);if(z=O,U=Z,z.filter((E)=>!XD(E)).length>0){if(L.stop(`Bundle NOT compatible with ${Q} channel`),q.warn(""),h50(z),q.warn(""),q.warn("An app store update may be required for these changes to take effect."),G)B=W,q.info(`Auto set min-update-version to ${B}`)}else if(G)try{let{min_update_version:E}=H.version;if(!E||!v4.test(E))g0("Invalid remote min update version, skipping auto setting compatibility");B=E,L.stop(`Auto set min-update-version to ${B}`)}catch{g0(`Cannot auto set compatibility, invalid data ${H}`)}else L.stop(`Bundle compatible with ${Q} channel`)}else if(!$){if(q.warn(`Channel ${Q} is new or it's your first upload with compatibility check, it will be ignored this time`),U=await j2(X.packageJson,X.nodeModules),G)B=W,q.info(`Auto set min-update-version to ${B}`)}if(K&&!B&&!$)g0("You need to provide a min-update-version to upload a bundle to this channel");if(B){if(!v4.test(B))g0(`Your minimal version update ${B}, is not valid it should follow semver convention : https://semver.org/`)}let w=U?new Map(U.filter((L)=>!!L.native&&L.native!==void 0).map((L)=>[L.name,L])):new Map;return{nativePackages:w.size>0||!X.ignoreMetadataCheck?Array.from(w,([L,O])=>({name:L,version:O.version,...O.ios_checksum&&{ios_checksum:O.ios_checksum},...O.android_checksum&&{android_checksum:O.android_checksum}})):void 0,minUpdateVersion:B}}async function d50(D,Y,X,Q=!1,J=!1){let{data:W,error:$}=await D.rpc("exist_app_versions",{appid:Y,name_version:X}).single();if(W||$){if(Q)return q.warn(`Version ${X} already exists - exiting gracefully due to --silent-fail option`),e("Bundle version already exists - exiting gracefully \uD83C\uDF89"),!0;if(J){q.error(`❌ Version ${X} already exists`);let G=VP(X);q.info("\uD83D\uDCA1 Here are some suggestions:"),G.forEach((F,K)=>{q.info(` ${K+1}. ${F}`)});let B=await D8({message:"What would you like to do?",options:[{value:"suggest1",label:`Use ${G[0]}`},{value:"suggest2",label:`Use ${G[1]}`},{value:"suggest3",label:`Use ${G[2]}`},{value:"suggest4",label:`Use ${G[3]}`},{value:"custom",label:"Enter a custom version"},{value:"cancel",label:"Cancel upload"}]});if(R0(B)||B==="cancel")g0("Upload cancelled by user");let H;if(B==="custom"){let F=await wP(X,"upload");if(!F)g0("Upload cancelled by user");H=F}else{let F=Number.parseInt(B.replace("suggest",""))-1;H=G[F]}return q.info(`\uD83D\uDD04 Retrying with new version: ${H}`),H}g0(`Version ${X} already exists ${m($)}`)}return!1}async function p50(D,Y,X,Q,J,W,$,G){let B,H,F="",K=null,U="none",z="",w="",V=Y.keyV2,L=Y.key===!1,O=d0();O.start(`Zipping bundle from ${D}`),K=await NJ(D),O.message("Calculating checksum");let Z=
|
|
289
|
+
`)}async function XF(D,Y,X){let Q=t2(D),J=await F5("AWS4"+X,Q),W=await F5(J,Y),$=await F5(W,"s3");return await F5($,"aws4_request")}function QF(D,Y,X){return`${D}/${e2(Y,X)}`}async function F5(D,Y){let X=new TextEncoder,Q=await crypto.subtle.importKey("raw",D instanceof Uint8Array?D:X.encode(D),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]),J=await crypto.subtle.sign("HMAC",Q,Y instanceof Uint8Array?Y:X.encode(Y));return new Uint8Array(J)}async function zP(D){if(!D.accessKey)throw new $5;if(!D.secretKey)throw new DY;if(D.expirySeconds<1||D.expirySeconds>604800)throw new kJ;let Y=new Date(D.date);Y.setSeconds(Y.getSeconds()+D.expirySeconds);let X=QF(D.accessKey,D.region,D.date),Q=B5(D.date),J={"X-Amz-Algorithm":XY,"X-Amz-Credential":X,"X-Amz-Date":Q,key:D.objectKey,...D.fields},W=[{bucket:D.bucket},{key:D.objectKey},{"X-Amz-Algorithm":XY},{"X-Amz-Credential":X},{"X-Amz-Date":Q}];if(D.conditions)W.push(...D.conditions);for(let[z,w]of Object.entries(D.fields||{})){if(["key","X-Amz-Algorithm","X-Amz-Credential","X-Amz-Date"].includes(z))continue;W.push({[z]:w})}let $={expiration:Y.toISOString(),conditions:W},G=new TextEncoder().encode(JSON.stringify($)),B=btoa(String.fromCharCode(...G));J.policy=B;let H=B,F=await XF(D.date,D.region,D.secretKey),K=YY(await F5(F,H)).toLowerCase();return J["X-Amz-Signature"]=K,{url:`${D.protocol}//${D.host}/${D.bucket}`,fields:J}}var l90=["Content-Type","Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Expires","x-amz-checksum-sha256","x-amz-grant-full-control","x-amz-grant-read","x-amz-grant-read-acp","x-amz-grant-write-acp","x-amz-server-side-encryption","x-amz-storage-class","x-amz-website-redirect-location","x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5","x-amz-server-side-encryption-aws-kms-key-id","x-amz-server-side-encryption-context","x-amz-server-side-encryption-bucket-key-enabled","x-amz-request-payer","x-amz-tagging","x-amz-object-lock-mode","x-amz-object-lock-retain-until-date","x-amz-object-lock-legal-hold","x-amz-expected-bucket-owner"],d90=5242880,p90=5368709120,JF=5497558138880;class yJ{host;port;protocol;accessKey;#D;sessionToken;defaultBucket;region;userAgent="s3-lite-client";pathStyle;pathPrefix;constructor({endPoint:D,useSSL:Y,port:X,pathPrefix:Q,...J}){if(/^https?:\/\//i.test(D)){if(Y!==void 0||X!==void 0||Q!==void 0)throw new x8("useSSL/port/pathPrefix cannot be specified if endPoint is a URL.");try{let $=new URL(D);if(D=$.hostname,Y=$.protocol==="https:",X=$.port?parseInt($.port,10):Y?443:80,$.pathname&&$.pathname!=="/")Q=$.pathname.endsWith("/")?$.pathname.slice(0,-1):$.pathname}catch{throw new bJ(`Invalid endPoint URL: ${D}`)}}if(typeof D!=="string"||D.length===0)throw new bJ(`Invalid endPoint: ${D}`);if(Y===void 0)Y=!0;if(X!==void 0&&!$P(X))throw new x8(`Invalid port: ${X}`);if(J.accessKey&&!J.secretKey)throw new x8("If specifying access key, secret key must also be provided.");if(J.accessKey&&J.accessKey.startsWith("ASIA")&&!J.sessionToken)throw new x8("If specifying temporary access key, session token must also be provided.");let W=Y?443:80;if(this.port=X??W,this.host=D.toLowerCase()+(this.port!==W?`:${this.port}`:""),this.protocol=Y?"https:":"http:",this.accessKey=J.accessKey,this.#D=J.secretKey??"",this.sessionToken=J.sessionToken,this.pathStyle=J.pathStyle??!0,this.pathPrefix=Q??"",this.defaultBucket=J.bucket,this.region=J.region,this.pathPrefix){if(!this.pathStyle)throw new x8("pathPrefix is incompatible with pathStyle=false");if(!this.pathPrefix.startsWith("/"))throw new x8("pathPrefix should start with /");if(this.pathPrefix.endsWith("/"))throw new x8("pathPrefix should not end with /")}}getBucketName(D){let Y=D?.bucketName??this.defaultBucket;if(Y===void 0||!GP(Y))throw new a2(Y??"");return Y}buildRequestOptions(D){let Y=this.getBucketName(D),X=this.pathStyle?this.host:`${Y}.${this.host}`,Q=D.headers??new Headers;Q.set("host",X);let J=typeof D.query==="object"?new URLSearchParams(D.query).toString().replace("+","%20"):D.query,W=this.pathStyle?`${this.pathPrefix}/${Y}/${D.objectName}`:`/${D.objectName}`,$=J?`?${J}`:"",G=W+$,B=W.split("/").map((H)=>encodeURIComponent(H)).join("/")+$;return{headers:Q,host:X,path:G,encodedPath:B}}async makeRequest({method:D,payload:Y,...X}){let Q=new Date,{headers:J,host:W,path:$,encodedPath:G}=this.buildRequestOptions(X),B=X.statusCode??200;if(D==="POST"||D==="PUT"||D==="DELETE"){if(Y===void 0)Y=new Uint8Array;else if(typeof Y==="string")Y=new TextEncoder().encode(Y);J.set("Content-Length",String(Y.length))}else if(Y)throw Error(`Unexpected payload on ${D} request.`);let H=await vJ(Y??new Uint8Array);if(J.set("x-amz-date",B5(Q)),J.set("x-amz-content-sha256",H),this.accessKey){if(this.sessionToken)J.set("x-amz-security-token",this.sessionToken);J.set("authorization",await BP({headers:J,method:D,path:$,accessKey:this.accessKey,secretKey:this.#D,region:this.region,date:Q}))}let F=`${this.protocol}//${W}${G}`,K=await fetch(F,{method:D,headers:J,body:Y});if(K.status!==B){if(K.status>=400)throw await WP(K);else if(K.status===301)throw new JD(K.status,"UnexpectedRedirect",'The server unexpectedly returned a redirect response. With AWS S3, this usually means you need to use a region-specific endpoint like "s3.us-west-2.amazonaws.com" instead of "s3.amazonaws.com"');throw new JD(K.status,"UnexpectedStatusCode",`Unexpected response code from the server (expected ${B}, got ${K.status} ${K.statusText}).`)}if(!X.returnBody)await K.body?.getReader().read();return K}async deleteObject(D,Y={}){let X=this.getBucketName(Y);if(!WD(D))throw new E9(D);let Q=Y.versionId?{versionId:Y.versionId}:{},J=new Headers;if(Y.governanceBypass)J.set("X-Amz-Bypass-Governance-Retention","true");await this.makeRequest({method:"DELETE",bucketName:X,objectName:D,headers:J,query:Q,statusCode:204})}async exists(D,Y){try{return await this.statObject(D,Y),!0}catch(X){if(X instanceof JD&&X.statusCode===404)return!1;throw X}}getObject(D,Y){return this.getPartialObject(D,{...Y,offset:0,length:0})}async getPartialObject(D,{offset:Y,length:X,...Q}){let J=this.getBucketName(Q);if(!WD(D))throw new E9(D);let W=new Headers(Object.entries(Q.metadata??{})),$=200;if(Y||X){let B="";if(Y)B=`bytes=${+Y}-`;else B="bytes=0-",Y=0;if(X)B+=`${+X+Y-1}`;W.set("Range",B),$=206}let G={...Q.responseParams,...Q.versionId?{versionId:Q.versionId}:{}};return await this.makeRequest({method:"GET",bucketName:J,objectName:D,headers:W,query:G,statusCode:$,returnBody:!0})}getPresignedUrl(D,Y,X={}){if(!this.accessKey)throw new $5;if(!WD(Y))throw new E9(Y);let{headers:Q,path:J}=this.buildRequestOptions({objectName:Y,bucketName:X.bucketName,query:X.parameters}),W=X.requestDate??new Date,$=X.expirySeconds??604800;return HP({protocol:this.protocol,headers:Q,method:D,path:J,accessKey:this.accessKey,secretKey:this.#D,sessionToken:this.sessionToken,region:this.region,date:W,expirySeconds:$})}presignedGetObject(D,Y={}){let{versionId:X,responseParams:Q,...J}=Y,W={...Q,...X?{versionId:X}:{}};return this.getPresignedUrl("GET",D,{parameters:W,...J})}async*listObjects(D={}){for await(let Y of this.listObjectsGrouped({...D,delimiter:""}))if(Y.type==="Object")yield Y;else throw Error(`Unexpected result from listObjectsGrouped(): ${Y}`)}async*listObjectsGrouped(D){let Y=this.getBucketName(D),X="",Q=D.pageSize??1000;if(Q<1||Q>1000)throw new x8("pageSize must be between 1 and 1,000.");let J=0;while(!0){let W=D.maxResults?Math.min(Q,D.maxResults-J):Q;if(W===0)return;let G=await(await this.makeRequest({method:"GET",bucketName:Y,objectName:"",query:{"list-type":"2",prefix:D.prefix??"",delimiter:D.delimiter,"max-keys":String(W),...X?{"continuation-token":X}:{}},returnBody:!0})).text(),B=QD(G).root;if(!B||B.name!=="ListBucketResult")throw Error(`Unexpected response: ${G}`);let H=B.children.filter((U)=>U.name==="CommonPrefixes").flatMap((U)=>U.children),F=[];for(let U of H)F.push({type:"CommonPrefix",prefix:U.content??""}),J++;for(let U of B.children.filter((z)=>z.name==="Contents"))F.push({type:"Object",key:U.children.find((z)=>z.name==="Key")?.content??"",etag:G5(U.children.find((z)=>z.name==="ETag")?.content??""),size:parseInt(U.children.find((z)=>z.name==="Size")?.content??"",10),lastModified:new Date(U.children.find((z)=>z.name==="LastModified")?.content??"invalid")}),J++;F.sort((U,z)=>{let w=U.type==="Object"?U.key:U.prefix,V=z.type==="Object"?z.key:z.prefix;return w>V?1:w<V?-1:0});for(let U of F)yield U;if(B.children.find((U)=>U.name==="IsTruncated")?.content==="true"){let U=B.children.find((z)=>z.name==="NextContinuationToken")?.content;if(!U)throw Error("Unexpectedly missing continuation token, but server said there are more results.");X=U}else return}}async putObject(D,Y,X){let Q=this.getBucketName(X);if(!WD(D))throw new E9(D);let J,W;if(typeof Y==="string"){let H=new TextEncoder().encode(Y);if(typeof ReadableStream.from<"u")W=ReadableStream.from([H]);else W=new ReadableStream({start(F){F.enqueue(H),F.close()}});J=H.length}else if(Y instanceof Uint8Array){if(typeof ReadableStream.from<"u")W=ReadableStream.from([Y]);else W=new ReadableStream({start(H){H.enqueue(Y),H.close()}});J=Y.byteLength}else if(Y instanceof ReadableStream)W=Y;else throw new x8("Invalid stream/data type provided.");if(X?.size!==void 0){if(J!==void 0&&X?.size!==J)throw new x8(`size was specified (${X.size}) but doesn't match auto-detected size (${J}).`);if(typeof X.size!=="number"||X.size<0||isNaN(X.size))throw new x8(`invalid size specified: ${X.size}`);else J=X.size}let $=X?.partSize??this.calculatePartSize(J);if($<d90)throw new x8("Part size should be greater than 5MB");else if($>p90)throw new x8("Part size should be less than 6MB");let G=new r2($),B=new DF({client:this,bucketName:Q,objectName:D,partSize:$,metadata:X?.metadata??{}});return await W.pipeThrough(G).pipeTo(B),B.getResult()}calculatePartSize(D){if(D===void 0)D=JF;if(D>JF)throw TypeError(`size should not be more than ${JF}`);let Y=67108864;while(!0){if(Y*1e4>D)return Y;Y+=16777216}}async statObject(D,Y){let X=this.getBucketName(Y);if(!WD(D))throw new E9(D);let Q={};if(Y?.versionId)Q.versionId=Y.versionId;let J=await this.makeRequest({method:"HEAD",bucketName:X,objectName:D,query:Q,headers:new Headers(Y?.headers)}),W={};for(let $ of l90)if(J.headers.has($))W[$]=J.headers.get($);return J.headers.forEach(($,G)=>{if(G.startsWith("x-amz-meta-"))W[G]=J.headers.get(G)}),{type:"Object",key:D,size:parseInt(J.headers.get("content-length")??"",10),metadata:W,lastModified:new Date(J.headers.get("Last-Modified")??"error: missing last modified"),versionId:J.headers.get("x-amz-version-id")||null,etag:G5(J.headers.get("ETag")??"")}}async copyObject(D,Y,X){let Q=this.getBucketName(X),J=D.sourceBucketName??Q;if(!WD(Y))throw new E9(Y);let W=`${J}/${D.sourceKey}`;if(D.sourceVersionId)W+=`?versionId=${D.sourceVersionId}`;let $=new Headers(X?.metadata);if(X?.metadata!==void 0)$.set("x-amz-metadata-directive","REPLACE");$.set("x-amz-copy-source",W);let G=await this.makeRequest({method:"PUT",bucketName:Q,objectName:Y,headers:$,returnBody:!0}),B=await G.text(),H=QD(B).root;if(!H||H.name!=="CopyObjectResult")throw Error(`Unexpected response: ${B}`);let F=H.children.find((U)=>U.name==="ETag")?.content??"",K=H.children.find((U)=>U.name==="LastModified")?.content;if(K===void 0)throw Error("Unable to find <LastModified>...</LastModified> from the server.");return{copySourceVersionId:G.headers.get("x-amz-copy-source-version-id")||null,etag:G5(F),lastModified:new Date(K),versionId:G.headers.get("x-amz-version-id")||null}}async bucketExists(D){try{return await this.listObjects({bucketName:D}).next(),!0}catch(Y){if(Y instanceof JD&&Y.statusCode===404)return!1;throw Y}}async makeBucket(D){await this.makeRequest({method:"PUT",bucketName:this.getBucketName({bucketName:D}),objectName:"",statusCode:200})}async removeBucket(D){await this.makeRequest({method:"DELETE",bucketName:this.getBucketName({bucketName:D}),objectName:"",statusCode:204})}presignedPostObject(D,Y={}){if(!WD(D))throw new E9(D);let X=this.getBucketName(Y);if(!X)throw Error("Bucket name is required for presignedPost, but none was provided either to this method nor to the client constructor");let Q=Y.requestDate||new Date,J=Y.expirySeconds??3600;return zP({protocol:this.protocol,host:this.host,bucket:X,objectKey:D,accessKey:this.accessKey||"",secretKey:this.#D||"",region:this.region,date:Q,expirySeconds:J,conditions:Y.conditions,fields:Y.fields})}}function UP(D){try{let Y=I0(D);return u8(u9(Y,"patch"))}catch{let Y=D.match(/^(\d+)\.(\d+)\.(\d+)/);if(Y){let[,X,Q,J]=Y;return`${X}.${Q}.${Number.parseInt(J)+1}`}return"1.0.1"}}async function wP(D,Y){let X=UP(D),Q=Y?` for ${Y}`:"",J=await D8({message:`How do you want to handle the version${Q}?`,options:[{value:"auto",label:`Auto: Bump patch version (${D} → ${X})`},{value:"manual",label:"Manual: I'll provide the version number"}]});if(R0(J))return null;if(J==="auto")return q.info(`\uD83D\uDD22 Auto-bumped version from ${D} to ${X}`),X;let W=await h8({message:`Current version is ${D}. Enter new version:`,validate:($)=>{if(!$)return"Version is required";if(!$.match(/^\d+\.\d+\.\d+/))return"Please enter a valid version (x.y.z)"}});if(R0(W))return null;return W}function VP(D){let Y=UP(D);try{let X=I0(D);return[Y,u8(u9(X,"minor")),`${D}-beta.1`,`${D}.1`]}catch{return[Y,`${D}.1`,`${D}-beta.1`,`${D}-rc.1`]}}import{readdirSync as LP,readFileSync as n90,statSync as i90}from"node:fs";import{extname as r90,join as a90}from"node:path";function o90(D,Y){return n90(D,"utf8").includes(Y)}function QY(D,Y){let X=LP(D);for(let Q of X){let J=a90(D,Q),W=i90(J);if(W.isDirectory()){if(QY(J,Y))return!0}else if(W.isFile()&&r90(J)===".js"){if(o90(J,Y))return!0}}return!1}function fJ(D){if(LP(D).indexOf("index.html")>-1)return!0;return!1}import{Buffer as Z50}from"node:buffer";import{createHash as A50}from"node:crypto";import{createReadStream as NF,statSync as E50}from"node:fs";import{platform as R50}from"node:os";import{join as j50,posix as T50,win32 as EI}from"node:path";import{cwd as S50}from"node:process";import{buffer as ZF}from"node:stream/consumers";import{createBrotliCompress as P50}from"node:zlib";var RI=r1(AI(),1),jI=r1(yQ(),1);async function I50(D,Y){try{let X=new URL(`${D.hostFilesApi}/files/read/attachments/${encodeURIComponent(Y)}`);return X.searchParams.set("nocache",`${Date.now()}`),(await fetch(X.toString(),{method:"GET",headers:{range:"bytes=0-0","cache-control":"no-cache"}})).ok}catch{return!1}}var C50=8192;async function x50(D){let Y=f1(S50()),X=await l8("@capgo/capacitor-updater",Y,D.packageJson),Q;try{Q=X?I0(X):void 0}catch{Q=void 0}if(!X||!Q)return{version:null,supportsBrotliV2:!1};let J=!U6(Q,void 0,void 0,n3);return{version:`${Q.major}.${Q.minor}.${Q.patch}`,supportsBrotliV2:J}}function _50(D,Y){if(!Y)return!1;let X=Y.split(",").map((Q)=>Q.trim()).filter((Q)=>!!Q);if(X.length===0)return!1;return RI.isMatch(D,X)}async function b50(D,Y,X){let J=E50(D).size,W=await ZF(NF(D));if(J===0)return{buffer:W,useBrotli:!1};if(_50(Y,X.noBrotliPatterns))return{buffer:W,useBrotli:!1};if(J<C50)return{buffer:W,useBrotli:!1};try{let $=await ZF(NF(D).pipe(P50({})));if($.length>=J-10)return{buffer:W,useBrotli:!1};return{buffer:$,useBrotli:!0}}catch($){return q.warn(`Brotli compression failed for ${D}: ${$}, using original file`),{buffer:W,useBrotli:!1}}}async function TI(D,Y,X,Q,J,W,$=!1){let G=d0();G.start(J!=="v2"?"Generating the update manifest":`Generating the update manifest with ${$?"V3":"V2"} encryption`);let B=await DS(D);if(J==="v2")for(let H of B)H.hash=$?i4(H.hash,W):n4(H.hash,W);return G.stop("Manifest generated successfully"),await C0(Y,{channel:"partial-update",event:"Generate manifest",icon:"\uD83D\uDCC2",user_id:X,tags:{"app-id":Q},notify:!1}),B}function k50(D){if(R50()!=="win32")return D;return EI.normalize(D).split(EI.sep).join(T50.sep)}function v50(D){let Y=D.split("/").map((X)=>encodeURIComponent(X)).join("/");if(D.includes(" "))q.warn(`File "${D}" contains spaces in its name.`);return Y}async function SI(D,Y,X,Q,J,W,$){let G=d0();G.start("Preparing partial update with TUS protocol");let B=performance.now(),H=await c8(),F=!!($.partial||$.delta||$.partialOnly||$.deltaOnly),{version:K,supportsBrotliV2:U}=await x50($);if(!U)throw Error(`Your project is using an older version of @capgo/capacitor-updater (${K||"unknown"}). To use Delta updates, please upgrade to version ${tT} (v5), ${eT} (v6) or ${n3} (v7) or higher.`);else if($.disableBrotli)q.info("Brotli compression disabled by user request");else if($.noBrotliPatterns)q.info(`Files matching patterns (${$.noBrotliPatterns}) will be excluded from brotli compression`);let z=Y.filter((O)=>O.file.includes(" "));if(z.length>0)throw Error(`Files with spaces in their names (${z.map((O)=>O.file).join(", ")}). Please rename the files.`);let w=0,V=Y.length,L=0;try{G.message(`Uploading ${V} files using TUS protocol`);let O=async(I)=>{let x=j50(X,I.file),y=k50(I.file),C,c=!1;if($.disableBrotli)C=await ZF(NF(x)),c=!1;else{let N=await b50(x,y,$);C=N.buffer,c=N.useBrotli}let S=C;if(W)S=p4(C,W.sessionKey,W.ivSessionKey);let p=y;if(c)p=`${y}.br`,L++;let u=v50(p),J0=A50("sha256").update(I.hash).digest("hex"),_;if(W){let N=Z50.from(W.ivSessionKey).toString("hex");_=`orgs/${J}/apps/${Q}/delta/${N}/${J0}_${u}`}else _=`orgs/${J}/apps/${Q}/delta/${J0}_${u}`;if(!W&&await I50(H,_))return w++,Promise.resolve({file_name:u,s3_path:_,file_hash:I.hash});return new Promise((N,A)=>{G.message(`Prepare upload partial file: ${y}`);let R=YD(p);new jI.Upload(S,{endpoint:`${H.hostFilesApi}/files/upload/attachments/`,chunkSize:$.tusChunkSize,retryDelays:[0,1000,3000,5000,1e4],removeFingerprintOnSuccess:!0,metadata:{filename:_,filetype:R},headers:{Authorization:D},onError:(v)=>{let b=v.toString(),r;try{let g=b.match(/response text: (\{.*?\})/);if(g&&g[1])r=JSON.parse(g[1]).moreInfo?.requestId}catch{}let k=r?` [requestId: ${r}]`:"";q.error(`Failed to upload ${y}: ${b}${k}`),A(v)},onProgress(){let v=(w/V*100).toFixed(2);G.message(`Uploading partial update: ${v}%`)},onSuccess(){w++,N({file_name:u,s3_path:_,file_hash:I.hash})}}).start()})},Z=500,M=[];for(let I=0;I<Y.length;I+=Z){let x=Y.slice(I,I+Z),y=Math.floor(I/Z)+1,C=Math.ceil(Y.length/Z);if(C>1)G.message(`Processing batch ${y}/${C} (${x.length} files)`);let c=await Promise.all(x.map((S)=>O(S)));M.push(...c)}let j=((performance.now()-B)/1000).toFixed(2);if(G.stop(`Partial update uploaded successfully \uD83D\uDCAA in (${j} seconds)`),L>0)q.info(`${L} of ${V} files were compressed with brotli and use .br extension`);return await C0(D,{channel:"app",event:`App Partial TUS done${L>0?" with .br extension":""}`,icon:"⏫",user_id:J,tags:{"app-id":Q},notify:!1}),await C0(D,{channel:"performance",event:"Partial upload performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":Q,time:j},notify:!1}),M}catch(O){let M=((performance.now()-B)/1000).toFixed(2);if(G.stop(`Failed to upload Partial bundle (after ${M} seconds)`),F)throw q.error(`Error uploading partial update: ${O}`),q.error("Delta/partial upload was explicitly requested but failed. Upload aborted."),O;else return q.info(`Error uploading partial update: ${O}, This is not a critical error, the bundle has been uploaded without the partial files`),null}}function g0(D){throw q.error(D),Error(D)}function h50(D){let Y=new G1;Y.headers=["Package","Local","Remote","Status","Details"],Y.theme=G1.roundTheme,Y.rows=[];for(let X of D){let{name:Q,localVersion:J,remoteVersion:W}=X,$=W5(X),G=$.compatible?"✅":"❌";Y.rows.push([Q,J||"-",W||"-",G,$.message])}q.info(Y.toString())}async function g50(D,Y){let X=C6("",Y.packageJson),Q=Y.bundle||D?.plugins?.CapacitorUpdater?.version||X||`0.0.1-beta.${y50().split("-")[0]}`;if(!v4.test(Q))g0(`Your bundle name ${Q}, is not valid it should follow semver convention : https://semver.org/`);return Q}function u50(D){let Y=D.apikey||X0();if(!Y)g0("Missing API key, you need to provide an API key to upload your bundle");return Y}function m50(D,Y,X){let Q=_0(D,X),J=Y.path||X?.webDir;if(!Q)g0("Missing argument, you need to provide a appid or be in a capacitor project");if(!J)g0("Missing argument, you need to provide a path (--path), or be in a capacitor project");if(!dJ(J))g0(`Path ${J} does not exist, build your app first, or provide a valid path`);return{appid:Q,path:J}}function c50(D,Y){let X=D.codeCheck;if(typeof X>"u"||X){if(!QY(Y,"notifyAppReady"))g0(`notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready
|
|
290
|
+
If you are sure your app has this code, you can use the --no-code-check option`);if(!fJ(Y))g0(`index.html is missing in the root folder of ${Y}`)}}async function l50(D,Y,X,Q,J,W){let{ignoreMetadataCheck:$,autoMinUpdateVersion:G,minUpdateVersion:B}=X,{data:H,error:F}=await D.from("channels").select("disable_auto_update, version ( min_update_version, native_packages )").eq("name",Q).eq("app_id",J).single(),K=!!H&&H.disable_auto_update==="version_number",U,z;if(!F&&H&&H.version&&H.version.native_packages&&!$){let L=d0();L.start(`Checking bundle compatibility with channel ${Q}`);let{finalCompatibility:O,localDependencies:Z}=await AJ(D,J,Q,X.packageJson,X.nodeModules);if(z=O,U=Z,z.filter((E)=>!XD(E)).length>0){if(L.stop(`Bundle NOT compatible with ${Q} channel`),q.warn(""),h50(z),q.warn(""),q.warn("An app store update may be required for these changes to take effect."),G)B=W,q.info(`Auto set min-update-version to ${B}`)}else if(G)try{let{min_update_version:E}=H.version;if(!E||!v4.test(E))g0("Invalid remote min update version, skipping auto setting compatibility");B=E,L.stop(`Auto set min-update-version to ${B}`)}catch{g0(`Cannot auto set compatibility, invalid data ${H}`)}else L.stop(`Bundle compatible with ${Q} channel`)}else if(!$){if(q.warn(`Channel ${Q} is new or it's your first upload with compatibility check, it will be ignored this time`),U=await j2(X.packageJson,X.nodeModules),G)B=W,q.info(`Auto set min-update-version to ${B}`)}if(K&&!B&&!$)g0("You need to provide a min-update-version to upload a bundle to this channel");if(B){if(!v4.test(B))g0(`Your minimal version update ${B}, is not valid it should follow semver convention : https://semver.org/`)}let w=U?new Map(U.filter((L)=>!!L.native&&L.native!==void 0).map((L)=>[L.name,L])):new Map;return{nativePackages:w.size>0||!X.ignoreMetadataCheck?Array.from(w,([L,O])=>({name:L,version:O.version,...O.ios_checksum&&{ios_checksum:O.ios_checksum},...O.android_checksum&&{android_checksum:O.android_checksum}})):void 0,minUpdateVersion:B}}async function d50(D,Y,X,Q=!1,J=!1){let{data:W,error:$}=await D.rpc("exist_app_versions",{appid:Y,name_version:X}).single();if(W||$){if(Q)return q.warn(`Version ${X} already exists - exiting gracefully due to --silent-fail option`),e("Bundle version already exists - exiting gracefully \uD83C\uDF89"),!0;if(J){q.error(`❌ Version ${X} already exists`);let G=VP(X);q.info("\uD83D\uDCA1 Here are some suggestions:"),G.forEach((F,K)=>{q.info(` ${K+1}. ${F}`)});let B=await D8({message:"What would you like to do?",options:[{value:"suggest1",label:`Use ${G[0]}`},{value:"suggest2",label:`Use ${G[1]}`},{value:"suggest3",label:`Use ${G[2]}`},{value:"suggest4",label:`Use ${G[3]}`},{value:"custom",label:"Enter a custom version"},{value:"cancel",label:"Cancel upload"}]});if(R0(B)||B==="cancel")g0("Upload cancelled by user");let H;if(B==="custom"){let F=await wP(X,"upload");if(!F)g0("Upload cancelled by user");H=F}else{let F=Number.parseInt(B.replace("suggest",""))-1;H=G[F]}return q.info(`\uD83D\uDD04 Retrying with new version: ${H}`),H}g0(`Version ${X} already exists ${m($)}`)}return!1}async function p50(D,Y,X,Q,J,W,$,G){let B,H,F="",K=null,U="none",z="",w="",V=Y.keyV2,L=Y.key===!1,O=d0();O.start(`Zipping bundle from ${D}`),K=await NJ(D),O.message("Calculating checksum");let Z=f1(AF()),M=await l8("@capgo/capacitor-updater",Z,Y.packageJson),E=!1,j;try{j=M?I0(M):void 0}catch{j=void 0}if(!M)g0("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager");else if(j)E=!U6(j,n3);else if(M==="link:@capgo/capacitor-updater"||M==="file:.."||M==="file:../")q.warn("Using local @capgo/capacitor-updater. Assuming latest version for checksum calculation."),E=!0;if((V||Y.keyDataV2||dJ(Q6))&&!L||E)F=await w9(K,"sha256");else F=await w9(K,"crc32");if(O.stop(`Checksum ${E?"SHA256":"CRC32"}: ${F}`),L)q.info("Encryption ignored");else if((V||dJ(Q6)||Y.keyDataV2)&&!Y.oldEncryption){let y=typeof V==="string"?V:Q6,C=Y.keyDataV2||"";if(!C&&!dJ(y))g0(`Cannot find private key ${y}`);if(await C0(X,{channel:"app",event:"App encryption v2",icon:"\uD83D\uDD11",user_id:Q,tags:{"app-id":J},notify:!1},Y.verbose),!C)C=f50(y).toString();let c=j&&!U6(j,"5.30.0","6.30.0","7.30.0");q.info(`Encrypting your bundle with ${c?"V3":"V2"}`);let{sessionKey:S,ivSessionKey:p}=_J(C),u=p4(K,S,p);if(F=c?i4(F,C):n4(F,C),B=p,H=S,U="v2",z=C,G){if(w=sS(G),Y.verbose)q.info(`[Verbose] Encryption key_id: ${w}`)}if(Y.displayIvSession)q.info(`Your Iv Session key is ${B},
|
|
291
291
|
keep it safe, you will need it to decrypt your bundle.
|
|
292
292
|
It will be also visible in your dashboard
|
|
293
293
|
`);K=u}let I=Math.floor((K?.byteLength??0)/1024/1024),x=Math.floor(W/1024/1024);if(K?.byteLength>W)g0(`The bundle size is ${I} Mb, this is greater than the maximum upload length ${x} Mb, please reduce the size of your bundle`);else if(K?.byteLength>$){if(q.warn(`WARNING !!
|
|
294
294
|
The bundle size is ${I} Mb, this may take a while to download for users
|
|
295
295
|
`),q.info(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
|
|
296
296
|
`),Y.verbose)q.info("[Verbose] Bundle size details:"),q.info(` - Actual size: ${I} MB (${K?.byteLength} bytes)`),q.info(` - Alert threshold: ${Math.floor($/1024/1024)} MB`),q.info(` - Maximum allowed: ${x} MB`),q.info("[Verbose] Sending 'App Too Large' event to analytics...");if(await C0(X,{channel:"app-error",event:"App Too Large",icon:"\uD83D\uDE9B",user_id:Q,tags:{"app-id":J},notify:!1},Y.verbose),Y.verbose)q.info("[Verbose] Event sent successfully")}else if(Y.verbose)q.info(`[Verbose] Bundle size OK: ${I} MB (under ${Math.floor($/1024/1024)} MB alert threshold)`);if(Y.verbose)q.info("[Verbose] Bundle preparation complete, returning bundle data");return{zipped:K,ivSessionKey:B,sessionKey:H,checksum:F,encryptionMethod:U,finalKeyData:z,keyId:w}}async function n50(D,Y,X,Q,J,W,$,G){let B=d0();B.start("Uploading Bundle");let H=performance.now(),F=!1;if($.verbose)q.info("[Verbose] uploadBundleToCapgoCloud called:"),q.info(` - Bundle size: ${Math.floor(W.byteLength/1024)} KB`),q.info(` - App ID: ${X}`),q.info(` - Bundle version: ${Q}`),q.info(` - Chunk size: ${Math.floor(G/1024/1024)} MB`);if($.dryUpload){if(B.stop(`Dry run, bundle not uploaded
|
|
297
|
-
Bundle uploaded \uD83D\uDCAA in 0 seconds`),$.verbose)q.info("[Verbose] Dry upload mode - skipping actual upload");return}try{let z=await c8();if($.verbose)q.info("[Verbose] Local config retrieved for upload");if($.multipart!==void 0&&$.multipart||$.tus!==void 0&&$.tus){if($.multipart)q.info("Uploading bundle with multipart is deprecated, we upload with TUS instead");else q.info("Uploading bundle with TUS protocol");if($.verbose)q.info("[Verbose] Starting TUS resumable upload..."),q.info(` - Host: ${z.hostWeb}`),q.info(` - Chunk size: ${Math.floor(G/1024/1024)} MB`);if(await YS(D,W,J,X,Q,B,z,G),F=!0,$.verbose)q.info("[Verbose] TUS upload completed, updating database with R2 path...");let w=`orgs/${J}/apps/${X}/${Q}.zip`,{error:V}=await Y.from("app_versions").update({r2_path:w}).eq("name",Q).eq("app_id",X);if(V){if(q.error(`Cannot finish TUS upload ${m(V)}`),$.verbose)q.info(`[Verbose] Database update failed: ${m(V)}`);return Promise.reject(Error("Cannot finish TUS upload"))}if($.verbose)q.info(`[Verbose] Database updated with R2 path: ${w}`)}else{if($.verbose)q.info("[Verbose] Using standard upload (non-TUS), getting presigned URL...");let w=await oT(Y,X,Q);if(!w){if(q.error("Cannot get upload url"),$.verbose)q.info("[Verbose] Failed to retrieve presigned upload URL from database");return Promise.reject(Error("Cannot get upload url"))}if($.verbose)q.info("[Verbose] Presigned URL obtained, uploading via HTTP PUT..."),q.info(` - Timeout: ${$.timeout||M2}ms`),q.info(" - Retry attempts: 5"),q.info(" - Content-Type: application/zip");let V=new AbortController,L=setTimeout(()=>V.abort(),$.timeout||M2);try{let O=await fetch(w,{method:"PUT",body:W,headers:{"Content-Type":"application/zip"},signal:V.signal});if(!O.ok)throw Error(`HTTP error! status: ${O.status}`)}finally{clearTimeout(L)}if($.verbose)q.info("[Verbose] HTTP PUT upload completed successfully")}}catch(z){let V=((performance.now()-H)/1000).toFixed(2);if(B.stop(`Failed to upload bundle ( after ${V} seconds)`),$.verbose)q.info(`[Verbose] Upload failed after ${V} seconds`),q.info(`[Verbose] Error type: ${z instanceof Error?"Error":typeof z}`);if(z instanceof Error&&z.message.includes("HTTP error"))try{let L=z.message.match(/status: (\d+)/),O=L?L[1]:"unknown";q.error(`Upload failed with status ${O}: ${z.message}`)}catch{q.error(`Upload failed: ${z.message}`)}else{if($.verbose)q.info(`[Verbose] Non-HTTP error: ${m(z)}`);if(!$.tus)q.error(`Cannot upload bundle ( try again with --tus option) ${m(z)}`);else q.error(`Cannot upload bundle please contact support if the issue persists ${m(z)}`)}if($.verbose)q.info("[Verbose] Cleaning up failed version from database...");if(await XS(Y,X,Q),$.verbose)q.info("[Verbose] Failed version cleaned up");throw z instanceof Error?z:Error(String(z))}let U=((performance.now()-H)/1000).toFixed(2);if(B.stop(`Bundle uploaded \uD83D\uDCAA in (${U} seconds)`),$.verbose)q.info("[Verbose] Upload successful:"),q.info(` - Upload time: ${U} seconds`),q.info(` - Upload method: ${F?"TUS (resumable)":"Standard HTTP PUT"}`),q.info(` - Bundle size: ${Math.floor(W.byteLength/1024)} KB`),q.info("[Verbose] Sending performance event...");if(await C0(D,{channel:"performance",event:F?"TUS upload zip performance":"Upload zip performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":X,time:U},notify:!1},$.verbose),$.verbose)q.info("[Verbose] Performance event sent successfully")}async function i50(D,Y,X){let{data:Q,error:J}=await D.from("channels").select("version ( id, name, deleted )").eq("app_id",Y).eq("name",X);if(J){q.error(`Cannot delete linked bundle on upload ${m(J)}`);return}if(Q.length===0){q.warn("No linked bundle found in the channel you are trying to upload to");return}let W=Q[0].version;if(W.deleted){q.warn("The linked bundle is already deleted");return}let{error:$}=await D.from("app_versions").update({deleted:!0}).eq("id",W.id);if($){q.error(`Cannot delete linked bundle on upload ${m($)}`);return}q.info("Linked bundle deleted")}async function r50(D,Y,X,Q,J,W,$,G,B,H){let{data:F}=await D.rpc("get_app_versions",{apikey:Y,name_version:Q,appid:G}).single();if(!F)g0("Cannot get version id, cannot set channel");let{data:K}=await D.rpc("is_allowed_capgkey",{apikey:Y,keymode:["write","all"]}).single();if(K){let{error:U,data:z}=await ZJ(D,{name:J,app_id:G,created_by:W,version:F,owner_org:$,...H?{allow_device_self_set:!0}:{}});if(U)g0(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${m(U)}`);let w=`${B.hostWeb}/app/${G}/channel/${z.id}`;if(z?.public)q.info("Your update is now available in your public channel \uD83C\uDF89");else if(z?.id)q.info(`Link device to this bundle to try it: ${w}`);if(X)q.info(`Bundle url: ${w}`)}else q.warn("The upload key is not allowed to set the version in the channel")}async function a50(D,Y,X){let{error:Q,data:J}=await Y.from("apps").select("default_upload_channel").eq("app_id",D).single();if(Q)return q.warn("Cannot find default upload channel"),q.info(`You can set it here: ${X}/app/${D}/info`),null;return J.default_upload_channel}async function o4(D,Y,X=!1){if(!X)F0(`Uploading with CLI version ${f8.version}`);let Q,J=W8();await f0();let{s3Region:W,s3Apikey:$,s3Apisecret:G,s3BucketName:B,s3Endpoint:H,s3Port:F,s3SSL:K}=Y;if(Y.verbose)q.info("[Verbose] Starting upload process with options:"),q.info(` - API key: ${Y.apikey?"provided":"from saved key"}`),q.info(` - Path: ${Y.path||"from capacitor config"}`),q.info(` - Channel: ${Y.channel||"from default upload channel"}`),q.info(` - Bundle: ${Y.bundle||"auto-detected"}`),q.info(` - External: ${Y.external||"false"}`),q.info(` - Encryption: ${Y.keyV2||Y.keyDataV2?"v2":Y.key===!1?"disabled":"auto"}`),q.info(` - Upload method: ${Y.tus?"TUS":Y.zip?"ZIP":"auto"}`),q.info(` - Delta updates: ${Y.delta||Y.partial?"enabled":"disabled"}`);let U=u50(Y);if(Y.verbose)q.info("[Verbose] API key retrieved successfully");let z=await U0();if(Y.verbose)q.info("[Verbose] Capacitor config loaded successfully");let w=await mT();if(Y.verbose)q.info("[Verbose] Remote file config retrieved:"),q.info(` - Max upload length: ${Math.floor(w.maxUploadLength/1024/1024)} MB`),q.info(` - Alert upload size: ${Math.floor(w.alertUploadSize/1024/1024)} MB`),q.info(` - TUS upload: ${w.TUSUpload?"enabled":"disabled"}`),q.info(` - TUS upload forced: ${w.TUSUploadForced?"yes":"no"}`),q.info(` - Partial upload: ${w.partialUpload?"enabled":"disabled"}`),q.info(` - Max chunk size: ${Math.floor(w.maxChunkSize/1024/1024)} MB`);let{appid:V,path:L}=m50(D,Y,z.config);if(Y.verbose)q.info(`[Verbose] App ID: ${V}, Build path: ${L}`);let O=await g50(z.config,Y);if(Y.verbose)q.info(`[Verbose] Bundle version: ${O}`);let Z=Y.external?"external":"r2-direct",M="none";if(Y.autoSetBundle){if(await p3({version:O}),Y.verbose)q.info("[Verbose] Auto-set bundle version in capacitor.config.json")}if(c50(Y,L),Y.verbose)q.info("[Verbose] Code check passed (notifyAppReady found and index.html present)");q.info(`Upload ${V}@${O} started from path "${L}" to Capgo cloud`);let E=await c8();if(Y.verbose)q.info(`[Verbose] Local config loaded: host=${E.hostWeb}`);if(Y.supaHost&&Y.supaAnon){if(q.info("Using custom supabase instance from provided options"),E.supaHost=Y.supaHost,E.supaKey=Y.supaAnon,Y.verbose)q.info(`[Verbose] Custom Supabase host: ${Y.supaHost}`)}let j=await V0(U,Y.supaHost,Y.supaAnon);if(Y.verbose)q.info("[Verbose] Supabase client created successfully");await g1(j,V,X);let I=await Z0(j,U,["write","all","upload"]);if(Y.verbose)q.info(`[Verbose] User verified successfully, user_id: ${I}`);let x=Y.channel||await a50(V,j,E.hostWeb)||"production";if(Y.verbose)q.info(`[Verbose] Target channel: ${x}`);let y=await a1(j,V);if(Y.verbose)q.info(`[Verbose] Organization ID: ${y}`);if(await pT(j,y,f8.version),Y.verbose)q.info("[Verbose] Remote CLI messages checked");if(await iT(j,y,U,V,!0),Y.verbose)q.info("[Verbose] Plan validation passed");if(Y.verbose)q.info("[Verbose] Trial check completed");if(Y.verbose)q.info(`[Verbose] Checking compatibility with channel ${x}...`);let{nativePackages:C,minUpdateVersion:c}=await l50(j,J,Y,x,V,O);if(Y.verbose)q.info("[Verbose] Compatibility check completed:"),q.info(` - Native packages: ${C?C.length:0}`),q.info(` - Min update version: ${c||"none"}`);if(Y.verbose)q.info(`[Verbose] Checking if version ${O} already exists...`);let S=!X,p=await d50(j,V,O,Y.versionExistsOk,S);if(Y.verbose)q.info(`[Verbose] Version exists check: ${p?typeof p==="string"?`retry with ${p}`:"yes (skipping)":"no (continuing)"}`);if(p===!0)return{success:!0,skipped:!0,reason:"VERSION_EXISTS",bundle:O,checksum:null,encryptionMethod:M,storageProvider:Z};if(typeof p==="string")return q.info(`Retrying upload with new version: ${p}`),o4(D,{...Y,bundle:p},X);if(Y.external&&!Y.external.startsWith("https://"))g0(`External link should should start with "https://" current is "${Y.external}"`);if(Y.deleteLinkedBundleOnUpload)q.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),q.warn("Please make sure you want to do this, if you are not sure, please do not use this option.");let u={name:O,app_id:V,session_key:void 0,external_url:Y.external,storage_provider:Z,min_update_version:c,native_packages:C,owner_org:y,user_id:I,checksum:void 0,link:Y.link||null,comment:Y.comment||null,key_id:void 0,cli_version:f8.version},J0=null,_="";if(!Y.external){if(Y.verbose)q.info(`[Verbose] Preparing bundle file from path: ${L}`);let g=z.config?.plugins?.CapacitorUpdater?.publicKey,{zipped:$0,ivSessionKey:l,checksum:E0,sessionKey:o8,encryptionMethod:Y0,finalKeyData:n0,keyId:t}=await p50(L,Y,U,y,V,w.maxUploadLength,w.alertUploadSize,g);if(u.session_key=l,u.checksum=E0,u.key_id=t||void 0,Q=o8,J0=$0,M=Y0,_=n0,Y.verbose)q.info("[Verbose] Bundle prepared:"),q.info(` - Size: ${Math.floor(($0?.byteLength??0)/1024)} KB`),q.info(` - Checksum: ${E0}`),q.info(` - Encryption: ${Y0}`),q.info(` - IV Session Key: ${l?"present":"none"}`),q.info(` - Key ID: ${t||"none"}`);if(!Y.ignoreChecksumCheck){if(Y.verbose)q.info("[Verbose] Checking for duplicate checksum...");if(await $S(j,V,x,E0),Y.verbose)q.info("[Verbose] Checksum is unique")}}else{if(Y.verbose)q.info(`[Verbose] Using external URL: ${Y.external}`);if(await C0(U,{channel:"app",event:"App external",icon:"\uD83D\uDCE4",user_id:y,tags:{"app-id":V},notify:!1},Y.verbose),u.session_key=Y.ivSessionKey,u.checksum=Y.encryptedChecksum,Y.verbose)q.info("[Verbose] External bundle configured:"),q.info(` - URL: ${Y.external}`),q.info(` - IV Session Key: ${Y.ivSessionKey?"provided":"none"}`),q.info(` - Encrypted Checksum: ${Y.encryptedChecksum?"provided":"none"}`)}if(Y.zip){if(Y.tus=!1,Y.verbose)q.info("[Verbose] Upload method: ZIP (explicitly set via --zip)")}else if(!w.TUSUpload||Y.external){if(Y.tus=!1,Y.verbose)q.info("[Verbose] Upload method: Standard (TUS not available or external URL)")}else if(Y.tus=Y.tus||w.TUSUploadForced,Y.verbose)q.info(`[Verbose] Upload method: ${Y.tus?"TUS (resumable)":"Standard"}`);if(!w.partialUpload||Y.external){if(Y.delta=!1,Y.verbose&&Y.external)q.info("[Verbose] Delta updates disabled (not available with external URLs)")}else if(Y.delta=Y.delta||Y.partial||Y.deltaOnly||Y.partialOnly||w.partialUploadForced,Y.verbose)q.info(`[Verbose] Delta updates: ${Y.delta?"enabled":"disabled"}`);if(Y.encryptPartial&&M==="v1")g0("You cannot encrypt the partial update if you are not using the v2 encryption method");let N="5.30.0",A="6.30.0",R="7.30.0",P=!1;if(Y.delta&&M==="v2"&&!Y.encryptPartial){let g=h1(AF()),$0=await l8("@capgo/capacitor-updater",g,Y.packageJson),l;try{l=$0?I0($0):void 0}catch{l=void 0}if($0&&l&&tw(l,I0("6.14.4"))){if(q.info(`Auto-enabling partial update encryption for updater version ${l} (> 6.14.4)`),Y.verbose)q.info("[Verbose] Partial encryption auto-enabled for updater >= 6.14.4");Y.encryptPartial=!0}}if(Y.delta&&(Y.encryptPartial||M==="v2")){let g=h1(AF()),$0=await l8("@capgo/capacitor-updater",g,Y.packageJson),l;try{l=$0?I0($0):void 0}catch{l=void 0}if($0&&l){if(P=!U6(l,N,A,R),Y.verbose&&P)q.info(`[Verbose] Using hex checksum format for updater version ${l}`)}}if(Y.verbose&&Y.delta)q.info("[Verbose] Preparing delta/partial update manifest...");let v=Y.delta?await TI(L,U,y,V,Y.encryptPartial?M:"none",_,P):[];if(Y.verbose&&Y.delta)q.info(`[Verbose] Delta manifest prepared with ${v.length} files`);if(Y.verbose)q.info("[Verbose] Creating version record in database...");let{error:b}=await E2(j,u);if(b)g0(`Cannot add bundle ${m(b)}`);if(Y.verbose)q.info("[Verbose] Version record created successfully");if(Y.tusChunkSize&&Y.tusChunkSize>w.maxChunkSize)q.error(`Chunk size ${Y.tusChunkSize} is greater than the maximum chunk size ${w.maxChunkSize}, using the maximum chunk size`),Y.tusChunkSize=w.maxChunkSize;else if(!Y.tusChunkSize)Y.tusChunkSize=w.maxChunkSize;if(Y.verbose)q.info(`[Verbose] TUS chunk size: ${Math.floor(Y.tusChunkSize/1024/1024)} MB`);if(J0&&(B||H||W||$||G||F||K)){if(!B||!H||!W||!$||!G||!F)g0("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret");if(q.info("Uploading to S3"),Y.verbose)q.info("[Verbose] S3 configuration:"),q.info(` - Endpoint: ${H}`),q.info(` - Region: ${W}`),q.info(` - Bucket: ${B}`),q.info(` - Port: ${F}`),q.info(` - SSL: ${K?"enabled":"disabled"}`);let g=K?`https://${H}`:`http://${H}`,$0=new yJ({endPoint:H,region:W,port:F,pathStyle:!0,bucket:B,accessKey:$,secretKey:G}),l=`${V}-${O}`,E0=encodeURIComponent(l);if(Y.verbose)q.info(`[Verbose] Uploading to S3 as: ${l}`);if(await $0.putObject(l,Uint8Array.from(J0)),u.external_url=`${g}/${E0}`,u.storage_provider="external",Y.verbose)q.info(`[Verbose] S3 upload complete, external URL: ${u.external_url}`)}else if(J0){if(!Y.partialOnly&&!Y.deltaOnly){if(Y.verbose)q.info("[Verbose] Starting full bundle upload to Capgo Cloud...");await n50(U,j,V,O,y,J0,Y,Y.tusChunkSize)}else if(Y.verbose)q.info("[Verbose] Skipping full bundle upload (delta-only mode)");let g=null;try{if(Y.dryUpload){if(Y.delta=!1,Y.verbose)q.info("[Verbose] Dry upload mode: skipping delta upload")}let l=u.session_key&&Y.encryptPartial&&Q?{sessionKey:Q,ivSessionKey:u.session_key}:void 0;if(Y.verbose&&Y.delta)q.info("[Verbose] Starting delta/partial file upload..."),q.info(` - Manifest entries: ${v.length}`),q.info(` - Encryption: ${l?"enabled":"disabled"}`);if(g=Y.delta?await SI(U,v,L,V,y,l,Y):null,Y.verbose&&g)q.info(`[Verbose] Delta upload complete with ${g.length} files`)}catch(l){if(!!(Y.partial||Y.delta||Y.partialOnly||Y.deltaOnly))throw l;if(q.info(`Failed to upload partial files to capgo cloud. Error: ${m(l)}. This is not a critical error, the bundle has been uploaded without the partial files`),Y.verbose)q.info(`[Verbose] Delta upload error details: ${m(l)}`)}if(u.storage_provider="r2",u.manifest=g,Y.verbose)q.info("[Verbose] Updating version record with storage provider and manifest...");let{error:$0}=await E2(j,u);if($0)g0(`Cannot update bundle ${m($0)}`);if(Y.verbose)q.info("[Verbose] Version record updated successfully")}if(Y.verbose)q.info("[Verbose] Checking app permissions...");let r=await L1(j,U,V,2,!1,!0);if(Y.verbose)q.info("[Verbose] Permissions:"),q.info(` - Upload: ${f4(r,2)?"yes":"no"}`),q.info(` - Write: ${f4(r,3)?"yes":"no"}`),q.info(` - Admin: ${f4(r,4)?"yes":"no"}`);if(Y.deleteLinkedBundleOnUpload&&f4(r,3)){if(Y.verbose)q.info(`[Verbose] Deleting linked bundle in channel ${x}...`);await i50(j,V,x)}else if(Y.deleteLinkedBundleOnUpload)q.warn("Cannot delete linked bundle on upload as a upload organization member");if(f4(r,3)){if(Y.verbose)q.info(`[Verbose] Setting bundle ${O} to channel ${x}...`);if(await r50(j,U,!!Y.bundleUrl,O,x,I,y,V,E,Y.selfAssign),Y.verbose)q.info("[Verbose] Channel updated successfully")}else q.warn("Cannot set channel as a upload organization member");if(Y.verbose)q.info("[Verbose] Sending upload event...");await C0(U,{channel:"app",event:"App Uploaded",icon:"⏫",user_id:y,tags:{"app-id":V},notify:!1},Y.verbose);let k={success:!0,bundle:O,checksum:u.checksum??null,encryptionMethod:M,sessionKey:Q?Q.toString("base64"):void 0,ivSessionKey:typeof u.session_key==="string"?u.session_key:void 0,storageProvider:u.storage_provider};if(Y.verbose)q.info("[Verbose] Upload completed successfully:"),q.info(` - Bundle: ${k.bundle}`),q.info(` - Checksum: ${k.checksum}`),q.info(` - Encryption: ${k.encryptionMethod}`),q.info(` - Storage: ${k.storageProvider}`);if(X&&!k.skipped)e("Time to share your update to the world \uD83C\uDF0D");return k}function o50(D){if(D.ivSessionKey&&!D.external)g0("You need to provide an external url if you want to use the --iv-session-key option");if(D.encryptedChecksum&&!D.external)g0("You need to provide an external url if you want to use the --encrypted-checksum option");if((D.partial||D.delta||D.partialOnly||D.deltaOnly)&&D.external)g0("You cannot use the --partial/--delta/--partial-only/--delta-only option with an external url");if(D.tus&&D.external)g0("You cannot use the --tus option with an external url");if(D.dryUpload&&D.external)g0("You cannot use the --dry-upload option with an external url");if(D.multipart&&D.external)g0("You cannot use the --multipart option with an external url");if(D.external&&(D.keyV2||D.keyDataV2))g0("You cannot set a key if you are uploading to an external url");if(D.keyV2&&D.keyDataV2)g0("You cannot set both key-v2 and key-data-v2");if(D.external&&(D.s3Region||D.s3Apikey||D.s3Apisecret||D.s3Endpoint||D.s3BucketName||D.s3Port||D.s3SSL))g0("You cannot set S3 options if you are uploading to an external url, it's automatically handled");if(D.encryptedChecksum&&!D.external)g0("You cannot set the --encrypted-checksum option if you are not uploading to an external url");if(D.minUpdateVersion&&D.autoMinUpdateVersion)g0("You cannot set both min-update-version and auto-min-update-version, use only one of them")}async function pJ(D,Y){try{o50(Y),await o4(D,Y)}catch(X){let Q=X instanceof Error?X.message:String(X),J=m(X);if(Y.verbose)q.error(`uploadBundle failed:${J}`);else q.error(`uploadBundle failed: ${Q}`);let W=Q.includes("Cannot upload the same bundle content");if(!Y.versionExistsOk)try{if(W){let $=await D8({message:"Would you like to retry the upload?",options:[{value:"ignore",label:"Retry with --ignore-checksum-check (force upload same content)"},{value:"cancel",label:"Cancel upload"}]});if(R0($)||$==="cancel")throw X instanceof Error?X:Error(String(X));if($==="ignore")return q.info("\uD83D\uDD04 Retrying upload with --ignore-checksum-check..."),pJ(D,{...Y,ignoreChecksumCheck:!0})}else{let $=await j0({message:"Would you like to retry the upload?"});if(R0($))throw X instanceof Error?X:Error(String(X));if($)return q.info("\uD83D\uDD04 Retrying upload..."),pJ(D,Y)}}catch{throw X instanceof Error?X:Error(String(X))}throw X instanceof Error?X:Error(String(X))}}import{randomUUID as s50}from"node:crypto";import{existsSync as t50,writeFileSync as e50}from"node:fs";import{cwd as D40}from"node:process";var Y40=20;function X40(D){console.log(JSON.stringify(D,null,2))}function BY(D){console.error(m(D))}async function EF(D,Y,X=!1){let{json:Q}=Y,{bundle:J,path:W}=Y,$=!Q&&!X;try{if($)await f0();let G=await U0(),B=_0(D,G?.config),H=s50().split("-")[0],F=C6("",Y.packageJson);if(J=J||F||`0.0.1-beta.${H}`,$)F0(`Zipping ${B}@${J}`);if(J&&!v4.test(J)){let I=`Your bundle name ${J}, is not valid it should follow semver convention : https://semver.org/`;if(!X)if(Q)BY({error:"invalid_semver"});else q.error(I);throw Error("Invalid bundle version format")}if(W=W||G?.config?.webDir,!B||!J||!W){if(!X)if(Q)BY({error:"missing_argument"});else q.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project");throw Error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project")}if($)q.info(`Started from path "${W}"`);if(typeof Y.codeCheck>"u"?!0:Y.codeCheck){if(!QY(W,"notifyAppReady")){if(!X)if(Q)BY({error:"notifyAppReady_not_in_source_code"});else q.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready");throw Error("notifyAppReady() is missing in build folder")}if(!fJ(W)){if(!X)if(Q)BY({error:"index_html_not_found"});else q.error(`index.html is missing in the root folder of ${W}`);throw Error("index.html is missing in root folder")}}let U=await NJ(W);if($)q.info(`Zipped ${U.byteLength} bytes`);let z=$?d0():null;if(z)z.start("Calculating checksum");let w=h1(D40()),V=await l8("@capgo/capacitor-updater",w,Y.packageJson);if(!V){if(!X)q.warn("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager");throw Error("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager")}let L=!1,O;try{O=V?I0(V):void 0}catch{O=void 0}if(O)L=!U6(O,void 0,void 0,"7.0.0");else if(V==="link:@capgo/capacitor-updater"){if(!X)q.warn("Using local @capgo/capacitor-updater. Assuming v7");L=!0}let Z=await w9(U,Y.keyV2||t50(Q6)||L?"sha256":"crc32");if(z)z.stop(`Checksum ${L?"SHA256":"CRC32"}: ${Z}`);let M=Math.floor(U.byteLength/1024/1024);if(M>Y40&&$)q.warn(`WARNING !!
|
|
297
|
+
Bundle uploaded \uD83D\uDCAA in 0 seconds`),$.verbose)q.info("[Verbose] Dry upload mode - skipping actual upload");return}try{let z=await c8();if($.verbose)q.info("[Verbose] Local config retrieved for upload");if($.multipart!==void 0&&$.multipart||$.tus!==void 0&&$.tus){if($.multipart)q.info("Uploading bundle with multipart is deprecated, we upload with TUS instead");else q.info("Uploading bundle with TUS protocol");if($.verbose)q.info("[Verbose] Starting TUS resumable upload..."),q.info(` - Host: ${z.hostWeb}`),q.info(` - Chunk size: ${Math.floor(G/1024/1024)} MB`);if(await YS(D,W,J,X,Q,B,z,G),F=!0,$.verbose)q.info("[Verbose] TUS upload completed, updating database with R2 path...");let w=`orgs/${J}/apps/${X}/${Q}.zip`,{error:V}=await Y.from("app_versions").update({r2_path:w}).eq("name",Q).eq("app_id",X);if(V){if(q.error(`Cannot finish TUS upload ${m(V)}`),$.verbose)q.info(`[Verbose] Database update failed: ${m(V)}`);return Promise.reject(Error("Cannot finish TUS upload"))}if($.verbose)q.info(`[Verbose] Database updated with R2 path: ${w}`)}else{if($.verbose)q.info("[Verbose] Using standard upload (non-TUS), getting presigned URL...");let w=await oT(Y,X,Q);if(!w){if(q.error("Cannot get upload url"),$.verbose)q.info("[Verbose] Failed to retrieve presigned upload URL from database");return Promise.reject(Error("Cannot get upload url"))}if($.verbose)q.info("[Verbose] Presigned URL obtained, uploading via HTTP PUT..."),q.info(` - Timeout: ${$.timeout||M2}ms`),q.info(" - Retry attempts: 5"),q.info(" - Content-Type: application/zip");let V=new AbortController,L=setTimeout(()=>V.abort(),$.timeout||M2);try{let O=await fetch(w,{method:"PUT",body:W,headers:{"Content-Type":"application/zip"},signal:V.signal});if(!O.ok)throw Error(`HTTP error! status: ${O.status}`)}finally{clearTimeout(L)}if($.verbose)q.info("[Verbose] HTTP PUT upload completed successfully")}}catch(z){let V=((performance.now()-H)/1000).toFixed(2);if(B.stop(`Failed to upload bundle ( after ${V} seconds)`),$.verbose)q.info(`[Verbose] Upload failed after ${V} seconds`),q.info(`[Verbose] Error type: ${z instanceof Error?"Error":typeof z}`);if(z instanceof Error&&z.message.includes("HTTP error"))try{let L=z.message.match(/status: (\d+)/),O=L?L[1]:"unknown";q.error(`Upload failed with status ${O}: ${z.message}`)}catch{q.error(`Upload failed: ${z.message}`)}else{if($.verbose)q.info(`[Verbose] Non-HTTP error: ${m(z)}`);if(!$.tus)q.error(`Cannot upload bundle ( try again with --tus option) ${m(z)}`);else q.error(`Cannot upload bundle please contact support if the issue persists ${m(z)}`)}if($.verbose)q.info("[Verbose] Cleaning up failed version from database...");if(await XS(Y,X,Q),$.verbose)q.info("[Verbose] Failed version cleaned up");throw z instanceof Error?z:Error(String(z))}let U=((performance.now()-H)/1000).toFixed(2);if(B.stop(`Bundle uploaded \uD83D\uDCAA in (${U} seconds)`),$.verbose)q.info("[Verbose] Upload successful:"),q.info(` - Upload time: ${U} seconds`),q.info(` - Upload method: ${F?"TUS (resumable)":"Standard HTTP PUT"}`),q.info(` - Bundle size: ${Math.floor(W.byteLength/1024)} KB`),q.info("[Verbose] Sending performance event...");if(await C0(D,{channel:"performance",event:F?"TUS upload zip performance":"Upload zip performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":X,time:U},notify:!1},$.verbose),$.verbose)q.info("[Verbose] Performance event sent successfully")}async function i50(D,Y,X){let{data:Q,error:J}=await D.from("channels").select("version ( id, name, deleted )").eq("app_id",Y).eq("name",X);if(J){q.error(`Cannot delete linked bundle on upload ${m(J)}`);return}if(Q.length===0){q.warn("No linked bundle found in the channel you are trying to upload to");return}let W=Q[0].version;if(W.deleted){q.warn("The linked bundle is already deleted");return}let{error:$}=await D.from("app_versions").update({deleted:!0}).eq("id",W.id);if($){q.error(`Cannot delete linked bundle on upload ${m($)}`);return}q.info("Linked bundle deleted")}async function r50(D,Y,X,Q,J,W,$,G,B,H){let{data:F}=await D.rpc("get_app_versions",{apikey:Y,name_version:Q,appid:G}).single();if(!F)g0("Cannot get version id, cannot set channel");let{data:K}=await D.rpc("is_allowed_capgkey",{apikey:Y,keymode:["write","all"]}).single();if(K){let{error:U,data:z}=await ZJ(D,{name:J,app_id:G,created_by:W,version:F,owner_org:$,...H?{allow_device_self_set:!0}:{}});if(U)g0(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${m(U)}`);let w=`${B.hostWeb}/app/${G}/channel/${z.id}`;if(z?.public)q.info("Your update is now available in your public channel \uD83C\uDF89");else if(z?.id)q.info(`Link device to this bundle to try it: ${w}`);if(X)q.info(`Bundle url: ${w}`)}else q.warn("The upload key is not allowed to set the version in the channel")}async function a50(D,Y,X){let{error:Q,data:J}=await Y.from("apps").select("default_upload_channel").eq("app_id",D).single();if(Q)return q.warn("Cannot find default upload channel"),q.info(`You can set it here: ${X}/app/${D}/info`),null;return J.default_upload_channel}async function o4(D,Y,X=!1){if(!X)F0(`Uploading with CLI version ${f8.version}`);let Q,J=W8();await f0();let{s3Region:W,s3Apikey:$,s3Apisecret:G,s3BucketName:B,s3Endpoint:H,s3Port:F,s3SSL:K}=Y;if(Y.verbose)q.info("[Verbose] Starting upload process with options:"),q.info(` - API key: ${Y.apikey?"provided":"from saved key"}`),q.info(` - Path: ${Y.path||"from capacitor config"}`),q.info(` - Channel: ${Y.channel||"from default upload channel"}`),q.info(` - Bundle: ${Y.bundle||"auto-detected"}`),q.info(` - External: ${Y.external||"false"}`),q.info(` - Encryption: ${Y.keyV2||Y.keyDataV2?"v2":Y.key===!1?"disabled":"auto"}`),q.info(` - Upload method: ${Y.tus?"TUS":Y.zip?"ZIP":"auto"}`),q.info(` - Delta updates: ${Y.delta||Y.partial?"enabled":"disabled"}`);let U=u50(Y);if(Y.verbose)q.info("[Verbose] API key retrieved successfully");let z=await U0();if(Y.verbose)q.info("[Verbose] Capacitor config loaded successfully");let w=await mT();if(Y.verbose)q.info("[Verbose] Remote file config retrieved:"),q.info(` - Max upload length: ${Math.floor(w.maxUploadLength/1024/1024)} MB`),q.info(` - Alert upload size: ${Math.floor(w.alertUploadSize/1024/1024)} MB`),q.info(` - TUS upload: ${w.TUSUpload?"enabled":"disabled"}`),q.info(` - TUS upload forced: ${w.TUSUploadForced?"yes":"no"}`),q.info(` - Partial upload: ${w.partialUpload?"enabled":"disabled"}`),q.info(` - Max chunk size: ${Math.floor(w.maxChunkSize/1024/1024)} MB`);let{appid:V,path:L}=m50(D,Y,z.config);if(Y.verbose)q.info(`[Verbose] App ID: ${V}, Build path: ${L}`);let O=await g50(z.config,Y);if(Y.verbose)q.info(`[Verbose] Bundle version: ${O}`);let Z=Y.external?"external":"r2-direct",M="none";if(Y.autoSetBundle){if(await p3({version:O}),Y.verbose)q.info("[Verbose] Auto-set bundle version in capacitor.config.json")}if(c50(Y,L),Y.verbose)q.info("[Verbose] Code check passed (notifyAppReady found and index.html present)");q.info(`Upload ${V}@${O} started from path "${L}" to Capgo cloud`);let E=await c8();if(Y.verbose)q.info(`[Verbose] Local config loaded: host=${E.hostWeb}`);if(Y.supaHost&&Y.supaAnon){if(q.info("Using custom supabase instance from provided options"),E.supaHost=Y.supaHost,E.supaKey=Y.supaAnon,Y.verbose)q.info(`[Verbose] Custom Supabase host: ${Y.supaHost}`)}let j=await V0(U,Y.supaHost,Y.supaAnon);if(Y.verbose)q.info("[Verbose] Supabase client created successfully");await h1(j,V,X);let I=await Z0(j,U,["write","all","upload"]);if(Y.verbose)q.info(`[Verbose] User verified successfully, user_id: ${I}`);let x=Y.channel||await a50(V,j,E.hostWeb)||"production";if(Y.verbose)q.info(`[Verbose] Target channel: ${x}`);let y=await a1(j,V);if(Y.verbose)q.info(`[Verbose] Organization ID: ${y}`);if(await pT(j,y,f8.version),Y.verbose)q.info("[Verbose] Remote CLI messages checked");if(await iT(j,y,U,V,!0),Y.verbose)q.info("[Verbose] Plan validation passed");if(Y.verbose)q.info("[Verbose] Trial check completed");if(Y.verbose)q.info(`[Verbose] Checking compatibility with channel ${x}...`);let{nativePackages:C,minUpdateVersion:c}=await l50(j,J,Y,x,V,O);if(Y.verbose)q.info("[Verbose] Compatibility check completed:"),q.info(` - Native packages: ${C?C.length:0}`),q.info(` - Min update version: ${c||"none"}`);if(Y.verbose)q.info(`[Verbose] Checking if version ${O} already exists...`);let S=!X,p=await d50(j,V,O,Y.versionExistsOk,S);if(Y.verbose)q.info(`[Verbose] Version exists check: ${p?typeof p==="string"?`retry with ${p}`:"yes (skipping)":"no (continuing)"}`);if(p===!0)return{success:!0,skipped:!0,reason:"VERSION_EXISTS",bundle:O,checksum:null,encryptionMethod:M,storageProvider:Z};if(typeof p==="string")return q.info(`Retrying upload with new version: ${p}`),o4(D,{...Y,bundle:p},X);if(Y.external&&!Y.external.startsWith("https://"))g0(`External link should should start with "https://" current is "${Y.external}"`);if(Y.deleteLinkedBundleOnUpload)q.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),q.warn("Please make sure you want to do this, if you are not sure, please do not use this option.");let u={name:O,app_id:V,session_key:void 0,external_url:Y.external,storage_provider:Z,min_update_version:c,native_packages:C,owner_org:y,user_id:I,checksum:void 0,link:Y.link||null,comment:Y.comment||null,key_id:void 0,cli_version:f8.version},J0=null,_="";if(!Y.external){if(Y.verbose)q.info(`[Verbose] Preparing bundle file from path: ${L}`);let g=z.config?.plugins?.CapacitorUpdater?.publicKey,{zipped:$0,ivSessionKey:l,checksum:E0,sessionKey:o8,encryptionMethod:Y0,finalKeyData:n0,keyId:t}=await p50(L,Y,U,y,V,w.maxUploadLength,w.alertUploadSize,g);if(u.session_key=l,u.checksum=E0,u.key_id=t||void 0,Q=o8,J0=$0,M=Y0,_=n0,Y.verbose)q.info("[Verbose] Bundle prepared:"),q.info(` - Size: ${Math.floor(($0?.byteLength??0)/1024)} KB`),q.info(` - Checksum: ${E0}`),q.info(` - Encryption: ${Y0}`),q.info(` - IV Session Key: ${l?"present":"none"}`),q.info(` - Key ID: ${t||"none"}`);if(!Y.ignoreChecksumCheck){if(Y.verbose)q.info("[Verbose] Checking for duplicate checksum...");if(await $S(j,V,x,E0),Y.verbose)q.info("[Verbose] Checksum is unique")}}else{if(Y.verbose)q.info(`[Verbose] Using external URL: ${Y.external}`);if(await C0(U,{channel:"app",event:"App external",icon:"\uD83D\uDCE4",user_id:y,tags:{"app-id":V},notify:!1},Y.verbose),u.session_key=Y.ivSessionKey,u.checksum=Y.encryptedChecksum,Y.verbose)q.info("[Verbose] External bundle configured:"),q.info(` - URL: ${Y.external}`),q.info(` - IV Session Key: ${Y.ivSessionKey?"provided":"none"}`),q.info(` - Encrypted Checksum: ${Y.encryptedChecksum?"provided":"none"}`)}if(Y.zip){if(Y.tus=!1,Y.verbose)q.info("[Verbose] Upload method: ZIP (explicitly set via --zip)")}else if(!w.TUSUpload||Y.external){if(Y.tus=!1,Y.verbose)q.info("[Verbose] Upload method: Standard (TUS not available or external URL)")}else if(Y.tus=Y.tus||w.TUSUploadForced,Y.verbose)q.info(`[Verbose] Upload method: ${Y.tus?"TUS (resumable)":"Standard"}`);if(!w.partialUpload||Y.external){if(Y.delta=!1,Y.verbose&&Y.external)q.info("[Verbose] Delta updates disabled (not available with external URLs)")}else if(Y.delta=Y.delta||Y.partial||Y.deltaOnly||Y.partialOnly||w.partialUploadForced,Y.verbose)q.info(`[Verbose] Delta updates: ${Y.delta?"enabled":"disabled"}`);if(Y.encryptPartial&&M==="v1")g0("You cannot encrypt the partial update if you are not using the v2 encryption method");let N="5.30.0",A="6.30.0",R="7.30.0",P=!1;if(Y.delta&&M==="v2"&&!Y.encryptPartial){let g=f1(AF()),$0=await l8("@capgo/capacitor-updater",g,Y.packageJson),l;try{l=$0?I0($0):void 0}catch{l=void 0}if($0&&l&&tw(l,I0("6.14.4"))){if(q.info(`Auto-enabling partial update encryption for updater version ${l} (> 6.14.4)`),Y.verbose)q.info("[Verbose] Partial encryption auto-enabled for updater >= 6.14.4");Y.encryptPartial=!0}}if(Y.delta&&(Y.encryptPartial||M==="v2")){let g=f1(AF()),$0=await l8("@capgo/capacitor-updater",g,Y.packageJson),l;try{l=$0?I0($0):void 0}catch{l=void 0}if($0&&l){if(P=!U6(l,N,A,R),Y.verbose&&P)q.info(`[Verbose] Using hex checksum format for updater version ${l}`)}}if(Y.verbose&&Y.delta)q.info("[Verbose] Preparing delta/partial update manifest...");let v=Y.delta?await TI(L,U,y,V,Y.encryptPartial?M:"none",_,P):[];if(Y.verbose&&Y.delta)q.info(`[Verbose] Delta manifest prepared with ${v.length} files`);if(Y.verbose)q.info("[Verbose] Creating version record in database...");let{error:b}=await E2(j,u);if(b)g0(`Cannot add bundle ${m(b)}`);if(Y.verbose)q.info("[Verbose] Version record created successfully");if(Y.tusChunkSize&&Y.tusChunkSize>w.maxChunkSize)q.error(`Chunk size ${Y.tusChunkSize} is greater than the maximum chunk size ${w.maxChunkSize}, using the maximum chunk size`),Y.tusChunkSize=w.maxChunkSize;else if(!Y.tusChunkSize)Y.tusChunkSize=w.maxChunkSize;if(Y.verbose)q.info(`[Verbose] TUS chunk size: ${Math.floor(Y.tusChunkSize/1024/1024)} MB`);if(J0&&(B||H||W||$||G||F||K)){if(!B||!H||!W||!$||!G||!F)g0("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret");if(q.info("Uploading to S3"),Y.verbose)q.info("[Verbose] S3 configuration:"),q.info(` - Endpoint: ${H}`),q.info(` - Region: ${W}`),q.info(` - Bucket: ${B}`),q.info(` - Port: ${F}`),q.info(` - SSL: ${K?"enabled":"disabled"}`);let g=K?`https://${H}`:`http://${H}`,$0=new yJ({endPoint:H,region:W,port:F,pathStyle:!0,bucket:B,accessKey:$,secretKey:G}),l=`${V}-${O}`,E0=encodeURIComponent(l);if(Y.verbose)q.info(`[Verbose] Uploading to S3 as: ${l}`);if(await $0.putObject(l,Uint8Array.from(J0)),u.external_url=`${g}/${E0}`,u.storage_provider="external",Y.verbose)q.info(`[Verbose] S3 upload complete, external URL: ${u.external_url}`)}else if(J0){if(!Y.partialOnly&&!Y.deltaOnly){if(Y.verbose)q.info("[Verbose] Starting full bundle upload to Capgo Cloud...");await n50(U,j,V,O,y,J0,Y,Y.tusChunkSize)}else if(Y.verbose)q.info("[Verbose] Skipping full bundle upload (delta-only mode)");let g=null;try{if(Y.dryUpload){if(Y.delta=!1,Y.verbose)q.info("[Verbose] Dry upload mode: skipping delta upload")}let l=u.session_key&&Y.encryptPartial&&Q?{sessionKey:Q,ivSessionKey:u.session_key}:void 0;if(Y.verbose&&Y.delta)q.info("[Verbose] Starting delta/partial file upload..."),q.info(` - Manifest entries: ${v.length}`),q.info(` - Encryption: ${l?"enabled":"disabled"}`);if(g=Y.delta?await SI(U,v,L,V,y,l,Y):null,Y.verbose&&g)q.info(`[Verbose] Delta upload complete with ${g.length} files`)}catch(l){if(!!(Y.partial||Y.delta||Y.partialOnly||Y.deltaOnly))throw l;if(q.info(`Failed to upload partial files to capgo cloud. Error: ${m(l)}. This is not a critical error, the bundle has been uploaded without the partial files`),Y.verbose)q.info(`[Verbose] Delta upload error details: ${m(l)}`)}if(u.storage_provider="r2",u.manifest=g,Y.verbose)q.info("[Verbose] Updating version record with storage provider and manifest...");let{error:$0}=await E2(j,u);if($0)g0(`Cannot update bundle ${m($0)}`);if(Y.verbose)q.info("[Verbose] Version record updated successfully")}if(Y.verbose)q.info("[Verbose] Checking app permissions...");let r=await L1(j,U,V,2,!1,!0);if(Y.verbose)q.info("[Verbose] Permissions:"),q.info(` - Upload: ${f4(r,2)?"yes":"no"}`),q.info(` - Write: ${f4(r,3)?"yes":"no"}`),q.info(` - Admin: ${f4(r,4)?"yes":"no"}`);if(Y.deleteLinkedBundleOnUpload&&f4(r,3)){if(Y.verbose)q.info(`[Verbose] Deleting linked bundle in channel ${x}...`);await i50(j,V,x)}else if(Y.deleteLinkedBundleOnUpload)q.warn("Cannot delete linked bundle on upload as a upload organization member");if(f4(r,3)){if(Y.verbose)q.info(`[Verbose] Setting bundle ${O} to channel ${x}...`);if(await r50(j,U,!!Y.bundleUrl,O,x,I,y,V,E,Y.selfAssign),Y.verbose)q.info("[Verbose] Channel updated successfully")}else q.warn("Cannot set channel as a upload organization member");if(Y.verbose)q.info("[Verbose] Sending upload event...");await C0(U,{channel:"app",event:"App Uploaded",icon:"⏫",user_id:y,tags:{"app-id":V},notify:!1},Y.verbose);let k={success:!0,bundle:O,checksum:u.checksum??null,encryptionMethod:M,sessionKey:Q?Q.toString("base64"):void 0,ivSessionKey:typeof u.session_key==="string"?u.session_key:void 0,storageProvider:u.storage_provider};if(Y.verbose)q.info("[Verbose] Upload completed successfully:"),q.info(` - Bundle: ${k.bundle}`),q.info(` - Checksum: ${k.checksum}`),q.info(` - Encryption: ${k.encryptionMethod}`),q.info(` - Storage: ${k.storageProvider}`);if(X&&!k.skipped)e("Time to share your update to the world \uD83C\uDF0D");return k}function o50(D){if(D.ivSessionKey&&!D.external)g0("You need to provide an external url if you want to use the --iv-session-key option");if(D.encryptedChecksum&&!D.external)g0("You need to provide an external url if you want to use the --encrypted-checksum option");if((D.partial||D.delta||D.partialOnly||D.deltaOnly)&&D.external)g0("You cannot use the --partial/--delta/--partial-only/--delta-only option with an external url");if(D.tus&&D.external)g0("You cannot use the --tus option with an external url");if(D.dryUpload&&D.external)g0("You cannot use the --dry-upload option with an external url");if(D.multipart&&D.external)g0("You cannot use the --multipart option with an external url");if(D.external&&(D.keyV2||D.keyDataV2))g0("You cannot set a key if you are uploading to an external url");if(D.keyV2&&D.keyDataV2)g0("You cannot set both key-v2 and key-data-v2");if(D.external&&(D.s3Region||D.s3Apikey||D.s3Apisecret||D.s3Endpoint||D.s3BucketName||D.s3Port||D.s3SSL))g0("You cannot set S3 options if you are uploading to an external url, it's automatically handled");if(D.encryptedChecksum&&!D.external)g0("You cannot set the --encrypted-checksum option if you are not uploading to an external url");if(D.minUpdateVersion&&D.autoMinUpdateVersion)g0("You cannot set both min-update-version and auto-min-update-version, use only one of them")}async function pJ(D,Y){try{o50(Y),await o4(D,Y)}catch(X){let Q=X instanceof Error?X.message:String(X),J=m(X);if(Y.verbose)q.error(`uploadBundle failed:${J}`);else q.error(`uploadBundle failed: ${Q}`);let W=Q.includes("Cannot upload the same bundle content");if(!Y.versionExistsOk)try{if(W){let $=await D8({message:"Would you like to retry the upload?",options:[{value:"ignore",label:"Retry with --ignore-checksum-check (force upload same content)"},{value:"cancel",label:"Cancel upload"}]});if(R0($)||$==="cancel")throw X instanceof Error?X:Error(String(X));if($==="ignore")return q.info("\uD83D\uDD04 Retrying upload with --ignore-checksum-check..."),pJ(D,{...Y,ignoreChecksumCheck:!0})}else{let $=await j0({message:"Would you like to retry the upload?"});if(R0($))throw X instanceof Error?X:Error(String(X));if($)return q.info("\uD83D\uDD04 Retrying upload..."),pJ(D,Y)}}catch{throw X instanceof Error?X:Error(String(X))}throw X instanceof Error?X:Error(String(X))}}import{randomUUID as s50}from"node:crypto";import{existsSync as t50,writeFileSync as e50}from"node:fs";import{cwd as D40}from"node:process";var Y40=20;function X40(D){console.log(JSON.stringify(D,null,2))}function BY(D){console.error(m(D))}async function EF(D,Y,X=!1){let{json:Q}=Y,{bundle:J,path:W}=Y,$=!Q&&!X;try{if($)await f0();let G=await U0(),B=_0(D,G?.config),H=s50().split("-")[0],F=C6("",Y.packageJson);if(J=J||F||`0.0.1-beta.${H}`,$)F0(`Zipping ${B}@${J}`);if(J&&!v4.test(J)){let I=`Your bundle name ${J}, is not valid it should follow semver convention : https://semver.org/`;if(!X)if(Q)BY({error:"invalid_semver"});else q.error(I);throw Error("Invalid bundle version format")}if(W=W||G?.config?.webDir,!B||!J||!W){if(!X)if(Q)BY({error:"missing_argument"});else q.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project");throw Error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project")}if($)q.info(`Started from path "${W}"`);if(typeof Y.codeCheck>"u"?!0:Y.codeCheck){if(!QY(W,"notifyAppReady")){if(!X)if(Q)BY({error:"notifyAppReady_not_in_source_code"});else q.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready");throw Error("notifyAppReady() is missing in build folder")}if(!fJ(W)){if(!X)if(Q)BY({error:"index_html_not_found"});else q.error(`index.html is missing in the root folder of ${W}`);throw Error("index.html is missing in root folder")}}let U=await NJ(W);if($)q.info(`Zipped ${U.byteLength} bytes`);let z=$?d0():null;if(z)z.start("Calculating checksum");let w=f1(D40()),V=await l8("@capgo/capacitor-updater",w,Y.packageJson);if(!V){if(!X)q.warn("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager");throw Error("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager")}let L=!1,O;try{O=V?I0(V):void 0}catch{O=void 0}if(O)L=!U6(O,void 0,void 0,"7.0.0");else if(V==="link:@capgo/capacitor-updater"){if(!X)q.warn("Using local @capgo/capacitor-updater. Assuming v7");L=!0}let Z=await w9(U,Y.keyV2||t50(Q6)||L?"sha256":"crc32");if(z)z.stop(`Checksum ${L?"SHA256":"CRC32"}: ${Z}`);let M=Math.floor(U.byteLength/1024/1024);if(M>Y40&&$)q.warn(`WARNING !!
|
|
298
298
|
The bundle size is ${M} Mb, this may take a while to download for users
|
|
299
299
|
`),q.warn(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
|
|
300
|
-
`);let E=$?d0():null,j=Y.name||`${B}_${J}.zip`;if(E)E.start(`Saving to ${j}`);if(e50(j,U),E)E.stop(`Saved to ${j}`);if($)e("Done ✅");if(!X&&Q)X40({bundle:J,filename:j,checksum:Z});return{bundle:J,filename:j,checksum:Z}}catch(G){if(!X)if(Q)BY(G);else q.error(m(G));throw G instanceof Error?G:Error(String(G))}}async function PI(D,Y){await EF(D,Y,!1)}async function HY(D,Y,X,Q=!1){if(!Q)F0("Create channel");X.apikey=X.apikey||X0();let J=await U0().catch(()=>{return});if(Y=_0(Y,J?.config),!X.apikey){if(!Q)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Y){if(!Q)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let W=await V0(X.apikey,X.supaHost,X.supaAnon);if(await
|
|
301
|
-
${m(H.error)}`);throw Error(`Cannot create channel: ${m(H.error)}`)}if(await C0(X.apikey,{channel:"channel",event:"Create channel",icon:"✅",user_id:G,tags:{"app-id":Y,channel:D},notify:!1}).catch(()=>{}),!Q)q.success("Channel created ✅"),e("Done ✅");return H.data??!0}async function II(D,Y,X){await HY(D,Y,X,!1)}async function RF(D,Y,X,Q=!1){let{quiet:J}=X;if(!J&&!Q)F0("List current bundle");X.apikey=X.apikey||X0(J);let W=await U0();if(Y=_0(Y,W?.config),!X.apikey){if(!Q)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Y){if(!Q)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let $=await V0(X.apikey,X.supaHost,X.supaAnon);if(await g1($,Y,Q),await Z0($,X.apikey,["write","all","read"]),await L1($,X.apikey,Y,1,Q,!0),!D){if(!Q)q.error("Please provide a channel to get the bundle from.");throw Error("Channel name missing")}let{data:G,error:B}=await $.from("channels").select("version ( name )").eq("name",D).eq("app_id",Y).limit(1);if(B||!G?.length){if(!Q)q.error(`Error retrieving channel ${D} for app ${Y}. Perhaps the channel does not exist?`);throw Error(`Channel ${D} not found for app ${Y}`)}let{version:H}=G[0];if(!H){if(!Q)q.error(`Error retrieving channel ${D} for app ${Y}. Perhaps the channel does not exist?`);throw Error(`Channel ${D} does not have a bundle linked`)}if(!Q)if(!J)q.info(`Current bundle for channel ${D} is ${H.name}`);else q.info(H.name);return H.name}async function CI(D,Y,X){return RF(D,Y,X)}async function jF(D,Y,X,Q=!1){if(!Q)F0("Delete channel");X.apikey=X.apikey||X0();let J=await U0();if(Y=_0(Y,J?.config),!X.apikey){if(!Q)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Y){if(!Q)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let W=await V0(X.apikey,X.supaHost,X.supaAnon);await g1(W,Y,Q);let $=await Z0(W,X.apikey,["all"]);if(await L1(W,X.apikey,Y,4,Q,!0),X.deleteBundle&&!Q)q.info(`Deleting bundle ${Y}#${D} from Capgo`);if(X.deleteBundle){let U=await gS(W,Y,D);if(U?.name&&!Q)q.info(`Deleting bundle ${U.name} from Capgo`);if(U?.name)await g2(W,Y,U.name)}let{data:G,error:B}=await fS(W,Y,D);if(B||!G){if(!Q)q.error(`Channel ${D} not found`);if(X.successIfNotFound){if(!Q)q.success(`Channel ${D} not found and successIfNotFound is true`);return!0}throw Error(`Channel ${D} not found`)}let{error:H}=await hS(W,Y,G.id);if(H){if(!Q)q.error(`Cannot delete channel devices: ${m(H)}`);throw Error(`Cannot delete channel devices: ${m(H)}`)}if(!Q)q.info(`Deleting channel ${Y}#${D} from Capgo`);let F=await yS(W,D,Y,$);if(F.error){if(!Q)q.error(`Cannot delete Channel \uD83D\uDE40 ${m(F.error)}`);throw Error(`Cannot delete channel: ${m(F.error)}`)}let K=await a1(W,Y);if(await C0(X.apikey,{channel:"channel",event:"Delete channel",icon:"✅",user_id:K,tags:{"app-id":Y,channel:D},notify:!1}).catch(()=>{}),!Q)q.success("Channel deleted"),e("Done ✅");return!0}async function xI(D,Y,X){return jF(D,Y,X,!1)}async function TF(D,Y,X=!1){if(!X)F0("List channels");Y.apikey=Y.apikey||X0();let Q=await U0();if(D=_0(D,Q?.config),!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await V0(Y.apikey,Y.supaHost,Y.supaAnon);await g1(J,D,X);let W=await Z0(J,Y.apikey,["write","all","read","upload"]);if(await L1(J,Y.apikey,D,1,X,!0),!X)q.info("Querying available channels in Capgo");let $=await mS(J,D);if(!X)q.info(`Active channels in Capgo: ${$?.length??0}`),uS($);if(await C0(Y.apikey,{channel:"channel",event:"List channel",icon:"✅",user_id:W,tags:{"app-id":D},notify:!1}).catch(()=>{}),!X)e("Done ✅");return $}async function _I(D,Y){return TF(D,Y,!1)}function bI(D){let Y=new G1;Y.headers=["Package","Local","Remote","Status","Details"],Y.theme=G1.roundTheme,Y.rows=[];for(let X of D){let{name:Q,localVersion:J,remoteVersion:W}=X,$=W5(X),G=$.compatible?"✅":"❌";Y.rows.push([Q,J||"-",W||"-",G,$.message])}q.info(Y.toString())}var kI=["major","minor","metadata","patch","none"];async function SF(D,Y,X,Q=!1){if(!Q)F0("Set channel");X.apikey=X.apikey||X0();let J=await U0();if(Y=_0(Y,J?.config),!X.apikey){if(!Q)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Y){if(!Q)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(!D){if(!Q)q.error("Missing argument, you need to provide a channel");throw Error("Missing channel id")}let W=await V0(X.apikey,X.supaHost,X.supaAnon);await g1(W,Y,Q);let $=await Z0(W,X.apikey,["write","all"]);await L1(W,X.apikey,Y,4,Q,!0);let G=await a1(W,Y),{bundle:B,state:H,downgrade:F,latest:K,latestRemote:U,ios:z,android:w,selfAssign:V,disableAutoUpdate:L,dev:O,emulator:Z,device:M,prod:E}=X;if(K&&B){if(!Q)q.error("Cannot set latest and bundle at the same time");throw Error("Cannot set both latest and bundle simultaneously")}if(U&&B){if(!Q)q.error("Cannot set latest remote and bundle at the same time");throw Error("Cannot set both latest remote and bundle simultaneously")}if(U&&K){if(!Q)q.error("Cannot set latest remote and latest at the same time");throw Error("Cannot set both latest remote and latest simultaneously")}if(B==null&&H==null&&K==null&&U==null&&F==null&&z==null&&w==null&&V==null&&O==null&&Z==null&&M==null&&E==null&&L==null){if(!Q)q.error("Missing argument, you need to provide a option to set");throw Error("No channel option provided")}await nT(W,G,X.apikey,Y);let j={created_by:$,app_id:Y,name:D,owner_org:G,version:void 0},{error:I}=await W.from("channels").select().eq("app_id",Y).eq("name",D).single();if(I){if(!Q)q.error(`Cannot find channel ${D}`);throw Error(`Cannot find channel ${D}`)}let x=K?J?.config?.plugins?.CapacitorUpdater?.version||C6("",X.packageJson):B;if(x!=null){let{data:C,error:c}=await W.from("app_versions").select().eq("app_id",Y).eq("name",x).eq("user_id",$).eq("deleted",!1).single();if(c||!C){if(!Q)q.error(`Cannot find version ${x}`);throw Error(`Cannot find version ${x}`)}if(!X.ignoreMetadataCheck){let{finalCompatibility:S,localDependencies:p}=await T2(W,Y,D,C.native_packages??[]),u=S.filter((J0)=>!XD(J0));if(p.length>0&&u.length>0){if(!Q)q.warn(`Bundle NOT compatible with ${D} channel`),q.warn(""),bI(S),q.warn(""),q.warn("An app store update may be required for these changes to take effect.");throw Error(`Bundle is not compatible with ${D} channel`)}if(!Q)if(p.length===0&&S.length>0)q.info(`Ignoring check compatibility with ${D} channel because the bundle does not contain any native packages`);else q.info(`Bundle is compatible with ${D} channel`)}if(!Q)q.info(`Set ${Y} channel: ${D} to @${x}`);j.version=C.id}if(U){let{data:C,error:c}=await W.from("app_versions").select().eq("app_id",Y).eq("user_id",$).eq("deleted",!1).order("created_at",{ascending:!1}).single();if(c||!C){if(!Q)q.error("Cannot find latest remote version");throw Error("Cannot find latest remote version")}if(!X.ignoreMetadataCheck){let{finalCompatibility:S}=await T2(W,Y,D,C.native_packages??[]);if(S.filter((u)=>!XD(u)).length>0){if(!Q)q.warn(`Bundle NOT compatible with ${D} channel`),q.warn(""),bI(S),q.warn(""),q.warn("An app store update may be required for these changes to take effect.");throw Error(`Latest remote bundle is not compatible with ${D} channel`)}}if(!Q)q.info(`Set ${Y} channel: ${D} to @${C.name}`);j.version=C.id}if(H!=null){if(H!=="normal"&&H!=="default"){if(!Q)q.error(`State ${H} is not known. The possible values are: normal, default.`);throw Error(`Unknown state ${H}. Expected normal or default`)}if(!Q)q.info(`Set ${Y} channel: ${D} to ${H}`);j.public=H==="default"}if(F!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${F?"allow":"disallow"} downgrade`);j.disable_auto_update_under_native=!F}if(z!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${z?"allow":"disallow"} ios update`);j.ios=!!z}if(w!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${w?"allow":"disallow"} android update`);j.android=!!w}if(V!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${V?"allow":"disallow"} self assign to this channel`);j.allow_device_self_set=!!V}if(O!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${O?"allow":"disallow"} dev devices`);j.allow_dev=!!O}if(Z!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${Z?"allow":"disallow"} emulator devices`);j.allow_emulator=!!Z}if(M!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${M?"allow":"disallow"} physical devices`);j.allow_device=!!M}if(E!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${E?"allow":"disallow"} prod builds`);j.allow_prod=!!E}if(L!=null){let C=L.toLowerCase();if(!kI.includes(C)){if(!Q)q.error(`Channel strategy ${C} is not known. The possible values are: ${kI.join(", ")}.`);throw Error(`Unknown channel strategy ${C}`)}if(C==="metadata")C="version_number";if(j.disable_auto_update=C,!Q)q.info(`Set ${Y} channel: ${D} to ${C} disable update strategy to this channel`)}let{error:y}=await ZJ(W,j);if(y){if(!Q)q.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.');throw Error("Upload key is not allowed to set this channel")}if(await C0(X.apikey,{channel:"channel",event:"Set channel",icon:"✅",user_id:G,tags:{"app-id":Y},notify:!1}).catch(()=>{}),!Q)e("Done ✅");return!0}async function vI(D,Y,X){return SF(D,Y,X,!1)}import{existsSync as Q40,mkdirSync as J40,readFileSync as W40,writeFileSync as PF}from"node:fs";function IF(D){let Y="\uD83D\uDD39";if(D.includes("upload"))Y="⬆️";else if(D.includes("delete"))Y="\uD83D\uDDD1️";else if(D.includes("list"))Y="\uD83D\uDCCB";else if(D.includes("add"))Y="➕";else if(D.includes("set"))Y="⚙️";else if(D.includes("create"))Y="\uD83D\uDD28";else if(D.includes("encrypt"))Y="\uD83D\uDD12";else if(D.includes("decrypt"))Y="\uD83D\uDD13";else if(D.includes("debug"))Y="\uD83D\uDC1E";else if(D.includes("doctor"))Y="\uD83D\uDC68⚕️";else if(D.includes("login"))Y="\uD83D\uDD11";else if(D.includes("init"))Y="\uD83D\uDE80";else if(D.includes("compatibility"))Y="\uD83E\uDDEA";else if(D.includes("cleanup"))Y="\uD83E\uDDF9";else if(D.includes("currentBundle"))Y="\uD83D\uDCE6";else if(D.includes("setting"))Y="⚙️";else if(D==="app")Y="\uD83D\uDCF1";else if(D==="bundle")Y="\uD83D\uDCE6";else if(D==="channel")Y="\uD83D\uDCE2";else if(D==="key")Y="\uD83D\uDD10";else if(D==="account")Y="\uD83D\uDC64";return Y}function yI(D="./README.md",Y){let X=l1.commands.map((J)=>{let W=J,$=W._actionHandler!==null&&W._actionHandler!==void 0,B=J.commands&&J.commands.length>0&&!$;return{name:J.name(),alias:J.alias()||"",description:J.description(),options:J.options.map((H)=>({flags:H.flags,description:H.description||""})),subcommands:J.commands?J.commands.map((H)=>{let F=H,K=F._actionHandler!==null&&F._actionHandler!==void 0;return{name:H.name(),alias:H.alias()||"",description:H.description(),options:H.options.map((U)=>({flags:U.flags,description:U.description||""})),subcommands:[],hasAction:K,isCommandGroup:!1}}):[],hasAction:$,isCommandGroup:B}}),Q=(J,W=!1,$,G=!1)=>{let B=J.name,H=B.charAt(0).toUpperCase()+B.slice(1),F;if(W)F=$?`${$}-${B}`:B;else F=G?"options":B;let K=W?"###":"##",U="",z=IF(B);if(!(G&&!W))U+=`${K} <a id="${F}"></a> ${z} **${H}**
|
|
300
|
+
`);let E=$?d0():null,j=Y.name||`${B}_${J}.zip`;if(E)E.start(`Saving to ${j}`);if(e50(j,U),E)E.stop(`Saved to ${j}`);if($)e("Done ✅");if(!X&&Q)X40({bundle:J,filename:j,checksum:Z});return{bundle:J,filename:j,checksum:Z}}catch(G){if(!X)if(Q)BY(G);else q.error(m(G));throw G instanceof Error?G:Error(String(G))}}async function PI(D,Y){await EF(D,Y,!1)}async function HY(D,Y,X,Q=!1){if(!Q)F0("Create channel");X.apikey=X.apikey||X0();let J=await U0().catch(()=>{return});if(Y=_0(Y,J?.config),!X.apikey){if(!Q)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Y){if(!Q)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let W=await V0(X.apikey,X.supaHost,X.supaAnon);if(await h1(W,Y,Q),await Z0(W,X.apikey,["write","all"]),await L1(W,X.apikey,Y,4,Q,!0),!Q)q.info(`Creating channel ${Y}#${D} to Capgo`);let $=await h2(W,Y);if(!$){if(!Q)q.error("Cannot find default version for channel creation, please contact Capgo support \uD83E\uDD28");throw Error("Cannot find default version for channel creation")}let G=await a1(W,Y),B=await Z0(W,X.apikey,["write","all"]),H=await vS(W,{name:D,app_id:Y,version:$.id,created_by:B,owner_org:G,allow_device_self_set:X.selfAssign??!1,public:X.default??!1});if(H.error){if(!Q)q.error(`Cannot create Channel \uD83D\uDE40
|
|
301
|
+
${m(H.error)}`);throw Error(`Cannot create channel: ${m(H.error)}`)}if(await C0(X.apikey,{channel:"channel",event:"Create channel",icon:"✅",user_id:G,tags:{"app-id":Y,channel:D},notify:!1}).catch(()=>{}),!Q)q.success("Channel created ✅"),e("Done ✅");return H.data??!0}async function II(D,Y,X){await HY(D,Y,X,!1)}async function RF(D,Y,X,Q=!1){let{quiet:J}=X;if(!J&&!Q)F0("List current bundle");X.apikey=X.apikey||X0(J);let W=await U0();if(Y=_0(Y,W?.config),!X.apikey){if(!Q)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Y){if(!Q)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let $=await V0(X.apikey,X.supaHost,X.supaAnon);if(await h1($,Y,Q),await Z0($,X.apikey,["write","all","read"]),await L1($,X.apikey,Y,1,Q,!0),!D){if(!Q)q.error("Please provide a channel to get the bundle from.");throw Error("Channel name missing")}let{data:G,error:B}=await $.from("channels").select("version ( name )").eq("name",D).eq("app_id",Y).limit(1);if(B||!G?.length){if(!Q)q.error(`Error retrieving channel ${D} for app ${Y}. Perhaps the channel does not exist?`);throw Error(`Channel ${D} not found for app ${Y}`)}let{version:H}=G[0];if(!H){if(!Q)q.error(`Error retrieving channel ${D} for app ${Y}. Perhaps the channel does not exist?`);throw Error(`Channel ${D} does not have a bundle linked`)}if(!Q)if(!J)q.info(`Current bundle for channel ${D} is ${H.name}`);else q.info(H.name);return H.name}async function CI(D,Y,X){return RF(D,Y,X)}async function jF(D,Y,X,Q=!1){if(!Q)F0("Delete channel");X.apikey=X.apikey||X0();let J=await U0();if(Y=_0(Y,J?.config),!X.apikey){if(!Q)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Y){if(!Q)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let W=await V0(X.apikey,X.supaHost,X.supaAnon);await h1(W,Y,Q);let $=await Z0(W,X.apikey,["all"]);if(await L1(W,X.apikey,Y,4,Q,!0),X.deleteBundle&&!Q)q.info(`Deleting bundle ${Y}#${D} from Capgo`);if(X.deleteBundle){let U=await gS(W,Y,D);if(U?.name&&!Q)q.info(`Deleting bundle ${U.name} from Capgo`);if(U?.name)await g2(W,Y,U.name)}let{data:G,error:B}=await fS(W,Y,D);if(B||!G){if(!Q)q.error(`Channel ${D} not found`);if(X.successIfNotFound){if(!Q)q.success(`Channel ${D} not found and successIfNotFound is true`);return!0}throw Error(`Channel ${D} not found`)}let{error:H}=await hS(W,Y,G.id);if(H){if(!Q)q.error(`Cannot delete channel devices: ${m(H)}`);throw Error(`Cannot delete channel devices: ${m(H)}`)}if(!Q)q.info(`Deleting channel ${Y}#${D} from Capgo`);let F=await yS(W,D,Y,$);if(F.error){if(!Q)q.error(`Cannot delete Channel \uD83D\uDE40 ${m(F.error)}`);throw Error(`Cannot delete channel: ${m(F.error)}`)}let K=await a1(W,Y);if(await C0(X.apikey,{channel:"channel",event:"Delete channel",icon:"✅",user_id:K,tags:{"app-id":Y,channel:D},notify:!1}).catch(()=>{}),!Q)q.success("Channel deleted"),e("Done ✅");return!0}async function xI(D,Y,X){return jF(D,Y,X,!1)}async function TF(D,Y,X=!1){if(!X)F0("List channels");Y.apikey=Y.apikey||X0();let Q=await U0();if(D=_0(D,Q?.config),!Y.apikey){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await V0(Y.apikey,Y.supaHost,Y.supaAnon);await h1(J,D,X);let W=await Z0(J,Y.apikey,["write","all","read","upload"]);if(await L1(J,Y.apikey,D,1,X,!0),!X)q.info("Querying available channels in Capgo");let $=await mS(J,D);if(!X)q.info(`Active channels in Capgo: ${$?.length??0}`),uS($);if(await C0(Y.apikey,{channel:"channel",event:"List channel",icon:"✅",user_id:W,tags:{"app-id":D},notify:!1}).catch(()=>{}),!X)e("Done ✅");return $}async function _I(D,Y){return TF(D,Y,!1)}function bI(D){let Y=new G1;Y.headers=["Package","Local","Remote","Status","Details"],Y.theme=G1.roundTheme,Y.rows=[];for(let X of D){let{name:Q,localVersion:J,remoteVersion:W}=X,$=W5(X),G=$.compatible?"✅":"❌";Y.rows.push([Q,J||"-",W||"-",G,$.message])}q.info(Y.toString())}var kI=["major","minor","metadata","patch","none"];async function SF(D,Y,X,Q=!1){if(!Q)F0("Set channel");X.apikey=X.apikey||X0();let J=await U0();if(Y=_0(Y,J?.config),!X.apikey){if(!Q)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Y){if(!Q)q.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(!D){if(!Q)q.error("Missing argument, you need to provide a channel");throw Error("Missing channel id")}let W=await V0(X.apikey,X.supaHost,X.supaAnon);await h1(W,Y,Q);let $=await Z0(W,X.apikey,["write","all"]);await L1(W,X.apikey,Y,4,Q,!0);let G=await a1(W,Y),{bundle:B,state:H,downgrade:F,latest:K,latestRemote:U,ios:z,android:w,selfAssign:V,disableAutoUpdate:L,dev:O,emulator:Z,device:M,prod:E}=X;if(K&&B){if(!Q)q.error("Cannot set latest and bundle at the same time");throw Error("Cannot set both latest and bundle simultaneously")}if(U&&B){if(!Q)q.error("Cannot set latest remote and bundle at the same time");throw Error("Cannot set both latest remote and bundle simultaneously")}if(U&&K){if(!Q)q.error("Cannot set latest remote and latest at the same time");throw Error("Cannot set both latest remote and latest simultaneously")}if(B==null&&H==null&&K==null&&U==null&&F==null&&z==null&&w==null&&V==null&&O==null&&Z==null&&M==null&&E==null&&L==null){if(!Q)q.error("Missing argument, you need to provide a option to set");throw Error("No channel option provided")}await nT(W,G,X.apikey,Y);let j={created_by:$,app_id:Y,name:D,owner_org:G,version:void 0},{error:I}=await W.from("channels").select().eq("app_id",Y).eq("name",D).single();if(I){if(!Q)q.error(`Cannot find channel ${D}`);throw Error(`Cannot find channel ${D}`)}let x=K?J?.config?.plugins?.CapacitorUpdater?.version||C6("",X.packageJson):B;if(x!=null){let{data:C,error:c}=await W.from("app_versions").select().eq("app_id",Y).eq("name",x).eq("user_id",$).eq("deleted",!1).single();if(c||!C){if(!Q)q.error(`Cannot find version ${x}`);throw Error(`Cannot find version ${x}`)}if(!X.ignoreMetadataCheck){let{finalCompatibility:S,localDependencies:p}=await T2(W,Y,D,C.native_packages??[]),u=S.filter((J0)=>!XD(J0));if(p.length>0&&u.length>0){if(!Q)q.warn(`Bundle NOT compatible with ${D} channel`),q.warn(""),bI(S),q.warn(""),q.warn("An app store update may be required for these changes to take effect.");throw Error(`Bundle is not compatible with ${D} channel`)}if(!Q)if(p.length===0&&S.length>0)q.info(`Ignoring check compatibility with ${D} channel because the bundle does not contain any native packages`);else q.info(`Bundle is compatible with ${D} channel`)}if(!Q)q.info(`Set ${Y} channel: ${D} to @${x}`);j.version=C.id}if(U){let{data:C,error:c}=await W.from("app_versions").select().eq("app_id",Y).eq("user_id",$).eq("deleted",!1).order("created_at",{ascending:!1}).single();if(c||!C){if(!Q)q.error("Cannot find latest remote version");throw Error("Cannot find latest remote version")}if(!X.ignoreMetadataCheck){let{finalCompatibility:S}=await T2(W,Y,D,C.native_packages??[]);if(S.filter((u)=>!XD(u)).length>0){if(!Q)q.warn(`Bundle NOT compatible with ${D} channel`),q.warn(""),bI(S),q.warn(""),q.warn("An app store update may be required for these changes to take effect.");throw Error(`Latest remote bundle is not compatible with ${D} channel`)}}if(!Q)q.info(`Set ${Y} channel: ${D} to @${C.name}`);j.version=C.id}if(H!=null){if(H!=="normal"&&H!=="default"){if(!Q)q.error(`State ${H} is not known. The possible values are: normal, default.`);throw Error(`Unknown state ${H}. Expected normal or default`)}if(!Q)q.info(`Set ${Y} channel: ${D} to ${H}`);j.public=H==="default"}if(F!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${F?"allow":"disallow"} downgrade`);j.disable_auto_update_under_native=!F}if(z!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${z?"allow":"disallow"} ios update`);j.ios=!!z}if(w!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${w?"allow":"disallow"} android update`);j.android=!!w}if(V!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${V?"allow":"disallow"} self assign to this channel`);j.allow_device_self_set=!!V}if(O!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${O?"allow":"disallow"} dev devices`);j.allow_dev=!!O}if(Z!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${Z?"allow":"disallow"} emulator devices`);j.allow_emulator=!!Z}if(M!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${M?"allow":"disallow"} physical devices`);j.allow_device=!!M}if(E!=null){if(!Q)q.info(`Set ${Y} channel: ${D} to ${E?"allow":"disallow"} prod builds`);j.allow_prod=!!E}if(L!=null){let C=L.toLowerCase();if(!kI.includes(C)){if(!Q)q.error(`Channel strategy ${C} is not known. The possible values are: ${kI.join(", ")}.`);throw Error(`Unknown channel strategy ${C}`)}if(C==="metadata")C="version_number";if(j.disable_auto_update=C,!Q)q.info(`Set ${Y} channel: ${D} to ${C} disable update strategy to this channel`)}let{error:y}=await ZJ(W,j);if(y){if(!Q)q.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.');throw Error("Upload key is not allowed to set this channel")}if(await C0(X.apikey,{channel:"channel",event:"Set channel",icon:"✅",user_id:G,tags:{"app-id":Y},notify:!1}).catch(()=>{}),!Q)e("Done ✅");return!0}async function vI(D,Y,X){return SF(D,Y,X,!1)}import{existsSync as Q40,mkdirSync as J40,readFileSync as W40,writeFileSync as PF}from"node:fs";function IF(D){let Y="\uD83D\uDD39";if(D.includes("upload"))Y="⬆️";else if(D.includes("delete"))Y="\uD83D\uDDD1️";else if(D.includes("list"))Y="\uD83D\uDCCB";else if(D.includes("add"))Y="➕";else if(D.includes("set"))Y="⚙️";else if(D.includes("create"))Y="\uD83D\uDD28";else if(D.includes("encrypt"))Y="\uD83D\uDD12";else if(D.includes("decrypt"))Y="\uD83D\uDD13";else if(D.includes("debug"))Y="\uD83D\uDC1E";else if(D.includes("doctor"))Y="\uD83D\uDC68⚕️";else if(D.includes("login"))Y="\uD83D\uDD11";else if(D.includes("init"))Y="\uD83D\uDE80";else if(D.includes("compatibility"))Y="\uD83E\uDDEA";else if(D.includes("cleanup"))Y="\uD83E\uDDF9";else if(D.includes("currentBundle"))Y="\uD83D\uDCE6";else if(D.includes("setting"))Y="⚙️";else if(D==="app")Y="\uD83D\uDCF1";else if(D==="bundle")Y="\uD83D\uDCE6";else if(D==="channel")Y="\uD83D\uDCE2";else if(D==="key")Y="\uD83D\uDD10";else if(D==="account")Y="\uD83D\uDC64";return Y}function yI(D="./README.md",Y){let X=c1.commands.map((J)=>{let W=J,$=W._actionHandler!==null&&W._actionHandler!==void 0,B=J.commands&&J.commands.length>0&&!$;return{name:J.name(),alias:J.alias()||"",description:J.description(),options:J.options.map((H)=>({flags:H.flags,description:H.description||""})),subcommands:J.commands?J.commands.map((H)=>{let F=H,K=F._actionHandler!==null&&F._actionHandler!==void 0;return{name:H.name(),alias:H.alias()||"",description:H.description(),options:H.options.map((U)=>({flags:U.flags,description:U.description||""})),subcommands:[],hasAction:K,isCommandGroup:!1}}):[],hasAction:$,isCommandGroup:B}}),Q=(J,W=!1,$,G=!1)=>{let B=J.name,H=B.charAt(0).toUpperCase()+B.slice(1),F;if(W)F=$?`${$}-${B}`:B;else F=G?"options":B;let K=W?"###":"##",U="",z=IF(B);if(!(G&&!W))U+=`${K} <a id="${F}"></a> ${z} **${H}**
|
|
302
302
|
|
|
303
303
|
`;if(J.alias)U+=`**Alias:** \`${J.alias}\`
|
|
304
304
|
|
|
@@ -345,7 +345,7 @@ sidebar:
|
|
|
345
345
|
`;for(let K of F.subcommands)J+=Q(K,!0,F.name)}J+=`
|
|
346
346
|
`}let W="<!-- AUTO-GENERATED-DOCS-START -->",$="<!-- AUTO-GENERATED-DOCS-END -->",G="";try{G=W40(D,"utf8")}catch{G=""}let B=G.indexOf(W),H=G.indexOf($,B);if(B!==-1&&H!==-1){let F=G.substring(0,B+W.length),K=G.substring(H),U=`${F}
|
|
347
347
|
${J}
|
|
348
|
-
${K}`;PF(D,U,"utf8"),q.success(`Documentation updated in ${D}`)}else PF(D,J,"utf8"),q.success(`Documentation written to ${D}`)}}import{execSync as gF,spawnSync as k40}from"node:child_process";import{existsSync as j9,mkdirSync as v40,readdirSync as BC,readFileSync as oJ,rmSync as y40,statSync as f40,writeFileSync as UY}from"node:fs";import{join as D9}from"node:path";import{cwd as sJ,env as rJ,exit as e0,platform as fF}from"node:process";var aJ=
|
|
348
|
+
${K}`;PF(D,U,"utf8"),q.success(`Documentation updated in ${D}`)}else PF(D,J,"utf8"),q.success(`Documentation written to ${D}`)}}import{execSync as gF,spawnSync as k40}from"node:child_process";import{existsSync as j9,mkdirSync as v40,readdirSync as BC,readFileSync as oJ,rmSync as y40,statSync as f40,writeFileSync as UY}from"node:fs";import{join as D9}from"node:path";import{cwd as sJ,env as rJ,exit as e0,platform as fF}from"node:process";var aJ=r1(sI(),1);import{existsSync as e4,readFileSync as _40,unlinkSync as tI,writeFileSync as eI}from"node:fs";function DC(D){return D.plugins??={},D.plugins.extConfig??={},D.plugins.CapacitorUpdater??={},D.plugins.CapacitorUpdater}async function kF(D,Y=!1){if(!Y)F0("Save keys \uD83D\uDD11");let X=await U0(),Q=D.key||O9,J=D.keyData||"";if(!e4(Q)&&!J){if(!Y)q.error(`Cannot find a public key at ${Q} or as keyData option or in ${X.path}`);throw Error("Missing public key")}if(e4(Q))J=_40(Q,"utf8");if(!J.startsWith("-----BEGIN RSA PUBLIC KEY-----")){if(!Y)q.error("The public key provided is not a valid RSA Public key");throw Error("Invalid RSA public key")}if(X?.config){let W=DC(X.config);if(W.privateKey){if(delete W.privateKey,!Y)q.info("Old private key deleted from config file");if(Y?D.setupChannel??!1:D.setupChannel??await j0({message:"Do you want to setup encryption with the new channel in order to support old apps and facilitate the migration?"}))W.defaultChannel="encryption_v2"}W.publicKey=J,await P4(X)}if(!Y)q.success(`Public key saved into ${X.path} file in local directory`),q.success("Your app will decode the zip archive with this key");return!0}async function vF(D,Y=!1){if(!Y)F0("Deleting old private key \uD83D\uDDD1️");let X=await U0(),Q=X?.config?.plugins?.CapacitorUpdater;if(Q?.privateKey){if(delete Q.privateKey,await P4(X),e4(k4))try{if(tI(k4),!Y)q.success(`Old private key file deleted: ${k4}`)}catch(J){if(!Y)q.error(`Failed to delete old private key file: ${k4} (${String(J)})`)}if(e4(LJ))try{if(tI(LJ),!Y)q.success(`Old public key file deleted: ${LJ}`)}catch(J){if(!Y)q.error(`Failed to delete old public key file: ${O9} (${String(J)})`)}if(!Y)q.success(`Old private key deleted from ${X.path} file`),e("Done ✅");return!0}if(!Y)q.info("No old private key found in config file");return!1}async function YC(D){await f0(),await kF(D,!1)}async function FY(D,Y=!1){if(!Y)F0("Create keys \uD83D\uDD11");let{publicKey:X,privateKey:Q}=oS();if(e4(O9)&&!D.force){if(!Y)q.error("Public Key already exists, use --force to overwrite");throw Error("Public key already exists")}if(eI(O9,X),e4(Q6)&&!D.force){if(!Y)q.error("Private Key already exists, use --force to overwrite");throw Error("Private key already exists")}eI(Q6,Q);let J=await U0();if(J){let W=DC(J.config);if(W.privateKey){if(delete W.privateKey,!Y)q.info("Old private key deleted from config file");if(Y?D.setupChannel??!1:D.setupChannel??await j0({message:"Do you want to setup encryption with the new channel in order to support old apps and facilitate the migration?"}))W.defaultChannel="encryption_v2"}W.publicKey=X,await P4(J)}if(!Y){q.success("Your RSA key has been generated"),q.success(`Private key saved in ${Q6}`),q.success("This key will be used to encrypt your bundle before sending it to Capgo"),q.success("Keep it safe"),q.success("Then make it unreadable by Capgo and unmodifiable by anyone"),q.success(`Public key saved in ${J.path}`),q.success("Your app will be the only one having it"),q.success("Only your users can decrypt your update"),q.success("Only you can send them an update");try{await EJ(),e("Done ✅")}catch(W){if(W instanceof Error&&W.message==="Capacitor sync cancelled")return!0;throw W}}return!0}async function XC(D){await f0(),await FY(D,!1)}async function QC(D){await f0(),await vF(D,!1)}import{appendFileSync as b40,existsSync as yF,writeFileSync as JC}from"node:fs";import{homedir as WC}from"node:os";function $C(){let D=WC();return yF(`${D}/.capgo`)||yF(".capgo")}async function qY(D,Y,X=!1){if(!X)F0("Login to Capgo");if(!D&&!X){let $=await vw({message:"Enter your API key:",mask:"*"});if(R0($))throw q.error("Login cancelled"),Error("Login cancelled");D=$}if(!D){if(!X)q.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}await f0();let{local:Q}=Y;if(Q){if(!yF(".git")){if(!X)q.error("To use local you should be in a git repository");throw Error("Not in a git repository")}JC(".capgo",`${D}
|
|
349
349
|
`),b40(".gitignore",`.capgo
|
|
350
350
|
`)}else{let $=WC();JC(`${$}/.capgo`,`${D}
|
|
351
351
|
`)}let J=await V0(D,Y.supaHost,Y.supaAnon),W=await Z0(J,D,["write","all","upload"]);if(await C0(D,{channel:"user-login",event:"User CLI login",icon:"✅",user_id:W,notify:!1}).catch(),!X)q.success(`login saved into .capgo file in ${Q?"local":"home"} directory`),e("Done ✅")}async function GC(D,Y){await qY(D,Y,!1)}var hF="import { CapacitorUpdater } from '@capgo/capacitor-updater'",KY="CapacitorUpdater.notifyAppReady()",h40=/import.*from.*/g,zY="production",uF={stdio:"pipe"},wY,$D;function HC(){wY??=BC(aJ.default.tmpdir).map((D)=>{return{name:D,full:`${aJ.default.tmpdir}/${D}`}}).find((D)=>D.name.startsWith("capgocli"))?.full??aJ.default.fileSync({prefix:"capgocli"}).name}function _8(D,Y){try{if(HC(),UY(wY,JSON.stringify(Y?{step_done:D,pathToPackageJson:Y}:{step_done:D,pathToPackageJson:$D})),Y)$D=Y}catch(X){q.error(`Cannot mark step as done in the CLI, error:
|
|
@@ -357,7 +357,7 @@ Error: ${D}`)}}async function v1(D,Y,X){if(R0(D))await U8("onboarding-v2",Y,X,"c
|
|
|
357
357
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();if(U==="cancel")await U8("onboarding-v2",D.gid,Y,"canceled-appid-conflict","\uD83E\uDD37"),e(`Bye \uD83D\uDC4B
|
|
358
358
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();if(U==="custom"){let z=await h8({message:"Enter your custom app ID (e.g., com.example.myapp):",validate:(w)=>{if(!w)return"App ID is required";if(w.includes("--"))return'App ID cannot contain "--"';if(!/^[a-z0-9]+(?:\.[\w-]+)+$/i.test(w))return"Invalid format. Use reverse domain notation (e.g., com.example.app)"}});if(R0(z))await U8("onboarding-v2",D.gid,Y,"canceled","\uD83E\uDD37"),e(`Bye \uD83D\uDC4B
|
|
359
359
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();W=z}else{let z=Number.parseInt(U.replace("suggest",""))-1;W=K[z]}q.info(`\uD83D\uDD04 Trying with new app ID: ${W}`);continue}throw H}}q.error(`❌ Maximum retry attempts (${G}) reached`),e(`Bye \uD83D\uDC4B
|
|
360
|
-
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0(1)}async function l40(D,Y,X){let Q=W8(),J=await j0({message:`Create default channel ${zY} for ${X} in Capgo?`});if(await v1(J,D,Y),J){let W=d0();if(W.start(`Running: ${Q.runner} @capgo/cli@latest channel add ${zY} ${X} --default`),!await HY(zY,X,{default:!0,apikey:Y},!0))W.stop("Channel already added ✅");else W.stop("Channel add Done ✅")}else q.info(`If you change your mind, run it for yourself with: "${Q.runner} @capgo/cli@latest channel add ${zY} ${X} --default"`);await L8(D,Y,"add-channel",X)}async function d40(D){let Y=D9(
|
|
360
|
+
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0(1)}async function l40(D,Y,X){let Q=W8(),J=await j0({message:`Create default channel ${zY} for ${X} in Capgo?`});if(await v1(J,D,Y),J){let W=d0();if(W.start(`Running: ${Q.runner} @capgo/cli@latest channel add ${zY} ${X} --default`),!await HY(zY,X,{default:!0,apikey:Y},!0))W.stop("Channel already added ✅");else W.stop("Channel add Done ✅")}else q.info(`If you change your mind, run it for yourself with: "${Q.runner} @capgo/cli@latest channel add ${zY} ${X} --default"`);await L8(D,Y,"add-channel",X)}async function d40(D){let Y=D9(f1(sJ()),X6),X=!$D?await z6(void 0,Y):await z6(void 0,$D);if(X.size===0||!X.has("@capacitor/core")){q.warn("No adequate dependencies found");let Q=await j0({message:"Would you like to select the package.json file manually?"});if(R0(Q))SD("Operation cancelled."),e0(1);if(Q){let J=await j0({message:"Would you like to use a tree selector to choose the package.json file?"});if(R0(J))SD("Operation cancelled."),e0(1);if(J){let $=sJ(),G=X6;while(!0){let B=BC($).map((H)=>({value:H,label:H}));if(B.push({value:"..",label:".."}),G=await D8({message:"Select package.json file:",options:B}),R0(G))SD("Operation cancelled."),e0(1);if(!f40(D9($,G)).isDirectory()&&G!==X6){q.error("Selected a file that is not a package.json file");continue}if($=D9($,G),G===X6)break}return await _8(D,$),{dependencies:await z6(void 0,$),path:$}}let W=await h8({message:"Enter path to node_modules folder:"});if(R0(W))SD("Operation cancelled."),e0(1);if(!j9(W))q.error(`Path ${W} does not exist`),e0(1);return{dependencies:await z6(void 0,W),path:W}}}return await _8(D,Y),{dependencies:await z6(void 0,Y),path:Y}}var p40="https://capacitorjs.com/docs/updating/5-0",n40="https://capacitorjs.com/docs/updating/6-0",i40="https://capacitorjs.com/docs/updating/7-0",r40="https://capacitorjs.com/docs/updating/8-0";async function a40(D,Y,X){let Q=W8(),J="1.0.0",W=!1,$=await j0({message:`Automatic Install "@capgo/capacitor-updater" dependency in ${X}?`});if(await v1($,D,Y),$){let G=d0(),B="latest",{dependencies:H,path:F}=await d40(3);if(G.start("Checking if @capgo/capacitor-updater is installed"),!H.has("@capacitor/core"))G.stop("Error"),q.warn("Cannot find @capacitor/core in package.json"),e(`Bye \uD83D\uDC4B
|
|
361
361
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();let K=H.get("@capacitor/core");if(!K)G.stop("Error"),q.warn("Cannot find @capacitor/core in package.json, please run `capgo init` in a capacitor project"),e(`Bye \uD83D\uDC4B
|
|
362
362
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();if(K==="latest")G.stop(`@capacitor/core version is ${K}, make sure to use a proper version, using Latest as value is not recommended and will lead to unexpected behavior`),e(`Bye \uD83D\uDC4B
|
|
363
363
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();else if(t8(I0(K),I0("5.0.0")))G.stop("Error"),q.warn(`@capacitor/core version is ${K}, Capgo only supports Capacitor v5 and above, please update to Capacitor v5 minimum: ${p40}`),e(`Bye \uD83D\uDC4B
|
|
@@ -398,7 +398,7 @@ body {
|
|
|
398
398
|
|
|
399
399
|
${V}`}if(L!==V){UY(w,L,"utf8"),K.stop(`✅ Made test changes to ${w}`),q.info("\uD83D\uDCDD Added visible test modification to verify the update works"),U=!0;break}}catch{}if(!U){K.stop("⚠️ Could not automatically modify files"),q.warn("Please make a visible change manually (like editing a text or color)");let w=await j0({message:"Continue after making your changes?"});await v1(w,D,Y)}}else{q.info("✋ Please make a visible change to your app now (example: change a text, color, or add an element)"),q.info("\uD83D\uDCA1 This change will help you see that Capgo updates work correctly");let K=await j0({message:"Have you made your changes and ready to continue?"});await v1(K,D,Y)}let $="1.0.1";try{let K=I0(Q);$=u8(u9(K,"patch"))}catch{$="1.0.1"}let G=await D8({message:"How do you want to handle the version for this update?",options:[{value:"auto",label:`Auto: Bump patch version (${Q} → ${$})`},{value:"manual",label:"Manual: I'll provide the version number"}]});if(R0(G))await U8("onboarding-v2",D,Y,"canceled","\uD83E\uDD37"),e(`Bye \uD83D\uDC4B
|
|
400
400
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();let B=Q;if(G==="auto")try{let K=I0(Q);B=u8(u9(K,"patch")),q.info(`\uD83D\uDD22 Auto-bumped version from ${Q} to ${B}`)}catch{B="1.0.1",q.warn(`Could not parse version ${Q}, using fallback ${B}`)}else{let K=await h8({message:`Current version is ${Q}. Enter new version:`,validate:(U)=>{if(!U.match(/^\d+\.\d+\.\d+/))return"Please enter a valid version (x.y.z)"}});if(R0(K))await U8("onboarding-v2",D,Y,"canceled","\uD83E\uDD37"),e(`Bye \uD83D\uDC4B
|
|
401
|
-
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();B=K}let H=W8(),F=await j0({message:`Build ${X} with changes before uploading? If you need to build yourself please do it now in other terminal, and then select no`});if(await v1(F,D,Y),F){let K=d0();K.start("Checking project type");let U=await OJ(),z=await A2(U);if(K.message(`Running: ${H.pm} run ${z} && ${H.runner} cap sync ${J}`),!O2()[z]){K.stop("Missing build script"),q.warn(`❌ Cannot find "${z}" script in package.json`),q.info("\uD83D\uDCA1 Build manually in another terminal, then come back and continue");let V=await j0({message:"Have you built the app manually? (If not, we'll skip the build)"});if(await v1(V,D,Y),!V)q.warn("⚠️ Continuing without build - upload may fail if app isn't built"),q.info(`\uD83D\uDCA1 Build with: ${H.pm} run ${z} && ${H.runner} cap sync ${J}`);else q.info("✅ Great! Continuing with your manual build")}else gF(`${H.pm} run ${z} && ${H.runner} cap sync ${J}`,uF),K.stop("✅ Build with changes completed"),q.info("\uD83D\uDCE6 Your modifications have been built and synced")}else q.info(`Build yourself with command: ${H.pm} run build && ${H.runner} cap sync ${J}`);return await L8(D,Y,"add-code-change",X),B}async function X70(D,Y,X,Q,J){let W=W8(),$=await j0({message:`Upload the updated ${X} bundle (v${Q}) to Capgo?`});if(await v1($,D,Y),$){let G=d0(),B;G.start(`Running: ${W.runner} @capgo/cli@latest bundle upload ${J?"--delta-only":""}`);let H=hT(sJ());if($D&&H){if(q.warn("You are most likely using a monorepo, please provide the path to your package.json file AND node_modules path folder when uploading your bundle"),q.warn(`Example: ${W.runner} @capgo/cli@latest bundle upload --package-json ./packages/my-app/package.json --node-modules ./packages/my-app/node_modules ${J?"--delta-only":""}`),B=D9(
|
|
401
|
+
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();B=K}let H=W8(),F=await j0({message:`Build ${X} with changes before uploading? If you need to build yourself please do it now in other terminal, and then select no`});if(await v1(F,D,Y),F){let K=d0();K.start("Checking project type");let U=await OJ(),z=await A2(U);if(K.message(`Running: ${H.pm} run ${z} && ${H.runner} cap sync ${J}`),!O2()[z]){K.stop("Missing build script"),q.warn(`❌ Cannot find "${z}" script in package.json`),q.info("\uD83D\uDCA1 Build manually in another terminal, then come back and continue");let V=await j0({message:"Have you built the app manually? (If not, we'll skip the build)"});if(await v1(V,D,Y),!V)q.warn("⚠️ Continuing without build - upload may fail if app isn't built"),q.info(`\uD83D\uDCA1 Build with: ${H.pm} run ${z} && ${H.runner} cap sync ${J}`);else q.info("✅ Great! Continuing with your manual build")}else gF(`${H.pm} run ${z} && ${H.runner} cap sync ${J}`,uF),K.stop("✅ Build with changes completed"),q.info("\uD83D\uDCE6 Your modifications have been built and synced")}else q.info(`Build yourself with command: ${H.pm} run build && ${H.runner} cap sync ${J}`);return await L8(D,Y,"add-code-change",X),B}async function X70(D,Y,X,Q,J){let W=W8(),$=await j0({message:`Upload the updated ${X} bundle (v${Q}) to Capgo?`});if(await v1($,D,Y),$){let G=d0(),B;G.start(`Running: ${W.runner} @capgo/cli@latest bundle upload ${J?"--delta-only":""}`);let H=hT(sJ());if($D&&H){if(q.warn("You are most likely using a monorepo, please provide the path to your package.json file AND node_modules path folder when uploading your bundle"),q.warn(`Example: ${W.runner} @capgo/cli@latest bundle upload --package-json ./packages/my-app/package.json --node-modules ./packages/my-app/node_modules ${J?"--delta-only":""}`),B=D9(f1(sJ()),"node_modules"),q.warn(`Guessed node modules path at: ${B}`),!j9(B))q.error("Node modules path does not exist, upload skipped"),e(`Bye \uD83D\uDC4B
|
|
402
402
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0(1)}if(!(await o4(X,{channel:zY,apikey:Y,packageJson:H?$D:void 0,nodeModules:H?B:void 0,deltaOnly:J,bundle:Q},!1))?.success)G.stop("Error"),q.warn("Upload failed ❌"),e(`Bye \uD83D\uDC4B
|
|
403
403
|
\uD83D\uDCA1 You can resume the onboarding anytime by running the same command again`),e0();else G.stop(`✅ Update v${Q} uploaded successfully!`),q.info("\uD83C\uDF89 Your updated bundle is now available on Capgo")}else q.info(`Upload yourself with command: ${W.runner} @capgo/cli@latest bundle upload`);await L8(D,Y,"upload",X)}async function Q70(D,Y,X,Q,J){if(q.info("\uD83E\uDDEA Time to test the Capgo update system!"),q.info("\uD83D\uDCF1 Go to your device where the app is running"),J)q.info("\uD83D\uDD04 IMPORTANT: Background your app (swipe up/press home button) and then reopen it"),q.info("⏱️ The update should be downloaded and applied automatically");else q.info("\uD83D\uDCF1 With standard updates, you will need to:"),q.info(" 1. Background the app (swipe up/press home button) to start download"),q.info(" 2. Wait a few seconds for download to complete"),q.info(" 3. Background and foreground again to see the update");q.info("\uD83D\uDC40 You should see your changes appear in the app!");let W=await j0({message:"Monitor Capgo logs to verify the update worked?"});if(await v1(W,D,Y),W)q.info(`\uD83D\uDCCA Watching logs from ${X}...`),q.info("\uD83D\uDD04 Please background and reopen your app now to trigger the update"),await aB("onboarding-v2",Y,X,Y,D);else q.info(`\uD83D\uDCCA Check logs manually at ${Q}/app/${X}/logs to verify the update`);await L8(D,Y,"test-update",X)}async function FC(D,Y,X){let Q=W8();F0("Capgo onboarding \uD83D\uDEEB"),await f0();let J=!X.supaAnon||!X.supaHost?await U0():await p3({statsUrl:`${X.supaHost}/functions/v1/stats`,channelUrl:`${X.supaHost}/functions/v1/channel_self`,updateUrl:`${X.supaHost}/functions/v1/updates`,localApiFiles:`${X.supaHost}/functions/v1`,localS3:!0,localSupa:X.supaHost,localSupaAnon:X.supaAnon}),W=await c8();if(Y=_0(Y,J?.config),X.apikey=D||X0(),Y===void 0){if(Y=await h8({message:"Enter your appId:"}),R0(Y))SD("Operation cancelled."),e0(1)}let $=d0();if(!$C()||D)$.start(`Running: ${Q.runner} @capgo/cli@latest login ***`),await qY(X.apikey,X,!1),$.stop("Login Done ✅");let G=await V0(X.apikey,X.supaHost,X.supaAnon);await Z0(G,X.apikey,["upload","all","read","write"]);let B=await h4(G,["admin","super_admin"]),H=B.gid,F=await g40(H,X.apikey)??0,K=C6(void 0,$D)||"1.0.0",U=!1,z=K,w="ios";try{if(F<1)await m40(H,X.apikey),_8(1);if(F<2)Y=await c40(B,X.apikey,Y,X),_8(2);if(F<3)await l40(H,X.apikey,Y),_8(3);if(F<4){let V=await a40(H,X.apikey,Y);K=V.pkgVersion,z=K,U=V.delta,_8(4)}if(F<5)await o40(H,X.apikey,Y),_8(5);if(F<6)await s40(H,X.apikey,Y),_8(6);if(F<7)w=await e40(H,X.apikey),_8(7);if(F<8)await t40(H,X.apikey,Y,w),_8(8);if(F<9)await D70(H,X.apikey,Y,w),_8(9);if(F<10)z=await Y70(H,X.apikey,Y,K,w),_8(10);if(F<11)await X70(H,X.apikey,Y,z,U),_8(11);if(F<12)await Q70(H,X.apikey,Y,W.hostWeb,U),_8(12);if(F<13)_8(13);await L8(H,X.apikey,"done",Y),u40()}catch(V){console.error(V),q.error(`Error during onboarding.
|
|
404
404
|
if the error persists please contact support@capgo.app
|
|
@@ -427,31 +427,31 @@ ${V}`}if(L!==V){UY(w,L,"utf8"),K.stop(`✅ Made test changes to ${w}`),q.info("\
|
|
|
427
427
|
if (${M}.issues.length) payload.issues = payload.issues.concat(${M}.issues.map(iss => ({
|
|
428
428
|
...iss,
|
|
429
429
|
path: iss.path ? [${M5(Z)}, ...iss.path] : [${M5(Z)}]
|
|
430
|
-
})));`),U.write(`newResult[${M5(Z)}] = ${M}.value`)}U.write("payload.value = newResult;"),U.write("return payload;");let O=U.compile();return(Z,M)=>O(K,Z,M)},J,W=w7,$=!XW.jitless,B=$&&aF.value,H=Y.catchall,F;D._zod.parse=(K,U)=>{F??(F=X.value);let z=K.value;if(!W(z))return K.issues.push({expected:"object",code:"invalid_type",input:z,inst:D}),K;let w=[];if($&&B&&U?.async===!1&&U.jitless!==!0){if(!J)J=Q(Y.shape);K=J(K,U)}else{K.value={};let M=F.shape;for(let E of F.keys){let j=M[E],I=j._zod.run({value:z[E],issues:[]},U),x=j._zod.optin==="optional"&&j._zod.optout==="optional";if(I instanceof Promise)w.push(I.then((y)=>x?Mx(y,K,E,z):BW(y,K,E)));else if(x)Mx(I,K,E,z);else BW(I,K,E)}}if(!H)return w.length?Promise.all(w).then(()=>K):K;let V=[],L=F.keySet,O=H._zod,Z=O.def.type;for(let M of Object.keys(z)){if(L.has(M))continue;if(Z==="never"){V.push(M);continue}let E=O.run({value:z[M],issues:[]},U);if(E instanceof Promise)w.push(E.then((j)=>BW(j,K,M)));else BW(E,K,M)}if(V.length)K.issues.push({code:"unrecognized_keys",keys:V,input:z,inst:D});if(!w.length)return K;return Promise.all(w).then(()=>{return K})}});function Ox(D,Y,X,Q){for(let J of D)if(J.issues.length===0)return Y.value=J.value,Y;return Y.issues.push({code:"invalid_union",input:Y.value,inst:X,errors:D.map((J)=>J.issues.map((W)=>v6(W,Q,B6())))}),Y}var qW=h("$ZodUnion",(D,Y)=>{J1.init(D,Y),H1(D._zod,"optin",()=>Y.options.some((X)=>X._zod.optin==="optional")?"optional":void 0),H1(D._zod,"optout",()=>Y.options.some((X)=>X._zod.optout==="optional")?"optional":void 0),H1(D._zod,"values",()=>{if(Y.options.every((X)=>X._zod.values))return new Set(Y.options.flatMap((X)=>Array.from(X._zod.values)));return}),H1(D._zod,"pattern",()=>{if(Y.options.every((X)=>X._zod.pattern)){let X=Y.options.map((Q)=>Q._zod.pattern);return new RegExp(`^(${X.map((Q)=>SY(Q.source)).join("|")})$`)}return}),D._zod.parse=(X,Q)=>{let J=!1,W=[];for(let $ of Y.options){let G=$._zod.run({value:X.value,issues:[]},Q);if(G instanceof Promise)W.push(G),J=!0;else{if(G.issues.length===0)return G;W.push(G)}}if(!J)return Ox(W,X,D,Q);return Promise.all(W).then(($)=>{return Ox($,X,D,Q)})}}),gq=h("$ZodDiscriminatedUnion",(D,Y)=>{qW.init(D,Y);let X=D._zod.parse;H1(D._zod,"propValues",()=>{let J={};for(let W of Y.options){let $=W._zod.propValues;if(!$||Object.keys($).length===0)throw Error(`Invalid discriminated union option at index "${Y.options.indexOf(W)}"`);for(let[G,B]of Object.entries($)){if(!J[G])J[G]=new Set;for(let H of B)J[G].add(H)}}return J});let Q=jY(()=>{let J=Y.options,W=new Map;for(let $ of J){let G=$._zod.propValues[Y.discriminator];if(!G||G.size===0)throw Error(`Invalid discriminated union option at index "${Y.options.indexOf($)}"`);for(let B of G){if(W.has(B))throw Error(`Duplicate discriminator value "${String(B)}"`);W.set(B,$)}}return W});D._zod.parse=(J,W)=>{let $=J.value;if(!w7($))return J.issues.push({code:"invalid_type",expected:"object",input:$,inst:D}),J;let G=Q.value.get($?.[Y.discriminator]);if(G)return G._zod.run(J,W);if(Y.unionFallback)return X(J,W);return J.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:$,path:[Y.discriminator],inst:D}),J}}),uq=h("$ZodIntersection",(D,Y)=>{J1.init(D,Y),D._zod.parse=(X,Q)=>{let J=X.value,W=Y.left._zod.run({value:J,issues:[]},Q),$=Y.right._zod.run({value:J,issues:[]},Q);if(W instanceof Promise||$ instanceof Promise)return Promise.all([W,$]).then(([B,H])=>{return Nx(X,B,H)});return Nx(X,W,$)}});function zq(D,Y){if(D===Y)return{valid:!0,data:D};if(D instanceof Date&&Y instanceof Date&&+D===+Y)return{valid:!0,data:D};if(V7(D)&&V7(Y)){let X=Object.keys(Y),Q=Object.keys(D).filter((W)=>X.indexOf(W)!==-1),J={...D,...Y};for(let W of Q){let $=zq(D[W],Y[W]);if(!$.valid)return{valid:!1,mergeErrorPath:[W,...$.mergeErrorPath]};J[W]=$.data}return{valid:!0,data:J}}if(Array.isArray(D)&&Array.isArray(Y)){if(D.length!==Y.length)return{valid:!1,mergeErrorPath:[]};let X=[];for(let Q=0;Q<D.length;Q++){let J=D[Q],W=Y[Q],$=zq(J,W);if(!$.valid)return{valid:!1,mergeErrorPath:[Q,...$.mergeErrorPath]};X.push($.data)}return{valid:!0,data:X}}return{valid:!1,mergeErrorPath:[]}}function Nx(D,Y,X){if(Y.issues.length)D.issues.push(...Y.issues);if(X.issues.length)D.issues.push(...X.issues);if(O5(D))return D;let Q=zq(Y.value,X.value);if(!Q.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(Q.mergeErrorPath)}`);return D.value=Q.data,D}var mq=h("$ZodRecord",(D,Y)=>{J1.init(D,Y),D._zod.parse=(X,Q)=>{let J=X.value;if(!V7(J))return X.issues.push({expected:"record",code:"invalid_type",input:J,inst:D}),X;let W=[];if(Y.keyType._zod.values){let $=Y.keyType._zod.values;X.value={};for(let B of $)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let H=Y.valueType._zod.run({value:J[B],issues:[]},Q);if(H instanceof Promise)W.push(H.then((F)=>{if(F.issues.length)X.issues.push(...J9(B,F.issues));X.value[B]=F.value}));else{if(H.issues.length)X.issues.push(...J9(B,H.issues));X.value[B]=H.value}}let G;for(let B in J)if(!$.has(B))G=G??[],G.push(B);if(G&&G.length>0)X.issues.push({code:"unrecognized_keys",input:J,inst:D,keys:G})}else{X.value={};for(let $ of Reflect.ownKeys(J)){if($==="__proto__")continue;let G=Y.keyType._zod.run({value:$,issues:[]},Q);if(G instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(G.issues.length){X.issues.push({origin:"record",code:"invalid_key",issues:G.issues.map((H)=>v6(H,Q,B6())),input:$,path:[$],inst:D}),X.value[G.value]=G.value;continue}let B=Y.valueType._zod.run({value:J[$],issues:[]},Q);if(B instanceof Promise)W.push(B.then((H)=>{if(H.issues.length)X.issues.push(...J9($,H.issues));X.value[G.value]=H.value}));else{if(B.issues.length)X.issues.push(...J9($,B.issues));X.value[G.value]=B.value}}}if(W.length)return Promise.all(W).then(()=>X);return X}});var cq=h("$ZodEnum",(D,Y)=>{J1.init(D,Y);let X=RY(Y.entries);D._zod.values=new Set(X),D._zod.pattern=new RegExp(`^(${X.filter((Q)=>oF.has(typeof Q)).map((Q)=>typeof Q==="string"?zD(Q):Q.toString()).join("|")})$`),D._zod.parse=(Q,J)=>{let W=Q.value;if(D._zod.values.has(W))return Q;return Q.issues.push({code:"invalid_value",values:X,input:W,inst:D}),Q}}),lq=h("$ZodLiteral",(D,Y)=>{J1.init(D,Y),D._zod.values=new Set(Y.values),D._zod.pattern=new RegExp(`^(${Y.values.map((X)=>typeof X==="string"?zD(X):X?X.toString():String(X)).join("|")})$`),D._zod.parse=(X,Q)=>{let J=X.value;if(D._zod.values.has(J))return X;return X.issues.push({code:"invalid_value",values:Y.values,input:J,inst:D}),X}});var dq=h("$ZodTransform",(D,Y)=>{J1.init(D,Y),D._zod.parse=(X,Q)=>{let J=Y.transform(X.value,X);if(Q.async)return(J instanceof Promise?J:Promise.resolve(J)).then(($)=>{return X.value=$,X});if(J instanceof Promise)throw new KD;return X.value=J,X}}),pq=h("$ZodOptional",(D,Y)=>{J1.init(D,Y),D._zod.optin="optional",D._zod.optout="optional",H1(D._zod,"values",()=>{return Y.innerType._zod.values?new Set([...Y.innerType._zod.values,void 0]):void 0}),H1(D._zod,"pattern",()=>{let X=Y.innerType._zod.pattern;return X?new RegExp(`^(${SY(X.source)})?$`):void 0}),D._zod.parse=(X,Q)=>{if(Y.innerType._zod.optin==="optional")return Y.innerType._zod.run(X,Q);if(X.value===void 0)return X;return Y.innerType._zod.run(X,Q)}}),nq=h("$ZodNullable",(D,Y)=>{J1.init(D,Y),H1(D._zod,"optin",()=>Y.innerType._zod.optin),H1(D._zod,"optout",()=>Y.innerType._zod.optout),H1(D._zod,"pattern",()=>{let X=Y.innerType._zod.pattern;return X?new RegExp(`^(${SY(X.source)}|null)$`):void 0}),H1(D._zod,"values",()=>{return Y.innerType._zod.values?new Set([...Y.innerType._zod.values,null]):void 0}),D._zod.parse=(X,Q)=>{if(X.value===null)return X;return Y.innerType._zod.run(X,Q)}}),iq=h("$ZodDefault",(D,Y)=>{J1.init(D,Y),D._zod.optin="optional",H1(D._zod,"values",()=>Y.innerType._zod.values),D._zod.parse=(X,Q)=>{if(X.value===void 0)return X.value=Y.defaultValue,X;let J=Y.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then((W)=>Zx(W,Y));return Zx(J,Y)}});function Zx(D,Y){if(D.value===void 0)D.value=Y.defaultValue;return D}var rq=h("$ZodPrefault",(D,Y)=>{J1.init(D,Y),D._zod.optin="optional",H1(D._zod,"values",()=>Y.innerType._zod.values),D._zod.parse=(X,Q)=>{if(X.value===void 0)X.value=Y.defaultValue;return Y.innerType._zod.run(X,Q)}}),aq=h("$ZodNonOptional",(D,Y)=>{J1.init(D,Y),H1(D._zod,"values",()=>{let X=Y.innerType._zod.values;return X?new Set([...X].filter((Q)=>Q!==void 0)):void 0}),D._zod.parse=(X,Q)=>{let J=Y.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then((W)=>Ax(W,D));return Ax(J,D)}});function Ax(D,Y){if(!D.issues.length&&D.value===void 0)D.issues.push({code:"invalid_type",expected:"nonoptional",input:D.value,inst:Y});return D}var oq=h("$ZodCatch",(D,Y)=>{J1.init(D,Y),D._zod.optin="optional",H1(D._zod,"optout",()=>Y.innerType._zod.optout),H1(D._zod,"values",()=>Y.innerType._zod.values),D._zod.parse=(X,Q)=>{let J=Y.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then((W)=>{if(X.value=W.value,W.issues.length)X.value=Y.catchValue({...X,error:{issues:W.issues.map(($)=>v6($,Q,B6()))},input:X.value}),X.issues=[];return X});if(X.value=J.value,J.issues.length)X.value=Y.catchValue({...X,error:{issues:J.issues.map((W)=>v6(W,Q,B6()))},input:X.value}),X.issues=[];return X}});var sq=h("$ZodPipe",(D,Y)=>{J1.init(D,Y),H1(D._zod,"values",()=>Y.in._zod.values),H1(D._zod,"optin",()=>Y.in._zod.optin),H1(D._zod,"optout",()=>Y.out._zod.optout),D._zod.parse=(X,Q)=>{let J=Y.in._zod.run(X,Q);if(J instanceof Promise)return J.then((W)=>Ex(W,Y,Q));return Ex(J,Y,Q)}});function Ex(D,Y,X){if(O5(D))return D;return Y.out._zod.run({value:D.value,issues:D.issues},X)}var tq=h("$ZodReadonly",(D,Y)=>{J1.init(D,Y),H1(D._zod,"propValues",()=>Y.innerType._zod.propValues),H1(D._zod,"values",()=>Y.innerType._zod.values),H1(D._zod,"optin",()=>Y.innerType._zod.optin),H1(D._zod,"optout",()=>Y.innerType._zod.optout),D._zod.parse=(X,Q)=>{let J=Y.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then(Rx);return Rx(J)}});function Rx(D){return D.value=Object.freeze(D.value),D}var eq=h("$ZodCustom",(D,Y)=>{B8.init(D,Y),J1.init(D,Y),D._zod.parse=(X,Q)=>{return X},D._zod.check=(X)=>{let Q=X.value,J=Y.fn(Q);if(J instanceof Promise)return J.then((W)=>jx(W,X,Q,D));jx(J,X,Q,D);return}});function jx(D,Y,X,Q){if(!D){let J={code:"custom",input:X,inst:Q,path:[...Q._zod.def.path??[]],continue:!Q._zod.def.abort};if(Q._zod.def.params)J.params=Q._zod.def.params;Y.issues.push(eF(J))}}var y30=(D)=>{let Y=typeof D;switch(Y){case"number":return Number.isNaN(D)?"NaN":"number";case"object":{if(Array.isArray(D))return"array";if(D===null)return"null";if(Object.getPrototypeOf(D)!==Object.prototype&&D.constructor)return D.constructor.name}}return Y},f30=()=>{let D={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function Y(Q){return D[Q]??null}let X={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(Q)=>{switch(Q.code){case"invalid_type":return`Invalid input: expected ${Q.expected}, received ${y30(Q.input)}`;case"invalid_value":if(Q.values.length===1)return`Invalid input: expected ${WW(Q.values[0])}`;return`Invalid option: expected one of ${QW(Q.values,"|")}`;case"too_big":{let J=Q.inclusive?"<=":"<",W=Y(Q.origin);if(W)return`Too big: expected ${Q.origin??"value"} to have ${J}${Q.maximum.toString()} ${W.unit??"elements"}`;return`Too big: expected ${Q.origin??"value"} to be ${J}${Q.maximum.toString()}`}case"too_small":{let J=Q.inclusive?">=":">",W=Y(Q.origin);if(W)return`Too small: expected ${Q.origin} to have ${J}${Q.minimum.toString()} ${W.unit}`;return`Too small: expected ${Q.origin} to be ${J}${Q.minimum.toString()}`}case"invalid_format":{let J=Q;if(J.format==="starts_with")return`Invalid string: must start with "${J.prefix}"`;if(J.format==="ends_with")return`Invalid string: must end with "${J.suffix}"`;if(J.format==="includes")return`Invalid string: must include "${J.includes}"`;if(J.format==="regex")return`Invalid string: must match pattern ${J.pattern}`;return`Invalid ${X[J.format]??Q.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${Q.divisor}`;case"unrecognized_keys":return`Unrecognized key${Q.keys.length>1?"s":""}: ${QW(Q.keys,", ")}`;case"invalid_key":return`Invalid key in ${Q.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${Q.origin}`;default:return"Invalid input"}}};function DK(){return{localeError:f30()}}var h30=Symbol("ZodOutput"),g30=Symbol("ZodInput");class KW{constructor(){this._map=new Map,this._idmap=new Map}add(D,...Y){let X=Y[0];if(this._map.set(D,X),X&&typeof X==="object"&&"id"in X){if(this._idmap.has(X.id))throw Error(`ID ${X.id} already exists in the registry`);this._idmap.set(X.id,D)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(D){let Y=this._map.get(D);if(Y&&typeof Y==="object"&&"id"in Y)this._idmap.delete(Y.id);return this._map.delete(D),this}get(D){let Y=D._zod.parent;if(Y){let X={...this.get(Y)??{}};return delete X.id,{...X,...this._map.get(D)}}return this._map.get(D)}has(D){return this._map.has(D)}}function xx(){return new KW}var UD=xx();function YK(D,Y){return new D({type:"string",...M0(Y)})}function XK(D,Y){return new D({type:"string",format:"email",check:"string_format",abort:!1,...M0(Y)})}function zW(D,Y){return new D({type:"string",format:"guid",check:"string_format",abort:!1,...M0(Y)})}function QK(D,Y){return new D({type:"string",format:"uuid",check:"string_format",abort:!1,...M0(Y)})}function JK(D,Y){return new D({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...M0(Y)})}function WK(D,Y){return new D({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...M0(Y)})}function $K(D,Y){return new D({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...M0(Y)})}function GK(D,Y){return new D({type:"string",format:"url",check:"string_format",abort:!1,...M0(Y)})}function BK(D,Y){return new D({type:"string",format:"emoji",check:"string_format",abort:!1,...M0(Y)})}function HK(D,Y){return new D({type:"string",format:"nanoid",check:"string_format",abort:!1,...M0(Y)})}function FK(D,Y){return new D({type:"string",format:"cuid",check:"string_format",abort:!1,...M0(Y)})}function qK(D,Y){return new D({type:"string",format:"cuid2",check:"string_format",abort:!1,...M0(Y)})}function KK(D,Y){return new D({type:"string",format:"ulid",check:"string_format",abort:!1,...M0(Y)})}function zK(D,Y){return new D({type:"string",format:"xid",check:"string_format",abort:!1,...M0(Y)})}function UK(D,Y){return new D({type:"string",format:"ksuid",check:"string_format",abort:!1,...M0(Y)})}function wK(D,Y){return new D({type:"string",format:"ipv4",check:"string_format",abort:!1,...M0(Y)})}function VK(D,Y){return new D({type:"string",format:"ipv6",check:"string_format",abort:!1,...M0(Y)})}function LK(D,Y){return new D({type:"string",format:"cidrv4",check:"string_format",abort:!1,...M0(Y)})}function MK(D,Y){return new D({type:"string",format:"cidrv6",check:"string_format",abort:!1,...M0(Y)})}function OK(D,Y){return new D({type:"string",format:"base64",check:"string_format",abort:!1,...M0(Y)})}function NK(D,Y){return new D({type:"string",format:"base64url",check:"string_format",abort:!1,...M0(Y)})}function ZK(D,Y){return new D({type:"string",format:"e164",check:"string_format",abort:!1,...M0(Y)})}function AK(D,Y){return new D({type:"string",format:"jwt",check:"string_format",abort:!1,...M0(Y)})}function _x(D,Y){return new D({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...M0(Y)})}function bx(D,Y){return new D({type:"string",format:"date",check:"string_format",...M0(Y)})}function kx(D,Y){return new D({type:"string",format:"time",check:"string_format",precision:null,...M0(Y)})}function vx(D,Y){return new D({type:"string",format:"duration",check:"string_format",...M0(Y)})}function EK(D,Y){return new D({type:"number",checks:[],...M0(Y)})}function RK(D,Y){return new D({type:"number",check:"number_format",abort:!1,format:"safeint",...M0(Y)})}function jK(D,Y){return new D({type:"boolean",...M0(Y)})}function TK(D,Y){return new D({type:"null",...M0(Y)})}function SK(D){return new D({type:"unknown"})}function PK(D,Y){return new D({type:"never",...M0(Y)})}function UW(D,Y){return new Fq({check:"less_than",...M0(Y),value:D,inclusive:!1})}function _Y(D,Y){return new Fq({check:"less_than",...M0(Y),value:D,inclusive:!0})}function wW(D,Y){return new qq({check:"greater_than",...M0(Y),value:D,inclusive:!1})}function bY(D,Y){return new qq({check:"greater_than",...M0(Y),value:D,inclusive:!0})}function VW(D,Y){return new Qx({check:"multiple_of",...M0(Y),value:D})}function LW(D,Y){return new Wx({check:"max_length",...M0(Y),maximum:D})}function L7(D,Y){return new $x({check:"min_length",...M0(Y),minimum:D})}function MW(D,Y){return new Gx({check:"length_equals",...M0(Y),length:D})}function IK(D,Y){return new Bx({check:"string_format",format:"regex",...M0(Y),pattern:D})}function CK(D){return new Hx({check:"string_format",format:"lowercase",...M0(D)})}function xK(D){return new Fx({check:"string_format",format:"uppercase",...M0(D)})}function _K(D,Y){return new qx({check:"string_format",format:"includes",...M0(Y),includes:D})}function bK(D,Y){return new Kx({check:"string_format",format:"starts_with",...M0(Y),prefix:D})}function kK(D,Y){return new zx({check:"string_format",format:"ends_with",...M0(Y),suffix:D})}function A5(D){return new Ux({check:"overwrite",tx:D})}function vK(D){return A5((Y)=>Y.normalize(D))}function yK(){return A5((D)=>D.trim())}function fK(){return A5((D)=>D.toLowerCase())}function hK(){return A5((D)=>D.toUpperCase())}function yx(D,Y,X){return new D({type:"array",element:Y,...M0(X)})}function gK(D,Y,X){let Q=M0(X);return Q.abort??(Q.abort=!0),new D({type:"custom",check:"custom",fn:Y,...Q})}function uK(D,Y,X){return new D({type:"custom",check:"custom",fn:Y,...M0(X)})}class mK{constructor(D){this.counter=0,this.metadataRegistry=D?.metadata??UD,this.target=D?.target??"draft-2020-12",this.unrepresentable=D?.unrepresentable??"throw",this.override=D?.override??(()=>{}),this.io=D?.io??"output",this.seen=new Map}process(D,Y={path:[],schemaPath:[]}){var X;let Q=D._zod.def,J={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},W=this.seen.get(D);if(W){if(W.count++,Y.schemaPath.includes(D))W.cycle=Y.path;return W.schema}let $={schema:{},count:1,cycle:void 0,path:Y.path};this.seen.set(D,$);let G=D._zod.toJSONSchema?.();if(G)$.schema=G;else{let F={...Y,schemaPath:[...Y.schemaPath,D],path:Y.path},K=D._zod.parent;if(K)$.ref=K,this.process(K,F),this.seen.get(K).isParent=!0;else{let U=$.schema;switch(Q.type){case"string":{let z=U;z.type="string";let{minimum:w,maximum:V,format:L,patterns:O,contentEncoding:Z}=D._zod.bag;if(typeof w==="number")z.minLength=w;if(typeof V==="number")z.maxLength=V;if(L){if(z.format=J[L]??L,z.format==="")delete z.format}if(Z)z.contentEncoding=Z;if(O&&O.size>0){let M=[...O];if(M.length===1)z.pattern=M[0].source;else if(M.length>1)$.schema.allOf=[...M.map((E)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:E.source}))]}break}case"number":{let z=U,{minimum:w,maximum:V,format:L,multipleOf:O,exclusiveMaximum:Z,exclusiveMinimum:M}=D._zod.bag;if(typeof L==="string"&&L.includes("int"))z.type="integer";else z.type="number";if(typeof M==="number")z.exclusiveMinimum=M;if(typeof w==="number"){if(z.minimum=w,typeof M==="number")if(M>=w)delete z.minimum;else delete z.exclusiveMinimum}if(typeof Z==="number")z.exclusiveMaximum=Z;if(typeof V==="number"){if(z.maximum=V,typeof Z==="number")if(Z<=V)delete z.maximum;else delete z.exclusiveMaximum}if(typeof O==="number")z.multipleOf=O;break}case"boolean":{let z=U;z.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema");break}case"null":{U.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema");break}case"never":{U.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let z=U,{minimum:w,maximum:V}=D._zod.bag;if(typeof w==="number")z.minItems=w;if(typeof V==="number")z.maxItems=V;z.type="array",z.items=this.process(Q.element,{...F,path:[...F.path,"items"]});break}case"object":{let z=U;z.type="object",z.properties={};let w=Q.shape;for(let O in w)z.properties[O]=this.process(w[O],{...F,path:[...F.path,"properties",O]});let V=new Set(Object.keys(w)),L=new Set([...V].filter((O)=>{let Z=Q.shape[O]._zod;if(this.io==="input")return Z.optin===void 0;else return Z.optout===void 0}));if(L.size>0)z.required=Array.from(L);if(Q.catchall?._zod.def.type==="never")z.additionalProperties=!1;else if(!Q.catchall){if(this.io==="output")z.additionalProperties=!1}else if(Q.catchall)z.additionalProperties=this.process(Q.catchall,{...F,path:[...F.path,"additionalProperties"]});break}case"union":{let z=U;z.anyOf=Q.options.map((w,V)=>this.process(w,{...F,path:[...F.path,"anyOf",V]}));break}case"intersection":{let z=U,w=this.process(Q.left,{...F,path:[...F.path,"allOf",0]}),V=this.process(Q.right,{...F,path:[...F.path,"allOf",1]}),L=(Z)=>("allOf"in Z)&&Object.keys(Z).length===1,O=[...L(w)?w.allOf:[w],...L(V)?V.allOf:[V]];z.allOf=O;break}case"tuple":{let z=U;z.type="array";let w=Q.items.map((O,Z)=>this.process(O,{...F,path:[...F.path,"prefixItems",Z]}));if(this.target==="draft-2020-12")z.prefixItems=w;else z.items=w;if(Q.rest){let O=this.process(Q.rest,{...F,path:[...F.path,"items"]});if(this.target==="draft-2020-12")z.items=O;else z.additionalItems=O}if(Q.rest)z.items=this.process(Q.rest,{...F,path:[...F.path,"items"]});let{minimum:V,maximum:L}=D._zod.bag;if(typeof V==="number")z.minItems=V;if(typeof L==="number")z.maxItems=L;break}case"record":{let z=U;z.type="object",z.propertyNames=this.process(Q.keyType,{...F,path:[...F.path,"propertyNames"]}),z.additionalProperties=this.process(Q.valueType,{...F,path:[...F.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema");break}case"enum":{let z=U,w=RY(Q.entries);if(w.every((V)=>typeof V==="number"))z.type="number";if(w.every((V)=>typeof V==="string"))z.type="string";z.enum=w;break}case"literal":{let z=U,w=[];for(let V of Q.values)if(V===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof V==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else w.push(Number(V));else w.push(V);if(w.length===0);else if(w.length===1){let V=w[0];z.type=V===null?"null":typeof V,z.const=V}else{if(w.every((V)=>typeof V==="number"))z.type="number";if(w.every((V)=>typeof V==="string"))z.type="string";if(w.every((V)=>typeof V==="boolean"))z.type="string";if(w.every((V)=>V===null))z.type="null";z.enum=w}break}case"file":{let z=U,w={type:"string",format:"binary",contentEncoding:"binary"},{minimum:V,maximum:L,mime:O}=D._zod.bag;if(V!==void 0)w.minLength=V;if(L!==void 0)w.maxLength=L;if(O)if(O.length===1)w.contentMediaType=O[0],Object.assign(z,w);else z.anyOf=O.map((Z)=>{return{...w,contentMediaType:Z}});else Object.assign(z,w);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let z=this.process(Q.innerType,F);U.anyOf=[z,{type:"null"}];break}case"nonoptional":{this.process(Q.innerType,F),$.ref=Q.innerType;break}case"success":{let z=U;z.type="boolean";break}case"default":{this.process(Q.innerType,F),$.ref=Q.innerType,U.default=JSON.parse(JSON.stringify(Q.defaultValue));break}case"prefault":{if(this.process(Q.innerType,F),$.ref=Q.innerType,this.io==="input")U._prefault=JSON.parse(JSON.stringify(Q.defaultValue));break}case"catch":{this.process(Q.innerType,F),$.ref=Q.innerType;let z;try{z=Q.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=z;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let z=U,w=D._zod.pattern;if(!w)throw Error("Pattern not found in template literal");z.type="string",z.pattern=w.source;break}case"pipe":{let z=this.io==="input"?Q.in._zod.def.type==="transform"?Q.out:Q.in:Q.out;this.process(z,F),$.ref=z;break}case"readonly":{this.process(Q.innerType,F),$.ref=Q.innerType,U.readOnly=!0;break}case"promise":{this.process(Q.innerType,F),$.ref=Q.innerType;break}case"optional":{this.process(Q.innerType,F),$.ref=Q.innerType;break}case"lazy":{let z=D._zod.innerType;this.process(z,F),$.ref=z;break}case"custom":{if(this.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema");break}default:}}}let B=this.metadataRegistry.get(D);if(B)Object.assign($.schema,B);if(this.io==="input"&&r1(D))delete $.schema.examples,delete $.schema.default;if(this.io==="input"&&$.schema._prefault)(X=$.schema).default??(X.default=$.schema._prefault);return delete $.schema._prefault,this.seen.get(D).schema}emit(D,Y){let X={cycles:Y?.cycles??"ref",reused:Y?.reused??"inline",external:Y?.external??void 0},Q=this.seen.get(D);if(!Q)throw Error("Unprocessed schema. This is a bug in Zod.");let J=(H)=>{let F=this.target==="draft-2020-12"?"$defs":"definitions";if(X.external){let w=X.external.registry.get(H[0])?.id,V=X.external.uri??((O)=>O);if(w)return{ref:V(w)};let L=H[1].defId??H[1].schema.id??`schema${this.counter++}`;return H[1].defId=L,{defId:L,ref:`${V("__shared")}#/${F}/${L}`}}if(H[1]===Q)return{ref:"#"};let U=`${"#"}/${F}/`,z=H[1].schema.id??`__schema${this.counter++}`;return{defId:z,ref:U+z}},W=(H)=>{if(H[1].schema.$ref)return;let F=H[1],{ref:K,defId:U}=J(H);if(F.def={...F.schema},U)F.defId=U;let z=F.schema;for(let w in z)delete z[w];z.$ref=K};if(X.cycles==="throw")for(let H of this.seen.entries()){let F=H[1];if(F.cycle)throw Error(`Cycle detected: #/${F.cycle?.join("/")}/<root>
|
|
430
|
+
})));`),U.write(`newResult[${M5(Z)}] = ${M}.value`)}U.write("payload.value = newResult;"),U.write("return payload;");let O=U.compile();return(Z,M)=>O(K,Z,M)},J,W=w7,$=!XW.jitless,B=$&&aF.value,H=Y.catchall,F;D._zod.parse=(K,U)=>{F??(F=X.value);let z=K.value;if(!W(z))return K.issues.push({expected:"object",code:"invalid_type",input:z,inst:D}),K;let w=[];if($&&B&&U?.async===!1&&U.jitless!==!0){if(!J)J=Q(Y.shape);K=J(K,U)}else{K.value={};let M=F.shape;for(let E of F.keys){let j=M[E],I=j._zod.run({value:z[E],issues:[]},U),x=j._zod.optin==="optional"&&j._zod.optout==="optional";if(I instanceof Promise)w.push(I.then((y)=>x?Mx(y,K,E,z):BW(y,K,E)));else if(x)Mx(I,K,E,z);else BW(I,K,E)}}if(!H)return w.length?Promise.all(w).then(()=>K):K;let V=[],L=F.keySet,O=H._zod,Z=O.def.type;for(let M of Object.keys(z)){if(L.has(M))continue;if(Z==="never"){V.push(M);continue}let E=O.run({value:z[M],issues:[]},U);if(E instanceof Promise)w.push(E.then((j)=>BW(j,K,M)));else BW(E,K,M)}if(V.length)K.issues.push({code:"unrecognized_keys",keys:V,input:z,inst:D});if(!w.length)return K;return Promise.all(w).then(()=>{return K})}});function Ox(D,Y,X,Q){for(let J of D)if(J.issues.length===0)return Y.value=J.value,Y;return Y.issues.push({code:"invalid_union",input:Y.value,inst:X,errors:D.map((J)=>J.issues.map((W)=>v6(W,Q,B6())))}),Y}var qW=h("$ZodUnion",(D,Y)=>{J1.init(D,Y),H1(D._zod,"optin",()=>Y.options.some((X)=>X._zod.optin==="optional")?"optional":void 0),H1(D._zod,"optout",()=>Y.options.some((X)=>X._zod.optout==="optional")?"optional":void 0),H1(D._zod,"values",()=>{if(Y.options.every((X)=>X._zod.values))return new Set(Y.options.flatMap((X)=>Array.from(X._zod.values)));return}),H1(D._zod,"pattern",()=>{if(Y.options.every((X)=>X._zod.pattern)){let X=Y.options.map((Q)=>Q._zod.pattern);return new RegExp(`^(${X.map((Q)=>SY(Q.source)).join("|")})$`)}return}),D._zod.parse=(X,Q)=>{let J=!1,W=[];for(let $ of Y.options){let G=$._zod.run({value:X.value,issues:[]},Q);if(G instanceof Promise)W.push(G),J=!0;else{if(G.issues.length===0)return G;W.push(G)}}if(!J)return Ox(W,X,D,Q);return Promise.all(W).then(($)=>{return Ox($,X,D,Q)})}}),gq=h("$ZodDiscriminatedUnion",(D,Y)=>{qW.init(D,Y);let X=D._zod.parse;H1(D._zod,"propValues",()=>{let J={};for(let W of Y.options){let $=W._zod.propValues;if(!$||Object.keys($).length===0)throw Error(`Invalid discriminated union option at index "${Y.options.indexOf(W)}"`);for(let[G,B]of Object.entries($)){if(!J[G])J[G]=new Set;for(let H of B)J[G].add(H)}}return J});let Q=jY(()=>{let J=Y.options,W=new Map;for(let $ of J){let G=$._zod.propValues[Y.discriminator];if(!G||G.size===0)throw Error(`Invalid discriminated union option at index "${Y.options.indexOf($)}"`);for(let B of G){if(W.has(B))throw Error(`Duplicate discriminator value "${String(B)}"`);W.set(B,$)}}return W});D._zod.parse=(J,W)=>{let $=J.value;if(!w7($))return J.issues.push({code:"invalid_type",expected:"object",input:$,inst:D}),J;let G=Q.value.get($?.[Y.discriminator]);if(G)return G._zod.run(J,W);if(Y.unionFallback)return X(J,W);return J.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",input:$,path:[Y.discriminator],inst:D}),J}}),uq=h("$ZodIntersection",(D,Y)=>{J1.init(D,Y),D._zod.parse=(X,Q)=>{let J=X.value,W=Y.left._zod.run({value:J,issues:[]},Q),$=Y.right._zod.run({value:J,issues:[]},Q);if(W instanceof Promise||$ instanceof Promise)return Promise.all([W,$]).then(([B,H])=>{return Nx(X,B,H)});return Nx(X,W,$)}});function zq(D,Y){if(D===Y)return{valid:!0,data:D};if(D instanceof Date&&Y instanceof Date&&+D===+Y)return{valid:!0,data:D};if(V7(D)&&V7(Y)){let X=Object.keys(Y),Q=Object.keys(D).filter((W)=>X.indexOf(W)!==-1),J={...D,...Y};for(let W of Q){let $=zq(D[W],Y[W]);if(!$.valid)return{valid:!1,mergeErrorPath:[W,...$.mergeErrorPath]};J[W]=$.data}return{valid:!0,data:J}}if(Array.isArray(D)&&Array.isArray(Y)){if(D.length!==Y.length)return{valid:!1,mergeErrorPath:[]};let X=[];for(let Q=0;Q<D.length;Q++){let J=D[Q],W=Y[Q],$=zq(J,W);if(!$.valid)return{valid:!1,mergeErrorPath:[Q,...$.mergeErrorPath]};X.push($.data)}return{valid:!0,data:X}}return{valid:!1,mergeErrorPath:[]}}function Nx(D,Y,X){if(Y.issues.length)D.issues.push(...Y.issues);if(X.issues.length)D.issues.push(...X.issues);if(O5(D))return D;let Q=zq(Y.value,X.value);if(!Q.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(Q.mergeErrorPath)}`);return D.value=Q.data,D}var mq=h("$ZodRecord",(D,Y)=>{J1.init(D,Y),D._zod.parse=(X,Q)=>{let J=X.value;if(!V7(J))return X.issues.push({expected:"record",code:"invalid_type",input:J,inst:D}),X;let W=[];if(Y.keyType._zod.values){let $=Y.keyType._zod.values;X.value={};for(let B of $)if(typeof B==="string"||typeof B==="number"||typeof B==="symbol"){let H=Y.valueType._zod.run({value:J[B],issues:[]},Q);if(H instanceof Promise)W.push(H.then((F)=>{if(F.issues.length)X.issues.push(...J9(B,F.issues));X.value[B]=F.value}));else{if(H.issues.length)X.issues.push(...J9(B,H.issues));X.value[B]=H.value}}let G;for(let B in J)if(!$.has(B))G=G??[],G.push(B);if(G&&G.length>0)X.issues.push({code:"unrecognized_keys",input:J,inst:D,keys:G})}else{X.value={};for(let $ of Reflect.ownKeys(J)){if($==="__proto__")continue;let G=Y.keyType._zod.run({value:$,issues:[]},Q);if(G instanceof Promise)throw Error("Async schemas not supported in object keys currently");if(G.issues.length){X.issues.push({origin:"record",code:"invalid_key",issues:G.issues.map((H)=>v6(H,Q,B6())),input:$,path:[$],inst:D}),X.value[G.value]=G.value;continue}let B=Y.valueType._zod.run({value:J[$],issues:[]},Q);if(B instanceof Promise)W.push(B.then((H)=>{if(H.issues.length)X.issues.push(...J9($,H.issues));X.value[G.value]=H.value}));else{if(B.issues.length)X.issues.push(...J9($,B.issues));X.value[G.value]=B.value}}}if(W.length)return Promise.all(W).then(()=>X);return X}});var cq=h("$ZodEnum",(D,Y)=>{J1.init(D,Y);let X=RY(Y.entries);D._zod.values=new Set(X),D._zod.pattern=new RegExp(`^(${X.filter((Q)=>oF.has(typeof Q)).map((Q)=>typeof Q==="string"?zD(Q):Q.toString()).join("|")})$`),D._zod.parse=(Q,J)=>{let W=Q.value;if(D._zod.values.has(W))return Q;return Q.issues.push({code:"invalid_value",values:X,input:W,inst:D}),Q}}),lq=h("$ZodLiteral",(D,Y)=>{J1.init(D,Y),D._zod.values=new Set(Y.values),D._zod.pattern=new RegExp(`^(${Y.values.map((X)=>typeof X==="string"?zD(X):X?X.toString():String(X)).join("|")})$`),D._zod.parse=(X,Q)=>{let J=X.value;if(D._zod.values.has(J))return X;return X.issues.push({code:"invalid_value",values:Y.values,input:J,inst:D}),X}});var dq=h("$ZodTransform",(D,Y)=>{J1.init(D,Y),D._zod.parse=(X,Q)=>{let J=Y.transform(X.value,X);if(Q.async)return(J instanceof Promise?J:Promise.resolve(J)).then(($)=>{return X.value=$,X});if(J instanceof Promise)throw new KD;return X.value=J,X}}),pq=h("$ZodOptional",(D,Y)=>{J1.init(D,Y),D._zod.optin="optional",D._zod.optout="optional",H1(D._zod,"values",()=>{return Y.innerType._zod.values?new Set([...Y.innerType._zod.values,void 0]):void 0}),H1(D._zod,"pattern",()=>{let X=Y.innerType._zod.pattern;return X?new RegExp(`^(${SY(X.source)})?$`):void 0}),D._zod.parse=(X,Q)=>{if(Y.innerType._zod.optin==="optional")return Y.innerType._zod.run(X,Q);if(X.value===void 0)return X;return Y.innerType._zod.run(X,Q)}}),nq=h("$ZodNullable",(D,Y)=>{J1.init(D,Y),H1(D._zod,"optin",()=>Y.innerType._zod.optin),H1(D._zod,"optout",()=>Y.innerType._zod.optout),H1(D._zod,"pattern",()=>{let X=Y.innerType._zod.pattern;return X?new RegExp(`^(${SY(X.source)}|null)$`):void 0}),H1(D._zod,"values",()=>{return Y.innerType._zod.values?new Set([...Y.innerType._zod.values,null]):void 0}),D._zod.parse=(X,Q)=>{if(X.value===null)return X;return Y.innerType._zod.run(X,Q)}}),iq=h("$ZodDefault",(D,Y)=>{J1.init(D,Y),D._zod.optin="optional",H1(D._zod,"values",()=>Y.innerType._zod.values),D._zod.parse=(X,Q)=>{if(X.value===void 0)return X.value=Y.defaultValue,X;let J=Y.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then((W)=>Zx(W,Y));return Zx(J,Y)}});function Zx(D,Y){if(D.value===void 0)D.value=Y.defaultValue;return D}var rq=h("$ZodPrefault",(D,Y)=>{J1.init(D,Y),D._zod.optin="optional",H1(D._zod,"values",()=>Y.innerType._zod.values),D._zod.parse=(X,Q)=>{if(X.value===void 0)X.value=Y.defaultValue;return Y.innerType._zod.run(X,Q)}}),aq=h("$ZodNonOptional",(D,Y)=>{J1.init(D,Y),H1(D._zod,"values",()=>{let X=Y.innerType._zod.values;return X?new Set([...X].filter((Q)=>Q!==void 0)):void 0}),D._zod.parse=(X,Q)=>{let J=Y.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then((W)=>Ax(W,D));return Ax(J,D)}});function Ax(D,Y){if(!D.issues.length&&D.value===void 0)D.issues.push({code:"invalid_type",expected:"nonoptional",input:D.value,inst:Y});return D}var oq=h("$ZodCatch",(D,Y)=>{J1.init(D,Y),D._zod.optin="optional",H1(D._zod,"optout",()=>Y.innerType._zod.optout),H1(D._zod,"values",()=>Y.innerType._zod.values),D._zod.parse=(X,Q)=>{let J=Y.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then((W)=>{if(X.value=W.value,W.issues.length)X.value=Y.catchValue({...X,error:{issues:W.issues.map(($)=>v6($,Q,B6()))},input:X.value}),X.issues=[];return X});if(X.value=J.value,J.issues.length)X.value=Y.catchValue({...X,error:{issues:J.issues.map((W)=>v6(W,Q,B6()))},input:X.value}),X.issues=[];return X}});var sq=h("$ZodPipe",(D,Y)=>{J1.init(D,Y),H1(D._zod,"values",()=>Y.in._zod.values),H1(D._zod,"optin",()=>Y.in._zod.optin),H1(D._zod,"optout",()=>Y.out._zod.optout),D._zod.parse=(X,Q)=>{let J=Y.in._zod.run(X,Q);if(J instanceof Promise)return J.then((W)=>Ex(W,Y,Q));return Ex(J,Y,Q)}});function Ex(D,Y,X){if(O5(D))return D;return Y.out._zod.run({value:D.value,issues:D.issues},X)}var tq=h("$ZodReadonly",(D,Y)=>{J1.init(D,Y),H1(D._zod,"propValues",()=>Y.innerType._zod.propValues),H1(D._zod,"values",()=>Y.innerType._zod.values),H1(D._zod,"optin",()=>Y.innerType._zod.optin),H1(D._zod,"optout",()=>Y.innerType._zod.optout),D._zod.parse=(X,Q)=>{let J=Y.innerType._zod.run(X,Q);if(J instanceof Promise)return J.then(Rx);return Rx(J)}});function Rx(D){return D.value=Object.freeze(D.value),D}var eq=h("$ZodCustom",(D,Y)=>{B8.init(D,Y),J1.init(D,Y),D._zod.parse=(X,Q)=>{return X},D._zod.check=(X)=>{let Q=X.value,J=Y.fn(Q);if(J instanceof Promise)return J.then((W)=>jx(W,X,Q,D));jx(J,X,Q,D);return}});function jx(D,Y,X,Q){if(!D){let J={code:"custom",input:X,inst:Q,path:[...Q._zod.def.path??[]],continue:!Q._zod.def.abort};if(Q._zod.def.params)J.params=Q._zod.def.params;Y.issues.push(eF(J))}}var y30=(D)=>{let Y=typeof D;switch(Y){case"number":return Number.isNaN(D)?"NaN":"number";case"object":{if(Array.isArray(D))return"array";if(D===null)return"null";if(Object.getPrototypeOf(D)!==Object.prototype&&D.constructor)return D.constructor.name}}return Y},f30=()=>{let D={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function Y(Q){return D[Q]??null}let X={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(Q)=>{switch(Q.code){case"invalid_type":return`Invalid input: expected ${Q.expected}, received ${y30(Q.input)}`;case"invalid_value":if(Q.values.length===1)return`Invalid input: expected ${WW(Q.values[0])}`;return`Invalid option: expected one of ${QW(Q.values,"|")}`;case"too_big":{let J=Q.inclusive?"<=":"<",W=Y(Q.origin);if(W)return`Too big: expected ${Q.origin??"value"} to have ${J}${Q.maximum.toString()} ${W.unit??"elements"}`;return`Too big: expected ${Q.origin??"value"} to be ${J}${Q.maximum.toString()}`}case"too_small":{let J=Q.inclusive?">=":">",W=Y(Q.origin);if(W)return`Too small: expected ${Q.origin} to have ${J}${Q.minimum.toString()} ${W.unit}`;return`Too small: expected ${Q.origin} to be ${J}${Q.minimum.toString()}`}case"invalid_format":{let J=Q;if(J.format==="starts_with")return`Invalid string: must start with "${J.prefix}"`;if(J.format==="ends_with")return`Invalid string: must end with "${J.suffix}"`;if(J.format==="includes")return`Invalid string: must include "${J.includes}"`;if(J.format==="regex")return`Invalid string: must match pattern ${J.pattern}`;return`Invalid ${X[J.format]??Q.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${Q.divisor}`;case"unrecognized_keys":return`Unrecognized key${Q.keys.length>1?"s":""}: ${QW(Q.keys,", ")}`;case"invalid_key":return`Invalid key in ${Q.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${Q.origin}`;default:return"Invalid input"}}};function DK(){return{localeError:f30()}}var h30=Symbol("ZodOutput"),g30=Symbol("ZodInput");class KW{constructor(){this._map=new Map,this._idmap=new Map}add(D,...Y){let X=Y[0];if(this._map.set(D,X),X&&typeof X==="object"&&"id"in X){if(this._idmap.has(X.id))throw Error(`ID ${X.id} already exists in the registry`);this._idmap.set(X.id,D)}return this}clear(){return this._map=new Map,this._idmap=new Map,this}remove(D){let Y=this._map.get(D);if(Y&&typeof Y==="object"&&"id"in Y)this._idmap.delete(Y.id);return this._map.delete(D),this}get(D){let Y=D._zod.parent;if(Y){let X={...this.get(Y)??{}};return delete X.id,{...X,...this._map.get(D)}}return this._map.get(D)}has(D){return this._map.has(D)}}function xx(){return new KW}var UD=xx();function YK(D,Y){return new D({type:"string",...M0(Y)})}function XK(D,Y){return new D({type:"string",format:"email",check:"string_format",abort:!1,...M0(Y)})}function zW(D,Y){return new D({type:"string",format:"guid",check:"string_format",abort:!1,...M0(Y)})}function QK(D,Y){return new D({type:"string",format:"uuid",check:"string_format",abort:!1,...M0(Y)})}function JK(D,Y){return new D({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...M0(Y)})}function WK(D,Y){return new D({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...M0(Y)})}function $K(D,Y){return new D({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...M0(Y)})}function GK(D,Y){return new D({type:"string",format:"url",check:"string_format",abort:!1,...M0(Y)})}function BK(D,Y){return new D({type:"string",format:"emoji",check:"string_format",abort:!1,...M0(Y)})}function HK(D,Y){return new D({type:"string",format:"nanoid",check:"string_format",abort:!1,...M0(Y)})}function FK(D,Y){return new D({type:"string",format:"cuid",check:"string_format",abort:!1,...M0(Y)})}function qK(D,Y){return new D({type:"string",format:"cuid2",check:"string_format",abort:!1,...M0(Y)})}function KK(D,Y){return new D({type:"string",format:"ulid",check:"string_format",abort:!1,...M0(Y)})}function zK(D,Y){return new D({type:"string",format:"xid",check:"string_format",abort:!1,...M0(Y)})}function UK(D,Y){return new D({type:"string",format:"ksuid",check:"string_format",abort:!1,...M0(Y)})}function wK(D,Y){return new D({type:"string",format:"ipv4",check:"string_format",abort:!1,...M0(Y)})}function VK(D,Y){return new D({type:"string",format:"ipv6",check:"string_format",abort:!1,...M0(Y)})}function LK(D,Y){return new D({type:"string",format:"cidrv4",check:"string_format",abort:!1,...M0(Y)})}function MK(D,Y){return new D({type:"string",format:"cidrv6",check:"string_format",abort:!1,...M0(Y)})}function OK(D,Y){return new D({type:"string",format:"base64",check:"string_format",abort:!1,...M0(Y)})}function NK(D,Y){return new D({type:"string",format:"base64url",check:"string_format",abort:!1,...M0(Y)})}function ZK(D,Y){return new D({type:"string",format:"e164",check:"string_format",abort:!1,...M0(Y)})}function AK(D,Y){return new D({type:"string",format:"jwt",check:"string_format",abort:!1,...M0(Y)})}function _x(D,Y){return new D({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...M0(Y)})}function bx(D,Y){return new D({type:"string",format:"date",check:"string_format",...M0(Y)})}function kx(D,Y){return new D({type:"string",format:"time",check:"string_format",precision:null,...M0(Y)})}function vx(D,Y){return new D({type:"string",format:"duration",check:"string_format",...M0(Y)})}function EK(D,Y){return new D({type:"number",checks:[],...M0(Y)})}function RK(D,Y){return new D({type:"number",check:"number_format",abort:!1,format:"safeint",...M0(Y)})}function jK(D,Y){return new D({type:"boolean",...M0(Y)})}function TK(D,Y){return new D({type:"null",...M0(Y)})}function SK(D){return new D({type:"unknown"})}function PK(D,Y){return new D({type:"never",...M0(Y)})}function UW(D,Y){return new Fq({check:"less_than",...M0(Y),value:D,inclusive:!1})}function _Y(D,Y){return new Fq({check:"less_than",...M0(Y),value:D,inclusive:!0})}function wW(D,Y){return new qq({check:"greater_than",...M0(Y),value:D,inclusive:!1})}function bY(D,Y){return new qq({check:"greater_than",...M0(Y),value:D,inclusive:!0})}function VW(D,Y){return new Qx({check:"multiple_of",...M0(Y),value:D})}function LW(D,Y){return new Wx({check:"max_length",...M0(Y),maximum:D})}function L7(D,Y){return new $x({check:"min_length",...M0(Y),minimum:D})}function MW(D,Y){return new Gx({check:"length_equals",...M0(Y),length:D})}function IK(D,Y){return new Bx({check:"string_format",format:"regex",...M0(Y),pattern:D})}function CK(D){return new Hx({check:"string_format",format:"lowercase",...M0(D)})}function xK(D){return new Fx({check:"string_format",format:"uppercase",...M0(D)})}function _K(D,Y){return new qx({check:"string_format",format:"includes",...M0(Y),includes:D})}function bK(D,Y){return new Kx({check:"string_format",format:"starts_with",...M0(Y),prefix:D})}function kK(D,Y){return new zx({check:"string_format",format:"ends_with",...M0(Y),suffix:D})}function A5(D){return new Ux({check:"overwrite",tx:D})}function vK(D){return A5((Y)=>Y.normalize(D))}function yK(){return A5((D)=>D.trim())}function fK(){return A5((D)=>D.toLowerCase())}function hK(){return A5((D)=>D.toUpperCase())}function yx(D,Y,X){return new D({type:"array",element:Y,...M0(X)})}function gK(D,Y,X){let Q=M0(X);return Q.abort??(Q.abort=!0),new D({type:"custom",check:"custom",fn:Y,...Q})}function uK(D,Y,X){return new D({type:"custom",check:"custom",fn:Y,...M0(X)})}class mK{constructor(D){this.counter=0,this.metadataRegistry=D?.metadata??UD,this.target=D?.target??"draft-2020-12",this.unrepresentable=D?.unrepresentable??"throw",this.override=D?.override??(()=>{}),this.io=D?.io??"output",this.seen=new Map}process(D,Y={path:[],schemaPath:[]}){var X;let Q=D._zod.def,J={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},W=this.seen.get(D);if(W){if(W.count++,Y.schemaPath.includes(D))W.cycle=Y.path;return W.schema}let $={schema:{},count:1,cycle:void 0,path:Y.path};this.seen.set(D,$);let G=D._zod.toJSONSchema?.();if(G)$.schema=G;else{let F={...Y,schemaPath:[...Y.schemaPath,D],path:Y.path},K=D._zod.parent;if(K)$.ref=K,this.process(K,F),this.seen.get(K).isParent=!0;else{let U=$.schema;switch(Q.type){case"string":{let z=U;z.type="string";let{minimum:w,maximum:V,format:L,patterns:O,contentEncoding:Z}=D._zod.bag;if(typeof w==="number")z.minLength=w;if(typeof V==="number")z.maxLength=V;if(L){if(z.format=J[L]??L,z.format==="")delete z.format}if(Z)z.contentEncoding=Z;if(O&&O.size>0){let M=[...O];if(M.length===1)z.pattern=M[0].source;else if(M.length>1)$.schema.allOf=[...M.map((E)=>({...this.target==="draft-7"?{type:"string"}:{},pattern:E.source}))]}break}case"number":{let z=U,{minimum:w,maximum:V,format:L,multipleOf:O,exclusiveMaximum:Z,exclusiveMinimum:M}=D._zod.bag;if(typeof L==="string"&&L.includes("int"))z.type="integer";else z.type="number";if(typeof M==="number")z.exclusiveMinimum=M;if(typeof w==="number"){if(z.minimum=w,typeof M==="number")if(M>=w)delete z.minimum;else delete z.exclusiveMinimum}if(typeof Z==="number")z.exclusiveMaximum=Z;if(typeof V==="number"){if(z.maximum=V,typeof Z==="number")if(Z<=V)delete z.maximum;else delete z.exclusiveMaximum}if(typeof O==="number")z.multipleOf=O;break}case"boolean":{let z=U;z.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw Error("Symbols cannot be represented in JSON Schema");break}case"null":{U.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw Error("Void cannot be represented in JSON Schema");break}case"never":{U.not={};break}case"date":{if(this.unrepresentable==="throw")throw Error("Date cannot be represented in JSON Schema");break}case"array":{let z=U,{minimum:w,maximum:V}=D._zod.bag;if(typeof w==="number")z.minItems=w;if(typeof V==="number")z.maxItems=V;z.type="array",z.items=this.process(Q.element,{...F,path:[...F.path,"items"]});break}case"object":{let z=U;z.type="object",z.properties={};let w=Q.shape;for(let O in w)z.properties[O]=this.process(w[O],{...F,path:[...F.path,"properties",O]});let V=new Set(Object.keys(w)),L=new Set([...V].filter((O)=>{let Z=Q.shape[O]._zod;if(this.io==="input")return Z.optin===void 0;else return Z.optout===void 0}));if(L.size>0)z.required=Array.from(L);if(Q.catchall?._zod.def.type==="never")z.additionalProperties=!1;else if(!Q.catchall){if(this.io==="output")z.additionalProperties=!1}else if(Q.catchall)z.additionalProperties=this.process(Q.catchall,{...F,path:[...F.path,"additionalProperties"]});break}case"union":{let z=U;z.anyOf=Q.options.map((w,V)=>this.process(w,{...F,path:[...F.path,"anyOf",V]}));break}case"intersection":{let z=U,w=this.process(Q.left,{...F,path:[...F.path,"allOf",0]}),V=this.process(Q.right,{...F,path:[...F.path,"allOf",1]}),L=(Z)=>("allOf"in Z)&&Object.keys(Z).length===1,O=[...L(w)?w.allOf:[w],...L(V)?V.allOf:[V]];z.allOf=O;break}case"tuple":{let z=U;z.type="array";let w=Q.items.map((O,Z)=>this.process(O,{...F,path:[...F.path,"prefixItems",Z]}));if(this.target==="draft-2020-12")z.prefixItems=w;else z.items=w;if(Q.rest){let O=this.process(Q.rest,{...F,path:[...F.path,"items"]});if(this.target==="draft-2020-12")z.items=O;else z.additionalItems=O}if(Q.rest)z.items=this.process(Q.rest,{...F,path:[...F.path,"items"]});let{minimum:V,maximum:L}=D._zod.bag;if(typeof V==="number")z.minItems=V;if(typeof L==="number")z.maxItems=L;break}case"record":{let z=U;z.type="object",z.propertyNames=this.process(Q.keyType,{...F,path:[...F.path,"propertyNames"]}),z.additionalProperties=this.process(Q.valueType,{...F,path:[...F.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw Error("Set cannot be represented in JSON Schema");break}case"enum":{let z=U,w=RY(Q.entries);if(w.every((V)=>typeof V==="number"))z.type="number";if(w.every((V)=>typeof V==="string"))z.type="string";z.enum=w;break}case"literal":{let z=U,w=[];for(let V of Q.values)if(V===void 0){if(this.unrepresentable==="throw")throw Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof V==="bigint")if(this.unrepresentable==="throw")throw Error("BigInt literals cannot be represented in JSON Schema");else w.push(Number(V));else w.push(V);if(w.length===0);else if(w.length===1){let V=w[0];z.type=V===null?"null":typeof V,z.const=V}else{if(w.every((V)=>typeof V==="number"))z.type="number";if(w.every((V)=>typeof V==="string"))z.type="string";if(w.every((V)=>typeof V==="boolean"))z.type="string";if(w.every((V)=>V===null))z.type="null";z.enum=w}break}case"file":{let z=U,w={type:"string",format:"binary",contentEncoding:"binary"},{minimum:V,maximum:L,mime:O}=D._zod.bag;if(V!==void 0)w.minLength=V;if(L!==void 0)w.maxLength=L;if(O)if(O.length===1)w.contentMediaType=O[0],Object.assign(z,w);else z.anyOf=O.map((Z)=>{return{...w,contentMediaType:Z}});else Object.assign(z,w);break}case"transform":{if(this.unrepresentable==="throw")throw Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let z=this.process(Q.innerType,F);U.anyOf=[z,{type:"null"}];break}case"nonoptional":{this.process(Q.innerType,F),$.ref=Q.innerType;break}case"success":{let z=U;z.type="boolean";break}case"default":{this.process(Q.innerType,F),$.ref=Q.innerType,U.default=JSON.parse(JSON.stringify(Q.defaultValue));break}case"prefault":{if(this.process(Q.innerType,F),$.ref=Q.innerType,this.io==="input")U._prefault=JSON.parse(JSON.stringify(Q.defaultValue));break}case"catch":{this.process(Q.innerType,F),$.ref=Q.innerType;let z;try{z=Q.catchValue(void 0)}catch{throw Error("Dynamic catch values are not supported in JSON Schema")}U.default=z;break}case"nan":{if(this.unrepresentable==="throw")throw Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let z=U,w=D._zod.pattern;if(!w)throw Error("Pattern not found in template literal");z.type="string",z.pattern=w.source;break}case"pipe":{let z=this.io==="input"?Q.in._zod.def.type==="transform"?Q.out:Q.in:Q.out;this.process(z,F),$.ref=z;break}case"readonly":{this.process(Q.innerType,F),$.ref=Q.innerType,U.readOnly=!0;break}case"promise":{this.process(Q.innerType,F),$.ref=Q.innerType;break}case"optional":{this.process(Q.innerType,F),$.ref=Q.innerType;break}case"lazy":{let z=D._zod.innerType;this.process(z,F),$.ref=z;break}case"custom":{if(this.unrepresentable==="throw")throw Error("Custom types cannot be represented in JSON Schema");break}default:}}}let B=this.metadataRegistry.get(D);if(B)Object.assign($.schema,B);if(this.io==="input"&&i1(D))delete $.schema.examples,delete $.schema.default;if(this.io==="input"&&$.schema._prefault)(X=$.schema).default??(X.default=$.schema._prefault);return delete $.schema._prefault,this.seen.get(D).schema}emit(D,Y){let X={cycles:Y?.cycles??"ref",reused:Y?.reused??"inline",external:Y?.external??void 0},Q=this.seen.get(D);if(!Q)throw Error("Unprocessed schema. This is a bug in Zod.");let J=(H)=>{let F=this.target==="draft-2020-12"?"$defs":"definitions";if(X.external){let w=X.external.registry.get(H[0])?.id,V=X.external.uri??((O)=>O);if(w)return{ref:V(w)};let L=H[1].defId??H[1].schema.id??`schema${this.counter++}`;return H[1].defId=L,{defId:L,ref:`${V("__shared")}#/${F}/${L}`}}if(H[1]===Q)return{ref:"#"};let U=`${"#"}/${F}/`,z=H[1].schema.id??`__schema${this.counter++}`;return{defId:z,ref:U+z}},W=(H)=>{if(H[1].schema.$ref)return;let F=H[1],{ref:K,defId:U}=J(H);if(F.def={...F.schema},U)F.defId=U;let z=F.schema;for(let w in z)delete z[w];z.$ref=K};if(X.cycles==="throw")for(let H of this.seen.entries()){let F=H[1];if(F.cycle)throw Error(`Cycle detected: #/${F.cycle?.join("/")}/<root>
|
|
431
431
|
|
|
432
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let H of this.seen.entries()){let F=H[1];if(D===H[0]){W(H);continue}if(X.external){let U=X.external.registry.get(H[0])?.id;if(D!==H[0]&&U){W(H);continue}}if(this.metadataRegistry.get(H[0])?.id){W(H);continue}if(F.cycle){W(H);continue}if(F.count>1){if(X.reused==="ref"){W(H);continue}}}let $=(H,F)=>{let K=this.seen.get(H),U=K.def??K.schema,z={...U};if(K.ref===null)return;let w=K.ref;if(K.ref=null,w){$(w,F);let V=this.seen.get(w).schema;if(V.$ref&&F.target==="draft-7")U.allOf=U.allOf??[],U.allOf.push(V);else Object.assign(U,V),Object.assign(U,z)}if(!K.isParent)this.override({zodSchema:H,jsonSchema:U,path:K.path??[]})};for(let H of[...this.seen.entries()].reverse())$(H[0],{target:this.target});let G={};if(this.target==="draft-2020-12")G.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")G.$schema="http://json-schema.org/draft-07/schema#";else console.warn(`Invalid target: ${this.target}`);if(X.external?.uri){let H=X.external.registry.get(D)?.id;if(!H)throw Error("Schema is missing an `id` property");G.$id=X.external.uri(H)}Object.assign(G,Q.def);let B=X.external?.defs??{};for(let H of this.seen.entries()){let F=H[1];if(F.def&&F.defId)B[F.defId]=F.def}if(X.external);else if(Object.keys(B).length>0)if(this.target==="draft-2020-12")G.$defs=B;else G.definitions=B;try{return JSON.parse(JSON.stringify(G))}catch(H){throw Error("Error converting schema to JSON.")}}}function cK(D,Y){if(D instanceof KW){let Q=new mK(Y),J={};for(let G of D._idmap.entries()){let[B,H]=G;Q.process(H)}let W={},$={registry:D,uri:Y?.uri,defs:J};for(let G of D._idmap.entries()){let[B,H]=G;W[B]=Q.emit(H,{...Y,external:$})}if(Object.keys(J).length>0){let G=Q.target==="draft-2020-12"?"$defs":"definitions";W.__shared={[G]:J}}return{schemas:W}}let X=new mK(Y);return X.process(D),X.emit(D,Y)}function r1(D,Y){let X=Y??{seen:new Set};if(X.seen.has(D))return!1;X.seen.add(D);let J=D._zod.def;switch(J.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return r1(J.element,X);case"object":{for(let W in J.shape)if(r1(J.shape[W],X))return!0;return!1}case"union":{for(let W of J.options)if(r1(W,X))return!0;return!1}case"intersection":return r1(J.left,X)||r1(J.right,X);case"tuple":{for(let W of J.items)if(r1(W,X))return!0;if(J.rest&&r1(J.rest,X))return!0;return!1}case"record":return r1(J.keyType,X)||r1(J.valueType,X);case"map":return r1(J.keyType,X)||r1(J.valueType,X);case"set":return r1(J.valueType,X);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return r1(J.innerType,X);case"lazy":return r1(J.getter(),X);case"default":return r1(J.innerType,X);case"prefault":return r1(J.innerType,X);case"custom":return!1;case"transform":return!0;case"pipe":return r1(J.in,X)||r1(J.out,X);case"success":return!1;case"catch":return!1;default:}throw Error(`Unknown schema type: ${J.type}`)}var NY0=h("ZodMiniType",(D,Y)=>{if(!D._zod)throw Error("Uninitialized schema in ZodMiniType.");J1.init(D,Y),D.def=Y,D.parse=(X,Q)=>Qq(D,X,Q,{callee:D.parse}),D.safeParse=(X,Q)=>N5(D,X,Q),D.parseAsync=async(X,Q)=>Wq(D,X,Q,{callee:D.parseAsync}),D.safeParseAsync=async(X,Q)=>Z5(D,X,Q),D.check=(...X)=>{return D.clone({...Y,checks:[...Y.checks??[],...X.map((Q)=>typeof Q==="function"?{_zod:{check:Q,def:{check:"custom"},onattach:[]}}:Q)]})},D.clone=(X,Q)=>H6(D,X,Q),D.brand=()=>D,D.register=(X,Q)=>{return X.add(D,Q),D}});var ZY0=h("ZodMiniObject",(D,Y)=>{FW.init(D,Y),NY0.init(D,Y),h0.defineLazy(D,"shape",()=>Y.shape)});function lK(D,Y){let X={type:"object",get shape(){return h0.assignProp(this,"shape",{...D}),this.shape},...h0.normalizeParams(Y)};return new ZY0(X)}function M6(D){return!!D._zod}function R5(D){let Y=Object.values(D);if(Y.length===0)return lK({});let X=Y.every(M6),Q=Y.every((J)=>!M6(J));if(X)return lK(D);if(Q)return dF(D);throw Error("Mixed Zod versions detected in object shape.")}function wD(D,Y){if(M6(D))return N5(D,Y);return D.safeParse(Y)}async function OW(D,Y){if(M6(D))return await Z5(D,Y);return await D.safeParseAsync(Y)}function VD(D){if(!D)return;let Y;if(M6(D))Y=D._zod?.def?.shape;else Y=D.shape;if(!Y)return;if(typeof Y==="function")try{return Y()}catch{return}return Y}function M7(D){if(!D)return;if(typeof D==="object"){let Y=D,X=D;if(!Y._def&&!X._zod){let Q=Object.values(D);if(Q.length>0&&Q.every((J)=>typeof J==="object"&&J!==null&&(J._def!==void 0||J._zod!==void 0||typeof J.parse==="function")))return R5(D)}}if(M6(D)){let X=D._zod?.def;if(X&&(X.type==="object"||X.shape!==void 0))return D}else if(D.shape!==void 0)return D;return}function NW(D){if(D&&typeof D==="object"){if("message"in D&&typeof D.message==="string")return D.message;if("issues"in D&&Array.isArray(D.issues)&&D.issues.length>0){let Y=D.issues[0];if(Y&&typeof Y==="object"&&"message"in Y)return String(Y.message)}try{return JSON.stringify(D)}catch{return String(D)}}return String(D)}function hx(D){return D.description}function gx(D){if(M6(D))return D._zod?.def?.type==="optional";let Y=D;if(typeof D.isOptional==="function")return D.isOptional();return Y._def?.typeName==="ZodOptional"}function ZW(D){if(M6(D)){let W=D._zod?.def;if(W){if(W.value!==void 0)return W.value;if(Array.isArray(W.values)&&W.values.length>0)return W.values[0]}}let X=D._def;if(X){if(X.value!==void 0)return X.value;if(Array.isArray(X.values)&&X.values.length>0)return X.values[0]}let Q=D.value;if(Q!==void 0)return Q;return}var kY={};B9(kY,{time:()=>nK,duration:()=>iK,datetime:()=>dK,date:()=>pK,ZodISOTime:()=>cx,ZodISODuration:()=>lx,ZodISODateTime:()=>ux,ZodISODate:()=>mx});var ux=h("ZodISODateTime",(D,Y)=>{Tx.init(D,Y),M1.init(D,Y)});function dK(D){return _x(ux,D)}var mx=h("ZodISODate",(D,Y)=>{Sx.init(D,Y),M1.init(D,Y)});function pK(D){return bx(mx,D)}var cx=h("ZodISOTime",(D,Y)=>{Px.init(D,Y),M1.init(D,Y)});function nK(D){return kx(cx,D)}var lx=h("ZodISODuration",(D,Y)=>{Ix.init(D,Y),M1.init(D,Y)});function iK(D){return vx(lx,D)}var dx=(D,Y)=>{$W.init(D,Y),D.name="ZodError",Object.defineProperties(D,{format:{value:(X)=>Yq(D,X)},flatten:{value:(X)=>Dq(D,X)},addIssue:{value:(X)=>D.issues.push(X)},addIssues:{value:(X)=>D.issues.push(...X)},isEmpty:{get(){return D.issues.length===0}}})},bj0=h("ZodError",dx),vY=h("ZodError",dx,{Parent:Error});var px=Xq(vY),nx=Jq(vY),ix=$q(vY),rx=Gq(vY);var C1=h("ZodType",(D,Y)=>{return J1.init(D,Y),D.def=Y,Object.defineProperty(D,"_def",{value:Y}),D.check=(...X)=>{return D.clone({...Y,checks:[...Y.checks??[],...X.map((Q)=>typeof Q==="function"?{_zod:{check:Q,def:{check:"custom"},onattach:[]}}:Q)]})},D.clone=(X,Q)=>H6(D,X,Q),D.brand=()=>D,D.register=(X,Q)=>{return X.add(D,Q),D},D.parse=(X,Q)=>px(D,X,Q,{callee:D.parse}),D.safeParse=(X,Q)=>ix(D,X,Q),D.parseAsync=async(X,Q)=>nx(D,X,Q,{callee:D.parseAsync}),D.safeParseAsync=async(X,Q)=>rx(D,X,Q),D.spa=D.safeParseAsync,D.refine=(X,Q)=>D.check(MX0(X,Q)),D.superRefine=(X)=>D.check(OX0(X)),D.overwrite=(X)=>D.check(A5(X)),D.optional=()=>I1(D),D.nullable=()=>sx(D),D.nullish=()=>I1(sx(D)),D.nonoptional=(X)=>qX0(D,X),D.array=()=>u0(D),D.or=(X)=>q1([D,X]),D.and=(X)=>EW(D,X),D.transform=(X)=>aK(D,X_(X)),D.default=(X)=>BX0(D,X),D.prefault=(X)=>FX0(D,X),D.catch=(X)=>zX0(D,X),D.pipe=(X)=>aK(D,X),D.readonly=()=>VX0(D),D.describe=(X)=>{let Q=D.clone();return UD.add(Q,{description:X}),Q},Object.defineProperty(D,"description",{get(){return UD.get(D)?.description},configurable:!0}),D.meta=(...X)=>{if(X.length===0)return UD.get(D);let Q=D.clone();return UD.add(Q,X[0]),Q},D.isOptional=()=>D.safeParse(void 0).success,D.isNullable=()=>D.safeParse(null).success,D}),tx=h("_ZodString",(D,Y)=>{xY.init(D,Y),C1.init(D,Y);let X=D._zod.bag;D.format=X.format??null,D.minLength=X.minimum??null,D.maxLength=X.maximum??null,D.regex=(...Q)=>D.check(IK(...Q)),D.includes=(...Q)=>D.check(_K(...Q)),D.startsWith=(...Q)=>D.check(bK(...Q)),D.endsWith=(...Q)=>D.check(kK(...Q)),D.min=(...Q)=>D.check(L7(...Q)),D.max=(...Q)=>D.check(LW(...Q)),D.length=(...Q)=>D.check(MW(...Q)),D.nonempty=(...Q)=>D.check(L7(1,...Q)),D.lowercase=(Q)=>D.check(CK(Q)),D.uppercase=(Q)=>D.check(xK(Q)),D.trim=()=>D.check(yK()),D.normalize=(...Q)=>D.check(vK(...Q)),D.toLowerCase=()=>D.check(fK()),D.toUpperCase=()=>D.check(hK())}),CY0=h("ZodString",(D,Y)=>{xY.init(D,Y),tx.init(D,Y),D.email=(X)=>D.check(XK(xY0,X)),D.url=(X)=>D.check(GK(_Y0,X)),D.jwt=(X)=>D.check(AK(iY0,X)),D.emoji=(X)=>D.check(BK(bY0,X)),D.guid=(X)=>D.check(zW(ax,X)),D.uuid=(X)=>D.check(QK(AW,X)),D.uuidv4=(X)=>D.check(JK(AW,X)),D.uuidv6=(X)=>D.check(WK(AW,X)),D.uuidv7=(X)=>D.check($K(AW,X)),D.nanoid=(X)=>D.check(HK(kY0,X)),D.guid=(X)=>D.check(zW(ax,X)),D.cuid=(X)=>D.check(FK(vY0,X)),D.cuid2=(X)=>D.check(qK(yY0,X)),D.ulid=(X)=>D.check(KK(fY0,X)),D.base64=(X)=>D.check(OK(dY0,X)),D.base64url=(X)=>D.check(NK(pY0,X)),D.xid=(X)=>D.check(zK(hY0,X)),D.ksuid=(X)=>D.check(UK(gY0,X)),D.ipv4=(X)=>D.check(wK(uY0,X)),D.ipv6=(X)=>D.check(VK(mY0,X)),D.cidrv4=(X)=>D.check(LK(cY0,X)),D.cidrv6=(X)=>D.check(MK(lY0,X)),D.e164=(X)=>D.check(ZK(nY0,X)),D.datetime=(X)=>D.check(dK(X)),D.date=(X)=>D.check(pK(X)),D.time=(X)=>D.check(nK(X)),D.duration=(X)=>D.check(iK(X))});function f(D){return YK(CY0,D)}var M1=h("ZodStringFormat",(D,Y)=>{F1.init(D,Y),tx.init(D,Y)}),xY0=h("ZodEmail",(D,Y)=>{Vq.init(D,Y),M1.init(D,Y)});var ax=h("ZodGUID",(D,Y)=>{Uq.init(D,Y),M1.init(D,Y)});var AW=h("ZodUUID",(D,Y)=>{wq.init(D,Y),M1.init(D,Y)});var _Y0=h("ZodURL",(D,Y)=>{Lq.init(D,Y),M1.init(D,Y)});var bY0=h("ZodEmoji",(D,Y)=>{Mq.init(D,Y),M1.init(D,Y)});var kY0=h("ZodNanoID",(D,Y)=>{Oq.init(D,Y),M1.init(D,Y)});var vY0=h("ZodCUID",(D,Y)=>{Nq.init(D,Y),M1.init(D,Y)});var yY0=h("ZodCUID2",(D,Y)=>{Zq.init(D,Y),M1.init(D,Y)});var fY0=h("ZodULID",(D,Y)=>{Aq.init(D,Y),M1.init(D,Y)});var hY0=h("ZodXID",(D,Y)=>{Eq.init(D,Y),M1.init(D,Y)});var gY0=h("ZodKSUID",(D,Y)=>{Rq.init(D,Y),M1.init(D,Y)});var uY0=h("ZodIPv4",(D,Y)=>{jq.init(D,Y),M1.init(D,Y)});var mY0=h("ZodIPv6",(D,Y)=>{Tq.init(D,Y),M1.init(D,Y)});var cY0=h("ZodCIDRv4",(D,Y)=>{Sq.init(D,Y),M1.init(D,Y)});var lY0=h("ZodCIDRv6",(D,Y)=>{Pq.init(D,Y),M1.init(D,Y)});var dY0=h("ZodBase64",(D,Y)=>{Iq.init(D,Y),M1.init(D,Y)});var pY0=h("ZodBase64URL",(D,Y)=>{Cq.init(D,Y),M1.init(D,Y)});var nY0=h("ZodE164",(D,Y)=>{xq.init(D,Y),M1.init(D,Y)});var iY0=h("ZodJWT",(D,Y)=>{_q.init(D,Y),M1.init(D,Y)});var ex=h("ZodNumber",(D,Y)=>{HW.init(D,Y),C1.init(D,Y),D.gt=(Q,J)=>D.check(wW(Q,J)),D.gte=(Q,J)=>D.check(bY(Q,J)),D.min=(Q,J)=>D.check(bY(Q,J)),D.lt=(Q,J)=>D.check(UW(Q,J)),D.lte=(Q,J)=>D.check(_Y(Q,J)),D.max=(Q,J)=>D.check(_Y(Q,J)),D.int=(Q)=>D.check(ox(Q)),D.safe=(Q)=>D.check(ox(Q)),D.positive=(Q)=>D.check(wW(0,Q)),D.nonnegative=(Q)=>D.check(bY(0,Q)),D.negative=(Q)=>D.check(UW(0,Q)),D.nonpositive=(Q)=>D.check(_Y(0,Q)),D.multipleOf=(Q,J)=>D.check(VW(Q,J)),D.step=(Q,J)=>D.check(VW(Q,J)),D.finite=()=>D;let X=D._zod.bag;D.minValue=Math.max(X.minimum??Number.NEGATIVE_INFINITY,X.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,D.maxValue=Math.min(X.maximum??Number.POSITIVE_INFINITY,X.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,D.isInt=(X.format??"").includes("int")||Number.isSafeInteger(X.multipleOf??0.5),D.isFinite=!0,D.format=X.format??null});function D1(D){return EK(ex,D)}var rY0=h("ZodNumberFormat",(D,Y)=>{bq.init(D,Y),ex.init(D,Y)});function ox(D){return RK(rY0,D)}var aY0=h("ZodBoolean",(D,Y)=>{kq.init(D,Y),C1.init(D,Y)});function e1(D){return jK(aY0,D)}var oY0=h("ZodNull",(D,Y)=>{vq.init(D,Y),C1.init(D,Y)});function oK(D){return TK(oY0,D)}var sY0=h("ZodUnknown",(D,Y)=>{yq.init(D,Y),C1.init(D,Y)});function O1(){return SK(sY0)}var tY0=h("ZodNever",(D,Y)=>{fq.init(D,Y),C1.init(D,Y)});function eY0(D){return PK(tY0,D)}var DX0=h("ZodArray",(D,Y)=>{hq.init(D,Y),C1.init(D,Y),D.element=Y.element,D.min=(X,Q)=>D.check(L7(X,Q)),D.nonempty=(X)=>D.check(L7(1,X)),D.max=(X,Q)=>D.check(LW(X,Q)),D.length=(X,Q)=>D.check(MW(X,Q)),D.unwrap=()=>D.element});function u0(D,Y){return yx(DX0,D,Y)}var D_=h("ZodObject",(D,Y)=>{FW.init(D,Y),C1.init(D,Y),h0.defineLazy(D,"shape",()=>Y.shape),D.keyof=()=>p8(Object.keys(D._zod.def.shape)),D.catchall=(X)=>D.clone({...D._zod.def,catchall:X}),D.passthrough=()=>D.clone({...D._zod.def,catchall:O1()}),D.loose=()=>D.clone({...D._zod.def,catchall:O1()}),D.strict=()=>D.clone({...D._zod.def,catchall:eY0()}),D.strip=()=>D.clone({...D._zod.def,catchall:void 0}),D.extend=(X)=>{return h0.extend(D,X)},D.merge=(X)=>h0.merge(D,X),D.pick=(X)=>h0.pick(D,X),D.omit=(X)=>h0.omit(D,X),D.partial=(...X)=>h0.partial(Q_,D,X[0]),D.required=(...X)=>h0.required(J_,D,X[0])});function W0(D,Y){let X={type:"object",get shape(){return h0.assignProp(this,"shape",{...D}),this.shape},...h0.normalizeParams(Y)};return new D_(X)}function b8(D,Y){return new D_({type:"object",get shape(){return h0.assignProp(this,"shape",{...D}),this.shape},catchall:O1(),...h0.normalizeParams(Y)})}var Y_=h("ZodUnion",(D,Y)=>{qW.init(D,Y),C1.init(D,Y),D.options=Y.options});function q1(D,Y){return new Y_({type:"union",options:D,...h0.normalizeParams(Y)})}var YX0=h("ZodDiscriminatedUnion",(D,Y)=>{Y_.init(D,Y),gq.init(D,Y)});function sK(D,Y,X){return new YX0({type:"union",options:Y,discriminator:D,...h0.normalizeParams(X)})}var XX0=h("ZodIntersection",(D,Y)=>{uq.init(D,Y),C1.init(D,Y)});function EW(D,Y){return new XX0({type:"intersection",left:D,right:Y})}var QX0=h("ZodRecord",(D,Y)=>{mq.init(D,Y),C1.init(D,Y),D.keyType=Y.keyType,D.valueType=Y.valueType});function N1(D,Y,X){return new QX0({type:"record",keyType:D,valueType:Y,...h0.normalizeParams(X)})}var rK=h("ZodEnum",(D,Y)=>{cq.init(D,Y),C1.init(D,Y),D.enum=Y.entries,D.options=Object.values(Y.entries);let X=new Set(Object.keys(Y.entries));D.extract=(Q,J)=>{let W={};for(let $ of Q)if(X.has($))W[$]=Y.entries[$];else throw Error(`Key ${$} not found in enum`);return new rK({...Y,checks:[],...h0.normalizeParams(J),entries:W})},D.exclude=(Q,J)=>{let W={...Y.entries};for(let $ of Q)if(X.has($))delete W[$];else throw Error(`Key ${$} not found in enum`);return new rK({...Y,checks:[],...h0.normalizeParams(J),entries:W})}});function p8(D,Y){let X=Array.isArray(D)?Object.fromEntries(D.map((Q)=>[Q,Q])):D;return new rK({type:"enum",entries:X,...h0.normalizeParams(Y)})}var JX0=h("ZodLiteral",(D,Y)=>{lq.init(D,Y),C1.init(D,Y),D.values=new Set(Y.values),Object.defineProperty(D,"value",{get(){if(Y.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return Y.values[0]}})});function K0(D,Y){return new JX0({type:"literal",values:Array.isArray(D)?D:[D],...h0.normalizeParams(Y)})}var WX0=h("ZodTransform",(D,Y)=>{dq.init(D,Y),C1.init(D,Y),D._zod.parse=(X,Q)=>{X.addIssue=(W)=>{if(typeof W==="string")X.issues.push(h0.issue(W,X.value,Y));else{let $=W;if($.fatal)$.continue=!1;$.code??($.code="custom"),$.input??($.input=X.value),$.inst??($.inst=D),$.continue??($.continue=!0),X.issues.push(h0.issue($))}};let J=Y.transform(X.value,X);if(J instanceof Promise)return J.then((W)=>{return X.value=W,X});return X.value=J,X}});function X_(D){return new WX0({type:"transform",transform:D})}var Q_=h("ZodOptional",(D,Y)=>{pq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType});function I1(D){return new Q_({type:"optional",innerType:D})}var $X0=h("ZodNullable",(D,Y)=>{nq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType});function sx(D){return new $X0({type:"nullable",innerType:D})}var GX0=h("ZodDefault",(D,Y)=>{iq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType,D.removeDefault=D.unwrap});function BX0(D,Y){return new GX0({type:"default",innerType:D,get defaultValue(){return typeof Y==="function"?Y():Y}})}var HX0=h("ZodPrefault",(D,Y)=>{rq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType});function FX0(D,Y){return new HX0({type:"prefault",innerType:D,get defaultValue(){return typeof Y==="function"?Y():Y}})}var J_=h("ZodNonOptional",(D,Y)=>{aq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType});function qX0(D,Y){return new J_({type:"nonoptional",innerType:D,...h0.normalizeParams(Y)})}var KX0=h("ZodCatch",(D,Y)=>{oq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType,D.removeCatch=D.unwrap});function zX0(D,Y){return new KX0({type:"catch",innerType:D,catchValue:typeof Y==="function"?Y:()=>Y})}var UX0=h("ZodPipe",(D,Y)=>{sq.init(D,Y),C1.init(D,Y),D.in=Y.in,D.out=Y.out});function aK(D,Y){return new UX0({type:"pipe",in:D,out:Y})}var wX0=h("ZodReadonly",(D,Y)=>{tq.init(D,Y),C1.init(D,Y)});function VX0(D){return new wX0({type:"readonly",innerType:D})}var W_=h("ZodCustom",(D,Y)=>{eq.init(D,Y),C1.init(D,Y)});function LX0(D){let Y=new B8({check:"custom"});return Y._zod.check=D,Y}function $_(D,Y){return gK(W_,D??(()=>!0),Y)}function MX0(D,Y={}){return uK(W_,D,Y)}function OX0(D){let Y=LX0((X)=>{return X.addIssue=(Q)=>{if(typeof Q==="string")X.issues.push(h0.issue(Q,X.value,Y._zod.def));else{let J=Q;if(J.fatal)J.continue=!1;J.code??(J.code="custom"),J.input??(J.input=X.value),J.inst??(J.inst=Y),J.continue??(J.continue=!Y._zod.def.abort),X.issues.push(h0.issue(J))}},D(X.value,X)});return Y}function tK(D,Y){return aK(X_(D),Y)}B6(DK());var eK="2025-11-25";var G_=[eK,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],LD="io.modelcontextprotocol/related-task",jW="2.0",H8=$_((D)=>D!==null&&(typeof D==="object"||typeof D==="function")),B_=q1([f(),D1().int()]),H_=f(),ij0=b8({ttl:q1([D1(),oK()]).optional(),pollInterval:D1().optional()}),NX0=W0({ttl:D1().optional()}),ZX0=W0({taskId:f()}),Dz=b8({progressToken:B_.optional(),[LD]:ZX0.optional()}),F6=W0({_meta:Dz.optional()}),yY=F6.extend({task:NX0.optional()}),F_=(D)=>yY.safeParse(D).success,F8=W0({method:f(),params:F6.loose().optional()}),O6=W0({_meta:Dz.optional()}),N6=W0({method:f(),params:O6.loose().optional()}),q8=b8({_meta:Dz.optional()}),TW=q1([f(),D1().int()]),q_=W0({jsonrpc:K0(jW),id:TW,...F8.shape}).strict(),Yz=(D)=>q_.safeParse(D).success,K_=W0({jsonrpc:K0(jW),...N6.shape}).strict(),z_=(D)=>K_.safeParse(D).success,Xz=W0({jsonrpc:K0(jW),id:TW,result:q8}).strict(),fY=(D)=>Xz.safeParse(D).success;var w0;(function(D){D[D.ConnectionClosed=-32000]="ConnectionClosed",D[D.RequestTimeout=-32001]="RequestTimeout",D[D.ParseError=-32700]="ParseError",D[D.InvalidRequest=-32600]="InvalidRequest",D[D.MethodNotFound=-32601]="MethodNotFound",D[D.InvalidParams=-32602]="InvalidParams",D[D.InternalError=-32603]="InternalError",D[D.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(w0||(w0={}));var Qz=W0({jsonrpc:K0(jW),id:TW.optional(),error:W0({code:D1().int(),message:f(),data:O1().optional()})}).strict();var U_=(D)=>Qz.safeParse(D).success;var w_=q1([q_,K_,Xz,Qz]),rj0=q1([Xz,Qz]),SW=q8.strict(),AX0=O6.extend({requestId:TW.optional(),reason:f().optional()}),PW=N6.extend({method:K0("notifications/cancelled"),params:AX0}),EX0=W0({src:f(),mimeType:f().optional(),sizes:u0(f()).optional(),theme:p8(["light","dark"]).optional()}),hY=W0({icons:u0(EX0).optional()}),O7=W0({name:f(),title:f().optional()}),V_=O7.extend({...O7.shape,...hY.shape,version:f(),websiteUrl:f().optional(),description:f().optional()}),RX0=EW(W0({applyDefaults:e1().optional()}),N1(f(),O1())),jX0=tK((D)=>{if(D&&typeof D==="object"&&!Array.isArray(D)){if(Object.keys(D).length===0)return{form:{}}}return D},EW(W0({form:RX0.optional(),url:H8.optional()}),N1(f(),O1()).optional())),TX0=b8({list:H8.optional(),cancel:H8.optional(),requests:b8({sampling:b8({createMessage:H8.optional()}).optional(),elicitation:b8({create:H8.optional()}).optional()}).optional()}),SX0=b8({list:H8.optional(),cancel:H8.optional(),requests:b8({tools:b8({call:H8.optional()}).optional()}).optional()}),PX0=W0({experimental:N1(f(),H8).optional(),sampling:W0({context:H8.optional(),tools:H8.optional()}).optional(),elicitation:jX0.optional(),roots:W0({listChanged:e1().optional()}).optional(),tasks:TX0.optional()}),IX0=F6.extend({protocolVersion:f(),capabilities:PX0,clientInfo:V_}),Jz=F8.extend({method:K0("initialize"),params:IX0});var CX0=W0({experimental:N1(f(),H8).optional(),logging:H8.optional(),completions:H8.optional(),prompts:W0({listChanged:e1().optional()}).optional(),resources:W0({subscribe:e1().optional(),listChanged:e1().optional()}).optional(),tools:W0({listChanged:e1().optional()}).optional(),tasks:SX0.optional()}),xX0=q8.extend({protocolVersion:f(),capabilities:CX0,serverInfo:V_,instructions:f().optional()}),Wz=N6.extend({method:K0("notifications/initialized"),params:O6.optional()});var IW=F8.extend({method:K0("ping"),params:F6.optional()}),_X0=W0({progress:D1(),total:I1(D1()),message:I1(f())}),bX0=W0({...O6.shape,..._X0.shape,progressToken:B_}),CW=N6.extend({method:K0("notifications/progress"),params:bX0}),kX0=F6.extend({cursor:H_.optional()}),gY=F8.extend({params:kX0.optional()}),uY=q8.extend({nextCursor:H_.optional()}),vX0=p8(["working","input_required","completed","failed","cancelled"]),mY=W0({taskId:f(),status:vX0,ttl:q1([D1(),oK()]),createdAt:f(),lastUpdatedAt:f(),pollInterval:I1(D1()),statusMessage:I1(f())}),N7=q8.extend({task:mY}),yX0=O6.merge(mY),cY=N6.extend({method:K0("notifications/tasks/status"),params:yX0}),xW=F8.extend({method:K0("tasks/get"),params:F6.extend({taskId:f()})}),_W=q8.merge(mY),bW=F8.extend({method:K0("tasks/result"),params:F6.extend({taskId:f()})}),aj0=q8.loose(),kW=gY.extend({method:K0("tasks/list")}),vW=uY.extend({tasks:u0(mY)}),yW=F8.extend({method:K0("tasks/cancel"),params:F6.extend({taskId:f()})}),L_=q8.merge(mY),M_=W0({uri:f(),mimeType:I1(f()),_meta:N1(f(),O1()).optional()}),O_=M_.extend({text:f()}),$z=f().refine((D)=>{try{return atob(D),!0}catch{return!1}},{message:"Invalid Base64 string"}),N_=M_.extend({blob:$z}),lY=p8(["user","assistant"]),Z7=W0({audience:u0(lY).optional(),priority:D1().min(0).max(1).optional(),lastModified:kY.datetime({offset:!0}).optional()}),Z_=W0({...O7.shape,...hY.shape,uri:f(),description:I1(f()),mimeType:I1(f()),annotations:Z7.optional(),_meta:I1(b8({}))}),fX0=W0({...O7.shape,...hY.shape,uriTemplate:f(),description:I1(f()),mimeType:I1(f()),annotations:Z7.optional(),_meta:I1(b8({}))}),fW=gY.extend({method:K0("resources/list")}),hX0=uY.extend({resources:u0(Z_)}),hW=gY.extend({method:K0("resources/templates/list")}),gX0=uY.extend({resourceTemplates:u0(fX0)}),Gz=F6.extend({uri:f()}),uX0=Gz,gW=F8.extend({method:K0("resources/read"),params:uX0}),mX0=q8.extend({contents:u0(q1([O_,N_]))}),cX0=N6.extend({method:K0("notifications/resources/list_changed"),params:O6.optional()}),lX0=Gz,dX0=F8.extend({method:K0("resources/subscribe"),params:lX0}),pX0=Gz,nX0=F8.extend({method:K0("resources/unsubscribe"),params:pX0}),iX0=O6.extend({uri:f()}),rX0=N6.extend({method:K0("notifications/resources/updated"),params:iX0}),aX0=W0({name:f(),description:I1(f()),required:I1(e1())}),oX0=W0({...O7.shape,...hY.shape,description:I1(f()),arguments:I1(u0(aX0)),_meta:I1(b8({}))}),uW=gY.extend({method:K0("prompts/list")}),sX0=uY.extend({prompts:u0(oX0)}),tX0=F6.extend({name:f(),arguments:N1(f(),f()).optional()}),mW=F8.extend({method:K0("prompts/get"),params:tX0}),Bz=W0({type:K0("text"),text:f(),annotations:Z7.optional(),_meta:N1(f(),O1()).optional()}),Hz=W0({type:K0("image"),data:$z,mimeType:f(),annotations:Z7.optional(),_meta:N1(f(),O1()).optional()}),Fz=W0({type:K0("audio"),data:$z,mimeType:f(),annotations:Z7.optional(),_meta:N1(f(),O1()).optional()}),eX0=W0({type:K0("tool_use"),name:f(),id:f(),input:N1(f(),O1()),_meta:N1(f(),O1()).optional()}),DQ0=W0({type:K0("resource"),resource:q1([O_,N_]),annotations:Z7.optional(),_meta:N1(f(),O1()).optional()}),YQ0=Z_.extend({type:K0("resource_link")}),qz=q1([Bz,Hz,Fz,YQ0,DQ0]),XQ0=W0({role:lY,content:qz}),QQ0=q8.extend({description:f().optional(),messages:u0(XQ0)}),JQ0=N6.extend({method:K0("notifications/prompts/list_changed"),params:O6.optional()}),WQ0=W0({title:f().optional(),readOnlyHint:e1().optional(),destructiveHint:e1().optional(),idempotentHint:e1().optional(),openWorldHint:e1().optional()}),$Q0=W0({taskSupport:p8(["required","optional","forbidden"]).optional()}),A_=W0({...O7.shape,...hY.shape,description:f().optional(),inputSchema:W0({type:K0("object"),properties:N1(f(),H8).optional(),required:u0(f()).optional()}).catchall(O1()),outputSchema:W0({type:K0("object"),properties:N1(f(),H8).optional(),required:u0(f()).optional()}).catchall(O1()).optional(),annotations:WQ0.optional(),execution:$Q0.optional(),_meta:N1(f(),O1()).optional()}),cW=gY.extend({method:K0("tools/list")}),GQ0=uY.extend({tools:u0(A_)}),lW=q8.extend({content:u0(qz).default([]),structuredContent:N1(f(),O1()).optional(),isError:e1().optional()}),oj0=lW.or(q8.extend({toolResult:O1()})),BQ0=yY.extend({name:f(),arguments:N1(f(),O1()).optional()}),A7=F8.extend({method:K0("tools/call"),params:BQ0}),HQ0=N6.extend({method:K0("notifications/tools/list_changed"),params:O6.optional()}),sj0=W0({autoRefresh:e1().default(!0),debounceMs:D1().int().nonnegative().default(300)}),dY=p8(["debug","info","notice","warning","error","critical","alert","emergency"]),FQ0=F6.extend({level:dY}),Kz=F8.extend({method:K0("logging/setLevel"),params:FQ0}),qQ0=O6.extend({level:dY,logger:f().optional(),data:O1()}),KQ0=N6.extend({method:K0("notifications/message"),params:qQ0}),zQ0=W0({name:f().optional()}),UQ0=W0({hints:u0(zQ0).optional(),costPriority:D1().min(0).max(1).optional(),speedPriority:D1().min(0).max(1).optional(),intelligencePriority:D1().min(0).max(1).optional()}),wQ0=W0({mode:p8(["auto","required","none"]).optional()}),VQ0=W0({type:K0("tool_result"),toolUseId:f().describe("The unique identifier for the corresponding tool call."),content:u0(qz).default([]),structuredContent:W0({}).loose().optional(),isError:e1().optional(),_meta:N1(f(),O1()).optional()}),LQ0=sK("type",[Bz,Hz,Fz]),RW=sK("type",[Bz,Hz,Fz,eX0,VQ0]),MQ0=W0({role:lY,content:q1([RW,u0(RW)]),_meta:N1(f(),O1()).optional()}),OQ0=yY.extend({messages:u0(MQ0),modelPreferences:UQ0.optional(),systemPrompt:f().optional(),includeContext:p8(["none","thisServer","allServers"]).optional(),temperature:D1().optional(),maxTokens:D1().int(),stopSequences:u0(f()).optional(),metadata:H8.optional(),tools:u0(A_).optional(),toolChoice:wQ0.optional()}),NQ0=F8.extend({method:K0("sampling/createMessage"),params:OQ0}),zz=q8.extend({model:f(),stopReason:I1(p8(["endTurn","stopSequence","maxTokens"]).or(f())),role:lY,content:LQ0}),Uz=q8.extend({model:f(),stopReason:I1(p8(["endTurn","stopSequence","maxTokens","toolUse"]).or(f())),role:lY,content:q1([RW,u0(RW)])}),ZQ0=W0({type:K0("boolean"),title:f().optional(),description:f().optional(),default:e1().optional()}),AQ0=W0({type:K0("string"),title:f().optional(),description:f().optional(),minLength:D1().optional(),maxLength:D1().optional(),format:p8(["email","uri","date","date-time"]).optional(),default:f().optional()}),EQ0=W0({type:p8(["number","integer"]),title:f().optional(),description:f().optional(),minimum:D1().optional(),maximum:D1().optional(),default:D1().optional()}),RQ0=W0({type:K0("string"),title:f().optional(),description:f().optional(),enum:u0(f()),default:f().optional()}),jQ0=W0({type:K0("string"),title:f().optional(),description:f().optional(),oneOf:u0(W0({const:f(),title:f()})),default:f().optional()}),TQ0=W0({type:K0("string"),title:f().optional(),description:f().optional(),enum:u0(f()),enumNames:u0(f()).optional(),default:f().optional()}),SQ0=q1([RQ0,jQ0]),PQ0=W0({type:K0("array"),title:f().optional(),description:f().optional(),minItems:D1().optional(),maxItems:D1().optional(),items:W0({type:K0("string"),enum:u0(f())}),default:u0(f()).optional()}),IQ0=W0({type:K0("array"),title:f().optional(),description:f().optional(),minItems:D1().optional(),maxItems:D1().optional(),items:W0({anyOf:u0(W0({const:f(),title:f()}))}),default:u0(f()).optional()}),CQ0=q1([PQ0,IQ0]),xQ0=q1([TQ0,SQ0,CQ0]),_Q0=q1([xQ0,ZQ0,AQ0,EQ0]),bQ0=yY.extend({mode:K0("form").optional(),message:f(),requestedSchema:W0({type:K0("object"),properties:N1(f(),_Q0),required:u0(f()).optional()})}),kQ0=yY.extend({mode:K0("url"),message:f(),elicitationId:f(),url:f().url()}),vQ0=q1([bQ0,kQ0]),yQ0=F8.extend({method:K0("elicitation/create"),params:vQ0}),fQ0=O6.extend({elicitationId:f()}),hQ0=N6.extend({method:K0("notifications/elicitation/complete"),params:fQ0}),dW=q8.extend({action:p8(["accept","decline","cancel"]),content:tK((D)=>D===null?void 0:D,N1(f(),q1([f(),D1(),e1(),u0(f())])).optional())}),gQ0=W0({type:K0("ref/resource"),uri:f()});var uQ0=W0({type:K0("ref/prompt"),name:f()}),mQ0=F6.extend({ref:q1([uQ0,gQ0]),argument:W0({name:f(),value:f()}),context:W0({arguments:N1(f(),f()).optional()}).optional()}),pW=F8.extend({method:K0("completion/complete"),params:mQ0});function E_(D){if(D.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${D.params.ref.type}`)}function R_(D){if(D.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${D.params.ref.type}`)}var cQ0=q8.extend({completion:b8({values:u0(f()).max(100),total:I1(D1().int()),hasMore:I1(e1())})}),lQ0=W0({uri:f().startsWith("file://"),name:f().optional(),_meta:N1(f(),O1()).optional()}),dQ0=F8.extend({method:K0("roots/list"),params:F6.optional()}),wz=q8.extend({roots:u0(lQ0)}),pQ0=N6.extend({method:K0("notifications/roots/list_changed"),params:O6.optional()}),tj0=q1([IW,Jz,pW,Kz,mW,uW,fW,hW,gW,dX0,nX0,A7,cW,xW,bW,kW,yW]),ej0=q1([PW,CW,Wz,pQ0,cY]),DT0=q1([SW,zz,Uz,dW,wz,_W,vW,N7]),YT0=q1([IW,NQ0,yQ0,dQ0,xW,bW,kW,yW]),XT0=q1([PW,CW,KQ0,rX0,cX0,HQ0,JQ0,cY,hQ0]),QT0=q1([SW,xX0,cQ0,QQ0,sX0,hX0,gX0,mX0,lW,GQ0,_W,vW,N7]);class q0 extends Error{constructor(D,Y,X){super(`MCP error ${D}: ${Y}`);this.code=D,this.data=X,this.name="McpError"}static fromError(D,Y,X){if(D===w0.UrlElicitationRequired&&X){let Q=X;if(Q.elicitations)return new j_(Q.elicitations,Y)}return new q0(D,Y,X)}}class j_ extends q0{constructor(D,Y=`URL elicitation${D.length>1?"s":""} required`){super(w0.UrlElicitationRequired,Y,{elicitations:D})}get elicitations(){return this.data?.elicitations??[]}}function MD(D){return D==="completed"||D==="failed"||D==="cancelled"}var S_=Symbol("Let zodToJsonSchema decide on which parser to use");var T_={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},P_=(D)=>typeof D==="string"?{...T_,name:D}:{...T_,...D};var I_=(D)=>{let Y=P_(D),X=Y.name!==void 0?[...Y.basePath,Y.definitionPath,Y.name]:Y.basePath;return{...Y,flags:{hasReferencedOpenAiAnyType:!1},currentPath:X,propertyPath:void 0,seen:new Map(Object.entries(Y.definitions).map(([Q,J])=>[J._def,{def:J._def,path:[...Y.basePath,Y.definitionPath,Q],jsonSchema:void 0}]))}};function Vz(D,Y,X,Q){if(!Q?.errorMessages)return;if(X)D.errorMessage={...D.errorMessage,[Y]:X}}function m0(D,Y,X,Q,J){D[Y]=X,Vz(D,Y,Q,J)}var nW=(D,Y)=>{let X=0;for(;X<D.length&&X<Y.length;X++)if(D[X]!==Y[X])break;return[(D.length-X).toString(),...Y.slice(X)].join("/")};function Z1(D){if(D.target!=="openAi")return{};let Y=[...D.basePath,D.definitionPath,D.openAiAnyTypeName];return D.flags.hasReferencedOpenAiAnyType=!0,{$ref:D.$refStrategy==="relative"?nW(Y,D.currentPath):Y.join("/")}}function C_(D,Y){let X={type:"array"};if(D.type?._def&&D.type?._def?.typeName!==i.ZodAny)X.items=N0(D.type._def,{...Y,currentPath:[...Y.currentPath,"items"]});if(D.minLength)m0(X,"minItems",D.minLength.value,D.minLength.message,Y);if(D.maxLength)m0(X,"maxItems",D.maxLength.value,D.maxLength.message,Y);if(D.exactLength)m0(X,"minItems",D.exactLength.value,D.exactLength.message,Y),m0(X,"maxItems",D.exactLength.value,D.exactLength.message,Y);return X}function x_(D,Y){let X={type:"integer",format:"int64"};if(!D.checks)return X;for(let Q of D.checks)switch(Q.kind){case"min":if(Y.target==="jsonSchema7")if(Q.inclusive)m0(X,"minimum",Q.value,Q.message,Y);else m0(X,"exclusiveMinimum",Q.value,Q.message,Y);else{if(!Q.inclusive)X.exclusiveMinimum=!0;m0(X,"minimum",Q.value,Q.message,Y)}break;case"max":if(Y.target==="jsonSchema7")if(Q.inclusive)m0(X,"maximum",Q.value,Q.message,Y);else m0(X,"exclusiveMaximum",Q.value,Q.message,Y);else{if(!Q.inclusive)X.exclusiveMaximum=!0;m0(X,"maximum",Q.value,Q.message,Y)}break;case"multipleOf":m0(X,"multipleOf",Q.value,Q.message,Y);break}return X}function __(){return{type:"boolean"}}function iW(D,Y){return N0(D.type._def,Y)}var b_=(D,Y)=>{return N0(D.innerType._def,Y)};function Lz(D,Y,X){let Q=X??Y.dateStrategy;if(Array.isArray(Q))return{anyOf:Q.map((J,W)=>Lz(D,Y,J))};switch(Q){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return nQ0(D,Y)}}var nQ0=(D,Y)=>{let X={type:"integer",format:"unix-time"};if(Y.target==="openApi3")return X;for(let Q of D.checks)switch(Q.kind){case"min":m0(X,"minimum",Q.value,Q.message,Y);break;case"max":m0(X,"maximum",Q.value,Q.message,Y);break}return X};function k_(D,Y){return{...N0(D.innerType._def,Y),default:D.defaultValue()}}function v_(D,Y){return Y.effectStrategy==="input"?N0(D.schema._def,Y):Z1(Y)}function y_(D){return{type:"string",enum:Array.from(D.values)}}var iQ0=(D)=>{if("type"in D&&D.type==="string")return!1;return"allOf"in D};function f_(D,Y){let X=[N0(D.left._def,{...Y,currentPath:[...Y.currentPath,"allOf","0"]}),N0(D.right._def,{...Y,currentPath:[...Y.currentPath,"allOf","1"]})].filter((W)=>!!W),Q=Y.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,J=[];return X.forEach((W)=>{if(iQ0(W)){if(J.push(...W.allOf),W.unevaluatedProperties===void 0)Q=void 0}else{let $=W;if("additionalProperties"in W&&W.additionalProperties===!1){let{additionalProperties:G,...B}=W;$=B}else Q=void 0;J.push($)}}),J.length?{allOf:J,...Q}:void 0}function h_(D,Y){let X=typeof D.value;if(X!=="bigint"&&X!=="number"&&X!=="boolean"&&X!=="string")return{type:Array.isArray(D.value)?"array":"object"};if(Y.target==="openApi3")return{type:X==="bigint"?"integer":X,enum:[D.value]};return{type:X==="bigint"?"integer":X,const:D.value}}var Mz=void 0,y6={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(Mz===void 0)Mz=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return Mz},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function rW(D,Y){let X={type:"string"};if(D.checks)for(let Q of D.checks)switch(Q.kind){case"min":m0(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,Q.value):Q.value,Q.message,Y);break;case"max":m0(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,Q.value):Q.value,Q.message,Y);break;case"email":switch(Y.emailStrategy){case"format:email":f6(X,"email",Q.message,Y);break;case"format:idn-email":f6(X,"idn-email",Q.message,Y);break;case"pattern:zod":k8(X,y6.email,Q.message,Y);break}break;case"url":f6(X,"uri",Q.message,Y);break;case"uuid":f6(X,"uuid",Q.message,Y);break;case"regex":k8(X,Q.regex,Q.message,Y);break;case"cuid":k8(X,y6.cuid,Q.message,Y);break;case"cuid2":k8(X,y6.cuid2,Q.message,Y);break;case"startsWith":k8(X,RegExp(`^${Oz(Q.value,Y)}`),Q.message,Y);break;case"endsWith":k8(X,RegExp(`${Oz(Q.value,Y)}$`),Q.message,Y);break;case"datetime":f6(X,"date-time",Q.message,Y);break;case"date":f6(X,"date",Q.message,Y);break;case"time":f6(X,"time",Q.message,Y);break;case"duration":f6(X,"duration",Q.message,Y);break;case"length":m0(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,Q.value):Q.value,Q.message,Y),m0(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,Q.value):Q.value,Q.message,Y);break;case"includes":{k8(X,RegExp(Oz(Q.value,Y)),Q.message,Y);break}case"ip":{if(Q.version!=="v6")f6(X,"ipv4",Q.message,Y);if(Q.version!=="v4")f6(X,"ipv6",Q.message,Y);break}case"base64url":k8(X,y6.base64url,Q.message,Y);break;case"jwt":k8(X,y6.jwt,Q.message,Y);break;case"cidr":{if(Q.version!=="v6")k8(X,y6.ipv4Cidr,Q.message,Y);if(Q.version!=="v4")k8(X,y6.ipv6Cidr,Q.message,Y);break}case"emoji":k8(X,y6.emoji(),Q.message,Y);break;case"ulid":{k8(X,y6.ulid,Q.message,Y);break}case"base64":{switch(Y.base64Strategy){case"format:binary":{f6(X,"binary",Q.message,Y);break}case"contentEncoding:base64":{m0(X,"contentEncoding","base64",Q.message,Y);break}case"pattern:zod":{k8(X,y6.base64,Q.message,Y);break}}break}case"nanoid":k8(X,y6.nanoid,Q.message,Y);case"toLowerCase":case"toUpperCase":case"trim":break;default:((J)=>{})(Q)}return X}function Oz(D,Y){return Y.patternStrategy==="escape"?aQ0(D):D}var rQ0=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function aQ0(D){let Y="";for(let X=0;X<D.length;X++){if(!rQ0.has(D[X]))Y+="\\";Y+=D[X]}return Y}function f6(D,Y,X,Q){if(D.format||D.anyOf?.some((J)=>J.format)){if(!D.anyOf)D.anyOf=[];if(D.format){if(D.anyOf.push({format:D.format,...D.errorMessage&&Q.errorMessages&&{errorMessage:{format:D.errorMessage.format}}}),delete D.format,D.errorMessage){if(delete D.errorMessage.format,Object.keys(D.errorMessage).length===0)delete D.errorMessage}}D.anyOf.push({format:Y,...X&&Q.errorMessages&&{errorMessage:{format:X}}})}else m0(D,"format",Y,X,Q)}function k8(D,Y,X,Q){if(D.pattern||D.allOf?.some((J)=>J.pattern)){if(!D.allOf)D.allOf=[];if(D.pattern){if(D.allOf.push({pattern:D.pattern,...D.errorMessage&&Q.errorMessages&&{errorMessage:{pattern:D.errorMessage.pattern}}}),delete D.pattern,D.errorMessage){if(delete D.errorMessage.pattern,Object.keys(D.errorMessage).length===0)delete D.errorMessage}}D.allOf.push({pattern:g_(Y,Q),...X&&Q.errorMessages&&{errorMessage:{pattern:X}}})}else m0(D,"pattern",g_(Y,Q),X,Q)}function g_(D,Y){if(!Y.applyRegexFlags||!D.flags)return D.source;let X={i:D.flags.includes("i"),m:D.flags.includes("m"),s:D.flags.includes("s")},Q=X.i?D.source.toLowerCase():D.source,J="",W=!1,$=!1,G=!1;for(let B=0;B<Q.length;B++){if(W){J+=Q[B],W=!1;continue}if(X.i){if($){if(Q[B].match(/[a-z]/)){if(G)J+=Q[B],J+=`${Q[B-2]}-${Q[B]}`.toUpperCase(),G=!1;else if(Q[B+1]==="-"&&Q[B+2]?.match(/[a-z]/))J+=Q[B],G=!0;else J+=`${Q[B]}${Q[B].toUpperCase()}`;continue}}else if(Q[B].match(/[a-z]/)){J+=`[${Q[B]}${Q[B].toUpperCase()}]`;continue}}if(X.m){if(Q[B]==="^"){J+=`(^|(?<=[\r
|
|
432
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let H of this.seen.entries()){let F=H[1];if(D===H[0]){W(H);continue}if(X.external){let U=X.external.registry.get(H[0])?.id;if(D!==H[0]&&U){W(H);continue}}if(this.metadataRegistry.get(H[0])?.id){W(H);continue}if(F.cycle){W(H);continue}if(F.count>1){if(X.reused==="ref"){W(H);continue}}}let $=(H,F)=>{let K=this.seen.get(H),U=K.def??K.schema,z={...U};if(K.ref===null)return;let w=K.ref;if(K.ref=null,w){$(w,F);let V=this.seen.get(w).schema;if(V.$ref&&F.target==="draft-7")U.allOf=U.allOf??[],U.allOf.push(V);else Object.assign(U,V),Object.assign(U,z)}if(!K.isParent)this.override({zodSchema:H,jsonSchema:U,path:K.path??[]})};for(let H of[...this.seen.entries()].reverse())$(H[0],{target:this.target});let G={};if(this.target==="draft-2020-12")G.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")G.$schema="http://json-schema.org/draft-07/schema#";else console.warn(`Invalid target: ${this.target}`);if(X.external?.uri){let H=X.external.registry.get(D)?.id;if(!H)throw Error("Schema is missing an `id` property");G.$id=X.external.uri(H)}Object.assign(G,Q.def);let B=X.external?.defs??{};for(let H of this.seen.entries()){let F=H[1];if(F.def&&F.defId)B[F.defId]=F.def}if(X.external);else if(Object.keys(B).length>0)if(this.target==="draft-2020-12")G.$defs=B;else G.definitions=B;try{return JSON.parse(JSON.stringify(G))}catch(H){throw Error("Error converting schema to JSON.")}}}function cK(D,Y){if(D instanceof KW){let Q=new mK(Y),J={};for(let G of D._idmap.entries()){let[B,H]=G;Q.process(H)}let W={},$={registry:D,uri:Y?.uri,defs:J};for(let G of D._idmap.entries()){let[B,H]=G;W[B]=Q.emit(H,{...Y,external:$})}if(Object.keys(J).length>0){let G=Q.target==="draft-2020-12"?"$defs":"definitions";W.__shared={[G]:J}}return{schemas:W}}let X=new mK(Y);return X.process(D),X.emit(D,Y)}function i1(D,Y){let X=Y??{seen:new Set};if(X.seen.has(D))return!1;X.seen.add(D);let J=D._zod.def;switch(J.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return i1(J.element,X);case"object":{for(let W in J.shape)if(i1(J.shape[W],X))return!0;return!1}case"union":{for(let W of J.options)if(i1(W,X))return!0;return!1}case"intersection":return i1(J.left,X)||i1(J.right,X);case"tuple":{for(let W of J.items)if(i1(W,X))return!0;if(J.rest&&i1(J.rest,X))return!0;return!1}case"record":return i1(J.keyType,X)||i1(J.valueType,X);case"map":return i1(J.keyType,X)||i1(J.valueType,X);case"set":return i1(J.valueType,X);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return i1(J.innerType,X);case"lazy":return i1(J.getter(),X);case"default":return i1(J.innerType,X);case"prefault":return i1(J.innerType,X);case"custom":return!1;case"transform":return!0;case"pipe":return i1(J.in,X)||i1(J.out,X);case"success":return!1;case"catch":return!1;default:}throw Error(`Unknown schema type: ${J.type}`)}var NY0=h("ZodMiniType",(D,Y)=>{if(!D._zod)throw Error("Uninitialized schema in ZodMiniType.");J1.init(D,Y),D.def=Y,D.parse=(X,Q)=>Qq(D,X,Q,{callee:D.parse}),D.safeParse=(X,Q)=>N5(D,X,Q),D.parseAsync=async(X,Q)=>Wq(D,X,Q,{callee:D.parseAsync}),D.safeParseAsync=async(X,Q)=>Z5(D,X,Q),D.check=(...X)=>{return D.clone({...Y,checks:[...Y.checks??[],...X.map((Q)=>typeof Q==="function"?{_zod:{check:Q,def:{check:"custom"},onattach:[]}}:Q)]})},D.clone=(X,Q)=>H6(D,X,Q),D.brand=()=>D,D.register=(X,Q)=>{return X.add(D,Q),D}});var ZY0=h("ZodMiniObject",(D,Y)=>{FW.init(D,Y),NY0.init(D,Y),h0.defineLazy(D,"shape",()=>Y.shape)});function lK(D,Y){let X={type:"object",get shape(){return h0.assignProp(this,"shape",{...D}),this.shape},...h0.normalizeParams(Y)};return new ZY0(X)}function M6(D){return!!D._zod}function R5(D){let Y=Object.values(D);if(Y.length===0)return lK({});let X=Y.every(M6),Q=Y.every((J)=>!M6(J));if(X)return lK(D);if(Q)return dF(D);throw Error("Mixed Zod versions detected in object shape.")}function wD(D,Y){if(M6(D))return N5(D,Y);return D.safeParse(Y)}async function OW(D,Y){if(M6(D))return await Z5(D,Y);return await D.safeParseAsync(Y)}function VD(D){if(!D)return;let Y;if(M6(D))Y=D._zod?.def?.shape;else Y=D.shape;if(!Y)return;if(typeof Y==="function")try{return Y()}catch{return}return Y}function M7(D){if(!D)return;if(typeof D==="object"){let Y=D,X=D;if(!Y._def&&!X._zod){let Q=Object.values(D);if(Q.length>0&&Q.every((J)=>typeof J==="object"&&J!==null&&(J._def!==void 0||J._zod!==void 0||typeof J.parse==="function")))return R5(D)}}if(M6(D)){let X=D._zod?.def;if(X&&(X.type==="object"||X.shape!==void 0))return D}else if(D.shape!==void 0)return D;return}function NW(D){if(D&&typeof D==="object"){if("message"in D&&typeof D.message==="string")return D.message;if("issues"in D&&Array.isArray(D.issues)&&D.issues.length>0){let Y=D.issues[0];if(Y&&typeof Y==="object"&&"message"in Y)return String(Y.message)}try{return JSON.stringify(D)}catch{return String(D)}}return String(D)}function hx(D){return D.description}function gx(D){if(M6(D))return D._zod?.def?.type==="optional";let Y=D;if(typeof D.isOptional==="function")return D.isOptional();return Y._def?.typeName==="ZodOptional"}function ZW(D){if(M6(D)){let W=D._zod?.def;if(W){if(W.value!==void 0)return W.value;if(Array.isArray(W.values)&&W.values.length>0)return W.values[0]}}let X=D._def;if(X){if(X.value!==void 0)return X.value;if(Array.isArray(X.values)&&X.values.length>0)return X.values[0]}let Q=D.value;if(Q!==void 0)return Q;return}var kY={};B9(kY,{time:()=>nK,duration:()=>iK,datetime:()=>dK,date:()=>pK,ZodISOTime:()=>cx,ZodISODuration:()=>lx,ZodISODateTime:()=>ux,ZodISODate:()=>mx});var ux=h("ZodISODateTime",(D,Y)=>{Tx.init(D,Y),M1.init(D,Y)});function dK(D){return _x(ux,D)}var mx=h("ZodISODate",(D,Y)=>{Sx.init(D,Y),M1.init(D,Y)});function pK(D){return bx(mx,D)}var cx=h("ZodISOTime",(D,Y)=>{Px.init(D,Y),M1.init(D,Y)});function nK(D){return kx(cx,D)}var lx=h("ZodISODuration",(D,Y)=>{Ix.init(D,Y),M1.init(D,Y)});function iK(D){return vx(lx,D)}var dx=(D,Y)=>{$W.init(D,Y),D.name="ZodError",Object.defineProperties(D,{format:{value:(X)=>Yq(D,X)},flatten:{value:(X)=>Dq(D,X)},addIssue:{value:(X)=>D.issues.push(X)},addIssues:{value:(X)=>D.issues.push(...X)},isEmpty:{get(){return D.issues.length===0}}})},bj0=h("ZodError",dx),vY=h("ZodError",dx,{Parent:Error});var px=Xq(vY),nx=Jq(vY),ix=$q(vY),rx=Gq(vY);var C1=h("ZodType",(D,Y)=>{return J1.init(D,Y),D.def=Y,Object.defineProperty(D,"_def",{value:Y}),D.check=(...X)=>{return D.clone({...Y,checks:[...Y.checks??[],...X.map((Q)=>typeof Q==="function"?{_zod:{check:Q,def:{check:"custom"},onattach:[]}}:Q)]})},D.clone=(X,Q)=>H6(D,X,Q),D.brand=()=>D,D.register=(X,Q)=>{return X.add(D,Q),D},D.parse=(X,Q)=>px(D,X,Q,{callee:D.parse}),D.safeParse=(X,Q)=>ix(D,X,Q),D.parseAsync=async(X,Q)=>nx(D,X,Q,{callee:D.parseAsync}),D.safeParseAsync=async(X,Q)=>rx(D,X,Q),D.spa=D.safeParseAsync,D.refine=(X,Q)=>D.check(MX0(X,Q)),D.superRefine=(X)=>D.check(OX0(X)),D.overwrite=(X)=>D.check(A5(X)),D.optional=()=>I1(D),D.nullable=()=>sx(D),D.nullish=()=>I1(sx(D)),D.nonoptional=(X)=>qX0(D,X),D.array=()=>u0(D),D.or=(X)=>q1([D,X]),D.and=(X)=>EW(D,X),D.transform=(X)=>aK(D,X_(X)),D.default=(X)=>BX0(D,X),D.prefault=(X)=>FX0(D,X),D.catch=(X)=>zX0(D,X),D.pipe=(X)=>aK(D,X),D.readonly=()=>VX0(D),D.describe=(X)=>{let Q=D.clone();return UD.add(Q,{description:X}),Q},Object.defineProperty(D,"description",{get(){return UD.get(D)?.description},configurable:!0}),D.meta=(...X)=>{if(X.length===0)return UD.get(D);let Q=D.clone();return UD.add(Q,X[0]),Q},D.isOptional=()=>D.safeParse(void 0).success,D.isNullable=()=>D.safeParse(null).success,D}),tx=h("_ZodString",(D,Y)=>{xY.init(D,Y),C1.init(D,Y);let X=D._zod.bag;D.format=X.format??null,D.minLength=X.minimum??null,D.maxLength=X.maximum??null,D.regex=(...Q)=>D.check(IK(...Q)),D.includes=(...Q)=>D.check(_K(...Q)),D.startsWith=(...Q)=>D.check(bK(...Q)),D.endsWith=(...Q)=>D.check(kK(...Q)),D.min=(...Q)=>D.check(L7(...Q)),D.max=(...Q)=>D.check(LW(...Q)),D.length=(...Q)=>D.check(MW(...Q)),D.nonempty=(...Q)=>D.check(L7(1,...Q)),D.lowercase=(Q)=>D.check(CK(Q)),D.uppercase=(Q)=>D.check(xK(Q)),D.trim=()=>D.check(yK()),D.normalize=(...Q)=>D.check(vK(...Q)),D.toLowerCase=()=>D.check(fK()),D.toUpperCase=()=>D.check(hK())}),CY0=h("ZodString",(D,Y)=>{xY.init(D,Y),tx.init(D,Y),D.email=(X)=>D.check(XK(xY0,X)),D.url=(X)=>D.check(GK(_Y0,X)),D.jwt=(X)=>D.check(AK(iY0,X)),D.emoji=(X)=>D.check(BK(bY0,X)),D.guid=(X)=>D.check(zW(ax,X)),D.uuid=(X)=>D.check(QK(AW,X)),D.uuidv4=(X)=>D.check(JK(AW,X)),D.uuidv6=(X)=>D.check(WK(AW,X)),D.uuidv7=(X)=>D.check($K(AW,X)),D.nanoid=(X)=>D.check(HK(kY0,X)),D.guid=(X)=>D.check(zW(ax,X)),D.cuid=(X)=>D.check(FK(vY0,X)),D.cuid2=(X)=>D.check(qK(yY0,X)),D.ulid=(X)=>D.check(KK(fY0,X)),D.base64=(X)=>D.check(OK(dY0,X)),D.base64url=(X)=>D.check(NK(pY0,X)),D.xid=(X)=>D.check(zK(hY0,X)),D.ksuid=(X)=>D.check(UK(gY0,X)),D.ipv4=(X)=>D.check(wK(uY0,X)),D.ipv6=(X)=>D.check(VK(mY0,X)),D.cidrv4=(X)=>D.check(LK(cY0,X)),D.cidrv6=(X)=>D.check(MK(lY0,X)),D.e164=(X)=>D.check(ZK(nY0,X)),D.datetime=(X)=>D.check(dK(X)),D.date=(X)=>D.check(pK(X)),D.time=(X)=>D.check(nK(X)),D.duration=(X)=>D.check(iK(X))});function f(D){return YK(CY0,D)}var M1=h("ZodStringFormat",(D,Y)=>{F1.init(D,Y),tx.init(D,Y)}),xY0=h("ZodEmail",(D,Y)=>{Vq.init(D,Y),M1.init(D,Y)});var ax=h("ZodGUID",(D,Y)=>{Uq.init(D,Y),M1.init(D,Y)});var AW=h("ZodUUID",(D,Y)=>{wq.init(D,Y),M1.init(D,Y)});var _Y0=h("ZodURL",(D,Y)=>{Lq.init(D,Y),M1.init(D,Y)});var bY0=h("ZodEmoji",(D,Y)=>{Mq.init(D,Y),M1.init(D,Y)});var kY0=h("ZodNanoID",(D,Y)=>{Oq.init(D,Y),M1.init(D,Y)});var vY0=h("ZodCUID",(D,Y)=>{Nq.init(D,Y),M1.init(D,Y)});var yY0=h("ZodCUID2",(D,Y)=>{Zq.init(D,Y),M1.init(D,Y)});var fY0=h("ZodULID",(D,Y)=>{Aq.init(D,Y),M1.init(D,Y)});var hY0=h("ZodXID",(D,Y)=>{Eq.init(D,Y),M1.init(D,Y)});var gY0=h("ZodKSUID",(D,Y)=>{Rq.init(D,Y),M1.init(D,Y)});var uY0=h("ZodIPv4",(D,Y)=>{jq.init(D,Y),M1.init(D,Y)});var mY0=h("ZodIPv6",(D,Y)=>{Tq.init(D,Y),M1.init(D,Y)});var cY0=h("ZodCIDRv4",(D,Y)=>{Sq.init(D,Y),M1.init(D,Y)});var lY0=h("ZodCIDRv6",(D,Y)=>{Pq.init(D,Y),M1.init(D,Y)});var dY0=h("ZodBase64",(D,Y)=>{Iq.init(D,Y),M1.init(D,Y)});var pY0=h("ZodBase64URL",(D,Y)=>{Cq.init(D,Y),M1.init(D,Y)});var nY0=h("ZodE164",(D,Y)=>{xq.init(D,Y),M1.init(D,Y)});var iY0=h("ZodJWT",(D,Y)=>{_q.init(D,Y),M1.init(D,Y)});var ex=h("ZodNumber",(D,Y)=>{HW.init(D,Y),C1.init(D,Y),D.gt=(Q,J)=>D.check(wW(Q,J)),D.gte=(Q,J)=>D.check(bY(Q,J)),D.min=(Q,J)=>D.check(bY(Q,J)),D.lt=(Q,J)=>D.check(UW(Q,J)),D.lte=(Q,J)=>D.check(_Y(Q,J)),D.max=(Q,J)=>D.check(_Y(Q,J)),D.int=(Q)=>D.check(ox(Q)),D.safe=(Q)=>D.check(ox(Q)),D.positive=(Q)=>D.check(wW(0,Q)),D.nonnegative=(Q)=>D.check(bY(0,Q)),D.negative=(Q)=>D.check(UW(0,Q)),D.nonpositive=(Q)=>D.check(_Y(0,Q)),D.multipleOf=(Q,J)=>D.check(VW(Q,J)),D.step=(Q,J)=>D.check(VW(Q,J)),D.finite=()=>D;let X=D._zod.bag;D.minValue=Math.max(X.minimum??Number.NEGATIVE_INFINITY,X.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,D.maxValue=Math.min(X.maximum??Number.POSITIVE_INFINITY,X.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,D.isInt=(X.format??"").includes("int")||Number.isSafeInteger(X.multipleOf??0.5),D.isFinite=!0,D.format=X.format??null});function D1(D){return EK(ex,D)}var rY0=h("ZodNumberFormat",(D,Y)=>{bq.init(D,Y),ex.init(D,Y)});function ox(D){return RK(rY0,D)}var aY0=h("ZodBoolean",(D,Y)=>{kq.init(D,Y),C1.init(D,Y)});function e1(D){return jK(aY0,D)}var oY0=h("ZodNull",(D,Y)=>{vq.init(D,Y),C1.init(D,Y)});function oK(D){return TK(oY0,D)}var sY0=h("ZodUnknown",(D,Y)=>{yq.init(D,Y),C1.init(D,Y)});function O1(){return SK(sY0)}var tY0=h("ZodNever",(D,Y)=>{fq.init(D,Y),C1.init(D,Y)});function eY0(D){return PK(tY0,D)}var DX0=h("ZodArray",(D,Y)=>{hq.init(D,Y),C1.init(D,Y),D.element=Y.element,D.min=(X,Q)=>D.check(L7(X,Q)),D.nonempty=(X)=>D.check(L7(1,X)),D.max=(X,Q)=>D.check(LW(X,Q)),D.length=(X,Q)=>D.check(MW(X,Q)),D.unwrap=()=>D.element});function u0(D,Y){return yx(DX0,D,Y)}var D_=h("ZodObject",(D,Y)=>{FW.init(D,Y),C1.init(D,Y),h0.defineLazy(D,"shape",()=>Y.shape),D.keyof=()=>p8(Object.keys(D._zod.def.shape)),D.catchall=(X)=>D.clone({...D._zod.def,catchall:X}),D.passthrough=()=>D.clone({...D._zod.def,catchall:O1()}),D.loose=()=>D.clone({...D._zod.def,catchall:O1()}),D.strict=()=>D.clone({...D._zod.def,catchall:eY0()}),D.strip=()=>D.clone({...D._zod.def,catchall:void 0}),D.extend=(X)=>{return h0.extend(D,X)},D.merge=(X)=>h0.merge(D,X),D.pick=(X)=>h0.pick(D,X),D.omit=(X)=>h0.omit(D,X),D.partial=(...X)=>h0.partial(Q_,D,X[0]),D.required=(...X)=>h0.required(J_,D,X[0])});function W0(D,Y){let X={type:"object",get shape(){return h0.assignProp(this,"shape",{...D}),this.shape},...h0.normalizeParams(Y)};return new D_(X)}function b8(D,Y){return new D_({type:"object",get shape(){return h0.assignProp(this,"shape",{...D}),this.shape},catchall:O1(),...h0.normalizeParams(Y)})}var Y_=h("ZodUnion",(D,Y)=>{qW.init(D,Y),C1.init(D,Y),D.options=Y.options});function q1(D,Y){return new Y_({type:"union",options:D,...h0.normalizeParams(Y)})}var YX0=h("ZodDiscriminatedUnion",(D,Y)=>{Y_.init(D,Y),gq.init(D,Y)});function sK(D,Y,X){return new YX0({type:"union",options:Y,discriminator:D,...h0.normalizeParams(X)})}var XX0=h("ZodIntersection",(D,Y)=>{uq.init(D,Y),C1.init(D,Y)});function EW(D,Y){return new XX0({type:"intersection",left:D,right:Y})}var QX0=h("ZodRecord",(D,Y)=>{mq.init(D,Y),C1.init(D,Y),D.keyType=Y.keyType,D.valueType=Y.valueType});function N1(D,Y,X){return new QX0({type:"record",keyType:D,valueType:Y,...h0.normalizeParams(X)})}var rK=h("ZodEnum",(D,Y)=>{cq.init(D,Y),C1.init(D,Y),D.enum=Y.entries,D.options=Object.values(Y.entries);let X=new Set(Object.keys(Y.entries));D.extract=(Q,J)=>{let W={};for(let $ of Q)if(X.has($))W[$]=Y.entries[$];else throw Error(`Key ${$} not found in enum`);return new rK({...Y,checks:[],...h0.normalizeParams(J),entries:W})},D.exclude=(Q,J)=>{let W={...Y.entries};for(let $ of Q)if(X.has($))delete W[$];else throw Error(`Key ${$} not found in enum`);return new rK({...Y,checks:[],...h0.normalizeParams(J),entries:W})}});function p8(D,Y){let X=Array.isArray(D)?Object.fromEntries(D.map((Q)=>[Q,Q])):D;return new rK({type:"enum",entries:X,...h0.normalizeParams(Y)})}var JX0=h("ZodLiteral",(D,Y)=>{lq.init(D,Y),C1.init(D,Y),D.values=new Set(Y.values),Object.defineProperty(D,"value",{get(){if(Y.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return Y.values[0]}})});function K0(D,Y){return new JX0({type:"literal",values:Array.isArray(D)?D:[D],...h0.normalizeParams(Y)})}var WX0=h("ZodTransform",(D,Y)=>{dq.init(D,Y),C1.init(D,Y),D._zod.parse=(X,Q)=>{X.addIssue=(W)=>{if(typeof W==="string")X.issues.push(h0.issue(W,X.value,Y));else{let $=W;if($.fatal)$.continue=!1;$.code??($.code="custom"),$.input??($.input=X.value),$.inst??($.inst=D),$.continue??($.continue=!0),X.issues.push(h0.issue($))}};let J=Y.transform(X.value,X);if(J instanceof Promise)return J.then((W)=>{return X.value=W,X});return X.value=J,X}});function X_(D){return new WX0({type:"transform",transform:D})}var Q_=h("ZodOptional",(D,Y)=>{pq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType});function I1(D){return new Q_({type:"optional",innerType:D})}var $X0=h("ZodNullable",(D,Y)=>{nq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType});function sx(D){return new $X0({type:"nullable",innerType:D})}var GX0=h("ZodDefault",(D,Y)=>{iq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType,D.removeDefault=D.unwrap});function BX0(D,Y){return new GX0({type:"default",innerType:D,get defaultValue(){return typeof Y==="function"?Y():Y}})}var HX0=h("ZodPrefault",(D,Y)=>{rq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType});function FX0(D,Y){return new HX0({type:"prefault",innerType:D,get defaultValue(){return typeof Y==="function"?Y():Y}})}var J_=h("ZodNonOptional",(D,Y)=>{aq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType});function qX0(D,Y){return new J_({type:"nonoptional",innerType:D,...h0.normalizeParams(Y)})}var KX0=h("ZodCatch",(D,Y)=>{oq.init(D,Y),C1.init(D,Y),D.unwrap=()=>D._zod.def.innerType,D.removeCatch=D.unwrap});function zX0(D,Y){return new KX0({type:"catch",innerType:D,catchValue:typeof Y==="function"?Y:()=>Y})}var UX0=h("ZodPipe",(D,Y)=>{sq.init(D,Y),C1.init(D,Y),D.in=Y.in,D.out=Y.out});function aK(D,Y){return new UX0({type:"pipe",in:D,out:Y})}var wX0=h("ZodReadonly",(D,Y)=>{tq.init(D,Y),C1.init(D,Y)});function VX0(D){return new wX0({type:"readonly",innerType:D})}var W_=h("ZodCustom",(D,Y)=>{eq.init(D,Y),C1.init(D,Y)});function LX0(D){let Y=new B8({check:"custom"});return Y._zod.check=D,Y}function $_(D,Y){return gK(W_,D??(()=>!0),Y)}function MX0(D,Y={}){return uK(W_,D,Y)}function OX0(D){let Y=LX0((X)=>{return X.addIssue=(Q)=>{if(typeof Q==="string")X.issues.push(h0.issue(Q,X.value,Y._zod.def));else{let J=Q;if(J.fatal)J.continue=!1;J.code??(J.code="custom"),J.input??(J.input=X.value),J.inst??(J.inst=Y),J.continue??(J.continue=!Y._zod.def.abort),X.issues.push(h0.issue(J))}},D(X.value,X)});return Y}function tK(D,Y){return aK(X_(D),Y)}B6(DK());var eK="2025-11-25";var G_=[eK,"2025-06-18","2025-03-26","2024-11-05","2024-10-07"],LD="io.modelcontextprotocol/related-task",jW="2.0",H8=$_((D)=>D!==null&&(typeof D==="object"||typeof D==="function")),B_=q1([f(),D1().int()]),H_=f(),ij0=b8({ttl:q1([D1(),oK()]).optional(),pollInterval:D1().optional()}),NX0=W0({ttl:D1().optional()}),ZX0=W0({taskId:f()}),Dz=b8({progressToken:B_.optional(),[LD]:ZX0.optional()}),F6=W0({_meta:Dz.optional()}),yY=F6.extend({task:NX0.optional()}),F_=(D)=>yY.safeParse(D).success,F8=W0({method:f(),params:F6.loose().optional()}),O6=W0({_meta:Dz.optional()}),N6=W0({method:f(),params:O6.loose().optional()}),q8=b8({_meta:Dz.optional()}),TW=q1([f(),D1().int()]),q_=W0({jsonrpc:K0(jW),id:TW,...F8.shape}).strict(),Yz=(D)=>q_.safeParse(D).success,K_=W0({jsonrpc:K0(jW),...N6.shape}).strict(),z_=(D)=>K_.safeParse(D).success,Xz=W0({jsonrpc:K0(jW),id:TW,result:q8}).strict(),fY=(D)=>Xz.safeParse(D).success;var w0;(function(D){D[D.ConnectionClosed=-32000]="ConnectionClosed",D[D.RequestTimeout=-32001]="RequestTimeout",D[D.ParseError=-32700]="ParseError",D[D.InvalidRequest=-32600]="InvalidRequest",D[D.MethodNotFound=-32601]="MethodNotFound",D[D.InvalidParams=-32602]="InvalidParams",D[D.InternalError=-32603]="InternalError",D[D.UrlElicitationRequired=-32042]="UrlElicitationRequired"})(w0||(w0={}));var Qz=W0({jsonrpc:K0(jW),id:TW.optional(),error:W0({code:D1().int(),message:f(),data:O1().optional()})}).strict();var U_=(D)=>Qz.safeParse(D).success;var w_=q1([q_,K_,Xz,Qz]),rj0=q1([Xz,Qz]),SW=q8.strict(),AX0=O6.extend({requestId:TW.optional(),reason:f().optional()}),PW=N6.extend({method:K0("notifications/cancelled"),params:AX0}),EX0=W0({src:f(),mimeType:f().optional(),sizes:u0(f()).optional(),theme:p8(["light","dark"]).optional()}),hY=W0({icons:u0(EX0).optional()}),O7=W0({name:f(),title:f().optional()}),V_=O7.extend({...O7.shape,...hY.shape,version:f(),websiteUrl:f().optional(),description:f().optional()}),RX0=EW(W0({applyDefaults:e1().optional()}),N1(f(),O1())),jX0=tK((D)=>{if(D&&typeof D==="object"&&!Array.isArray(D)){if(Object.keys(D).length===0)return{form:{}}}return D},EW(W0({form:RX0.optional(),url:H8.optional()}),N1(f(),O1()).optional())),TX0=b8({list:H8.optional(),cancel:H8.optional(),requests:b8({sampling:b8({createMessage:H8.optional()}).optional(),elicitation:b8({create:H8.optional()}).optional()}).optional()}),SX0=b8({list:H8.optional(),cancel:H8.optional(),requests:b8({tools:b8({call:H8.optional()}).optional()}).optional()}),PX0=W0({experimental:N1(f(),H8).optional(),sampling:W0({context:H8.optional(),tools:H8.optional()}).optional(),elicitation:jX0.optional(),roots:W0({listChanged:e1().optional()}).optional(),tasks:TX0.optional()}),IX0=F6.extend({protocolVersion:f(),capabilities:PX0,clientInfo:V_}),Jz=F8.extend({method:K0("initialize"),params:IX0});var CX0=W0({experimental:N1(f(),H8).optional(),logging:H8.optional(),completions:H8.optional(),prompts:W0({listChanged:e1().optional()}).optional(),resources:W0({subscribe:e1().optional(),listChanged:e1().optional()}).optional(),tools:W0({listChanged:e1().optional()}).optional(),tasks:SX0.optional()}),xX0=q8.extend({protocolVersion:f(),capabilities:CX0,serverInfo:V_,instructions:f().optional()}),Wz=N6.extend({method:K0("notifications/initialized"),params:O6.optional()});var IW=F8.extend({method:K0("ping"),params:F6.optional()}),_X0=W0({progress:D1(),total:I1(D1()),message:I1(f())}),bX0=W0({...O6.shape,..._X0.shape,progressToken:B_}),CW=N6.extend({method:K0("notifications/progress"),params:bX0}),kX0=F6.extend({cursor:H_.optional()}),gY=F8.extend({params:kX0.optional()}),uY=q8.extend({nextCursor:H_.optional()}),vX0=p8(["working","input_required","completed","failed","cancelled"]),mY=W0({taskId:f(),status:vX0,ttl:q1([D1(),oK()]),createdAt:f(),lastUpdatedAt:f(),pollInterval:I1(D1()),statusMessage:I1(f())}),N7=q8.extend({task:mY}),yX0=O6.merge(mY),cY=N6.extend({method:K0("notifications/tasks/status"),params:yX0}),xW=F8.extend({method:K0("tasks/get"),params:F6.extend({taskId:f()})}),_W=q8.merge(mY),bW=F8.extend({method:K0("tasks/result"),params:F6.extend({taskId:f()})}),aj0=q8.loose(),kW=gY.extend({method:K0("tasks/list")}),vW=uY.extend({tasks:u0(mY)}),yW=F8.extend({method:K0("tasks/cancel"),params:F6.extend({taskId:f()})}),L_=q8.merge(mY),M_=W0({uri:f(),mimeType:I1(f()),_meta:N1(f(),O1()).optional()}),O_=M_.extend({text:f()}),$z=f().refine((D)=>{try{return atob(D),!0}catch{return!1}},{message:"Invalid Base64 string"}),N_=M_.extend({blob:$z}),lY=p8(["user","assistant"]),Z7=W0({audience:u0(lY).optional(),priority:D1().min(0).max(1).optional(),lastModified:kY.datetime({offset:!0}).optional()}),Z_=W0({...O7.shape,...hY.shape,uri:f(),description:I1(f()),mimeType:I1(f()),annotations:Z7.optional(),_meta:I1(b8({}))}),fX0=W0({...O7.shape,...hY.shape,uriTemplate:f(),description:I1(f()),mimeType:I1(f()),annotations:Z7.optional(),_meta:I1(b8({}))}),fW=gY.extend({method:K0("resources/list")}),hX0=uY.extend({resources:u0(Z_)}),hW=gY.extend({method:K0("resources/templates/list")}),gX0=uY.extend({resourceTemplates:u0(fX0)}),Gz=F6.extend({uri:f()}),uX0=Gz,gW=F8.extend({method:K0("resources/read"),params:uX0}),mX0=q8.extend({contents:u0(q1([O_,N_]))}),cX0=N6.extend({method:K0("notifications/resources/list_changed"),params:O6.optional()}),lX0=Gz,dX0=F8.extend({method:K0("resources/subscribe"),params:lX0}),pX0=Gz,nX0=F8.extend({method:K0("resources/unsubscribe"),params:pX0}),iX0=O6.extend({uri:f()}),rX0=N6.extend({method:K0("notifications/resources/updated"),params:iX0}),aX0=W0({name:f(),description:I1(f()),required:I1(e1())}),oX0=W0({...O7.shape,...hY.shape,description:I1(f()),arguments:I1(u0(aX0)),_meta:I1(b8({}))}),uW=gY.extend({method:K0("prompts/list")}),sX0=uY.extend({prompts:u0(oX0)}),tX0=F6.extend({name:f(),arguments:N1(f(),f()).optional()}),mW=F8.extend({method:K0("prompts/get"),params:tX0}),Bz=W0({type:K0("text"),text:f(),annotations:Z7.optional(),_meta:N1(f(),O1()).optional()}),Hz=W0({type:K0("image"),data:$z,mimeType:f(),annotations:Z7.optional(),_meta:N1(f(),O1()).optional()}),Fz=W0({type:K0("audio"),data:$z,mimeType:f(),annotations:Z7.optional(),_meta:N1(f(),O1()).optional()}),eX0=W0({type:K0("tool_use"),name:f(),id:f(),input:N1(f(),O1()),_meta:N1(f(),O1()).optional()}),DQ0=W0({type:K0("resource"),resource:q1([O_,N_]),annotations:Z7.optional(),_meta:N1(f(),O1()).optional()}),YQ0=Z_.extend({type:K0("resource_link")}),qz=q1([Bz,Hz,Fz,YQ0,DQ0]),XQ0=W0({role:lY,content:qz}),QQ0=q8.extend({description:f().optional(),messages:u0(XQ0)}),JQ0=N6.extend({method:K0("notifications/prompts/list_changed"),params:O6.optional()}),WQ0=W0({title:f().optional(),readOnlyHint:e1().optional(),destructiveHint:e1().optional(),idempotentHint:e1().optional(),openWorldHint:e1().optional()}),$Q0=W0({taskSupport:p8(["required","optional","forbidden"]).optional()}),A_=W0({...O7.shape,...hY.shape,description:f().optional(),inputSchema:W0({type:K0("object"),properties:N1(f(),H8).optional(),required:u0(f()).optional()}).catchall(O1()),outputSchema:W0({type:K0("object"),properties:N1(f(),H8).optional(),required:u0(f()).optional()}).catchall(O1()).optional(),annotations:WQ0.optional(),execution:$Q0.optional(),_meta:N1(f(),O1()).optional()}),cW=gY.extend({method:K0("tools/list")}),GQ0=uY.extend({tools:u0(A_)}),lW=q8.extend({content:u0(qz).default([]),structuredContent:N1(f(),O1()).optional(),isError:e1().optional()}),oj0=lW.or(q8.extend({toolResult:O1()})),BQ0=yY.extend({name:f(),arguments:N1(f(),O1()).optional()}),A7=F8.extend({method:K0("tools/call"),params:BQ0}),HQ0=N6.extend({method:K0("notifications/tools/list_changed"),params:O6.optional()}),sj0=W0({autoRefresh:e1().default(!0),debounceMs:D1().int().nonnegative().default(300)}),dY=p8(["debug","info","notice","warning","error","critical","alert","emergency"]),FQ0=F6.extend({level:dY}),Kz=F8.extend({method:K0("logging/setLevel"),params:FQ0}),qQ0=O6.extend({level:dY,logger:f().optional(),data:O1()}),KQ0=N6.extend({method:K0("notifications/message"),params:qQ0}),zQ0=W0({name:f().optional()}),UQ0=W0({hints:u0(zQ0).optional(),costPriority:D1().min(0).max(1).optional(),speedPriority:D1().min(0).max(1).optional(),intelligencePriority:D1().min(0).max(1).optional()}),wQ0=W0({mode:p8(["auto","required","none"]).optional()}),VQ0=W0({type:K0("tool_result"),toolUseId:f().describe("The unique identifier for the corresponding tool call."),content:u0(qz).default([]),structuredContent:W0({}).loose().optional(),isError:e1().optional(),_meta:N1(f(),O1()).optional()}),LQ0=sK("type",[Bz,Hz,Fz]),RW=sK("type",[Bz,Hz,Fz,eX0,VQ0]),MQ0=W0({role:lY,content:q1([RW,u0(RW)]),_meta:N1(f(),O1()).optional()}),OQ0=yY.extend({messages:u0(MQ0),modelPreferences:UQ0.optional(),systemPrompt:f().optional(),includeContext:p8(["none","thisServer","allServers"]).optional(),temperature:D1().optional(),maxTokens:D1().int(),stopSequences:u0(f()).optional(),metadata:H8.optional(),tools:u0(A_).optional(),toolChoice:wQ0.optional()}),NQ0=F8.extend({method:K0("sampling/createMessage"),params:OQ0}),zz=q8.extend({model:f(),stopReason:I1(p8(["endTurn","stopSequence","maxTokens"]).or(f())),role:lY,content:LQ0}),Uz=q8.extend({model:f(),stopReason:I1(p8(["endTurn","stopSequence","maxTokens","toolUse"]).or(f())),role:lY,content:q1([RW,u0(RW)])}),ZQ0=W0({type:K0("boolean"),title:f().optional(),description:f().optional(),default:e1().optional()}),AQ0=W0({type:K0("string"),title:f().optional(),description:f().optional(),minLength:D1().optional(),maxLength:D1().optional(),format:p8(["email","uri","date","date-time"]).optional(),default:f().optional()}),EQ0=W0({type:p8(["number","integer"]),title:f().optional(),description:f().optional(),minimum:D1().optional(),maximum:D1().optional(),default:D1().optional()}),RQ0=W0({type:K0("string"),title:f().optional(),description:f().optional(),enum:u0(f()),default:f().optional()}),jQ0=W0({type:K0("string"),title:f().optional(),description:f().optional(),oneOf:u0(W0({const:f(),title:f()})),default:f().optional()}),TQ0=W0({type:K0("string"),title:f().optional(),description:f().optional(),enum:u0(f()),enumNames:u0(f()).optional(),default:f().optional()}),SQ0=q1([RQ0,jQ0]),PQ0=W0({type:K0("array"),title:f().optional(),description:f().optional(),minItems:D1().optional(),maxItems:D1().optional(),items:W0({type:K0("string"),enum:u0(f())}),default:u0(f()).optional()}),IQ0=W0({type:K0("array"),title:f().optional(),description:f().optional(),minItems:D1().optional(),maxItems:D1().optional(),items:W0({anyOf:u0(W0({const:f(),title:f()}))}),default:u0(f()).optional()}),CQ0=q1([PQ0,IQ0]),xQ0=q1([TQ0,SQ0,CQ0]),_Q0=q1([xQ0,ZQ0,AQ0,EQ0]),bQ0=yY.extend({mode:K0("form").optional(),message:f(),requestedSchema:W0({type:K0("object"),properties:N1(f(),_Q0),required:u0(f()).optional()})}),kQ0=yY.extend({mode:K0("url"),message:f(),elicitationId:f(),url:f().url()}),vQ0=q1([bQ0,kQ0]),yQ0=F8.extend({method:K0("elicitation/create"),params:vQ0}),fQ0=O6.extend({elicitationId:f()}),hQ0=N6.extend({method:K0("notifications/elicitation/complete"),params:fQ0}),dW=q8.extend({action:p8(["accept","decline","cancel"]),content:tK((D)=>D===null?void 0:D,N1(f(),q1([f(),D1(),e1(),u0(f())])).optional())}),gQ0=W0({type:K0("ref/resource"),uri:f()});var uQ0=W0({type:K0("ref/prompt"),name:f()}),mQ0=F6.extend({ref:q1([uQ0,gQ0]),argument:W0({name:f(),value:f()}),context:W0({arguments:N1(f(),f()).optional()}).optional()}),pW=F8.extend({method:K0("completion/complete"),params:mQ0});function E_(D){if(D.params.ref.type!=="ref/prompt")throw TypeError(`Expected CompleteRequestPrompt, but got ${D.params.ref.type}`)}function R_(D){if(D.params.ref.type!=="ref/resource")throw TypeError(`Expected CompleteRequestResourceTemplate, but got ${D.params.ref.type}`)}var cQ0=q8.extend({completion:b8({values:u0(f()).max(100),total:I1(D1().int()),hasMore:I1(e1())})}),lQ0=W0({uri:f().startsWith("file://"),name:f().optional(),_meta:N1(f(),O1()).optional()}),dQ0=F8.extend({method:K0("roots/list"),params:F6.optional()}),wz=q8.extend({roots:u0(lQ0)}),pQ0=N6.extend({method:K0("notifications/roots/list_changed"),params:O6.optional()}),tj0=q1([IW,Jz,pW,Kz,mW,uW,fW,hW,gW,dX0,nX0,A7,cW,xW,bW,kW,yW]),ej0=q1([PW,CW,Wz,pQ0,cY]),DT0=q1([SW,zz,Uz,dW,wz,_W,vW,N7]),YT0=q1([IW,NQ0,yQ0,dQ0,xW,bW,kW,yW]),XT0=q1([PW,CW,KQ0,rX0,cX0,HQ0,JQ0,cY,hQ0]),QT0=q1([SW,xX0,cQ0,QQ0,sX0,hX0,gX0,mX0,lW,GQ0,_W,vW,N7]);class q0 extends Error{constructor(D,Y,X){super(`MCP error ${D}: ${Y}`);this.code=D,this.data=X,this.name="McpError"}static fromError(D,Y,X){if(D===w0.UrlElicitationRequired&&X){let Q=X;if(Q.elicitations)return new j_(Q.elicitations,Y)}return new q0(D,Y,X)}}class j_ extends q0{constructor(D,Y=`URL elicitation${D.length>1?"s":""} required`){super(w0.UrlElicitationRequired,Y,{elicitations:D})}get elicitations(){return this.data?.elicitations??[]}}function MD(D){return D==="completed"||D==="failed"||D==="cancelled"}var S_=Symbol("Let zodToJsonSchema decide on which parser to use");var T_={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},P_=(D)=>typeof D==="string"?{...T_,name:D}:{...T_,...D};var I_=(D)=>{let Y=P_(D),X=Y.name!==void 0?[...Y.basePath,Y.definitionPath,Y.name]:Y.basePath;return{...Y,flags:{hasReferencedOpenAiAnyType:!1},currentPath:X,propertyPath:void 0,seen:new Map(Object.entries(Y.definitions).map(([Q,J])=>[J._def,{def:J._def,path:[...Y.basePath,Y.definitionPath,Q],jsonSchema:void 0}]))}};function Vz(D,Y,X,Q){if(!Q?.errorMessages)return;if(X)D.errorMessage={...D.errorMessage,[Y]:X}}function m0(D,Y,X,Q,J){D[Y]=X,Vz(D,Y,Q,J)}var nW=(D,Y)=>{let X=0;for(;X<D.length&&X<Y.length;X++)if(D[X]!==Y[X])break;return[(D.length-X).toString(),...Y.slice(X)].join("/")};function Z1(D){if(D.target!=="openAi")return{};let Y=[...D.basePath,D.definitionPath,D.openAiAnyTypeName];return D.flags.hasReferencedOpenAiAnyType=!0,{$ref:D.$refStrategy==="relative"?nW(Y,D.currentPath):Y.join("/")}}function C_(D,Y){let X={type:"array"};if(D.type?._def&&D.type?._def?.typeName!==i.ZodAny)X.items=N0(D.type._def,{...Y,currentPath:[...Y.currentPath,"items"]});if(D.minLength)m0(X,"minItems",D.minLength.value,D.minLength.message,Y);if(D.maxLength)m0(X,"maxItems",D.maxLength.value,D.maxLength.message,Y);if(D.exactLength)m0(X,"minItems",D.exactLength.value,D.exactLength.message,Y),m0(X,"maxItems",D.exactLength.value,D.exactLength.message,Y);return X}function x_(D,Y){let X={type:"integer",format:"int64"};if(!D.checks)return X;for(let Q of D.checks)switch(Q.kind){case"min":if(Y.target==="jsonSchema7")if(Q.inclusive)m0(X,"minimum",Q.value,Q.message,Y);else m0(X,"exclusiveMinimum",Q.value,Q.message,Y);else{if(!Q.inclusive)X.exclusiveMinimum=!0;m0(X,"minimum",Q.value,Q.message,Y)}break;case"max":if(Y.target==="jsonSchema7")if(Q.inclusive)m0(X,"maximum",Q.value,Q.message,Y);else m0(X,"exclusiveMaximum",Q.value,Q.message,Y);else{if(!Q.inclusive)X.exclusiveMaximum=!0;m0(X,"maximum",Q.value,Q.message,Y)}break;case"multipleOf":m0(X,"multipleOf",Q.value,Q.message,Y);break}return X}function __(){return{type:"boolean"}}function iW(D,Y){return N0(D.type._def,Y)}var b_=(D,Y)=>{return N0(D.innerType._def,Y)};function Lz(D,Y,X){let Q=X??Y.dateStrategy;if(Array.isArray(Q))return{anyOf:Q.map((J,W)=>Lz(D,Y,J))};switch(Q){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return nQ0(D,Y)}}var nQ0=(D,Y)=>{let X={type:"integer",format:"unix-time"};if(Y.target==="openApi3")return X;for(let Q of D.checks)switch(Q.kind){case"min":m0(X,"minimum",Q.value,Q.message,Y);break;case"max":m0(X,"maximum",Q.value,Q.message,Y);break}return X};function k_(D,Y){return{...N0(D.innerType._def,Y),default:D.defaultValue()}}function v_(D,Y){return Y.effectStrategy==="input"?N0(D.schema._def,Y):Z1(Y)}function y_(D){return{type:"string",enum:Array.from(D.values)}}var iQ0=(D)=>{if("type"in D&&D.type==="string")return!1;return"allOf"in D};function f_(D,Y){let X=[N0(D.left._def,{...Y,currentPath:[...Y.currentPath,"allOf","0"]}),N0(D.right._def,{...Y,currentPath:[...Y.currentPath,"allOf","1"]})].filter((W)=>!!W),Q=Y.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,J=[];return X.forEach((W)=>{if(iQ0(W)){if(J.push(...W.allOf),W.unevaluatedProperties===void 0)Q=void 0}else{let $=W;if("additionalProperties"in W&&W.additionalProperties===!1){let{additionalProperties:G,...B}=W;$=B}else Q=void 0;J.push($)}}),J.length?{allOf:J,...Q}:void 0}function h_(D,Y){let X=typeof D.value;if(X!=="bigint"&&X!=="number"&&X!=="boolean"&&X!=="string")return{type:Array.isArray(D.value)?"array":"object"};if(Y.target==="openApi3")return{type:X==="bigint"?"integer":X,enum:[D.value]};return{type:X==="bigint"?"integer":X,const:D.value}}var Mz=void 0,y6={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(Mz===void 0)Mz=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return Mz},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function rW(D,Y){let X={type:"string"};if(D.checks)for(let Q of D.checks)switch(Q.kind){case"min":m0(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,Q.value):Q.value,Q.message,Y);break;case"max":m0(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,Q.value):Q.value,Q.message,Y);break;case"email":switch(Y.emailStrategy){case"format:email":f6(X,"email",Q.message,Y);break;case"format:idn-email":f6(X,"idn-email",Q.message,Y);break;case"pattern:zod":k8(X,y6.email,Q.message,Y);break}break;case"url":f6(X,"uri",Q.message,Y);break;case"uuid":f6(X,"uuid",Q.message,Y);break;case"regex":k8(X,Q.regex,Q.message,Y);break;case"cuid":k8(X,y6.cuid,Q.message,Y);break;case"cuid2":k8(X,y6.cuid2,Q.message,Y);break;case"startsWith":k8(X,RegExp(`^${Oz(Q.value,Y)}`),Q.message,Y);break;case"endsWith":k8(X,RegExp(`${Oz(Q.value,Y)}$`),Q.message,Y);break;case"datetime":f6(X,"date-time",Q.message,Y);break;case"date":f6(X,"date",Q.message,Y);break;case"time":f6(X,"time",Q.message,Y);break;case"duration":f6(X,"duration",Q.message,Y);break;case"length":m0(X,"minLength",typeof X.minLength==="number"?Math.max(X.minLength,Q.value):Q.value,Q.message,Y),m0(X,"maxLength",typeof X.maxLength==="number"?Math.min(X.maxLength,Q.value):Q.value,Q.message,Y);break;case"includes":{k8(X,RegExp(Oz(Q.value,Y)),Q.message,Y);break}case"ip":{if(Q.version!=="v6")f6(X,"ipv4",Q.message,Y);if(Q.version!=="v4")f6(X,"ipv6",Q.message,Y);break}case"base64url":k8(X,y6.base64url,Q.message,Y);break;case"jwt":k8(X,y6.jwt,Q.message,Y);break;case"cidr":{if(Q.version!=="v6")k8(X,y6.ipv4Cidr,Q.message,Y);if(Q.version!=="v4")k8(X,y6.ipv6Cidr,Q.message,Y);break}case"emoji":k8(X,y6.emoji(),Q.message,Y);break;case"ulid":{k8(X,y6.ulid,Q.message,Y);break}case"base64":{switch(Y.base64Strategy){case"format:binary":{f6(X,"binary",Q.message,Y);break}case"contentEncoding:base64":{m0(X,"contentEncoding","base64",Q.message,Y);break}case"pattern:zod":{k8(X,y6.base64,Q.message,Y);break}}break}case"nanoid":k8(X,y6.nanoid,Q.message,Y);case"toLowerCase":case"toUpperCase":case"trim":break;default:((J)=>{})(Q)}return X}function Oz(D,Y){return Y.patternStrategy==="escape"?aQ0(D):D}var rQ0=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function aQ0(D){let Y="";for(let X=0;X<D.length;X++){if(!rQ0.has(D[X]))Y+="\\";Y+=D[X]}return Y}function f6(D,Y,X,Q){if(D.format||D.anyOf?.some((J)=>J.format)){if(!D.anyOf)D.anyOf=[];if(D.format){if(D.anyOf.push({format:D.format,...D.errorMessage&&Q.errorMessages&&{errorMessage:{format:D.errorMessage.format}}}),delete D.format,D.errorMessage){if(delete D.errorMessage.format,Object.keys(D.errorMessage).length===0)delete D.errorMessage}}D.anyOf.push({format:Y,...X&&Q.errorMessages&&{errorMessage:{format:X}}})}else m0(D,"format",Y,X,Q)}function k8(D,Y,X,Q){if(D.pattern||D.allOf?.some((J)=>J.pattern)){if(!D.allOf)D.allOf=[];if(D.pattern){if(D.allOf.push({pattern:D.pattern,...D.errorMessage&&Q.errorMessages&&{errorMessage:{pattern:D.errorMessage.pattern}}}),delete D.pattern,D.errorMessage){if(delete D.errorMessage.pattern,Object.keys(D.errorMessage).length===0)delete D.errorMessage}}D.allOf.push({pattern:g_(Y,Q),...X&&Q.errorMessages&&{errorMessage:{pattern:X}}})}else m0(D,"pattern",g_(Y,Q),X,Q)}function g_(D,Y){if(!Y.applyRegexFlags||!D.flags)return D.source;let X={i:D.flags.includes("i"),m:D.flags.includes("m"),s:D.flags.includes("s")},Q=X.i?D.source.toLowerCase():D.source,J="",W=!1,$=!1,G=!1;for(let B=0;B<Q.length;B++){if(W){J+=Q[B],W=!1;continue}if(X.i){if($){if(Q[B].match(/[a-z]/)){if(G)J+=Q[B],J+=`${Q[B-2]}-${Q[B]}`.toUpperCase(),G=!1;else if(Q[B+1]==="-"&&Q[B+2]?.match(/[a-z]/))J+=Q[B],G=!0;else J+=`${Q[B]}${Q[B].toUpperCase()}`;continue}}else if(Q[B].match(/[a-z]/)){J+=`[${Q[B]}${Q[B].toUpperCase()}]`;continue}}if(X.m){if(Q[B]==="^"){J+=`(^|(?<=[\r
|
|
433
433
|
]))`;continue}else if(Q[B]==="$"){J+=`($|(?=[\r
|
|
434
434
|
]))`;continue}}if(X.s&&Q[B]==="."){J+=$?`${Q[B]}\r
|
|
435
435
|
`:`[${Q[B]}\r
|
|
436
|
-
]`;continue}if(J+=Q[B],Q[B]==="\\")W=!0;else if($&&Q[B]==="]")$=!1;else if(!$&&Q[B]==="[")$=!0}try{new RegExp(J)}catch{return console.warn(`Could not convert regex pattern at ${Y.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),D.source}return J}function aW(D,Y){if(Y.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(Y.target==="openApi3"&&D.keyType?._def.typeName===i.ZodEnum)return{type:"object",required:D.keyType._def.values,properties:D.keyType._def.values.reduce((Q,J)=>({...Q,[J]:N0(D.valueType._def,{...Y,currentPath:[...Y.currentPath,"properties",J]})??Z1(Y)}),{}),additionalProperties:Y.rejectedAdditionalProperties};let X={type:"object",additionalProperties:N0(D.valueType._def,{...Y,currentPath:[...Y.currentPath,"additionalProperties"]})??Y.allowedAdditionalProperties};if(Y.target==="openApi3")return X;if(D.keyType?._def.typeName===i.ZodString&&D.keyType._def.checks?.length){let{type:Q,...J}=rW(D.keyType._def,Y);return{...X,propertyNames:J}}else if(D.keyType?._def.typeName===i.ZodEnum)return{...X,propertyNames:{enum:D.keyType._def.values}};else if(D.keyType?._def.typeName===i.ZodBranded&&D.keyType._def.type._def.typeName===i.ZodString&&D.keyType._def.type._def.checks?.length){let{type:Q,...J}=iW(D.keyType._def,Y);return{...X,propertyNames:J}}return X}function u_(D,Y){if(Y.mapStrategy==="record")return aW(D,Y);let X=N0(D.keyType._def,{...Y,currentPath:[...Y.currentPath,"items","items","0"]})||Z1(Y),Q=N0(D.valueType._def,{...Y,currentPath:[...Y.currentPath,"items","items","1"]})||Z1(Y);return{type:"array",maxItems:125,items:{type:"array",items:[X,Q],minItems:2,maxItems:2}}}function m_(D){let Y=D.values,Q=Object.keys(D.values).filter((W)=>{return typeof Y[Y[W]]!=="number"}).map((W)=>Y[W]),J=Array.from(new Set(Q.map((W)=>typeof W)));return{type:J.length===1?J[0]==="string"?"string":"number":["string","number"],enum:Q}}function c_(D){return D.target==="openAi"?void 0:{not:Z1({...D,currentPath:[...D.currentPath,"not"]})}}function l_(D){return D.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var pY={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function p_(D,Y){if(Y.target==="openApi3")return d_(D,Y);let X=D.options instanceof Map?Array.from(D.options.values()):D.options;if(X.every((Q)=>(Q._def.typeName in pY)&&(!Q._def.checks||!Q._def.checks.length))){let Q=X.reduce((J,W)=>{let $=pY[W._def.typeName];return $&&!J.includes($)?[...J,$]:J},[]);return{type:Q.length>1?Q:Q[0]}}else if(X.every((Q)=>Q._def.typeName==="ZodLiteral"&&!Q.description)){let Q=X.reduce((J,W)=>{let $=typeof W._def.value;switch($){case"string":case"number":case"boolean":return[...J,$];case"bigint":return[...J,"integer"];case"object":if(W._def.value===null)return[...J,"null"];case"symbol":case"undefined":case"function":default:return J}},[]);if(Q.length===X.length){let J=Q.filter((W,$,G)=>G.indexOf(W)===$);return{type:J.length>1?J:J[0],enum:X.reduce((W,$)=>{return W.includes($._def.value)?W:[...W,$._def.value]},[])}}}else if(X.every((Q)=>Q._def.typeName==="ZodEnum"))return{type:"string",enum:X.reduce((Q,J)=>[...Q,...J._def.values.filter((W)=>!Q.includes(W))],[])};return d_(D,Y)}var d_=(D,Y)=>{let X=(D.options instanceof Map?Array.from(D.options.values()):D.options).map((Q,J)=>N0(Q._def,{...Y,currentPath:[...Y.currentPath,"anyOf",`${J}`]})).filter((Q)=>!!Q&&(!Y.strictUnions||typeof Q==="object"&&Object.keys(Q).length>0));return X.length?{anyOf:X}:void 0};function n_(D,Y){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(D.innerType._def.typeName)&&(!D.innerType._def.checks||!D.innerType._def.checks.length)){if(Y.target==="openApi3")return{type:pY[D.innerType._def.typeName],nullable:!0};return{type:[pY[D.innerType._def.typeName],"null"]}}if(Y.target==="openApi3"){let Q=N0(D.innerType._def,{...Y,currentPath:[...Y.currentPath]});if(Q&&"$ref"in Q)return{allOf:[Q],nullable:!0};return Q&&{...Q,nullable:!0}}let X=N0(D.innerType._def,{...Y,currentPath:[...Y.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function i_(D,Y){let X={type:"number"};if(!D.checks)return X;for(let Q of D.checks)switch(Q.kind){case"int":X.type="integer",Vz(X,"type",Q.message,Y);break;case"min":if(Y.target==="jsonSchema7")if(Q.inclusive)m0(X,"minimum",Q.value,Q.message,Y);else m0(X,"exclusiveMinimum",Q.value,Q.message,Y);else{if(!Q.inclusive)X.exclusiveMinimum=!0;m0(X,"minimum",Q.value,Q.message,Y)}break;case"max":if(Y.target==="jsonSchema7")if(Q.inclusive)m0(X,"maximum",Q.value,Q.message,Y);else m0(X,"exclusiveMaximum",Q.value,Q.message,Y);else{if(!Q.inclusive)X.exclusiveMaximum=!0;m0(X,"maximum",Q.value,Q.message,Y)}break;case"multipleOf":m0(X,"multipleOf",Q.value,Q.message,Y);break}return X}function r_(D,Y){let X=Y.target==="openAi",Q={type:"object",properties:{}},J=[],W=D.shape();for(let G in W){let B=W[G];if(B===void 0||B._def===void 0)continue;let H=sQ0(B);if(H&&X){if(B._def.typeName==="ZodOptional")B=B._def.innerType;if(!B.isNullable())B=B.nullable();H=!1}let F=N0(B._def,{...Y,currentPath:[...Y.currentPath,"properties",G],propertyPath:[...Y.currentPath,"properties",G]});if(F===void 0)continue;if(Q.properties[G]=F,!H)J.push(G)}if(J.length)Q.required=J;let $=oQ0(D,Y);if($!==void 0)Q.additionalProperties=$;return Q}function oQ0(D,Y){if(D.catchall._def.typeName!=="ZodNever")return N0(D.catchall._def,{...Y,currentPath:[...Y.currentPath,"additionalProperties"]});switch(D.unknownKeys){case"passthrough":return Y.allowedAdditionalProperties;case"strict":return Y.rejectedAdditionalProperties;case"strip":return Y.removeAdditionalStrategy==="strict"?Y.allowedAdditionalProperties:Y.rejectedAdditionalProperties}}function sQ0(D){try{return D.isOptional()}catch{return!0}}var a_=(D,Y)=>{if(Y.currentPath.toString()===Y.propertyPath?.toString())return N0(D.innerType._def,Y);let X=N0(D.innerType._def,{...Y,currentPath:[...Y.currentPath,"anyOf","1"]});return X?{anyOf:[{not:Z1(Y)},X]}:Z1(Y)};var o_=(D,Y)=>{if(Y.pipeStrategy==="input")return N0(D.in._def,Y);else if(Y.pipeStrategy==="output")return N0(D.out._def,Y);let X=N0(D.in._def,{...Y,currentPath:[...Y.currentPath,"allOf","0"]}),Q=N0(D.out._def,{...Y,currentPath:[...Y.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,Q].filter((J)=>J!==void 0)}};function s_(D,Y){return N0(D.type._def,Y)}function t_(D,Y){let Q={type:"array",uniqueItems:!0,items:N0(D.valueType._def,{...Y,currentPath:[...Y.currentPath,"items"]})};if(D.minSize)m0(Q,"minItems",D.minSize.value,D.minSize.message,Y);if(D.maxSize)m0(Q,"maxItems",D.maxSize.value,D.maxSize.message,Y);return Q}function e_(D,Y){if(D.rest)return{type:"array",minItems:D.items.length,items:D.items.map((X,Q)=>N0(X._def,{...Y,currentPath:[...Y.currentPath,"items",`${Q}`]})).reduce((X,Q)=>Q===void 0?X:[...X,Q],[]),additionalItems:N0(D.rest._def,{...Y,currentPath:[...Y.currentPath,"additionalItems"]})};else return{type:"array",minItems:D.items.length,maxItems:D.items.length,items:D.items.map((X,Q)=>N0(X._def,{...Y,currentPath:[...Y.currentPath,"items",`${Q}`]})).reduce((X,Q)=>Q===void 0?X:[...X,Q],[])}}function Db(D){return{not:Z1(D)}}function Yb(D){return Z1(D)}var Xb=(D,Y)=>{return N0(D.innerType._def,Y)};var Qb=(D,Y,X)=>{switch(Y){case i.ZodString:return rW(D,X);case i.ZodNumber:return i_(D,X);case i.ZodObject:return r_(D,X);case i.ZodBigInt:return x_(D,X);case i.ZodBoolean:return __();case i.ZodDate:return Lz(D,X);case i.ZodUndefined:return Db(X);case i.ZodNull:return l_(X);case i.ZodArray:return C_(D,X);case i.ZodUnion:case i.ZodDiscriminatedUnion:return p_(D,X);case i.ZodIntersection:return f_(D,X);case i.ZodTuple:return e_(D,X);case i.ZodRecord:return aW(D,X);case i.ZodLiteral:return h_(D,X);case i.ZodEnum:return y_(D);case i.ZodNativeEnum:return m_(D);case i.ZodNullable:return n_(D,X);case i.ZodOptional:return a_(D,X);case i.ZodMap:return u_(D,X);case i.ZodSet:return t_(D,X);case i.ZodLazy:return()=>D.getter()._def;case i.ZodPromise:return s_(D,X);case i.ZodNaN:case i.ZodNever:return c_(X);case i.ZodEffects:return v_(D,X);case i.ZodAny:return Z1(X);case i.ZodUnknown:return Yb(X);case i.ZodDefault:return k_(D,X);case i.ZodBranded:return iW(D,X);case i.ZodReadonly:return Xb(D,X);case i.ZodCatch:return b_(D,X);case i.ZodPipeline:return o_(D,X);case i.ZodFunction:case i.ZodVoid:case i.ZodSymbol:return;default:return((Q)=>{return})(Y)}};function N0(D,Y,X=!1){let Q=Y.seen.get(D);if(Y.override){let G=Y.override?.(D,Y,Q,X);if(G!==S_)return G}if(Q&&!X){let G=tQ0(Q,Y);if(G!==void 0)return G}let J={def:D,path:Y.currentPath,jsonSchema:void 0};Y.seen.set(D,J);let W=Qb(D,D.typeName,Y),$=typeof W==="function"?N0(W(),Y):W;if($)eQ0(D,Y,$);if(Y.postProcess){let G=Y.postProcess($,D,Y);return J.jsonSchema=$,G}return J.jsonSchema=$,$}var tQ0=(D,Y)=>{switch(Y.$refStrategy){case"root":return{$ref:D.path.join("/")};case"relative":return{$ref:nW(Y.currentPath,D.path)};case"none":case"seen":{if(D.path.length<Y.currentPath.length&&D.path.every((X,Q)=>Y.currentPath[Q]===X))return console.warn(`Recursive reference detected at ${Y.currentPath.join("/")}! Defaulting to any`),Z1(Y);return Y.$refStrategy==="seen"?Z1(Y):void 0}}},eQ0=(D,Y,X)=>{if(D.description){if(X.description=D.description,Y.markdownDescription)X.markdownDescription=D.description}return X};var Nz=(D,Y)=>{let X=I_(Y),Q=typeof Y==="object"&&Y.definitions?Object.entries(Y.definitions).reduce((B,[H,F])=>({...B,[H]:N0(F._def,{...X,currentPath:[...X.basePath,X.definitionPath,H]},!0)??Z1(X)}),{}):void 0,J=typeof Y==="string"?Y:Y?.nameStrategy==="title"?void 0:Y?.name,W=N0(D._def,J===void 0?X:{...X,currentPath:[...X.basePath,X.definitionPath,J]},!1)??Z1(X),$=typeof Y==="object"&&Y.name!==void 0&&Y.nameStrategy==="title"?Y.name:void 0;if($!==void 0)W.title=$;if(X.flags.hasReferencedOpenAiAnyType){if(!Q)Q={};if(!Q[X.openAiAnyTypeName])Q[X.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:X.$refStrategy==="relative"?"1":[...X.basePath,X.definitionPath,X.openAiAnyTypeName].join("/")}}}let G=J===void 0?Q?{...W,[X.definitionPath]:Q}:W:{$ref:[...X.$refStrategy==="relative"?[]:X.basePath,X.definitionPath,J].join("/"),[X.definitionPath]:{...Q,[J]:W}};if(X.target==="jsonSchema7")G.$schema="http://json-schema.org/draft-07/schema#";else if(X.target==="jsonSchema2019-09"||X.target==="openAi")G.$schema="https://json-schema.org/draft/2019-09/schema#";if(X.target==="openAi"&&(("anyOf"in G)||("oneOf"in G)||("allOf"in G)||("type"in G)&&Array.isArray(G.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return G};function DJ0(D){if(!D)return"draft-7";if(D==="jsonSchema7"||D==="draft-7")return"draft-7";if(D==="jsonSchema2019-09"||D==="draft-2020-12")return"draft-2020-12";return"draft-7"}function Zz(D,Y){if(M6(D))return cK(D,{target:DJ0(Y?.target),io:Y?.pipeStrategy??"input"});return Nz(D,{strictUnions:Y?.strictUnions??!0,pipeStrategy:Y?.pipeStrategy??"input"})}function Az(D){let X=VD(D)?.method;if(!X)throw Error("Schema is missing a method literal");let Q=ZW(X);if(typeof Q!=="string")throw Error("Schema method literal must be a string");return Q}function Ez(D,Y){let X=wD(D,Y);if(!X.success)throw X.error;return X.data}var YJ0=60000;class Rz{constructor(D){if(this._options=D,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(PW,(Y)=>{this._oncancel(Y)}),this.setNotificationHandler(CW,(Y)=>{this._onprogress(Y)}),this.setRequestHandler(IW,(Y)=>({})),this._taskStore=D?.taskStore,this._taskMessageQueue=D?.taskMessageQueue,this._taskStore)this.setRequestHandler(xW,async(Y,X)=>{let Q=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!Q)throw new q0(w0.InvalidParams,"Failed to retrieve task: Task not found");return{...Q}}),this.setRequestHandler(bW,async(Y,X)=>{let Q=async()=>{let J=Y.params.taskId;if(this._taskMessageQueue){let $;while($=await this._taskMessageQueue.dequeue(J,X.sessionId)){if($.type==="response"||$.type==="error"){let G=$.message,B=G.id,H=this._requestResolvers.get(B);if(H)if(this._requestResolvers.delete(B),$.type==="response")H(G);else{let F=G,K=new q0(F.error.code,F.error.message,F.error.data);H(K)}else{let F=$.type==="response"?"Response":"Error";this._onerror(Error(`${F} handler missing for request ${B}`))}continue}await this._transport?.send($.message,{relatedRequestId:X.requestId})}}let W=await this._taskStore.getTask(J,X.sessionId);if(!W)throw new q0(w0.InvalidParams,`Task not found: ${J}`);if(!MD(W.status))return await this._waitForTaskUpdate(J,X.signal),await Q();if(MD(W.status)){let $=await this._taskStore.getTaskResult(J,X.sessionId);return this._clearTaskQueue(J),{...$,_meta:{...$._meta,[LD]:{taskId:J}}}}return await Q()};return await Q()}),this.setRequestHandler(kW,async(Y,X)=>{try{let{tasks:Q,nextCursor:J}=await this._taskStore.listTasks(Y.params?.cursor,X.sessionId);return{tasks:Q,nextCursor:J,_meta:{}}}catch(Q){throw new q0(w0.InvalidParams,`Failed to list tasks: ${Q instanceof Error?Q.message:String(Q)}`)}}),this.setRequestHandler(yW,async(Y,X)=>{try{let Q=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!Q)throw new q0(w0.InvalidParams,`Task not found: ${Y.params.taskId}`);if(MD(Q.status))throw new q0(w0.InvalidParams,`Cannot cancel task in terminal status: ${Q.status}`);await this._taskStore.updateTaskStatus(Y.params.taskId,"cancelled","Client cancelled task execution.",X.sessionId),this._clearTaskQueue(Y.params.taskId);let J=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!J)throw new q0(w0.InvalidParams,`Task not found after cancellation: ${Y.params.taskId}`);return{_meta:{},...J}}catch(Q){if(Q instanceof q0)throw Q;throw new q0(w0.InvalidRequest,`Failed to cancel task: ${Q instanceof Error?Q.message:String(Q)}`)}})}async _oncancel(D){if(!D.params.requestId)return;this._requestHandlerAbortControllers.get(D.params.requestId)?.abort(D.params.reason)}_setupTimeout(D,Y,X,Q,J=!1){this._timeoutInfo.set(D,{timeoutId:setTimeout(Q,Y),startTime:Date.now(),timeout:Y,maxTotalTimeout:X,resetTimeoutOnProgress:J,onTimeout:Q})}_resetTimeout(D){let Y=this._timeoutInfo.get(D);if(!Y)return!1;let X=Date.now()-Y.startTime;if(Y.maxTotalTimeout&&X>=Y.maxTotalTimeout)throw this._timeoutInfo.delete(D),q0.fromError(w0.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:Y.maxTotalTimeout,totalElapsed:X});return clearTimeout(Y.timeoutId),Y.timeoutId=setTimeout(Y.onTimeout,Y.timeout),!0}_cleanupTimeout(D){let Y=this._timeoutInfo.get(D);if(Y)clearTimeout(Y.timeoutId),this._timeoutInfo.delete(D)}async connect(D){this._transport=D;let Y=this.transport?.onclose;this._transport.onclose=()=>{Y?.(),this._onclose()};let X=this.transport?.onerror;this._transport.onerror=(J)=>{X?.(J),this._onerror(J)};let Q=this._transport?.onmessage;this._transport.onmessage=(J,W)=>{if(Q?.(J,W),fY(J)||U_(J))this._onresponse(J);else if(Yz(J))this._onrequest(J,W);else if(z_(J))this._onnotification(J);else this._onerror(Error(`Unknown message type: ${JSON.stringify(J)}`))},await this._transport.start()}_onclose(){let D=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let Y=q0.fromError(w0.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let X of D.values())X(Y)}_onerror(D){this.onerror?.(D)}_onnotification(D){let Y=this._notificationHandlers.get(D.method)??this.fallbackNotificationHandler;if(Y===void 0)return;Promise.resolve().then(()=>Y(D)).catch((X)=>this._onerror(Error(`Uncaught error in notification handler: ${X}`)))}_onrequest(D,Y){let X=this._requestHandlers.get(D.method)??this.fallbackRequestHandler,Q=this._transport,J=D.params?._meta?.[LD]?.taskId;if(X===void 0){let H={jsonrpc:"2.0",id:D.id,error:{code:w0.MethodNotFound,message:"Method not found"}};if(J&&this._taskMessageQueue)this._enqueueTaskMessage(J,{type:"error",message:H,timestamp:Date.now()},Q?.sessionId).catch((F)=>this._onerror(Error(`Failed to enqueue error response: ${F}`)));else Q?.send(H).catch((F)=>this._onerror(Error(`Failed to send an error response: ${F}`)));return}let W=new AbortController;this._requestHandlerAbortControllers.set(D.id,W);let $=F_(D.params)?D.params.task:void 0,G=this._taskStore?this.requestTaskStore(D,Q?.sessionId):void 0,B={signal:W.signal,sessionId:Q?.sessionId,_meta:D.params?._meta,sendNotification:async(H)=>{let F={relatedRequestId:D.id};if(J)F.relatedTask={taskId:J};await this.notification(H,F)},sendRequest:async(H,F,K)=>{let U={...K,relatedRequestId:D.id};if(J&&!U.relatedTask)U.relatedTask={taskId:J};let z=U.relatedTask?.taskId??J;if(z&&G)await G.updateTaskStatus(z,"input_required");return await this.request(H,F,U)},authInfo:Y?.authInfo,requestId:D.id,requestInfo:Y?.requestInfo,taskId:J,taskStore:G,taskRequestedTtl:$?.ttl,closeSSEStream:Y?.closeSSEStream,closeStandaloneSSEStream:Y?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if($)this.assertTaskHandlerCapability(D.method)}).then(()=>X(D,B)).then(async(H)=>{if(W.signal.aborted)return;let F={result:H,jsonrpc:"2.0",id:D.id};if(J&&this._taskMessageQueue)await this._enqueueTaskMessage(J,{type:"response",message:F,timestamp:Date.now()},Q?.sessionId);else await Q?.send(F)},async(H)=>{if(W.signal.aborted)return;let F={jsonrpc:"2.0",id:D.id,error:{code:Number.isSafeInteger(H.code)?H.code:w0.InternalError,message:H.message??"Internal error",...H.data!==void 0&&{data:H.data}}};if(J&&this._taskMessageQueue)await this._enqueueTaskMessage(J,{type:"error",message:F,timestamp:Date.now()},Q?.sessionId);else await Q?.send(F)}).catch((H)=>this._onerror(Error(`Failed to send response: ${H}`))).finally(()=>{this._requestHandlerAbortControllers.delete(D.id)})}_onprogress(D){let{progressToken:Y,...X}=D.params,Q=Number(Y),J=this._progressHandlers.get(Q);if(!J){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(D)}`));return}let W=this._responseHandlers.get(Q),$=this._timeoutInfo.get(Q);if($&&W&&$.resetTimeoutOnProgress)try{this._resetTimeout(Q)}catch(G){this._responseHandlers.delete(Q),this._progressHandlers.delete(Q),this._cleanupTimeout(Q),W(G);return}J(X)}_onresponse(D){let Y=Number(D.id),X=this._requestResolvers.get(Y);if(X){if(this._requestResolvers.delete(Y),fY(D))X(D);else{let W=new q0(D.error.code,D.error.message,D.error.data);X(W)}return}let Q=this._responseHandlers.get(Y);if(Q===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(D)}`));return}this._responseHandlers.delete(Y),this._cleanupTimeout(Y);let J=!1;if(fY(D)&&D.result&&typeof D.result==="object"){let W=D.result;if(W.task&&typeof W.task==="object"){let $=W.task;if(typeof $.taskId==="string")J=!0,this._taskProgressTokens.set($.taskId,Y)}}if(!J)this._progressHandlers.delete(Y);if(fY(D))Q(D);else{let W=q0.fromError(D.error.code,D.error.message,D.error.data);Q(W)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(D,Y,X){let{task:Q}=X??{};if(!Q){try{yield{type:"result",result:await this.request(D,Y,X)}}catch(W){yield{type:"error",error:W instanceof q0?W:new q0(w0.InternalError,String(W))}}return}let J;try{let W=await this.request(D,N7,X);if(W.task)J=W.task.taskId,yield{type:"taskCreated",task:W.task};else throw new q0(w0.InternalError,"Task creation did not return a task");while(!0){let $=await this.getTask({taskId:J},X);if(yield{type:"taskStatus",task:$},MD($.status)){if($.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:J},Y,X)};else if($.status==="failed")yield{type:"error",error:new q0(w0.InternalError,`Task ${J} failed`)};else if($.status==="cancelled")yield{type:"error",error:new q0(w0.InternalError,`Task ${J} was cancelled`)};return}if($.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:J},Y,X)};return}let G=$.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((B)=>setTimeout(B,G)),X?.signal?.throwIfAborted()}}catch(W){yield{type:"error",error:W instanceof q0?W:new q0(w0.InternalError,String(W))}}}request(D,Y,X){let{relatedRequestId:Q,resumptionToken:J,onresumptiontoken:W,task:$,relatedTask:G}=X??{};return new Promise((B,H)=>{let F=(O)=>{H(O)};if(!this._transport){F(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(D.method),$)this.assertTaskCapability(D.method)}catch(O){F(O);return}X?.signal?.throwIfAborted();let K=this._requestMessageId++,U={...D,jsonrpc:"2.0",id:K};if(X?.onprogress)this._progressHandlers.set(K,X.onprogress),U.params={...D.params,_meta:{...D.params?._meta||{},progressToken:K}};if($)U.params={...U.params,task:$};if(G)U.params={...U.params,_meta:{...U.params?._meta||{},[LD]:G}};let z=(O)=>{this._responseHandlers.delete(K),this._progressHandlers.delete(K),this._cleanupTimeout(K),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:K,reason:String(O)}},{relatedRequestId:Q,resumptionToken:J,onresumptiontoken:W}).catch((M)=>this._onerror(Error(`Failed to send cancellation: ${M}`)));let Z=O instanceof q0?O:new q0(w0.RequestTimeout,String(O));H(Z)};this._responseHandlers.set(K,(O)=>{if(X?.signal?.aborted)return;if(O instanceof Error)return H(O);try{let Z=wD(Y,O.result);if(!Z.success)H(Z.error);else B(Z.data)}catch(Z){H(Z)}}),X?.signal?.addEventListener("abort",()=>{z(X?.signal?.reason)});let w=X?.timeout??YJ0,V=()=>z(q0.fromError(w0.RequestTimeout,"Request timed out",{timeout:w}));this._setupTimeout(K,w,X?.maxTotalTimeout,V,X?.resetTimeoutOnProgress??!1);let L=G?.taskId;if(L){let O=(Z)=>{let M=this._responseHandlers.get(K);if(M)M(Z);else this._onerror(Error(`Response handler missing for side-channeled request ${K}`))};this._requestResolvers.set(K,O),this._enqueueTaskMessage(L,{type:"request",message:U,timestamp:Date.now()}).catch((Z)=>{this._cleanupTimeout(K),H(Z)})}else this._transport.send(U,{relatedRequestId:Q,resumptionToken:J,onresumptiontoken:W}).catch((O)=>{this._cleanupTimeout(K),H(O)})})}async getTask(D,Y){return this.request({method:"tasks/get",params:D},_W,Y)}async getTaskResult(D,Y,X){return this.request({method:"tasks/result",params:D},Y,X)}async listTasks(D,Y){return this.request({method:"tasks/list",params:D},vW,Y)}async cancelTask(D,Y){return this.request({method:"tasks/cancel",params:D},L_,Y)}async notification(D,Y){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(D.method);let X=Y?.relatedTask?.taskId;if(X){let $={...D,jsonrpc:"2.0",params:{...D.params,_meta:{...D.params?._meta||{},[LD]:Y.relatedTask}}};await this._enqueueTaskMessage(X,{type:"notification",message:$,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(D.method)&&!D.params&&!Y?.relatedRequestId&&!Y?.relatedTask){if(this._pendingDebouncedNotifications.has(D.method))return;this._pendingDebouncedNotifications.add(D.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(D.method),!this._transport)return;let $={...D,jsonrpc:"2.0"};if(Y?.relatedTask)$={...$,params:{...$.params,_meta:{...$.params?._meta||{},[LD]:Y.relatedTask}}};this._transport?.send($,Y).catch((G)=>this._onerror(G))});return}let W={...D,jsonrpc:"2.0"};if(Y?.relatedTask)W={...W,params:{...W.params,_meta:{...W.params?._meta||{},[LD]:Y.relatedTask}}};await this._transport.send(W,Y)}setRequestHandler(D,Y){let X=Az(D);this.assertRequestHandlerCapability(X),this._requestHandlers.set(X,(Q,J)=>{let W=Ez(D,Q);return Promise.resolve(Y(W,J))})}removeRequestHandler(D){this._requestHandlers.delete(D)}assertCanSetRequestHandler(D){if(this._requestHandlers.has(D))throw Error(`A request handler for ${D} already exists, which would be overridden`)}setNotificationHandler(D,Y){let X=Az(D);this._notificationHandlers.set(X,(Q)=>{let J=Ez(D,Q);return Promise.resolve(Y(J))})}removeNotificationHandler(D){this._notificationHandlers.delete(D)}_cleanupTaskProgressHandler(D){let Y=this._taskProgressTokens.get(D);if(Y!==void 0)this._progressHandlers.delete(Y),this._taskProgressTokens.delete(D)}async _enqueueTaskMessage(D,Y,X){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let Q=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(D,Y,X,Q)}async _clearTaskQueue(D,Y){if(this._taskMessageQueue){let X=await this._taskMessageQueue.dequeueAll(D,Y);for(let Q of X)if(Q.type==="request"&&Yz(Q.message)){let J=Q.message.id,W=this._requestResolvers.get(J);if(W)W(new q0(w0.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(J);else this._onerror(Error(`Resolver missing for request ${J} during task ${D} cleanup`))}}}async _waitForTaskUpdate(D,Y){let X=this._options?.defaultTaskPollInterval??1000;try{let Q=await this._taskStore?.getTask(D);if(Q?.pollInterval)X=Q.pollInterval}catch{}return new Promise((Q,J)=>{if(Y.aborted){J(new q0(w0.InvalidRequest,"Request cancelled"));return}let W=setTimeout(Q,X);Y.addEventListener("abort",()=>{clearTimeout(W),J(new q0(w0.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(D,Y){let X=this._taskStore;if(!X)throw Error("No task store configured");return{createTask:async(Q)=>{if(!D)throw Error("No request provided");return await X.createTask(Q,D.id,{method:D.method,params:D.params},Y)},getTask:async(Q)=>{let J=await X.getTask(Q,Y);if(!J)throw new q0(w0.InvalidParams,"Failed to retrieve task: Task not found");return J},storeTaskResult:async(Q,J,W)=>{await X.storeTaskResult(Q,J,W,Y);let $=await X.getTask(Q,Y);if($){let G=cY.parse({method:"notifications/tasks/status",params:$});if(await this.notification(G),MD($.status))this._cleanupTaskProgressHandler(Q)}},getTaskResult:(Q)=>{return X.getTaskResult(Q,Y)},updateTaskStatus:async(Q,J,W)=>{let $=await X.getTask(Q,Y);if(!$)throw new q0(w0.InvalidParams,`Task "${Q}" not found - it may have been cleaned up`);if(MD($.status))throw new q0(w0.InvalidParams,`Cannot update task "${Q}" from terminal status "${$.status}" to "${J}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await X.updateTaskStatus(Q,J,W,Y);let G=await X.getTask(Q,Y);if(G){let B=cY.parse({method:"notifications/tasks/status",params:G});if(await this.notification(B),MD(G.status))this._cleanupTaskProgressHandler(Q)}},listTasks:(Q)=>{return X.listTasks(Q,Y)}}}}function Jb(D){return D!==null&&typeof D==="object"&&!Array.isArray(D)}function Wb(D,Y){let X={...D};for(let Q in Y){let J=Q,W=Y[J];if(W===void 0)continue;let $=X[J];if(Jb($)&&Jb(W))X[J]={...$,...W};else X[J]=W}return X}var yf=y1(MU(),1),ff=y1(vf(),1);function Fq0(){let D=new yf.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return ff.default(D),D}class PU{constructor(D){this._ajv=D??Fq0()}getValidator(D){let Y="$id"in D&&typeof D.$id==="string"?this._ajv.getSchema(D.$id)??this._ajv.compile(D):this._ajv.compile(D);return(X)=>{if(Y(X))return{valid:!0,data:X,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(Y.errors)}}}}class IU{constructor(D){this._server=D}requestStream(D,Y,X){return this._server.requestStream(D,Y,X)}async getTask(D,Y){return this._server.getTask({taskId:D},Y)}async getTaskResult(D,Y,X){return this._server.getTaskResult({taskId:D},Y,X)}async listTasks(D,Y){return this._server.listTasks(D?{cursor:D}:void 0,Y)}async cancelTask(D,Y){return this._server.cancelTask({taskId:D},Y)}}function hf(D,Y,X){if(!D)throw Error(`${X} does not support task creation (required for ${Y})`);switch(Y){case"tools/call":if(!D.tools?.call)throw Error(`${X} does not support task creation for tools/call (required for ${Y})`);break;default:break}}function gf(D,Y,X){if(!D)throw Error(`${X} does not support task creation (required for ${Y})`);switch(Y){case"sampling/createMessage":if(!D.sampling?.createMessage)throw Error(`${X} does not support task creation for sampling/createMessage (required for ${Y})`);break;case"elicitation/create":if(!D.elicitation?.create)throw Error(`${X} does not support task creation for elicitation/create (required for ${Y})`);break;default:break}}class CU extends Rz{constructor(D,Y){super(Y);if(this._serverInfo=D,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(dY.options.map((X,Q)=>[X,Q])),this.isMessageIgnored=(X,Q)=>{let J=this._loggingLevels.get(Q);return J?this.LOG_LEVEL_SEVERITY.get(X)<this.LOG_LEVEL_SEVERITY.get(J):!1},this._capabilities=Y?.capabilities??{},this._instructions=Y?.instructions,this._jsonSchemaValidator=Y?.jsonSchemaValidator??new PU,this.setRequestHandler(Jz,(X)=>this._oninitialize(X)),this.setNotificationHandler(Wz,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(Kz,async(X,Q)=>{let J=Q.sessionId||Q.requestInfo?.headers["mcp-session-id"]||void 0,{level:W}=X.params,$=dY.safeParse(W);if($.success)this._loggingLevels.set(J,$.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new IU(this)};return this._experimental}registerCapabilities(D){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=Wb(this._capabilities,D)}setRequestHandler(D,Y){let Q=VD(D)?.method;if(!Q)throw Error("Schema is missing a method literal");let J;if(M6(Q)){let $=Q;J=$._zod?.def?.value??$.value}else{let $=Q;J=$._def?.value??$.value}if(typeof J!=="string")throw Error("Schema method literal must be a string");if(J==="tools/call"){let $=async(G,B)=>{let H=wD(A7,G);if(!H.success){let z=H.error instanceof Error?H.error.message:String(H.error);throw new q0(w0.InvalidParams,`Invalid tools/call request: ${z}`)}let{params:F}=H.data,K=await Promise.resolve(Y(G,B));if(F.task){let z=wD(N7,K);if(!z.success){let w=z.error instanceof Error?z.error.message:String(z.error);throw new q0(w0.InvalidParams,`Invalid task creation result: ${w}`)}return z.data}let U=wD(lW,K);if(!U.success){let z=U.error instanceof Error?U.error.message:String(U.error);throw new q0(w0.InvalidParams,`Invalid tools/call result: ${z}`)}return U.data};return super.setRequestHandler(D,$)}return super.setRequestHandler(D,Y)}assertCapabilityForMethod(D){switch(D){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${D})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${D})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${D})`);break;case"ping":break}}assertNotificationCapability(D){switch(D){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${D})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${D})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${D})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${D})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${D})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(D){if(!this._capabilities)return;switch(D){case"completion/complete":if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${D})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${D})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${D})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${D})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${D})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${D})`);break;case"ping":case"initialize":break}}assertTaskCapability(D){gf(this._clientCapabilities?.tasks?.requests,D,"Client")}assertTaskHandlerCapability(D){if(!this._capabilities)return;hf(this._capabilities.tasks?.requests,D,"Server")}async _oninitialize(D){let Y=D.params.protocolVersion;return this._clientCapabilities=D.params.capabilities,this._clientVersion=D.params.clientInfo,{protocolVersion:G_.includes(Y)?Y:eK,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},SW)}async createMessage(D,Y){if(D.tools||D.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(D.messages.length>0){let X=D.messages[D.messages.length-1],Q=Array.isArray(X.content)?X.content:[X.content],J=Q.some((B)=>B.type==="tool_result"),W=D.messages.length>1?D.messages[D.messages.length-2]:void 0,$=W?Array.isArray(W.content)?W.content:[W.content]:[],G=$.some((B)=>B.type==="tool_use");if(J){if(Q.some((B)=>B.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!G)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(G){let B=new Set($.filter((F)=>F.type==="tool_use").map((F)=>F.id)),H=new Set(Q.filter((F)=>F.type==="tool_result").map((F)=>F.toolUseId));if(B.size!==H.size||![...B].every((F)=>H.has(F)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}if(D.tools)return this.request({method:"sampling/createMessage",params:D},Uz,Y);return this.request({method:"sampling/createMessage",params:D},zz,Y)}async elicitInput(D,Y){switch(D.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let Q=D;return this.request({method:"elicitation/create",params:Q},dW,Y)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let Q=D.mode==="form"?D:{...D,mode:"form"},J=await this.request({method:"elicitation/create",params:Q},dW,Y);if(J.action==="accept"&&J.content&&Q.requestedSchema)try{let $=this._jsonSchemaValidator.getValidator(Q.requestedSchema)(J.content);if(!$.valid)throw new q0(w0.InvalidParams,`Elicitation response content does not match requested schema: ${$.errorMessage}`)}catch(W){if(W instanceof q0)throw W;throw new q0(w0.InternalError,`Error validating elicitation response: ${W instanceof Error?W.message:String(W)}`)}return J}}}createElicitationCompletionNotifier(D,Y){if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:D}},Y)}async listRoots(D,Y){return this.request({method:"roots/list",params:D},wz,Y)}async sendLoggingMessage(D,Y){if(this._capabilities.logging){if(!this.isMessageIgnored(D.level,Y))return this.notification({method:"notifications/message",params:D})}}async sendResourceUpdated(D){return this.notification({method:"notifications/resources/updated",params:D})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}var mf=Symbol.for("mcp.completable");function xU(D){return!!D&&typeof D==="object"&&mf in D}function cf(D){return D[mf]?.complete}var uf;(function(D){D.Completable="McpCompletable"})(uf||(uf={}));var qq0=/^[A-Za-z0-9._-]{1,128}$/;function Kq0(D){let Y=[];if(D.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(D.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${D.length})`]};if(D.includes(" "))Y.push("Tool name contains spaces, which may cause parsing issues");if(D.includes(","))Y.push("Tool name contains commas, which may cause parsing issues");if(D.startsWith("-")||D.endsWith("-"))Y.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if(D.startsWith(".")||D.endsWith("."))Y.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!qq0.test(D)){let X=D.split("").filter((Q)=>!/[A-Za-z0-9._-]/.test(Q)).filter((Q,J,W)=>W.indexOf(Q)===J);return Y.push(`Tool name contains invalid characters: ${X.map((Q)=>`"${Q}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:Y}}return{isValid:!0,warnings:Y}}function zq0(D,Y){if(Y.length>0){console.warn(`Tool name validation warning for "${D}":`);for(let X of Y)console.warn(` - ${X}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function _U(D){let Y=Kq0(D);return zq0(D,Y.warnings),Y.isValid}class bU{constructor(D){this._mcpServer=D}registerToolTask(D,Y,X){let Q={taskSupport:"required",...Y.execution};if(Q.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${D}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(D,Y.title,Y.description,Y.inputSchema,Y.outputSchema,Y.annotations,Q,Y._meta,X)}}class vU{constructor(D,Y){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new CU(D,Y)}get experimental(){if(!this._experimental)this._experimental={tasks:new bU(this)};return this._experimental}async connect(D){return await this.server.connect(D)}async close(){await this.server.close()}setToolRequestHandlers(){if(this._toolHandlersInitialized)return;this.server.assertCanSetRequestHandler(TD(cW)),this.server.assertCanSetRequestHandler(TD(A7)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(cW,()=>({tools:Object.entries(this._registeredTools).filter(([,D])=>D.enabled).map(([D,Y])=>{let X={name:D,title:Y.title,description:Y.description,inputSchema:(()=>{let Q=M7(Y.inputSchema);return Q?Zz(Q,{strictUnions:!0,pipeStrategy:"input"}):Uq0})(),annotations:Y.annotations,execution:Y.execution,_meta:Y._meta};if(Y.outputSchema){let Q=M7(Y.outputSchema);if(Q)X.outputSchema=Zz(Q,{strictUnions:!0,pipeStrategy:"output"})}return X})})),this.server.setRequestHandler(A7,async(D,Y)=>{try{let X=this._registeredTools[D.params.name];if(!X)throw new q0(w0.InvalidParams,`Tool ${D.params.name} not found`);if(!X.enabled)throw new q0(w0.InvalidParams,`Tool ${D.params.name} disabled`);let Q=!!D.params.task,J=X.execution?.taskSupport,W="createTask"in X.handler;if((J==="required"||J==="optional")&&!W)throw new q0(w0.InternalError,`Tool ${D.params.name} has taskSupport '${J}' but was not registered with registerToolTask`);if(J==="required"&&!Q)throw new q0(w0.MethodNotFound,`Tool ${D.params.name} requires task augmentation (taskSupport: 'required')`);if(J==="optional"&&!Q&&W)return await this.handleAutomaticTaskPolling(X,D,Y);let $=await this.validateToolInput(X,D.params.arguments,D.params.name),G=await this.executeToolHandler(X,$,Y);if(Q)return G;return await this.validateToolOutput(X,G,D.params.name),G}catch(X){if(X instanceof q0){if(X.code===w0.UrlElicitationRequired)throw X}return this.createToolError(X instanceof Error?X.message:String(X))}}),this._toolHandlersInitialized=!0}createToolError(D){return{content:[{type:"text",text:D}],isError:!0}}async validateToolInput(D,Y,X){if(!D.inputSchema)return;let J=M7(D.inputSchema)??D.inputSchema,W=await OW(J,Y);if(!W.success){let $="error"in W?W.error:"Unknown error",G=NW($);throw new q0(w0.InvalidParams,`Input validation error: Invalid arguments for tool ${X}: ${G}`)}return W.data}async validateToolOutput(D,Y,X){if(!D.outputSchema)return;if(!("content"in Y))return;if(Y.isError)return;if(!Y.structuredContent)throw new q0(w0.InvalidParams,`Output validation error: Tool ${X} has an output schema but no structured content was provided`);let Q=M7(D.outputSchema),J=await OW(Q,Y.structuredContent);if(!J.success){let W="error"in J?J.error:"Unknown error",$=NW(W);throw new q0(w0.InvalidParams,`Output validation error: Invalid structured content for tool ${X}: ${$}`)}}async executeToolHandler(D,Y,X){let Q=D.handler;if("createTask"in Q){if(!X.taskStore)throw Error("No task store provided.");let W={...X,taskStore:X.taskStore};if(D.inputSchema)return await Promise.resolve(Q.createTask(Y,W));else return await Promise.resolve(Q.createTask(W))}if(D.inputSchema)return await Promise.resolve(Q(Y,X));else return await Promise.resolve(Q(X))}async handleAutomaticTaskPolling(D,Y,X){if(!X.taskStore)throw Error("No task store provided for task-capable tool.");let Q=await this.validateToolInput(D,Y.params.arguments,Y.params.name),J=D.handler,W={...X,taskStore:X.taskStore},$=Q?await Promise.resolve(J.createTask(Q,W)):await Promise.resolve(J.createTask(W)),G=$.task.taskId,B=$.task,H=B.pollInterval??5000;while(B.status!=="completed"&&B.status!=="failed"&&B.status!=="cancelled"){await new Promise((K)=>setTimeout(K,H));let F=await X.taskStore.getTask(G);if(!F)throw new q0(w0.InternalError,`Task ${G} not found during polling`);B=F}return await X.taskStore.getTaskResult(G)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(TD(pW)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(pW,async(D)=>{switch(D.params.ref.type){case"ref/prompt":return E_(D),this.handlePromptCompletion(D,D.params.ref);case"ref/resource":return R_(D),this.handleResourceCompletion(D,D.params.ref);default:throw new q0(w0.InvalidParams,`Invalid completion reference: ${D.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion(D,Y){let X=this._registeredPrompts[Y.name];if(!X)throw new q0(w0.InvalidParams,`Prompt ${Y.name} not found`);if(!X.enabled)throw new q0(w0.InvalidParams,`Prompt ${Y.name} disabled`);if(!X.argsSchema)return wX;let J=VD(X.argsSchema)?.[D.params.argument.name];if(!xU(J))return wX;let W=cf(J);if(!W)return wX;let $=await W(D.params.argument.value,D.params.context);return df($)}async handleResourceCompletion(D,Y){let X=Object.values(this._registeredResourceTemplates).find((W)=>W.resourceTemplate.uriTemplate.toString()===Y.uri);if(!X){if(this._registeredResources[Y.uri])return wX;throw new q0(w0.InvalidParams,`Resource template ${D.params.ref.uri} not found`)}let Q=X.resourceTemplate.completeCallback(D.params.argument.name);if(!Q)return wX;let J=await Q(D.params.argument.value,D.params.context);return df(J)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(TD(fW)),this.server.assertCanSetRequestHandler(TD(hW)),this.server.assertCanSetRequestHandler(TD(gW)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(fW,async(D,Y)=>{let X=Object.entries(this._registeredResources).filter(([J,W])=>W.enabled).map(([J,W])=>({uri:J,name:W.name,...W.metadata})),Q=[];for(let J of Object.values(this._registeredResourceTemplates)){if(!J.resourceTemplate.listCallback)continue;let W=await J.resourceTemplate.listCallback(Y);for(let $ of W.resources)Q.push({...J.metadata,...$})}return{resources:[...X,...Q]}}),this.server.setRequestHandler(hW,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([Y,X])=>({name:Y,uriTemplate:X.resourceTemplate.uriTemplate.toString(),...X.metadata}))}}),this.server.setRequestHandler(gW,async(D,Y)=>{let X=new URL(D.params.uri),Q=this._registeredResources[X.toString()];if(Q){if(!Q.enabled)throw new q0(w0.InvalidParams,`Resource ${X} disabled`);return Q.readCallback(X,Y)}for(let J of Object.values(this._registeredResourceTemplates)){let W=J.resourceTemplate.uriTemplate.match(X.toString());if(W)return J.readCallback(X,W,Y)}throw new q0(w0.InvalidParams,`Resource ${X} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(TD(uW)),this.server.assertCanSetRequestHandler(TD(mW)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(uW,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,D])=>D.enabled).map(([D,Y])=>{return{name:D,title:Y.title,description:Y.description,arguments:Y.argsSchema?Vq0(Y.argsSchema):void 0}})})),this.server.setRequestHandler(mW,async(D,Y)=>{let X=this._registeredPrompts[D.params.name];if(!X)throw new q0(w0.InvalidParams,`Prompt ${D.params.name} not found`);if(!X.enabled)throw new q0(w0.InvalidParams,`Prompt ${D.params.name} disabled`);if(X.argsSchema){let Q=M7(X.argsSchema),J=await OW(Q,D.params.arguments);if(!J.success){let G="error"in J?J.error:"Unknown error",B=NW(G);throw new q0(w0.InvalidParams,`Invalid arguments for prompt ${D.params.name}: ${B}`)}let W=J.data,$=X.callback;return await Promise.resolve($(W,Y))}else{let Q=X.callback;return await Promise.resolve(Q(Y))}}),this._promptHandlersInitialized=!0}resource(D,Y,...X){let Q;if(typeof X[0]==="object")Q=X.shift();let J=X[0];if(typeof Y==="string"){if(this._registeredResources[Y])throw Error(`Resource ${Y} is already registered`);let W=this._createRegisteredResource(D,void 0,Y,Q,J);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),W}else{if(this._registeredResourceTemplates[D])throw Error(`Resource template ${D} is already registered`);let W=this._createRegisteredResourceTemplate(D,void 0,Y,Q,J);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),W}}registerResource(D,Y,X,Q){if(typeof Y==="string"){if(this._registeredResources[Y])throw Error(`Resource ${Y} is already registered`);let J=this._createRegisteredResource(D,X.title,Y,X,Q);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}else{if(this._registeredResourceTemplates[D])throw Error(`Resource template ${D} is already registered`);let J=this._createRegisteredResourceTemplate(D,X.title,Y,X,Q);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}}_createRegisteredResource(D,Y,X,Q,J){let W={name:D,title:Y,metadata:Q,readCallback:J,enabled:!0,disable:()=>W.update({enabled:!1}),enable:()=>W.update({enabled:!0}),remove:()=>W.update({uri:null}),update:($)=>{if(typeof $.uri<"u"&&$.uri!==X){if(delete this._registeredResources[X],$.uri)this._registeredResources[$.uri]=W}if(typeof $.name<"u")W.name=$.name;if(typeof $.title<"u")W.title=$.title;if(typeof $.metadata<"u")W.metadata=$.metadata;if(typeof $.callback<"u")W.readCallback=$.callback;if(typeof $.enabled<"u")W.enabled=$.enabled;this.sendResourceListChanged()}};return this._registeredResources[X]=W,W}_createRegisteredResourceTemplate(D,Y,X,Q,J){let W={resourceTemplate:X,title:Y,metadata:Q,readCallback:J,enabled:!0,disable:()=>W.update({enabled:!1}),enable:()=>W.update({enabled:!0}),remove:()=>W.update({name:null}),update:(B)=>{if(typeof B.name<"u"&&B.name!==D){if(delete this._registeredResourceTemplates[D],B.name)this._registeredResourceTemplates[B.name]=W}if(typeof B.title<"u")W.title=B.title;if(typeof B.template<"u")W.resourceTemplate=B.template;if(typeof B.metadata<"u")W.metadata=B.metadata;if(typeof B.callback<"u")W.readCallback=B.callback;if(typeof B.enabled<"u")W.enabled=B.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[D]=W;let $=X.uriTemplate.variableNames;if(Array.isArray($)&&$.some((B)=>!!X.completeCallback(B)))this.setCompletionRequestHandler();return W}_createRegisteredPrompt(D,Y,X,Q,J){let W={title:Y,description:X,argsSchema:Q===void 0?void 0:R5(Q),callback:J,enabled:!0,disable:()=>W.update({enabled:!1}),enable:()=>W.update({enabled:!0}),remove:()=>W.update({name:null}),update:($)=>{if(typeof $.name<"u"&&$.name!==D){if(delete this._registeredPrompts[D],$.name)this._registeredPrompts[$.name]=W}if(typeof $.title<"u")W.title=$.title;if(typeof $.description<"u")W.description=$.description;if(typeof $.argsSchema<"u")W.argsSchema=R5($.argsSchema);if(typeof $.callback<"u")W.callback=$.callback;if(typeof $.enabled<"u")W.enabled=$.enabled;this.sendPromptListChanged()}};if(this._registeredPrompts[D]=W,Q){if(Object.values(Q).some((G)=>{let B=G instanceof G6?G._def?.innerType:G;return xU(B)}))this.setCompletionRequestHandler()}return W}_createRegisteredTool(D,Y,X,Q,J,W,$,G,B){_U(D);let H={title:Y,description:X,inputSchema:lf(Q),outputSchema:lf(J),annotations:W,execution:$,_meta:G,handler:B,enabled:!0,disable:()=>H.update({enabled:!1}),enable:()=>H.update({enabled:!0}),remove:()=>H.update({name:null}),update:(F)=>{if(typeof F.name<"u"&&F.name!==D){if(typeof F.name==="string")_U(F.name);if(delete this._registeredTools[D],F.name)this._registeredTools[F.name]=H}if(typeof F.title<"u")H.title=F.title;if(typeof F.description<"u")H.description=F.description;if(typeof F.paramsSchema<"u")H.inputSchema=R5(F.paramsSchema);if(typeof F.outputSchema<"u")H.outputSchema=R5(F.outputSchema);if(typeof F.callback<"u")H.handler=F.callback;if(typeof F.annotations<"u")H.annotations=F.annotations;if(typeof F._meta<"u")H._meta=F._meta;if(typeof F.enabled<"u")H.enabled=F.enabled;this.sendToolListChanged()}};return this._registeredTools[D]=H,this.setToolRequestHandlers(),this.sendToolListChanged(),H}tool(D,...Y){if(this._registeredTools[D])throw Error(`Tool ${D} is already registered`);let X,Q,J,W;if(typeof Y[0]==="string")X=Y.shift();if(Y.length>1){let G=Y[0];if(kU(G)){if(Q=Y.shift(),Y.length>1&&typeof Y[0]==="object"&&Y[0]!==null&&!kU(Y[0]))W=Y.shift()}else if(typeof G==="object"&&G!==null)W=Y.shift()}let $=Y[0];return this._createRegisteredTool(D,void 0,X,Q,J,W,{taskSupport:"forbidden"},void 0,$)}registerTool(D,Y,X){if(this._registeredTools[D])throw Error(`Tool ${D} is already registered`);let{title:Q,description:J,inputSchema:W,outputSchema:$,annotations:G,_meta:B}=Y;return this._createRegisteredTool(D,Q,J,W,$,G,{taskSupport:"forbidden"},B,X)}prompt(D,...Y){if(this._registeredPrompts[D])throw Error(`Prompt ${D} is already registered`);let X;if(typeof Y[0]==="string")X=Y.shift();let Q;if(Y.length>1)Q=Y.shift();let J=Y[0],W=this._createRegisteredPrompt(D,void 0,X,Q,J);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),W}registerPrompt(D,Y,X){if(this._registeredPrompts[D])throw Error(`Prompt ${D} is already registered`);let{title:Q,description:J,argsSchema:W}=Y,$=this._createRegisteredPrompt(D,Q,J,W,X);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),$}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(D,Y){return this.server.sendLoggingMessage(D,Y)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var Uq0={type:"object",properties:{}};function pf(D){return D!==null&&typeof D==="object"&&"parse"in D&&typeof D.parse==="function"&&"safeParse"in D&&typeof D.safeParse==="function"}function wq0(D){return"_def"in D||"_zod"in D||pf(D)}function kU(D){if(typeof D!=="object"||D===null)return!1;if(wq0(D))return!1;if(Object.keys(D).length===0)return!0;return Object.values(D).some(pf)}function lf(D){if(!D)return;if(kU(D))return R5(D);return D}function Vq0(D){let Y=VD(D);if(!Y)return[];return Object.entries(Y).map(([X,Q])=>{let J=hx(Q),W=gx(Q);return{name:X,description:J,required:!W}})}function TD(D){let X=VD(D)?.method;if(!X)throw Error("Schema is missing a method literal");let Q=ZW(X);if(typeof Q==="string")return Q;throw Error("Schema method literal must be a string")}function df(D){return{completion:{values:D.slice(0,100),total:D.length,hasMore:D.length>100}}}var wX={completion:{values:[],hasMore:!1}};import rf from"node:process";class yU{append(D){this._buffer=this._buffer?Buffer.concat([this._buffer,D]):D}readMessage(){if(!this._buffer)return null;let D=this._buffer.indexOf(`
|
|
436
|
+
]`;continue}if(J+=Q[B],Q[B]==="\\")W=!0;else if($&&Q[B]==="]")$=!1;else if(!$&&Q[B]==="[")$=!0}try{new RegExp(J)}catch{return console.warn(`Could not convert regex pattern at ${Y.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),D.source}return J}function aW(D,Y){if(Y.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(Y.target==="openApi3"&&D.keyType?._def.typeName===i.ZodEnum)return{type:"object",required:D.keyType._def.values,properties:D.keyType._def.values.reduce((Q,J)=>({...Q,[J]:N0(D.valueType._def,{...Y,currentPath:[...Y.currentPath,"properties",J]})??Z1(Y)}),{}),additionalProperties:Y.rejectedAdditionalProperties};let X={type:"object",additionalProperties:N0(D.valueType._def,{...Y,currentPath:[...Y.currentPath,"additionalProperties"]})??Y.allowedAdditionalProperties};if(Y.target==="openApi3")return X;if(D.keyType?._def.typeName===i.ZodString&&D.keyType._def.checks?.length){let{type:Q,...J}=rW(D.keyType._def,Y);return{...X,propertyNames:J}}else if(D.keyType?._def.typeName===i.ZodEnum)return{...X,propertyNames:{enum:D.keyType._def.values}};else if(D.keyType?._def.typeName===i.ZodBranded&&D.keyType._def.type._def.typeName===i.ZodString&&D.keyType._def.type._def.checks?.length){let{type:Q,...J}=iW(D.keyType._def,Y);return{...X,propertyNames:J}}return X}function u_(D,Y){if(Y.mapStrategy==="record")return aW(D,Y);let X=N0(D.keyType._def,{...Y,currentPath:[...Y.currentPath,"items","items","0"]})||Z1(Y),Q=N0(D.valueType._def,{...Y,currentPath:[...Y.currentPath,"items","items","1"]})||Z1(Y);return{type:"array",maxItems:125,items:{type:"array",items:[X,Q],minItems:2,maxItems:2}}}function m_(D){let Y=D.values,Q=Object.keys(D.values).filter((W)=>{return typeof Y[Y[W]]!=="number"}).map((W)=>Y[W]),J=Array.from(new Set(Q.map((W)=>typeof W)));return{type:J.length===1?J[0]==="string"?"string":"number":["string","number"],enum:Q}}function c_(D){return D.target==="openAi"?void 0:{not:Z1({...D,currentPath:[...D.currentPath,"not"]})}}function l_(D){return D.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var pY={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function p_(D,Y){if(Y.target==="openApi3")return d_(D,Y);let X=D.options instanceof Map?Array.from(D.options.values()):D.options;if(X.every((Q)=>(Q._def.typeName in pY)&&(!Q._def.checks||!Q._def.checks.length))){let Q=X.reduce((J,W)=>{let $=pY[W._def.typeName];return $&&!J.includes($)?[...J,$]:J},[]);return{type:Q.length>1?Q:Q[0]}}else if(X.every((Q)=>Q._def.typeName==="ZodLiteral"&&!Q.description)){let Q=X.reduce((J,W)=>{let $=typeof W._def.value;switch($){case"string":case"number":case"boolean":return[...J,$];case"bigint":return[...J,"integer"];case"object":if(W._def.value===null)return[...J,"null"];case"symbol":case"undefined":case"function":default:return J}},[]);if(Q.length===X.length){let J=Q.filter((W,$,G)=>G.indexOf(W)===$);return{type:J.length>1?J:J[0],enum:X.reduce((W,$)=>{return W.includes($._def.value)?W:[...W,$._def.value]},[])}}}else if(X.every((Q)=>Q._def.typeName==="ZodEnum"))return{type:"string",enum:X.reduce((Q,J)=>[...Q,...J._def.values.filter((W)=>!Q.includes(W))],[])};return d_(D,Y)}var d_=(D,Y)=>{let X=(D.options instanceof Map?Array.from(D.options.values()):D.options).map((Q,J)=>N0(Q._def,{...Y,currentPath:[...Y.currentPath,"anyOf",`${J}`]})).filter((Q)=>!!Q&&(!Y.strictUnions||typeof Q==="object"&&Object.keys(Q).length>0));return X.length?{anyOf:X}:void 0};function n_(D,Y){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(D.innerType._def.typeName)&&(!D.innerType._def.checks||!D.innerType._def.checks.length)){if(Y.target==="openApi3")return{type:pY[D.innerType._def.typeName],nullable:!0};return{type:[pY[D.innerType._def.typeName],"null"]}}if(Y.target==="openApi3"){let Q=N0(D.innerType._def,{...Y,currentPath:[...Y.currentPath]});if(Q&&"$ref"in Q)return{allOf:[Q],nullable:!0};return Q&&{...Q,nullable:!0}}let X=N0(D.innerType._def,{...Y,currentPath:[...Y.currentPath,"anyOf","0"]});return X&&{anyOf:[X,{type:"null"}]}}function i_(D,Y){let X={type:"number"};if(!D.checks)return X;for(let Q of D.checks)switch(Q.kind){case"int":X.type="integer",Vz(X,"type",Q.message,Y);break;case"min":if(Y.target==="jsonSchema7")if(Q.inclusive)m0(X,"minimum",Q.value,Q.message,Y);else m0(X,"exclusiveMinimum",Q.value,Q.message,Y);else{if(!Q.inclusive)X.exclusiveMinimum=!0;m0(X,"minimum",Q.value,Q.message,Y)}break;case"max":if(Y.target==="jsonSchema7")if(Q.inclusive)m0(X,"maximum",Q.value,Q.message,Y);else m0(X,"exclusiveMaximum",Q.value,Q.message,Y);else{if(!Q.inclusive)X.exclusiveMaximum=!0;m0(X,"maximum",Q.value,Q.message,Y)}break;case"multipleOf":m0(X,"multipleOf",Q.value,Q.message,Y);break}return X}function r_(D,Y){let X=Y.target==="openAi",Q={type:"object",properties:{}},J=[],W=D.shape();for(let G in W){let B=W[G];if(B===void 0||B._def===void 0)continue;let H=sQ0(B);if(H&&X){if(B._def.typeName==="ZodOptional")B=B._def.innerType;if(!B.isNullable())B=B.nullable();H=!1}let F=N0(B._def,{...Y,currentPath:[...Y.currentPath,"properties",G],propertyPath:[...Y.currentPath,"properties",G]});if(F===void 0)continue;if(Q.properties[G]=F,!H)J.push(G)}if(J.length)Q.required=J;let $=oQ0(D,Y);if($!==void 0)Q.additionalProperties=$;return Q}function oQ0(D,Y){if(D.catchall._def.typeName!=="ZodNever")return N0(D.catchall._def,{...Y,currentPath:[...Y.currentPath,"additionalProperties"]});switch(D.unknownKeys){case"passthrough":return Y.allowedAdditionalProperties;case"strict":return Y.rejectedAdditionalProperties;case"strip":return Y.removeAdditionalStrategy==="strict"?Y.allowedAdditionalProperties:Y.rejectedAdditionalProperties}}function sQ0(D){try{return D.isOptional()}catch{return!0}}var a_=(D,Y)=>{if(Y.currentPath.toString()===Y.propertyPath?.toString())return N0(D.innerType._def,Y);let X=N0(D.innerType._def,{...Y,currentPath:[...Y.currentPath,"anyOf","1"]});return X?{anyOf:[{not:Z1(Y)},X]}:Z1(Y)};var o_=(D,Y)=>{if(Y.pipeStrategy==="input")return N0(D.in._def,Y);else if(Y.pipeStrategy==="output")return N0(D.out._def,Y);let X=N0(D.in._def,{...Y,currentPath:[...Y.currentPath,"allOf","0"]}),Q=N0(D.out._def,{...Y,currentPath:[...Y.currentPath,"allOf",X?"1":"0"]});return{allOf:[X,Q].filter((J)=>J!==void 0)}};function s_(D,Y){return N0(D.type._def,Y)}function t_(D,Y){let Q={type:"array",uniqueItems:!0,items:N0(D.valueType._def,{...Y,currentPath:[...Y.currentPath,"items"]})};if(D.minSize)m0(Q,"minItems",D.minSize.value,D.minSize.message,Y);if(D.maxSize)m0(Q,"maxItems",D.maxSize.value,D.maxSize.message,Y);return Q}function e_(D,Y){if(D.rest)return{type:"array",minItems:D.items.length,items:D.items.map((X,Q)=>N0(X._def,{...Y,currentPath:[...Y.currentPath,"items",`${Q}`]})).reduce((X,Q)=>Q===void 0?X:[...X,Q],[]),additionalItems:N0(D.rest._def,{...Y,currentPath:[...Y.currentPath,"additionalItems"]})};else return{type:"array",minItems:D.items.length,maxItems:D.items.length,items:D.items.map((X,Q)=>N0(X._def,{...Y,currentPath:[...Y.currentPath,"items",`${Q}`]})).reduce((X,Q)=>Q===void 0?X:[...X,Q],[])}}function Db(D){return{not:Z1(D)}}function Yb(D){return Z1(D)}var Xb=(D,Y)=>{return N0(D.innerType._def,Y)};var Qb=(D,Y,X)=>{switch(Y){case i.ZodString:return rW(D,X);case i.ZodNumber:return i_(D,X);case i.ZodObject:return r_(D,X);case i.ZodBigInt:return x_(D,X);case i.ZodBoolean:return __();case i.ZodDate:return Lz(D,X);case i.ZodUndefined:return Db(X);case i.ZodNull:return l_(X);case i.ZodArray:return C_(D,X);case i.ZodUnion:case i.ZodDiscriminatedUnion:return p_(D,X);case i.ZodIntersection:return f_(D,X);case i.ZodTuple:return e_(D,X);case i.ZodRecord:return aW(D,X);case i.ZodLiteral:return h_(D,X);case i.ZodEnum:return y_(D);case i.ZodNativeEnum:return m_(D);case i.ZodNullable:return n_(D,X);case i.ZodOptional:return a_(D,X);case i.ZodMap:return u_(D,X);case i.ZodSet:return t_(D,X);case i.ZodLazy:return()=>D.getter()._def;case i.ZodPromise:return s_(D,X);case i.ZodNaN:case i.ZodNever:return c_(X);case i.ZodEffects:return v_(D,X);case i.ZodAny:return Z1(X);case i.ZodUnknown:return Yb(X);case i.ZodDefault:return k_(D,X);case i.ZodBranded:return iW(D,X);case i.ZodReadonly:return Xb(D,X);case i.ZodCatch:return b_(D,X);case i.ZodPipeline:return o_(D,X);case i.ZodFunction:case i.ZodVoid:case i.ZodSymbol:return;default:return((Q)=>{return})(Y)}};function N0(D,Y,X=!1){let Q=Y.seen.get(D);if(Y.override){let G=Y.override?.(D,Y,Q,X);if(G!==S_)return G}if(Q&&!X){let G=tQ0(Q,Y);if(G!==void 0)return G}let J={def:D,path:Y.currentPath,jsonSchema:void 0};Y.seen.set(D,J);let W=Qb(D,D.typeName,Y),$=typeof W==="function"?N0(W(),Y):W;if($)eQ0(D,Y,$);if(Y.postProcess){let G=Y.postProcess($,D,Y);return J.jsonSchema=$,G}return J.jsonSchema=$,$}var tQ0=(D,Y)=>{switch(Y.$refStrategy){case"root":return{$ref:D.path.join("/")};case"relative":return{$ref:nW(Y.currentPath,D.path)};case"none":case"seen":{if(D.path.length<Y.currentPath.length&&D.path.every((X,Q)=>Y.currentPath[Q]===X))return console.warn(`Recursive reference detected at ${Y.currentPath.join("/")}! Defaulting to any`),Z1(Y);return Y.$refStrategy==="seen"?Z1(Y):void 0}}},eQ0=(D,Y,X)=>{if(D.description){if(X.description=D.description,Y.markdownDescription)X.markdownDescription=D.description}return X};var Nz=(D,Y)=>{let X=I_(Y),Q=typeof Y==="object"&&Y.definitions?Object.entries(Y.definitions).reduce((B,[H,F])=>({...B,[H]:N0(F._def,{...X,currentPath:[...X.basePath,X.definitionPath,H]},!0)??Z1(X)}),{}):void 0,J=typeof Y==="string"?Y:Y?.nameStrategy==="title"?void 0:Y?.name,W=N0(D._def,J===void 0?X:{...X,currentPath:[...X.basePath,X.definitionPath,J]},!1)??Z1(X),$=typeof Y==="object"&&Y.name!==void 0&&Y.nameStrategy==="title"?Y.name:void 0;if($!==void 0)W.title=$;if(X.flags.hasReferencedOpenAiAnyType){if(!Q)Q={};if(!Q[X.openAiAnyTypeName])Q[X.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:X.$refStrategy==="relative"?"1":[...X.basePath,X.definitionPath,X.openAiAnyTypeName].join("/")}}}let G=J===void 0?Q?{...W,[X.definitionPath]:Q}:W:{$ref:[...X.$refStrategy==="relative"?[]:X.basePath,X.definitionPath,J].join("/"),[X.definitionPath]:{...Q,[J]:W}};if(X.target==="jsonSchema7")G.$schema="http://json-schema.org/draft-07/schema#";else if(X.target==="jsonSchema2019-09"||X.target==="openAi")G.$schema="https://json-schema.org/draft/2019-09/schema#";if(X.target==="openAi"&&(("anyOf"in G)||("oneOf"in G)||("allOf"in G)||("type"in G)&&Array.isArray(G.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return G};function DJ0(D){if(!D)return"draft-7";if(D==="jsonSchema7"||D==="draft-7")return"draft-7";if(D==="jsonSchema2019-09"||D==="draft-2020-12")return"draft-2020-12";return"draft-7"}function Zz(D,Y){if(M6(D))return cK(D,{target:DJ0(Y?.target),io:Y?.pipeStrategy??"input"});return Nz(D,{strictUnions:Y?.strictUnions??!0,pipeStrategy:Y?.pipeStrategy??"input"})}function Az(D){let X=VD(D)?.method;if(!X)throw Error("Schema is missing a method literal");let Q=ZW(X);if(typeof Q!=="string")throw Error("Schema method literal must be a string");return Q}function Ez(D,Y){let X=wD(D,Y);if(!X.success)throw X.error;return X.data}var YJ0=60000;class Rz{constructor(D){if(this._options=D,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this._taskProgressTokens=new Map,this._requestResolvers=new Map,this.setNotificationHandler(PW,(Y)=>{this._oncancel(Y)}),this.setNotificationHandler(CW,(Y)=>{this._onprogress(Y)}),this.setRequestHandler(IW,(Y)=>({})),this._taskStore=D?.taskStore,this._taskMessageQueue=D?.taskMessageQueue,this._taskStore)this.setRequestHandler(xW,async(Y,X)=>{let Q=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!Q)throw new q0(w0.InvalidParams,"Failed to retrieve task: Task not found");return{...Q}}),this.setRequestHandler(bW,async(Y,X)=>{let Q=async()=>{let J=Y.params.taskId;if(this._taskMessageQueue){let $;while($=await this._taskMessageQueue.dequeue(J,X.sessionId)){if($.type==="response"||$.type==="error"){let G=$.message,B=G.id,H=this._requestResolvers.get(B);if(H)if(this._requestResolvers.delete(B),$.type==="response")H(G);else{let F=G,K=new q0(F.error.code,F.error.message,F.error.data);H(K)}else{let F=$.type==="response"?"Response":"Error";this._onerror(Error(`${F} handler missing for request ${B}`))}continue}await this._transport?.send($.message,{relatedRequestId:X.requestId})}}let W=await this._taskStore.getTask(J,X.sessionId);if(!W)throw new q0(w0.InvalidParams,`Task not found: ${J}`);if(!MD(W.status))return await this._waitForTaskUpdate(J,X.signal),await Q();if(MD(W.status)){let $=await this._taskStore.getTaskResult(J,X.sessionId);return this._clearTaskQueue(J),{...$,_meta:{...$._meta,[LD]:{taskId:J}}}}return await Q()};return await Q()}),this.setRequestHandler(kW,async(Y,X)=>{try{let{tasks:Q,nextCursor:J}=await this._taskStore.listTasks(Y.params?.cursor,X.sessionId);return{tasks:Q,nextCursor:J,_meta:{}}}catch(Q){throw new q0(w0.InvalidParams,`Failed to list tasks: ${Q instanceof Error?Q.message:String(Q)}`)}}),this.setRequestHandler(yW,async(Y,X)=>{try{let Q=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!Q)throw new q0(w0.InvalidParams,`Task not found: ${Y.params.taskId}`);if(MD(Q.status))throw new q0(w0.InvalidParams,`Cannot cancel task in terminal status: ${Q.status}`);await this._taskStore.updateTaskStatus(Y.params.taskId,"cancelled","Client cancelled task execution.",X.sessionId),this._clearTaskQueue(Y.params.taskId);let J=await this._taskStore.getTask(Y.params.taskId,X.sessionId);if(!J)throw new q0(w0.InvalidParams,`Task not found after cancellation: ${Y.params.taskId}`);return{_meta:{},...J}}catch(Q){if(Q instanceof q0)throw Q;throw new q0(w0.InvalidRequest,`Failed to cancel task: ${Q instanceof Error?Q.message:String(Q)}`)}})}async _oncancel(D){if(!D.params.requestId)return;this._requestHandlerAbortControllers.get(D.params.requestId)?.abort(D.params.reason)}_setupTimeout(D,Y,X,Q,J=!1){this._timeoutInfo.set(D,{timeoutId:setTimeout(Q,Y),startTime:Date.now(),timeout:Y,maxTotalTimeout:X,resetTimeoutOnProgress:J,onTimeout:Q})}_resetTimeout(D){let Y=this._timeoutInfo.get(D);if(!Y)return!1;let X=Date.now()-Y.startTime;if(Y.maxTotalTimeout&&X>=Y.maxTotalTimeout)throw this._timeoutInfo.delete(D),q0.fromError(w0.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:Y.maxTotalTimeout,totalElapsed:X});return clearTimeout(Y.timeoutId),Y.timeoutId=setTimeout(Y.onTimeout,Y.timeout),!0}_cleanupTimeout(D){let Y=this._timeoutInfo.get(D);if(Y)clearTimeout(Y.timeoutId),this._timeoutInfo.delete(D)}async connect(D){this._transport=D;let Y=this.transport?.onclose;this._transport.onclose=()=>{Y?.(),this._onclose()};let X=this.transport?.onerror;this._transport.onerror=(J)=>{X?.(J),this._onerror(J)};let Q=this._transport?.onmessage;this._transport.onmessage=(J,W)=>{if(Q?.(J,W),fY(J)||U_(J))this._onresponse(J);else if(Yz(J))this._onrequest(J,W);else if(z_(J))this._onnotification(J);else this._onerror(Error(`Unknown message type: ${JSON.stringify(J)}`))},await this._transport.start()}_onclose(){let D=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._taskProgressTokens.clear(),this._pendingDebouncedNotifications.clear();let Y=q0.fromError(w0.ConnectionClosed,"Connection closed");this._transport=void 0,this.onclose?.();for(let X of D.values())X(Y)}_onerror(D){this.onerror?.(D)}_onnotification(D){let Y=this._notificationHandlers.get(D.method)??this.fallbackNotificationHandler;if(Y===void 0)return;Promise.resolve().then(()=>Y(D)).catch((X)=>this._onerror(Error(`Uncaught error in notification handler: ${X}`)))}_onrequest(D,Y){let X=this._requestHandlers.get(D.method)??this.fallbackRequestHandler,Q=this._transport,J=D.params?._meta?.[LD]?.taskId;if(X===void 0){let H={jsonrpc:"2.0",id:D.id,error:{code:w0.MethodNotFound,message:"Method not found"}};if(J&&this._taskMessageQueue)this._enqueueTaskMessage(J,{type:"error",message:H,timestamp:Date.now()},Q?.sessionId).catch((F)=>this._onerror(Error(`Failed to enqueue error response: ${F}`)));else Q?.send(H).catch((F)=>this._onerror(Error(`Failed to send an error response: ${F}`)));return}let W=new AbortController;this._requestHandlerAbortControllers.set(D.id,W);let $=F_(D.params)?D.params.task:void 0,G=this._taskStore?this.requestTaskStore(D,Q?.sessionId):void 0,B={signal:W.signal,sessionId:Q?.sessionId,_meta:D.params?._meta,sendNotification:async(H)=>{let F={relatedRequestId:D.id};if(J)F.relatedTask={taskId:J};await this.notification(H,F)},sendRequest:async(H,F,K)=>{let U={...K,relatedRequestId:D.id};if(J&&!U.relatedTask)U.relatedTask={taskId:J};let z=U.relatedTask?.taskId??J;if(z&&G)await G.updateTaskStatus(z,"input_required");return await this.request(H,F,U)},authInfo:Y?.authInfo,requestId:D.id,requestInfo:Y?.requestInfo,taskId:J,taskStore:G,taskRequestedTtl:$?.ttl,closeSSEStream:Y?.closeSSEStream,closeStandaloneSSEStream:Y?.closeStandaloneSSEStream};Promise.resolve().then(()=>{if($)this.assertTaskHandlerCapability(D.method)}).then(()=>X(D,B)).then(async(H)=>{if(W.signal.aborted)return;let F={result:H,jsonrpc:"2.0",id:D.id};if(J&&this._taskMessageQueue)await this._enqueueTaskMessage(J,{type:"response",message:F,timestamp:Date.now()},Q?.sessionId);else await Q?.send(F)},async(H)=>{if(W.signal.aborted)return;let F={jsonrpc:"2.0",id:D.id,error:{code:Number.isSafeInteger(H.code)?H.code:w0.InternalError,message:H.message??"Internal error",...H.data!==void 0&&{data:H.data}}};if(J&&this._taskMessageQueue)await this._enqueueTaskMessage(J,{type:"error",message:F,timestamp:Date.now()},Q?.sessionId);else await Q?.send(F)}).catch((H)=>this._onerror(Error(`Failed to send response: ${H}`))).finally(()=>{this._requestHandlerAbortControllers.delete(D.id)})}_onprogress(D){let{progressToken:Y,...X}=D.params,Q=Number(Y),J=this._progressHandlers.get(Q);if(!J){this._onerror(Error(`Received a progress notification for an unknown token: ${JSON.stringify(D)}`));return}let W=this._responseHandlers.get(Q),$=this._timeoutInfo.get(Q);if($&&W&&$.resetTimeoutOnProgress)try{this._resetTimeout(Q)}catch(G){this._responseHandlers.delete(Q),this._progressHandlers.delete(Q),this._cleanupTimeout(Q),W(G);return}J(X)}_onresponse(D){let Y=Number(D.id),X=this._requestResolvers.get(Y);if(X){if(this._requestResolvers.delete(Y),fY(D))X(D);else{let W=new q0(D.error.code,D.error.message,D.error.data);X(W)}return}let Q=this._responseHandlers.get(Y);if(Q===void 0){this._onerror(Error(`Received a response for an unknown message ID: ${JSON.stringify(D)}`));return}this._responseHandlers.delete(Y),this._cleanupTimeout(Y);let J=!1;if(fY(D)&&D.result&&typeof D.result==="object"){let W=D.result;if(W.task&&typeof W.task==="object"){let $=W.task;if(typeof $.taskId==="string")J=!0,this._taskProgressTokens.set($.taskId,Y)}}if(!J)this._progressHandlers.delete(Y);if(fY(D))Q(D);else{let W=q0.fromError(D.error.code,D.error.message,D.error.data);Q(W)}}get transport(){return this._transport}async close(){await this._transport?.close()}async*requestStream(D,Y,X){let{task:Q}=X??{};if(!Q){try{yield{type:"result",result:await this.request(D,Y,X)}}catch(W){yield{type:"error",error:W instanceof q0?W:new q0(w0.InternalError,String(W))}}return}let J;try{let W=await this.request(D,N7,X);if(W.task)J=W.task.taskId,yield{type:"taskCreated",task:W.task};else throw new q0(w0.InternalError,"Task creation did not return a task");while(!0){let $=await this.getTask({taskId:J},X);if(yield{type:"taskStatus",task:$},MD($.status)){if($.status==="completed")yield{type:"result",result:await this.getTaskResult({taskId:J},Y,X)};else if($.status==="failed")yield{type:"error",error:new q0(w0.InternalError,`Task ${J} failed`)};else if($.status==="cancelled")yield{type:"error",error:new q0(w0.InternalError,`Task ${J} was cancelled`)};return}if($.status==="input_required"){yield{type:"result",result:await this.getTaskResult({taskId:J},Y,X)};return}let G=$.pollInterval??this._options?.defaultTaskPollInterval??1000;await new Promise((B)=>setTimeout(B,G)),X?.signal?.throwIfAborted()}}catch(W){yield{type:"error",error:W instanceof q0?W:new q0(w0.InternalError,String(W))}}}request(D,Y,X){let{relatedRequestId:Q,resumptionToken:J,onresumptiontoken:W,task:$,relatedTask:G}=X??{};return new Promise((B,H)=>{let F=(O)=>{H(O)};if(!this._transport){F(Error("Not connected"));return}if(this._options?.enforceStrictCapabilities===!0)try{if(this.assertCapabilityForMethod(D.method),$)this.assertTaskCapability(D.method)}catch(O){F(O);return}X?.signal?.throwIfAborted();let K=this._requestMessageId++,U={...D,jsonrpc:"2.0",id:K};if(X?.onprogress)this._progressHandlers.set(K,X.onprogress),U.params={...D.params,_meta:{...D.params?._meta||{},progressToken:K}};if($)U.params={...U.params,task:$};if(G)U.params={...U.params,_meta:{...U.params?._meta||{},[LD]:G}};let z=(O)=>{this._responseHandlers.delete(K),this._progressHandlers.delete(K),this._cleanupTimeout(K),this._transport?.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:K,reason:String(O)}},{relatedRequestId:Q,resumptionToken:J,onresumptiontoken:W}).catch((M)=>this._onerror(Error(`Failed to send cancellation: ${M}`)));let Z=O instanceof q0?O:new q0(w0.RequestTimeout,String(O));H(Z)};this._responseHandlers.set(K,(O)=>{if(X?.signal?.aborted)return;if(O instanceof Error)return H(O);try{let Z=wD(Y,O.result);if(!Z.success)H(Z.error);else B(Z.data)}catch(Z){H(Z)}}),X?.signal?.addEventListener("abort",()=>{z(X?.signal?.reason)});let w=X?.timeout??YJ0,V=()=>z(q0.fromError(w0.RequestTimeout,"Request timed out",{timeout:w}));this._setupTimeout(K,w,X?.maxTotalTimeout,V,X?.resetTimeoutOnProgress??!1);let L=G?.taskId;if(L){let O=(Z)=>{let M=this._responseHandlers.get(K);if(M)M(Z);else this._onerror(Error(`Response handler missing for side-channeled request ${K}`))};this._requestResolvers.set(K,O),this._enqueueTaskMessage(L,{type:"request",message:U,timestamp:Date.now()}).catch((Z)=>{this._cleanupTimeout(K),H(Z)})}else this._transport.send(U,{relatedRequestId:Q,resumptionToken:J,onresumptiontoken:W}).catch((O)=>{this._cleanupTimeout(K),H(O)})})}async getTask(D,Y){return this.request({method:"tasks/get",params:D},_W,Y)}async getTaskResult(D,Y,X){return this.request({method:"tasks/result",params:D},Y,X)}async listTasks(D,Y){return this.request({method:"tasks/list",params:D},vW,Y)}async cancelTask(D,Y){return this.request({method:"tasks/cancel",params:D},L_,Y)}async notification(D,Y){if(!this._transport)throw Error("Not connected");this.assertNotificationCapability(D.method);let X=Y?.relatedTask?.taskId;if(X){let $={...D,jsonrpc:"2.0",params:{...D.params,_meta:{...D.params?._meta||{},[LD]:Y.relatedTask}}};await this._enqueueTaskMessage(X,{type:"notification",message:$,timestamp:Date.now()});return}if((this._options?.debouncedNotificationMethods??[]).includes(D.method)&&!D.params&&!Y?.relatedRequestId&&!Y?.relatedTask){if(this._pendingDebouncedNotifications.has(D.method))return;this._pendingDebouncedNotifications.add(D.method),Promise.resolve().then(()=>{if(this._pendingDebouncedNotifications.delete(D.method),!this._transport)return;let $={...D,jsonrpc:"2.0"};if(Y?.relatedTask)$={...$,params:{...$.params,_meta:{...$.params?._meta||{},[LD]:Y.relatedTask}}};this._transport?.send($,Y).catch((G)=>this._onerror(G))});return}let W={...D,jsonrpc:"2.0"};if(Y?.relatedTask)W={...W,params:{...W.params,_meta:{...W.params?._meta||{},[LD]:Y.relatedTask}}};await this._transport.send(W,Y)}setRequestHandler(D,Y){let X=Az(D);this.assertRequestHandlerCapability(X),this._requestHandlers.set(X,(Q,J)=>{let W=Ez(D,Q);return Promise.resolve(Y(W,J))})}removeRequestHandler(D){this._requestHandlers.delete(D)}assertCanSetRequestHandler(D){if(this._requestHandlers.has(D))throw Error(`A request handler for ${D} already exists, which would be overridden`)}setNotificationHandler(D,Y){let X=Az(D);this._notificationHandlers.set(X,(Q)=>{let J=Ez(D,Q);return Promise.resolve(Y(J))})}removeNotificationHandler(D){this._notificationHandlers.delete(D)}_cleanupTaskProgressHandler(D){let Y=this._taskProgressTokens.get(D);if(Y!==void 0)this._progressHandlers.delete(Y),this._taskProgressTokens.delete(D)}async _enqueueTaskMessage(D,Y,X){if(!this._taskStore||!this._taskMessageQueue)throw Error("Cannot enqueue task message: taskStore and taskMessageQueue are not configured");let Q=this._options?.maxTaskQueueSize;await this._taskMessageQueue.enqueue(D,Y,X,Q)}async _clearTaskQueue(D,Y){if(this._taskMessageQueue){let X=await this._taskMessageQueue.dequeueAll(D,Y);for(let Q of X)if(Q.type==="request"&&Yz(Q.message)){let J=Q.message.id,W=this._requestResolvers.get(J);if(W)W(new q0(w0.InternalError,"Task cancelled or completed")),this._requestResolvers.delete(J);else this._onerror(Error(`Resolver missing for request ${J} during task ${D} cleanup`))}}}async _waitForTaskUpdate(D,Y){let X=this._options?.defaultTaskPollInterval??1000;try{let Q=await this._taskStore?.getTask(D);if(Q?.pollInterval)X=Q.pollInterval}catch{}return new Promise((Q,J)=>{if(Y.aborted){J(new q0(w0.InvalidRequest,"Request cancelled"));return}let W=setTimeout(Q,X);Y.addEventListener("abort",()=>{clearTimeout(W),J(new q0(w0.InvalidRequest,"Request cancelled"))},{once:!0})})}requestTaskStore(D,Y){let X=this._taskStore;if(!X)throw Error("No task store configured");return{createTask:async(Q)=>{if(!D)throw Error("No request provided");return await X.createTask(Q,D.id,{method:D.method,params:D.params},Y)},getTask:async(Q)=>{let J=await X.getTask(Q,Y);if(!J)throw new q0(w0.InvalidParams,"Failed to retrieve task: Task not found");return J},storeTaskResult:async(Q,J,W)=>{await X.storeTaskResult(Q,J,W,Y);let $=await X.getTask(Q,Y);if($){let G=cY.parse({method:"notifications/tasks/status",params:$});if(await this.notification(G),MD($.status))this._cleanupTaskProgressHandler(Q)}},getTaskResult:(Q)=>{return X.getTaskResult(Q,Y)},updateTaskStatus:async(Q,J,W)=>{let $=await X.getTask(Q,Y);if(!$)throw new q0(w0.InvalidParams,`Task "${Q}" not found - it may have been cleaned up`);if(MD($.status))throw new q0(w0.InvalidParams,`Cannot update task "${Q}" from terminal status "${$.status}" to "${J}". Terminal states (completed, failed, cancelled) cannot transition to other states.`);await X.updateTaskStatus(Q,J,W,Y);let G=await X.getTask(Q,Y);if(G){let B=cY.parse({method:"notifications/tasks/status",params:G});if(await this.notification(B),MD(G.status))this._cleanupTaskProgressHandler(Q)}},listTasks:(Q)=>{return X.listTasks(Q,Y)}}}}function Jb(D){return D!==null&&typeof D==="object"&&!Array.isArray(D)}function Wb(D,Y){let X={...D};for(let Q in Y){let J=Q,W=Y[J];if(W===void 0)continue;let $=X[J];if(Jb($)&&Jb(W))X[J]={...$,...W};else X[J]=W}return X}var yf=r1(MU(),1),ff=r1(vf(),1);function Fq0(){let D=new yf.default({strict:!1,validateFormats:!0,validateSchema:!1,allErrors:!0});return ff.default(D),D}class PU{constructor(D){this._ajv=D??Fq0()}getValidator(D){let Y="$id"in D&&typeof D.$id==="string"?this._ajv.getSchema(D.$id)??this._ajv.compile(D):this._ajv.compile(D);return(X)=>{if(Y(X))return{valid:!0,data:X,errorMessage:void 0};else return{valid:!1,data:void 0,errorMessage:this._ajv.errorsText(Y.errors)}}}}class IU{constructor(D){this._server=D}requestStream(D,Y,X){return this._server.requestStream(D,Y,X)}async getTask(D,Y){return this._server.getTask({taskId:D},Y)}async getTaskResult(D,Y,X){return this._server.getTaskResult({taskId:D},Y,X)}async listTasks(D,Y){return this._server.listTasks(D?{cursor:D}:void 0,Y)}async cancelTask(D,Y){return this._server.cancelTask({taskId:D},Y)}}function hf(D,Y,X){if(!D)throw Error(`${X} does not support task creation (required for ${Y})`);switch(Y){case"tools/call":if(!D.tools?.call)throw Error(`${X} does not support task creation for tools/call (required for ${Y})`);break;default:break}}function gf(D,Y,X){if(!D)throw Error(`${X} does not support task creation (required for ${Y})`);switch(Y){case"sampling/createMessage":if(!D.sampling?.createMessage)throw Error(`${X} does not support task creation for sampling/createMessage (required for ${Y})`);break;case"elicitation/create":if(!D.elicitation?.create)throw Error(`${X} does not support task creation for elicitation/create (required for ${Y})`);break;default:break}}class CU extends Rz{constructor(D,Y){super(Y);if(this._serverInfo=D,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(dY.options.map((X,Q)=>[X,Q])),this.isMessageIgnored=(X,Q)=>{let J=this._loggingLevels.get(Q);return J?this.LOG_LEVEL_SEVERITY.get(X)<this.LOG_LEVEL_SEVERITY.get(J):!1},this._capabilities=Y?.capabilities??{},this._instructions=Y?.instructions,this._jsonSchemaValidator=Y?.jsonSchemaValidator??new PU,this.setRequestHandler(Jz,(X)=>this._oninitialize(X)),this.setNotificationHandler(Wz,()=>this.oninitialized?.()),this._capabilities.logging)this.setRequestHandler(Kz,async(X,Q)=>{let J=Q.sessionId||Q.requestInfo?.headers["mcp-session-id"]||void 0,{level:W}=X.params,$=dY.safeParse(W);if($.success)this._loggingLevels.set(J,$.data);return{}})}get experimental(){if(!this._experimental)this._experimental={tasks:new IU(this)};return this._experimental}registerCapabilities(D){if(this.transport)throw Error("Cannot register capabilities after connecting to transport");this._capabilities=Wb(this._capabilities,D)}setRequestHandler(D,Y){let Q=VD(D)?.method;if(!Q)throw Error("Schema is missing a method literal");let J;if(M6(Q)){let $=Q;J=$._zod?.def?.value??$.value}else{let $=Q;J=$._def?.value??$.value}if(typeof J!=="string")throw Error("Schema method literal must be a string");if(J==="tools/call"){let $=async(G,B)=>{let H=wD(A7,G);if(!H.success){let z=H.error instanceof Error?H.error.message:String(H.error);throw new q0(w0.InvalidParams,`Invalid tools/call request: ${z}`)}let{params:F}=H.data,K=await Promise.resolve(Y(G,B));if(F.task){let z=wD(N7,K);if(!z.success){let w=z.error instanceof Error?z.error.message:String(z.error);throw new q0(w0.InvalidParams,`Invalid task creation result: ${w}`)}return z.data}let U=wD(lW,K);if(!U.success){let z=U.error instanceof Error?U.error.message:String(U.error);throw new q0(w0.InvalidParams,`Invalid tools/call result: ${z}`)}return U.data};return super.setRequestHandler(D,$)}return super.setRequestHandler(D,Y)}assertCapabilityForMethod(D){switch(D){case"sampling/createMessage":if(!this._clientCapabilities?.sampling)throw Error(`Client does not support sampling (required for ${D})`);break;case"elicitation/create":if(!this._clientCapabilities?.elicitation)throw Error(`Client does not support elicitation (required for ${D})`);break;case"roots/list":if(!this._clientCapabilities?.roots)throw Error(`Client does not support listing roots (required for ${D})`);break;case"ping":break}}assertNotificationCapability(D){switch(D){case"notifications/message":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${D})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw Error(`Server does not support notifying about resources (required for ${D})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw Error(`Server does not support notifying of tool list changes (required for ${D})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw Error(`Server does not support notifying of prompt list changes (required for ${D})`);break;case"notifications/elicitation/complete":if(!this._clientCapabilities?.elicitation?.url)throw Error(`Client does not support URL elicitation (required for ${D})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(D){if(!this._capabilities)return;switch(D){case"completion/complete":if(!this._capabilities.completions)throw Error(`Server does not support completions (required for ${D})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw Error(`Server does not support logging (required for ${D})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw Error(`Server does not support prompts (required for ${D})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw Error(`Server does not support resources (required for ${D})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw Error(`Server does not support tools (required for ${D})`);break;case"tasks/get":case"tasks/list":case"tasks/result":case"tasks/cancel":if(!this._capabilities.tasks)throw Error(`Server does not support tasks capability (required for ${D})`);break;case"ping":case"initialize":break}}assertTaskCapability(D){gf(this._clientCapabilities?.tasks?.requests,D,"Client")}assertTaskHandlerCapability(D){if(!this._capabilities)return;hf(this._capabilities.tasks?.requests,D,"Server")}async _oninitialize(D){let Y=D.params.protocolVersion;return this._clientCapabilities=D.params.capabilities,this._clientVersion=D.params.clientInfo,{protocolVersion:G_.includes(Y)?Y:eK,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},SW)}async createMessage(D,Y){if(D.tools||D.toolChoice){if(!this._clientCapabilities?.sampling?.tools)throw Error("Client does not support sampling tools capability.")}if(D.messages.length>0){let X=D.messages[D.messages.length-1],Q=Array.isArray(X.content)?X.content:[X.content],J=Q.some((B)=>B.type==="tool_result"),W=D.messages.length>1?D.messages[D.messages.length-2]:void 0,$=W?Array.isArray(W.content)?W.content:[W.content]:[],G=$.some((B)=>B.type==="tool_use");if(J){if(Q.some((B)=>B.type!=="tool_result"))throw Error("The last message must contain only tool_result content if any is present");if(!G)throw Error("tool_result blocks are not matching any tool_use from the previous message")}if(G){let B=new Set($.filter((F)=>F.type==="tool_use").map((F)=>F.id)),H=new Set(Q.filter((F)=>F.type==="tool_result").map((F)=>F.toolUseId));if(B.size!==H.size||![...B].every((F)=>H.has(F)))throw Error("ids of tool_result blocks and tool_use blocks from previous message do not match")}}if(D.tools)return this.request({method:"sampling/createMessage",params:D},Uz,Y);return this.request({method:"sampling/createMessage",params:D},zz,Y)}async elicitInput(D,Y){switch(D.mode??"form"){case"url":{if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support url elicitation.");let Q=D;return this.request({method:"elicitation/create",params:Q},dW,Y)}case"form":{if(!this._clientCapabilities?.elicitation?.form)throw Error("Client does not support form elicitation.");let Q=D.mode==="form"?D:{...D,mode:"form"},J=await this.request({method:"elicitation/create",params:Q},dW,Y);if(J.action==="accept"&&J.content&&Q.requestedSchema)try{let $=this._jsonSchemaValidator.getValidator(Q.requestedSchema)(J.content);if(!$.valid)throw new q0(w0.InvalidParams,`Elicitation response content does not match requested schema: ${$.errorMessage}`)}catch(W){if(W instanceof q0)throw W;throw new q0(w0.InternalError,`Error validating elicitation response: ${W instanceof Error?W.message:String(W)}`)}return J}}}createElicitationCompletionNotifier(D,Y){if(!this._clientCapabilities?.elicitation?.url)throw Error("Client does not support URL elicitation (required for notifications/elicitation/complete)");return()=>this.notification({method:"notifications/elicitation/complete",params:{elicitationId:D}},Y)}async listRoots(D,Y){return this.request({method:"roots/list",params:D},wz,Y)}async sendLoggingMessage(D,Y){if(this._capabilities.logging){if(!this.isMessageIgnored(D.level,Y))return this.notification({method:"notifications/message",params:D})}}async sendResourceUpdated(D){return this.notification({method:"notifications/resources/updated",params:D})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}}var mf=Symbol.for("mcp.completable");function xU(D){return!!D&&typeof D==="object"&&mf in D}function cf(D){return D[mf]?.complete}var uf;(function(D){D.Completable="McpCompletable"})(uf||(uf={}));var qq0=/^[A-Za-z0-9._-]{1,128}$/;function Kq0(D){let Y=[];if(D.length===0)return{isValid:!1,warnings:["Tool name cannot be empty"]};if(D.length>128)return{isValid:!1,warnings:[`Tool name exceeds maximum length of 128 characters (current: ${D.length})`]};if(D.includes(" "))Y.push("Tool name contains spaces, which may cause parsing issues");if(D.includes(","))Y.push("Tool name contains commas, which may cause parsing issues");if(D.startsWith("-")||D.endsWith("-"))Y.push("Tool name starts or ends with a dash, which may cause parsing issues in some contexts");if(D.startsWith(".")||D.endsWith("."))Y.push("Tool name starts or ends with a dot, which may cause parsing issues in some contexts");if(!qq0.test(D)){let X=D.split("").filter((Q)=>!/[A-Za-z0-9._-]/.test(Q)).filter((Q,J,W)=>W.indexOf(Q)===J);return Y.push(`Tool name contains invalid characters: ${X.map((Q)=>`"${Q}"`).join(", ")}`,"Allowed characters are: A-Z, a-z, 0-9, underscore (_), dash (-), and dot (.)"),{isValid:!1,warnings:Y}}return{isValid:!0,warnings:Y}}function zq0(D,Y){if(Y.length>0){console.warn(`Tool name validation warning for "${D}":`);for(let X of Y)console.warn(` - ${X}`);console.warn("Tool registration will proceed, but this may cause compatibility issues."),console.warn("Consider updating the tool name to conform to the MCP tool naming standard."),console.warn("See SEP: Specify Format for Tool Names (https://github.com/modelcontextprotocol/modelcontextprotocol/issues/986) for more details.")}}function _U(D){let Y=Kq0(D);return zq0(D,Y.warnings),Y.isValid}class bU{constructor(D){this._mcpServer=D}registerToolTask(D,Y,X){let Q={taskSupport:"required",...Y.execution};if(Q.taskSupport==="forbidden")throw Error(`Cannot register task-based tool '${D}' with taskSupport 'forbidden'. Use registerTool() instead.`);return this._mcpServer._createRegisteredTool(D,Y.title,Y.description,Y.inputSchema,Y.outputSchema,Y.annotations,Q,Y._meta,X)}}class vU{constructor(D,Y){this._registeredResources={},this._registeredResourceTemplates={},this._registeredTools={},this._registeredPrompts={},this._toolHandlersInitialized=!1,this._completionHandlerInitialized=!1,this._resourceHandlersInitialized=!1,this._promptHandlersInitialized=!1,this.server=new CU(D,Y)}get experimental(){if(!this._experimental)this._experimental={tasks:new bU(this)};return this._experimental}async connect(D){return await this.server.connect(D)}async close(){await this.server.close()}setToolRequestHandlers(){if(this._toolHandlersInitialized)return;this.server.assertCanSetRequestHandler(TD(cW)),this.server.assertCanSetRequestHandler(TD(A7)),this.server.registerCapabilities({tools:{listChanged:!0}}),this.server.setRequestHandler(cW,()=>({tools:Object.entries(this._registeredTools).filter(([,D])=>D.enabled).map(([D,Y])=>{let X={name:D,title:Y.title,description:Y.description,inputSchema:(()=>{let Q=M7(Y.inputSchema);return Q?Zz(Q,{strictUnions:!0,pipeStrategy:"input"}):Uq0})(),annotations:Y.annotations,execution:Y.execution,_meta:Y._meta};if(Y.outputSchema){let Q=M7(Y.outputSchema);if(Q)X.outputSchema=Zz(Q,{strictUnions:!0,pipeStrategy:"output"})}return X})})),this.server.setRequestHandler(A7,async(D,Y)=>{try{let X=this._registeredTools[D.params.name];if(!X)throw new q0(w0.InvalidParams,`Tool ${D.params.name} not found`);if(!X.enabled)throw new q0(w0.InvalidParams,`Tool ${D.params.name} disabled`);let Q=!!D.params.task,J=X.execution?.taskSupport,W="createTask"in X.handler;if((J==="required"||J==="optional")&&!W)throw new q0(w0.InternalError,`Tool ${D.params.name} has taskSupport '${J}' but was not registered with registerToolTask`);if(J==="required"&&!Q)throw new q0(w0.MethodNotFound,`Tool ${D.params.name} requires task augmentation (taskSupport: 'required')`);if(J==="optional"&&!Q&&W)return await this.handleAutomaticTaskPolling(X,D,Y);let $=await this.validateToolInput(X,D.params.arguments,D.params.name),G=await this.executeToolHandler(X,$,Y);if(Q)return G;return await this.validateToolOutput(X,G,D.params.name),G}catch(X){if(X instanceof q0){if(X.code===w0.UrlElicitationRequired)throw X}return this.createToolError(X instanceof Error?X.message:String(X))}}),this._toolHandlersInitialized=!0}createToolError(D){return{content:[{type:"text",text:D}],isError:!0}}async validateToolInput(D,Y,X){if(!D.inputSchema)return;let J=M7(D.inputSchema)??D.inputSchema,W=await OW(J,Y);if(!W.success){let $="error"in W?W.error:"Unknown error",G=NW($);throw new q0(w0.InvalidParams,`Input validation error: Invalid arguments for tool ${X}: ${G}`)}return W.data}async validateToolOutput(D,Y,X){if(!D.outputSchema)return;if(!("content"in Y))return;if(Y.isError)return;if(!Y.structuredContent)throw new q0(w0.InvalidParams,`Output validation error: Tool ${X} has an output schema but no structured content was provided`);let Q=M7(D.outputSchema),J=await OW(Q,Y.structuredContent);if(!J.success){let W="error"in J?J.error:"Unknown error",$=NW(W);throw new q0(w0.InvalidParams,`Output validation error: Invalid structured content for tool ${X}: ${$}`)}}async executeToolHandler(D,Y,X){let Q=D.handler;if("createTask"in Q){if(!X.taskStore)throw Error("No task store provided.");let W={...X,taskStore:X.taskStore};if(D.inputSchema)return await Promise.resolve(Q.createTask(Y,W));else return await Promise.resolve(Q.createTask(W))}if(D.inputSchema)return await Promise.resolve(Q(Y,X));else return await Promise.resolve(Q(X))}async handleAutomaticTaskPolling(D,Y,X){if(!X.taskStore)throw Error("No task store provided for task-capable tool.");let Q=await this.validateToolInput(D,Y.params.arguments,Y.params.name),J=D.handler,W={...X,taskStore:X.taskStore},$=Q?await Promise.resolve(J.createTask(Q,W)):await Promise.resolve(J.createTask(W)),G=$.task.taskId,B=$.task,H=B.pollInterval??5000;while(B.status!=="completed"&&B.status!=="failed"&&B.status!=="cancelled"){await new Promise((K)=>setTimeout(K,H));let F=await X.taskStore.getTask(G);if(!F)throw new q0(w0.InternalError,`Task ${G} not found during polling`);B=F}return await X.taskStore.getTaskResult(G)}setCompletionRequestHandler(){if(this._completionHandlerInitialized)return;this.server.assertCanSetRequestHandler(TD(pW)),this.server.registerCapabilities({completions:{}}),this.server.setRequestHandler(pW,async(D)=>{switch(D.params.ref.type){case"ref/prompt":return E_(D),this.handlePromptCompletion(D,D.params.ref);case"ref/resource":return R_(D),this.handleResourceCompletion(D,D.params.ref);default:throw new q0(w0.InvalidParams,`Invalid completion reference: ${D.params.ref}`)}}),this._completionHandlerInitialized=!0}async handlePromptCompletion(D,Y){let X=this._registeredPrompts[Y.name];if(!X)throw new q0(w0.InvalidParams,`Prompt ${Y.name} not found`);if(!X.enabled)throw new q0(w0.InvalidParams,`Prompt ${Y.name} disabled`);if(!X.argsSchema)return wX;let J=VD(X.argsSchema)?.[D.params.argument.name];if(!xU(J))return wX;let W=cf(J);if(!W)return wX;let $=await W(D.params.argument.value,D.params.context);return df($)}async handleResourceCompletion(D,Y){let X=Object.values(this._registeredResourceTemplates).find((W)=>W.resourceTemplate.uriTemplate.toString()===Y.uri);if(!X){if(this._registeredResources[Y.uri])return wX;throw new q0(w0.InvalidParams,`Resource template ${D.params.ref.uri} not found`)}let Q=X.resourceTemplate.completeCallback(D.params.argument.name);if(!Q)return wX;let J=await Q(D.params.argument.value,D.params.context);return df(J)}setResourceRequestHandlers(){if(this._resourceHandlersInitialized)return;this.server.assertCanSetRequestHandler(TD(fW)),this.server.assertCanSetRequestHandler(TD(hW)),this.server.assertCanSetRequestHandler(TD(gW)),this.server.registerCapabilities({resources:{listChanged:!0}}),this.server.setRequestHandler(fW,async(D,Y)=>{let X=Object.entries(this._registeredResources).filter(([J,W])=>W.enabled).map(([J,W])=>({uri:J,name:W.name,...W.metadata})),Q=[];for(let J of Object.values(this._registeredResourceTemplates)){if(!J.resourceTemplate.listCallback)continue;let W=await J.resourceTemplate.listCallback(Y);for(let $ of W.resources)Q.push({...J.metadata,...$})}return{resources:[...X,...Q]}}),this.server.setRequestHandler(hW,async()=>{return{resourceTemplates:Object.entries(this._registeredResourceTemplates).map(([Y,X])=>({name:Y,uriTemplate:X.resourceTemplate.uriTemplate.toString(),...X.metadata}))}}),this.server.setRequestHandler(gW,async(D,Y)=>{let X=new URL(D.params.uri),Q=this._registeredResources[X.toString()];if(Q){if(!Q.enabled)throw new q0(w0.InvalidParams,`Resource ${X} disabled`);return Q.readCallback(X,Y)}for(let J of Object.values(this._registeredResourceTemplates)){let W=J.resourceTemplate.uriTemplate.match(X.toString());if(W)return J.readCallback(X,W,Y)}throw new q0(w0.InvalidParams,`Resource ${X} not found`)}),this._resourceHandlersInitialized=!0}setPromptRequestHandlers(){if(this._promptHandlersInitialized)return;this.server.assertCanSetRequestHandler(TD(uW)),this.server.assertCanSetRequestHandler(TD(mW)),this.server.registerCapabilities({prompts:{listChanged:!0}}),this.server.setRequestHandler(uW,()=>({prompts:Object.entries(this._registeredPrompts).filter(([,D])=>D.enabled).map(([D,Y])=>{return{name:D,title:Y.title,description:Y.description,arguments:Y.argsSchema?Vq0(Y.argsSchema):void 0}})})),this.server.setRequestHandler(mW,async(D,Y)=>{let X=this._registeredPrompts[D.params.name];if(!X)throw new q0(w0.InvalidParams,`Prompt ${D.params.name} not found`);if(!X.enabled)throw new q0(w0.InvalidParams,`Prompt ${D.params.name} disabled`);if(X.argsSchema){let Q=M7(X.argsSchema),J=await OW(Q,D.params.arguments);if(!J.success){let G="error"in J?J.error:"Unknown error",B=NW(G);throw new q0(w0.InvalidParams,`Invalid arguments for prompt ${D.params.name}: ${B}`)}let W=J.data,$=X.callback;return await Promise.resolve($(W,Y))}else{let Q=X.callback;return await Promise.resolve(Q(Y))}}),this._promptHandlersInitialized=!0}resource(D,Y,...X){let Q;if(typeof X[0]==="object")Q=X.shift();let J=X[0];if(typeof Y==="string"){if(this._registeredResources[Y])throw Error(`Resource ${Y} is already registered`);let W=this._createRegisteredResource(D,void 0,Y,Q,J);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),W}else{if(this._registeredResourceTemplates[D])throw Error(`Resource template ${D} is already registered`);let W=this._createRegisteredResourceTemplate(D,void 0,Y,Q,J);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),W}}registerResource(D,Y,X,Q){if(typeof Y==="string"){if(this._registeredResources[Y])throw Error(`Resource ${Y} is already registered`);let J=this._createRegisteredResource(D,X.title,Y,X,Q);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}else{if(this._registeredResourceTemplates[D])throw Error(`Resource template ${D} is already registered`);let J=this._createRegisteredResourceTemplate(D,X.title,Y,X,Q);return this.setResourceRequestHandlers(),this.sendResourceListChanged(),J}}_createRegisteredResource(D,Y,X,Q,J){let W={name:D,title:Y,metadata:Q,readCallback:J,enabled:!0,disable:()=>W.update({enabled:!1}),enable:()=>W.update({enabled:!0}),remove:()=>W.update({uri:null}),update:($)=>{if(typeof $.uri<"u"&&$.uri!==X){if(delete this._registeredResources[X],$.uri)this._registeredResources[$.uri]=W}if(typeof $.name<"u")W.name=$.name;if(typeof $.title<"u")W.title=$.title;if(typeof $.metadata<"u")W.metadata=$.metadata;if(typeof $.callback<"u")W.readCallback=$.callback;if(typeof $.enabled<"u")W.enabled=$.enabled;this.sendResourceListChanged()}};return this._registeredResources[X]=W,W}_createRegisteredResourceTemplate(D,Y,X,Q,J){let W={resourceTemplate:X,title:Y,metadata:Q,readCallback:J,enabled:!0,disable:()=>W.update({enabled:!1}),enable:()=>W.update({enabled:!0}),remove:()=>W.update({name:null}),update:(B)=>{if(typeof B.name<"u"&&B.name!==D){if(delete this._registeredResourceTemplates[D],B.name)this._registeredResourceTemplates[B.name]=W}if(typeof B.title<"u")W.title=B.title;if(typeof B.template<"u")W.resourceTemplate=B.template;if(typeof B.metadata<"u")W.metadata=B.metadata;if(typeof B.callback<"u")W.readCallback=B.callback;if(typeof B.enabled<"u")W.enabled=B.enabled;this.sendResourceListChanged()}};this._registeredResourceTemplates[D]=W;let $=X.uriTemplate.variableNames;if(Array.isArray($)&&$.some((B)=>!!X.completeCallback(B)))this.setCompletionRequestHandler();return W}_createRegisteredPrompt(D,Y,X,Q,J){let W={title:Y,description:X,argsSchema:Q===void 0?void 0:R5(Q),callback:J,enabled:!0,disable:()=>W.update({enabled:!1}),enable:()=>W.update({enabled:!0}),remove:()=>W.update({name:null}),update:($)=>{if(typeof $.name<"u"&&$.name!==D){if(delete this._registeredPrompts[D],$.name)this._registeredPrompts[$.name]=W}if(typeof $.title<"u")W.title=$.title;if(typeof $.description<"u")W.description=$.description;if(typeof $.argsSchema<"u")W.argsSchema=R5($.argsSchema);if(typeof $.callback<"u")W.callback=$.callback;if(typeof $.enabled<"u")W.enabled=$.enabled;this.sendPromptListChanged()}};if(this._registeredPrompts[D]=W,Q){if(Object.values(Q).some((G)=>{let B=G instanceof G6?G._def?.innerType:G;return xU(B)}))this.setCompletionRequestHandler()}return W}_createRegisteredTool(D,Y,X,Q,J,W,$,G,B){_U(D);let H={title:Y,description:X,inputSchema:lf(Q),outputSchema:lf(J),annotations:W,execution:$,_meta:G,handler:B,enabled:!0,disable:()=>H.update({enabled:!1}),enable:()=>H.update({enabled:!0}),remove:()=>H.update({name:null}),update:(F)=>{if(typeof F.name<"u"&&F.name!==D){if(typeof F.name==="string")_U(F.name);if(delete this._registeredTools[D],F.name)this._registeredTools[F.name]=H}if(typeof F.title<"u")H.title=F.title;if(typeof F.description<"u")H.description=F.description;if(typeof F.paramsSchema<"u")H.inputSchema=R5(F.paramsSchema);if(typeof F.outputSchema<"u")H.outputSchema=R5(F.outputSchema);if(typeof F.callback<"u")H.handler=F.callback;if(typeof F.annotations<"u")H.annotations=F.annotations;if(typeof F._meta<"u")H._meta=F._meta;if(typeof F.enabled<"u")H.enabled=F.enabled;this.sendToolListChanged()}};return this._registeredTools[D]=H,this.setToolRequestHandlers(),this.sendToolListChanged(),H}tool(D,...Y){if(this._registeredTools[D])throw Error(`Tool ${D} is already registered`);let X,Q,J,W;if(typeof Y[0]==="string")X=Y.shift();if(Y.length>1){let G=Y[0];if(kU(G)){if(Q=Y.shift(),Y.length>1&&typeof Y[0]==="object"&&Y[0]!==null&&!kU(Y[0]))W=Y.shift()}else if(typeof G==="object"&&G!==null)W=Y.shift()}let $=Y[0];return this._createRegisteredTool(D,void 0,X,Q,J,W,{taskSupport:"forbidden"},void 0,$)}registerTool(D,Y,X){if(this._registeredTools[D])throw Error(`Tool ${D} is already registered`);let{title:Q,description:J,inputSchema:W,outputSchema:$,annotations:G,_meta:B}=Y;return this._createRegisteredTool(D,Q,J,W,$,G,{taskSupport:"forbidden"},B,X)}prompt(D,...Y){if(this._registeredPrompts[D])throw Error(`Prompt ${D} is already registered`);let X;if(typeof Y[0]==="string")X=Y.shift();let Q;if(Y.length>1)Q=Y.shift();let J=Y[0],W=this._createRegisteredPrompt(D,void 0,X,Q,J);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),W}registerPrompt(D,Y,X){if(this._registeredPrompts[D])throw Error(`Prompt ${D} is already registered`);let{title:Q,description:J,argsSchema:W}=Y,$=this._createRegisteredPrompt(D,Q,J,W,X);return this.setPromptRequestHandlers(),this.sendPromptListChanged(),$}isConnected(){return this.server.transport!==void 0}async sendLoggingMessage(D,Y){return this.server.sendLoggingMessage(D,Y)}sendResourceListChanged(){if(this.isConnected())this.server.sendResourceListChanged()}sendToolListChanged(){if(this.isConnected())this.server.sendToolListChanged()}sendPromptListChanged(){if(this.isConnected())this.server.sendPromptListChanged()}}var Uq0={type:"object",properties:{}};function pf(D){return D!==null&&typeof D==="object"&&"parse"in D&&typeof D.parse==="function"&&"safeParse"in D&&typeof D.safeParse==="function"}function wq0(D){return"_def"in D||"_zod"in D||pf(D)}function kU(D){if(typeof D!=="object"||D===null)return!1;if(wq0(D))return!1;if(Object.keys(D).length===0)return!0;return Object.values(D).some(pf)}function lf(D){if(!D)return;if(kU(D))return R5(D);return D}function Vq0(D){let Y=VD(D);if(!Y)return[];return Object.entries(Y).map(([X,Q])=>{let J=hx(Q),W=gx(Q);return{name:X,description:J,required:!W}})}function TD(D){let X=VD(D)?.method;if(!X)throw Error("Schema is missing a method literal");let Q=ZW(X);if(typeof Q==="string")return Q;throw Error("Schema method literal must be a string")}function df(D){return{completion:{values:D.slice(0,100),total:D.length,hasMore:D.length>100}}}var wX={completion:{values:[],hasMore:!1}};import rf from"node:process";class yU{append(D){this._buffer=this._buffer?Buffer.concat([this._buffer,D]):D}readMessage(){if(!this._buffer)return null;let D=this._buffer.indexOf(`
|
|
437
437
|
`);if(D===-1)return null;let Y=this._buffer.toString("utf8",0,D).replace(/\r$/,"");return this._buffer=this._buffer.subarray(D+1),Lq0(Y)}clear(){this._buffer=void 0}}function Lq0(D){return w_.parse(JSON.parse(D))}function nf(D){return JSON.stringify(D)+`
|
|
438
438
|
`}class fU{constructor(D=rf.stdin,Y=rf.stdout){this._stdin=D,this._stdout=Y,this._readBuffer=new yU,this._started=!1,this._ondata=(X)=>{this._readBuffer.append(X),this.processReadBuffer()},this._onerror=(X)=>{this.onerror?.(X)}}async start(){if(this._started)throw Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){while(!0)try{let D=this._readBuffer.readMessage();if(D===null)break;this.onmessage?.(D)}catch(D){this.onerror?.(D)}}async close(){if(this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0)this._stdin.pause();this._readBuffer.clear(),this.onclose?.()}send(D){return new Promise((Y)=>{let X=nf(D);if(this._stdout.write(X))Y();else this._stdout.once("drain",Y)})}}async function hU(D,Y=!1){if(!Y)F0("Adding organization");await f0();let X={...D,apikey:D.apikey||X0()};if(!X.apikey){if(!Y)q.error("Missing API key, you need to provide an API key to add an organization");throw Error("Missing API key")}let Q=await V0(X.apikey,X.supaHost,X.supaAnon),J=await Z0(Q,X.apikey,["write","all"]),{name:W,email:$}=X;if(!Y&&!W){let H=await h8({message:"Organization name:",placeholder:"My Organization"});if(R0(H))throw q.error("Canceled adding organization"),Error("Organization creation cancelled");W=H}if(!Y&&!$){let H=await h8({message:"Management email:",placeholder:"admin@example.com"});if(R0(H))throw q.error("Canceled adding organization"),Error("Organization creation cancelled");$=H}if(!W||!$){if(!Y)q.error("Missing arguments, you need to provide an organization name and management email");throw Error("Missing organization name or management email")}if(!Y)q.info(`Adding organization "${W}" to Capgo`);let{data:G,error:B}=await Q.from("orgs").insert({name:W,management_email:$,created_by:J}).select().single();if(B){if(!Y)q.error(`Could not add organization ${m(B)}`);throw Error(`Could not add organization: ${m(B)}`)}if(await C0(X.apikey,{channel:"organization",event:"Organization Created",icon:"\uD83C\uDFE2",user_id:G.id,tags:{"org-name":W},notify:!1}).catch(()=>{}),!Y)q.success(`Organization "${W}" added to Capgo`),e("Done ✅");return G}async function k$(D){await hU(D,!1)}async function gU(D,Y,X=!1){if(!X)F0("Deleting organization");await f0();let Q={...Y,apikey:Y.apikey||X0()};if(!Q.apikey){if(!X)q.error("Missing API key, you need to provide an API key to delete an organization");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let J=await V0(Q.apikey,Q.supaHost,Q.supaAnon),W=await Z0(J,Q.apikey,["write","all"]);await y4(J,D,X);let{data:$,error:G}=await J.from("orgs").select("created_by, name").eq("id",D).single();if(G||!$){if(!X)q.error(`Cannot get organization details ${m(G)}`);throw Error(`Cannot get organization details: ${m(G)}`)}if($.created_by!==W){if(X)throw Error("Deleting an organization is restricted to the organization owner");q.warn("Deleting an organization is restricted to the organization owner"),q.warn("You are not the owner of this organization"),q.warn("It's strongly recommended that you do not continue!");let H=await D8({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(R0(H)||H==="no")throw q.error("Canceled deleting the organization"),Error("Organization deletion cancelled")}if(!X&&!Q.autoConfirm){let H=await j0({message:`Are you sure you want to delete organization "${$.name}"? This action cannot be undone.`});if(R0(H)||!H)throw q.error("Canceled deleting the organization"),Error("Organization deletion cancelled")}if(!X)q.info(`Deleting organization "${$.name}"`);let{error:B}=await J.from("orgs").delete().eq("id",D);if(B){if(!X)q.error(`Could not delete organization ${m(B)}`);throw Error(`Could not delete organization: ${m(B)}`)}if(await C0(Q.apikey,{channel:"organization",event:"Organization Deleted",icon:"\uD83D\uDDD1️",user_id:D,tags:{"org-name":$.name},notify:!1}).catch(()=>{}),!X)q.success(`Organization "${$.name}" deleted from Capgo`),e("Done ✅");return!0}async function v$(D,Y){await gU(D,Y,!1)}function Mq0(D,Y){if(Y)return;if(!D.length){q.error("No organizations found");return}let X=new G1;X.headers=["Name","ID","Role","Apps","2FA Required","2FA Access"],X.rows=[];for(let J of D.toReversed()){let W=J.enforcing_2fa?"✓ Yes":"✗ No",$=J["2fa_has_access"]?"✓ Yes":"✗ No";X.rows.push([J.name??"Unknown",J.gid,J.role,J.app_count?.toString()||"0",W,$])}q.success("Organizations"),q.success(X.toString());let Q=D.filter((J)=>J.enforcing_2fa&&!J["2fa_has_access"]);if(Q.length>0){q.warn(`
|
|
439
439
|
⚠️ You don't have access to ${Q.length} organization(s) due to 2FA enforcement:`);for(let J of Q)q.warn(` - ${J.name} (${J.gid})`);q.warn(`
|
|
440
|
-
To regain access, enable 2FA on your account at https://web.capgo.app/settings/account`)}}async function uU(D,Y=!1){if(!Y)F0("List organizations");await f0();let X={...D,apikey:D.apikey||X0()};if(!X.apikey){if(!Y)q.error("Missing API key, you need to provide an API key to list organizations");throw Error("Missing API key")}let Q=await V0(X.apikey,X.supaHost,X.supaAnon);if(await Z0(Q,X.apikey,["read","write","all"]),!Y)q.info("Getting organizations from Capgo");let{error:J,data:W}=await Q.rpc("get_orgs_v7");if(J){if(!Y)q.error(`Cannot get organizations ${m(J)}`);throw Error(`Cannot get organizations: ${m(J)}`)}let $=W||[];if(!Y)q.info(`Organizations found: ${$.length}`),Mq0($,Y),e("Done ✅");return $}async function y$(D){await uU(D,!1)}async function mU(D,Y,X=!1){if(!X)F0("Updating organization");await f0();let Q={...Y,apikey:Y.apikey||X0()};if(!Q.apikey){if(!X)q.error("Missing API key, you need to provide an API key to update an organization");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let J=await V0(Q.apikey,Q.supaHost,Q.supaAnon);await Z0(J,Q.apikey,["write","all"]),await y4(J,D,X);let{data:W,error:$}=await J.from("orgs").select("name, management_email, created_by, enforcing_2fa, password_policy_config, require_apikey_expiration, max_apikey_expiration_days, enforce_hashed_api_keys").eq("id",D).single();if($||!W){if(!X)q.error(`Cannot get organization details ${m($)}`);throw Error(`Cannot get organization details: ${m($)}`)}let{name:G,email:B,enforce2fa:H}=Q,{passwordPolicy:F,minLength:K,requireUppercase:U,requireNumber:z,requireSpecial:w}=Q,{requireApikeyExpiration:V,maxApikeyExpirationDays:L,enforceHashedApiKeys:O}=Q;if(H!==void 0){if(!X){if(H&&!W.enforcing_2fa){q.info("Checking organization members 2FA status...");let{data:I,error:x}=await J.rpc("check_org_members_2fa_enabled",{org_id:D});if(x)throw q.error(`Cannot check members 2FA status: ${m(x)}`),Error("Cannot check members 2FA status");let{data:y,error:C}=await J.rpc("has_2fa_enabled");if(C)throw q.error(`Cannot check your 2FA status: ${m(C)}`),Error("Cannot check your 2FA status");let{data:c,error:S}=await J.rpc("get_identity_apikey_only",{keymode:["read","upload","write","all"]});if(S||!c)throw q.error(`Cannot get current user identity: ${S?m(S):"No user ID returned"}`),Error("Cannot get current user identity");let p=I?.filter((u)=>!u["2fa_enabled"]&&u.user_id!==c)||[];if(p.length>0||!y){if(q.warn("⚠️ Warning: Enabling 2FA enforcement will affect access"),q.message("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),!y)q.warn("\uD83D\uDD10 YOU do not have 2FA enabled! By enabling 2FA enforcement, you will LOSE ACCESS to this organization until you enable 2FA on your account.");if(p.length>0){let{data:J0,error:_}=await J.rpc("get_org_members",{guild_id:D});if(_)throw q.error(`Cannot get organization members: ${m(_)}`),Error("Cannot get organization members");let N=new Map(J0?.map((v)=>[v.uid,v])||[]),A=p.map((v)=>{return N.get(v.user_id)?.email||v.user_id}),R=p.length===1?"member does":"members do",P=p.length===1?"This member will":"These members will";q.warn(`${p.length} ${R} not have 2FA enabled: ${A.join(", ")}`),q.warn(`${P} lose access until they enable 2FA.`)}let u=await j0({message:"Are you sure you want to enable 2FA enforcement?"});if(R0(u)||!u)throw q.error("Canceled enabling 2FA enforcement"),Error("2FA enforcement cancelled")}q.info("Enabling 2FA enforcement for organization...")}else if(!H&&W.enforcing_2fa)q.info("Disabling 2FA enforcement for organization...")}let{error:E}=await J.from("orgs").update({enforcing_2fa:H}).eq("id",D);if(E){if(!X)q.error(`Could not update 2FA enforcement: ${m(E)}`);throw Error(`Could not update 2FA enforcement: ${m(E)}`)}if(!X)if(H)q.success("✓ 2FA enforcement enabled for this organization");else q.success("✓ 2FA enforcement disabled for this organization");if(G===void 0&&B===void 0&&!(F!==void 0||V!==void 0||L!==void 0||O!==void 0)){if(await C0(Q.apikey,{channel:"organization",event:H?"Organization 2FA Enabled":"Organization 2FA Disabled",icon:"\uD83D\uDD10",user_id:D,tags:{"org-name":W.name,"enforce-2fa":H.toString()},notify:!1}).catch(()=>{}),!X)e("Done ✅");return{orgId:D,name:W.name,email:W.management_email,enforce2fa:H}}}if(F!==void 0){if(!X)if(F){q.info("Configuring password policy for organization...");let{data:I,error:x}=await J.rpc("check_org_members_password_policy",{org_id:D});if(x){if(!x.message?.includes("NO_RIGHTS"))q.warn(`Cannot check members password policy status: ${m(x)}`)}else if(I){let y=I.filter((C)=>!C.password_policy_compliant);if(y.length>0){q.warn(`⚠️ Warning: ${y.length} member(s) do not meet the password policy requirements`),q.warn("These members will need to update their passwords to regain access.");let C=await j0({message:"Are you sure you want to enable the password policy?"});if(R0(C)||!C)throw q.error("Canceled enabling password policy"),Error("Password policy configuration cancelled")}}}else q.info("Disabling password policy for organization...");let E={enabled:F,min_length:K??10,require_uppercase:U??!0,require_number:z??!0,require_special:w??!0},{error:j}=await J.from("orgs").update({password_policy_config:E}).eq("id",D);if(j){if(!X)q.error(`Could not update password policy: ${m(j)}`);throw Error(`Could not update password policy: ${m(j)}`)}if(!X)if(F)q.success("✓ Password policy enabled for this organization"),q.info(` - Minimum length: ${E.min_length} characters`),q.info(` - Require uppercase: ${E.require_uppercase?"Yes":"No"}`),q.info(` - Require number: ${E.require_number?"Yes":"No"}`),q.info(` - Require special character: ${E.require_special?"Yes":"No"}`);else q.success("✓ Password policy disabled for this organization");if(G===void 0&&B===void 0&&H===void 0&&V===void 0&&L===void 0&&O===void 0){if(await C0(Q.apikey,{channel:"organization",event:F?"Password Policy Enabled":"Password Policy Disabled",icon:"\uD83D\uDD11",user_id:D,tags:{"org-name":W.name},notify:!1}).catch(()=>{}),!X)e("Done ✅");return{orgId:D,name:W.name,email:W.management_email,passwordPolicy:F}}}if(V!==void 0||L!==void 0||O!==void 0){if(!X)q.info("Updating API key security settings...");if(L!==void 0&&L!==null){if(L<1||L>365){if(!X)q.error("Maximum API key expiration days must be between 1 and 365");throw Error("Maximum API key expiration days must be between 1 and 365")}}let E={};if(V!==void 0)E.require_apikey_expiration=V;if(L!==void 0)E.max_apikey_expiration_days=L;if(O!==void 0)E.enforce_hashed_api_keys=O;let{error:j}=await J.from("orgs").update(E).eq("id",D);if(j){if(!X)q.error(`Could not update API key settings: ${m(j)}`);throw Error(`Could not update API key settings: ${m(j)}`)}if(!X){if(V!==void 0)q.success(`✓ API key expiration requirement: ${V?"Enabled":"Disabled"}`);if(L!==void 0)if(L===null)q.success("✓ Maximum API key expiration days: No limit");else q.success(`✓ Maximum API key expiration days: ${L}`);if(O!==void 0)q.success(`✓ Hashed API keys enforcement: ${O?"Enabled":"Disabled"}`)}if(G===void 0&&B===void 0&&H===void 0&&F===void 0){if(await C0(Q.apikey,{channel:"organization",event:"API Key Settings Updated",icon:"\uD83D\uDD10",user_id:D,tags:{"org-name":W.name},notify:!1}).catch(()=>{}),!X)e("Done ✅");return{orgId:D,name:W.name,email:W.management_email}}}if(!X&&!G){let E=await h8({message:"New organization name:",placeholder:W.name||"My Organization"});if(R0(E))throw q.error("Canceled updating organization"),Error("Organization update cancelled");G=E}if(!X&&!B){let E=await h8({message:"Management email:",placeholder:W.management_email||"admin@example.com"});if(R0(E))throw q.error("Canceled updating organization"),Error("Organization update cancelled");B=E}if(!G||!B){if(!X)q.error("Missing arguments, you need to provide an organization name and management email");throw Error("Missing organization name or management email")}if(!X)q.info(`Updating organization "${D}"`);let{error:M}=await J.from("orgs").update({name:G,management_email:B}).eq("id",D);if(M){if(!X)q.error(`Could not update organization ${m(M)}`);throw Error(`Could not update organization: ${m(M)}`)}if(await C0(Q.apikey,{channel:"organization",event:"Organization Updated",icon:"✏️",user_id:D,tags:{"org-name":G},notify:!1}).catch(()=>{}),!X)q.success("Organization updated"),e("Done ✅");return{orgId:D,name:G,email:B,enforce2fa:H??W.enforcing_2fa}}async function f$(D,Y){await mU(D,Y,!1)}async function cU(D,Y=!1){if(!Y)F0("Getting user id");let X={...D,apikey:D.apikey||X0()};if(!X.apikey){if(!Y)q.error("Missing API key, you need to provide an API key to fetch the user id");throw Error("Missing API key")}try{let Q=await V0(X.apikey,X.supaHost,X.supaAnon),J=await Z0(Q,X.apikey,["read","all","write"]);if(!Y)e(`Done ✅: ${J}`);return J}catch(Q){if(!Y)q.error(`Error getting user id ${m(Q)}`);throw Q instanceof Error?Q:Error(String(Q))}}async function af(D){await cU(D,!1)}function r0(D){let Y=D instanceof Error?D.message:String(D),X=I4(D);return{success:!1,error:Y,isSecurityPolicyError:X.isSecurityPolicyError,securityPolicyMessage:X.isSecurityPolicyError?X.message:void 0}}class lU{apikey;supaHost;supaAnon;constructor(D){this.apikey=D?.apikey,this.supaHost=D?.supaHost,this.supaAnon=D?.supaAnon}async login(D){try{return await qY(D.apikey,{local:D.local??!1,supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon},!0),{success:!0}}catch(Y){return r0(Y)}}async doctor(D){try{return{success:!0,data:await P2({packageJson:D?.packageJson},!0)}}catch(Y){return r0(Y)}}async addApp(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,icon:D.icon};return await i3(D.appId,Y,void 0,!0),{success:!0}}catch(Y){return r0(Y)}}async updateApp(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,icon:D.icon,retention:D.retention};return await C2(D.appId,Y,!0),{success:!0}}catch(Y){return r0(Y)}}async deleteApp(D,Y=!1){try{let X={apikey:this.apikey||X0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return await S2(D,X,!1,Y),{success:!0}}catch(X){return r0(X)}}async listApps(){try{let D={apikey:this.apikey||X0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:(await I2(D,!1)).map((Q)=>({appId:Q.app_id,name:Q.name||"Unknown",iconUrl:Q.icon_url||void 0,createdAt:new Date(Q.created_at||"")}))}}catch(D){return r0(D)}}async getAccountId(D){try{let Y={apikey:D?.apikey||this.apikey||X0(!0),supaHost:D?.supaHost||this.supaHost,supaAnon:D?.supaAnon||this.supaAnon};return{success:!0,data:await cU(Y,!0)}}catch(Y){return r0(Y)}}async checkBundleCompatibility(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),channel:D.channel,text:D.textOutput??!1,packageJson:D.packageJson,nodeModules:D.nodeModules,supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon};return{success:!0,data:(await t3(D.appId,Y,!0)).finalCompatibility}}catch(Y){return r0(Y)}}async encryptBundle(D){try{return{success:!0,data:await i2(D.zipPath,D.checksum,{key:D.keyPath,keyData:D.keyData,json:D.json,packageJson:D.packageJson},!0)}}catch(Y){return r0(Y)}}async decryptBundle(D){try{return{success:!0,data:await d2(D.zipPath,D.ivSessionKey,{key:D.keyPath,keyData:D.keyData,checksum:D.checksum,packageJson:D.packageJson},!0)}}catch(Y){return r0(Y)}}async zipBundle(D){try{return{success:!0,data:await EF(D.appId,{apikey:this.apikey||X0(!0),path:D.path,bundle:D.bundle,name:D.name,codeCheck:D.codeCheck,json:D.json,keyV2:D.keyV2,packageJson:D.packageJson},!0)}}catch(Y){return r0(Y)}}async uploadBundle(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,path:D.path,bundle:D.bundle,channel:D.channel,external:D.external,key:D.encrypt!==!1,keyV2:D.encryptionKey,timeout:D.timeout,tus:D.useTus,comment:D.comment,minUpdateVersion:D.minUpdateVersion,autoMinUpdateVersion:D.autoMinUpdateVersion,selfAssign:D.selfAssign,packageJson:D.packageJsonPaths,ignoreMetadataCheck:D.ignoreCompatibilityCheck,codeCheck:!D.disableCodeCheck,zip:D.useZip},X=await o4(D.appId,Y,!0);return{success:X.success,bundleId:X.bundle,checksum:X.checksum??null,encryptionMethod:X.encryptionMethod,sessionKey:X.sessionKey,ivSessionKey:X.ivSessionKey,storageProvider:X.storageProvider,skipped:X.skipped,reason:X.reason}}catch(Y){return r0(Y)}}async listBundles(D){try{let Y=this.apikey||X0(!0),X=await V0(Y,this.supaHost,this.supaAnon);return{success:!0,data:(await l4(X,D)).map((W)=>({id:W.id.toString(),version:W.name,uploadedAt:new Date(W.created_at||""),size:0,encrypted:W.session_key!==null}))}}catch(Y){return r0(Y)}}async deleteBundle(D,Y){try{let X={apikey:this.apikey||X0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,bundle:Y};return await p2(Y,D,X,!0),{success:!0}}catch(X){return r0(X)}}async cleanupBundles(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,bundle:D.bundle||"",version:"",keep:D.keep||4,force:D.force||!1,ignoreChannel:D.ignoreChannel||!1};return{success:!0,data:await u2(D.appId,Y,!0)}}catch(Y){return r0(Y)}}async requestBuild(D){try{let Y=D.credentials,X={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,path:D.path,platform:D.platform,userId:D.userId,buildCertificateBase64:Y?.BUILD_CERTIFICATE_BASE64,buildProvisionProfileBase64:Y?.BUILD_PROVISION_PROFILE_BASE64,buildProvisionProfileBase64Prod:Y?.BUILD_PROVISION_PROFILE_BASE64_PROD,p12Password:Y?.P12_PASSWORD,appleKeyId:Y?.APPLE_KEY_ID,appleIssuerId:Y?.APPLE_ISSUER_ID,appleKeyContent:Y?.APPLE_KEY_CONTENT,appStoreConnectTeamId:Y?.APP_STORE_CONNECT_TEAM_ID,androidKeystoreFile:Y?.ANDROID_KEYSTORE_FILE,keystoreKeyAlias:Y?.KEYSTORE_KEY_ALIAS,keystoreKeyPassword:Y?.KEYSTORE_KEY_PASSWORD,keystoreStorePassword:Y?.KEYSTORE_STORE_PASSWORD,playConfigJson:Y?.PLAY_CONFIG_JSON},Q=await f2(D.appId,X,!0);if(Q.success&&Q.jobId)return{success:!0,data:{jobId:Q.jobId,uploadUrl:Q.uploadUrl||"",status:Q.status||"unknown"}};return{success:!1,error:Q.error||"Unknown error during build request"}}catch(Y){return r0(Y)}}async getCurrentBundle(D,Y,X){try{let Q={apikey:X?.apikey||this.apikey||X0(!0),quiet:!0,supaHost:X?.supaHost||this.supaHost,supaAnon:X?.supaAnon||this.supaAnon};return{success:!0,data:await RF(Y,D,Q,!0)}}catch(Q){return r0(Q)}}async addChannel(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,default:D.default,selfAssign:D.selfAssign};return await HY(D.channelId,D.appId,Y,!0),{success:!0}}catch(Y){return r0(Y)}}async updateChannel(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,bundle:D.bundle??void 0,state:D.state,downgrade:D.downgrade,ios:D.ios,android:D.android,selfAssign:D.selfAssign,disableAutoUpdate:D.disableAutoUpdate??void 0,dev:D.dev,emulator:D.emulator,device:D.device,prod:D.prod,latest:!1,latestRemote:!1,packageJson:void 0,ignoreMetadataCheck:!1};return await SF(D.channelId,D.appId,Y,!0),{success:!0}}catch(Y){return r0(Y)}}async deleteChannel(D,Y,X=!1){try{let Q={apikey:this.apikey||X0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,deleteBundle:X,successIfNotFound:!1};return await jF(D,Y,Q,!0),{success:!0}}catch(Q){return r0(Q)}}async listChannels(D){try{let Y={apikey:this.apikey||X0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:await TF(D,Y,!0)}}catch(Y){return r0(Y)}}async generateEncryptionKeys(D){try{return await FY({force:D?.force,setupChannel:D?.setupChannel},!0),{success:!0}}catch(Y){return r0(Y)}}async saveEncryptionKey(D){try{return await kF({key:D?.keyPath,keyData:D?.keyData,setupChannel:D?.setupChannel},!0),{success:!0}}catch(Y){return r0(Y)}}async deleteLegacyEncryptionKey(D){try{return{success:!0,data:{deleted:await vF({force:D?.force,setupChannel:D?.setupChannel},!0)}}}catch(Y){return r0(Y)}}async listOrganizations(D){try{let Y={apikey:D?.apikey||this.apikey||X0(!0),supaHost:D?.supaHost||this.supaHost,supaAnon:D?.supaAnon||this.supaAnon};return{success:!0,data:(await uU(Y,!0)).map((J)=>({id:String(J.id??J.gid??""),name:J.name??"Unknown",role:J.role??void 0,appCount:typeof J.app_count==="number"?J.app_count:void 0,email:J.management_email??void 0,createdAt:J.created_at?new Date(J.created_at):void 0}))}}catch(Y){return r0(Y)}}async addOrganization(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,email:D.email},X=await hU(Y,!0);return{success:!0,data:{id:String(X.id??X.gid??""),name:X.name??D.name,role:"owner",appCount:0,email:X.management_email??D.email,createdAt:X.created_at?new Date(X.created_at):void 0}}}catch(Y){return r0(Y)}}async updateOrganization(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,email:D.email},X=await mU(D.orgId,Y,!0);return{success:!0,data:{id:X.orgId,name:X.name,email:X.email}}}catch(Y){return r0(Y)}}async deleteOrganization(D,Y){try{let X={apikey:Y?.apikey||this.apikey||X0(!0),supaHost:Y?.supaHost||this.supaHost,supaAnon:Y?.supaAnon||this.supaAnon,autoConfirm:Y?.autoConfirm??!0};return{success:!0,data:{deleted:await gU(D,X,!0)}}}catch(X){return r0(X)}}async getStats(D){try{let Y=D.apikey||this.apikey||X0(!0),X=await c8(),Q={appId:D.appId,devicesId:D.deviceIds,search:D.search,order:D.order,rangeStart:D.after||D.rangeStart,rangeEnd:D.rangeEnd,limit:D.limit},J=await fetch(`${X.hostApi}/private/stats`,{method:"POST",headers:{"Content-Type":"application/json",capgkey:Y},body:JSON.stringify(Q)});if(!J.ok)throw Error(`HTTP error! status: ${J.status}`);return{success:!0,data:(await J.json()).map((G)=>({appId:G.app_id,deviceId:G.device_id,action:G.action,versionId:G.version_id,version:G.version,createdAt:G.created_at}))}}catch(Y){return r0(Y)}}async setAppSetting(D,Y){try{return await x2(D,{apikey:Y.apikey||this.apikey||X0(!0),bool:Y.bool,string:Y.string},!0),{success:!0}}catch(X){return r0(X)}}}function c1(D){let Y=D.error||"Unknown error";if(D.isSecurityPolicyError&&D.securityPolicyMessage)Y=`Security Policy Error:
|
|
440
|
+
To regain access, enable 2FA on your account at https://web.capgo.app/settings/account`)}}async function uU(D,Y=!1){if(!Y)F0("List organizations");await f0();let X={...D,apikey:D.apikey||X0()};if(!X.apikey){if(!Y)q.error("Missing API key, you need to provide an API key to list organizations");throw Error("Missing API key")}let Q=await V0(X.apikey,X.supaHost,X.supaAnon);if(await Z0(Q,X.apikey,["read","write","all"]),!Y)q.info("Getting organizations from Capgo");let{error:J,data:W}=await Q.rpc("get_orgs_v7");if(J){if(!Y)q.error(`Cannot get organizations ${m(J)}`);throw Error(`Cannot get organizations: ${m(J)}`)}let $=W||[];if(!Y)q.info(`Organizations found: ${$.length}`),Mq0($,Y),e("Done ✅");return $}async function y$(D){await uU(D,!1)}async function mU(D,Y,X=!1){if(!X)F0("Updating organization");await f0();let Q={...Y,apikey:Y.apikey||X0()};if(!Q.apikey){if(!X)q.error("Missing API key, you need to provide an API key to update an organization");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let J=await V0(Q.apikey,Q.supaHost,Q.supaAnon);await Z0(J,Q.apikey,["write","all"]),await y4(J,D,X);let{data:W,error:$}=await J.from("orgs").select("name, management_email, created_by, enforcing_2fa, password_policy_config, require_apikey_expiration, max_apikey_expiration_days, enforce_hashed_api_keys").eq("id",D).single();if($||!W){if(!X)q.error(`Cannot get organization details ${m($)}`);throw Error(`Cannot get organization details: ${m($)}`)}let{name:G,email:B,enforce2fa:H}=Q,{passwordPolicy:F,minLength:K,requireUppercase:U,requireNumber:z,requireSpecial:w}=Q,{requireApikeyExpiration:V,maxApikeyExpirationDays:L,enforceHashedApiKeys:O}=Q;if(H!==void 0){if(!X){if(H&&!W.enforcing_2fa){q.info("Checking organization members 2FA status...");let{data:I,error:x}=await J.rpc("check_org_members_2fa_enabled",{org_id:D});if(x)throw q.error(`Cannot check members 2FA status: ${m(x)}`),Error("Cannot check members 2FA status");let{data:y,error:C}=await J.rpc("has_2fa_enabled");if(C)throw q.error(`Cannot check your 2FA status: ${m(C)}`),Error("Cannot check your 2FA status");let{data:c,error:S}=await J.rpc("get_identity_apikey_only",{keymode:["read","upload","write","all"]});if(S||!c)throw q.error(`Cannot get current user identity: ${S?m(S):"No user ID returned"}`),Error("Cannot get current user identity");let p=I?.filter((u)=>!u["2fa_enabled"]&&u.user_id!==c)||[];if(p.length>0||!y){if(q.warn("⚠️ Warning: Enabling 2FA enforcement will affect access"),q.message("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),!y)q.warn("\uD83D\uDD10 YOU do not have 2FA enabled! By enabling 2FA enforcement, you will LOSE ACCESS to this organization until you enable 2FA on your account.");if(p.length>0){let{data:J0,error:_}=await J.rpc("get_org_members",{guild_id:D});if(_)throw q.error(`Cannot get organization members: ${m(_)}`),Error("Cannot get organization members");let N=new Map(J0?.map((v)=>[v.uid,v])||[]),A=p.map((v)=>{return N.get(v.user_id)?.email||v.user_id}),R=p.length===1?"member does":"members do",P=p.length===1?"This member will":"These members will";q.warn(`${p.length} ${R} not have 2FA enabled: ${A.join(", ")}`),q.warn(`${P} lose access until they enable 2FA.`)}let u=await j0({message:"Are you sure you want to enable 2FA enforcement?"});if(R0(u)||!u)throw q.error("Canceled enabling 2FA enforcement"),Error("2FA enforcement cancelled")}q.info("Enabling 2FA enforcement for organization...")}else if(!H&&W.enforcing_2fa)q.info("Disabling 2FA enforcement for organization...")}let{error:E}=await J.from("orgs").update({enforcing_2fa:H}).eq("id",D);if(E){if(!X)q.error(`Could not update 2FA enforcement: ${m(E)}`);throw Error(`Could not update 2FA enforcement: ${m(E)}`)}if(!X)if(H)q.success("✓ 2FA enforcement enabled for this organization");else q.success("✓ 2FA enforcement disabled for this organization");if(G===void 0&&B===void 0&&!(F!==void 0||V!==void 0||L!==void 0||O!==void 0)){if(await C0(Q.apikey,{channel:"organization",event:H?"Organization 2FA Enabled":"Organization 2FA Disabled",icon:"\uD83D\uDD10",user_id:D,tags:{"org-name":W.name,"enforce-2fa":H.toString()},notify:!1}).catch(()=>{}),!X)e("Done ✅");return{orgId:D,name:W.name,email:W.management_email,enforce2fa:H}}}if(F!==void 0){if(!X)if(F){q.info("Configuring password policy for organization...");let{data:I,error:x}=await J.rpc("check_org_members_password_policy",{org_id:D});if(x){if(!x.message?.includes("NO_RIGHTS"))q.warn(`Cannot check members password policy status: ${m(x)}`)}else if(I){let y=I.filter((C)=>!C.password_policy_compliant);if(y.length>0){q.warn(`⚠️ Warning: ${y.length} member(s) do not meet the password policy requirements`),q.warn("These members will need to update their passwords to regain access.");let C=await j0({message:"Are you sure you want to enable the password policy?"});if(R0(C)||!C)throw q.error("Canceled enabling password policy"),Error("Password policy configuration cancelled")}}}else q.info("Disabling password policy for organization...");let E={enabled:F,min_length:K??10,require_uppercase:U??!0,require_number:z??!0,require_special:w??!0},{error:j}=await J.from("orgs").update({password_policy_config:E}).eq("id",D);if(j){if(!X)q.error(`Could not update password policy: ${m(j)}`);throw Error(`Could not update password policy: ${m(j)}`)}if(!X)if(F)q.success("✓ Password policy enabled for this organization"),q.info(` - Minimum length: ${E.min_length} characters`),q.info(` - Require uppercase: ${E.require_uppercase?"Yes":"No"}`),q.info(` - Require number: ${E.require_number?"Yes":"No"}`),q.info(` - Require special character: ${E.require_special?"Yes":"No"}`);else q.success("✓ Password policy disabled for this organization");if(G===void 0&&B===void 0&&H===void 0&&V===void 0&&L===void 0&&O===void 0){if(await C0(Q.apikey,{channel:"organization",event:F?"Password Policy Enabled":"Password Policy Disabled",icon:"\uD83D\uDD11",user_id:D,tags:{"org-name":W.name},notify:!1}).catch(()=>{}),!X)e("Done ✅");return{orgId:D,name:W.name,email:W.management_email,passwordPolicy:F}}}if(V!==void 0||L!==void 0||O!==void 0){if(!X)q.info("Updating API key security settings...");if(L!==void 0&&L!==null){if(L<1||L>365){if(!X)q.error("Maximum API key expiration days must be between 1 and 365");throw Error("Maximum API key expiration days must be between 1 and 365")}}let E={};if(V!==void 0)E.require_apikey_expiration=V;if(L!==void 0)E.max_apikey_expiration_days=L;if(O!==void 0)E.enforce_hashed_api_keys=O;let{error:j}=await J.from("orgs").update(E).eq("id",D);if(j){if(!X)q.error(`Could not update API key settings: ${m(j)}`);throw Error(`Could not update API key settings: ${m(j)}`)}if(!X){if(V!==void 0)q.success(`✓ API key expiration requirement: ${V?"Enabled":"Disabled"}`);if(L!==void 0)if(L===null)q.success("✓ Maximum API key expiration days: No limit");else q.success(`✓ Maximum API key expiration days: ${L}`);if(O!==void 0)q.success(`✓ Hashed API keys enforcement: ${O?"Enabled":"Disabled"}`)}if(G===void 0&&B===void 0&&H===void 0&&F===void 0){if(await C0(Q.apikey,{channel:"organization",event:"API Key Settings Updated",icon:"\uD83D\uDD10",user_id:D,tags:{"org-name":W.name},notify:!1}).catch(()=>{}),!X)e("Done ✅");return{orgId:D,name:W.name,email:W.management_email}}}if(!X&&!G){let E=await h8({message:"New organization name:",placeholder:W.name||"My Organization"});if(R0(E))throw q.error("Canceled updating organization"),Error("Organization update cancelled");G=E}if(!X&&!B){let E=await h8({message:"Management email:",placeholder:W.management_email||"admin@example.com"});if(R0(E))throw q.error("Canceled updating organization"),Error("Organization update cancelled");B=E}if(!G||!B){if(!X)q.error("Missing arguments, you need to provide an organization name and management email");throw Error("Missing organization name or management email")}if(!X)q.info(`Updating organization "${D}"`);let{error:M}=await J.from("orgs").update({name:G,management_email:B}).eq("id",D);if(M){if(!X)q.error(`Could not update organization ${m(M)}`);throw Error(`Could not update organization: ${m(M)}`)}if(await C0(Q.apikey,{channel:"organization",event:"Organization Updated",icon:"✏️",user_id:D,tags:{"org-name":G},notify:!1}).catch(()=>{}),!X)q.success("Organization updated"),e("Done ✅");return{orgId:D,name:G,email:B,enforce2fa:H??W.enforcing_2fa}}async function f$(D,Y){await mU(D,Y,!1)}async function cU(D,Y=!1){if(!Y)F0("Getting user id");let X={...D,apikey:D.apikey||X0()};if(!X.apikey){if(!Y)q.error("Missing API key, you need to provide an API key to fetch the user id");throw Error("Missing API key")}try{let Q=await V0(X.apikey,X.supaHost,X.supaAnon),J=await Z0(Q,X.apikey,["read","all","write"]);if(!Y)e(`Done ✅: ${J}`);return J}catch(Q){if(!Y)q.error(`Error getting user id ${m(Q)}`);throw Q instanceof Error?Q:Error(String(Q))}}async function af(D){await cU(D,!1)}function r0(D){let Y=D instanceof Error?D.message:String(D),X=I4(D);return{success:!1,error:Y,isSecurityPolicyError:X.isSecurityPolicyError,securityPolicyMessage:X.isSecurityPolicyError?X.message:void 0}}class lU{apikey;supaHost;supaAnon;constructor(D){this.apikey=D?.apikey,this.supaHost=D?.supaHost,this.supaAnon=D?.supaAnon}async login(D){try{return await qY(D.apikey,{local:D.local??!1,supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon},!0),{success:!0}}catch(Y){return r0(Y)}}async doctor(D){try{return{success:!0,data:await P2({packageJson:D?.packageJson},!0)}}catch(Y){return r0(Y)}}async addApp(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,icon:D.icon};return await i3(D.appId,Y,void 0,!0),{success:!0}}catch(Y){return r0(Y)}}async updateApp(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,icon:D.icon,retention:D.retention};return await C2(D.appId,Y,!0),{success:!0}}catch(Y){return r0(Y)}}async deleteApp(D,Y=!1){try{let X={apikey:this.apikey||X0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return await S2(D,X,!1,Y),{success:!0}}catch(X){return r0(X)}}async listApps(){try{let D={apikey:this.apikey||X0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:(await I2(D,!1)).map((Q)=>({appId:Q.app_id,name:Q.name||"Unknown",iconUrl:Q.icon_url||void 0,createdAt:new Date(Q.created_at||"")}))}}catch(D){return r0(D)}}async getAccountId(D){try{let Y={apikey:D?.apikey||this.apikey||X0(!0),supaHost:D?.supaHost||this.supaHost,supaAnon:D?.supaAnon||this.supaAnon};return{success:!0,data:await cU(Y,!0)}}catch(Y){return r0(Y)}}async checkBundleCompatibility(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),channel:D.channel,text:D.textOutput??!1,packageJson:D.packageJson,nodeModules:D.nodeModules,supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon};return{success:!0,data:(await t3(D.appId,Y,!0)).finalCompatibility}}catch(Y){return r0(Y)}}async encryptBundle(D){try{return{success:!0,data:await i2(D.zipPath,D.checksum,{key:D.keyPath,keyData:D.keyData,json:D.json,packageJson:D.packageJson},!0)}}catch(Y){return r0(Y)}}async decryptBundle(D){try{return{success:!0,data:await d2(D.zipPath,D.ivSessionKey,{key:D.keyPath,keyData:D.keyData,checksum:D.checksum,packageJson:D.packageJson},!0)}}catch(Y){return r0(Y)}}async zipBundle(D){try{return{success:!0,data:await EF(D.appId,{apikey:this.apikey||X0(!0),path:D.path,bundle:D.bundle,name:D.name,codeCheck:D.codeCheck,json:D.json,keyV2:D.keyV2,packageJson:D.packageJson},!0)}}catch(Y){return r0(Y)}}async uploadBundle(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,path:D.path,bundle:D.bundle,channel:D.channel,external:D.external,key:D.encrypt!==!1,keyV2:D.encryptionKey,timeout:D.timeout,tus:D.useTus,comment:D.comment,minUpdateVersion:D.minUpdateVersion,autoMinUpdateVersion:D.autoMinUpdateVersion,selfAssign:D.selfAssign,packageJson:D.packageJsonPaths,ignoreMetadataCheck:D.ignoreCompatibilityCheck,codeCheck:!D.disableCodeCheck,zip:D.useZip},X=await o4(D.appId,Y,!0);return{success:X.success,bundleId:X.bundle,checksum:X.checksum??null,encryptionMethod:X.encryptionMethod,sessionKey:X.sessionKey,ivSessionKey:X.ivSessionKey,storageProvider:X.storageProvider,skipped:X.skipped,reason:X.reason}}catch(Y){return r0(Y)}}async listBundles(D){try{let Y=this.apikey||X0(!0),X=await V0(Y,this.supaHost,this.supaAnon);return{success:!0,data:(await l4(X,D)).map((W)=>({id:W.id.toString(),version:W.name,uploadedAt:new Date(W.created_at||""),size:0,encrypted:W.session_key!==null}))}}catch(Y){return r0(Y)}}async deleteBundle(D,Y){try{let X={apikey:this.apikey||X0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,bundle:Y};return await p2(Y,D,X,!0),{success:!0}}catch(X){return r0(X)}}async cleanupBundles(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,bundle:D.bundle||"",version:"",keep:D.keep||4,force:D.force||!1,ignoreChannel:D.ignoreChannel||!1};return{success:!0,data:await u2(D.appId,Y,!0)}}catch(Y){return r0(Y)}}async requestBuild(D){try{let Y=D.credentials,X={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,path:D.path,platform:D.platform,userId:D.userId,buildCertificateBase64:Y?.BUILD_CERTIFICATE_BASE64,buildProvisionProfileBase64:Y?.BUILD_PROVISION_PROFILE_BASE64,buildProvisionProfileBase64Prod:Y?.BUILD_PROVISION_PROFILE_BASE64_PROD,p12Password:Y?.P12_PASSWORD,appleKeyId:Y?.APPLE_KEY_ID,appleIssuerId:Y?.APPLE_ISSUER_ID,appleKeyContent:Y?.APPLE_KEY_CONTENT,appStoreConnectTeamId:Y?.APP_STORE_CONNECT_TEAM_ID,androidKeystoreFile:Y?.ANDROID_KEYSTORE_FILE,keystoreKeyAlias:Y?.KEYSTORE_KEY_ALIAS,keystoreKeyPassword:Y?.KEYSTORE_KEY_PASSWORD,keystoreStorePassword:Y?.KEYSTORE_STORE_PASSWORD,playConfigJson:Y?.PLAY_CONFIG_JSON},Q=await f2(D.appId,X,!0);if(Q.success&&Q.jobId)return{success:!0,data:{jobId:Q.jobId,uploadUrl:Q.uploadUrl||"",status:Q.status||"unknown"}};return{success:!1,error:Q.error||"Unknown error during build request"}}catch(Y){return r0(Y)}}async getCurrentBundle(D,Y,X){try{let Q={apikey:X?.apikey||this.apikey||X0(!0),quiet:!0,supaHost:X?.supaHost||this.supaHost,supaAnon:X?.supaAnon||this.supaAnon};return{success:!0,data:await RF(Y,D,Q,!0)}}catch(Q){return r0(Q)}}async addChannel(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,default:D.default,selfAssign:D.selfAssign};return await HY(D.channelId,D.appId,Y,!0),{success:!0}}catch(Y){return r0(Y)}}async updateChannel(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,bundle:D.bundle??void 0,state:D.state,downgrade:D.downgrade,ios:D.ios,android:D.android,selfAssign:D.selfAssign,disableAutoUpdate:D.disableAutoUpdate??void 0,dev:D.dev,emulator:D.emulator,device:D.device,prod:D.prod,latest:!1,latestRemote:!1,packageJson:void 0,ignoreMetadataCheck:!1};return await SF(D.channelId,D.appId,Y,!0),{success:!0}}catch(Y){return r0(Y)}}async deleteChannel(D,Y,X=!1){try{let Q={apikey:this.apikey||X0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,deleteBundle:X,successIfNotFound:!1};return await jF(D,Y,Q,!0),{success:!0}}catch(Q){return r0(Q)}}async listChannels(D){try{let Y={apikey:this.apikey||X0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:await TF(D,Y,!0)}}catch(Y){return r0(Y)}}async generateEncryptionKeys(D){try{return await FY({force:D?.force,setupChannel:D?.setupChannel},!0),{success:!0}}catch(Y){return r0(Y)}}async saveEncryptionKey(D){try{return await kF({key:D?.keyPath,keyData:D?.keyData,setupChannel:D?.setupChannel},!0),{success:!0}}catch(Y){return r0(Y)}}async deleteLegacyEncryptionKey(D){try{return{success:!0,data:{deleted:await vF({force:D?.force,setupChannel:D?.setupChannel},!0)}}}catch(Y){return r0(Y)}}async listOrganizations(D){try{let Y={apikey:D?.apikey||this.apikey||X0(!0),supaHost:D?.supaHost||this.supaHost,supaAnon:D?.supaAnon||this.supaAnon};return{success:!0,data:(await uU(Y,!0)).map((J)=>({id:String(J.id??J.gid??""),name:J.name??"Unknown",role:J.role??void 0,appCount:typeof J.app_count==="number"?J.app_count:void 0,email:J.management_email??void 0,createdAt:J.created_at?new Date(J.created_at):void 0}))}}catch(Y){return r0(Y)}}async addOrganization(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,email:D.email},X=await hU(Y,!0);return{success:!0,data:{id:String(X.id??X.gid??""),name:X.name??D.name,role:"owner",appCount:0,email:X.management_email??D.email,createdAt:X.created_at?new Date(X.created_at):void 0}}}catch(Y){return r0(Y)}}async updateOrganization(D){try{let Y={apikey:D.apikey||this.apikey||X0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,email:D.email},X=await mU(D.orgId,Y,!0);return{success:!0,data:{id:X.orgId,name:X.name,email:X.email}}}catch(Y){return r0(Y)}}async deleteOrganization(D,Y){try{let X={apikey:Y?.apikey||this.apikey||X0(!0),supaHost:Y?.supaHost||this.supaHost,supaAnon:Y?.supaAnon||this.supaAnon,autoConfirm:Y?.autoConfirm??!0};return{success:!0,data:{deleted:await gU(D,X,!0)}}}catch(X){return r0(X)}}async getStats(D){try{let Y=D.apikey||this.apikey||X0(!0),X=await c8(),Q={appId:D.appId,devicesId:D.deviceIds,search:D.search,order:D.order,rangeStart:D.after||D.rangeStart,rangeEnd:D.rangeEnd,limit:D.limit},J=await fetch(`${X.hostApi}/private/stats`,{method:"POST",headers:{"Content-Type":"application/json",capgkey:Y},body:JSON.stringify(Q)});if(!J.ok)throw Error(`HTTP error! status: ${J.status}`);return{success:!0,data:(await J.json()).map((G)=>({appId:G.app_id,deviceId:G.device_id,action:G.action,versionId:G.version_id,version:G.version,createdAt:G.created_at}))}}catch(Y){return r0(Y)}}async setAppSetting(D,Y){try{return await x2(D,{apikey:Y.apikey||this.apikey||X0(!0),bool:Y.bool,string:Y.string},!0),{success:!0}}catch(X){return r0(X)}}}function m1(D){let Y=D.error||"Unknown error";if(D.isSecurityPolicyError&&D.securityPolicyMessage)Y=`Security Policy Error:
|
|
441
441
|
|
|
442
|
-
${D.securityPolicyMessage}`;return{content:[{type:"text",text:Y}],isError:!0}}async function of(){let D=new vU({name:"capgo",version:f8.version}),Y=X0(!0),X=new lU({apikey:Y});D.tool("capgo_list_apps","List all apps registered in your Capgo Cloud account",{},async()=>{let J=await X.listApps();if(!J.success)return c1(J);return{content:[{type:"text",text:JSON.stringify(J.data,null,2)}]}}),D.tool("capgo_add_app","Register a new app in Capgo Cloud",{appId:G0.string().describe("App ID in reverse domain format (e.g., com.example.app)"),name:G0.string().optional().describe("Display name for the app"),icon:G0.string().optional().describe("Path to app icon file")},async({appId:J,name:W,icon:$})=>{let G=await X.addApp({appId:J,name:W,icon:$});if(!G.success)return c1(G);return{content:[{type:"text",text:`Successfully added app: ${J}`}]}}),D.tool("capgo_update_app","Update settings for an existing app in Capgo Cloud",{appId:G0.string().describe("App ID to update"),name:G0.string().optional().describe("New display name"),icon:G0.string().optional().describe("New icon path"),retention:G0.number().optional().describe("Days to keep old bundles (0 = infinite)")},async({appId:J,name:W,icon:$,retention:G})=>{let B=await X.updateApp({appId:J,name:W,icon:$,retention:G});if(!B.success)return c1(B);return{content:[{type:"text",text:`Successfully updated app: ${J}`}]}}),D.tool("capgo_delete_app","Delete an app from Capgo Cloud",{appId:G0.string().describe("App ID to delete")},async({appId:J})=>{let W=await X.deleteApp(J,!0);if(!W.success)return c1(W);return{content:[{type:"text",text:`Successfully deleted app: ${J}`}]}}),D.tool("capgo_upload_bundle","Upload a new app bundle to Capgo Cloud for distribution",{appId:G0.string().describe("App ID to upload bundle for"),path:G0.string().describe("Path to the build folder to upload"),bundle:G0.string().optional().describe("Bundle version number"),channel:G0.string().optional().describe("Channel to link the bundle to"),comment:G0.string().optional().describe("Comment or release notes for this version"),minUpdateVersion:G0.string().optional().describe("Minimum version required to update to this version"),autoMinUpdateVersion:G0.boolean().optional().describe("Automatically set min update version based on native packages"),encrypt:G0.boolean().optional().describe("Enable encryption for the bundle")},async({appId:J,path:W,bundle:$,channel:G,comment:B,minUpdateVersion:H,autoMinUpdateVersion:F,encrypt:K})=>{let U=await X.uploadBundle({appId:J,path:W,bundle:$,channel:G,comment:B,minUpdateVersion:H,autoMinUpdateVersion:F,encrypt:K});if(!U.success)return c1(U);return{content:[{type:"text",text:JSON.stringify({message:"Bundle uploaded successfully",bundleId:U.bundleId,checksum:U.checksum,skipped:U.skipped,reason:U.reason},null,2)}]}}),D.tool("capgo_list_bundles","List all bundles uploaded for an app",{appId:G0.string().describe("App ID to list bundles for")},async({appId:J})=>{let W=await X.listBundles(J);if(!W.success)return c1(W);return{content:[{type:"text",text:JSON.stringify(W.data,null,2)}]}}),D.tool("capgo_delete_bundle","Delete a specific bundle from Capgo Cloud",{appId:G0.string().describe("App ID"),bundleId:G0.string().describe("Bundle version to delete")},async({appId:J,bundleId:W})=>{let $=await X.deleteBundle(J,W);if(!$.success)return c1($);return{content:[{type:"text",text:`Successfully deleted bundle: ${W}`}]}}),D.tool("capgo_cleanup_bundles","Delete old bundles, keeping only recent versions",{appId:G0.string().describe("App ID to cleanup bundles for"),keep:G0.number().optional().describe("Number of versions to keep (default: 4)"),bundle:G0.string().optional().describe("Bundle version pattern to cleanup"),force:G0.boolean().optional().describe("Force removal without confirmation"),ignoreChannel:G0.boolean().optional().describe("Delete bundles even if linked to channels")},async({appId:J,keep:W,bundle:$,force:G,ignoreChannel:B})=>{let H=await X.cleanupBundles({appId:J,keep:W,bundle:$,force:G??!0,ignoreChannel:B});if(!H.success)return c1(H);return{content:[{type:"text",text:JSON.stringify({message:"Cleanup completed",removed:H.data?.removed,kept:H.data?.kept},null,2)}]}}),D.tool("capgo_check_compatibility","Check bundle compatibility with a specific channel",{appId:G0.string().describe("App ID to check"),channel:G0.string().describe("Channel to check compatibility with"),packageJson:G0.string().optional().describe("Path to package.json for monorepos")},async({appId:J,channel:W,packageJson:$})=>{let G=await X.checkBundleCompatibility({appId:J,channel:W,packageJson:$});if(!G.success)return c1(G);return{content:[{type:"text",text:JSON.stringify(G.data,null,2)}]}}),D.tool("capgo_list_channels","List all channels for an app",{appId:G0.string().describe("App ID to list channels for")},async({appId:J})=>{let W=await X.listChannels(J);if(!W.success)return c1(W);return{content:[{type:"text",text:JSON.stringify(W.data,null,2)}]}}),D.tool("capgo_add_channel","Create a new distribution channel for an app",{appId:G0.string().describe("App ID"),channelId:G0.string().describe("Channel name/ID to create"),default:G0.boolean().optional().describe("Set as default channel"),selfAssign:G0.boolean().optional().describe("Allow devices to self-assign to this channel")},async({appId:J,channelId:W,default:$,selfAssign:G})=>{let B=await X.addChannel({appId:J,channelId:W,default:$,selfAssign:G});if(!B.success)return c1(B);return{content:[{type:"text",text:`Successfully created channel: ${W}`}]}}),D.tool("capgo_update_channel","Update channel settings including linked bundle and targeting options",{appId:G0.string().describe("App ID"),channelId:G0.string().describe("Channel name/ID to update"),bundle:G0.string().optional().describe("Bundle version to link to this channel"),state:G0.string().optional().describe('Channel state: "default" or "normal"'),downgrade:G0.boolean().optional().describe("Allow downgrading to versions below native"),ios:G0.boolean().optional().describe("Enable updates for iOS devices"),android:G0.boolean().optional().describe("Enable updates for Android devices"),selfAssign:G0.boolean().optional().describe("Allow device self-assignment"),disableAutoUpdate:G0.string().optional().describe("Block updates by type: major, minor, metadata, patch, or none"),dev:G0.boolean().optional().describe("Enable updates for development builds"),emulator:G0.boolean().optional().describe("Enable updates for emulators"),device:G0.boolean().optional().describe("Enable updates for physical devices"),prod:G0.boolean().optional().describe("Enable updates for production builds")},async({appId:J,channelId:W,bundle:$,state:G,downgrade:B,ios:H,android:F,selfAssign:K,disableAutoUpdate:U,dev:z,emulator:w,device:V,prod:L})=>{let O=await X.updateChannel({appId:J,channelId:W,bundle:$,state:G,downgrade:B,ios:H,android:F,selfAssign:K,disableAutoUpdate:U,dev:z,emulator:w,device:V,prod:L});if(!O.success)return c1(O);return{content:[{type:"text",text:`Successfully updated channel: ${W}`}]}}),D.tool("capgo_delete_channel","Delete a channel from an app",{appId:G0.string().describe("App ID"),channelId:G0.string().describe("Channel name/ID to delete"),deleteBundle:G0.boolean().optional().describe("Also delete the bundle linked to this channel")},async({appId:J,channelId:W,deleteBundle:$})=>{let G=await X.deleteChannel(W,J,$);if(!G.success)return c1(G);return{content:[{type:"text",text:`Successfully deleted channel: ${W}`}]}}),D.tool("capgo_get_current_bundle","Get the current bundle linked to a specific channel",{appId:G0.string().describe("App ID"),channelId:G0.string().describe("Channel name/ID")},async({appId:J,channelId:W})=>{let $=await X.getCurrentBundle(J,W);if(!$.success)return c1($);return{content:[{type:"text",text:JSON.stringify({channel:W,currentBundle:$.data},null,2)}]}}),D.tool("capgo_list_organizations","List all organizations you have access to",{},async()=>{let J=await X.listOrganizations();if(!J.success)return c1(J);return{content:[{type:"text",text:JSON.stringify(J.data,null,2)}]}}),D.tool("capgo_add_organization","Create a new organization for team collaboration",{name:G0.string().describe("Organization name"),email:G0.string().describe("Management email for the organization")},async({name:J,email:W})=>{let $=await X.addOrganization({name:J,email:W});if(!$.success)return c1($);return{content:[{type:"text",text:JSON.stringify({message:"Organization created successfully",...$.data},null,2)}]}}),D.tool("capgo_get_account_id","Get the account ID associated with the current API key",{},async()=>{let J=await X.getAccountId();if(!J.success)return c1(J);return{content:[{type:"text",text:JSON.stringify({accountId:J.data},null,2)}]}}),D.tool("capgo_doctor","Run diagnostics on the Capgo installation and get system information",{packageJson:G0.string().optional().describe("Path to package.json for monorepos")},async({packageJson:J})=>{let W=await X.doctor({packageJson:J});if(!W.success)return c1(W);return{content:[{type:"text",text:JSON.stringify(W.data,null,2)}]}}),D.tool("capgo_get_stats","Get device statistics and logs from Capgo backend for debugging",{appId:G0.string().describe("App ID to get stats for"),deviceIds:G0.array(G0.string()).optional().describe("Filter by specific device IDs"),limit:G0.number().optional().describe("Maximum number of results to return"),rangeStart:G0.string().optional().describe("Start date/time for range filter (ISO string)"),rangeEnd:G0.string().optional().describe("End date/time for range filter (ISO string)")},async({appId:J,deviceIds:W,limit:$,rangeStart:G,rangeEnd:B})=>{let H=await X.getStats({appId:J,deviceIds:W,limit:$,rangeStart:G,rangeEnd:B});if(!H.success)return c1(H);return{content:[{type:"text",text:JSON.stringify(H.data,null,2)}]}}),D.tool("capgo_request_build","Request a native iOS/Android build from Capgo Cloud",{appId:G0.string().describe("App ID to build"),platform:G0.enum(["ios","android"]).describe("Target platform"),path:G0.string().optional().describe("Path to project directory")},async({appId:J,platform:W,path:$})=>{let G=await X.requestBuild({appId:J,platform:W,path:$});if(!G.success)return c1(G);return{content:[{type:"text",text:JSON.stringify({message:"Build requested successfully",...G.data},null,2)}]}}),D.tool("capgo_generate_encryption_keys","Generate RSA key pair for end-to-end encryption of bundles",{force:G0.boolean().optional().describe("Overwrite existing keys if they exist")},async({force:J})=>{let W=await X.generateEncryptionKeys({force:J});if(!W.success)return c1(W);return{content:[{type:"text",text:"Encryption keys generated successfully. Private key saved to .capgo_key_v2, public key to .capgo_key_v2.pub"}]}});let Q=new fU;await D.connect(Q)}function Oq0(D,Y,X){if(X)return;if(!D.length){q.error("No members found");return}let Q=new G1;Q.headers=Y.hasPasswordPolicy?["Email","Role","Status","2FA Enabled","Password Policy"]:["Email","Role","Status","2FA Enabled"],Q.rows=[];for(let J of D){let W=J.is_tmp?"Invited":"Active",$=J.has_2fa?"✓ Yes":"✗ No",G=J.password_policy_compliant?"✓ Compliant":"✗ Non-compliant",B=[J.email,J.role,W,$];if(Y.hasPasswordPolicy)B.push(G);Q.rows.push(B)}q.success(`Members of "${Y.orgName}"`),q.success(Q.toString())}async function Nq0(D,Y,X=!1){if(!X)F0("List organization members");await f0();let Q={...Y,apikey:Y.apikey||X0()};if(!Q.apikey){if(!X)q.error("Missing API key, you need to provide an API key to list members");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let J=await V0(Q.apikey,Q.supaHost,Q.supaAnon);await Z0(J,Q.apikey,["read","write","all"]),await y4(J,D,X);let{data:W,error:$}=await J.from("orgs").select("name, enforcing_2fa, password_policy_config, require_apikey_expiration, max_apikey_expiration_days, enforce_hashed_api_keys").eq("id",D).single();if($||!W){if(!X)q.error(`Cannot get organization details: ${m($)}`);throw Error(`Cannot get organization details: ${m($)}`)}let G=W.password_policy_config,B=G?.enabled??!1;if(!X)q.info(`Getting members of "${W.name}" from Capgo`);let{data:H,error:F}=await J.rpc("get_org_members",{guild_id:D});if(F){if(!X)q.error(`Cannot get organization members: ${m(F)}`);throw Error(`Cannot get organization members: ${m(F)}`)}let{data:K,error:U}=await J.rpc("check_org_members_2fa_enabled",{org_id:D});if(U){if(!X)if(U.message?.includes("NO_RIGHTS"))q.warn("You need super_admin rights to view 2FA status of members");else q.error(`Cannot get 2FA status: ${m(U)}`)}let z=null;if(B){let{data:V,error:L}=await J.rpc("check_org_members_password_policy",{org_id:D});if(L){if(!X)if(L.message?.includes("NO_RIGHTS"))q.warn("You need super_admin rights to view password policy compliance status");else q.warn(`Cannot get password policy status: ${m(L)}`)}else z=V}let w=(H||[]).map((V)=>{let L=K?.find((Z)=>Z.user_id===V.uid),O=z?.find((Z)=>Z.user_id===V.uid);return{uid:V.uid,email:V.email,role:V.role,is_tmp:V.is_tmp,has_2fa:L?.["2fa_enabled"]??!1,password_policy_compliant:O?.password_policy_compliant??!1}});if(!X){if(q.info(`Members found: ${w.length}`),q.info(""),q.info("Security Settings:"),W.enforcing_2fa)q.info(" \uD83D\uDD10 2FA enforcement: ENABLED");else q.info(" 2FA enforcement: Disabled");if(B)q.info(" \uD83D\uDD11 Password policy: ENABLED"),q.info(` - Minimum length: ${G.min_length} characters`),q.info(` - Require uppercase: ${G.require_uppercase?"Yes":"No"}`),q.info(` - Require number: ${G.require_number?"Yes":"No"}`),q.info(` - Require special: ${G.require_special?"Yes":"No"}`);else q.info(" Password policy: Disabled");if(W.require_apikey_expiration){if(q.info(" ⏰ API key expiration required: ENABLED"),W.max_apikey_expiration_days)q.info(` - Maximum expiration: ${W.max_apikey_expiration_days} days`)}else q.info(" API key expiration required: Disabled");if(W.enforce_hashed_api_keys)q.info(" \uD83D\uDD12 Hashed API keys: ENABLED");else q.info(" Hashed API keys: Disabled");q.info("");let V=w.filter((O)=>!O.is_tmp),L=V.filter((O)=>!O.has_2fa);if(q.info("Member Summary:"),q.info(` Total active members: ${V.length}`),q.info(` Members with 2FA: ${V.length-L.length}`),q.info(` Members without 2FA: ${L.length}`),B){let O=V.filter((Z)=>!Z.password_policy_compliant);q.info(` Password policy compliant: ${V.length-O.length}`),q.info(` Password policy non-compliant: ${O.length}`)}q.info(""),Oq0(w,{orgName:W.name,hasPasswordPolicy:B},X),e("Done ✅")}return w}async function dU(D,Y){await Nq0(D,Y,!1)}var n={apikey:"API key to link to your account",supaHost:"Custom Supabase host URL (for self-hosting or Capgo development)",supaAnon:"Custom Supabase anon key (for self-hosting)",packageJson:"Paths to package.json files for monorepos (comma-separated)",nodeModules:"Paths to node_modules directories for monorepos (comma-separated)",verbose:"Enable verbose output with detailed logging"};l1.name(f8.name).description("\uD83D\uDCE6 Manage packages and bundle versions in Capgo Cloud").version(f8.version,"-v, --version","output the current version");l1.command("init [apikey] [appId]").alias("i").description(`\uD83D\uDE80 Initialize a new app in Capgo Cloud with step-by-step guidance.
|
|
442
|
+
${D.securityPolicyMessage}`;return{content:[{type:"text",text:Y}],isError:!0}}async function of(){let D=new vU({name:"capgo",version:f8.version}),Y=X0(!0),X=new lU({apikey:Y});D.tool("capgo_list_apps","List all apps registered in your Capgo Cloud account",{},async()=>{let J=await X.listApps();if(!J.success)return m1(J);return{content:[{type:"text",text:JSON.stringify(J.data,null,2)}]}}),D.tool("capgo_add_app","Register a new app in Capgo Cloud",{appId:G0.string().describe("App ID in reverse domain format (e.g., com.example.app)"),name:G0.string().optional().describe("Display name for the app"),icon:G0.string().optional().describe("Path to app icon file")},async({appId:J,name:W,icon:$})=>{let G=await X.addApp({appId:J,name:W,icon:$});if(!G.success)return m1(G);return{content:[{type:"text",text:`Successfully added app: ${J}`}]}}),D.tool("capgo_update_app","Update settings for an existing app in Capgo Cloud",{appId:G0.string().describe("App ID to update"),name:G0.string().optional().describe("New display name"),icon:G0.string().optional().describe("New icon path"),retention:G0.number().optional().describe("Days to keep old bundles (0 = infinite)")},async({appId:J,name:W,icon:$,retention:G})=>{let B=await X.updateApp({appId:J,name:W,icon:$,retention:G});if(!B.success)return m1(B);return{content:[{type:"text",text:`Successfully updated app: ${J}`}]}}),D.tool("capgo_delete_app","Delete an app from Capgo Cloud",{appId:G0.string().describe("App ID to delete")},async({appId:J})=>{let W=await X.deleteApp(J,!0);if(!W.success)return m1(W);return{content:[{type:"text",text:`Successfully deleted app: ${J}`}]}}),D.tool("capgo_upload_bundle","Upload a new app bundle to Capgo Cloud for distribution",{appId:G0.string().describe("App ID to upload bundle for"),path:G0.string().describe("Path to the build folder to upload"),bundle:G0.string().optional().describe("Bundle version number"),channel:G0.string().optional().describe("Channel to link the bundle to"),comment:G0.string().optional().describe("Comment or release notes for this version"),minUpdateVersion:G0.string().optional().describe("Minimum version required to update to this version"),autoMinUpdateVersion:G0.boolean().optional().describe("Automatically set min update version based on native packages"),encrypt:G0.boolean().optional().describe("Enable encryption for the bundle")},async({appId:J,path:W,bundle:$,channel:G,comment:B,minUpdateVersion:H,autoMinUpdateVersion:F,encrypt:K})=>{let U=await X.uploadBundle({appId:J,path:W,bundle:$,channel:G,comment:B,minUpdateVersion:H,autoMinUpdateVersion:F,encrypt:K});if(!U.success)return m1(U);return{content:[{type:"text",text:JSON.stringify({message:"Bundle uploaded successfully",bundleId:U.bundleId,checksum:U.checksum,skipped:U.skipped,reason:U.reason},null,2)}]}}),D.tool("capgo_list_bundles","List all bundles uploaded for an app",{appId:G0.string().describe("App ID to list bundles for")},async({appId:J})=>{let W=await X.listBundles(J);if(!W.success)return m1(W);return{content:[{type:"text",text:JSON.stringify(W.data,null,2)}]}}),D.tool("capgo_delete_bundle","Delete a specific bundle from Capgo Cloud",{appId:G0.string().describe("App ID"),bundleId:G0.string().describe("Bundle version to delete")},async({appId:J,bundleId:W})=>{let $=await X.deleteBundle(J,W);if(!$.success)return m1($);return{content:[{type:"text",text:`Successfully deleted bundle: ${W}`}]}}),D.tool("capgo_cleanup_bundles","Delete old bundles, keeping only recent versions",{appId:G0.string().describe("App ID to cleanup bundles for"),keep:G0.number().optional().describe("Number of versions to keep (default: 4)"),bundle:G0.string().optional().describe("Bundle version pattern to cleanup"),force:G0.boolean().optional().describe("Force removal without confirmation"),ignoreChannel:G0.boolean().optional().describe("Delete bundles even if linked to channels")},async({appId:J,keep:W,bundle:$,force:G,ignoreChannel:B})=>{let H=await X.cleanupBundles({appId:J,keep:W,bundle:$,force:G??!0,ignoreChannel:B});if(!H.success)return m1(H);return{content:[{type:"text",text:JSON.stringify({message:"Cleanup completed",removed:H.data?.removed,kept:H.data?.kept},null,2)}]}}),D.tool("capgo_check_compatibility","Check bundle compatibility with a specific channel",{appId:G0.string().describe("App ID to check"),channel:G0.string().describe("Channel to check compatibility with"),packageJson:G0.string().optional().describe("Path to package.json for monorepos")},async({appId:J,channel:W,packageJson:$})=>{let G=await X.checkBundleCompatibility({appId:J,channel:W,packageJson:$});if(!G.success)return m1(G);return{content:[{type:"text",text:JSON.stringify(G.data,null,2)}]}}),D.tool("capgo_list_channels","List all channels for an app",{appId:G0.string().describe("App ID to list channels for")},async({appId:J})=>{let W=await X.listChannels(J);if(!W.success)return m1(W);return{content:[{type:"text",text:JSON.stringify(W.data,null,2)}]}}),D.tool("capgo_add_channel","Create a new distribution channel for an app",{appId:G0.string().describe("App ID"),channelId:G0.string().describe("Channel name/ID to create"),default:G0.boolean().optional().describe("Set as default channel"),selfAssign:G0.boolean().optional().describe("Allow devices to self-assign to this channel")},async({appId:J,channelId:W,default:$,selfAssign:G})=>{let B=await X.addChannel({appId:J,channelId:W,default:$,selfAssign:G});if(!B.success)return m1(B);return{content:[{type:"text",text:`Successfully created channel: ${W}`}]}}),D.tool("capgo_update_channel","Update channel settings including linked bundle and targeting options",{appId:G0.string().describe("App ID"),channelId:G0.string().describe("Channel name/ID to update"),bundle:G0.string().optional().describe("Bundle version to link to this channel"),state:G0.string().optional().describe('Channel state: "default" or "normal"'),downgrade:G0.boolean().optional().describe("Allow downgrading to versions below native"),ios:G0.boolean().optional().describe("Enable updates for iOS devices"),android:G0.boolean().optional().describe("Enable updates for Android devices"),selfAssign:G0.boolean().optional().describe("Allow device self-assignment"),disableAutoUpdate:G0.string().optional().describe("Block updates by type: major, minor, metadata, patch, or none"),dev:G0.boolean().optional().describe("Enable updates for development builds"),emulator:G0.boolean().optional().describe("Enable updates for emulators"),device:G0.boolean().optional().describe("Enable updates for physical devices"),prod:G0.boolean().optional().describe("Enable updates for production builds")},async({appId:J,channelId:W,bundle:$,state:G,downgrade:B,ios:H,android:F,selfAssign:K,disableAutoUpdate:U,dev:z,emulator:w,device:V,prod:L})=>{let O=await X.updateChannel({appId:J,channelId:W,bundle:$,state:G,downgrade:B,ios:H,android:F,selfAssign:K,disableAutoUpdate:U,dev:z,emulator:w,device:V,prod:L});if(!O.success)return m1(O);return{content:[{type:"text",text:`Successfully updated channel: ${W}`}]}}),D.tool("capgo_delete_channel","Delete a channel from an app",{appId:G0.string().describe("App ID"),channelId:G0.string().describe("Channel name/ID to delete"),deleteBundle:G0.boolean().optional().describe("Also delete the bundle linked to this channel")},async({appId:J,channelId:W,deleteBundle:$})=>{let G=await X.deleteChannel(W,J,$);if(!G.success)return m1(G);return{content:[{type:"text",text:`Successfully deleted channel: ${W}`}]}}),D.tool("capgo_get_current_bundle","Get the current bundle linked to a specific channel",{appId:G0.string().describe("App ID"),channelId:G0.string().describe("Channel name/ID")},async({appId:J,channelId:W})=>{let $=await X.getCurrentBundle(J,W);if(!$.success)return m1($);return{content:[{type:"text",text:JSON.stringify({channel:W,currentBundle:$.data},null,2)}]}}),D.tool("capgo_list_organizations","List all organizations you have access to",{},async()=>{let J=await X.listOrganizations();if(!J.success)return m1(J);return{content:[{type:"text",text:JSON.stringify(J.data,null,2)}]}}),D.tool("capgo_add_organization","Create a new organization for team collaboration",{name:G0.string().describe("Organization name"),email:G0.string().describe("Management email for the organization")},async({name:J,email:W})=>{let $=await X.addOrganization({name:J,email:W});if(!$.success)return m1($);return{content:[{type:"text",text:JSON.stringify({message:"Organization created successfully",...$.data},null,2)}]}}),D.tool("capgo_get_account_id","Get the account ID associated with the current API key",{},async()=>{let J=await X.getAccountId();if(!J.success)return m1(J);return{content:[{type:"text",text:JSON.stringify({accountId:J.data},null,2)}]}}),D.tool("capgo_doctor","Run diagnostics on the Capgo installation and get system information",{packageJson:G0.string().optional().describe("Path to package.json for monorepos")},async({packageJson:J})=>{let W=await X.doctor({packageJson:J});if(!W.success)return m1(W);return{content:[{type:"text",text:JSON.stringify(W.data,null,2)}]}}),D.tool("capgo_get_stats","Get device statistics and logs from Capgo backend for debugging",{appId:G0.string().describe("App ID to get stats for"),deviceIds:G0.array(G0.string()).optional().describe("Filter by specific device IDs"),limit:G0.number().optional().describe("Maximum number of results to return"),rangeStart:G0.string().optional().describe("Start date/time for range filter (ISO string)"),rangeEnd:G0.string().optional().describe("End date/time for range filter (ISO string)")},async({appId:J,deviceIds:W,limit:$,rangeStart:G,rangeEnd:B})=>{let H=await X.getStats({appId:J,deviceIds:W,limit:$,rangeStart:G,rangeEnd:B});if(!H.success)return m1(H);return{content:[{type:"text",text:JSON.stringify(H.data,null,2)}]}}),D.tool("capgo_request_build","Request a native iOS/Android build from Capgo Cloud",{appId:G0.string().describe("App ID to build"),platform:G0.enum(["ios","android"]).describe("Target platform"),path:G0.string().optional().describe("Path to project directory")},async({appId:J,platform:W,path:$})=>{let G=await X.requestBuild({appId:J,platform:W,path:$});if(!G.success)return m1(G);return{content:[{type:"text",text:JSON.stringify({message:"Build requested successfully",...G.data},null,2)}]}}),D.tool("capgo_generate_encryption_keys","Generate RSA key pair for end-to-end encryption of bundles",{force:G0.boolean().optional().describe("Overwrite existing keys if they exist")},async({force:J})=>{let W=await X.generateEncryptionKeys({force:J});if(!W.success)return m1(W);return{content:[{type:"text",text:"Encryption keys generated successfully. Private key saved to .capgo_key_v2, public key to .capgo_key_v2.pub"}]}});let Q=new fU;await D.connect(Q)}function Oq0(D,Y,X){if(X)return;if(!D.length){q.error("No members found");return}let Q=new G1;Q.headers=Y.hasPasswordPolicy?["Email","Role","Status","2FA Enabled","Password Policy"]:["Email","Role","Status","2FA Enabled"],Q.rows=[];for(let J of D){let W=J.is_tmp?"Invited":"Active",$=J.has_2fa?"✓ Yes":"✗ No",G=J.password_policy_compliant?"✓ Compliant":"✗ Non-compliant",B=[J.email,J.role,W,$];if(Y.hasPasswordPolicy)B.push(G);Q.rows.push(B)}q.success(`Members of "${Y.orgName}"`),q.success(Q.toString())}async function Nq0(D,Y,X=!1){if(!X)F0("List organization members");await f0();let Q={...Y,apikey:Y.apikey||X0()};if(!Q.apikey){if(!X)q.error("Missing API key, you need to provide an API key to list members");throw Error("Missing API key")}if(!D){if(!X)q.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let J=await V0(Q.apikey,Q.supaHost,Q.supaAnon);await Z0(J,Q.apikey,["read","write","all"]),await y4(J,D,X);let{data:W,error:$}=await J.from("orgs").select("name, enforcing_2fa, password_policy_config, require_apikey_expiration, max_apikey_expiration_days, enforce_hashed_api_keys").eq("id",D).single();if($||!W){if(!X)q.error(`Cannot get organization details: ${m($)}`);throw Error(`Cannot get organization details: ${m($)}`)}let G=W.password_policy_config,B=G?.enabled??!1;if(!X)q.info(`Getting members of "${W.name}" from Capgo`);let{data:H,error:F}=await J.rpc("get_org_members",{guild_id:D});if(F){if(!X)q.error(`Cannot get organization members: ${m(F)}`);throw Error(`Cannot get organization members: ${m(F)}`)}let{data:K,error:U}=await J.rpc("check_org_members_2fa_enabled",{org_id:D});if(U){if(!X)if(U.message?.includes("NO_RIGHTS"))q.warn("You need super_admin rights to view 2FA status of members");else q.error(`Cannot get 2FA status: ${m(U)}`)}let z=null;if(B){let{data:V,error:L}=await J.rpc("check_org_members_password_policy",{org_id:D});if(L){if(!X)if(L.message?.includes("NO_RIGHTS"))q.warn("You need super_admin rights to view password policy compliance status");else q.warn(`Cannot get password policy status: ${m(L)}`)}else z=V}let w=(H||[]).map((V)=>{let L=K?.find((Z)=>Z.user_id===V.uid),O=z?.find((Z)=>Z.user_id===V.uid);return{uid:V.uid,email:V.email,role:V.role,is_tmp:V.is_tmp,has_2fa:L?.["2fa_enabled"]??!1,password_policy_compliant:O?.password_policy_compliant??!1}});if(!X){if(q.info(`Members found: ${w.length}`),q.info(""),q.info("Security Settings:"),W.enforcing_2fa)q.info(" \uD83D\uDD10 2FA enforcement: ENABLED");else q.info(" 2FA enforcement: Disabled");if(B)q.info(" \uD83D\uDD11 Password policy: ENABLED"),q.info(` - Minimum length: ${G.min_length} characters`),q.info(` - Require uppercase: ${G.require_uppercase?"Yes":"No"}`),q.info(` - Require number: ${G.require_number?"Yes":"No"}`),q.info(` - Require special: ${G.require_special?"Yes":"No"}`);else q.info(" Password policy: Disabled");if(W.require_apikey_expiration){if(q.info(" ⏰ API key expiration required: ENABLED"),W.max_apikey_expiration_days)q.info(` - Maximum expiration: ${W.max_apikey_expiration_days} days`)}else q.info(" API key expiration required: Disabled");if(W.enforce_hashed_api_keys)q.info(" \uD83D\uDD12 Hashed API keys: ENABLED");else q.info(" Hashed API keys: Disabled");q.info("");let V=w.filter((O)=>!O.is_tmp),L=V.filter((O)=>!O.has_2fa);if(q.info("Member Summary:"),q.info(` Total active members: ${V.length}`),q.info(` Members with 2FA: ${V.length-L.length}`),q.info(` Members without 2FA: ${L.length}`),B){let O=V.filter((Z)=>!Z.password_policy_compliant);q.info(` Password policy compliant: ${V.length-O.length}`),q.info(` Password policy non-compliant: ${O.length}`)}q.info(""),Oq0(w,{orgName:W.name,hasPasswordPolicy:B},X),e("Done ✅")}return w}async function dU(D,Y){await Nq0(D,Y,!1)}var n={apikey:"API key to link to your account",supaHost:"Custom Supabase host URL (for self-hosting or Capgo development)",supaAnon:"Custom Supabase anon key (for self-hosting)",packageJson:"Paths to package.json files for monorepos (comma-separated)",nodeModules:"Paths to node_modules directories for monorepos (comma-separated)",verbose:"Enable verbose output with detailed logging"};c1.name(f8.name).description("\uD83D\uDCE6 Manage packages and bundle versions in Capgo Cloud").version(f8.version,"-v, --version","output the current version");c1.command("init [apikey] [appId]").alias("i").description(`\uD83D\uDE80 Initialize a new app in Capgo Cloud with step-by-step guidance.
|
|
443
443
|
|
|
444
444
|
This includes adding code for updates, building, uploading your app, and verifying update functionality.
|
|
445
445
|
|
|
446
|
-
Example: npx @capgo/cli@latest init YOUR_API_KEY com.example.app`).action(FC).option("-n, --name <name>","App name for display in Capgo Cloud").option("-i, --icon <icon>","App icon path for display in Capgo Cloud").option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);
|
|
446
|
+
Example: npx @capgo/cli@latest init YOUR_API_KEY com.example.app`).action(FC).option("-n, --name <name>","App name for display in Capgo Cloud").option("-i, --icon <icon>","App icon path for display in Capgo Cloud").option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);c1.command("doctor").description(`\uD83D\uDC68⚕️ Check if your Capgo app installation is up-to-date and gather information useful for bug reports.
|
|
447
447
|
|
|
448
448
|
This command helps diagnose issues with your setup.
|
|
449
449
|
|
|
450
|
-
Example: npx @capgo/cli@latest doctor`).option("--package-json <packageJson>",n.packageJson).action(async(...D)=>{let Y=D.at(-1);await zS(Y)});
|
|
450
|
+
Example: npx @capgo/cli@latest doctor`).option("--package-json <packageJson>",n.packageJson).action(async(...D)=>{let Y=D.at(-1);await zS(Y)});c1.command("login [apikey]").alias("l").description(`\uD83D\uDD11 Save your Capgo API key to your machine or local folder for easier access to Capgo Cloud services.
|
|
451
451
|
|
|
452
452
|
Use --apikey=******** in any command to override it.
|
|
453
453
|
|
|
454
|
-
Example: npx @capgo/cli@latest login YOUR_API_KEY`).action(GC).option("--local","Only save in local folder, git ignored for security.").option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);var k9=
|
|
454
|
+
Example: npx @capgo/cli@latest login YOUR_API_KEY`).action(GC).option("--local","Only save in local folder, git ignored for security.").option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);var k9=c1.command("bundle").description("\uD83D\uDCE6 Manage app bundles for deployment in Capgo Cloud, including upload, compatibility checks, and encryption.");k9.command("upload [appId]").alias("u").description(`⬆️ Upload a new app bundle to Capgo Cloud for distribution.
|
|
455
455
|
|
|
456
456
|
Version must be > 0.0.0 and unique. Deleted versions cannot be reused for security.
|
|
457
457
|
|
|
@@ -482,7 +482,7 @@ Example: npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUM`).a
|
|
|
482
482
|
|
|
483
483
|
Returns checksum for use with encryption. Use --json for machine-readable output.
|
|
484
484
|
|
|
485
|
-
Example: npx @capgo/cli@latest bundle zip com.example.app --path ./dist`).action(PI).option("-p, --path <path>","Path of the folder to upload, if not provided it will use the webDir set in capacitor.config").option("-b, --bundle <bundle>","Bundle version number to name the zip file").option("-n, --name <name>","Name of the zip file").option("-j, --json","Output in JSON").option("--no-code-check","Ignore checking if notifyAppReady() is called in source code and index present in root folder").option("--key-v2","Use encryption v2").option("--package-json <packageJson>",n.packageJson);var k7=
|
|
485
|
+
Example: npx @capgo/cli@latest bundle zip com.example.app --path ./dist`).action(PI).option("-p, --path <path>","Path of the folder to upload, if not provided it will use the webDir set in capacitor.config").option("-b, --bundle <bundle>","Bundle version number to name the zip file").option("-n, --name <name>","Name of the zip file").option("-j, --json","Output in JSON").option("--no-code-check","Ignore checking if notifyAppReady() is called in source code and index present in root folder").option("--key-v2","Use encryption v2").option("--package-json <packageJson>",n.packageJson);var k7=c1.command("app").description("\uD83D\uDCF1 Manage your Capgo app settings and configurations in Capgo Cloud.");k7.command("add [appId]").alias("a").description(`➕ Add a new app to Capgo Cloud with a unique app ID in the format com.test.app.
|
|
486
486
|
|
|
487
487
|
All options can be guessed from config if not provided.
|
|
488
488
|
|
|
@@ -502,7 +502,7 @@ Example: npx @capgo/cli@latest app setting plugins.CapacitorUpdater.defaultChann
|
|
|
502
502
|
|
|
503
503
|
Retention of 0 means infinite storage.
|
|
504
504
|
|
|
505
|
-
Example: npx @capgo/cli@latest app set com.example.app --name "Updated App" --retention 30`).action(async(D,Y)=>{await LS(D,Y)}).option("-n, --name <name>","App name for display in Capgo Cloud").option("-i, --icon <icon>","App icon path for display in Capgo Cloud").option("-a, --apikey <apikey>",n.apikey).option("-r, --retention <retention>","Days to keep old bundles (0 = infinite, default: 0)").option("--expose-metadata <exposeMetadata>","Expose bundle metadata (link and comment) to the plugin (true/false, default: false)").option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);var VX=
|
|
505
|
+
Example: npx @capgo/cli@latest app set com.example.app --name "Updated App" --retention 30`).action(async(D,Y)=>{await LS(D,Y)}).option("-n, --name <name>","App name for display in Capgo Cloud").option("-i, --icon <icon>","App icon path for display in Capgo Cloud").option("-a, --apikey <apikey>",n.apikey).option("-r, --retention <retention>","Days to keep old bundles (0 = infinite, default: 0)").option("--expose-metadata <exposeMetadata>","Expose bundle metadata (link and comment) to the plugin (true/false, default: false)").option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);var VX=c1.command("channel").description("\uD83D\uDCE2 Manage distribution channels for app updates in Capgo Cloud, controlling how updates are delivered to devices.");VX.command("add [channelId] [appId]").alias("a").description(`➕ Create a new channel for app distribution in Capgo Cloud to manage update delivery.
|
|
506
506
|
|
|
507
507
|
Example: npx @capgo/cli@latest channel add production com.example.app --default`).action(II).option("-d, --default","Set the channel as default").option("--self-assign","Allow device to self-assign to this channel").option("-a, --apikey <apikey>",n.apikey).option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);VX.command("delete [channelId] [appId]").alias("d").description(`\uD83D\uDDD1️ Delete a channel from Capgo Cloud, optionally removing associated bundles to free up resources.
|
|
508
508
|
|
|
@@ -514,7 +514,7 @@ Example: npx @capgo/cli@latest channel currentBundle production com.example.app`
|
|
|
514
514
|
|
|
515
515
|
One channel must be default.
|
|
516
516
|
|
|
517
|
-
Example: npx @capgo/cli@latest channel set production com.example.app --bundle 1.0.0 --state default`).action(async(D,Y,X)=>{await vI(D,Y,X)}).option("-a, --apikey <apikey>",n.apikey).option("-b, --bundle <bundle>","Bundle version number of the file to set").option("-s, --state <state>","Set the state of the channel, default or normal").option("--latest-remote","Get the latest bundle uploaded in capgo cloud and set it to the channel").option("--latest","Get the latest version key in the package.json to set it to the channel").option("--downgrade","Allow to downgrade to version under native one").option("--no-downgrade","Disable downgrade to version under native one").option("--ios","Allow sending update to iOS devices").option("--no-ios","Disable sending update to iOS devices").option("--android","Allow sending update to Android devices").option("--no-android","Disable sending update to Android devices").option("--self-assign","Allow device to self-assign to this channel").option("--no-self-assign","Disable devices to self-assign to this channel").option("--disable-auto-update <disableAutoUpdate>","Block updates by type: major, minor, metadata, patch, or none (allows all)").option("--dev","Allow sending update to development devices").option("--no-dev","Disable sending update to development devices").option("--prod","Allow sending update to production devices").option("--no-prod","Disable sending update to production devices").option("--emulator","Allow sending update to emulator devices").option("--no-emulator","Disable sending update to emulator devices").option("--device","Allow sending update to physical devices").option("--no-device","Disable sending update to physical devices").option("--package-json <packageJson>",n.packageJson).option("--ignore-metadata-check","Ignore checking node_modules compatibility if present in the bundle").option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);var nU=
|
|
517
|
+
Example: npx @capgo/cli@latest channel set production com.example.app --bundle 1.0.0 --state default`).action(async(D,Y,X)=>{await vI(D,Y,X)}).option("-a, --apikey <apikey>",n.apikey).option("-b, --bundle <bundle>","Bundle version number of the file to set").option("-s, --state <state>","Set the state of the channel, default or normal").option("--latest-remote","Get the latest bundle uploaded in capgo cloud and set it to the channel").option("--latest","Get the latest version key in the package.json to set it to the channel").option("--downgrade","Allow to downgrade to version under native one").option("--no-downgrade","Disable downgrade to version under native one").option("--ios","Allow sending update to iOS devices").option("--no-ios","Disable sending update to iOS devices").option("--android","Allow sending update to Android devices").option("--no-android","Disable sending update to Android devices").option("--self-assign","Allow device to self-assign to this channel").option("--no-self-assign","Disable devices to self-assign to this channel").option("--disable-auto-update <disableAutoUpdate>","Block updates by type: major, minor, metadata, patch, or none (allows all)").option("--dev","Allow sending update to development devices").option("--no-dev","Disable sending update to development devices").option("--prod","Allow sending update to production devices").option("--no-prod","Disable sending update to production devices").option("--emulator","Allow sending update to emulator devices").option("--no-emulator","Disable sending update to emulator devices").option("--device","Allow sending update to physical devices").option("--no-device","Disable sending update to physical devices").option("--package-json <packageJson>",n.packageJson).option("--ignore-metadata-check","Ignore checking node_modules compatibility if present in the bundle").option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);var nU=c1.command("key").description("\uD83D\uDD10 Manage encryption keys for secure bundle distribution in Capgo Cloud, supporting end-to-end encryption with RSA and AES combination.");nU.command("save").description(`\uD83D\uDCBE Save the public key in the Capacitor config, useful for CI environments.
|
|
518
518
|
|
|
519
519
|
Recommended not to commit the key for security.
|
|
520
520
|
|
|
@@ -526,9 +526,9 @@ NEVER commit the private key - store it securely!
|
|
|
526
526
|
|
|
527
527
|
Example: npx @capgo/cli@latest key create`).action(XC).option("-f, --force","Force generate a new one");nU.command("delete_old").description(`\uD83E\uDDF9 Delete the old encryption key from the Capacitor config to ensure only the current key is used.
|
|
528
528
|
|
|
529
|
-
Example: npx @capgo/cli@latest key delete_old`).action(QC);var Zq0=
|
|
529
|
+
Example: npx @capgo/cli@latest key delete_old`).action(QC);var Zq0=c1.command("account").description("\uD83D\uDC64 Manage your Capgo account details and retrieve information for support or collaboration.");Zq0.command("id").description(`\uD83E\uDEAA Retrieve your account ID, safe to share for collaboration or support purposes in Discord or other platforms.
|
|
530
530
|
|
|
531
|
-
Example: npx @capgo/cli@latest account id`).action(af).option("-a, --apikey <apikey>",n.apikey);var LX=
|
|
531
|
+
Example: npx @capgo/cli@latest account id`).action(af).option("-a, --apikey <apikey>",n.apikey);var LX=c1.command("organization").description("\uD83C\uDFE2 Manage your organizations in Capgo Cloud for team collaboration and app management.");LX.command("list").alias("l").description(`\uD83D\uDCCB List all organizations you have access to in Capgo Cloud.
|
|
532
532
|
|
|
533
533
|
Example: npx @capgo/cli@latest organization list`).action(y$).option("-a, --apikey <apikey>",n.apikey).option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);LX.command("add").alias("a").description(`➕ Create a new organization in Capgo Cloud for team collaboration.
|
|
534
534
|
|
|
@@ -551,7 +551,7 @@ Example: npx @capgo/cli@latest organization set ORG_ID --enforce-hashed-api-keys
|
|
|
551
551
|
|
|
552
552
|
Only organization owners can delete organizations.
|
|
553
553
|
|
|
554
|
-
Example: npx @capgo/cli@latest organization delete ORG_ID`).action(v$).option("-a, --apikey <apikey>",n.apikey).option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);function Aq0(){console.warn('⚠️ Warning: "organisation" is deprecated. Please use "organization" instead.')}var h$=
|
|
554
|
+
Example: npx @capgo/cli@latest organization delete ORG_ID`).action(v$).option("-a, --apikey <apikey>",n.apikey).option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);function Aq0(){console.warn('⚠️ Warning: "organisation" is deprecated. Please use "organization" instead.')}var h$=c1.command("organisation").description('[DEPRECATED] Use "organization" instead. This command will be removed in a future version.').hook("preAction",Aq0);h$.command("list").alias("l").description('[DEPRECATED] Use "organization list" instead.').action(y$).option("-a, --apikey <apikey>",n.apikey).option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);h$.command("add").alias("a").description('[DEPRECATED] Use "organization add" instead.').action(k$).option("-n, --name <name>","Organization name").option("-e, --email <email>","Management email for the organization").option("-a, --apikey <apikey>",n.apikey).option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);h$.command("set [orgId]").alias("s").description('[DEPRECATED] Use "organization set" instead.').action(f$).option("-n, --name <name>","Organization name").option("-e, --email <email>","Management email for the organization").option("--enforce-2fa","Enable 2FA enforcement for all organization members").option("--no-enforce-2fa","Disable 2FA enforcement for organization").option("--password-policy","Enable password policy enforcement for organization").option("--no-password-policy","Disable password policy enforcement").option("--min-length <minLength>","Minimum password length (6-128, default: 10)",(D)=>{let Y=Number.parseInt(D,10);if(Number.isNaN(Y)||Y<6||Y>128)throw Error("min-length must be between 6 and 128");return Y}).option("--require-uppercase","Require uppercase letter in password").option("--no-require-uppercase","Do not require uppercase letter").option("--require-number","Require number in password").option("--no-require-number","Do not require number").option("--require-special","Require special character in password").option("--no-require-special","Do not require special character").option("--require-apikey-expiration","Require all API keys to have an expiration date").option("--no-require-apikey-expiration","Do not require API key expiration").option("--max-apikey-expiration-days <days>","Maximum days before API key expiration (1-365, null for no limit)",(D)=>{if(D==="null"||D==="")return null;let Y=Number.parseInt(D,10);if(Number.isNaN(Y)||Y<1||Y>365)throw Error("max-apikey-expiration-days must be between 1 and 365, or null");return Y}).option("--enforce-hashed-api-keys","Enforce hashed/secure API keys (key value stored as hash, shown only once)").option("--no-enforce-hashed-api-keys","Allow plain-text API keys").option("-a, --apikey <apikey>",n.apikey).option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);h$.command("delete [orgId]").alias("d").description('[DEPRECATED] Use "organization delete" instead.').action(v$).option("-a, --apikey <apikey>",n.apikey).option("--supa-host <supaHost>",n.supaHost).option("--supa-anon <supaAnon>",n.supaAnon);var sf=c1.command("build").description(`\uD83C\uDFD7️ Manage native iOS/Android builds through Capgo Cloud.
|
|
555
555
|
|
|
556
556
|
⚠️ This feature is currently in PUBLIC BETA and cannot be used by anyone at this time.
|
|
557
557
|
|
|
@@ -635,7 +635,7 @@ Platform is auto-detected from the options you provide.
|
|
|
635
635
|
|
|
636
636
|
Examples:
|
|
637
637
|
npx @capgo/cli build credentials update --provisioning-profile ./new-profile.mobileprovision
|
|
638
|
-
npx @capgo/cli build credentials update --local --keystore ./new-keystore.jks`).action(IS).option("--appId <appId>","App ID (auto-detected from capacitor.config if omitted)").option("--platform <platform>","Platform: ios or android (auto-detected from options)").option("--local","Update local .capgo-credentials.json instead of global").option("--certificate <path>","Path to P12 certificate file").option("--provisioning-profile <path>","Path to provisioning profile (.mobileprovision)").option("--provisioning-profile-prod <path>","Path to production provisioning profile").option("--p12-password <password>","P12 certificate password").option("--apple-key <path>","Path to App Store Connect API key (.p8 file)").option("--apple-key-id <id>","App Store Connect API Key ID").option("--apple-issuer-id <id>","App Store Connect Issuer ID").option("--apple-profile-name <name>","Provisioning profile name").option("--apple-team-id <id>","App Store Connect Team ID").option("--keystore <path>","Path to keystore file (.keystore or .jks)").option("--keystore-alias <alias>","Keystore key alias").option("--keystore-key-password <password>","Keystore key password").option("--keystore-store-password <password>","Keystore store password").option("--play-config <path>","Path to Google Play service account JSON");
|
|
638
|
+
npx @capgo/cli build credentials update --local --keystore ./new-keystore.jks`).action(IS).option("--appId <appId>","App ID (auto-detected from capacitor.config if omitted)").option("--platform <platform>","Platform: ios or android (auto-detected from options)").option("--local","Update local .capgo-credentials.json instead of global").option("--certificate <path>","Path to P12 certificate file").option("--provisioning-profile <path>","Path to provisioning profile (.mobileprovision)").option("--provisioning-profile-prod <path>","Path to production provisioning profile").option("--p12-password <password>","P12 certificate password").option("--apple-key <path>","Path to App Store Connect API key (.p8 file)").option("--apple-key-id <id>","App Store Connect API Key ID").option("--apple-issuer-id <id>","App Store Connect Issuer ID").option("--apple-profile-name <name>","Provisioning profile name").option("--apple-team-id <id>","App Store Connect Team ID").option("--keystore <path>","Path to keystore file (.keystore or .jks)").option("--keystore-alias <alias>","Keystore key alias").option("--keystore-key-password <password>","Keystore key password").option("--keystore-store-password <password>","Keystore store password").option("--play-config <path>","Path to Google Play service account JSON");c1.command("generate-docs [filePath]").description("Generate Markdown documentation for CLI commands - either for README or individual files").option("--folder <folderPath>","Generate individual markdown files for each command in the specified folder (instead of updating README)").action((D,Y)=>{yI(D,Y.folder)});c1.command("mcp").description(`\uD83E\uDD16 Start the Capgo MCP (Model Context Protocol) server for AI agent integration.
|
|
639
639
|
|
|
640
640
|
This command starts an MCP server that exposes Capgo functionality as tools for AI agents.
|
|
641
641
|
The server communicates via stdio and is designed for non-interactive, programmatic use.
|
|
@@ -660,4 +660,4 @@ Example usage with Claude Desktop:
|
|
|
660
660
|
}
|
|
661
661
|
}
|
|
662
662
|
|
|
663
|
-
Example: npx @capgo/cli mcp`).action(async()=>{await of()});
|
|
663
|
+
Example: npx @capgo/cli mcp`).action(async()=>{await of()});c1.exitOverride();c1.configureOutput({writeErr:(D)=>{}});c1.parseAsync().catch((D)=>{if(typeof D==="object"&&D!==null&&"code"in D){let Y=D;if(Y.code==="commander.version"||Y.code==="commander.helpDisplayed")pU(0);if(Y.message)console.error(Y.message);let X=Y.exitCode??1;pU(X)}console.error(`Error: ${m(D)}`),pU(1)});
|