@rizom/ops 0.2.0-alpha.6 → 0.2.0-alpha.8
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/.github/workflows/deploy.yml +3 -1
- package/templates/rover-pilot/deploy/Caddyfile +66 -0
- package/templates/rover-pilot/deploy/Dockerfile +30 -7
- package/templates/rover-pilot/deploy/kamal/deploy.yml +2 -1
- package/templates/rover-pilot/docs/onboarding-checklist.md +1 -0
- package/templates/rover-pilot/docs/user-onboarding.md +356 -0
package/dist/index.js
CHANGED
|
@@ -53,7 +53,7 @@ return `+str.trim()+`;
|
|
|
53
53
|
`).join(`
|
|
54
54
|
`+Y),q.push(X+"m+"+L5.exports.humanize(this.diff)+"\x1B[0m")}else q[0]=OK()+$+" "+q[0]}function OK(){if(_8.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function AK(...q){return process.stderr.write(P5.formatWithOptions(_8.inspectOpts,...q)+`
|
|
55
55
|
`)}function NK(q){if(q)process.env.DEBUG=q;else delete process.env.DEBUG}function SK(){return process.env.DEBUG}function jK(q){q.inspectOpts={};let $=Object.keys(_8.inspectOpts);for(let J=0;J<$.length;J++)q.inspectOpts[$[J]]=_8.inspectOpts[$[J]]}L5.exports=r2()(_8);var{formatters:T8}=L5.exports;T8.o=function(q){return this.inspectOpts.colors=this.useColors,P5.inspect(q,this.inspectOpts).split(`
|
|
56
|
-
`).map(($)=>$.trim()).join(" ")};T8.O=function(q){return this.inspectOpts.colors=this.useColors,P5.inspect(q,this.inspectOpts)}});var g8=m((zS,c2)=>{if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)c2.exports=j8();else c2.exports=I8()});var b6=m((kL,_6)=>{var y5=Object.prototype.hasOwnProperty,T6=Object.prototype.toString,j6=Object.defineProperty,P6=Object.getOwnPropertyDescriptor,L6=function($){if(typeof Array.isArray==="function")return Array.isArray($);return T6.call($)==="[object Array]"},Z6=function($){if(!$||T6.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)},C6=function($,J){if(j6&&J.name==="__proto__")j6($,J.name,{enumerable:!0,configurable:!0,value:J.newValue,writable:!0});else $[J.name]=J.newValue},E6=function($,J){if(J==="__proto__"){if(!y5.call($,J))return;else if(P6)return P6($,J).value}return $[J]};_6.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=E6(Q,J),X=E6($,J),Q!==X){if(H&&X&&(Z6(X)||(Y=L6(X)))){if(Y)Y=!1,U=G&&L6(G)?G:[];else U=G&&Z6(G)?G:{};C6(Q,{name:J,newValue:q(H,U,X)})}else if(typeof X<"u")C6(Q,{name:J,newValue:X})}}return Q}});import{access as RB,chmod as BB,mkdir as l7,readFile as DB,writeFile as wB}from"fs/promises";import{dirname as FB,join as iJ}from"path";import{fileURLToPath as OB}from"url";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 HB,writeFile as KB}from"fs/promises";import{join as p7}from"path";import{access as JB,readdir as GB,readFile as XB}from"fs/promises";import{basename as m7,join as k$,relative as YB}from"path";var E={};Y3(E,{void:()=>BX,util:()=>o,unknown:()=>MX,union:()=>OX,undefined:()=>HX,tuple:()=>SX,transformer:()=>IX,symbol:()=>WX,string:()=>R3,strictObject:()=>FX,setErrorMap:()=>vG,set:()=>LX,record:()=>jX,quotelessJson:()=>IG,promise:()=>bX,preprocess:()=>yX,pipeline:()=>hX,ostring:()=>xX,optional:()=>gX,onumber:()=>mX,oboolean:()=>kX,objectUtil:()=>e5,object:()=>wX,number:()=>B3,nullable:()=>vX,null:()=>KX,never:()=>RX,nativeEnum:()=>_X,nan:()=>UX,map:()=>PX,makeIssue:()=>J$,literal:()=>EX,lazy:()=>CX,late:()=>XX,isValid:()=>D1,isDirty:()=>i$,isAsync:()=>M0,isAborted:()=>r$,intersection:()=>NX,instanceof:()=>YX,getParsedType:()=>tq,getErrorMap:()=>z0,function:()=>ZX,enum:()=>TX,effect:()=>IX,discriminatedUnion:()=>AX,defaultErrorMap:()=>H1,datetimeRegex:()=>K3,date:()=>VX,custom:()=>M3,coerce:()=>fX,boolean:()=>D3,bigint:()=>QX,array:()=>DX,any:()=>zX,addIssueToContext:()=>b,ZodVoid:()=>X$,ZodUnknown:()=>w1,ZodUnion:()=>O0,ZodUndefined:()=>w0,ZodType:()=>c,ZodTuple:()=>q1,ZodTransformer:()=>cq,ZodSymbol:()=>G$,ZodString:()=>lq,ZodSet:()=>k1,ZodSchema:()=>c,ZodRecord:()=>Y$,ZodReadonly:()=>Z0,ZodPromise:()=>f1,ZodPipeline:()=>V$,ZodParsedType:()=>T,ZodOptional:()=>iq,ZodObject:()=>Uq,ZodNumber:()=>F1,ZodNullable:()=>z1,ZodNull:()=>F0,ZodNever:()=>eq,ZodNativeEnum:()=>j0,ZodNaN:()=>Q$,ZodMap:()=>U$,ZodLiteral:()=>S0,ZodLazy:()=>N0,ZodIssueCode:()=>Z,ZodIntersection:()=>A0,ZodFunction:()=>B0,ZodFirstPartyTypeKind:()=>u,ZodError:()=>Aq,ZodEnum:()=>A1,ZodEffects:()=>cq,ZodDiscriminatedUnion:()=>d$,ZodDefault:()=>P0,ZodDate:()=>x1,ZodCatch:()=>L0,ZodBranded:()=>c$,ZodBoolean:()=>D0,ZodBigInt:()=>O1,ZodArray:()=>rq,ZodAny:()=>m1,Schema:()=>c,ParseStatus:()=>wq,OK:()=>Nq,NEVER:()=>uX,INVALID:()=>k,EMPTY_PATH:()=>yG,DIRTY:()=>h1,BRAND:()=>GX});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 e5;(function(q){q.mergeShapes=($,J)=>{return{...$,...J}}})(e5||(e5={}));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"]),IG=(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 gG=(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=gG;var U3=H1;function vG(q){U3=q}function z0(){return U3}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}},yG=[];function b(q,$){let J=z0(),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",M0=(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 Q3=(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(M0($))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 Q3(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(M0(G)?G:Promise.resolve(G));return Q3(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 O0.create([this,q],this._def)}and(q){return A0.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 P0({...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 L0({...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 Z0.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var hG=/^c[^\s-]{8,}$/i,xG=/^[0-9a-z]+$/,mG=/^[0-9A-HJKMNP-TV-Z]{26}$/i,kG=/^[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,fG=/^[a-z0-9_-]{21}$/i,uG=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,pG=/^[-+]?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)?)??$/,lG=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,rG="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",q2,iG=/^(?:(?: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])$/,dG=/^(?:(?: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])$/,cG=/^(([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]))$/,nG=/^(([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])$/,oG=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,aG=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,W3="((\\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])))",sG=new RegExp(`^${W3}$`);function H3(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 tG(q){return new RegExp(`^${H3(q)}$`)}function K3(q){let $=`${W3}T${H3(q)}`,J=[];if(J.push(q.local?"Z?":"Z"),q.offset)J.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${J.join("|")})`,new RegExp(`^${$}$`)}function eG(q,$){if(($==="v4"||!$)&&iG.test(q))return!0;if(($==="v6"||!$)&&cG.test(q))return!0;return!1}function qX(q,$){if(!uG.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 $X(q,$){if(($==="v4"||!$)&&dG.test(q))return!0;if(($==="v6"||!$)&&nG.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(!lG.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(!q2)q2=new RegExp(rG,"u");if(!q2.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(!kG.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(!fG.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(!hG.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(!xG.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(!mG.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(!K3(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(!sG.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(!tG(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(!pG.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(!eG(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(!qX(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(!$X(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(!oG.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(!aG.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 JX(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(JX(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 D0 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)}}D0.create=(q)=>{return new D0({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 w0 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)}}w0.create=(q)=>{return new w0({typeName:u.ZodUndefined,...i(q)})};class F0 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)}}F0.create=(q)=>{return new F0({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 R0(q){if(q instanceof Uq){let $={};for(let J in q.shape){let G=q.shape[J];$[J]=iq.create(R0(G))}return new Uq({...q._def,shape:()=>$})}else if(q instanceof rq)return new rq({...q._def,type:R0(q.element)});else if(q instanceof iq)return iq.create(R0(q.unwrap()));else if(q instanceof z1)return z1.create(R0(q.unwrap()));else if(q instanceof q1)return q1.create(q.items.map(($)=>R0($)));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 R0(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 z3(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 O0 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}}O0.create=(q,$)=>{return new O0({options:q,typeName:u.ZodUnion,...i($)})};var K1=(q)=>{if(q instanceof N0)return K1(q.schema);else if(q instanceof cq)return K1(q.innerType());else if(q instanceof S0)return[q.value];else if(q instanceof A1)return q.options;else if(q instanceof j0)return o.objectValues(q.enum);else if(q instanceof P0)return K1(q._def.innerType);else if(q instanceof w0)return[void 0];else if(q instanceof F0)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 Z0)return K1(q.unwrap());else if(q instanceof L0)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 $2(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=$2(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=$2(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 A0 extends c{_parse(q){let{status:$,ctx:J}=this._processInputParams(q),G=(X,Y)=>{if(r$(X)||r$(Y))return k;let U=$2(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}))}}A0.create=(q,$,J)=>{return new A0({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 B0 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,z0(),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,z0(),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 B0({...this._def,args:q1.create(q).rest(w1.create())})}returns(q){return new B0({...this._def,returns:q})}implement(q){return this.parse(q)}strictImplement(q){return this.parse(q)}static create(q,$,J){return new B0({args:q?q:q1.create([]).rest(w1.create()),returns:$||w1.create(),typeName:u.ZodFunction,...i(J)})}}class N0 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:$})}}N0.create=(q,$)=>{return new N0({getter:q,typeName:u.ZodLazy,...i($)})};class S0 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}}S0.create=(q,$)=>{return new S0({value:q,typeName:u.ZodLiteral,...i($)})};function z3(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=z3;class j0 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}}j0.create=(q,$)=>{return new j0({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 P0 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}}P0.create=(q,$)=>{return new P0({innerType:q,typeName:u.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...i($)})};class L0 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(M0(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}}L0.create=(q,$)=>{return new L0({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 GX=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 Z0 extends c{_parse(q){let $=this._def.innerType._parse(q),J=(G)=>{if(D1(G))G.value=Object.freeze(G.value);return G};return M0($)?$.then((G)=>J(G)):J($)}unwrap(){return this._def.innerType}}Z0.create=(q,$)=>{return new Z0({innerType:q,typeName:u.ZodReadonly,...i($)})};function V3(q,$){let J=typeof q==="function"?q($):typeof q==="string"?{message:q}:q;return typeof J==="string"?{message:J}:J}function M3(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=V3($,G),V=Q.fatal??J??!0;X.addIssue({code:"custom",...Q,fatal:V})}});if(!Y){let U=V3($,G),Q=U.fatal??J??!0;X.addIssue({code:"custom",...U,fatal:Q})}return});return m1.create()}var XX={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 YX=(q,$={message:`Input not instance of ${q.name}`})=>M3((J)=>J instanceof q,$),R3=lq.create,B3=F1.create,UX=Q$.create,QX=O1.create,D3=D0.create,VX=x1.create,WX=G$.create,HX=w0.create,KX=F0.create,zX=m1.create,MX=w1.create,RX=eq.create,BX=X$.create,DX=rq.create,wX=Uq.create,FX=Uq.strictCreate,OX=O0.create,AX=d$.create,NX=A0.create,SX=q1.create,jX=Y$.create,PX=U$.create,LX=k1.create,ZX=B0.create,CX=N0.create,EX=S0.create,TX=A1.create,_X=j0.create,bX=f1.create,IX=cq.create,gX=iq.create,vX=z1.create,yX=cq.createWithPreprocess,hX=V$.create,xX=()=>R3().optional(),mX=()=>B3().optional(),kX=()=>D3().optional(),fX={string:(q)=>lq.create({...q,coerce:!0}),number:(q)=>F1.create({...q,coerce:!0}),boolean:(q)=>D0.create({...q,coerce:!0}),bigint:(q)=>O1.create({...q,coerce:!0}),date:(q)=>x1.create({...q,coerce:!0})};var uX=k;var pX=E.object({url:E.string(),authToken:E.string().optional()});import{openSync as lX,writeSync as rX}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=lX(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{rX(this.fileHandle,X+`
|
|
56
|
+
`).map(($)=>$.trim()).join(" ")};T8.O=function(q){return this.inspectOpts.colors=this.useColors,P5.inspect(q,this.inspectOpts)}});var g8=m((zS,c2)=>{if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)c2.exports=j8();else c2.exports=I8()});var b6=m((kL,_6)=>{var y5=Object.prototype.hasOwnProperty,T6=Object.prototype.toString,j6=Object.defineProperty,P6=Object.getOwnPropertyDescriptor,L6=function($){if(typeof Array.isArray==="function")return Array.isArray($);return T6.call($)==="[object Array]"},Z6=function($){if(!$||T6.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)},C6=function($,J){if(j6&&J.name==="__proto__")j6($,J.name,{enumerable:!0,configurable:!0,value:J.newValue,writable:!0});else $[J.name]=J.newValue},E6=function($,J){if(J==="__proto__"){if(!y5.call($,J))return;else if(P6)return P6($,J).value}return $[J]};_6.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=E6(Q,J),X=E6($,J),Q!==X){if(H&&X&&(Z6(X)||(Y=L6(X)))){if(Y)Y=!1,U=G&&L6(G)?G:[];else U=G&&Z6(G)?G:{};C6(Q,{name:J,newValue:q(H,U,X)})}else if(typeof X<"u")C6(Q,{name:J,newValue:X})}}return Q}});import{access as RB,chmod as BB,mkdir as l7,readFile as DB,writeFile as wB}from"fs/promises";import{dirname as FB,join as iJ}from"path";import{fileURLToPath as OB}from"url";var l$={name:"@rizom/ops",description:"Operator CLI for managing private brain fleet registry repos",publishConfig:{access:"public"},version:"0.2.0-alpha.8",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 HB,writeFile as KB}from"fs/promises";import{join as p7}from"path";import{access as JB,readdir as GB,readFile as XB}from"fs/promises";import{basename as m7,join as k$,relative as YB}from"path";var E={};Y3(E,{void:()=>BX,util:()=>o,unknown:()=>MX,union:()=>OX,undefined:()=>HX,tuple:()=>SX,transformer:()=>IX,symbol:()=>WX,string:()=>R3,strictObject:()=>FX,setErrorMap:()=>vG,set:()=>LX,record:()=>jX,quotelessJson:()=>IG,promise:()=>bX,preprocess:()=>yX,pipeline:()=>hX,ostring:()=>xX,optional:()=>gX,onumber:()=>mX,oboolean:()=>kX,objectUtil:()=>e5,object:()=>wX,number:()=>B3,nullable:()=>vX,null:()=>KX,never:()=>RX,nativeEnum:()=>_X,nan:()=>UX,map:()=>PX,makeIssue:()=>J$,literal:()=>EX,lazy:()=>CX,late:()=>XX,isValid:()=>D1,isDirty:()=>i$,isAsync:()=>M0,isAborted:()=>r$,intersection:()=>NX,instanceof:()=>YX,getParsedType:()=>tq,getErrorMap:()=>z0,function:()=>ZX,enum:()=>TX,effect:()=>IX,discriminatedUnion:()=>AX,defaultErrorMap:()=>H1,datetimeRegex:()=>K3,date:()=>VX,custom:()=>M3,coerce:()=>fX,boolean:()=>D3,bigint:()=>QX,array:()=>DX,any:()=>zX,addIssueToContext:()=>b,ZodVoid:()=>X$,ZodUnknown:()=>w1,ZodUnion:()=>O0,ZodUndefined:()=>w0,ZodType:()=>c,ZodTuple:()=>q1,ZodTransformer:()=>cq,ZodSymbol:()=>G$,ZodString:()=>lq,ZodSet:()=>k1,ZodSchema:()=>c,ZodRecord:()=>Y$,ZodReadonly:()=>Z0,ZodPromise:()=>f1,ZodPipeline:()=>V$,ZodParsedType:()=>T,ZodOptional:()=>iq,ZodObject:()=>Uq,ZodNumber:()=>F1,ZodNullable:()=>z1,ZodNull:()=>F0,ZodNever:()=>eq,ZodNativeEnum:()=>j0,ZodNaN:()=>Q$,ZodMap:()=>U$,ZodLiteral:()=>S0,ZodLazy:()=>N0,ZodIssueCode:()=>Z,ZodIntersection:()=>A0,ZodFunction:()=>B0,ZodFirstPartyTypeKind:()=>u,ZodError:()=>Aq,ZodEnum:()=>A1,ZodEffects:()=>cq,ZodDiscriminatedUnion:()=>d$,ZodDefault:()=>P0,ZodDate:()=>x1,ZodCatch:()=>L0,ZodBranded:()=>c$,ZodBoolean:()=>D0,ZodBigInt:()=>O1,ZodArray:()=>rq,ZodAny:()=>m1,Schema:()=>c,ParseStatus:()=>wq,OK:()=>Nq,NEVER:()=>uX,INVALID:()=>k,EMPTY_PATH:()=>yG,DIRTY:()=>h1,BRAND:()=>GX});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 e5;(function(q){q.mergeShapes=($,J)=>{return{...$,...J}}})(e5||(e5={}));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"]),IG=(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 gG=(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=gG;var U3=H1;function vG(q){U3=q}function z0(){return U3}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}},yG=[];function b(q,$){let J=z0(),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",M0=(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 Q3=(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(M0($))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 Q3(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(M0(G)?G:Promise.resolve(G));return Q3(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 O0.create([this,q],this._def)}and(q){return A0.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 P0({...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 L0({...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 Z0.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var hG=/^c[^\s-]{8,}$/i,xG=/^[0-9a-z]+$/,mG=/^[0-9A-HJKMNP-TV-Z]{26}$/i,kG=/^[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,fG=/^[a-z0-9_-]{21}$/i,uG=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,pG=/^[-+]?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)?)??$/,lG=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,rG="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",q2,iG=/^(?:(?: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])$/,dG=/^(?:(?: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])$/,cG=/^(([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]))$/,nG=/^(([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])$/,oG=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,aG=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,W3="((\\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])))",sG=new RegExp(`^${W3}$`);function H3(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 tG(q){return new RegExp(`^${H3(q)}$`)}function K3(q){let $=`${W3}T${H3(q)}`,J=[];if(J.push(q.local?"Z?":"Z"),q.offset)J.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${J.join("|")})`,new RegExp(`^${$}$`)}function eG(q,$){if(($==="v4"||!$)&&iG.test(q))return!0;if(($==="v6"||!$)&&cG.test(q))return!0;return!1}function qX(q,$){if(!uG.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 $X(q,$){if(($==="v4"||!$)&&dG.test(q))return!0;if(($==="v6"||!$)&&nG.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(!lG.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(!q2)q2=new RegExp(rG,"u");if(!q2.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(!kG.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(!fG.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(!hG.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(!xG.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(!mG.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(!K3(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(!sG.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(!tG(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(!pG.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(!eG(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(!qX(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(!$X(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(!oG.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(!aG.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 JX(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(JX(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 D0 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)}}D0.create=(q)=>{return new D0({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 w0 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)}}w0.create=(q)=>{return new w0({typeName:u.ZodUndefined,...i(q)})};class F0 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)}}F0.create=(q)=>{return new F0({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 R0(q){if(q instanceof Uq){let $={};for(let J in q.shape){let G=q.shape[J];$[J]=iq.create(R0(G))}return new Uq({...q._def,shape:()=>$})}else if(q instanceof rq)return new rq({...q._def,type:R0(q.element)});else if(q instanceof iq)return iq.create(R0(q.unwrap()));else if(q instanceof z1)return z1.create(R0(q.unwrap()));else if(q instanceof q1)return q1.create(q.items.map(($)=>R0($)));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 R0(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 z3(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 O0 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}}O0.create=(q,$)=>{return new O0({options:q,typeName:u.ZodUnion,...i($)})};var K1=(q)=>{if(q instanceof N0)return K1(q.schema);else if(q instanceof cq)return K1(q.innerType());else if(q instanceof S0)return[q.value];else if(q instanceof A1)return q.options;else if(q instanceof j0)return o.objectValues(q.enum);else if(q instanceof P0)return K1(q._def.innerType);else if(q instanceof w0)return[void 0];else if(q instanceof F0)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 Z0)return K1(q.unwrap());else if(q instanceof L0)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 $2(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=$2(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=$2(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 A0 extends c{_parse(q){let{status:$,ctx:J}=this._processInputParams(q),G=(X,Y)=>{if(r$(X)||r$(Y))return k;let U=$2(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}))}}A0.create=(q,$,J)=>{return new A0({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 B0 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,z0(),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,z0(),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 B0({...this._def,args:q1.create(q).rest(w1.create())})}returns(q){return new B0({...this._def,returns:q})}implement(q){return this.parse(q)}strictImplement(q){return this.parse(q)}static create(q,$,J){return new B0({args:q?q:q1.create([]).rest(w1.create()),returns:$||w1.create(),typeName:u.ZodFunction,...i(J)})}}class N0 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:$})}}N0.create=(q,$)=>{return new N0({getter:q,typeName:u.ZodLazy,...i($)})};class S0 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}}S0.create=(q,$)=>{return new S0({value:q,typeName:u.ZodLiteral,...i($)})};function z3(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=z3;class j0 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}}j0.create=(q,$)=>{return new j0({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 P0 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}}P0.create=(q,$)=>{return new P0({innerType:q,typeName:u.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...i($)})};class L0 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(M0(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}}L0.create=(q,$)=>{return new L0({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 GX=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 Z0 extends c{_parse(q){let $=this._def.innerType._parse(q),J=(G)=>{if(D1(G))G.value=Object.freeze(G.value);return G};return M0($)?$.then((G)=>J(G)):J($)}unwrap(){return this._def.innerType}}Z0.create=(q,$)=>{return new Z0({innerType:q,typeName:u.ZodReadonly,...i($)})};function V3(q,$){let J=typeof q==="function"?q($):typeof q==="string"?{message:q}:q;return typeof J==="string"?{message:J}:J}function M3(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=V3($,G),V=Q.fatal??J??!0;X.addIssue({code:"custom",...Q,fatal:V})}});if(!Y){let U=V3($,G),Q=U.fatal??J??!0;X.addIssue({code:"custom",...U,fatal:Q})}return});return m1.create()}var XX={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 YX=(q,$={message:`Input not instance of ${q.name}`})=>M3((J)=>J instanceof q,$),R3=lq.create,B3=F1.create,UX=Q$.create,QX=O1.create,D3=D0.create,VX=x1.create,WX=G$.create,HX=w0.create,KX=F0.create,zX=m1.create,MX=w1.create,RX=eq.create,BX=X$.create,DX=rq.create,wX=Uq.create,FX=Uq.strictCreate,OX=O0.create,AX=d$.create,NX=A0.create,SX=q1.create,jX=Y$.create,PX=U$.create,LX=k1.create,ZX=B0.create,CX=N0.create,EX=S0.create,TX=A1.create,_X=j0.create,bX=f1.create,IX=cq.create,gX=iq.create,vX=z1.create,yX=cq.createWithPreprocess,hX=V$.create,xX=()=>R3().optional(),mX=()=>B3().optional(),kX=()=>D3().optional(),fX={string:(q)=>lq.create({...q,coerce:!0}),number:(q)=>F1.create({...q,coerce:!0}),boolean:(q)=>D0.create({...q,coerce:!0}),bigint:(q)=>O1.create({...q,coerce:!0}),date:(q)=>x1.create({...q,coerce:!0})};var uX=k;var pX=E.object({url:E.string(),authToken:E.string().optional()});import{openSync as lX,writeSync as rX}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=lX(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{rX(this.fileHandle,X+`
|
|
57
57
|
`)}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 iX=nq.getInstance();var Dz=t5(v4(),1);function P2(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var n1=P2();function f4(q){n1=q}var u4=/[&<>"']/,cV=new RegExp(u4.source,"g"),p4=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,nV=new RegExp(p4.source,"g"),oV={"&":"&","<":"<",">":">",'"':""","'":"'"},y4=(q)=>oV[q];function yq(q,$){if($){if(u4.test(q))return q.replace(cV,y4)}else if(p4.test(q))return q.replace(nV,y4);return q}var aV=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function sV(q){return q.replace(aV,($,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 tV=/(^|[^\[])\^/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(tV,"$1"),J=J.replace(X,U),G},getRegex:()=>{return new RegExp(J,$)}};return G}function h4(q){try{q=encodeURI(q).replace(/%25/g,"%")}catch($){return null}return q}var F$={exec:()=>null};function x4(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 eV(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 m4(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 qW(q,$){let J=q.match(/^(\s+)(?:```)/);if(J===null)return $;let G=J[1];return $.split(`
|
|
58
58
|
`).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(`
|
|
59
59
|
`)}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,`
|
|
@@ -168,7 +168,7 @@ Please report this to https://github.com/markedjs/marked.`,q){let G="<p>An error
|
|
|
168
168
|
`)}extractTextFromParagraph(q){let $=[];for(let J of q.children)if(J.type==="text")$.push(this.extractTextValue(J));return $.join("").trim()}extractSimpleArrayItems(q){let $=[];for(let J of q)if(J.type==="list"){let G=J;for(let X of G.children){let Y=this.extractTextFromListItem(X);if(Y)$.push(Y)}}return $}extractObjectArrayItems(q,$,J){let G=[],X=[],Y=!1;for(let U of q)if(U.type==="heading"&&U.depth===$){if(Y&&X.length>0){let Q=this.extractSubsections(X,$+1),V=this.buildDataFromSections(Q,J,$+1);G.push(V)}X=[],Y=!0}else if(Y)X.push(U);if(Y&&X.length>0){let U=this.extractSubsections(X,$+1),Q=this.buildDataFromSections(U,J,$+1);G.push(Q)}return G}extractTextFromListItem(q){let $=[];for(let J of q.children)if(J.type==="paragraph"){let G=this.extractTextFromParagraph(J);if(G)$.push(G)}return $.join(`
|
|
169
169
|
`)}}var LC=E.object({slug:E.string(),title:E.string(),type:E.string(),entityId:E.string(),contentHash:E.string()});var lR=E.object({success:E.boolean(),entityId:E.string().optional(),error:E.string().optional()});import{appendFileSync as nC,readFileSync as rR}from"fs";var iR=/^# ---- .+ ----$/;function _7(q,$){let J=[],G=new Set,X=$?.skipSections??new Set,Y=!1,U=!1,Q=!1;for(let V of q.split(/\r?\n/)){let W=V.trim();if(iR.test(W)){Y=X.has(W),U=!1,Q=!1;continue}if(Y)continue;if(W.startsWith("#")){if(W.includes("@required"))U=!0;if(W.includes("@sensitive"))Q=!0;continue}let H=W.match(/^([A-Z][A-Z0-9_]*)=/);if(!H?.[1]){U=!1,Q=!1;continue}let K=H[1];if(!G.has(K))G.add(K),J.push({key:K,required:U,sensitive:Q});U=!1,Q=!1}return J}function uJ(q,$){return _7(rR(q,"utf8"),$)}import{existsSync as dR,readFileSync as cR}from"fs";import{homedir as nR}from"os";import{isAbsolute as oR,join as pJ,resolve as aR}from"path";function Y0(q){let $={};for(let J of[pJ(q,".env"),pJ(q,".env.local")]){if(!dR(J))continue;let G=sR(cR(J,"utf8"));for(let[X,Y]of Object.entries(G))$[X]=Y}return $}function aq(q,$,J){return $[q]??J[q]}function m$(q,$){if(q.startsWith("~/"))return pJ(process.env.HOME??nR(),q.slice(2));if(oR(q))return q;return aR($,q)}function sR(q){let $={};for(let J of q.split(/\r?\n/)){let G=J.trim();if(G.length===0||G.startsWith("#"))continue;let X=J.match(/^\s*(?:export\s+)?([A-Z][A-Z0-9_]*)\s*=\s*(.*)\s*$/),Y=X?.[1],U=X?.[2];if(!Y||U===void 0)continue;$[Y]=tR(U)}return $}function tR(q){if(q.length>=2&&q.startsWith("'")&&q.endsWith("'"))return q.slice(1,-1);if(q.length>=2&&q.startsWith('"')&&q.endsWith('"'))return q.slice(1,-1).replace(/\\n/g,`
|
|
170
170
|
`).replace(/\\r/g,"\r").replace(/\\t/g,"\t").replace(/\\"/g,'"').replace(/\\\\/g,"\\");return q}async function b7(q){let $=await q.text();if(!$.trim())return;try{return JSON.parse($)}catch{return $}}async function U0(q,$,J){let G=await b7(q),X=$.safeParse(G);if(!q.ok||!X.success){let Y=J.formatError??eR;throw Error(`${J.label}${Y(q,G)}`)}return X.data}function eR(q,$){let J=$===void 0?"":`: ${typeof $==="string"?$:JSON.stringify($)}`;return` (${q.status} ${q.statusText}${J})`}var qB=/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/,$B=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,I7=E.enum(["core","default","pro"]),g7=E.string().regex(qB,"expected exact pinned version"),v7=E.string().regex($B,"expected lowercase handle slug"),lJ=E.string().min(1),y7=E.object({schemaVersion:E.literal(1),brainVersion:g7,model:E.literal("rover"),githubOrg:E.string().min(1),contentRepoPrefix:E.string().min(1),domainSuffix:E.string().min(1),preset:I7,aiApiKey:lJ}).strict(),h7=E.object({handle:v7,discord:E.object({enabled:E.boolean()}).strict(),aiApiKeyOverride:lJ.optional()}).strict(),x7=E.object({members:E.array(v7).min(1),brainVersionOverride:g7.optional(),presetOverride:I7.optional(),aiApiKeyOverride:lJ.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 V0(q,$={}){let[J,G,X]=await Promise.all([rJ(k$(q,"pilot.yaml"),y7),UB(q),QB(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 WB(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 UB(q){let $=k$(q,"users"),J=await k7($);return(await Promise.all(J.map(async(X)=>{let Y=f7(m7(X)),U=await rJ(X,h7);if(U.handle!==Y){let Q=u7(YB(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 QB(q){let $=k$(q,"cohorts"),J=await k7($);return(await Promise.all(J.map(async(X)=>({id:f7(m7(X)),data:await rJ(X,x7)})))).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 WB(q,$){let J=k$(q,"users",$,"brain.yaml");try{return await JB(J),"present"}catch{return"missing"}}async function k7(q){return(await GB(q,{withFileTypes:!0})).filter((J)=>J.isFile()&&J.name.endsWith(".yaml")).map((J)=>k$(q,J.name)).sort((J,G)=>J.localeCompare(G))}async function rJ(q,$){let J=await XB(q,"utf8"),G=kJ(J,$);if(!G.ok)throw new Q0(`${u7(q)}: ${G.error}`);return G.data}function f7(q){return q.replace(/\.yaml$/,"")}function u7(q){return q.replaceAll("\\","/")}var zB="| handle | cohort | model | preset | brainVersion | domain | contentRepo | discord | serverStatus | deployStatus | dnsStatus | mcpStatus |",MB="| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |";async function W0(q,$={}){let G=($.registry??await V0(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 -->","",zB,MB,...G.map((Y)=>`| ${Y.join(" | ")} |`),""].join(`
|
|
171
|
-
`);await HB(p7(q,"views"),{recursive:!0}),await KB(p7(q,"views","users.md"),X)}var AB=["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"],NB=new Set([".kamal/hooks/pre-deploy"]),SB=OB(new URL("../templates/rover-pilot/",import.meta.url));async function dJ(q){await l7(q,{recursive:!0});let $=iJ(q,"views","users.md"),J=!0;try{await RB($)}catch{J=!1}let G=AB.map(async(X)=>{let Y=iJ(q,X);await l7(FB(Y),{recursive:!0}),await jB(X,Y)});if(await Promise.all(G),!J)await W0(q)}async function jB(q,$){let J=await PB(q);try{await wB($,J,{flag:"wx"})}catch(G){if(ZB(G,"EEXIST"))return;throw G}if(NB.has(q))await BB($,493)}async function PB(q){if(q===".gitignore")return`node_modules/
|
|
171
|
+
`);await HB(p7(q,"views"),{recursive:!0}),await KB(p7(q,"views","users.md"),X)}var AB=["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"],NB=new Set([".kamal/hooks/pre-deploy"]),SB=OB(new URL("../templates/rover-pilot/",import.meta.url));async function dJ(q){await l7(q,{recursive:!0});let $=iJ(q,"views","users.md"),J=!0;try{await RB($)}catch{J=!1}let G=AB.map(async(X)=>{let Y=iJ(q,X);await l7(FB(Y),{recursive:!0}),await jB(X,Y)});if(await Promise.all(G),!J)await W0(q)}async function jB(q,$){let J=await PB(q);try{await wB($,J,{flag:"wx"})}catch(G){if(ZB(G,"EEXIST"))return;throw G}if(NB.has(q))await BB($,493)}async function PB(q){if(q===".gitignore")return`node_modules/
|
|
172
172
|
.brains-ops/
|
|
173
173
|
`;let $=iJ(SB,q),J=await DB($,"utf8");return LB(J)}function LB(q){return q.replaceAll("__BRAINS_OPS_VERSION__",l$.version).replaceAll("__BUN_VERSION__",Bun.version)}function ZB(q,$){return typeof q==="object"&&q!==null&&"code"in q&&q.code===$}import{mkdir as TB,writeFile as _B}from"fs/promises";import{dirname as bB,join as IB}from"path";function c5(q){let $=q.replaceAll("-","_").toUpperCase();return{gitSyncTokenSecretName:`GIT_SYNC_TOKEN_${$}`,mcpAuthTokenSecretName:`MCP_AUTH_TOKEN_${$}`,discordBotTokenSecretName:`DISCORD_BOT_TOKEN_${$}`}}function r7(q){return async($)=>({brainYaml:CB($,q),envFile:EB($,q)})}function CB(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 EB(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(`
|
package/package.json
CHANGED
|
@@ -168,7 +168,9 @@ jobs:
|
|
|
168
168
|
CF_ZONE_ID: ${{ secrets.CF_ZONE_ID }}
|
|
169
169
|
BRAIN_DOMAIN: ${{ steps.user_config.outputs.brain_domain }}
|
|
170
170
|
SERVER_IP: ${{ steps.provision.outputs.server_ip }}
|
|
171
|
-
run:
|
|
171
|
+
run: |
|
|
172
|
+
bun deploy/scripts/update-dns.ts
|
|
173
|
+
BRAIN_DOMAIN="preview.$BRAIN_DOMAIN" bun deploy/scripts/update-dns.ts
|
|
172
174
|
|
|
173
175
|
- name: Validate SSH key
|
|
174
176
|
run: ssh-keygen -y -f ~/.ssh/id_ed25519 >/dev/null
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Internal Caddy — path-based routing to brain services.
|
|
2
|
+
# kamal-proxy terminates TLS externally; this runs inside the container.
|
|
3
|
+
:80 {
|
|
4
|
+
@preview host preview.*
|
|
5
|
+
handle @preview {
|
|
6
|
+
reverse_proxy localhost:4321
|
|
7
|
+
|
|
8
|
+
header {
|
|
9
|
+
X-Frame-Options "SAMEORIGIN"
|
|
10
|
+
X-Content-Type-Options "nosniff"
|
|
11
|
+
Referrer-Policy "strict-origin-when-cross-origin"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
# MCP endpoint
|
|
16
|
+
handle /mcp* {
|
|
17
|
+
reverse_proxy localhost:3333
|
|
18
|
+
|
|
19
|
+
header {
|
|
20
|
+
X-Content-Type-Options "nosniff"
|
|
21
|
+
Access-Control-Allow-Origin "*"
|
|
22
|
+
Access-Control-Allow-Methods "GET, POST, DELETE, OPTIONS"
|
|
23
|
+
Access-Control-Allow-Headers "Content-Type, Authorization, MCP-Session-Id"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
# A2A endpoints
|
|
28
|
+
handle /.well-known/agent-card.json {
|
|
29
|
+
reverse_proxy localhost:3334
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
handle /a2a {
|
|
33
|
+
reverse_proxy localhost:3334
|
|
34
|
+
|
|
35
|
+
header {
|
|
36
|
+
X-Content-Type-Options "nosniff"
|
|
37
|
+
Access-Control-Allow-Origin "*"
|
|
38
|
+
Access-Control-Allow-Methods "GET, POST, OPTIONS"
|
|
39
|
+
Access-Control-Allow-Headers "Content-Type, Authorization"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
# Plugin API routes
|
|
44
|
+
handle /api/* {
|
|
45
|
+
reverse_proxy localhost:3335
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
# Production site: proxy to webserver if running, otherwise serve
|
|
49
|
+
# a minimal static fallback so the healthcheck and bare-domain
|
|
50
|
+
# requests succeed even on the core preset (no webserver).
|
|
51
|
+
handle {
|
|
52
|
+
reverse_proxy localhost:8080
|
|
53
|
+
|
|
54
|
+
header {
|
|
55
|
+
X-Frame-Options "SAMEORIGIN"
|
|
56
|
+
X-Content-Type-Options "nosniff"
|
|
57
|
+
Referrer-Policy "strict-origin-when-cross-origin"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
handle_errors {
|
|
62
|
+
root * /srv/fallback
|
|
63
|
+
try_files /index.html
|
|
64
|
+
file_server
|
|
65
|
+
}
|
|
66
|
+
}
|
|
@@ -1,15 +1,38 @@
|
|
|
1
1
|
ARG BUN_VERSION=1.3.10
|
|
2
|
-
FROM oven/bun:${BUN_VERSION}-slim
|
|
2
|
+
FROM oven/bun:${BUN_VERSION}-slim AS runtime
|
|
3
3
|
|
|
4
|
-
ARG BRAIN_VERSION
|
|
5
4
|
WORKDIR /app
|
|
6
5
|
|
|
7
|
-
RUN
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
7
|
+
curl ca-certificates git gnupg debian-keyring debian-archive-keyring apt-transport-https \
|
|
8
|
+
&& curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg \
|
|
9
|
+
&& curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list \
|
|
10
|
+
&& apt-get update && apt-get install -y --no-install-recommends caddy libcap2-bin \
|
|
11
|
+
&& setcap cap_net_bind_service=+ep $(which caddy) \
|
|
12
|
+
&& rm -rf /var/lib/apt/lists/*
|
|
13
|
+
|
|
14
|
+
COPY deploy/Caddyfile /etc/caddy/Caddyfile
|
|
15
|
+
|
|
16
|
+
RUN mkdir -p /srv/fallback && \
|
|
17
|
+
printf '<!doctype html><html><head><meta charset="utf-8"><title>brain</title></head><body></body></html>\n' \
|
|
18
|
+
> /srv/fallback/index.html
|
|
10
19
|
|
|
11
20
|
ENV XDG_DATA_HOME=/data
|
|
12
21
|
ENV XDG_CONFIG_HOME=/config
|
|
13
|
-
RUN mkdir -p /app/
|
|
22
|
+
RUN mkdir -p /app/data /app/cache /app/brain-data && \
|
|
23
|
+
chmod -R 777 /app/data /app/cache /app/brain-data
|
|
14
24
|
|
|
15
|
-
CMD ["sh", "-c", "exec ./node_modules/.bin/brain start"]
|
|
25
|
+
CMD ["sh", "-c", "caddy start --config /etc/caddy/Caddyfile && exec ./node_modules/.bin/brain start"]
|
|
26
|
+
|
|
27
|
+
# --- standalone: bake full project into image (brain-cli deploy) ---
|
|
28
|
+
FROM runtime AS standalone
|
|
29
|
+
COPY package.json ./package.json
|
|
30
|
+
RUN bun install --production --ignore-scripts
|
|
31
|
+
COPY . .
|
|
32
|
+
|
|
33
|
+
# --- fleet: install published brain at pinned version (ops deploy) ---
|
|
34
|
+
FROM runtime AS fleet
|
|
35
|
+
ARG BRAIN_VERSION
|
|
36
|
+
RUN test -n "$BRAIN_VERSION" \
|
|
37
|
+
&& printf '{"name":"rover-pilot-runtime","private":true}\n' > package.json \
|
|
38
|
+
&& bun add @rizom/brain@$BRAIN_VERSION
|
|
@@ -14,3 +14,4 @@
|
|
|
14
14
|
- unauthenticated `POST https://<handle>.rizom.ai/mcp` returns `401`
|
|
15
15
|
11. For fleet upgrades, edit `pilot.yaml.brainVersion` and push once; CI rebuilds the shared image tag, refreshes generated user env files, and redeploys affected users.
|
|
16
16
|
12. Hand the MCP connection details to the user.
|
|
17
|
+
13. Send `docs/user-onboarding.md` to the user as the pilot handoff guide.
|