@shoal.sh/cli 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/shoal.js +6 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shoal.sh/cli",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "bin": { "shoal": "shoal.js" },
package/shoal.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
- var k0=Object.defineProperty;var C0=($)=>$;function I0($,W){this[$]=C0.bind(null,W)}var P0=($,W)=>{for(var q in W)k0($,q,{get:W[q],enumerable:!0,configurable:!0,set:I0.bind(W,q)})};var h0=/\d/,T0=["-","_","/","."];function x0($=""){if(h0.test($))return;return $!==$.toLowerCase()}function J0($,W){let q=W??T0,J=[];if(!$||typeof $!=="string")return J;let G="",X,Q;for(let _ of $){let Y=q.includes(_);if(Y===!0){J.push(G),G="",X=void 0;continue}let H=x0(_);if(Q===!1){if(X===!1&&H===!0){J.push(G),G=_,X=H;continue}if(X===!0&&H===!1&&G.length>1){let E=G.at(-1);J.push(G.slice(0,Math.max(0,G.length-1))),G=E+_,X=H;continue}}G+=_,X=H,Q=Y}return J.push(G),J}function g0($){return $?$[0].toUpperCase()+$.slice(1):""}function y0($){return $?$[0].toLowerCase()+$.slice(1):""}function Z0($,W){return $?(Array.isArray($)?$:J0($)).map((q)=>g0(W?.normalize?q.toLowerCase():q)).join(""):""}function L$($,W){return y0(Z0($||"",W))}function h$($,W){return $?(Array.isArray($)?$:J0($)).map((q)=>q.toLowerCase()).join(W??"-"):""}function X0($){return h$($||"","_")}import{parseArgs as l0}from"node:util";function K$($){if(Array.isArray($))return $;return $===void 0?[]:[$]}function i$($,W=""){let q=[];for(let J of $)for(let[G,X]of J.entries())q[G]=Math.max(q[G]||0,X.length);return $.map((J)=>J.map((G,X)=>W+G[X===0?"padStart":"padEnd"](q[X])).join(" ")).join(`
3
- `)}function I($){return typeof $==="function"?$():$}var i=class extends Error{code;constructor($,W){super($);this.name="CLIError",this.code=W}};function m0($=[],W={}){let q=new Set(W.boolean||[]),J=new Set(W.string||[]),G=W.alias||{},X=W.default||{},Q=new Map,_=new Map;for(let[R,S]of Object.entries(G)){let K=S;for(let N of K){if(Q.set(R,N),!_.has(N))_.set(N,[]);if(_.get(N).push(R),Q.set(N,R),!_.has(R))_.set(R,[]);_.get(R).push(N)}}let Y={};function H(R){if(q.has(R))return"boolean";let S=_.get(R)||[];for(let K of S)if(q.has(K))return"boolean";return"string"}function E(R){if(J.has(R))return!0;let S=_.get(R)||[];for(let K of S)if(J.has(K))return!0;return!1}let v=new Set([...q,...J,...Object.keys(G),...Object.values(G).flat(),...Object.keys(X)]);for(let R of v)if(!Y[R])Y[R]={type:H(R),default:X[R]};for(let[R,S]of Q.entries())if(R.length===1&&Y[S]&&!Y[S].short)Y[S].short=R;let b=[],U={};for(let R=0;R<$.length;R++){let S=$[R];if(S==="--"){b.push(...$.slice(R));break}if(S.startsWith("--no-")){let K=S.slice(5);U[K]=!0;continue}b.push(S)}let k;try{k=l0({args:b,options:Object.keys(Y).length>0?Y:void 0,allowPositionals:!0,strict:!1})}catch{k={values:{},positionals:b}}let f={_:[]};f._=k.positionals;for(let[R,S]of Object.entries(k.values)){let K=S;if(H(R)==="boolean"&&typeof S==="string")K=S!=="false";else if(E(R)&&typeof S==="boolean")K="";f[R]=K}for(let[R]of Object.entries(U)){f[R]=!1;let S=Q.get(R);if(S)f[S]=!1;let K=_.get(R);if(K)for(let N of K)f[N]=!1}for(let[R,S]of Q.entries()){if(f[R]!==void 0&&f[S]===void 0)f[S]=f[R];if(f[S]!==void 0&&f[R]===void 0)f[R]=f[S];if(f[R]!==f[S]&&X[S]===f[S])f[S]=f[R]}return f}var c0=(()=>{let $=globalThis.process?.env??{};return $.NO_COLOR==="1"||$.TERM==="dumb"||$.TEST||$.CI})(),y$=($,W=39)=>(q)=>c0?q:`\x1B[${$}m${q}\x1B[${W}m`,T$=y$(1,22),g=y$(36),g$=y$(90),x$=y$(4,24);function u0($,W){let q={boolean:[],string:[],alias:{},default:{}},J=Y0(W);for(let _ of J){if(_.type==="positional")continue;if(_.type==="string"||_.type==="enum")q.string.push(_.name);else if(_.type==="boolean")q.boolean.push(_.name);if(_.default!==void 0)q.default[_.name]=_.default;if(_.alias)q.alias[_.name]=_.alias;let Y=L$(_.name),H=h$(_.name);if(Y!==_.name||H!==_.name){let E=K$(q.alias[_.name]||[]);if(Y!==_.name&&!E.includes(Y))E.push(Y);if(H!==_.name&&!E.includes(H))E.push(H);if(E.length>0)q.alias[_.name]=E}}let G=m0($,q),[...X]=G._,Q=new Proxy(G,{get(_,Y){return _[Y]??_[L$(Y)]??_[h$(Y)]}});for(let[,_]of J.entries())if(_.type==="positional"){let Y=X.shift();if(Y!==void 0)Q[_.name]=Y;else if(_.default===void 0&&_.required!==!1)throw new i(`Missing required positional argument: ${_.name.toUpperCase()}`,"EARG");else Q[_.name]=_.default}else if(_.type==="enum"){let Y=Q[_.name],H=_.options||[];if(Y!==void 0&&H.length>0&&!H.includes(Y))throw new i(`Invalid value for argument: ${g(`--${_.name}`)} (${g(Y)}). Expected one of: ${H.map((E)=>g(E)).join(", ")}.`,"EARG")}else if(_.required&&Q[_.name]===void 0)throw new i(`Missing required argument: --${_.name}`,"EARG");return Q}function Y0($){let W=[];for(let[q,J]of Object.entries($||{}))W.push({...J,name:q,alias:K$(J.alias)});return W}async function p0($){return Promise.all($.map((W)=>I(W)))}function F$($){return $}async function d$($,W){let q=await I($.args||{}),J=u0(W.rawArgs,q),G={rawArgs:W.rawArgs,args:J,data:W.data,cmd:$},X=await p0($.plugins??[]),Q,_;try{for(let E of X)await E.setup?.(G);if(typeof $.setup==="function")await $.setup(G);let H=await I($.subCommands);if(H&&Object.keys(H).length>0){let E=H0(W.rawArgs,q),v=W.rawArgs[E];if(v){let b=await a$(H,v);if(!b)throw new i(`Unknown command ${g(v)}`,"E_UNKNOWN_COMMAND");await d$(b,{rawArgs:W.rawArgs.slice(E+1)})}else{let b=await I($.default);if(b){if($.run)throw new i("Cannot specify both 'run' and 'default' on the same command.","E_DEFAULT_CONFLICT");let U=await a$(H,b);if(!U)throw new i(`Default sub command ${g(b)} not found in subCommands.`,"E_UNKNOWN_COMMAND");await d$(U,{rawArgs:W.rawArgs})}else if(!$.run)throw new i("No command specified.","E_NO_COMMAND")}}if(typeof $.run==="function")Q=await $.run(G)}catch(H){_=H}let Y=[];if(typeof $.cleanup==="function")try{await $.cleanup(G)}catch(H){Y.push(H)}for(let H of[...X].reverse())try{await H.cleanup?.(G)}catch(E){Y.push(E)}if(_)throw _;if(Y.length===1)throw Y[0];if(Y.length>1)throw Error("Multiple cleanup errors",{cause:Y});return{result:Q}}async function r$($,W,q){let J=await I($.subCommands);if(J&&Object.keys(J).length>0){let G=H0(W,await I($.args||{})),X=W[G],Q=await a$(J,X);if(Q)return r$(Q,W.slice(G+1),$)}return[$,q]}async function a$($,W){if(W in $)return I($[W]);for(let q of Object.values($)){let J=await I(q),G=await I(J?.meta);if(G?.alias){if(K$(G.alias).includes(W))return J}}}function H0($,W){for(let q=0;q<$.length;q++){let J=$[q];if(J==="--")return-1;if(J.startsWith("-")){if(!J.includes("=")&&n0(J,W))q++;continue}return q}return-1}function n0($,W){let q=$.replace(/^-{1,2}/,""),J=L$(q);for(let[G,X]of Object.entries(W)){if(X.type!=="string"&&X.type!=="enum")continue;if(J===L$(G))return!0;if((Array.isArray(X.alias)?X.alias:X.alias?[X.alias]:[]).includes(q))return!0}return!1}async function i0($,W){try{console.log(await d0($,W)+`
4
- `)}catch(q){console.error(q)}}var o0=/^no[-A-Z]/;async function d0($,W){let q=await I($.meta||{}),J=Y0(await I($.args||{})),G=await I(W?.meta||{}),X=`${G.name?`${G.name} `:""}`+(q.name||process.argv[1]),Q=[],_=[],Y=[],H=[];for(let U of J)if(U.type==="positional"){let k=U.name.toUpperCase(),f=U.required!==!1&&U.default===void 0;_.push([g(k+o$(U)),Q0(U,f)]),H.push(f?`<${k}>`:`[${k}]`)}else{let k=U.required===!0&&U.default===void 0,f=[...(U.alias||[]).map((R)=>`-${R}`),`--${U.name}`].join(", ")+o$(U);if(Q.push([g(f),Q0(U,k)]),U.type==="boolean"&&(U.default===!0||U.negativeDescription)&&!o0.test(U.name)){let R=[...(U.alias||[]).map((S)=>`--no-${S}`),`--no-${U.name}`].join(", ");Q.push([g(R),[U.negativeDescription,k?g$("(Required)"):""].filter(Boolean).join(" ")])}if(k)H.push(`--${U.name}`+o$(U))}if($.subCommands){let U=[],k=await I($.subCommands);for(let[f,R]of Object.entries(k)){let S=await I((await I(R))?.meta);if(S?.hidden)continue;let K=K$(S?.alias),N=[f,...K].join(", ");Y.push([g(N),S?.description||""]),U.push(f,...K)}H.push(U.join("|"))}let E=[],v=q.version||G.version;E.push(g$(`${q.description} (${X+(v?` v${v}`:"")})`),"");let b=Q.length>0||_.length>0;if(E.push(`${x$(T$("USAGE"))} ${g(`${X}${b?" [OPTIONS]":""} ${H.join(" ")}`)}`,""),_.length>0)E.push(x$(T$("ARGUMENTS")),""),E.push(i$(_," ")),E.push("");if(Q.length>0)E.push(x$(T$("OPTIONS")),""),E.push(i$(Q," ")),E.push("");if(Y.length>0)E.push(x$(T$("COMMANDS")),""),E.push(i$(Y," ")),E.push("",`Use ${g(`${X} <command> --help`)} for more information about a command.`);return E.filter((U)=>typeof U==="string").join(`
5
- `)}function o$($){let W=$.valueHint?`=<${$.valueHint}>`:"",q=W||`=<${X0($.name)}>`;if(!$.type||$.type==="positional"||$.type==="boolean")return W;if($.type==="enum"&&$.options?.length)return`=<${$.options.join("|")}>`;return q}function Q0($,W){let q=W?g$("(Required)"):"",J=$.default===void 0?"":g$(`(Default: ${$.default})`);return[$.description,q,J].filter(Boolean).join(" ")}async function B0($,W={}){let q=W.rawArgs||process.argv.slice(2),J=W.showUsage||i0;try{let G=await r0($);if(G.help.length>0&&q.some((X)=>G.help.includes(X)))await J(...await r$($,q)),process.exit(0);else if(q.length===1&&G.version.includes(q[0])){let X=typeof $.meta==="function"?await $.meta():await $.meta;if(!X?.version)throw new i("No version specified","E_NO_VERSION");console.log(X.version)}else await d$($,{rawArgs:q})}catch(G){if(G instanceof i)await J(...await r$($,q)),console.error(G.message);else console.error(G,`
6
- `);process.exit(1)}}async function r0($){let W=await I($.args||{}),q=new Set,J=new Set;for(let[G,X]of Object.entries(W)){q.add(G);for(let Q of K$(X.alias))J.add(Q)}return{help:_0("help","h",q,J),version:_0("version","v",q,J)}}function _0($,W,q,J){if(q.has($)||J.has($))return[];if(q.has(W)||J.has(W))return[`--${$}`];return[`--${$}`,`-${W}`]}import a0 from"node:crypto";import{existsSync as t0,mkdirSync as s0,readFileSync as e0,writeFileSync as $1}from"node:fs";import W1 from"node:os";import Z$ from"node:path";function t$($){let W=process.env.XDG_STATE_HOME??Z$.join(W1.homedir(),".local","state"),q=Z$.join(W,"shoal"),J=a0.createHash("sha256").update($).digest("hex").slice(0,16);return Z$.join(q,`identity-${J}.json`)}function M0($){let W=t$($);if(!t0(W))return null;try{let q=e0(W,"utf8"),J=JSON.parse(q);if(typeof J.workerId!=="string"||typeof J.secret!=="string")throw Error("malformed identity file");return{workerId:J.workerId,secret:J.secret}}catch(q){throw Error(`Failed to read worker identity at ${W}: ${q.message}. Delete the file to re-register as a new worker.`)}}function j0($,W){let q=t$($);s0(Z$.dirname(q),{recursive:!0,mode:448}),$1(q,JSON.stringify(W,null,2),{mode:384})}function l$($){return t$($)}var s$=null,m$="http://localhost:11434";function O0($){m$=$.replace(/\/+$/,"")}async function w0(){let $=await fetch(`${m$}/v1/models`);if(!$.ok)throw Error(`Backend returned ${$.status} from /v1/models`);return(await $.json()).data.map((q)=>q.id)}function R0(){return s$}async function*S0($,W,q,J){let G={model:$,messages:W,stream:!0,stream_options:{include_usage:!0},max_tokens:q?.maxTokens??512,temperature:q?.temperature??1};if(q?.tools&&q.tools.length>0)G.tools=q.tools;if(q?.toolChoice!==void 0)G.tool_choice=q.toolChoice;let X=await fetch(`${m$}/v1/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(G),signal:J});if(!X.ok){let v=await X.text();throw Error(`Backend returned ${X.status}: ${v}`)}s$=$;let Q=X.body.getReader(),_=new TextDecoder,Y="",H="stop",E;while(!0){let{done:v,value:b}=await Q.read();if(v)break;Y+=_.decode(b,{stream:!0});let U=Y.split(`
7
- `);Y=U.pop();for(let k of U){let f=k.trim();if(!f.startsWith("data: "))continue;let R=f.slice(6);if(R==="[DONE]")continue;try{let S=JSON.parse(R);if(S.usage&&typeof S.usage==="object"){let x=S.usage;if(typeof x.prompt_tokens==="number"&&typeof x.completion_tokens==="number")E={promptTokens:x.prompt_tokens,completionTokens:x.completion_tokens}}let K=S.choices?.[0];if(!K)continue;if(K.finish_reason==="length")H="length";else if(K.finish_reason==="tool_calls")H="tool_calls";else if(K.finish_reason==="stop")H="stop";let N=K.delta;if(!N)continue;let T={};if(typeof N.content==="string"&&N.content.length>0)T.content=N.content;if(Array.isArray(N.tool_calls)&&N.tool_calls.length>0)T.toolCalls=N.tool_calls.map((x)=>({index:x.index,id:x.id,name:x.function?.name,arguments:x.function?.arguments}));if(T.content!==void 0||T.toolCalls!==void 0)yield T}catch{}}}yield{done:!0,finishReason:H,usage:E}}async function E0($,W,q){let J=await fetch(`${m$}/v1/embeddings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:$,input:W}),signal:q});if(!J.ok){let X=await J.text();throw Error(`Backend returned ${J.status}: ${X}`)}return s$=$,(await J.json()).data.map((X)=>X.embedding)}var j={};P0(j,{void:()=>Z1,util:()=>F,unknown:()=>g1,union:()=>u1,undefined:()=>h1,tuple:()=>i1,transformer:()=>qW,symbol:()=>P1,string:()=>f0,strictObject:()=>c1,setErrorMap:()=>J1,set:()=>r1,record:()=>o1,quotelessJson:()=>q1,promise:()=>WW,preprocess:()=>XW,pipeline:()=>QW,ostring:()=>_W,optional:()=>GW,onumber:()=>YW,oboolean:()=>HW,objectUtil:()=>e$,object:()=>m1,number:()=>A0,nullable:()=>JW,null:()=>T1,never:()=>y1,nativeEnum:()=>$W,nan:()=>k1,map:()=>d1,makeIssue:()=>f$,literal:()=>s1,lazy:()=>t1,late:()=>b1,isValid:()=>a,isDirty:()=>u$,isAsync:()=>Y$,isAborted:()=>c$,intersection:()=>n1,instanceof:()=>v1,getParsedType:()=>u,getErrorMap:()=>_$,function:()=>a1,enum:()=>e1,effect:()=>qW,discriminatedUnion:()=>p1,defaultErrorMap:()=>o,datetimeRegex:()=>L0,date:()=>I1,custom:()=>F0,coerce:()=>BW,boolean:()=>b0,bigint:()=>C1,array:()=>l1,any:()=>x1,addIssueToContext:()=>O,ZodVoid:()=>b$,ZodUnknown:()=>t,ZodUnion:()=>w$,ZodUndefined:()=>j$,ZodType:()=>L,ZodTuple:()=>n,ZodTransformer:()=>c,ZodSymbol:()=>A$,ZodString:()=>y,ZodSet:()=>J$,ZodSchema:()=>L,ZodRecord:()=>v$,ZodReadonly:()=>D$,ZodPromise:()=>X$,ZodPipeline:()=>I$,ZodParsedType:()=>M,ZodOptional:()=>l,ZodObject:()=>A,ZodNumber:()=>s,ZodNullable:()=>r,ZodNull:()=>O$,ZodNever:()=>p,ZodNativeEnum:()=>V$,ZodNaN:()=>C$,ZodMap:()=>k$,ZodLiteral:()=>E$,ZodLazy:()=>S$,ZodIssueCode:()=>B,ZodIntersection:()=>R$,ZodFunction:()=>B$,ZodFirstPartyTypeKind:()=>z,ZodError:()=>h,ZodEnum:()=>$$,ZodEffects:()=>c,ZodDiscriminatedUnion:()=>p$,ZodDefault:()=>z$,ZodDate:()=>q$,ZodCatch:()=>U$,ZodBranded:()=>n$,ZodBoolean:()=>M$,ZodBigInt:()=>e,ZodArray:()=>Z,ZodAny:()=>G$,Schema:()=>L,ParseStatus:()=>C,OK:()=>P,NEVER:()=>MW,INVALID:()=>V,EMPTY_PATH:()=>X1,DIRTY:()=>W$,BRAND:()=>A1});var F;(function($){$.assertEqual=(G)=>{};function W(G){}$.assertIs=W;function q(G){throw Error()}$.assertNever=q,$.arrayToEnum=(G)=>{let X={};for(let Q of G)X[Q]=Q;return X},$.getValidEnumValues=(G)=>{let X=$.objectKeys(G).filter((_)=>typeof G[G[_]]!=="number"),Q={};for(let _ of X)Q[_]=G[_];return $.objectValues(Q)},$.objectValues=(G)=>{return $.objectKeys(G).map(function(X){return G[X]})},$.objectKeys=typeof Object.keys==="function"?(G)=>Object.keys(G):(G)=>{let X=[];for(let Q in G)if(Object.prototype.hasOwnProperty.call(G,Q))X.push(Q);return X},$.find=(G,X)=>{for(let Q of G)if(X(Q))return Q;return},$.isInteger=typeof Number.isInteger==="function"?(G)=>Number.isInteger(G):(G)=>typeof G==="number"&&Number.isFinite(G)&&Math.floor(G)===G;function J(G,X=" | "){return G.map((Q)=>typeof Q==="string"?`'${Q}'`:Q).join(X)}$.joinValues=J,$.jsonStringifyReplacer=(G,X)=>{if(typeof X==="bigint")return X.toString();return X}})(F||(F={}));var e$;(function($){$.mergeShapes=(W,q)=>{return{...W,...q}}})(e$||(e$={}));var M=F.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),u=($)=>{switch(typeof $){case"undefined":return M.undefined;case"string":return M.string;case"number":return Number.isNaN($)?M.nan:M.number;case"boolean":return M.boolean;case"function":return M.function;case"bigint":return M.bigint;case"symbol":return M.symbol;case"object":if(Array.isArray($))return M.array;if($===null)return M.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return M.promise;if(typeof Map<"u"&&$ instanceof Map)return M.map;if(typeof Set<"u"&&$ instanceof Set)return M.set;if(typeof Date<"u"&&$ instanceof Date)return M.date;return M.object;default:return M.unknown}};var B=F.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"]),q1=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class h extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(q)=>{this.issues=[...this.issues,q]},this.addIssues=(q=[])=>{this.issues=[...this.issues,...q]};let W=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,W);else this.__proto__=W;this.name="ZodError",this.issues=$}format($){let W=$||function(G){return G.message},q={_errors:[]},J=(G)=>{for(let X of G.issues)if(X.code==="invalid_union")X.unionErrors.map(J);else if(X.code==="invalid_return_type")J(X.returnTypeError);else if(X.code==="invalid_arguments")J(X.argumentsError);else if(X.path.length===0)q._errors.push(W(X));else{let Q=q,_=0;while(_<X.path.length){let Y=X.path[_];if(_!==X.path.length-1)Q[Y]=Q[Y]||{_errors:[]};else Q[Y]=Q[Y]||{_errors:[]},Q[Y]._errors.push(W(X));Q=Q[Y],_++}}};return J(this),q}static assert($){if(!($ instanceof h))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,F.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(W)=>W.message){let W={},q=[];for(let J of this.issues)if(J.path.length>0){let G=J.path[0];W[G]=W[G]||[],W[G].push($(J))}else q.push($(J));return{formErrors:q,fieldErrors:W}}get formErrors(){return this.flatten()}}h.create=($)=>{return new h($)};var G1=($,W)=>{let q;switch($.code){case B.invalid_type:if($.received===M.undefined)q="Required";else q=`Expected ${$.expected}, received ${$.received}`;break;case B.invalid_literal:q=`Invalid literal value, expected ${JSON.stringify($.expected,F.jsonStringifyReplacer)}`;break;case B.unrecognized_keys:q=`Unrecognized key(s) in object: ${F.joinValues($.keys,", ")}`;break;case B.invalid_union:q="Invalid input";break;case B.invalid_union_discriminator:q=`Invalid discriminator value. Expected ${F.joinValues($.options)}`;break;case B.invalid_enum_value:q=`Invalid enum value. Expected ${F.joinValues($.options)}, received '${$.received}'`;break;case B.invalid_arguments:q="Invalid function arguments";break;case B.invalid_return_type:q="Invalid function return type";break;case B.invalid_date:q="Invalid date";break;case B.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(q=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")q=`${q} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)q=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)q=`Invalid input: must end with "${$.validation.endsWith}"`;else F.assertNever($.validation);else if($.validation!=="regex")q=`Invalid ${$.validation}`;else q="Invalid";break;case B.too_small:if($.type==="array")q=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")q=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")q=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")q=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")q=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else q="Invalid input";break;case B.too_big:if($.type==="array")q=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")q=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")q=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")q=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")q=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else q="Invalid input";break;case B.custom:q="Invalid input";break;case B.invalid_intersection_types:q="Intersection results could not be merged";break;case B.not_multiple_of:q=`Number must be a multiple of ${$.multipleOf}`;break;case B.not_finite:q="Number must be finite";break;default:q=W.defaultError,F.assertNever($)}return{message:q}},o=G1;var V0=o;function J1($){V0=$}function _$(){return V0}var f$=($)=>{let{data:W,path:q,errorMaps:J,issueData:G}=$,X=[...q,...G.path||[]],Q={...G,path:X};if(G.message!==void 0)return{...G,path:X,message:G.message};let _="",Y=J.filter((H)=>!!H).slice().reverse();for(let H of Y)_=H(Q,{data:W,defaultError:_}).message;return{...G,path:X,message:_}},X1=[];function O($,W){let q=_$(),J=f$({issueData:W,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,q,q===o?void 0:o].filter((G)=>!!G)});$.common.issues.push(J)}class C{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,W){let q=[];for(let J of W){if(J.status==="aborted")return V;if(J.status==="dirty")$.dirty();q.push(J.value)}return{status:$.value,value:q}}static async mergeObjectAsync($,W){let q=[];for(let J of W){let G=await J.key,X=await J.value;q.push({key:G,value:X})}return C.mergeObjectSync($,q)}static mergeObjectSync($,W){let q={};for(let J of W){let{key:G,value:X}=J;if(G.status==="aborted")return V;if(X.status==="aborted")return V;if(G.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(G.value!=="__proto__"&&(typeof X.value<"u"||J.alwaysSet))q[G.value]=X.value}return{status:$.value,value:q}}}var V=Object.freeze({status:"aborted"}),W$=($)=>({status:"dirty",value:$}),P=($)=>({status:"valid",value:$}),c$=($)=>$.status==="aborted",u$=($)=>$.status==="dirty",a=($)=>$.status==="valid",Y$=($)=>typeof Promise<"u"&&$ instanceof Promise;var w;(function($){$.errToObj=(W)=>typeof W==="string"?{message:W}:W||{},$.toString=(W)=>typeof W==="string"?W:W?.message})(w||(w={}));class m{constructor($,W,q,J){this._cachedPath=[],this.parent=$,this.data=W,this._path=q,this._key=J}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 z0=($,W)=>{if(a(W))return{success:!0,data:W.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let q=new h($.common.issues);return this._error=q,this._error}}}};function D($){if(!$)return{};let{errorMap:W,invalid_type_error:q,required_error:J,description:G}=$;if(W&&(q||J))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(W)return{errorMap:W,description:G};return{errorMap:(Q,_)=>{let{message:Y}=$;if(Q.code==="invalid_enum_value")return{message:Y??_.defaultError};if(typeof _.data>"u")return{message:Y??J??_.defaultError};if(Q.code!=="invalid_type")return{message:_.defaultError};return{message:Y??q??_.defaultError}},description:G}}class L{get description(){return this._def.description}_getType($){return u($.data)}_getOrReturnCtx($,W){return W||{common:$.parent.common,data:$.data,parsedType:u($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new C,ctx:{common:$.parent.common,data:$.data,parsedType:u($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let W=this._parse($);if(Y$(W))throw Error("Synchronous parse encountered promise.");return W}_parseAsync($){let W=this._parse($);return Promise.resolve(W)}parse($,W){let q=this.safeParse($,W);if(q.success)return q.data;throw q.error}safeParse($,W){let q={common:{issues:[],async:W?.async??!1,contextualErrorMap:W?.errorMap},path:W?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:u($)},J=this._parseSync({data:$,path:q.path,parent:q});return z0(q,J)}"~validate"($){let W={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:u($)};if(!this["~standard"].async)try{let q=this._parseSync({data:$,path:[],parent:W});return a(q)?{value:q.value}:{issues:W.common.issues}}catch(q){if(q?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;W.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:W}).then((q)=>a(q)?{value:q.value}:{issues:W.common.issues})}async parseAsync($,W){let q=await this.safeParseAsync($,W);if(q.success)return q.data;throw q.error}async safeParseAsync($,W){let q={common:{issues:[],contextualErrorMap:W?.errorMap,async:!0},path:W?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:u($)},J=this._parse({data:$,path:q.path,parent:q}),G=await(Y$(J)?J:Promise.resolve(J));return z0(q,G)}refine($,W){let q=(J)=>{if(typeof W==="string"||typeof W>"u")return{message:W};else if(typeof W==="function")return W(J);else return W};return this._refinement((J,G)=>{let X=$(J),Q=()=>G.addIssue({code:B.custom,...q(J)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((_)=>{if(!_)return Q(),!1;else return!0});if(!X)return Q(),!1;else return!0})}refinement($,W){return this._refinement((q,J)=>{if(!$(q))return J.addIssue(typeof W==="function"?W(q,J):W),!1;else return!0})}_refinement($){return new c({schema:this,typeName:z.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,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:(W)=>this["~validate"](W)}}optional(){return l.create(this,this._def)}nullable(){return r.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Z.create(this)}promise(){return X$.create(this,this._def)}or($){return w$.create([this,$],this._def)}and($){return R$.create(this,$,this._def)}transform($){return new c({...D(this._def),schema:this,typeName:z.ZodEffects,effect:{type:"transform",transform:$}})}default($){let W=typeof $==="function"?$:()=>$;return new z$({...D(this._def),innerType:this,defaultValue:W,typeName:z.ZodDefault})}brand(){return new n$({typeName:z.ZodBranded,type:this,...D(this._def)})}catch($){let W=typeof $==="function"?$:()=>$;return new U$({...D(this._def),innerType:this,catchValue:W,typeName:z.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return I$.create(this,$)}readonly(){return D$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var Q1=/^c[^\s-]{8,}$/i,_1=/^[0-9a-z]+$/,Y1=/^[0-9A-HJKMNP-TV-Z]{26}$/i,H1=/^[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,B1=/^[a-z0-9_-]{21}$/i,M1=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,j1=/^[-+]?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)?)??$/,O1=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,w1="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",$0,R1=/^(?:(?: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])$/,S1=/^(?:(?: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])$/,E1=/^(([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]))$/,V1=/^(([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])$/,z1=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,U1=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,D0="((\\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])))",D1=new RegExp(`^${D0}$`);function N0($){let W="[0-5]\\d";if($.precision)W=`${W}\\.\\d{${$.precision}}`;else if($.precision==null)W=`${W}(\\.\\d+)?`;let q=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${W})${q}`}function N1($){return new RegExp(`^${N0($)}$`)}function L0($){let W=`${D0}T${N0($)}`,q=[];if(q.push($.local?"Z?":"Z"),$.offset)q.push("([+-]\\d{2}:?\\d{2})");return W=`${W}(${q.join("|")})`,new RegExp(`^${W}$`)}function L1($,W){if((W==="v4"||!W)&&R1.test($))return!0;if((W==="v6"||!W)&&E1.test($))return!0;return!1}function K1($,W){if(!M1.test($))return!1;try{let[q]=$.split(".");if(!q)return!1;let J=q.replace(/-/g,"+").replace(/_/g,"/").padEnd(q.length+(4-q.length%4)%4,"="),G=JSON.parse(atob(J));if(typeof G!=="object"||G===null)return!1;if("typ"in G&&G?.typ!=="JWT")return!1;if(!G.alg)return!1;if(W&&G.alg!==W)return!1;return!0}catch{return!1}}function F1($,W){if((W==="v4"||!W)&&S1.test($))return!0;if((W==="v6"||!W)&&V1.test($))return!0;return!1}class y extends L{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==M.string){let G=this._getOrReturnCtx($);return O(G,{code:B.invalid_type,expected:M.string,received:G.parsedType}),V}let q=new C,J=void 0;for(let G of this._def.checks)if(G.kind==="min"){if($.data.length<G.value)J=this._getOrReturnCtx($,J),O(J,{code:B.too_small,minimum:G.value,type:"string",inclusive:!0,exact:!1,message:G.message}),q.dirty()}else if(G.kind==="max"){if($.data.length>G.value)J=this._getOrReturnCtx($,J),O(J,{code:B.too_big,maximum:G.value,type:"string",inclusive:!0,exact:!1,message:G.message}),q.dirty()}else if(G.kind==="length"){let X=$.data.length>G.value,Q=$.data.length<G.value;if(X||Q){if(J=this._getOrReturnCtx($,J),X)O(J,{code:B.too_big,maximum:G.value,type:"string",inclusive:!0,exact:!0,message:G.message});else if(Q)O(J,{code:B.too_small,minimum:G.value,type:"string",inclusive:!0,exact:!0,message:G.message});q.dirty()}}else if(G.kind==="email"){if(!O1.test($.data))J=this._getOrReturnCtx($,J),O(J,{validation:"email",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="emoji"){if(!$0)$0=new RegExp(w1,"u");if(!$0.test($.data))J=this._getOrReturnCtx($,J),O(J,{validation:"emoji",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="uuid"){if(!H1.test($.data))J=this._getOrReturnCtx($,J),O(J,{validation:"uuid",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="nanoid"){if(!B1.test($.data))J=this._getOrReturnCtx($,J),O(J,{validation:"nanoid",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="cuid"){if(!Q1.test($.data))J=this._getOrReturnCtx($,J),O(J,{validation:"cuid",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="cuid2"){if(!_1.test($.data))J=this._getOrReturnCtx($,J),O(J,{validation:"cuid2",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="ulid"){if(!Y1.test($.data))J=this._getOrReturnCtx($,J),O(J,{validation:"ulid",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="url")try{new URL($.data)}catch{J=this._getOrReturnCtx($,J),O(J,{validation:"url",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="regex"){if(G.regex.lastIndex=0,!G.regex.test($.data))J=this._getOrReturnCtx($,J),O(J,{validation:"regex",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="trim")$.data=$.data.trim();else if(G.kind==="includes"){if(!$.data.includes(G.value,G.position))J=this._getOrReturnCtx($,J),O(J,{code:B.invalid_string,validation:{includes:G.value,position:G.position},message:G.message}),q.dirty()}else if(G.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(G.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(G.kind==="startsWith"){if(!$.data.startsWith(G.value))J=this._getOrReturnCtx($,J),O(J,{code:B.invalid_string,validation:{startsWith:G.value},message:G.message}),q.dirty()}else if(G.kind==="endsWith"){if(!$.data.endsWith(G.value))J=this._getOrReturnCtx($,J),O(J,{code:B.invalid_string,validation:{endsWith:G.value},message:G.message}),q.dirty()}else if(G.kind==="datetime"){if(!L0(G).test($.data))J=this._getOrReturnCtx($,J),O(J,{code:B.invalid_string,validation:"datetime",message:G.message}),q.dirty()}else if(G.kind==="date"){if(!D1.test($.data))J=this._getOrReturnCtx($,J),O(J,{code:B.invalid_string,validation:"date",message:G.message}),q.dirty()}else if(G.kind==="time"){if(!N1(G).test($.data))J=this._getOrReturnCtx($,J),O(J,{code:B.invalid_string,validation:"time",message:G.message}),q.dirty()}else if(G.kind==="duration"){if(!j1.test($.data))J=this._getOrReturnCtx($,J),O(J,{validation:"duration",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="ip"){if(!L1($.data,G.version))J=this._getOrReturnCtx($,J),O(J,{validation:"ip",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="jwt"){if(!K1($.data,G.alg))J=this._getOrReturnCtx($,J),O(J,{validation:"jwt",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="cidr"){if(!F1($.data,G.version))J=this._getOrReturnCtx($,J),O(J,{validation:"cidr",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="base64"){if(!z1.test($.data))J=this._getOrReturnCtx($,J),O(J,{validation:"base64",code:B.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="base64url"){if(!U1.test($.data))J=this._getOrReturnCtx($,J),O(J,{validation:"base64url",code:B.invalid_string,message:G.message}),q.dirty()}else F.assertNever(G);return{status:q.value,value:$.data}}_regex($,W,q){return this.refinement((J)=>$.test(J),{validation:W,code:B.invalid_string,...w.errToObj(q)})}_addCheck($){return new y({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...w.errToObj($)})}url($){return this._addCheck({kind:"url",...w.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...w.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...w.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...w.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...w.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...w.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...w.errToObj($)})}base64($){return this._addCheck({kind:"base64",...w.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...w.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...w.errToObj($)})}ip($){return this._addCheck({kind:"ip",...w.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...w.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...w.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...w.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...w.errToObj($)})}regex($,W){return this._addCheck({kind:"regex",regex:$,...w.errToObj(W)})}includes($,W){return this._addCheck({kind:"includes",value:$,position:W?.position,...w.errToObj(W?.message)})}startsWith($,W){return this._addCheck({kind:"startsWith",value:$,...w.errToObj(W)})}endsWith($,W){return this._addCheck({kind:"endsWith",value:$,...w.errToObj(W)})}min($,W){return this._addCheck({kind:"min",value:$,...w.errToObj(W)})}max($,W){return this._addCheck({kind:"max",value:$,...w.errToObj(W)})}length($,W){return this._addCheck({kind:"length",value:$,...w.errToObj(W)})}nonempty($){return this.min(1,w.errToObj($))}trim(){return new y({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new y({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new y({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let W of this._def.checks)if(W.kind==="min"){if($===null||W.value>$)$=W.value}return $}get maxLength(){let $=null;for(let W of this._def.checks)if(W.kind==="max"){if($===null||W.value<$)$=W.value}return $}}y.create=($)=>{return new y({checks:[],typeName:z.ZodString,coerce:$?.coerce??!1,...D($)})};function f1($,W){let q=($.toString().split(".")[1]||"").length,J=(W.toString().split(".")[1]||"").length,G=q>J?q:J,X=Number.parseInt($.toFixed(G).replace(".","")),Q=Number.parseInt(W.toFixed(G).replace(".",""));return X%Q/10**G}class s extends L{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==M.number){let G=this._getOrReturnCtx($);return O(G,{code:B.invalid_type,expected:M.number,received:G.parsedType}),V}let q=void 0,J=new C;for(let G of this._def.checks)if(G.kind==="int"){if(!F.isInteger($.data))q=this._getOrReturnCtx($,q),O(q,{code:B.invalid_type,expected:"integer",received:"float",message:G.message}),J.dirty()}else if(G.kind==="min"){if(G.inclusive?$.data<G.value:$.data<=G.value)q=this._getOrReturnCtx($,q),O(q,{code:B.too_small,minimum:G.value,type:"number",inclusive:G.inclusive,exact:!1,message:G.message}),J.dirty()}else if(G.kind==="max"){if(G.inclusive?$.data>G.value:$.data>=G.value)q=this._getOrReturnCtx($,q),O(q,{code:B.too_big,maximum:G.value,type:"number",inclusive:G.inclusive,exact:!1,message:G.message}),J.dirty()}else if(G.kind==="multipleOf"){if(f1($.data,G.value)!==0)q=this._getOrReturnCtx($,q),O(q,{code:B.not_multiple_of,multipleOf:G.value,message:G.message}),J.dirty()}else if(G.kind==="finite"){if(!Number.isFinite($.data))q=this._getOrReturnCtx($,q),O(q,{code:B.not_finite,message:G.message}),J.dirty()}else F.assertNever(G);return{status:J.value,value:$.data}}gte($,W){return this.setLimit("min",$,!0,w.toString(W))}gt($,W){return this.setLimit("min",$,!1,w.toString(W))}lte($,W){return this.setLimit("max",$,!0,w.toString(W))}lt($,W){return this.setLimit("max",$,!1,w.toString(W))}setLimit($,W,q,J){return new s({...this._def,checks:[...this._def.checks,{kind:$,value:W,inclusive:q,message:w.toString(J)}]})}_addCheck($){return new s({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:w.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:w.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:w.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:w.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:w.toString($)})}multipleOf($,W){return this._addCheck({kind:"multipleOf",value:$,message:w.toString(W)})}finite($){return this._addCheck({kind:"finite",message:w.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:w.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:w.toString($)})}get minValue(){let $=null;for(let W of this._def.checks)if(W.kind==="min"){if($===null||W.value>$)$=W.value}return $}get maxValue(){let $=null;for(let W of this._def.checks)if(W.kind==="max"){if($===null||W.value<$)$=W.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&F.isInteger($.value))}get isFinite(){let $=null,W=null;for(let q of this._def.checks)if(q.kind==="finite"||q.kind==="int"||q.kind==="multipleOf")return!0;else if(q.kind==="min"){if(W===null||q.value>W)W=q.value}else if(q.kind==="max"){if($===null||q.value<$)$=q.value}return Number.isFinite(W)&&Number.isFinite($)}}s.create=($)=>{return new s({checks:[],typeName:z.ZodNumber,coerce:$?.coerce||!1,...D($)})};class e extends L{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==M.bigint)return this._getInvalidInput($);let q=void 0,J=new C;for(let G of this._def.checks)if(G.kind==="min"){if(G.inclusive?$.data<G.value:$.data<=G.value)q=this._getOrReturnCtx($,q),O(q,{code:B.too_small,type:"bigint",minimum:G.value,inclusive:G.inclusive,message:G.message}),J.dirty()}else if(G.kind==="max"){if(G.inclusive?$.data>G.value:$.data>=G.value)q=this._getOrReturnCtx($,q),O(q,{code:B.too_big,type:"bigint",maximum:G.value,inclusive:G.inclusive,message:G.message}),J.dirty()}else if(G.kind==="multipleOf"){if($.data%G.value!==BigInt(0))q=this._getOrReturnCtx($,q),O(q,{code:B.not_multiple_of,multipleOf:G.value,message:G.message}),J.dirty()}else F.assertNever(G);return{status:J.value,value:$.data}}_getInvalidInput($){let W=this._getOrReturnCtx($);return O(W,{code:B.invalid_type,expected:M.bigint,received:W.parsedType}),V}gte($,W){return this.setLimit("min",$,!0,w.toString(W))}gt($,W){return this.setLimit("min",$,!1,w.toString(W))}lte($,W){return this.setLimit("max",$,!0,w.toString(W))}lt($,W){return this.setLimit("max",$,!1,w.toString(W))}setLimit($,W,q,J){return new e({...this._def,checks:[...this._def.checks,{kind:$,value:W,inclusive:q,message:w.toString(J)}]})}_addCheck($){return new e({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:w.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:w.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:w.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:w.toString($)})}multipleOf($,W){return this._addCheck({kind:"multipleOf",value:$,message:w.toString(W)})}get minValue(){let $=null;for(let W of this._def.checks)if(W.kind==="min"){if($===null||W.value>$)$=W.value}return $}get maxValue(){let $=null;for(let W of this._def.checks)if(W.kind==="max"){if($===null||W.value<$)$=W.value}return $}}e.create=($)=>{return new e({checks:[],typeName:z.ZodBigInt,coerce:$?.coerce??!1,...D($)})};class M$ extends L{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==M.boolean){let q=this._getOrReturnCtx($);return O(q,{code:B.invalid_type,expected:M.boolean,received:q.parsedType}),V}return P($.data)}}M$.create=($)=>{return new M$({typeName:z.ZodBoolean,coerce:$?.coerce||!1,...D($)})};class q$ extends L{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==M.date){let G=this._getOrReturnCtx($);return O(G,{code:B.invalid_type,expected:M.date,received:G.parsedType}),V}if(Number.isNaN($.data.getTime())){let G=this._getOrReturnCtx($);return O(G,{code:B.invalid_date}),V}let q=new C,J=void 0;for(let G of this._def.checks)if(G.kind==="min"){if($.data.getTime()<G.value)J=this._getOrReturnCtx($,J),O(J,{code:B.too_small,message:G.message,inclusive:!0,exact:!1,minimum:G.value,type:"date"}),q.dirty()}else if(G.kind==="max"){if($.data.getTime()>G.value)J=this._getOrReturnCtx($,J),O(J,{code:B.too_big,message:G.message,inclusive:!0,exact:!1,maximum:G.value,type:"date"}),q.dirty()}else F.assertNever(G);return{status:q.value,value:new Date($.data.getTime())}}_addCheck($){return new q$({...this._def,checks:[...this._def.checks,$]})}min($,W){return this._addCheck({kind:"min",value:$.getTime(),message:w.toString(W)})}max($,W){return this._addCheck({kind:"max",value:$.getTime(),message:w.toString(W)})}get minDate(){let $=null;for(let W of this._def.checks)if(W.kind==="min"){if($===null||W.value>$)$=W.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let W of this._def.checks)if(W.kind==="max"){if($===null||W.value<$)$=W.value}return $!=null?new Date($):null}}q$.create=($)=>{return new q$({checks:[],coerce:$?.coerce||!1,typeName:z.ZodDate,...D($)})};class A$ extends L{_parse($){if(this._getType($)!==M.symbol){let q=this._getOrReturnCtx($);return O(q,{code:B.invalid_type,expected:M.symbol,received:q.parsedType}),V}return P($.data)}}A$.create=($)=>{return new A$({typeName:z.ZodSymbol,...D($)})};class j$ extends L{_parse($){if(this._getType($)!==M.undefined){let q=this._getOrReturnCtx($);return O(q,{code:B.invalid_type,expected:M.undefined,received:q.parsedType}),V}return P($.data)}}j$.create=($)=>{return new j$({typeName:z.ZodUndefined,...D($)})};class O$ extends L{_parse($){if(this._getType($)!==M.null){let q=this._getOrReturnCtx($);return O(q,{code:B.invalid_type,expected:M.null,received:q.parsedType}),V}return P($.data)}}O$.create=($)=>{return new O$({typeName:z.ZodNull,...D($)})};class G$ extends L{constructor(){super(...arguments);this._any=!0}_parse($){return P($.data)}}G$.create=($)=>{return new G$({typeName:z.ZodAny,...D($)})};class t extends L{constructor(){super(...arguments);this._unknown=!0}_parse($){return P($.data)}}t.create=($)=>{return new t({typeName:z.ZodUnknown,...D($)})};class p extends L{_parse($){let W=this._getOrReturnCtx($);return O(W,{code:B.invalid_type,expected:M.never,received:W.parsedType}),V}}p.create=($)=>{return new p({typeName:z.ZodNever,...D($)})};class b$ extends L{_parse($){if(this._getType($)!==M.undefined){let q=this._getOrReturnCtx($);return O(q,{code:B.invalid_type,expected:M.void,received:q.parsedType}),V}return P($.data)}}b$.create=($)=>{return new b$({typeName:z.ZodVoid,...D($)})};class Z extends L{_parse($){let{ctx:W,status:q}=this._processInputParams($),J=this._def;if(W.parsedType!==M.array)return O(W,{code:B.invalid_type,expected:M.array,received:W.parsedType}),V;if(J.exactLength!==null){let X=W.data.length>J.exactLength.value,Q=W.data.length<J.exactLength.value;if(X||Q)O(W,{code:X?B.too_big:B.too_small,minimum:Q?J.exactLength.value:void 0,maximum:X?J.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:J.exactLength.message}),q.dirty()}if(J.minLength!==null){if(W.data.length<J.minLength.value)O(W,{code:B.too_small,minimum:J.minLength.value,type:"array",inclusive:!0,exact:!1,message:J.minLength.message}),q.dirty()}if(J.maxLength!==null){if(W.data.length>J.maxLength.value)O(W,{code:B.too_big,maximum:J.maxLength.value,type:"array",inclusive:!0,exact:!1,message:J.maxLength.message}),q.dirty()}if(W.common.async)return Promise.all([...W.data].map((X,Q)=>{return J.type._parseAsync(new m(W,X,W.path,Q))})).then((X)=>{return C.mergeArray(q,X)});let G=[...W.data].map((X,Q)=>{return J.type._parseSync(new m(W,X,W.path,Q))});return C.mergeArray(q,G)}get element(){return this._def.type}min($,W){return new Z({...this._def,minLength:{value:$,message:w.toString(W)}})}max($,W){return new Z({...this._def,maxLength:{value:$,message:w.toString(W)}})}length($,W){return new Z({...this._def,exactLength:{value:$,message:w.toString(W)}})}nonempty($){return this.min(1,$)}}Z.create=($,W)=>{return new Z({type:$,minLength:null,maxLength:null,exactLength:null,typeName:z.ZodArray,...D(W)})};function H$($){if($ instanceof A){let W={};for(let q in $.shape){let J=$.shape[q];W[q]=l.create(H$(J))}return new A({...$._def,shape:()=>W})}else if($ instanceof Z)return new Z({...$._def,type:H$($.element)});else if($ instanceof l)return l.create(H$($.unwrap()));else if($ instanceof r)return r.create(H$($.unwrap()));else if($ instanceof n)return n.create($.items.map((W)=>H$(W)));else return $}class A extends L{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),W=F.objectKeys($);return this._cached={shape:$,keys:W},this._cached}_parse($){if(this._getType($)!==M.object){let Y=this._getOrReturnCtx($);return O(Y,{code:B.invalid_type,expected:M.object,received:Y.parsedType}),V}let{status:q,ctx:J}=this._processInputParams($),{shape:G,keys:X}=this._getCached(),Q=[];if(!(this._def.catchall instanceof p&&this._def.unknownKeys==="strip")){for(let Y in J.data)if(!X.includes(Y))Q.push(Y)}let _=[];for(let Y of X){let H=G[Y],E=J.data[Y];_.push({key:{status:"valid",value:Y},value:H._parse(new m(J,E,J.path,Y)),alwaysSet:Y in J.data})}if(this._def.catchall instanceof p){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let H of Q)_.push({key:{status:"valid",value:H},value:{status:"valid",value:J.data[H]}});else if(Y==="strict"){if(Q.length>0)O(J,{code:B.unrecognized_keys,keys:Q}),q.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let H of Q){let E=J.data[H];_.push({key:{status:"valid",value:H},value:Y._parse(new m(J,E,J.path,H)),alwaysSet:H in J.data})}}if(J.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let H of _){let E=await H.key,v=await H.value;Y.push({key:E,value:v,alwaysSet:H.alwaysSet})}return Y}).then((Y)=>{return C.mergeObjectSync(q,Y)});else return C.mergeObjectSync(q,_)}get shape(){return this._def.shape()}strict($){return w.errToObj,new A({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(W,q)=>{let J=this._def.errorMap?.(W,q).message??q.defaultError;if(W.code==="unrecognized_keys")return{message:w.errToObj($).message??J};return{message:J}}}:{}})}strip(){return new A({...this._def,unknownKeys:"strip"})}passthrough(){return new A({...this._def,unknownKeys:"passthrough"})}extend($){return new A({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new A({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:z.ZodObject})}setKey($,W){return this.augment({[$]:W})}catchall($){return new A({...this._def,catchall:$})}pick($){let W={};for(let q of F.objectKeys($))if($[q]&&this.shape[q])W[q]=this.shape[q];return new A({...this._def,shape:()=>W})}omit($){let W={};for(let q of F.objectKeys(this.shape))if(!$[q])W[q]=this.shape[q];return new A({...this._def,shape:()=>W})}deepPartial(){return H$(this)}partial($){let W={};for(let q of F.objectKeys(this.shape)){let J=this.shape[q];if($&&!$[q])W[q]=J;else W[q]=J.optional()}return new A({...this._def,shape:()=>W})}required($){let W={};for(let q of F.objectKeys(this.shape))if($&&!$[q])W[q]=this.shape[q];else{let G=this.shape[q];while(G instanceof l)G=G._def.innerType;W[q]=G}return new A({...this._def,shape:()=>W})}keyof(){return K0(F.objectKeys(this.shape))}}A.create=($,W)=>{return new A({shape:()=>$,unknownKeys:"strip",catchall:p.create(),typeName:z.ZodObject,...D(W)})};A.strictCreate=($,W)=>{return new A({shape:()=>$,unknownKeys:"strict",catchall:p.create(),typeName:z.ZodObject,...D(W)})};A.lazycreate=($,W)=>{return new A({shape:$,unknownKeys:"strip",catchall:p.create(),typeName:z.ZodObject,...D(W)})};class w$ extends L{_parse($){let{ctx:W}=this._processInputParams($),q=this._def.options;function J(G){for(let Q of G)if(Q.result.status==="valid")return Q.result;for(let Q of G)if(Q.result.status==="dirty")return W.common.issues.push(...Q.ctx.common.issues),Q.result;let X=G.map((Q)=>new h(Q.ctx.common.issues));return O(W,{code:B.invalid_union,unionErrors:X}),V}if(W.common.async)return Promise.all(q.map(async(G)=>{let X={...W,common:{...W.common,issues:[]},parent:null};return{result:await G._parseAsync({data:W.data,path:W.path,parent:X}),ctx:X}})).then(J);else{let G=void 0,X=[];for(let _ of q){let Y={...W,common:{...W.common,issues:[]},parent:null},H=_._parseSync({data:W.data,path:W.path,parent:Y});if(H.status==="valid")return H;else if(H.status==="dirty"&&!G)G={result:H,ctx:Y};if(Y.common.issues.length)X.push(Y.common.issues)}if(G)return W.common.issues.push(...G.ctx.common.issues),G.result;let Q=X.map((_)=>new h(_));return O(W,{code:B.invalid_union,unionErrors:Q}),V}}get options(){return this._def.options}}w$.create=($,W)=>{return new w$({options:$,typeName:z.ZodUnion,...D(W)})};var d=($)=>{if($ instanceof S$)return d($.schema);else if($ instanceof c)return d($.innerType());else if($ instanceof E$)return[$.value];else if($ instanceof $$)return $.options;else if($ instanceof V$)return F.objectValues($.enum);else if($ instanceof z$)return d($._def.innerType);else if($ instanceof j$)return[void 0];else if($ instanceof O$)return[null];else if($ instanceof l)return[void 0,...d($.unwrap())];else if($ instanceof r)return[null,...d($.unwrap())];else if($ instanceof n$)return d($.unwrap());else if($ instanceof D$)return d($.unwrap());else if($ instanceof U$)return d($._def.innerType);else return[]};class p$ extends L{_parse($){let{ctx:W}=this._processInputParams($);if(W.parsedType!==M.object)return O(W,{code:B.invalid_type,expected:M.object,received:W.parsedType}),V;let q=this.discriminator,J=W.data[q],G=this.optionsMap.get(J);if(!G)return O(W,{code:B.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[q]}),V;if(W.common.async)return G._parseAsync({data:W.data,path:W.path,parent:W});else return G._parseSync({data:W.data,path:W.path,parent:W})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,W,q){let J=new Map;for(let G of W){let X=d(G.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let Q of X){if(J.has(Q))throw Error(`Discriminator property ${String($)} has duplicate value ${String(Q)}`);J.set(Q,G)}}return new p$({typeName:z.ZodDiscriminatedUnion,discriminator:$,options:W,optionsMap:J,...D(q)})}}function W0($,W){let q=u($),J=u(W);if($===W)return{valid:!0,data:$};else if(q===M.object&&J===M.object){let G=F.objectKeys(W),X=F.objectKeys($).filter((_)=>G.indexOf(_)!==-1),Q={...$,...W};for(let _ of X){let Y=W0($[_],W[_]);if(!Y.valid)return{valid:!1};Q[_]=Y.data}return{valid:!0,data:Q}}else if(q===M.array&&J===M.array){if($.length!==W.length)return{valid:!1};let G=[];for(let X=0;X<$.length;X++){let Q=$[X],_=W[X],Y=W0(Q,_);if(!Y.valid)return{valid:!1};G.push(Y.data)}return{valid:!0,data:G}}else if(q===M.date&&J===M.date&&+$===+W)return{valid:!0,data:$};else return{valid:!1}}class R$ extends L{_parse($){let{status:W,ctx:q}=this._processInputParams($),J=(G,X)=>{if(c$(G)||c$(X))return V;let Q=W0(G.value,X.value);if(!Q.valid)return O(q,{code:B.invalid_intersection_types}),V;if(u$(G)||u$(X))W.dirty();return{status:W.value,value:Q.data}};if(q.common.async)return Promise.all([this._def.left._parseAsync({data:q.data,path:q.path,parent:q}),this._def.right._parseAsync({data:q.data,path:q.path,parent:q})]).then(([G,X])=>J(G,X));else return J(this._def.left._parseSync({data:q.data,path:q.path,parent:q}),this._def.right._parseSync({data:q.data,path:q.path,parent:q}))}}R$.create=($,W,q)=>{return new R$({left:$,right:W,typeName:z.ZodIntersection,...D(q)})};class n extends L{_parse($){let{status:W,ctx:q}=this._processInputParams($);if(q.parsedType!==M.array)return O(q,{code:B.invalid_type,expected:M.array,received:q.parsedType}),V;if(q.data.length<this._def.items.length)return O(q,{code:B.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),V;if(!this._def.rest&&q.data.length>this._def.items.length)O(q,{code:B.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),W.dirty();let G=[...q.data].map((X,Q)=>{let _=this._def.items[Q]||this._def.rest;if(!_)return null;return _._parse(new m(q,X,q.path,Q))}).filter((X)=>!!X);if(q.common.async)return Promise.all(G).then((X)=>{return C.mergeArray(W,X)});else return C.mergeArray(W,G)}get items(){return this._def.items}rest($){return new n({...this._def,rest:$})}}n.create=($,W)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new n({items:$,typeName:z.ZodTuple,rest:null,...D(W)})};class v$ extends L{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:W,ctx:q}=this._processInputParams($);if(q.parsedType!==M.object)return O(q,{code:B.invalid_type,expected:M.object,received:q.parsedType}),V;let J=[],G=this._def.keyType,X=this._def.valueType;for(let Q in q.data)J.push({key:G._parse(new m(q,Q,q.path,Q)),value:X._parse(new m(q,q.data[Q],q.path,Q)),alwaysSet:Q in q.data});if(q.common.async)return C.mergeObjectAsync(W,J);else return C.mergeObjectSync(W,J)}get element(){return this._def.valueType}static create($,W,q){if(W instanceof L)return new v$({keyType:$,valueType:W,typeName:z.ZodRecord,...D(q)});return new v$({keyType:y.create(),valueType:$,typeName:z.ZodRecord,...D(W)})}}class k$ extends L{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:W,ctx:q}=this._processInputParams($);if(q.parsedType!==M.map)return O(q,{code:B.invalid_type,expected:M.map,received:q.parsedType}),V;let J=this._def.keyType,G=this._def.valueType,X=[...q.data.entries()].map(([Q,_],Y)=>{return{key:J._parse(new m(q,Q,q.path,[Y,"key"])),value:G._parse(new m(q,_,q.path,[Y,"value"]))}});if(q.common.async){let Q=new Map;return Promise.resolve().then(async()=>{for(let _ of X){let Y=await _.key,H=await _.value;if(Y.status==="aborted"||H.status==="aborted")return V;if(Y.status==="dirty"||H.status==="dirty")W.dirty();Q.set(Y.value,H.value)}return{status:W.value,value:Q}})}else{let Q=new Map;for(let _ of X){let{key:Y,value:H}=_;if(Y.status==="aborted"||H.status==="aborted")return V;if(Y.status==="dirty"||H.status==="dirty")W.dirty();Q.set(Y.value,H.value)}return{status:W.value,value:Q}}}}k$.create=($,W,q)=>{return new k$({valueType:W,keyType:$,typeName:z.ZodMap,...D(q)})};class J$ extends L{_parse($){let{status:W,ctx:q}=this._processInputParams($);if(q.parsedType!==M.set)return O(q,{code:B.invalid_type,expected:M.set,received:q.parsedType}),V;let J=this._def;if(J.minSize!==null){if(q.data.size<J.minSize.value)O(q,{code:B.too_small,minimum:J.minSize.value,type:"set",inclusive:!0,exact:!1,message:J.minSize.message}),W.dirty()}if(J.maxSize!==null){if(q.data.size>J.maxSize.value)O(q,{code:B.too_big,maximum:J.maxSize.value,type:"set",inclusive:!0,exact:!1,message:J.maxSize.message}),W.dirty()}let G=this._def.valueType;function X(_){let Y=new Set;for(let H of _){if(H.status==="aborted")return V;if(H.status==="dirty")W.dirty();Y.add(H.value)}return{status:W.value,value:Y}}let Q=[...q.data.values()].map((_,Y)=>G._parse(new m(q,_,q.path,Y)));if(q.common.async)return Promise.all(Q).then((_)=>X(_));else return X(Q)}min($,W){return new J$({...this._def,minSize:{value:$,message:w.toString(W)}})}max($,W){return new J$({...this._def,maxSize:{value:$,message:w.toString(W)}})}size($,W){return this.min($,W).max($,W)}nonempty($){return this.min(1,$)}}J$.create=($,W)=>{return new J$({valueType:$,minSize:null,maxSize:null,typeName:z.ZodSet,...D(W)})};class B$ extends L{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:W}=this._processInputParams($);if(W.parsedType!==M.function)return O(W,{code:B.invalid_type,expected:M.function,received:W.parsedType}),V;function q(Q,_){return f$({data:Q,path:W.path,errorMaps:[W.common.contextualErrorMap,W.schemaErrorMap,_$(),o].filter((Y)=>!!Y),issueData:{code:B.invalid_arguments,argumentsError:_}})}function J(Q,_){return f$({data:Q,path:W.path,errorMaps:[W.common.contextualErrorMap,W.schemaErrorMap,_$(),o].filter((Y)=>!!Y),issueData:{code:B.invalid_return_type,returnTypeError:_}})}let G={errorMap:W.common.contextualErrorMap},X=W.data;if(this._def.returns instanceof X$){let Q=this;return P(async function(..._){let Y=new h([]),H=await Q._def.args.parseAsync(_,G).catch((b)=>{throw Y.addIssue(q(_,b)),Y}),E=await Reflect.apply(X,this,H);return await Q._def.returns._def.type.parseAsync(E,G).catch((b)=>{throw Y.addIssue(J(E,b)),Y})})}else{let Q=this;return P(function(..._){let Y=Q._def.args.safeParse(_,G);if(!Y.success)throw new h([q(_,Y.error)]);let H=Reflect.apply(X,this,Y.data),E=Q._def.returns.safeParse(H,G);if(!E.success)throw new h([J(H,E.error)]);return E.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new B$({...this._def,args:n.create($).rest(t.create())})}returns($){return new B$({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,W,q){return new B$({args:$?$:n.create([]).rest(t.create()),returns:W||t.create(),typeName:z.ZodFunction,...D(q)})}}class S$ extends L{get schema(){return this._def.getter()}_parse($){let{ctx:W}=this._processInputParams($);return this._def.getter()._parse({data:W.data,path:W.path,parent:W})}}S$.create=($,W)=>{return new S$({getter:$,typeName:z.ZodLazy,...D(W)})};class E$ extends L{_parse($){if($.data!==this._def.value){let W=this._getOrReturnCtx($);return O(W,{received:W.data,code:B.invalid_literal,expected:this._def.value}),V}return{status:"valid",value:$.data}}get value(){return this._def.value}}E$.create=($,W)=>{return new E$({value:$,typeName:z.ZodLiteral,...D(W)})};function K0($,W){return new $$({values:$,typeName:z.ZodEnum,...D(W)})}class $$ extends L{_parse($){if(typeof $.data!=="string"){let W=this._getOrReturnCtx($),q=this._def.values;return O(W,{expected:F.joinValues(q),received:W.parsedType,code:B.invalid_type}),V}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let W=this._getOrReturnCtx($),q=this._def.values;return O(W,{received:W.data,code:B.invalid_enum_value,options:q}),V}return P($.data)}get options(){return this._def.values}get enum(){let $={};for(let W of this._def.values)$[W]=W;return $}get Values(){let $={};for(let W of this._def.values)$[W]=W;return $}get Enum(){let $={};for(let W of this._def.values)$[W]=W;return $}extract($,W=this._def){return $$.create($,{...this._def,...W})}exclude($,W=this._def){return $$.create(this.options.filter((q)=>!$.includes(q)),{...this._def,...W})}}$$.create=K0;class V$ extends L{_parse($){let W=F.getValidEnumValues(this._def.values),q=this._getOrReturnCtx($);if(q.parsedType!==M.string&&q.parsedType!==M.number){let J=F.objectValues(W);return O(q,{expected:F.joinValues(J),received:q.parsedType,code:B.invalid_type}),V}if(!this._cache)this._cache=new Set(F.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let J=F.objectValues(W);return O(q,{received:q.data,code:B.invalid_enum_value,options:J}),V}return P($.data)}get enum(){return this._def.values}}V$.create=($,W)=>{return new V$({values:$,typeName:z.ZodNativeEnum,...D(W)})};class X$ extends L{unwrap(){return this._def.type}_parse($){let{ctx:W}=this._processInputParams($);if(W.parsedType!==M.promise&&W.common.async===!1)return O(W,{code:B.invalid_type,expected:M.promise,received:W.parsedType}),V;let q=W.parsedType===M.promise?W.data:Promise.resolve(W.data);return P(q.then((J)=>{return this._def.type.parseAsync(J,{path:W.path,errorMap:W.common.contextualErrorMap})}))}}X$.create=($,W)=>{return new X$({type:$,typeName:z.ZodPromise,...D(W)})};class c extends L{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===z.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:W,ctx:q}=this._processInputParams($),J=this._def.effect||null,G={addIssue:(X)=>{if(O(q,X),X.fatal)W.abort();else W.dirty()},get path(){return q.path}};if(G.addIssue=G.addIssue.bind(G),J.type==="preprocess"){let X=J.transform(q.data,G);if(q.common.async)return Promise.resolve(X).then(async(Q)=>{if(W.value==="aborted")return V;let _=await this._def.schema._parseAsync({data:Q,path:q.path,parent:q});if(_.status==="aborted")return V;if(_.status==="dirty")return W$(_.value);if(W.value==="dirty")return W$(_.value);return _});else{if(W.value==="aborted")return V;let Q=this._def.schema._parseSync({data:X,path:q.path,parent:q});if(Q.status==="aborted")return V;if(Q.status==="dirty")return W$(Q.value);if(W.value==="dirty")return W$(Q.value);return Q}}if(J.type==="refinement"){let X=(Q)=>{let _=J.refinement(Q,G);if(q.common.async)return Promise.resolve(_);if(_ instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Q};if(q.common.async===!1){let Q=this._def.schema._parseSync({data:q.data,path:q.path,parent:q});if(Q.status==="aborted")return V;if(Q.status==="dirty")W.dirty();return X(Q.value),{status:W.value,value:Q.value}}else return this._def.schema._parseAsync({data:q.data,path:q.path,parent:q}).then((Q)=>{if(Q.status==="aborted")return V;if(Q.status==="dirty")W.dirty();return X(Q.value).then(()=>{return{status:W.value,value:Q.value}})})}if(J.type==="transform")if(q.common.async===!1){let X=this._def.schema._parseSync({data:q.data,path:q.path,parent:q});if(!a(X))return V;let Q=J.transform(X.value,G);if(Q instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:W.value,value:Q}}else return this._def.schema._parseAsync({data:q.data,path:q.path,parent:q}).then((X)=>{if(!a(X))return V;return Promise.resolve(J.transform(X.value,G)).then((Q)=>({status:W.value,value:Q}))});F.assertNever(J)}}c.create=($,W,q)=>{return new c({schema:$,typeName:z.ZodEffects,effect:W,...D(q)})};c.createWithPreprocess=($,W,q)=>{return new c({schema:W,effect:{type:"preprocess",transform:$},typeName:z.ZodEffects,...D(q)})};class l extends L{_parse($){if(this._getType($)===M.undefined)return P(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}l.create=($,W)=>{return new l({innerType:$,typeName:z.ZodOptional,...D(W)})};class r extends L{_parse($){if(this._getType($)===M.null)return P(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}r.create=($,W)=>{return new r({innerType:$,typeName:z.ZodNullable,...D(W)})};class z$ extends L{_parse($){let{ctx:W}=this._processInputParams($),q=W.data;if(W.parsedType===M.undefined)q=this._def.defaultValue();return this._def.innerType._parse({data:q,path:W.path,parent:W})}removeDefault(){return this._def.innerType}}z$.create=($,W)=>{return new z$({innerType:$,typeName:z.ZodDefault,defaultValue:typeof W.default==="function"?W.default:()=>W.default,...D(W)})};class U$ extends L{_parse($){let{ctx:W}=this._processInputParams($),q={...W,common:{...W.common,issues:[]}},J=this._def.innerType._parse({data:q.data,path:q.path,parent:{...q}});if(Y$(J))return J.then((G)=>{return{status:"valid",value:G.status==="valid"?G.value:this._def.catchValue({get error(){return new h(q.common.issues)},input:q.data})}});else return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new h(q.common.issues)},input:q.data})}}removeCatch(){return this._def.innerType}}U$.create=($,W)=>{return new U$({innerType:$,typeName:z.ZodCatch,catchValue:typeof W.catch==="function"?W.catch:()=>W.catch,...D(W)})};class C$ extends L{_parse($){if(this._getType($)!==M.nan){let q=this._getOrReturnCtx($);return O(q,{code:B.invalid_type,expected:M.nan,received:q.parsedType}),V}return{status:"valid",value:$.data}}}C$.create=($)=>{return new C$({typeName:z.ZodNaN,...D($)})};var A1=Symbol("zod_brand");class n$ extends L{_parse($){let{ctx:W}=this._processInputParams($),q=W.data;return this._def.type._parse({data:q,path:W.path,parent:W})}unwrap(){return this._def.type}}class I$ extends L{_parse($){let{status:W,ctx:q}=this._processInputParams($);if(q.common.async)return(async()=>{let G=await this._def.in._parseAsync({data:q.data,path:q.path,parent:q});if(G.status==="aborted")return V;if(G.status==="dirty")return W.dirty(),W$(G.value);else return this._def.out._parseAsync({data:G.value,path:q.path,parent:q})})();else{let J=this._def.in._parseSync({data:q.data,path:q.path,parent:q});if(J.status==="aborted")return V;if(J.status==="dirty")return W.dirty(),{status:"dirty",value:J.value};else return this._def.out._parseSync({data:J.value,path:q.path,parent:q})}}static create($,W){return new I$({in:$,out:W,typeName:z.ZodPipeline})}}class D$ extends L{_parse($){let W=this._def.innerType._parse($),q=(J)=>{if(a(J))J.value=Object.freeze(J.value);return J};return Y$(W)?W.then((J)=>q(J)):q(W)}unwrap(){return this._def.innerType}}D$.create=($,W)=>{return new D$({innerType:$,typeName:z.ZodReadonly,...D(W)})};function U0($,W){let q=typeof $==="function"?$(W):typeof $==="string"?{message:$}:$;return typeof q==="string"?{message:q}:q}function F0($,W={},q){if($)return G$.create().superRefine((J,G)=>{let X=$(J);if(X instanceof Promise)return X.then((Q)=>{if(!Q){let _=U0(W,J),Y=_.fatal??q??!0;G.addIssue({code:"custom",..._,fatal:Y})}});if(!X){let Q=U0(W,J),_=Q.fatal??q??!0;G.addIssue({code:"custom",...Q,fatal:_})}return});return G$.create()}var b1={object:A.lazycreate},z;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(z||(z={}));var v1=($,W={message:`Input not instance of ${$.name}`})=>F0((q)=>q instanceof $,W),f0=y.create,A0=s.create,k1=C$.create,C1=e.create,b0=M$.create,I1=q$.create,P1=A$.create,h1=j$.create,T1=O$.create,x1=G$.create,g1=t.create,y1=p.create,Z1=b$.create,l1=Z.create,m1=A.create,c1=A.strictCreate,u1=w$.create,p1=p$.create,n1=R$.create,i1=n.create,o1=v$.create,d1=k$.create,r1=J$.create,a1=B$.create,t1=S$.create,s1=E$.create,e1=$$.create,$W=V$.create,WW=X$.create,qW=c.create,GW=l.create,JW=r.create,XW=c.createWithPreprocess,QW=I$.create,_W=()=>f0().optional(),YW=()=>A0().optional(),HW=()=>b0().optional(),BW={string:($)=>y.create({...$,coerce:!0}),number:($)=>s.create({...$,coerce:!0}),boolean:($)=>M$.create({...$,coerce:!0}),bigint:($)=>e.create({...$,coerce:!0}),date:($)=>q$.create({...$,coerce:!0})};var MW=V;var jW=j.discriminatedUnion("type",[j.object({type:j.literal("register_new"),maxConcurrent:j.number().int().positive(),name:j.string().optional()}),j.object({type:j.literal("register_resume"),workerId:j.string(),secret:j.string(),maxConcurrent:j.number().int().positive(),name:j.string().optional()}),j.object({type:j.literal("stats"),loadedModel:j.string().nullable(),jobsCompleted:j.number(),uptimeMs:j.number()}),j.object({type:j.literal("model_ready"),jobId:j.string(),model:j.string()}),j.object({type:j.literal("delta"),jobId:j.string(),content:j.string().optional(),toolCalls:j.array(j.object({index:j.number().int().nonnegative(),id:j.string().optional(),name:j.string().optional(),arguments:j.string().optional()})).optional()}),j.object({type:j.literal("embedding"),jobId:j.string(),vector:j.array(j.number())}),j.object({type:j.literal("done"),jobId:j.string(),finishReason:j.enum(["stop","length","tool_calls"]),usage:j.object({promptTokens:j.number().int().nonnegative(),completionTokens:j.number().int().nonnegative()}).optional()}),j.object({type:j.literal("error"),jobId:j.string(),message:j.string()}),j.object({type:j.literal("models"),models:j.array(j.string())}),j.object({type:j.literal("pong")})]),q0=j.discriminatedUnion("type",[j.object({type:j.literal("registered"),workerId:j.string(),secret:j.string().optional()}),j.object({type:j.literal("infer"),jobId:j.string(),task:j.enum(["chat","embedding"]),model:j.string(),input:j.unknown(),options:j.object({maxTokens:j.number().optional(),temperature:j.number().optional(),tools:j.array(j.unknown()).optional(),toolChoice:j.unknown().optional()}).optional()}),j.object({type:j.literal("cancel"),jobId:j.string()}),j.object({type:j.literal("ping")})]);function G0($,W){try{let q=typeof W==="string"?W:new TextDecoder().decode(W);return $.parse(JSON.parse(q))}catch(q){return console.error("invalid message",q),null}}var OW=F$({meta:{name:"start",description:"Start a worker that connects to a Shoal server"},args:{server:{type:"string",description:"WebSocket URL of the Shoal server (e.g. wss://server.example.com/ws/workers)",required:!0},token:{type:"string",description:"API key. Falls back to SHOAL_TOKEN env var."},backend:{type:"string",description:"Inference backend URL",default:"http://localhost:11434"},concurrency:{type:"string",description:"Max concurrent jobs",default:"1"},name:{type:"string",description:"Friendly name advertised to the server. Overwrites any name set via the dashboard on every connect."}},run({args:$}){let W=$.token??process.env.SHOAL_TOKEN;if(!W)console.error("Missing --token. Set via --token <key> or SHOAL_TOKEN env var. Create a key at /settings on the dashboard."),process.exit(1);let q=Number.parseInt($.concurrency,10);if(!Number.isFinite(q)||q<1)console.error(`Invalid --concurrency: ${$.concurrency}. Must be a positive integer.`),process.exit(1);wW({serverUrl:$.server,token:W,backend:$.backend,maxConcurrent:q,name:$.name})}}),v0=F$({meta:{name:"worker",description:"Run a Shoal inference worker"},subCommands:{start:OW}});function wW($){let{serverUrl:W,token:q,backend:J,maxConcurrent:G,name:X}=$,Q=`${W}${W.includes("?")?"&":"?"}token=${encodeURIComponent(q)}`;O0(J),console.log(`[worker] using backend at ${J}`);let _=Date.now(),Y=0,H=null,E=1000,v=new Map;setInterval(()=>{if(H?.readyState===WebSocket.OPEN)H.send(JSON.stringify({type:"stats",loadedModel:R0(),jobsCompleted:Y,uptimeMs:Date.now()-_}))},5000);async function b(){try{let R=await w0();if(H?.readyState===WebSocket.OPEN)H.send(JSON.stringify({type:"models",models:R}))}catch(R){console.error("[worker] failed to fetch models from backend:",R.message)}}setInterval(b,30000);let U=M0(W);if(U)console.log(`[worker] loaded identity ${U.workerId} from ${l$(W)}`);else console.log(`[worker] no stored identity, will register as new at ${l$(W)}`);function k(){console.log(`[worker] connecting to ${W}`),H=new WebSocket(Q);let R=!1,S=(K)=>{if(R)return;R=!0,console.log(`[worker] disconnected (${K}), reconnecting in ${E}ms`),setTimeout(k,E),E=Math.min(E*2,30000)};H.onopen=()=>{if(console.log("[worker] connected, registering"),E=1000,U)H.send(JSON.stringify({type:"register_resume",workerId:U.workerId,secret:U.secret,maxConcurrent:G,...X!==void 0?{name:X}:{}}));else H.send(JSON.stringify({type:"register_new",maxConcurrent:G,...X!==void 0?{name:X}:{}}))},H.onmessage=(K)=>{let N=G0(q0,K.data);if(!N)return;if(N.type==="registered"){if(N.secret)U={workerId:N.workerId,secret:N.secret},j0(W,U),console.log(`[worker] registered (new) as ${N.workerId}, identity saved`);else console.log(`[worker] registered (resumed) as ${N.workerId}`);b();return}if(N.type==="ping"){H.send(JSON.stringify({type:"pong"}));return}if(N.type==="infer"){f(N);return}if(N.type==="cancel"){let T=v.get(N.jobId);if(T)console.log(`[worker] cancel received for job ${N.jobId}`),T.abort()}},H.onclose=(K)=>{let N=K.reason?`${K.code} ${K.reason}`:`${K.code}`;if(K.code===1008)console.error(`[worker] credentials rejected by server (${N}). If you've reset the server's database, delete ${l$(W)} and restart to re-register as a new worker.`),process.exit(1);S(N)},H.onerror=(K)=>{console.error("[worker] socket error:",K),S("socket error")}}async function f(R){let{jobId:S,task:K,model:N,input:T,options:x}=R,P$=new AbortController;v.set(S,P$);try{if(H?.send(JSON.stringify({type:"model_ready",jobId:S,model:N})),K==="chat"){let Q$=T;for await(let N$ of S0(N,Q$,x,P$.signal))if("done"in N$)Y++,H?.send(JSON.stringify({type:"done",jobId:S,finishReason:N$.finishReason,usage:N$.usage}));else H?.send(JSON.stringify({type:"delta",jobId:S,content:N$.content,toolCalls:N$.toolCalls}))}else if(K==="embedding"){let Q$=await E0(N,T,P$.signal);H?.send(JSON.stringify({type:"embedding",jobId:S,vector:Q$[0]})),Y++,H?.send(JSON.stringify({type:"done",jobId:S,finishReason:"stop"}))}}catch(Q$){if(P$.signal.aborted)console.log(`[worker] job ${S} aborted`);else console.error(`[worker] inference error for job ${S}:`,Q$),H?.send(JSON.stringify({type:"error",jobId:S,message:Q$.message??"inference failed"}))}finally{v.delete(S)}}k()}var RW=F$({meta:{name:"shoal",description:"Shoal CLI"},subCommands:{worker:v0}});B0(RW);
2
+ var d1=Object.defineProperty;var o1=($)=>$;function r1($,q){this[$]=o1.bind(null,q)}var t1=($,q)=>{for(var W in q)d1($,W,{get:q[W],enumerable:!0,configurable:!0,set:r1.bind(q,W)})};var a1=/\d/,s1=["-","_","/","."];function e1($=""){if(a1.test($))return;return $!==$.toLowerCase()}function H1($,q){let W=q??s1,J=[];if(!$||typeof $!=="string")return J;let G="",Q,X;for(let Y of $){let _=W.includes(Y);if(_===!0){J.push(G),G="",Q=void 0;continue}let B=e1(Y);if(X===!1){if(Q===!1&&B===!0){J.push(G),G=Y,Q=B;continue}if(Q===!0&&B===!1&&G.length>1){let O=G.at(-1);J.push(G.slice(0,Math.max(0,G.length-1))),G=O+Y,Q=B;continue}}G+=Y,Q=B,X=_}return J.push(G),J}function $0($){return $?$[0].toUpperCase()+$.slice(1):""}function q0($){return $?$[0].toLowerCase()+$.slice(1):""}function W0($,q){return $?(Array.isArray($)?$:H1($)).map((W)=>$0(q?.normalize?W.toLowerCase():W)).join(""):""}function v$($,q){return q0(W0($||"",q))}function y$($,q){return $?(Array.isArray($)?$:H1($)).map((W)=>W.toLowerCase()).join(q??"-"):""}function B1($){return y$($||"","_")}import{parseArgs as J0}from"node:util";function b$($){if(Array.isArray($))return $;return $===void 0?[]:[$]}function a$($,q=""){let W=[];for(let J of $)for(let[G,Q]of J.entries())W[G]=Math.max(W[G]||0,Q.length);return $.map((J)=>J.map((G,Q)=>q+G[Q===0?"padStart":"padEnd"](W[Q])).join(" ")).join(`
3
+ `)}function x($){return typeof $==="function"?$():$}var s=class extends Error{code;constructor($,q){super($);this.name="CLIError",this.code=q}};function G0($=[],q={}){let W=new Set(q.boolean||[]),J=new Set(q.string||[]),G=q.alias||{},Q=q.default||{},X=new Map,Y=new Map;for(let[E,N]of Object.entries(G)){let I=N;for(let P of I){if(X.set(E,P),!Y.has(P))Y.set(P,[]);if(Y.get(P).push(E),X.set(P,E),!Y.has(E))Y.set(E,[]);Y.get(E).push(P)}}let _={};function B(E){if(W.has(E))return"boolean";let N=Y.get(E)||[];for(let I of N)if(W.has(I))return"boolean";return"string"}function O(E){if(J.has(E))return!0;let N=Y.get(E)||[];for(let I of N)if(J.has(I))return!0;return!1}let v=new Set([...W,...J,...Object.keys(G),...Object.values(G).flat(),...Object.keys(Q)]);for(let E of v)if(!_[E])_[E]={type:B(E),default:Q[E]};for(let[E,N]of X.entries())if(E.length===1&&_[N]&&!_[N].short)_[N].short=E;let A=[],F={};for(let E=0;E<$.length;E++){let N=$[E];if(N==="--"){A.push(...$.slice(E));break}if(N.startsWith("--no-")){let I=N.slice(5);F[I]=!0;continue}A.push(N)}let f;try{f=J0({args:A,options:Object.keys(_).length>0?_:void 0,allowPositionals:!0,strict:!1})}catch{f={values:{},positionals:A}}let U={_:[]};U._=f.positionals;for(let[E,N]of Object.entries(f.values)){let I=N;if(B(E)==="boolean"&&typeof N==="string")I=N!=="false";else if(O(E)&&typeof N==="boolean")I="";U[E]=I}for(let[E]of Object.entries(F)){U[E]=!1;let N=X.get(E);if(N)U[N]=!1;let I=Y.get(E);if(I)for(let P of I)U[P]=!1}for(let[E,N]of X.entries()){if(U[E]!==void 0&&U[N]===void 0)U[N]=U[E];if(U[N]!==void 0&&U[E]===void 0)U[E]=U[N];if(U[E]!==U[N]&&Q[N]===U[N])U[N]=U[E]}return U}var X0=(()=>{let $=globalThis.process?.env??{};return $.NO_COLOR==="1"||$.TERM==="dumb"||$.TEST||$.CI})(),u$=($,q=39)=>(W)=>X0?W:`\x1B[${$}m${W}\x1B[${q}m`,Z$=u$(1,22),l=u$(36),m$=u$(90),l$=u$(4,24);function Q0($,q){let W={boolean:[],string:[],alias:{},default:{}},J=R1(q);for(let Y of J){if(Y.type==="positional")continue;if(Y.type==="string"||Y.type==="enum")W.string.push(Y.name);else if(Y.type==="boolean")W.boolean.push(Y.name);if(Y.default!==void 0)W.default[Y.name]=Y.default;if(Y.alias)W.alias[Y.name]=Y.alias;let _=v$(Y.name),B=y$(Y.name);if(_!==Y.name||B!==Y.name){let O=b$(W.alias[Y.name]||[]);if(_!==Y.name&&!O.includes(_))O.push(_);if(B!==Y.name&&!O.includes(B))O.push(B);if(O.length>0)W.alias[Y.name]=O}}let G=G0($,W),[...Q]=G._,X=new Proxy(G,{get(Y,_){return Y[_]??Y[v$(_)]??Y[y$(_)]}});for(let[,Y]of J.entries())if(Y.type==="positional"){let _=Q.shift();if(_!==void 0)X[Y.name]=_;else if(Y.default===void 0&&Y.required!==!1)throw new s(`Missing required positional argument: ${Y.name.toUpperCase()}`,"EARG");else X[Y.name]=Y.default}else if(Y.type==="enum"){let _=X[Y.name],B=Y.options||[];if(_!==void 0&&B.length>0&&!B.includes(_))throw new s(`Invalid value for argument: ${l(`--${Y.name}`)} (${l(_)}). Expected one of: ${B.map((O)=>l(O)).join(", ")}.`,"EARG")}else if(Y.required&&X[Y.name]===void 0)throw new s(`Missing required argument: --${Y.name}`,"EARG");return X}function R1($){let q=[];for(let[W,J]of Object.entries($||{}))q.push({...J,name:W,alias:b$(J.alias)});return q}async function Y0($){return Promise.all($.map((q)=>x(q)))}function C$($){return $}async function e$($,q){let W=await x($.args||{}),J=Q0(q.rawArgs,W),G={rawArgs:q.rawArgs,args:J,data:q.data,cmd:$},Q=await Y0($.plugins??[]),X,Y;try{for(let O of Q)await O.setup?.(G);if(typeof $.setup==="function")await $.setup(G);let B=await x($.subCommands);if(B&&Object.keys(B).length>0){let O=O1(q.rawArgs,W),v=q.rawArgs[O];if(v){let A=await q1(B,v);if(!A)throw new s(`Unknown command ${l(v)}`,"E_UNKNOWN_COMMAND");await e$(A,{rawArgs:q.rawArgs.slice(O+1)})}else{let A=await x($.default);if(A){if($.run)throw new s("Cannot specify both 'run' and 'default' on the same command.","E_DEFAULT_CONFLICT");let F=await q1(B,A);if(!F)throw new s(`Default sub command ${l(A)} not found in subCommands.`,"E_UNKNOWN_COMMAND");await e$(F,{rawArgs:q.rawArgs})}else if(!$.run)throw new s("No command specified.","E_NO_COMMAND")}}if(typeof $.run==="function")X=await $.run(G)}catch(B){Y=B}let _=[];if(typeof $.cleanup==="function")try{await $.cleanup(G)}catch(B){_.push(B)}for(let B of[...Q].reverse())try{await B.cleanup?.(G)}catch(O){_.push(O)}if(Y)throw Y;if(_.length===1)throw _[0];if(_.length>1)throw Error("Multiple cleanup errors",{cause:_});return{result:X}}async function $1($,q,W){let J=await x($.subCommands);if(J&&Object.keys(J).length>0){let G=O1(q,await x($.args||{})),Q=q[G],X=await q1(J,Q);if(X)return $1(X,q.slice(G+1),$)}return[$,W]}async function q1($,q){if(q in $)return x($[q]);for(let W of Object.values($)){let J=await x(W),G=await x(J?.meta);if(G?.alias){if(b$(G.alias).includes(q))return J}}}function O1($,q){for(let W=0;W<$.length;W++){let J=$[W];if(J==="--")return-1;if(J.startsWith("-")){if(!J.includes("=")&&_0(J,q))W++;continue}return W}return-1}function _0($,q){let W=$.replace(/^-{1,2}/,""),J=v$(W);for(let[G,Q]of Object.entries(q)){if(Q.type!=="string"&&Q.type!=="enum")continue;if(J===v$(G))return!0;if((Array.isArray(Q.alias)?Q.alias:Q.alias?[Q.alias]:[]).includes(W))return!0}return!1}async function H0($,q){try{console.log(await M0($,q)+`
4
+ `)}catch(W){console.error(W)}}var B0=/^no[-A-Z]/;async function M0($,q){let W=await x($.meta||{}),J=R1(await x($.args||{})),G=await x(q?.meta||{}),Q=`${G.name?`${G.name} `:""}`+(W.name||process.argv[1]),X=[],Y=[],_=[],B=[];for(let F of J)if(F.type==="positional"){let f=F.name.toUpperCase(),U=F.required!==!1&&F.default===void 0;Y.push([l(f+s$(F)),M1(F,U)]),B.push(U?`<${f}>`:`[${f}]`)}else{let f=F.required===!0&&F.default===void 0,U=[...(F.alias||[]).map((E)=>`-${E}`),`--${F.name}`].join(", ")+s$(F);if(X.push([l(U),M1(F,f)]),F.type==="boolean"&&(F.default===!0||F.negativeDescription)&&!B0.test(F.name)){let E=[...(F.alias||[]).map((N)=>`--no-${N}`),`--no-${F.name}`].join(", ");X.push([l(E),[F.negativeDescription,f?m$("(Required)"):""].filter(Boolean).join(" ")])}if(f)B.push(`--${F.name}`+s$(F))}if($.subCommands){let F=[],f=await x($.subCommands);for(let[U,E]of Object.entries(f)){let N=await x((await x(E))?.meta);if(N?.hidden)continue;let I=b$(N?.alias),P=[U,...I].join(", ");_.push([l(P),N?.description||""]),F.push(U,...I)}B.push(F.join("|"))}let O=[],v=W.version||G.version;O.push(m$(`${W.description} (${Q+(v?` v${v}`:"")})`),"");let A=X.length>0||Y.length>0;if(O.push(`${l$(Z$("USAGE"))} ${l(`${Q}${A?" [OPTIONS]":""} ${B.join(" ")}`)}`,""),Y.length>0)O.push(l$(Z$("ARGUMENTS")),""),O.push(a$(Y," ")),O.push("");if(X.length>0)O.push(l$(Z$("OPTIONS")),""),O.push(a$(X," ")),O.push("");if(_.length>0)O.push(l$(Z$("COMMANDS")),""),O.push(a$(_," ")),O.push("",`Use ${l(`${Q} <command> --help`)} for more information about a command.`);return O.filter((F)=>typeof F==="string").join(`
5
+ `)}function s$($){let q=$.valueHint?`=<${$.valueHint}>`:"",W=q||`=<${B1($.name)}>`;if(!$.type||$.type==="positional"||$.type==="boolean")return q;if($.type==="enum"&&$.options?.length)return`=<${$.options.join("|")}>`;return W}function M1($,q){let W=q?m$("(Required)"):"",J=$.default===void 0?"":m$(`(Default: ${$.default})`);return[$.description,W,J].filter(Boolean).join(" ")}async function S1($,q={}){let W=q.rawArgs||process.argv.slice(2),J=q.showUsage||H0;try{let G=await j0($);if(G.help.length>0&&W.some((Q)=>G.help.includes(Q)))await J(...await $1($,W)),process.exit(0);else if(W.length===1&&G.version.includes(W[0])){let Q=typeof $.meta==="function"?await $.meta():await $.meta;if(!Q?.version)throw new s("No version specified","E_NO_VERSION");console.log(Q.version)}else await e$($,{rawArgs:W})}catch(G){if(G instanceof s)await J(...await $1($,W)),console.error(G.message);else console.error(G,`
6
+ `);process.exit(1)}}async function j0($){let q=await x($.args||{}),W=new Set,J=new Set;for(let[G,Q]of Object.entries(q)){W.add(G);for(let X of b$(Q.alias))J.add(X)}return{help:j1("help","h",W,J),version:j1("version","v",W,J)}}function j1($,q,W,J){if(W.has($)||J.has($))return[];if(W.has(q)||J.has(q))return[`--${$}`];return[`--${$}`,`-${q}`]}var R0=process.env.BACKEND_URL||"http://localhost:11434";function O0(){return R0.split(",").map(($)=>$.trim()).filter(($)=>$.length>0)}var E1={getBackendUrls:O0};import S0 from"node:crypto";import{existsSync as E0,mkdirSync as w0,readFileSync as V0,writeFileSync as N0}from"node:fs";import D0 from"node:os";import c$ from"node:path";function W1($){let q=process.env.XDG_STATE_HOME??c$.join(D0.homedir(),".local","state"),W=c$.join(q,"shoal"),J=S0.createHash("sha256").update($).digest("hex").slice(0,16);return c$.join(W,`identity-${J}.json`)}function w1($){let q=W1($);if(!E0(q))return null;try{let W=V0(q,"utf8"),J=JSON.parse(W);if(typeof J.workerId!=="string"||typeof J.secret!=="string")throw Error("malformed identity file");return{workerId:J.workerId,secret:J.secret}}catch(W){throw Error(`Failed to read worker identity at ${q}: ${W.message}. Delete the file to re-register as a new worker.`)}}function V1($,q){let W=W1($);w0(c$.dirname(W),{recursive:!0,mode:448}),N0(W,JSON.stringify(q,null,2),{mode:384})}function p$($){return W1($)}async function*N1($,q,W,J,G){let Q={model:q,messages:W,stream:!0,stream_options:{include_usage:!0},max_tokens:J?.maxTokens??512,temperature:J?.temperature??1};if(J?.tools&&J.tools.length>0)Q.tools=J.tools;if(J?.toolChoice!==void 0)Q.tool_choice=J.toolChoice;let X=await fetch(`${$}/v1/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Q),signal:G});if(!X.ok){let A=await X.text();throw Error(`Backend returned ${X.status}: ${A}`)}if(!X.body)throw Error("Backend returned a response with no body");let Y=X.body.getReader(),_=new TextDecoder,B="",O="stop",v;while(!0){let{done:A,value:F}=await Y.read();if(A)break;B+=_.decode(F,{stream:!0});let f=B.split(`
7
+ `);B=f.pop()??"";for(let U of f){let E=U.trim();if(!E.startsWith("data: "))continue;let N=E.slice(6);if(N==="[DONE]")continue;try{let I=JSON.parse(N);if(I.usage&&typeof I.usage==="object"){let L=I.usage;if(typeof L.prompt_tokens==="number"&&typeof L.completion_tokens==="number")v={promptTokens:L.prompt_tokens,completionTokens:L.completion_tokens}}let P=I.choices?.[0];if(!P)continue;if(P.finish_reason==="length")O="length";else if(P.finish_reason==="tool_calls")O="tool_calls";else if(P.finish_reason==="stop")O="stop";let t=P.delta;if(!t)continue;let a={};if(typeof t.content==="string"&&t.content.length>0)a.content=t.content;if(Array.isArray(t.tool_calls)&&t.tool_calls.length>0)a.toolCalls=t.tool_calls.map((L)=>({index:L.index,id:L.id,name:L.function?.name,arguments:L.function?.arguments}));if(a.content!==void 0||a.toolCalls!==void 0)yield a}catch{}}}yield{done:!0,finishReason:O,usage:v}}async function D1($,q,W,J){let G=await fetch(`${$}/v1/embeddings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:q,input:W}),signal:J});if(!G.ok){let X=await G.text();throw Error(`Backend returned ${G.status}: ${X}`)}return(await G.json()).data.map((X)=>X.embedding)}async function K1($,q,W,J,G){let Q={model:q,prompt:W};if(J?.size!==void 0)Q.size=J.size;if(J?.n!==void 0)Q.n=J.n;if(J?.quality!==void 0)Q.quality=J.quality;if(J?.style!==void 0)Q.style=J.style;if(J?.responseFormat!==void 0)Q.response_format=J.responseFormat;let X=await fetch(`${$}/v1/images/generations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Q),signal:G});if(!X.ok){let _=await X.text();throw Error(`Backend returned ${X.status}: ${_}`)}let Y=await X.json();if(!Array.isArray(Y.data))throw Error("Backend image response missing 'data' array");return Y.data.map((_)=>({b64:_.b64_json,url:_.url,revisedPrompt:_.revised_prompt}))}var K0={"sd-cpp":"image",kokoro:"tts",flm:"chat",llamacpp:"chat",ryzenai:"chat"},F1=new Set;function z1($){return $.some((q)=>Array.isArray(q.labels)||typeof q.max_context_window==="number")}function U1($){return $.map((q)=>F0(q))}function F0($){let q=$.labels??[],W;if($.recipe!==void 0){if(W=K0[$.recipe],W===void 0&&!F1.has($.recipe))F1.add($.recipe),console.warn(`[worker] lemonade reported model "${$.id}" with unknown recipe "${$.recipe}"; purpose will be reported as unknown. Extend LEMONADE_RECIPE_PURPOSE to map it.`)}let J=[];if(q.includes("tool-calling"))J.push("tools");if(q.includes("vision"))J.push("vision");if(q.includes("reasoning"))J.push("thinking");let G={id:$.id};if(W!==void 0)G.purpose=W;if(J.length>0)G.capabilities=J;return G}var n$=new Map;async function f1($){let q=n$.get($);if(q!==void 0)return q;try{let W=await fetch(`${$}/props`);if(!W.ok)return n$.set($,!1),!1;let J=await W.json(),G="chat_template"in J||"default_generation_settings"in J||"total_slots"in J;return n$.set($,G),G}catch{return n$.set($,!1),!1}}function L1($){return $.map((q)=>({id:q.id,purpose:"chat"}))}function A1($){return $.some((q)=>{let W=0;if(typeof q.type==="string")W++;if(typeof q.arch==="string")W++;if(typeof q.state==="string")W++;return W>=2})}function v1($){return $.map((q)=>z0(q))}function z0($){let q,W=[];switch($.type){case"llm":q="chat";break;case"vlm":q="chat",W.push("vision");break;case"embeddings":q="embedding";break}let J={id:$.id};if(q!==void 0)J.purpose=q;if(W.length>0)J.capabilities=W;return J}var J1=new Map;async function b1($,q){if(q.length===0)return[];if(J1.get($)==="unavailable")return q.map((Y)=>({id:Y}));let W=Array(q.length),J=0,G=!1,Q=!1;async function X(){while(!0){let Y=J++;if(Y>=q.length)return;Q=!0;let _=q[Y],B=await U0($,_);if(B)G=!0;W[Y]=B??{id:_}}}if(await Promise.all(Array.from({length:Math.min(4,q.length)},()=>X())),Q&&!G)J1.set($,"unavailable"),console.warn(`[worker] backend ${$} did not respond to /api/show; model capabilities will be reported as unknown and the server will route to it permissively.`);else if(G)J1.set($,"available");return W}async function U0($,q){try{let W=await fetch(`${$}/api/show`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:q})});if(!W.ok)return null;let G=(await W.json()).capabilities??[],Q;if(G.includes("completion"))Q="chat";else if(G.includes("embedding"))Q="embedding";let X=[];if(G.includes("tools"))X.push("tools");if(G.includes("vision"))X.push("vision");if(G.includes("thinking"))X.push("thinking");let Y={id:q};if(Q!==void 0)Y.purpose=Q;if(X.length>0)Y.capabilities=X;return Y}catch{return null}}function C1($){return $.some((q)=>{let W=q;if(W.owned_by==="vllm")return!0;return Array.isArray(W.permission)&&typeof W.max_model_len==="number"})}function I1($){return $.map((q)=>({id:q.id}))}async function k1($){let q=await fetch(`${$}/v1/models`);if(!q.ok)throw Error(`Backend returned ${q.status} from /v1/models`);let W=await q.json();if(z1(W.data))return U1(W.data);if(A1(W.data))return v1(W.data);if(C1(W.data))return I1(W.data);if(await f1($))return L1(W.data);return b1($,W.data.map((J)=>J.id))}var f0={mp3:"audio/mpeg",opus:"audio/opus",aac:"audio/aac",flac:"audio/flac",wav:"audio/wav",pcm:"audio/pcm"};async function P1($,q,W,J,G){let Q={model:q,input:W};if(J?.voice!==void 0)Q.voice=J.voice;if(J?.responseFormat!==void 0)Q.response_format=J.responseFormat;if(J?.speed!==void 0)Q.speed=J.speed;if(J?.instructions!==void 0)Q.instructions=J.instructions;let X=await fetch(`${$}/v1/audio/speech`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(Q),signal:G});if(!X.ok){let v=await X.text();throw Error(`Backend returned ${X.status}: ${v}`)}let Y=new Uint8Array(await X.arrayBuffer()),_=Buffer.from(Y).toString("base64"),O=X.headers.get("content-type")??void 0??f0[J?.responseFormat??""]??"application/octet-stream";return{b64:_,mimeType:O}}function T1($){if($.backendUrls.length===0)throw Error("createInferenceClient requires at least one backend URL");let q=$.backendUrls.map((X)=>X.replace(/\/+$/,"")),W=new Map;async function J(){W.clear();let X=[],Y=new Set;for(let _ of q)try{let B=await k1(_);W.set(_,new Map(B.map((O)=>[O.id,O])));for(let O of B)if(!Y.has(O.id))Y.add(O.id),X.push(O)}catch(B){W.set(_,new Map),console.error(`[worker] failed to fetch models from ${_}:`,B.message)}return X}function G(X){for(let Y of q)if(W.get(Y)?.has(X))return Y;return}async function Q(X){let Y=G(X);if(Y)return Y;await J();let _=G(X);if(!_){let B=new Set;for(let O of W.values())for(let v of O.keys())B.add(v);throw Error(`No configured backend serves model "${X}". `+(B.size>0?`Known models: ${[...B].join(", ")}`:"No backends reported any models."))}return _}return{listModels:J,chat:async function*(X,Y,_,B){let O=await Q(X);yield*N1(O,X,Y,_,B)},embedding:async(X,Y,_)=>{let B=await Q(X);return D1(B,X,Y,_)},image:async(X,Y,_,B)=>{let O=await Q(X);return K1(O,X,Y,_,B)},speech:async(X,Y,_,B)=>{let O=await Q(X);return P1(O,X,Y,_,B)}}}var H={};t1(H,{void:()=>Hq,util:()=>z,unknown:()=>Yq,union:()=>Rq,undefined:()=>Gq,tuple:()=>Eq,transformer:()=>Lq,symbol:()=>Jq,string:()=>c1,strictObject:()=>jq,setErrorMap:()=>v0,set:()=>Nq,record:()=>wq,quotelessJson:()=>L0,promise:()=>fq,preprocess:()=>bq,pipeline:()=>Cq,ostring:()=>Iq,optional:()=>Aq,onumber:()=>kq,oboolean:()=>Pq,objectUtil:()=>G1,object:()=>Mq,number:()=>p1,nullable:()=>vq,null:()=>Xq,never:()=>_q,nativeEnum:()=>Uq,nan:()=>$q,map:()=>Vq,makeIssue:()=>I$,literal:()=>Fq,lazy:()=>Kq,late:()=>s0,isValid:()=>W$,isDirty:()=>d$,isAsync:()=>O$,isAborted:()=>i$,intersection:()=>Sq,instanceof:()=>e0,getParsedType:()=>d,getErrorMap:()=>R$,function:()=>Dq,enum:()=>zq,effect:()=>Lq,discriminatedUnion:()=>Oq,defaultErrorMap:()=>e,datetimeRegex:()=>l1,date:()=>Wq,custom:()=>u1,coerce:()=>Tq,boolean:()=>n1,bigint:()=>qq,array:()=>Bq,any:()=>Qq,addIssueToContext:()=>R,ZodVoid:()=>P$,ZodUnknown:()=>J$,ZodUnion:()=>D$,ZodUndefined:()=>V$,ZodType:()=>K,ZodTuple:()=>r,ZodTransformer:()=>n,ZodSymbol:()=>k$,ZodString:()=>m,ZodSet:()=>B$,ZodSchema:()=>K,ZodRecord:()=>T$,ZodReadonly:()=>A$,ZodPromise:()=>M$,ZodPipeline:()=>g$,ZodParsedType:()=>j,ZodOptional:()=>c,ZodObject:()=>k,ZodNumber:()=>G$,ZodNullable:()=>q$,ZodNull:()=>N$,ZodNever:()=>o,ZodNativeEnum:()=>U$,ZodNaN:()=>x$,ZodMap:()=>h$,ZodLiteral:()=>z$,ZodLazy:()=>F$,ZodIssueCode:()=>M,ZodIntersection:()=>K$,ZodFunction:()=>E$,ZodFirstPartyTypeKind:()=>V,ZodError:()=>y,ZodEnum:()=>Q$,ZodEffects:()=>n,ZodDiscriminatedUnion:()=>o$,ZodDefault:()=>f$,ZodDate:()=>_$,ZodCatch:()=>L$,ZodBranded:()=>r$,ZodBoolean:()=>w$,ZodBigInt:()=>X$,ZodArray:()=>u,ZodAny:()=>H$,Schema:()=>K,ParseStatus:()=>h,OK:()=>g,NEVER:()=>hq,INVALID:()=>w,EMPTY_PATH:()=>b0,DIRTY:()=>Y$,BRAND:()=>a0});var z;(function($){$.assertEqual=(G)=>{};function q(G){}$.assertIs=q;function W(G){throw Error()}$.assertNever=W,$.arrayToEnum=(G)=>{let Q={};for(let X of G)Q[X]=X;return Q},$.getValidEnumValues=(G)=>{let Q=$.objectKeys(G).filter((Y)=>typeof G[G[Y]]!=="number"),X={};for(let Y of Q)X[Y]=G[Y];return $.objectValues(X)},$.objectValues=(G)=>{return $.objectKeys(G).map(function(Q){return G[Q]})},$.objectKeys=typeof Object.keys==="function"?(G)=>Object.keys(G):(G)=>{let Q=[];for(let X in G)if(Object.prototype.hasOwnProperty.call(G,X))Q.push(X);return Q},$.find=(G,Q)=>{for(let X of G)if(Q(X))return X;return},$.isInteger=typeof Number.isInteger==="function"?(G)=>Number.isInteger(G):(G)=>typeof G==="number"&&Number.isFinite(G)&&Math.floor(G)===G;function J(G,Q=" | "){return G.map((X)=>typeof X==="string"?`'${X}'`:X).join(Q)}$.joinValues=J,$.jsonStringifyReplacer=(G,Q)=>{if(typeof Q==="bigint")return Q.toString();return Q}})(z||(z={}));var G1;(function($){$.mergeShapes=(q,W)=>{return{...q,...W}}})(G1||(G1={}));var j=z.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),d=($)=>{switch(typeof $){case"undefined":return j.undefined;case"string":return j.string;case"number":return Number.isNaN($)?j.nan:j.number;case"boolean":return j.boolean;case"function":return j.function;case"bigint":return j.bigint;case"symbol":return j.symbol;case"object":if(Array.isArray($))return j.array;if($===null)return j.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return j.promise;if(typeof Map<"u"&&$ instanceof Map)return j.map;if(typeof Set<"u"&&$ instanceof Set)return j.set;if(typeof Date<"u"&&$ instanceof Date)return j.date;return j.object;default:return j.unknown}};var M=z.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"]),L0=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class y extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(W)=>{this.issues=[...this.issues,W]},this.addIssues=(W=[])=>{this.issues=[...this.issues,...W]};let q=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,q);else this.__proto__=q;this.name="ZodError",this.issues=$}format($){let q=$||function(G){return G.message},W={_errors:[]},J=(G)=>{for(let Q of G.issues)if(Q.code==="invalid_union")Q.unionErrors.map(J);else if(Q.code==="invalid_return_type")J(Q.returnTypeError);else if(Q.code==="invalid_arguments")J(Q.argumentsError);else if(Q.path.length===0)W._errors.push(q(Q));else{let X=W,Y=0;while(Y<Q.path.length){let _=Q.path[Y];if(Y!==Q.path.length-1)X[_]=X[_]||{_errors:[]};else X[_]=X[_]||{_errors:[]},X[_]._errors.push(q(Q));X=X[_],Y++}}};return J(this),W}static assert($){if(!($ instanceof y))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,z.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(q)=>q.message){let q={},W=[];for(let J of this.issues)if(J.path.length>0){let G=J.path[0];q[G]=q[G]||[],q[G].push($(J))}else W.push($(J));return{formErrors:W,fieldErrors:q}}get formErrors(){return this.flatten()}}y.create=($)=>{return new y($)};var A0=($,q)=>{let W;switch($.code){case M.invalid_type:if($.received===j.undefined)W="Required";else W=`Expected ${$.expected}, received ${$.received}`;break;case M.invalid_literal:W=`Invalid literal value, expected ${JSON.stringify($.expected,z.jsonStringifyReplacer)}`;break;case M.unrecognized_keys:W=`Unrecognized key(s) in object: ${z.joinValues($.keys,", ")}`;break;case M.invalid_union:W="Invalid input";break;case M.invalid_union_discriminator:W=`Invalid discriminator value. Expected ${z.joinValues($.options)}`;break;case M.invalid_enum_value:W=`Invalid enum value. Expected ${z.joinValues($.options)}, received '${$.received}'`;break;case M.invalid_arguments:W="Invalid function arguments";break;case M.invalid_return_type:W="Invalid function return type";break;case M.invalid_date:W="Invalid date";break;case M.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(W=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")W=`${W} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)W=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)W=`Invalid input: must end with "${$.validation.endsWith}"`;else z.assertNever($.validation);else if($.validation!=="regex")W=`Invalid ${$.validation}`;else W="Invalid";break;case M.too_small:if($.type==="array")W=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")W=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")W=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")W=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")W=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else W="Invalid input";break;case M.too_big:if($.type==="array")W=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")W=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")W=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")W=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")W=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else W="Invalid input";break;case M.custom:W="Invalid input";break;case M.invalid_intersection_types:W="Intersection results could not be merged";break;case M.not_multiple_of:W=`Number must be a multiple of ${$.multipleOf}`;break;case M.not_finite:W="Number must be finite";break;default:W=q.defaultError,z.assertNever($)}return{message:W}},e=A0;var h1=e;function v0($){h1=$}function R$(){return h1}var I$=($)=>{let{data:q,path:W,errorMaps:J,issueData:G}=$,Q=[...W,...G.path||[]],X={...G,path:Q};if(G.message!==void 0)return{...G,path:Q,message:G.message};let Y="",_=J.filter((B)=>!!B).slice().reverse();for(let B of _)Y=B(X,{data:q,defaultError:Y}).message;return{...G,path:Q,message:Y}},b0=[];function R($,q){let W=R$(),J=I$({issueData:q,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,W,W===e?void 0:e].filter((G)=>!!G)});$.common.issues.push(J)}class h{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,q){let W=[];for(let J of q){if(J.status==="aborted")return w;if(J.status==="dirty")$.dirty();W.push(J.value)}return{status:$.value,value:W}}static async mergeObjectAsync($,q){let W=[];for(let J of q){let G=await J.key,Q=await J.value;W.push({key:G,value:Q})}return h.mergeObjectSync($,W)}static mergeObjectSync($,q){let W={};for(let J of q){let{key:G,value:Q}=J;if(G.status==="aborted")return w;if(Q.status==="aborted")return w;if(G.status==="dirty")$.dirty();if(Q.status==="dirty")$.dirty();if(G.value!=="__proto__"&&(typeof Q.value<"u"||J.alwaysSet))W[G.value]=Q.value}return{status:$.value,value:W}}}var w=Object.freeze({status:"aborted"}),Y$=($)=>({status:"dirty",value:$}),g=($)=>({status:"valid",value:$}),i$=($)=>$.status==="aborted",d$=($)=>$.status==="dirty",W$=($)=>$.status==="valid",O$=($)=>typeof Promise<"u"&&$ instanceof Promise;var S;(function($){$.errToObj=(q)=>typeof q==="string"?{message:q}:q||{},$.toString=(q)=>typeof q==="string"?q:q?.message})(S||(S={}));class p{constructor($,q,W,J){this._cachedPath=[],this.parent=$,this.data=q,this._path=W,this._key=J}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 x1=($,q)=>{if(W$(q))return{success:!0,data:q.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let W=new y($.common.issues);return this._error=W,this._error}}}};function D($){if(!$)return{};let{errorMap:q,invalid_type_error:W,required_error:J,description:G}=$;if(q&&(W||J))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(q)return{errorMap:q,description:G};return{errorMap:(X,Y)=>{let{message:_}=$;if(X.code==="invalid_enum_value")return{message:_??Y.defaultError};if(typeof Y.data>"u")return{message:_??J??Y.defaultError};if(X.code!=="invalid_type")return{message:Y.defaultError};return{message:_??W??Y.defaultError}},description:G}}class K{get description(){return this._def.description}_getType($){return d($.data)}_getOrReturnCtx($,q){return q||{common:$.parent.common,data:$.data,parsedType:d($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new h,ctx:{common:$.parent.common,data:$.data,parsedType:d($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let q=this._parse($);if(O$(q))throw Error("Synchronous parse encountered promise.");return q}_parseAsync($){let q=this._parse($);return Promise.resolve(q)}parse($,q){let W=this.safeParse($,q);if(W.success)return W.data;throw W.error}safeParse($,q){let W={common:{issues:[],async:q?.async??!1,contextualErrorMap:q?.errorMap},path:q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:d($)},J=this._parseSync({data:$,path:W.path,parent:W});return x1(W,J)}"~validate"($){let q={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:d($)};if(!this["~standard"].async)try{let W=this._parseSync({data:$,path:[],parent:q});return W$(W)?{value:W.value}:{issues:q.common.issues}}catch(W){if(W?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;q.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:q}).then((W)=>W$(W)?{value:W.value}:{issues:q.common.issues})}async parseAsync($,q){let W=await this.safeParseAsync($,q);if(W.success)return W.data;throw W.error}async safeParseAsync($,q){let W={common:{issues:[],contextualErrorMap:q?.errorMap,async:!0},path:q?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:d($)},J=this._parse({data:$,path:W.path,parent:W}),G=await(O$(J)?J:Promise.resolve(J));return x1(W,G)}refine($,q){let W=(J)=>{if(typeof q==="string"||typeof q>"u")return{message:q};else if(typeof q==="function")return q(J);else return q};return this._refinement((J,G)=>{let Q=$(J),X=()=>G.addIssue({code:M.custom,...W(J)});if(typeof Promise<"u"&&Q instanceof Promise)return Q.then((Y)=>{if(!Y)return X(),!1;else return!0});if(!Q)return X(),!1;else return!0})}refinement($,q){return this._refinement((W,J)=>{if(!$(W))return J.addIssue(typeof q==="function"?q(W,J):q),!1;else return!0})}_refinement($){return new n({schema:this,typeName:V.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,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:(q)=>this["~validate"](q)}}optional(){return c.create(this,this._def)}nullable(){return q$.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return u.create(this)}promise(){return M$.create(this,this._def)}or($){return D$.create([this,$],this._def)}and($){return K$.create(this,$,this._def)}transform($){return new n({...D(this._def),schema:this,typeName:V.ZodEffects,effect:{type:"transform",transform:$}})}default($){let q=typeof $==="function"?$:()=>$;return new f$({...D(this._def),innerType:this,defaultValue:q,typeName:V.ZodDefault})}brand(){return new r$({typeName:V.ZodBranded,type:this,...D(this._def)})}catch($){let q=typeof $==="function"?$:()=>$;return new L$({...D(this._def),innerType:this,catchValue:q,typeName:V.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return g$.create(this,$)}readonly(){return A$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var C0=/^c[^\s-]{8,}$/i,I0=/^[0-9a-z]+$/,k0=/^[0-9A-HJKMNP-TV-Z]{26}$/i,P0=/^[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,T0=/^[a-z0-9_-]{21}$/i,h0=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,x0=/^[-+]?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)?)??$/,g0=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,y0="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",X1,Z0=/^(?:(?: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])$/,l0=/^(?:(?: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])$/,m0=/^(([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]))$/,u0=/^(([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])$/,c0=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,p0=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,y1="((\\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])))",n0=new RegExp(`^${y1}$`);function Z1($){let q="[0-5]\\d";if($.precision)q=`${q}\\.\\d{${$.precision}}`;else if($.precision==null)q=`${q}(\\.\\d+)?`;let W=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${q})${W}`}function i0($){return new RegExp(`^${Z1($)}$`)}function l1($){let q=`${y1}T${Z1($)}`,W=[];if(W.push($.local?"Z?":"Z"),$.offset)W.push("([+-]\\d{2}:?\\d{2})");return q=`${q}(${W.join("|")})`,new RegExp(`^${q}$`)}function d0($,q){if((q==="v4"||!q)&&Z0.test($))return!0;if((q==="v6"||!q)&&m0.test($))return!0;return!1}function o0($,q){if(!h0.test($))return!1;try{let[W]=$.split(".");if(!W)return!1;let J=W.replace(/-/g,"+").replace(/_/g,"/").padEnd(W.length+(4-W.length%4)%4,"="),G=JSON.parse(atob(J));if(typeof G!=="object"||G===null)return!1;if("typ"in G&&G?.typ!=="JWT")return!1;if(!G.alg)return!1;if(q&&G.alg!==q)return!1;return!0}catch{return!1}}function r0($,q){if((q==="v4"||!q)&&l0.test($))return!0;if((q==="v6"||!q)&&u0.test($))return!0;return!1}class m extends K{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==j.string){let G=this._getOrReturnCtx($);return R(G,{code:M.invalid_type,expected:j.string,received:G.parsedType}),w}let W=new h,J=void 0;for(let G of this._def.checks)if(G.kind==="min"){if($.data.length<G.value)J=this._getOrReturnCtx($,J),R(J,{code:M.too_small,minimum:G.value,type:"string",inclusive:!0,exact:!1,message:G.message}),W.dirty()}else if(G.kind==="max"){if($.data.length>G.value)J=this._getOrReturnCtx($,J),R(J,{code:M.too_big,maximum:G.value,type:"string",inclusive:!0,exact:!1,message:G.message}),W.dirty()}else if(G.kind==="length"){let Q=$.data.length>G.value,X=$.data.length<G.value;if(Q||X){if(J=this._getOrReturnCtx($,J),Q)R(J,{code:M.too_big,maximum:G.value,type:"string",inclusive:!0,exact:!0,message:G.message});else if(X)R(J,{code:M.too_small,minimum:G.value,type:"string",inclusive:!0,exact:!0,message:G.message});W.dirty()}}else if(G.kind==="email"){if(!g0.test($.data))J=this._getOrReturnCtx($,J),R(J,{validation:"email",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="emoji"){if(!X1)X1=new RegExp(y0,"u");if(!X1.test($.data))J=this._getOrReturnCtx($,J),R(J,{validation:"emoji",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="uuid"){if(!P0.test($.data))J=this._getOrReturnCtx($,J),R(J,{validation:"uuid",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="nanoid"){if(!T0.test($.data))J=this._getOrReturnCtx($,J),R(J,{validation:"nanoid",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="cuid"){if(!C0.test($.data))J=this._getOrReturnCtx($,J),R(J,{validation:"cuid",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="cuid2"){if(!I0.test($.data))J=this._getOrReturnCtx($,J),R(J,{validation:"cuid2",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="ulid"){if(!k0.test($.data))J=this._getOrReturnCtx($,J),R(J,{validation:"ulid",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="url")try{new URL($.data)}catch{J=this._getOrReturnCtx($,J),R(J,{validation:"url",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="regex"){if(G.regex.lastIndex=0,!G.regex.test($.data))J=this._getOrReturnCtx($,J),R(J,{validation:"regex",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="trim")$.data=$.data.trim();else if(G.kind==="includes"){if(!$.data.includes(G.value,G.position))J=this._getOrReturnCtx($,J),R(J,{code:M.invalid_string,validation:{includes:G.value,position:G.position},message:G.message}),W.dirty()}else if(G.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(G.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(G.kind==="startsWith"){if(!$.data.startsWith(G.value))J=this._getOrReturnCtx($,J),R(J,{code:M.invalid_string,validation:{startsWith:G.value},message:G.message}),W.dirty()}else if(G.kind==="endsWith"){if(!$.data.endsWith(G.value))J=this._getOrReturnCtx($,J),R(J,{code:M.invalid_string,validation:{endsWith:G.value},message:G.message}),W.dirty()}else if(G.kind==="datetime"){if(!l1(G).test($.data))J=this._getOrReturnCtx($,J),R(J,{code:M.invalid_string,validation:"datetime",message:G.message}),W.dirty()}else if(G.kind==="date"){if(!n0.test($.data))J=this._getOrReturnCtx($,J),R(J,{code:M.invalid_string,validation:"date",message:G.message}),W.dirty()}else if(G.kind==="time"){if(!i0(G).test($.data))J=this._getOrReturnCtx($,J),R(J,{code:M.invalid_string,validation:"time",message:G.message}),W.dirty()}else if(G.kind==="duration"){if(!x0.test($.data))J=this._getOrReturnCtx($,J),R(J,{validation:"duration",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="ip"){if(!d0($.data,G.version))J=this._getOrReturnCtx($,J),R(J,{validation:"ip",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="jwt"){if(!o0($.data,G.alg))J=this._getOrReturnCtx($,J),R(J,{validation:"jwt",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="cidr"){if(!r0($.data,G.version))J=this._getOrReturnCtx($,J),R(J,{validation:"cidr",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="base64"){if(!c0.test($.data))J=this._getOrReturnCtx($,J),R(J,{validation:"base64",code:M.invalid_string,message:G.message}),W.dirty()}else if(G.kind==="base64url"){if(!p0.test($.data))J=this._getOrReturnCtx($,J),R(J,{validation:"base64url",code:M.invalid_string,message:G.message}),W.dirty()}else z.assertNever(G);return{status:W.value,value:$.data}}_regex($,q,W){return this.refinement((J)=>$.test(J),{validation:q,code:M.invalid_string,...S.errToObj(W)})}_addCheck($){return new m({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...S.errToObj($)})}url($){return this._addCheck({kind:"url",...S.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...S.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...S.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...S.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...S.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...S.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...S.errToObj($)})}base64($){return this._addCheck({kind:"base64",...S.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...S.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...S.errToObj($)})}ip($){return this._addCheck({kind:"ip",...S.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...S.errToObj($)})}datetime($){if(typeof $==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:$});return this._addCheck({kind:"datetime",precision:typeof $?.precision>"u"?null:$?.precision,offset:$?.offset??!1,local:$?.local??!1,...S.errToObj($?.message)})}date($){return this._addCheck({kind:"date",message:$})}time($){if(typeof $==="string")return this._addCheck({kind:"time",precision:null,message:$});return this._addCheck({kind:"time",precision:typeof $?.precision>"u"?null:$?.precision,...S.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...S.errToObj($)})}regex($,q){return this._addCheck({kind:"regex",regex:$,...S.errToObj(q)})}includes($,q){return this._addCheck({kind:"includes",value:$,position:q?.position,...S.errToObj(q?.message)})}startsWith($,q){return this._addCheck({kind:"startsWith",value:$,...S.errToObj(q)})}endsWith($,q){return this._addCheck({kind:"endsWith",value:$,...S.errToObj(q)})}min($,q){return this._addCheck({kind:"min",value:$,...S.errToObj(q)})}max($,q){return this._addCheck({kind:"max",value:$,...S.errToObj(q)})}length($,q){return this._addCheck({kind:"length",value:$,...S.errToObj(q)})}nonempty($){return this.min(1,S.errToObj($))}trim(){return new m({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new m({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new m({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxLength(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}}m.create=($)=>{return new m({checks:[],typeName:V.ZodString,coerce:$?.coerce??!1,...D($)})};function t0($,q){let W=($.toString().split(".")[1]||"").length,J=(q.toString().split(".")[1]||"").length,G=W>J?W:J,Q=Number.parseInt($.toFixed(G).replace(".","")),X=Number.parseInt(q.toFixed(G).replace(".",""));return Q%X/10**G}class G$ extends K{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==j.number){let G=this._getOrReturnCtx($);return R(G,{code:M.invalid_type,expected:j.number,received:G.parsedType}),w}let W=void 0,J=new h;for(let G of this._def.checks)if(G.kind==="int"){if(!z.isInteger($.data))W=this._getOrReturnCtx($,W),R(W,{code:M.invalid_type,expected:"integer",received:"float",message:G.message}),J.dirty()}else if(G.kind==="min"){if(G.inclusive?$.data<G.value:$.data<=G.value)W=this._getOrReturnCtx($,W),R(W,{code:M.too_small,minimum:G.value,type:"number",inclusive:G.inclusive,exact:!1,message:G.message}),J.dirty()}else if(G.kind==="max"){if(G.inclusive?$.data>G.value:$.data>=G.value)W=this._getOrReturnCtx($,W),R(W,{code:M.too_big,maximum:G.value,type:"number",inclusive:G.inclusive,exact:!1,message:G.message}),J.dirty()}else if(G.kind==="multipleOf"){if(t0($.data,G.value)!==0)W=this._getOrReturnCtx($,W),R(W,{code:M.not_multiple_of,multipleOf:G.value,message:G.message}),J.dirty()}else if(G.kind==="finite"){if(!Number.isFinite($.data))W=this._getOrReturnCtx($,W),R(W,{code:M.not_finite,message:G.message}),J.dirty()}else z.assertNever(G);return{status:J.value,value:$.data}}gte($,q){return this.setLimit("min",$,!0,S.toString(q))}gt($,q){return this.setLimit("min",$,!1,S.toString(q))}lte($,q){return this.setLimit("max",$,!0,S.toString(q))}lt($,q){return this.setLimit("max",$,!1,S.toString(q))}setLimit($,q,W,J){return new G$({...this._def,checks:[...this._def.checks,{kind:$,value:q,inclusive:W,message:S.toString(J)}]})}_addCheck($){return new G$({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:S.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:S.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:S.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:S.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:S.toString($)})}multipleOf($,q){return this._addCheck({kind:"multipleOf",value:$,message:S.toString(q)})}finite($){return this._addCheck({kind:"finite",message:S.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:S.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:S.toString($)})}get minValue(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxValue(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&z.isInteger($.value))}get isFinite(){let $=null,q=null;for(let W of this._def.checks)if(W.kind==="finite"||W.kind==="int"||W.kind==="multipleOf")return!0;else if(W.kind==="min"){if(q===null||W.value>q)q=W.value}else if(W.kind==="max"){if($===null||W.value<$)$=W.value}return Number.isFinite(q)&&Number.isFinite($)}}G$.create=($)=>{return new G$({checks:[],typeName:V.ZodNumber,coerce:$?.coerce||!1,...D($)})};class X$ extends K{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==j.bigint)return this._getInvalidInput($);let W=void 0,J=new h;for(let G of this._def.checks)if(G.kind==="min"){if(G.inclusive?$.data<G.value:$.data<=G.value)W=this._getOrReturnCtx($,W),R(W,{code:M.too_small,type:"bigint",minimum:G.value,inclusive:G.inclusive,message:G.message}),J.dirty()}else if(G.kind==="max"){if(G.inclusive?$.data>G.value:$.data>=G.value)W=this._getOrReturnCtx($,W),R(W,{code:M.too_big,type:"bigint",maximum:G.value,inclusive:G.inclusive,message:G.message}),J.dirty()}else if(G.kind==="multipleOf"){if($.data%G.value!==BigInt(0))W=this._getOrReturnCtx($,W),R(W,{code:M.not_multiple_of,multipleOf:G.value,message:G.message}),J.dirty()}else z.assertNever(G);return{status:J.value,value:$.data}}_getInvalidInput($){let q=this._getOrReturnCtx($);return R(q,{code:M.invalid_type,expected:j.bigint,received:q.parsedType}),w}gte($,q){return this.setLimit("min",$,!0,S.toString(q))}gt($,q){return this.setLimit("min",$,!1,S.toString(q))}lte($,q){return this.setLimit("max",$,!0,S.toString(q))}lt($,q){return this.setLimit("max",$,!1,S.toString(q))}setLimit($,q,W,J){return new X$({...this._def,checks:[...this._def.checks,{kind:$,value:q,inclusive:W,message:S.toString(J)}]})}_addCheck($){return new X$({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:S.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:S.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:S.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:S.toString($)})}multipleOf($,q){return this._addCheck({kind:"multipleOf",value:$,message:S.toString(q)})}get minValue(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $}get maxValue(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $}}X$.create=($)=>{return new X$({checks:[],typeName:V.ZodBigInt,coerce:$?.coerce??!1,...D($)})};class w$ extends K{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==j.boolean){let W=this._getOrReturnCtx($);return R(W,{code:M.invalid_type,expected:j.boolean,received:W.parsedType}),w}return g($.data)}}w$.create=($)=>{return new w$({typeName:V.ZodBoolean,coerce:$?.coerce||!1,...D($)})};class _$ extends K{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==j.date){let G=this._getOrReturnCtx($);return R(G,{code:M.invalid_type,expected:j.date,received:G.parsedType}),w}if(Number.isNaN($.data.getTime())){let G=this._getOrReturnCtx($);return R(G,{code:M.invalid_date}),w}let W=new h,J=void 0;for(let G of this._def.checks)if(G.kind==="min"){if($.data.getTime()<G.value)J=this._getOrReturnCtx($,J),R(J,{code:M.too_small,message:G.message,inclusive:!0,exact:!1,minimum:G.value,type:"date"}),W.dirty()}else if(G.kind==="max"){if($.data.getTime()>G.value)J=this._getOrReturnCtx($,J),R(J,{code:M.too_big,message:G.message,inclusive:!0,exact:!1,maximum:G.value,type:"date"}),W.dirty()}else z.assertNever(G);return{status:W.value,value:new Date($.data.getTime())}}_addCheck($){return new _$({...this._def,checks:[...this._def.checks,$]})}min($,q){return this._addCheck({kind:"min",value:$.getTime(),message:S.toString(q)})}max($,q){return this._addCheck({kind:"max",value:$.getTime(),message:S.toString(q)})}get minDate(){let $=null;for(let q of this._def.checks)if(q.kind==="min"){if($===null||q.value>$)$=q.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let q of this._def.checks)if(q.kind==="max"){if($===null||q.value<$)$=q.value}return $!=null?new Date($):null}}_$.create=($)=>{return new _$({checks:[],coerce:$?.coerce||!1,typeName:V.ZodDate,...D($)})};class k$ extends K{_parse($){if(this._getType($)!==j.symbol){let W=this._getOrReturnCtx($);return R(W,{code:M.invalid_type,expected:j.symbol,received:W.parsedType}),w}return g($.data)}}k$.create=($)=>{return new k$({typeName:V.ZodSymbol,...D($)})};class V$ extends K{_parse($){if(this._getType($)!==j.undefined){let W=this._getOrReturnCtx($);return R(W,{code:M.invalid_type,expected:j.undefined,received:W.parsedType}),w}return g($.data)}}V$.create=($)=>{return new V$({typeName:V.ZodUndefined,...D($)})};class N$ extends K{_parse($){if(this._getType($)!==j.null){let W=this._getOrReturnCtx($);return R(W,{code:M.invalid_type,expected:j.null,received:W.parsedType}),w}return g($.data)}}N$.create=($)=>{return new N$({typeName:V.ZodNull,...D($)})};class H$ extends K{constructor(){super(...arguments);this._any=!0}_parse($){return g($.data)}}H$.create=($)=>{return new H$({typeName:V.ZodAny,...D($)})};class J$ extends K{constructor(){super(...arguments);this._unknown=!0}_parse($){return g($.data)}}J$.create=($)=>{return new J$({typeName:V.ZodUnknown,...D($)})};class o extends K{_parse($){let q=this._getOrReturnCtx($);return R(q,{code:M.invalid_type,expected:j.never,received:q.parsedType}),w}}o.create=($)=>{return new o({typeName:V.ZodNever,...D($)})};class P$ extends K{_parse($){if(this._getType($)!==j.undefined){let W=this._getOrReturnCtx($);return R(W,{code:M.invalid_type,expected:j.void,received:W.parsedType}),w}return g($.data)}}P$.create=($)=>{return new P$({typeName:V.ZodVoid,...D($)})};class u extends K{_parse($){let{ctx:q,status:W}=this._processInputParams($),J=this._def;if(q.parsedType!==j.array)return R(q,{code:M.invalid_type,expected:j.array,received:q.parsedType}),w;if(J.exactLength!==null){let Q=q.data.length>J.exactLength.value,X=q.data.length<J.exactLength.value;if(Q||X)R(q,{code:Q?M.too_big:M.too_small,minimum:X?J.exactLength.value:void 0,maximum:Q?J.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:J.exactLength.message}),W.dirty()}if(J.minLength!==null){if(q.data.length<J.minLength.value)R(q,{code:M.too_small,minimum:J.minLength.value,type:"array",inclusive:!0,exact:!1,message:J.minLength.message}),W.dirty()}if(J.maxLength!==null){if(q.data.length>J.maxLength.value)R(q,{code:M.too_big,maximum:J.maxLength.value,type:"array",inclusive:!0,exact:!1,message:J.maxLength.message}),W.dirty()}if(q.common.async)return Promise.all([...q.data].map((Q,X)=>{return J.type._parseAsync(new p(q,Q,q.path,X))})).then((Q)=>{return h.mergeArray(W,Q)});let G=[...q.data].map((Q,X)=>{return J.type._parseSync(new p(q,Q,q.path,X))});return h.mergeArray(W,G)}get element(){return this._def.type}min($,q){return new u({...this._def,minLength:{value:$,message:S.toString(q)}})}max($,q){return new u({...this._def,maxLength:{value:$,message:S.toString(q)}})}length($,q){return new u({...this._def,exactLength:{value:$,message:S.toString(q)}})}nonempty($){return this.min(1,$)}}u.create=($,q)=>{return new u({type:$,minLength:null,maxLength:null,exactLength:null,typeName:V.ZodArray,...D(q)})};function S$($){if($ instanceof k){let q={};for(let W in $.shape){let J=$.shape[W];q[W]=c.create(S$(J))}return new k({...$._def,shape:()=>q})}else if($ instanceof u)return new u({...$._def,type:S$($.element)});else if($ instanceof c)return c.create(S$($.unwrap()));else if($ instanceof q$)return q$.create(S$($.unwrap()));else if($ instanceof r)return r.create($.items.map((q)=>S$(q)));else return $}class k extends K{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),q=z.objectKeys($);return this._cached={shape:$,keys:q},this._cached}_parse($){if(this._getType($)!==j.object){let _=this._getOrReturnCtx($);return R(_,{code:M.invalid_type,expected:j.object,received:_.parsedType}),w}let{status:W,ctx:J}=this._processInputParams($),{shape:G,keys:Q}=this._getCached(),X=[];if(!(this._def.catchall instanceof o&&this._def.unknownKeys==="strip")){for(let _ in J.data)if(!Q.includes(_))X.push(_)}let Y=[];for(let _ of Q){let B=G[_],O=J.data[_];Y.push({key:{status:"valid",value:_},value:B._parse(new p(J,O,J.path,_)),alwaysSet:_ in J.data})}if(this._def.catchall instanceof o){let _=this._def.unknownKeys;if(_==="passthrough")for(let B of X)Y.push({key:{status:"valid",value:B},value:{status:"valid",value:J.data[B]}});else if(_==="strict"){if(X.length>0)R(J,{code:M.unrecognized_keys,keys:X}),W.dirty()}else if(_==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let _=this._def.catchall;for(let B of X){let O=J.data[B];Y.push({key:{status:"valid",value:B},value:_._parse(new p(J,O,J.path,B)),alwaysSet:B in J.data})}}if(J.common.async)return Promise.resolve().then(async()=>{let _=[];for(let B of Y){let O=await B.key,v=await B.value;_.push({key:O,value:v,alwaysSet:B.alwaysSet})}return _}).then((_)=>{return h.mergeObjectSync(W,_)});else return h.mergeObjectSync(W,Y)}get shape(){return this._def.shape()}strict($){return S.errToObj,new k({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(q,W)=>{let J=this._def.errorMap?.(q,W).message??W.defaultError;if(q.code==="unrecognized_keys")return{message:S.errToObj($).message??J};return{message:J}}}:{}})}strip(){return new k({...this._def,unknownKeys:"strip"})}passthrough(){return new k({...this._def,unknownKeys:"passthrough"})}extend($){return new k({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new k({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:V.ZodObject})}setKey($,q){return this.augment({[$]:q})}catchall($){return new k({...this._def,catchall:$})}pick($){let q={};for(let W of z.objectKeys($))if($[W]&&this.shape[W])q[W]=this.shape[W];return new k({...this._def,shape:()=>q})}omit($){let q={};for(let W of z.objectKeys(this.shape))if(!$[W])q[W]=this.shape[W];return new k({...this._def,shape:()=>q})}deepPartial(){return S$(this)}partial($){let q={};for(let W of z.objectKeys(this.shape)){let J=this.shape[W];if($&&!$[W])q[W]=J;else q[W]=J.optional()}return new k({...this._def,shape:()=>q})}required($){let q={};for(let W of z.objectKeys(this.shape))if($&&!$[W])q[W]=this.shape[W];else{let G=this.shape[W];while(G instanceof c)G=G._def.innerType;q[W]=G}return new k({...this._def,shape:()=>q})}keyof(){return m1(z.objectKeys(this.shape))}}k.create=($,q)=>{return new k({shape:()=>$,unknownKeys:"strip",catchall:o.create(),typeName:V.ZodObject,...D(q)})};k.strictCreate=($,q)=>{return new k({shape:()=>$,unknownKeys:"strict",catchall:o.create(),typeName:V.ZodObject,...D(q)})};k.lazycreate=($,q)=>{return new k({shape:$,unknownKeys:"strip",catchall:o.create(),typeName:V.ZodObject,...D(q)})};class D$ extends K{_parse($){let{ctx:q}=this._processInputParams($),W=this._def.options;function J(G){for(let X of G)if(X.result.status==="valid")return X.result;for(let X of G)if(X.result.status==="dirty")return q.common.issues.push(...X.ctx.common.issues),X.result;let Q=G.map((X)=>new y(X.ctx.common.issues));return R(q,{code:M.invalid_union,unionErrors:Q}),w}if(q.common.async)return Promise.all(W.map(async(G)=>{let Q={...q,common:{...q.common,issues:[]},parent:null};return{result:await G._parseAsync({data:q.data,path:q.path,parent:Q}),ctx:Q}})).then(J);else{let G=void 0,Q=[];for(let Y of W){let _={...q,common:{...q.common,issues:[]},parent:null},B=Y._parseSync({data:q.data,path:q.path,parent:_});if(B.status==="valid")return B;else if(B.status==="dirty"&&!G)G={result:B,ctx:_};if(_.common.issues.length)Q.push(_.common.issues)}if(G)return q.common.issues.push(...G.ctx.common.issues),G.result;let X=Q.map((Y)=>new y(Y));return R(q,{code:M.invalid_union,unionErrors:X}),w}}get options(){return this._def.options}}D$.create=($,q)=>{return new D$({options:$,typeName:V.ZodUnion,...D(q)})};var $$=($)=>{if($ instanceof F$)return $$($.schema);else if($ instanceof n)return $$($.innerType());else if($ instanceof z$)return[$.value];else if($ instanceof Q$)return $.options;else if($ instanceof U$)return z.objectValues($.enum);else if($ instanceof f$)return $$($._def.innerType);else if($ instanceof V$)return[void 0];else if($ instanceof N$)return[null];else if($ instanceof c)return[void 0,...$$($.unwrap())];else if($ instanceof q$)return[null,...$$($.unwrap())];else if($ instanceof r$)return $$($.unwrap());else if($ instanceof A$)return $$($.unwrap());else if($ instanceof L$)return $$($._def.innerType);else return[]};class o$ extends K{_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==j.object)return R(q,{code:M.invalid_type,expected:j.object,received:q.parsedType}),w;let W=this.discriminator,J=q.data[W],G=this.optionsMap.get(J);if(!G)return R(q,{code:M.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[W]}),w;if(q.common.async)return G._parseAsync({data:q.data,path:q.path,parent:q});else return G._parseSync({data:q.data,path:q.path,parent:q})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,q,W){let J=new Map;for(let G of q){let Q=$$(G.shape[$]);if(!Q.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let X of Q){if(J.has(X))throw Error(`Discriminator property ${String($)} has duplicate value ${String(X)}`);J.set(X,G)}}return new o$({typeName:V.ZodDiscriminatedUnion,discriminator:$,options:q,optionsMap:J,...D(W)})}}function Q1($,q){let W=d($),J=d(q);if($===q)return{valid:!0,data:$};else if(W===j.object&&J===j.object){let G=z.objectKeys(q),Q=z.objectKeys($).filter((Y)=>G.indexOf(Y)!==-1),X={...$,...q};for(let Y of Q){let _=Q1($[Y],q[Y]);if(!_.valid)return{valid:!1};X[Y]=_.data}return{valid:!0,data:X}}else if(W===j.array&&J===j.array){if($.length!==q.length)return{valid:!1};let G=[];for(let Q=0;Q<$.length;Q++){let X=$[Q],Y=q[Q],_=Q1(X,Y);if(!_.valid)return{valid:!1};G.push(_.data)}return{valid:!0,data:G}}else if(W===j.date&&J===j.date&&+$===+q)return{valid:!0,data:$};else return{valid:!1}}class K$ extends K{_parse($){let{status:q,ctx:W}=this._processInputParams($),J=(G,Q)=>{if(i$(G)||i$(Q))return w;let X=Q1(G.value,Q.value);if(!X.valid)return R(W,{code:M.invalid_intersection_types}),w;if(d$(G)||d$(Q))q.dirty();return{status:q.value,value:X.data}};if(W.common.async)return Promise.all([this._def.left._parseAsync({data:W.data,path:W.path,parent:W}),this._def.right._parseAsync({data:W.data,path:W.path,parent:W})]).then(([G,Q])=>J(G,Q));else return J(this._def.left._parseSync({data:W.data,path:W.path,parent:W}),this._def.right._parseSync({data:W.data,path:W.path,parent:W}))}}K$.create=($,q,W)=>{return new K$({left:$,right:q,typeName:V.ZodIntersection,...D(W)})};class r extends K{_parse($){let{status:q,ctx:W}=this._processInputParams($);if(W.parsedType!==j.array)return R(W,{code:M.invalid_type,expected:j.array,received:W.parsedType}),w;if(W.data.length<this._def.items.length)return R(W,{code:M.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),w;if(!this._def.rest&&W.data.length>this._def.items.length)R(W,{code:M.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),q.dirty();let G=[...W.data].map((Q,X)=>{let Y=this._def.items[X]||this._def.rest;if(!Y)return null;return Y._parse(new p(W,Q,W.path,X))}).filter((Q)=>!!Q);if(W.common.async)return Promise.all(G).then((Q)=>{return h.mergeArray(q,Q)});else return h.mergeArray(q,G)}get items(){return this._def.items}rest($){return new r({...this._def,rest:$})}}r.create=($,q)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new r({items:$,typeName:V.ZodTuple,rest:null,...D(q)})};class T$ extends K{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:q,ctx:W}=this._processInputParams($);if(W.parsedType!==j.object)return R(W,{code:M.invalid_type,expected:j.object,received:W.parsedType}),w;let J=[],G=this._def.keyType,Q=this._def.valueType;for(let X in W.data)J.push({key:G._parse(new p(W,X,W.path,X)),value:Q._parse(new p(W,W.data[X],W.path,X)),alwaysSet:X in W.data});if(W.common.async)return h.mergeObjectAsync(q,J);else return h.mergeObjectSync(q,J)}get element(){return this._def.valueType}static create($,q,W){if(q instanceof K)return new T$({keyType:$,valueType:q,typeName:V.ZodRecord,...D(W)});return new T$({keyType:m.create(),valueType:$,typeName:V.ZodRecord,...D(q)})}}class h$ extends K{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:q,ctx:W}=this._processInputParams($);if(W.parsedType!==j.map)return R(W,{code:M.invalid_type,expected:j.map,received:W.parsedType}),w;let J=this._def.keyType,G=this._def.valueType,Q=[...W.data.entries()].map(([X,Y],_)=>{return{key:J._parse(new p(W,X,W.path,[_,"key"])),value:G._parse(new p(W,Y,W.path,[_,"value"]))}});if(W.common.async){let X=new Map;return Promise.resolve().then(async()=>{for(let Y of Q){let _=await Y.key,B=await Y.value;if(_.status==="aborted"||B.status==="aborted")return w;if(_.status==="dirty"||B.status==="dirty")q.dirty();X.set(_.value,B.value)}return{status:q.value,value:X}})}else{let X=new Map;for(let Y of Q){let{key:_,value:B}=Y;if(_.status==="aborted"||B.status==="aborted")return w;if(_.status==="dirty"||B.status==="dirty")q.dirty();X.set(_.value,B.value)}return{status:q.value,value:X}}}}h$.create=($,q,W)=>{return new h$({valueType:q,keyType:$,typeName:V.ZodMap,...D(W)})};class B$ extends K{_parse($){let{status:q,ctx:W}=this._processInputParams($);if(W.parsedType!==j.set)return R(W,{code:M.invalid_type,expected:j.set,received:W.parsedType}),w;let J=this._def;if(J.minSize!==null){if(W.data.size<J.minSize.value)R(W,{code:M.too_small,minimum:J.minSize.value,type:"set",inclusive:!0,exact:!1,message:J.minSize.message}),q.dirty()}if(J.maxSize!==null){if(W.data.size>J.maxSize.value)R(W,{code:M.too_big,maximum:J.maxSize.value,type:"set",inclusive:!0,exact:!1,message:J.maxSize.message}),q.dirty()}let G=this._def.valueType;function Q(Y){let _=new Set;for(let B of Y){if(B.status==="aborted")return w;if(B.status==="dirty")q.dirty();_.add(B.value)}return{status:q.value,value:_}}let X=[...W.data.values()].map((Y,_)=>G._parse(new p(W,Y,W.path,_)));if(W.common.async)return Promise.all(X).then((Y)=>Q(Y));else return Q(X)}min($,q){return new B$({...this._def,minSize:{value:$,message:S.toString(q)}})}max($,q){return new B$({...this._def,maxSize:{value:$,message:S.toString(q)}})}size($,q){return this.min($,q).max($,q)}nonempty($){return this.min(1,$)}}B$.create=($,q)=>{return new B$({valueType:$,minSize:null,maxSize:null,typeName:V.ZodSet,...D(q)})};class E$ extends K{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==j.function)return R(q,{code:M.invalid_type,expected:j.function,received:q.parsedType}),w;function W(X,Y){return I$({data:X,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,R$(),e].filter((_)=>!!_),issueData:{code:M.invalid_arguments,argumentsError:Y}})}function J(X,Y){return I$({data:X,path:q.path,errorMaps:[q.common.contextualErrorMap,q.schemaErrorMap,R$(),e].filter((_)=>!!_),issueData:{code:M.invalid_return_type,returnTypeError:Y}})}let G={errorMap:q.common.contextualErrorMap},Q=q.data;if(this._def.returns instanceof M$){let X=this;return g(async function(...Y){let _=new y([]),B=await X._def.args.parseAsync(Y,G).catch((A)=>{throw _.addIssue(W(Y,A)),_}),O=await Reflect.apply(Q,this,B);return await X._def.returns._def.type.parseAsync(O,G).catch((A)=>{throw _.addIssue(J(O,A)),_})})}else{let X=this;return g(function(...Y){let _=X._def.args.safeParse(Y,G);if(!_.success)throw new y([W(Y,_.error)]);let B=Reflect.apply(Q,this,_.data),O=X._def.returns.safeParse(B,G);if(!O.success)throw new y([J(B,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new E$({...this._def,args:r.create($).rest(J$.create())})}returns($){return new E$({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,q,W){return new E$({args:$?$:r.create([]).rest(J$.create()),returns:q||J$.create(),typeName:V.ZodFunction,...D(W)})}}class F$ extends K{get schema(){return this._def.getter()}_parse($){let{ctx:q}=this._processInputParams($);return this._def.getter()._parse({data:q.data,path:q.path,parent:q})}}F$.create=($,q)=>{return new F$({getter:$,typeName:V.ZodLazy,...D(q)})};class z$ extends K{_parse($){if($.data!==this._def.value){let q=this._getOrReturnCtx($);return R(q,{received:q.data,code:M.invalid_literal,expected:this._def.value}),w}return{status:"valid",value:$.data}}get value(){return this._def.value}}z$.create=($,q)=>{return new z$({value:$,typeName:V.ZodLiteral,...D(q)})};function m1($,q){return new Q$({values:$,typeName:V.ZodEnum,...D(q)})}class Q$ extends K{_parse($){if(typeof $.data!=="string"){let q=this._getOrReturnCtx($),W=this._def.values;return R(q,{expected:z.joinValues(W),received:q.parsedType,code:M.invalid_type}),w}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let q=this._getOrReturnCtx($),W=this._def.values;return R(q,{received:q.data,code:M.invalid_enum_value,options:W}),w}return g($.data)}get options(){return this._def.values}get enum(){let $={};for(let q of this._def.values)$[q]=q;return $}get Values(){let $={};for(let q of this._def.values)$[q]=q;return $}get Enum(){let $={};for(let q of this._def.values)$[q]=q;return $}extract($,q=this._def){return Q$.create($,{...this._def,...q})}exclude($,q=this._def){return Q$.create(this.options.filter((W)=>!$.includes(W)),{...this._def,...q})}}Q$.create=m1;class U$ extends K{_parse($){let q=z.getValidEnumValues(this._def.values),W=this._getOrReturnCtx($);if(W.parsedType!==j.string&&W.parsedType!==j.number){let J=z.objectValues(q);return R(W,{expected:z.joinValues(J),received:W.parsedType,code:M.invalid_type}),w}if(!this._cache)this._cache=new Set(z.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let J=z.objectValues(q);return R(W,{received:W.data,code:M.invalid_enum_value,options:J}),w}return g($.data)}get enum(){return this._def.values}}U$.create=($,q)=>{return new U$({values:$,typeName:V.ZodNativeEnum,...D(q)})};class M$ extends K{unwrap(){return this._def.type}_parse($){let{ctx:q}=this._processInputParams($);if(q.parsedType!==j.promise&&q.common.async===!1)return R(q,{code:M.invalid_type,expected:j.promise,received:q.parsedType}),w;let W=q.parsedType===j.promise?q.data:Promise.resolve(q.data);return g(W.then((J)=>{return this._def.type.parseAsync(J,{path:q.path,errorMap:q.common.contextualErrorMap})}))}}M$.create=($,q)=>{return new M$({type:$,typeName:V.ZodPromise,...D(q)})};class n extends K{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===V.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:q,ctx:W}=this._processInputParams($),J=this._def.effect||null,G={addIssue:(Q)=>{if(R(W,Q),Q.fatal)q.abort();else q.dirty()},get path(){return W.path}};if(G.addIssue=G.addIssue.bind(G),J.type==="preprocess"){let Q=J.transform(W.data,G);if(W.common.async)return Promise.resolve(Q).then(async(X)=>{if(q.value==="aborted")return w;let Y=await this._def.schema._parseAsync({data:X,path:W.path,parent:W});if(Y.status==="aborted")return w;if(Y.status==="dirty")return Y$(Y.value);if(q.value==="dirty")return Y$(Y.value);return Y});else{if(q.value==="aborted")return w;let X=this._def.schema._parseSync({data:Q,path:W.path,parent:W});if(X.status==="aborted")return w;if(X.status==="dirty")return Y$(X.value);if(q.value==="dirty")return Y$(X.value);return X}}if(J.type==="refinement"){let Q=(X)=>{let Y=J.refinement(X,G);if(W.common.async)return Promise.resolve(Y);if(Y instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return X};if(W.common.async===!1){let X=this._def.schema._parseSync({data:W.data,path:W.path,parent:W});if(X.status==="aborted")return w;if(X.status==="dirty")q.dirty();return Q(X.value),{status:q.value,value:X.value}}else return this._def.schema._parseAsync({data:W.data,path:W.path,parent:W}).then((X)=>{if(X.status==="aborted")return w;if(X.status==="dirty")q.dirty();return Q(X.value).then(()=>{return{status:q.value,value:X.value}})})}if(J.type==="transform")if(W.common.async===!1){let Q=this._def.schema._parseSync({data:W.data,path:W.path,parent:W});if(!W$(Q))return w;let X=J.transform(Q.value,G);if(X instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:q.value,value:X}}else return this._def.schema._parseAsync({data:W.data,path:W.path,parent:W}).then((Q)=>{if(!W$(Q))return w;return Promise.resolve(J.transform(Q.value,G)).then((X)=>({status:q.value,value:X}))});z.assertNever(J)}}n.create=($,q,W)=>{return new n({schema:$,typeName:V.ZodEffects,effect:q,...D(W)})};n.createWithPreprocess=($,q,W)=>{return new n({schema:q,effect:{type:"preprocess",transform:$},typeName:V.ZodEffects,...D(W)})};class c extends K{_parse($){if(this._getType($)===j.undefined)return g(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}c.create=($,q)=>{return new c({innerType:$,typeName:V.ZodOptional,...D(q)})};class q$ extends K{_parse($){if(this._getType($)===j.null)return g(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}q$.create=($,q)=>{return new q$({innerType:$,typeName:V.ZodNullable,...D(q)})};class f$ extends K{_parse($){let{ctx:q}=this._processInputParams($),W=q.data;if(q.parsedType===j.undefined)W=this._def.defaultValue();return this._def.innerType._parse({data:W,path:q.path,parent:q})}removeDefault(){return this._def.innerType}}f$.create=($,q)=>{return new f$({innerType:$,typeName:V.ZodDefault,defaultValue:typeof q.default==="function"?q.default:()=>q.default,...D(q)})};class L$ extends K{_parse($){let{ctx:q}=this._processInputParams($),W={...q,common:{...q.common,issues:[]}},J=this._def.innerType._parse({data:W.data,path:W.path,parent:{...W}});if(O$(J))return J.then((G)=>{return{status:"valid",value:G.status==="valid"?G.value:this._def.catchValue({get error(){return new y(W.common.issues)},input:W.data})}});else return{status:"valid",value:J.status==="valid"?J.value:this._def.catchValue({get error(){return new y(W.common.issues)},input:W.data})}}removeCatch(){return this._def.innerType}}L$.create=($,q)=>{return new L$({innerType:$,typeName:V.ZodCatch,catchValue:typeof q.catch==="function"?q.catch:()=>q.catch,...D(q)})};class x$ extends K{_parse($){if(this._getType($)!==j.nan){let W=this._getOrReturnCtx($);return R(W,{code:M.invalid_type,expected:j.nan,received:W.parsedType}),w}return{status:"valid",value:$.data}}}x$.create=($)=>{return new x$({typeName:V.ZodNaN,...D($)})};var a0=Symbol("zod_brand");class r$ extends K{_parse($){let{ctx:q}=this._processInputParams($),W=q.data;return this._def.type._parse({data:W,path:q.path,parent:q})}unwrap(){return this._def.type}}class g$ extends K{_parse($){let{status:q,ctx:W}=this._processInputParams($);if(W.common.async)return(async()=>{let G=await this._def.in._parseAsync({data:W.data,path:W.path,parent:W});if(G.status==="aborted")return w;if(G.status==="dirty")return q.dirty(),Y$(G.value);else return this._def.out._parseAsync({data:G.value,path:W.path,parent:W})})();else{let J=this._def.in._parseSync({data:W.data,path:W.path,parent:W});if(J.status==="aborted")return w;if(J.status==="dirty")return q.dirty(),{status:"dirty",value:J.value};else return this._def.out._parseSync({data:J.value,path:W.path,parent:W})}}static create($,q){return new g$({in:$,out:q,typeName:V.ZodPipeline})}}class A$ extends K{_parse($){let q=this._def.innerType._parse($),W=(J)=>{if(W$(J))J.value=Object.freeze(J.value);return J};return O$(q)?q.then((J)=>W(J)):W(q)}unwrap(){return this._def.innerType}}A$.create=($,q)=>{return new A$({innerType:$,typeName:V.ZodReadonly,...D(q)})};function g1($,q){let W=typeof $==="function"?$(q):typeof $==="string"?{message:$}:$;return typeof W==="string"?{message:W}:W}function u1($,q={},W){if($)return H$.create().superRefine((J,G)=>{let Q=$(J);if(Q instanceof Promise)return Q.then((X)=>{if(!X){let Y=g1(q,J),_=Y.fatal??W??!0;G.addIssue({code:"custom",...Y,fatal:_})}});if(!Q){let X=g1(q,J),Y=X.fatal??W??!0;G.addIssue({code:"custom",...X,fatal:Y})}return});return H$.create()}var s0={object:k.lazycreate},V;(function($){$.ZodString="ZodString",$.ZodNumber="ZodNumber",$.ZodNaN="ZodNaN",$.ZodBigInt="ZodBigInt",$.ZodBoolean="ZodBoolean",$.ZodDate="ZodDate",$.ZodSymbol="ZodSymbol",$.ZodUndefined="ZodUndefined",$.ZodNull="ZodNull",$.ZodAny="ZodAny",$.ZodUnknown="ZodUnknown",$.ZodNever="ZodNever",$.ZodVoid="ZodVoid",$.ZodArray="ZodArray",$.ZodObject="ZodObject",$.ZodUnion="ZodUnion",$.ZodDiscriminatedUnion="ZodDiscriminatedUnion",$.ZodIntersection="ZodIntersection",$.ZodTuple="ZodTuple",$.ZodRecord="ZodRecord",$.ZodMap="ZodMap",$.ZodSet="ZodSet",$.ZodFunction="ZodFunction",$.ZodLazy="ZodLazy",$.ZodLiteral="ZodLiteral",$.ZodEnum="ZodEnum",$.ZodEffects="ZodEffects",$.ZodNativeEnum="ZodNativeEnum",$.ZodOptional="ZodOptional",$.ZodNullable="ZodNullable",$.ZodDefault="ZodDefault",$.ZodCatch="ZodCatch",$.ZodPromise="ZodPromise",$.ZodBranded="ZodBranded",$.ZodPipeline="ZodPipeline",$.ZodReadonly="ZodReadonly"})(V||(V={}));var e0=($,q={message:`Input not instance of ${$.name}`})=>u1((W)=>W instanceof $,q),c1=m.create,p1=G$.create,$q=x$.create,qq=X$.create,n1=w$.create,Wq=_$.create,Jq=k$.create,Gq=V$.create,Xq=N$.create,Qq=H$.create,Yq=J$.create,_q=o.create,Hq=P$.create,Bq=u.create,Mq=k.create,jq=k.strictCreate,Rq=D$.create,Oq=o$.create,Sq=K$.create,Eq=r.create,wq=T$.create,Vq=h$.create,Nq=B$.create,Dq=E$.create,Kq=F$.create,Fq=z$.create,zq=Q$.create,Uq=U$.create,fq=M$.create,Lq=n.create,Aq=c.create,vq=q$.create,bq=n.createWithPreprocess,Cq=g$.create,Iq=()=>c1().optional(),kq=()=>p1().optional(),Pq=()=>n1().optional(),Tq={string:($)=>m.create({...$,coerce:!0}),number:($)=>G$.create({...$,coerce:!0}),boolean:($)=>w$.create({...$,coerce:!0}),bigint:($)=>X$.create({...$,coerce:!0}),date:($)=>_$.create({...$,coerce:!0})};var hq=w;var xq=H.discriminatedUnion("type",[H.object({type:H.literal("register_new"),maxConcurrent:H.number().int().positive(),name:H.string().optional()}),H.object({type:H.literal("register_resume"),workerId:H.string(),secret:H.string(),maxConcurrent:H.number().int().positive(),name:H.string().optional()}),H.object({type:H.literal("stats"),loadedModel:H.string().nullable(),jobsCompleted:H.number(),uptimeMs:H.number()}),H.object({type:H.literal("model_ready"),jobId:H.string(),model:H.string()}),H.object({type:H.literal("delta"),jobId:H.string(),content:H.string().optional(),toolCalls:H.array(H.object({index:H.number().int().nonnegative(),id:H.string().optional(),name:H.string().optional(),arguments:H.string().optional()})).optional()}),H.object({type:H.literal("embedding"),jobId:H.string(),vector:H.array(H.number())}),H.object({type:H.literal("image"),jobId:H.string(),images:H.array(H.object({b64:H.string().optional(),url:H.string().optional(),revisedPrompt:H.string().optional()}))}),H.object({type:H.literal("audio"),jobId:H.string(),b64:H.string(),mimeType:H.string()}),H.object({type:H.literal("done"),jobId:H.string(),finishReason:H.enum(["stop","length","tool_calls"]),usage:H.object({promptTokens:H.number().int().nonnegative(),completionTokens:H.number().int().nonnegative()}).optional()}),H.object({type:H.literal("error"),jobId:H.string(),message:H.string()}),H.object({type:H.literal("models"),models:H.union([H.array(H.string()),H.array(H.object({id:H.string(),purpose:H.enum(["chat","embedding","image","tts"]).optional(),capabilities:H.array(H.enum(["tools","vision","thinking"])).optional()}))])}),H.object({type:H.literal("pong")})]);var Y1=H.discriminatedUnion("type",[H.object({type:H.literal("registered"),workerId:H.string(),secret:H.string().optional()}),H.object({type:H.literal("infer"),jobId:H.string(),task:H.enum(["chat","embedding","image","tts"]),model:H.string(),input:H.unknown(),options:H.object({maxTokens:H.number().optional(),temperature:H.number().optional(),tools:H.array(H.unknown()).optional(),toolChoice:H.unknown().optional(),image:H.object({size:H.string().optional(),n:H.number().int().positive().optional(),quality:H.string().optional(),style:H.string().optional(),responseFormat:H.enum(["url","b64_json"]).optional()}).optional(),tts:H.object({voice:H.string().optional(),responseFormat:H.string().optional(),speed:H.number().optional(),instructions:H.string().optional()}).optional()}).optional()}),H.object({type:H.literal("cancel"),jobId:H.string()}),H.object({type:H.literal("ping")})]);function _1($,q){try{let W=typeof q==="string"?q:new TextDecoder().decode(q);return $.parse(JSON.parse(W))}catch(W){return console.error("invalid message",W),null}}var gq=C$({meta:{name:"start",description:"Start a worker that connects to a Shoal server"},args:{server:{type:"string",description:"WebSocket URL of the Shoal server (e.g. wss://server.example.com/ws/workers)",required:!0},token:{type:"string",description:"API key. Falls back to SHOAL_TOKEN env var."},backend:{type:"string",description:"Inference backend URL. Repeat the flag or comma-separate to use multiple backends; jobs are routed per-model. Falls back to BACKEND_URL (comma-separated)."},concurrency:{type:"string",description:"Max concurrent jobs",default:"1"},name:{type:"string",description:"Friendly name advertised to the server. Overwrites any name set via the dashboard on every connect."}},run({args:$,rawArgs:q}){let W=$.token??process.env.SHOAL_TOKEN;if(!W)console.error("Missing --token. Set via --token <key> or SHOAL_TOKEN env var. Create a key at /settings on the dashboard."),process.exit(1);let J=Number.parseInt($.concurrency,10);if(!Number.isFinite(J)||J<1)console.error(`Invalid --concurrency: ${$.concurrency}. Must be a positive integer.`),process.exit(1);let G=yq(q),Q=G.length>0?G:E1.getBackendUrls();if(Q.length===0)console.error("No backend URLs configured. Pass --backend <url> (repeat or comma-separate for multiple) or set BACKEND_URL."),process.exit(1);Zq({serverUrl:$.server,token:W,backendUrls:Q,maxConcurrent:J,name:$.name})}}),i1=C$({meta:{name:"worker",description:"Run a Shoal inference worker"},subCommands:{start:gq}});function yq($){let q=[];for(let W=0;W<$.length;W++){let J=$[W],G;if(J==="--backend")G=$[W+1],W++;else if(J?.startsWith("--backend="))G=J.slice(10);if(G===void 0)continue;for(let Q of G.split(",")){let X=Q.trim();if(X.length>0)q.push(X)}}return q}function Zq($){let{serverUrl:q,token:W,backendUrls:J,maxConcurrent:G,name:Q}=$,X=`${q}${q.includes("?")?"&":"?"}token=${encodeURIComponent(W)}`,Y=T1({backendUrls:J});console.log(`[worker] using backend(s): ${J.join(", ")}`);let _=Date.now(),B=0,O=null,v=null,A=1000,F=new Map;function f(L){if(v?.readyState===WebSocket.OPEN)v.send(JSON.stringify(L))}setInterval(()=>{f({type:"stats",loadedModel:O,jobsCompleted:B,uptimeMs:Date.now()-_})},5000);async function U(){try{let L=await Y.listModels();f({type:"models",models:L})}catch(L){console.error("[worker] failed to fetch models from backend:",L.message)}}setInterval(U,30000);let E=w1(q);if(E)console.log(`[worker] loaded identity ${E.workerId} from ${p$(q)}`);else console.log(`[worker] no stored identity, will register as new at ${p$(q)}`);function N(){console.log(`[worker] connecting to ${q}`),v=new WebSocket(X);let L=!1,T=(b)=>{if(L)return;L=!0,console.log(`[worker] disconnected (${b}), reconnecting in ${A}ms`),setTimeout(N,A),A=Math.min(A*2,30000)};v.onopen=()=>{if(console.log("[worker] connected, registering"),A=1000,E)f({type:"register_resume",workerId:E.workerId,secret:E.secret,maxConcurrent:G,...Q!==void 0?{name:Q}:{}});else f({type:"register_new",maxConcurrent:G,...Q!==void 0?{name:Q}:{}})},v.onmessage=(b)=>{let C=_1(Y1,b.data);if(!C)return;if(C.type==="registered"){if(C.secret)E={workerId:C.workerId,secret:C.secret},V1(q,E),console.log(`[worker] registered (new) as ${C.workerId}, identity saved`);else console.log(`[worker] registered (resumed) as ${C.workerId}`);U();return}if(C.type==="ping"){f({type:"pong"});return}if(C.type==="infer"){I(C);return}if(C.type==="cancel"){let Z=F.get(C.jobId);if(Z)console.log(`[worker] cancel received for job ${C.jobId}`),Z.abort()}},v.onclose=(b)=>{let C=b.reason?`${b.code} ${b.reason}`:`${b.code}`;if(b.code===1008)console.error(`[worker] credentials rejected by server (${C}). If you've reset the server's database, delete ${p$(q)} and restart to re-register as a new worker.`),process.exit(1);T(C)},v.onerror=(b)=>{console.error("[worker] socket error:",b),T("socket error")}}async function I(L){let{jobId:T,model:b}=L,C=new AbortController;F.set(T,C);try{f({type:"model_ready",jobId:T,model:b}),await P(L,C.signal),O=b}catch(Z){if(C.signal.aborted)console.log(`[worker] job ${T} aborted`);else console.error(`[worker] inference error for job ${T}:`,Z),f({type:"error",jobId:T,message:Z.message??"inference failed"})}finally{F.delete(T)}}async function P(L,T){let{jobId:b,task:C,model:Z,input:i,options:t$}=L;switch(C){case"chat":return t(b,Z,i,t$,T);case"embedding":return a(b,async()=>{let j$=await Y.embedding(Z,i,T);return{type:"embedding",jobId:b,vector:j$[0]}});case"image":return a(b,async()=>{let j$=await Y.image(Z,i,t$?.image,T);return{type:"image",jobId:b,images:j$}});case"tts":return a(b,async()=>{let j$=await Y.speech(Z,i,t$?.tts,T);return{type:"audio",jobId:b,b64:j$.b64,mimeType:j$.mimeType}});default:throw Error(`Unknown task: ${C}`)}}async function t(L,T,b,C,Z){for await(let i of Y.chat(T,b,C,Z))if("done"in i)B++,f({type:"done",jobId:L,finishReason:i.finishReason,usage:i.usage});else f({type:"delta",jobId:L,content:i.content,toolCalls:i.toolCalls})}async function a(L,T){let b=await T();f(b),B++,f({type:"done",jobId:L,finishReason:"stop"})}N()}var lq=C$({meta:{name:"shoal",description:"Shoal CLI"},subCommands:{worker:i1}});S1(lq);