simplecloud 0.0.1-beta.85 → 0.0.1-beta.86
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/cli.js +2 -2
- package/dist/index.js +2 -2
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -117,7 +117,7 @@ ${Q.join(`
|
|
|
117
117
|
`;G.forEach((Q)=>{O+=Q}),q.fail(O)}};let K={};D.conflicts=function(Z,G){if($q("<string|object> [array|string]",[Z,G],arguments.length),typeof Z==="object")Object.keys(Z).forEach((O)=>{D.conflicts(O,Z[O])});else{if(A.global(Z),!K[Z])K[Z]=[];if(Array.isArray(G))G.forEach((O)=>D.conflicts(Z,O));else K[Z].push(G)}},D.getConflicting=()=>K,D.conflicting=function(Z){if(Object.keys(Z).forEach((G)=>{if(K[G])K[G].forEach((O)=>{if(O&&Z[G]!==void 0&&Z[O]!==void 0)q.fail(E("Arguments %s and %s are mutually exclusive",G,O))})}),A.getInternalMethods().getParserConfiguration()["strip-dashed"])Object.keys(K).forEach((G)=>{K[G].forEach((O)=>{if(O&&Z[F.Parser.camelCase(G)]!==void 0&&Z[F.Parser.camelCase(O)]!==void 0)q.fail(E("Arguments %s and %s are mutually exclusive",G,O))})})},D.recommendCommands=function(Z,G){G=G.sort((J,H)=>H.length-J.length);let Q=null,Y=1/0;for(let J=0,H;(H=G[J])!==void 0;J++){let P=y8A(Z,H);if(P<=3&&P<Y)Y=P,Q=H}if(Q)q.fail(E("Did you mean %s?",Q))},D.reset=function(Z){return _=BZ(_,(G)=>!Z[G]),K=BZ(K,(G)=>!Z[G]),D};let $=[];return D.freeze=function(){$.push({implied:_,conflicting:K})},D.unfreeze=function(){let Z=$.pop();cD(Z,void 0,F),{implied:_,conflicting:K}=Z},D}var m8A;var d8A=w(()=>{yV();cV();m8A=["$0","--","_"]});function fH(A,q,F,E){dH=E;let g={};if(Object.prototype.hasOwnProperty.call(A,"extends")){if(typeof A.extends!=="string")return g;let D=/\.json|\..*rc$/.test(A.extends),_=null;if(!D)try{_=import.meta.resolve(A.extends)}catch(j){return A}else _=WsA(q,A.extends);TsA(_),av.push(_),g=D?JSON.parse(dH.readFileSync(_,"utf8")):E.require(A.extends),delete A.extends,g=fH(g,dH.path.dirname(_),F,dH)}return av=[],F?f8A(g,A):Object.assign({},g,A)}function TsA(A){if(av.indexOf(A)>-1)throw new mE(`Circular extended configurations: '${A}'.`)}function WsA(A,q){return dH.path.resolve(A,q)}function f8A(A,q){let F={};function E(g){return g&&typeof g==="object"&&!Array.isArray(g)}Object.assign(F,A);for(let g of Object.keys(q))if(E(q[g])&&E(F[g]))F[g]=f8A(A[g],q[g]);else F[g]=q[g];return F}var av,dH;var nv=w(()=>{cH();av=[]});function $7A(A){return(q=[],F=A.process.cwd(),E)=>{let g=new U7A(q,F,E,A);return Object.defineProperty(g,"argv",{get:()=>{return g.parse()},enumerable:!0}),g.help(),g.version(),g}}function C8A(A){return!!A&&typeof A.getInternalMethods==="function"}var Gq=function(A,q,F,E,g){if(E==="m")throw TypeError("Private method is not writable");if(E==="a"&&!g)throw TypeError("Private accessor was defined without a setter");if(typeof q==="function"?A!==q||!g:!q.has(A))throw TypeError("Cannot write private member to an object whose class did not declare it");return E==="a"?g.call(A,F):g?g.value=F:q.set(A,F),F},u=function(A,q,F,E){if(F==="a"&&!E)throw TypeError("Private accessor was defined without a getter");if(typeof q==="function"?A!==q||!E:!q.has(A))throw TypeError("Cannot read private member from an object whose class did not declare it");return F==="m"?E:F==="a"?E.call(A):E?E.value:q.get(A)},cE,w8,aH,I_,$j,fV,wZ,C8,aV,EK,nV,gK,i0,Uj,DK,rV,S8,zg,Tq,lV,iV,Zj,z8,m9,h8,CZ,pV,rq,x8,b8,k8,A6,oV,p0,CE,a8A,n8A,rv,r8A,l8A,i8A,u8,p8A,lv,o8A,t8A,iv,SZ,c9,pv,ov,tv,sv,ev,s8A,e8A,A7A,q7A,F7A,E7A,g7A,D7A,tV,_7A,v8,j7A,Ay,nH,qy,K7A,y8,BsA="en_US",U7A;var dv=w(()=>{cv();cH();h8A();yV();v8A();d8A();cV();nv();yv();mv();a8A=Symbol("copyDoubleDash"),n8A=Symbol("copyDoubleDash"),rv=Symbol("deleteFromParserHintObject"),r8A=Symbol("emitWarning"),l8A=Symbol("freeze"),i8A=Symbol("getDollarZero"),u8=Symbol("getParserConfiguration"),p8A=Symbol("getUsageConfiguration"),lv=Symbol("guessLocale"),o8A=Symbol("guessVersion"),t8A=Symbol("parsePositionalNumbers"),iv=Symbol("pkgUp"),SZ=Symbol("populateParserHintArray"),c9=Symbol("populateParserHintSingleValueDictionary"),pv=Symbol("populateParserHintArrayDictionary"),ov=Symbol("populateParserHintDictionary"),tv=Symbol("sanitizeKey"),sv=Symbol("setKey"),ev=Symbol("unfreeze"),s8A=Symbol("validateAsync"),e8A=Symbol("getCommandInstance"),A7A=Symbol("getContext"),q7A=Symbol("getHasOutput"),F7A=Symbol("getLoggerInstance"),E7A=Symbol("getParseContext"),g7A=Symbol("getUsageInstance"),D7A=Symbol("getValidationInstance"),tV=Symbol("hasParseCallback"),_7A=Symbol("isGlobalContext"),v8=Symbol("postProcess"),j7A=Symbol("rebase"),Ay=Symbol("reset"),nH=Symbol("runYargsParserAndExecuteCommands"),qy=Symbol("runValidation"),K7A=Symbol("setHasOutput"),y8=Symbol("kTrackManuallySetKeys");U7A=class U7A{constructor(A=[],q,F,E){this.customScriptName=!1,this.parsed=!1,cE.set(this,void 0),w8.set(this,void 0),aH.set(this,{commands:[],fullCommands:[]}),I_.set(this,null),$j.set(this,null),fV.set(this,"show-hidden"),wZ.set(this,null),C8.set(this,!0),aV.set(this,{}),EK.set(this,!0),nV.set(this,[]),gK.set(this,void 0),i0.set(this,{}),Uj.set(this,!1),DK.set(this,null),rV.set(this,!0),S8.set(this,void 0),zg.set(this,""),Tq.set(this,void 0),lV.set(this,void 0),iV.set(this,{}),Zj.set(this,null),z8.set(this,null),m9.set(this,{}),h8.set(this,{}),CZ.set(this,void 0),pV.set(this,!1),rq.set(this,void 0),x8.set(this,!1),b8.set(this,!1),k8.set(this,!1),A6.set(this,void 0),oV.set(this,{}),p0.set(this,null),CE.set(this,void 0),Gq(this,rq,E,"f"),Gq(this,CZ,A,"f"),Gq(this,w8,q,"f"),Gq(this,lV,F,"f"),Gq(this,gK,new vv(this),"f"),this.$0=this[i8A](),this[Ay](),Gq(this,cE,u(this,cE,"f"),"f"),Gq(this,A6,u(this,A6,"f"),"f"),Gq(this,CE,u(this,CE,"f"),"f"),Gq(this,Tq,u(this,Tq,"f"),"f"),u(this,Tq,"f").showHiddenOpt=u(this,fV,"f"),Gq(this,S8,this[n8A](),"f"),u(this,rq,"f").y18n.setLocale(BsA)}addHelpOpt(A,q){if($q("[string|boolean] [string]",[A,q],arguments.length),u(this,DK,"f"))this[rv](u(this,DK,"f")),Gq(this,DK,null,"f");if(A===!1&&q===void 0)return this;return Gq(this,DK,typeof A==="string"?A:"help","f"),this.boolean(u(this,DK,"f")),this.describe(u(this,DK,"f"),q||u(this,A6,"f").deferY18nLookup("Show help")),this}help(A,q){return this.addHelpOpt(A,q)}addShowHiddenOpt(A,q){if($q("[string|boolean] [string]",[A,q],arguments.length),A===!1&&q===void 0)return this;let F=typeof A==="string"?A:u(this,fV,"f");return this.boolean(F),this.describe(F,q||u(this,A6,"f").deferY18nLookup("Show hidden options")),u(this,Tq,"f").showHiddenOpt=F,this}showHidden(A,q){return this.addShowHiddenOpt(A,q)}alias(A,q){return $q("<object|string|array> [string|array]",[A,q],arguments.length),this[pv](this.alias.bind(this),"alias",A,q),this}array(A){return $q("<array|string>",[A],arguments.length),this[SZ]("array",A),this[y8](A),this}boolean(A){return $q("<array|string>",[A],arguments.length),this[SZ]("boolean",A),this[y8](A),this}check(A,q){return $q("<function> [boolean]",[A,q],arguments.length),this.middleware((F,E)=>{return R8(()=>{return A(F,E.getOptions())},(g)=>{if(!g)u(this,A6,"f").fail(u(this,rq,"f").y18n.__("Argument check failed: %s",A.toString()));else if(typeof g==="string"||g instanceof Error)u(this,A6,"f").fail(g.toString(),g);return F},(g)=>{return u(this,A6,"f").fail(g.message?g.message:g.toString(),g),F})},!1,q),this}choices(A,q){return $q("<object|string|array> [string|array]",[A,q],arguments.length),this[pv](this.choices.bind(this),"choices",A,q),this}coerce(A,q){if($q("<object|string|array> [function]",[A,q],arguments.length),Array.isArray(A)){if(!q)throw new mE("coerce callback must be provided");for(let E of A)this.coerce(E,q);return this}else if(typeof A==="object"){for(let E of Object.keys(A))this.coerce(E,A[E]);return this}if(!q)throw new mE("coerce callback must be provided");let F=A;return u(this,Tq,"f").key[F]=!0,u(this,gK,"f").addCoerceMiddleware((E,g)=>{var D;let _=(D=g.getAliases()[F])!==null&&D!==void 0?D:[],j=[F,..._].filter((K)=>Object.prototype.hasOwnProperty.call(E,K));if(j.length===0)return E;return R8(()=>{return q(E[j[0]])},(K)=>{return j.forEach(($)=>{E[$]=K}),E},(K)=>{throw new mE(K.message)})},F),this}conflicts(A,q){return $q("<string|object> [string|array]",[A,q],arguments.length),u(this,CE,"f").conflicts(A,q),this}config(A="config",q,F){if($q("[object|string] [string|function] [function]",[A,q,F],arguments.length),typeof A==="object"&&!Array.isArray(A))return A=fH(A,u(this,w8,"f"),this[u8]()["deep-merge-config"]||!1,u(this,rq,"f")),u(this,Tq,"f").configObjects=(u(this,Tq,"f").configObjects||[]).concat(A),this;if(typeof q==="function")F=q,q=void 0;return this.describe(A,q||u(this,A6,"f").deferY18nLookup("Path to JSON config file")),(Array.isArray(A)?A:[A]).forEach((E)=>{u(this,Tq,"f").config[E]=F||!0}),this}completion(A,q,F){if($q("[string] [string|boolean|function] [function]",[A,q,F],arguments.length),typeof q==="function")F=q,q=void 0;if(Gq(this,$j,A||u(this,$j,"f")||"completion","f"),!q&&q!==!1)q="generate completion script";if(this.command(u(this,$j,"f"),q),F)u(this,I_,"f").registerFunction(F);return this}command(A,q,F,E,g,D){return $q("<string|array|object> [string|boolean] [function|object] [function] [array] [boolean|string]",[A,q,F,E,g,D],arguments.length),u(this,cE,"f").addHandler(A,q,F,E,g,D),this}commands(A,q,F,E,g,D){return this.command(A,q,F,E,g,D)}commandDir(A,q){$q("<string> [object]",[A,q],arguments.length);let F=u(this,lV,"f")||u(this,rq,"f").require;return u(this,cE,"f").addDirectory(A,F,u(this,rq,"f").getCallerFile(),q),this}count(A){return $q("<array|string>",[A],arguments.length),this[SZ]("count",A),this[y8](A),this}default(A,q,F){if($q("<object|string|array> [*] [string]",[A,q,F],arguments.length),F)uv(A,u(this,rq,"f")),u(this,Tq,"f").defaultDescription[A]=F;if(typeof q==="function"){if(uv(A,u(this,rq,"f")),!u(this,Tq,"f").defaultDescription[A])u(this,Tq,"f").defaultDescription[A]=u(this,A6,"f").functionDescription(q);q=q.call()}return this[c9](this.default.bind(this),"default",A,q),this}defaults(A,q,F){return this.default(A,q,F)}demandCommand(A=1,q,F,E){if($q("[number] [number|string] [string|null|undefined] [string|null|undefined]",[A,q,F,E],arguments.length),typeof q!=="number")F=q,q=1/0;return this.global("_",!1),u(this,Tq,"f").demandedCommands._={min:A,max:q,minMsg:F,maxMsg:E},this}demand(A,q,F){if(Array.isArray(q))q.forEach((E)=>{cD(F,!0,u(this,rq,"f")),this.demandOption(E,F)}),q=1/0;else if(typeof q!=="number")F=q,q=1/0;if(typeof A==="number")cD(F,!0,u(this,rq,"f")),this.demandCommand(A,q,F,F);else if(Array.isArray(A))A.forEach((E)=>{cD(F,!0,u(this,rq,"f")),this.demandOption(E,F)});else if(typeof F==="string")this.demandOption(A,F);else if(F===!0||typeof F>"u")this.demandOption(A);return this}demandOption(A,q){return $q("<object|string|array> [string]",[A,q],arguments.length),this[c9](this.demandOption.bind(this),"demandedOptions",A,q),this}deprecateOption(A,q){return $q("<string> [string|boolean]",[A,q],arguments.length),u(this,Tq,"f").deprecatedOptions[A]=q,this}describe(A,q){return $q("<object|string|array> [string]",[A,q],arguments.length),this[sv](A,!0),u(this,A6,"f").describe(A,q),this}detectLocale(A){return $q("<boolean>",[A],arguments.length),Gq(this,C8,A,"f"),this}env(A){if($q("[string|boolean]",[A],arguments.length),A===!1)delete u(this,Tq,"f").envPrefix;else u(this,Tq,"f").envPrefix=A||"";return this}epilogue(A){return $q("<string>",[A],arguments.length),u(this,A6,"f").epilog(A),this}epilog(A){return this.epilogue(A)}example(A,q){if($q("<string|array> [string]",[A,q],arguments.length),Array.isArray(A))A.forEach((F)=>this.example(...F));else u(this,A6,"f").example(A,q);return this}exit(A,q){if(Gq(this,Uj,!0,"f"),Gq(this,wZ,q,"f"),u(this,EK,"f"))u(this,rq,"f").process.exit(A)}exitProcess(A=!0){return $q("[boolean]",[A],arguments.length),Gq(this,EK,A,"f"),this}fail(A){if($q("<function|boolean>",[A],arguments.length),typeof A==="boolean"&&A!==!1)throw new mE("Invalid first argument. Expected function or boolean 'false'");return u(this,A6,"f").failFn(A),this}getAliases(){return this.parsed?this.parsed.aliases:{}}async getCompletion(A,q){if($q("<array> [function]",[A,q],arguments.length),!q)return new Promise((F,E)=>{u(this,I_,"f").getCompletion(A,(g,D)=>{if(g)E(g);else F(D)})});else return u(this,I_,"f").getCompletion(A,q)}getDemandedOptions(){return $q([],0),u(this,Tq,"f").demandedOptions}getDemandedCommands(){return $q([],0),u(this,Tq,"f").demandedCommands}getDeprecatedOptions(){return $q([],0),u(this,Tq,"f").deprecatedOptions}getDetectLocale(){return u(this,C8,"f")}getExitProcess(){return u(this,EK,"f")}getGroups(){return Object.assign({},u(this,i0,"f"),u(this,h8,"f"))}getHelp(){if(Gq(this,Uj,!0,"f"),!u(this,A6,"f").hasCachedHelpMessage()){if(!this.parsed){let q=this[nH](u(this,CZ,"f"),void 0,void 0,0,!0);if(rF(q))return q.then(()=>{return u(this,A6,"f").help()})}let A=u(this,cE,"f").runDefaultBuilderOn(this);if(rF(A))return A.then(()=>{return u(this,A6,"f").help()})}return Promise.resolve(u(this,A6,"f").help())}getOptions(){return u(this,Tq,"f")}getStrict(){return u(this,x8,"f")}getStrictCommands(){return u(this,b8,"f")}getStrictOptions(){return u(this,k8,"f")}global(A,q){if($q("<string|array> [boolean]",[A,q],arguments.length),A=[].concat(A),q!==!1)u(this,Tq,"f").local=u(this,Tq,"f").local.filter((F)=>A.indexOf(F)===-1);else A.forEach((F)=>{if(!u(this,Tq,"f").local.includes(F))u(this,Tq,"f").local.push(F)});return this}group(A,q){$q("<string|array> <string>",[A,q],arguments.length);let F=u(this,h8,"f")[q]||u(this,i0,"f")[q];if(u(this,h8,"f")[q])delete u(this,h8,"f")[q];let E={};return u(this,i0,"f")[q]=(F||[]).concat(A).filter((g)=>{if(E[g])return!1;return E[g]=!0}),this}hide(A){return $q("<string>",[A],arguments.length),u(this,Tq,"f").hiddenOptions.push(A),this}implies(A,q){return $q("<string|object> [number|string|array]",[A,q],arguments.length),u(this,CE,"f").implies(A,q),this}locale(A){if($q("[string]",[A],arguments.length),A===void 0)return this[lv](),u(this,rq,"f").y18n.getLocale();return Gq(this,C8,!1,"f"),u(this,rq,"f").y18n.setLocale(A),this}middleware(A,q,F){return u(this,gK,"f").addMiddleware(A,!!q,F)}nargs(A,q){return $q("<string|object|array> [number]",[A,q],arguments.length),this[c9](this.nargs.bind(this),"narg",A,q),this}normalize(A){return $q("<array|string>",[A],arguments.length),this[SZ]("normalize",A),this}number(A){return $q("<array|string>",[A],arguments.length),this[SZ]("number",A),this[y8](A),this}option(A,q){if($q("<string|object> [object]",[A,q],arguments.length),typeof A==="object")Object.keys(A).forEach((F)=>{this.options(F,A[F])});else{if(typeof q!=="object")q={};if(this[y8](A),u(this,p0,"f")&&(A==="version"||(q===null||q===void 0?void 0:q.alias)==="version"))this[r8A](['"version" is a reserved word.',"Please do one of the following:",'- Disable version with `yargs.version(false)` if using "version" as an option',"- Use the built-in `yargs.version` method instead (if applicable)","- Use a different option key","https://yargs.js.org/docs/#api-reference-version"].join(`
|
|
118
118
|
`),void 0,"versionWarning");if(u(this,Tq,"f").key[A]=!0,q.alias)this.alias(A,q.alias);let F=q.deprecate||q.deprecated;if(F)this.deprecateOption(A,F);let E=q.demand||q.required||q.require;if(E)this.demand(A,E);if(q.demandOption)this.demandOption(A,typeof q.demandOption==="string"?q.demandOption:void 0);if(q.conflicts)this.conflicts(A,q.conflicts);if("default"in q)this.default(A,q.default);if(q.implies!==void 0)this.implies(A,q.implies);if(q.nargs!==void 0)this.nargs(A,q.nargs);if(q.config)this.config(A,q.configParser);if(q.normalize)this.normalize(A);if(q.choices)this.choices(A,q.choices);if(q.coerce)this.coerce(A,q.coerce);if(q.group)this.group(A,q.group);if(q.boolean||q.type==="boolean"){if(this.boolean(A),q.alias)this.boolean(q.alias)}if(q.array||q.type==="array"){if(this.array(A),q.alias)this.array(q.alias)}if(q.number||q.type==="number"){if(this.number(A),q.alias)this.number(q.alias)}if(q.string||q.type==="string"){if(this.string(A),q.alias)this.string(q.alias)}if(q.count||q.type==="count")this.count(A);if(typeof q.global==="boolean")this.global(A,q.global);if(q.defaultDescription)u(this,Tq,"f").defaultDescription[A]=q.defaultDescription;if(q.skipValidation)this.skipValidation(A);let g=q.describe||q.description||q.desc,D=u(this,A6,"f").getDescriptions();if(!Object.prototype.hasOwnProperty.call(D,A)||typeof g==="string")this.describe(A,g);if(q.hidden)this.hide(A);if(q.requiresArg)this.requiresArg(A)}return this}options(A,q){return this.option(A,q)}parse(A,q,F){if($q("[string|array] [function|boolean|object] [function]",[A,q,F],arguments.length),this[l8A](),typeof A>"u")A=u(this,CZ,"f");if(typeof q==="object")Gq(this,z8,q,"f"),q=F;if(typeof q==="function")Gq(this,Zj,q,"f"),q=!1;if(!q)Gq(this,CZ,A,"f");if(u(this,Zj,"f"))Gq(this,EK,!1,"f");let E=this[nH](A,!!q),g=this.parsed;if(u(this,I_,"f").setParsed(this.parsed),rF(E))return E.then((D)=>{if(u(this,Zj,"f"))u(this,Zj,"f").call(this,u(this,wZ,"f"),D,u(this,zg,"f"));return D}).catch((D)=>{if(u(this,Zj,"f"))u(this,Zj,"f")(D,this.parsed.argv,u(this,zg,"f"));throw D}).finally(()=>{this[ev](),this.parsed=g});else{if(u(this,Zj,"f"))u(this,Zj,"f").call(this,u(this,wZ,"f"),E,u(this,zg,"f"));this[ev](),this.parsed=g}return E}parseAsync(A,q,F){let E=this.parse(A,q,F);return!rF(E)?Promise.resolve(E):E}parseSync(A,q,F){let E=this.parse(A,q,F);if(rF(E))throw new mE(".parseSync() must not be used with asynchronous builders, handlers, or middleware");return E}parserConfiguration(A){return $q("<object>",[A],arguments.length),Gq(this,iV,A,"f"),this}pkgConf(A,q){$q("<string> [string]",[A,q],arguments.length);let F=null,E=this[iv](q||u(this,w8,"f"));if(E[A]&&typeof E[A]==="object")F=fH(E[A],q||u(this,w8,"f"),this[u8]()["deep-merge-config"]||!1,u(this,rq,"f")),u(this,Tq,"f").configObjects=(u(this,Tq,"f").configObjects||[]).concat(F);return this}positional(A,q){$q("<string> <object>",[A,q],arguments.length);let F=["default","defaultDescription","implies","normalize","choices","conflicts","coerce","type","describe","desc","description","alias"];q=BZ(q,(D,_)=>{if(D==="type"&&!["string","number","boolean"].includes(_))return!1;return F.includes(D)});let E=u(this,aH,"f").fullCommands[u(this,aH,"f").fullCommands.length-1],g=E?u(this,cE,"f").cmdToParseOptions(E):{array:[],alias:{},default:{},demand:{}};return v9(g).forEach((D)=>{let _=g[D];if(Array.isArray(_)){if(_.indexOf(A)!==-1)q[D]=!0}else if(_[A]&&!(D in q))q[D]=_[A]}),this.group(A,u(this,A6,"f").getPositionalGroupName()),this.option(A,q)}recommendCommands(A=!0){return $q("[boolean]",[A],arguments.length),Gq(this,pV,A,"f"),this}required(A,q,F){return this.demand(A,q,F)}require(A,q,F){return this.demand(A,q,F)}requiresArg(A){if($q("<array|string|object> [number]",[A],arguments.length),typeof A==="string"&&u(this,Tq,"f").narg[A])return this;else this[c9](this.requiresArg.bind(this),"narg",A,NaN);return this}showCompletionScript(A,q){return $q("[string] [string]",[A,q],arguments.length),A=A||this.$0,u(this,S8,"f").log(u(this,I_,"f").generateCompletionScript(A,q||u(this,$j,"f")||"completion")),this}showHelp(A){if($q("[string|function]",[A],arguments.length),Gq(this,Uj,!0,"f"),!u(this,A6,"f").hasCachedHelpMessage()){if(!this.parsed){let F=this[nH](u(this,CZ,"f"),void 0,void 0,0,!0);if(rF(F))return F.then(()=>{u(this,A6,"f").showHelp(A)}),this}let q=u(this,cE,"f").runDefaultBuilderOn(this);if(rF(q))return q.then(()=>{u(this,A6,"f").showHelp(A)}),this}return u(this,A6,"f").showHelp(A),this}scriptName(A){return this.customScriptName=!0,this.$0=A,this}showHelpOnFail(A,q){return $q("[boolean|string] [string]",[A,q],arguments.length),u(this,A6,"f").showHelpOnFail(A,q),this}showVersion(A){return $q("[string|function]",[A],arguments.length),u(this,A6,"f").showVersion(A),this}skipValidation(A){return $q("<array|string>",[A],arguments.length),this[SZ]("skipValidation",A),this}strict(A){return $q("[boolean]",[A],arguments.length),Gq(this,x8,A!==!1,"f"),this}strictCommands(A){return $q("[boolean]",[A],arguments.length),Gq(this,b8,A!==!1,"f"),this}strictOptions(A){return $q("[boolean]",[A],arguments.length),Gq(this,k8,A!==!1,"f"),this}string(A){return $q("<array|string>",[A],arguments.length),this[SZ]("string",A),this[y8](A),this}terminalWidth(){return $q([],0),u(this,rq,"f").process.stdColumns}updateLocale(A){return this.updateStrings(A)}updateStrings(A){return $q("<object>",[A],arguments.length),Gq(this,C8,!1,"f"),u(this,rq,"f").y18n.updateLocale(A),this}usage(A,q,F,E){if($q("<string|null|undefined> [string|boolean] [function|object] [function]",[A,q,F,E],arguments.length),q!==void 0)if(cD(A,null,u(this,rq,"f")),(A||"").match(/^\$0( |$)/))return this.command(A,q,F,E);else throw new mE(".usage() description must start with $0 if being used as alias for .command()");else return u(this,A6,"f").usage(A),this}usageConfiguration(A){return $q("<object>",[A],arguments.length),Gq(this,oV,A,"f"),this}version(A,q,F){if($q("[boolean|string] [string] [string]",[A,q,F],arguments.length),u(this,p0,"f"))this[rv](u(this,p0,"f")),u(this,A6,"f").version(void 0),Gq(this,p0,null,"f");if(arguments.length===0)F=this[o8A](),A="version";else if(arguments.length===1){if(A===!1)return this;F=A,A="version"}else if(arguments.length===2)F=q,q=void 0;return Gq(this,p0,typeof A==="string"?A:"version","f"),q=q||u(this,A6,"f").deferY18nLookup("Show version number"),u(this,A6,"f").version(F||void 0),this.boolean(u(this,p0,"f")),this.describe(u(this,p0,"f"),q),this}wrap(A){return $q("<number|null|undefined>",[A],arguments.length),u(this,A6,"f").wrap(A),this}[(cE=new WeakMap,w8=new WeakMap,aH=new WeakMap,I_=new WeakMap,$j=new WeakMap,fV=new WeakMap,wZ=new WeakMap,C8=new WeakMap,aV=new WeakMap,EK=new WeakMap,nV=new WeakMap,gK=new WeakMap,i0=new WeakMap,Uj=new WeakMap,DK=new WeakMap,rV=new WeakMap,S8=new WeakMap,zg=new WeakMap,Tq=new WeakMap,lV=new WeakMap,iV=new WeakMap,Zj=new WeakMap,z8=new WeakMap,m9=new WeakMap,h8=new WeakMap,CZ=new WeakMap,pV=new WeakMap,rq=new WeakMap,x8=new WeakMap,b8=new WeakMap,k8=new WeakMap,A6=new WeakMap,oV=new WeakMap,p0=new WeakMap,CE=new WeakMap,a8A)](A){if(!A._||!A["--"])return A;A._.push.apply(A._,A["--"]);try{delete A["--"]}catch(q){}return A}[n8A](){return{log:(...A)=>{if(!this[tV]())console.log(...A);if(Gq(this,Uj,!0,"f"),u(this,zg,"f").length)Gq(this,zg,u(this,zg,"f")+`
|
|
119
119
|
`,"f");Gq(this,zg,u(this,zg,"f")+A.join(" "),"f")},error:(...A)=>{if(!this[tV]())console.error(...A);if(Gq(this,Uj,!0,"f"),u(this,zg,"f").length)Gq(this,zg,u(this,zg,"f")+`
|
|
120
|
-
`,"f");Gq(this,zg,u(this,zg,"f")+A.join(" "),"f")}}}[rv](A){v9(u(this,Tq,"f")).forEach((q)=>{if(((E)=>E==="configObjects")(q))return;let F=u(this,Tq,"f")[q];if(Array.isArray(F)){if(F.includes(A))F.splice(F.indexOf(A),1)}else if(typeof F==="object")delete F[A]}),delete u(this,A6,"f").getDescriptions()[A]}[r8A](A,q,F){if(!u(this,aV,"f")[F])u(this,rq,"f").process.emitWarning(A,q),u(this,aV,"f")[F]=!0}[l8A](){u(this,nV,"f").push({options:u(this,Tq,"f"),configObjects:u(this,Tq,"f").configObjects.slice(0),exitProcess:u(this,EK,"f"),groups:u(this,i0,"f"),strict:u(this,x8,"f"),strictCommands:u(this,b8,"f"),strictOptions:u(this,k8,"f"),completionCommand:u(this,$j,"f"),output:u(this,zg,"f"),exitError:u(this,wZ,"f"),hasOutput:u(this,Uj,"f"),parsed:this.parsed,parseFn:u(this,Zj,"f"),parseContext:u(this,z8,"f")}),u(this,A6,"f").freeze(),u(this,CE,"f").freeze(),u(this,cE,"f").freeze(),u(this,gK,"f").freeze()}[i8A](){let A="",q;if(/\b(node|iojs|electron)(\.exe)?$/.test(u(this,rq,"f").process.argv()[0]))q=u(this,rq,"f").process.argv().slice(1,2);else q=u(this,rq,"f").process.argv().slice(0,1);if(A=q.map((F)=>{let E=this[j7A](u(this,w8,"f"),F);return F.match(/^(\/|([a-zA-Z]:)?\\)/)&&E.length<F.length?E:F}).join(" ").trim(),u(this,rq,"f").getEnv("_")&&u(this,rq,"f").getProcessArgvBin()===u(this,rq,"f").getEnv("_"))A=u(this,rq,"f").getEnv("_").replace(`${u(this,rq,"f").path.dirname(u(this,rq,"f").process.execPath())}/`,"");return A}[u8](){return u(this,iV,"f")}[p8A](){return u(this,oV,"f")}[lv](){if(!u(this,C8,"f"))return;let A=u(this,rq,"f").getEnv("LC_ALL")||u(this,rq,"f").getEnv("LC_MESSAGES")||u(this,rq,"f").getEnv("LANG")||u(this,rq,"f").getEnv("LANGUAGE")||"en_US";this.locale(A.replace(/[.:].*/,""))}[o8A](){return this[iv]().version||"unknown"}[t8A](A){let q=A["--"]?A["--"]:A._;for(let F=0,E;(E=q[F])!==void 0;F++)if(u(this,rq,"f").Parser.looksLikeNumber(E)&&Number.isSafeInteger(Math.floor(parseFloat(`${E}`))))q[F]=Number(E);return A}[iv](A){let q=A||"*";if(u(this,m9,"f")[q])return u(this,m9,"f")[q];let F={};try{let E=A||u(this,rq,"f").mainFilename;if(u(this,rq,"f").path.extname(E))E=u(this,rq,"f").path.dirname(E);let g=u(this,rq,"f").findUp(E,(D,_)=>{if(_.includes("package.json"))return"package.json";else return});cD(g,void 0,u(this,rq,"f")),F=JSON.parse(u(this,rq,"f").readFileSync(g,"utf8"))}catch(E){}return u(this,m9,"f")[q]=F||{},u(this,m9,"f")[q]}[SZ](A,q){q=[].concat(q),q.forEach((F)=>{F=this[tv](F),u(this,Tq,"f")[A].push(F)})}[c9](A,q,F,E){this[ov](A,q,F,E,(g,D,_)=>{u(this,Tq,"f")[g][D]=_})}[pv](A,q,F,E){this[ov](A,q,F,E,(g,D,_)=>{u(this,Tq,"f")[g][D]=(u(this,Tq,"f")[g][D]||[]).concat(_)})}[ov](A,q,F,E,g){if(Array.isArray(F))F.forEach((D)=>{A(D,E)});else if(((D)=>typeof D==="object")(F))for(let D of v9(F))A(D,F[D]);else g(q,this[tv](F),E)}[tv](A){if(A==="__proto__")return"___proto___";return A}[sv](A,q){return this[c9](this[sv].bind(this),"key",A,q),this}[ev](){var A,q,F,E,g,D,_,j,K,$,U,Z;let G=u(this,nV,"f").pop();cD(G,void 0,u(this,rq,"f"));let O;A=this,q=this,F=this,E=this,g=this,D=this,_=this,j=this,K=this,$=this,U=this,Z=this,{options:{set value(Q){Gq(A,Tq,Q,"f")}}.value,configObjects:O,exitProcess:{set value(Q){Gq(q,EK,Q,"f")}}.value,groups:{set value(Q){Gq(F,i0,Q,"f")}}.value,output:{set value(Q){Gq(E,zg,Q,"f")}}.value,exitError:{set value(Q){Gq(g,wZ,Q,"f")}}.value,hasOutput:{set value(Q){Gq(D,Uj,Q,"f")}}.value,parsed:this.parsed,strict:{set value(Q){Gq(_,x8,Q,"f")}}.value,strictCommands:{set value(Q){Gq(j,b8,Q,"f")}}.value,strictOptions:{set value(Q){Gq(K,k8,Q,"f")}}.value,completionCommand:{set value(Q){Gq($,$j,Q,"f")}}.value,parseFn:{set value(Q){Gq(U,Zj,Q,"f")}}.value,parseContext:{set value(Q){Gq(Z,z8,Q,"f")}}.value}=G,u(this,Tq,"f").configObjects=O,u(this,A6,"f").unfreeze(),u(this,CE,"f").unfreeze(),u(this,cE,"f").unfreeze(),u(this,gK,"f").unfreeze()}[s8A](A,q){return R8(q,(F)=>{return A(F),F})}getInternalMethods(){return{getCommandInstance:this[e8A].bind(this),getContext:this[A7A].bind(this),getHasOutput:this[q7A].bind(this),getLoggerInstance:this[F7A].bind(this),getParseContext:this[E7A].bind(this),getParserConfiguration:this[u8].bind(this),getUsageConfiguration:this[p8A].bind(this),getUsageInstance:this[g7A].bind(this),getValidationInstance:this[D7A].bind(this),hasParseCallback:this[tV].bind(this),isGlobalContext:this[_7A].bind(this),postProcess:this[v8].bind(this),reset:this[Ay].bind(this),runValidation:this[qy].bind(this),runYargsParserAndExecuteCommands:this[nH].bind(this),setHasOutput:this[K7A].bind(this)}}[e8A](){return u(this,cE,"f")}[A7A](){return u(this,aH,"f")}[q7A](){return u(this,Uj,"f")}[F7A](){return u(this,S8,"f")}[E7A](){return u(this,z8,"f")||{}}[g7A](){return u(this,A6,"f")}[D7A](){return u(this,CE,"f")}[tV](){return!!u(this,Zj,"f")}[_7A](){return u(this,rV,"f")}[v8](A,q,F,E){if(F)return A;if(rF(A))return A;if(!q)A=this[a8A](A);if(this[u8]()["parse-positional-numbers"]||this[u8]()["parse-positional-numbers"]===void 0)A=this[t8A](A);if(E)A=B8(A,this,u(this,gK,"f").getMiddleware(),!1);return A}[Ay](A={}){Gq(this,Tq,u(this,Tq,"f")||{},"f");let q={};q.local=u(this,Tq,"f").local||[],q.configObjects=u(this,Tq,"f").configObjects||[];let F={};q.local.forEach((D)=>{F[D]=!0,(A[D]||[]).forEach((_)=>{F[_]=!0})}),Object.assign(u(this,h8,"f"),Object.keys(u(this,i0,"f")).reduce((D,_)=>{let j=u(this,i0,"f")[_].filter((K)=>!(K in F));if(j.length>0)D[_]=j;return D},{})),Gq(this,i0,{},"f");let E=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],g=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];if(E.forEach((D)=>{q[D]=(u(this,Tq,"f")[D]||[]).filter((_)=>!F[_])}),g.forEach((D)=>{q[D]=BZ(u(this,Tq,"f")[D],(_)=>!F[_])}),q.envPrefix=u(this,Tq,"f").envPrefix,Gq(this,Tq,q,"f"),Gq(this,A6,u(this,A6,"f")?u(this,A6,"f").reset(F):z8A(this,u(this,rq,"f")),"f"),Gq(this,CE,u(this,CE,"f")?u(this,CE,"f").reset(F):c8A(this,u(this,A6,"f"),u(this,rq,"f")),"f"),Gq(this,cE,u(this,cE,"f")?u(this,cE,"f").reset():w8A(u(this,A6,"f"),u(this,CE,"f"),u(this,gK,"f"),u(this,rq,"f")),"f"),!u(this,I_,"f"))Gq(this,I_,u8A(this,u(this,A6,"f"),u(this,cE,"f"),u(this,rq,"f")),"f");return u(this,gK,"f").reset(),Gq(this,$j,null,"f"),Gq(this,zg,"","f"),Gq(this,wZ,null,"f"),Gq(this,Uj,!1,"f"),this.parsed=!1,this}[j7A](A,q){return u(this,rq,"f").path.relative(A,q)}[nH](A,q,F,E=0,g=!1){var D,_,j,K;let $=!!F||g;A=A||u(this,CZ,"f"),u(this,Tq,"f").__=u(this,rq,"f").y18n.__,u(this,Tq,"f").configuration=this[u8]();let U=!!u(this,Tq,"f").configuration["populate--"],Z=Object.assign({},u(this,Tq,"f").configuration,{"populate--":!0}),G=u(this,rq,"f").Parser.detailed(A,Object.assign({},u(this,Tq,"f"),{configuration:{"parse-positional-numbers":!1,...Z}})),O=Object.assign(G.argv,u(this,z8,"f")),Q=void 0,Y=G.aliases,J=!1,H=!1;if(Object.keys(O).forEach((P)=>{if(P===u(this,DK,"f")&&O[P])J=!0;else if(P===u(this,p0,"f")&&O[P])H=!0}),O.$0=this.$0,this.parsed=G,E===0)u(this,A6,"f").clearCachedHelpMessage();try{if(this[lv](),q)return this[v8](O,U,!!F,!1);if(u(this,DK,"f")){if([u(this,DK,"f")].concat(Y[u(this,DK,"f")]||[]).filter((W)=>W.length>1).includes(""+O._[O._.length-1]))O._.pop(),J=!0}Gq(this,rV,!1,"f");let P=u(this,cE,"f").getCommands(),L=((D=u(this,I_,"f"))===null||D===void 0?void 0:D.completionKey)?[(_=u(this,I_,"f"))===null||_===void 0?void 0:_.completionKey,...(K=this.getAliases()[(j=u(this,I_,"f"))===null||j===void 0?void 0:j.completionKey])!==null&&K!==void 0?K:[]].some((B)=>Object.prototype.hasOwnProperty.call(O,B)):!1,M=J||L||g;if(O._.length){if(P.length){let B;for(let W=E||0,V;O._[W]!==void 0;W++)if(V=String(O._[W]),P.includes(V)&&V!==u(this,$j,"f")){let R=u(this,cE,"f").runCommand(V,this,G,W+1,g,J||H||g);return this[v8](R,U,!!F,!1)}else if(!B&&V!==u(this,$j,"f")){B=V;break}if(!u(this,cE,"f").hasDefaultCommand()&&u(this,pV,"f")&&B&&!M)u(this,CE,"f").recommendCommands(B,P)}if(u(this,$j,"f")&&O._.includes(u(this,$j,"f"))&&!L){if(u(this,EK,"f"))RZ(!0);this.showCompletionScript(),this.exit(0)}}if(u(this,cE,"f").hasDefaultCommand()&&!M){let B=u(this,cE,"f").runCommand(null,this,G,0,g,J||H||g);return this[v8](B,U,!!F,!1)}if(L){if(u(this,EK,"f"))RZ(!0);A=[].concat(A);let B=A.slice(A.indexOf(`--${u(this,I_,"f").completionKey}`)+1);return u(this,I_,"f").getCompletion(B,(W,V)=>{if(W)throw new mE(W.message);(V||[]).forEach((R)=>{u(this,S8,"f").log(R)}),this.exit(0)}),this[v8](O,!U,!!F,!1)}if(!u(this,Uj,"f")){if(J){if(u(this,EK,"f"))RZ(!0);$=!0,this.showHelp((B)=>{u(this,S8,"f").log(B),this.exit(0)})}else if(H){if(u(this,EK,"f"))RZ(!0);$=!0,u(this,A6,"f").showVersion("log"),this.exit(0)}}if(!$&&u(this,Tq,"f").skipValidation.length>0)$=Object.keys(O).some((B)=>u(this,Tq,"f").skipValidation.indexOf(B)>=0&&O[B]===!0);if(!$){if(G.error)throw new mE(G.error.message);if(!L){let B=this[qy](Y,{},G.error);if(!F)Q=B8(O,this,u(this,gK,"f").getMiddleware(),!0);if(Q=this[s8A](B,Q!==null&&Q!==void 0?Q:O),rF(Q)&&!F)Q=Q.then(()=>{return B8(O,this,u(this,gK,"f").getMiddleware(),!1)})}}}catch(P){if(P instanceof mE)u(this,A6,"f").fail(P.message,P);else throw P}return this[v8](Q!==null&&Q!==void 0?Q:O,U,!!F,!0)}[qy](A,q,F,E){let g={...this.getDemandedOptions()};return(D)=>{if(F)throw new mE(F.message);u(this,CE,"f").nonOptionCount(D),u(this,CE,"f").requiredArguments(D,g);let _=!1;if(u(this,b8,"f"))_=u(this,CE,"f").unknownCommands(D);if(u(this,x8,"f")&&!_)u(this,CE,"f").unknownArguments(D,A,q,!!E);else if(u(this,k8,"f"))u(this,CE,"f").unknownArguments(D,A,{},!1,!1);u(this,CE,"f").limitedChoices(D),u(this,CE,"f").implications(D),u(this,CE,"f").conflicting(D)}}[K7A](){Gq(this,Uj,!0,"f")}[y8](A){if(typeof A==="string")u(this,Tq,"f").key[A]=!0;else for(let q of A)u(this,Tq,"f").key[q]=!0}}});var RsA,Z7A;var G7A=w(()=>{kv();dv();RsA=$7A(bv),Z7A=RsA});var O7A=w(()=>{nv();wv();kv()});var rH="0.0.1-beta.85";var Fy=()=>{};function PF(A,q){if(typeof process<"u"&&process.env)return process.env[A]??q;if(typeof Deno<"u")return Deno.env.get(A)??q;if(typeof Bun<"u")return Bun.env[A]??q;return q}function Y7A(){if(PF("FORCE_COLOR")!==void 0)switch(PF("FORCE_COLOR")){case"":case"1":case"true":return hg;case"2":return o0;case"3":return Gj;default:return iH}if(PF("NODE_DISABLE_COLORS")!==void 0&&PF("NODE_DISABLE_COLORS")!==""||PF("NO_COLOR")!==void 0&&PF("NO_COLOR")!==""||PF("TERM")==="dumb")return iH;if(PF("TMUX"))return Gj;if("TF_BUILD"in X_&&"AGENT_NAME"in X_)return hg;if("CI"in X_){for(let{0:A,1:q}of zsA)if(A in X_)return q;if(PF("CI_NAME")==="codeship")return o0;return iH}if("TEAMCITY_VERSION"in X_)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec(PF("TEAMCITY_VERSION"))!==null?hg:iH;switch(PF("TERM_PROGRAM")){case"iTerm.app":if(!PF("TERM_PROGRAM_VERSION")||/^[0-2]\./.exec(PF("TERM_PROGRAM_VERSION"))!==null)return o0;return Gj;case"HyperTerm":case"MacTerm":return Gj;case"Apple_Terminal":return o0}if(PF("COLORTERM")==="truecolor"||PF("COLORTERM")==="24bit")return Gj;if(PF("TERM")){if(/truecolor/.exec(PF("TERM"))!==null)return Gj;if(/^xterm-256/.exec(PF("TERM"))!==null)return o0;let A=PF("TERM").toLowerCase();if(Q7A[A])return Q7A[A];if(hsA.some((q)=>q.exec(A)!==null))return hg}if(PF("COLORTERM"))return hg;return iH}function J7A(A,q){return eV.indexOf(q)>=eV.indexOf(A)}var sV,lH=(A)=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(A?sV:globalThis),X_,CsA,SsA,iH=1,hg=4,o0=8,Gj=24,Q7A,zsA,hsA,pK,eV,xsA,bsA=(A,q,F)=>{let E=new Date().toISOString();if(F)return`${pK.dim}${E}${pK.reset} ${xsA[A]}${A.toUpperCase()}${pK.reset} ${pK.bright}[Better Auth]:${pK.reset} ${q}`;return`${E} ${A.toUpperCase()} [Better Auth]: ${q}`},H7A=(A)=>{let q=A?.disabled!==!0,F=A?.level??"error",E=A?.disableColors!==void 0?!A.disableColors:Y7A()!==1,g=(D,_,j=[])=>{if(!q||!J7A(F,D))return;let K=bsA(D,_,E);if(!A||typeof A.log!=="function"){if(D==="error")console.error(K,...j);else if(D==="warn")console.warn(K,...j);else console.log(K,...j);return}A.log(D==="success"?"info":D,_,...j)};return{...Object.fromEntries(eV.map((D)=>[D,(...[_,...j])=>g(D,_,j)])),get level(){return F}}},I7A;var pH=w(()=>{sV=Object.create(null),X_=new Proxy(sV,{get(A,q){return lH()[q]??sV[q]},has(A,q){return q in lH()||q in sV},set(A,q,F){let E=lH(!0);return E[q]=F,!0},deleteProperty(A,q){if(!q)return!1;let F=lH(!0);return delete F[q],!0},ownKeys(){let A=lH(!0);return Object.keys(A)}}),CsA=typeof process<"u"&&process.env&&"development"||"";SsA=Object.freeze({get BETTER_AUTH_SECRET(){return PF("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return PF("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return PF("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return PF("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return PF("NODE_ENV","development")},get PACKAGE_VERSION(){return PF("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return PF("BETTER_AUTH_TELEMETRY_ENDPOINT","https://telemetry.better-auth.com/v1/track")}}),Q7A={eterm:hg,cons25:hg,console:hg,cygwin:hg,dtterm:hg,gnome:hg,hurd:hg,jfbterm:hg,konsole:hg,kterm:hg,mlterm:hg,mosh:Gj,putty:hg,st:hg,"rxvt-unicode-24bit":Gj,terminator:Gj,"xterm-kitty":Gj},zsA=new Map(Object.entries({APPVEYOR:o0,BUILDKITE:o0,CIRCLECI:Gj,DRONE:o0,GITEA_ACTIONS:Gj,GITHUB_ACTIONS:Gj,GITLAB_CI:o0,TRAVIS:o0})),hsA=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/];pK={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",undim:"\x1B[22m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},eV=["debug","info","success","warn","error"];xsA={info:pK.fg.blue,success:pK.fg.green,warn:pK.fg.yellow,error:pK.fg.red,debug:pK.fg.magenta},I7A=H7A()});var X7A=w(()=>{pH()});var M7A=()=>{};function Ey(A){return A}function gy(A){return A.charAt(0).toUpperCase()+A.slice(1)}var A5=w(()=>{pH();M7A()});var ksA,zU;var P7A=w(()=>{A5();ksA=Ey({USER_NOT_FOUND:"User not found",FAILED_TO_CREATE_USER:"Failed to create user",FAILED_TO_CREATE_SESSION:"Failed to create session",FAILED_TO_UPDATE_USER:"Failed to update user",FAILED_TO_GET_SESSION:"Failed to get session",INVALID_PASSWORD:"Invalid password",INVALID_EMAIL:"Invalid email",INVALID_EMAIL_OR_PASSWORD:"Invalid email or password",SOCIAL_ACCOUNT_ALREADY_LINKED:"Social account already linked",PROVIDER_NOT_FOUND:"Provider not found",INVALID_TOKEN:"Invalid token",ID_TOKEN_NOT_SUPPORTED:"id_token not supported",FAILED_TO_GET_USER_INFO:"Failed to get user info",USER_EMAIL_NOT_FOUND:"User email not found",EMAIL_NOT_VERIFIED:"Email not verified",PASSWORD_TOO_SHORT:"Password too short",PASSWORD_TOO_LONG:"Password too long",USER_ALREADY_EXISTS:"User already exists.",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"User already exists. Use another email.",EMAIL_CAN_NOT_BE_UPDATED:"Email can not be updated",CREDENTIAL_ACCOUNT_NOT_FOUND:"Credential account not found",SESSION_EXPIRED:"Session expired. Re-authenticate to perform this action.",FAILED_TO_UNLINK_LAST_ACCOUNT:"You can't unlink your last account",ACCOUNT_NOT_FOUND:"Account not found",USER_ALREADY_HAS_PASSWORD:"User already has a password. Provide that to delete the account."}),zU=class extends Error{constructor(A,q){super(A);this.name="BetterAuthError",this.message=A,this.cause=q,this.stack=""}}});var Dy=w(()=>{pH();A5();P7A()});function usA(A){try{return(new URL(A).pathname.replace(/\/+$/,"")||"/")!=="/"}catch(q){throw new zU(`Invalid base URL: ${A}. Please provide a valid base URL.`)}}function vsA(A){try{let q=new URL(A);if(q.protocol!=="http:"&&q.protocol!=="https:")throw new zU(`Invalid base URL: ${A}. URL must include 'http://' or 'https://'`)}catch(q){if(q instanceof zU)throw q;throw new zU(`Invalid base URL: ${A}. Please provide a valid base URL.`,String(q))}}function oH(A,q="/api/auth"){if(vsA(A),usA(A))return A;let F=A.replace(/\/+$/,"");if(!q||q==="/")return F;return q=q.startsWith("/")?q:`/${q}`,`${F}${q}`}function N7A(A,q,F,E,g){if(A)return oH(A,q);if(E!==!1){let j=X_.BETTER_AUTH_URL||X_.NEXT_PUBLIC_BETTER_AUTH_URL||X_.PUBLIC_BETTER_AUTH_URL||X_.NUXT_PUBLIC_BETTER_AUTH_URL||X_.NUXT_PUBLIC_AUTH_URL||(X_.BASE_URL!=="/"?X_.BASE_URL:void 0);if(j)return oH(j,q)}let D=F?.headers.get("x-forwarded-host"),_=F?.headers.get("x-forwarded-proto");if(D&&_&&g)return oH(`${_}://${D}`,q);if(F){let j=ysA(F.url);if(!j)throw new zU("Could not get origin from request. Please provide a valid base URL.");return oH(j,q)}if(typeof window<"u"&&window.location)return oH(window.location.origin,q)}function ysA(A){try{let q=new URL(A);return q.origin==="null"?null:q.origin}catch(q){return null}}var q5=w(()=>{X7A();Dy()});function fsA(A){return A instanceof Date&&!isNaN(A.getTime())}function asA(A){let q=dsA.exec(A);if(!q)return null;let[,F,E,g,D,_,j,K,$,U,Z]=q,G=new Date(Date.UTC(parseInt(F,10),parseInt(E,10)-1,parseInt(g,10),parseInt(D,10),parseInt(_,10),parseInt(j,10),K?parseInt(K.padEnd(3,"0"),10):0));if($){let O=(parseInt(U,10)*60+parseInt(Z,10))*($==="+"?-1:1);G.setUTCMinutes(G.getUTCMinutes()+O)}return fsA(G)?G:null}function nsA(A,q={}){let{strict:F=!1,warnings:E=!1,reviver:g,parseDates:D=!0}=q;if(typeof A!=="string")return A;let _=A.trim();if(_.length>0&&_[0]==='"'&&_.endsWith('"')&&!_.slice(1,-1).includes('"'))return _.slice(1,-1);let j=_.toLowerCase();if(j.length<=9&&j in L7A)return L7A[j];if(!csA.test(_)){if(F)throw SyntaxError("[better-json] Invalid JSON");return A}if(Object.entries(msA).some(([K,$])=>{let U=$.test(_);if(U&&E)console.warn(`[better-json] Detected potential prototype pollution attempt using ${K} pattern`);return U})&&F)throw Error("[better-json] Potential prototype pollution attempt detected");try{return JSON.parse(_,($,U)=>{if($==="__proto__"||$==="constructor"&&U&&typeof U==="object"&&"prototype"in U){if(E)console.warn(`[better-json] Dropping "${$}" key to prevent prototype pollution`);return}if(D&&typeof U==="string"){let Z=asA(U);if(Z)return Z}return g?g($,U):U})}catch(K){if(F)throw K;return A}}function V7A(A,q={strict:!0}){return nsA(A,q)}var msA,csA,L7A,dsA;var F5=w(()=>{msA={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},csA=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,L7A={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:Number.POSITIVE_INFINITY,"-infinity":Number.NEGATIVE_INFINITY},dsA=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/});var tH;var _y=w(()=>{tH=Symbol("clean")});var oK,zZ=0,E5=4,rsA=0,hU=(A)=>{let q=[],F={get(){if(!F.lc)F.listen(()=>{})();return F.value},lc:0,listen(E){return F.lc=q.push(E),()=>{for(let D=zZ+E5;D<oK.length;)if(oK[D]===E)oK.splice(D,E5);else D+=E5;let g=q.indexOf(E);if(~g){if(q.splice(g,1),!--F.lc)F.off()}}},notify(E,g){rsA++;let D=!oK.length;for(let _ of q)oK.push(_,F.value,E,g);if(D){for(zZ=0;zZ<oK.length;zZ+=E5)oK[zZ](oK[zZ+1],oK[zZ+2],oK[zZ+3]);oK.length=0}},off(){},set(E){let g=F.value;if(g!==E)F.value=E,F.notify(g)},subscribe(E){let g=F.listen(E);return E(F.value),g},value:A};return F[tH]=()=>{q=[],F.lc=0,F.off()},F};var T7A=w(()=>{_y();oK=[]});var lsA=5,d9=6,g5=10,isA=(A,q,F,E)=>{if(A.events=A.events||{},!A.events[F+g5])A.events[F+g5]=E((g)=>{A.events[F].reduceRight((D,_)=>(_(D),D),{shared:{},...g})});return A.events[F]=A.events[F]||[],A.events[F].push(q),()=>{let g=A.events[F],D=g.indexOf(q);if(g.splice(D,1),!g.length)delete A.events[F],A.events[F+g5](),delete A.events[F+g5]}},W7A=1000,D5=(A,q)=>{return isA(A,(E)=>{let g=q(E);if(g)A.events[d9].push(g)},lsA,(E)=>{let g=A.listen;A.listen=(..._)=>{if(!A.lc&&!A.active)A.active=!0,E();return g(..._)};let D=A.off;A.events[d9]=[],A.off=()=>{D(),setTimeout(()=>{if(A.active&&!A.lc){A.active=!1;for(let _ of A.events[d9])_();A.events[d9]=[]}},W7A)};{let _=A[tH];A[tH]=()=>{for(let j of A.events[d9])j();A.events[d9]=[],A.active=!1,_()}}return()=>{A.listen=g,A.off=D}})};var B7A=w(()=>{_y()});var jy=w(()=>{T7A();B7A()});function EeA(A){if(typeof A==="number")return new C7A({type:"linear",attempts:A,delay:1000});switch(A.type){case"linear":return new C7A(A);case"exponential":return new FeA(A);default:throw Error("Invalid retry strategy")}}function _eA(A){let q=A.headers.get("content-type"),F=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!q)return"json";let E=q.split(";").shift()||"";if(DeA.test(E))return"json";if(F.has(E)||E.startsWith("text/"))return"text";return"blob"}function jeA(A){try{return JSON.parse(A),!0}catch(q){return!1}}function h7A(A){if(A===void 0)return!1;let q=typeof A;if(q==="string"||q==="number"||q==="boolean"||q===null)return!0;if(q!=="object")return!1;if(Array.isArray(A))return!0;if(A.buffer)return!1;return A.constructor&&A.constructor.name==="Object"||typeof A.toJSON==="function"}function S7A(A){try{return JSON.parse(A)}catch(q){return A}}function z7A(A){return typeof A==="function"}function KeA(A){if(A==null?void 0:A.customFetchImpl)return A.customFetchImpl;if(typeof globalThis<"u"&&z7A(globalThis.fetch))return globalThis.fetch;if(typeof window<"u"&&z7A(window.fetch))return window.fetch;throw Error("No fetch implementation found")}async function $eA(A){let q=new Headers(A==null?void 0:A.headers),F=await geA(A);for(let[E,g]of Object.entries(F||{}))q.set(E,g);if(!q.has("content-type")){let E=UeA(A==null?void 0:A.body);if(E)q.set("content-type",E)}return q}function UeA(A){if(h7A(A))return"application/json";return null}function ZeA(A){if(!(A==null?void 0:A.body))return null;let q=new Headers(A==null?void 0:A.headers);if(h7A(A.body)&&!q.has("content-type")){for(let[F,E]of Object.entries(A==null?void 0:A.body))if(E instanceof Date)A.body[F]=E.toISOString();return JSON.stringify(A.body)}return A.body}function GeA(A,q){var F;if(q==null?void 0:q.method)return q.method.toUpperCase();if(A.startsWith("@")){let E=(F=A.split("@")[1])==null?void 0:F.split("/")[0];if(!x7A.includes(E))return(q==null?void 0:q.body)?"POST":"GET";return E.toUpperCase()}return(q==null?void 0:q.body)?"POST":"GET"}function OeA(A,q){let F;if(!(A==null?void 0:A.signal)&&(A==null?void 0:A.timeout))F=setTimeout(()=>q==null?void 0:q.abort(),A==null?void 0:A.timeout);return{abortTimeout:F,clearTimeout:()=>{if(F)clearTimeout(F)}}}async function _5(A,q){let F=await A["~standard"].validate(q);if(F.issues)throw new QeA(F.issues);return F.value}function JeA(A,q){let{baseURL:F,params:E,query:g}=q||{query:{},params:{},baseURL:""},D=A.startsWith("http")?A.split("/").slice(0,3).join("/"):F||"";if(A.startsWith("@")){let Z=A.toString().split("@")[1].split("/")[0];if(x7A.includes(Z))A=A.replace(`@${Z}/`,"/")}if(!D.endsWith("/"))D+="/";let[_,j]=A.replace(D,"").split("?"),K=new URLSearchParams(j);for(let[Z,G]of Object.entries(g||{})){if(G==null)continue;K.set(Z,String(G))}if(E)if(Array.isArray(E)){let Z=_.split("/").filter((G)=>G.startsWith(":"));for(let[G,O]of Z.entries()){let Q=E[G];_=_.replace(O,Q)}}else for(let[Z,G]of Object.entries(E))_=_.replace(`:${Z}`,String(G));if(_=_.split("/").map(encodeURIComponent).join("/"),_.startsWith("/"))_=_.slice(1);let $=K.toString();if($=$.length>0?`?${$}`.replace(/\+/g,"%20"):"",!D.startsWith("http"))return`${D}${_}${$}`;return new URL(`${_}${$}`,D)}var psA,osA,tsA,R7A,ssA,esA,w7A=(A,q,F)=>(q in A)?psA(A,q,{enumerable:!0,configurable:!0,writable:!0,value:F}):A[q]=F,tK=(A,q)=>{for(var F in q||(q={}))if(ssA.call(q,F))w7A(A,F,q[F]);if(R7A){for(var F of R7A(q))if(esA.call(q,F))w7A(A,F,q[F])}return A},t0=(A,q)=>osA(A,tsA(q)),AeA,qeA=async(A,q)=>{var F,E,g,D,_,j;let K=q||{},$={onRequest:[q==null?void 0:q.onRequest],onResponse:[q==null?void 0:q.onResponse],onSuccess:[q==null?void 0:q.onSuccess],onError:[q==null?void 0:q.onError],onRetry:[q==null?void 0:q.onRetry]};if(!q||!(q==null?void 0:q.plugins))return{url:A,options:K,hooks:$};for(let U of(q==null?void 0:q.plugins)||[]){if(U.init){let Z=await((F=U.init)==null?void 0:F.call(U,A.toString(),q));K=Z.options||K,A=Z.url}$.onRequest.push((E=U.hooks)==null?void 0:E.onRequest),$.onResponse.push((g=U.hooks)==null?void 0:g.onResponse),$.onSuccess.push((D=U.hooks)==null?void 0:D.onSuccess),$.onError.push((_=U.hooks)==null?void 0:_.onError),$.onRetry.push((j=U.hooks)==null?void 0:j.onRetry)}return{url:A,options:K,hooks:$}},C7A=class{constructor(A){this.options=A}shouldAttemptRetry(A,q){if(this.options.shouldRetry)return Promise.resolve(A<this.options.attempts&&this.options.shouldRetry(q));return Promise.resolve(A<this.options.attempts)}getDelay(){return this.options.delay}},FeA=class{constructor(A){this.options=A}shouldAttemptRetry(A,q){if(this.options.shouldRetry)return Promise.resolve(A<this.options.attempts&&this.options.shouldRetry(q));return Promise.resolve(A<this.options.attempts)}getDelay(A){return Math.min(this.options.maxDelay,this.options.baseDelay*2**A)}},geA=async(A)=>{let q={},F=async(E)=>typeof E==="function"?await E():E;if(A==null?void 0:A.auth){if(A.auth.type==="Bearer"){let E=await F(A.auth.token);if(!E)return q;q.authorization=`Bearer ${E}`}else if(A.auth.type==="Basic"){let E=F(A.auth.username),g=F(A.auth.password);if(!E||!g)return q;q.authorization=`Basic ${btoa(`${E}:${g}`)}`}else if(A.auth.type==="Custom"){let E=F(A.auth.value);if(!E)return q;q.authorization=`${F(A.auth.prefix)} ${E}`}}return q},DeA,QeA,x7A,YeA=(A)=>({id:"apply-schema",name:"Apply Schema",version:"1.0.0",async init(q,F){var E,g,D,_;let j=((g=(E=A.plugins)==null?void 0:E.find((K)=>{var $;return(($=K.schema)==null?void 0:$.config)?q.startsWith(K.schema.config.baseURL||"")||q.startsWith(K.schema.config.prefix||""):!1}))==null?void 0:g.schema)||A.schema;if(j){let K=q;if((D=j.config)==null?void 0:D.prefix){if(K.startsWith(j.config.prefix)){if(K=K.replace(j.config.prefix,""),j.config.baseURL)q=q.replace(j.config.prefix,j.config.baseURL)}}if((_=j.config)==null?void 0:_.baseURL){if(K.startsWith(j.config.baseURL))K=K.replace(j.config.baseURL,"")}let $=j.schema[K];if($){let U=t0(tK({},F),{method:$.method,output:$.output});if(!(F==null?void 0:F.disableValidation))U=t0(tK({},U),{body:$.input?await _5($.input,F==null?void 0:F.body):F==null?void 0:F.body,params:$.params?await _5($.params,F==null?void 0:F.params):F==null?void 0:F.params,query:$.query?await _5($.query,F==null?void 0:F.query):F==null?void 0:F.query});return{url:q,options:U}}}return{url:q,options:F}}}),b7A=(A)=>{async function q(F,E){let g=t0(tK(tK({},A),E),{plugins:[...(A==null?void 0:A.plugins)||[],YeA(A||{})]});if(A==null?void 0:A.catchAllError)try{return await Ky(F,g)}catch(D){return{data:null,error:{status:500,statusText:"Fetch Error",message:"Fetch related error. Captured by catchAllError option. See error property for more details.",error:D}}}return await Ky(F,g)}return q},Ky=async(A,q)=>{var F,E,g,D,_,j,K,$;let{hooks:U,url:Z,options:G}=await qeA(A,q),O=KeA(G),Q=new AbortController,Y=(F=G.signal)!=null?F:Q.signal,J=JeA(Z,G),H=ZeA(G),P=await $eA(G),L=GeA(Z,G),M=t0(tK({},G),{url:J,headers:P,body:H,method:L,signal:Y});for(let y of U.onRequest)if(y){let i=await y(M);if(i instanceof Object)M=i}if("pipeTo"in M&&typeof M.pipeTo==="function"||typeof((E=q==null?void 0:q.body)==null?void 0:E.pipe)==="function"){if(!("duplex"in M))M.duplex="half"}let{clearTimeout:B}=OeA(G,Q),W=await O(M.url,M);B();let V={response:W,request:M};for(let y of U.onResponse)if(y){let i=await y(t0(tK({},V),{response:((g=q==null?void 0:q.hookOptions)==null?void 0:g.cloneResponse)?W.clone():W}));if(i instanceof Response)W=i;else if(i instanceof Object)W=i.response}if(W.ok){if(M.method==="HEAD")return{data:"",error:null};let i=_eA(W),GA={data:"",response:W,request:M};if(i==="json"||i==="text"){let QA=await W.text(),xA=await((D=M.jsonParser)!=null?D:S7A)(QA);GA.data=xA}else GA.data=await W[i]();if(M==null?void 0:M.output){if(M.output&&!M.disableValidation)GA.data=await _5(M.output,GA.data)}for(let QA of U.onSuccess)if(QA)await QA(t0(tK({},GA),{response:((_=q==null?void 0:q.hookOptions)==null?void 0:_.cloneResponse)?W.clone():W}));if(q==null?void 0:q.throw)return GA.data;return{data:GA.data,error:null}}let R=(j=q==null?void 0:q.jsonParser)!=null?j:S7A,k=await W.text(),v=jeA(k),b=v?await R(k):null,m={response:W,responseText:k,request:M,error:t0(tK({},b),{status:W.status,statusText:W.statusText})};for(let y of U.onError)if(y)await y(t0(tK({},m),{response:((K=q==null?void 0:q.hookOptions)==null?void 0:K.cloneResponse)?W.clone():W}));if(q==null?void 0:q.retry){let y=EeA(q.retry),i=($=q.retryAttempt)!=null?$:0;if(await y.shouldAttemptRetry(i,W)){for(let QA of U.onRetry)if(QA)await QA(V);let GA=y.getDelay(i);return await new Promise((QA)=>setTimeout(QA,GA)),await Ky(A,t0(tK({},q),{retryAttempt:i+1}))}}if(q==null?void 0:q.throw)throw new AeA(W.status,W.statusText,v?b:k);return{data:null,error:t0(tK({},b),{status:W.status,statusText:W.statusText})}};var k7A=w(()=>{psA=Object.defineProperty,osA=Object.defineProperties,tsA=Object.getOwnPropertyDescriptors,R7A=Object.getOwnPropertySymbols,ssA=Object.prototype.hasOwnProperty,esA=Object.prototype.propertyIsEnumerable,AeA=class extends Error{constructor(A,q,F){super(q||A.toString(),{cause:F});this.status=A,this.statusText=q,this.error=F}};DeA=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;QeA=class A extends Error{constructor(q,F){super(F||JSON.stringify(q,null,2));this.issues=q,Object.setPrototypeOf(this,A.prototype)}};x7A=["get","post","put","patch","delete"]});function K5(A="better-auth.message"){if(!globalThis[j5])globalThis[j5]=new IeA(A);return globalThis[j5]}function u7A(){if(!globalThis[$5])globalThis[$5]=new XeA;return globalThis[$5]}function $y(){if(!globalThis[U5])globalThis[U5]=new MeA;return globalThis[U5]}function v7A(A){let{sessionAtom:q,sessionSignal:F,$fetch:E,options:g={}}=A,D=g.sessionOptions?.refetchInterval??0,_=g.sessionOptions?.refetchOnWindowFocus??!0,j=g.sessionOptions?.refetchWhenOffline??!1,K={lastSync:0,lastSessionRequest:0,cachedSession:void 0},$=()=>{return j||$y().isOnline},U=(P)=>{if(!$())return;if(P?.event==="storage"){K.lastSync=f9(),F.set(!F.get());return}let L=q.get();if(P?.event==="poll"){K.lastSessionRequest=f9(),E("/get-session").then((M)=>{q.set({...L,data:M.data,error:M.error||null}),K.lastSync=f9(),F.set(!F.get())}).catch(()=>{});return}if(P?.event==="visibilitychange"){if(f9()-K.lastSessionRequest<NeA&&L?.data!==null&&L?.data!==void 0)return}if(L?.data===null||L?.data===void 0||P?.event==="visibilitychange"){if(P?.event==="visibilitychange")K.lastSessionRequest=f9();K.lastSync=f9(),F.set(!F.get())}},Z=(P)=>{K5().post({event:"session",data:{trigger:P},clientId:Math.random().toString(36).substring(7)})},G=()=>{if(D&&D>0)K.pollInterval=setInterval(()=>{if(q.get()?.data)U({event:"poll"})},D*1000)},O=()=>{K.unsubscribeBroadcast=K5().subscribe(()=>{U({event:"storage"})})},Q=()=>{if(!_)return;K.unsubscribeFocus=u7A().subscribe(()=>{U({event:"visibilitychange"})})},Y=()=>{K.unsubscribeOnline=$y().subscribe((P)=>{if(P)U({event:"visibilitychange"})})};return{init:()=>{G(),O(),Q(),Y(),K5().setup(),u7A().setup(),$y().setup()},cleanup:()=>{if(K.pollInterval)clearInterval(K.pollInterval),K.pollInterval=void 0;if(K.unsubscribeBroadcast)K.unsubscribeBroadcast(),K.unsubscribeBroadcast=void 0;if(K.unsubscribeFocus)K.unsubscribeFocus(),K.unsubscribeFocus=void 0;if(K.unsubscribeOnline)K.unsubscribeOnline(),K.unsubscribeOnline=void 0;K.lastSync=0,K.lastSessionRequest=0,K.cachedSession=void 0},triggerRefetch:U,broadcastSessionUpdate:Z}}function VeA(A,q){let F=hU(!1),E=m8(F,"/get-session",A,{method:"GET"});return D5(E,()=>{let g=v7A({sessionAtom:E,sessionSignal:F,$fetch:A,options:q});return g.init(),()=>{g.cleanup()}}),{session:E,$sessionSignal:F}}function TeA(A){return typeof A==="object"&&A!==null&&"get"in A&&typeof A.get==="function"&&"lc"in A&&typeof A.lc==="number"}function WeA(A,q,F){let E=q[A],{fetchOptions:g,query:D,..._}=F||{};if(E)return E;if(g?.method)return g.method;if(_&&Object.keys(_).length>0)return"POST";return"GET"}function m7A(A,q,F,E,g){function D(_=[]){return new Proxy(function(){},{get(j,K){if(typeof K!=="string")return;if(K==="then"||K==="catch"||K==="finally")return;let $=[..._,K],U=A;for(let Z of $)if(U&&typeof U==="object"&&Z in U)U=U[Z];else{U=void 0;break}if(typeof U==="function")return U;if(TeA(U))return U;return D($)},apply:async(j,K,$)=>{let U="/"+_.map((P)=>P.replace(/[A-Z]/g,(L)=>`-${L.toLowerCase()}`)).join("/"),Z=$[0]||{},G=$[1]||{},{query:O,fetchOptions:Q,...Y}=Z,J={...G,...Q},H=WeA(U,F,Z);return await q(U,{...J,body:H==="GET"?void 0:{...Y,...J?.body||{}},query:O||J?.query,method:H,async onSuccess(P){if(await J?.onSuccess?.(P),!g||J.disableSignal)return;let L=g.filter((M)=>M.matcher(U));if(!L.length)return;for(let M of L){let B=E[M.signal];if(!B)return;let W=B.get();setTimeout(()=>{B.set(!W)},10)}}})}})}return D()}var j5,HeA=()=>Math.floor(Date.now()/1000),IeA=class{listeners=new Set;name;constructor(A="better-auth.message"){this.name=A}subscribe(A){return this.listeners.add(A),()=>{this.listeners.delete(A)}}post(A){if(typeof window>"u")return;try{localStorage.setItem(this.name,JSON.stringify({...A,timestamp:HeA()}))}catch{}}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let A=(q)=>{if(q.key!==this.name)return;let F=JSON.parse(q.newValue??"{}");if(F?.event!=="session"||!F?.data)return;this.listeners.forEach((E)=>E(F))};return window.addEventListener("storage",A),()=>{window.removeEventListener("storage",A)}}},$5,XeA=class{listeners=new Set;subscribe(A){return this.listeners.add(A),()=>{this.listeners.delete(A)}}setFocused(A){this.listeners.forEach((q)=>q(A))}setup(){if(typeof window>"u"||typeof document>"u"||typeof window.addEventListener>"u")return()=>{};let A=()=>{if(document.visibilityState==="visible")this.setFocused(!0)};return document.addEventListener("visibilitychange",A,!1),()=>{document.removeEventListener("visibilitychange",A,!1)}}},U5,MeA=class{listeners=new Set;isOnline=typeof navigator<"u"?navigator.onLine:!0;subscribe(A){return this.listeners.add(A),()=>{this.listeners.delete(A)}}setOnline(A){this.isOnline=A,this.listeners.forEach((q)=>q(A))}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let A=()=>this.setOnline(!0),q=()=>this.setOnline(!1);return window.addEventListener("online",A,!1),window.addEventListener("offline",q,!1),()=>{window.removeEventListener("online",A,!1),window.removeEventListener("offline",q,!1)}}},PeA=()=>typeof window>"u",m8=(A,q,F,E)=>{let g=hU({data:null,error:null,isPending:!0,isRefetching:!1,refetch:(j)=>D(j)}),D=async(j)=>{return new Promise((K)=>{let $=typeof E==="function"?E({data:g.get().data,error:g.get().error,isPending:g.get().isPending}):E;F(q,{...$,query:{...$?.query,...j?.query},async onSuccess(U){g.set({data:U.data,error:null,isPending:!1,isRefetching:!1,refetch:g.value.refetch}),await $?.onSuccess?.(U)},async onError(U){let{request:Z}=U,G=typeof Z.retry==="number"?Z.retry:Z.retry?.attempts,O=Z.retryAttempt||0;if(G&&O<G)return;g.set({error:U.error,data:null,isPending:!1,isRefetching:!1,refetch:g.value.refetch}),await $?.onError?.(U)},async onRequest(U){let Z=g.get();g.set({isPending:Z.data===null,data:Z.data,error:null,isRefetching:!0,refetch:g.value.refetch}),await $?.onRequest?.(U)}}).catch((U)=>{g.set({error:U,data:null,isPending:!1,isRefetching:!1,refetch:g.value.refetch})}).finally(()=>{K(void 0)})})};A=Array.isArray(A)?A:[A];let _=!1;for(let j of A)j.subscribe(async()=>{if(PeA())return;if(_)await D();else D5(g,()=>{let K=setTimeout(async()=>{if(!_)await D(),_=!0},0);return()=>{g.off(),j.off(),clearTimeout(K)}})});return g},f9=()=>Math.floor(Date.now()/1000),NeA=5,LeA,y7A=(A,q)=>{let F="credentials"in Request.prototype,E=N7A(A?.baseURL,A?.basePath,void 0,q)??"/api/auth",g=A?.plugins?.flatMap((M)=>M.fetchPlugins).filter((M)=>M!==void 0)||[],D={id:"lifecycle-hooks",name:"lifecycle-hooks",hooks:{onSuccess:A?.fetchOptions?.onSuccess,onError:A?.fetchOptions?.onError,onRequest:A?.fetchOptions?.onRequest,onResponse:A?.fetchOptions?.onResponse}},{onSuccess:_,onError:j,onRequest:K,onResponse:$,...U}=A?.fetchOptions||{},Z=b7A({baseURL:E,...F?{credentials:"include"}:{},method:"GET",jsonParser(M){if(!M)return null;return V7A(M,{strict:!1})},customFetchImpl:fetch,...U,plugins:[D,...U.plugins||[],...A?.disableDefaultFetchPlugins?[]:[LeA],...g]}),{$sessionSignal:G,session:O}=VeA(Z,A),Q=A?.plugins||[],Y={},J={$sessionSignal:G,session:O},H={"/sign-out":"POST","/revoke-sessions":"POST","/revoke-other-sessions":"POST","/delete-user":"POST"},P=[{signal:"$sessionSignal",matcher(M){return M==="/sign-out"||M==="/update-user"||M==="/sign-up/email"||M==="/sign-in/email"||M==="/delete-user"||M==="/verify-email"||M==="/revoke-sessions"||M==="/revoke-session"||M==="/change-email"}}];for(let M of Q){if(M.getAtoms)Object.assign(J,M.getAtoms?.(Z));if(M.pathMethods)Object.assign(H,M.pathMethods);if(M.atomListeners)P.push(...M.atomListeners)}let L={notify:(M)=>{J[M].set(!J[M].get())},listen:(M,B)=>{J[M].subscribe(B)},atoms:J};for(let M of Q)if(M.getActions)Object.assign(Y,M.getActions?.(Z,L,A));return{get baseURL(){return E},pluginsActions:Y,pluginsAtoms:J,pluginPathMethods:H,atomListeners:P,$fetch:Z,$store:L}};var Z5=w(()=>{q5();F5();jy();k7A();j5=Symbol.for("better-auth:broadcast-channel");$5=Symbol.for("better-auth:focus-manager");U5=Symbol.for("better-auth:online-manager");LeA={id:"redirect",name:"Redirect",hooks:{onSuccess(A){if(A.data?.url&&A.data?.redirect){if(typeof window<"u"&&window.location){if(window.location)try{window.location.href=A.data.url}catch{}}}}}}});var c7A=w(()=>{pH();A5()});function Uy(A){let{pluginPathMethods:q,pluginsActions:F,pluginsAtoms:E,$fetch:g,atomListeners:D,$store:_}=y7A(A),j={};for(let[K,$]of Object.entries(E))j[`use${gy(K)}`]=$;return m7A({...F,...j,$fetch:g,$store:_},g,q,E,D)}var Zy=w(()=>{Z5();c7A()});var d7A=w(()=>{q5();Z5();F5();Zy()});function BeA(A){return{authorize(q,F="AND"){let E=!1;for(let[g,D]of Object.entries(q)){let _=A[g];if(!_)return{success:!1,error:`You are not allowed to access resource: ${g}`};if(Array.isArray(D))E=D.every((j)=>_.includes(j));else if(typeof D==="object"){let j=D;if(j.connector==="OR")E=j.actions.some((K)=>_.includes(K));else E=j.actions.every((K)=>_.includes(K))}else throw new zU("Invalid access control request");if(E&&F==="OR")return{success:E};if(!E&&F==="AND")return{success:!1,error:`unauthorized to access resource "${g}"`}}if(E)return{success:E};return{success:!1,error:"Not authorized"}},statements:A}}function G5(A){return{newRole(q){return BeA(q)},statements:A}}var O5=w(()=>{Dy()});var ReA,f7A,weA,CeA;var Gy=w(()=>{O5();ReA={user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]},f7A=G5(ReA),weA=f7A.newRole({user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]}),CeA=f7A.newRole({user:[],session:[]})});var a7A=w(()=>{Gy()});var SeA,Oy,Qy,Yy,Jy,n7A;var r7A=w(()=>{O5();SeA={organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]},Oy=G5(SeA),Qy=Oy.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"],team:["create","update","delete"],ac:["create","read","update","delete"]}),Yy=Oy.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]}),Jy=Oy.newRole({organization:[],member:[],invitation:[],team:[],ac:["read"]}),n7A={admin:Qy,owner:Yy,member:Jy}});var l7A=(A,q)=>{if(!A.permissions&&!A.permission)return!1;let F=A.role.split(","),E=A.options.creatorRole||"owner",g=F.includes(E),D=A.allowCreatorAllPermissions||!1;if(g&&D)return!0;for(let _ of F)if(q[_]?.authorize(A.permissions??A.permission)?.success)return!0;return!1};var i7A=()=>{};var p7A=()=>{};var o7A=()=>{return{id:"device-authorization",$InferServerPlugin:{},pathMethods:{"/device/code":"POST","/device/token":"POST","/device":"GET","/device/approve":"POST","/device/deny":"POST"}}},t7A=(A)=>{let q=A?.jwks?.jwksPath??"/jwks";return{id:"better-auth-client",$InferServerPlugin:{},pathMethods:{[q]:"GET"},getActions:(F)=>({jwks:async(E)=>{return await F(q,{method:"GET",...E})}})}},zeA=(A)=>{return l7A(A,A.options.roles||n7A)},s7A=(A)=>{let q=hU(!1),F=hU(!1),E=hU(!1),g=hU(!1),D={admin:Qy,member:Jy,owner:Yy,...A?.roles};return{id:"organization",$InferServerPlugin:{},getActions:(_,j,K)=>({$Infer:{ActiveOrganization:{},Organization:{},Invitation:{},Member:{},Team:{}},organization:{checkRolePermission:($)=>{return zeA({role:$.role,options:{ac:A?.ac,roles:D},permissions:$.permissions??$.permission})}}}),getAtoms:(_)=>{let j=m8(q,"/organization/list",_,{method:"GET"});return{$listOrg:q,$activeOrgSignal:F,$activeMemberSignal:E,$activeMemberRoleSignal:g,activeOrganization:m8([F],"/organization/get-full-organization",_,()=>({method:"GET"})),listOrganizations:j,activeMember:m8([E],"/organization/get-active-member",_,{method:"GET"}),activeMemberRole:m8([g],"/organization/get-active-member-role",_,{method:"GET"})}},pathMethods:{"/organization/get-full-organization":"GET","/organization/list-user-teams":"GET"},atomListeners:[{matcher(_){return _==="/organization/create"||_==="/organization/delete"||_==="/organization/update"},signal:"$listOrg"},{matcher(_){return _.startsWith("/organization")},signal:"$activeOrgSignal"},{matcher(_){return _.startsWith("/organization/set-active")},signal:"$sessionSignal"},{matcher(_){return _.includes("/organization/update-member-role")},signal:"$activeMemberSignal"},{matcher(_){return _.includes("/organization/update-member-role")},signal:"$activeMemberRoleSignal"}]}};var e7A=w(()=>{q5();Z5();F5();Zy();O5();Gy();a7A();r7A();i7A();p7A();jy()});var AOA=(A,q,F)=>(...E)=>h9((g)=>{try{A(...E,(D,_)=>{if(D)g(tE(q?q(D,E):D));else g(DF(_))})}catch(D){g(F?tE(F(D,E)):BU(D))}});var qOA=w(()=>{eg()});var gE;var FOA=w(()=>{qOA();gE=AOA});var EOA;var gOA=w(()=>{QH();EOA=GH});var Hy=(A,q)=>{switch(q._tag){case"StringKeyword":case"TemplateLiteral":return Object.keys(A);case"SymbolKeyword":return Object.getOwnPropertySymbols(A);case"Refinement":return Hy(A,q.from)}},sH=(A)=>{let q=!1,F;return()=>{if(q)return F;return F=A(),q=!0,F}},Iy=(A)=>Array.isArray(A),_OA=(A)=>!Array.isArray(A),DOA=(A)=>`[${w1(A)}]`,Q5=(A)=>Iy(A)?A.map(DOA).join(""):DOA(A);var eH=w(()=>{CF()});var hZ=(A,q,F,E)=>{let g=A;if(F&&OF(F))g+=`
|
|
120
|
+
`,"f");Gq(this,zg,u(this,zg,"f")+A.join(" "),"f")}}}[rv](A){v9(u(this,Tq,"f")).forEach((q)=>{if(((E)=>E==="configObjects")(q))return;let F=u(this,Tq,"f")[q];if(Array.isArray(F)){if(F.includes(A))F.splice(F.indexOf(A),1)}else if(typeof F==="object")delete F[A]}),delete u(this,A6,"f").getDescriptions()[A]}[r8A](A,q,F){if(!u(this,aV,"f")[F])u(this,rq,"f").process.emitWarning(A,q),u(this,aV,"f")[F]=!0}[l8A](){u(this,nV,"f").push({options:u(this,Tq,"f"),configObjects:u(this,Tq,"f").configObjects.slice(0),exitProcess:u(this,EK,"f"),groups:u(this,i0,"f"),strict:u(this,x8,"f"),strictCommands:u(this,b8,"f"),strictOptions:u(this,k8,"f"),completionCommand:u(this,$j,"f"),output:u(this,zg,"f"),exitError:u(this,wZ,"f"),hasOutput:u(this,Uj,"f"),parsed:this.parsed,parseFn:u(this,Zj,"f"),parseContext:u(this,z8,"f")}),u(this,A6,"f").freeze(),u(this,CE,"f").freeze(),u(this,cE,"f").freeze(),u(this,gK,"f").freeze()}[i8A](){let A="",q;if(/\b(node|iojs|electron)(\.exe)?$/.test(u(this,rq,"f").process.argv()[0]))q=u(this,rq,"f").process.argv().slice(1,2);else q=u(this,rq,"f").process.argv().slice(0,1);if(A=q.map((F)=>{let E=this[j7A](u(this,w8,"f"),F);return F.match(/^(\/|([a-zA-Z]:)?\\)/)&&E.length<F.length?E:F}).join(" ").trim(),u(this,rq,"f").getEnv("_")&&u(this,rq,"f").getProcessArgvBin()===u(this,rq,"f").getEnv("_"))A=u(this,rq,"f").getEnv("_").replace(`${u(this,rq,"f").path.dirname(u(this,rq,"f").process.execPath())}/`,"");return A}[u8](){return u(this,iV,"f")}[p8A](){return u(this,oV,"f")}[lv](){if(!u(this,C8,"f"))return;let A=u(this,rq,"f").getEnv("LC_ALL")||u(this,rq,"f").getEnv("LC_MESSAGES")||u(this,rq,"f").getEnv("LANG")||u(this,rq,"f").getEnv("LANGUAGE")||"en_US";this.locale(A.replace(/[.:].*/,""))}[o8A](){return this[iv]().version||"unknown"}[t8A](A){let q=A["--"]?A["--"]:A._;for(let F=0,E;(E=q[F])!==void 0;F++)if(u(this,rq,"f").Parser.looksLikeNumber(E)&&Number.isSafeInteger(Math.floor(parseFloat(`${E}`))))q[F]=Number(E);return A}[iv](A){let q=A||"*";if(u(this,m9,"f")[q])return u(this,m9,"f")[q];let F={};try{let E=A||u(this,rq,"f").mainFilename;if(u(this,rq,"f").path.extname(E))E=u(this,rq,"f").path.dirname(E);let g=u(this,rq,"f").findUp(E,(D,_)=>{if(_.includes("package.json"))return"package.json";else return});cD(g,void 0,u(this,rq,"f")),F=JSON.parse(u(this,rq,"f").readFileSync(g,"utf8"))}catch(E){}return u(this,m9,"f")[q]=F||{},u(this,m9,"f")[q]}[SZ](A,q){q=[].concat(q),q.forEach((F)=>{F=this[tv](F),u(this,Tq,"f")[A].push(F)})}[c9](A,q,F,E){this[ov](A,q,F,E,(g,D,_)=>{u(this,Tq,"f")[g][D]=_})}[pv](A,q,F,E){this[ov](A,q,F,E,(g,D,_)=>{u(this,Tq,"f")[g][D]=(u(this,Tq,"f")[g][D]||[]).concat(_)})}[ov](A,q,F,E,g){if(Array.isArray(F))F.forEach((D)=>{A(D,E)});else if(((D)=>typeof D==="object")(F))for(let D of v9(F))A(D,F[D]);else g(q,this[tv](F),E)}[tv](A){if(A==="__proto__")return"___proto___";return A}[sv](A,q){return this[c9](this[sv].bind(this),"key",A,q),this}[ev](){var A,q,F,E,g,D,_,j,K,$,U,Z;let G=u(this,nV,"f").pop();cD(G,void 0,u(this,rq,"f"));let O;A=this,q=this,F=this,E=this,g=this,D=this,_=this,j=this,K=this,$=this,U=this,Z=this,{options:{set value(Q){Gq(A,Tq,Q,"f")}}.value,configObjects:O,exitProcess:{set value(Q){Gq(q,EK,Q,"f")}}.value,groups:{set value(Q){Gq(F,i0,Q,"f")}}.value,output:{set value(Q){Gq(E,zg,Q,"f")}}.value,exitError:{set value(Q){Gq(g,wZ,Q,"f")}}.value,hasOutput:{set value(Q){Gq(D,Uj,Q,"f")}}.value,parsed:this.parsed,strict:{set value(Q){Gq(_,x8,Q,"f")}}.value,strictCommands:{set value(Q){Gq(j,b8,Q,"f")}}.value,strictOptions:{set value(Q){Gq(K,k8,Q,"f")}}.value,completionCommand:{set value(Q){Gq($,$j,Q,"f")}}.value,parseFn:{set value(Q){Gq(U,Zj,Q,"f")}}.value,parseContext:{set value(Q){Gq(Z,z8,Q,"f")}}.value}=G,u(this,Tq,"f").configObjects=O,u(this,A6,"f").unfreeze(),u(this,CE,"f").unfreeze(),u(this,cE,"f").unfreeze(),u(this,gK,"f").unfreeze()}[s8A](A,q){return R8(q,(F)=>{return A(F),F})}getInternalMethods(){return{getCommandInstance:this[e8A].bind(this),getContext:this[A7A].bind(this),getHasOutput:this[q7A].bind(this),getLoggerInstance:this[F7A].bind(this),getParseContext:this[E7A].bind(this),getParserConfiguration:this[u8].bind(this),getUsageConfiguration:this[p8A].bind(this),getUsageInstance:this[g7A].bind(this),getValidationInstance:this[D7A].bind(this),hasParseCallback:this[tV].bind(this),isGlobalContext:this[_7A].bind(this),postProcess:this[v8].bind(this),reset:this[Ay].bind(this),runValidation:this[qy].bind(this),runYargsParserAndExecuteCommands:this[nH].bind(this),setHasOutput:this[K7A].bind(this)}}[e8A](){return u(this,cE,"f")}[A7A](){return u(this,aH,"f")}[q7A](){return u(this,Uj,"f")}[F7A](){return u(this,S8,"f")}[E7A](){return u(this,z8,"f")||{}}[g7A](){return u(this,A6,"f")}[D7A](){return u(this,CE,"f")}[tV](){return!!u(this,Zj,"f")}[_7A](){return u(this,rV,"f")}[v8](A,q,F,E){if(F)return A;if(rF(A))return A;if(!q)A=this[a8A](A);if(this[u8]()["parse-positional-numbers"]||this[u8]()["parse-positional-numbers"]===void 0)A=this[t8A](A);if(E)A=B8(A,this,u(this,gK,"f").getMiddleware(),!1);return A}[Ay](A={}){Gq(this,Tq,u(this,Tq,"f")||{},"f");let q={};q.local=u(this,Tq,"f").local||[],q.configObjects=u(this,Tq,"f").configObjects||[];let F={};q.local.forEach((D)=>{F[D]=!0,(A[D]||[]).forEach((_)=>{F[_]=!0})}),Object.assign(u(this,h8,"f"),Object.keys(u(this,i0,"f")).reduce((D,_)=>{let j=u(this,i0,"f")[_].filter((K)=>!(K in F));if(j.length>0)D[_]=j;return D},{})),Gq(this,i0,{},"f");let E=["array","boolean","string","skipValidation","count","normalize","number","hiddenOptions"],g=["narg","key","alias","default","defaultDescription","config","choices","demandedOptions","demandedCommands","deprecatedOptions"];if(E.forEach((D)=>{q[D]=(u(this,Tq,"f")[D]||[]).filter((_)=>!F[_])}),g.forEach((D)=>{q[D]=BZ(u(this,Tq,"f")[D],(_)=>!F[_])}),q.envPrefix=u(this,Tq,"f").envPrefix,Gq(this,Tq,q,"f"),Gq(this,A6,u(this,A6,"f")?u(this,A6,"f").reset(F):z8A(this,u(this,rq,"f")),"f"),Gq(this,CE,u(this,CE,"f")?u(this,CE,"f").reset(F):c8A(this,u(this,A6,"f"),u(this,rq,"f")),"f"),Gq(this,cE,u(this,cE,"f")?u(this,cE,"f").reset():w8A(u(this,A6,"f"),u(this,CE,"f"),u(this,gK,"f"),u(this,rq,"f")),"f"),!u(this,I_,"f"))Gq(this,I_,u8A(this,u(this,A6,"f"),u(this,cE,"f"),u(this,rq,"f")),"f");return u(this,gK,"f").reset(),Gq(this,$j,null,"f"),Gq(this,zg,"","f"),Gq(this,wZ,null,"f"),Gq(this,Uj,!1,"f"),this.parsed=!1,this}[j7A](A,q){return u(this,rq,"f").path.relative(A,q)}[nH](A,q,F,E=0,g=!1){var D,_,j,K;let $=!!F||g;A=A||u(this,CZ,"f"),u(this,Tq,"f").__=u(this,rq,"f").y18n.__,u(this,Tq,"f").configuration=this[u8]();let U=!!u(this,Tq,"f").configuration["populate--"],Z=Object.assign({},u(this,Tq,"f").configuration,{"populate--":!0}),G=u(this,rq,"f").Parser.detailed(A,Object.assign({},u(this,Tq,"f"),{configuration:{"parse-positional-numbers":!1,...Z}})),O=Object.assign(G.argv,u(this,z8,"f")),Q=void 0,Y=G.aliases,J=!1,H=!1;if(Object.keys(O).forEach((P)=>{if(P===u(this,DK,"f")&&O[P])J=!0;else if(P===u(this,p0,"f")&&O[P])H=!0}),O.$0=this.$0,this.parsed=G,E===0)u(this,A6,"f").clearCachedHelpMessage();try{if(this[lv](),q)return this[v8](O,U,!!F,!1);if(u(this,DK,"f")){if([u(this,DK,"f")].concat(Y[u(this,DK,"f")]||[]).filter((W)=>W.length>1).includes(""+O._[O._.length-1]))O._.pop(),J=!0}Gq(this,rV,!1,"f");let P=u(this,cE,"f").getCommands(),L=((D=u(this,I_,"f"))===null||D===void 0?void 0:D.completionKey)?[(_=u(this,I_,"f"))===null||_===void 0?void 0:_.completionKey,...(K=this.getAliases()[(j=u(this,I_,"f"))===null||j===void 0?void 0:j.completionKey])!==null&&K!==void 0?K:[]].some((B)=>Object.prototype.hasOwnProperty.call(O,B)):!1,M=J||L||g;if(O._.length){if(P.length){let B;for(let W=E||0,V;O._[W]!==void 0;W++)if(V=String(O._[W]),P.includes(V)&&V!==u(this,$j,"f")){let R=u(this,cE,"f").runCommand(V,this,G,W+1,g,J||H||g);return this[v8](R,U,!!F,!1)}else if(!B&&V!==u(this,$j,"f")){B=V;break}if(!u(this,cE,"f").hasDefaultCommand()&&u(this,pV,"f")&&B&&!M)u(this,CE,"f").recommendCommands(B,P)}if(u(this,$j,"f")&&O._.includes(u(this,$j,"f"))&&!L){if(u(this,EK,"f"))RZ(!0);this.showCompletionScript(),this.exit(0)}}if(u(this,cE,"f").hasDefaultCommand()&&!M){let B=u(this,cE,"f").runCommand(null,this,G,0,g,J||H||g);return this[v8](B,U,!!F,!1)}if(L){if(u(this,EK,"f"))RZ(!0);A=[].concat(A);let B=A.slice(A.indexOf(`--${u(this,I_,"f").completionKey}`)+1);return u(this,I_,"f").getCompletion(B,(W,V)=>{if(W)throw new mE(W.message);(V||[]).forEach((R)=>{u(this,S8,"f").log(R)}),this.exit(0)}),this[v8](O,!U,!!F,!1)}if(!u(this,Uj,"f")){if(J){if(u(this,EK,"f"))RZ(!0);$=!0,this.showHelp((B)=>{u(this,S8,"f").log(B),this.exit(0)})}else if(H){if(u(this,EK,"f"))RZ(!0);$=!0,u(this,A6,"f").showVersion("log"),this.exit(0)}}if(!$&&u(this,Tq,"f").skipValidation.length>0)$=Object.keys(O).some((B)=>u(this,Tq,"f").skipValidation.indexOf(B)>=0&&O[B]===!0);if(!$){if(G.error)throw new mE(G.error.message);if(!L){let B=this[qy](Y,{},G.error);if(!F)Q=B8(O,this,u(this,gK,"f").getMiddleware(),!0);if(Q=this[s8A](B,Q!==null&&Q!==void 0?Q:O),rF(Q)&&!F)Q=Q.then(()=>{return B8(O,this,u(this,gK,"f").getMiddleware(),!1)})}}}catch(P){if(P instanceof mE)u(this,A6,"f").fail(P.message,P);else throw P}return this[v8](Q!==null&&Q!==void 0?Q:O,U,!!F,!0)}[qy](A,q,F,E){let g={...this.getDemandedOptions()};return(D)=>{if(F)throw new mE(F.message);u(this,CE,"f").nonOptionCount(D),u(this,CE,"f").requiredArguments(D,g);let _=!1;if(u(this,b8,"f"))_=u(this,CE,"f").unknownCommands(D);if(u(this,x8,"f")&&!_)u(this,CE,"f").unknownArguments(D,A,q,!!E);else if(u(this,k8,"f"))u(this,CE,"f").unknownArguments(D,A,{},!1,!1);u(this,CE,"f").limitedChoices(D),u(this,CE,"f").implications(D),u(this,CE,"f").conflicting(D)}}[K7A](){Gq(this,Uj,!0,"f")}[y8](A){if(typeof A==="string")u(this,Tq,"f").key[A]=!0;else for(let q of A)u(this,Tq,"f").key[q]=!0}}});var RsA,Z7A;var G7A=w(()=>{kv();dv();RsA=$7A(bv),Z7A=RsA});var O7A=w(()=>{nv();wv();kv()});var rH="0.0.1-beta.86";var Fy=()=>{};function PF(A,q){if(typeof process<"u"&&process.env)return process.env[A]??q;if(typeof Deno<"u")return Deno.env.get(A)??q;if(typeof Bun<"u")return Bun.env[A]??q;return q}function Y7A(){if(PF("FORCE_COLOR")!==void 0)switch(PF("FORCE_COLOR")){case"":case"1":case"true":return hg;case"2":return o0;case"3":return Gj;default:return iH}if(PF("NODE_DISABLE_COLORS")!==void 0&&PF("NODE_DISABLE_COLORS")!==""||PF("NO_COLOR")!==void 0&&PF("NO_COLOR")!==""||PF("TERM")==="dumb")return iH;if(PF("TMUX"))return Gj;if("TF_BUILD"in X_&&"AGENT_NAME"in X_)return hg;if("CI"in X_){for(let{0:A,1:q}of zsA)if(A in X_)return q;if(PF("CI_NAME")==="codeship")return o0;return iH}if("TEAMCITY_VERSION"in X_)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.exec(PF("TEAMCITY_VERSION"))!==null?hg:iH;switch(PF("TERM_PROGRAM")){case"iTerm.app":if(!PF("TERM_PROGRAM_VERSION")||/^[0-2]\./.exec(PF("TERM_PROGRAM_VERSION"))!==null)return o0;return Gj;case"HyperTerm":case"MacTerm":return Gj;case"Apple_Terminal":return o0}if(PF("COLORTERM")==="truecolor"||PF("COLORTERM")==="24bit")return Gj;if(PF("TERM")){if(/truecolor/.exec(PF("TERM"))!==null)return Gj;if(/^xterm-256/.exec(PF("TERM"))!==null)return o0;let A=PF("TERM").toLowerCase();if(Q7A[A])return Q7A[A];if(hsA.some((q)=>q.exec(A)!==null))return hg}if(PF("COLORTERM"))return hg;return iH}function J7A(A,q){return eV.indexOf(q)>=eV.indexOf(A)}var sV,lH=(A)=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(A?sV:globalThis),X_,CsA,SsA,iH=1,hg=4,o0=8,Gj=24,Q7A,zsA,hsA,pK,eV,xsA,bsA=(A,q,F)=>{let E=new Date().toISOString();if(F)return`${pK.dim}${E}${pK.reset} ${xsA[A]}${A.toUpperCase()}${pK.reset} ${pK.bright}[Better Auth]:${pK.reset} ${q}`;return`${E} ${A.toUpperCase()} [Better Auth]: ${q}`},H7A=(A)=>{let q=A?.disabled!==!0,F=A?.level??"error",E=A?.disableColors!==void 0?!A.disableColors:Y7A()!==1,g=(D,_,j=[])=>{if(!q||!J7A(F,D))return;let K=bsA(D,_,E);if(!A||typeof A.log!=="function"){if(D==="error")console.error(K,...j);else if(D==="warn")console.warn(K,...j);else console.log(K,...j);return}A.log(D==="success"?"info":D,_,...j)};return{...Object.fromEntries(eV.map((D)=>[D,(...[_,...j])=>g(D,_,j)])),get level(){return F}}},I7A;var pH=w(()=>{sV=Object.create(null),X_=new Proxy(sV,{get(A,q){return lH()[q]??sV[q]},has(A,q){return q in lH()||q in sV},set(A,q,F){let E=lH(!0);return E[q]=F,!0},deleteProperty(A,q){if(!q)return!1;let F=lH(!0);return delete F[q],!0},ownKeys(){let A=lH(!0);return Object.keys(A)}}),CsA=typeof process<"u"&&process.env&&"development"||"";SsA=Object.freeze({get BETTER_AUTH_SECRET(){return PF("BETTER_AUTH_SECRET")},get AUTH_SECRET(){return PF("AUTH_SECRET")},get BETTER_AUTH_TELEMETRY(){return PF("BETTER_AUTH_TELEMETRY")},get BETTER_AUTH_TELEMETRY_ID(){return PF("BETTER_AUTH_TELEMETRY_ID")},get NODE_ENV(){return PF("NODE_ENV","development")},get PACKAGE_VERSION(){return PF("PACKAGE_VERSION","0.0.0")},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return PF("BETTER_AUTH_TELEMETRY_ENDPOINT","https://telemetry.better-auth.com/v1/track")}}),Q7A={eterm:hg,cons25:hg,console:hg,cygwin:hg,dtterm:hg,gnome:hg,hurd:hg,jfbterm:hg,konsole:hg,kterm:hg,mlterm:hg,mosh:Gj,putty:hg,st:hg,"rxvt-unicode-24bit":Gj,terminator:Gj,"xterm-kitty":Gj},zsA=new Map(Object.entries({APPVEYOR:o0,BUILDKITE:o0,CIRCLECI:Gj,DRONE:o0,GITEA_ACTIONS:Gj,GITHUB_ACTIONS:Gj,GITLAB_CI:o0,TRAVIS:o0})),hsA=[/ansi/,/color/,/linux/,/direct/,/^con[0-9]*x[0-9]/,/^rxvt/,/^screen/,/^xterm/,/^vt100/,/^vt220/];pK={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",undim:"\x1B[22m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},eV=["debug","info","success","warn","error"];xsA={info:pK.fg.blue,success:pK.fg.green,warn:pK.fg.yellow,error:pK.fg.red,debug:pK.fg.magenta},I7A=H7A()});var X7A=w(()=>{pH()});var M7A=()=>{};function Ey(A){return A}function gy(A){return A.charAt(0).toUpperCase()+A.slice(1)}var A5=w(()=>{pH();M7A()});var ksA,zU;var P7A=w(()=>{A5();ksA=Ey({USER_NOT_FOUND:"User not found",FAILED_TO_CREATE_USER:"Failed to create user",FAILED_TO_CREATE_SESSION:"Failed to create session",FAILED_TO_UPDATE_USER:"Failed to update user",FAILED_TO_GET_SESSION:"Failed to get session",INVALID_PASSWORD:"Invalid password",INVALID_EMAIL:"Invalid email",INVALID_EMAIL_OR_PASSWORD:"Invalid email or password",SOCIAL_ACCOUNT_ALREADY_LINKED:"Social account already linked",PROVIDER_NOT_FOUND:"Provider not found",INVALID_TOKEN:"Invalid token",ID_TOKEN_NOT_SUPPORTED:"id_token not supported",FAILED_TO_GET_USER_INFO:"Failed to get user info",USER_EMAIL_NOT_FOUND:"User email not found",EMAIL_NOT_VERIFIED:"Email not verified",PASSWORD_TOO_SHORT:"Password too short",PASSWORD_TOO_LONG:"Password too long",USER_ALREADY_EXISTS:"User already exists.",USER_ALREADY_EXISTS_USE_ANOTHER_EMAIL:"User already exists. Use another email.",EMAIL_CAN_NOT_BE_UPDATED:"Email can not be updated",CREDENTIAL_ACCOUNT_NOT_FOUND:"Credential account not found",SESSION_EXPIRED:"Session expired. Re-authenticate to perform this action.",FAILED_TO_UNLINK_LAST_ACCOUNT:"You can't unlink your last account",ACCOUNT_NOT_FOUND:"Account not found",USER_ALREADY_HAS_PASSWORD:"User already has a password. Provide that to delete the account."}),zU=class extends Error{constructor(A,q){super(A);this.name="BetterAuthError",this.message=A,this.cause=q,this.stack=""}}});var Dy=w(()=>{pH();A5();P7A()});function usA(A){try{return(new URL(A).pathname.replace(/\/+$/,"")||"/")!=="/"}catch(q){throw new zU(`Invalid base URL: ${A}. Please provide a valid base URL.`)}}function vsA(A){try{let q=new URL(A);if(q.protocol!=="http:"&&q.protocol!=="https:")throw new zU(`Invalid base URL: ${A}. URL must include 'http://' or 'https://'`)}catch(q){if(q instanceof zU)throw q;throw new zU(`Invalid base URL: ${A}. Please provide a valid base URL.`,String(q))}}function oH(A,q="/api/auth"){if(vsA(A),usA(A))return A;let F=A.replace(/\/+$/,"");if(!q||q==="/")return F;return q=q.startsWith("/")?q:`/${q}`,`${F}${q}`}function N7A(A,q,F,E,g){if(A)return oH(A,q);if(E!==!1){let j=X_.BETTER_AUTH_URL||X_.NEXT_PUBLIC_BETTER_AUTH_URL||X_.PUBLIC_BETTER_AUTH_URL||X_.NUXT_PUBLIC_BETTER_AUTH_URL||X_.NUXT_PUBLIC_AUTH_URL||(X_.BASE_URL!=="/"?X_.BASE_URL:void 0);if(j)return oH(j,q)}let D=F?.headers.get("x-forwarded-host"),_=F?.headers.get("x-forwarded-proto");if(D&&_&&g)return oH(`${_}://${D}`,q);if(F){let j=ysA(F.url);if(!j)throw new zU("Could not get origin from request. Please provide a valid base URL.");return oH(j,q)}if(typeof window<"u"&&window.location)return oH(window.location.origin,q)}function ysA(A){try{let q=new URL(A);return q.origin==="null"?null:q.origin}catch(q){return null}}var q5=w(()=>{X7A();Dy()});function fsA(A){return A instanceof Date&&!isNaN(A.getTime())}function asA(A){let q=dsA.exec(A);if(!q)return null;let[,F,E,g,D,_,j,K,$,U,Z]=q,G=new Date(Date.UTC(parseInt(F,10),parseInt(E,10)-1,parseInt(g,10),parseInt(D,10),parseInt(_,10),parseInt(j,10),K?parseInt(K.padEnd(3,"0"),10):0));if($){let O=(parseInt(U,10)*60+parseInt(Z,10))*($==="+"?-1:1);G.setUTCMinutes(G.getUTCMinutes()+O)}return fsA(G)?G:null}function nsA(A,q={}){let{strict:F=!1,warnings:E=!1,reviver:g,parseDates:D=!0}=q;if(typeof A!=="string")return A;let _=A.trim();if(_.length>0&&_[0]==='"'&&_.endsWith('"')&&!_.slice(1,-1).includes('"'))return _.slice(1,-1);let j=_.toLowerCase();if(j.length<=9&&j in L7A)return L7A[j];if(!csA.test(_)){if(F)throw SyntaxError("[better-json] Invalid JSON");return A}if(Object.entries(msA).some(([K,$])=>{let U=$.test(_);if(U&&E)console.warn(`[better-json] Detected potential prototype pollution attempt using ${K} pattern`);return U})&&F)throw Error("[better-json] Potential prototype pollution attempt detected");try{return JSON.parse(_,($,U)=>{if($==="__proto__"||$==="constructor"&&U&&typeof U==="object"&&"prototype"in U){if(E)console.warn(`[better-json] Dropping "${$}" key to prevent prototype pollution`);return}if(D&&typeof U==="string"){let Z=asA(U);if(Z)return Z}return g?g($,U):U})}catch(K){if(F)throw K;return A}}function V7A(A,q={strict:!0}){return nsA(A,q)}var msA,csA,L7A,dsA;var F5=w(()=>{msA={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},csA=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,L7A={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:Number.POSITIVE_INFINITY,"-infinity":Number.NEGATIVE_INFINITY},dsA=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/});var tH;var _y=w(()=>{tH=Symbol("clean")});var oK,zZ=0,E5=4,rsA=0,hU=(A)=>{let q=[],F={get(){if(!F.lc)F.listen(()=>{})();return F.value},lc:0,listen(E){return F.lc=q.push(E),()=>{for(let D=zZ+E5;D<oK.length;)if(oK[D]===E)oK.splice(D,E5);else D+=E5;let g=q.indexOf(E);if(~g){if(q.splice(g,1),!--F.lc)F.off()}}},notify(E,g){rsA++;let D=!oK.length;for(let _ of q)oK.push(_,F.value,E,g);if(D){for(zZ=0;zZ<oK.length;zZ+=E5)oK[zZ](oK[zZ+1],oK[zZ+2],oK[zZ+3]);oK.length=0}},off(){},set(E){let g=F.value;if(g!==E)F.value=E,F.notify(g)},subscribe(E){let g=F.listen(E);return E(F.value),g},value:A};return F[tH]=()=>{q=[],F.lc=0,F.off()},F};var T7A=w(()=>{_y();oK=[]});var lsA=5,d9=6,g5=10,isA=(A,q,F,E)=>{if(A.events=A.events||{},!A.events[F+g5])A.events[F+g5]=E((g)=>{A.events[F].reduceRight((D,_)=>(_(D),D),{shared:{},...g})});return A.events[F]=A.events[F]||[],A.events[F].push(q),()=>{let g=A.events[F],D=g.indexOf(q);if(g.splice(D,1),!g.length)delete A.events[F],A.events[F+g5](),delete A.events[F+g5]}},W7A=1000,D5=(A,q)=>{return isA(A,(E)=>{let g=q(E);if(g)A.events[d9].push(g)},lsA,(E)=>{let g=A.listen;A.listen=(..._)=>{if(!A.lc&&!A.active)A.active=!0,E();return g(..._)};let D=A.off;A.events[d9]=[],A.off=()=>{D(),setTimeout(()=>{if(A.active&&!A.lc){A.active=!1;for(let _ of A.events[d9])_();A.events[d9]=[]}},W7A)};{let _=A[tH];A[tH]=()=>{for(let j of A.events[d9])j();A.events[d9]=[],A.active=!1,_()}}return()=>{A.listen=g,A.off=D}})};var B7A=w(()=>{_y()});var jy=w(()=>{T7A();B7A()});function EeA(A){if(typeof A==="number")return new C7A({type:"linear",attempts:A,delay:1000});switch(A.type){case"linear":return new C7A(A);case"exponential":return new FeA(A);default:throw Error("Invalid retry strategy")}}function _eA(A){let q=A.headers.get("content-type"),F=new Set(["image/svg","application/xml","application/xhtml","application/html"]);if(!q)return"json";let E=q.split(";").shift()||"";if(DeA.test(E))return"json";if(F.has(E)||E.startsWith("text/"))return"text";return"blob"}function jeA(A){try{return JSON.parse(A),!0}catch(q){return!1}}function h7A(A){if(A===void 0)return!1;let q=typeof A;if(q==="string"||q==="number"||q==="boolean"||q===null)return!0;if(q!=="object")return!1;if(Array.isArray(A))return!0;if(A.buffer)return!1;return A.constructor&&A.constructor.name==="Object"||typeof A.toJSON==="function"}function S7A(A){try{return JSON.parse(A)}catch(q){return A}}function z7A(A){return typeof A==="function"}function KeA(A){if(A==null?void 0:A.customFetchImpl)return A.customFetchImpl;if(typeof globalThis<"u"&&z7A(globalThis.fetch))return globalThis.fetch;if(typeof window<"u"&&z7A(window.fetch))return window.fetch;throw Error("No fetch implementation found")}async function $eA(A){let q=new Headers(A==null?void 0:A.headers),F=await geA(A);for(let[E,g]of Object.entries(F||{}))q.set(E,g);if(!q.has("content-type")){let E=UeA(A==null?void 0:A.body);if(E)q.set("content-type",E)}return q}function UeA(A){if(h7A(A))return"application/json";return null}function ZeA(A){if(!(A==null?void 0:A.body))return null;let q=new Headers(A==null?void 0:A.headers);if(h7A(A.body)&&!q.has("content-type")){for(let[F,E]of Object.entries(A==null?void 0:A.body))if(E instanceof Date)A.body[F]=E.toISOString();return JSON.stringify(A.body)}return A.body}function GeA(A,q){var F;if(q==null?void 0:q.method)return q.method.toUpperCase();if(A.startsWith("@")){let E=(F=A.split("@")[1])==null?void 0:F.split("/")[0];if(!x7A.includes(E))return(q==null?void 0:q.body)?"POST":"GET";return E.toUpperCase()}return(q==null?void 0:q.body)?"POST":"GET"}function OeA(A,q){let F;if(!(A==null?void 0:A.signal)&&(A==null?void 0:A.timeout))F=setTimeout(()=>q==null?void 0:q.abort(),A==null?void 0:A.timeout);return{abortTimeout:F,clearTimeout:()=>{if(F)clearTimeout(F)}}}async function _5(A,q){let F=await A["~standard"].validate(q);if(F.issues)throw new QeA(F.issues);return F.value}function JeA(A,q){let{baseURL:F,params:E,query:g}=q||{query:{},params:{},baseURL:""},D=A.startsWith("http")?A.split("/").slice(0,3).join("/"):F||"";if(A.startsWith("@")){let Z=A.toString().split("@")[1].split("/")[0];if(x7A.includes(Z))A=A.replace(`@${Z}/`,"/")}if(!D.endsWith("/"))D+="/";let[_,j]=A.replace(D,"").split("?"),K=new URLSearchParams(j);for(let[Z,G]of Object.entries(g||{})){if(G==null)continue;K.set(Z,String(G))}if(E)if(Array.isArray(E)){let Z=_.split("/").filter((G)=>G.startsWith(":"));for(let[G,O]of Z.entries()){let Q=E[G];_=_.replace(O,Q)}}else for(let[Z,G]of Object.entries(E))_=_.replace(`:${Z}`,String(G));if(_=_.split("/").map(encodeURIComponent).join("/"),_.startsWith("/"))_=_.slice(1);let $=K.toString();if($=$.length>0?`?${$}`.replace(/\+/g,"%20"):"",!D.startsWith("http"))return`${D}${_}${$}`;return new URL(`${_}${$}`,D)}var psA,osA,tsA,R7A,ssA,esA,w7A=(A,q,F)=>(q in A)?psA(A,q,{enumerable:!0,configurable:!0,writable:!0,value:F}):A[q]=F,tK=(A,q)=>{for(var F in q||(q={}))if(ssA.call(q,F))w7A(A,F,q[F]);if(R7A){for(var F of R7A(q))if(esA.call(q,F))w7A(A,F,q[F])}return A},t0=(A,q)=>osA(A,tsA(q)),AeA,qeA=async(A,q)=>{var F,E,g,D,_,j;let K=q||{},$={onRequest:[q==null?void 0:q.onRequest],onResponse:[q==null?void 0:q.onResponse],onSuccess:[q==null?void 0:q.onSuccess],onError:[q==null?void 0:q.onError],onRetry:[q==null?void 0:q.onRetry]};if(!q||!(q==null?void 0:q.plugins))return{url:A,options:K,hooks:$};for(let U of(q==null?void 0:q.plugins)||[]){if(U.init){let Z=await((F=U.init)==null?void 0:F.call(U,A.toString(),q));K=Z.options||K,A=Z.url}$.onRequest.push((E=U.hooks)==null?void 0:E.onRequest),$.onResponse.push((g=U.hooks)==null?void 0:g.onResponse),$.onSuccess.push((D=U.hooks)==null?void 0:D.onSuccess),$.onError.push((_=U.hooks)==null?void 0:_.onError),$.onRetry.push((j=U.hooks)==null?void 0:j.onRetry)}return{url:A,options:K,hooks:$}},C7A=class{constructor(A){this.options=A}shouldAttemptRetry(A,q){if(this.options.shouldRetry)return Promise.resolve(A<this.options.attempts&&this.options.shouldRetry(q));return Promise.resolve(A<this.options.attempts)}getDelay(){return this.options.delay}},FeA=class{constructor(A){this.options=A}shouldAttemptRetry(A,q){if(this.options.shouldRetry)return Promise.resolve(A<this.options.attempts&&this.options.shouldRetry(q));return Promise.resolve(A<this.options.attempts)}getDelay(A){return Math.min(this.options.maxDelay,this.options.baseDelay*2**A)}},geA=async(A)=>{let q={},F=async(E)=>typeof E==="function"?await E():E;if(A==null?void 0:A.auth){if(A.auth.type==="Bearer"){let E=await F(A.auth.token);if(!E)return q;q.authorization=`Bearer ${E}`}else if(A.auth.type==="Basic"){let E=F(A.auth.username),g=F(A.auth.password);if(!E||!g)return q;q.authorization=`Basic ${btoa(`${E}:${g}`)}`}else if(A.auth.type==="Custom"){let E=F(A.auth.value);if(!E)return q;q.authorization=`${F(A.auth.prefix)} ${E}`}}return q},DeA,QeA,x7A,YeA=(A)=>({id:"apply-schema",name:"Apply Schema",version:"1.0.0",async init(q,F){var E,g,D,_;let j=((g=(E=A.plugins)==null?void 0:E.find((K)=>{var $;return(($=K.schema)==null?void 0:$.config)?q.startsWith(K.schema.config.baseURL||"")||q.startsWith(K.schema.config.prefix||""):!1}))==null?void 0:g.schema)||A.schema;if(j){let K=q;if((D=j.config)==null?void 0:D.prefix){if(K.startsWith(j.config.prefix)){if(K=K.replace(j.config.prefix,""),j.config.baseURL)q=q.replace(j.config.prefix,j.config.baseURL)}}if((_=j.config)==null?void 0:_.baseURL){if(K.startsWith(j.config.baseURL))K=K.replace(j.config.baseURL,"")}let $=j.schema[K];if($){let U=t0(tK({},F),{method:$.method,output:$.output});if(!(F==null?void 0:F.disableValidation))U=t0(tK({},U),{body:$.input?await _5($.input,F==null?void 0:F.body):F==null?void 0:F.body,params:$.params?await _5($.params,F==null?void 0:F.params):F==null?void 0:F.params,query:$.query?await _5($.query,F==null?void 0:F.query):F==null?void 0:F.query});return{url:q,options:U}}}return{url:q,options:F}}}),b7A=(A)=>{async function q(F,E){let g=t0(tK(tK({},A),E),{plugins:[...(A==null?void 0:A.plugins)||[],YeA(A||{})]});if(A==null?void 0:A.catchAllError)try{return await Ky(F,g)}catch(D){return{data:null,error:{status:500,statusText:"Fetch Error",message:"Fetch related error. Captured by catchAllError option. See error property for more details.",error:D}}}return await Ky(F,g)}return q},Ky=async(A,q)=>{var F,E,g,D,_,j,K,$;let{hooks:U,url:Z,options:G}=await qeA(A,q),O=KeA(G),Q=new AbortController,Y=(F=G.signal)!=null?F:Q.signal,J=JeA(Z,G),H=ZeA(G),P=await $eA(G),L=GeA(Z,G),M=t0(tK({},G),{url:J,headers:P,body:H,method:L,signal:Y});for(let y of U.onRequest)if(y){let i=await y(M);if(i instanceof Object)M=i}if("pipeTo"in M&&typeof M.pipeTo==="function"||typeof((E=q==null?void 0:q.body)==null?void 0:E.pipe)==="function"){if(!("duplex"in M))M.duplex="half"}let{clearTimeout:B}=OeA(G,Q),W=await O(M.url,M);B();let V={response:W,request:M};for(let y of U.onResponse)if(y){let i=await y(t0(tK({},V),{response:((g=q==null?void 0:q.hookOptions)==null?void 0:g.cloneResponse)?W.clone():W}));if(i instanceof Response)W=i;else if(i instanceof Object)W=i.response}if(W.ok){if(M.method==="HEAD")return{data:"",error:null};let i=_eA(W),GA={data:"",response:W,request:M};if(i==="json"||i==="text"){let QA=await W.text(),xA=await((D=M.jsonParser)!=null?D:S7A)(QA);GA.data=xA}else GA.data=await W[i]();if(M==null?void 0:M.output){if(M.output&&!M.disableValidation)GA.data=await _5(M.output,GA.data)}for(let QA of U.onSuccess)if(QA)await QA(t0(tK({},GA),{response:((_=q==null?void 0:q.hookOptions)==null?void 0:_.cloneResponse)?W.clone():W}));if(q==null?void 0:q.throw)return GA.data;return{data:GA.data,error:null}}let R=(j=q==null?void 0:q.jsonParser)!=null?j:S7A,k=await W.text(),v=jeA(k),b=v?await R(k):null,m={response:W,responseText:k,request:M,error:t0(tK({},b),{status:W.status,statusText:W.statusText})};for(let y of U.onError)if(y)await y(t0(tK({},m),{response:((K=q==null?void 0:q.hookOptions)==null?void 0:K.cloneResponse)?W.clone():W}));if(q==null?void 0:q.retry){let y=EeA(q.retry),i=($=q.retryAttempt)!=null?$:0;if(await y.shouldAttemptRetry(i,W)){for(let QA of U.onRetry)if(QA)await QA(V);let GA=y.getDelay(i);return await new Promise((QA)=>setTimeout(QA,GA)),await Ky(A,t0(tK({},q),{retryAttempt:i+1}))}}if(q==null?void 0:q.throw)throw new AeA(W.status,W.statusText,v?b:k);return{data:null,error:t0(tK({},b),{status:W.status,statusText:W.statusText})}};var k7A=w(()=>{psA=Object.defineProperty,osA=Object.defineProperties,tsA=Object.getOwnPropertyDescriptors,R7A=Object.getOwnPropertySymbols,ssA=Object.prototype.hasOwnProperty,esA=Object.prototype.propertyIsEnumerable,AeA=class extends Error{constructor(A,q,F){super(q||A.toString(),{cause:F});this.status=A,this.statusText=q,this.error=F}};DeA=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;QeA=class A extends Error{constructor(q,F){super(F||JSON.stringify(q,null,2));this.issues=q,Object.setPrototypeOf(this,A.prototype)}};x7A=["get","post","put","patch","delete"]});function K5(A="better-auth.message"){if(!globalThis[j5])globalThis[j5]=new IeA(A);return globalThis[j5]}function u7A(){if(!globalThis[$5])globalThis[$5]=new XeA;return globalThis[$5]}function $y(){if(!globalThis[U5])globalThis[U5]=new MeA;return globalThis[U5]}function v7A(A){let{sessionAtom:q,sessionSignal:F,$fetch:E,options:g={}}=A,D=g.sessionOptions?.refetchInterval??0,_=g.sessionOptions?.refetchOnWindowFocus??!0,j=g.sessionOptions?.refetchWhenOffline??!1,K={lastSync:0,lastSessionRequest:0,cachedSession:void 0},$=()=>{return j||$y().isOnline},U=(P)=>{if(!$())return;if(P?.event==="storage"){K.lastSync=f9(),F.set(!F.get());return}let L=q.get();if(P?.event==="poll"){K.lastSessionRequest=f9(),E("/get-session").then((M)=>{q.set({...L,data:M.data,error:M.error||null}),K.lastSync=f9(),F.set(!F.get())}).catch(()=>{});return}if(P?.event==="visibilitychange"){if(f9()-K.lastSessionRequest<NeA&&L?.data!==null&&L?.data!==void 0)return}if(L?.data===null||L?.data===void 0||P?.event==="visibilitychange"){if(P?.event==="visibilitychange")K.lastSessionRequest=f9();K.lastSync=f9(),F.set(!F.get())}},Z=(P)=>{K5().post({event:"session",data:{trigger:P},clientId:Math.random().toString(36).substring(7)})},G=()=>{if(D&&D>0)K.pollInterval=setInterval(()=>{if(q.get()?.data)U({event:"poll"})},D*1000)},O=()=>{K.unsubscribeBroadcast=K5().subscribe(()=>{U({event:"storage"})})},Q=()=>{if(!_)return;K.unsubscribeFocus=u7A().subscribe(()=>{U({event:"visibilitychange"})})},Y=()=>{K.unsubscribeOnline=$y().subscribe((P)=>{if(P)U({event:"visibilitychange"})})};return{init:()=>{G(),O(),Q(),Y(),K5().setup(),u7A().setup(),$y().setup()},cleanup:()=>{if(K.pollInterval)clearInterval(K.pollInterval),K.pollInterval=void 0;if(K.unsubscribeBroadcast)K.unsubscribeBroadcast(),K.unsubscribeBroadcast=void 0;if(K.unsubscribeFocus)K.unsubscribeFocus(),K.unsubscribeFocus=void 0;if(K.unsubscribeOnline)K.unsubscribeOnline(),K.unsubscribeOnline=void 0;K.lastSync=0,K.lastSessionRequest=0,K.cachedSession=void 0},triggerRefetch:U,broadcastSessionUpdate:Z}}function VeA(A,q){let F=hU(!1),E=m8(F,"/get-session",A,{method:"GET"});return D5(E,()=>{let g=v7A({sessionAtom:E,sessionSignal:F,$fetch:A,options:q});return g.init(),()=>{g.cleanup()}}),{session:E,$sessionSignal:F}}function TeA(A){return typeof A==="object"&&A!==null&&"get"in A&&typeof A.get==="function"&&"lc"in A&&typeof A.lc==="number"}function WeA(A,q,F){let E=q[A],{fetchOptions:g,query:D,..._}=F||{};if(E)return E;if(g?.method)return g.method;if(_&&Object.keys(_).length>0)return"POST";return"GET"}function m7A(A,q,F,E,g){function D(_=[]){return new Proxy(function(){},{get(j,K){if(typeof K!=="string")return;if(K==="then"||K==="catch"||K==="finally")return;let $=[..._,K],U=A;for(let Z of $)if(U&&typeof U==="object"&&Z in U)U=U[Z];else{U=void 0;break}if(typeof U==="function")return U;if(TeA(U))return U;return D($)},apply:async(j,K,$)=>{let U="/"+_.map((P)=>P.replace(/[A-Z]/g,(L)=>`-${L.toLowerCase()}`)).join("/"),Z=$[0]||{},G=$[1]||{},{query:O,fetchOptions:Q,...Y}=Z,J={...G,...Q},H=WeA(U,F,Z);return await q(U,{...J,body:H==="GET"?void 0:{...Y,...J?.body||{}},query:O||J?.query,method:H,async onSuccess(P){if(await J?.onSuccess?.(P),!g||J.disableSignal)return;let L=g.filter((M)=>M.matcher(U));if(!L.length)return;for(let M of L){let B=E[M.signal];if(!B)return;let W=B.get();setTimeout(()=>{B.set(!W)},10)}}})}})}return D()}var j5,HeA=()=>Math.floor(Date.now()/1000),IeA=class{listeners=new Set;name;constructor(A="better-auth.message"){this.name=A}subscribe(A){return this.listeners.add(A),()=>{this.listeners.delete(A)}}post(A){if(typeof window>"u")return;try{localStorage.setItem(this.name,JSON.stringify({...A,timestamp:HeA()}))}catch{}}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let A=(q)=>{if(q.key!==this.name)return;let F=JSON.parse(q.newValue??"{}");if(F?.event!=="session"||!F?.data)return;this.listeners.forEach((E)=>E(F))};return window.addEventListener("storage",A),()=>{window.removeEventListener("storage",A)}}},$5,XeA=class{listeners=new Set;subscribe(A){return this.listeners.add(A),()=>{this.listeners.delete(A)}}setFocused(A){this.listeners.forEach((q)=>q(A))}setup(){if(typeof window>"u"||typeof document>"u"||typeof window.addEventListener>"u")return()=>{};let A=()=>{if(document.visibilityState==="visible")this.setFocused(!0)};return document.addEventListener("visibilitychange",A,!1),()=>{document.removeEventListener("visibilitychange",A,!1)}}},U5,MeA=class{listeners=new Set;isOnline=typeof navigator<"u"?navigator.onLine:!0;subscribe(A){return this.listeners.add(A),()=>{this.listeners.delete(A)}}setOnline(A){this.isOnline=A,this.listeners.forEach((q)=>q(A))}setup(){if(typeof window>"u"||typeof window.addEventListener>"u")return()=>{};let A=()=>this.setOnline(!0),q=()=>this.setOnline(!1);return window.addEventListener("online",A,!1),window.addEventListener("offline",q,!1),()=>{window.removeEventListener("online",A,!1),window.removeEventListener("offline",q,!1)}}},PeA=()=>typeof window>"u",m8=(A,q,F,E)=>{let g=hU({data:null,error:null,isPending:!0,isRefetching:!1,refetch:(j)=>D(j)}),D=async(j)=>{return new Promise((K)=>{let $=typeof E==="function"?E({data:g.get().data,error:g.get().error,isPending:g.get().isPending}):E;F(q,{...$,query:{...$?.query,...j?.query},async onSuccess(U){g.set({data:U.data,error:null,isPending:!1,isRefetching:!1,refetch:g.value.refetch}),await $?.onSuccess?.(U)},async onError(U){let{request:Z}=U,G=typeof Z.retry==="number"?Z.retry:Z.retry?.attempts,O=Z.retryAttempt||0;if(G&&O<G)return;g.set({error:U.error,data:null,isPending:!1,isRefetching:!1,refetch:g.value.refetch}),await $?.onError?.(U)},async onRequest(U){let Z=g.get();g.set({isPending:Z.data===null,data:Z.data,error:null,isRefetching:!0,refetch:g.value.refetch}),await $?.onRequest?.(U)}}).catch((U)=>{g.set({error:U,data:null,isPending:!1,isRefetching:!1,refetch:g.value.refetch})}).finally(()=>{K(void 0)})})};A=Array.isArray(A)?A:[A];let _=!1;for(let j of A)j.subscribe(async()=>{if(PeA())return;if(_)await D();else D5(g,()=>{let K=setTimeout(async()=>{if(!_)await D(),_=!0},0);return()=>{g.off(),j.off(),clearTimeout(K)}})});return g},f9=()=>Math.floor(Date.now()/1000),NeA=5,LeA,y7A=(A,q)=>{let F="credentials"in Request.prototype,E=N7A(A?.baseURL,A?.basePath,void 0,q)??"/api/auth",g=A?.plugins?.flatMap((M)=>M.fetchPlugins).filter((M)=>M!==void 0)||[],D={id:"lifecycle-hooks",name:"lifecycle-hooks",hooks:{onSuccess:A?.fetchOptions?.onSuccess,onError:A?.fetchOptions?.onError,onRequest:A?.fetchOptions?.onRequest,onResponse:A?.fetchOptions?.onResponse}},{onSuccess:_,onError:j,onRequest:K,onResponse:$,...U}=A?.fetchOptions||{},Z=b7A({baseURL:E,...F?{credentials:"include"}:{},method:"GET",jsonParser(M){if(!M)return null;return V7A(M,{strict:!1})},customFetchImpl:fetch,...U,plugins:[D,...U.plugins||[],...A?.disableDefaultFetchPlugins?[]:[LeA],...g]}),{$sessionSignal:G,session:O}=VeA(Z,A),Q=A?.plugins||[],Y={},J={$sessionSignal:G,session:O},H={"/sign-out":"POST","/revoke-sessions":"POST","/revoke-other-sessions":"POST","/delete-user":"POST"},P=[{signal:"$sessionSignal",matcher(M){return M==="/sign-out"||M==="/update-user"||M==="/sign-up/email"||M==="/sign-in/email"||M==="/delete-user"||M==="/verify-email"||M==="/revoke-sessions"||M==="/revoke-session"||M==="/change-email"}}];for(let M of Q){if(M.getAtoms)Object.assign(J,M.getAtoms?.(Z));if(M.pathMethods)Object.assign(H,M.pathMethods);if(M.atomListeners)P.push(...M.atomListeners)}let L={notify:(M)=>{J[M].set(!J[M].get())},listen:(M,B)=>{J[M].subscribe(B)},atoms:J};for(let M of Q)if(M.getActions)Object.assign(Y,M.getActions?.(Z,L,A));return{get baseURL(){return E},pluginsActions:Y,pluginsAtoms:J,pluginPathMethods:H,atomListeners:P,$fetch:Z,$store:L}};var Z5=w(()=>{q5();F5();jy();k7A();j5=Symbol.for("better-auth:broadcast-channel");$5=Symbol.for("better-auth:focus-manager");U5=Symbol.for("better-auth:online-manager");LeA={id:"redirect",name:"Redirect",hooks:{onSuccess(A){if(A.data?.url&&A.data?.redirect){if(typeof window<"u"&&window.location){if(window.location)try{window.location.href=A.data.url}catch{}}}}}}});var c7A=w(()=>{pH();A5()});function Uy(A){let{pluginPathMethods:q,pluginsActions:F,pluginsAtoms:E,$fetch:g,atomListeners:D,$store:_}=y7A(A),j={};for(let[K,$]of Object.entries(E))j[`use${gy(K)}`]=$;return m7A({...F,...j,$fetch:g,$store:_},g,q,E,D)}var Zy=w(()=>{Z5();c7A()});var d7A=w(()=>{q5();Z5();F5();Zy()});function BeA(A){return{authorize(q,F="AND"){let E=!1;for(let[g,D]of Object.entries(q)){let _=A[g];if(!_)return{success:!1,error:`You are not allowed to access resource: ${g}`};if(Array.isArray(D))E=D.every((j)=>_.includes(j));else if(typeof D==="object"){let j=D;if(j.connector==="OR")E=j.actions.some((K)=>_.includes(K));else E=j.actions.every((K)=>_.includes(K))}else throw new zU("Invalid access control request");if(E&&F==="OR")return{success:E};if(!E&&F==="AND")return{success:!1,error:`unauthorized to access resource "${g}"`}}if(E)return{success:E};return{success:!1,error:"Not authorized"}},statements:A}}function G5(A){return{newRole(q){return BeA(q)},statements:A}}var O5=w(()=>{Dy()});var ReA,f7A,weA,CeA;var Gy=w(()=>{O5();ReA={user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]},f7A=G5(ReA),weA=f7A.newRole({user:["create","list","set-role","ban","impersonate","delete","set-password","get","update"],session:["list","revoke","delete"]}),CeA=f7A.newRole({user:[],session:[]})});var a7A=w(()=>{Gy()});var SeA,Oy,Qy,Yy,Jy,n7A;var r7A=w(()=>{O5();SeA={organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]},Oy=G5(SeA),Qy=Oy.newRole({organization:["update"],invitation:["create","cancel"],member:["create","update","delete"],team:["create","update","delete"],ac:["create","read","update","delete"]}),Yy=Oy.newRole({organization:["update","delete"],member:["create","update","delete"],invitation:["create","cancel"],team:["create","update","delete"],ac:["create","read","update","delete"]}),Jy=Oy.newRole({organization:[],member:[],invitation:[],team:[],ac:["read"]}),n7A={admin:Qy,owner:Yy,member:Jy}});var l7A=(A,q)=>{if(!A.permissions&&!A.permission)return!1;let F=A.role.split(","),E=A.options.creatorRole||"owner",g=F.includes(E),D=A.allowCreatorAllPermissions||!1;if(g&&D)return!0;for(let _ of F)if(q[_]?.authorize(A.permissions??A.permission)?.success)return!0;return!1};var i7A=()=>{};var p7A=()=>{};var o7A=()=>{return{id:"device-authorization",$InferServerPlugin:{},pathMethods:{"/device/code":"POST","/device/token":"POST","/device":"GET","/device/approve":"POST","/device/deny":"POST"}}},t7A=(A)=>{let q=A?.jwks?.jwksPath??"/jwks";return{id:"better-auth-client",$InferServerPlugin:{},pathMethods:{[q]:"GET"},getActions:(F)=>({jwks:async(E)=>{return await F(q,{method:"GET",...E})}})}},zeA=(A)=>{return l7A(A,A.options.roles||n7A)},s7A=(A)=>{let q=hU(!1),F=hU(!1),E=hU(!1),g=hU(!1),D={admin:Qy,member:Jy,owner:Yy,...A?.roles};return{id:"organization",$InferServerPlugin:{},getActions:(_,j,K)=>({$Infer:{ActiveOrganization:{},Organization:{},Invitation:{},Member:{},Team:{}},organization:{checkRolePermission:($)=>{return zeA({role:$.role,options:{ac:A?.ac,roles:D},permissions:$.permissions??$.permission})}}}),getAtoms:(_)=>{let j=m8(q,"/organization/list",_,{method:"GET"});return{$listOrg:q,$activeOrgSignal:F,$activeMemberSignal:E,$activeMemberRoleSignal:g,activeOrganization:m8([F],"/organization/get-full-organization",_,()=>({method:"GET"})),listOrganizations:j,activeMember:m8([E],"/organization/get-active-member",_,{method:"GET"}),activeMemberRole:m8([g],"/organization/get-active-member-role",_,{method:"GET"})}},pathMethods:{"/organization/get-full-organization":"GET","/organization/list-user-teams":"GET"},atomListeners:[{matcher(_){return _==="/organization/create"||_==="/organization/delete"||_==="/organization/update"},signal:"$listOrg"},{matcher(_){return _.startsWith("/organization")},signal:"$activeOrgSignal"},{matcher(_){return _.startsWith("/organization/set-active")},signal:"$sessionSignal"},{matcher(_){return _.includes("/organization/update-member-role")},signal:"$activeMemberSignal"},{matcher(_){return _.includes("/organization/update-member-role")},signal:"$activeMemberRoleSignal"}]}};var e7A=w(()=>{q5();Z5();F5();Zy();O5();Gy();a7A();r7A();i7A();p7A();jy()});var AOA=(A,q,F)=>(...E)=>h9((g)=>{try{A(...E,(D,_)=>{if(D)g(tE(q?q(D,E):D));else g(DF(_))})}catch(D){g(F?tE(F(D,E)):BU(D))}});var qOA=w(()=>{eg()});var gE;var FOA=w(()=>{qOA();gE=AOA});var EOA;var gOA=w(()=>{QH();EOA=GH});var Hy=(A,q)=>{switch(q._tag){case"StringKeyword":case"TemplateLiteral":return Object.keys(A);case"SymbolKeyword":return Object.getOwnPropertySymbols(A);case"Refinement":return Hy(A,q.from)}},sH=(A)=>{let q=!1,F;return()=>{if(q)return F;return F=A(),q=!0,F}},Iy=(A)=>Array.isArray(A),_OA=(A)=>!Array.isArray(A),DOA=(A)=>`[${w1(A)}]`,Q5=(A)=>Iy(A)?A.map(DOA).join(""):DOA(A);var eH=w(()=>{CF()});var hZ=(A,q,F,E)=>{let g=A;if(F&&OF(F))g+=`
|
|
121
121
|
at path: ${Q5(F)}`;if(q!==void 0)g+=`
|
|
122
122
|
details: ${q}`;if(E)g+=`
|
|
123
123
|
schema (${E._tag}): ${E}`;return g},Xy=(A,q,F)=>hZ("Unsupported schema or overlapping types",`cannot extend ${A} with ${q}`,F),jOA=(A)=>hZ("Unsupported key schema",void 0,void 0,A),KOA=(A)=>hZ("Unsupported literal",`literal value: ${a_(A)}`),My=(A)=>hZ("Duplicate index signature",`${A} index signature`),$OA,UOA,Py=(A)=>hZ("Duplicate property signature transformation",`Duplicate key ${a_(A)}`),J5=(A)=>hZ("Duplicate property signature",`Duplicate key ${a_(A)}`);var Ny=w(()=>{nF();CF();eH();$OA=hZ("Unsupported index signature parameter","An index signature parameter type must be `string`, `symbol`, a template literal type or a refinement of the previous types"),UOA=hZ("Invalid element","A required element cannot follow an optional element. ts(1257)")});var GOA;var OOA=w(()=>{GOA=Symbol.for("effect/SchemaId/DateFromSelf")});class a9{typeParameters;decodeUnknown;encodeUnknown;annotations;_tag="Declaration";constructor(A,q,F,E={}){this.typeParameters=A,this.decodeUnknown=q,this.encodeUnknown=F,this.annotations=E}toString(){return O6(e0(this),()=>"<declaration schema>")}toJSON(){return{_tag:this._tag,typeParameters:this.typeParameters.map((A)=>A.toJSON()),annotations:JE(this.annotations)}}}class n9{literal;annotations;_tag="Literal";constructor(A,q={}){this.literal=A,this.annotations=q}toString(){return O6(e0(this),()=>a_(this.literal))}toJSON(){return{_tag:this._tag,literal:B1(this.literal)?String(this.literal):this.literal,annotations:JE(this.annotations)}}}class I5{symbol;annotations;_tag="UniqueSymbol";constructor(A,q={}){this.symbol=A,this.annotations=q}toString(){return O6(e0(this),()=>a_(this.symbol))}toJSON(){return{_tag:this._tag,symbol:String(this.symbol),annotations:JE(this.annotations)}}}class BOA{annotations;_tag="UndefinedKeyword";constructor(A={}){this.annotations=A}toString(){return eK(this)}toJSON(){return{_tag:this._tag,annotations:JE(this.annotations)}}}class ROA{annotations;_tag="VoidKeyword";constructor(A={}){this.annotations=A}toString(){return eK(this)}toJSON(){return{_tag:this._tag,annotations:JE(this.annotations)}}}class wOA{annotations;_tag="NeverKeyword";constructor(A={}){this.annotations=A}toString(){return eK(this)}toJSON(){return{_tag:this._tag,annotations:JE(this.annotations)}}}class COA{annotations;_tag="UnknownKeyword";constructor(A={}){this.annotations=A}toString(){return eK(this)}toJSON(){return{_tag:this._tag,annotations:JE(this.annotations)}}}class SOA{annotations;_tag="AnyKeyword";constructor(A={}){this.annotations=A}toString(){return eK(this)}toJSON(){return{_tag:this._tag,annotations:JE(this.annotations)}}}class hOA{annotations;_tag="StringKeyword";constructor(A={}){this.annotations=A}toString(){return eK(this)}toJSON(){return{_tag:this._tag,annotations:JE(this.annotations)}}}class xOA{annotations;_tag="NumberKeyword";constructor(A={}){this.annotations=A}toString(){return eK(this)}toJSON(){return{_tag:this._tag,annotations:JE(this.annotations)}}}class bOA{annotations;_tag="BooleanKeyword";constructor(A={}){this.annotations=A}toString(){return eK(this)}toJSON(){return{_tag:this._tag,annotations:JE(this.annotations)}}}class kOA{annotations;_tag="BigIntKeyword";constructor(A={}){this.annotations=A}toString(){return eK(this)}toJSON(){return{_tag:this._tag,annotations:JE(this.annotations)}}}class uOA{annotations;_tag="SymbolKeyword";constructor(A={}){this.annotations=A}toString(){return eK(this)}toJSON(){return{_tag:this._tag,annotations:JE(this.annotations)}}}class yOA{annotations;_tag="ObjectKeyword";constructor(A={}){this.annotations=A}toString(){return eK(this)}toJSON(){return{_tag:this._tag,annotations:JE(this.annotations)}}}class E3{type;annotations;constructor(A,q={}){this.type=A,this.annotations=q}toJSON(){return{type:this.type.toJSON(),annotations:JE(this.annotations)}}toString(){return String(this.type)}}class V5{elements;rest;isReadonly;annotations;_tag="TupleType";constructor(A,q,F,E={}){this.elements=A,this.rest=q,this.isReadonly=F,this.annotations=E;let g=!1,D=!1;for(let _ of A)if(_.isOptional)g=!0;else if(g){D=!0;break}if(D||g&&q.length>1)throw Error(UOA)}toString(){return O6(e0(this),()=>feA(this))}toJSON(){return{_tag:this._tag,elements:this.elements.map((A)=>A.toJSON()),rest:this.rest.map((A)=>A.toJSON()),isReadonly:this.isReadonly,annotations:JE(this.annotations)}}}class r9{type;isReadonly;parameter;constructor(A,q,F){if(this.type=q,this.isReadonly=F,cOA(A))this.parameter=A;else throw Error($OA)}toString(){return(this.isReadonly?"readonly ":"")+`[x: ${this.parameter}]: ${this.type}`}toJSON(){return{parameter:this.parameter.toJSON(),type:this.type.toJSON(),isReadonly:this.isReadonly}}}class sK{annotations;_tag="TypeLiteral";propertySignatures;indexSignatures;constructor(A,q,F={}){this.annotations=F;let E={};for(let D=0;D<A.length;D++){let _=A[D].name;if(Object.prototype.hasOwnProperty.call(E,_))throw Error(J5(_));E[_]=null}let g={string:!1,symbol:!1};for(let D=0;D<q.length;D++){let _=sy(q[D].parameter);if(N5(_)){if(g.string)throw Error(My("string"));g.string=!0}else if(vOA(_)){if(g.symbol)throw Error(My("symbol"));g.symbol=!0}}this.propertySignatures=A,this.indexSignatures=q}toString(){return O6(e0(this),()=>aeA(this))}toJSON(){return{_tag:this._tag,propertySignatures:this.propertySignatures.map((A)=>A.toJSON()),indexSignatures:this.indexSignatures.map((A)=>A.toJSON()),annotations:JE(this.annotations)}}}class LD{types;annotations;static make=(A,q)=>{return T5(A)?new LD(A,q):A.length===1?A[0]:M5};static unify=(A,q)=>{return LD.make(leA(dOA(A)),q)};_tag="Union";constructor(A,q={}){this.types=A,this.annotations=q}toString(){return O6(e0(this),()=>this.types.map(String).join(" | "))}toJSON(){return{_tag:this._tag,types:this.types.map((A)=>A.toJSON()),annotations:JE(this.annotations)}}}class l9{f;annotations;_tag="Suspend";constructor(A,q={}){this.f=A,this.annotations=q,this.f=sH(A)}toString(){return e0(this).pipe(vj(()=>TE(uY(this.f)(),(A)=>e0(A))),O6(()=>"<suspended schema>"))}toJSON(){let A=this.f(),q=Ly.get(A);if(q)return q;return Ly.set(A,{_tag:this._tag}),q={_tag:this._tag,ast:A.toJSON(),annotations:JE(this.annotations)},Ly.set(A,q),q}}class i9{from;filter;annotations;_tag="Refinement";constructor(A,q,F={}){this.from=A,this.filter=q,this.annotations=F}toString(){return F3(this).pipe(O6(()=>D6(tOA(this),{onNone:()=>`{ ${this.from} | filter }`,onSome:(A)=>xZ(this.from)?String(this.from)+" & "+A:A})))}toJSON(){return{_tag:this._tag,from:this.from.toJSON(),annotations:JE(this.annotations)}}}class bZ{from;to;transformation;annotations;_tag="Transformation";constructor(A,q,F,E={}){this.from=A,this.to=q,this.transformation=F,this.annotations=E}toString(){return O6(e0(this),()=>`(${String(this.from)} <-> ${String(this.to)})`)}toJSON(){return{_tag:this._tag,from:this.from.toJSON(),to:this.to.toJSON(),annotations:JE(this.annotations)}}}class R5{decode;encode;_tag="FinalTransformation";constructor(A,q){this.decode=A,this.encode=q}}class nOA{_tag="ComposeTransformation"}class iy{from;to;decode;encode;constructor(A,q,F,E){this.from=A,this.to=q,this.decode=F,this.encode=E}}class g3{propertySignatureTransformations;_tag="TypeLiteralTransformation";constructor(A){this.propertySignatureTransformations=A;let q={},F={};for(let E of A){let g=E.from;if(q[g])throw Error(Py(g));q[g]=!0;let D=E.to;if(F[D])throw Error(Py(D));F[D]=!0}}}function _K(A,q){let F=!1,E=Y4(A.length);for(let g=0;g<A.length;g++){let D=A[g],_=q(D);if(_!==D)F=!0;E[g]=_}return F?E:A}function eeA(A){return D6(XOA(A),{onNone:()=>"",onSome:(q)=>q.map((F)=>` & Brand<${a_(F)}>`).join("")})}var YOA,JOA,Ty,H5,A3,M_,c8,xU,Wy,By,Ry,wy,Cy,Sy,HOA,zy,hy,xy,by,ky,q3,IOA,VD,XOA,MOA,POA,uy,vy,F3,yy,NOA,LOA,VOA,TOA,WOA,my,keA,cy=(A)=>Pz(keA(A),(q)=>q===!0),dy,ueA,veA=(A)=>vj(ueA(A),()=>F3(A)),bU=(A)=>(q)=>q._tag===A,d8,X5,yeA,M5,fy,zOA,P5,N5,L5,ay,ny,ry,meA,ceA,vOA,deA,f8,mOA=(A)=>A.map((q)=>q.type),feA=(A)=>{let q=A.elements.map(String).join(", ");return X6A(A.rest,{onEmpty:()=>`readonly [${q}]`,onNonEmpty:(F,E)=>{let g=String(F),D=g.includes(" | ")?`(${g})`:g;if(E.length>0){let _=E.map(String).join(", ");if(A.elements.length>0)return`readonly [${q}, ...${D}[], ${_}]`;else return`readonly [...${D}[], ${_}]`}else if(A.elements.length>0)return`readonly [${q}, ...${D}[]]`;else return`ReadonlyArray<${g}>`}})},eE,cOA=(A)=>{switch(A._tag){case"StringKeyword":case"SymbolKeyword":case"TemplateLiteral":return!0;case"Refinement":return cOA(A.from)}return!1},QOA=(A)=>A.map(String).join("; "),aeA=(A)=>{if(A.propertySignatures.length>0){let q=A.propertySignatures.map(String).join("; ");if(A.indexSignatures.length>0)return`{ ${q}; ${QOA(A.indexSignatures)} }`;else return`{ ${q} }`}else if(A.indexSignatures.length>0)return`{ ${QOA(A.indexSignatures)} }`;else return"{}"},ly,neA,reA,dOA=(A)=>J4(A,(q)=>W5(q)?dOA(q.types):[q]),leA=(A)=>{let q=neA(A),F=[],E={},g=[];for(let D of q)switch(D._tag){case"NeverKeyword":break;case"AnyKeyword":return[zOA];case"UnknownKeyword":return[fy];case"ObjectKeyword":case"UndefinedKeyword":case"VoidKeyword":case"StringKeyword":case"NumberKeyword":case"BooleanKeyword":case"BigIntKeyword":case"SymbolKeyword":{if(!E[D._tag])E[D._tag]=D,F.push(D);break}case"Literal":{let _=typeof D.literal;switch(_){case"string":case"number":case"bigint":case"boolean":{let j=reA[_];if(!E[j]&&!g.includes(D.literal))g.push(D.literal),F.push(D);break}case"object":{if(!g.includes(D.literal))g.push(D.literal),F.push(D);break}}break}case"UniqueSymbol":{if(!E.SymbolKeyword&&!g.includes(D.symbol))g.push(D.symbol),F.push(D);break}case"TupleType":{if(!E.ObjectKeyword)F.push(D);break}case"TypeLiteral":{if(D.propertySignatures.length===0&&D.indexSignatures.length===0){if(!E["{}"])E["{}"]=D,F.push(D)}else if(!E.ObjectKeyword)F.push(D);break}default:F.push(D)}return F},fOA=(A,q)=>A.map(q),T5=(A)=>A.length>1,W5,Ly,xZ,B5,aOA,ieA=(A)=>(q)=>q._tag===A,rOA,py,w5=(A,q)=>{let F=Object.getOwnPropertyDescriptors(A),E={...A.annotations};delete E[A3];let g={...E,...q},D=my(A);if(fq(D))g[q3]=w5(D.value,q);return F.annotations.value=g,Object.create(Object.getPrototypeOf(A),F)},peA="[\\s\\S]*?",oeA="[+-]?\\d*\\.?\\d+(?:[Ee][+-]?\\d+)?",lOA=(A,q)=>{switch(A._tag){case"Literal":return oO(String(A.literal));case"StringKeyword":return peA;case"NumberKeyword":return oeA;case"TemplateLiteral":return iOA(A,q,!1);case"Union":return A.types.map((F)=>lOA(F,q)).join("|")}},teA=(A,q,F,E)=>{if(W5(A)){if(F&&!E)return`(?:${q})`}else if(!F||!E)return q;return`(${q})`},iOA=(A,q,F)=>{let E="";if(A.head!==""){let g=oO(A.head);E+=q&&F?`(${g})`:g}for(let g of A.spans){let D=lOA(g.type,q);if(E+=teA(g.type,D,q,F),g.literal!==""){let _=oO(g.literal);E+=q&&F?`(${_})`:_}}return E},pOA=(A)=>new RegExp(`^${iOA(A,!1,!0)}$`),oy=(A,q)=>{let F=[],E=[],g=(D)=>{switch(D._tag){case"NeverKeyword":break;case"StringKeyword":case"SymbolKeyword":case"TemplateLiteral":case"Refinement":E.push(new r9(D,q,!0));break;case"Literal":if(nE(D.literal)||xD(D.literal))F.push(new eE(D.literal,q,!1,!0));else throw Error(KOA(D.literal));break;case"Enums":{for(let[_,j]of D.enums)F.push(new eE(j,q,!1,!0));break}case"UniqueSymbol":F.push(new eE(D.symbol,q,!1,!0));break;case"Union":D.types.forEach(g);break;default:throw Error(jOA(D))}};return g(A),{propertySignatures:F,indexSignatures:E}},ty=(A)=>(q)=>{let F=void 0;for(let E of A)if(Object.prototype.hasOwnProperty.call(q.annotations,E)){if(F===void 0)F={};F[E]=q.annotations[E]}return F},oOA=(A)=>(q)=>{let F={...q.annotations};for(let E of A)delete F[E];return F},seA,SE=(A)=>{switch(A._tag){case"Declaration":{let q=_K(A.typeParameters,SE);return q===A.typeParameters?A:new a9(q,A.decodeUnknown,A.encodeUnknown,A.annotations)}case"TupleType":{let q=_K(A.elements,(g)=>{let D=SE(g.type);return D===g.type?g:new f8(D,g.isOptional)}),F=mOA(A.rest),E=_K(F,SE);return q===A.elements&&E===F?A:new V5(q,E.map((g)=>new E3(g)),A.isReadonly,A.annotations)}case"TypeLiteral":{let q=_K(A.propertySignatures,(E)=>{let g=SE(E.type);return g===E.type?E:new eE(E.name,g,E.isOptional,E.isReadonly)}),F=_K(A.indexSignatures,(E)=>{let g=SE(E.type);return g===E.type?E:new r9(E.parameter,g,E.isReadonly)});return q===A.propertySignatures&&F===A.indexSignatures?A:new sK(q,F,A.annotations)}case"Union":{let q=_K(A.types,SE);return q===A.types?A:LD.make(q,A.annotations)}case"Suspend":return new l9(()=>SE(A.f()),A.annotations);case"Refinement":{let q=SE(A.from);return q===A.from?A:new i9(q,A.filter,A.annotations)}case"Transformation":{let q=seA(A);return SE(q!==void 0?w5(A.to,q):A.to)}}return A},Vy=(A)=>{switch(A._tag){case"Transformation":return A.from;case"Refinement":return Vy(A.from);case"Suspend":return Vy(A.f())}},s0=(A,q)=>{switch(A._tag){case"Declaration":{let F=_K(A.typeParameters,(E)=>s0(E,q));return F===A.typeParameters?A:new a9(F,A.decodeUnknown,A.encodeUnknown)}case"TupleType":{let F=_K(A.elements,(D)=>{let _=s0(D.type,q);return _===D.type?D:new f8(_,D.isOptional)}),E=mOA(A.rest),g=_K(E,(D)=>s0(D,q));return F===A.elements&&g===E?A:new V5(F,g.map((D)=>new E3(D)),A.isReadonly)}case"TypeLiteral":{let F=_K(A.propertySignatures,(g)=>{let D=s0(g.type,q);return D===g.type?g:new eE(g.name,D,g.isOptional,g.isReadonly)}),E=_K(A.indexSignatures,(g)=>{let D=s0(g.type,q);return D===g.type?g:new r9(g.parameter,D,g.isReadonly)});return F===A.propertySignatures&&E===A.indexSignatures?A:new sK(F,E)}case"Union":{let F=_K(A.types,(E)=>s0(E,q));return F===A.types?A:LD.make(F)}case"Suspend":{let F=void 0,E=veA(A);if(fq(E)){let g=q?"Bound":"";F={[dy]:`${E.value}Encoded${g}`}}return new l9(()=>s0(A.f(),q),F)}case"Refinement":{let F=s0(A.from,q);if(q){if(F===A.from)return A;if(Vy(A.from)===void 0&&cy(A))return new i9(F,A.filter,A.annotations);return F}else return F}case"Transformation":return s0(A.from,q)}return A},D3=(A)=>s0(A,!1),JE=(A)=>{let q={};for(let F of Object.getOwnPropertySymbols(A))q[String(F)]=A[F];return q},sy=(A)=>{switch(A._tag){case"StringKeyword":case"SymbolKeyword":case"TemplateLiteral":return A;case"Refinement":return sy(A.from)}},eK=(A)=>O6(e0(A),()=>A._tag),tOA=(A)=>uy(A).pipe(vj(()=>yy(A)),vj(()=>vy(A)),SF((q)=>q+eeA(A))),e0=(A)=>vj(F3(A),()=>tOA(A));var ey=w(()=>{nF();bA();CF();Ny();eH();pO();Q6();kY();G6();Mx();YOA=Symbol.for("effect/annotation/Brand"),JOA=Symbol.for("effect/annotation/SchemaId"),Ty=Symbol.for("effect/annotation/Message"),H5=Symbol.for("effect/annotation/MissingMessage"),A3=Symbol.for("effect/annotation/Identifier"),M_=Symbol.for("effect/annotation/Title"),c8=Symbol.for("effect/annotation/AutoTitle"),xU=Symbol.for("effect/annotation/Description"),Wy=Symbol.for("effect/annotation/Examples"),By=Symbol.for("effect/annotation/Default"),Ry=Symbol.for("effect/annotation/JSONSchema"),wy=Symbol.for("effect/annotation/Arbitrary"),Cy=Symbol.for("effect/annotation/Pretty"),Sy=Symbol.for("effect/annotation/Equivalence"),HOA=Symbol.for("effect/annotation/Documentation"),zy=Symbol.for("effect/annotation/Concurrency"),hy=Symbol.for("effect/annotation/Batching"),xy=Symbol.for("effect/annotation/ParseIssueTitle"),by=Symbol.for("effect/annotation/ParseOptions"),ky=Symbol.for("effect/annotation/DecodingFallback"),q3=Symbol.for("effect/annotation/Surrogate"),IOA=Symbol.for("effect/annotation/StableFilter"),VD=N(2,(A,q)=>Object.prototype.hasOwnProperty.call(A.annotations,q)?gA(A.annotations[q]):_A()),XOA=VD(YOA),MOA=VD(Ty),POA=VD(H5),uy=VD(M_),vy=VD(c8),F3=VD(A3),yy=VD(xU),NOA=VD(zy),LOA=VD(hy),VOA=VD(xy),TOA=VD(by),WOA=VD(ky),my=VD(q3),keA=VD(IOA),dy=Symbol.for("effect/annotation/JSONIdentifier"),ueA=VD(dy);d8=bU("Literal");X5=new BOA({[M_]:"undefined"});yeA=new ROA({[M_]:"void"});M5=new wOA({[M_]:"never"});fy=new COA({[M_]:"unknown"});zOA=new SOA({[M_]:"any"});P5=new hOA({[M_]:"string",[xU]:"a string"}),N5=bU("StringKeyword");L5=new xOA({[M_]:"number",[xU]:"a number"}),ay=bU("NumberKeyword");ny=new bOA({[M_]:"boolean",[xU]:"a boolean"}),ry=bU("BooleanKeyword");meA=new kOA({[M_]:"bigint",[xU]:"a bigint"});ceA=new uOA({[M_]:"symbol",[xU]:"a symbol"}),vOA=bU("SymbolKeyword");deA=new yOA({[M_]:"object",[xU]:"an object in the TypeScript meaning, i.e. the `object` type"});f8=class f8 extends E3{isOptional;constructor(A,q,F={}){super(A,F);this.isOptional=q}toJSON(){return{type:this.type.toJSON(),isOptional:this.isOptional,annotations:JE(this.annotations)}}toString(){return String(this.type)+(this.isOptional?"?":"")}};eE=class eE extends f8{name;isReadonly;constructor(A,q,F,E,g){super(q,F,g);this.name=A,this.isReadonly=E}toString(){return(this.isReadonly?"readonly ":"")+String(this.name)+(this.isOptional?"?":"")+": "+this.type}toJSON(){return{name:String(this.name),type:this.type.toJSON(),isOptional:this.isOptional,isReadonly:this.isReadonly,annotations:JE(this.annotations)}}};ly=bU("TypeLiteral"),neA=GD(uM(og,(A)=>{switch(A._tag){case"AnyKeyword":return 0;case"UnknownKeyword":return 1;case"ObjectKeyword":return 2;case"StringKeyword":case"NumberKeyword":case"BooleanKeyword":case"BigIntKeyword":case"SymbolKeyword":return 3}return 4})),reA={string:"StringKeyword",number:"NumberKeyword",boolean:"BooleanKeyword",bigint:"BigIntKeyword"};W5=bU("Union"),Ly=Oq(Symbol.for("effect/Schema/AST/toJSONMemoMap"),()=>new WeakMap);xZ=bU("Refinement"),B5={};aOA=bU("Transformation");rOA=new nOA;py=ieA("TypeLiteralTransformation"),seA=ty([Wy,By,Ry,wy,Cy,Sy])});class Og{path;actual;issue;_tag="Pointer";constructor(A,q,F){this.path=A,this.actual=q,this.issue=F}}class Fm{actual;message;_tag="Unexpected";constructor(A,q){this.actual=A,this.message=q}}class p9{ast;message;_tag="Missing";actual=void 0;constructor(A,q){this.ast=A,this.message=q}}class HE{ast;actual;issues;output;_tag="Composite";constructor(A,q,F,E){this.ast=A,this.actual=q,this.issues=F,this.output=E}}class S5{ast;actual;kind;issue;_tag="Refinement";constructor(A,q,F,E){this.ast=A,this.actual=q,this.kind=F,this.issue=E}}class z5{ast;actual;kind;issue;_tag="Transformation";constructor(A,q,F,E){this.ast=A,this.actual=q,this.kind=F,this.issue=E}}class Qj{ast;actual;message;_tag="Type";constructor(A,q,F){this.ast=A,this.actual=q,this.message=F}}class Em{ast;actual;message;_tag="Forbidden";constructor(A,q,F){this.ast=A,this.actual=q,this.message=F}}function A0(A){return A.sort(_Aq).map((q)=>q[1])}function GAq(A){return yy(A).pipe(vj(()=>uy(A)),vj(()=>vy(A)),vj(()=>F3(A)),O6(()=>`{ ${A.from} | filter }`))}function OAq(A){if(A.message!==void 0)return A.message;return`Expected ${xZ(A.ast)?GAq(A.ast):String(A.ast)}, actual ${a_(A.actual)}`}var eOA,F9A,E9A=(A)=>new F9A({issue:A}),t9,Dm,P_,kU,N_,h5,g9A,x5=(A,q)=>{if(q===void 0||xD(q))return A;if(A===void 0)return q;return{...A,...q}},AAq=(A,q,F)=>{let E=xg(A,q);return(g,D)=>E(g,x5(F,D))},qAq=(A,q,F)=>{let E=AAq(A,q,F);return(g,D)=>bY(E(g,D),E9A)},FAq=(A,q,F)=>{let E=xg(A,q);return(g,D)=>E(g,{...x5(F,D),isEffectAllowed:!0})},D9A=(A,q)=>FAq(A.ast,!1,q),b5=(A,q)=>qAq(SE(A.ast),!0,q),_9A=(A,q)=>{let F=xg(SE(A.ast),!0);return(E,g)=>E_(F(E,{exact:!0,...x5(q,g)}))},EAq,gAq,xg=(A,q)=>{let F=q?EAq:gAq,E=F.get(A);if(E)return E;let g=DAq(A,q),D=TOA(A),_=fq(D)?($,U)=>g($,x5(U,D.value)):g,j=WOA(A),K=q&&fq(j)?($,U)=>j3(g9A(_($,U),j.value),A,$,U):_;return F.set(A,K),K},Am=(A)=>aF(NOA(A)),qm=(A)=>aF(LOA(A)),DAq=(A,q)=>{switch(A._tag){case"Refinement":if(q){let F=xg(A.from,!0);return(E,g)=>{g=g??B5;let D=g?.errors==="all",_=kU(g9A(F(E,g),(j)=>{let K=new S5(A,E,"From",j);if(D&&cy(A)&&Z9A(j))return D6(A.filter(E,g,A),{onNone:()=>_q(K),onSome:($)=>_q(new HE(A,E,[K,new S5(A,E,"Predicate",$)]))});return _q(K)}),(j)=>D6(A.filter(j,g,A),{onNone:()=>Pq(j),onSome:(K)=>_q(new S5(A,E,"Predicate",K))}));return j3(_,A,E,g)}}else{let F=xg(SE(A),!0),E=xg(K9A(A.from),!1);return(g,D)=>j3(kU(F(g,D),(_)=>E(_,D)),A,g,D)}case"Transformation":{let F=jAq(A.transformation,q),E=q?xg(A.from,!0):xg(A.to,!1),g=q?xg(A.to,!0):xg(A.from,!1);return(D,_)=>j3(kU(h5(E(D,_),(j)=>new z5(A,D,q?"Encoded":"Type",j)),(j)=>kU(h5(F(j,_??B5,A,D),(K)=>new z5(A,D,"Transformation",K)),(K)=>h5(g(K,_),($)=>new z5(A,D,q?"Type":"Encoded",$)))),A,D,_)}case"Declaration":{let F=q?A.decodeUnknown(...A.typeParameters):A.encodeUnknown(...A.typeParameters);return(E,g)=>j3(F(E,g??B5,A),A,E,g)}case"Literal":return Oj(A,(F)=>F===A.literal);case"UniqueSymbol":return Oj(A,(F)=>F===A.symbol);case"UndefinedKeyword":return Oj(A,UqA);case"NeverKeyword":return Oj(A,ZqA);case"UnknownKeyword":case"AnyKeyword":case"VoidKeyword":return Pq;case"StringKeyword":return Oj(A,nE);case"NumberKeyword":return Oj(A,xD);case"BooleanKeyword":return Oj(A,S$);case"BigIntKeyword":return Oj(A,B1);case"SymbolKeyword":return Oj(A,D4);case"ObjectKeyword":return Oj(A,Tg);case"Enums":return Oj(A,(F)=>A.enums.some(([E,g])=>g===F));case"TemplateLiteral":{let F=pOA(A);return Oj(A,(E)=>nE(E)&&F.test(E))}case"TupleType":{let F=A.elements.map(($)=>xg($.type,q)),E=A.rest.map(($)=>xg($.type,q)),g=A.elements.filter(($)=>!$.isOptional);if(A.rest.length>0)g=g.concat(A.rest.slice(1));let D=g.length,_=A.elements.length>0?A.elements.map(($,U)=>U).join(" | "):"never",j=Am(A),K=qm(A);return($,U)=>{if(!Tz($))return _q(new Qj(A,$));let Z=U?.errors==="all",G=[],O=0,Q=[],Y=$.length;for(let L=Y;L<=D-1;L++){let M=new Og(L,$,new p9(g[L-Y]));if(Z){G.push([O++,M]);continue}else return _q(new HE(A,$,M,Q))}if(A.rest.length===0)for(let L=A.elements.length;L<=Y-1;L++){let M=new Og(L,$,new Fm($[L],`is unexpected, expected: ${_}`));if(Z){G.push([O++,M]);continue}else return _q(new HE(A,$,M,Q))}let J=0,H=void 0;for(;J<F.length;J++)if(Y<J+1){if(A.elements[J].isOptional)continue}else{let L=F[J],M=L($[J],U);if(P_(M)){if(IF(M)){let B=new Og(J,$,M.left);if(Z){G.push([O++,B]);continue}else return _q(new HE(A,$,B,A0(Q)))}Q.push([O++,M.right])}else{let B=O++,W=J;if(!H)H=[];H.push(({es:V,output:R})=>Nq(VZ(M),(k)=>{if(IF(k)){let v=new Og(W,$,k.left);if(Z)return V.push([B,v]),_6;else return _q(new HE(A,$,v,A0(R)))}return R.push([B,k.right]),_6}))}}if(OF(E)){let[L,...M]=E;for(;J<Y-M.length;J++){let B=L($[J],U);if(P_(B))if(IF(B)){let W=new Og(J,$,B.left);if(Z){G.push([O++,W]);continue}else return _q(new HE(A,$,W,A0(Q)))}else Q.push([O++,B.right]);else{let W=O++,V=J;if(!H)H=[];H.push(({es:R,output:k})=>Nq(VZ(B),(v)=>{if(IF(v)){let b=new Og(V,$,v.left);if(Z)return R.push([W,b]),_6;else return _q(new HE(A,$,b,A0(k)))}else return k.push([W,v.right]),_6}))}}for(let B=0;B<M.length;B++)if(J+=B,Y<J+1)continue;else{let W=M[B]($[J],U);if(P_(W)){if(IF(W)){let V=new Og(J,$,W.left);if(Z){G.push([O++,V]);continue}else return _q(new HE(A,$,V,A0(Q)))}Q.push([O++,W.right])}else{let V=O++,R=J;if(!H)H=[];H.push(({es:k,output:v})=>Nq(VZ(W),(b)=>{if(IF(b)){let m=new Og(R,$,b.left);if(Z)return k.push([V,m]),_6;else return _q(new HE(A,$,m,A0(v)))}return v.push([V,b.right]),_6}))}}}let P=({es:L,output:M})=>n$(L)?_q(new HE(A,$,A0(L),A0(M))):Pq(A0(M));if(H&&H.length>0){let L=H;return t6(()=>{let M={es:XO(G),output:XO(Q)};return Nq(mD(L,(B)=>B(M),{concurrency:j,batching:K,discard:!0}),()=>P(M))})}return P({output:Q,es:G})}}case"TypeLiteral":{if(A.propertySignatures.length===0&&A.indexSignatures.length===0)return Oj(A,GqA);let F=[],E={},g=[];for(let U of A.propertySignatures)F.push([xg(U.type,q),U]),E[U.name]=null,g.push(U.name);let D=A.indexSignatures.map((U)=>[xg(U.parameter,q),xg(U.type,q),U.parameter]),_=LD.make(A.indexSignatures.map((U)=>U.parameter).concat(g.map((U)=>D4(U)?new I5(U):new n9(U)))),j=xg(_,q),K=Am(A),$=qm(A);return(U,Z)=>{if(!dS(U))return _q(new Qj(A,U));let G=Z?.errors==="all",O=[],Q=0,Y=Z?.onExcessProperty==="error",J=Z?.onExcessProperty==="preserve",H={},P;if(Y||J){P=Reflect.ownKeys(U);for(let W of P){let V=j(W,Z);if(P_(V)&&IF(V))if(Y){let R=new Og(W,U,new Fm(U[W],`is unexpected, expected: ${String(_)}`));if(G){O.push([Q++,R]);continue}else return _q(new HE(A,U,R,H))}else H[W]=U[W]}}let L=void 0,M=Z?.exact===!0;for(let W=0;W<F.length;W++){let V=F[W][1],R=V.name,k=Object.prototype.hasOwnProperty.call(U,R);if(!k){if(V.isOptional)continue;else if(M){let m=new Og(R,U,new p9(V));if(G){O.push([Q++,m]);continue}else return _q(new HE(A,U,m,H))}}let v=F[W][0],b=v(U[R],Z);if(P_(b)){if(IF(b)){let m=new Og(R,U,k?b.left:new p9(V));if(G){O.push([Q++,m]);continue}else return _q(new HE(A,U,m,H))}H[R]=b.right}else{let m=Q++,y=R;if(!L)L=[];L.push(({es:i,output:GA})=>Nq(VZ(b),(QA)=>{if(IF(QA)){let YA=new Og(y,U,k?QA.left:new p9(V));if(G)return i.push([m,YA]),_6;else return _q(new HE(A,U,YA,GA))}return GA[y]=QA.right,_6}))}}for(let W=0;W<D.length;W++){let V=D[W],R=V[0],k=V[1],v=Hy(U,V[2]);for(let b of v){let m=R(b,Z);if(P_(m)&&E_(m)){let y=k(U[b],Z);if(P_(y)){if(IF(y)){let i=new Og(b,U,y.left);if(G){O.push([Q++,i]);continue}else return _q(new HE(A,U,i,H))}else if(!Object.prototype.hasOwnProperty.call(E,b))H[b]=y.right}else{let i=Q++,GA=b;if(!L)L=[];L.push(({es:QA,output:YA})=>Nq(VZ(y),(xA)=>{if(IF(xA)){let Bq=new Og(GA,U,xA.left);if(G)return QA.push([i,Bq]),_6;else return _q(new HE(A,U,Bq,YA))}else{if(!Object.prototype.hasOwnProperty.call(E,b))YA[b]=xA.right;return _6}}))}}}}let B=({es:W,output:V})=>{if(n$(W))return _q(new HE(A,U,A0(W),V));if(Z?.propertyOrder==="original"){let R=P||Reflect.ownKeys(U);for(let v of g)if(R.indexOf(v)===-1)R.push(v);let k={};for(let v of R)if(Object.prototype.hasOwnProperty.call(V,v))k[v]=V[v];return Pq(k)}return Pq(V)};if(L&&L.length>0){let W=L;return t6(()=>{let V={es:XO(O),output:Object.assign({},H)};return Nq(mD(W,(R)=>R(V),{concurrency:K,batching:$,discard:!0}),()=>B(V))})}return B({es:O,output:H})}}case"Union":{let F=j9A(A.types,q),E=Reflect.ownKeys(F.keys),g=E.length,D=A.types.length,_=new Map;for(let $=0;$<D;$++)_.set(A.types[$],xg(A.types[$],q));let j=Am(A)??1,K=qm(A);return($,U)=>{let Z=[],G=0,O=[];if(g>0)if(NY($))for(let J=0;J<g;J++){let H=E[J],P=F.keys[H].buckets;if(Object.prototype.hasOwnProperty.call($,H)){let L=String($[H]);if(Object.prototype.hasOwnProperty.call(P,L))O=O.concat(P[L]);else{let{candidates:M,literals:B}=F.keys[H],W=LD.make(B),V=M.length===D?new sK([new eE(H,W,!1,!0)],[]):LD.make(M);Z.push([G++,new HE(V,$,new Og(H,$,new Qj(W,$[H])))])}}else{let{candidates:L,literals:M}=F.keys[H],B=new eE(H,LD.make(M),!1,!0),W=L.length===D?new sK([B],[]):LD.make(L);Z.push([G++,new HE(W,$,new Og(H,$,new p9(B)))])}}else{let J=F.candidates.length===D?A:LD.make(F.candidates);Z.push([G++,new Qj(J,$)])}if(F.otherwise.length>0)O=O.concat(F.otherwise);let Q=void 0;for(let J=0;J<O.length;J++){let H=O[J],P=_.get(H)($,U);if(P_(P)&&(!Q||Q.length===0))if(E_(P))return P;else Z.push([G++,P.left]);else{let L=G++;if(!Q)Q=[];Q.push((M)=>t6(()=>{if("finalResult"in M)return _6;else return Nq(VZ(P),(B)=>{if(E_(B))M.finalResult=B;else M.es.push([L,B.left]);return _6})}))}}let Y=(J)=>n$(J)?J.length===1&&J[0][1]._tag==="Type"?_q(J[0][1]):_q(new HE(A,$,A0(J))):_q(new Qj(A,$));if(Q&&Q.length>0){let J=Q;return t6(()=>{let H={es:XO(Z)};return Nq(mD(J,(P)=>P(H),{concurrency:j,batching:K,discard:!0}),()=>{if("finalResult"in H)return H.finalResult;return Y(H.es)})})}return Y(Z)}}case"Suspend":{let F=sH(()=>xg(A.f(),q));return(E,g)=>F()(E,g)}}},Oj=(A,q)=>(F)=>q(F)?Pq(F):_q(new Qj(A,F)),_3=(A,q)=>{switch(A._tag){case"Declaration":{let F=my(A);if(fq(F))return _3(F.value,q);break}case"TypeLiteral":{let F=[];for(let E=0;E<A.propertySignatures.length;E++){let g=A.propertySignatures[E],D=q?D3(g.type):SE(g.type);if(d8(D)&&!g.isOptional)F.push([g.name,D])}return F}case"TupleType":{let F=[];for(let E=0;E<A.elements.length;E++){let g=A.elements[E],D=q?D3(g.type):SE(g.type);if(d8(D)&&!g.isOptional)F.push([E,D])}return F}case"Refinement":return _3(A.from,q);case"Suspend":return _3(A.f(),q);case"Transformation":return _3(q?A.from:A.to,q)}return[]},j9A=(A,q)=>{let F={},E=[],g=[];for(let D=0;D<A.length;D++){let _=A[D],j=_3(_,q);if(j.length>0){g.push(_);for(let K=0;K<j.length;K++){let[$,U]=j[K],Z=String(U.literal);F[$]=F[$]||{buckets:{},literals:[],candidates:[]};let G=F[$].buckets;if(Object.prototype.hasOwnProperty.call(G,Z)){if(K<j.length-1)continue;G[Z].push(_),F[$].literals.push(U),F[$].candidates.push(_)}else{G[Z]=[_],F[$].literals.push(U),F[$].candidates.push(_);break}}}else E.push(_)}return{keys:F,otherwise:E,candidates:g}},K9A=(A)=>xZ(A)?K9A(A.from):A,j3=(A,q,F,E)=>{if(E?.isEffectAllowed===!0)return A;if(P_(A))return A;let g=new kJ,D=SV(A,{scheduler:g});g.flush();let _=D.unsafePoll();if(_){if(yb(_))return Pq(_.value);let j=_.cause;if(z$A(j))return _q(j.error);return _q(new Em(q,F,b$A(j)))}return _q(new Em(q,F,"cannot be be resolved synchronously, this is caused by using runSync on an effect that performs async work"))},_Aq=([A],[q])=>A>q?1:A<q?-1:0,jAq=(A,q)=>{switch(A._tag){case"FinalTransformation":return q?A.decode:A.encode;case"ComposeTransformation":return Pq;case"TypeLiteralTransformation":return(F)=>{let E=Pq(F);for(let g of A.propertySignatureTransformations){let[D,_]=q?[g.from,g.to]:[g.to,g.from],j=q?g.decode:g.encode;E=N_(E,($)=>{let U=j(Object.prototype.hasOwnProperty.call($,D)?gA($[D]):_A());if(delete $[D],fq(U))$[_]=U.value;return $})}return E}}},dD=(A,q=[])=>({value:A,forest:q}),K3,KAq=(A)=>A.value+$9A(`
|
|
@@ -250,7 +250,7 @@ tell application "System Events" to get value of property list item "CFBundleNam
|
|
|
250
250
|
Current context:
|
|
251
251
|
`)),console.log(` Name: ${X.bold.green(A)}`),q.orgName)console.log(` Network: ${X.cyan(q.orgName)}`);if(q.orgSlug)console.log(` Network Slug: ${X.gray(q.orgSlug)}`);if(console.log(` Base URL: ${X.white(q.baseURL)}`),q.installationDir)console.log(` Installation Dir: ${X.white(q.installationDir)}`);console.log()}catch(A){console.error(X.red(`Failed to show current context: ${A instanceof Error?A.message:String(A)}`)),process.exit(1)}};var IPA=w(()=>{Mq();sE();TD()});var XPA=async()=>{try{let A=await d.runPromise(d.gen(function*(){return yield*F$()}).pipe(d.provide(oq))),q=await d.runPromise(d.gen(function*(){return yield*cZ()}).pipe(d.provide(oq))),F=Object.keys(A);if(F.length===0){console.log(X.yellow("No contexts configured.")),console.log(X.cyan("Run 'simplecloud context add' to create your first context."));return}console.log(X.bold.cyan(`
|
|
252
252
|
Configured contexts:
|
|
253
|
-
`)),F.forEach((E)=>{let g=E===q,D=g?X.green("\u2192"):" ",_=g?X.bold.green(E):X.white(E),j=A[E],K=j?.orgName?X.cyan(j.orgName):X.gray("no network");if(console.log(`${D} ${_}`),console.log(` Network: ${K}`),j?.installationDir)console.log(` Installation path: ${X.gray(j.installationDir)}`)}),console.log()}catch(A){console.error(X.red(`Failed to list contexts: ${A instanceof Error?A.message:String(A)}`)),process.exit(1)}};var MPA=w(()=>{Mq();sE();TD()});var PPA=async(A)=>{try{if(!(await d.runPromise(d.gen(function*(){return yield*F$()}).pipe(d.provide(oq))))[A])console.error(X.red(`Context "${A}" does not exist.`)),process.exit(1);if(await d.runPromise(d.gen(function*(){return yield*cZ()}).pipe(d.provide(oq)))===A){let E=await C_("context-remove");if(!await E.confirm({name:"confirmRemove",message:`You are currently using context "${A}". Are you sure you want to remove it?`,initialValue:!1})){c.warn("Cancelled."),await E.complete();return}await E.complete()}await d.runPromise(d.gen(function*(){yield*JYA(A)}).pipe(d.provide(oq))),ug(X.green.bold(`Context "${A}" removed`))}catch(q){if(q instanceof Error&&q.message==="Setup cancelled."){c.warn("Cancelled.");return}console.error(X.red(`Failed to remove context: ${q instanceof Error?q.message:String(q)}`)),process.exit(1)}};var NPA=w(()=>{v6();Mq();sE();TD();KG()});var LPA=async(A)=>{try{await d.runPromise(d.gen(function*(){yield*H2(A)}).pipe(d.provide(oq))),ug(X.green.bold(`Current context: ${A}`))}catch(q){console.error(X.red(`Failed to switch context: ${q instanceof Error?q.message:String(q)}`)),process.exit(1)}};var VPA=w(()=>{v6();Mq();sE();TD()});function TPA(A){A.command({command:"context <command>",aliases:["contexts","ctx"],describe:"Manage connection contexts",builder:(q)=>q.command({command:"list",aliases:["ls"],describe:"List all contexts",handler:yA(async()=>{await XPA()})}).command({command:"use <name>",describe:"Switch to a context",builder:(F)=>F.positional("name",{describe:"Context name",type:"string",demandOption:!0}),handler:yA(async(F)=>{await LPA(F.name)})}).command({command:"add [name]",describe:"Add a new context",builder:(F)=>F.positional("name",{describe:"Context name",type:"string"}),handler:yA(async(F)=>{await YPA(F.name)})}).command({command:"remove <name>",aliases:["del","rm"],describe:"Remove a context",builder:(F)=>F.positional("name",{describe:"Context name",type:"string",demandOption:!0}),handler:yA(async(F)=>{await PPA(F.name)})}).command({command:"current",describe:"Show the current context",handler:yA(async()=>{await HPA()})}).demandCommand(1,"You must specify a subcommand"),handler:()=>{}})}var WPA=w(()=>{JPA();IPA();MPA();NPA();VPA();Qg()});var Q7=async(A)=>{return(await n6()).v0.pluginAssignmentsList({server_group_id:A?.serverGroupId,persistent_server_id:A?.persistentServerId})},Ni=async(A)=>{let F=await(await n6()).v0.pluginAssignmentsCreate({server_group_id:A.serverGroupId,persistent_server_id:A.persistentServerId,plugin_id:A.pluginId,plugin_name:A.pluginName,source_type:A.sourceType,source_value:A.sourceValue});if(!F.ok||F.error){let E=F.error,g=E?.error||E?.message||(F.error?JSON.stringify(F.error):`HTTP ${F.status}`);throw Error(g)}return F},hI=async(A)=>{let F=await(await n6()).v0.pluginAssignmentsDelete({assignment_id:A});if(!F.ok||F.error){let E=F.error,g=E?.error||E?.message||(F.error?JSON.stringify(F.error):`HTTP ${F.status}`);throw Error(g)}return F};var Li=w(()=>{s6()});var Vi=async(A)=>{let{query:q,loader:F,limit:E=10,offset:g=0}=A,D=[["project_type:plugin"]];if(F)D.push([`categories:${F}`]);let _=new URLSearchParams({query:q,limit:String(E),offset:String(g),facets:JSON.stringify(D),index:"relevance"}),j=await fetch(`https://api.modrinth.com/v2/search?${_}`,{headers:{"User-Agent":"simplecloud-cli/1.0.0 (https://simplecloud.app)"}});if(!j.ok)throw Error(`Modrinth API error: ${j.status}`);return j.json()},Ti=async(A)=>{let q=await fetch(`https://api.modrinth.com/v2/project/${A}`,{headers:{"User-Agent":"simplecloud-cli/1.0.0 (https://simplecloud.app)"}});if(!q.ok){if(q.status===404)throw Error(`Plugin not found: ${A}`);throw Error(`Modrinth API error: ${q.status}`)}return q.json()},Wi=(A)=>{if(A>=1e6)return`${(A/1e6).toFixed(1)}M`;if(A>=1000)return`${(A/1000).toFixed(1)}K`;return String(A)};var Bi=()=>{};var iUq,pUq,oUq,tUq,sUq,pB=(A)=>{let q=A.trim();for(let g of iUq)if(q.toLowerCase().startsWith(g))return{type:"MODRINTH",value:q.slice(g.length),isSearch:!1};for(let g of pUq)if(q.toLowerCase().startsWith(g))return{type:"SPIGOT",value:q.slice(g.length),isSearch:!1};let F=q.match(tUq);if(F)return{type:"MODRINTH",value:F[1],isSearch:!1};let E=q.match(sUq);if(E)return{type:"SPIGOT",value:E[1],isSearch:!1};if(oUq.test(q))return{type:"URL",value:q,isSearch:!1};return{type:"MODRINTH",value:q,isSearch:!0}};var Ri=w(()=>{iUq=["modrinth:","mr:"],pUq=["spigot:","sp:"],oUq=/^https?:\/\//i,tUq=/^https?:\/\/(?:www\.)?modrinth\.com\/plugin\/([a-zA-Z0-9_-]+)/i,sUq=/^https?:\/\/(?:www\.)?spigotmc\.org\/resources\/[a-zA-Z0-9_-]+\.(\d+)/i});var eUq=(A)=>{if(A instanceof Error)return A.message;if(typeof A==="string")return A;if(typeof A==="object"&&A!==null){let q=A;if(typeof q.error==="string")return q.error;if(typeof q.message==="string")return q.message;if(typeof q.error==="object"&&q.error!==null){let F=q.error;if(typeof F.error==="string")return F.error;if(typeof F.message==="string")return F.message}try{return JSON.stringify(A,null,2)}catch{return"Unknown error (could not serialize)"}}return"Unknown error"},BPA=async(A,q)=>{let F=IE();F.start("Searching Modrinth...");let E;try{let _=await Vi({query:A,loader:q,limit:15});E=_.hits,F.stop(`Found ${_.total_hits} plugins`)}catch(_){throw F.stop("Search failed"),_}if(E.length===0)return c.warn("No plugins found matching your query."),[];let g=E.map((_)=>({value:_.slug,label:`${_.title} ${X.dim(`(${Wi(_.downloads)} downloads)`)}`,hint:_.description.length>60?`${_.description.slice(0,60)}...`:_.description})),D=await gW({message:"Select plugins to add (space to select, enter to confirm):",options:g,required:!1});if(q6(D))return[];return D.flatMap((_)=>{let j=E.find((K)=>K.slug===_);return j?[{name:j.title,sourceType:"MODRINTH",sourceValue:_}]:[]})},RPA=async(A,q)=>{if(A==="MODRINTH"){let F=IE();F.start("Fetching plugin details...");try{let E=await Ti(q);return F.stop(`Found: ${E.title}`),{name:E.title,sourceType:"MODRINTH",sourceValue:E.slug}}catch(E){throw F.stop("Failed to fetch plugin"),E}}return{name:q,sourceType:A,sourceValue:q}},wi=async(A={})=>{let q=A.serverSoftware?A.serverSoftware.toLowerCase():void 0,F=new Map,E=!0;while(E){let g;if(A.initialQuery&&F.size===0)g=A.initialQuery;else{let K=await v3({message:"Enter plugin name, Modrinth slug (mr:name), Spigot ID (sp:123), or URL:",placeholder:"e.g. essentials, mr:luckperms, sp:28140"});if(q6(K)||!K)break;g=String(K)}let D=pB(g),_;if(D.isSearch)_=await BPA(D.value,q);else try{_=[await RPA(D.type,D.value)]}catch(K){c.error(`Failed to resolve plugin: ${K instanceof Error?K.message:"Unknown error"}`);continue}if(_.length===0){let K=await LF({message:"No plugins selected. Try another search?",initialValue:!0});if(q6(K)||!K)break;continue}for(let K of _)F.set(`${K.sourceType}:${K.sourceValue}`,K);let j=await LF({message:"Add more plugins?",initialValue:!1});if(q6(j)||!j)E=!1}return[...F.values()]},xI=async(A)=>{let{target:q,initialQuery:F}=A,E=q.serverSoftware?q.serverSoftware.toLowerCase():void 0,g=0,D=!0;while(D){let _;if(F&&g===0)_=F;else{let O=await v3({message:"Enter plugin name, Modrinth slug (mr:name), Spigot ID (sp:123), or URL:",placeholder:"e.g. essentials, mr:luckperms, sp:28140"});if(q6(O)||!O)break;_=O}let j=pB(_),K=[];if(j.isSearch)K=await BPA(j.value,E);else try{K=[await RPA(j.type,j.value)]}catch(O){c.error(`Failed to resolve plugin: ${O instanceof Error?O.message:"Unknown error"}`);continue}if(K.length===0){let O=await LF({message:"No plugins selected. Try another search?",initialValue:!0});if(q6(O)||!O)break;continue}let $=IE();$.start(`Adding ${y6(K.length,"plugin")}...`);let U=0,Z=[];for(let O of K)try{await Ni({serverGroupId:q.type==="group"?q.id:void 0,persistentServerId:q.type==="persistent-server"?q.id:void 0,pluginName:O.name,sourceType:O.sourceType,sourceValue:O.sourceValue}),U++}catch(Q){let Y=eUq(Q);Z.push(`${O.name}: ${Y}`)}if(U>0)$.stop(X.green(`Added ${y6(U,"plugin")} to ${q.name}`)),g+=U;else $.stop(X.red("Failed to add plugins"));if(Z.length>0)for(let O of Z)c.error(O);let G=await LF({message:"Add more plugins?",initialValue:!1});if(q6(G)||!G)D=!1}return g};var wPA=w(()=>{v6();Mq();S_();Li();Bi();Ri()});var oB=w(()=>{Li();Bi();wPA();Ri()});var tB=null,A1q=(A)=>{let q=A.link.trim(),F=decodeURIComponent(q).split(/[?#]/)[0]??"",g=(F.split("/").filter(Boolean).at(-1)??"").match(/-(\d+)\.jar$/i);if(g)return g[1];let D=A.version.trim(),_=F.split("/").filter(Boolean),j=_.indexOf(D),K=j>=0?_[j+1]??"":"";if(/^\d+$/.test(K))return K;return},q1q=(A,q)=>{let F=q.link.trim();try{let E=new URL(F);if(E.protocol!=="http:"&&E.protocol!=="https:")return F;let g=A.trim();if(g)E.searchParams.set("sc_software",g);let D=q.version.trim();if(D)E.searchParams.set("sc_version",D);let _=A1q(q);if(_)E.searchParams.set("sc_build",_);return E.toString()}catch{return F}},Ci=async()=>{if(tB)return tB;let A=await fetch("https://raw.githubusercontent.com/theSimpleCloud/simplecloud-manifest/refs/heads/main/server_versions.json");if(!A.ok)throw Error(`Failed to fetch server versions: ${A.statusText}`);let q=await A.json();if(!Array.isArray(q))throw Error("Failed to fetch server versions: Invalid manifest");return tB=q,tB},F1q=async(A)=>{return(await Ci()).find((F)=>F.name===A)},CPA=async(A,q,F)=>{let E=await F1q(A);if(!E)return;let g=E.downloadLinks.filter((_)=>_.version===q),D=(F?g.find((_)=>{let j=_.platform?.trim().toLowerCase(),K=_.architecture?.trim().toLowerCase();return j&&K&&`${j}:${K}`===F}):void 0)??g[0];return D?q1q(A,D):void 0};var zE=async()=>{return(await n6()).v0.serverGroupsList()},SPA=async(A)=>{return(await n6()).v0.serverGroupsDelete({server_group_id:A})},zPA=async(A,q)=>{return(await n6()).v0.serverGroupsUpdate({server_group_id:A},q)},E1q=(A)=>{if(A.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i))return{server_group_id:A};return{server_group_name:A}},hPA=async(A)=>{let q=await n6(),F=E1q(A);return q.v0.serverGroupsStartQueueCreate(F)},xPA=async(A)=>{return(await n6()).v0.blueprintsCreate(A)},bPA=async(A)=>{return(await n6()).v0.serverGroupsCreate(A)},kPA=async(A)=>{return(await n6()).v0.serverGroupsPartialUpdate({server_group_id:A},{active:!1})};var D0=w(()=>{s6()});var _0=async()=>{return(await n6()).v0.persistentServersList()},uPA=async(A)=>{return(await n6()).v0.persistentServersDelete({persistent_server_id:A})},vPA=async(A,q)=>{return(await n6()).v0.persistentServersPartialUpdate({persistent_server_id:A},q)},yPA=async(A)=>{return(await n6()).v0.persistentServersCreate(A)},mPA=async(A)=>{return(await n6()).v0.persistentServersPartialUpdate({persistent_server_id:A},{active:!1})};var FQ=w(()=>{s6()});var cPA=async(A,q)=>{return(await n6()).v0.serverhostsRegisterCreate({host_name:A,maximum_memory:q})},dPA=async(A)=>{return(await n6()).v0.serverhostsVerifyCreate({serverhost_id:A})},fPA=async(A,q)=>{let F=await n6();return rU((E)=>F.v0.serverhostsDeactivatePartialUpdate({serverhost_id:A},{deactivated:q},{signal:E}),{operation:"Deactivating serverhost"})},Si=async()=>{return(await n6()).v0.serverhostsList()},sB=null,sU=async(A)=>{if(!A)return"Allocator";if(!sB){sB=new Map;let q=await Si();if(q.data?.serverhosts){for(let F of q.data.serverhosts)if(F.serverhost_id&&F.host_name)sB.set(F.serverhost_id,F.host_name)}}return sB.get(A)||A.substring(0,12)};var UG=w(()=>{s6()});var eB="__custom__",bI="__custom__",zi,oPA,tPA=()=>({scaling_mode:"SLOTS",min_servers:1,max_servers:1,player_threshold:0.75,scale_down:{idle_time:"3m",ignore_players:!0}}),sPA=(A)=>({"start-port":String(A)}),hi=(A,q)=>A.length>0?[...A]:[q],g1q,D1q,_1q,aPA,j1q,K1q,$1q,U1q,nPA=(A,q,F)=>{let E=A.trim().toLowerCase();if(!E)return;let g=E.replace(/[^a-z0-9]/g,""),D=E.split(/[^a-z0-9]+/).filter(Boolean),_=new Set(D);for(let j of q)if(_.has(j))return j;return F.find((j)=>g.includes(j))},ePA=(A,q,F)=>{if(q==="PROXY")return;return A==="group"?nPA(F,j1q,K1q):nPA(F,$1q,U1q)},ANA=(A,q=new Set)=>{let F=A?.trim()??"";if(!F)return"Name is required";if(F.length>50)return"Name must be less than 50 characters";if(!/^[a-zA-Z0-9-_]+$/.test(F))return"Only letters, numbers, hyphens, and underscores allowed";if(q.has(F.toLowerCase()))return"This name is already in use"},qNA=(A)=>{let q=[];for(let F of A.split(",")){let E=F.trim();if(E&&!q.includes(E))q.push(E)}return q},AR=(A,q={})=>{if(!A?.trim())return"Value cannot be empty";let F=Number(A);if(!Number.isInteger(F))return"Please enter a whole number";if(F<(q.min??1))return`Please enter a value of at least ${q.min??1}`;if(q.max!==void 0&&F>q.max)return`Please enter a value no greater than ${q.max}`},FNA=(A)=>AR(A,{min:1,max:65535}),xi=(A,q)=>{if(!A?.trim())return"Value cannot be empty";let F=Number(A);if(!Number.isFinite(F)||F<q)return`Please enter at least ${q} GB`},bi=(A)=>Math.round(Number(A)*1024),ki=(A)=>`${Number((A/1024).toFixed(2))} GB`,ENA=(A)=>A==="PROXY"?D1q:g1q,rPA=(A)=>A?1:0,gNA=(A,q)=>A.filter((F)=>F.type===q&&F.hidden!==!0).sort((F,E)=>{let g=rPA(F.lifecycle)-rPA(E.lifecycle);if(g!==0)return g;return(aPA[F.name.trim().toLowerCase()]??Number.MAX_SAFE_INTEGER)-(aPA[E.name.trim().toLowerCase()]??Number.MAX_SAFE_INTEGER)}),lPA=(A)=>{let q=A.channel?.trim().toUpperCase();if(q)return q==="STABLE"||q==="RECOMMENDED";return!["-rc","-pre","snapshot","-beta","-alpha"].some((F)=>A.version.toLowerCase().includes(F))},ui=(A)=>[...new Set(A.downloadLinks.map((q)=>q.version).filter(Boolean))],DNA=(A)=>{let q=ui(A);if(q.length===0)return"";let F=A.latestVersion?.trim();if(A.name.trim().toLowerCase()==="velocity"&&F&&q.includes(F))return F;let E=A.downloadLinks.find((g)=>g.version===F);if(F&&E&&lPA(E))return F;return A.downloadLinks.find(lPA)?.version||(F&&q.includes(F)?F:q[0]??"")},kI=(A)=>{let q=A.platform?.trim().toLowerCase(),F=A.architecture?.trim().toLowerCase();return q&&F?`${q}:${F}`:""},_NA=(A)=>{let q=A.platform?.trim().toLowerCase(),F=A.architecture?.trim().toLowerCase(),E=q==="darwin"?"macOS":q==="windows"?"Windows":q==="linux"?"Linux":A.platform||"Unknown platform",g=F==="amd64"?"x64 (AMD64)":F==="arm64"?"ARM64":A.architecture||"Unknown architecture";return`${E} \xB7 ${g}`},iPA=(A)=>{let q=A.platform?.trim().toLowerCase(),F=A.architecture?.trim().toLowerCase();return(q==="linux"?0:q==="darwin"?2:q==="windows"?4:6)+(F==="amd64"?0:1)},jNA=(A,q)=>A.downloadLinks.filter((F)=>F.version===q&&Boolean(kI(F))).sort((F,E)=>iPA(F)-iPA(E)),pPA,KNA=(A,q)=>{let F=_1q.filter((E)=>E.type===A);if(q.trim().toLowerCase()==="pumpkin")return F.filter((E)=>pPA.has(E.id));return F.filter((E)=>!pPA.has(E.id))},vi=(A,q,F)=>{let E=q.trim().toLowerCase();if(A==="PROXY")return E;if(E==="pumpkin"){if(F==="velocity")return"pumpkin_velocity";if(F==="bungeecord")return"pumpkin_bungeecord";return"pumpkin_standalone"}if(F==="velocity")return"paper_velocity";if(F==="bungeecord")return"spigot"},yi=(A,q,F)=>{if(A.name.trim().toLowerCase()==="paper"&&q.trim()==="1.8.8")return{kind:"exact",version:8};let E=A.downloadLinks.find((g)=>g.version===q);if(typeof E?.javaMinimum==="number"&&Number.isFinite(E.javaMinimum))return{kind:"minimum",version:E.javaMinimum};if(A.type==="SERVER"){let D=F.find((_)=>_.type==="SERVER"&&_.name.trim().toLowerCase()==="paper")?.downloadLinks.find((_)=>_.version===q)?.javaMinimum;if(typeof D==="number"&&Number.isFinite(D))return{kind:"minimum",version:D}}return{kind:"none"}},mi=(A,q)=>{let F=Number(q);if(!Number.isFinite(F))return!0;if(A.kind==="exact")return F===A.version;if(A.kind==="minimum")return F>=A.version;return!0},$NA=(A,q,F,E=[])=>{let g=yi(A,q,F),D=new Set(zi),_=E.map(String).filter((j)=>D.has(j)).filter((j)=>mi(g,j)).sort((j,K)=>Number(K)-Number(j)).at(0);if(_)return _;if(g.kind!=="none")return String(g.version);return"21"},UNA=(A,q)=>A?{type:"binary",with:{options:[],args:[]}}:{type:"java",with:{version:q,options:["-Dcom.mojang.eula.agree=true"],args:["nogui"]}};var ZNA=w(()=>{zi=["26","25","21","17","11","8"],oPA={SERVER:50000,PROXY:25565},g1q=[{id:"small",name:"Small Server",minMemory:1024,maxMemory:2048,recommendedWhen:(A)=>A<=3},{id:"medium",name:"Medium Server",minMemory:2048,maxMemory:4096,recommendedWhen:(A)=>A>3&&A<=10},{id:"large",name:"Large Server",minMemory:4096,maxMemory:8192,recommendedWhen:(A)=>A>10&&A<=50},{id:"xlarge",name:"Extra Large",minMemory:8192,maxMemory:16384,recommendedWhen:(A)=>A>50}],D1q=[{id:"small",name:"Small Proxy",minMemory:256,maxMemory:512,recommendedWhen:(A)=>A<=20},{id:"medium",name:"Medium Proxy",minMemory:512,maxMemory:1024,recommendedWhen:(A)=>A>20&&A<=100},{id:"large",name:"Large Proxy",minMemory:1024,maxMemory:2048,recommendedWhen:(A)=>A>100}],_1q=[{id:"paper_velocity",displayName:"Paper with Velocity",type:"SERVER",description:"Optimized Paper server configured for Velocity proxy integration"},{id:"spigot",displayName:"Paper/Spigot with BungeeCord",type:"SERVER",description:"Paper/Spigot server configured for BungeeCord proxy network"},{id:"spigot_standalone",displayName:"Paper/Spigot Standalone",type:"SERVER",description:"Independent Paper/Spigot server without proxy integration"},{id:"pumpkin_velocity",displayName:"Pumpkin with Velocity",type:"SERVER",description:"Pumpkin server configured for Velocity forwarding"},{id:"pumpkin_bungeecord",displayName:"Pumpkin with BungeeCord",type:"SERVER",description:"Pumpkin server configured for BungeeCord forwarding"},{id:"pumpkin_standalone",displayName:"Pumpkin Standalone",type:"SERVER",description:"Pumpkin server without proxy forwarding"},{id:"bungeecord",displayName:"BungeeCord",type:"PROXY",description:"BungeeCord proxy configuration"},{id:"velocity",displayName:"Velocity",type:"PROXY",description:"Modern Velocity proxy configuration"},{id:"waterfall",displayName:"Waterfall",type:"PROXY",description:"Waterfall proxy (BungeeCord fork)"}],aPA={velocity:0,bungeecord:1,paper:0,folia:1,fabric:2,vanilla:3,leaf:4,aspaper:5,purpur:6,quilt:7,neoforge:8,windspigot:9,pumpkin:10},j1q=new Set(["build","smp","survival","creative","factions","prison","towny","roleplay","lifesteal","earth","anarchy","vanilla"]),K1q=["citybuild","skyblock","oneblock"],$1q=new Set(["proxy","lobby","hub","bedwars","skywars","duels","minigame","minigames","practice","kitpvp","ffa","uhc","bridge","pvp","bw","sw"]),U1q=["bedwars","skywars","survivalgames","hungergames","murdermystery","thebridge","blocksumo","tntwars"],pPA=new Set(["pumpkin_velocity","pumpkin_bungeecord","pumpkin_standalone"])});var ci,Z1q,qR=(A)=>{if(A instanceof Error)return A.message;if(typeof A==="string")return A;if(A&&typeof A==="object"){let q=A;if(typeof q.error==="string")return q.error;if(typeof q.error==="object")return q.error.error||q.error.message||"Unknown error";if(q.message)return q.message}return"Unknown error"},GNA=(A)=>{if(!A||typeof A!=="object")return;return A.error},G1q=async()=>{let[A,q,F,E]=await Promise.allSettled([zE(),_0(),K$(),Si()]),g=A.status==="fulfilled"?A.value.data?.server_groups??[]:[],D=q.status==="fulfilled"?q.value.data?.persistent_servers??[]:[],_=F.status==="fulfilled"?F.value.data?.blueprints??[]:[],j=E.status==="fulfilled"?E.value?.data?.serverhosts??[]:[];return{existingNames:new Set([...g.map(($)=>$.name?.toLowerCase()),...D.map(($)=>$.name?.toLowerCase()),..._.map(($)=>$.name?.toLowerCase())].filter(($)=>Boolean($))),groups:g,persistentServers:D,blueprints:_,serverhosts:j}},O1q=(A)=>{let q=new Map(A.blueprints.map((g)=>[g.blueprint_id,g])),F=[...A.groups.filter((g)=>g.type==="PROXY"),...A.persistentServers.filter((g)=>g.type==="PROXY")];if(F.length===0)return;let E=new Set;for(let g of F){let D=q.get(g.source?.blueprint)?.server_software?.trim().toLowerCase();if(D==="velocity")E.add("velocity");else if(D==="bungeecord"||D==="waterfall")E.add("bungeecord");else return}return E.size===1?E.values().next().value:void 0},Q1q=(A,q,F)=>{let g=(A==="persistent-server"?q.serverhosts.filter((K)=>K.serverhost_id===F):q.serverhosts.filter((K)=>K.deactivated!==!0)).map((K)=>K.installed_java_versions).filter((K)=>Array.isArray(K));if(g.length===0)return[];let[D,..._]=g;if(!D)return[];let j=_.map((K)=>new Set(K.map(String)));return[...new Set(D.map(String))].filter((K)=>j.every(($)=>$.has(K)))},Y1q=async(A,q)=>{if(!A.hasPreviousSession())return;if(q.autoRetry&&A.getStatus()==="ready"&&A.hasRequiredAnswers()){A.enableSkipMode();return}let F=await A.promptResume();if(F==="cancel")throw Error("Setup cancelled.");if(F==="retry")A.enableSkipMode()},J1q=async(A,q,F)=>{let g=(await A.text({name:"name",message:"Name:",validate:(D)=>ANA(D,F)})).trim();if(q==="group")return g;return g},H1q=async(A)=>await A.select({name:"type",message:"Server type:",initialValue:"SERVER",options:[{value:"PROXY",label:"Proxy",hint:"Routes players to servers"},{value:"SERVER",label:"Server",hint:"Paper, Spigot, etc."}]}),ONA=(A,q)=>{for(let F of q)A.setAnswer(F,void 0)},I1q=(A,q,F)=>{let E=ePA(A,q,F);if(!E)return;if(A==="group"){c.warn(`Servers like ${E} typically involve building and player progression. A persistent server is usually the better fit.`);return}c.warn(`This looks like a scalable game mode (${E}). For names like proxy, lobby, bedwars, or skywars, a server group is usually the better fit.`)},X1q=async(A,q)=>{let F=q.serverhosts.filter((E)=>Boolean(E.serverhost_id)&&E.deactivated!==!0);if(F.length===0){c.warn("No serverhosts available. The persistent server will use auto-allocation.");return}if(F.length===1){let E=F.at(0);if(!E)return;return A.setAnswer("serverhostId",E.serverhost_id,"Serverhost"),c.info(`Serverhost: ${E.host_name||E.serverhost_id||"Unknown"}`),E.serverhost_id}return A.select({name:"serverhostId",message:"Serverhost:",options:F.map((E)=>({value:E.serverhost_id??"",label:E.host_name||E.serverhost_id||"Unknown",hint:"Dedicated host"}))})},M1q=async(A,q,F)=>{let E=await A.select({name:"customSourceType",message:"Source type:",initialValue:"url",options:[{value:"url",label:"Download URL"},{value:"file",label:"Local File"}]}),g=await A.text({name:"serverUrl",message:E==="file"?"File path:":"Server URL:",validate:(U)=>U?.trim()?void 0:"Value cannot be empty"}),D=(await A.text({name:"customSoftwareName",message:"Software name:",validate:(U)=>U?.trim()?void 0:"Software name is required"})).trim(),_=(await A.text({name:"customSoftwareVersion",message:"Software version:",required:!1})).trim(),j=q==="SERVER"?(await A.text({name:"minecraftVersion",message:"Game version:",validate:(U)=>U?.trim()?void 0:"Game version is required"})).trim():"",K=F.find((U)=>U.name.trim().toLowerCase()===D.toLowerCase()),$=K?.isBinary?j||K.latestVersion:j||_;return{serverSoftware:D,minecraftVersion:j,softwareVersion:$,downloadUrl:E==="file"?`file://${g.trim().replace(/^file:\/\//,"")}`:g.trim(),javaVersion:"21",isBinary:K?.isBinary===!0}},P1q=async(A,q,F,E)=>{let g=ui(q);if(g.length===0)throw Error(`No builds are available for ${q.name}.`);let D=g.at(0);if(!D)throw Error(`No builds are available for ${q.name}.`);let _=DNA(q),j=g.length>1?await A.autocomplete({name:"minecraftVersion",message:"Software version:",options:g.map((Z)=>({value:Z,label:Z})),initialValue:_,maxItems:10}):D;A.setAnswer("minecraftVersion",j,"Software version");let K;if(q.isBinary){let Z=jNA(q,j),G=Z.at(0);if(Z.length>1)K=await A.select({name:"binaryTarget",message:"Binary build:",initialValue:G?kI(G):void 0,options:Z.map((O)=>({value:kI(O),label:_NA(O)}))});else if(G)K=kI(G),A.setAnswer("binaryTarget",K,"Binary build")}let $=await CPA(q.name,j,K);if(!$)throw Error(`Selected software version is not available in the manifest (${q.name} ${j}).`);let U="21";if(!q.isBinary){let Z=yi(q,j,F),G=await A.select({name:"javaVersionSelection",message:"Java version:",initialValue:$NA(q,j,F,E),options:[...zi.filter((O)=>mi(Z,O)).map((O)=>({value:O,label:`Java ${O}`})),{value:"custom",label:"Custom"}]});U=G==="custom"?(await A.text({name:"javaVersion",message:"Custom Java version:",validate:(O)=>AR(O)})).trim():G}return{serverSoftware:q.name,minecraftVersion:j,softwareVersion:j,downloadUrl:$,javaVersion:U,isBinary:q.isBinary===!0}},N1q=async(A,q,F,E)=>{let g=gNA(F,q);if(g.length===0)throw Error("No server software available for this type.");let D=A.getAnswer("serverSoftware"),_=await A.select({name:"serverSoftware",message:"Software:",options:[...g.map((K)=>({value:K.name,label:K.name,hint:K.lifecycle==="END_OF_LIFE"?"End of life":K.lifecycle==="DISCONTINUED"?"Discontinued":K.description})),{value:eB,label:"Custom",hint:"Use a download URL or a file on the serverhost"}]});if(typeof D==="string"&&D!==_)ONA(A,["customSourceType","serverUrl","customSoftwareName","customSoftwareVersion","minecraftVersion","binaryTarget","javaVersionSelection","javaVersion","configurator","customConfigurator"]);if(_===eB)return M1q(A,q,F);let j=g.find((K)=>K.name===_);if(!j)throw Error("Selected software not found.");return P1q(A,j,F,E)},L1q=async(A,q,F,E,g)=>{if(q==="PROXY"&&!g){let K=vi(q,F.serverSoftware);if(!K)throw Error("Could not determine proxy configurator.");return A.setAnswer("configurator",K,"Configurator"),K}if(q==="PROXY")return(await A.text({name:"configurator",message:"Configurator:",validate:(K)=>K?.trim()?void 0:"Configurator is required"})).trim();let D=vi(q,F.serverSoftware,E);if(E&&D&&!g)return A.setAnswer("configurator",D,"Configurator"),c.info(`Configurator: ${D} (matched to existing proxy)`),D;let _=KNA(q,F.serverSoftware),j=await A.select({name:"configurator",message:"Configurator:",initialValue:D,options:[..._.map((K)=>({value:K.id,label:K.displayName,hint:K.description})),{value:bI,label:"Custom",hint:"Use a custom configurator name"}]});if(j!==bI)return j;return(await A.text({name:"customConfigurator",message:"Custom configurator name:",validate:(K)=>K?.trim()?void 0:"Configurator is required"})).trim()},V1q=async(A,q)=>{let F=Number(await A.text({name:"maxPlayers",message:"Maximum players:",initialValue:q==="SERVER"?"50":"500",validate:(K)=>AR(K,{min:1,max:q==="SERVER"?200:2000})})),E=ENA(q),g=await A.select({name:"memoryPreset",message:"Memory settings:",options:[...E.map((K)=>({value:K.id,label:K.name,hint:`${ki(K.maxMemory)} max \u2190 ${ki(K.minMemory)} min${K.recommendedWhen(F)?" \u2022 Recommended":""}`})),{value:bI,label:"Custom",hint:"Set your own memory limits"}]});if(g!==bI){let K=E.find(($)=>$.id===g);if(!K)throw Error("Invalid memory preset selected.");return{minMemory:K.minMemory,maxMemory:K.maxMemory,maxPlayers:F}}let D=await A.text({name:"minMemoryGb",message:"Minimum memory (GB):",initialValue:q==="PROXY"?"0.25":"1",validate:(K)=>xi(K,0.25)}),_=bi(D),j=await A.text({name:"maxMemoryGb",message:"Maximum memory (GB):",initialValue:q==="PROXY"?"0.5":"2",validate:(K)=>xi(K,Math.max(0.5,_/1024))});return{minMemory:_,maxMemory:bi(j),maxPlayers:F}},T1q=async(A,q)=>Number(await A.text({name:"startPort",message:"Start port:",initialValue:String(oPA[q]),validate:FNA})),W1q=(A)=>{if(console.log(),console.log(X.bold("Review")),console.log(X.dim(" Name:"),X.cyan(A.name)),console.log(X.dim(" Type:"),A.type==="PROXY"?"Proxy":"Server"),A.kind==="persistent-server")console.log(X.dim(" Host:"),A.serverhostName||"Auto-assign");console.log(X.dim(" Software:"),`${A.software.serverSoftware}${A.software.minecraftVersion?` ${A.software.minecraftVersion}`:""}`),console.log(X.dim(" Configurator:"),A.configurator),console.log(X.dim(" Memory:"),`${A.resources.minMemory}\u2013${A.resources.maxMemory} MB`),console.log(X.dim(" Players:"),`${A.resources.maxPlayers} max`),console.log(X.dim(" Start port:"),A.startPort),console.log(X.dim(" Tags:"),A.tags.length>0?A.tags.join(", "):"None"),console.log(X.dim(" Plugins:"),A.plugins.length>0?A.plugins.map((q)=>q.name).join(", "):"None"),console.log(X.dim(" Activate on creation:"),A.active?"Yes":"No"),console.log()},di=async(A)=>{try{let q=await gG(A);if(q.error)throw q.error;c.success("Blueprint cleaned up")}catch{c.warn(`Could not clean up blueprint ${A}. Please delete it manually.`)}},FR=async(A,q={})=>{let F=Z1q[A],E=await C_(`${A}-create`,{ttl:900000});pZ(X.cyan.bold(F.title)),await Y1q(E,q);let g=IE({indicator:"dots",onCancel:()=>{throw Error("Setup cancelled.")}});g.start("Loading creation options...");let D,_;try{[D,_]=await Promise.all([Ci(),G1q()]),g.stop("Creation options loaded")}catch(y){throw g.stop("Failed to load creation options"),hq(y,"Failed to load creation options"),y}let j=await J1q(E,A,_.existingNames),K=E.getAnswer("type"),$=await H1q(E);if(typeof K==="string"&&K!==$)ONA(E,["serverSoftware","customSourceType","serverUrl","customSoftwareName","customSoftwareVersion","minecraftVersion","binaryTarget","javaVersionSelection","javaVersion","configurator","customConfigurator","maxPlayers","memoryPreset","minMemoryGb","maxMemoryGb","startPort"]);I1q(A,$,j);let U;if(A==="persistent-server")U=await X1q(E,_);let Z=_.serverhosts.find((y)=>y.serverhost_id===U),G=await E.confirm({name:"active",message:"Activate on creation?",initialValue:!0,active:"Yes",inactive:"No"}),O=qNA(await E.text({name:"tags",message:"Tags (comma-separated, optional):",required:!1})),Q=await(async()=>{return await N1q(E,$,D,Q1q(A,_,U))})(),Y=E.getAnswer("serverSoftware")===eB,J=await L1q(E,$,Q,O1q(_),Y),H=await V1q(E,$),L=await E.confirm({name:"addPlugins",message:"Add plugins?",initialValue:!1,active:"Yes",inactive:"No"})?await wi({serverSoftware:Q.serverSoftware}):[],M=await T1q(E,$);if(W1q({kind:A,name:j,type:$,active:G,tags:O,software:Q,configurator:J,resources:H,startPort:M,serverhostName:Z?.host_name,plugins:L}),!await E.confirm({name:"confirmed",message:`Create ${F.noun}?`,initialValue:!0,active:"Create",inactive:"Cancel"})){await E.save(),ug(X.yellow("Creation cancelled"));return}await E.markReady();let W=IE({indicator:"dots",onCancel:async()=>{throw await E.save(),Error("Setup cancelled.")}});W.start("Creating blueprint...");let V;try{V=await xPA({name:j,minecraft_version:Q.minecraftVersion||void 0,server_software:Q.serverSoftware,software_version:Q.softwareVersion||void 0,configurator:J,server_url:Q.downloadUrl,runtime_config:UNA(Q.isBinary,Q.javaVersion),workflow_steps:ci.when.start})}catch(y){throw W.stop("Failed to create blueprint"),Error(`Failed to create blueprint: ${qR(y)}`)}if(V.error)throw W.stop("Failed to create blueprint"),Error(`Failed to create blueprint: ${qR(V.error)}`);let R=V.data?.blueprint_id;if(!R)throw W.stop("Failed to create blueprint"),Error("Failed to create blueprint: No blueprint ID returned.");W.stop(`Blueprint created: ${R}`);let k=IE({indicator:"dots",onCancel:async()=>{throw await di(R),await E.save(),Error("Setup cancelled.")}});k.start(A==="group"?"Creating server group...":"Creating persistent server...");let v=sPA(M),b,m;try{if(A==="group"){let y=await bPA({name:j,type:$,min_memory:H.minMemory,max_memory:H.maxMemory,max_players:H.maxPlayers,active:G,tags:hi(O,j),properties:v,deployment:{strategy:"blacklist",hosts:[]},scaling:tPA(),workflows:ci,source:{type:"blueprint",blueprint:R},plugins:L.map((i)=>({plugin_name:i.name,source_type:i.sourceType,source_value:i.sourceValue})),plugin_collection_ids:[]});b=y.data?.server_group_id,m=GNA(y)}else{let y=await yPA({name:j,type:$,min_memory:H.minMemory,max_memory:H.maxMemory,max_players:H.maxPlayers,active:G,tags:hi(O,j),properties:v,serverhost_id:U,workflows:ci,source:{type:"blueprint",blueprint:R},plugins:L.map((i)=>({plugin_name:i.name,source_type:i.sourceType,source_value:i.sourceValue})),plugin_collection_ids:[]});b=y.data?.persistent_server_id,m=GNA(y)}}catch(y){throw k.stop(`Failed to create ${F.noun}`),await di(R),Error(`Failed to create ${F.noun}: ${qR(y)}`)}if(m||!b){k.stop(`Failed to create ${F.noun}`),await di(R);let y=m?qR(m):`No ${A==="group"?"group":"server"} ID returned`;throw Error(`Failed to create ${F.noun}: ${y}`)}k.stop(`${F.created} created (${G?"active":"inactive"})`),await E.complete(),console.log(),ug(X.green.bold(`${F.created} "${j}" created`)),console.log(X.dim(G?`
|
|
253
|
+
`)),F.forEach((E)=>{let g=E===q,D=g?X.green("\u2192"):" ",_=g?X.bold.green(E):X.white(E),j=A[E],K=j?.orgName?X.cyan(j.orgName):X.gray("no network");if(console.log(`${D} ${_}`),console.log(` Network: ${K}`),j?.installationDir)console.log(` Installation path: ${X.gray(j.installationDir)}`)}),console.log()}catch(A){console.error(X.red(`Failed to list contexts: ${A instanceof Error?A.message:String(A)}`)),process.exit(1)}};var MPA=w(()=>{Mq();sE();TD()});var PPA=async(A)=>{try{if(!(await d.runPromise(d.gen(function*(){return yield*F$()}).pipe(d.provide(oq))))[A])console.error(X.red(`Context "${A}" does not exist.`)),process.exit(1);if(await d.runPromise(d.gen(function*(){return yield*cZ()}).pipe(d.provide(oq)))===A){let E=await C_("context-remove");if(!await E.confirm({name:"confirmRemove",message:`You are currently using context "${A}". Are you sure you want to remove it?`,initialValue:!1})){c.warn("Cancelled."),await E.complete();return}await E.complete()}await d.runPromise(d.gen(function*(){yield*JYA(A)}).pipe(d.provide(oq))),ug(X.green.bold(`Context "${A}" removed`))}catch(q){if(q instanceof Error&&q.message==="Setup cancelled."){c.warn("Cancelled.");return}console.error(X.red(`Failed to remove context: ${q instanceof Error?q.message:String(q)}`)),process.exit(1)}};var NPA=w(()=>{v6();Mq();sE();TD();KG()});var LPA=async(A)=>{try{await d.runPromise(d.gen(function*(){yield*H2(A)}).pipe(d.provide(oq))),ug(X.green.bold(`Current context: ${A}`))}catch(q){console.error(X.red(`Failed to switch context: ${q instanceof Error?q.message:String(q)}`)),process.exit(1)}};var VPA=w(()=>{v6();Mq();sE();TD()});function TPA(A){A.command({command:"context <command>",aliases:["contexts","ctx"],describe:"Manage connection contexts",builder:(q)=>q.command({command:"list",aliases:["ls"],describe:"List all contexts",handler:yA(async()=>{await XPA()})}).command({command:"use <name>",describe:"Switch to a context",builder:(F)=>F.positional("name",{describe:"Context name",type:"string",demandOption:!0}),handler:yA(async(F)=>{await LPA(F.name)})}).command({command:"add [name]",describe:"Add a new context",builder:(F)=>F.positional("name",{describe:"Context name",type:"string"}),handler:yA(async(F)=>{await YPA(F.name)})}).command({command:"remove <name>",aliases:["del","rm"],describe:"Remove a context",builder:(F)=>F.positional("name",{describe:"Context name",type:"string",demandOption:!0}),handler:yA(async(F)=>{await PPA(F.name)})}).command({command:"current",describe:"Show the current context",handler:yA(async()=>{await HPA()})}).demandCommand(1,"You must specify a subcommand"),handler:()=>{}})}var WPA=w(()=>{JPA();IPA();MPA();NPA();VPA();Qg()});var Q7=async(A)=>{return(await n6()).v0.pluginAssignmentsList({server_group_id:A?.serverGroupId,persistent_server_id:A?.persistentServerId})},Ni=async(A)=>{let F=await(await n6()).v0.pluginAssignmentsCreate({server_group_id:A.serverGroupId,persistent_server_id:A.persistentServerId,plugin_id:A.pluginId,plugin_name:A.pluginName,source_type:A.sourceType,source_value:A.sourceValue});if(!F.ok||F.error){let E=F.error,g=E?.error||E?.message||(F.error?JSON.stringify(F.error):`HTTP ${F.status}`);throw Error(g)}return F},hI=async(A)=>{let F=await(await n6()).v0.pluginAssignmentsDelete({assignment_id:A});if(!F.ok||F.error){let E=F.error,g=E?.error||E?.message||(F.error?JSON.stringify(F.error):`HTTP ${F.status}`);throw Error(g)}return F};var Li=w(()=>{s6()});var Vi=async(A)=>{let{query:q,loader:F,limit:E=10,offset:g=0}=A,D=[["project_type:plugin"]];if(F)D.push([`categories:${F}`]);let _=new URLSearchParams({query:q,limit:String(E),offset:String(g),facets:JSON.stringify(D),index:"relevance"}),j=await fetch(`https://api.modrinth.com/v2/search?${_}`,{headers:{"User-Agent":"simplecloud-cli/1.0.0 (https://simplecloud.app)"}});if(!j.ok)throw Error(`Modrinth API error: ${j.status}`);return j.json()},Ti=async(A)=>{let q=await fetch(`https://api.modrinth.com/v2/project/${A}`,{headers:{"User-Agent":"simplecloud-cli/1.0.0 (https://simplecloud.app)"}});if(!q.ok){if(q.status===404)throw Error(`Plugin not found: ${A}`);throw Error(`Modrinth API error: ${q.status}`)}return q.json()},Wi=(A)=>{if(A>=1e6)return`${(A/1e6).toFixed(1)}M`;if(A>=1000)return`${(A/1000).toFixed(1)}K`;return String(A)};var Bi=()=>{};var iUq,pUq,oUq,tUq,sUq,pB=(A)=>{let q=A.trim();for(let g of iUq)if(q.toLowerCase().startsWith(g))return{type:"MODRINTH",value:q.slice(g.length),isSearch:!1};for(let g of pUq)if(q.toLowerCase().startsWith(g))return{type:"SPIGOT",value:q.slice(g.length),isSearch:!1};let F=q.match(tUq);if(F)return{type:"MODRINTH",value:F[1],isSearch:!1};let E=q.match(sUq);if(E)return{type:"SPIGOT",value:E[1],isSearch:!1};if(oUq.test(q))return{type:"URL",value:q,isSearch:!1};return{type:"MODRINTH",value:q,isSearch:!0}};var Ri=w(()=>{iUq=["modrinth:","mr:"],pUq=["spigot:","sp:"],oUq=/^https?:\/\//i,tUq=/^https?:\/\/(?:www\.)?modrinth\.com\/plugin\/([a-zA-Z0-9_-]+)/i,sUq=/^https?:\/\/(?:www\.)?spigotmc\.org\/resources\/[a-zA-Z0-9_-]+\.(\d+)/i});var eUq=(A)=>{if(A instanceof Error)return A.message;if(typeof A==="string")return A;if(typeof A==="object"&&A!==null){let q=A;if(typeof q.error==="string")return q.error;if(typeof q.message==="string")return q.message;if(typeof q.error==="object"&&q.error!==null){let F=q.error;if(typeof F.error==="string")return F.error;if(typeof F.message==="string")return F.message}try{return JSON.stringify(A,null,2)}catch{return"Unknown error (could not serialize)"}}return"Unknown error"},BPA=async(A,q)=>{let F=IE();F.start("Searching Modrinth...");let E;try{let _=await Vi({query:A,loader:q,limit:15});E=_.hits,F.stop(`Found ${_.total_hits} plugins`)}catch(_){throw F.stop("Search failed"),_}if(E.length===0)return c.warn("No plugins found matching your query."),[];let g=E.map((_)=>({value:_.slug,label:`${_.title} ${X.dim(`(${Wi(_.downloads)} downloads)`)}`,hint:_.description.length>60?`${_.description.slice(0,60)}...`:_.description})),D=await gW({message:"Select plugins to add (space to select, enter to confirm):",options:g,required:!1});if(q6(D))return[];return D.flatMap((_)=>{let j=E.find((K)=>K.slug===_);return j?[{name:j.title,sourceType:"MODRINTH",sourceValue:_}]:[]})},RPA=async(A,q)=>{if(A==="MODRINTH"){let F=IE();F.start("Fetching plugin details...");try{let E=await Ti(q);return F.stop(`Found: ${E.title}`),{name:E.title,sourceType:"MODRINTH",sourceValue:E.slug}}catch(E){throw F.stop("Failed to fetch plugin"),E}}return{name:q,sourceType:A,sourceValue:q}},wi=async(A={})=>{let q=A.serverSoftware?A.serverSoftware.toLowerCase():void 0,F=new Map,E=!0;while(E){let g;if(A.initialQuery&&F.size===0)g=A.initialQuery;else{let K=await v3({message:"Enter plugin name, Modrinth slug (mr:name), Spigot ID (sp:123), or URL:",placeholder:"e.g. essentials, mr:luckperms, sp:28140"});if(q6(K)||!K)break;g=String(K)}let D=pB(g),_;if(D.isSearch)_=await BPA(D.value,q);else try{_=[await RPA(D.type,D.value)]}catch(K){c.error(`Failed to resolve plugin: ${K instanceof Error?K.message:"Unknown error"}`);continue}if(_.length===0){let K=await LF({message:"No plugins selected. Try another search?",initialValue:!0});if(q6(K)||!K)break;continue}for(let K of _)F.set(`${K.sourceType}:${K.sourceValue}`,K);let j=await LF({message:"Add more plugins?",initialValue:!1});if(q6(j)||!j)E=!1}return[...F.values()]},xI=async(A)=>{let{target:q,initialQuery:F}=A,E=q.serverSoftware?q.serverSoftware.toLowerCase():void 0,g=0,D=!0;while(D){let _;if(F&&g===0)_=F;else{let O=await v3({message:"Enter plugin name, Modrinth slug (mr:name), Spigot ID (sp:123), or URL:",placeholder:"e.g. essentials, mr:luckperms, sp:28140"});if(q6(O)||!O)break;_=O}let j=pB(_),K=[];if(j.isSearch)K=await BPA(j.value,E);else try{K=[await RPA(j.type,j.value)]}catch(O){c.error(`Failed to resolve plugin: ${O instanceof Error?O.message:"Unknown error"}`);continue}if(K.length===0){let O=await LF({message:"No plugins selected. Try another search?",initialValue:!0});if(q6(O)||!O)break;continue}let $=IE();$.start(`Adding ${y6(K.length,"plugin")}...`);let U=0,Z=[];for(let O of K)try{await Ni({serverGroupId:q.type==="group"?q.id:void 0,persistentServerId:q.type==="persistent-server"?q.id:void 0,pluginName:O.name,sourceType:O.sourceType,sourceValue:O.sourceValue}),U++}catch(Q){let Y=eUq(Q);Z.push(`${O.name}: ${Y}`)}if(U>0)$.stop(X.green(`Added ${y6(U,"plugin")} to ${q.name}`)),g+=U;else $.stop(X.red("Failed to add plugins"));if(Z.length>0)for(let O of Z)c.error(O);let G=await LF({message:"Add more plugins?",initialValue:!1});if(q6(G)||!G)D=!1}return g};var wPA=w(()=>{v6();Mq();S_();Li();Bi();Ri()});var oB=w(()=>{Li();Bi();wPA();Ri()});var tB=null,A1q=(A)=>{let q=A.link.trim(),F=decodeURIComponent(q).split(/[?#]/)[0]??"",g=(F.split("/").filter(Boolean).at(-1)??"").match(/-(\d+)\.jar$/i);if(g)return g[1];let D=A.version.trim(),_=F.split("/").filter(Boolean),j=_.indexOf(D),K=j>=0?_[j+1]??"":"";if(/^\d+$/.test(K))return K;return},q1q=(A,q)=>{let F=q.link.trim();try{let E=new URL(F);if(E.protocol!=="http:"&&E.protocol!=="https:")return F;let g=A.trim();if(g)E.searchParams.set("sc_software",g);let D=q.version.trim();if(D)E.searchParams.set("sc_version",D);let _=A1q(q);if(_)E.searchParams.set("sc_build",_);return E.toString()}catch{return F}},Ci=async()=>{if(tB)return tB;let A=await fetch("https://raw.githubusercontent.com/simplelcoudapp/simplecloud-manifest/refs/heads/main/server_versions.json");if(!A.ok)throw Error(`Failed to fetch server versions: ${A.statusText}`);let q=await A.json();if(!Array.isArray(q))throw Error("Failed to fetch server versions: Invalid manifest");return tB=q,tB},F1q=async(A)=>{return(await Ci()).find((F)=>F.name===A)},CPA=async(A,q,F)=>{let E=await F1q(A);if(!E)return;let g=E.downloadLinks.filter((_)=>_.version===q),D=(F?g.find((_)=>{let j=_.platform?.trim().toLowerCase(),K=_.architecture?.trim().toLowerCase();return j&&K&&`${j}:${K}`===F}):void 0)??g[0];return D?q1q(A,D):void 0};var zE=async()=>{return(await n6()).v0.serverGroupsList()},SPA=async(A)=>{return(await n6()).v0.serverGroupsDelete({server_group_id:A})},zPA=async(A,q)=>{return(await n6()).v0.serverGroupsUpdate({server_group_id:A},q)},E1q=(A)=>{if(A.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i))return{server_group_id:A};return{server_group_name:A}},hPA=async(A)=>{let q=await n6(),F=E1q(A);return q.v0.serverGroupsStartQueueCreate(F)},xPA=async(A)=>{return(await n6()).v0.blueprintsCreate(A)},bPA=async(A)=>{return(await n6()).v0.serverGroupsCreate(A)},kPA=async(A)=>{return(await n6()).v0.serverGroupsPartialUpdate({server_group_id:A},{active:!1})};var D0=w(()=>{s6()});var _0=async()=>{return(await n6()).v0.persistentServersList()},uPA=async(A)=>{return(await n6()).v0.persistentServersDelete({persistent_server_id:A})},vPA=async(A,q)=>{return(await n6()).v0.persistentServersPartialUpdate({persistent_server_id:A},q)},yPA=async(A)=>{return(await n6()).v0.persistentServersCreate(A)},mPA=async(A)=>{return(await n6()).v0.persistentServersPartialUpdate({persistent_server_id:A},{active:!1})};var FQ=w(()=>{s6()});var cPA=async(A,q)=>{return(await n6()).v0.serverhostsRegisterCreate({host_name:A,maximum_memory:q})},dPA=async(A)=>{return(await n6()).v0.serverhostsVerifyCreate({serverhost_id:A})},fPA=async(A,q)=>{let F=await n6();return rU((E)=>F.v0.serverhostsDeactivatePartialUpdate({serverhost_id:A},{deactivated:q},{signal:E}),{operation:"Deactivating serverhost"})},Si=async()=>{return(await n6()).v0.serverhostsList()},sB=null,sU=async(A)=>{if(!A)return"Allocator";if(!sB){sB=new Map;let q=await Si();if(q.data?.serverhosts){for(let F of q.data.serverhosts)if(F.serverhost_id&&F.host_name)sB.set(F.serverhost_id,F.host_name)}}return sB.get(A)||A.substring(0,12)};var UG=w(()=>{s6()});var eB="__custom__",bI="__custom__",zi,oPA,tPA=()=>({scaling_mode:"SLOTS",min_servers:1,max_servers:1,player_threshold:0.75,scale_down:{idle_time:"3m",ignore_players:!0}}),sPA=(A)=>({"start-port":String(A)}),hi=(A,q)=>A.length>0?[...A]:[q],g1q,D1q,_1q,aPA,j1q,K1q,$1q,U1q,nPA=(A,q,F)=>{let E=A.trim().toLowerCase();if(!E)return;let g=E.replace(/[^a-z0-9]/g,""),D=E.split(/[^a-z0-9]+/).filter(Boolean),_=new Set(D);for(let j of q)if(_.has(j))return j;return F.find((j)=>g.includes(j))},ePA=(A,q,F)=>{if(q==="PROXY")return;return A==="group"?nPA(F,j1q,K1q):nPA(F,$1q,U1q)},ANA=(A,q=new Set)=>{let F=A?.trim()??"";if(!F)return"Name is required";if(F.length>50)return"Name must be less than 50 characters";if(!/^[a-zA-Z0-9-_]+$/.test(F))return"Only letters, numbers, hyphens, and underscores allowed";if(q.has(F.toLowerCase()))return"This name is already in use"},qNA=(A)=>{let q=[];for(let F of A.split(",")){let E=F.trim();if(E&&!q.includes(E))q.push(E)}return q},AR=(A,q={})=>{if(!A?.trim())return"Value cannot be empty";let F=Number(A);if(!Number.isInteger(F))return"Please enter a whole number";if(F<(q.min??1))return`Please enter a value of at least ${q.min??1}`;if(q.max!==void 0&&F>q.max)return`Please enter a value no greater than ${q.max}`},FNA=(A)=>AR(A,{min:1,max:65535}),xi=(A,q)=>{if(!A?.trim())return"Value cannot be empty";let F=Number(A);if(!Number.isFinite(F)||F<q)return`Please enter at least ${q} GB`},bi=(A)=>Math.round(Number(A)*1024),ki=(A)=>`${Number((A/1024).toFixed(2))} GB`,ENA=(A)=>A==="PROXY"?D1q:g1q,rPA=(A)=>A?1:0,gNA=(A,q)=>A.filter((F)=>F.type===q&&F.hidden!==!0).sort((F,E)=>{let g=rPA(F.lifecycle)-rPA(E.lifecycle);if(g!==0)return g;return(aPA[F.name.trim().toLowerCase()]??Number.MAX_SAFE_INTEGER)-(aPA[E.name.trim().toLowerCase()]??Number.MAX_SAFE_INTEGER)}),lPA=(A)=>{let q=A.channel?.trim().toUpperCase();if(q)return q==="STABLE"||q==="RECOMMENDED";return!["-rc","-pre","snapshot","-beta","-alpha"].some((F)=>A.version.toLowerCase().includes(F))},ui=(A)=>[...new Set(A.downloadLinks.map((q)=>q.version).filter(Boolean))],DNA=(A)=>{let q=ui(A);if(q.length===0)return"";let F=A.latestVersion?.trim();if(A.name.trim().toLowerCase()==="velocity"&&F&&q.includes(F))return F;let E=A.downloadLinks.find((g)=>g.version===F);if(F&&E&&lPA(E))return F;return A.downloadLinks.find(lPA)?.version||(F&&q.includes(F)?F:q[0]??"")},kI=(A)=>{let q=A.platform?.trim().toLowerCase(),F=A.architecture?.trim().toLowerCase();return q&&F?`${q}:${F}`:""},_NA=(A)=>{let q=A.platform?.trim().toLowerCase(),F=A.architecture?.trim().toLowerCase(),E=q==="darwin"?"macOS":q==="windows"?"Windows":q==="linux"?"Linux":A.platform||"Unknown platform",g=F==="amd64"?"x64 (AMD64)":F==="arm64"?"ARM64":A.architecture||"Unknown architecture";return`${E} \xB7 ${g}`},iPA=(A)=>{let q=A.platform?.trim().toLowerCase(),F=A.architecture?.trim().toLowerCase();return(q==="linux"?0:q==="darwin"?2:q==="windows"?4:6)+(F==="amd64"?0:1)},jNA=(A,q)=>A.downloadLinks.filter((F)=>F.version===q&&Boolean(kI(F))).sort((F,E)=>iPA(F)-iPA(E)),pPA,KNA=(A,q)=>{let F=_1q.filter((E)=>E.type===A);if(q.trim().toLowerCase()==="pumpkin")return F.filter((E)=>pPA.has(E.id));return F.filter((E)=>!pPA.has(E.id))},vi=(A,q,F)=>{let E=q.trim().toLowerCase();if(A==="PROXY")return E;if(E==="pumpkin"){if(F==="velocity")return"pumpkin_velocity";if(F==="bungeecord")return"pumpkin_bungeecord";return"pumpkin_standalone"}if(F==="velocity")return"paper_velocity";if(F==="bungeecord")return"spigot"},yi=(A,q,F)=>{if(A.name.trim().toLowerCase()==="paper"&&q.trim()==="1.8.8")return{kind:"exact",version:8};let E=A.downloadLinks.find((g)=>g.version===q);if(typeof E?.javaMinimum==="number"&&Number.isFinite(E.javaMinimum))return{kind:"minimum",version:E.javaMinimum};if(A.type==="SERVER"){let D=F.find((_)=>_.type==="SERVER"&&_.name.trim().toLowerCase()==="paper")?.downloadLinks.find((_)=>_.version===q)?.javaMinimum;if(typeof D==="number"&&Number.isFinite(D))return{kind:"minimum",version:D}}return{kind:"none"}},mi=(A,q)=>{let F=Number(q);if(!Number.isFinite(F))return!0;if(A.kind==="exact")return F===A.version;if(A.kind==="minimum")return F>=A.version;return!0},$NA=(A,q,F,E=[])=>{let g=yi(A,q,F),D=new Set(zi),_=E.map(String).filter((j)=>D.has(j)).filter((j)=>mi(g,j)).sort((j,K)=>Number(K)-Number(j)).at(0);if(_)return _;if(g.kind!=="none")return String(g.version);return"21"},UNA=(A,q)=>A?{type:"binary",with:{options:[],args:[]}}:{type:"java",with:{version:q,options:["-Dcom.mojang.eula.agree=true"],args:["nogui"]}};var ZNA=w(()=>{zi=["26","25","21","17","11","8"],oPA={SERVER:50000,PROXY:25565},g1q=[{id:"small",name:"Small Server",minMemory:1024,maxMemory:2048,recommendedWhen:(A)=>A<=3},{id:"medium",name:"Medium Server",minMemory:2048,maxMemory:4096,recommendedWhen:(A)=>A>3&&A<=10},{id:"large",name:"Large Server",minMemory:4096,maxMemory:8192,recommendedWhen:(A)=>A>10&&A<=50},{id:"xlarge",name:"Extra Large",minMemory:8192,maxMemory:16384,recommendedWhen:(A)=>A>50}],D1q=[{id:"small",name:"Small Proxy",minMemory:256,maxMemory:512,recommendedWhen:(A)=>A<=20},{id:"medium",name:"Medium Proxy",minMemory:512,maxMemory:1024,recommendedWhen:(A)=>A>20&&A<=100},{id:"large",name:"Large Proxy",minMemory:1024,maxMemory:2048,recommendedWhen:(A)=>A>100}],_1q=[{id:"paper_velocity",displayName:"Paper with Velocity",type:"SERVER",description:"Optimized Paper server configured for Velocity proxy integration"},{id:"spigot",displayName:"Paper/Spigot with BungeeCord",type:"SERVER",description:"Paper/Spigot server configured for BungeeCord proxy network"},{id:"spigot_standalone",displayName:"Paper/Spigot Standalone",type:"SERVER",description:"Independent Paper/Spigot server without proxy integration"},{id:"pumpkin_velocity",displayName:"Pumpkin with Velocity",type:"SERVER",description:"Pumpkin server configured for Velocity forwarding"},{id:"pumpkin_bungeecord",displayName:"Pumpkin with BungeeCord",type:"SERVER",description:"Pumpkin server configured for BungeeCord forwarding"},{id:"pumpkin_standalone",displayName:"Pumpkin Standalone",type:"SERVER",description:"Pumpkin server without proxy forwarding"},{id:"bungeecord",displayName:"BungeeCord",type:"PROXY",description:"BungeeCord proxy configuration"},{id:"velocity",displayName:"Velocity",type:"PROXY",description:"Modern Velocity proxy configuration"},{id:"waterfall",displayName:"Waterfall",type:"PROXY",description:"Waterfall proxy (BungeeCord fork)"}],aPA={velocity:0,bungeecord:1,paper:0,folia:1,fabric:2,vanilla:3,leaf:4,aspaper:5,purpur:6,quilt:7,neoforge:8,windspigot:9,pumpkin:10},j1q=new Set(["build","smp","survival","creative","factions","prison","towny","roleplay","lifesteal","earth","anarchy","vanilla"]),K1q=["citybuild","skyblock","oneblock"],$1q=new Set(["proxy","lobby","hub","bedwars","skywars","duels","minigame","minigames","practice","kitpvp","ffa","uhc","bridge","pvp","bw","sw"]),U1q=["bedwars","skywars","survivalgames","hungergames","murdermystery","thebridge","blocksumo","tntwars"],pPA=new Set(["pumpkin_velocity","pumpkin_bungeecord","pumpkin_standalone"])});var ci,Z1q,qR=(A)=>{if(A instanceof Error)return A.message;if(typeof A==="string")return A;if(A&&typeof A==="object"){let q=A;if(typeof q.error==="string")return q.error;if(typeof q.error==="object")return q.error.error||q.error.message||"Unknown error";if(q.message)return q.message}return"Unknown error"},GNA=(A)=>{if(!A||typeof A!=="object")return;return A.error},G1q=async()=>{let[A,q,F,E]=await Promise.allSettled([zE(),_0(),K$(),Si()]),g=A.status==="fulfilled"?A.value.data?.server_groups??[]:[],D=q.status==="fulfilled"?q.value.data?.persistent_servers??[]:[],_=F.status==="fulfilled"?F.value.data?.blueprints??[]:[],j=E.status==="fulfilled"?E.value?.data?.serverhosts??[]:[];return{existingNames:new Set([...g.map(($)=>$.name?.toLowerCase()),...D.map(($)=>$.name?.toLowerCase()),..._.map(($)=>$.name?.toLowerCase())].filter(($)=>Boolean($))),groups:g,persistentServers:D,blueprints:_,serverhosts:j}},O1q=(A)=>{let q=new Map(A.blueprints.map((g)=>[g.blueprint_id,g])),F=[...A.groups.filter((g)=>g.type==="PROXY"),...A.persistentServers.filter((g)=>g.type==="PROXY")];if(F.length===0)return;let E=new Set;for(let g of F){let D=q.get(g.source?.blueprint)?.server_software?.trim().toLowerCase();if(D==="velocity")E.add("velocity");else if(D==="bungeecord"||D==="waterfall")E.add("bungeecord");else return}return E.size===1?E.values().next().value:void 0},Q1q=(A,q,F)=>{let g=(A==="persistent-server"?q.serverhosts.filter((K)=>K.serverhost_id===F):q.serverhosts.filter((K)=>K.deactivated!==!0)).map((K)=>K.installed_java_versions).filter((K)=>Array.isArray(K));if(g.length===0)return[];let[D,..._]=g;if(!D)return[];let j=_.map((K)=>new Set(K.map(String)));return[...new Set(D.map(String))].filter((K)=>j.every(($)=>$.has(K)))},Y1q=async(A,q)=>{if(!A.hasPreviousSession())return;if(q.autoRetry&&A.getStatus()==="ready"&&A.hasRequiredAnswers()){A.enableSkipMode();return}let F=await A.promptResume();if(F==="cancel")throw Error("Setup cancelled.");if(F==="retry")A.enableSkipMode()},J1q=async(A,q,F)=>{let g=(await A.text({name:"name",message:"Name:",validate:(D)=>ANA(D,F)})).trim();if(q==="group")return g;return g},H1q=async(A)=>await A.select({name:"type",message:"Server type:",initialValue:"SERVER",options:[{value:"PROXY",label:"Proxy",hint:"Routes players to servers"},{value:"SERVER",label:"Server",hint:"Paper, Spigot, etc."}]}),ONA=(A,q)=>{for(let F of q)A.setAnswer(F,void 0)},I1q=(A,q,F)=>{let E=ePA(A,q,F);if(!E)return;if(A==="group"){c.warn(`Servers like ${E} typically involve building and player progression. A persistent server is usually the better fit.`);return}c.warn(`This looks like a scalable game mode (${E}). For names like proxy, lobby, bedwars, or skywars, a server group is usually the better fit.`)},X1q=async(A,q)=>{let F=q.serverhosts.filter((E)=>Boolean(E.serverhost_id)&&E.deactivated!==!0);if(F.length===0){c.warn("No serverhosts available. The persistent server will use auto-allocation.");return}if(F.length===1){let E=F.at(0);if(!E)return;return A.setAnswer("serverhostId",E.serverhost_id,"Serverhost"),c.info(`Serverhost: ${E.host_name||E.serverhost_id||"Unknown"}`),E.serverhost_id}return A.select({name:"serverhostId",message:"Serverhost:",options:F.map((E)=>({value:E.serverhost_id??"",label:E.host_name||E.serverhost_id||"Unknown",hint:"Dedicated host"}))})},M1q=async(A,q,F)=>{let E=await A.select({name:"customSourceType",message:"Source type:",initialValue:"url",options:[{value:"url",label:"Download URL"},{value:"file",label:"Local File"}]}),g=await A.text({name:"serverUrl",message:E==="file"?"File path:":"Server URL:",validate:(U)=>U?.trim()?void 0:"Value cannot be empty"}),D=(await A.text({name:"customSoftwareName",message:"Software name:",validate:(U)=>U?.trim()?void 0:"Software name is required"})).trim(),_=(await A.text({name:"customSoftwareVersion",message:"Software version:",required:!1})).trim(),j=q==="SERVER"?(await A.text({name:"minecraftVersion",message:"Game version:",validate:(U)=>U?.trim()?void 0:"Game version is required"})).trim():"",K=F.find((U)=>U.name.trim().toLowerCase()===D.toLowerCase()),$=K?.isBinary?j||K.latestVersion:j||_;return{serverSoftware:D,minecraftVersion:j,softwareVersion:$,downloadUrl:E==="file"?`file://${g.trim().replace(/^file:\/\//,"")}`:g.trim(),javaVersion:"21",isBinary:K?.isBinary===!0}},P1q=async(A,q,F,E)=>{let g=ui(q);if(g.length===0)throw Error(`No builds are available for ${q.name}.`);let D=g.at(0);if(!D)throw Error(`No builds are available for ${q.name}.`);let _=DNA(q),j=g.length>1?await A.autocomplete({name:"minecraftVersion",message:"Software version:",options:g.map((Z)=>({value:Z,label:Z})),initialValue:_,maxItems:10}):D;A.setAnswer("minecraftVersion",j,"Software version");let K;if(q.isBinary){let Z=jNA(q,j),G=Z.at(0);if(Z.length>1)K=await A.select({name:"binaryTarget",message:"Binary build:",initialValue:G?kI(G):void 0,options:Z.map((O)=>({value:kI(O),label:_NA(O)}))});else if(G)K=kI(G),A.setAnswer("binaryTarget",K,"Binary build")}let $=await CPA(q.name,j,K);if(!$)throw Error(`Selected software version is not available in the manifest (${q.name} ${j}).`);let U="21";if(!q.isBinary){let Z=yi(q,j,F),G=await A.select({name:"javaVersionSelection",message:"Java version:",initialValue:$NA(q,j,F,E),options:[...zi.filter((O)=>mi(Z,O)).map((O)=>({value:O,label:`Java ${O}`})),{value:"custom",label:"Custom"}]});U=G==="custom"?(await A.text({name:"javaVersion",message:"Custom Java version:",validate:(O)=>AR(O)})).trim():G}return{serverSoftware:q.name,minecraftVersion:j,softwareVersion:j,downloadUrl:$,javaVersion:U,isBinary:q.isBinary===!0}},N1q=async(A,q,F,E)=>{let g=gNA(F,q);if(g.length===0)throw Error("No server software available for this type.");let D=A.getAnswer("serverSoftware"),_=await A.select({name:"serverSoftware",message:"Software:",options:[...g.map((K)=>({value:K.name,label:K.name,hint:K.lifecycle==="END_OF_LIFE"?"End of life":K.lifecycle==="DISCONTINUED"?"Discontinued":K.description})),{value:eB,label:"Custom",hint:"Use a download URL or a file on the serverhost"}]});if(typeof D==="string"&&D!==_)ONA(A,["customSourceType","serverUrl","customSoftwareName","customSoftwareVersion","minecraftVersion","binaryTarget","javaVersionSelection","javaVersion","configurator","customConfigurator"]);if(_===eB)return M1q(A,q,F);let j=g.find((K)=>K.name===_);if(!j)throw Error("Selected software not found.");return P1q(A,j,F,E)},L1q=async(A,q,F,E,g)=>{if(q==="PROXY"&&!g){let K=vi(q,F.serverSoftware);if(!K)throw Error("Could not determine proxy configurator.");return A.setAnswer("configurator",K,"Configurator"),K}if(q==="PROXY")return(await A.text({name:"configurator",message:"Configurator:",validate:(K)=>K?.trim()?void 0:"Configurator is required"})).trim();let D=vi(q,F.serverSoftware,E);if(E&&D&&!g)return A.setAnswer("configurator",D,"Configurator"),c.info(`Configurator: ${D} (matched to existing proxy)`),D;let _=KNA(q,F.serverSoftware),j=await A.select({name:"configurator",message:"Configurator:",initialValue:D,options:[..._.map((K)=>({value:K.id,label:K.displayName,hint:K.description})),{value:bI,label:"Custom",hint:"Use a custom configurator name"}]});if(j!==bI)return j;return(await A.text({name:"customConfigurator",message:"Custom configurator name:",validate:(K)=>K?.trim()?void 0:"Configurator is required"})).trim()},V1q=async(A,q)=>{let F=Number(await A.text({name:"maxPlayers",message:"Maximum players:",initialValue:q==="SERVER"?"50":"500",validate:(K)=>AR(K,{min:1,max:q==="SERVER"?200:2000})})),E=ENA(q),g=await A.select({name:"memoryPreset",message:"Memory settings:",options:[...E.map((K)=>({value:K.id,label:K.name,hint:`${ki(K.maxMemory)} max \u2190 ${ki(K.minMemory)} min${K.recommendedWhen(F)?" \u2022 Recommended":""}`})),{value:bI,label:"Custom",hint:"Set your own memory limits"}]});if(g!==bI){let K=E.find(($)=>$.id===g);if(!K)throw Error("Invalid memory preset selected.");return{minMemory:K.minMemory,maxMemory:K.maxMemory,maxPlayers:F}}let D=await A.text({name:"minMemoryGb",message:"Minimum memory (GB):",initialValue:q==="PROXY"?"0.25":"1",validate:(K)=>xi(K,0.25)}),_=bi(D),j=await A.text({name:"maxMemoryGb",message:"Maximum memory (GB):",initialValue:q==="PROXY"?"0.5":"2",validate:(K)=>xi(K,Math.max(0.5,_/1024))});return{minMemory:_,maxMemory:bi(j),maxPlayers:F}},T1q=async(A,q)=>Number(await A.text({name:"startPort",message:"Start port:",initialValue:String(oPA[q]),validate:FNA})),W1q=(A)=>{if(console.log(),console.log(X.bold("Review")),console.log(X.dim(" Name:"),X.cyan(A.name)),console.log(X.dim(" Type:"),A.type==="PROXY"?"Proxy":"Server"),A.kind==="persistent-server")console.log(X.dim(" Host:"),A.serverhostName||"Auto-assign");console.log(X.dim(" Software:"),`${A.software.serverSoftware}${A.software.minecraftVersion?` ${A.software.minecraftVersion}`:""}`),console.log(X.dim(" Configurator:"),A.configurator),console.log(X.dim(" Memory:"),`${A.resources.minMemory}\u2013${A.resources.maxMemory} MB`),console.log(X.dim(" Players:"),`${A.resources.maxPlayers} max`),console.log(X.dim(" Start port:"),A.startPort),console.log(X.dim(" Tags:"),A.tags.length>0?A.tags.join(", "):"None"),console.log(X.dim(" Plugins:"),A.plugins.length>0?A.plugins.map((q)=>q.name).join(", "):"None"),console.log(X.dim(" Activate on creation:"),A.active?"Yes":"No"),console.log()},di=async(A)=>{try{let q=await gG(A);if(q.error)throw q.error;c.success("Blueprint cleaned up")}catch{c.warn(`Could not clean up blueprint ${A}. Please delete it manually.`)}},FR=async(A,q={})=>{let F=Z1q[A],E=await C_(`${A}-create`,{ttl:900000});pZ(X.cyan.bold(F.title)),await Y1q(E,q);let g=IE({indicator:"dots",onCancel:()=>{throw Error("Setup cancelled.")}});g.start("Loading creation options...");let D,_;try{[D,_]=await Promise.all([Ci(),G1q()]),g.stop("Creation options loaded")}catch(y){throw g.stop("Failed to load creation options"),hq(y,"Failed to load creation options"),y}let j=await J1q(E,A,_.existingNames),K=E.getAnswer("type"),$=await H1q(E);if(typeof K==="string"&&K!==$)ONA(E,["serverSoftware","customSourceType","serverUrl","customSoftwareName","customSoftwareVersion","minecraftVersion","binaryTarget","javaVersionSelection","javaVersion","configurator","customConfigurator","maxPlayers","memoryPreset","minMemoryGb","maxMemoryGb","startPort"]);I1q(A,$,j);let U;if(A==="persistent-server")U=await X1q(E,_);let Z=_.serverhosts.find((y)=>y.serverhost_id===U),G=await E.confirm({name:"active",message:"Activate on creation?",initialValue:!0,active:"Yes",inactive:"No"}),O=qNA(await E.text({name:"tags",message:"Tags (comma-separated, optional):",required:!1})),Q=await(async()=>{return await N1q(E,$,D,Q1q(A,_,U))})(),Y=E.getAnswer("serverSoftware")===eB,J=await L1q(E,$,Q,O1q(_),Y),H=await V1q(E,$),L=await E.confirm({name:"addPlugins",message:"Add plugins?",initialValue:!1,active:"Yes",inactive:"No"})?await wi({serverSoftware:Q.serverSoftware}):[],M=await T1q(E,$);if(W1q({kind:A,name:j,type:$,active:G,tags:O,software:Q,configurator:J,resources:H,startPort:M,serverhostName:Z?.host_name,plugins:L}),!await E.confirm({name:"confirmed",message:`Create ${F.noun}?`,initialValue:!0,active:"Create",inactive:"Cancel"})){await E.save(),ug(X.yellow("Creation cancelled"));return}await E.markReady();let W=IE({indicator:"dots",onCancel:async()=>{throw await E.save(),Error("Setup cancelled.")}});W.start("Creating blueprint...");let V;try{V=await xPA({name:j,minecraft_version:Q.minecraftVersion||void 0,server_software:Q.serverSoftware,software_version:Q.softwareVersion||void 0,configurator:J,server_url:Q.downloadUrl,runtime_config:UNA(Q.isBinary,Q.javaVersion),workflow_steps:ci.when.start})}catch(y){throw W.stop("Failed to create blueprint"),Error(`Failed to create blueprint: ${qR(y)}`)}if(V.error)throw W.stop("Failed to create blueprint"),Error(`Failed to create blueprint: ${qR(V.error)}`);let R=V.data?.blueprint_id;if(!R)throw W.stop("Failed to create blueprint"),Error("Failed to create blueprint: No blueprint ID returned.");W.stop(`Blueprint created: ${R}`);let k=IE({indicator:"dots",onCancel:async()=>{throw await di(R),await E.save(),Error("Setup cancelled.")}});k.start(A==="group"?"Creating server group...":"Creating persistent server...");let v=sPA(M),b,m;try{if(A==="group"){let y=await bPA({name:j,type:$,min_memory:H.minMemory,max_memory:H.maxMemory,max_players:H.maxPlayers,active:G,tags:hi(O,j),properties:v,deployment:{strategy:"blacklist",hosts:[]},scaling:tPA(),workflows:ci,source:{type:"blueprint",blueprint:R},plugins:L.map((i)=>({plugin_name:i.name,source_type:i.sourceType,source_value:i.sourceValue})),plugin_collection_ids:[]});b=y.data?.server_group_id,m=GNA(y)}else{let y=await yPA({name:j,type:$,min_memory:H.minMemory,max_memory:H.maxMemory,max_players:H.maxPlayers,active:G,tags:hi(O,j),properties:v,serverhost_id:U,workflows:ci,source:{type:"blueprint",blueprint:R},plugins:L.map((i)=>({plugin_name:i.name,source_type:i.sourceType,source_value:i.sourceValue})),plugin_collection_ids:[]});b=y.data?.persistent_server_id,m=GNA(y)}}catch(y){throw k.stop(`Failed to create ${F.noun}`),await di(R),Error(`Failed to create ${F.noun}: ${qR(y)}`)}if(m||!b){k.stop(`Failed to create ${F.noun}`),await di(R);let y=m?qR(m):`No ${A==="group"?"group":"server"} ID returned`;throw Error(`Failed to create ${F.noun}: ${y}`)}k.stop(`${F.created} created (${G?"active":"inactive"})`),await E.complete(),console.log(),ug(X.green.bold(`${F.created} "${j}" created`)),console.log(X.dim(G?`
|
|
254
254
|
The ${F.noun} starts automatically.
|
|
255
255
|
Run ${X.cyan("simplecloud server list")} to see it.`:`
|
|
256
256
|
The ${F.noun} was created inactive. Activate it when you are ready.`))};var fi=w(()=>{v6();Mq();oB();KG();DG();D0();FQ();UG();qg();ZNA();ci={when:{start:["internal/setup"],stop:["internal/cleanup"]},manual:["default/backup","default/copy-to-template"]},Z1q={group:{noun:"group",title:"Create Server Group",created:"Server group"},"persistent-server":{noun:"server",title:"Create Persistent Server",created:"Persistent server"}}});var QNA=async(A={})=>{await FR("group",A)};var YNA=w(()=>{fi()});var Yg=async(A)=>{let q=await n6();if(A?.server_group_id||A?.serverhost_id||A?.persistent_server_id)return q.v0.serversList({server_group_id:A.server_group_id,serverhost_id:A.serverhost_id,persistent_server_id:A.persistent_server_id});return q.v0.serversList()},ZG=async(A)=>{return(await n6()).v0.serversDelete({server_id:A})},JNA=async(A={})=>{let q=await n6(),F={server_ids:A.server_ids,server_group_ids:A.server_group_ids,persistent_server_ids:A.persistent_server_ids,serverhost_ids:A.serverhost_ids,severities:A.severities,tags:A.tags,search:A.search,from:A.from,to:A.to,limit:A.limit,order:A.order,cursor:A.cursor};return q.v0.metricsLogsQueryCreate(F)},HNA=async(A,q,F)=>{let E=await RI(),g=new URLSearchParams;if(A.server_ids?.length)g.set("server_ids",A.server_ids.join(","));if(A.server_group_ids?.length)g.set("server_group_ids",A.server_group_ids.join(","));if(A.persistent_server_ids?.length)g.set("persistent_server_ids",A.persistent_server_ids.join(","));if(A.serverhost_ids?.length)g.set("serverhost_ids",A.serverhost_ids.join(","));if(A.severities?.length)g.set("severities",A.severities.join(","));if(A.tags?.length)g.set("tags",A.tags.join(","));if(A.search)g.set("search",A.search);let D=`${E.baseURL}/v0/metrics/logs/stream?${g.toString()}`,_=new AbortController;return(async()=>{try{let K=await dZ(D,{headers:{Accept:"text/event-stream","X-Network-ID":E.networkId,"X-Network-Secret":E.networkSecret},signal:_.signal});if(!K.ok)throw Error(`SSE connection failed: ${K.status}`);let $=K.body?.getReader();if(!$)throw Error("No response body");let U=new TextDecoder,Z="";while(!0){let{done:G,value:O}=await $.read();if(G)break;Z+=U.decode(O,{stream:!0});let Q=Z.split(`
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var ECA=Object.create;var{getPrototypeOf:FCA,defineProperty:GB,getOwnPropertyNames:_CA}=Object;var jCA=Object.prototype.hasOwnProperty;function KCA(A){return this[A]}var $CA,UCA,Hg=(A,q,g)=>{var E=A!=null&&typeof A==="object";if(E){var F=q?$CA??=new WeakMap:UCA??=new WeakMap,_=F.get(A);if(_)return _}g=A!=null?ECA(FCA(A)):{};let j=q||!A||!A.__esModule?GB(g,"default",{value:A,enumerable:!0}):g;for(let K of _CA(A))if(!jCA.call(j,K))GB(j,K,{get:KCA.bind(A,K),enumerable:!0});if(E)F.set(A,j);return j};var n=(A,q)=>()=>(q||A((q={exports:{}}).exports,q),q.exports);var ZCA=(A)=>A;function GCA(A,q){this[A]=ZCA.bind(null,q)}var PF=(A,q)=>{for(var g in q)GB(A,g,{get:q[g],enumerable:!0,configurable:!0,set:GCA.bind(q,g)})};var S=(A,q)=>()=>(A&&(q=A(A=0)),q);var UN=(A)=>Promise.all(A),B_=import.meta.require;var QB="0.0.1-beta.
|
|
2
|
+
var ECA=Object.create;var{getPrototypeOf:FCA,defineProperty:GB,getOwnPropertyNames:_CA}=Object;var jCA=Object.prototype.hasOwnProperty;function KCA(A){return this[A]}var $CA,UCA,Hg=(A,q,g)=>{var E=A!=null&&typeof A==="object";if(E){var F=q?$CA??=new WeakMap:UCA??=new WeakMap,_=F.get(A);if(_)return _}g=A!=null?ECA(FCA(A)):{};let j=q||!A||!A.__esModule?GB(g,"default",{value:A,enumerable:!0}):g;for(let K of _CA(A))if(!jCA.call(j,K))GB(j,K,{get:KCA.bind(A,K),enumerable:!0});if(E)F.set(A,j);return j};var n=(A,q)=>()=>(q||A((q={exports:{}}).exports,q),q.exports);var ZCA=(A)=>A;function GCA(A,q){this[A]=ZCA.bind(null,q)}var PF=(A,q)=>{for(var g in q)GB(A,g,{get:q[g],enumerable:!0,configurable:!0,set:GCA.bind(q,g)})};var S=(A,q)=>()=>(A&&(q=A(A=0)),q);var UN=(A)=>Promise.all(A),B_=import.meta.require;var QB="0.0.1-beta.86";var OB=()=>{};function JCA(){let A=new Map;for(let[q,g]of Object.entries(Bg)){for(let[E,F]of Object.entries(g))Bg[E]={open:`\x1B[${F[0]}m`,close:`\x1B[${F[1]}m`},g[E]=Bg[E],A.set(F[0],F[1]);Object.defineProperty(Bg,q,{value:g,enumerable:!1})}return Object.defineProperty(Bg,"codes",{value:A,enumerable:!1}),Bg.color.close="\x1B[39m",Bg.bgColor.close="\x1B[49m",Bg.color.ansi=bs(),Bg.color.ansi256=ys(),Bg.color.ansi16m=vs(),Bg.bgColor.ansi=bs(10),Bg.bgColor.ansi256=ys(10),Bg.bgColor.ansi16m=vs(10),Object.defineProperties(Bg,{rgbToAnsi256:{value(q,g,E){if(q===g&&g===E){if(q<8)return 16;if(q>248)return 231;return Math.round((q-8)/247*24)+232}return 16+36*Math.round(q/255*5)+6*Math.round(g/255*5)+Math.round(E/255*5)},enumerable:!1},hexToRgb:{value(q){let g=/[a-f\d]{6}|[a-f\d]{3}/i.exec(q.toString(16));if(!g)return[0,0,0];let[E]=g;if(E.length===3)E=[...E].map((_)=>_+_).join("");let F=Number.parseInt(E,16);return[F>>16&255,F>>8&255,F&255]},enumerable:!1},hexToAnsi256:{value:(q)=>Bg.rgbToAnsi256(...Bg.hexToRgb(q)),enumerable:!1},ansi256ToAnsi:{value(q){if(q<8)return 30+q;if(q<16)return 90+(q-8);let g,E,F;if(q>=232)g=((q-232)*10+8)/255,E=g,F=g;else{q-=16;let K=q%36;g=Math.floor(q/36)/5,E=Math.floor(K/6)/5,F=K%6/5}let _=Math.max(g,E,F)*2;if(_===0)return 30;let j=30+(Math.round(F)<<2|Math.round(E)<<1|Math.round(g));if(_===2)j+=60;return j},enumerable:!1},rgbToAnsi:{value:(q,g,E)=>Bg.ansi256ToAnsi(Bg.rgbToAnsi256(q,g,E)),enumerable:!1},hexToAnsi:{value:(q)=>Bg.ansi256ToAnsi(Bg.hexToAnsi256(q)),enumerable:!1}}),Bg}var bs=(A=0)=>(q)=>`\x1B[${q+A}m`,ys=(A=0)=>(q)=>`\x1B[${38+A};5;${q}m`,vs=(A=0)=>(q,g,E)=>`\x1B[${38+A};2;${q};${g};${E}m`,Bg,XTq,QCA,YCA,MTq,HCA,tK;var ms=S(()=>{Bg={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]}},XTq=Object.keys(Bg.modifier),QCA=Object.keys(Bg.color),YCA=Object.keys(Bg.bgColor),MTq=[...QCA,...YCA];HCA=JCA(),tK=HCA});import YB from"process";import ICA from"os";import cs from"tty";function UK(A,q=globalThis.Deno?globalThis.Deno.args:YB.argv){let g=A.startsWith("-")?"":A.length===1?"-":"--",E=q.indexOf(g+A),F=q.indexOf("--");return E!==-1&&(F===-1||E<F)}function XCA(){if("FORCE_COLOR"in zg){if(zg.FORCE_COLOR==="true")return 1;if(zg.FORCE_COLOR==="false")return 0;return zg.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(zg.FORCE_COLOR,10),3)}}function MCA(A){if(A===0)return!1;return{level:A,hasBasic:!0,has256:A>=2,has16m:A>=3}}function PCA(A,{streamIsTTY:q,sniffFlags:g=!0}={}){let E=XCA();if(E!==void 0)ZN=E;let F=g?ZN:E;if(F===0)return 0;if(g){if(UK("color=16m")||UK("color=full")||UK("color=truecolor"))return 3;if(UK("color=256"))return 2}if("TF_BUILD"in zg&&"AGENT_NAME"in zg)return 1;if(A&&!q&&F===void 0)return 0;let _=F||0;if(zg.TERM==="dumb")return _;if(YB.platform==="win32"){let j=ICA.release().split(".");if(Number(j[0])>=10&&Number(j[2])>=10586)return Number(j[2])>=14931?3:2;return 1}if("CI"in zg){if(["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some((j)=>(j in zg)))return 3;if(["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((j)=>(j in zg))||zg.CI_NAME==="codeship")return 1;return _}if("TEAMCITY_VERSION"in zg)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(zg.TEAMCITY_VERSION)?1:0;if(zg.COLORTERM==="truecolor")return 3;if(zg.TERM==="xterm-kitty")return 3;if(zg.TERM==="xterm-ghostty")return 3;if(zg.TERM==="wezterm")return 3;if("TERM_PROGRAM"in zg){let j=Number.parseInt((zg.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(zg.TERM_PROGRAM){case"iTerm.app":return j>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(zg.TERM))return 2;if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(zg.TERM))return 1;if("COLORTERM"in zg)return 1;return _}function us(A,q={}){let g=PCA(A,{streamIsTTY:A&&A.isTTY,...q});return MCA(g)}var zg,ZN,LCA,as;var ds=S(()=>{({env:zg}=YB);if(UK("no-color")||UK("no-colors")||UK("color=false")||UK("color=never"))ZN=0;else if(UK("color")||UK("colors")||UK("color=true")||UK("color=always"))ZN=1;LCA={stdout:us({isTTY:cs.isatty(1)}),stderr:us({isTTY:cs.isatty(2)})},as=LCA});function fs(A,q,g){let E=A.indexOf(q);if(E===-1)return A;let F=q.length,_=0,j="";do j+=A.slice(_,E)+q+g,_=E+F,E=A.indexOf(q,_);while(E!==-1);return j+=A.slice(_),j}function rs(A,q,g,E){let F=0,_="";do{let j=A[E-1]==="\r";_+=A.slice(F,j?E-1:E)+q+(j?`\r
|
|
3
3
|
`:`
|
|
4
4
|
`)+g,F=E+1,E=A.indexOf(`
|
|
5
5
|
`,F)}while(E!==-1);return _+=A.slice(F),_}function N7(A){return VCA(A)}var ns,ls,JB,QY,L7,is,YY,NCA=(A,q={})=>{if(q.level&&!(Number.isInteger(q.level)&&q.level>=0&&q.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let g=ns?ns.level:0;A.level=q.level===void 0?g:q.level},VCA=(A)=>{let q=(...g)=>g.join(" ");return NCA(q,A),Object.setPrototypeOf(q,N7.prototype),q},HB=(A,q,g,...E)=>{if(A==="rgb"){if(q==="ansi16m")return tK[g].ansi16m(...E);if(q==="ansi256")return tK[g].ansi256(tK.rgbToAnsi256(...E));return tK[g].ansi(tK.rgbToAnsi(...E))}if(A==="hex")return HB("rgb",q,g,...tK.hexToRgb(...E));return tK[g][A](...E)},TCA,WCA,IB=(A,q,g)=>{let E,F;if(g===void 0)E=A,F=q;else E=g.openAll+A,F=q+g.closeAll;return{open:A,close:q,openAll:E,closeAll:F,parent:g}},GN=(A,q,g)=>{let E=(...F)=>RCA(E,F.length===1?""+F[0]:F.join(" "));return Object.setPrototypeOf(E,WCA),E[JB]=A,E[QY]=q,E[L7]=g,E},RCA=(A,q)=>{if(A.level<=0||!q)return A[L7]?"":q;let g=A[QY];if(g===void 0)return q;let{openAll:E,closeAll:F}=g;if(q.includes("\x1B"))while(g!==void 0)q=fs(q,g.close,g.open),g=g.parent;let _=q.indexOf(`
|
|
@@ -171,7 +171,7 @@ tell application "System Events" to get value of property list item "CFBundleNam
|
|
|
171
171
|
Current context:
|
|
172
172
|
`)),console.log(` Name: ${I.bold.green(A)}`),q.orgName)console.log(` Network: ${I.cyan(q.orgName)}`);if(q.orgSlug)console.log(` Network Slug: ${I.gray(q.orgSlug)}`);if(console.log(` Base URL: ${I.white(q.baseURL)}`),q.installationDir)console.log(` Installation Dir: ${I.white(q.installationDir)}`);console.log()}catch(A){console.error(I.red(`Failed to show current context: ${A instanceof Error?A.message:String(A)}`)),process.exit(1)}};var HPA=S(()=>{Uq();wE();SF()});var IPA=async()=>{try{let A=await m.runPromise(m.gen(function*(){return yield*DU()}).pipe(m.provide(Bq))),q=await m.runPromise(m.gen(function*(){return yield*UO()}).pipe(m.provide(Bq))),g=Object.keys(A);if(g.length===0){console.log(I.yellow("No contexts configured.")),console.log(I.cyan("Run 'simplecloud context add' to create your first context."));return}console.log(I.bold.cyan(`
|
|
173
173
|
Configured contexts:
|
|
174
|
-
`)),g.forEach((E)=>{let F=E===q,_=F?I.green("\u2192"):" ",j=F?I.bold.green(E):I.white(E),K=A[E],$=K?.orgName?I.cyan(K.orgName):I.gray("no network");if(console.log(`${_} ${j}`),console.log(` Network: ${$}`),K?.installationDir)console.log(` Installation path: ${I.gray(K.installationDir)}`)}),console.log()}catch(A){console.error(I.red(`Failed to list contexts: ${A instanceof Error?A.message:String(A)}`)),process.exit(1)}};var XPA=S(()=>{Uq();wE();SF()});var MPA=async(A)=>{try{if(!(await m.runPromise(m.gen(function*(){return yield*DU()}).pipe(m.provide(Bq))))[A])console.error(I.red(`Context "${A}" does not exist.`)),process.exit(1);if(await m.runPromise(m.gen(function*(){return yield*UO()}).pipe(m.provide(Bq)))===A){let E=await _j("context-remove");if(!await E.confirm({name:"confirmRemove",message:`You are currently using context "${A}". Are you sure you want to remove it?`,initialValue:!1})){v.warn("Cancelled."),await E.complete();return}await E.complete()}await m.runPromise(m.gen(function*(){yield*YJA(A)}).pipe(m.provide(Bq))),OF(I.green.bold(`Context "${A}" removed`))}catch(q){if(q instanceof Error&&q.message==="Setup cancelled."){v.warn("Cancelled.");return}console.error(I.red(`Failed to remove context: ${q instanceof Error?q.message:String(q)}`)),process.exit(1)}};var PPA=S(()=>{I6();Uq();wE();SF();BO()});var LPA=async(A)=>{try{await m.runPromise(m.gen(function*(){yield*PH(A)}).pipe(m.provide(Bq))),OF(I.green.bold(`Current context: ${A}`))}catch(q){console.error(I.red(`Failed to switch context: ${q instanceof Error?q.message:String(q)}`)),process.exit(1)}};var NPA=S(()=>{I6();Uq();wE();SF()});function VPA(A){A.command({command:"context <command>",aliases:["contexts","ctx"],describe:"Manage connection contexts",builder:(q)=>q.command({command:"list",aliases:["ls"],describe:"List all contexts",handler:BA(async()=>{await IPA()})}).command({command:"use <name>",describe:"Switch to a context",builder:(g)=>g.positional("name",{describe:"Context name",type:"string",demandOption:!0}),handler:BA(async(g)=>{await LPA(g.name)})}).command({command:"add [name]",describe:"Add a new context",builder:(g)=>g.positional("name",{describe:"Context name",type:"string"}),handler:BA(async(g)=>{await QPA(g.name)})}).command({command:"remove <name>",aliases:["del","rm"],describe:"Remove a context",builder:(g)=>g.positional("name",{describe:"Context name",type:"string",demandOption:!0}),handler:BA(async(g)=>{await MPA(g.name)})}).command({command:"current",describe:"Show the current context",handler:BA(async()=>{await JPA()})}).demandCommand(1,"You must specify a subcommand"),handler:()=>{}})}var TPA=S(()=>{YPA();HPA();XPA();PPA();NPA();fE()});var LQ=async(A)=>{return(await T6()).v0.pluginAssignmentsList({server_group_id:A?.serverGroupId,persistent_server_id:A?.persistentServerId})},$n=async(A)=>{let g=await(await T6()).v0.pluginAssignmentsCreate({server_group_id:A.serverGroupId,persistent_server_id:A.persistentServerId,plugin_id:A.pluginId,plugin_name:A.pluginName,source_type:A.sourceType,source_value:A.sourceValue});if(!g.ok||g.error){let E=g.error,F=E?.error||E?.message||(g.error?JSON.stringify(g.error):`HTTP ${g.status}`);throw Error(F)}return g},RP=async(A)=>{let g=await(await T6()).v0.pluginAssignmentsDelete({assignment_id:A});if(!g.ok||g.error){let E=g.error,F=E?.error||E?.message||(g.error?JSON.stringify(g.error):`HTTP ${g.status}`);throw Error(F)}return g};var Un=S(()=>{z6()});var Zn=async(A)=>{let{query:q,loader:g,limit:E=10,offset:F=0}=A,_=[["project_type:plugin"]];if(g)_.push([`categories:${g}`]);let j=new URLSearchParams({query:q,limit:String(E),offset:String(F),facets:JSON.stringify(_),index:"relevance"}),K=await fetch(`https://api.modrinth.com/v2/search?${j}`,{headers:{"User-Agent":"simplecloud-cli/1.0.0 (https://simplecloud.app)"}});if(!K.ok)throw Error(`Modrinth API error: ${K.status}`);return K.json()},Gn=async(A)=>{let q=await fetch(`https://api.modrinth.com/v2/project/${A}`,{headers:{"User-Agent":"simplecloud-cli/1.0.0 (https://simplecloud.app)"}});if(!q.ok){if(q.status===404)throw Error(`Plugin not found: ${A}`);throw Error(`Modrinth API error: ${q.status}`)}return q.json()},On=(A)=>{if(A>=1e6)return`${(A/1e6).toFixed(1)}M`;if(A>=1000)return`${(A/1000).toFixed(1)}K`;return String(A)};var Qn=()=>{};var zjq,Cjq,xjq,hjq,kjq,T2=(A)=>{let q=A.trim();for(let F of zjq)if(q.toLowerCase().startsWith(F))return{type:"MODRINTH",value:q.slice(F.length),isSearch:!1};for(let F of Cjq)if(q.toLowerCase().startsWith(F))return{type:"SPIGOT",value:q.slice(F.length),isSearch:!1};let g=q.match(hjq);if(g)return{type:"MODRINTH",value:g[1],isSearch:!1};let E=q.match(kjq);if(E)return{type:"SPIGOT",value:E[1],isSearch:!1};if(xjq.test(q))return{type:"URL",value:q,isSearch:!1};return{type:"MODRINTH",value:q,isSearch:!0}};var Yn=S(()=>{zjq=["modrinth:","mr:"],Cjq=["spigot:","sp:"],xjq=/^https?:\/\//i,hjq=/^https?:\/\/(?:www\.)?modrinth\.com\/plugin\/([a-zA-Z0-9_-]+)/i,kjq=/^https?:\/\/(?:www\.)?spigotmc\.org\/resources\/[a-zA-Z0-9_-]+\.(\d+)/i});var bjq=(A)=>{if(A instanceof Error)return A.message;if(typeof A==="string")return A;if(typeof A==="object"&&A!==null){let q=A;if(typeof q.error==="string")return q.error;if(typeof q.message==="string")return q.message;if(typeof q.error==="object"&&q.error!==null){let g=q.error;if(typeof g.error==="string")return g.error;if(typeof g.message==="string")return g.message}try{return JSON.stringify(A,null,2)}catch{return"Unknown error (could not serialize)"}}return"Unknown error"},WPA=async(A,q)=>{let g=pg();g.start("Searching Modrinth...");let E;try{let j=await Zn({query:A,loader:q,limit:15});E=j.hits,g.stop(`Found ${j.total_hits} plugins`)}catch(j){throw g.stop("Search failed"),j}if(E.length===0)return v.warn("No plugins found matching your query."),[];let F=E.map((j)=>({value:j.slug,label:`${j.title} ${I.dim(`(${On(j.downloads)} downloads)`)}`,hint:j.description.length>60?`${j.description.slice(0,60)}...`:j.description})),_=await x5({message:"Select plugins to add (space to select, enter to confirm):",options:F,required:!1});if(hq(_))return[];return _.flatMap((j)=>{let K=E.find(($)=>$.slug===j);return K?[{name:K.title,sourceType:"MODRINTH",sourceValue:j}]:[]})},RPA=async(A,q)=>{if(A==="MODRINTH"){let g=pg();g.start("Fetching plugin details...");try{let E=await Gn(q);return g.stop(`Found: ${E.title}`),{name:E.title,sourceType:"MODRINTH",sourceValue:E.slug}}catch(E){throw g.stop("Failed to fetch plugin"),E}}return{name:q,sourceType:A,sourceValue:q}},Jn=async(A={})=>{let q=A.serverSoftware?A.serverSoftware.toLowerCase():void 0,g=new Map,E=!0;while(E){let F;if(A.initialQuery&&g.size===0)F=A.initialQuery;else{let $=await zM({message:"Enter plugin name, Modrinth slug (mr:name), Spigot ID (sp:123), or URL:",placeholder:"e.g. essentials, mr:luckperms, sp:28140"});if(hq($)||!$)break;F=String($)}let _=T2(F),j;if(_.isSearch)j=await WPA(_.value,q);else try{j=[await RPA(_.type,_.value)]}catch($){v.error(`Failed to resolve plugin: ${$ instanceof Error?$.message:"Unknown error"}`);continue}if(j.length===0){let $=await Eg({message:"No plugins selected. Try another search?",initialValue:!0});if(hq($)||!$)break;continue}for(let $ of j)g.set(`${$.sourceType}:${$.sourceValue}`,$);let K=await Eg({message:"Add more plugins?",initialValue:!1});if(hq(K)||!K)E=!1}return[...g.values()]},DP=async(A)=>{let{target:q,initialQuery:g}=A,E=q.serverSoftware?q.serverSoftware.toLowerCase():void 0,F=0,_=!0;while(_){let j;if(g&&F===0)j=g;else{let Q=await zM({message:"Enter plugin name, Modrinth slug (mr:name), Spigot ID (sp:123), or URL:",placeholder:"e.g. essentials, mr:luckperms, sp:28140"});if(hq(Q)||!Q)break;j=Q}let K=T2(j),$=[];if(K.isSearch)$=await WPA(K.value,E);else try{$=[await RPA(K.type,K.value)]}catch(Q){v.error(`Failed to resolve plugin: ${Q instanceof Error?Q.message:"Unknown error"}`);continue}if($.length===0){let Q=await Eg({message:"No plugins selected. Try another search?",initialValue:!0});if(hq(Q)||!Q)break;continue}let U=pg();U.start(`Adding ${X6($.length,"plugin")}...`);let Z=0,G=[];for(let Q of $)try{await $n({serverGroupId:q.type==="group"?q.id:void 0,persistentServerId:q.type==="persistent-server"?q.id:void 0,pluginName:Q.name,sourceType:Q.sourceType,sourceValue:Q.sourceValue}),Z++}catch(Y){let J=bjq(Y);G.push(`${Q.name}: ${J}`)}if(Z>0)U.stop(I.green(`Added ${X6(Z,"plugin")} to ${q.name}`)),F+=Z;else U.stop(I.red("Failed to add plugins"));if(G.length>0)for(let Q of G)v.error(Q);let O=await Eg({message:"Add more plugins?",initialValue:!1});if(hq(O)||!O)_=!1}return F};var DPA=S(()=>{I6();Uq();pj();Un();Qn();Yn()});var W2=S(()=>{Un();Qn();DPA();Yn()});var R2=null,yjq=(A)=>{let q=A.link.trim(),g=decodeURIComponent(q).split(/[?#]/)[0]??"",F=(g.split("/").filter(Boolean).at(-1)??"").match(/-(\d+)\.jar$/i);if(F)return F[1];let _=A.version.trim(),j=g.split("/").filter(Boolean),K=j.indexOf(_),$=K>=0?j[K+1]??"":"";if(/^\d+$/.test($))return $;return},vjq=(A,q)=>{let g=q.link.trim();try{let E=new URL(g);if(E.protocol!=="http:"&&E.protocol!=="https:")return g;let F=A.trim();if(F)E.searchParams.set("sc_software",F);let _=q.version.trim();if(_)E.searchParams.set("sc_version",_);let j=yjq(q);if(j)E.searchParams.set("sc_build",j);return E.toString()}catch{return g}},Hn=async()=>{if(R2)return R2;let A=await fetch("https://raw.githubusercontent.com/theSimpleCloud/simplecloud-manifest/refs/heads/main/server_versions.json");if(!A.ok)throw Error(`Failed to fetch server versions: ${A.statusText}`);let q=await A.json();if(!Array.isArray(q))throw Error("Failed to fetch server versions: Invalid manifest");return R2=q,R2},mjq=async(A)=>{return(await Hn()).find((g)=>g.name===A)},wPA=async(A,q,g)=>{let E=await mjq(A);if(!E)return;let F=E.downloadLinks.filter((j)=>j.version===q),_=(g?F.find((j)=>{let K=j.platform?.trim().toLowerCase(),$=j.architecture?.trim().toLowerCase();return K&&$&&`${K}:${$}`===g}):void 0)??F[0];return _?vjq(A,_):void 0};var $E=async()=>{return(await T6()).v0.serverGroupsList()},SPA=async(A)=>{return(await T6()).v0.serverGroupsDelete({server_group_id:A})},BPA=async(A,q)=>{return(await T6()).v0.serverGroupsUpdate({server_group_id:A},q)},cjq=(A)=>{if(A.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i))return{server_group_id:A};return{server_group_name:A}},zPA=async(A)=>{let q=await T6(),g=cjq(A);return q.v0.serverGroupsStartQueueCreate(g)},CPA=async(A)=>{return(await T6()).v0.blueprintsCreate(A)},xPA=async(A)=>{return(await T6()).v0.serverGroupsCreate(A)},hPA=async(A)=>{return(await T6()).v0.serverGroupsPartialUpdate({server_group_id:A},{active:!1})};var z$=S(()=>{z6()});var C$=async()=>{return(await T6()).v0.persistentServersList()},kPA=async(A)=>{return(await T6()).v0.persistentServersDelete({persistent_server_id:A})},bPA=async(A,q)=>{return(await T6()).v0.persistentServersPartialUpdate({persistent_server_id:A},q)},yPA=async(A)=>{return(await T6()).v0.persistentServersCreate(A)},vPA=async(A)=>{return(await T6()).v0.persistentServersPartialUpdate({persistent_server_id:A},{active:!1})};var _9=S(()=>{z6()});var mPA=async(A,q)=>{return(await T6()).v0.serverhostsRegisterCreate({host_name:A,maximum_memory:q})},cPA=async(A)=>{return(await T6()).v0.serverhostsVerifyCreate({serverhost_id:A})},uPA=async(A,q)=>{let g=await T6();return MG((E)=>g.v0.serverhostsDeactivatePartialUpdate({serverhost_id:A},{deactivated:q},{signal:E}),{operation:"Deactivating serverhost"})},In=async()=>{return(await T6()).v0.serverhostsList()},D2=null,WG=async(A)=>{if(!A)return"Allocator";if(!D2){D2=new Map;let q=await In();if(q.data?.serverhosts){for(let g of q.data.serverhosts)if(g.serverhost_id&&g.host_name)D2.set(g.serverhost_id,g.host_name)}}return D2.get(A)||A.substring(0,12)};var CO=S(()=>{z6()});var w2="__custom__",wP="__custom__",Xn,iPA,pPA=()=>({scaling_mode:"SLOTS",min_servers:1,max_servers:1,player_threshold:0.75,scale_down:{idle_time:"3m",ignore_players:!0}}),oPA=(A)=>({"start-port":String(A)}),Mn=(A,q)=>A.length>0?[...A]:[q],ujq,ajq,djq,aPA,fjq,rjq,njq,ljq,dPA=(A,q,g)=>{let E=A.trim().toLowerCase();if(!E)return;let F=E.replace(/[^a-z0-9]/g,""),_=E.split(/[^a-z0-9]+/).filter(Boolean),j=new Set(_);for(let K of q)if(j.has(K))return K;return g.find((K)=>F.includes(K))},tPA=(A,q,g)=>{if(q==="PROXY")return;return A==="group"?dPA(g,fjq,rjq):dPA(g,njq,ljq)},sPA=(A,q=new Set)=>{let g=A?.trim()??"";if(!g)return"Name is required";if(g.length>50)return"Name must be less than 50 characters";if(!/^[a-zA-Z0-9-_]+$/.test(g))return"Only letters, numbers, hyphens, and underscores allowed";if(q.has(g.toLowerCase()))return"This name is already in use"},ePA=(A)=>{let q=[];for(let g of A.split(",")){let E=g.trim();if(E&&!q.includes(E))q.push(E)}return q},S2=(A,q={})=>{if(!A?.trim())return"Value cannot be empty";let g=Number(A);if(!Number.isInteger(g))return"Please enter a whole number";if(g<(q.min??1))return`Please enter a value of at least ${q.min??1}`;if(q.max!==void 0&&g>q.max)return`Please enter a value no greater than ${q.max}`},ALA=(A)=>S2(A,{min:1,max:65535}),Pn=(A,q)=>{if(!A?.trim())return"Value cannot be empty";let g=Number(A);if(!Number.isFinite(g)||g<q)return`Please enter at least ${q} GB`},Ln=(A)=>Math.round(Number(A)*1024),Nn=(A)=>`${Number((A/1024).toFixed(2))} GB`,qLA=(A)=>A==="PROXY"?ajq:ujq,fPA=(A)=>A?1:0,gLA=(A,q)=>A.filter((g)=>g.type===q&&g.hidden!==!0).sort((g,E)=>{let F=fPA(g.lifecycle)-fPA(E.lifecycle);if(F!==0)return F;return(aPA[g.name.trim().toLowerCase()]??Number.MAX_SAFE_INTEGER)-(aPA[E.name.trim().toLowerCase()]??Number.MAX_SAFE_INTEGER)}),rPA=(A)=>{let q=A.channel?.trim().toUpperCase();if(q)return q==="STABLE"||q==="RECOMMENDED";return!["-rc","-pre","snapshot","-beta","-alpha"].some((g)=>A.version.toLowerCase().includes(g))},Vn=(A)=>[...new Set(A.downloadLinks.map((q)=>q.version).filter(Boolean))],ELA=(A)=>{let q=Vn(A);if(q.length===0)return"";let g=A.latestVersion?.trim();if(A.name.trim().toLowerCase()==="velocity"&&g&&q.includes(g))return g;let E=A.downloadLinks.find((F)=>F.version===g);if(g&&E&&rPA(E))return g;return A.downloadLinks.find(rPA)?.version||(g&&q.includes(g)?g:q[0]??"")},SP=(A)=>{let q=A.platform?.trim().toLowerCase(),g=A.architecture?.trim().toLowerCase();return q&&g?`${q}:${g}`:""},FLA=(A)=>{let q=A.platform?.trim().toLowerCase(),g=A.architecture?.trim().toLowerCase(),E=q==="darwin"?"macOS":q==="windows"?"Windows":q==="linux"?"Linux":A.platform||"Unknown platform",F=g==="amd64"?"x64 (AMD64)":g==="arm64"?"ARM64":A.architecture||"Unknown architecture";return`${E} \xB7 ${F}`},nPA=(A)=>{let q=A.platform?.trim().toLowerCase(),g=A.architecture?.trim().toLowerCase();return(q==="linux"?0:q==="darwin"?2:q==="windows"?4:6)+(g==="amd64"?0:1)},_LA=(A,q)=>A.downloadLinks.filter((g)=>g.version===q&&Boolean(SP(g))).sort((g,E)=>nPA(g)-nPA(E)),lPA,jLA=(A,q)=>{let g=djq.filter((E)=>E.type===A);if(q.trim().toLowerCase()==="pumpkin")return g.filter((E)=>lPA.has(E.id));return g.filter((E)=>!lPA.has(E.id))},Tn=(A,q,g)=>{let E=q.trim().toLowerCase();if(A==="PROXY")return E;if(E==="pumpkin"){if(g==="velocity")return"pumpkin_velocity";if(g==="bungeecord")return"pumpkin_bungeecord";return"pumpkin_standalone"}if(g==="velocity")return"paper_velocity";if(g==="bungeecord")return"spigot"},Wn=(A,q,g)=>{if(A.name.trim().toLowerCase()==="paper"&&q.trim()==="1.8.8")return{kind:"exact",version:8};let E=A.downloadLinks.find((F)=>F.version===q);if(typeof E?.javaMinimum==="number"&&Number.isFinite(E.javaMinimum))return{kind:"minimum",version:E.javaMinimum};if(A.type==="SERVER"){let _=g.find((j)=>j.type==="SERVER"&&j.name.trim().toLowerCase()==="paper")?.downloadLinks.find((j)=>j.version===q)?.javaMinimum;if(typeof _==="number"&&Number.isFinite(_))return{kind:"minimum",version:_}}return{kind:"none"}},Rn=(A,q)=>{let g=Number(q);if(!Number.isFinite(g))return!0;if(A.kind==="exact")return g===A.version;if(A.kind==="minimum")return g>=A.version;return!0},KLA=(A,q,g,E=[])=>{let F=Wn(A,q,g),_=new Set(Xn),j=E.map(String).filter((K)=>_.has(K)).filter((K)=>Rn(F,K)).sort((K,$)=>Number($)-Number(K)).at(0);if(j)return j;if(F.kind!=="none")return String(F.version);return"21"},$LA=(A,q)=>A?{type:"binary",with:{options:[],args:[]}}:{type:"java",with:{version:q,options:["-Dcom.mojang.eula.agree=true"],args:["nogui"]}};var ULA=S(()=>{Xn=["26","25","21","17","11","8"],iPA={SERVER:50000,PROXY:25565},ujq=[{id:"small",name:"Small Server",minMemory:1024,maxMemory:2048,recommendedWhen:(A)=>A<=3},{id:"medium",name:"Medium Server",minMemory:2048,maxMemory:4096,recommendedWhen:(A)=>A>3&&A<=10},{id:"large",name:"Large Server",minMemory:4096,maxMemory:8192,recommendedWhen:(A)=>A>10&&A<=50},{id:"xlarge",name:"Extra Large",minMemory:8192,maxMemory:16384,recommendedWhen:(A)=>A>50}],ajq=[{id:"small",name:"Small Proxy",minMemory:256,maxMemory:512,recommendedWhen:(A)=>A<=20},{id:"medium",name:"Medium Proxy",minMemory:512,maxMemory:1024,recommendedWhen:(A)=>A>20&&A<=100},{id:"large",name:"Large Proxy",minMemory:1024,maxMemory:2048,recommendedWhen:(A)=>A>100}],djq=[{id:"paper_velocity",displayName:"Paper with Velocity",type:"SERVER",description:"Optimized Paper server configured for Velocity proxy integration"},{id:"spigot",displayName:"Paper/Spigot with BungeeCord",type:"SERVER",description:"Paper/Spigot server configured for BungeeCord proxy network"},{id:"spigot_standalone",displayName:"Paper/Spigot Standalone",type:"SERVER",description:"Independent Paper/Spigot server without proxy integration"},{id:"pumpkin_velocity",displayName:"Pumpkin with Velocity",type:"SERVER",description:"Pumpkin server configured for Velocity forwarding"},{id:"pumpkin_bungeecord",displayName:"Pumpkin with BungeeCord",type:"SERVER",description:"Pumpkin server configured for BungeeCord forwarding"},{id:"pumpkin_standalone",displayName:"Pumpkin Standalone",type:"SERVER",description:"Pumpkin server without proxy forwarding"},{id:"bungeecord",displayName:"BungeeCord",type:"PROXY",description:"BungeeCord proxy configuration"},{id:"velocity",displayName:"Velocity",type:"PROXY",description:"Modern Velocity proxy configuration"},{id:"waterfall",displayName:"Waterfall",type:"PROXY",description:"Waterfall proxy (BungeeCord fork)"}],aPA={velocity:0,bungeecord:1,paper:0,folia:1,fabric:2,vanilla:3,leaf:4,aspaper:5,purpur:6,quilt:7,neoforge:8,windspigot:9,pumpkin:10},fjq=new Set(["build","smp","survival","creative","factions","prison","towny","roleplay","lifesteal","earth","anarchy","vanilla"]),rjq=["citybuild","skyblock","oneblock"],njq=new Set(["proxy","lobby","hub","bedwars","skywars","duels","minigame","minigames","practice","kitpvp","ffa","uhc","bridge","pvp","bw","sw"]),ljq=["bedwars","skywars","survivalgames","hungergames","murdermystery","thebridge","blocksumo","tntwars"],lPA=new Set(["pumpkin_velocity","pumpkin_bungeecord","pumpkin_standalone"])});var Dn,ijq,B2=(A)=>{if(A instanceof Error)return A.message;if(typeof A==="string")return A;if(A&&typeof A==="object"){let q=A;if(typeof q.error==="string")return q.error;if(typeof q.error==="object")return q.error.error||q.error.message||"Unknown error";if(q.message)return q.message}return"Unknown error"},ZLA=(A)=>{if(!A||typeof A!=="object")return;return A.error},pjq=async()=>{let[A,q,g,E]=await Promise.allSettled([$E(),C$(),xU(),In()]),F=A.status==="fulfilled"?A.value.data?.server_groups??[]:[],_=q.status==="fulfilled"?q.value.data?.persistent_servers??[]:[],j=g.status==="fulfilled"?g.value.data?.blueprints??[]:[],K=E.status==="fulfilled"?E.value?.data?.serverhosts??[]:[];return{existingNames:new Set([...F.map((U)=>U.name?.toLowerCase()),..._.map((U)=>U.name?.toLowerCase()),...j.map((U)=>U.name?.toLowerCase())].filter((U)=>Boolean(U))),groups:F,persistentServers:_,blueprints:j,serverhosts:K}},ojq=(A)=>{let q=new Map(A.blueprints.map((F)=>[F.blueprint_id,F])),g=[...A.groups.filter((F)=>F.type==="PROXY"),...A.persistentServers.filter((F)=>F.type==="PROXY")];if(g.length===0)return;let E=new Set;for(let F of g){let _=q.get(F.source?.blueprint)?.server_software?.trim().toLowerCase();if(_==="velocity")E.add("velocity");else if(_==="bungeecord"||_==="waterfall")E.add("bungeecord");else return}return E.size===1?E.values().next().value:void 0},tjq=(A,q,g)=>{let F=(A==="persistent-server"?q.serverhosts.filter(($)=>$.serverhost_id===g):q.serverhosts.filter(($)=>$.deactivated!==!0)).map(($)=>$.installed_java_versions).filter(($)=>Array.isArray($));if(F.length===0)return[];let[_,...j]=F;if(!_)return[];let K=j.map(($)=>new Set($.map(String)));return[...new Set(_.map(String))].filter(($)=>K.every((U)=>U.has($)))},sjq=async(A,q)=>{if(!A.hasPreviousSession())return;if(q.autoRetry&&A.getStatus()==="ready"&&A.hasRequiredAnswers()){A.enableSkipMode();return}let g=await A.promptResume();if(g==="cancel")throw Error("Setup cancelled.");if(g==="retry")A.enableSkipMode()},ejq=async(A,q,g)=>{let F=(await A.text({name:"name",message:"Name:",validate:(_)=>sPA(_,g)})).trim();if(q==="group")return F;return F},AKq=async(A)=>await A.select({name:"type",message:"Server type:",initialValue:"SERVER",options:[{value:"PROXY",label:"Proxy",hint:"Routes players to servers"},{value:"SERVER",label:"Server",hint:"Paper, Spigot, etc."}]}),GLA=(A,q)=>{for(let g of q)A.setAnswer(g,void 0)},qKq=(A,q,g)=>{let E=tPA(A,q,g);if(!E)return;if(A==="group"){v.warn(`Servers like ${E} typically involve building and player progression. A persistent server is usually the better fit.`);return}v.warn(`This looks like a scalable game mode (${E}). For names like proxy, lobby, bedwars, or skywars, a server group is usually the better fit.`)},gKq=async(A,q)=>{let g=q.serverhosts.filter((E)=>Boolean(E.serverhost_id)&&E.deactivated!==!0);if(g.length===0){v.warn("No serverhosts available. The persistent server will use auto-allocation.");return}if(g.length===1){let E=g.at(0);if(!E)return;return A.setAnswer("serverhostId",E.serverhost_id,"Serverhost"),v.info(`Serverhost: ${E.host_name||E.serverhost_id||"Unknown"}`),E.serverhost_id}return A.select({name:"serverhostId",message:"Serverhost:",options:g.map((E)=>({value:E.serverhost_id??"",label:E.host_name||E.serverhost_id||"Unknown",hint:"Dedicated host"}))})},EKq=async(A,q,g)=>{let E=await A.select({name:"customSourceType",message:"Source type:",initialValue:"url",options:[{value:"url",label:"Download URL"},{value:"file",label:"Local File"}]}),F=await A.text({name:"serverUrl",message:E==="file"?"File path:":"Server URL:",validate:(Z)=>Z?.trim()?void 0:"Value cannot be empty"}),_=(await A.text({name:"customSoftwareName",message:"Software name:",validate:(Z)=>Z?.trim()?void 0:"Software name is required"})).trim(),j=(await A.text({name:"customSoftwareVersion",message:"Software version:",required:!1})).trim(),K=q==="SERVER"?(await A.text({name:"minecraftVersion",message:"Game version:",validate:(Z)=>Z?.trim()?void 0:"Game version is required"})).trim():"",$=g.find((Z)=>Z.name.trim().toLowerCase()===_.toLowerCase()),U=$?.isBinary?K||$.latestVersion:K||j;return{serverSoftware:_,minecraftVersion:K,softwareVersion:U,downloadUrl:E==="file"?`file://${F.trim().replace(/^file:\/\//,"")}`:F.trim(),javaVersion:"21",isBinary:$?.isBinary===!0}},FKq=async(A,q,g,E)=>{let F=Vn(q);if(F.length===0)throw Error(`No builds are available for ${q.name}.`);let _=F.at(0);if(!_)throw Error(`No builds are available for ${q.name}.`);let j=ELA(q),K=F.length>1?await A.autocomplete({name:"minecraftVersion",message:"Software version:",options:F.map((G)=>({value:G,label:G})),initialValue:j,maxItems:10}):_;A.setAnswer("minecraftVersion",K,"Software version");let $;if(q.isBinary){let G=_LA(q,K),O=G.at(0);if(G.length>1)$=await A.select({name:"binaryTarget",message:"Binary build:",initialValue:O?SP(O):void 0,options:G.map((Q)=>({value:SP(Q),label:FLA(Q)}))});else if(O)$=SP(O),A.setAnswer("binaryTarget",$,"Binary build")}let U=await wPA(q.name,K,$);if(!U)throw Error(`Selected software version is not available in the manifest (${q.name} ${K}).`);let Z="21";if(!q.isBinary){let G=Wn(q,K,g),O=await A.select({name:"javaVersionSelection",message:"Java version:",initialValue:KLA(q,K,g,E),options:[...Xn.filter((Q)=>Rn(G,Q)).map((Q)=>({value:Q,label:`Java ${Q}`})),{value:"custom",label:"Custom"}]});Z=O==="custom"?(await A.text({name:"javaVersion",message:"Custom Java version:",validate:(Q)=>S2(Q)})).trim():O}return{serverSoftware:q.name,minecraftVersion:K,softwareVersion:K,downloadUrl:U,javaVersion:Z,isBinary:q.isBinary===!0}},_Kq=async(A,q,g,E)=>{let F=gLA(g,q);if(F.length===0)throw Error("No server software available for this type.");let _=A.getAnswer("serverSoftware"),j=await A.select({name:"serverSoftware",message:"Software:",options:[...F.map(($)=>({value:$.name,label:$.name,hint:$.lifecycle==="END_OF_LIFE"?"End of life":$.lifecycle==="DISCONTINUED"?"Discontinued":$.description})),{value:w2,label:"Custom",hint:"Use a download URL or a file on the serverhost"}]});if(typeof _==="string"&&_!==j)GLA(A,["customSourceType","serverUrl","customSoftwareName","customSoftwareVersion","minecraftVersion","binaryTarget","javaVersionSelection","javaVersion","configurator","customConfigurator"]);if(j===w2)return EKq(A,q,g);let K=F.find(($)=>$.name===j);if(!K)throw Error("Selected software not found.");return FKq(A,K,g,E)},jKq=async(A,q,g,E,F)=>{if(q==="PROXY"&&!F){let $=Tn(q,g.serverSoftware);if(!$)throw Error("Could not determine proxy configurator.");return A.setAnswer("configurator",$,"Configurator"),$}if(q==="PROXY")return(await A.text({name:"configurator",message:"Configurator:",validate:($)=>$?.trim()?void 0:"Configurator is required"})).trim();let _=Tn(q,g.serverSoftware,E);if(E&&_&&!F)return A.setAnswer("configurator",_,"Configurator"),v.info(`Configurator: ${_} (matched to existing proxy)`),_;let j=jLA(q,g.serverSoftware),K=await A.select({name:"configurator",message:"Configurator:",initialValue:_,options:[...j.map(($)=>({value:$.id,label:$.displayName,hint:$.description})),{value:wP,label:"Custom",hint:"Use a custom configurator name"}]});if(K!==wP)return K;return(await A.text({name:"customConfigurator",message:"Custom configurator name:",validate:($)=>$?.trim()?void 0:"Configurator is required"})).trim()},KKq=async(A,q)=>{let g=Number(await A.text({name:"maxPlayers",message:"Maximum players:",initialValue:q==="SERVER"?"50":"500",validate:($)=>S2($,{min:1,max:q==="SERVER"?200:2000})})),E=qLA(q),F=await A.select({name:"memoryPreset",message:"Memory settings:",options:[...E.map(($)=>({value:$.id,label:$.name,hint:`${Nn($.maxMemory)} max \u2190 ${Nn($.minMemory)} min${$.recommendedWhen(g)?" \u2022 Recommended":""}`})),{value:wP,label:"Custom",hint:"Set your own memory limits"}]});if(F!==wP){let $=E.find((U)=>U.id===F);if(!$)throw Error("Invalid memory preset selected.");return{minMemory:$.minMemory,maxMemory:$.maxMemory,maxPlayers:g}}let _=await A.text({name:"minMemoryGb",message:"Minimum memory (GB):",initialValue:q==="PROXY"?"0.25":"1",validate:($)=>Pn($,0.25)}),j=Ln(_),K=await A.text({name:"maxMemoryGb",message:"Maximum memory (GB):",initialValue:q==="PROXY"?"0.5":"2",validate:($)=>Pn($,Math.max(0.5,j/1024))});return{minMemory:j,maxMemory:Ln(K),maxPlayers:g}},$Kq=async(A,q)=>Number(await A.text({name:"startPort",message:"Start port:",initialValue:String(iPA[q]),validate:ALA})),UKq=(A)=>{if(console.log(),console.log(I.bold("Review")),console.log(I.dim(" Name:"),I.cyan(A.name)),console.log(I.dim(" Type:"),A.type==="PROXY"?"Proxy":"Server"),A.kind==="persistent-server")console.log(I.dim(" Host:"),A.serverhostName||"Auto-assign");console.log(I.dim(" Software:"),`${A.software.serverSoftware}${A.software.minecraftVersion?` ${A.software.minecraftVersion}`:""}`),console.log(I.dim(" Configurator:"),A.configurator),console.log(I.dim(" Memory:"),`${A.resources.minMemory}\u2013${A.resources.maxMemory} MB`),console.log(I.dim(" Players:"),`${A.resources.maxPlayers} max`),console.log(I.dim(" Start port:"),A.startPort),console.log(I.dim(" Tags:"),A.tags.length>0?A.tags.join(", "):"None"),console.log(I.dim(" Plugins:"),A.plugins.length>0?A.plugins.map((q)=>q.name).join(", "):"None"),console.log(I.dim(" Activate on creation:"),A.active?"Yes":"No"),console.log()},wn=async(A)=>{try{let q=await RO(A);if(q.error)throw q.error;v.success("Blueprint cleaned up")}catch{v.warn(`Could not clean up blueprint ${A}. Please delete it manually.`)}},z2=async(A,q={})=>{let g=ijq[A],E=await _j(`${A}-create`,{ttl:900000});IO(I.cyan.bold(g.title)),await sjq(E,q);let F=pg({indicator:"dots",onCancel:()=>{throw Error("Setup cancelled.")}});F.start("Loading creation options...");let _,j;try{[_,j]=await Promise.all([Hn(),pjq()]),F.stop("Creation options loaded")}catch(u){throw F.stop("Failed to load creation options"),Hq(u,"Failed to load creation options"),u}let K=await ejq(E,A,j.existingNames),$=E.getAnswer("type"),U=await AKq(E);if(typeof $==="string"&&$!==U)GLA(E,["serverSoftware","customSourceType","serverUrl","customSoftwareName","customSoftwareVersion","minecraftVersion","binaryTarget","javaVersionSelection","javaVersion","configurator","customConfigurator","maxPlayers","memoryPreset","minMemoryGb","maxMemoryGb","startPort"]);qKq(A,U,K);let Z;if(A==="persistent-server")Z=await gKq(E,j);let G=j.serverhosts.find((u)=>u.serverhost_id===Z),O=await E.confirm({name:"active",message:"Activate on creation?",initialValue:!0,active:"Yes",inactive:"No"}),Q=ePA(await E.text({name:"tags",message:"Tags (comma-separated, optional):",required:!1})),Y=await(async()=>{return await _Kq(E,U,_,tjq(A,j,Z))})(),J=E.getAnswer("serverSoftware")===w2,X=await jKq(E,U,Y,ojq(j),J),M=await KKq(E,U),N=await E.confirm({name:"addPlugins",message:"Add plugins?",initialValue:!1,active:"Yes",inactive:"No"})?await Jn({serverSoftware:Y.serverSoftware}):[],L=await $Kq(E,U);if(UKq({kind:A,name:K,type:U,active:O,tags:Q,software:Y,configurator:X,resources:M,startPort:L,serverhostName:G?.host_name,plugins:N}),!await E.confirm({name:"confirmed",message:`Create ${g.noun}?`,initialValue:!0,active:"Create",inactive:"Cancel"})){await E.save(),OF(I.yellow("Creation cancelled"));return}await E.markReady();let D=pg({indicator:"dots",onCancel:async()=>{throw await E.save(),Error("Setup cancelled.")}});D.start("Creating blueprint...");let T;try{T=await CPA({name:K,minecraft_version:Y.minecraftVersion||void 0,server_software:Y.serverSoftware,software_version:Y.softwareVersion||void 0,configurator:X,server_url:Y.downloadUrl,runtime_config:$LA(Y.isBinary,Y.javaVersion),workflow_steps:Dn.when.start})}catch(u){throw D.stop("Failed to create blueprint"),Error(`Failed to create blueprint: ${B2(u)}`)}if(T.error)throw D.stop("Failed to create blueprint"),Error(`Failed to create blueprint: ${B2(T.error)}`);let R=T.data?.blueprint_id;if(!R)throw D.stop("Failed to create blueprint"),Error("Failed to create blueprint: No blueprint ID returned.");D.stop(`Blueprint created: ${R}`);let b=pg({indicator:"dots",onCancel:async()=>{throw await wn(R),await E.save(),Error("Setup cancelled.")}});b.start(A==="group"?"Creating server group...":"Creating persistent server...");let k=oPA(L),y,f;try{if(A==="group"){let u=await xPA({name:K,type:U,min_memory:M.minMemory,max_memory:M.maxMemory,max_players:M.maxPlayers,active:O,tags:Mn(Q,K),properties:k,deployment:{strategy:"blacklist",hosts:[]},scaling:pPA(),workflows:Dn,source:{type:"blueprint",blueprint:R},plugins:N.map((gA)=>({plugin_name:gA.name,source_type:gA.sourceType,source_value:gA.sourceValue})),plugin_collection_ids:[]});y=u.data?.server_group_id,f=ZLA(u)}else{let u=await yPA({name:K,type:U,min_memory:M.minMemory,max_memory:M.maxMemory,max_players:M.maxPlayers,active:O,tags:Mn(Q,K),properties:k,serverhost_id:Z,workflows:Dn,source:{type:"blueprint",blueprint:R},plugins:N.map((gA)=>({plugin_name:gA.name,source_type:gA.sourceType,source_value:gA.sourceValue})),plugin_collection_ids:[]});y=u.data?.persistent_server_id,f=ZLA(u)}}catch(u){throw b.stop(`Failed to create ${g.noun}`),await wn(R),Error(`Failed to create ${g.noun}: ${B2(u)}`)}if(f||!y){b.stop(`Failed to create ${g.noun}`),await wn(R);let u=f?B2(f):`No ${A==="group"?"group":"server"} ID returned`;throw Error(`Failed to create ${g.noun}: ${u}`)}b.stop(`${g.created} created (${O?"active":"inactive"})`),await E.complete(),console.log(),OF(I.green.bold(`${g.created} "${K}" created`)),console.log(I.dim(O?`
|
|
174
|
+
`)),g.forEach((E)=>{let F=E===q,_=F?I.green("\u2192"):" ",j=F?I.bold.green(E):I.white(E),K=A[E],$=K?.orgName?I.cyan(K.orgName):I.gray("no network");if(console.log(`${_} ${j}`),console.log(` Network: ${$}`),K?.installationDir)console.log(` Installation path: ${I.gray(K.installationDir)}`)}),console.log()}catch(A){console.error(I.red(`Failed to list contexts: ${A instanceof Error?A.message:String(A)}`)),process.exit(1)}};var XPA=S(()=>{Uq();wE();SF()});var MPA=async(A)=>{try{if(!(await m.runPromise(m.gen(function*(){return yield*DU()}).pipe(m.provide(Bq))))[A])console.error(I.red(`Context "${A}" does not exist.`)),process.exit(1);if(await m.runPromise(m.gen(function*(){return yield*UO()}).pipe(m.provide(Bq)))===A){let E=await _j("context-remove");if(!await E.confirm({name:"confirmRemove",message:`You are currently using context "${A}". Are you sure you want to remove it?`,initialValue:!1})){v.warn("Cancelled."),await E.complete();return}await E.complete()}await m.runPromise(m.gen(function*(){yield*YJA(A)}).pipe(m.provide(Bq))),OF(I.green.bold(`Context "${A}" removed`))}catch(q){if(q instanceof Error&&q.message==="Setup cancelled."){v.warn("Cancelled.");return}console.error(I.red(`Failed to remove context: ${q instanceof Error?q.message:String(q)}`)),process.exit(1)}};var PPA=S(()=>{I6();Uq();wE();SF();BO()});var LPA=async(A)=>{try{await m.runPromise(m.gen(function*(){yield*PH(A)}).pipe(m.provide(Bq))),OF(I.green.bold(`Current context: ${A}`))}catch(q){console.error(I.red(`Failed to switch context: ${q instanceof Error?q.message:String(q)}`)),process.exit(1)}};var NPA=S(()=>{I6();Uq();wE();SF()});function VPA(A){A.command({command:"context <command>",aliases:["contexts","ctx"],describe:"Manage connection contexts",builder:(q)=>q.command({command:"list",aliases:["ls"],describe:"List all contexts",handler:BA(async()=>{await IPA()})}).command({command:"use <name>",describe:"Switch to a context",builder:(g)=>g.positional("name",{describe:"Context name",type:"string",demandOption:!0}),handler:BA(async(g)=>{await LPA(g.name)})}).command({command:"add [name]",describe:"Add a new context",builder:(g)=>g.positional("name",{describe:"Context name",type:"string"}),handler:BA(async(g)=>{await QPA(g.name)})}).command({command:"remove <name>",aliases:["del","rm"],describe:"Remove a context",builder:(g)=>g.positional("name",{describe:"Context name",type:"string",demandOption:!0}),handler:BA(async(g)=>{await MPA(g.name)})}).command({command:"current",describe:"Show the current context",handler:BA(async()=>{await JPA()})}).demandCommand(1,"You must specify a subcommand"),handler:()=>{}})}var TPA=S(()=>{YPA();HPA();XPA();PPA();NPA();fE()});var LQ=async(A)=>{return(await T6()).v0.pluginAssignmentsList({server_group_id:A?.serverGroupId,persistent_server_id:A?.persistentServerId})},$n=async(A)=>{let g=await(await T6()).v0.pluginAssignmentsCreate({server_group_id:A.serverGroupId,persistent_server_id:A.persistentServerId,plugin_id:A.pluginId,plugin_name:A.pluginName,source_type:A.sourceType,source_value:A.sourceValue});if(!g.ok||g.error){let E=g.error,F=E?.error||E?.message||(g.error?JSON.stringify(g.error):`HTTP ${g.status}`);throw Error(F)}return g},RP=async(A)=>{let g=await(await T6()).v0.pluginAssignmentsDelete({assignment_id:A});if(!g.ok||g.error){let E=g.error,F=E?.error||E?.message||(g.error?JSON.stringify(g.error):`HTTP ${g.status}`);throw Error(F)}return g};var Un=S(()=>{z6()});var Zn=async(A)=>{let{query:q,loader:g,limit:E=10,offset:F=0}=A,_=[["project_type:plugin"]];if(g)_.push([`categories:${g}`]);let j=new URLSearchParams({query:q,limit:String(E),offset:String(F),facets:JSON.stringify(_),index:"relevance"}),K=await fetch(`https://api.modrinth.com/v2/search?${j}`,{headers:{"User-Agent":"simplecloud-cli/1.0.0 (https://simplecloud.app)"}});if(!K.ok)throw Error(`Modrinth API error: ${K.status}`);return K.json()},Gn=async(A)=>{let q=await fetch(`https://api.modrinth.com/v2/project/${A}`,{headers:{"User-Agent":"simplecloud-cli/1.0.0 (https://simplecloud.app)"}});if(!q.ok){if(q.status===404)throw Error(`Plugin not found: ${A}`);throw Error(`Modrinth API error: ${q.status}`)}return q.json()},On=(A)=>{if(A>=1e6)return`${(A/1e6).toFixed(1)}M`;if(A>=1000)return`${(A/1000).toFixed(1)}K`;return String(A)};var Qn=()=>{};var zjq,Cjq,xjq,hjq,kjq,T2=(A)=>{let q=A.trim();for(let F of zjq)if(q.toLowerCase().startsWith(F))return{type:"MODRINTH",value:q.slice(F.length),isSearch:!1};for(let F of Cjq)if(q.toLowerCase().startsWith(F))return{type:"SPIGOT",value:q.slice(F.length),isSearch:!1};let g=q.match(hjq);if(g)return{type:"MODRINTH",value:g[1],isSearch:!1};let E=q.match(kjq);if(E)return{type:"SPIGOT",value:E[1],isSearch:!1};if(xjq.test(q))return{type:"URL",value:q,isSearch:!1};return{type:"MODRINTH",value:q,isSearch:!0}};var Yn=S(()=>{zjq=["modrinth:","mr:"],Cjq=["spigot:","sp:"],xjq=/^https?:\/\//i,hjq=/^https?:\/\/(?:www\.)?modrinth\.com\/plugin\/([a-zA-Z0-9_-]+)/i,kjq=/^https?:\/\/(?:www\.)?spigotmc\.org\/resources\/[a-zA-Z0-9_-]+\.(\d+)/i});var bjq=(A)=>{if(A instanceof Error)return A.message;if(typeof A==="string")return A;if(typeof A==="object"&&A!==null){let q=A;if(typeof q.error==="string")return q.error;if(typeof q.message==="string")return q.message;if(typeof q.error==="object"&&q.error!==null){let g=q.error;if(typeof g.error==="string")return g.error;if(typeof g.message==="string")return g.message}try{return JSON.stringify(A,null,2)}catch{return"Unknown error (could not serialize)"}}return"Unknown error"},WPA=async(A,q)=>{let g=pg();g.start("Searching Modrinth...");let E;try{let j=await Zn({query:A,loader:q,limit:15});E=j.hits,g.stop(`Found ${j.total_hits} plugins`)}catch(j){throw g.stop("Search failed"),j}if(E.length===0)return v.warn("No plugins found matching your query."),[];let F=E.map((j)=>({value:j.slug,label:`${j.title} ${I.dim(`(${On(j.downloads)} downloads)`)}`,hint:j.description.length>60?`${j.description.slice(0,60)}...`:j.description})),_=await x5({message:"Select plugins to add (space to select, enter to confirm):",options:F,required:!1});if(hq(_))return[];return _.flatMap((j)=>{let K=E.find(($)=>$.slug===j);return K?[{name:K.title,sourceType:"MODRINTH",sourceValue:j}]:[]})},RPA=async(A,q)=>{if(A==="MODRINTH"){let g=pg();g.start("Fetching plugin details...");try{let E=await Gn(q);return g.stop(`Found: ${E.title}`),{name:E.title,sourceType:"MODRINTH",sourceValue:E.slug}}catch(E){throw g.stop("Failed to fetch plugin"),E}}return{name:q,sourceType:A,sourceValue:q}},Jn=async(A={})=>{let q=A.serverSoftware?A.serverSoftware.toLowerCase():void 0,g=new Map,E=!0;while(E){let F;if(A.initialQuery&&g.size===0)F=A.initialQuery;else{let $=await zM({message:"Enter plugin name, Modrinth slug (mr:name), Spigot ID (sp:123), or URL:",placeholder:"e.g. essentials, mr:luckperms, sp:28140"});if(hq($)||!$)break;F=String($)}let _=T2(F),j;if(_.isSearch)j=await WPA(_.value,q);else try{j=[await RPA(_.type,_.value)]}catch($){v.error(`Failed to resolve plugin: ${$ instanceof Error?$.message:"Unknown error"}`);continue}if(j.length===0){let $=await Eg({message:"No plugins selected. Try another search?",initialValue:!0});if(hq($)||!$)break;continue}for(let $ of j)g.set(`${$.sourceType}:${$.sourceValue}`,$);let K=await Eg({message:"Add more plugins?",initialValue:!1});if(hq(K)||!K)E=!1}return[...g.values()]},DP=async(A)=>{let{target:q,initialQuery:g}=A,E=q.serverSoftware?q.serverSoftware.toLowerCase():void 0,F=0,_=!0;while(_){let j;if(g&&F===0)j=g;else{let Q=await zM({message:"Enter plugin name, Modrinth slug (mr:name), Spigot ID (sp:123), or URL:",placeholder:"e.g. essentials, mr:luckperms, sp:28140"});if(hq(Q)||!Q)break;j=Q}let K=T2(j),$=[];if(K.isSearch)$=await WPA(K.value,E);else try{$=[await RPA(K.type,K.value)]}catch(Q){v.error(`Failed to resolve plugin: ${Q instanceof Error?Q.message:"Unknown error"}`);continue}if($.length===0){let Q=await Eg({message:"No plugins selected. Try another search?",initialValue:!0});if(hq(Q)||!Q)break;continue}let U=pg();U.start(`Adding ${X6($.length,"plugin")}...`);let Z=0,G=[];for(let Q of $)try{await $n({serverGroupId:q.type==="group"?q.id:void 0,persistentServerId:q.type==="persistent-server"?q.id:void 0,pluginName:Q.name,sourceType:Q.sourceType,sourceValue:Q.sourceValue}),Z++}catch(Y){let J=bjq(Y);G.push(`${Q.name}: ${J}`)}if(Z>0)U.stop(I.green(`Added ${X6(Z,"plugin")} to ${q.name}`)),F+=Z;else U.stop(I.red("Failed to add plugins"));if(G.length>0)for(let Q of G)v.error(Q);let O=await Eg({message:"Add more plugins?",initialValue:!1});if(hq(O)||!O)_=!1}return F};var DPA=S(()=>{I6();Uq();pj();Un();Qn();Yn()});var W2=S(()=>{Un();Qn();DPA();Yn()});var R2=null,yjq=(A)=>{let q=A.link.trim(),g=decodeURIComponent(q).split(/[?#]/)[0]??"",F=(g.split("/").filter(Boolean).at(-1)??"").match(/-(\d+)\.jar$/i);if(F)return F[1];let _=A.version.trim(),j=g.split("/").filter(Boolean),K=j.indexOf(_),$=K>=0?j[K+1]??"":"";if(/^\d+$/.test($))return $;return},vjq=(A,q)=>{let g=q.link.trim();try{let E=new URL(g);if(E.protocol!=="http:"&&E.protocol!=="https:")return g;let F=A.trim();if(F)E.searchParams.set("sc_software",F);let _=q.version.trim();if(_)E.searchParams.set("sc_version",_);let j=yjq(q);if(j)E.searchParams.set("sc_build",j);return E.toString()}catch{return g}},Hn=async()=>{if(R2)return R2;let A=await fetch("https://raw.githubusercontent.com/simplelcoudapp/simplecloud-manifest/refs/heads/main/server_versions.json");if(!A.ok)throw Error(`Failed to fetch server versions: ${A.statusText}`);let q=await A.json();if(!Array.isArray(q))throw Error("Failed to fetch server versions: Invalid manifest");return R2=q,R2},mjq=async(A)=>{return(await Hn()).find((g)=>g.name===A)},wPA=async(A,q,g)=>{let E=await mjq(A);if(!E)return;let F=E.downloadLinks.filter((j)=>j.version===q),_=(g?F.find((j)=>{let K=j.platform?.trim().toLowerCase(),$=j.architecture?.trim().toLowerCase();return K&&$&&`${K}:${$}`===g}):void 0)??F[0];return _?vjq(A,_):void 0};var $E=async()=>{return(await T6()).v0.serverGroupsList()},SPA=async(A)=>{return(await T6()).v0.serverGroupsDelete({server_group_id:A})},BPA=async(A,q)=>{return(await T6()).v0.serverGroupsUpdate({server_group_id:A},q)},cjq=(A)=>{if(A.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i))return{server_group_id:A};return{server_group_name:A}},zPA=async(A)=>{let q=await T6(),g=cjq(A);return q.v0.serverGroupsStartQueueCreate(g)},CPA=async(A)=>{return(await T6()).v0.blueprintsCreate(A)},xPA=async(A)=>{return(await T6()).v0.serverGroupsCreate(A)},hPA=async(A)=>{return(await T6()).v0.serverGroupsPartialUpdate({server_group_id:A},{active:!1})};var z$=S(()=>{z6()});var C$=async()=>{return(await T6()).v0.persistentServersList()},kPA=async(A)=>{return(await T6()).v0.persistentServersDelete({persistent_server_id:A})},bPA=async(A,q)=>{return(await T6()).v0.persistentServersPartialUpdate({persistent_server_id:A},q)},yPA=async(A)=>{return(await T6()).v0.persistentServersCreate(A)},vPA=async(A)=>{return(await T6()).v0.persistentServersPartialUpdate({persistent_server_id:A},{active:!1})};var _9=S(()=>{z6()});var mPA=async(A,q)=>{return(await T6()).v0.serverhostsRegisterCreate({host_name:A,maximum_memory:q})},cPA=async(A)=>{return(await T6()).v0.serverhostsVerifyCreate({serverhost_id:A})},uPA=async(A,q)=>{let g=await T6();return MG((E)=>g.v0.serverhostsDeactivatePartialUpdate({serverhost_id:A},{deactivated:q},{signal:E}),{operation:"Deactivating serverhost"})},In=async()=>{return(await T6()).v0.serverhostsList()},D2=null,WG=async(A)=>{if(!A)return"Allocator";if(!D2){D2=new Map;let q=await In();if(q.data?.serverhosts){for(let g of q.data.serverhosts)if(g.serverhost_id&&g.host_name)D2.set(g.serverhost_id,g.host_name)}}return D2.get(A)||A.substring(0,12)};var CO=S(()=>{z6()});var w2="__custom__",wP="__custom__",Xn,iPA,pPA=()=>({scaling_mode:"SLOTS",min_servers:1,max_servers:1,player_threshold:0.75,scale_down:{idle_time:"3m",ignore_players:!0}}),oPA=(A)=>({"start-port":String(A)}),Mn=(A,q)=>A.length>0?[...A]:[q],ujq,ajq,djq,aPA,fjq,rjq,njq,ljq,dPA=(A,q,g)=>{let E=A.trim().toLowerCase();if(!E)return;let F=E.replace(/[^a-z0-9]/g,""),_=E.split(/[^a-z0-9]+/).filter(Boolean),j=new Set(_);for(let K of q)if(j.has(K))return K;return g.find((K)=>F.includes(K))},tPA=(A,q,g)=>{if(q==="PROXY")return;return A==="group"?dPA(g,fjq,rjq):dPA(g,njq,ljq)},sPA=(A,q=new Set)=>{let g=A?.trim()??"";if(!g)return"Name is required";if(g.length>50)return"Name must be less than 50 characters";if(!/^[a-zA-Z0-9-_]+$/.test(g))return"Only letters, numbers, hyphens, and underscores allowed";if(q.has(g.toLowerCase()))return"This name is already in use"},ePA=(A)=>{let q=[];for(let g of A.split(",")){let E=g.trim();if(E&&!q.includes(E))q.push(E)}return q},S2=(A,q={})=>{if(!A?.trim())return"Value cannot be empty";let g=Number(A);if(!Number.isInteger(g))return"Please enter a whole number";if(g<(q.min??1))return`Please enter a value of at least ${q.min??1}`;if(q.max!==void 0&&g>q.max)return`Please enter a value no greater than ${q.max}`},ALA=(A)=>S2(A,{min:1,max:65535}),Pn=(A,q)=>{if(!A?.trim())return"Value cannot be empty";let g=Number(A);if(!Number.isFinite(g)||g<q)return`Please enter at least ${q} GB`},Ln=(A)=>Math.round(Number(A)*1024),Nn=(A)=>`${Number((A/1024).toFixed(2))} GB`,qLA=(A)=>A==="PROXY"?ajq:ujq,fPA=(A)=>A?1:0,gLA=(A,q)=>A.filter((g)=>g.type===q&&g.hidden!==!0).sort((g,E)=>{let F=fPA(g.lifecycle)-fPA(E.lifecycle);if(F!==0)return F;return(aPA[g.name.trim().toLowerCase()]??Number.MAX_SAFE_INTEGER)-(aPA[E.name.trim().toLowerCase()]??Number.MAX_SAFE_INTEGER)}),rPA=(A)=>{let q=A.channel?.trim().toUpperCase();if(q)return q==="STABLE"||q==="RECOMMENDED";return!["-rc","-pre","snapshot","-beta","-alpha"].some((g)=>A.version.toLowerCase().includes(g))},Vn=(A)=>[...new Set(A.downloadLinks.map((q)=>q.version).filter(Boolean))],ELA=(A)=>{let q=Vn(A);if(q.length===0)return"";let g=A.latestVersion?.trim();if(A.name.trim().toLowerCase()==="velocity"&&g&&q.includes(g))return g;let E=A.downloadLinks.find((F)=>F.version===g);if(g&&E&&rPA(E))return g;return A.downloadLinks.find(rPA)?.version||(g&&q.includes(g)?g:q[0]??"")},SP=(A)=>{let q=A.platform?.trim().toLowerCase(),g=A.architecture?.trim().toLowerCase();return q&&g?`${q}:${g}`:""},FLA=(A)=>{let q=A.platform?.trim().toLowerCase(),g=A.architecture?.trim().toLowerCase(),E=q==="darwin"?"macOS":q==="windows"?"Windows":q==="linux"?"Linux":A.platform||"Unknown platform",F=g==="amd64"?"x64 (AMD64)":g==="arm64"?"ARM64":A.architecture||"Unknown architecture";return`${E} \xB7 ${F}`},nPA=(A)=>{let q=A.platform?.trim().toLowerCase(),g=A.architecture?.trim().toLowerCase();return(q==="linux"?0:q==="darwin"?2:q==="windows"?4:6)+(g==="amd64"?0:1)},_LA=(A,q)=>A.downloadLinks.filter((g)=>g.version===q&&Boolean(SP(g))).sort((g,E)=>nPA(g)-nPA(E)),lPA,jLA=(A,q)=>{let g=djq.filter((E)=>E.type===A);if(q.trim().toLowerCase()==="pumpkin")return g.filter((E)=>lPA.has(E.id));return g.filter((E)=>!lPA.has(E.id))},Tn=(A,q,g)=>{let E=q.trim().toLowerCase();if(A==="PROXY")return E;if(E==="pumpkin"){if(g==="velocity")return"pumpkin_velocity";if(g==="bungeecord")return"pumpkin_bungeecord";return"pumpkin_standalone"}if(g==="velocity")return"paper_velocity";if(g==="bungeecord")return"spigot"},Wn=(A,q,g)=>{if(A.name.trim().toLowerCase()==="paper"&&q.trim()==="1.8.8")return{kind:"exact",version:8};let E=A.downloadLinks.find((F)=>F.version===q);if(typeof E?.javaMinimum==="number"&&Number.isFinite(E.javaMinimum))return{kind:"minimum",version:E.javaMinimum};if(A.type==="SERVER"){let _=g.find((j)=>j.type==="SERVER"&&j.name.trim().toLowerCase()==="paper")?.downloadLinks.find((j)=>j.version===q)?.javaMinimum;if(typeof _==="number"&&Number.isFinite(_))return{kind:"minimum",version:_}}return{kind:"none"}},Rn=(A,q)=>{let g=Number(q);if(!Number.isFinite(g))return!0;if(A.kind==="exact")return g===A.version;if(A.kind==="minimum")return g>=A.version;return!0},KLA=(A,q,g,E=[])=>{let F=Wn(A,q,g),_=new Set(Xn),j=E.map(String).filter((K)=>_.has(K)).filter((K)=>Rn(F,K)).sort((K,$)=>Number($)-Number(K)).at(0);if(j)return j;if(F.kind!=="none")return String(F.version);return"21"},$LA=(A,q)=>A?{type:"binary",with:{options:[],args:[]}}:{type:"java",with:{version:q,options:["-Dcom.mojang.eula.agree=true"],args:["nogui"]}};var ULA=S(()=>{Xn=["26","25","21","17","11","8"],iPA={SERVER:50000,PROXY:25565},ujq=[{id:"small",name:"Small Server",minMemory:1024,maxMemory:2048,recommendedWhen:(A)=>A<=3},{id:"medium",name:"Medium Server",minMemory:2048,maxMemory:4096,recommendedWhen:(A)=>A>3&&A<=10},{id:"large",name:"Large Server",minMemory:4096,maxMemory:8192,recommendedWhen:(A)=>A>10&&A<=50},{id:"xlarge",name:"Extra Large",minMemory:8192,maxMemory:16384,recommendedWhen:(A)=>A>50}],ajq=[{id:"small",name:"Small Proxy",minMemory:256,maxMemory:512,recommendedWhen:(A)=>A<=20},{id:"medium",name:"Medium Proxy",minMemory:512,maxMemory:1024,recommendedWhen:(A)=>A>20&&A<=100},{id:"large",name:"Large Proxy",minMemory:1024,maxMemory:2048,recommendedWhen:(A)=>A>100}],djq=[{id:"paper_velocity",displayName:"Paper with Velocity",type:"SERVER",description:"Optimized Paper server configured for Velocity proxy integration"},{id:"spigot",displayName:"Paper/Spigot with BungeeCord",type:"SERVER",description:"Paper/Spigot server configured for BungeeCord proxy network"},{id:"spigot_standalone",displayName:"Paper/Spigot Standalone",type:"SERVER",description:"Independent Paper/Spigot server without proxy integration"},{id:"pumpkin_velocity",displayName:"Pumpkin with Velocity",type:"SERVER",description:"Pumpkin server configured for Velocity forwarding"},{id:"pumpkin_bungeecord",displayName:"Pumpkin with BungeeCord",type:"SERVER",description:"Pumpkin server configured for BungeeCord forwarding"},{id:"pumpkin_standalone",displayName:"Pumpkin Standalone",type:"SERVER",description:"Pumpkin server without proxy forwarding"},{id:"bungeecord",displayName:"BungeeCord",type:"PROXY",description:"BungeeCord proxy configuration"},{id:"velocity",displayName:"Velocity",type:"PROXY",description:"Modern Velocity proxy configuration"},{id:"waterfall",displayName:"Waterfall",type:"PROXY",description:"Waterfall proxy (BungeeCord fork)"}],aPA={velocity:0,bungeecord:1,paper:0,folia:1,fabric:2,vanilla:3,leaf:4,aspaper:5,purpur:6,quilt:7,neoforge:8,windspigot:9,pumpkin:10},fjq=new Set(["build","smp","survival","creative","factions","prison","towny","roleplay","lifesteal","earth","anarchy","vanilla"]),rjq=["citybuild","skyblock","oneblock"],njq=new Set(["proxy","lobby","hub","bedwars","skywars","duels","minigame","minigames","practice","kitpvp","ffa","uhc","bridge","pvp","bw","sw"]),ljq=["bedwars","skywars","survivalgames","hungergames","murdermystery","thebridge","blocksumo","tntwars"],lPA=new Set(["pumpkin_velocity","pumpkin_bungeecord","pumpkin_standalone"])});var Dn,ijq,B2=(A)=>{if(A instanceof Error)return A.message;if(typeof A==="string")return A;if(A&&typeof A==="object"){let q=A;if(typeof q.error==="string")return q.error;if(typeof q.error==="object")return q.error.error||q.error.message||"Unknown error";if(q.message)return q.message}return"Unknown error"},ZLA=(A)=>{if(!A||typeof A!=="object")return;return A.error},pjq=async()=>{let[A,q,g,E]=await Promise.allSettled([$E(),C$(),xU(),In()]),F=A.status==="fulfilled"?A.value.data?.server_groups??[]:[],_=q.status==="fulfilled"?q.value.data?.persistent_servers??[]:[],j=g.status==="fulfilled"?g.value.data?.blueprints??[]:[],K=E.status==="fulfilled"?E.value?.data?.serverhosts??[]:[];return{existingNames:new Set([...F.map((U)=>U.name?.toLowerCase()),..._.map((U)=>U.name?.toLowerCase()),...j.map((U)=>U.name?.toLowerCase())].filter((U)=>Boolean(U))),groups:F,persistentServers:_,blueprints:j,serverhosts:K}},ojq=(A)=>{let q=new Map(A.blueprints.map((F)=>[F.blueprint_id,F])),g=[...A.groups.filter((F)=>F.type==="PROXY"),...A.persistentServers.filter((F)=>F.type==="PROXY")];if(g.length===0)return;let E=new Set;for(let F of g){let _=q.get(F.source?.blueprint)?.server_software?.trim().toLowerCase();if(_==="velocity")E.add("velocity");else if(_==="bungeecord"||_==="waterfall")E.add("bungeecord");else return}return E.size===1?E.values().next().value:void 0},tjq=(A,q,g)=>{let F=(A==="persistent-server"?q.serverhosts.filter(($)=>$.serverhost_id===g):q.serverhosts.filter(($)=>$.deactivated!==!0)).map(($)=>$.installed_java_versions).filter(($)=>Array.isArray($));if(F.length===0)return[];let[_,...j]=F;if(!_)return[];let K=j.map(($)=>new Set($.map(String)));return[...new Set(_.map(String))].filter(($)=>K.every((U)=>U.has($)))},sjq=async(A,q)=>{if(!A.hasPreviousSession())return;if(q.autoRetry&&A.getStatus()==="ready"&&A.hasRequiredAnswers()){A.enableSkipMode();return}let g=await A.promptResume();if(g==="cancel")throw Error("Setup cancelled.");if(g==="retry")A.enableSkipMode()},ejq=async(A,q,g)=>{let F=(await A.text({name:"name",message:"Name:",validate:(_)=>sPA(_,g)})).trim();if(q==="group")return F;return F},AKq=async(A)=>await A.select({name:"type",message:"Server type:",initialValue:"SERVER",options:[{value:"PROXY",label:"Proxy",hint:"Routes players to servers"},{value:"SERVER",label:"Server",hint:"Paper, Spigot, etc."}]}),GLA=(A,q)=>{for(let g of q)A.setAnswer(g,void 0)},qKq=(A,q,g)=>{let E=tPA(A,q,g);if(!E)return;if(A==="group"){v.warn(`Servers like ${E} typically involve building and player progression. A persistent server is usually the better fit.`);return}v.warn(`This looks like a scalable game mode (${E}). For names like proxy, lobby, bedwars, or skywars, a server group is usually the better fit.`)},gKq=async(A,q)=>{let g=q.serverhosts.filter((E)=>Boolean(E.serverhost_id)&&E.deactivated!==!0);if(g.length===0){v.warn("No serverhosts available. The persistent server will use auto-allocation.");return}if(g.length===1){let E=g.at(0);if(!E)return;return A.setAnswer("serverhostId",E.serverhost_id,"Serverhost"),v.info(`Serverhost: ${E.host_name||E.serverhost_id||"Unknown"}`),E.serverhost_id}return A.select({name:"serverhostId",message:"Serverhost:",options:g.map((E)=>({value:E.serverhost_id??"",label:E.host_name||E.serverhost_id||"Unknown",hint:"Dedicated host"}))})},EKq=async(A,q,g)=>{let E=await A.select({name:"customSourceType",message:"Source type:",initialValue:"url",options:[{value:"url",label:"Download URL"},{value:"file",label:"Local File"}]}),F=await A.text({name:"serverUrl",message:E==="file"?"File path:":"Server URL:",validate:(Z)=>Z?.trim()?void 0:"Value cannot be empty"}),_=(await A.text({name:"customSoftwareName",message:"Software name:",validate:(Z)=>Z?.trim()?void 0:"Software name is required"})).trim(),j=(await A.text({name:"customSoftwareVersion",message:"Software version:",required:!1})).trim(),K=q==="SERVER"?(await A.text({name:"minecraftVersion",message:"Game version:",validate:(Z)=>Z?.trim()?void 0:"Game version is required"})).trim():"",$=g.find((Z)=>Z.name.trim().toLowerCase()===_.toLowerCase()),U=$?.isBinary?K||$.latestVersion:K||j;return{serverSoftware:_,minecraftVersion:K,softwareVersion:U,downloadUrl:E==="file"?`file://${F.trim().replace(/^file:\/\//,"")}`:F.trim(),javaVersion:"21",isBinary:$?.isBinary===!0}},FKq=async(A,q,g,E)=>{let F=Vn(q);if(F.length===0)throw Error(`No builds are available for ${q.name}.`);let _=F.at(0);if(!_)throw Error(`No builds are available for ${q.name}.`);let j=ELA(q),K=F.length>1?await A.autocomplete({name:"minecraftVersion",message:"Software version:",options:F.map((G)=>({value:G,label:G})),initialValue:j,maxItems:10}):_;A.setAnswer("minecraftVersion",K,"Software version");let $;if(q.isBinary){let G=_LA(q,K),O=G.at(0);if(G.length>1)$=await A.select({name:"binaryTarget",message:"Binary build:",initialValue:O?SP(O):void 0,options:G.map((Q)=>({value:SP(Q),label:FLA(Q)}))});else if(O)$=SP(O),A.setAnswer("binaryTarget",$,"Binary build")}let U=await wPA(q.name,K,$);if(!U)throw Error(`Selected software version is not available in the manifest (${q.name} ${K}).`);let Z="21";if(!q.isBinary){let G=Wn(q,K,g),O=await A.select({name:"javaVersionSelection",message:"Java version:",initialValue:KLA(q,K,g,E),options:[...Xn.filter((Q)=>Rn(G,Q)).map((Q)=>({value:Q,label:`Java ${Q}`})),{value:"custom",label:"Custom"}]});Z=O==="custom"?(await A.text({name:"javaVersion",message:"Custom Java version:",validate:(Q)=>S2(Q)})).trim():O}return{serverSoftware:q.name,minecraftVersion:K,softwareVersion:K,downloadUrl:U,javaVersion:Z,isBinary:q.isBinary===!0}},_Kq=async(A,q,g,E)=>{let F=gLA(g,q);if(F.length===0)throw Error("No server software available for this type.");let _=A.getAnswer("serverSoftware"),j=await A.select({name:"serverSoftware",message:"Software:",options:[...F.map(($)=>({value:$.name,label:$.name,hint:$.lifecycle==="END_OF_LIFE"?"End of life":$.lifecycle==="DISCONTINUED"?"Discontinued":$.description})),{value:w2,label:"Custom",hint:"Use a download URL or a file on the serverhost"}]});if(typeof _==="string"&&_!==j)GLA(A,["customSourceType","serverUrl","customSoftwareName","customSoftwareVersion","minecraftVersion","binaryTarget","javaVersionSelection","javaVersion","configurator","customConfigurator"]);if(j===w2)return EKq(A,q,g);let K=F.find(($)=>$.name===j);if(!K)throw Error("Selected software not found.");return FKq(A,K,g,E)},jKq=async(A,q,g,E,F)=>{if(q==="PROXY"&&!F){let $=Tn(q,g.serverSoftware);if(!$)throw Error("Could not determine proxy configurator.");return A.setAnswer("configurator",$,"Configurator"),$}if(q==="PROXY")return(await A.text({name:"configurator",message:"Configurator:",validate:($)=>$?.trim()?void 0:"Configurator is required"})).trim();let _=Tn(q,g.serverSoftware,E);if(E&&_&&!F)return A.setAnswer("configurator",_,"Configurator"),v.info(`Configurator: ${_} (matched to existing proxy)`),_;let j=jLA(q,g.serverSoftware),K=await A.select({name:"configurator",message:"Configurator:",initialValue:_,options:[...j.map(($)=>({value:$.id,label:$.displayName,hint:$.description})),{value:wP,label:"Custom",hint:"Use a custom configurator name"}]});if(K!==wP)return K;return(await A.text({name:"customConfigurator",message:"Custom configurator name:",validate:($)=>$?.trim()?void 0:"Configurator is required"})).trim()},KKq=async(A,q)=>{let g=Number(await A.text({name:"maxPlayers",message:"Maximum players:",initialValue:q==="SERVER"?"50":"500",validate:($)=>S2($,{min:1,max:q==="SERVER"?200:2000})})),E=qLA(q),F=await A.select({name:"memoryPreset",message:"Memory settings:",options:[...E.map(($)=>({value:$.id,label:$.name,hint:`${Nn($.maxMemory)} max \u2190 ${Nn($.minMemory)} min${$.recommendedWhen(g)?" \u2022 Recommended":""}`})),{value:wP,label:"Custom",hint:"Set your own memory limits"}]});if(F!==wP){let $=E.find((U)=>U.id===F);if(!$)throw Error("Invalid memory preset selected.");return{minMemory:$.minMemory,maxMemory:$.maxMemory,maxPlayers:g}}let _=await A.text({name:"minMemoryGb",message:"Minimum memory (GB):",initialValue:q==="PROXY"?"0.25":"1",validate:($)=>Pn($,0.25)}),j=Ln(_),K=await A.text({name:"maxMemoryGb",message:"Maximum memory (GB):",initialValue:q==="PROXY"?"0.5":"2",validate:($)=>Pn($,Math.max(0.5,j/1024))});return{minMemory:j,maxMemory:Ln(K),maxPlayers:g}},$Kq=async(A,q)=>Number(await A.text({name:"startPort",message:"Start port:",initialValue:String(iPA[q]),validate:ALA})),UKq=(A)=>{if(console.log(),console.log(I.bold("Review")),console.log(I.dim(" Name:"),I.cyan(A.name)),console.log(I.dim(" Type:"),A.type==="PROXY"?"Proxy":"Server"),A.kind==="persistent-server")console.log(I.dim(" Host:"),A.serverhostName||"Auto-assign");console.log(I.dim(" Software:"),`${A.software.serverSoftware}${A.software.minecraftVersion?` ${A.software.minecraftVersion}`:""}`),console.log(I.dim(" Configurator:"),A.configurator),console.log(I.dim(" Memory:"),`${A.resources.minMemory}\u2013${A.resources.maxMemory} MB`),console.log(I.dim(" Players:"),`${A.resources.maxPlayers} max`),console.log(I.dim(" Start port:"),A.startPort),console.log(I.dim(" Tags:"),A.tags.length>0?A.tags.join(", "):"None"),console.log(I.dim(" Plugins:"),A.plugins.length>0?A.plugins.map((q)=>q.name).join(", "):"None"),console.log(I.dim(" Activate on creation:"),A.active?"Yes":"No"),console.log()},wn=async(A)=>{try{let q=await RO(A);if(q.error)throw q.error;v.success("Blueprint cleaned up")}catch{v.warn(`Could not clean up blueprint ${A}. Please delete it manually.`)}},z2=async(A,q={})=>{let g=ijq[A],E=await _j(`${A}-create`,{ttl:900000});IO(I.cyan.bold(g.title)),await sjq(E,q);let F=pg({indicator:"dots",onCancel:()=>{throw Error("Setup cancelled.")}});F.start("Loading creation options...");let _,j;try{[_,j]=await Promise.all([Hn(),pjq()]),F.stop("Creation options loaded")}catch(u){throw F.stop("Failed to load creation options"),Hq(u,"Failed to load creation options"),u}let K=await ejq(E,A,j.existingNames),$=E.getAnswer("type"),U=await AKq(E);if(typeof $==="string"&&$!==U)GLA(E,["serverSoftware","customSourceType","serverUrl","customSoftwareName","customSoftwareVersion","minecraftVersion","binaryTarget","javaVersionSelection","javaVersion","configurator","customConfigurator","maxPlayers","memoryPreset","minMemoryGb","maxMemoryGb","startPort"]);qKq(A,U,K);let Z;if(A==="persistent-server")Z=await gKq(E,j);let G=j.serverhosts.find((u)=>u.serverhost_id===Z),O=await E.confirm({name:"active",message:"Activate on creation?",initialValue:!0,active:"Yes",inactive:"No"}),Q=ePA(await E.text({name:"tags",message:"Tags (comma-separated, optional):",required:!1})),Y=await(async()=>{return await _Kq(E,U,_,tjq(A,j,Z))})(),J=E.getAnswer("serverSoftware")===w2,X=await jKq(E,U,Y,ojq(j),J),M=await KKq(E,U),N=await E.confirm({name:"addPlugins",message:"Add plugins?",initialValue:!1,active:"Yes",inactive:"No"})?await Jn({serverSoftware:Y.serverSoftware}):[],L=await $Kq(E,U);if(UKq({kind:A,name:K,type:U,active:O,tags:Q,software:Y,configurator:X,resources:M,startPort:L,serverhostName:G?.host_name,plugins:N}),!await E.confirm({name:"confirmed",message:`Create ${g.noun}?`,initialValue:!0,active:"Create",inactive:"Cancel"})){await E.save(),OF(I.yellow("Creation cancelled"));return}await E.markReady();let D=pg({indicator:"dots",onCancel:async()=>{throw await E.save(),Error("Setup cancelled.")}});D.start("Creating blueprint...");let T;try{T=await CPA({name:K,minecraft_version:Y.minecraftVersion||void 0,server_software:Y.serverSoftware,software_version:Y.softwareVersion||void 0,configurator:X,server_url:Y.downloadUrl,runtime_config:$LA(Y.isBinary,Y.javaVersion),workflow_steps:Dn.when.start})}catch(u){throw D.stop("Failed to create blueprint"),Error(`Failed to create blueprint: ${B2(u)}`)}if(T.error)throw D.stop("Failed to create blueprint"),Error(`Failed to create blueprint: ${B2(T.error)}`);let R=T.data?.blueprint_id;if(!R)throw D.stop("Failed to create blueprint"),Error("Failed to create blueprint: No blueprint ID returned.");D.stop(`Blueprint created: ${R}`);let b=pg({indicator:"dots",onCancel:async()=>{throw await wn(R),await E.save(),Error("Setup cancelled.")}});b.start(A==="group"?"Creating server group...":"Creating persistent server...");let k=oPA(L),y,f;try{if(A==="group"){let u=await xPA({name:K,type:U,min_memory:M.minMemory,max_memory:M.maxMemory,max_players:M.maxPlayers,active:O,tags:Mn(Q,K),properties:k,deployment:{strategy:"blacklist",hosts:[]},scaling:pPA(),workflows:Dn,source:{type:"blueprint",blueprint:R},plugins:N.map((gA)=>({plugin_name:gA.name,source_type:gA.sourceType,source_value:gA.sourceValue})),plugin_collection_ids:[]});y=u.data?.server_group_id,f=ZLA(u)}else{let u=await yPA({name:K,type:U,min_memory:M.minMemory,max_memory:M.maxMemory,max_players:M.maxPlayers,active:O,tags:Mn(Q,K),properties:k,serverhost_id:Z,workflows:Dn,source:{type:"blueprint",blueprint:R},plugins:N.map((gA)=>({plugin_name:gA.name,source_type:gA.sourceType,source_value:gA.sourceValue})),plugin_collection_ids:[]});y=u.data?.persistent_server_id,f=ZLA(u)}}catch(u){throw b.stop(`Failed to create ${g.noun}`),await wn(R),Error(`Failed to create ${g.noun}: ${B2(u)}`)}if(f||!y){b.stop(`Failed to create ${g.noun}`),await wn(R);let u=f?B2(f):`No ${A==="group"?"group":"server"} ID returned`;throw Error(`Failed to create ${g.noun}: ${u}`)}b.stop(`${g.created} created (${O?"active":"inactive"})`),await E.complete(),console.log(),OF(I.green.bold(`${g.created} "${K}" created`)),console.log(I.dim(O?`
|
|
175
175
|
The ${g.noun} starts automatically.
|
|
176
176
|
Run ${I.cyan("simplecloud server list")} to see it.`:`
|
|
177
177
|
The ${g.noun} was created inactive. Activate it when you are ready.`))};var Sn=S(()=>{I6();Uq();W2();BO();DO();z$();_9();CO();BE();ULA();Dn={when:{start:["internal/setup"],stop:["internal/cleanup"]},manual:["default/backup","default/copy-to-template"]},ijq={group:{noun:"group",title:"Create Server Group",created:"Server group"},"persistent-server":{noun:"server",title:"Create Persistent Server",created:"Persistent server"}}});var OLA=async(A={})=>{await z2("group",A)};var QLA=S(()=>{Sn()});var rE=async(A)=>{let q=await T6();if(A?.server_group_id||A?.serverhost_id||A?.persistent_server_id)return q.v0.serversList({server_group_id:A.server_group_id,serverhost_id:A.serverhost_id,persistent_server_id:A.persistent_server_id});return q.v0.serversList()},xO=async(A)=>{return(await T6()).v0.serversDelete({server_id:A})},YLA=async(A={})=>{let q=await T6(),g={server_ids:A.server_ids,server_group_ids:A.server_group_ids,persistent_server_ids:A.persistent_server_ids,serverhost_ids:A.serverhost_ids,severities:A.severities,tags:A.tags,search:A.search,from:A.from,to:A.to,limit:A.limit,order:A.order,cursor:A.cursor};return q.v0.metricsLogsQueryCreate(g)},JLA=async(A,q,g)=>{let E=await LP(),F=new URLSearchParams;if(A.server_ids?.length)F.set("server_ids",A.server_ids.join(","));if(A.server_group_ids?.length)F.set("server_group_ids",A.server_group_ids.join(","));if(A.persistent_server_ids?.length)F.set("persistent_server_ids",A.persistent_server_ids.join(","));if(A.serverhost_ids?.length)F.set("serverhost_ids",A.serverhost_ids.join(","));if(A.severities?.length)F.set("severities",A.severities.join(","));if(A.tags?.length)F.set("tags",A.tags.join(","));if(A.search)F.set("search",A.search);let _=`${E.baseURL}/v0/metrics/logs/stream?${F.toString()}`,j=new AbortController;return(async()=>{try{let $=await ZO(_,{headers:{Accept:"text/event-stream","X-Network-ID":E.networkId,"X-Network-Secret":E.networkSecret},signal:j.signal});if(!$.ok)throw Error(`SSE connection failed: ${$.status}`);let U=$.body?.getReader();if(!U)throw Error("No response body");let Z=new TextDecoder,G="";while(!0){let{done:O,value:Q}=await U.read();if(O)break;G+=Z.decode(Q,{stream:!0});let Y=G.split(`
|