@shoal.sh/cli 0.0.1

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