@rizom/ops 0.2.0-alpha.6 → 0.2.0-alpha.7
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/brains-ops.js +2 -2
- package/dist/index.js +2 -2
- package/package.json +1 -1
- package/templates/rover-pilot/.github/workflows/build.yml +1 -0
- package/templates/rover-pilot/deploy/Caddyfile +66 -0
- package/templates/rover-pilot/deploy/Dockerfile +30 -7
- package/templates/rover-pilot/deploy/kamal/deploy.yml +1 -1
- package/templates/rover-pilot/docs/onboarding-checklist.md +1 -0
- package/templates/rover-pilot/docs/user-onboarding.md +312 -0
package/dist/brains-ops.js
CHANGED
|
@@ -54,7 +54,7 @@ return `+str.trim()+`;
|
|
|
54
54
|
`).join(`
|
|
55
55
|
`+Y),q.push(X+"m+"+L5.exports.humanize(this.diff)+"\x1B[0m")}else q[0]=jK()+$+" "+q[0]}function jK(){if(L8.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function PK(...q){return process.stderr.write(P5.formatWithOptions(L8.inspectOpts,...q)+`
|
|
56
56
|
`)}function LK(q){if(q)process.env.DEBUG=q;else delete process.env.DEBUG}function ZK(){return process.env.DEBUG}function CK(q){q.inspectOpts={};let $=Object.keys(L8.inspectOpts);for(let J=0;J<$.length;J++)q.inspectOpts[$[J]]=L8.inspectOpts[$[J]]}L5.exports=d2()(L8);var{formatters:P8}=L5.exports;P8.o=function(q){return this.inspectOpts.colors=this.useColors,P5.inspect(q,this.inspectOpts).split(`
|
|
57
|
-
`).map(($)=>$.trim()).join(" ")};P8.O=function(q){return this.inspectOpts.colors=this.useColors,P5.inspect(q,this.inspectOpts)}});var E8=m((BS,o2)=>{if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)o2.exports=F8();else o2.exports=C8()});var Z6=m((pL,L6)=>{var y5=Object.prototype.hasOwnProperty,P6=Object.prototype.toString,F6=Object.defineProperty,O6=Object.getOwnPropertyDescriptor,A6=function($){if(typeof Array.isArray==="function")return Array.isArray($);return P6.call($)==="[object Array]"},N6=function($){if(!$||P6.call($)!=="[object Object]")return!1;var J=y5.call($,"constructor"),G=$.constructor&&$.constructor.prototype&&y5.call($.constructor.prototype,"isPrototypeOf");if($.constructor&&!J&&!G)return!1;var X;for(X in $);return typeof X>"u"||y5.call($,X)},S6=function($,J){if(F6&&J.name==="__proto__")F6($,J.name,{enumerable:!0,configurable:!0,value:J.newValue,writable:!0});else $[J.name]=J.newValue},j6=function($,J){if(J==="__proto__"){if(!y5.call($,J))return;else if(O6)return O6($,J).value}return $[J]};L6.exports=function q(){var $,J,G,X,Y,U,Q=arguments[0],V=1,W=arguments.length,H=!1;if(typeof Q==="boolean")H=Q,Q=arguments[1]||{},V=2;if(Q==null||typeof Q!=="object"&&typeof Q!=="function")Q={};for(;V<W;++V)if($=arguments[V],$!=null){for(J in $)if(G=j6(Q,J),X=j6($,J),Q!==X){if(H&&X&&(N6(X)||(Y=A6(X)))){if(Y)Y=!1,U=G&&A6(G)?G:[];else U=G&&N6(G)?G:{};S6(Q,{name:J,newValue:q(H,U,X)})}else if(typeof X<"u")S6(Q,{name:J,newValue:X})}}return Q}});import{parseArgs as IG}from"util";var gG={help:{type:"boolean",short:"h"},version:{type:"boolean",short:"v"},"dry-run":{type:"boolean"},"push-to":{type:"string"}};function q2(q,$){let J=q[$];return typeof J==="boolean"?J:void 0}function vG(q,$){let J=q[$];return typeof J==="string"?J:void 0}function q3(q){let{values:$,positionals:J}=IG({args:q,options:gG,allowPositionals:!0});if($.help)return{command:"help",args:[],flags:{help:!0}};if($.version)return{command:"version",args:[],flags:{version:!0}};return{command:J[0]??"help",args:J.slice(1),flags:{help:q2($,"help"),version:q2($,"version"),dryRun:q2($,"dry-run"),pushTo:vG($,"push-to")}}}var l$={name:"@rizom/ops",description:"Operator CLI for managing private brain fleet registry repos",publishConfig:{access:"public"},version:"0.2.0-alpha.6",type:"module",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./deploy":{bun:"./dist/deploy.js",types:"./dist/deploy.d.ts",import:"./dist/deploy.js"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{"brains-ops":"./dist/brains-ops.js"},files:["dist","templates"],scripts:{build:"bun scripts/build.ts",prepublishOnly:"bun scripts/build.ts",typecheck:"tsc --noEmit",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix",test:"bun test"},dependencies:{},devDependencies:{"@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@brains/utils":"workspace:*","@types/bun":"latest",typescript:"^5.3.3"},repository:{type:"git",url:"https://github.com/rizom-ai/brains.git",directory:"packages/brains-ops"},license:"Apache-2.0",author:"Yeehaa <yeehaa@rizom.ai> (https://rizom.ai)",homepage:"https://github.com/rizom-ai/brains/tree/main/packages/brains-ops#readme",bugs:"https://github.com/rizom-ai/brains/issues",engines:{bun:">=1.3.3"},keywords:["brains","ops","cli","deploy","fleet","operator"]};import{mkdir as iB,writeFile as t7}from"fs/promises";import{dirname as dB,join as e7}from"path";var E={};eJ(E,{void:()=>OX,util:()=>o,unknown:()=>wX,union:()=>jX,undefined:()=>RX,tuple:()=>ZX,transformer:()=>hX,symbol:()=>MX,string:()=>W3,strictObject:()=>SX,setErrorMap:()=>mG,set:()=>TX,record:()=>CX,quotelessJson:()=>hG,promise:()=>yX,preprocess:()=>kX,pipeline:()=>fX,ostring:()=>uX,optional:()=>xX,onumber:()=>pX,oboolean:()=>lX,objectUtil:()=>$2,object:()=>NX,number:()=>H3,nullable:()=>mX,null:()=>BX,never:()=>FX,nativeEnum:()=>vX,nan:()=>HX,map:()=>EX,makeIssue:()=>J$,literal:()=>IX,lazy:()=>bX,late:()=>VX,isValid:()=>D1,isDirty:()=>i$,isAsync:()=>K0,isAborted:()=>r$,intersection:()=>LX,instanceof:()=>WX,getParsedType:()=>tq,getErrorMap:()=>H0,function:()=>_X,enum:()=>gX,effect:()=>hX,discriminatedUnion:()=>PX,defaultErrorMap:()=>H1,datetimeRegex:()=>U3,date:()=>zX,custom:()=>V3,coerce:()=>rX,boolean:()=>K3,bigint:()=>KX,array:()=>AX,any:()=>DX,addIssueToContext:()=>b,ZodVoid:()=>X$,ZodUnknown:()=>w1,ZodUnion:()=>w0,ZodUndefined:()=>B0,ZodType:()=>c,ZodTuple:()=>q1,ZodTransformer:()=>cq,ZodSymbol:()=>G$,ZodString:()=>lq,ZodSet:()=>k1,ZodSchema:()=>c,ZodRecord:()=>Y$,ZodReadonly:()=>P0,ZodPromise:()=>f1,ZodPipeline:()=>V$,ZodParsedType:()=>T,ZodOptional:()=>iq,ZodObject:()=>Uq,ZodNumber:()=>F1,ZodNullable:()=>z1,ZodNull:()=>D0,ZodNever:()=>eq,ZodNativeEnum:()=>N0,ZodNaN:()=>Q$,ZodMap:()=>U$,ZodLiteral:()=>A0,ZodLazy:()=>O0,ZodIssueCode:()=>Z,ZodIntersection:()=>F0,ZodFunction:()=>M0,ZodFirstPartyTypeKind:()=>u,ZodError:()=>Aq,ZodEnum:()=>A1,ZodEffects:()=>cq,ZodDiscriminatedUnion:()=>d$,ZodDefault:()=>S0,ZodDate:()=>x1,ZodCatch:()=>j0,ZodBranded:()=>c$,ZodBoolean:()=>R0,ZodBigInt:()=>O1,ZodArray:()=>rq,ZodAny:()=>m1,Schema:()=>c,ParseStatus:()=>wq,OK:()=>Nq,NEVER:()=>iX,INVALID:()=>k,EMPTY_PATH:()=>kG,DIRTY:()=>h1,BRAND:()=>QX});var o;(function(q){q.assertEqual=(X)=>{};function $(X){}q.assertIs=$;function J(X){throw Error()}q.assertNever=J,q.arrayToEnum=(X)=>{let Y={};for(let U of X)Y[U]=U;return Y},q.getValidEnumValues=(X)=>{let Y=q.objectKeys(X).filter((Q)=>typeof X[X[Q]]!=="number"),U={};for(let Q of Y)U[Q]=X[Q];return q.objectValues(U)},q.objectValues=(X)=>{return q.objectKeys(X).map(function(Y){return X[Y]})},q.objectKeys=typeof Object.keys==="function"?(X)=>Object.keys(X):(X)=>{let Y=[];for(let U in X)if(Object.prototype.hasOwnProperty.call(X,U))Y.push(U);return Y},q.find=(X,Y)=>{for(let U of X)if(Y(U))return U;return},q.isInteger=typeof Number.isInteger==="function"?(X)=>Number.isInteger(X):(X)=>typeof X==="number"&&Number.isFinite(X)&&Math.floor(X)===X;function G(X,Y=" | "){return X.map((U)=>typeof U==="string"?`'${U}'`:U).join(Y)}q.joinValues=G,q.jsonStringifyReplacer=(X,Y)=>{if(typeof Y==="bigint")return Y.toString();return Y}})(o||(o={}));var $2;(function(q){q.mergeShapes=($,J)=>{return{...$,...J}}})($2||($2={}));var T=o.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),tq=(q)=>{switch(typeof q){case"undefined":return T.undefined;case"string":return T.string;case"number":return Number.isNaN(q)?T.nan:T.number;case"boolean":return T.boolean;case"function":return T.function;case"bigint":return T.bigint;case"symbol":return T.symbol;case"object":if(Array.isArray(q))return T.array;if(q===null)return T.null;if(q.then&&typeof q.then==="function"&&q.catch&&typeof q.catch==="function")return T.promise;if(typeof Map<"u"&&q instanceof Map)return T.map;if(typeof Set<"u"&&q instanceof Set)return T.set;if(typeof Date<"u"&&q instanceof Date)return T.date;return T.object;default:return T.unknown}};var Z=o.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),hG=(q)=>{return JSON.stringify(q,null,2).replace(/"([^"]+)":/g,"$1:")};class Aq extends Error{get errors(){return this.issues}constructor(q){super();this.issues=[],this.addIssue=(J)=>{this.issues=[...this.issues,J]},this.addIssues=(J=[])=>{this.issues=[...this.issues,...J]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=q}format(q){let $=q||function(X){return X.message},J={_errors:[]},G=(X)=>{for(let Y of X.issues)if(Y.code==="invalid_union")Y.unionErrors.map(G);else if(Y.code==="invalid_return_type")G(Y.returnTypeError);else if(Y.code==="invalid_arguments")G(Y.argumentsError);else if(Y.path.length===0)J._errors.push($(Y));else{let U=J,Q=0;while(Q<Y.path.length){let V=Y.path[Q];if(Q!==Y.path.length-1)U[V]=U[V]||{_errors:[]};else U[V]=U[V]||{_errors:[]},U[V]._errors.push($(Y));U=U[V],Q++}}};return G(this),J}static assert(q){if(!(q instanceof Aq))throw Error(`Not a ZodError: ${q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,o.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(q=($)=>$.message){let $={},J=[];for(let G of this.issues)if(G.path.length>0){let X=G.path[0];$[X]=$[X]||[],$[X].push(q(G))}else J.push(q(G));return{formErrors:J,fieldErrors:$}}get formErrors(){return this.flatten()}}Aq.create=(q)=>{return new Aq(q)};var xG=(q,$)=>{let J;switch(q.code){case Z.invalid_type:if(q.received===T.undefined)J="Required";else J=`Expected ${q.expected}, received ${q.received}`;break;case Z.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify(q.expected,o.jsonStringifyReplacer)}`;break;case Z.unrecognized_keys:J=`Unrecognized key(s) in object: ${o.joinValues(q.keys,", ")}`;break;case Z.invalid_union:J="Invalid input";break;case Z.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${o.joinValues(q.options)}`;break;case Z.invalid_enum_value:J=`Invalid enum value. Expected ${o.joinValues(q.options)}, received '${q.received}'`;break;case Z.invalid_arguments:J="Invalid function arguments";break;case Z.invalid_return_type:J="Invalid function return type";break;case Z.invalid_date:J="Invalid date";break;case Z.invalid_string:if(typeof q.validation==="object")if("includes"in q.validation){if(J=`Invalid input: must include "${q.validation.includes}"`,typeof q.validation.position==="number")J=`${J} at one or more positions greater than or equal to ${q.validation.position}`}else if("startsWith"in q.validation)J=`Invalid input: must start with "${q.validation.startsWith}"`;else if("endsWith"in q.validation)J=`Invalid input: must end with "${q.validation.endsWith}"`;else o.assertNever(q.validation);else if(q.validation!=="regex")J=`Invalid ${q.validation}`;else J="Invalid";break;case Z.too_small:if(q.type==="array")J=`Array must contain ${q.exact?"exactly":q.inclusive?"at least":"more than"} ${q.minimum} element(s)`;else if(q.type==="string")J=`String must contain ${q.exact?"exactly":q.inclusive?"at least":"over"} ${q.minimum} character(s)`;else if(q.type==="number")J=`Number must be ${q.exact?"exactly equal to ":q.inclusive?"greater than or equal to ":"greater than "}${q.minimum}`;else if(q.type==="bigint")J=`Number must be ${q.exact?"exactly equal to ":q.inclusive?"greater than or equal to ":"greater than "}${q.minimum}`;else if(q.type==="date")J=`Date must be ${q.exact?"exactly equal to ":q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(q.minimum))}`;else J="Invalid input";break;case Z.too_big:if(q.type==="array")J=`Array must contain ${q.exact?"exactly":q.inclusive?"at most":"less than"} ${q.maximum} element(s)`;else if(q.type==="string")J=`String must contain ${q.exact?"exactly":q.inclusive?"at most":"under"} ${q.maximum} character(s)`;else if(q.type==="number")J=`Number must be ${q.exact?"exactly":q.inclusive?"less than or equal to":"less than"} ${q.maximum}`;else if(q.type==="bigint")J=`BigInt must be ${q.exact?"exactly":q.inclusive?"less than or equal to":"less than"} ${q.maximum}`;else if(q.type==="date")J=`Date must be ${q.exact?"exactly":q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(q.maximum))}`;else J="Invalid input";break;case Z.custom:J="Invalid input";break;case Z.invalid_intersection_types:J="Intersection results could not be merged";break;case Z.not_multiple_of:J=`Number must be a multiple of ${q.multipleOf}`;break;case Z.not_finite:J="Number must be finite";break;default:J=$.defaultError,o.assertNever(q)}return{message:J}},H1=xG;var $3=H1;function mG(q){$3=q}function H0(){return $3}var J$=(q)=>{let{data:$,path:J,errorMaps:G,issueData:X}=q,Y=[...J,...X.path||[]],U={...X,path:Y};if(X.message!==void 0)return{...X,path:Y,message:X.message};let Q="",V=G.filter((W)=>!!W).slice().reverse();for(let W of V)Q=W(U,{data:$,defaultError:Q}).message;return{...X,path:Y,message:Q}},kG=[];function b(q,$){let J=H0(),G=J$({issueData:$,data:q.data,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,J,J===H1?void 0:H1].filter((X)=>!!X)});q.common.issues.push(G)}class wq{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(q,$){let J=[];for(let G of $){if(G.status==="aborted")return k;if(G.status==="dirty")q.dirty();J.push(G.value)}return{status:q.value,value:J}}static async mergeObjectAsync(q,$){let J=[];for(let G of $){let X=await G.key,Y=await G.value;J.push({key:X,value:Y})}return wq.mergeObjectSync(q,J)}static mergeObjectSync(q,$){let J={};for(let G of $){let{key:X,value:Y}=G;if(X.status==="aborted")return k;if(Y.status==="aborted")return k;if(X.status==="dirty")q.dirty();if(Y.status==="dirty")q.dirty();if(X.value!=="__proto__"&&(typeof Y.value<"u"||G.alwaysSet))J[X.value]=Y.value}return{status:q.value,value:J}}}var k=Object.freeze({status:"aborted"}),h1=(q)=>({status:"dirty",value:q}),Nq=(q)=>({status:"valid",value:q}),r$=(q)=>q.status==="aborted",i$=(q)=>q.status==="dirty",D1=(q)=>q.status==="valid",K0=(q)=>typeof Promise<"u"&&q instanceof Promise;var y;(function(q){q.errToObj=($)=>typeof $==="string"?{message:$}:$||{},q.toString=($)=>typeof $==="string"?$:$?.message})(y||(y={}));class dq{constructor(q,$,J,G){this._cachedPath=[],this.parent=q,this.data=$,this._path=J,this._key=G}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var J3=(q,$)=>{if(D1($))return{success:!0,data:$.value};else{if(!q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let J=new Aq(q.common.issues);return this._error=J,this._error}}}};function i(q){if(!q)return{};let{errorMap:$,invalid_type_error:J,required_error:G,description:X}=q;if($&&(J||G))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:X};return{errorMap:(U,Q)=>{let{message:V}=q;if(U.code==="invalid_enum_value")return{message:V??Q.defaultError};if(typeof Q.data>"u")return{message:V??G??Q.defaultError};if(U.code!=="invalid_type")return{message:Q.defaultError};return{message:V??J??Q.defaultError}},description:X}}class c{get description(){return this._def.description}_getType(q){return tq(q.data)}_getOrReturnCtx(q,$){return $||{common:q.parent.common,data:q.data,parsedType:tq(q.data),schemaErrorMap:this._def.errorMap,path:q.path,parent:q.parent}}_processInputParams(q){return{status:new wq,ctx:{common:q.parent.common,data:q.data,parsedType:tq(q.data),schemaErrorMap:this._def.errorMap,path:q.path,parent:q.parent}}}_parseSync(q){let $=this._parse(q);if(K0($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(q){let $=this._parse(q);return Promise.resolve($)}parse(q,$){let J=this.safeParse(q,$);if(J.success)return J.data;throw J.error}safeParse(q,$){let J={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:q,parsedType:tq(q)},G=this._parseSync({data:q,path:J.path,parent:J});return J3(J,G)}"~validate"(q){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:q,parsedType:tq(q)};if(!this["~standard"].async)try{let J=this._parseSync({data:q,path:[],parent:$});return D1(J)?{value:J.value}:{issues:$.common.issues}}catch(J){if(J?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:q,path:[],parent:$}).then((J)=>D1(J)?{value:J.value}:{issues:$.common.issues})}async parseAsync(q,$){let J=await this.safeParseAsync(q,$);if(J.success)return J.data;throw J.error}async safeParseAsync(q,$){let J={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:q,parsedType:tq(q)},G=this._parse({data:q,path:J.path,parent:J}),X=await(K0(G)?G:Promise.resolve(G));return J3(J,X)}refine(q,$){let J=(G)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(G);else return $};return this._refinement((G,X)=>{let Y=q(G),U=()=>X.addIssue({code:Z.custom,...J(G)});if(typeof Promise<"u"&&Y instanceof Promise)return Y.then((Q)=>{if(!Q)return U(),!1;else return!0});if(!Y)return U(),!1;else return!0})}refinement(q,$){return this._refinement((J,G)=>{if(!q(J))return G.addIssue(typeof $==="function"?$(J,G):$),!1;else return!0})}_refinement(q){return new cq({schema:this,typeName:u.ZodEffects,effect:{type:"refinement",refinement:q}})}superRefine(q){return this._refinement(q)}constructor(q){this.spa=this.safeParseAsync,this._def=q,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:($)=>this["~validate"]($)}}optional(){return iq.create(this,this._def)}nullable(){return z1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return rq.create(this)}promise(){return f1.create(this,this._def)}or(q){return w0.create([this,q],this._def)}and(q){return F0.create(this,q,this._def)}transform(q){return new cq({...i(this._def),schema:this,typeName:u.ZodEffects,effect:{type:"transform",transform:q}})}default(q){let $=typeof q==="function"?q:()=>q;return new S0({...i(this._def),innerType:this,defaultValue:$,typeName:u.ZodDefault})}brand(){return new c$({typeName:u.ZodBranded,type:this,...i(this._def)})}catch(q){let $=typeof q==="function"?q:()=>q;return new j0({...i(this._def),innerType:this,catchValue:$,typeName:u.ZodCatch})}describe(q){return new this.constructor({...this._def,description:q})}pipe(q){return V$.create(this,q)}readonly(){return P0.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var fG=/^c[^\s-]{8,}$/i,uG=/^[0-9a-z]+$/,pG=/^[0-9A-HJKMNP-TV-Z]{26}$/i,lG=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,rG=/^[a-z0-9_-]{21}$/i,iG=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,dG=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,cG=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,nG="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",J2,oG=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,aG=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,sG=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,tG=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,eG=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,qX=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,X3="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",$X=new RegExp(`^${X3}$`);function Y3(q){let $="[0-5]\\d";if(q.precision)$=`${$}\\.\\d{${q.precision}}`;else if(q.precision==null)$=`${$}(\\.\\d+)?`;let J=q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${J}`}function JX(q){return new RegExp(`^${Y3(q)}$`)}function U3(q){let $=`${X3}T${Y3(q)}`,J=[];if(J.push(q.local?"Z?":"Z"),q.offset)J.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${J.join("|")})`,new RegExp(`^${$}$`)}function GX(q,$){if(($==="v4"||!$)&&oG.test(q))return!0;if(($==="v6"||!$)&&sG.test(q))return!0;return!1}function XX(q,$){if(!iG.test(q))return!1;try{let[J]=q.split(".");if(!J)return!1;let G=J.replace(/-/g,"+").replace(/_/g,"/").padEnd(J.length+(4-J.length%4)%4,"="),X=JSON.parse(atob(G));if(typeof X!=="object"||X===null)return!1;if("typ"in X&&X?.typ!=="JWT")return!1;if(!X.alg)return!1;if($&&X.alg!==$)return!1;return!0}catch{return!1}}function YX(q,$){if(($==="v4"||!$)&&aG.test(q))return!0;if(($==="v6"||!$)&&tG.test(q))return!0;return!1}class lq extends c{_parse(q){if(this._def.coerce)q.data=String(q.data);if(this._getType(q)!==T.string){let X=this._getOrReturnCtx(q);return b(X,{code:Z.invalid_type,expected:T.string,received:X.parsedType}),k}let J=new wq,G=void 0;for(let X of this._def.checks)if(X.kind==="min"){if(q.data.length<X.value)G=this._getOrReturnCtx(q,G),b(G,{code:Z.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),J.dirty()}else if(X.kind==="max"){if(q.data.length>X.value)G=this._getOrReturnCtx(q,G),b(G,{code:Z.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),J.dirty()}else if(X.kind==="length"){let Y=q.data.length>X.value,U=q.data.length<X.value;if(Y||U){if(G=this._getOrReturnCtx(q,G),Y)b(G,{code:Z.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});else if(U)b(G,{code:Z.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});J.dirty()}}else if(X.kind==="email"){if(!cG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"email",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="emoji"){if(!J2)J2=new RegExp(nG,"u");if(!J2.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"emoji",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="uuid"){if(!lG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"uuid",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="nanoid"){if(!rG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"nanoid",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cuid"){if(!fG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"cuid",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cuid2"){if(!uG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"cuid2",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="ulid"){if(!pG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"ulid",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="url")try{new URL(q.data)}catch{G=this._getOrReturnCtx(q,G),b(G,{validation:"url",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="regex"){if(X.regex.lastIndex=0,!X.regex.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"regex",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="trim")q.data=q.data.trim();else if(X.kind==="includes"){if(!q.data.includes(X.value,X.position))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:{includes:X.value,position:X.position},message:X.message}),J.dirty()}else if(X.kind==="toLowerCase")q.data=q.data.toLowerCase();else if(X.kind==="toUpperCase")q.data=q.data.toUpperCase();else if(X.kind==="startsWith"){if(!q.data.startsWith(X.value))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:{startsWith:X.value},message:X.message}),J.dirty()}else if(X.kind==="endsWith"){if(!q.data.endsWith(X.value))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:{endsWith:X.value},message:X.message}),J.dirty()}else if(X.kind==="datetime"){if(!U3(X).test(q.data))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:"datetime",message:X.message}),J.dirty()}else if(X.kind==="date"){if(!$X.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:"date",message:X.message}),J.dirty()}else if(X.kind==="time"){if(!JX(X).test(q.data))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:"time",message:X.message}),J.dirty()}else if(X.kind==="duration"){if(!dG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"duration",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="ip"){if(!GX(q.data,X.version))G=this._getOrReturnCtx(q,G),b(G,{validation:"ip",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="jwt"){if(!XX(q.data,X.alg))G=this._getOrReturnCtx(q,G),b(G,{validation:"jwt",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cidr"){if(!YX(q.data,X.version))G=this._getOrReturnCtx(q,G),b(G,{validation:"cidr",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="base64"){if(!eG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"base64",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="base64url"){if(!qX.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"base64url",code:Z.invalid_string,message:X.message}),J.dirty()}else o.assertNever(X);return{status:J.value,value:q.data}}_regex(q,$,J){return this.refinement((G)=>q.test(G),{validation:$,code:Z.invalid_string,...y.errToObj(J)})}_addCheck(q){return new lq({...this._def,checks:[...this._def.checks,q]})}email(q){return this._addCheck({kind:"email",...y.errToObj(q)})}url(q){return this._addCheck({kind:"url",...y.errToObj(q)})}emoji(q){return this._addCheck({kind:"emoji",...y.errToObj(q)})}uuid(q){return this._addCheck({kind:"uuid",...y.errToObj(q)})}nanoid(q){return this._addCheck({kind:"nanoid",...y.errToObj(q)})}cuid(q){return this._addCheck({kind:"cuid",...y.errToObj(q)})}cuid2(q){return this._addCheck({kind:"cuid2",...y.errToObj(q)})}ulid(q){return this._addCheck({kind:"ulid",...y.errToObj(q)})}base64(q){return this._addCheck({kind:"base64",...y.errToObj(q)})}base64url(q){return this._addCheck({kind:"base64url",...y.errToObj(q)})}jwt(q){return this._addCheck({kind:"jwt",...y.errToObj(q)})}ip(q){return this._addCheck({kind:"ip",...y.errToObj(q)})}cidr(q){return this._addCheck({kind:"cidr",...y.errToObj(q)})}datetime(q){if(typeof q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:q});return this._addCheck({kind:"datetime",precision:typeof q?.precision>"u"?null:q?.precision,offset:q?.offset??!1,local:q?.local??!1,...y.errToObj(q?.message)})}date(q){return this._addCheck({kind:"date",message:q})}time(q){if(typeof q==="string")return this._addCheck({kind:"time",precision:null,message:q});return this._addCheck({kind:"time",precision:typeof q?.precision>"u"?null:q?.precision,...y.errToObj(q?.message)})}duration(q){return this._addCheck({kind:"duration",...y.errToObj(q)})}regex(q,$){return this._addCheck({kind:"regex",regex:q,...y.errToObj($)})}includes(q,$){return this._addCheck({kind:"includes",value:q,position:$?.position,...y.errToObj($?.message)})}startsWith(q,$){return this._addCheck({kind:"startsWith",value:q,...y.errToObj($)})}endsWith(q,$){return this._addCheck({kind:"endsWith",value:q,...y.errToObj($)})}min(q,$){return this._addCheck({kind:"min",value:q,...y.errToObj($)})}max(q,$){return this._addCheck({kind:"max",value:q,...y.errToObj($)})}length(q,$){return this._addCheck({kind:"length",value:q,...y.errToObj($)})}nonempty(q){return this.min(1,y.errToObj(q))}trim(){return new lq({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new lq({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new lq({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((q)=>q.kind==="datetime")}get isDate(){return!!this._def.checks.find((q)=>q.kind==="date")}get isTime(){return!!this._def.checks.find((q)=>q.kind==="time")}get isDuration(){return!!this._def.checks.find((q)=>q.kind==="duration")}get isEmail(){return!!this._def.checks.find((q)=>q.kind==="email")}get isURL(){return!!this._def.checks.find((q)=>q.kind==="url")}get isEmoji(){return!!this._def.checks.find((q)=>q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((q)=>q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((q)=>q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((q)=>q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((q)=>q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((q)=>q.kind==="ulid")}get isIP(){return!!this._def.checks.find((q)=>q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((q)=>q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((q)=>q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((q)=>q.kind==="base64url")}get minLength(){let q=null;for(let $ of this._def.checks)if($.kind==="min"){if(q===null||$.value>q)q=$.value}return q}get maxLength(){let q=null;for(let $ of this._def.checks)if($.kind==="max"){if(q===null||$.value<q)q=$.value}return q}}lq.create=(q)=>{return new lq({checks:[],typeName:u.ZodString,coerce:q?.coerce??!1,...i(q)})};function UX(q,$){let J=(q.toString().split(".")[1]||"").length,G=($.toString().split(".")[1]||"").length,X=J>G?J:G,Y=Number.parseInt(q.toFixed(X).replace(".","")),U=Number.parseInt($.toFixed(X).replace(".",""));return Y%U/10**X}class F1 extends c{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(q){if(this._def.coerce)q.data=Number(q.data);if(this._getType(q)!==T.number){let X=this._getOrReturnCtx(q);return b(X,{code:Z.invalid_type,expected:T.number,received:X.parsedType}),k}let J=void 0,G=new wq;for(let X of this._def.checks)if(X.kind==="int"){if(!o.isInteger(q.data))J=this._getOrReturnCtx(q,J),b(J,{code:Z.invalid_type,expected:"integer",received:"float",message:X.message}),G.dirty()}else if(X.kind==="min"){if(X.inclusive?q.data<X.value:q.data<=X.value)J=this._getOrReturnCtx(q,J),b(J,{code:Z.too_small,minimum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),G.dirty()}else if(X.kind==="max"){if(X.inclusive?q.data>X.value:q.data>=X.value)J=this._getOrReturnCtx(q,J),b(J,{code:Z.too_big,maximum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),G.dirty()}else if(X.kind==="multipleOf"){if(UX(q.data,X.value)!==0)J=this._getOrReturnCtx(q,J),b(J,{code:Z.not_multiple_of,multipleOf:X.value,message:X.message}),G.dirty()}else if(X.kind==="finite"){if(!Number.isFinite(q.data))J=this._getOrReturnCtx(q,J),b(J,{code:Z.not_finite,message:X.message}),G.dirty()}else o.assertNever(X);return{status:G.value,value:q.data}}gte(q,$){return this.setLimit("min",q,!0,y.toString($))}gt(q,$){return this.setLimit("min",q,!1,y.toString($))}lte(q,$){return this.setLimit("max",q,!0,y.toString($))}lt(q,$){return this.setLimit("max",q,!1,y.toString($))}setLimit(q,$,J,G){return new F1({...this._def,checks:[...this._def.checks,{kind:q,value:$,inclusive:J,message:y.toString(G)}]})}_addCheck(q){return new F1({...this._def,checks:[...this._def.checks,q]})}int(q){return this._addCheck({kind:"int",message:y.toString(q)})}positive(q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:y.toString(q)})}negative(q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:y.toString(q)})}nonpositive(q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:y.toString(q)})}nonnegative(q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:y.toString(q)})}multipleOf(q,$){return this._addCheck({kind:"multipleOf",value:q,message:y.toString($)})}finite(q){return this._addCheck({kind:"finite",message:y.toString(q)})}safe(q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:y.toString(q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:y.toString(q)})}get minValue(){let q=null;for(let $ of this._def.checks)if($.kind==="min"){if(q===null||$.value>q)q=$.value}return q}get maxValue(){let q=null;for(let $ of this._def.checks)if($.kind==="max"){if(q===null||$.value<q)q=$.value}return q}get isInt(){return!!this._def.checks.find((q)=>q.kind==="int"||q.kind==="multipleOf"&&o.isInteger(q.value))}get isFinite(){let q=null,$=null;for(let J of this._def.checks)if(J.kind==="finite"||J.kind==="int"||J.kind==="multipleOf")return!0;else if(J.kind==="min"){if($===null||J.value>$)$=J.value}else if(J.kind==="max"){if(q===null||J.value<q)q=J.value}return Number.isFinite($)&&Number.isFinite(q)}}F1.create=(q)=>{return new F1({checks:[],typeName:u.ZodNumber,coerce:q?.coerce||!1,...i(q)})};class O1 extends c{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(q){if(this._def.coerce)try{q.data=BigInt(q.data)}catch{return this._getInvalidInput(q)}if(this._getType(q)!==T.bigint)return this._getInvalidInput(q);let J=void 0,G=new wq;for(let X of this._def.checks)if(X.kind==="min"){if(X.inclusive?q.data<X.value:q.data<=X.value)J=this._getOrReturnCtx(q,J),b(J,{code:Z.too_small,type:"bigint",minimum:X.value,inclusive:X.inclusive,message:X.message}),G.dirty()}else if(X.kind==="max"){if(X.inclusive?q.data>X.value:q.data>=X.value)J=this._getOrReturnCtx(q,J),b(J,{code:Z.too_big,type:"bigint",maximum:X.value,inclusive:X.inclusive,message:X.message}),G.dirty()}else if(X.kind==="multipleOf"){if(q.data%X.value!==BigInt(0))J=this._getOrReturnCtx(q,J),b(J,{code:Z.not_multiple_of,multipleOf:X.value,message:X.message}),G.dirty()}else o.assertNever(X);return{status:G.value,value:q.data}}_getInvalidInput(q){let $=this._getOrReturnCtx(q);return b($,{code:Z.invalid_type,expected:T.bigint,received:$.parsedType}),k}gte(q,$){return this.setLimit("min",q,!0,y.toString($))}gt(q,$){return this.setLimit("min",q,!1,y.toString($))}lte(q,$){return this.setLimit("max",q,!0,y.toString($))}lt(q,$){return this.setLimit("max",q,!1,y.toString($))}setLimit(q,$,J,G){return new O1({...this._def,checks:[...this._def.checks,{kind:q,value:$,inclusive:J,message:y.toString(G)}]})}_addCheck(q){return new O1({...this._def,checks:[...this._def.checks,q]})}positive(q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:y.toString(q)})}negative(q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:y.toString(q)})}nonpositive(q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:y.toString(q)})}nonnegative(q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:y.toString(q)})}multipleOf(q,$){return this._addCheck({kind:"multipleOf",value:q,message:y.toString($)})}get minValue(){let q=null;for(let $ of this._def.checks)if($.kind==="min"){if(q===null||$.value>q)q=$.value}return q}get maxValue(){let q=null;for(let $ of this._def.checks)if($.kind==="max"){if(q===null||$.value<q)q=$.value}return q}}O1.create=(q)=>{return new O1({checks:[],typeName:u.ZodBigInt,coerce:q?.coerce??!1,...i(q)})};class R0 extends c{_parse(q){if(this._def.coerce)q.data=Boolean(q.data);if(this._getType(q)!==T.boolean){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.boolean,received:J.parsedType}),k}return Nq(q.data)}}R0.create=(q)=>{return new R0({typeName:u.ZodBoolean,coerce:q?.coerce||!1,...i(q)})};class x1 extends c{_parse(q){if(this._def.coerce)q.data=new Date(q.data);if(this._getType(q)!==T.date){let X=this._getOrReturnCtx(q);return b(X,{code:Z.invalid_type,expected:T.date,received:X.parsedType}),k}if(Number.isNaN(q.data.getTime())){let X=this._getOrReturnCtx(q);return b(X,{code:Z.invalid_date}),k}let J=new wq,G=void 0;for(let X of this._def.checks)if(X.kind==="min"){if(q.data.getTime()<X.value)G=this._getOrReturnCtx(q,G),b(G,{code:Z.too_small,message:X.message,inclusive:!0,exact:!1,minimum:X.value,type:"date"}),J.dirty()}else if(X.kind==="max"){if(q.data.getTime()>X.value)G=this._getOrReturnCtx(q,G),b(G,{code:Z.too_big,message:X.message,inclusive:!0,exact:!1,maximum:X.value,type:"date"}),J.dirty()}else o.assertNever(X);return{status:J.value,value:new Date(q.data.getTime())}}_addCheck(q){return new x1({...this._def,checks:[...this._def.checks,q]})}min(q,$){return this._addCheck({kind:"min",value:q.getTime(),message:y.toString($)})}max(q,$){return this._addCheck({kind:"max",value:q.getTime(),message:y.toString($)})}get minDate(){let q=null;for(let $ of this._def.checks)if($.kind==="min"){if(q===null||$.value>q)q=$.value}return q!=null?new Date(q):null}get maxDate(){let q=null;for(let $ of this._def.checks)if($.kind==="max"){if(q===null||$.value<q)q=$.value}return q!=null?new Date(q):null}}x1.create=(q)=>{return new x1({checks:[],coerce:q?.coerce||!1,typeName:u.ZodDate,...i(q)})};class G$ extends c{_parse(q){if(this._getType(q)!==T.symbol){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.symbol,received:J.parsedType}),k}return Nq(q.data)}}G$.create=(q)=>{return new G$({typeName:u.ZodSymbol,...i(q)})};class B0 extends c{_parse(q){if(this._getType(q)!==T.undefined){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.undefined,received:J.parsedType}),k}return Nq(q.data)}}B0.create=(q)=>{return new B0({typeName:u.ZodUndefined,...i(q)})};class D0 extends c{_parse(q){if(this._getType(q)!==T.null){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.null,received:J.parsedType}),k}return Nq(q.data)}}D0.create=(q)=>{return new D0({typeName:u.ZodNull,...i(q)})};class m1 extends c{constructor(){super(...arguments);this._any=!0}_parse(q){return Nq(q.data)}}m1.create=(q)=>{return new m1({typeName:u.ZodAny,...i(q)})};class w1 extends c{constructor(){super(...arguments);this._unknown=!0}_parse(q){return Nq(q.data)}}w1.create=(q)=>{return new w1({typeName:u.ZodUnknown,...i(q)})};class eq extends c{_parse(q){let $=this._getOrReturnCtx(q);return b($,{code:Z.invalid_type,expected:T.never,received:$.parsedType}),k}}eq.create=(q)=>{return new eq({typeName:u.ZodNever,...i(q)})};class X$ extends c{_parse(q){if(this._getType(q)!==T.undefined){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.void,received:J.parsedType}),k}return Nq(q.data)}}X$.create=(q)=>{return new X$({typeName:u.ZodVoid,...i(q)})};class rq extends c{_parse(q){let{ctx:$,status:J}=this._processInputParams(q),G=this._def;if($.parsedType!==T.array)return b($,{code:Z.invalid_type,expected:T.array,received:$.parsedType}),k;if(G.exactLength!==null){let Y=$.data.length>G.exactLength.value,U=$.data.length<G.exactLength.value;if(Y||U)b($,{code:Y?Z.too_big:Z.too_small,minimum:U?G.exactLength.value:void 0,maximum:Y?G.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:G.exactLength.message}),J.dirty()}if(G.minLength!==null){if($.data.length<G.minLength.value)b($,{code:Z.too_small,minimum:G.minLength.value,type:"array",inclusive:!0,exact:!1,message:G.minLength.message}),J.dirty()}if(G.maxLength!==null){if($.data.length>G.maxLength.value)b($,{code:Z.too_big,maximum:G.maxLength.value,type:"array",inclusive:!0,exact:!1,message:G.maxLength.message}),J.dirty()}if($.common.async)return Promise.all([...$.data].map((Y,U)=>{return G.type._parseAsync(new dq($,Y,$.path,U))})).then((Y)=>{return wq.mergeArray(J,Y)});let X=[...$.data].map((Y,U)=>{return G.type._parseSync(new dq($,Y,$.path,U))});return wq.mergeArray(J,X)}get element(){return this._def.type}min(q,$){return new rq({...this._def,minLength:{value:q,message:y.toString($)}})}max(q,$){return new rq({...this._def,maxLength:{value:q,message:y.toString($)}})}length(q,$){return new rq({...this._def,exactLength:{value:q,message:y.toString($)}})}nonempty(q){return this.min(1,q)}}rq.create=(q,$)=>{return new rq({type:q,minLength:null,maxLength:null,exactLength:null,typeName:u.ZodArray,...i($)})};function z0(q){if(q instanceof Uq){let $={};for(let J in q.shape){let G=q.shape[J];$[J]=iq.create(z0(G))}return new Uq({...q._def,shape:()=>$})}else if(q instanceof rq)return new rq({...q._def,type:z0(q.element)});else if(q instanceof iq)return iq.create(z0(q.unwrap()));else if(q instanceof z1)return z1.create(z0(q.unwrap()));else if(q instanceof q1)return q1.create(q.items.map(($)=>z0($)));else return q}class Uq extends c{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let q=this._def.shape(),$=o.objectKeys(q);return this._cached={shape:q,keys:$},this._cached}_parse(q){if(this._getType(q)!==T.object){let V=this._getOrReturnCtx(q);return b(V,{code:Z.invalid_type,expected:T.object,received:V.parsedType}),k}let{status:J,ctx:G}=this._processInputParams(q),{shape:X,keys:Y}=this._getCached(),U=[];if(!(this._def.catchall instanceof eq&&this._def.unknownKeys==="strip")){for(let V in G.data)if(!Y.includes(V))U.push(V)}let Q=[];for(let V of Y){let W=X[V],H=G.data[V];Q.push({key:{status:"valid",value:V},value:W._parse(new dq(G,H,G.path,V)),alwaysSet:V in G.data})}if(this._def.catchall instanceof eq){let V=this._def.unknownKeys;if(V==="passthrough")for(let W of U)Q.push({key:{status:"valid",value:W},value:{status:"valid",value:G.data[W]}});else if(V==="strict"){if(U.length>0)b(G,{code:Z.unrecognized_keys,keys:U}),J.dirty()}else if(V==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let V=this._def.catchall;for(let W of U){let H=G.data[W];Q.push({key:{status:"valid",value:W},value:V._parse(new dq(G,H,G.path,W)),alwaysSet:W in G.data})}}if(G.common.async)return Promise.resolve().then(async()=>{let V=[];for(let W of Q){let H=await W.key,K=await W.value;V.push({key:H,value:K,alwaysSet:W.alwaysSet})}return V}).then((V)=>{return wq.mergeObjectSync(J,V)});else return wq.mergeObjectSync(J,Q)}get shape(){return this._def.shape()}strict(q){return y.errToObj,new Uq({...this._def,unknownKeys:"strict",...q!==void 0?{errorMap:($,J)=>{let G=this._def.errorMap?.($,J).message??J.defaultError;if($.code==="unrecognized_keys")return{message:y.errToObj(q).message??G};return{message:G}}}:{}})}strip(){return new Uq({...this._def,unknownKeys:"strip"})}passthrough(){return new Uq({...this._def,unknownKeys:"passthrough"})}extend(q){return new Uq({...this._def,shape:()=>({...this._def.shape(),...q})})}merge(q){return new Uq({unknownKeys:q._def.unknownKeys,catchall:q._def.catchall,shape:()=>({...this._def.shape(),...q._def.shape()}),typeName:u.ZodObject})}setKey(q,$){return this.augment({[q]:$})}catchall(q){return new Uq({...this._def,catchall:q})}pick(q){let $={};for(let J of o.objectKeys(q))if(q[J]&&this.shape[J])$[J]=this.shape[J];return new Uq({...this._def,shape:()=>$})}omit(q){let $={};for(let J of o.objectKeys(this.shape))if(!q[J])$[J]=this.shape[J];return new Uq({...this._def,shape:()=>$})}deepPartial(){return z0(this)}partial(q){let $={};for(let J of o.objectKeys(this.shape)){let G=this.shape[J];if(q&&!q[J])$[J]=G;else $[J]=G.optional()}return new Uq({...this._def,shape:()=>$})}required(q){let $={};for(let J of o.objectKeys(this.shape))if(q&&!q[J])$[J]=this.shape[J];else{let X=this.shape[J];while(X instanceof iq)X=X._def.innerType;$[J]=X}return new Uq({...this._def,shape:()=>$})}keyof(){return Q3(o.objectKeys(this.shape))}}Uq.create=(q,$)=>{return new Uq({shape:()=>q,unknownKeys:"strip",catchall:eq.create(),typeName:u.ZodObject,...i($)})};Uq.strictCreate=(q,$)=>{return new Uq({shape:()=>q,unknownKeys:"strict",catchall:eq.create(),typeName:u.ZodObject,...i($)})};Uq.lazycreate=(q,$)=>{return new Uq({shape:q,unknownKeys:"strip",catchall:eq.create(),typeName:u.ZodObject,...i($)})};class w0 extends c{_parse(q){let{ctx:$}=this._processInputParams(q),J=this._def.options;function G(X){for(let U of X)if(U.result.status==="valid")return U.result;for(let U of X)if(U.result.status==="dirty")return $.common.issues.push(...U.ctx.common.issues),U.result;let Y=X.map((U)=>new Aq(U.ctx.common.issues));return b($,{code:Z.invalid_union,unionErrors:Y}),k}if($.common.async)return Promise.all(J.map(async(X)=>{let Y={...$,common:{...$.common,issues:[]},parent:null};return{result:await X._parseAsync({data:$.data,path:$.path,parent:Y}),ctx:Y}})).then(G);else{let X=void 0,Y=[];for(let Q of J){let V={...$,common:{...$.common,issues:[]},parent:null},W=Q._parseSync({data:$.data,path:$.path,parent:V});if(W.status==="valid")return W;else if(W.status==="dirty"&&!X)X={result:W,ctx:V};if(V.common.issues.length)Y.push(V.common.issues)}if(X)return $.common.issues.push(...X.ctx.common.issues),X.result;let U=Y.map((Q)=>new Aq(Q));return b($,{code:Z.invalid_union,unionErrors:U}),k}}get options(){return this._def.options}}w0.create=(q,$)=>{return new w0({options:q,typeName:u.ZodUnion,...i($)})};var K1=(q)=>{if(q instanceof O0)return K1(q.schema);else if(q instanceof cq)return K1(q.innerType());else if(q instanceof A0)return[q.value];else if(q instanceof A1)return q.options;else if(q instanceof N0)return o.objectValues(q.enum);else if(q instanceof S0)return K1(q._def.innerType);else if(q instanceof B0)return[void 0];else if(q instanceof D0)return[null];else if(q instanceof iq)return[void 0,...K1(q.unwrap())];else if(q instanceof z1)return[null,...K1(q.unwrap())];else if(q instanceof c$)return K1(q.unwrap());else if(q instanceof P0)return K1(q.unwrap());else if(q instanceof j0)return K1(q._def.innerType);else return[]};class d$ extends c{_parse(q){let{ctx:$}=this._processInputParams(q);if($.parsedType!==T.object)return b($,{code:Z.invalid_type,expected:T.object,received:$.parsedType}),k;let J=this.discriminator,G=$.data[J],X=this.optionsMap.get(G);if(!X)return b($,{code:Z.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),k;if($.common.async)return X._parseAsync({data:$.data,path:$.path,parent:$});else return X._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(q,$,J){let G=new Map;for(let X of $){let Y=K1(X.shape[q]);if(!Y.length)throw Error(`A discriminator value for key \`${q}\` could not be extracted from all schema options`);for(let U of Y){if(G.has(U))throw Error(`Discriminator property ${String(q)} has duplicate value ${String(U)}`);G.set(U,X)}}return new d$({typeName:u.ZodDiscriminatedUnion,discriminator:q,options:$,optionsMap:G,...i(J)})}}function G2(q,$){let J=tq(q),G=tq($);if(q===$)return{valid:!0,data:q};else if(J===T.object&&G===T.object){let X=o.objectKeys($),Y=o.objectKeys(q).filter((Q)=>X.indexOf(Q)!==-1),U={...q,...$};for(let Q of Y){let V=G2(q[Q],$[Q]);if(!V.valid)return{valid:!1};U[Q]=V.data}return{valid:!0,data:U}}else if(J===T.array&&G===T.array){if(q.length!==$.length)return{valid:!1};let X=[];for(let Y=0;Y<q.length;Y++){let U=q[Y],Q=$[Y],V=G2(U,Q);if(!V.valid)return{valid:!1};X.push(V.data)}return{valid:!0,data:X}}else if(J===T.date&&G===T.date&&+q===+$)return{valid:!0,data:q};else return{valid:!1}}class F0 extends c{_parse(q){let{status:$,ctx:J}=this._processInputParams(q),G=(X,Y)=>{if(r$(X)||r$(Y))return k;let U=G2(X.value,Y.value);if(!U.valid)return b(J,{code:Z.invalid_intersection_types}),k;if(i$(X)||i$(Y))$.dirty();return{status:$.value,value:U.data}};if(J.common.async)return Promise.all([this._def.left._parseAsync({data:J.data,path:J.path,parent:J}),this._def.right._parseAsync({data:J.data,path:J.path,parent:J})]).then(([X,Y])=>G(X,Y));else return G(this._def.left._parseSync({data:J.data,path:J.path,parent:J}),this._def.right._parseSync({data:J.data,path:J.path,parent:J}))}}F0.create=(q,$,J)=>{return new F0({left:q,right:$,typeName:u.ZodIntersection,...i(J)})};class q1 extends c{_parse(q){let{status:$,ctx:J}=this._processInputParams(q);if(J.parsedType!==T.array)return b(J,{code:Z.invalid_type,expected:T.array,received:J.parsedType}),k;if(J.data.length<this._def.items.length)return b(J,{code:Z.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),k;if(!this._def.rest&&J.data.length>this._def.items.length)b(J,{code:Z.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let X=[...J.data].map((Y,U)=>{let Q=this._def.items[U]||this._def.rest;if(!Q)return null;return Q._parse(new dq(J,Y,J.path,U))}).filter((Y)=>!!Y);if(J.common.async)return Promise.all(X).then((Y)=>{return wq.mergeArray($,Y)});else return wq.mergeArray($,X)}get items(){return this._def.items}rest(q){return new q1({...this._def,rest:q})}}q1.create=(q,$)=>{if(!Array.isArray(q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new q1({items:q,typeName:u.ZodTuple,rest:null,...i($)})};class Y$ extends c{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(q){let{status:$,ctx:J}=this._processInputParams(q);if(J.parsedType!==T.object)return b(J,{code:Z.invalid_type,expected:T.object,received:J.parsedType}),k;let G=[],X=this._def.keyType,Y=this._def.valueType;for(let U in J.data)G.push({key:X._parse(new dq(J,U,J.path,U)),value:Y._parse(new dq(J,J.data[U],J.path,U)),alwaysSet:U in J.data});if(J.common.async)return wq.mergeObjectAsync($,G);else return wq.mergeObjectSync($,G)}get element(){return this._def.valueType}static create(q,$,J){if($ instanceof c)return new Y$({keyType:q,valueType:$,typeName:u.ZodRecord,...i(J)});return new Y$({keyType:lq.create(),valueType:q,typeName:u.ZodRecord,...i($)})}}class U$ extends c{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(q){let{status:$,ctx:J}=this._processInputParams(q);if(J.parsedType!==T.map)return b(J,{code:Z.invalid_type,expected:T.map,received:J.parsedType}),k;let G=this._def.keyType,X=this._def.valueType,Y=[...J.data.entries()].map(([U,Q],V)=>{return{key:G._parse(new dq(J,U,J.path,[V,"key"])),value:X._parse(new dq(J,Q,J.path,[V,"value"]))}});if(J.common.async){let U=new Map;return Promise.resolve().then(async()=>{for(let Q of Y){let V=await Q.key,W=await Q.value;if(V.status==="aborted"||W.status==="aborted")return k;if(V.status==="dirty"||W.status==="dirty")$.dirty();U.set(V.value,W.value)}return{status:$.value,value:U}})}else{let U=new Map;for(let Q of Y){let{key:V,value:W}=Q;if(V.status==="aborted"||W.status==="aborted")return k;if(V.status==="dirty"||W.status==="dirty")$.dirty();U.set(V.value,W.value)}return{status:$.value,value:U}}}}U$.create=(q,$,J)=>{return new U$({valueType:$,keyType:q,typeName:u.ZodMap,...i(J)})};class k1 extends c{_parse(q){let{status:$,ctx:J}=this._processInputParams(q);if(J.parsedType!==T.set)return b(J,{code:Z.invalid_type,expected:T.set,received:J.parsedType}),k;let G=this._def;if(G.minSize!==null){if(J.data.size<G.minSize.value)b(J,{code:Z.too_small,minimum:G.minSize.value,type:"set",inclusive:!0,exact:!1,message:G.minSize.message}),$.dirty()}if(G.maxSize!==null){if(J.data.size>G.maxSize.value)b(J,{code:Z.too_big,maximum:G.maxSize.value,type:"set",inclusive:!0,exact:!1,message:G.maxSize.message}),$.dirty()}let X=this._def.valueType;function Y(Q){let V=new Set;for(let W of Q){if(W.status==="aborted")return k;if(W.status==="dirty")$.dirty();V.add(W.value)}return{status:$.value,value:V}}let U=[...J.data.values()].map((Q,V)=>X._parse(new dq(J,Q,J.path,V)));if(J.common.async)return Promise.all(U).then((Q)=>Y(Q));else return Y(U)}min(q,$){return new k1({...this._def,minSize:{value:q,message:y.toString($)}})}max(q,$){return new k1({...this._def,maxSize:{value:q,message:y.toString($)}})}size(q,$){return this.min(q,$).max(q,$)}nonempty(q){return this.min(1,q)}}k1.create=(q,$)=>{return new k1({valueType:q,minSize:null,maxSize:null,typeName:u.ZodSet,...i($)})};class M0 extends c{constructor(){super(...arguments);this.validate=this.implement}_parse(q){let{ctx:$}=this._processInputParams(q);if($.parsedType!==T.function)return b($,{code:Z.invalid_type,expected:T.function,received:$.parsedType}),k;function J(U,Q){return J$({data:U,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,H0(),H1].filter((V)=>!!V),issueData:{code:Z.invalid_arguments,argumentsError:Q}})}function G(U,Q){return J$({data:U,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,H0(),H1].filter((V)=>!!V),issueData:{code:Z.invalid_return_type,returnTypeError:Q}})}let X={errorMap:$.common.contextualErrorMap},Y=$.data;if(this._def.returns instanceof f1){let U=this;return Nq(async function(...Q){let V=new Aq([]),W=await U._def.args.parseAsync(Q,X).catch((B)=>{throw V.addIssue(J(Q,B)),V}),H=await Reflect.apply(Y,this,W);return await U._def.returns._def.type.parseAsync(H,X).catch((B)=>{throw V.addIssue(G(H,B)),V})})}else{let U=this;return Nq(function(...Q){let V=U._def.args.safeParse(Q,X);if(!V.success)throw new Aq([J(Q,V.error)]);let W=Reflect.apply(Y,this,V.data),H=U._def.returns.safeParse(W,X);if(!H.success)throw new Aq([G(W,H.error)]);return H.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...q){return new M0({...this._def,args:q1.create(q).rest(w1.create())})}returns(q){return new M0({...this._def,returns:q})}implement(q){return this.parse(q)}strictImplement(q){return this.parse(q)}static create(q,$,J){return new M0({args:q?q:q1.create([]).rest(w1.create()),returns:$||w1.create(),typeName:u.ZodFunction,...i(J)})}}class O0 extends c{get schema(){return this._def.getter()}_parse(q){let{ctx:$}=this._processInputParams(q);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}O0.create=(q,$)=>{return new O0({getter:q,typeName:u.ZodLazy,...i($)})};class A0 extends c{_parse(q){if(q.data!==this._def.value){let $=this._getOrReturnCtx(q);return b($,{received:$.data,code:Z.invalid_literal,expected:this._def.value}),k}return{status:"valid",value:q.data}}get value(){return this._def.value}}A0.create=(q,$)=>{return new A0({value:q,typeName:u.ZodLiteral,...i($)})};function Q3(q,$){return new A1({values:q,typeName:u.ZodEnum,...i($)})}class A1 extends c{_parse(q){if(typeof q.data!=="string"){let $=this._getOrReturnCtx(q),J=this._def.values;return b($,{expected:o.joinValues(J),received:$.parsedType,code:Z.invalid_type}),k}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(q.data)){let $=this._getOrReturnCtx(q),J=this._def.values;return b($,{received:$.data,code:Z.invalid_enum_value,options:J}),k}return Nq(q.data)}get options(){return this._def.values}get enum(){let q={};for(let $ of this._def.values)q[$]=$;return q}get Values(){let q={};for(let $ of this._def.values)q[$]=$;return q}get Enum(){let q={};for(let $ of this._def.values)q[$]=$;return q}extract(q,$=this._def){return A1.create(q,{...this._def,...$})}exclude(q,$=this._def){return A1.create(this.options.filter((J)=>!q.includes(J)),{...this._def,...$})}}A1.create=Q3;class N0 extends c{_parse(q){let $=o.getValidEnumValues(this._def.values),J=this._getOrReturnCtx(q);if(J.parsedType!==T.string&&J.parsedType!==T.number){let G=o.objectValues($);return b(J,{expected:o.joinValues(G),received:J.parsedType,code:Z.invalid_type}),k}if(!this._cache)this._cache=new Set(o.getValidEnumValues(this._def.values));if(!this._cache.has(q.data)){let G=o.objectValues($);return b(J,{received:J.data,code:Z.invalid_enum_value,options:G}),k}return Nq(q.data)}get enum(){return this._def.values}}N0.create=(q,$)=>{return new N0({values:q,typeName:u.ZodNativeEnum,...i($)})};class f1 extends c{unwrap(){return this._def.type}_parse(q){let{ctx:$}=this._processInputParams(q);if($.parsedType!==T.promise&&$.common.async===!1)return b($,{code:Z.invalid_type,expected:T.promise,received:$.parsedType}),k;let J=$.parsedType===T.promise?$.data:Promise.resolve($.data);return Nq(J.then((G)=>{return this._def.type.parseAsync(G,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}f1.create=(q,$)=>{return new f1({type:q,typeName:u.ZodPromise,...i($)})};class cq extends c{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===u.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(q){let{status:$,ctx:J}=this._processInputParams(q),G=this._def.effect||null,X={addIssue:(Y)=>{if(b(J,Y),Y.fatal)$.abort();else $.dirty()},get path(){return J.path}};if(X.addIssue=X.addIssue.bind(X),G.type==="preprocess"){let Y=G.transform(J.data,X);if(J.common.async)return Promise.resolve(Y).then(async(U)=>{if($.value==="aborted")return k;let Q=await this._def.schema._parseAsync({data:U,path:J.path,parent:J});if(Q.status==="aborted")return k;if(Q.status==="dirty")return h1(Q.value);if($.value==="dirty")return h1(Q.value);return Q});else{if($.value==="aborted")return k;let U=this._def.schema._parseSync({data:Y,path:J.path,parent:J});if(U.status==="aborted")return k;if(U.status==="dirty")return h1(U.value);if($.value==="dirty")return h1(U.value);return U}}if(G.type==="refinement"){let Y=(U)=>{let Q=G.refinement(U,X);if(J.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return U};if(J.common.async===!1){let U=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(U.status==="aborted")return k;if(U.status==="dirty")$.dirty();return Y(U.value),{status:$.value,value:U.value}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((U)=>{if(U.status==="aborted")return k;if(U.status==="dirty")$.dirty();return Y(U.value).then(()=>{return{status:$.value,value:U.value}})})}if(G.type==="transform")if(J.common.async===!1){let Y=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(!D1(Y))return k;let U=G.transform(Y.value,X);if(U instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:U}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((Y)=>{if(!D1(Y))return k;return Promise.resolve(G.transform(Y.value,X)).then((U)=>({status:$.value,value:U}))});o.assertNever(G)}}cq.create=(q,$,J)=>{return new cq({schema:q,typeName:u.ZodEffects,effect:$,...i(J)})};cq.createWithPreprocess=(q,$,J)=>{return new cq({schema:$,effect:{type:"preprocess",transform:q},typeName:u.ZodEffects,...i(J)})};class iq extends c{_parse(q){if(this._getType(q)===T.undefined)return Nq(void 0);return this._def.innerType._parse(q)}unwrap(){return this._def.innerType}}iq.create=(q,$)=>{return new iq({innerType:q,typeName:u.ZodOptional,...i($)})};class z1 extends c{_parse(q){if(this._getType(q)===T.null)return Nq(null);return this._def.innerType._parse(q)}unwrap(){return this._def.innerType}}z1.create=(q,$)=>{return new z1({innerType:q,typeName:u.ZodNullable,...i($)})};class S0 extends c{_parse(q){let{ctx:$}=this._processInputParams(q),J=$.data;if($.parsedType===T.undefined)J=this._def.defaultValue();return this._def.innerType._parse({data:J,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}S0.create=(q,$)=>{return new S0({innerType:q,typeName:u.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...i($)})};class j0 extends c{_parse(q){let{ctx:$}=this._processInputParams(q),J={...$,common:{...$.common,issues:[]}},G=this._def.innerType._parse({data:J.data,path:J.path,parent:{...J}});if(K0(G))return G.then((X)=>{return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new Aq(J.common.issues)},input:J.data})}});else return{status:"valid",value:G.status==="valid"?G.value:this._def.catchValue({get error(){return new Aq(J.common.issues)},input:J.data})}}removeCatch(){return this._def.innerType}}j0.create=(q,$)=>{return new j0({innerType:q,typeName:u.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...i($)})};class Q$ extends c{_parse(q){if(this._getType(q)!==T.nan){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.nan,received:J.parsedType}),k}return{status:"valid",value:q.data}}}Q$.create=(q)=>{return new Q$({typeName:u.ZodNaN,...i(q)})};var QX=Symbol("zod_brand");class c$ extends c{_parse(q){let{ctx:$}=this._processInputParams(q),J=$.data;return this._def.type._parse({data:J,path:$.path,parent:$})}unwrap(){return this._def.type}}class V$ extends c{_parse(q){let{status:$,ctx:J}=this._processInputParams(q);if(J.common.async)return(async()=>{let X=await this._def.in._parseAsync({data:J.data,path:J.path,parent:J});if(X.status==="aborted")return k;if(X.status==="dirty")return $.dirty(),h1(X.value);else return this._def.out._parseAsync({data:X.value,path:J.path,parent:J})})();else{let G=this._def.in._parseSync({data:J.data,path:J.path,parent:J});if(G.status==="aborted")return k;if(G.status==="dirty")return $.dirty(),{status:"dirty",value:G.value};else return this._def.out._parseSync({data:G.value,path:J.path,parent:J})}}static create(q,$){return new V$({in:q,out:$,typeName:u.ZodPipeline})}}class P0 extends c{_parse(q){let $=this._def.innerType._parse(q),J=(G)=>{if(D1(G))G.value=Object.freeze(G.value);return G};return K0($)?$.then((G)=>J(G)):J($)}unwrap(){return this._def.innerType}}P0.create=(q,$)=>{return new P0({innerType:q,typeName:u.ZodReadonly,...i($)})};function G3(q,$){let J=typeof q==="function"?q($):typeof q==="string"?{message:q}:q;return typeof J==="string"?{message:J}:J}function V3(q,$={},J){if(q)return m1.create().superRefine((G,X)=>{let Y=q(G);if(Y instanceof Promise)return Y.then((U)=>{if(!U){let Q=G3($,G),V=Q.fatal??J??!0;X.addIssue({code:"custom",...Q,fatal:V})}});if(!Y){let U=G3($,G),Q=U.fatal??J??!0;X.addIssue({code:"custom",...U,fatal:Q})}return});return m1.create()}var VX={object:Uq.lazycreate},u;(function(q){q.ZodString="ZodString",q.ZodNumber="ZodNumber",q.ZodNaN="ZodNaN",q.ZodBigInt="ZodBigInt",q.ZodBoolean="ZodBoolean",q.ZodDate="ZodDate",q.ZodSymbol="ZodSymbol",q.ZodUndefined="ZodUndefined",q.ZodNull="ZodNull",q.ZodAny="ZodAny",q.ZodUnknown="ZodUnknown",q.ZodNever="ZodNever",q.ZodVoid="ZodVoid",q.ZodArray="ZodArray",q.ZodObject="ZodObject",q.ZodUnion="ZodUnion",q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",q.ZodIntersection="ZodIntersection",q.ZodTuple="ZodTuple",q.ZodRecord="ZodRecord",q.ZodMap="ZodMap",q.ZodSet="ZodSet",q.ZodFunction="ZodFunction",q.ZodLazy="ZodLazy",q.ZodLiteral="ZodLiteral",q.ZodEnum="ZodEnum",q.ZodEffects="ZodEffects",q.ZodNativeEnum="ZodNativeEnum",q.ZodOptional="ZodOptional",q.ZodNullable="ZodNullable",q.ZodDefault="ZodDefault",q.ZodCatch="ZodCatch",q.ZodPromise="ZodPromise",q.ZodBranded="ZodBranded",q.ZodPipeline="ZodPipeline",q.ZodReadonly="ZodReadonly"})(u||(u={}));var WX=(q,$={message:`Input not instance of ${q.name}`})=>V3((J)=>J instanceof q,$),W3=lq.create,H3=F1.create,HX=Q$.create,KX=O1.create,K3=R0.create,zX=x1.create,MX=G$.create,RX=B0.create,BX=D0.create,DX=m1.create,wX=w1.create,FX=eq.create,OX=X$.create,AX=rq.create,NX=Uq.create,SX=Uq.strictCreate,jX=w0.create,PX=d$.create,LX=F0.create,ZX=q1.create,CX=Y$.create,EX=U$.create,TX=k1.create,_X=M0.create,bX=O0.create,IX=A0.create,gX=A1.create,vX=N0.create,yX=f1.create,hX=cq.create,xX=iq.create,mX=z1.create,kX=cq.createWithPreprocess,fX=V$.create,uX=()=>W3().optional(),pX=()=>H3().optional(),lX=()=>K3().optional(),rX={string:(q)=>lq.create({...q,coerce:!0}),number:(q)=>F1.create({...q,coerce:!0}),boolean:(q)=>R0.create({...q,coerce:!0}),bigint:(q)=>O1.create({...q,coerce:!0}),date:(q)=>x1.create({...q,coerce:!0})};var iX=k;var dX=E.object({url:E.string(),authToken:E.string().optional()});import{openSync as cX,writeSync as nX}from"fs";class nq{static instance=null;level;context;useStderr;format;logFile;fileHandle;constructor(q={},$){if(this.level=q.level??3,this.context=q.context??void 0,this.useStderr=q.useStderr??!1,this.format=q.format??"text",this.logFile=q.logFile,$!==void 0)this.fileHandle=$;else if(this.logFile)try{this.fileHandle=cX(this.logFile,"a")}catch{}}static getInstance(q){if(!nq.instance)nq.instance=new nq(q);else if(q?.useStderr!==void 0)nq.instance.useStderr=q.useStderr;return nq.instance}static resetInstance(){nq.instance=null}static createFresh(q){return new nq(q)}formatEntry(q,$,J){let G=new Date().toISOString();if(this.format==="json"){let X={ts:G,level:q,msg:$};if(this.context)X.ctx=this.context;if(J.length>0)X.data=J;return JSON.stringify(X)}return this.context?`[${G}] [${this.context}] ${$}`:`[${G}] ${$}`}write(q,$,J,G){if(this.format==="json")q(this.formatEntry($,J,G));else if(G.length>0)q(this.formatEntry($,J,[]),...G);else q(this.formatEntry($,J,[]));if(this.fileHandle!==void 0){let X=this.formatJsonEntry($,J,G);try{nX(this.fileHandle,X+`
|
|
57
|
+
`).map(($)=>$.trim()).join(" ")};P8.O=function(q){return this.inspectOpts.colors=this.useColors,P5.inspect(q,this.inspectOpts)}});var E8=m((BS,o2)=>{if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)o2.exports=F8();else o2.exports=C8()});var Z6=m((pL,L6)=>{var y5=Object.prototype.hasOwnProperty,P6=Object.prototype.toString,F6=Object.defineProperty,O6=Object.getOwnPropertyDescriptor,A6=function($){if(typeof Array.isArray==="function")return Array.isArray($);return P6.call($)==="[object Array]"},N6=function($){if(!$||P6.call($)!=="[object Object]")return!1;var J=y5.call($,"constructor"),G=$.constructor&&$.constructor.prototype&&y5.call($.constructor.prototype,"isPrototypeOf");if($.constructor&&!J&&!G)return!1;var X;for(X in $);return typeof X>"u"||y5.call($,X)},S6=function($,J){if(F6&&J.name==="__proto__")F6($,J.name,{enumerable:!0,configurable:!0,value:J.newValue,writable:!0});else $[J.name]=J.newValue},j6=function($,J){if(J==="__proto__"){if(!y5.call($,J))return;else if(O6)return O6($,J).value}return $[J]};L6.exports=function q(){var $,J,G,X,Y,U,Q=arguments[0],V=1,W=arguments.length,H=!1;if(typeof Q==="boolean")H=Q,Q=arguments[1]||{},V=2;if(Q==null||typeof Q!=="object"&&typeof Q!=="function")Q={};for(;V<W;++V)if($=arguments[V],$!=null){for(J in $)if(G=j6(Q,J),X=j6($,J),Q!==X){if(H&&X&&(N6(X)||(Y=A6(X)))){if(Y)Y=!1,U=G&&A6(G)?G:[];else U=G&&N6(G)?G:{};S6(Q,{name:J,newValue:q(H,U,X)})}else if(typeof X<"u")S6(Q,{name:J,newValue:X})}}return Q}});import{parseArgs as IG}from"util";var gG={help:{type:"boolean",short:"h"},version:{type:"boolean",short:"v"},"dry-run":{type:"boolean"},"push-to":{type:"string"}};function q2(q,$){let J=q[$];return typeof J==="boolean"?J:void 0}function vG(q,$){let J=q[$];return typeof J==="string"?J:void 0}function q3(q){let{values:$,positionals:J}=IG({args:q,options:gG,allowPositionals:!0});if($.help)return{command:"help",args:[],flags:{help:!0}};if($.version)return{command:"version",args:[],flags:{version:!0}};return{command:J[0]??"help",args:J.slice(1),flags:{help:q2($,"help"),version:q2($,"version"),dryRun:q2($,"dry-run"),pushTo:vG($,"push-to")}}}var l$={name:"@rizom/ops",description:"Operator CLI for managing private brain fleet registry repos",publishConfig:{access:"public"},version:"0.2.0-alpha.7",type:"module",exports:{".":{types:"./dist/index.d.ts",import:"./dist/index.js"},"./deploy":{bun:"./dist/deploy.js",types:"./dist/deploy.d.ts",import:"./dist/deploy.js"}},main:"./dist/index.js",types:"./dist/index.d.ts",bin:{"brains-ops":"./dist/brains-ops.js"},files:["dist","templates"],scripts:{build:"bun scripts/build.ts",prepublishOnly:"bun scripts/build.ts",typecheck:"tsc --noEmit",lint:"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix",test:"bun test"},dependencies:{},devDependencies:{"@brains/eslint-config":"workspace:*","@brains/typescript-config":"workspace:*","@brains/utils":"workspace:*","@types/bun":"latest",typescript:"^5.3.3"},repository:{type:"git",url:"https://github.com/rizom-ai/brains.git",directory:"packages/brains-ops"},license:"Apache-2.0",author:"Yeehaa <yeehaa@rizom.ai> (https://rizom.ai)",homepage:"https://github.com/rizom-ai/brains/tree/main/packages/brains-ops#readme",bugs:"https://github.com/rizom-ai/brains/issues",engines:{bun:">=1.3.3"},keywords:["brains","ops","cli","deploy","fleet","operator"]};import{mkdir as iB,writeFile as t7}from"fs/promises";import{dirname as dB,join as e7}from"path";var E={};eJ(E,{void:()=>OX,util:()=>o,unknown:()=>wX,union:()=>jX,undefined:()=>RX,tuple:()=>ZX,transformer:()=>hX,symbol:()=>MX,string:()=>W3,strictObject:()=>SX,setErrorMap:()=>mG,set:()=>TX,record:()=>CX,quotelessJson:()=>hG,promise:()=>yX,preprocess:()=>kX,pipeline:()=>fX,ostring:()=>uX,optional:()=>xX,onumber:()=>pX,oboolean:()=>lX,objectUtil:()=>$2,object:()=>NX,number:()=>H3,nullable:()=>mX,null:()=>BX,never:()=>FX,nativeEnum:()=>vX,nan:()=>HX,map:()=>EX,makeIssue:()=>J$,literal:()=>IX,lazy:()=>bX,late:()=>VX,isValid:()=>D1,isDirty:()=>i$,isAsync:()=>K0,isAborted:()=>r$,intersection:()=>LX,instanceof:()=>WX,getParsedType:()=>tq,getErrorMap:()=>H0,function:()=>_X,enum:()=>gX,effect:()=>hX,discriminatedUnion:()=>PX,defaultErrorMap:()=>H1,datetimeRegex:()=>U3,date:()=>zX,custom:()=>V3,coerce:()=>rX,boolean:()=>K3,bigint:()=>KX,array:()=>AX,any:()=>DX,addIssueToContext:()=>b,ZodVoid:()=>X$,ZodUnknown:()=>w1,ZodUnion:()=>w0,ZodUndefined:()=>B0,ZodType:()=>c,ZodTuple:()=>q1,ZodTransformer:()=>cq,ZodSymbol:()=>G$,ZodString:()=>lq,ZodSet:()=>k1,ZodSchema:()=>c,ZodRecord:()=>Y$,ZodReadonly:()=>P0,ZodPromise:()=>f1,ZodPipeline:()=>V$,ZodParsedType:()=>T,ZodOptional:()=>iq,ZodObject:()=>Uq,ZodNumber:()=>F1,ZodNullable:()=>z1,ZodNull:()=>D0,ZodNever:()=>eq,ZodNativeEnum:()=>N0,ZodNaN:()=>Q$,ZodMap:()=>U$,ZodLiteral:()=>A0,ZodLazy:()=>O0,ZodIssueCode:()=>Z,ZodIntersection:()=>F0,ZodFunction:()=>M0,ZodFirstPartyTypeKind:()=>u,ZodError:()=>Aq,ZodEnum:()=>A1,ZodEffects:()=>cq,ZodDiscriminatedUnion:()=>d$,ZodDefault:()=>S0,ZodDate:()=>x1,ZodCatch:()=>j0,ZodBranded:()=>c$,ZodBoolean:()=>R0,ZodBigInt:()=>O1,ZodArray:()=>rq,ZodAny:()=>m1,Schema:()=>c,ParseStatus:()=>wq,OK:()=>Nq,NEVER:()=>iX,INVALID:()=>k,EMPTY_PATH:()=>kG,DIRTY:()=>h1,BRAND:()=>QX});var o;(function(q){q.assertEqual=(X)=>{};function $(X){}q.assertIs=$;function J(X){throw Error()}q.assertNever=J,q.arrayToEnum=(X)=>{let Y={};for(let U of X)Y[U]=U;return Y},q.getValidEnumValues=(X)=>{let Y=q.objectKeys(X).filter((Q)=>typeof X[X[Q]]!=="number"),U={};for(let Q of Y)U[Q]=X[Q];return q.objectValues(U)},q.objectValues=(X)=>{return q.objectKeys(X).map(function(Y){return X[Y]})},q.objectKeys=typeof Object.keys==="function"?(X)=>Object.keys(X):(X)=>{let Y=[];for(let U in X)if(Object.prototype.hasOwnProperty.call(X,U))Y.push(U);return Y},q.find=(X,Y)=>{for(let U of X)if(Y(U))return U;return},q.isInteger=typeof Number.isInteger==="function"?(X)=>Number.isInteger(X):(X)=>typeof X==="number"&&Number.isFinite(X)&&Math.floor(X)===X;function G(X,Y=" | "){return X.map((U)=>typeof U==="string"?`'${U}'`:U).join(Y)}q.joinValues=G,q.jsonStringifyReplacer=(X,Y)=>{if(typeof Y==="bigint")return Y.toString();return Y}})(o||(o={}));var $2;(function(q){q.mergeShapes=($,J)=>{return{...$,...J}}})($2||($2={}));var T=o.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),tq=(q)=>{switch(typeof q){case"undefined":return T.undefined;case"string":return T.string;case"number":return Number.isNaN(q)?T.nan:T.number;case"boolean":return T.boolean;case"function":return T.function;case"bigint":return T.bigint;case"symbol":return T.symbol;case"object":if(Array.isArray(q))return T.array;if(q===null)return T.null;if(q.then&&typeof q.then==="function"&&q.catch&&typeof q.catch==="function")return T.promise;if(typeof Map<"u"&&q instanceof Map)return T.map;if(typeof Set<"u"&&q instanceof Set)return T.set;if(typeof Date<"u"&&q instanceof Date)return T.date;return T.object;default:return T.unknown}};var Z=o.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),hG=(q)=>{return JSON.stringify(q,null,2).replace(/"([^"]+)":/g,"$1:")};class Aq extends Error{get errors(){return this.issues}constructor(q){super();this.issues=[],this.addIssue=(J)=>{this.issues=[...this.issues,J]},this.addIssues=(J=[])=>{this.issues=[...this.issues,...J]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=q}format(q){let $=q||function(X){return X.message},J={_errors:[]},G=(X)=>{for(let Y of X.issues)if(Y.code==="invalid_union")Y.unionErrors.map(G);else if(Y.code==="invalid_return_type")G(Y.returnTypeError);else if(Y.code==="invalid_arguments")G(Y.argumentsError);else if(Y.path.length===0)J._errors.push($(Y));else{let U=J,Q=0;while(Q<Y.path.length){let V=Y.path[Q];if(Q!==Y.path.length-1)U[V]=U[V]||{_errors:[]};else U[V]=U[V]||{_errors:[]},U[V]._errors.push($(Y));U=U[V],Q++}}};return G(this),J}static assert(q){if(!(q instanceof Aq))throw Error(`Not a ZodError: ${q}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,o.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(q=($)=>$.message){let $={},J=[];for(let G of this.issues)if(G.path.length>0){let X=G.path[0];$[X]=$[X]||[],$[X].push(q(G))}else J.push(q(G));return{formErrors:J,fieldErrors:$}}get formErrors(){return this.flatten()}}Aq.create=(q)=>{return new Aq(q)};var xG=(q,$)=>{let J;switch(q.code){case Z.invalid_type:if(q.received===T.undefined)J="Required";else J=`Expected ${q.expected}, received ${q.received}`;break;case Z.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify(q.expected,o.jsonStringifyReplacer)}`;break;case Z.unrecognized_keys:J=`Unrecognized key(s) in object: ${o.joinValues(q.keys,", ")}`;break;case Z.invalid_union:J="Invalid input";break;case Z.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${o.joinValues(q.options)}`;break;case Z.invalid_enum_value:J=`Invalid enum value. Expected ${o.joinValues(q.options)}, received '${q.received}'`;break;case Z.invalid_arguments:J="Invalid function arguments";break;case Z.invalid_return_type:J="Invalid function return type";break;case Z.invalid_date:J="Invalid date";break;case Z.invalid_string:if(typeof q.validation==="object")if("includes"in q.validation){if(J=`Invalid input: must include "${q.validation.includes}"`,typeof q.validation.position==="number")J=`${J} at one or more positions greater than or equal to ${q.validation.position}`}else if("startsWith"in q.validation)J=`Invalid input: must start with "${q.validation.startsWith}"`;else if("endsWith"in q.validation)J=`Invalid input: must end with "${q.validation.endsWith}"`;else o.assertNever(q.validation);else if(q.validation!=="regex")J=`Invalid ${q.validation}`;else J="Invalid";break;case Z.too_small:if(q.type==="array")J=`Array must contain ${q.exact?"exactly":q.inclusive?"at least":"more than"} ${q.minimum} element(s)`;else if(q.type==="string")J=`String must contain ${q.exact?"exactly":q.inclusive?"at least":"over"} ${q.minimum} character(s)`;else if(q.type==="number")J=`Number must be ${q.exact?"exactly equal to ":q.inclusive?"greater than or equal to ":"greater than "}${q.minimum}`;else if(q.type==="bigint")J=`Number must be ${q.exact?"exactly equal to ":q.inclusive?"greater than or equal to ":"greater than "}${q.minimum}`;else if(q.type==="date")J=`Date must be ${q.exact?"exactly equal to ":q.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(q.minimum))}`;else J="Invalid input";break;case Z.too_big:if(q.type==="array")J=`Array must contain ${q.exact?"exactly":q.inclusive?"at most":"less than"} ${q.maximum} element(s)`;else if(q.type==="string")J=`String must contain ${q.exact?"exactly":q.inclusive?"at most":"under"} ${q.maximum} character(s)`;else if(q.type==="number")J=`Number must be ${q.exact?"exactly":q.inclusive?"less than or equal to":"less than"} ${q.maximum}`;else if(q.type==="bigint")J=`BigInt must be ${q.exact?"exactly":q.inclusive?"less than or equal to":"less than"} ${q.maximum}`;else if(q.type==="date")J=`Date must be ${q.exact?"exactly":q.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(q.maximum))}`;else J="Invalid input";break;case Z.custom:J="Invalid input";break;case Z.invalid_intersection_types:J="Intersection results could not be merged";break;case Z.not_multiple_of:J=`Number must be a multiple of ${q.multipleOf}`;break;case Z.not_finite:J="Number must be finite";break;default:J=$.defaultError,o.assertNever(q)}return{message:J}},H1=xG;var $3=H1;function mG(q){$3=q}function H0(){return $3}var J$=(q)=>{let{data:$,path:J,errorMaps:G,issueData:X}=q,Y=[...J,...X.path||[]],U={...X,path:Y};if(X.message!==void 0)return{...X,path:Y,message:X.message};let Q="",V=G.filter((W)=>!!W).slice().reverse();for(let W of V)Q=W(U,{data:$,defaultError:Q}).message;return{...X,path:Y,message:Q}},kG=[];function b(q,$){let J=H0(),G=J$({issueData:$,data:q.data,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,J,J===H1?void 0:H1].filter((X)=>!!X)});q.common.issues.push(G)}class wq{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(q,$){let J=[];for(let G of $){if(G.status==="aborted")return k;if(G.status==="dirty")q.dirty();J.push(G.value)}return{status:q.value,value:J}}static async mergeObjectAsync(q,$){let J=[];for(let G of $){let X=await G.key,Y=await G.value;J.push({key:X,value:Y})}return wq.mergeObjectSync(q,J)}static mergeObjectSync(q,$){let J={};for(let G of $){let{key:X,value:Y}=G;if(X.status==="aborted")return k;if(Y.status==="aborted")return k;if(X.status==="dirty")q.dirty();if(Y.status==="dirty")q.dirty();if(X.value!=="__proto__"&&(typeof Y.value<"u"||G.alwaysSet))J[X.value]=Y.value}return{status:q.value,value:J}}}var k=Object.freeze({status:"aborted"}),h1=(q)=>({status:"dirty",value:q}),Nq=(q)=>({status:"valid",value:q}),r$=(q)=>q.status==="aborted",i$=(q)=>q.status==="dirty",D1=(q)=>q.status==="valid",K0=(q)=>typeof Promise<"u"&&q instanceof Promise;var y;(function(q){q.errToObj=($)=>typeof $==="string"?{message:$}:$||{},q.toString=($)=>typeof $==="string"?$:$?.message})(y||(y={}));class dq{constructor(q,$,J,G){this._cachedPath=[],this.parent=q,this.data=$,this._path=J,this._key=G}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var J3=(q,$)=>{if(D1($))return{success:!0,data:$.value};else{if(!q.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let J=new Aq(q.common.issues);return this._error=J,this._error}}}};function i(q){if(!q)return{};let{errorMap:$,invalid_type_error:J,required_error:G,description:X}=q;if($&&(J||G))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:X};return{errorMap:(U,Q)=>{let{message:V}=q;if(U.code==="invalid_enum_value")return{message:V??Q.defaultError};if(typeof Q.data>"u")return{message:V??G??Q.defaultError};if(U.code!=="invalid_type")return{message:Q.defaultError};return{message:V??J??Q.defaultError}},description:X}}class c{get description(){return this._def.description}_getType(q){return tq(q.data)}_getOrReturnCtx(q,$){return $||{common:q.parent.common,data:q.data,parsedType:tq(q.data),schemaErrorMap:this._def.errorMap,path:q.path,parent:q.parent}}_processInputParams(q){return{status:new wq,ctx:{common:q.parent.common,data:q.data,parsedType:tq(q.data),schemaErrorMap:this._def.errorMap,path:q.path,parent:q.parent}}}_parseSync(q){let $=this._parse(q);if(K0($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(q){let $=this._parse(q);return Promise.resolve($)}parse(q,$){let J=this.safeParse(q,$);if(J.success)return J.data;throw J.error}safeParse(q,$){let J={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:q,parsedType:tq(q)},G=this._parseSync({data:q,path:J.path,parent:J});return J3(J,G)}"~validate"(q){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:q,parsedType:tq(q)};if(!this["~standard"].async)try{let J=this._parseSync({data:q,path:[],parent:$});return D1(J)?{value:J.value}:{issues:$.common.issues}}catch(J){if(J?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:q,path:[],parent:$}).then((J)=>D1(J)?{value:J.value}:{issues:$.common.issues})}async parseAsync(q,$){let J=await this.safeParseAsync(q,$);if(J.success)return J.data;throw J.error}async safeParseAsync(q,$){let J={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:q,parsedType:tq(q)},G=this._parse({data:q,path:J.path,parent:J}),X=await(K0(G)?G:Promise.resolve(G));return J3(J,X)}refine(q,$){let J=(G)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(G);else return $};return this._refinement((G,X)=>{let Y=q(G),U=()=>X.addIssue({code:Z.custom,...J(G)});if(typeof Promise<"u"&&Y instanceof Promise)return Y.then((Q)=>{if(!Q)return U(),!1;else return!0});if(!Y)return U(),!1;else return!0})}refinement(q,$){return this._refinement((J,G)=>{if(!q(J))return G.addIssue(typeof $==="function"?$(J,G):$),!1;else return!0})}_refinement(q){return new cq({schema:this,typeName:u.ZodEffects,effect:{type:"refinement",refinement:q}})}superRefine(q){return this._refinement(q)}constructor(q){this.spa=this.safeParseAsync,this._def=q,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:($)=>this["~validate"]($)}}optional(){return iq.create(this,this._def)}nullable(){return z1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return rq.create(this)}promise(){return f1.create(this,this._def)}or(q){return w0.create([this,q],this._def)}and(q){return F0.create(this,q,this._def)}transform(q){return new cq({...i(this._def),schema:this,typeName:u.ZodEffects,effect:{type:"transform",transform:q}})}default(q){let $=typeof q==="function"?q:()=>q;return new S0({...i(this._def),innerType:this,defaultValue:$,typeName:u.ZodDefault})}brand(){return new c$({typeName:u.ZodBranded,type:this,...i(this._def)})}catch(q){let $=typeof q==="function"?q:()=>q;return new j0({...i(this._def),innerType:this,catchValue:$,typeName:u.ZodCatch})}describe(q){return new this.constructor({...this._def,description:q})}pipe(q){return V$.create(this,q)}readonly(){return P0.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var fG=/^c[^\s-]{8,}$/i,uG=/^[0-9a-z]+$/,pG=/^[0-9A-HJKMNP-TV-Z]{26}$/i,lG=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,rG=/^[a-z0-9_-]{21}$/i,iG=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,dG=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,cG=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,nG="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",J2,oG=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,aG=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,sG=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,tG=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,eG=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,qX=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,X3="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",$X=new RegExp(`^${X3}$`);function Y3(q){let $="[0-5]\\d";if(q.precision)$=`${$}\\.\\d{${q.precision}}`;else if(q.precision==null)$=`${$}(\\.\\d+)?`;let J=q.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${J}`}function JX(q){return new RegExp(`^${Y3(q)}$`)}function U3(q){let $=`${X3}T${Y3(q)}`,J=[];if(J.push(q.local?"Z?":"Z"),q.offset)J.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${J.join("|")})`,new RegExp(`^${$}$`)}function GX(q,$){if(($==="v4"||!$)&&oG.test(q))return!0;if(($==="v6"||!$)&&sG.test(q))return!0;return!1}function XX(q,$){if(!iG.test(q))return!1;try{let[J]=q.split(".");if(!J)return!1;let G=J.replace(/-/g,"+").replace(/_/g,"/").padEnd(J.length+(4-J.length%4)%4,"="),X=JSON.parse(atob(G));if(typeof X!=="object"||X===null)return!1;if("typ"in X&&X?.typ!=="JWT")return!1;if(!X.alg)return!1;if($&&X.alg!==$)return!1;return!0}catch{return!1}}function YX(q,$){if(($==="v4"||!$)&&aG.test(q))return!0;if(($==="v6"||!$)&&tG.test(q))return!0;return!1}class lq extends c{_parse(q){if(this._def.coerce)q.data=String(q.data);if(this._getType(q)!==T.string){let X=this._getOrReturnCtx(q);return b(X,{code:Z.invalid_type,expected:T.string,received:X.parsedType}),k}let J=new wq,G=void 0;for(let X of this._def.checks)if(X.kind==="min"){if(q.data.length<X.value)G=this._getOrReturnCtx(q,G),b(G,{code:Z.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),J.dirty()}else if(X.kind==="max"){if(q.data.length>X.value)G=this._getOrReturnCtx(q,G),b(G,{code:Z.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),J.dirty()}else if(X.kind==="length"){let Y=q.data.length>X.value,U=q.data.length<X.value;if(Y||U){if(G=this._getOrReturnCtx(q,G),Y)b(G,{code:Z.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});else if(U)b(G,{code:Z.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});J.dirty()}}else if(X.kind==="email"){if(!cG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"email",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="emoji"){if(!J2)J2=new RegExp(nG,"u");if(!J2.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"emoji",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="uuid"){if(!lG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"uuid",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="nanoid"){if(!rG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"nanoid",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cuid"){if(!fG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"cuid",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cuid2"){if(!uG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"cuid2",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="ulid"){if(!pG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"ulid",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="url")try{new URL(q.data)}catch{G=this._getOrReturnCtx(q,G),b(G,{validation:"url",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="regex"){if(X.regex.lastIndex=0,!X.regex.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"regex",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="trim")q.data=q.data.trim();else if(X.kind==="includes"){if(!q.data.includes(X.value,X.position))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:{includes:X.value,position:X.position},message:X.message}),J.dirty()}else if(X.kind==="toLowerCase")q.data=q.data.toLowerCase();else if(X.kind==="toUpperCase")q.data=q.data.toUpperCase();else if(X.kind==="startsWith"){if(!q.data.startsWith(X.value))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:{startsWith:X.value},message:X.message}),J.dirty()}else if(X.kind==="endsWith"){if(!q.data.endsWith(X.value))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:{endsWith:X.value},message:X.message}),J.dirty()}else if(X.kind==="datetime"){if(!U3(X).test(q.data))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:"datetime",message:X.message}),J.dirty()}else if(X.kind==="date"){if(!$X.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:"date",message:X.message}),J.dirty()}else if(X.kind==="time"){if(!JX(X).test(q.data))G=this._getOrReturnCtx(q,G),b(G,{code:Z.invalid_string,validation:"time",message:X.message}),J.dirty()}else if(X.kind==="duration"){if(!dG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"duration",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="ip"){if(!GX(q.data,X.version))G=this._getOrReturnCtx(q,G),b(G,{validation:"ip",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="jwt"){if(!XX(q.data,X.alg))G=this._getOrReturnCtx(q,G),b(G,{validation:"jwt",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cidr"){if(!YX(q.data,X.version))G=this._getOrReturnCtx(q,G),b(G,{validation:"cidr",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="base64"){if(!eG.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"base64",code:Z.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="base64url"){if(!qX.test(q.data))G=this._getOrReturnCtx(q,G),b(G,{validation:"base64url",code:Z.invalid_string,message:X.message}),J.dirty()}else o.assertNever(X);return{status:J.value,value:q.data}}_regex(q,$,J){return this.refinement((G)=>q.test(G),{validation:$,code:Z.invalid_string,...y.errToObj(J)})}_addCheck(q){return new lq({...this._def,checks:[...this._def.checks,q]})}email(q){return this._addCheck({kind:"email",...y.errToObj(q)})}url(q){return this._addCheck({kind:"url",...y.errToObj(q)})}emoji(q){return this._addCheck({kind:"emoji",...y.errToObj(q)})}uuid(q){return this._addCheck({kind:"uuid",...y.errToObj(q)})}nanoid(q){return this._addCheck({kind:"nanoid",...y.errToObj(q)})}cuid(q){return this._addCheck({kind:"cuid",...y.errToObj(q)})}cuid2(q){return this._addCheck({kind:"cuid2",...y.errToObj(q)})}ulid(q){return this._addCheck({kind:"ulid",...y.errToObj(q)})}base64(q){return this._addCheck({kind:"base64",...y.errToObj(q)})}base64url(q){return this._addCheck({kind:"base64url",...y.errToObj(q)})}jwt(q){return this._addCheck({kind:"jwt",...y.errToObj(q)})}ip(q){return this._addCheck({kind:"ip",...y.errToObj(q)})}cidr(q){return this._addCheck({kind:"cidr",...y.errToObj(q)})}datetime(q){if(typeof q==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:q});return this._addCheck({kind:"datetime",precision:typeof q?.precision>"u"?null:q?.precision,offset:q?.offset??!1,local:q?.local??!1,...y.errToObj(q?.message)})}date(q){return this._addCheck({kind:"date",message:q})}time(q){if(typeof q==="string")return this._addCheck({kind:"time",precision:null,message:q});return this._addCheck({kind:"time",precision:typeof q?.precision>"u"?null:q?.precision,...y.errToObj(q?.message)})}duration(q){return this._addCheck({kind:"duration",...y.errToObj(q)})}regex(q,$){return this._addCheck({kind:"regex",regex:q,...y.errToObj($)})}includes(q,$){return this._addCheck({kind:"includes",value:q,position:$?.position,...y.errToObj($?.message)})}startsWith(q,$){return this._addCheck({kind:"startsWith",value:q,...y.errToObj($)})}endsWith(q,$){return this._addCheck({kind:"endsWith",value:q,...y.errToObj($)})}min(q,$){return this._addCheck({kind:"min",value:q,...y.errToObj($)})}max(q,$){return this._addCheck({kind:"max",value:q,...y.errToObj($)})}length(q,$){return this._addCheck({kind:"length",value:q,...y.errToObj($)})}nonempty(q){return this.min(1,y.errToObj(q))}trim(){return new lq({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new lq({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new lq({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((q)=>q.kind==="datetime")}get isDate(){return!!this._def.checks.find((q)=>q.kind==="date")}get isTime(){return!!this._def.checks.find((q)=>q.kind==="time")}get isDuration(){return!!this._def.checks.find((q)=>q.kind==="duration")}get isEmail(){return!!this._def.checks.find((q)=>q.kind==="email")}get isURL(){return!!this._def.checks.find((q)=>q.kind==="url")}get isEmoji(){return!!this._def.checks.find((q)=>q.kind==="emoji")}get isUUID(){return!!this._def.checks.find((q)=>q.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((q)=>q.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((q)=>q.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((q)=>q.kind==="cuid2")}get isULID(){return!!this._def.checks.find((q)=>q.kind==="ulid")}get isIP(){return!!this._def.checks.find((q)=>q.kind==="ip")}get isCIDR(){return!!this._def.checks.find((q)=>q.kind==="cidr")}get isBase64(){return!!this._def.checks.find((q)=>q.kind==="base64")}get isBase64url(){return!!this._def.checks.find((q)=>q.kind==="base64url")}get minLength(){let q=null;for(let $ of this._def.checks)if($.kind==="min"){if(q===null||$.value>q)q=$.value}return q}get maxLength(){let q=null;for(let $ of this._def.checks)if($.kind==="max"){if(q===null||$.value<q)q=$.value}return q}}lq.create=(q)=>{return new lq({checks:[],typeName:u.ZodString,coerce:q?.coerce??!1,...i(q)})};function UX(q,$){let J=(q.toString().split(".")[1]||"").length,G=($.toString().split(".")[1]||"").length,X=J>G?J:G,Y=Number.parseInt(q.toFixed(X).replace(".","")),U=Number.parseInt($.toFixed(X).replace(".",""));return Y%U/10**X}class F1 extends c{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(q){if(this._def.coerce)q.data=Number(q.data);if(this._getType(q)!==T.number){let X=this._getOrReturnCtx(q);return b(X,{code:Z.invalid_type,expected:T.number,received:X.parsedType}),k}let J=void 0,G=new wq;for(let X of this._def.checks)if(X.kind==="int"){if(!o.isInteger(q.data))J=this._getOrReturnCtx(q,J),b(J,{code:Z.invalid_type,expected:"integer",received:"float",message:X.message}),G.dirty()}else if(X.kind==="min"){if(X.inclusive?q.data<X.value:q.data<=X.value)J=this._getOrReturnCtx(q,J),b(J,{code:Z.too_small,minimum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),G.dirty()}else if(X.kind==="max"){if(X.inclusive?q.data>X.value:q.data>=X.value)J=this._getOrReturnCtx(q,J),b(J,{code:Z.too_big,maximum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),G.dirty()}else if(X.kind==="multipleOf"){if(UX(q.data,X.value)!==0)J=this._getOrReturnCtx(q,J),b(J,{code:Z.not_multiple_of,multipleOf:X.value,message:X.message}),G.dirty()}else if(X.kind==="finite"){if(!Number.isFinite(q.data))J=this._getOrReturnCtx(q,J),b(J,{code:Z.not_finite,message:X.message}),G.dirty()}else o.assertNever(X);return{status:G.value,value:q.data}}gte(q,$){return this.setLimit("min",q,!0,y.toString($))}gt(q,$){return this.setLimit("min",q,!1,y.toString($))}lte(q,$){return this.setLimit("max",q,!0,y.toString($))}lt(q,$){return this.setLimit("max",q,!1,y.toString($))}setLimit(q,$,J,G){return new F1({...this._def,checks:[...this._def.checks,{kind:q,value:$,inclusive:J,message:y.toString(G)}]})}_addCheck(q){return new F1({...this._def,checks:[...this._def.checks,q]})}int(q){return this._addCheck({kind:"int",message:y.toString(q)})}positive(q){return this._addCheck({kind:"min",value:0,inclusive:!1,message:y.toString(q)})}negative(q){return this._addCheck({kind:"max",value:0,inclusive:!1,message:y.toString(q)})}nonpositive(q){return this._addCheck({kind:"max",value:0,inclusive:!0,message:y.toString(q)})}nonnegative(q){return this._addCheck({kind:"min",value:0,inclusive:!0,message:y.toString(q)})}multipleOf(q,$){return this._addCheck({kind:"multipleOf",value:q,message:y.toString($)})}finite(q){return this._addCheck({kind:"finite",message:y.toString(q)})}safe(q){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:y.toString(q)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:y.toString(q)})}get minValue(){let q=null;for(let $ of this._def.checks)if($.kind==="min"){if(q===null||$.value>q)q=$.value}return q}get maxValue(){let q=null;for(let $ of this._def.checks)if($.kind==="max"){if(q===null||$.value<q)q=$.value}return q}get isInt(){return!!this._def.checks.find((q)=>q.kind==="int"||q.kind==="multipleOf"&&o.isInteger(q.value))}get isFinite(){let q=null,$=null;for(let J of this._def.checks)if(J.kind==="finite"||J.kind==="int"||J.kind==="multipleOf")return!0;else if(J.kind==="min"){if($===null||J.value>$)$=J.value}else if(J.kind==="max"){if(q===null||J.value<q)q=J.value}return Number.isFinite($)&&Number.isFinite(q)}}F1.create=(q)=>{return new F1({checks:[],typeName:u.ZodNumber,coerce:q?.coerce||!1,...i(q)})};class O1 extends c{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(q){if(this._def.coerce)try{q.data=BigInt(q.data)}catch{return this._getInvalidInput(q)}if(this._getType(q)!==T.bigint)return this._getInvalidInput(q);let J=void 0,G=new wq;for(let X of this._def.checks)if(X.kind==="min"){if(X.inclusive?q.data<X.value:q.data<=X.value)J=this._getOrReturnCtx(q,J),b(J,{code:Z.too_small,type:"bigint",minimum:X.value,inclusive:X.inclusive,message:X.message}),G.dirty()}else if(X.kind==="max"){if(X.inclusive?q.data>X.value:q.data>=X.value)J=this._getOrReturnCtx(q,J),b(J,{code:Z.too_big,type:"bigint",maximum:X.value,inclusive:X.inclusive,message:X.message}),G.dirty()}else if(X.kind==="multipleOf"){if(q.data%X.value!==BigInt(0))J=this._getOrReturnCtx(q,J),b(J,{code:Z.not_multiple_of,multipleOf:X.value,message:X.message}),G.dirty()}else o.assertNever(X);return{status:G.value,value:q.data}}_getInvalidInput(q){let $=this._getOrReturnCtx(q);return b($,{code:Z.invalid_type,expected:T.bigint,received:$.parsedType}),k}gte(q,$){return this.setLimit("min",q,!0,y.toString($))}gt(q,$){return this.setLimit("min",q,!1,y.toString($))}lte(q,$){return this.setLimit("max",q,!0,y.toString($))}lt(q,$){return this.setLimit("max",q,!1,y.toString($))}setLimit(q,$,J,G){return new O1({...this._def,checks:[...this._def.checks,{kind:q,value:$,inclusive:J,message:y.toString(G)}]})}_addCheck(q){return new O1({...this._def,checks:[...this._def.checks,q]})}positive(q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:y.toString(q)})}negative(q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:y.toString(q)})}nonpositive(q){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:y.toString(q)})}nonnegative(q){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:y.toString(q)})}multipleOf(q,$){return this._addCheck({kind:"multipleOf",value:q,message:y.toString($)})}get minValue(){let q=null;for(let $ of this._def.checks)if($.kind==="min"){if(q===null||$.value>q)q=$.value}return q}get maxValue(){let q=null;for(let $ of this._def.checks)if($.kind==="max"){if(q===null||$.value<q)q=$.value}return q}}O1.create=(q)=>{return new O1({checks:[],typeName:u.ZodBigInt,coerce:q?.coerce??!1,...i(q)})};class R0 extends c{_parse(q){if(this._def.coerce)q.data=Boolean(q.data);if(this._getType(q)!==T.boolean){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.boolean,received:J.parsedType}),k}return Nq(q.data)}}R0.create=(q)=>{return new R0({typeName:u.ZodBoolean,coerce:q?.coerce||!1,...i(q)})};class x1 extends c{_parse(q){if(this._def.coerce)q.data=new Date(q.data);if(this._getType(q)!==T.date){let X=this._getOrReturnCtx(q);return b(X,{code:Z.invalid_type,expected:T.date,received:X.parsedType}),k}if(Number.isNaN(q.data.getTime())){let X=this._getOrReturnCtx(q);return b(X,{code:Z.invalid_date}),k}let J=new wq,G=void 0;for(let X of this._def.checks)if(X.kind==="min"){if(q.data.getTime()<X.value)G=this._getOrReturnCtx(q,G),b(G,{code:Z.too_small,message:X.message,inclusive:!0,exact:!1,minimum:X.value,type:"date"}),J.dirty()}else if(X.kind==="max"){if(q.data.getTime()>X.value)G=this._getOrReturnCtx(q,G),b(G,{code:Z.too_big,message:X.message,inclusive:!0,exact:!1,maximum:X.value,type:"date"}),J.dirty()}else o.assertNever(X);return{status:J.value,value:new Date(q.data.getTime())}}_addCheck(q){return new x1({...this._def,checks:[...this._def.checks,q]})}min(q,$){return this._addCheck({kind:"min",value:q.getTime(),message:y.toString($)})}max(q,$){return this._addCheck({kind:"max",value:q.getTime(),message:y.toString($)})}get minDate(){let q=null;for(let $ of this._def.checks)if($.kind==="min"){if(q===null||$.value>q)q=$.value}return q!=null?new Date(q):null}get maxDate(){let q=null;for(let $ of this._def.checks)if($.kind==="max"){if(q===null||$.value<q)q=$.value}return q!=null?new Date(q):null}}x1.create=(q)=>{return new x1({checks:[],coerce:q?.coerce||!1,typeName:u.ZodDate,...i(q)})};class G$ extends c{_parse(q){if(this._getType(q)!==T.symbol){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.symbol,received:J.parsedType}),k}return Nq(q.data)}}G$.create=(q)=>{return new G$({typeName:u.ZodSymbol,...i(q)})};class B0 extends c{_parse(q){if(this._getType(q)!==T.undefined){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.undefined,received:J.parsedType}),k}return Nq(q.data)}}B0.create=(q)=>{return new B0({typeName:u.ZodUndefined,...i(q)})};class D0 extends c{_parse(q){if(this._getType(q)!==T.null){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.null,received:J.parsedType}),k}return Nq(q.data)}}D0.create=(q)=>{return new D0({typeName:u.ZodNull,...i(q)})};class m1 extends c{constructor(){super(...arguments);this._any=!0}_parse(q){return Nq(q.data)}}m1.create=(q)=>{return new m1({typeName:u.ZodAny,...i(q)})};class w1 extends c{constructor(){super(...arguments);this._unknown=!0}_parse(q){return Nq(q.data)}}w1.create=(q)=>{return new w1({typeName:u.ZodUnknown,...i(q)})};class eq extends c{_parse(q){let $=this._getOrReturnCtx(q);return b($,{code:Z.invalid_type,expected:T.never,received:$.parsedType}),k}}eq.create=(q)=>{return new eq({typeName:u.ZodNever,...i(q)})};class X$ extends c{_parse(q){if(this._getType(q)!==T.undefined){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.void,received:J.parsedType}),k}return Nq(q.data)}}X$.create=(q)=>{return new X$({typeName:u.ZodVoid,...i(q)})};class rq extends c{_parse(q){let{ctx:$,status:J}=this._processInputParams(q),G=this._def;if($.parsedType!==T.array)return b($,{code:Z.invalid_type,expected:T.array,received:$.parsedType}),k;if(G.exactLength!==null){let Y=$.data.length>G.exactLength.value,U=$.data.length<G.exactLength.value;if(Y||U)b($,{code:Y?Z.too_big:Z.too_small,minimum:U?G.exactLength.value:void 0,maximum:Y?G.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:G.exactLength.message}),J.dirty()}if(G.minLength!==null){if($.data.length<G.minLength.value)b($,{code:Z.too_small,minimum:G.minLength.value,type:"array",inclusive:!0,exact:!1,message:G.minLength.message}),J.dirty()}if(G.maxLength!==null){if($.data.length>G.maxLength.value)b($,{code:Z.too_big,maximum:G.maxLength.value,type:"array",inclusive:!0,exact:!1,message:G.maxLength.message}),J.dirty()}if($.common.async)return Promise.all([...$.data].map((Y,U)=>{return G.type._parseAsync(new dq($,Y,$.path,U))})).then((Y)=>{return wq.mergeArray(J,Y)});let X=[...$.data].map((Y,U)=>{return G.type._parseSync(new dq($,Y,$.path,U))});return wq.mergeArray(J,X)}get element(){return this._def.type}min(q,$){return new rq({...this._def,minLength:{value:q,message:y.toString($)}})}max(q,$){return new rq({...this._def,maxLength:{value:q,message:y.toString($)}})}length(q,$){return new rq({...this._def,exactLength:{value:q,message:y.toString($)}})}nonempty(q){return this.min(1,q)}}rq.create=(q,$)=>{return new rq({type:q,minLength:null,maxLength:null,exactLength:null,typeName:u.ZodArray,...i($)})};function z0(q){if(q instanceof Uq){let $={};for(let J in q.shape){let G=q.shape[J];$[J]=iq.create(z0(G))}return new Uq({...q._def,shape:()=>$})}else if(q instanceof rq)return new rq({...q._def,type:z0(q.element)});else if(q instanceof iq)return iq.create(z0(q.unwrap()));else if(q instanceof z1)return z1.create(z0(q.unwrap()));else if(q instanceof q1)return q1.create(q.items.map(($)=>z0($)));else return q}class Uq extends c{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let q=this._def.shape(),$=o.objectKeys(q);return this._cached={shape:q,keys:$},this._cached}_parse(q){if(this._getType(q)!==T.object){let V=this._getOrReturnCtx(q);return b(V,{code:Z.invalid_type,expected:T.object,received:V.parsedType}),k}let{status:J,ctx:G}=this._processInputParams(q),{shape:X,keys:Y}=this._getCached(),U=[];if(!(this._def.catchall instanceof eq&&this._def.unknownKeys==="strip")){for(let V in G.data)if(!Y.includes(V))U.push(V)}let Q=[];for(let V of Y){let W=X[V],H=G.data[V];Q.push({key:{status:"valid",value:V},value:W._parse(new dq(G,H,G.path,V)),alwaysSet:V in G.data})}if(this._def.catchall instanceof eq){let V=this._def.unknownKeys;if(V==="passthrough")for(let W of U)Q.push({key:{status:"valid",value:W},value:{status:"valid",value:G.data[W]}});else if(V==="strict"){if(U.length>0)b(G,{code:Z.unrecognized_keys,keys:U}),J.dirty()}else if(V==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let V=this._def.catchall;for(let W of U){let H=G.data[W];Q.push({key:{status:"valid",value:W},value:V._parse(new dq(G,H,G.path,W)),alwaysSet:W in G.data})}}if(G.common.async)return Promise.resolve().then(async()=>{let V=[];for(let W of Q){let H=await W.key,K=await W.value;V.push({key:H,value:K,alwaysSet:W.alwaysSet})}return V}).then((V)=>{return wq.mergeObjectSync(J,V)});else return wq.mergeObjectSync(J,Q)}get shape(){return this._def.shape()}strict(q){return y.errToObj,new Uq({...this._def,unknownKeys:"strict",...q!==void 0?{errorMap:($,J)=>{let G=this._def.errorMap?.($,J).message??J.defaultError;if($.code==="unrecognized_keys")return{message:y.errToObj(q).message??G};return{message:G}}}:{}})}strip(){return new Uq({...this._def,unknownKeys:"strip"})}passthrough(){return new Uq({...this._def,unknownKeys:"passthrough"})}extend(q){return new Uq({...this._def,shape:()=>({...this._def.shape(),...q})})}merge(q){return new Uq({unknownKeys:q._def.unknownKeys,catchall:q._def.catchall,shape:()=>({...this._def.shape(),...q._def.shape()}),typeName:u.ZodObject})}setKey(q,$){return this.augment({[q]:$})}catchall(q){return new Uq({...this._def,catchall:q})}pick(q){let $={};for(let J of o.objectKeys(q))if(q[J]&&this.shape[J])$[J]=this.shape[J];return new Uq({...this._def,shape:()=>$})}omit(q){let $={};for(let J of o.objectKeys(this.shape))if(!q[J])$[J]=this.shape[J];return new Uq({...this._def,shape:()=>$})}deepPartial(){return z0(this)}partial(q){let $={};for(let J of o.objectKeys(this.shape)){let G=this.shape[J];if(q&&!q[J])$[J]=G;else $[J]=G.optional()}return new Uq({...this._def,shape:()=>$})}required(q){let $={};for(let J of o.objectKeys(this.shape))if(q&&!q[J])$[J]=this.shape[J];else{let X=this.shape[J];while(X instanceof iq)X=X._def.innerType;$[J]=X}return new Uq({...this._def,shape:()=>$})}keyof(){return Q3(o.objectKeys(this.shape))}}Uq.create=(q,$)=>{return new Uq({shape:()=>q,unknownKeys:"strip",catchall:eq.create(),typeName:u.ZodObject,...i($)})};Uq.strictCreate=(q,$)=>{return new Uq({shape:()=>q,unknownKeys:"strict",catchall:eq.create(),typeName:u.ZodObject,...i($)})};Uq.lazycreate=(q,$)=>{return new Uq({shape:q,unknownKeys:"strip",catchall:eq.create(),typeName:u.ZodObject,...i($)})};class w0 extends c{_parse(q){let{ctx:$}=this._processInputParams(q),J=this._def.options;function G(X){for(let U of X)if(U.result.status==="valid")return U.result;for(let U of X)if(U.result.status==="dirty")return $.common.issues.push(...U.ctx.common.issues),U.result;let Y=X.map((U)=>new Aq(U.ctx.common.issues));return b($,{code:Z.invalid_union,unionErrors:Y}),k}if($.common.async)return Promise.all(J.map(async(X)=>{let Y={...$,common:{...$.common,issues:[]},parent:null};return{result:await X._parseAsync({data:$.data,path:$.path,parent:Y}),ctx:Y}})).then(G);else{let X=void 0,Y=[];for(let Q of J){let V={...$,common:{...$.common,issues:[]},parent:null},W=Q._parseSync({data:$.data,path:$.path,parent:V});if(W.status==="valid")return W;else if(W.status==="dirty"&&!X)X={result:W,ctx:V};if(V.common.issues.length)Y.push(V.common.issues)}if(X)return $.common.issues.push(...X.ctx.common.issues),X.result;let U=Y.map((Q)=>new Aq(Q));return b($,{code:Z.invalid_union,unionErrors:U}),k}}get options(){return this._def.options}}w0.create=(q,$)=>{return new w0({options:q,typeName:u.ZodUnion,...i($)})};var K1=(q)=>{if(q instanceof O0)return K1(q.schema);else if(q instanceof cq)return K1(q.innerType());else if(q instanceof A0)return[q.value];else if(q instanceof A1)return q.options;else if(q instanceof N0)return o.objectValues(q.enum);else if(q instanceof S0)return K1(q._def.innerType);else if(q instanceof B0)return[void 0];else if(q instanceof D0)return[null];else if(q instanceof iq)return[void 0,...K1(q.unwrap())];else if(q instanceof z1)return[null,...K1(q.unwrap())];else if(q instanceof c$)return K1(q.unwrap());else if(q instanceof P0)return K1(q.unwrap());else if(q instanceof j0)return K1(q._def.innerType);else return[]};class d$ extends c{_parse(q){let{ctx:$}=this._processInputParams(q);if($.parsedType!==T.object)return b($,{code:Z.invalid_type,expected:T.object,received:$.parsedType}),k;let J=this.discriminator,G=$.data[J],X=this.optionsMap.get(G);if(!X)return b($,{code:Z.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),k;if($.common.async)return X._parseAsync({data:$.data,path:$.path,parent:$});else return X._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(q,$,J){let G=new Map;for(let X of $){let Y=K1(X.shape[q]);if(!Y.length)throw Error(`A discriminator value for key \`${q}\` could not be extracted from all schema options`);for(let U of Y){if(G.has(U))throw Error(`Discriminator property ${String(q)} has duplicate value ${String(U)}`);G.set(U,X)}}return new d$({typeName:u.ZodDiscriminatedUnion,discriminator:q,options:$,optionsMap:G,...i(J)})}}function G2(q,$){let J=tq(q),G=tq($);if(q===$)return{valid:!0,data:q};else if(J===T.object&&G===T.object){let X=o.objectKeys($),Y=o.objectKeys(q).filter((Q)=>X.indexOf(Q)!==-1),U={...q,...$};for(let Q of Y){let V=G2(q[Q],$[Q]);if(!V.valid)return{valid:!1};U[Q]=V.data}return{valid:!0,data:U}}else if(J===T.array&&G===T.array){if(q.length!==$.length)return{valid:!1};let X=[];for(let Y=0;Y<q.length;Y++){let U=q[Y],Q=$[Y],V=G2(U,Q);if(!V.valid)return{valid:!1};X.push(V.data)}return{valid:!0,data:X}}else if(J===T.date&&G===T.date&&+q===+$)return{valid:!0,data:q};else return{valid:!1}}class F0 extends c{_parse(q){let{status:$,ctx:J}=this._processInputParams(q),G=(X,Y)=>{if(r$(X)||r$(Y))return k;let U=G2(X.value,Y.value);if(!U.valid)return b(J,{code:Z.invalid_intersection_types}),k;if(i$(X)||i$(Y))$.dirty();return{status:$.value,value:U.data}};if(J.common.async)return Promise.all([this._def.left._parseAsync({data:J.data,path:J.path,parent:J}),this._def.right._parseAsync({data:J.data,path:J.path,parent:J})]).then(([X,Y])=>G(X,Y));else return G(this._def.left._parseSync({data:J.data,path:J.path,parent:J}),this._def.right._parseSync({data:J.data,path:J.path,parent:J}))}}F0.create=(q,$,J)=>{return new F0({left:q,right:$,typeName:u.ZodIntersection,...i(J)})};class q1 extends c{_parse(q){let{status:$,ctx:J}=this._processInputParams(q);if(J.parsedType!==T.array)return b(J,{code:Z.invalid_type,expected:T.array,received:J.parsedType}),k;if(J.data.length<this._def.items.length)return b(J,{code:Z.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),k;if(!this._def.rest&&J.data.length>this._def.items.length)b(J,{code:Z.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let X=[...J.data].map((Y,U)=>{let Q=this._def.items[U]||this._def.rest;if(!Q)return null;return Q._parse(new dq(J,Y,J.path,U))}).filter((Y)=>!!Y);if(J.common.async)return Promise.all(X).then((Y)=>{return wq.mergeArray($,Y)});else return wq.mergeArray($,X)}get items(){return this._def.items}rest(q){return new q1({...this._def,rest:q})}}q1.create=(q,$)=>{if(!Array.isArray(q))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new q1({items:q,typeName:u.ZodTuple,rest:null,...i($)})};class Y$ extends c{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(q){let{status:$,ctx:J}=this._processInputParams(q);if(J.parsedType!==T.object)return b(J,{code:Z.invalid_type,expected:T.object,received:J.parsedType}),k;let G=[],X=this._def.keyType,Y=this._def.valueType;for(let U in J.data)G.push({key:X._parse(new dq(J,U,J.path,U)),value:Y._parse(new dq(J,J.data[U],J.path,U)),alwaysSet:U in J.data});if(J.common.async)return wq.mergeObjectAsync($,G);else return wq.mergeObjectSync($,G)}get element(){return this._def.valueType}static create(q,$,J){if($ instanceof c)return new Y$({keyType:q,valueType:$,typeName:u.ZodRecord,...i(J)});return new Y$({keyType:lq.create(),valueType:q,typeName:u.ZodRecord,...i($)})}}class U$ extends c{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(q){let{status:$,ctx:J}=this._processInputParams(q);if(J.parsedType!==T.map)return b(J,{code:Z.invalid_type,expected:T.map,received:J.parsedType}),k;let G=this._def.keyType,X=this._def.valueType,Y=[...J.data.entries()].map(([U,Q],V)=>{return{key:G._parse(new dq(J,U,J.path,[V,"key"])),value:X._parse(new dq(J,Q,J.path,[V,"value"]))}});if(J.common.async){let U=new Map;return Promise.resolve().then(async()=>{for(let Q of Y){let V=await Q.key,W=await Q.value;if(V.status==="aborted"||W.status==="aborted")return k;if(V.status==="dirty"||W.status==="dirty")$.dirty();U.set(V.value,W.value)}return{status:$.value,value:U}})}else{let U=new Map;for(let Q of Y){let{key:V,value:W}=Q;if(V.status==="aborted"||W.status==="aborted")return k;if(V.status==="dirty"||W.status==="dirty")$.dirty();U.set(V.value,W.value)}return{status:$.value,value:U}}}}U$.create=(q,$,J)=>{return new U$({valueType:$,keyType:q,typeName:u.ZodMap,...i(J)})};class k1 extends c{_parse(q){let{status:$,ctx:J}=this._processInputParams(q);if(J.parsedType!==T.set)return b(J,{code:Z.invalid_type,expected:T.set,received:J.parsedType}),k;let G=this._def;if(G.minSize!==null){if(J.data.size<G.minSize.value)b(J,{code:Z.too_small,minimum:G.minSize.value,type:"set",inclusive:!0,exact:!1,message:G.minSize.message}),$.dirty()}if(G.maxSize!==null){if(J.data.size>G.maxSize.value)b(J,{code:Z.too_big,maximum:G.maxSize.value,type:"set",inclusive:!0,exact:!1,message:G.maxSize.message}),$.dirty()}let X=this._def.valueType;function Y(Q){let V=new Set;for(let W of Q){if(W.status==="aborted")return k;if(W.status==="dirty")$.dirty();V.add(W.value)}return{status:$.value,value:V}}let U=[...J.data.values()].map((Q,V)=>X._parse(new dq(J,Q,J.path,V)));if(J.common.async)return Promise.all(U).then((Q)=>Y(Q));else return Y(U)}min(q,$){return new k1({...this._def,minSize:{value:q,message:y.toString($)}})}max(q,$){return new k1({...this._def,maxSize:{value:q,message:y.toString($)}})}size(q,$){return this.min(q,$).max(q,$)}nonempty(q){return this.min(1,q)}}k1.create=(q,$)=>{return new k1({valueType:q,minSize:null,maxSize:null,typeName:u.ZodSet,...i($)})};class M0 extends c{constructor(){super(...arguments);this.validate=this.implement}_parse(q){let{ctx:$}=this._processInputParams(q);if($.parsedType!==T.function)return b($,{code:Z.invalid_type,expected:T.function,received:$.parsedType}),k;function J(U,Q){return J$({data:U,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,H0(),H1].filter((V)=>!!V),issueData:{code:Z.invalid_arguments,argumentsError:Q}})}function G(U,Q){return J$({data:U,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,H0(),H1].filter((V)=>!!V),issueData:{code:Z.invalid_return_type,returnTypeError:Q}})}let X={errorMap:$.common.contextualErrorMap},Y=$.data;if(this._def.returns instanceof f1){let U=this;return Nq(async function(...Q){let V=new Aq([]),W=await U._def.args.parseAsync(Q,X).catch((B)=>{throw V.addIssue(J(Q,B)),V}),H=await Reflect.apply(Y,this,W);return await U._def.returns._def.type.parseAsync(H,X).catch((B)=>{throw V.addIssue(G(H,B)),V})})}else{let U=this;return Nq(function(...Q){let V=U._def.args.safeParse(Q,X);if(!V.success)throw new Aq([J(Q,V.error)]);let W=Reflect.apply(Y,this,V.data),H=U._def.returns.safeParse(W,X);if(!H.success)throw new Aq([G(W,H.error)]);return H.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...q){return new M0({...this._def,args:q1.create(q).rest(w1.create())})}returns(q){return new M0({...this._def,returns:q})}implement(q){return this.parse(q)}strictImplement(q){return this.parse(q)}static create(q,$,J){return new M0({args:q?q:q1.create([]).rest(w1.create()),returns:$||w1.create(),typeName:u.ZodFunction,...i(J)})}}class O0 extends c{get schema(){return this._def.getter()}_parse(q){let{ctx:$}=this._processInputParams(q);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}O0.create=(q,$)=>{return new O0({getter:q,typeName:u.ZodLazy,...i($)})};class A0 extends c{_parse(q){if(q.data!==this._def.value){let $=this._getOrReturnCtx(q);return b($,{received:$.data,code:Z.invalid_literal,expected:this._def.value}),k}return{status:"valid",value:q.data}}get value(){return this._def.value}}A0.create=(q,$)=>{return new A0({value:q,typeName:u.ZodLiteral,...i($)})};function Q3(q,$){return new A1({values:q,typeName:u.ZodEnum,...i($)})}class A1 extends c{_parse(q){if(typeof q.data!=="string"){let $=this._getOrReturnCtx(q),J=this._def.values;return b($,{expected:o.joinValues(J),received:$.parsedType,code:Z.invalid_type}),k}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(q.data)){let $=this._getOrReturnCtx(q),J=this._def.values;return b($,{received:$.data,code:Z.invalid_enum_value,options:J}),k}return Nq(q.data)}get options(){return this._def.values}get enum(){let q={};for(let $ of this._def.values)q[$]=$;return q}get Values(){let q={};for(let $ of this._def.values)q[$]=$;return q}get Enum(){let q={};for(let $ of this._def.values)q[$]=$;return q}extract(q,$=this._def){return A1.create(q,{...this._def,...$})}exclude(q,$=this._def){return A1.create(this.options.filter((J)=>!q.includes(J)),{...this._def,...$})}}A1.create=Q3;class N0 extends c{_parse(q){let $=o.getValidEnumValues(this._def.values),J=this._getOrReturnCtx(q);if(J.parsedType!==T.string&&J.parsedType!==T.number){let G=o.objectValues($);return b(J,{expected:o.joinValues(G),received:J.parsedType,code:Z.invalid_type}),k}if(!this._cache)this._cache=new Set(o.getValidEnumValues(this._def.values));if(!this._cache.has(q.data)){let G=o.objectValues($);return b(J,{received:J.data,code:Z.invalid_enum_value,options:G}),k}return Nq(q.data)}get enum(){return this._def.values}}N0.create=(q,$)=>{return new N0({values:q,typeName:u.ZodNativeEnum,...i($)})};class f1 extends c{unwrap(){return this._def.type}_parse(q){let{ctx:$}=this._processInputParams(q);if($.parsedType!==T.promise&&$.common.async===!1)return b($,{code:Z.invalid_type,expected:T.promise,received:$.parsedType}),k;let J=$.parsedType===T.promise?$.data:Promise.resolve($.data);return Nq(J.then((G)=>{return this._def.type.parseAsync(G,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}f1.create=(q,$)=>{return new f1({type:q,typeName:u.ZodPromise,...i($)})};class cq extends c{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===u.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(q){let{status:$,ctx:J}=this._processInputParams(q),G=this._def.effect||null,X={addIssue:(Y)=>{if(b(J,Y),Y.fatal)$.abort();else $.dirty()},get path(){return J.path}};if(X.addIssue=X.addIssue.bind(X),G.type==="preprocess"){let Y=G.transform(J.data,X);if(J.common.async)return Promise.resolve(Y).then(async(U)=>{if($.value==="aborted")return k;let Q=await this._def.schema._parseAsync({data:U,path:J.path,parent:J});if(Q.status==="aborted")return k;if(Q.status==="dirty")return h1(Q.value);if($.value==="dirty")return h1(Q.value);return Q});else{if($.value==="aborted")return k;let U=this._def.schema._parseSync({data:Y,path:J.path,parent:J});if(U.status==="aborted")return k;if(U.status==="dirty")return h1(U.value);if($.value==="dirty")return h1(U.value);return U}}if(G.type==="refinement"){let Y=(U)=>{let Q=G.refinement(U,X);if(J.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return U};if(J.common.async===!1){let U=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(U.status==="aborted")return k;if(U.status==="dirty")$.dirty();return Y(U.value),{status:$.value,value:U.value}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((U)=>{if(U.status==="aborted")return k;if(U.status==="dirty")$.dirty();return Y(U.value).then(()=>{return{status:$.value,value:U.value}})})}if(G.type==="transform")if(J.common.async===!1){let Y=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(!D1(Y))return k;let U=G.transform(Y.value,X);if(U instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:U}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((Y)=>{if(!D1(Y))return k;return Promise.resolve(G.transform(Y.value,X)).then((U)=>({status:$.value,value:U}))});o.assertNever(G)}}cq.create=(q,$,J)=>{return new cq({schema:q,typeName:u.ZodEffects,effect:$,...i(J)})};cq.createWithPreprocess=(q,$,J)=>{return new cq({schema:$,effect:{type:"preprocess",transform:q},typeName:u.ZodEffects,...i(J)})};class iq extends c{_parse(q){if(this._getType(q)===T.undefined)return Nq(void 0);return this._def.innerType._parse(q)}unwrap(){return this._def.innerType}}iq.create=(q,$)=>{return new iq({innerType:q,typeName:u.ZodOptional,...i($)})};class z1 extends c{_parse(q){if(this._getType(q)===T.null)return Nq(null);return this._def.innerType._parse(q)}unwrap(){return this._def.innerType}}z1.create=(q,$)=>{return new z1({innerType:q,typeName:u.ZodNullable,...i($)})};class S0 extends c{_parse(q){let{ctx:$}=this._processInputParams(q),J=$.data;if($.parsedType===T.undefined)J=this._def.defaultValue();return this._def.innerType._parse({data:J,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}S0.create=(q,$)=>{return new S0({innerType:q,typeName:u.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...i($)})};class j0 extends c{_parse(q){let{ctx:$}=this._processInputParams(q),J={...$,common:{...$.common,issues:[]}},G=this._def.innerType._parse({data:J.data,path:J.path,parent:{...J}});if(K0(G))return G.then((X)=>{return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new Aq(J.common.issues)},input:J.data})}});else return{status:"valid",value:G.status==="valid"?G.value:this._def.catchValue({get error(){return new Aq(J.common.issues)},input:J.data})}}removeCatch(){return this._def.innerType}}j0.create=(q,$)=>{return new j0({innerType:q,typeName:u.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...i($)})};class Q$ extends c{_parse(q){if(this._getType(q)!==T.nan){let J=this._getOrReturnCtx(q);return b(J,{code:Z.invalid_type,expected:T.nan,received:J.parsedType}),k}return{status:"valid",value:q.data}}}Q$.create=(q)=>{return new Q$({typeName:u.ZodNaN,...i(q)})};var QX=Symbol("zod_brand");class c$ extends c{_parse(q){let{ctx:$}=this._processInputParams(q),J=$.data;return this._def.type._parse({data:J,path:$.path,parent:$})}unwrap(){return this._def.type}}class V$ extends c{_parse(q){let{status:$,ctx:J}=this._processInputParams(q);if(J.common.async)return(async()=>{let X=await this._def.in._parseAsync({data:J.data,path:J.path,parent:J});if(X.status==="aborted")return k;if(X.status==="dirty")return $.dirty(),h1(X.value);else return this._def.out._parseAsync({data:X.value,path:J.path,parent:J})})();else{let G=this._def.in._parseSync({data:J.data,path:J.path,parent:J});if(G.status==="aborted")return k;if(G.status==="dirty")return $.dirty(),{status:"dirty",value:G.value};else return this._def.out._parseSync({data:G.value,path:J.path,parent:J})}}static create(q,$){return new V$({in:q,out:$,typeName:u.ZodPipeline})}}class P0 extends c{_parse(q){let $=this._def.innerType._parse(q),J=(G)=>{if(D1(G))G.value=Object.freeze(G.value);return G};return K0($)?$.then((G)=>J(G)):J($)}unwrap(){return this._def.innerType}}P0.create=(q,$)=>{return new P0({innerType:q,typeName:u.ZodReadonly,...i($)})};function G3(q,$){let J=typeof q==="function"?q($):typeof q==="string"?{message:q}:q;return typeof J==="string"?{message:J}:J}function V3(q,$={},J){if(q)return m1.create().superRefine((G,X)=>{let Y=q(G);if(Y instanceof Promise)return Y.then((U)=>{if(!U){let Q=G3($,G),V=Q.fatal??J??!0;X.addIssue({code:"custom",...Q,fatal:V})}});if(!Y){let U=G3($,G),Q=U.fatal??J??!0;X.addIssue({code:"custom",...U,fatal:Q})}return});return m1.create()}var VX={object:Uq.lazycreate},u;(function(q){q.ZodString="ZodString",q.ZodNumber="ZodNumber",q.ZodNaN="ZodNaN",q.ZodBigInt="ZodBigInt",q.ZodBoolean="ZodBoolean",q.ZodDate="ZodDate",q.ZodSymbol="ZodSymbol",q.ZodUndefined="ZodUndefined",q.ZodNull="ZodNull",q.ZodAny="ZodAny",q.ZodUnknown="ZodUnknown",q.ZodNever="ZodNever",q.ZodVoid="ZodVoid",q.ZodArray="ZodArray",q.ZodObject="ZodObject",q.ZodUnion="ZodUnion",q.ZodDiscriminatedUnion="ZodDiscriminatedUnion",q.ZodIntersection="ZodIntersection",q.ZodTuple="ZodTuple",q.ZodRecord="ZodRecord",q.ZodMap="ZodMap",q.ZodSet="ZodSet",q.ZodFunction="ZodFunction",q.ZodLazy="ZodLazy",q.ZodLiteral="ZodLiteral",q.ZodEnum="ZodEnum",q.ZodEffects="ZodEffects",q.ZodNativeEnum="ZodNativeEnum",q.ZodOptional="ZodOptional",q.ZodNullable="ZodNullable",q.ZodDefault="ZodDefault",q.ZodCatch="ZodCatch",q.ZodPromise="ZodPromise",q.ZodBranded="ZodBranded",q.ZodPipeline="ZodPipeline",q.ZodReadonly="ZodReadonly"})(u||(u={}));var WX=(q,$={message:`Input not instance of ${q.name}`})=>V3((J)=>J instanceof q,$),W3=lq.create,H3=F1.create,HX=Q$.create,KX=O1.create,K3=R0.create,zX=x1.create,MX=G$.create,RX=B0.create,BX=D0.create,DX=m1.create,wX=w1.create,FX=eq.create,OX=X$.create,AX=rq.create,NX=Uq.create,SX=Uq.strictCreate,jX=w0.create,PX=d$.create,LX=F0.create,ZX=q1.create,CX=Y$.create,EX=U$.create,TX=k1.create,_X=M0.create,bX=O0.create,IX=A0.create,gX=A1.create,vX=N0.create,yX=f1.create,hX=cq.create,xX=iq.create,mX=z1.create,kX=cq.createWithPreprocess,fX=V$.create,uX=()=>W3().optional(),pX=()=>H3().optional(),lX=()=>K3().optional(),rX={string:(q)=>lq.create({...q,coerce:!0}),number:(q)=>F1.create({...q,coerce:!0}),boolean:(q)=>R0.create({...q,coerce:!0}),bigint:(q)=>O1.create({...q,coerce:!0}),date:(q)=>x1.create({...q,coerce:!0})};var iX=k;var dX=E.object({url:E.string(),authToken:E.string().optional()});import{openSync as cX,writeSync as nX}from"fs";class nq{static instance=null;level;context;useStderr;format;logFile;fileHandle;constructor(q={},$){if(this.level=q.level??3,this.context=q.context??void 0,this.useStderr=q.useStderr??!1,this.format=q.format??"text",this.logFile=q.logFile,$!==void 0)this.fileHandle=$;else if(this.logFile)try{this.fileHandle=cX(this.logFile,"a")}catch{}}static getInstance(q){if(!nq.instance)nq.instance=new nq(q);else if(q?.useStderr!==void 0)nq.instance.useStderr=q.useStderr;return nq.instance}static resetInstance(){nq.instance=null}static createFresh(q){return new nq(q)}formatEntry(q,$,J){let G=new Date().toISOString();if(this.format==="json"){let X={ts:G,level:q,msg:$};if(this.context)X.ctx=this.context;if(J.length>0)X.data=J;return JSON.stringify(X)}return this.context?`[${G}] [${this.context}] ${$}`:`[${G}] ${$}`}write(q,$,J,G){if(this.format==="json")q(this.formatEntry($,J,G));else if(G.length>0)q(this.formatEntry($,J,[]),...G);else q(this.formatEntry($,J,[]));if(this.fileHandle!==void 0){let X=this.formatJsonEntry($,J,G);try{nX(this.fileHandle,X+`
|
|
58
58
|
`)}catch{}}}formatJsonEntry(q,$,J){let G={ts:new Date().toISOString(),level:q,msg:$};if(this.context)G.ctx=this.context;if(J.length>0)G.data=J;return JSON.stringify(G)}silly(q,...$){if(this.level<=0)this.write(console.debug.bind(console),"silly",q,$)}verbose(q,...$){if(this.level<=1)this.write(console.debug.bind(console),"verbose",q,$)}debug(q,...$){if(this.level<=2)this.write(console.debug.bind(console),"debug",q,$)}info(q,...$){if(this.level<=3){let J=this.useStderr?console.error.bind(console):console.info.bind(console);this.write(J,"info",q,$)}}warn(q,...$){if(this.level<=4)this.write(console.warn.bind(console),"warn",q,$)}error(q,...$){if(this.level<=5)this.write(console.error.bind(console),"error",q,$)}child(q){return new nq({level:this.level,context:q,useStderr:this.useStderr,format:this.format},this.fileHandle)}setUseStderr(q){this.useStderr=q}}var oX=nq.getInstance();var Az=e5(T4(),1);function Z2(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var n1=Z2();function y4(q){n1=q}var h4=/[&<>"']/,sV=new RegExp(h4.source,"g"),x4=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,tV=new RegExp(x4.source,"g"),eV={"&":"&","<":"<",">":">",'"':""","'":"'"},_4=(q)=>eV[q];function yq(q,$){if($){if(h4.test(q))return q.replace(sV,_4)}else if(x4.test(q))return q.replace(tV,_4);return q}var qW=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function $W(q){return q.replace(qW,($,J)=>{if(J=J.toLowerCase(),J==="colon")return":";if(J.charAt(0)==="#")return J.charAt(1)==="x"?String.fromCharCode(parseInt(J.substring(2),16)):String.fromCharCode(+J.substring(1));return""})}var JW=/(^|[^\[])\^/g;function $q(q,$){let J=typeof q==="string"?q:q.source;$=$||"";let G={replace:(X,Y)=>{let U=typeof Y==="string"?Y:Y.source;return U=U.replace(JW,"$1"),J=J.replace(X,U),G},getRegex:()=>{return new RegExp(J,$)}};return G}function b4(q){try{q=encodeURI(q).replace(/%25/g,"%")}catch($){return null}return q}var F$={exec:()=>null};function I4(q,$){let J=q.replace(/\|/g,(Y,U,Q)=>{let V=!1,W=U;while(--W>=0&&Q[W]==="\\")V=!V;if(V)return"|";else return" |"}),G=J.split(/ \|/),X=0;if(!G[0].trim())G.shift();if(G.length>0&&!G[G.length-1].trim())G.pop();if($)if(G.length>$)G.splice($);else while(G.length<$)G.push("");for(;X<G.length;X++)G[X]=G[X].trim().replace(/\\\|/g,"|");return G}function U5(q,$,J){let G=q.length;if(G===0)return"";let X=0;while(X<G){let Y=q.charAt(G-X-1);if(Y===$&&!J)X++;else if(Y!==$&&J)X++;else break}return q.slice(0,G-X)}function GW(q,$){if(q.indexOf($[1])===-1)return-1;let J=0;for(let G=0;G<q.length;G++)if(q[G]==="\\")G++;else if(q[G]===$[0])J++;else if(q[G]===$[1]){if(J--,J<0)return G}return-1}function g4(q,$,J,G){let X=$.href,Y=$.title?yq($.title):null,U=q[1].replace(/\\([\[\]])/g,"$1");if(q[0].charAt(0)!=="!"){G.state.inLink=!0;let Q={type:"link",raw:J,href:X,title:Y,text:U,tokens:G.inlineTokens(U)};return G.state.inLink=!1,Q}return{type:"image",raw:J,href:X,title:Y,text:yq(U)}}function XW(q,$){let J=q.match(/^(\s+)(?:```)/);if(J===null)return $;let G=J[1];return $.split(`
|
|
59
59
|
`).map((X)=>{let Y=X.match(/^\s+/);if(Y===null)return X;let[U]=Y;if(U.length>=G.length)return X.slice(G.length);return X}).join(`
|
|
60
60
|
`)}class A${options;rules;lexer;constructor(q){this.options=q||n1}space(q){let $=this.rules.block.newline.exec(q);if($&&$[0].length>0)return{type:"space",raw:$[0]}}code(q){let $=this.rules.block.code.exec(q);if($){let J=$[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:$[0],codeBlockStyle:"indented",text:!this.options.pedantic?U5(J,`
|
|
@@ -173,7 +173,7 @@ Please report this to https://github.com/markedjs/marked.`,q){let G="<p>An error
|
|
|
173
173
|
`)}function BB(q){if(q!==0)throw Error("Only zero-valued INTEGER encoding is currently supported");return Buffer.from([2,1,0])}function E7(q){let $=q.split(".").map((U)=>Number(U));if($.length<2||$.some((U)=>Number.isNaN(U)))throw Error(`Invalid OID: ${q}`);let J=$[0],G=$[1];if(J===void 0||G===void 0)throw Error(`Invalid OID: ${q}`);let Y=[J*40+G];for(let U of $.slice(2)){let Q=SB(U);Y.push(...Q)}return n0(6,Buffer.from(Y))}function DB(q){return n0(12,Buffer.from(q,"utf8"))}function wB(q){return n0(3,Buffer.concat([Buffer.from([0]),q]))}function FB(){return Buffer.from([5,0])}function k$(...q){return n0(48,Buffer.concat(q))}function OB(...q){return n0(49,Buffer.concat(q))}function AB(q,$){return n0(160+q,$)}function n0(q,$){return Buffer.concat([Buffer.from([q]),NB($.length),$])}function NB(q){if(q<128)return Buffer.from([q]);let $=[],J=q;while(J>0)$.unshift(J&255),J>>=8;return Buffer.from([128|$.length,...$])}function SB(q){if(!Number.isInteger(q)||q<0)throw Error(`Invalid OID component: ${q}`);if(q===0)return[0];let $=[],J=q;while(J>0)$.unshift(J&127),J>>=7;for(let G=0;G<$.length-1;G+=1)$[G]=($[G]??0)|128;return $}function h7(q,$){let J=jB($),G=J.length>0?`: ${J.join("; ")}`:"";return` (${q.status} ${q.statusText}${G})`}function jB(q){let $=HB.safeParse(q);if(!$.success)return[];return[...$.data.errors??[],...$.data.messages??[]].map((J)=>J.message).filter((J)=>typeof J==="string"&&J.length>0)}import{mkdir as fB,writeFile as uB}from"fs/promises";import{dirname as pB,join as lB}from"path";function c5(q){let $=q.replaceAll("-","_").toUpperCase();return{gitSyncTokenSecretName:`GIT_SYNC_TOKEN_${$}`,mcpAuthTokenSecretName:`MCP_AUTH_TOKEN_${$}`,discordBotTokenSecretName:`DISCORD_BOT_TOKEN_${$}`}}function x7(q){return async($)=>({brainYaml:PB($,q),envFile:LB($,q)})}function PB(q,$){let J=[`brain: ${q.model}`,`domain: ${q.domain}`,`preset: ${q.preset}`,"","anchors: []","","plugins:"," directory-sync:"," git:",` repo: ${$}/${q.contentRepo}`," authToken: ${GIT_SYNC_TOKEN}"," mcp:"," authToken: ${MCP_AUTH_TOKEN}"];if(q.discordEnabled)J.push(" discord:"),J.push(" botToken: ${DISCORD_BOT_TOKEN}");return J.push(""),J.join(`
|
|
174
174
|
`)}function LB(q,$){let J=c5(q.handle),G=[`BRAIN_VERSION=${q.brainVersion}`,`AI_API_KEY_SECRET=${q.effectiveAiApiKey}`,`GIT_SYNC_TOKEN_SECRET=${J.gitSyncTokenSecretName}`,`MCP_AUTH_TOKEN_SECRET=${J.mcpAuthTokenSecretName}`];if(q.discordEnabled)G.push(`DISCORD_BOT_TOKEN_SECRET=${J.discordBotTokenSecretName}`);return G.push(`CONTENT_REPO=${$}/${q.contentRepo}`),G.push(""),G.join(`
|
|
175
175
|
`)}import{access as EB,readdir as TB,readFile as _B}from"fs/promises";import{basename as r7,join as f$,relative as bB}from"path";var ZB=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,CB=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,m7=E.enum(["core","default","pro"]),k7=E.string().regex(ZB,"expected exact pinned version"),f7=E.string().regex(CB,"expected lowercase handle slug"),iJ=E.string().min(1),u7=E.object({schemaVersion:E.literal(1),brainVersion:k7,model:E.literal("rover"),githubOrg:E.string().min(1),contentRepoPrefix:E.string().min(1),domainSuffix:E.string().min(1),preset:m7,aiApiKey:iJ}).strict(),p7=E.object({handle:f7,discord:E.object({enabled:E.boolean()}).strict(),aiApiKeyOverride:iJ.optional()}).strict(),l7=E.object({members:E.array(f7).min(1),brainVersionOverride:k7.optional(),presetOverride:m7.optional(),aiApiKeyOverride:iJ.optional()}).strict().superRefine((q,$)=>{let J=new Set;for(let G of q.members){if(J.has(G)){$.addIssue({code:E.ZodIssueCode.custom,path:["members"],message:`duplicate cohort member: ${G}`});continue}J.add(G)}});class Q0 extends Error{}async function o0(q,$={}){let[J,G,X]=await Promise.all([dJ(f$(q,"pilot.yaml"),u7),IB(q),gB(q)]),Y=vB(G,X),U=X.map((V)=>({id:V.id,members:[...V.data.members].sort(),...V.data.brainVersionOverride?{brainVersionOverride:V.data.brainVersionOverride}:{},...V.data.presetOverride?{presetOverride:V.data.presetOverride}:{},...V.data.aiApiKeyOverride?{aiApiKeyOverride:V.data.aiApiKeyOverride}:{}})).sort((V,W)=>V.id.localeCompare(W.id)),Q=await Promise.all(G.map(async(V)=>{let W=Y.get(V.data.handle);if(!W)throw new Q0(`User ${V.data.handle} must belong to exactly one cohort`);let H={handle:V.data.handle,cohort:W.id,brainVersion:W.data.brainVersionOverride??J.brainVersion,model:J.model,preset:W.data.presetOverride??J.preset,domain:`${V.data.handle}${J.domainSuffix}`,contentRepo:`${J.contentRepoPrefix}${V.data.handle}-content`,discordEnabled:V.data.discord.enabled,effectiveAiApiKey:V.data.aiApiKeyOverride??W.data.aiApiKeyOverride??J.aiApiKey,snapshotStatus:await yB(q,V.data.handle)},K=await $.resolveStatus?.(H);return{...H,serverStatus:K?.serverStatus??"unknown",deployStatus:K?.deployStatus??"unknown",dnsStatus:K?.dnsStatus??"unknown",mcpStatus:K?.mcpStatus??"unknown"}}));return Q.sort((V,W)=>V.handle.localeCompare(W.handle)),{pilot:J,cohorts:U,users:Q}}async function IB(q){let $=f$(q,"users"),J=await i7($);return(await Promise.all(J.map(async(X)=>{let Y=d7(r7(X)),U=await dJ(X,p7);if(U.handle!==Y){let Q=c7(bB(q,X));throw new Q0(`${Q} must declare handle: ${Y}`)}return{id:Y,data:U}}))).sort((X,Y)=>X.id.localeCompare(Y.id))}async function gB(q){let $=f$(q,"cohorts"),J=await i7($);return(await Promise.all(J.map(async(X)=>({id:d7(r7(X)),data:await dJ(X,l7)})))).sort((X,Y)=>X.id.localeCompare(Y.id))}function vB(q,$){let J=new Map(q.map((X)=>[X.data.handle,X])),G=new Map;for(let X of $)for(let Y of X.data.members){if(!J.has(Y))throw new Q0(`Cohort ${X.id} references unknown user ${Y}`);if(G.has(Y))throw new Q0(`User ${Y} must belong to exactly one cohort`);G.set(Y,X)}for(let X of q)if(!G.has(X.data.handle))throw new Q0(`User ${X.data.handle} must belong to exactly one cohort`);return G}async function yB(q,$){let J=f$(q,"users",$,"brain.yaml");try{return await EB(J),"present"}catch{return"missing"}}async function i7(q){return(await TB(q,{withFileTypes:!0})).filter((J)=>J.isFile()&&J.name.endsWith(".yaml")).map((J)=>f$(q,J.name)).sort((J,G)=>J.localeCompare(G))}async function dJ(q,$){let J=await _B(q,"utf8"),G=uJ(J,$);if(!G.ok)throw new Q0(`${c7(q)}: ${G.error}`);return G.data}function d7(q){return q.replace(/\.yaml$/,"")}function c7(q){return q.replaceAll("\\","/")}import{mkdir as hB,writeFile as xB}from"fs/promises";import{join as n7}from"path";var mB="| handle | cohort | model | preset | brainVersion | domain | contentRepo | discord | serverStatus | deployStatus | dnsStatus | mcpStatus |",kB="| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |";async function a0(q,$={}){let G=($.registry??await o0(q,$)).users.map((Y)=>{let U=Y.discordEnabled?"on":"off";return[Y.handle,Y.cohort,Y.model,Y.preset,Y.brainVersion,Y.domain,Y.contentRepo,U,Y.serverStatus,Y.deployStatus,Y.dnsStatus,Y.mcpStatus]}),X=["<!-- generated by brains-ops; do not edit -->","",mB,kB,...G.map((Y)=>`| ${Y.join(" | ")} |`),""].join(`
|
|
176
|
-
`);await hB(n7(q,"views"),{recursive:!0}),await xB(n7(q,"views","users.md"),X)}async function s0(q,$,J,G){let X=new Set,Y=x7($.pilot.githubOrg);for(let Q of J){let V=(G?await G(Q):void 0)??{},W=await Y(Q),H=V.brainYaml??W.brainYaml,K=V.envFile??W.envFile;if(K)await o7(q,Q.handle,".env",K);if(H)await o7(q,Q.handle,"brain.yaml",H),X.add(Q.handle)}let U=X.size===0?$:{...$,users:$.users.map((Q)=>X.has(Q.handle)?{...Q,snapshotStatus:"present"}:Q)};await a0(q,{registry:U})}async function o7(q,$,J,G){let X=lB(q,"users",$,J);await fB(pB(X),{recursive:!0}),await uB(X,G)}async function t0(q,$){let J=await o0(q),G=J.users.find((X)=>X.handle===$);if(!G)throw Error(`Unknown user handle: ${$}`);return{registry:J,user:G}}async function a7(q,$){let J=await o0(q),G=J.cohorts.find((X)=>X.id===$);if(!G)throw Error(`Unknown cohort: ${$}`);return{registry:J,users:J.users.filter((X)=>X.cohort===G.id)}}async function s7(q){let $=await o0(q);return{registry:$,users:$.users}}function u$(q){let $=q?.trim().toLowerCase();if(!$)return;if($==="gh"||$==="github")return"gh";throw Error(`Unsupported --push-to value: ${q}`)}import{spawn as rB}from"child_process";var I1=async(q,$,J={})=>new Promise((G,X)=>{let Y=rB(q,$,{stdio:["pipe","inherit","inherit"],env:J.env?{...process.env,...J.env}:process.env});if(Y.on("error",X),Y.on("close",(U)=>{if(U===0){G();return}X(Error(`${q} ${$.join(" ")} exited with code ${U??1}`))}),J.stdin)Y.stdin.end(J.stdin);else Y.stdin.end()});async function n5(q,$,J={}){let G=J.runCommand??I1,X=J.logger??console.log;switch(q){case"gh":X(`Pushing ${$.length} secrets to GitHub Secrets...`),await Promise.all($.map(([Y,U])=>G("gh",["secret","set",Y],{stdin:U})));return}}async function qG(q,$,J={}){try{return await cB(q,$,J),{success:!0}}catch(G){return{success:!1,message:G instanceof Error?G.message:"Certificate bootstrap failed"}}}async function cB(q,$,J={}){let{user:G}=await t0(q,$),X=G.domain,Y=J.env??process.env,U=Y0(q),Q=J.cfApiToken??aq("CF_API_TOKEN",Y,U),V=J.cfZoneId??aq("CF_ZONE_ID",Y,U);if(!Q)throw Error("Missing CF_API_TOKEN");if(!V)throw Error("Missing CF_ZONE_ID");let W=J.fetchImpl??fetch,H=J.logger??console.log,K=I7(),{csrPem:B}=g7(X,K),R=await v7(W,Q,B,X),O=e7(q,".brains-ops","certs",$,"origin.pem"),A=e7(q,".brains-ops","certs",$,"origin.key");await iB(dB(O),{recursive:!0}),await Promise.all([t7(O,R.certificatePem,"utf-8"),t7(A,K.privateKeyPem,{encoding:"utf-8",mode:384})]),await y7(W,Q,V);let j=u$(J.pushTo);if(j)await n5(j,[["CERTIFICATE_PEM",R.certificatePem],["PRIVATE_KEY_PEM",K.privateKeyPem]],{logger:H,runCommand:J.runCommand??I1});if(H(`Issued Origin CA cert for ${X}`),H(`Wrote ${O}`),H(`Wrote ${A}`),R.expiresOn)H(`Expires on ${R.expiresOn}`);if(H("Cloudflare zone SSL mode set to Full (strict)"),j)H(`Pushed CERTIFICATE_PEM and PRIVATE_KEY_PEM to ${j}`);return{domain:X,certificatePath:O,privateKeyPath:A,certificatePem:R.certificatePem}}import{access as nB,chmod as oB,mkdir as $G,readFile as aB,writeFile as sB}from"fs/promises";import{dirname as tB,join as cJ}from"path";import{fileURLToPath as eB}from"url";var qD=["pilot.yaml","package.json",".env.schema",".gitignore","cohorts/cohort-1.yaml","users/alice.yaml",".github/workflows/build.yml",".github/workflows/deploy.yml",".github/workflows/reconcile.yml","deploy/Dockerfile","deploy/kamal/deploy.yml","deploy/scripts/helpers.ts","deploy/scripts/provision-server.ts","deploy/scripts/update-dns.ts","deploy/scripts/write-ssh-key.ts","deploy/scripts/validate-secrets.ts","deploy/scripts/write-kamal-secrets.ts","deploy/scripts/resolve-user-config.ts","deploy/scripts/resolve-deploy-handles.ts",".kamal/hooks/pre-deploy","docs/onboarding-checklist.md","docs/operator-playbook.md","README.md"],$D=new Set([".kamal/hooks/pre-deploy"]),JD=eB(new URL("../templates/rover-pilot/",import.meta.url));async function JG(q){await $G(q,{recursive:!0});let $=cJ(q,"views","users.md"),J=!0;try{await nB($)}catch{J=!1}let G=qD.map(async(X)=>{let Y=cJ(q,X);await $G(tB(Y),{recursive:!0}),await GD(X,Y)});if(await Promise.all(G),!J)await a0(q)}async function GD(q,$){let J=await XD(q);try{await sB($,J,{flag:"wx"})}catch(G){if(UD(G,"EEXIST"))return;throw G}if($D.has(q))await oB($,493)}async function XD(q){if(q===".gitignore")return`node_modules/
|
|
176
|
+
`);await hB(n7(q,"views"),{recursive:!0}),await xB(n7(q,"views","users.md"),X)}async function s0(q,$,J,G){let X=new Set,Y=x7($.pilot.githubOrg);for(let Q of J){let V=(G?await G(Q):void 0)??{},W=await Y(Q),H=V.brainYaml??W.brainYaml,K=V.envFile??W.envFile;if(K)await o7(q,Q.handle,".env",K);if(H)await o7(q,Q.handle,"brain.yaml",H),X.add(Q.handle)}let U=X.size===0?$:{...$,users:$.users.map((Q)=>X.has(Q.handle)?{...Q,snapshotStatus:"present"}:Q)};await a0(q,{registry:U})}async function o7(q,$,J,G){let X=lB(q,"users",$,J);await fB(pB(X),{recursive:!0}),await uB(X,G)}async function t0(q,$){let J=await o0(q),G=J.users.find((X)=>X.handle===$);if(!G)throw Error(`Unknown user handle: ${$}`);return{registry:J,user:G}}async function a7(q,$){let J=await o0(q),G=J.cohorts.find((X)=>X.id===$);if(!G)throw Error(`Unknown cohort: ${$}`);return{registry:J,users:J.users.filter((X)=>X.cohort===G.id)}}async function s7(q){let $=await o0(q);return{registry:$,users:$.users}}function u$(q){let $=q?.trim().toLowerCase();if(!$)return;if($==="gh"||$==="github")return"gh";throw Error(`Unsupported --push-to value: ${q}`)}import{spawn as rB}from"child_process";var I1=async(q,$,J={})=>new Promise((G,X)=>{let Y=rB(q,$,{stdio:["pipe","inherit","inherit"],env:J.env?{...process.env,...J.env}:process.env});if(Y.on("error",X),Y.on("close",(U)=>{if(U===0){G();return}X(Error(`${q} ${$.join(" ")} exited with code ${U??1}`))}),J.stdin)Y.stdin.end(J.stdin);else Y.stdin.end()});async function n5(q,$,J={}){let G=J.runCommand??I1,X=J.logger??console.log;switch(q){case"gh":X(`Pushing ${$.length} secrets to GitHub Secrets...`),await Promise.all($.map(([Y,U])=>G("gh",["secret","set",Y],{stdin:U})));return}}async function qG(q,$,J={}){try{return await cB(q,$,J),{success:!0}}catch(G){return{success:!1,message:G instanceof Error?G.message:"Certificate bootstrap failed"}}}async function cB(q,$,J={}){let{user:G}=await t0(q,$),X=G.domain,Y=J.env??process.env,U=Y0(q),Q=J.cfApiToken??aq("CF_API_TOKEN",Y,U),V=J.cfZoneId??aq("CF_ZONE_ID",Y,U);if(!Q)throw Error("Missing CF_API_TOKEN");if(!V)throw Error("Missing CF_ZONE_ID");let W=J.fetchImpl??fetch,H=J.logger??console.log,K=I7(),{csrPem:B}=g7(X,K),R=await v7(W,Q,B,X),O=e7(q,".brains-ops","certs",$,"origin.pem"),A=e7(q,".brains-ops","certs",$,"origin.key");await iB(dB(O),{recursive:!0}),await Promise.all([t7(O,R.certificatePem,"utf-8"),t7(A,K.privateKeyPem,{encoding:"utf-8",mode:384})]),await y7(W,Q,V);let j=u$(J.pushTo);if(j)await n5(j,[["CERTIFICATE_PEM",R.certificatePem],["PRIVATE_KEY_PEM",K.privateKeyPem]],{logger:H,runCommand:J.runCommand??I1});if(H(`Issued Origin CA cert for ${X}`),H(`Wrote ${O}`),H(`Wrote ${A}`),R.expiresOn)H(`Expires on ${R.expiresOn}`);if(H("Cloudflare zone SSL mode set to Full (strict)"),j)H(`Pushed CERTIFICATE_PEM and PRIVATE_KEY_PEM to ${j}`);return{domain:X,certificatePath:O,privateKeyPath:A,certificatePem:R.certificatePem}}import{access as nB,chmod as oB,mkdir as $G,readFile as aB,writeFile as sB}from"fs/promises";import{dirname as tB,join as cJ}from"path";import{fileURLToPath as eB}from"url";var qD=["pilot.yaml","package.json",".env.schema",".gitignore","cohorts/cohort-1.yaml","users/alice.yaml",".github/workflows/build.yml",".github/workflows/deploy.yml",".github/workflows/reconcile.yml","deploy/Dockerfile","deploy/Caddyfile","deploy/kamal/deploy.yml","deploy/scripts/helpers.ts","deploy/scripts/provision-server.ts","deploy/scripts/update-dns.ts","deploy/scripts/write-ssh-key.ts","deploy/scripts/validate-secrets.ts","deploy/scripts/write-kamal-secrets.ts","deploy/scripts/resolve-user-config.ts","deploy/scripts/resolve-deploy-handles.ts",".kamal/hooks/pre-deploy","docs/onboarding-checklist.md","docs/operator-playbook.md","docs/user-onboarding.md","README.md"],$D=new Set([".kamal/hooks/pre-deploy"]),JD=eB(new URL("../templates/rover-pilot/",import.meta.url));async function JG(q){await $G(q,{recursive:!0});let $=cJ(q,"views","users.md"),J=!0;try{await nB($)}catch{J=!1}let G=qD.map(async(X)=>{let Y=cJ(q,X);await $G(tB(Y),{recursive:!0}),await GD(X,Y)});if(await Promise.all(G),!J)await a0(q)}async function GD(q,$){let J=await XD(q);try{await sB($,J,{flag:"wx"})}catch(G){if(UD(G,"EEXIST"))return;throw G}if($D.has(q))await oB($,493)}async function XD(q){if(q===".gitignore")return`node_modules/
|
|
177
177
|
.brains-ops/
|
|
178
178
|
`;let $=cJ(JD,q),J=await aB($,"utf8");return YD(J)}function YD(q){return q.replaceAll("__BRAINS_OPS_VERSION__",l$.version).replaceAll("__BUN_VERSION__",Bun.version)}function UD(q,$){return typeof q==="object"&&q!==null&&"code"in q&&q.code===$}import{lookup as QD}from"dns/promises";function GG(q={}){let $=q.fetchImpl??fetch,J=q.lookupHost??QD;return async function(X){let Y=await VD(X.domain,J),U=await WD(X.domain,$),Q=await HD(X.domain,$);return{dnsStatus:Y,serverStatus:U,deployStatus:U,mcpStatus:Q}}}async function VD(q,$){try{return(await $(q)).address?"ready":"failed"}catch{return"failed"}}async function WD(q,$){try{return(await XG($,`https://${q}/health`,{method:"GET"})).ok?"ready":"failed"}catch{return"failed"}}async function HD(q,$){try{let J=await XG($,`https://${q}/mcp`,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({jsonrpc:"2.0",id:1,method:"initialize",params:{}})});return J.status===401||J.ok?"ready":"failed"}catch{return"failed"}}async function XG(q,$,J){let G=new AbortController,X=setTimeout(()=>G.abort(),5000);try{return await q($,{...J,signal:G.signal})}finally{clearTimeout(X)}}async function YG(q,$,J){let{registry:G,user:X}=await t0(q,$);await s0(q,G,[X],J)}async function UG(q,$){let{registry:J,users:G}=await s7(q);await s0(q,J,G,$)}async function QG(q,$,J){let{registry:G,users:X}=await a7(q,$);await s0(q,G,X,J)}import{readFileSync as KD}from"fs";async function HG(q,$,J={}){let{user:G}=await t0(q,$),X=J.env??process.env,Y=J.logger??console.log,U=Y0(q),Q=lJ(`${q}/.env.schema`),V=zD(Q,G),W=[],H=[],K=new Map;for(let R of V){K.set(R.destination,R.required);let O=MD(R,X,U,q);if(O===void 0||O.trim().length===0){H.push(R.destination);continue}W.push([R.destination,O])}if(W.length===0)throw Error("No pushable local secrets found for the selected pilot user");if(J.dryRun)return Y(`Dry run: would push ${W.length} secrets to GitHub Secrets.`),Y(`Secrets: ${W.map(([R])=>R).join(", ")}`),VG(Y,H,K),{pushedKeys:W.map(([R])=>R),skippedKeys:H,dryRun:!0};let B=J.runCommand??I1;return Y(`Pushing ${W.length} secrets to GitHub Secrets...`),await Promise.all(W.map(([R,O])=>B("gh",["secret","set",R],{stdin:O}))),VG(Y,H,K),{pushedKeys:W.map(([R])=>R),skippedKeys:H}}function zD(q,$){let J=c5($.handle);return q.flatMap((G)=>{switch(G.key){case"AI_API_KEY":return[{destination:$.effectiveAiApiKey,sourceKeys:[$.effectiveAiApiKey,"AI_API_KEY"],required:G.required}];case"GIT_SYNC_TOKEN":return[{destination:J.gitSyncTokenSecretName,sourceKeys:[J.gitSyncTokenSecretName,"GIT_SYNC_TOKEN"],required:G.required}];case"MCP_AUTH_TOKEN":return[{destination:J.mcpAuthTokenSecretName,sourceKeys:[J.mcpAuthTokenSecretName,"MCP_AUTH_TOKEN"],required:G.required}];case"DISCORD_BOT_TOKEN":if(!$.discordEnabled)return[];return[{destination:J.discordBotTokenSecretName,sourceKeys:[J.discordBotTokenSecretName,"DISCORD_BOT_TOKEN"],required:G.required}];default:return[{destination:G.key,sourceKeys:[G.key],required:G.required}]}})}function MD(q,$,J,G){let X=[q.destination,...q.sourceKeys];for(let Y of X){let U=aq(`${Y}_FILE`,$,J);if(U&&U.trim().length>0)return KD(m$(U,G),"utf8")}for(let Y of X){let U=aq(Y,$,J);if(U!==void 0)return U}return}function VG(q,$,J){let G=$.filter((Y)=>J.get(Y)),X=$.filter((Y)=>!J.get(Y));WG(q,"Required before first deploy",G),WG(q,"Safe to ignore for now",X)}function WG(q,$,J){if(J.length===0)return;q(`${$} (${J.length}):`);for(let G of J)q(` - ${G}`)}import{execFileSync as KG}from"child_process";import{chmodSync as RD,existsSync as BD,mkdirSync as DD,readFileSync as zG,writeFileSync as wD}from"fs";import{dirname as FD,join as OD}from"path";import{homedir as AD}from"os";var MG=E.object({id:E.number(),name:E.string(),public_key:E.string()}),ND=E.object({ssh_keys:E.array(MG)}),SD={createEd25519KeyPair(q,$){KG("ssh-keygen",["-t","ed25519","-f",q,"-C",$,"-N",""],{stdio:"ignore"})},derivePublicKey(q){return KG("ssh-keygen",["-y","-f",q],{encoding:"utf-8",stdio:["ignore","pipe","inherit"]}).trim()}};async function RG(q,$={}){try{let J=await jD(q,$);return{success:!0,message:J.createdLocalKey?`SSH deploy key ready at ${J.privateKeyPath}`:`SSH deploy key already ready at ${J.privateKeyPath}`}}catch(J){return{success:!1,message:J instanceof Error?J.message:"SSH key bootstrap failed"}}}async function jD(q,$={}){let J=$.env??process.env,G=Y0(q),X=$.logger??console.log,Y=$.fetchImpl??fetch,U=$.sshKeygen??SD,Q=aq("HCLOUD_TOKEN",J,G);if(!Q)throw Error("Missing HCLOUD_TOKEN");let V=aq("HCLOUD_SSH_KEY_NAME",J,G);if(!V)throw Error("Missing HCLOUD_SSH_KEY_NAME");let W=aq("KAMAL_SSH_PRIVATE_KEY_FILE",J,G),H=W?m$(W,q):OD(AD(),".ssh",`${LD(V)}_ed25519`),K=`${H}.pub`,B=!1;if(!BD(H))DD(FD(H),{recursive:!0,mode:448}),U.createEd25519KeyPair(H,V),B=!0;RD(H,384);let R;if(B)R=zG(K,"utf-8").trim();else R=U.derivePublicKey(H),wD(K,`${R}
|
|
179
179
|
`,"utf-8");if(R.length===0)throw Error(`Unable to derive a public key from ${H}`);let O=await PD({fetchImpl:Y,hcloudToken:Q,publicKey:R,sshKeyName:V}),A=u$($.pushTo);if(A)await n5(A,[["KAMAL_SSH_PRIVATE_KEY",zG(H,"utf-8")]],{logger:X,runCommand:$.runCommand??I1});if(X(B?`Created ${H}`:`Reusing ${H}`),X(O?`Registered Hetzner SSH key ${V}`:`Hetzner SSH key ${V} already exists`),A)X(`Pushed KAMAL_SSH_PRIVATE_KEY to ${A}`);return{createdHetznerKey:O,createdLocalKey:B,privateKeyPath:H,publicKeyPath:K,sshKeyName:V}}async function PD(q){let $=new URL("https://api.hetzner.cloud/v1/ssh_keys");$.searchParams.set("name",q.sshKeyName);let J=await q.fetchImpl($.toString(),{headers:{Authorization:`Bearer ${q.hcloudToken}`,"Content-Type":"application/json"}}),{ssh_keys:G}=await U0(J,ND,{label:"Hetzner SSH key lookup failed"}),[X]=G;if(X){if(X.public_key.trim()!==q.publicKey)throw Error(`Existing Hetzner SSH key ${q.sshKeyName} does not match the local public key`);return!1}let Y=await q.fetchImpl("https://api.hetzner.cloud/v1/ssh_keys",{method:"POST",headers:{Authorization:`Bearer ${q.hcloudToken}`,"Content-Type":"application/json"},body:JSON.stringify({name:q.sshKeyName,public_key:q.publicKey})});return await U0(Y,E.object({ssh_key:MG}),{label:"Hetzner SSH key create failed"}),!0}function LD(q){return q.replace(/[^A-Za-z0-9._-]+/g,"_")}async function BG(q,$={}){switch(q.command){case"init":{let J=q.args[0];if(!J)return{success:!1,message:"Usage: brains-ops init <repo>"};return await JG(J),{success:!0,message:`Initialized ${J}`}}case"render":{let J=q.args[0];if(!J)return{success:!1,message:"Usage: brains-ops render <repo>"};let G=$.resolveStatus??GG({...$.fetchImpl?{fetchImpl:$.fetchImpl}:{},...$.lookupHost?{lookupHost:$.lookupHost}:{}});return await a0(J,{resolveStatus:G}),{success:!0,message:`Rendered ${J}/views/users.md`}}case"onboard":{let J=q.args[0],G=q.args[1];if(!J||!G)return{success:!1,message:"Usage: brains-ops onboard <repo> <handle>"};return await YG(J,G,$.runner),{success:!0,message:`Onboarded ${G}`}}case"ssh-key:bootstrap":{let J=q.args[0];if(!J)return{success:!1,message:"Usage: brains-ops ssh-key:bootstrap <repo>"};return RG(J,{...$.env?{env:$.env}:{},...$.fetchImpl?{fetchImpl:$.fetchImpl}:{},...$.logger?{logger:$.logger}:{},...q.flags.pushTo?{pushTo:q.flags.pushTo}:{},...$.bootstrapRunCommand?{runCommand:$.bootstrapRunCommand}:{},...$.sshKeygen?{sshKeygen:$.sshKeygen}:{}})}case"cert:bootstrap":{let J=q.args[0],G=q.args[1];if(!J||!G)return{success:!1,message:"Usage: brains-ops cert:bootstrap <repo> <handle>"};return qG(J,G,{...$.env?{env:$.env}:{},...$.fetchImpl?{fetchImpl:$.fetchImpl}:{},...$.logger?{logger:$.logger}:{},...q.flags.pushTo?{pushTo:q.flags.pushTo}:{},...$.bootstrapRunCommand?{runCommand:$.bootstrapRunCommand}:{}})}case"secrets:push":{let J=q.args[0],G=q.args[1];if(!J||!G)return{success:!1,message:"Usage: brains-ops secrets:push <repo> <handle>"};let X=await HG(J,G,{env:$.env,logger:$.logger,dryRun:q.flags.dryRun,runCommand:$.secretRunCommand});return{success:!0,message:X.dryRun?`Dry run: would push ${X.pushedKeys.length} secrets`:`Pushed ${X.pushedKeys.length} secrets for ${G}`}}case"reconcile-cohort":{let J=q.args[0],G=q.args[1];if(!J||!G)return{success:!1,message:"Usage: brains-ops reconcile-cohort <repo> <cohort>"};return await QG(J,G,$.runner),{success:!0,message:`Reconciled cohort ${G}`}}case"reconcile-all":{let J=q.args[0];if(!J)return{success:!1,message:"Usage: brains-ops reconcile-all <repo>"};return await UG(J,$.runner),{success:!0,message:"Reconciled all cohorts"}}case"help":return{success:!0,message:["brains-ops \u2014 operator CLI for private brain fleet repos","","Usage: brains-ops <command> [args]","","Commands:"," init <repo>"," render <repo>"," onboard <repo> <handle>"," ssh-key:bootstrap <repo>"," cert:bootstrap <repo> <handle>"," secrets:push <repo> <handle>"," reconcile-cohort <repo> <cohort>"," reconcile-all <repo>"," help"].join(`
|