@shoal.sh/cli 0.0.2 → 0.0.4

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.2",
3
+ "version": "0.0.4",
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 A0=Object.defineProperty;var v0=($)=>$;function k0($,W){this[$]=v0.bind(null,W)}var C0=($,W)=>{for(var q in W)A0($,q,{get:W[q],enumerable:!0,configurable:!0,set:k0.bind(W,q)})};var I0=/\d/,P0=["-","_","/","."];function h0($=""){if(I0.test($))return;return $!==$.toLowerCase()}function q0($,W){let q=W??P0,J=[];if(!$||typeof $!=="string")return J;let G="",X,Q;for(let Y of $){let _=q.includes(Y);if(_===!0){J.push(G),G="",X=void 0;continue}let B=h0(Y);if(Q===!1){if(X===!1&&B===!0){J.push(G),G=Y,X=B;continue}if(X===!0&&B===!1&&G.length>1){let S=G.at(-1);J.push(G.slice(0,Math.max(0,G.length-1))),G=S+Y,X=B;continue}}G+=Y,X=B,Q=_}return J.push(G),J}function T0($){return $?$[0].toUpperCase()+$.slice(1):""}function x0($){return $?$[0].toLowerCase()+$.slice(1):""}function g0($,W){return $?(Array.isArray($)?$:q0($)).map((q)=>T0(W?.normalize?q.toLowerCase():q)).join(""):""}function N$($,W){return x0(g0($||"",W))}function I$($,W){return $?(Array.isArray($)?$:q0($)).map((q)=>q.toLowerCase()).join(W??"-"):""}function G0($){return I$($||"","_")}import{parseArgs as y0}from"node:util";function L$($){if(Array.isArray($))return $;return $===void 0?[]:[$]}function p$($,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 n=class extends Error{code;constructor($,W){super($);this.name="CLIError",this.code=W}};function Z0($=[],W={}){let q=new Set(W.boolean||[]),J=new Set(W.string||[]),G=W.alias||{},X=W.default||{},Q=new Map,Y=new Map;for(let[O,U]of Object.entries(G)){let F=U;for(let v of F){if(Q.set(O,v),!Y.has(v))Y.set(v,[]);if(Y.get(v).push(O),Q.set(v,O),!Y.has(O))Y.set(O,[]);Y.get(O).push(v)}}let _={};function B(O){if(q.has(O))return"boolean";let U=Y.get(O)||[];for(let F of U)if(q.has(F))return"boolean";return"string"}function S(O){if(J.has(O))return!0;let U=Y.get(O)||[];for(let F of U)if(J.has(F))return!0;return!1}let C=new Set([...q,...J,...Object.keys(G),...Object.values(G).flat(),...Object.keys(X)]);for(let O of C)if(!_[O])_[O]={type:B(O),default:X[O]};for(let[O,U]of Q.entries())if(O.length===1&&_[U]&&!_[U].short)_[U].short=O;let f=[],L={};for(let O=0;O<$.length;O++){let U=$[O];if(U==="--"){f.push(...$.slice(O));break}if(U.startsWith("--no-")){let F=U.slice(5);L[F]=!0;continue}f.push(U)}let A;try{A=y0({args:f,options:Object.keys(_).length>0?_:void 0,allowPositionals:!0,strict:!1})}catch{A={values:{},positionals:f}}let z={_:[]};z._=A.positionals;for(let[O,U]of Object.entries(A.values)){let F=U;if(B(O)==="boolean"&&typeof U==="string")F=U!=="false";else if(S(O)&&typeof U==="boolean")F="";z[O]=F}for(let[O]of Object.entries(L)){z[O]=!1;let U=Q.get(O);if(U)z[U]=!1;let F=Y.get(O);if(F)for(let v of F)z[v]=!1}for(let[O,U]of Q.entries()){if(z[O]!==void 0&&z[U]===void 0)z[U]=z[O];if(z[U]!==void 0&&z[O]===void 0)z[O]=z[U];if(z[O]!==z[U]&&X[U]===z[U])z[U]=z[O]}return z}var l0=(()=>{let $=globalThis.process?.env??{};return $.NO_COLOR==="1"||$.TERM==="dumb"||$.TEST||$.CI})(),x$=($,W=39)=>(q)=>l0?q:`\x1B[${$}m${q}\x1B[${W}m`,P$=x$(1,22),x=x$(36),T$=x$(90),h$=x$(4,24);function m0($,W){let q={boolean:[],string:[],alias:{},default:{}},J=Q0(W);for(let Y of J){if(Y.type==="positional")continue;if(Y.type==="string"||Y.type==="enum")q.string.push(Y.name);else if(Y.type==="boolean")q.boolean.push(Y.name);if(Y.default!==void 0)q.default[Y.name]=Y.default;if(Y.alias)q.alias[Y.name]=Y.alias;let _=N$(Y.name),B=I$(Y.name);if(_!==Y.name||B!==Y.name){let S=L$(q.alias[Y.name]||[]);if(_!==Y.name&&!S.includes(_))S.push(_);if(B!==Y.name&&!S.includes(B))S.push(B);if(S.length>0)q.alias[Y.name]=S}}let G=Z0($,q),[...X]=G._,Q=new Proxy(G,{get(Y,_){return Y[_]??Y[N$(_)]??Y[I$(_)]}});for(let[,Y]of J.entries())if(Y.type==="positional"){let _=X.shift();if(_!==void 0)Q[Y.name]=_;else if(Y.default===void 0&&Y.required!==!1)throw new n(`Missing required positional argument: ${Y.name.toUpperCase()}`,"EARG");else Q[Y.name]=Y.default}else if(Y.type==="enum"){let _=Q[Y.name],B=Y.options||[];if(_!==void 0&&B.length>0&&!B.includes(_))throw new n(`Invalid value for argument: ${x(`--${Y.name}`)} (${x(_)}). Expected one of: ${B.map((S)=>x(S)).join(", ")}.`,"EARG")}else if(Y.required&&Q[Y.name]===void 0)throw new n(`Missing required argument: --${Y.name}`,"EARG");return Q}function Q0($){let W=[];for(let[q,J]of Object.entries($||{}))W.push({...J,name:q,alias:L$(J.alias)});return W}async function c0($){return Promise.all($.map((W)=>I(W)))}function K$($){return $}async function i$($,W){let q=await I($.args||{}),J=m0(W.rawArgs,q),G={rawArgs:W.rawArgs,args:J,data:W.data,cmd:$},X=await c0($.plugins??[]),Q,Y;try{for(let S of X)await S.setup?.(G);if(typeof $.setup==="function")await $.setup(G);let B=await I($.subCommands);if(B&&Object.keys(B).length>0){let S=Y0(W.rawArgs,q),C=W.rawArgs[S];if(C){let f=await d$(B,C);if(!f)throw new n(`Unknown command ${x(C)}`,"E_UNKNOWN_COMMAND");await i$(f,{rawArgs:W.rawArgs.slice(S+1)})}else{let f=await I($.default);if(f){if($.run)throw new n("Cannot specify both 'run' and 'default' on the same command.","E_DEFAULT_CONFLICT");let L=await d$(B,f);if(!L)throw new n(`Default sub command ${x(f)} not found in subCommands.`,"E_UNKNOWN_COMMAND");await i$(L,{rawArgs:W.rawArgs})}else if(!$.run)throw new n("No command specified.","E_NO_COMMAND")}}if(typeof $.run==="function")Q=await $.run(G)}catch(B){Y=B}let _=[];if(typeof $.cleanup==="function")try{await $.cleanup(G)}catch(B){_.push(B)}for(let B of[...X].reverse())try{await B.cleanup?.(G)}catch(S){_.push(S)}if(Y)throw Y;if(_.length===1)throw _[0];if(_.length>1)throw Error("Multiple cleanup errors",{cause:_});return{result:Q}}async function o$($,W,q){let J=await I($.subCommands);if(J&&Object.keys(J).length>0){let G=Y0(W,await I($.args||{})),X=W[G],Q=await d$(J,X);if(Q)return o$(Q,W.slice(G+1),$)}return[$,q]}async function d$($,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(L$(G.alias).includes(W))return J}}}function Y0($,W){for(let q=0;q<$.length;q++){let J=$[q];if(J==="--")return-1;if(J.startsWith("-")){if(!J.includes("=")&&u0(J,W))q++;continue}return q}return-1}function u0($,W){let q=$.replace(/^-{1,2}/,""),J=N$(q);for(let[G,X]of Object.entries(W)){if(X.type!=="string"&&X.type!=="enum")continue;if(J===N$(G))return!0;if((Array.isArray(X.alias)?X.alias:X.alias?[X.alias]:[]).includes(q))return!0}return!1}async function p0($,W){try{console.log(await i0($,W)+`
4
- `)}catch(q){console.error(q)}}var n0=/^no[-A-Z]/;async function i0($,W){let q=await I($.meta||{}),J=Q0(await I($.args||{})),G=await I(W?.meta||{}),X=`${G.name?`${G.name} `:""}`+(q.name||process.argv[1]),Q=[],Y=[],_=[],B=[];for(let L of J)if(L.type==="positional"){let A=L.name.toUpperCase(),z=L.required!==!1&&L.default===void 0;Y.push([x(A+n$(L)),J0(L,z)]),B.push(z?`<${A}>`:`[${A}]`)}else{let A=L.required===!0&&L.default===void 0,z=[...(L.alias||[]).map((O)=>`-${O}`),`--${L.name}`].join(", ")+n$(L);if(Q.push([x(z),J0(L,A)]),L.type==="boolean"&&(L.default===!0||L.negativeDescription)&&!n0.test(L.name)){let O=[...(L.alias||[]).map((U)=>`--no-${U}`),`--no-${L.name}`].join(", ");Q.push([x(O),[L.negativeDescription,A?T$("(Required)"):""].filter(Boolean).join(" ")])}if(A)B.push(`--${L.name}`+n$(L))}if($.subCommands){let L=[],A=await I($.subCommands);for(let[z,O]of Object.entries(A)){let U=await I((await I(O))?.meta);if(U?.hidden)continue;let F=L$(U?.alias),v=[z,...F].join(", ");_.push([x(v),U?.description||""]),L.push(z,...F)}B.push(L.join("|"))}let S=[],C=q.version||G.version;S.push(T$(`${q.description} (${X+(C?` v${C}`:"")})`),"");let f=Q.length>0||Y.length>0;if(S.push(`${h$(P$("USAGE"))} ${x(`${X}${f?" [OPTIONS]":""} ${B.join(" ")}`)}`,""),Y.length>0)S.push(h$(P$("ARGUMENTS")),""),S.push(p$(Y," ")),S.push("");if(Q.length>0)S.push(h$(P$("OPTIONS")),""),S.push(p$(Q," ")),S.push("");if(_.length>0)S.push(h$(P$("COMMANDS")),""),S.push(p$(_," ")),S.push("",`Use ${x(`${X} <command> --help`)} for more information about a command.`);return S.filter((L)=>typeof L==="string").join(`
5
- `)}function n$($){let W=$.valueHint?`=<${$.valueHint}>`:"",q=W||`=<${G0($.name)}>`;if(!$.type||$.type==="positional"||$.type==="boolean")return W;if($.type==="enum"&&$.options?.length)return`=<${$.options.join("|")}>`;return q}function J0($,W){let q=W?T$("(Required)"):"",J=$.default===void 0?"":T$(`(Default: ${$.default})`);return[$.description,q,J].filter(Boolean).join(" ")}async function _0($,W={}){let q=W.rawArgs||process.argv.slice(2),J=W.showUsage||p0;try{let G=await o0($);if(G.help.length>0&&q.some((X)=>G.help.includes(X)))await J(...await o$($,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 n("No version specified","E_NO_VERSION");console.log(X.version)}else await i$($,{rawArgs:q})}catch(G){if(G instanceof n)await J(...await o$($,q)),console.error(G.message);else console.error(G,`
6
- `);process.exit(1)}}async function o0($){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 L$(X.alias))J.add(Q)}return{help:X0("help","h",q,J),version:X0("version","v",q,J)}}function X0($,W,q,J){if(q.has($)||J.has($))return[];if(q.has(W)||J.has(W))return[`--${$}`];return[`--${$}`,`-${W}`]}import d0 from"node:crypto";import{existsSync as r0,mkdirSync as a0,readFileSync as t0,writeFileSync as s0}from"node:fs";import e0 from"node:os";import g$ from"node:path";function r$($){let W=process.env.XDG_STATE_HOME??g$.join(e0.homedir(),".local","state"),q=g$.join(W,"shoal"),J=d0.createHash("sha256").update($).digest("hex").slice(0,16);return g$.join(q,`identity-${J}.json`)}function H0($){let W=r$($);if(!r0(W))return null;try{let q=t0(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 B0($,W){let q=r$($);a0(g$.dirname(q),{recursive:!0,mode:448}),s0(q,JSON.stringify(W,null,2),{mode:384})}function y$($){return r$($)}var a$=null,Z$="http://localhost:11434";function M0($){Z$=$.replace(/\/+$/,"")}async function j0(){let $=await fetch(`${Z$}/v1/models`);if(!$.ok)throw Error(`Backend returned ${$.status} from /v1/models`);return(await $.json()).data.map((q)=>q.id)}function w0(){return a$}async function*O0($,W,q){let J={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)J.tools=q.tools;if(q?.toolChoice!==void 0)J.tool_choice=q.toolChoice;let G=await fetch(`${Z$}/v1/chat/completions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(J)});if(!G.ok){let S=await G.text();throw Error(`Backend returned ${G.status}: ${S}`)}a$=$;let X=G.body.getReader(),Q=new TextDecoder,Y="",_="stop",B;while(!0){let{done:S,value:C}=await X.read();if(S)break;Y+=Q.decode(C,{stream:!0});let f=Y.split(`
7
- `);Y=f.pop();for(let L of f){let A=L.trim();if(!A.startsWith("data: "))continue;let z=A.slice(6);if(z==="[DONE]")continue;try{let O=JSON.parse(z);if(O.usage&&typeof O.usage==="object"){let T=O.usage;if(typeof T.prompt_tokens==="number"&&typeof T.completion_tokens==="number")B={promptTokens:T.prompt_tokens,completionTokens:T.completion_tokens}}let U=O.choices?.[0];if(!U)continue;if(U.finish_reason==="length")_="length";else if(U.finish_reason==="tool_calls")_="tool_calls";else if(U.finish_reason==="stop")_="stop";let F=U.delta;if(!F)continue;let v={};if(typeof F.content==="string"&&F.content.length>0)v.content=F.content;if(Array.isArray(F.tool_calls)&&F.tool_calls.length>0)v.toolCalls=F.tool_calls.map((T)=>({index:T.index,id:T.id,name:T.function?.name,arguments:T.function?.arguments}));if(v.content!==void 0||v.toolCalls!==void 0)yield v}catch{}}}yield{done:!0,finishReason:_,usage:B}}async function R0($,W){let q=await fetch(`${Z$}/v1/embeddings`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:$,input:W})});if(!q.ok){let G=await q.text();throw Error(`Backend returned ${q.status}: ${G}`)}return a$=$,(await q.json()).data.map((G)=>G.embedding)}var w={};C0(w,{void:()=>g1,util:()=>K,unknown:()=>T1,union:()=>m1,undefined:()=>I1,tuple:()=>p1,transformer:()=>$W,symbol:()=>C1,string:()=>K0,strictObject:()=>l1,setErrorMap:()=>q1,set:()=>o1,record:()=>n1,quotelessJson:()=>$1,promise:()=>e1,preprocess:()=>GW,pipeline:()=>JW,ostring:()=>XW,optional:()=>WW,onumber:()=>QW,oboolean:()=>YW,objectUtil:()=>t$,object:()=>Z1,number:()=>F0,nullable:()=>qW,null:()=>P1,never:()=>x1,nativeEnum:()=>s1,nan:()=>A1,map:()=>i1,makeIssue:()=>F$,literal:()=>a1,lazy:()=>r1,late:()=>f1,isValid:()=>r,isDirty:()=>m$,isAsync:()=>Y$,isAborted:()=>l$,intersection:()=>u1,instanceof:()=>b1,getParsedType:()=>c,getErrorMap:()=>Q$,function:()=>d1,enum:()=>t1,effect:()=>$W,discriminatedUnion:()=>c1,defaultErrorMap:()=>i,datetimeRegex:()=>D0,date:()=>k1,custom:()=>L0,coerce:()=>_W,boolean:()=>f0,bigint:()=>v1,array:()=>y1,any:()=>h1,addIssueToContext:()=>j,ZodVoid:()=>b$,ZodUnknown:()=>a,ZodUnion:()=>w$,ZodUndefined:()=>M$,ZodType:()=>N,ZodTuple:()=>p,ZodTransformer:()=>m,ZodSymbol:()=>f$,ZodString:()=>g,ZodSet:()=>G$,ZodSchema:()=>N,ZodRecord:()=>A$,ZodReadonly:()=>U$,ZodPromise:()=>J$,ZodPipeline:()=>C$,ZodParsedType:()=>M,ZodOptional:()=>Z,ZodObject:()=>b,ZodNumber:()=>t,ZodNullable:()=>d,ZodNull:()=>j$,ZodNever:()=>u,ZodNativeEnum:()=>E$,ZodNaN:()=>k$,ZodMap:()=>v$,ZodLiteral:()=>S$,ZodLazy:()=>R$,ZodIssueCode:()=>H,ZodIntersection:()=>O$,ZodFunction:()=>H$,ZodFirstPartyTypeKind:()=>V,ZodError:()=>h,ZodEnum:()=>e,ZodEffects:()=>m,ZodDiscriminatedUnion:()=>c$,ZodDefault:()=>V$,ZodDate:()=>W$,ZodCatch:()=>z$,ZodBranded:()=>u$,ZodBoolean:()=>B$,ZodBigInt:()=>s,ZodArray:()=>y,ZodAny:()=>q$,Schema:()=>N,ParseStatus:()=>k,OK:()=>P,NEVER:()=>HW,INVALID:()=>E,EMPTY_PATH:()=>G1,DIRTY:()=>$$,BRAND:()=>F1});var K;(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((Y)=>typeof G[G[Y]]!=="number"),Q={};for(let Y of X)Q[Y]=G[Y];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}})(K||(K={}));var t$;(function($){$.mergeShapes=(W,q)=>{return{...W,...q}}})(t$||(t$={}));var M=K.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),c=($)=>{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 H=K.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"]),$1=($)=>{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,Y=0;while(Y<X.path.length){let _=X.path[Y];if(Y!==X.path.length-1)Q[_]=Q[_]||{_errors:[]};else Q[_]=Q[_]||{_errors:[]},Q[_]._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,K.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 W1=($,W)=>{let q;switch($.code){case H.invalid_type:if($.received===M.undefined)q="Required";else q=`Expected ${$.expected}, received ${$.received}`;break;case H.invalid_literal:q=`Invalid literal value, expected ${JSON.stringify($.expected,K.jsonStringifyReplacer)}`;break;case H.unrecognized_keys:q=`Unrecognized key(s) in object: ${K.joinValues($.keys,", ")}`;break;case H.invalid_union:q="Invalid input";break;case H.invalid_union_discriminator:q=`Invalid discriminator value. Expected ${K.joinValues($.options)}`;break;case H.invalid_enum_value:q=`Invalid enum value. Expected ${K.joinValues($.options)}, received '${$.received}'`;break;case H.invalid_arguments:q="Invalid function arguments";break;case H.invalid_return_type:q="Invalid function return type";break;case H.invalid_date:q="Invalid date";break;case H.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 K.assertNever($.validation);else if($.validation!=="regex")q=`Invalid ${$.validation}`;else q="Invalid";break;case H.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 H.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 H.custom:q="Invalid input";break;case H.invalid_intersection_types:q="Intersection results could not be merged";break;case H.not_multiple_of:q=`Number must be a multiple of ${$.multipleOf}`;break;case H.not_finite:q="Number must be finite";break;default:q=W.defaultError,K.assertNever($)}return{message:q}},i=W1;var S0=i;function q1($){S0=$}function Q$(){return S0}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((B)=>!!B).slice().reverse();for(let B of _)Y=B(Q,{data:W,defaultError:Y}).message;return{...G,path:X,message:Y}},G1=[];function j($,W){let q=Q$(),J=F$({issueData:W,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,q,q===i?void 0:i].filter((G)=>!!G)});$.common.issues.push(J)}class k{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 E;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 k.mergeObjectSync($,q)}static mergeObjectSync($,W){let q={};for(let J of W){let{key:G,value:X}=J;if(G.status==="aborted")return E;if(X.status==="aborted")return E;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 E=Object.freeze({status:"aborted"}),$$=($)=>({status:"dirty",value:$}),P=($)=>({status:"valid",value:$}),l$=($)=>$.status==="aborted",m$=($)=>$.status==="dirty",r=($)=>$.status==="valid",Y$=($)=>typeof Promise<"u"&&$ instanceof Promise;var R;(function($){$.errToObj=(W)=>typeof W==="string"?{message:W}:W||{},$.toString=(W)=>typeof W==="string"?W:W?.message})(R||(R={}));class l{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 E0=($,W)=>{if(r(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,Y)=>{let{message:_}=$;if(Q.code==="invalid_enum_value")return{message:_??Y.defaultError};if(typeof Y.data>"u")return{message:_??J??Y.defaultError};if(Q.code!=="invalid_type")return{message:Y.defaultError};return{message:_??q??Y.defaultError}},description:G}}class N{get description(){return this._def.description}_getType($){return c($.data)}_getOrReturnCtx($,W){return W||{common:$.parent.common,data:$.data,parsedType:c($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new k,ctx:{common:$.parent.common,data:$.data,parsedType:c($.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:c($)},J=this._parseSync({data:$,path:q.path,parent:q});return E0(q,J)}"~validate"($){let W={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:c($)};if(!this["~standard"].async)try{let q=this._parseSync({data:$,path:[],parent:W});return r(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)=>r(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:c($)},J=this._parse({data:$,path:q.path,parent:q}),G=await(Y$(J)?J:Promise.resolve(J));return E0(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:H.custom,...q(J)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Y)=>{if(!Y)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 m({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:(W)=>this["~validate"](W)}}optional(){return Z.create(this,this._def)}nullable(){return d.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return y.create(this)}promise(){return J$.create(this,this._def)}or($){return w$.create([this,$],this._def)}and($){return O$.create(this,$,this._def)}transform($){return new m({...D(this._def),schema:this,typeName:V.ZodEffects,effect:{type:"transform",transform:$}})}default($){let W=typeof $==="function"?$:()=>$;return new V$({...D(this._def),innerType:this,defaultValue:W,typeName:V.ZodDefault})}brand(){return new u$({typeName:V.ZodBranded,type:this,...D(this._def)})}catch($){let W=typeof $==="function"?$:()=>$;return new z$({...D(this._def),innerType:this,catchValue:W,typeName:V.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return C$.create(this,$)}readonly(){return U$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var J1=/^c[^\s-]{8,}$/i,X1=/^[0-9a-z]+$/,Q1=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Y1=/^[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,_1=/^[a-z0-9_-]{21}$/i,H1=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,B1=/^[-+]?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)?)??$/,M1=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,j1="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",s$,w1=/^(?:(?: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])$/,O1=/^(?:(?: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])$/,R1=/^(([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]))$/,S1=/^(([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])$/,E1=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,V1=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,z0="((\\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])))",z1=new RegExp(`^${z0}$`);function U0($){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 U1($){return new RegExp(`^${U0($)}$`)}function D0($){let W=`${z0}T${U0($)}`,q=[];if(q.push($.local?"Z?":"Z"),$.offset)q.push("([+-]\\d{2}:?\\d{2})");return W=`${W}(${q.join("|")})`,new RegExp(`^${W}$`)}function D1($,W){if((W==="v4"||!W)&&w1.test($))return!0;if((W==="v6"||!W)&&R1.test($))return!0;return!1}function N1($,W){if(!H1.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 L1($,W){if((W==="v4"||!W)&&O1.test($))return!0;if((W==="v6"||!W)&&S1.test($))return!0;return!1}class g extends N{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==M.string){let G=this._getOrReturnCtx($);return j(G,{code:H.invalid_type,expected:M.string,received:G.parsedType}),E}let q=new k,J=void 0;for(let G of this._def.checks)if(G.kind==="min"){if($.data.length<G.value)J=this._getOrReturnCtx($,J),j(J,{code:H.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),j(J,{code:H.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)j(J,{code:H.too_big,maximum:G.value,type:"string",inclusive:!0,exact:!0,message:G.message});else if(Q)j(J,{code:H.too_small,minimum:G.value,type:"string",inclusive:!0,exact:!0,message:G.message});q.dirty()}}else if(G.kind==="email"){if(!M1.test($.data))J=this._getOrReturnCtx($,J),j(J,{validation:"email",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="emoji"){if(!s$)s$=new RegExp(j1,"u");if(!s$.test($.data))J=this._getOrReturnCtx($,J),j(J,{validation:"emoji",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="uuid"){if(!Y1.test($.data))J=this._getOrReturnCtx($,J),j(J,{validation:"uuid",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="nanoid"){if(!_1.test($.data))J=this._getOrReturnCtx($,J),j(J,{validation:"nanoid",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="cuid"){if(!J1.test($.data))J=this._getOrReturnCtx($,J),j(J,{validation:"cuid",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="cuid2"){if(!X1.test($.data))J=this._getOrReturnCtx($,J),j(J,{validation:"cuid2",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="ulid"){if(!Q1.test($.data))J=this._getOrReturnCtx($,J),j(J,{validation:"ulid",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="url")try{new URL($.data)}catch{J=this._getOrReturnCtx($,J),j(J,{validation:"url",code:H.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),j(J,{validation:"regex",code:H.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),j(J,{code:H.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),j(J,{code:H.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),j(J,{code:H.invalid_string,validation:{endsWith:G.value},message:G.message}),q.dirty()}else if(G.kind==="datetime"){if(!D0(G).test($.data))J=this._getOrReturnCtx($,J),j(J,{code:H.invalid_string,validation:"datetime",message:G.message}),q.dirty()}else if(G.kind==="date"){if(!z1.test($.data))J=this._getOrReturnCtx($,J),j(J,{code:H.invalid_string,validation:"date",message:G.message}),q.dirty()}else if(G.kind==="time"){if(!U1(G).test($.data))J=this._getOrReturnCtx($,J),j(J,{code:H.invalid_string,validation:"time",message:G.message}),q.dirty()}else if(G.kind==="duration"){if(!B1.test($.data))J=this._getOrReturnCtx($,J),j(J,{validation:"duration",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="ip"){if(!D1($.data,G.version))J=this._getOrReturnCtx($,J),j(J,{validation:"ip",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="jwt"){if(!N1($.data,G.alg))J=this._getOrReturnCtx($,J),j(J,{validation:"jwt",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="cidr"){if(!L1($.data,G.version))J=this._getOrReturnCtx($,J),j(J,{validation:"cidr",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="base64"){if(!E1.test($.data))J=this._getOrReturnCtx($,J),j(J,{validation:"base64",code:H.invalid_string,message:G.message}),q.dirty()}else if(G.kind==="base64url"){if(!V1.test($.data))J=this._getOrReturnCtx($,J),j(J,{validation:"base64url",code:H.invalid_string,message:G.message}),q.dirty()}else K.assertNever(G);return{status:q.value,value:$.data}}_regex($,W,q){return this.refinement((J)=>$.test(J),{validation:W,code:H.invalid_string,...R.errToObj(q)})}_addCheck($){return new g({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...R.errToObj($)})}url($){return this._addCheck({kind:"url",...R.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...R.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...R.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...R.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...R.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...R.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...R.errToObj($)})}base64($){return this._addCheck({kind:"base64",...R.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...R.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...R.errToObj($)})}ip($){return this._addCheck({kind:"ip",...R.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...R.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,...R.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,...R.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...R.errToObj($)})}regex($,W){return this._addCheck({kind:"regex",regex:$,...R.errToObj(W)})}includes($,W){return this._addCheck({kind:"includes",value:$,position:W?.position,...R.errToObj(W?.message)})}startsWith($,W){return this._addCheck({kind:"startsWith",value:$,...R.errToObj(W)})}endsWith($,W){return this._addCheck({kind:"endsWith",value:$,...R.errToObj(W)})}min($,W){return this._addCheck({kind:"min",value:$,...R.errToObj(W)})}max($,W){return this._addCheck({kind:"max",value:$,...R.errToObj(W)})}length($,W){return this._addCheck({kind:"length",value:$,...R.errToObj(W)})}nonempty($){return this.min(1,R.errToObj($))}trim(){return new g({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new g({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new g({...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 $}}g.create=($)=>{return new g({checks:[],typeName:V.ZodString,coerce:$?.coerce??!1,...D($)})};function K1($,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 t extends N{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 j(G,{code:H.invalid_type,expected:M.number,received:G.parsedType}),E}let q=void 0,J=new k;for(let G of this._def.checks)if(G.kind==="int"){if(!K.isInteger($.data))q=this._getOrReturnCtx($,q),j(q,{code:H.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),j(q,{code:H.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),j(q,{code:H.too_big,maximum:G.value,type:"number",inclusive:G.inclusive,exact:!1,message:G.message}),J.dirty()}else if(G.kind==="multipleOf"){if(K1($.data,G.value)!==0)q=this._getOrReturnCtx($,q),j(q,{code:H.not_multiple_of,multipleOf:G.value,message:G.message}),J.dirty()}else if(G.kind==="finite"){if(!Number.isFinite($.data))q=this._getOrReturnCtx($,q),j(q,{code:H.not_finite,message:G.message}),J.dirty()}else K.assertNever(G);return{status:J.value,value:$.data}}gte($,W){return this.setLimit("min",$,!0,R.toString(W))}gt($,W){return this.setLimit("min",$,!1,R.toString(W))}lte($,W){return this.setLimit("max",$,!0,R.toString(W))}lt($,W){return this.setLimit("max",$,!1,R.toString(W))}setLimit($,W,q,J){return new t({...this._def,checks:[...this._def.checks,{kind:$,value:W,inclusive:q,message:R.toString(J)}]})}_addCheck($){return new t({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:R.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:R.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:R.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:R.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:R.toString($)})}multipleOf($,W){return this._addCheck({kind:"multipleOf",value:$,message:R.toString(W)})}finite($){return this._addCheck({kind:"finite",message:R.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:R.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:R.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"&&K.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($)}}t.create=($)=>{return new t({checks:[],typeName:V.ZodNumber,coerce:$?.coerce||!1,...D($)})};class s extends N{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 k;for(let G of this._def.checks)if(G.kind==="min"){if(G.inclusive?$.data<G.value:$.data<=G.value)q=this._getOrReturnCtx($,q),j(q,{code:H.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),j(q,{code:H.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),j(q,{code:H.not_multiple_of,multipleOf:G.value,message:G.message}),J.dirty()}else K.assertNever(G);return{status:J.value,value:$.data}}_getInvalidInput($){let W=this._getOrReturnCtx($);return j(W,{code:H.invalid_type,expected:M.bigint,received:W.parsedType}),E}gte($,W){return this.setLimit("min",$,!0,R.toString(W))}gt($,W){return this.setLimit("min",$,!1,R.toString(W))}lte($,W){return this.setLimit("max",$,!0,R.toString(W))}lt($,W){return this.setLimit("max",$,!1,R.toString(W))}setLimit($,W,q,J){return new s({...this._def,checks:[...this._def.checks,{kind:$,value:W,inclusive:q,message:R.toString(J)}]})}_addCheck($){return new s({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:R.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:R.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:R.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:R.toString($)})}multipleOf($,W){return this._addCheck({kind:"multipleOf",value:$,message:R.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 $}}s.create=($)=>{return new s({checks:[],typeName:V.ZodBigInt,coerce:$?.coerce??!1,...D($)})};class B$ extends N{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==M.boolean){let q=this._getOrReturnCtx($);return j(q,{code:H.invalid_type,expected:M.boolean,received:q.parsedType}),E}return P($.data)}}B$.create=($)=>{return new B$({typeName:V.ZodBoolean,coerce:$?.coerce||!1,...D($)})};class W$ extends N{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==M.date){let G=this._getOrReturnCtx($);return j(G,{code:H.invalid_type,expected:M.date,received:G.parsedType}),E}if(Number.isNaN($.data.getTime())){let G=this._getOrReturnCtx($);return j(G,{code:H.invalid_date}),E}let q=new k,J=void 0;for(let G of this._def.checks)if(G.kind==="min"){if($.data.getTime()<G.value)J=this._getOrReturnCtx($,J),j(J,{code:H.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),j(J,{code:H.too_big,message:G.message,inclusive:!0,exact:!1,maximum:G.value,type:"date"}),q.dirty()}else K.assertNever(G);return{status:q.value,value:new Date($.data.getTime())}}_addCheck($){return new W$({...this._def,checks:[...this._def.checks,$]})}min($,W){return this._addCheck({kind:"min",value:$.getTime(),message:R.toString(W)})}max($,W){return this._addCheck({kind:"max",value:$.getTime(),message:R.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}}W$.create=($)=>{return new W$({checks:[],coerce:$?.coerce||!1,typeName:V.ZodDate,...D($)})};class f$ extends N{_parse($){if(this._getType($)!==M.symbol){let q=this._getOrReturnCtx($);return j(q,{code:H.invalid_type,expected:M.symbol,received:q.parsedType}),E}return P($.data)}}f$.create=($)=>{return new f$({typeName:V.ZodSymbol,...D($)})};class M$ extends N{_parse($){if(this._getType($)!==M.undefined){let q=this._getOrReturnCtx($);return j(q,{code:H.invalid_type,expected:M.undefined,received:q.parsedType}),E}return P($.data)}}M$.create=($)=>{return new M$({typeName:V.ZodUndefined,...D($)})};class j$ extends N{_parse($){if(this._getType($)!==M.null){let q=this._getOrReturnCtx($);return j(q,{code:H.invalid_type,expected:M.null,received:q.parsedType}),E}return P($.data)}}j$.create=($)=>{return new j$({typeName:V.ZodNull,...D($)})};class q$ extends N{constructor(){super(...arguments);this._any=!0}_parse($){return P($.data)}}q$.create=($)=>{return new q$({typeName:V.ZodAny,...D($)})};class a extends N{constructor(){super(...arguments);this._unknown=!0}_parse($){return P($.data)}}a.create=($)=>{return new a({typeName:V.ZodUnknown,...D($)})};class u extends N{_parse($){let W=this._getOrReturnCtx($);return j(W,{code:H.invalid_type,expected:M.never,received:W.parsedType}),E}}u.create=($)=>{return new u({typeName:V.ZodNever,...D($)})};class b$ extends N{_parse($){if(this._getType($)!==M.undefined){let q=this._getOrReturnCtx($);return j(q,{code:H.invalid_type,expected:M.void,received:q.parsedType}),E}return P($.data)}}b$.create=($)=>{return new b$({typeName:V.ZodVoid,...D($)})};class y extends N{_parse($){let{ctx:W,status:q}=this._processInputParams($),J=this._def;if(W.parsedType!==M.array)return j(W,{code:H.invalid_type,expected:M.array,received:W.parsedType}),E;if(J.exactLength!==null){let X=W.data.length>J.exactLength.value,Q=W.data.length<J.exactLength.value;if(X||Q)j(W,{code:X?H.too_big:H.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)j(W,{code:H.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)j(W,{code:H.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 l(W,X,W.path,Q))})).then((X)=>{return k.mergeArray(q,X)});let G=[...W.data].map((X,Q)=>{return J.type._parseSync(new l(W,X,W.path,Q))});return k.mergeArray(q,G)}get element(){return this._def.type}min($,W){return new y({...this._def,minLength:{value:$,message:R.toString(W)}})}max($,W){return new y({...this._def,maxLength:{value:$,message:R.toString(W)}})}length($,W){return new y({...this._def,exactLength:{value:$,message:R.toString(W)}})}nonempty($){return this.min(1,$)}}y.create=($,W)=>{return new y({type:$,minLength:null,maxLength:null,exactLength:null,typeName:V.ZodArray,...D(W)})};function _$($){if($ instanceof b){let W={};for(let q in $.shape){let J=$.shape[q];W[q]=Z.create(_$(J))}return new b({...$._def,shape:()=>W})}else if($ instanceof y)return new y({...$._def,type:_$($.element)});else if($ instanceof Z)return Z.create(_$($.unwrap()));else if($ instanceof d)return d.create(_$($.unwrap()));else if($ instanceof p)return p.create($.items.map((W)=>_$(W)));else return $}class b extends N{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=K.objectKeys($);return this._cached={shape:$,keys:W},this._cached}_parse($){if(this._getType($)!==M.object){let _=this._getOrReturnCtx($);return j(_,{code:H.invalid_type,expected:M.object,received:_.parsedType}),E}let{status:q,ctx:J}=this._processInputParams($),{shape:G,keys:X}=this._getCached(),Q=[];if(!(this._def.catchall instanceof u&&this._def.unknownKeys==="strip")){for(let _ in J.data)if(!X.includes(_))Q.push(_)}let Y=[];for(let _ of X){let B=G[_],S=J.data[_];Y.push({key:{status:"valid",value:_},value:B._parse(new l(J,S,J.path,_)),alwaysSet:_ in J.data})}if(this._def.catchall instanceof u){let _=this._def.unknownKeys;if(_==="passthrough")for(let B of Q)Y.push({key:{status:"valid",value:B},value:{status:"valid",value:J.data[B]}});else if(_==="strict"){if(Q.length>0)j(J,{code:H.unrecognized_keys,keys:Q}),q.dirty()}else if(_==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let _=this._def.catchall;for(let B of Q){let S=J.data[B];Y.push({key:{status:"valid",value:B},value:_._parse(new l(J,S,J.path,B)),alwaysSet:B in J.data})}}if(J.common.async)return Promise.resolve().then(async()=>{let _=[];for(let B of Y){let S=await B.key,C=await B.value;_.push({key:S,value:C,alwaysSet:B.alwaysSet})}return _}).then((_)=>{return k.mergeObjectSync(q,_)});else return k.mergeObjectSync(q,Y)}get shape(){return this._def.shape()}strict($){return R.errToObj,new b({...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:R.errToObj($).message??J};return{message:J}}}:{}})}strip(){return new b({...this._def,unknownKeys:"strip"})}passthrough(){return new b({...this._def,unknownKeys:"passthrough"})}extend($){return new b({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new b({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:V.ZodObject})}setKey($,W){return this.augment({[$]:W})}catchall($){return new b({...this._def,catchall:$})}pick($){let W={};for(let q of K.objectKeys($))if($[q]&&this.shape[q])W[q]=this.shape[q];return new b({...this._def,shape:()=>W})}omit($){let W={};for(let q of K.objectKeys(this.shape))if(!$[q])W[q]=this.shape[q];return new b({...this._def,shape:()=>W})}deepPartial(){return _$(this)}partial($){let W={};for(let q of K.objectKeys(this.shape)){let J=this.shape[q];if($&&!$[q])W[q]=J;else W[q]=J.optional()}return new b({...this._def,shape:()=>W})}required($){let W={};for(let q of K.objectKeys(this.shape))if($&&!$[q])W[q]=this.shape[q];else{let G=this.shape[q];while(G instanceof Z)G=G._def.innerType;W[q]=G}return new b({...this._def,shape:()=>W})}keyof(){return N0(K.objectKeys(this.shape))}}b.create=($,W)=>{return new b({shape:()=>$,unknownKeys:"strip",catchall:u.create(),typeName:V.ZodObject,...D(W)})};b.strictCreate=($,W)=>{return new b({shape:()=>$,unknownKeys:"strict",catchall:u.create(),typeName:V.ZodObject,...D(W)})};b.lazycreate=($,W)=>{return new b({shape:$,unknownKeys:"strip",catchall:u.create(),typeName:V.ZodObject,...D(W)})};class w$ extends N{_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 j(W,{code:H.invalid_union,unionErrors:X}),E}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 Y of q){let _={...W,common:{...W.common,issues:[]},parent:null},B=Y._parseSync({data:W.data,path:W.path,parent:_});if(B.status==="valid")return B;else if(B.status==="dirty"&&!G)G={result:B,ctx:_};if(_.common.issues.length)X.push(_.common.issues)}if(G)return W.common.issues.push(...G.ctx.common.issues),G.result;let Q=X.map((Y)=>new h(Y));return j(W,{code:H.invalid_union,unionErrors:Q}),E}}get options(){return this._def.options}}w$.create=($,W)=>{return new w$({options:$,typeName:V.ZodUnion,...D(W)})};var o=($)=>{if($ instanceof R$)return o($.schema);else if($ instanceof m)return o($.innerType());else if($ instanceof S$)return[$.value];else if($ instanceof e)return $.options;else if($ instanceof E$)return K.objectValues($.enum);else if($ instanceof V$)return o($._def.innerType);else if($ instanceof M$)return[void 0];else if($ instanceof j$)return[null];else if($ instanceof Z)return[void 0,...o($.unwrap())];else if($ instanceof d)return[null,...o($.unwrap())];else if($ instanceof u$)return o($.unwrap());else if($ instanceof U$)return o($.unwrap());else if($ instanceof z$)return o($._def.innerType);else return[]};class c$ extends N{_parse($){let{ctx:W}=this._processInputParams($);if(W.parsedType!==M.object)return j(W,{code:H.invalid_type,expected:M.object,received:W.parsedType}),E;let q=this.discriminator,J=W.data[q],G=this.optionsMap.get(J);if(!G)return j(W,{code:H.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[q]}),E;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=o(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 c$({typeName:V.ZodDiscriminatedUnion,discriminator:$,options:W,optionsMap:J,...D(q)})}}function e$($,W){let q=c($),J=c(W);if($===W)return{valid:!0,data:$};else if(q===M.object&&J===M.object){let G=K.objectKeys(W),X=K.objectKeys($).filter((Y)=>G.indexOf(Y)!==-1),Q={...$,...W};for(let Y of X){let _=e$($[Y],W[Y]);if(!_.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],Y=W[X],_=e$(Q,Y);if(!_.valid)return{valid:!1};G.push(_.data)}return{valid:!0,data:G}}else if(q===M.date&&J===M.date&&+$===+W)return{valid:!0,data:$};else return{valid:!1}}class O$ extends N{_parse($){let{status:W,ctx:q}=this._processInputParams($),J=(G,X)=>{if(l$(G)||l$(X))return E;let Q=e$(G.value,X.value);if(!Q.valid)return j(q,{code:H.invalid_intersection_types}),E;if(m$(G)||m$(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}))}}O$.create=($,W,q)=>{return new O$({left:$,right:W,typeName:V.ZodIntersection,...D(q)})};class p extends N{_parse($){let{status:W,ctx:q}=this._processInputParams($);if(q.parsedType!==M.array)return j(q,{code:H.invalid_type,expected:M.array,received:q.parsedType}),E;if(q.data.length<this._def.items.length)return j(q,{code:H.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),E;if(!this._def.rest&&q.data.length>this._def.items.length)j(q,{code:H.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),W.dirty();let G=[...q.data].map((X,Q)=>{let Y=this._def.items[Q]||this._def.rest;if(!Y)return null;return Y._parse(new l(q,X,q.path,Q))}).filter((X)=>!!X);if(q.common.async)return Promise.all(G).then((X)=>{return k.mergeArray(W,X)});else return k.mergeArray(W,G)}get items(){return this._def.items}rest($){return new p({...this._def,rest:$})}}p.create=($,W)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new p({items:$,typeName:V.ZodTuple,rest:null,...D(W)})};class A$ extends N{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 j(q,{code:H.invalid_type,expected:M.object,received:q.parsedType}),E;let J=[],G=this._def.keyType,X=this._def.valueType;for(let Q in q.data)J.push({key:G._parse(new l(q,Q,q.path,Q)),value:X._parse(new l(q,q.data[Q],q.path,Q)),alwaysSet:Q in q.data});if(q.common.async)return k.mergeObjectAsync(W,J);else return k.mergeObjectSync(W,J)}get element(){return this._def.valueType}static create($,W,q){if(W instanceof N)return new A$({keyType:$,valueType:W,typeName:V.ZodRecord,...D(q)});return new A$({keyType:g.create(),valueType:$,typeName:V.ZodRecord,...D(W)})}}class v$ extends N{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 j(q,{code:H.invalid_type,expected:M.map,received:q.parsedType}),E;let J=this._def.keyType,G=this._def.valueType,X=[...q.data.entries()].map(([Q,Y],_)=>{return{key:J._parse(new l(q,Q,q.path,[_,"key"])),value:G._parse(new l(q,Y,q.path,[_,"value"]))}});if(q.common.async){let Q=new Map;return Promise.resolve().then(async()=>{for(let Y of X){let _=await Y.key,B=await Y.value;if(_.status==="aborted"||B.status==="aborted")return E;if(_.status==="dirty"||B.status==="dirty")W.dirty();Q.set(_.value,B.value)}return{status:W.value,value:Q}})}else{let Q=new Map;for(let Y of X){let{key:_,value:B}=Y;if(_.status==="aborted"||B.status==="aborted")return E;if(_.status==="dirty"||B.status==="dirty")W.dirty();Q.set(_.value,B.value)}return{status:W.value,value:Q}}}}v$.create=($,W,q)=>{return new v$({valueType:W,keyType:$,typeName:V.ZodMap,...D(q)})};class G$ extends N{_parse($){let{status:W,ctx:q}=this._processInputParams($);if(q.parsedType!==M.set)return j(q,{code:H.invalid_type,expected:M.set,received:q.parsedType}),E;let J=this._def;if(J.minSize!==null){if(q.data.size<J.minSize.value)j(q,{code:H.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)j(q,{code:H.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(Y){let _=new Set;for(let B of Y){if(B.status==="aborted")return E;if(B.status==="dirty")W.dirty();_.add(B.value)}return{status:W.value,value:_}}let Q=[...q.data.values()].map((Y,_)=>G._parse(new l(q,Y,q.path,_)));if(q.common.async)return Promise.all(Q).then((Y)=>X(Y));else return X(Q)}min($,W){return new G$({...this._def,minSize:{value:$,message:R.toString(W)}})}max($,W){return new G$({...this._def,maxSize:{value:$,message:R.toString(W)}})}size($,W){return this.min($,W).max($,W)}nonempty($){return this.min(1,$)}}G$.create=($,W)=>{return new G$({valueType:$,minSize:null,maxSize:null,typeName:V.ZodSet,...D(W)})};class H$ extends N{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:W}=this._processInputParams($);if(W.parsedType!==M.function)return j(W,{code:H.invalid_type,expected:M.function,received:W.parsedType}),E;function q(Q,Y){return F$({data:Q,path:W.path,errorMaps:[W.common.contextualErrorMap,W.schemaErrorMap,Q$(),i].filter((_)=>!!_),issueData:{code:H.invalid_arguments,argumentsError:Y}})}function J(Q,Y){return F$({data:Q,path:W.path,errorMaps:[W.common.contextualErrorMap,W.schemaErrorMap,Q$(),i].filter((_)=>!!_),issueData:{code:H.invalid_return_type,returnTypeError:Y}})}let G={errorMap:W.common.contextualErrorMap},X=W.data;if(this._def.returns instanceof J$){let Q=this;return P(async function(...Y){let _=new h([]),B=await Q._def.args.parseAsync(Y,G).catch((f)=>{throw _.addIssue(q(Y,f)),_}),S=await Reflect.apply(X,this,B);return await Q._def.returns._def.type.parseAsync(S,G).catch((f)=>{throw _.addIssue(J(S,f)),_})})}else{let Q=this;return P(function(...Y){let _=Q._def.args.safeParse(Y,G);if(!_.success)throw new h([q(Y,_.error)]);let B=Reflect.apply(X,this,_.data),S=Q._def.returns.safeParse(B,G);if(!S.success)throw new h([J(B,S.error)]);return S.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new H$({...this._def,args:p.create($).rest(a.create())})}returns($){return new H$({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,W,q){return new H$({args:$?$:p.create([]).rest(a.create()),returns:W||a.create(),typeName:V.ZodFunction,...D(q)})}}class R$ extends N{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})}}R$.create=($,W)=>{return new R$({getter:$,typeName:V.ZodLazy,...D(W)})};class S$ extends N{_parse($){if($.data!==this._def.value){let W=this._getOrReturnCtx($);return j(W,{received:W.data,code:H.invalid_literal,expected:this._def.value}),E}return{status:"valid",value:$.data}}get value(){return this._def.value}}S$.create=($,W)=>{return new S$({value:$,typeName:V.ZodLiteral,...D(W)})};function N0($,W){return new e({values:$,typeName:V.ZodEnum,...D(W)})}class e extends N{_parse($){if(typeof $.data!=="string"){let W=this._getOrReturnCtx($),q=this._def.values;return j(W,{expected:K.joinValues(q),received:W.parsedType,code:H.invalid_type}),E}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let W=this._getOrReturnCtx($),q=this._def.values;return j(W,{received:W.data,code:H.invalid_enum_value,options:q}),E}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 e.create($,{...this._def,...W})}exclude($,W=this._def){return e.create(this.options.filter((q)=>!$.includes(q)),{...this._def,...W})}}e.create=N0;class E$ extends N{_parse($){let W=K.getValidEnumValues(this._def.values),q=this._getOrReturnCtx($);if(q.parsedType!==M.string&&q.parsedType!==M.number){let J=K.objectValues(W);return j(q,{expected:K.joinValues(J),received:q.parsedType,code:H.invalid_type}),E}if(!this._cache)this._cache=new Set(K.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let J=K.objectValues(W);return j(q,{received:q.data,code:H.invalid_enum_value,options:J}),E}return P($.data)}get enum(){return this._def.values}}E$.create=($,W)=>{return new E$({values:$,typeName:V.ZodNativeEnum,...D(W)})};class J$ extends N{unwrap(){return this._def.type}_parse($){let{ctx:W}=this._processInputParams($);if(W.parsedType!==M.promise&&W.common.async===!1)return j(W,{code:H.invalid_type,expected:M.promise,received:W.parsedType}),E;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})}))}}J$.create=($,W)=>{return new J$({type:$,typeName:V.ZodPromise,...D(W)})};class m extends N{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===V.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(j(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 E;let Y=await this._def.schema._parseAsync({data:Q,path:q.path,parent:q});if(Y.status==="aborted")return E;if(Y.status==="dirty")return $$(Y.value);if(W.value==="dirty")return $$(Y.value);return Y});else{if(W.value==="aborted")return E;let Q=this._def.schema._parseSync({data:X,path:q.path,parent:q});if(Q.status==="aborted")return E;if(Q.status==="dirty")return $$(Q.value);if(W.value==="dirty")return $$(Q.value);return Q}}if(J.type==="refinement"){let X=(Q)=>{let Y=J.refinement(Q,G);if(q.common.async)return Promise.resolve(Y);if(Y 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 E;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 E;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(!r(X))return E;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(!r(X))return E;return Promise.resolve(J.transform(X.value,G)).then((Q)=>({status:W.value,value:Q}))});K.assertNever(J)}}m.create=($,W,q)=>{return new m({schema:$,typeName:V.ZodEffects,effect:W,...D(q)})};m.createWithPreprocess=($,W,q)=>{return new m({schema:W,effect:{type:"preprocess",transform:$},typeName:V.ZodEffects,...D(q)})};class Z extends N{_parse($){if(this._getType($)===M.undefined)return P(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}Z.create=($,W)=>{return new Z({innerType:$,typeName:V.ZodOptional,...D(W)})};class d extends N{_parse($){if(this._getType($)===M.null)return P(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}d.create=($,W)=>{return new d({innerType:$,typeName:V.ZodNullable,...D(W)})};class V$ extends N{_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}}V$.create=($,W)=>{return new V$({innerType:$,typeName:V.ZodDefault,defaultValue:typeof W.default==="function"?W.default:()=>W.default,...D(W)})};class z$ extends N{_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}}z$.create=($,W)=>{return new z$({innerType:$,typeName:V.ZodCatch,catchValue:typeof W.catch==="function"?W.catch:()=>W.catch,...D(W)})};class k$ extends N{_parse($){if(this._getType($)!==M.nan){let q=this._getOrReturnCtx($);return j(q,{code:H.invalid_type,expected:M.nan,received:q.parsedType}),E}return{status:"valid",value:$.data}}}k$.create=($)=>{return new k$({typeName:V.ZodNaN,...D($)})};var F1=Symbol("zod_brand");class u$ extends N{_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 C$ extends N{_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 E;if(G.status==="dirty")return W.dirty(),$$(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 E;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 C$({in:$,out:W,typeName:V.ZodPipeline})}}class U$ extends N{_parse($){let W=this._def.innerType._parse($),q=(J)=>{if(r(J))J.value=Object.freeze(J.value);return J};return Y$(W)?W.then((J)=>q(J)):q(W)}unwrap(){return this._def.innerType}}U$.create=($,W)=>{return new U$({innerType:$,typeName:V.ZodReadonly,...D(W)})};function V0($,W){let q=typeof $==="function"?$(W):typeof $==="string"?{message:$}:$;return typeof q==="string"?{message:q}:q}function L0($,W={},q){if($)return q$.create().superRefine((J,G)=>{let X=$(J);if(X instanceof Promise)return X.then((Q)=>{if(!Q){let Y=V0(W,J),_=Y.fatal??q??!0;G.addIssue({code:"custom",...Y,fatal:_})}});if(!X){let Q=V0(W,J),Y=Q.fatal??q??!0;G.addIssue({code:"custom",...Q,fatal:Y})}return});return q$.create()}var f1={object:b.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 b1=($,W={message:`Input not instance of ${$.name}`})=>L0((q)=>q instanceof $,W),K0=g.create,F0=t.create,A1=k$.create,v1=s.create,f0=B$.create,k1=W$.create,C1=f$.create,I1=M$.create,P1=j$.create,h1=q$.create,T1=a.create,x1=u.create,g1=b$.create,y1=y.create,Z1=b.create,l1=b.strictCreate,m1=w$.create,c1=c$.create,u1=O$.create,p1=p.create,n1=A$.create,i1=v$.create,o1=G$.create,d1=H$.create,r1=R$.create,a1=S$.create,t1=e.create,s1=E$.create,e1=J$.create,$W=m.create,WW=Z.create,qW=d.create,GW=m.createWithPreprocess,JW=C$.create,XW=()=>K0().optional(),QW=()=>F0().optional(),YW=()=>f0().optional(),_W={string:($)=>g.create({...$,coerce:!0}),number:($)=>t.create({...$,coerce:!0}),boolean:($)=>B$.create({...$,coerce:!0}),bigint:($)=>s.create({...$,coerce:!0}),date:($)=>W$.create({...$,coerce:!0})};var HW=E;var BW=w.discriminatedUnion("type",[w.object({type:w.literal("register_new"),maxConcurrent:w.number().int().positive(),name:w.string().optional()}),w.object({type:w.literal("register_resume"),workerId:w.string(),secret:w.string(),maxConcurrent:w.number().int().positive(),name:w.string().optional()}),w.object({type:w.literal("stats"),loadedModel:w.string().nullable(),jobsCompleted:w.number(),uptimeMs:w.number()}),w.object({type:w.literal("model_ready"),jobId:w.string(),model:w.string()}),w.object({type:w.literal("delta"),jobId:w.string(),content:w.string().optional(),toolCalls:w.array(w.object({index:w.number().int().nonnegative(),id:w.string().optional(),name:w.string().optional(),arguments:w.string().optional()})).optional()}),w.object({type:w.literal("embedding"),jobId:w.string(),vector:w.array(w.number())}),w.object({type:w.literal("done"),jobId:w.string(),finishReason:w.enum(["stop","length","tool_calls"]),usage:w.object({promptTokens:w.number().int().nonnegative(),completionTokens:w.number().int().nonnegative()}).optional()}),w.object({type:w.literal("error"),jobId:w.string(),message:w.string()}),w.object({type:w.literal("models"),models:w.array(w.string())}),w.object({type:w.literal("pong")})]),$0=w.discriminatedUnion("type",[w.object({type:w.literal("registered"),workerId:w.string(),secret:w.string().optional()}),w.object({type:w.literal("infer"),jobId:w.string(),task:w.enum(["chat","embedding"]),model:w.string(),input:w.unknown(),options:w.object({maxTokens:w.number().optional(),temperature:w.number().optional(),tools:w.array(w.unknown()).optional(),toolChoice:w.unknown().optional()}).optional()}),w.object({type:w.literal("ping")})]);function W0($,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 MW=K$({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);jW({serverUrl:$.server,token:W,backend:$.backend,maxConcurrent:q,name:$.name})}}),b0=K$({meta:{name:"worker",description:"Run a Shoal inference worker"},subCommands:{start:MW}});function jW($){let{serverUrl:W,token:q,backend:J,maxConcurrent:G,name:X}=$,Q=`${W}${W.includes("?")?"&":"?"}token=${encodeURIComponent(q)}`;M0(J),console.log(`[worker] using backend at ${J}`);let Y=Date.now(),_=0,B=null,S=1000;setInterval(()=>{if(B?.readyState===WebSocket.OPEN)B.send(JSON.stringify({type:"stats",loadedModel:w0(),jobsCompleted:_,uptimeMs:Date.now()-Y}))},5000);async function C(){try{let z=await j0();if(B?.readyState===WebSocket.OPEN)B.send(JSON.stringify({type:"models",models:z}))}catch(z){console.error("[worker] failed to fetch models from backend:",z.message)}}setInterval(C,30000);let f=H0(W);if(f)console.log(`[worker] loaded identity ${f.workerId} from ${y$(W)}`);else console.log(`[worker] no stored identity, will register as new at ${y$(W)}`);function L(){console.log(`[worker] connecting to ${W}`),B=new WebSocket(Q),B.onopen=()=>{if(console.log("[worker] connected, registering"),S=1000,f)B.send(JSON.stringify({type:"register_resume",workerId:f.workerId,secret:f.secret,maxConcurrent:G,...X!==void 0?{name:X}:{}}));else B.send(JSON.stringify({type:"register_new",maxConcurrent:G,...X!==void 0?{name:X}:{}}))},B.onmessage=(z)=>{let O=W0($0,z.data);if(!O)return;if(O.type==="registered"){if(O.secret)f={workerId:O.workerId,secret:O.secret},B0(W,f),console.log(`[worker] registered (new) as ${O.workerId}, identity saved`);else console.log(`[worker] registered (resumed) as ${O.workerId}`);C();return}if(O.type==="ping"){B.send(JSON.stringify({type:"pong"}));return}if(O.type==="infer")A(O)},B.onclose=(z)=>{let O=z.reason?`${z.code} ${z.reason}`:`${z.code}`;if(z.code===1008)console.error(`[worker] credentials rejected by server (${O}). If you've reset the server's database, delete ${y$(W)} and restart to re-register as a new worker.`),process.exit(1);console.log(`[worker] disconnected (${O}), reconnecting in ${S}ms`),setTimeout(L,S),S=Math.min(S*2,30000)},B.onerror=(z)=>{console.error("[worker] socket error:",z)}}async function A(z){let{jobId:O,task:U,model:F,input:v,options:T}=z;try{if(B?.send(JSON.stringify({type:"model_ready",jobId:O,model:F})),U==="chat"){let X$=v;for await(let D$ of O0(F,X$,T))if("done"in D$)_++,B?.send(JSON.stringify({type:"done",jobId:O,finishReason:D$.finishReason,usage:D$.usage}));else B?.send(JSON.stringify({type:"delta",jobId:O,content:D$.content,toolCalls:D$.toolCalls}))}else if(U==="embedding"){let X$=await R0(F,v);B?.send(JSON.stringify({type:"embedding",jobId:O,vector:X$[0]})),_++,B?.send(JSON.stringify({type:"done",jobId:O,finishReason:"stop"}))}}catch(X$){console.error(`[worker] inference error for job ${O}:`,X$),B?.send(JSON.stringify({type:"error",jobId:O,message:X$.message??"inference failed"}))}}L()}var wW=K$({meta:{name:"shoal",description:"Shoal CLI"},subCommands:{worker:b0}});_0(wW);
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);