diff --git a/apps/web/client/public/onlook-preload-script.js b/apps/web/client/public/onlook-preload-script.js index e8476c1496..744d0ac22a 100644 --- a/apps/web/client/public/onlook-preload-script.js +++ b/apps/web/client/public/onlook-preload-script.js @@ -39,4 +39,4 @@ var I4=Object.create;var{getPrototypeOf:k4,defineProperty:Ue,getOwnPropertyNames `)}b.write("payload.value = newResult;"),b.write("return payload;");let J=b.compile();return(L,X)=>J(h,L,X)},e,l=Xt,u=!yn.jitless,c=u&&Hu.value,m=t.catchall,v;r._zod.parse=(h,b)=>{v??(v=o.value);let f=h.value;if(!l(f))return h.issues.push({expected:"object",code:"invalid_type",input:f,inst:r}),h;if(u&&c&&b?.async===!1&&b.jitless!==!0){if(!e)e=n(t.shape);if(h=e(h,b),!m)return h;return Dw([],f,h,b,v,r)}return i(h,b)}});function mw(r,t,i,o){for(let e of r)if(e.issues.length===0)return t.value=e.value,t;let n=r.filter((e)=>!pt(e));if(n.length===1)return t.value=n[0].value,n[0];return t.issues.push({code:"invalid_union",input:t.value,inst:i,errors:r.map((e)=>e.issues.map((l)=>Wr(l,o,br())))}),t}var So=$("$ZodUnion",(r,t)=>{V.init(r,t),F(r._zod,"optin",()=>t.options.some((n)=>n._zod.optin==="optional")?"optional":void 0),F(r._zod,"optout",()=>t.options.some((n)=>n._zod.optout==="optional")?"optional":void 0),F(r._zod,"values",()=>{if(t.options.every((n)=>n._zod.values))return new Set(t.options.flatMap((n)=>Array.from(n._zod.values)));return}),F(r._zod,"pattern",()=>{if(t.options.every((n)=>n._zod.pattern)){let n=t.options.map((e)=>e._zod.pattern);return new RegExp(`^(${n.map((e)=>Rn(e.source)).join("|")})$`)}return});let i=t.options.length===1,o=t.options[0]._zod.run;r._zod.parse=(n,e)=>{if(i)return o(n,e);let l=!1,u=[];for(let g of t.options){let c=g._zod.run({value:n.value,issues:[]},e);if(c instanceof Promise)u.push(c),l=!0;else{if(c.issues.length===0)return c;u.push(c)}}if(!l)return mw(u,n,r,e);return Promise.all(u).then((g)=>{return mw(g,n,r,e)})}}),Vm=$("$ZodDiscriminatedUnion",(r,t)=>{So.init(r,t);let i=r._zod.parse;F(r._zod,"propValues",()=>{let n={};for(let e of t.options){let l=e._zod.propValues;if(!l||Object.keys(l).length===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(e)}"`);for(let[u,g]of Object.entries(l)){if(!n[u])n[u]=new Set;for(let c of g)n[u].add(c)}}return n});let o=on(()=>{let n=t.options,e=new Map;for(let l of n){let u=l._zod.propValues?.[t.discriminator];if(!u||u.size===0)throw new Error(`Invalid discriminated union option at index "${t.options.indexOf(l)}"`);for(let g of u){if(e.has(g))throw new Error(`Duplicate discriminator value "${String(g)}"`);e.set(g,l)}}return e});r._zod.parse=(n,e)=>{let l=n.value;if(!Xt(l))return n.issues.push({code:"invalid_type",expected:"object",input:l,inst:r}),n;let u=o.value.get(l?.[t.discriminator]);if(u)return u._zod.run(n,e);if(t.unionFallback)return i(n,e);return n.issues.push({code:"invalid_union",errors:[],note:"No matching discriminator",discriminator:t.discriminator,input:l,path:[t.discriminator],inst:r}),n}}),Lm=$("$ZodIntersection",(r,t)=>{V.init(r,t),r._zod.parse=(i,o)=>{let n=i.value,e=t.left._zod.run({value:n,issues:[]},o),l=t.right._zod.run({value:n,issues:[]},o);if(e instanceof Promise||l instanceof Promise)return Promise.all([e,l]).then(([g,c])=>{return bw(i,g,c)});return bw(i,e,l)}});function Cg(r,t){if(r===t)return{valid:!0,data:r};if(r instanceof Date&&t instanceof Date&&+r===+t)return{valid:!0,data:r};if(at(r)&&at(t)){let i=Object.keys(t),o=Object.keys(r).filter((e)=>i.indexOf(e)!==-1),n={...r,...t};for(let e of o){let l=Cg(r[e],t[e]);if(!l.valid)return{valid:!1,mergeErrorPath:[e,...l.mergeErrorPath]};n[e]=l.data}return{valid:!0,data:n}}if(Array.isArray(r)&&Array.isArray(t)){if(r.length!==t.length)return{valid:!1,mergeErrorPath:[]};let i=[];for(let o=0;o{V.init(r,t);let i=t.items,o=i.length-[...i].reverse().findIndex((n)=>n._zod.optin!=="optional");r._zod.parse=(n,e)=>{let l=n.value;if(!Array.isArray(l))return n.issues.push({input:l,inst:r,expected:"tuple",code:"invalid_type"}),n;n.value=[];let u=[];if(!t.rest){let c=l.length>i.length,m=l.length=l.length){if(g>=o)continue}let m=c._zod.run({value:l[g],issues:[]},e);if(m instanceof Promise)u.push(m.then((v)=>Ko(v,n,g)));else Ko(m,n,g)}if(t.rest){let c=l.slice(i.length);for(let m of c){g++;let v=t.rest._zod.run({value:m,issues:[]},e);if(v instanceof Promise)u.push(v.then((h)=>Ko(h,n,g)));else Ko(v,n,g)}}if(u.length)return Promise.all(u).then(()=>n);return n}});function Ko(r,t,i){if(r.issues.length)t.issues.push(...qr(i,r.issues));t.value[i]=r.value}var Ym=$("$ZodRecord",(r,t)=>{V.init(r,t),r._zod.parse=(i,o)=>{let n=i.value;if(!at(n))return i.issues.push({expected:"record",code:"invalid_type",input:n,inst:r}),i;let e=[];if(t.keyType._zod.values){let l=t.keyType._zod.values;i.value={};for(let g of l)if(typeof g==="string"||typeof g==="number"||typeof g==="symbol"){let c=t.valueType._zod.run({value:n[g],issues:[]},o);if(c instanceof Promise)e.push(c.then((m)=>{if(m.issues.length)i.issues.push(...qr(g,m.issues));i.value[g]=m.value}));else{if(c.issues.length)i.issues.push(...qr(g,c.issues));i.value[g]=c.value}}let u;for(let g in n)if(!l.has(g))u=u??[],u.push(g);if(u&&u.length>0)i.issues.push({code:"unrecognized_keys",input:n,inst:r,keys:u})}else{i.value={};for(let l of Reflect.ownKeys(n)){if(l==="__proto__")continue;let u=t.keyType._zod.run({value:l,issues:[]},o);if(u instanceof Promise)throw new Error("Async schemas not supported in object keys currently");if(u.issues.length){i.issues.push({code:"invalid_key",origin:"record",issues:u.issues.map((c)=>Wr(c,o,br())),input:l,path:[l],inst:r}),i.value[u.value]=u.value;continue}let g=t.valueType._zod.run({value:n[l],issues:[]},o);if(g instanceof Promise)e.push(g.then((c)=>{if(c.issues.length)i.issues.push(...qr(l,c.issues));i.value[u.value]=c.value}));else{if(g.issues.length)i.issues.push(...qr(l,g.issues));i.value[u.value]=g.value}}}if(e.length)return Promise.all(e).then(()=>i);return i}}),Em=$("$ZodMap",(r,t)=>{V.init(r,t),r._zod.parse=(i,o)=>{let n=i.value;if(!(n instanceof Map))return i.issues.push({expected:"map",code:"invalid_type",input:n,inst:r}),i;let e=[];i.value=new Map;for(let[l,u]of n){let g=t.keyType._zod.run({value:l,issues:[]},o),c=t.valueType._zod.run({value:u,issues:[]},o);if(g instanceof Promise||c instanceof Promise)e.push(Promise.all([g,c]).then(([m,v])=>{vw(m,v,i,l,n,r,o)}));else vw(g,c,i,l,n,r,o)}if(e.length)return Promise.all(e).then(()=>i);return i}});function vw(r,t,i,o,n,e,l){if(r.issues.length)if(Mn.has(typeof o))i.issues.push(...qr(o,r.issues));else i.issues.push({code:"invalid_key",origin:"map",input:n,inst:e,issues:r.issues.map((u)=>Wr(u,l,br()))});if(t.issues.length)if(Mn.has(typeof o))i.issues.push(...qr(o,t.issues));else i.issues.push({origin:"map",code:"invalid_element",input:n,inst:e,key:o,issues:t.issues.map((u)=>Wr(u,l,br()))});i.value.set(r.value,t.value)}var Qm=$("$ZodSet",(r,t)=>{V.init(r,t),r._zod.parse=(i,o)=>{let n=i.value;if(!(n instanceof Set))return i.issues.push({input:n,inst:r,expected:"set",code:"invalid_type"}),i;let e=[];i.value=new Set;for(let l of n){let u=t.valueType._zod.run({value:l,issues:[]},o);if(u instanceof Promise)e.push(u.then((g)=>hw(g,i)));else hw(u,i)}if(e.length)return Promise.all(e).then(()=>i);return i}});function hw(r,t){if(r.issues.length)t.issues.push(...r.issues);t.value.add(r.value)}var Fm=$("$ZodEnum",(r,t)=>{V.init(r,t);let i=Hn(t.entries),o=new Set(i);r._zod.values=o,r._zod.pattern=new RegExp(`^(${i.filter((n)=>Mn.has(typeof n)).map((n)=>typeof n==="string"?Cr(n):n.toString()).join("|")})$`),r._zod.parse=(n,e)=>{let l=n.value;if(o.has(l))return n;return n.issues.push({code:"invalid_value",values:i,input:l,inst:r}),n}}),Sm=$("$ZodLiteral",(r,t)=>{if(V.init(r,t),t.values.length===0)throw new Error("Cannot create literal schema with no valid values");r._zod.values=new Set(t.values),r._zod.pattern=new RegExp(`^(${t.values.map((i)=>typeof i==="string"?Cr(i):i?Cr(i.toString()):String(i)).join("|")})$`),r._zod.parse=(i,o)=>{let n=i.value;if(r._zod.values.has(n))return i;return i.issues.push({code:"invalid_value",values:t.values,input:n,inst:r}),i}}),Nm=$("$ZodFile",(r,t)=>{V.init(r,t),r._zod.parse=(i,o)=>{let n=i.value;if(n instanceof File)return i;return i.issues.push({expected:"file",code:"invalid_type",input:n,inst:r}),i}}),Gm=$("$ZodTransform",(r,t)=>{V.init(r,t),r._zod.parse=(i,o)=>{if(o.direction==="backward")throw new Pt(r.constructor.name);let n=t.transform(i.value,i);if(o.async)return(n instanceof Promise?n:Promise.resolve(n)).then((l)=>{return i.value=l,i});if(n instanceof Promise)throw new Zr;return i.value=n,i}});function $w(r,t){if(r.issues.length&&t===void 0)return{issues:[],value:void 0};return r}var Bm=$("$ZodOptional",(r,t)=>{V.init(r,t),r._zod.optin="optional",r._zod.optout="optional",F(r._zod,"values",()=>{return t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0}),F(r._zod,"pattern",()=>{let i=t.innerType._zod.pattern;return i?new RegExp(`^(${Rn(i.source)})?$`):void 0}),r._zod.parse=(i,o)=>{if(t.innerType._zod.optin==="optional"){let n=t.innerType._zod.run(i,o);if(n instanceof Promise)return n.then((e)=>$w(e,i.value));return $w(n,i.value)}if(i.value===void 0)return i;return t.innerType._zod.run(i,o)}}),ym=$("$ZodNullable",(r,t)=>{V.init(r,t),F(r._zod,"optin",()=>t.innerType._zod.optin),F(r._zod,"optout",()=>t.innerType._zod.optout),F(r._zod,"pattern",()=>{let i=t.innerType._zod.pattern;return i?new RegExp(`^(${Rn(i.source)}|null)$`):void 0}),F(r._zod,"values",()=>{return t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0}),r._zod.parse=(i,o)=>{if(i.value===null)return i;return t.innerType._zod.run(i,o)}}),Am=$("$ZodDefault",(r,t)=>{V.init(r,t),r._zod.optin="optional",F(r._zod,"values",()=>t.innerType._zod.values),r._zod.parse=(i,o)=>{if(o.direction==="backward")return t.innerType._zod.run(i,o);if(i.value===void 0)return i.value=t.defaultValue,i;let n=t.innerType._zod.run(i,o);if(n instanceof Promise)return n.then((e)=>xw(e,t));return xw(n,t)}});function xw(r,t){if(r.value===void 0)r.value=t.defaultValue;return r}var Hm=$("$ZodPrefault",(r,t)=>{V.init(r,t),r._zod.optin="optional",F(r._zod,"values",()=>t.innerType._zod.values),r._zod.parse=(i,o)=>{if(o.direction==="backward")return t.innerType._zod.run(i,o);if(i.value===void 0)i.value=t.defaultValue;return t.innerType._zod.run(i,o)}}),Rm=$("$ZodNonOptional",(r,t)=>{V.init(r,t),F(r._zod,"values",()=>{let i=t.innerType._zod.values;return i?new Set([...i].filter((o)=>o!==void 0)):void 0}),r._zod.parse=(i,o)=>{let n=t.innerType._zod.run(i,o);if(n instanceof Promise)return n.then((e)=>fw(e,r));return fw(n,r)}});function fw(r,t){if(!r.issues.length&&r.value===void 0)r.issues.push({code:"invalid_type",expected:"nonoptional",input:r.value,inst:t});return r}var Mm=$("$ZodSuccess",(r,t)=>{V.init(r,t),r._zod.parse=(i,o)=>{if(o.direction==="backward")throw new Pt("ZodSuccess");let n=t.innerType._zod.run(i,o);if(n instanceof Promise)return n.then((e)=>{return i.value=e.issues.length===0,i});return i.value=n.issues.length===0,i}}),Zm=$("$ZodCatch",(r,t)=>{V.init(r,t),F(r._zod,"optin",()=>t.innerType._zod.optin),F(r._zod,"optout",()=>t.innerType._zod.optout),F(r._zod,"values",()=>t.innerType._zod.values),r._zod.parse=(i,o)=>{if(o.direction==="backward")return t.innerType._zod.run(i,o);let n=t.innerType._zod.run(i,o);if(n instanceof Promise)return n.then((e)=>{if(i.value=e.value,e.issues.length)i.value=t.catchValue({...i,error:{issues:e.issues.map((l)=>Wr(l,o,br()))},input:i.value}),i.issues=[];return i});if(i.value=n.value,n.issues.length)i.value=t.catchValue({...i,error:{issues:n.issues.map((e)=>Wr(e,o,br()))},input:i.value}),i.issues=[];return i}}),Cm=$("$ZodNaN",(r,t)=>{V.init(r,t),r._zod.parse=(i,o)=>{if(typeof i.value!=="number"||!Number.isNaN(i.value))return i.issues.push({input:i.value,inst:r,expected:"nan",code:"invalid_type"}),i;return i}}),Tm=$("$ZodPipe",(r,t)=>{V.init(r,t),F(r._zod,"values",()=>t.in._zod.values),F(r._zod,"optin",()=>t.in._zod.optin),F(r._zod,"optout",()=>t.out._zod.optout),F(r._zod,"propValues",()=>t.in._zod.propValues),r._zod.parse=(i,o)=>{if(o.direction==="backward"){let e=t.out._zod.run(i,o);if(e instanceof Promise)return e.then((l)=>Vo(l,t.in,o));return Vo(e,t.in,o)}let n=t.in._zod.run(i,o);if(n instanceof Promise)return n.then((e)=>Vo(e,t.out,o));return Vo(n,t.out,o)}});function Vo(r,t,i){if(r.issues.length)return r.aborted=!0,r;return t._zod.run({value:r.value,issues:r.issues},i)}var ii=$("$ZodCodec",(r,t)=>{V.init(r,t),F(r._zod,"values",()=>t.in._zod.values),F(r._zod,"optin",()=>t.in._zod.optin),F(r._zod,"optout",()=>t.out._zod.optout),F(r._zod,"propValues",()=>t.in._zod.propValues),r._zod.parse=(i,o)=>{if((o.direction||"forward")==="forward"){let e=t.in._zod.run(i,o);if(e instanceof Promise)return e.then((l)=>Lo(l,t,o));return Lo(e,t,o)}else{let e=t.out._zod.run(i,o);if(e instanceof Promise)return e.then((l)=>Lo(l,t,o));return Lo(e,t,o)}}});function Lo(r,t,i){if(r.issues.length)return r.aborted=!0,r;if((i.direction||"forward")==="forward"){let n=t.transform(r.value,r);if(n instanceof Promise)return n.then((e)=>Yo(r,e,t.out,i));return Yo(r,n,t.out,i)}else{let n=t.reverseTransform(r.value,r);if(n instanceof Promise)return n.then((e)=>Yo(r,e,t.in,i));return Yo(r,n,t.in,i)}}function Yo(r,t,i,o){if(r.issues.length)return r.aborted=!0,r;return i._zod.run({value:t,issues:r.issues},o)}var dm=$("$ZodReadonly",(r,t)=>{V.init(r,t),F(r._zod,"propValues",()=>t.innerType._zod.propValues),F(r._zod,"values",()=>t.innerType._zod.values),F(r._zod,"optin",()=>t.innerType._zod.optin),F(r._zod,"optout",()=>t.innerType._zod.optout),r._zod.parse=(i,o)=>{if(o.direction==="backward")return t.innerType._zod.run(i,o);let n=t.innerType._zod.run(i,o);if(n instanceof Promise)return n.then(ww);return ww(n)}});function ww(r){return r.value=Object.freeze(r.value),r}var sm=$("$ZodTemplateLiteral",(r,t)=>{V.init(r,t);let i=[];for(let o of t.parts)if(typeof o==="object"&&o!==null){if(!o._zod.pattern)throw new Error(`Invalid template literal part, no pattern found: ${[...o._zod.traits].shift()}`);let n=o._zod.pattern instanceof RegExp?o._zod.pattern.source:o._zod.pattern;if(!n)throw new Error(`Invalid template literal part: ${o._zod.traits}`);let e=n.startsWith("^")?1:0,l=n.endsWith("$")?n.length-1:n.length;i.push(n.slice(e,l))}else if(o===null||Mu.has(typeof o))i.push(Cr(`${o}`));else throw new Error(`Invalid template literal part: ${o}`);r._zod.pattern=new RegExp(`^${i.join("")}$`),r._zod.parse=(o,n)=>{if(typeof o.value!=="string")return o.issues.push({input:o.value,inst:r,expected:"template_literal",code:"invalid_type"}),o;if(r._zod.pattern.lastIndex=0,!r._zod.pattern.test(o.value))return o.issues.push({input:o.value,inst:r,code:"invalid_format",format:t.format??"template_literal",pattern:r._zod.pattern.source}),o;return o}}),rb=$("$ZodFunction",(r,t)=>{return V.init(r,t),r._def=t,r._zod.def=t,r.implement=(i)=>{if(typeof i!=="function")throw new Error("implement() must be called with a function");return function(...o){let n=r._def.input?ao(r._def.input,o):o,e=Reflect.apply(i,this,n);if(r._def.output)return ao(r._def.output,e);return e}},r.implementAsync=(i)=>{if(typeof i!=="function")throw new Error("implementAsync() must be called with a function");return async function(...o){let n=r._def.input?await po(r._def.input,o):o,e=await Reflect.apply(i,this,n);if(r._def.output)return await po(r._def.output,e);return e}},r._zod.parse=(i,o)=>{if(typeof i.value!=="function")return i.issues.push({code:"invalid_type",expected:"function",input:i.value,inst:r}),i;if(r._def.output&&r._def.output._zod.def.type==="promise")i.value=r.implementAsync(i.value);else i.value=r.implement(i.value);return i},r.input=(...i)=>{let o=r.constructor;if(Array.isArray(i[0]))return new o({type:"function",input:new No({type:"tuple",items:i[0],rest:i[1]}),output:r._def.output});return new o({type:"function",input:i[0],output:r._def.output})},r.output=(i)=>{return new r.constructor({type:"function",input:r._def.input,output:i})},r}),tb=$("$ZodPromise",(r,t)=>{V.init(r,t),r._zod.parse=(i,o)=>{return Promise.resolve(i.value).then((n)=>t.innerType._zod.run({value:n,issues:[]},o))}}),nb=$("$ZodLazy",(r,t)=>{V.init(r,t),F(r._zod,"innerType",()=>t.getter()),F(r._zod,"pattern",()=>r._zod.innerType._zod.pattern),F(r._zod,"propValues",()=>r._zod.innerType._zod.propValues),F(r._zod,"optin",()=>r._zod.innerType._zod.optin??void 0),F(r._zod,"optout",()=>r._zod.innerType._zod.optout??void 0),r._zod.parse=(i,o)=>{return r._zod.innerType._zod.run(i,o)}}),ib=$("$ZodCustom",(r,t)=>{s.init(r,t),V.init(r,t),r._zod.parse=(i,o)=>{return i},r._zod.check=(i)=>{let o=i.value,n=t.fn(o);if(n instanceof Promise)return n.then((e)=>zw(e,i,o,r));zw(n,i,o,r);return}});function zw(r,t,i,o){if(!r){let n={code:"custom",input:i,inst:o,path:[...o._zod.def.path??[]],continue:!o._zod.def.abort};if(o._zod.def.params)n.params=o._zod.def.params;t.issues.push(en(n))}}var gi={};I(gi,{zhTW:()=>Ab,zhCN:()=>yb,yo:()=>Hb,vi:()=>Bb,ur:()=>Gb,uk:()=>ui,ua:()=>Nb,tr:()=>Sb,th:()=>Fb,ta:()=>Qb,sv:()=>Eb,sl:()=>Yb,ru:()=>Lb,pt:()=>Vb,ps:()=>Wb,pl:()=>Kb,ota:()=>qb,no:()=>Xb,nl:()=>Pb,ms:()=>Jb,mk:()=>Ub,lt:()=>kb,ko:()=>Ib,km:()=>ei,kh:()=>Ob,ka:()=>jb,ja:()=>Db,it:()=>_b,is:()=>pb,id:()=>ab,hu:()=>zb,he:()=>wb,frCA:()=>fb,fr:()=>xb,fi:()=>$b,fa:()=>hb,es:()=>vb,eo:()=>bb,en:()=>oi,de:()=>mb,da:()=>gb,cs:()=>ub,ca:()=>cb,be:()=>lb,az:()=>eb,ar:()=>ob});var lO=()=>{let r={string:{unit:"حرف",verb:"أن يحوي"},file:{unit:"بايت",verb:"أن يحوي"},array:{unit:"عنصر",verb:"أن يحوي"},set:{unit:"عنصر",verb:"أن يحوي"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"number";case"object":{if(Array.isArray(n))return"array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"مدخل",email:"بريد إلكتروني",url:"رابط",emoji:"إيموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاريخ ووقت بمعيار ISO",date:"تاريخ بمعيار ISO",time:"وقت بمعيار ISO",duration:"مدة بمعيار ISO",ipv4:"عنوان IPv4",ipv6:"عنوان IPv6",cidrv4:"مدى عناوين بصيغة IPv4",cidrv6:"مدى عناوين بصيغة IPv6",base64:"نَص بترميز base64-encoded",base64url:"نَص بترميز base64url-encoded",json_string:"نَص على هيئة JSON",e164:"رقم هاتف بمعيار E.164",jwt:"JWT",template_literal:"مدخل"};return(n)=>{switch(n.code){case"invalid_type":return`مدخلات غير مقبولة: يفترض إدخال ${n.expected}، ولكن تم إدخال ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`مدخلات غير مقبولة: يفترض إدخال ${z(n.values[0])}`;return`اختيار غير مقبول: يتوقع انتقاء أحد هذه الخيارات: ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return` أكبر من اللازم: يفترض أن تكون ${n.origin??"القيمة"} ${e} ${n.maximum.toString()} ${l.unit??"عنصر"}`;return`أكبر من اللازم: يفترض أن تكون ${n.origin??"القيمة"} ${e} ${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`أصغر من اللازم: يفترض لـ ${n.origin} أن يكون ${e} ${n.minimum.toString()} ${l.unit}`;return`أصغر من اللازم: يفترض لـ ${n.origin} أن يكون ${e} ${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`نَص غير مقبول: يجب أن يبدأ بـ "${n.prefix}"`;if(e.format==="ends_with")return`نَص غير مقبول: يجب أن ينتهي بـ "${e.suffix}"`;if(e.format==="includes")return`نَص غير مقبول: يجب أن يتضمَّن "${e.includes}"`;if(e.format==="regex")return`نَص غير مقبول: يجب أن يطابق النمط ${e.pattern}`;return`${o[e.format]??n.format} غير مقبول`}case"not_multiple_of":return`رقم غير مقبول: يجب أن يكون من مضاعفات ${n.divisor}`;case"unrecognized_keys":return`معرف${n.keys.length>1?"ات":""} غريب${n.keys.length>1?"ة":""}: ${x(n.keys,"، ")}`;case"invalid_key":return`معرف غير مقبول في ${n.origin}`;case"invalid_union":return"مدخل غير مقبول";case"invalid_element":return`مدخل غير مقبول في ${n.origin}`;default:return"مدخل غير مقبول"}}};function ob(){return{localeError:lO()}}var cO=()=>{let r={string:{unit:"simvol",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"element",verb:"olmalıdır"},set:{unit:"element",verb:"olmalıdır"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"number";case"object":{if(Array.isArray(n))return"array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(n)=>{switch(n.code){case"invalid_type":return`Yanlış dəyər: gözlənilən ${n.expected}, daxil olan ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Yanlış dəyər: gözlənilən ${z(n.values[0])}`;return`Yanlış seçim: aşağıdakılardan biri olmalıdır: ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Çox böyük: gözlənilən ${n.origin??"dəyər"} ${e}${n.maximum.toString()} ${l.unit??"element"}`;return`Çox böyük: gözlənilən ${n.origin??"dəyər"} ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Çox kiçik: gözlənilən ${n.origin} ${e}${n.minimum.toString()} ${l.unit}`;return`Çox kiçik: gözlənilən ${n.origin} ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Yanlış mətn: "${e.prefix}" ilə başlamalıdır`;if(e.format==="ends_with")return`Yanlış mətn: "${e.suffix}" ilə bitməlidir`;if(e.format==="includes")return`Yanlış mətn: "${e.includes}" daxil olmalıdır`;if(e.format==="regex")return`Yanlış mətn: ${e.pattern} şablonuna uyğun olmalıdır`;return`Yanlış ${o[e.format]??n.format}`}case"not_multiple_of":return`Yanlış ədəd: ${n.divisor} ilə bölünə bilən olmalıdır`;case"unrecognized_keys":return`Tanınmayan açar${n.keys.length>1?"lar":""}: ${x(n.keys,", ")}`;case"invalid_key":return`${n.origin} daxilində yanlış açar`;case"invalid_union":return"Yanlış dəyər";case"invalid_element":return`${n.origin} daxilində yanlış dəyər`;default:return"Yanlış dəyər"}}};function eb(){return{localeError:cO()}}function Ow(r,t,i,o){let n=Math.abs(r),e=n%10,l=n%100;if(l>=11&&l<=19)return o;if(e===1)return t;if(e>=2&&e<=4)return i;return o}var uO=()=>{let r={string:{unit:{one:"сімвал",few:"сімвалы",many:"сімвалаў"},verb:"мець"},array:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},set:{unit:{one:"элемент",few:"элементы",many:"элементаў"},verb:"мець"},file:{unit:{one:"байт",few:"байты",many:"байтаў"},verb:"мець"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"лік";case"object":{if(Array.isArray(n))return"масіў";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"увод",email:"email адрас",url:"URL",emoji:"эмодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата і час",date:"ISO дата",time:"ISO час",duration:"ISO працягласць",ipv4:"IPv4 адрас",ipv6:"IPv6 адрас",cidrv4:"IPv4 дыяпазон",cidrv6:"IPv6 дыяпазон",base64:"радок у фармаце base64",base64url:"радок у фармаце base64url",json_string:"JSON радок",e164:"нумар E.164",jwt:"JWT",template_literal:"увод"};return(n)=>{switch(n.code){case"invalid_type":return`Няправільны ўвод: чакаўся ${n.expected}, атрымана ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Няправільны ўвод: чакалася ${z(n.values[0])}`;return`Няправільны варыянт: чакаўся адзін з ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l){let u=Number(n.maximum),g=Ow(u,l.unit.one,l.unit.few,l.unit.many);return`Занадта вялікі: чакалася, што ${n.origin??"значэнне"} павінна ${l.verb} ${e}${n.maximum.toString()} ${g}`}return`Занадта вялікі: чакалася, што ${n.origin??"значэнне"} павінна быць ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l){let u=Number(n.minimum),g=Ow(u,l.unit.one,l.unit.few,l.unit.many);return`Занадта малы: чакалася, што ${n.origin} павінна ${l.verb} ${e}${n.minimum.toString()} ${g}`}return`Занадта малы: чакалася, што ${n.origin} павінна быць ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Няправільны радок: павінен пачынацца з "${e.prefix}"`;if(e.format==="ends_with")return`Няправільны радок: павінен заканчвацца на "${e.suffix}"`;if(e.format==="includes")return`Няправільны радок: павінен змяшчаць "${e.includes}"`;if(e.format==="regex")return`Няправільны радок: павінен адпавядаць шаблону ${e.pattern}`;return`Няправільны ${o[e.format]??n.format}`}case"not_multiple_of":return`Няправільны лік: павінен быць кратным ${n.divisor}`;case"unrecognized_keys":return`Нераспазнаны ${n.keys.length>1?"ключы":"ключ"}: ${x(n.keys,", ")}`;case"invalid_key":return`Няправільны ключ у ${n.origin}`;case"invalid_union":return"Няправільны ўвод";case"invalid_element":return`Няправільнае значэнне ў ${n.origin}`;default:return"Няправільны ўвод"}}};function lb(){return{localeError:uO()}}var gO=()=>{let r={string:{unit:"caràcters",verb:"contenir"},file:{unit:"bytes",verb:"contenir"},array:{unit:"elements",verb:"contenir"},set:{unit:"elements",verb:"contenir"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"number";case"object":{if(Array.isArray(n))return"array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"entrada",email:"adreça electrònica",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i hora ISO",date:"data ISO",time:"hora ISO",duration:"durada ISO",ipv4:"adreça IPv4",ipv6:"adreça IPv6",cidrv4:"rang IPv4",cidrv6:"rang IPv6",base64:"cadena codificada en base64",base64url:"cadena codificada en base64url",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"};return(n)=>{switch(n.code){case"invalid_type":return`Tipus invàlid: s'esperava ${n.expected}, s'ha rebut ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Valor invàlid: s'esperava ${z(n.values[0])}`;return`Opció invàlida: s'esperava una de ${x(n.values," o ")}`;case"too_big":{let e=n.inclusive?"com a màxim":"menys de",l=t(n.origin);if(l)return`Massa gran: s'esperava que ${n.origin??"el valor"} contingués ${e} ${n.maximum.toString()} ${l.unit??"elements"}`;return`Massa gran: s'esperava que ${n.origin??"el valor"} fos ${e} ${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?"com a mínim":"més de",l=t(n.origin);if(l)return`Massa petit: s'esperava que ${n.origin} contingués ${e} ${n.minimum.toString()} ${l.unit}`;return`Massa petit: s'esperava que ${n.origin} fos ${e} ${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Format invàlid: ha de començar amb "${e.prefix}"`;if(e.format==="ends_with")return`Format invàlid: ha d'acabar amb "${e.suffix}"`;if(e.format==="includes")return`Format invàlid: ha d'incloure "${e.includes}"`;if(e.format==="regex")return`Format invàlid: ha de coincidir amb el patró ${e.pattern}`;return`Format invàlid per a ${o[e.format]??n.format}`}case"not_multiple_of":return`Número invàlid: ha de ser múltiple de ${n.divisor}`;case"unrecognized_keys":return`Clau${n.keys.length>1?"s":""} no reconeguda${n.keys.length>1?"s":""}: ${x(n.keys,", ")}`;case"invalid_key":return`Clau invàlida a ${n.origin}`;case"invalid_union":return"Entrada invàlida";case"invalid_element":return`Element invàlid a ${n.origin}`;default:return"Entrada invàlida"}}};function cb(){return{localeError:gO()}}var mO=()=>{let r={string:{unit:"znaků",verb:"mít"},file:{unit:"bajtů",verb:"mít"},array:{unit:"prvků",verb:"mít"},set:{unit:"prvků",verb:"mít"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"číslo";case"string":return"řetězec";case"boolean":return"boolean";case"bigint":return"bigint";case"function":return"funkce";case"symbol":return"symbol";case"undefined":return"undefined";case"object":{if(Array.isArray(n))return"pole";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"regulární výraz",email:"e-mailová adresa",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"datum a čas ve formátu ISO",date:"datum ve formátu ISO",time:"čas ve formátu ISO",duration:"doba trvání ISO",ipv4:"IPv4 adresa",ipv6:"IPv6 adresa",cidrv4:"rozsah IPv4",cidrv6:"rozsah IPv6",base64:"řetězec zakódovaný ve formátu base64",base64url:"řetězec zakódovaný ve formátu base64url",json_string:"řetězec ve formátu JSON",e164:"číslo E.164",jwt:"JWT",template_literal:"vstup"};return(n)=>{switch(n.code){case"invalid_type":return`Neplatný vstup: očekáváno ${n.expected}, obdrženo ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Neplatný vstup: očekáváno ${z(n.values[0])}`;return`Neplatná možnost: očekávána jedna z hodnot ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Hodnota je příliš velká: ${n.origin??"hodnota"} musí mít ${e}${n.maximum.toString()} ${l.unit??"prvků"}`;return`Hodnota je příliš velká: ${n.origin??"hodnota"} musí být ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Hodnota je příliš malá: ${n.origin??"hodnota"} musí mít ${e}${n.minimum.toString()} ${l.unit??"prvků"}`;return`Hodnota je příliš malá: ${n.origin??"hodnota"} musí být ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Neplatný řetězec: musí začínat na "${e.prefix}"`;if(e.format==="ends_with")return`Neplatný řetězec: musí končit na "${e.suffix}"`;if(e.format==="includes")return`Neplatný řetězec: musí obsahovat "${e.includes}"`;if(e.format==="regex")return`Neplatný řetězec: musí odpovídat vzoru ${e.pattern}`;return`Neplatný formát ${o[e.format]??n.format}`}case"not_multiple_of":return`Neplatné číslo: musí být násobkem ${n.divisor}`;case"unrecognized_keys":return`Neznámé klíče: ${x(n.keys,", ")}`;case"invalid_key":return`Neplatný klíč v ${n.origin}`;case"invalid_union":return"Neplatný vstup";case"invalid_element":return`Neplatná hodnota v ${n.origin}`;default:return"Neplatný vstup"}}};function ub(){return{localeError:mO()}}var bO=()=>{let r={string:{unit:"tegn",verb:"havde"},file:{unit:"bytes",verb:"havde"},array:{unit:"elementer",verb:"indeholdt"},set:{unit:"elementer",verb:"indeholdt"}},t={string:"streng",number:"tal",boolean:"boolean",array:"liste",object:"objekt",set:"sæt",file:"fil"};function i(l){return r[l]??null}function o(l){return t[l]??l}let n=(l)=>{let u=typeof l;switch(u){case"number":return Number.isNaN(l)?"NaN":"tal";case"object":{if(Array.isArray(l))return"liste";if(l===null)return"null";if(Object.getPrototypeOf(l)!==Object.prototype&&l.constructor)return l.constructor.name;return"objekt"}}return u},e={regex:"input",email:"e-mailadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslæt",date:"ISO-dato",time:"ISO-klokkeslæt",duration:"ISO-varighed",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodet streng",base64url:"base64url-kodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"};return(l)=>{switch(l.code){case"invalid_type":return`Ugyldigt input: forventede ${o(l.expected)}, fik ${o(n(l.input))}`;case"invalid_value":if(l.values.length===1)return`Ugyldig værdi: forventede ${z(l.values[0])}`;return`Ugyldigt valg: forventede en af følgende ${x(l.values,"|")}`;case"too_big":{let u=l.inclusive?"<=":"<",g=i(l.origin),c=o(l.origin);if(g)return`For stor: forventede ${c??"value"} ${g.verb} ${u} ${l.maximum.toString()} ${g.unit??"elementer"}`;return`For stor: forventede ${c??"value"} havde ${u} ${l.maximum.toString()}`}case"too_small":{let u=l.inclusive?">=":">",g=i(l.origin),c=o(l.origin);if(g)return`For lille: forventede ${c} ${g.verb} ${u} ${l.minimum.toString()} ${g.unit}`;return`For lille: forventede ${c} havde ${u} ${l.minimum.toString()}`}case"invalid_format":{let u=l;if(u.format==="starts_with")return`Ugyldig streng: skal starte med "${u.prefix}"`;if(u.format==="ends_with")return`Ugyldig streng: skal ende med "${u.suffix}"`;if(u.format==="includes")return`Ugyldig streng: skal indeholde "${u.includes}"`;if(u.format==="regex")return`Ugyldig streng: skal matche mønsteret ${u.pattern}`;return`Ugyldig ${e[u.format]??l.format}`}case"not_multiple_of":return`Ugyldigt tal: skal være deleligt med ${l.divisor}`;case"unrecognized_keys":return`${l.keys.length>1?"Ukendte nøgler":"Ukendt nøgle"}: ${x(l.keys,", ")}`;case"invalid_key":return`Ugyldig nøgle i ${l.origin}`;case"invalid_union":return"Ugyldigt input: matcher ingen af de tilladte typer";case"invalid_element":return`Ugyldig værdi i ${l.origin}`;default:return"Ugyldigt input"}}};function gb(){return{localeError:bO()}}var vO=()=>{let r={string:{unit:"Zeichen",verb:"zu haben"},file:{unit:"Bytes",verb:"zu haben"},array:{unit:"Elemente",verb:"zu haben"},set:{unit:"Elemente",verb:"zu haben"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"Zahl";case"object":{if(Array.isArray(n))return"Array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"Eingabe",email:"E-Mail-Adresse",url:"URL",emoji:"Emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-Datum und -Uhrzeit",date:"ISO-Datum",time:"ISO-Uhrzeit",duration:"ISO-Dauer",ipv4:"IPv4-Adresse",ipv6:"IPv6-Adresse",cidrv4:"IPv4-Bereich",cidrv6:"IPv6-Bereich",base64:"Base64-codierter String",base64url:"Base64-URL-codierter String",json_string:"JSON-String",e164:"E.164-Nummer",jwt:"JWT",template_literal:"Eingabe"};return(n)=>{switch(n.code){case"invalid_type":return`Ungültige Eingabe: erwartet ${n.expected}, erhalten ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Ungültige Eingabe: erwartet ${z(n.values[0])}`;return`Ungültige Option: erwartet eine von ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Zu groß: erwartet, dass ${n.origin??"Wert"} ${e}${n.maximum.toString()} ${l.unit??"Elemente"} hat`;return`Zu groß: erwartet, dass ${n.origin??"Wert"} ${e}${n.maximum.toString()} ist`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Zu klein: erwartet, dass ${n.origin} ${e}${n.minimum.toString()} ${l.unit} hat`;return`Zu klein: erwartet, dass ${n.origin} ${e}${n.minimum.toString()} ist`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Ungültiger String: muss mit "${e.prefix}" beginnen`;if(e.format==="ends_with")return`Ungültiger String: muss mit "${e.suffix}" enden`;if(e.format==="includes")return`Ungültiger String: muss "${e.includes}" enthalten`;if(e.format==="regex")return`Ungültiger String: muss dem Muster ${e.pattern} entsprechen`;return`Ungültig: ${o[e.format]??n.format}`}case"not_multiple_of":return`Ungültige Zahl: muss ein Vielfaches von ${n.divisor} sein`;case"unrecognized_keys":return`${n.keys.length>1?"Unbekannte Schlüssel":"Unbekannter Schlüssel"}: ${x(n.keys,", ")}`;case"invalid_key":return`Ungültiger Schlüssel in ${n.origin}`;case"invalid_union":return"Ungültige Eingabe";case"invalid_element":return`Ungültiger Wert in ${n.origin}`;default:return"Ungültige Eingabe"}}};function mb(){return{localeError:vO()}}var hO=(r)=>{let t=typeof r;switch(t){case"number":return Number.isNaN(r)?"NaN":"number";case"object":{if(Array.isArray(r))return"array";if(r===null)return"null";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return t},$O=()=>{let r={string:{unit:"characters",verb:"to have"},file:{unit:"bytes",verb:"to have"},array:{unit:"items",verb:"to have"},set:{unit:"items",verb:"to have"}};function t(o){return r[o]??null}let i={regex:"input",email:"email address",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datetime",date:"ISO date",time:"ISO time",duration:"ISO duration",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded string",base64url:"base64url-encoded string",json_string:"JSON string",e164:"E.164 number",jwt:"JWT",template_literal:"input"};return(o)=>{switch(o.code){case"invalid_type":return`Invalid input: expected ${o.expected}, received ${hO(o.input)}`;case"invalid_value":if(o.values.length===1)return`Invalid input: expected ${z(o.values[0])}`;return`Invalid option: expected one of ${x(o.values,"|")}`;case"too_big":{let n=o.inclusive?"<=":"<",e=t(o.origin);if(e)return`Too big: expected ${o.origin??"value"} to have ${n}${o.maximum.toString()} ${e.unit??"elements"}`;return`Too big: expected ${o.origin??"value"} to be ${n}${o.maximum.toString()}`}case"too_small":{let n=o.inclusive?">=":">",e=t(o.origin);if(e)return`Too small: expected ${o.origin} to have ${n}${o.minimum.toString()} ${e.unit}`;return`Too small: expected ${o.origin} to be ${n}${o.minimum.toString()}`}case"invalid_format":{let n=o;if(n.format==="starts_with")return`Invalid string: must start with "${n.prefix}"`;if(n.format==="ends_with")return`Invalid string: must end with "${n.suffix}"`;if(n.format==="includes")return`Invalid string: must include "${n.includes}"`;if(n.format==="regex")return`Invalid string: must match pattern ${n.pattern}`;return`Invalid ${i[n.format]??o.format}`}case"not_multiple_of":return`Invalid number: must be a multiple of ${o.divisor}`;case"unrecognized_keys":return`Unrecognized key${o.keys.length>1?"s":""}: ${x(o.keys,", ")}`;case"invalid_key":return`Invalid key in ${o.origin}`;case"invalid_union":return"Invalid input";case"invalid_element":return`Invalid value in ${o.origin}`;default:return"Invalid input"}}};function oi(){return{localeError:$O()}}var xO=(r)=>{let t=typeof r;switch(t){case"number":return Number.isNaN(r)?"NaN":"nombro";case"object":{if(Array.isArray(r))return"tabelo";if(r===null)return"senvalora";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return t},fO=()=>{let r={string:{unit:"karaktrojn",verb:"havi"},file:{unit:"bajtojn",verb:"havi"},array:{unit:"elementojn",verb:"havi"},set:{unit:"elementojn",verb:"havi"}};function t(o){return r[o]??null}let i={regex:"enigo",email:"retadreso",url:"URL",emoji:"emoĝio",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datotempo",date:"ISO-dato",time:"ISO-tempo",duration:"ISO-daŭro",ipv4:"IPv4-adreso",ipv6:"IPv6-adreso",cidrv4:"IPv4-rango",cidrv6:"IPv6-rango",base64:"64-ume kodita karaktraro",base64url:"URL-64-ume kodita karaktraro",json_string:"JSON-karaktraro",e164:"E.164-nombro",jwt:"JWT",template_literal:"enigo"};return(o)=>{switch(o.code){case"invalid_type":return`Nevalida enigo: atendiĝis ${o.expected}, riceviĝis ${xO(o.input)}`;case"invalid_value":if(o.values.length===1)return`Nevalida enigo: atendiĝis ${z(o.values[0])}`;return`Nevalida opcio: atendiĝis unu el ${x(o.values,"|")}`;case"too_big":{let n=o.inclusive?"<=":"<",e=t(o.origin);if(e)return`Tro granda: atendiĝis ke ${o.origin??"valoro"} havu ${n}${o.maximum.toString()} ${e.unit??"elementojn"}`;return`Tro granda: atendiĝis ke ${o.origin??"valoro"} havu ${n}${o.maximum.toString()}`}case"too_small":{let n=o.inclusive?">=":">",e=t(o.origin);if(e)return`Tro malgranda: atendiĝis ke ${o.origin} havu ${n}${o.minimum.toString()} ${e.unit}`;return`Tro malgranda: atendiĝis ke ${o.origin} estu ${n}${o.minimum.toString()}`}case"invalid_format":{let n=o;if(n.format==="starts_with")return`Nevalida karaktraro: devas komenciĝi per "${n.prefix}"`;if(n.format==="ends_with")return`Nevalida karaktraro: devas finiĝi per "${n.suffix}"`;if(n.format==="includes")return`Nevalida karaktraro: devas inkluzivi "${n.includes}"`;if(n.format==="regex")return`Nevalida karaktraro: devas kongrui kun la modelo ${n.pattern}`;return`Nevalida ${i[n.format]??o.format}`}case"not_multiple_of":return`Nevalida nombro: devas esti oblo de ${o.divisor}`;case"unrecognized_keys":return`Nekonata${o.keys.length>1?"j":""} ŝlosilo${o.keys.length>1?"j":""}: ${x(o.keys,", ")}`;case"invalid_key":return`Nevalida ŝlosilo en ${o.origin}`;case"invalid_union":return"Nevalida enigo";case"invalid_element":return`Nevalida valoro en ${o.origin}`;default:return"Nevalida enigo"}}};function bb(){return{localeError:fO()}}var wO=()=>{let r={string:{unit:"caracteres",verb:"tener"},file:{unit:"bytes",verb:"tener"},array:{unit:"elementos",verb:"tener"},set:{unit:"elementos",verb:"tener"}},t={string:"texto",number:"número",boolean:"booleano",array:"arreglo",object:"objeto",set:"conjunto",file:"archivo",date:"fecha",bigint:"número grande",symbol:"símbolo",undefined:"indefinido",null:"nulo",function:"función",map:"mapa",record:"registro",tuple:"tupla",enum:"enumeración",union:"unión",literal:"literal",promise:"promesa",void:"vacío",never:"nunca",unknown:"desconocido",any:"cualquiera"};function i(l){return r[l]??null}function o(l){return t[l]??l}let n=(l)=>{let u=typeof l;switch(u){case"number":return Number.isNaN(l)?"NaN":"number";case"object":{if(Array.isArray(l))return"array";if(l===null)return"null";if(Object.getPrototypeOf(l)!==Object.prototype)return l.constructor.name;return"object"}}return u},e={regex:"entrada",email:"dirección de correo electrónico",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"fecha y hora ISO",date:"fecha ISO",time:"hora ISO",duration:"duración ISO",ipv4:"dirección IPv4",ipv6:"dirección IPv6",cidrv4:"rango IPv4",cidrv6:"rango IPv6",base64:"cadena codificada en base64",base64url:"URL codificada en base64",json_string:"cadena JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"};return(l)=>{switch(l.code){case"invalid_type":return`Entrada inválida: se esperaba ${o(l.expected)}, recibido ${o(n(l.input))}`;case"invalid_value":if(l.values.length===1)return`Entrada inválida: se esperaba ${z(l.values[0])}`;return`Opción inválida: se esperaba una de ${x(l.values,"|")}`;case"too_big":{let u=l.inclusive?"<=":"<",g=i(l.origin),c=o(l.origin);if(g)return`Demasiado grande: se esperaba que ${c??"valor"} tuviera ${u}${l.maximum.toString()} ${g.unit??"elementos"}`;return`Demasiado grande: se esperaba que ${c??"valor"} fuera ${u}${l.maximum.toString()}`}case"too_small":{let u=l.inclusive?">=":">",g=i(l.origin),c=o(l.origin);if(g)return`Demasiado pequeño: se esperaba que ${c} tuviera ${u}${l.minimum.toString()} ${g.unit}`;return`Demasiado pequeño: se esperaba que ${c} fuera ${u}${l.minimum.toString()}`}case"invalid_format":{let u=l;if(u.format==="starts_with")return`Cadena inválida: debe comenzar con "${u.prefix}"`;if(u.format==="ends_with")return`Cadena inválida: debe terminar en "${u.suffix}"`;if(u.format==="includes")return`Cadena inválida: debe incluir "${u.includes}"`;if(u.format==="regex")return`Cadena inválida: debe coincidir con el patrón ${u.pattern}`;return`Inválido ${e[u.format]??l.format}`}case"not_multiple_of":return`Número inválido: debe ser múltiplo de ${l.divisor}`;case"unrecognized_keys":return`Llave${l.keys.length>1?"s":""} desconocida${l.keys.length>1?"s":""}: ${x(l.keys,", ")}`;case"invalid_key":return`Llave inválida en ${o(l.origin)}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido en ${o(l.origin)}`;default:return"Entrada inválida"}}};function vb(){return{localeError:wO()}}var zO=()=>{let r={string:{unit:"کاراکتر",verb:"داشته باشد"},file:{unit:"بایت",verb:"داشته باشد"},array:{unit:"آیتم",verb:"داشته باشد"},set:{unit:"آیتم",verb:"داشته باشد"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"عدد";case"object":{if(Array.isArray(n))return"آرایه";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"ورودی",email:"آدرس ایمیل",url:"URL",emoji:"ایموجی",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"تاریخ و زمان ایزو",date:"تاریخ ایزو",time:"زمان ایزو",duration:"مدت زمان ایزو",ipv4:"IPv4 آدرس",ipv6:"IPv6 آدرس",cidrv4:"IPv4 دامنه",cidrv6:"IPv6 دامنه",base64:"base64-encoded رشته",base64url:"base64url-encoded رشته",json_string:"JSON رشته",e164:"E.164 عدد",jwt:"JWT",template_literal:"ورودی"};return(n)=>{switch(n.code){case"invalid_type":return`ورودی نامعتبر: می‌بایست ${n.expected} می‌بود، ${i(n.input)} دریافت شد`;case"invalid_value":if(n.values.length===1)return`ورودی نامعتبر: می‌بایست ${z(n.values[0])} می‌بود`;return`گزینه نامعتبر: می‌بایست یکی از ${x(n.values,"|")} می‌بود`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`خیلی بزرگ: ${n.origin??"مقدار"} باید ${e}${n.maximum.toString()} ${l.unit??"عنصر"} باشد`;return`خیلی بزرگ: ${n.origin??"مقدار"} باید ${e}${n.maximum.toString()} باشد`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`خیلی کوچک: ${n.origin} باید ${e}${n.minimum.toString()} ${l.unit} باشد`;return`خیلی کوچک: ${n.origin} باید ${e}${n.minimum.toString()} باشد`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`رشته نامعتبر: باید با "${e.prefix}" شروع شود`;if(e.format==="ends_with")return`رشته نامعتبر: باید با "${e.suffix}" تمام شود`;if(e.format==="includes")return`رشته نامعتبر: باید شامل "${e.includes}" باشد`;if(e.format==="regex")return`رشته نامعتبر: باید با الگوی ${e.pattern} مطابقت داشته باشد`;return`${o[e.format]??n.format} نامعتبر`}case"not_multiple_of":return`عدد نامعتبر: باید مضرب ${n.divisor} باشد`;case"unrecognized_keys":return`کلید${n.keys.length>1?"های":""} ناشناس: ${x(n.keys,", ")}`;case"invalid_key":return`کلید ناشناس در ${n.origin}`;case"invalid_union":return"ورودی نامعتبر";case"invalid_element":return`مقدار نامعتبر در ${n.origin}`;default:return"ورودی نامعتبر"}}};function hb(){return{localeError:zO()}}var aO=()=>{let r={string:{unit:"merkkiä",subject:"merkkijonon"},file:{unit:"tavua",subject:"tiedoston"},array:{unit:"alkiota",subject:"listan"},set:{unit:"alkiota",subject:"joukon"},number:{unit:"",subject:"luvun"},bigint:{unit:"",subject:"suuren kokonaisluvun"},int:{unit:"",subject:"kokonaisluvun"},date:{unit:"",subject:"päivämäärän"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"number";case"object":{if(Array.isArray(n))return"array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"säännöllinen lauseke",email:"sähköpostiosoite",url:"URL-osoite",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-aikaleima",date:"ISO-päivämäärä",time:"ISO-aika",duration:"ISO-kesto",ipv4:"IPv4-osoite",ipv6:"IPv6-osoite",cidrv4:"IPv4-alue",cidrv6:"IPv6-alue",base64:"base64-koodattu merkkijono",base64url:"base64url-koodattu merkkijono",json_string:"JSON-merkkijono",e164:"E.164-luku",jwt:"JWT",template_literal:"templaattimerkkijono"};return(n)=>{switch(n.code){case"invalid_type":return`Virheellinen tyyppi: odotettiin ${n.expected}, oli ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Virheellinen syöte: täytyy olla ${z(n.values[0])}`;return`Virheellinen valinta: täytyy olla yksi seuraavista: ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Liian suuri: ${l.subject} täytyy olla ${e}${n.maximum.toString()} ${l.unit}`.trim();return`Liian suuri: arvon täytyy olla ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Liian pieni: ${l.subject} täytyy olla ${e}${n.minimum.toString()} ${l.unit}`.trim();return`Liian pieni: arvon täytyy olla ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Virheellinen syöte: täytyy alkaa "${e.prefix}"`;if(e.format==="ends_with")return`Virheellinen syöte: täytyy loppua "${e.suffix}"`;if(e.format==="includes")return`Virheellinen syöte: täytyy sisältää "${e.includes}"`;if(e.format==="regex")return`Virheellinen syöte: täytyy vastata säännöllistä lauseketta ${e.pattern}`;return`Virheellinen ${o[e.format]??n.format}`}case"not_multiple_of":return`Virheellinen luku: täytyy olla luvun ${n.divisor} monikerta`;case"unrecognized_keys":return`${n.keys.length>1?"Tuntemattomat avaimet":"Tuntematon avain"}: ${x(n.keys,", ")}`;case"invalid_key":return"Virheellinen avain tietueessa";case"invalid_union":return"Virheellinen unioni";case"invalid_element":return"Virheellinen arvo joukossa";default:return"Virheellinen syöte"}}};function $b(){return{localeError:aO()}}var pO=()=>{let r={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"nombre";case"object":{if(Array.isArray(n))return"tableau";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"entrée",email:"adresse e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date et heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"};return(n)=>{switch(n.code){case"invalid_type":return`Entrée invalide : ${n.expected} attendu, ${i(n.input)} reçu`;case"invalid_value":if(n.values.length===1)return`Entrée invalide : ${z(n.values[0])} attendu`;return`Option invalide : une valeur parmi ${x(n.values,"|")} attendue`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Trop grand : ${n.origin??"valeur"} doit ${l.verb} ${e}${n.maximum.toString()} ${l.unit??"élément(s)"}`;return`Trop grand : ${n.origin??"valeur"} doit être ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Trop petit : ${n.origin} doit ${l.verb} ${e}${n.minimum.toString()} ${l.unit}`;return`Trop petit : ${n.origin} doit être ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Chaîne invalide : doit commencer par "${e.prefix}"`;if(e.format==="ends_with")return`Chaîne invalide : doit se terminer par "${e.suffix}"`;if(e.format==="includes")return`Chaîne invalide : doit inclure "${e.includes}"`;if(e.format==="regex")return`Chaîne invalide : doit correspondre au modèle ${e.pattern}`;return`${o[e.format]??n.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${n.divisor}`;case"unrecognized_keys":return`Clé${n.keys.length>1?"s":""} non reconnue${n.keys.length>1?"s":""} : ${x(n.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${n.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${n.origin}`;default:return"Entrée invalide"}}};function xb(){return{localeError:pO()}}var _O=()=>{let r={string:{unit:"caractères",verb:"avoir"},file:{unit:"octets",verb:"avoir"},array:{unit:"éléments",verb:"avoir"},set:{unit:"éléments",verb:"avoir"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"number";case"object":{if(Array.isArray(n))return"array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"entrée",email:"adresse courriel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"date-heure ISO",date:"date ISO",time:"heure ISO",duration:"durée ISO",ipv4:"adresse IPv4",ipv6:"adresse IPv6",cidrv4:"plage IPv4",cidrv6:"plage IPv6",base64:"chaîne encodée en base64",base64url:"chaîne encodée en base64url",json_string:"chaîne JSON",e164:"numéro E.164",jwt:"JWT",template_literal:"entrée"};return(n)=>{switch(n.code){case"invalid_type":return`Entrée invalide : attendu ${n.expected}, reçu ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Entrée invalide : attendu ${z(n.values[0])}`;return`Option invalide : attendu l'une des valeurs suivantes ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"≤":"<",l=t(n.origin);if(l)return`Trop grand : attendu que ${n.origin??"la valeur"} ait ${e}${n.maximum.toString()} ${l.unit}`;return`Trop grand : attendu que ${n.origin??"la valeur"} soit ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?"≥":">",l=t(n.origin);if(l)return`Trop petit : attendu que ${n.origin} ait ${e}${n.minimum.toString()} ${l.unit}`;return`Trop petit : attendu que ${n.origin} soit ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Chaîne invalide : doit commencer par "${e.prefix}"`;if(e.format==="ends_with")return`Chaîne invalide : doit se terminer par "${e.suffix}"`;if(e.format==="includes")return`Chaîne invalide : doit inclure "${e.includes}"`;if(e.format==="regex")return`Chaîne invalide : doit correspondre au motif ${e.pattern}`;return`${o[e.format]??n.format} invalide`}case"not_multiple_of":return`Nombre invalide : doit être un multiple de ${n.divisor}`;case"unrecognized_keys":return`Clé${n.keys.length>1?"s":""} non reconnue${n.keys.length>1?"s":""} : ${x(n.keys,", ")}`;case"invalid_key":return`Clé invalide dans ${n.origin}`;case"invalid_union":return"Entrée invalide";case"invalid_element":return`Valeur invalide dans ${n.origin}`;default:return"Entrée invalide"}}};function fb(){return{localeError:_O()}}var DO=()=>{let r={string:{unit:"אותיות",verb:"לכלול"},file:{unit:"בייטים",verb:"לכלול"},array:{unit:"פריטים",verb:"לכלול"},set:{unit:"פריטים",verb:"לכלול"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"number";case"object":{if(Array.isArray(n))return"array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"קלט",email:"כתובת אימייל",url:"כתובת רשת",emoji:"אימוג'י",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"תאריך וזמן ISO",date:"תאריך ISO",time:"זמן ISO",duration:"משך זמן ISO",ipv4:"כתובת IPv4",ipv6:"כתובת IPv6",cidrv4:"טווח IPv4",cidrv6:"טווח IPv6",base64:"מחרוזת בבסיס 64",base64url:"מחרוזת בבסיס 64 לכתובות רשת",json_string:"מחרוזת JSON",e164:"מספר E.164",jwt:"JWT",template_literal:"קלט"};return(n)=>{switch(n.code){case"invalid_type":return`קלט לא תקין: צריך ${n.expected}, התקבל ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`קלט לא תקין: צריך ${z(n.values[0])}`;return`קלט לא תקין: צריך אחת מהאפשרויות ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`גדול מדי: ${n.origin??"value"} צריך להיות ${e}${n.maximum.toString()} ${l.unit??"elements"}`;return`גדול מדי: ${n.origin??"value"} צריך להיות ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`קטן מדי: ${n.origin} צריך להיות ${e}${n.minimum.toString()} ${l.unit}`;return`קטן מדי: ${n.origin} צריך להיות ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`מחרוזת לא תקינה: חייבת להתחיל ב"${e.prefix}"`;if(e.format==="ends_with")return`מחרוזת לא תקינה: חייבת להסתיים ב "${e.suffix}"`;if(e.format==="includes")return`מחרוזת לא תקינה: חייבת לכלול "${e.includes}"`;if(e.format==="regex")return`מחרוזת לא תקינה: חייבת להתאים לתבנית ${e.pattern}`;return`${o[e.format]??n.format} לא תקין`}case"not_multiple_of":return`מספר לא תקין: חייב להיות מכפלה של ${n.divisor}`;case"unrecognized_keys":return`מפתח${n.keys.length>1?"ות":""} לא מזוה${n.keys.length>1?"ים":"ה"}: ${x(n.keys,", ")}`;case"invalid_key":return`מפתח לא תקין ב${n.origin}`;case"invalid_union":return"קלט לא תקין";case"invalid_element":return`ערך לא תקין ב${n.origin}`;default:return"קלט לא תקין"}}};function wb(){return{localeError:DO()}}var jO=()=>{let r={string:{unit:"karakter",verb:"legyen"},file:{unit:"byte",verb:"legyen"},array:{unit:"elem",verb:"legyen"},set:{unit:"elem",verb:"legyen"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"szám";case"object":{if(Array.isArray(n))return"tömb";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"bemenet",email:"email cím",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO időbélyeg",date:"ISO dátum",time:"ISO idő",duration:"ISO időintervallum",ipv4:"IPv4 cím",ipv6:"IPv6 cím",cidrv4:"IPv4 tartomány",cidrv6:"IPv6 tartomány",base64:"base64-kódolt string",base64url:"base64url-kódolt string",json_string:"JSON string",e164:"E.164 szám",jwt:"JWT",template_literal:"bemenet"};return(n)=>{switch(n.code){case"invalid_type":return`Érvénytelen bemenet: a várt érték ${n.expected}, a kapott érték ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Érvénytelen bemenet: a várt érték ${z(n.values[0])}`;return`Érvénytelen opció: valamelyik érték várt ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Túl nagy: ${n.origin??"érték"} mérete túl nagy ${e}${n.maximum.toString()} ${l.unit??"elem"}`;return`Túl nagy: a bemeneti érték ${n.origin??"érték"} túl nagy: ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Túl kicsi: a bemeneti érték ${n.origin} mérete túl kicsi ${e}${n.minimum.toString()} ${l.unit}`;return`Túl kicsi: a bemeneti érték ${n.origin} túl kicsi ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Érvénytelen string: "${e.prefix}" értékkel kell kezdődnie`;if(e.format==="ends_with")return`Érvénytelen string: "${e.suffix}" értékkel kell végződnie`;if(e.format==="includes")return`Érvénytelen string: "${e.includes}" értéket kell tartalmaznia`;if(e.format==="regex")return`Érvénytelen string: ${e.pattern} mintának kell megfelelnie`;return`Érvénytelen ${o[e.format]??n.format}`}case"not_multiple_of":return`Érvénytelen szám: ${n.divisor} többszörösének kell lennie`;case"unrecognized_keys":return`Ismeretlen kulcs${n.keys.length>1?"s":""}: ${x(n.keys,", ")}`;case"invalid_key":return`Érvénytelen kulcs ${n.origin}`;case"invalid_union":return"Érvénytelen bemenet";case"invalid_element":return`Érvénytelen érték: ${n.origin}`;default:return"Érvénytelen bemenet"}}};function zb(){return{localeError:jO()}}var OO=()=>{let r={string:{unit:"karakter",verb:"memiliki"},file:{unit:"byte",verb:"memiliki"},array:{unit:"item",verb:"memiliki"},set:{unit:"item",verb:"memiliki"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"number";case"object":{if(Array.isArray(n))return"array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"input",email:"alamat email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tanggal dan waktu format ISO",date:"tanggal format ISO",time:"jam format ISO",duration:"durasi format ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"rentang alamat IPv4",cidrv6:"rentang alamat IPv6",base64:"string dengan enkode base64",base64url:"string dengan enkode base64url",json_string:"string JSON",e164:"angka E.164",jwt:"JWT",template_literal:"input"};return(n)=>{switch(n.code){case"invalid_type":return`Input tidak valid: diharapkan ${n.expected}, diterima ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Input tidak valid: diharapkan ${z(n.values[0])}`;return`Pilihan tidak valid: diharapkan salah satu dari ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Terlalu besar: diharapkan ${n.origin??"value"} memiliki ${e}${n.maximum.toString()} ${l.unit??"elemen"}`;return`Terlalu besar: diharapkan ${n.origin??"value"} menjadi ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Terlalu kecil: diharapkan ${n.origin} memiliki ${e}${n.minimum.toString()} ${l.unit}`;return`Terlalu kecil: diharapkan ${n.origin} menjadi ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`String tidak valid: harus dimulai dengan "${e.prefix}"`;if(e.format==="ends_with")return`String tidak valid: harus berakhir dengan "${e.suffix}"`;if(e.format==="includes")return`String tidak valid: harus menyertakan "${e.includes}"`;if(e.format==="regex")return`String tidak valid: harus sesuai pola ${e.pattern}`;return`${o[e.format]??n.format} tidak valid`}case"not_multiple_of":return`Angka tidak valid: harus kelipatan dari ${n.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali ${n.keys.length>1?"s":""}: ${x(n.keys,", ")}`;case"invalid_key":return`Kunci tidak valid di ${n.origin}`;case"invalid_union":return"Input tidak valid";case"invalid_element":return`Nilai tidak valid di ${n.origin}`;default:return"Input tidak valid"}}};function ab(){return{localeError:OO()}}var IO=(r)=>{let t=typeof r;switch(t){case"number":return Number.isNaN(r)?"NaN":"númer";case"object":{if(Array.isArray(r))return"fylki";if(r===null)return"null";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return t},kO=()=>{let r={string:{unit:"stafi",verb:"að hafa"},file:{unit:"bæti",verb:"að hafa"},array:{unit:"hluti",verb:"að hafa"},set:{unit:"hluti",verb:"að hafa"}};function t(o){return r[o]??null}let i={regex:"gildi",email:"netfang",url:"vefslóð",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dagsetning og tími",date:"ISO dagsetning",time:"ISO tími",duration:"ISO tímalengd",ipv4:"IPv4 address",ipv6:"IPv6 address",cidrv4:"IPv4 range",cidrv6:"IPv6 range",base64:"base64-encoded strengur",base64url:"base64url-encoded strengur",json_string:"JSON strengur",e164:"E.164 tölugildi",jwt:"JWT",template_literal:"gildi"};return(o)=>{switch(o.code){case"invalid_type":return`Rangt gildi: Þú slóst inn ${IO(o.input)} þar sem á að vera ${o.expected}`;case"invalid_value":if(o.values.length===1)return`Rangt gildi: gert ráð fyrir ${z(o.values[0])}`;return`Ógilt val: má vera eitt af eftirfarandi ${x(o.values,"|")}`;case"too_big":{let n=o.inclusive?"<=":"<",e=t(o.origin);if(e)return`Of stórt: gert er ráð fyrir að ${o.origin??"gildi"} hafi ${n}${o.maximum.toString()} ${e.unit??"hluti"}`;return`Of stórt: gert er ráð fyrir að ${o.origin??"gildi"} sé ${n}${o.maximum.toString()}`}case"too_small":{let n=o.inclusive?">=":">",e=t(o.origin);if(e)return`Of lítið: gert er ráð fyrir að ${o.origin} hafi ${n}${o.minimum.toString()} ${e.unit}`;return`Of lítið: gert er ráð fyrir að ${o.origin} sé ${n}${o.minimum.toString()}`}case"invalid_format":{let n=o;if(n.format==="starts_with")return`Ógildur strengur: verður að byrja á "${n.prefix}"`;if(n.format==="ends_with")return`Ógildur strengur: verður að enda á "${n.suffix}"`;if(n.format==="includes")return`Ógildur strengur: verður að innihalda "${n.includes}"`;if(n.format==="regex")return`Ógildur strengur: verður að fylgja mynstri ${n.pattern}`;return`Rangt ${i[n.format]??o.format}`}case"not_multiple_of":return`Röng tala: verður að vera margfeldi af ${o.divisor}`;case"unrecognized_keys":return`Óþekkt ${o.keys.length>1?"ir lyklar":"ur lykill"}: ${x(o.keys,", ")}`;case"invalid_key":return`Rangur lykill í ${o.origin}`;case"invalid_union":return"Rangt gildi";case"invalid_element":return`Rangt gildi í ${o.origin}`;default:return"Rangt gildi"}}};function pb(){return{localeError:kO()}}var UO=()=>{let r={string:{unit:"caratteri",verb:"avere"},file:{unit:"byte",verb:"avere"},array:{unit:"elementi",verb:"avere"},set:{unit:"elementi",verb:"avere"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"numero";case"object":{if(Array.isArray(n))return"vettore";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"input",email:"indirizzo email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e ora ISO",date:"data ISO",time:"ora ISO",duration:"durata ISO",ipv4:"indirizzo IPv4",ipv6:"indirizzo IPv6",cidrv4:"intervallo IPv4",cidrv6:"intervallo IPv6",base64:"stringa codificata in base64",base64url:"URL codificata in base64",json_string:"stringa JSON",e164:"numero E.164",jwt:"JWT",template_literal:"input"};return(n)=>{switch(n.code){case"invalid_type":return`Input non valido: atteso ${n.expected}, ricevuto ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Input non valido: atteso ${z(n.values[0])}`;return`Opzione non valida: atteso uno tra ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Troppo grande: ${n.origin??"valore"} deve avere ${e}${n.maximum.toString()} ${l.unit??"elementi"}`;return`Troppo grande: ${n.origin??"valore"} deve essere ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Troppo piccolo: ${n.origin} deve avere ${e}${n.minimum.toString()} ${l.unit}`;return`Troppo piccolo: ${n.origin} deve essere ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Stringa non valida: deve iniziare con "${e.prefix}"`;if(e.format==="ends_with")return`Stringa non valida: deve terminare con "${e.suffix}"`;if(e.format==="includes")return`Stringa non valida: deve includere "${e.includes}"`;if(e.format==="regex")return`Stringa non valida: deve corrispondere al pattern ${e.pattern}`;return`Invalid ${o[e.format]??n.format}`}case"not_multiple_of":return`Numero non valido: deve essere un multiplo di ${n.divisor}`;case"unrecognized_keys":return`Chiav${n.keys.length>1?"i":"e"} non riconosciut${n.keys.length>1?"e":"a"}: ${x(n.keys,", ")}`;case"invalid_key":return`Chiave non valida in ${n.origin}`;case"invalid_union":return"Input non valido";case"invalid_element":return`Valore non valido in ${n.origin}`;default:return"Input non valido"}}};function _b(){return{localeError:UO()}}var JO=()=>{let r={string:{unit:"文字",verb:"である"},file:{unit:"バイト",verb:"である"},array:{unit:"要素",verb:"である"},set:{unit:"要素",verb:"である"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"数値";case"object":{if(Array.isArray(n))return"配列";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"入力値",email:"メールアドレス",url:"URL",emoji:"絵文字",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日時",date:"ISO日付",time:"ISO時刻",duration:"ISO期間",ipv4:"IPv4アドレス",ipv6:"IPv6アドレス",cidrv4:"IPv4範囲",cidrv6:"IPv6範囲",base64:"base64エンコード文字列",base64url:"base64urlエンコード文字列",json_string:"JSON文字列",e164:"E.164番号",jwt:"JWT",template_literal:"入力値"};return(n)=>{switch(n.code){case"invalid_type":return`無効な入力: ${n.expected}が期待されましたが、${i(n.input)}が入力されました`;case"invalid_value":if(n.values.length===1)return`無効な入力: ${z(n.values[0])}が期待されました`;return`無効な選択: ${x(n.values,"、")}のいずれかである必要があります`;case"too_big":{let e=n.inclusive?"以下である":"より小さい",l=t(n.origin);if(l)return`大きすぎる値: ${n.origin??"値"}は${n.maximum.toString()}${l.unit??"要素"}${e}必要があります`;return`大きすぎる値: ${n.origin??"値"}は${n.maximum.toString()}${e}必要があります`}case"too_small":{let e=n.inclusive?"以上である":"より大きい",l=t(n.origin);if(l)return`小さすぎる値: ${n.origin}は${n.minimum.toString()}${l.unit}${e}必要があります`;return`小さすぎる値: ${n.origin}は${n.minimum.toString()}${e}必要があります`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`無効な文字列: "${e.prefix}"で始まる必要があります`;if(e.format==="ends_with")return`無効な文字列: "${e.suffix}"で終わる必要があります`;if(e.format==="includes")return`無効な文字列: "${e.includes}"を含む必要があります`;if(e.format==="regex")return`無効な文字列: パターン${e.pattern}に一致する必要があります`;return`無効な${o[e.format]??n.format}`}case"not_multiple_of":return`無効な数値: ${n.divisor}の倍数である必要があります`;case"unrecognized_keys":return`認識されていないキー${n.keys.length>1?"群":""}: ${x(n.keys,"、")}`;case"invalid_key":return`${n.origin}内の無効なキー`;case"invalid_union":return"無効な入力";case"invalid_element":return`${n.origin}内の無効な値`;default:return"無効な入力"}}};function Db(){return{localeError:JO()}}var PO=(r)=>{let t=typeof r;switch(t){case"number":return Number.isNaN(r)?"NaN":"რიცხვი";case"object":{if(Array.isArray(r))return"მასივი";if(r===null)return"null";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return{string:"სტრინგი",boolean:"ბულეანი",undefined:"undefined",bigint:"bigint",symbol:"symbol",function:"ფუნქცია"}[t]??t},XO=()=>{let r={string:{unit:"სიმბოლო",verb:"უნდა შეიცავდეს"},file:{unit:"ბაიტი",verb:"უნდა შეიცავდეს"},array:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"},set:{unit:"ელემენტი",verb:"უნდა შეიცავდეს"}};function t(o){return r[o]??null}let i={regex:"შეყვანა",email:"ელ-ფოსტის მისამართი",url:"URL",emoji:"ემოჯი",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"თარიღი-დრო",date:"თარიღი",time:"დრო",duration:"ხანგრძლივობა",ipv4:"IPv4 მისამართი",ipv6:"IPv6 მისამართი",cidrv4:"IPv4 დიაპაზონი",cidrv6:"IPv6 დიაპაზონი",base64:"base64-კოდირებული სტრინგი",base64url:"base64url-კოდირებული სტრინგი",json_string:"JSON სტრინგი",e164:"E.164 ნომერი",jwt:"JWT",template_literal:"შეყვანა"};return(o)=>{switch(o.code){case"invalid_type":return`არასწორი შეყვანა: მოსალოდნელი ${o.expected}, მიღებული ${PO(o.input)}`;case"invalid_value":if(o.values.length===1)return`არასწორი შეყვანა: მოსალოდნელი ${z(o.values[0])}`;return`არასწორი ვარიანტი: მოსალოდნელია ერთ-ერთი ${x(o.values,"|")}-დან`;case"too_big":{let n=o.inclusive?"<=":"<",e=t(o.origin);if(e)return`ზედმეტად დიდი: მოსალოდნელი ${o.origin??"მნიშვნელობა"} ${e.verb} ${n}${o.maximum.toString()} ${e.unit}`;return`ზედმეტად დიდი: მოსალოდნელი ${o.origin??"მნიშვნელობა"} იყოს ${n}${o.maximum.toString()}`}case"too_small":{let n=o.inclusive?">=":">",e=t(o.origin);if(e)return`ზედმეტად პატარა: მოსალოდნელი ${o.origin} ${e.verb} ${n}${o.minimum.toString()} ${e.unit}`;return`ზედმეტად პატარა: მოსალოდნელი ${o.origin} იყოს ${n}${o.minimum.toString()}`}case"invalid_format":{let n=o;if(n.format==="starts_with")return`არასწორი სტრინგი: უნდა იწყებოდეს "${n.prefix}"-ით`;if(n.format==="ends_with")return`არასწორი სტრინგი: უნდა მთავრდებოდეს "${n.suffix}"-ით`;if(n.format==="includes")return`არასწორი სტრინგი: უნდა შეიცავდეს "${n.includes}"-ს`;if(n.format==="regex")return`არასწორი სტრინგი: უნდა შეესაბამებოდეს შაბლონს ${n.pattern}`;return`არასწორი ${i[n.format]??o.format}`}case"not_multiple_of":return`არასწორი რიცხვი: უნდა იყოს ${o.divisor}-ის ჯერადი`;case"unrecognized_keys":return`უცნობი გასაღებ${o.keys.length>1?"ები":"ი"}: ${x(o.keys,", ")}`;case"invalid_key":return`არასწორი გასაღები ${o.origin}-ში`;case"invalid_union":return"არასწორი შეყვანა";case"invalid_element":return`არასწორი მნიშვნელობა ${o.origin}-ში`;default:return"არასწორი შეყვანა"}}};function jb(){return{localeError:XO()}}var qO=()=>{let r={string:{unit:"តួអក្សរ",verb:"គួរមាន"},file:{unit:"បៃ",verb:"គួរមាន"},array:{unit:"ធាតុ",verb:"គួរមាន"},set:{unit:"ធាតុ",verb:"គួរមាន"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"មិនមែនជាលេខ (NaN)":"លេខ";case"object":{if(Array.isArray(n))return"អារេ (Array)";if(n===null)return"គ្មានតម្លៃ (null)";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"ទិន្នន័យបញ្ចូល",email:"អាសយដ្ឋានអ៊ីមែល",url:"URL",emoji:"សញ្ញាអារម្មណ៍",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"កាលបរិច្ឆេទ និងម៉ោង ISO",date:"កាលបរិច្ឆេទ ISO",time:"ម៉ោង ISO",duration:"រយៈពេល ISO",ipv4:"អាសយដ្ឋាន IPv4",ipv6:"អាសយដ្ឋាន IPv6",cidrv4:"ដែនអាសយដ្ឋាន IPv4",cidrv6:"ដែនអាសយដ្ឋាន IPv6",base64:"ខ្សែអក្សរអ៊ិកូដ base64",base64url:"ខ្សែអក្សរអ៊ិកូដ base64url",json_string:"ខ្សែអក្សរ JSON",e164:"លេខ E.164",jwt:"JWT",template_literal:"ទិន្នន័យបញ្ចូល"};return(n)=>{switch(n.code){case"invalid_type":return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${n.expected} ប៉ុន្តែទទួលបាន ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`ទិន្នន័យបញ្ចូលមិនត្រឹមត្រូវ៖ ត្រូវការ ${z(n.values[0])}`;return`ជម្រើសមិនត្រឹមត្រូវ៖ ត្រូវជាមួយក្នុងចំណោម ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`ធំពេក៖ ត្រូវការ ${n.origin??"តម្លៃ"} ${e} ${n.maximum.toString()} ${l.unit??"ធាតុ"}`;return`ធំពេក៖ ត្រូវការ ${n.origin??"តម្លៃ"} ${e} ${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`តូចពេក៖ ត្រូវការ ${n.origin} ${e} ${n.minimum.toString()} ${l.unit}`;return`តូចពេក៖ ត្រូវការ ${n.origin} ${e} ${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវចាប់ផ្តើមដោយ "${e.prefix}"`;if(e.format==="ends_with")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវបញ្ចប់ដោយ "${e.suffix}"`;if(e.format==="includes")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវមាន "${e.includes}"`;if(e.format==="regex")return`ខ្សែអក្សរមិនត្រឹមត្រូវ៖ ត្រូវតែផ្គូផ្គងនឹងទម្រង់ដែលបានកំណត់ ${e.pattern}`;return`មិនត្រឹមត្រូវ៖ ${o[e.format]??n.format}`}case"not_multiple_of":return`លេខមិនត្រឹមត្រូវ៖ ត្រូវតែជាពហុគុណនៃ ${n.divisor}`;case"unrecognized_keys":return`រកឃើញសោមិនស្គាល់៖ ${x(n.keys,", ")}`;case"invalid_key":return`សោមិនត្រឹមត្រូវនៅក្នុង ${n.origin}`;case"invalid_union":return"ទិន្នន័យមិនត្រឹមត្រូវ";case"invalid_element":return`ទិន្នន័យមិនត្រឹមត្រូវនៅក្នុង ${n.origin}`;default:return"ទិន្នន័យមិនត្រឹមត្រូវ"}}};function ei(){return{localeError:qO()}}function Ob(){return ei()}var WO=()=>{let r={string:{unit:"문자",verb:"to have"},file:{unit:"바이트",verb:"to have"},array:{unit:"개",verb:"to have"},set:{unit:"개",verb:"to have"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"number";case"object":{if(Array.isArray(n))return"array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"입력",email:"이메일 주소",url:"URL",emoji:"이모지",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 날짜시간",date:"ISO 날짜",time:"ISO 시간",duration:"ISO 기간",ipv4:"IPv4 주소",ipv6:"IPv6 주소",cidrv4:"IPv4 범위",cidrv6:"IPv6 범위",base64:"base64 인코딩 문자열",base64url:"base64url 인코딩 문자열",json_string:"JSON 문자열",e164:"E.164 번호",jwt:"JWT",template_literal:"입력"};return(n)=>{switch(n.code){case"invalid_type":return`잘못된 입력: 예상 타입은 ${n.expected}, 받은 타입은 ${i(n.input)}입니다`;case"invalid_value":if(n.values.length===1)return`잘못된 입력: 값은 ${z(n.values[0])} 이어야 합니다`;return`잘못된 옵션: ${x(n.values,"또는 ")} 중 하나여야 합니다`;case"too_big":{let e=n.inclusive?"이하":"미만",l=e==="미만"?"이어야 합니다":"여야 합니다",u=t(n.origin),g=u?.unit??"요소";if(u)return`${n.origin??"값"}이 너무 큽니다: ${n.maximum.toString()}${g} ${e}${l}`;return`${n.origin??"값"}이 너무 큽니다: ${n.maximum.toString()} ${e}${l}`}case"too_small":{let e=n.inclusive?"이상":"초과",l=e==="이상"?"이어야 합니다":"여야 합니다",u=t(n.origin),g=u?.unit??"요소";if(u)return`${n.origin??"값"}이 너무 작습니다: ${n.minimum.toString()}${g} ${e}${l}`;return`${n.origin??"값"}이 너무 작습니다: ${n.minimum.toString()} ${e}${l}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`잘못된 문자열: "${e.prefix}"(으)로 시작해야 합니다`;if(e.format==="ends_with")return`잘못된 문자열: "${e.suffix}"(으)로 끝나야 합니다`;if(e.format==="includes")return`잘못된 문자열: "${e.includes}"을(를) 포함해야 합니다`;if(e.format==="regex")return`잘못된 문자열: 정규식 ${e.pattern} 패턴과 일치해야 합니다`;return`잘못된 ${o[e.format]??n.format}`}case"not_multiple_of":return`잘못된 숫자: ${n.divisor}의 배수여야 합니다`;case"unrecognized_keys":return`인식할 수 없는 키: ${x(n.keys,", ")}`;case"invalid_key":return`잘못된 키: ${n.origin}`;case"invalid_union":return"잘못된 입력";case"invalid_element":return`잘못된 값: ${n.origin}`;default:return"잘못된 입력"}}};function Ib(){return{localeError:WO()}}var KO=(r)=>{return ci(typeof r,r)},ci=(r,t=void 0)=>{switch(r){case"number":return Number.isNaN(t)?"NaN":"skaičius";case"bigint":return"sveikasis skaičius";case"string":return"eilutė";case"boolean":return"loginė reikšmė";case"undefined":case"void":return"neapibrėžta reikšmė";case"function":return"funkcija";case"symbol":return"simbolis";case"object":{if(t===void 0)return"nežinomas objektas";if(t===null)return"nulinė reikšmė";if(Array.isArray(t))return"masyvas";if(Object.getPrototypeOf(t)!==Object.prototype&&t.constructor)return t.constructor.name;return"objektas"}case"null":return"nulinė reikšmė"}return r},li=(r)=>{return r.charAt(0).toUpperCase()+r.slice(1)};function Iw(r){let t=Math.abs(r),i=t%10,o=t%100;if(o>=11&&o<=19||i===0)return"many";if(i===1)return"one";return"few"}var VO=()=>{let r={string:{unit:{one:"simbolis",few:"simboliai",many:"simbolių"},verb:{smaller:{inclusive:"turi būti ne ilgesnė kaip",notInclusive:"turi būti trumpesnė kaip"},bigger:{inclusive:"turi būti ne trumpesnė kaip",notInclusive:"turi būti ilgesnė kaip"}}},file:{unit:{one:"baitas",few:"baitai",many:"baitų"},verb:{smaller:{inclusive:"turi būti ne didesnis kaip",notInclusive:"turi būti mažesnis kaip"},bigger:{inclusive:"turi būti ne mažesnis kaip",notInclusive:"turi būti didesnis kaip"}}},array:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}},set:{unit:{one:"elementą",few:"elementus",many:"elementų"},verb:{smaller:{inclusive:"turi turėti ne daugiau kaip",notInclusive:"turi turėti mažiau kaip"},bigger:{inclusive:"turi turėti ne mažiau kaip",notInclusive:"turi turėti daugiau kaip"}}}};function t(o,n,e,l){let u=r[o]??null;if(u===null)return u;return{unit:u.unit[n],verb:u.verb[l][e?"inclusive":"notInclusive"]}}let i={regex:"įvestis",email:"el. pašto adresas",url:"URL",emoji:"jaustukas",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO data ir laikas",date:"ISO data",time:"ISO laikas",duration:"ISO trukmė",ipv4:"IPv4 adresas",ipv6:"IPv6 adresas",cidrv4:"IPv4 tinklo prefiksas (CIDR)",cidrv6:"IPv6 tinklo prefiksas (CIDR)",base64:"base64 užkoduota eilutė",base64url:"base64url užkoduota eilutė",json_string:"JSON eilutė",e164:"E.164 numeris",jwt:"JWT",template_literal:"įvestis"};return(o)=>{switch(o.code){case"invalid_type":return`Gautas tipas ${KO(o.input)}, o tikėtasi - ${ci(o.expected)}`;case"invalid_value":if(o.values.length===1)return`Privalo būti ${z(o.values[0])}`;return`Privalo būti vienas iš ${x(o.values,"|")} pasirinkimų`;case"too_big":{let n=ci(o.origin),e=t(o.origin,Iw(Number(o.maximum)),o.inclusive??!1,"smaller");if(e?.verb)return`${li(n??o.origin??"reikšmė")} ${e.verb} ${o.maximum.toString()} ${e.unit??"elementų"}`;let l=o.inclusive?"ne didesnis kaip":"mažesnis kaip";return`${li(n??o.origin??"reikšmė")} turi būti ${l} ${o.maximum.toString()} ${e?.unit}`}case"too_small":{let n=ci(o.origin),e=t(o.origin,Iw(Number(o.minimum)),o.inclusive??!1,"bigger");if(e?.verb)return`${li(n??o.origin??"reikšmė")} ${e.verb} ${o.minimum.toString()} ${e.unit??"elementų"}`;let l=o.inclusive?"ne mažesnis kaip":"didesnis kaip";return`${li(n??o.origin??"reikšmė")} turi būti ${l} ${o.minimum.toString()} ${e?.unit}`}case"invalid_format":{let n=o;if(n.format==="starts_with")return`Eilutė privalo prasidėti "${n.prefix}"`;if(n.format==="ends_with")return`Eilutė privalo pasibaigti "${n.suffix}"`;if(n.format==="includes")return`Eilutė privalo įtraukti "${n.includes}"`;if(n.format==="regex")return`Eilutė privalo atitikti ${n.pattern}`;return`Neteisingas ${i[n.format]??o.format}`}case"not_multiple_of":return`Skaičius privalo būti ${o.divisor} kartotinis.`;case"unrecognized_keys":return`Neatpažint${o.keys.length>1?"i":"as"} rakt${o.keys.length>1?"ai":"as"}: ${x(o.keys,", ")}`;case"invalid_key":return"Rastas klaidingas raktas";case"invalid_union":return"Klaidinga įvestis";case"invalid_element":{let n=ci(o.origin);return`${li(n??o.origin??"reikšmė")} turi klaidingą įvestį`}default:return"Klaidinga įvestis"}}};function kb(){return{localeError:VO()}}var LO=()=>{let r={string:{unit:"знаци",verb:"да имаат"},file:{unit:"бајти",verb:"да имаат"},array:{unit:"ставки",verb:"да имаат"},set:{unit:"ставки",verb:"да имаат"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"број";case"object":{if(Array.isArray(n))return"низа";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"внес",email:"адреса на е-пошта",url:"URL",emoji:"емоџи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO датум и време",date:"ISO датум",time:"ISO време",duration:"ISO времетраење",ipv4:"IPv4 адреса",ipv6:"IPv6 адреса",cidrv4:"IPv4 опсег",cidrv6:"IPv6 опсег",base64:"base64-енкодирана низа",base64url:"base64url-енкодирана низа",json_string:"JSON низа",e164:"E.164 број",jwt:"JWT",template_literal:"внес"};return(n)=>{switch(n.code){case"invalid_type":return`Грешен внес: се очекува ${n.expected}, примено ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Invalid input: expected ${z(n.values[0])}`;return`Грешана опција: се очекува една ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Премногу голем: се очекува ${n.origin??"вредноста"} да има ${e}${n.maximum.toString()} ${l.unit??"елементи"}`;return`Премногу голем: се очекува ${n.origin??"вредноста"} да биде ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Премногу мал: се очекува ${n.origin} да има ${e}${n.minimum.toString()} ${l.unit}`;return`Премногу мал: се очекува ${n.origin} да биде ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Неважечка низа: мора да започнува со "${e.prefix}"`;if(e.format==="ends_with")return`Неважечка низа: мора да завршува со "${e.suffix}"`;if(e.format==="includes")return`Неважечка низа: мора да вклучува "${e.includes}"`;if(e.format==="regex")return`Неважечка низа: мора да одгоара на патернот ${e.pattern}`;return`Invalid ${o[e.format]??n.format}`}case"not_multiple_of":return`Грешен број: мора да биде делив со ${n.divisor}`;case"unrecognized_keys":return`${n.keys.length>1?"Непрепознаени клучеви":"Непрепознаен клуч"}: ${x(n.keys,", ")}`;case"invalid_key":return`Грешен клуч во ${n.origin}`;case"invalid_union":return"Грешен внес";case"invalid_element":return`Грешна вредност во ${n.origin}`;default:return"Грешен внес"}}};function Ub(){return{localeError:LO()}}var YO=()=>{let r={string:{unit:"aksara",verb:"mempunyai"},file:{unit:"bait",verb:"mempunyai"},array:{unit:"elemen",verb:"mempunyai"},set:{unit:"elemen",verb:"mempunyai"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"nombor";case"object":{if(Array.isArray(n))return"array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"input",email:"alamat e-mel",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"tarikh masa ISO",date:"tarikh ISO",time:"masa ISO",duration:"tempoh ISO",ipv4:"alamat IPv4",ipv6:"alamat IPv6",cidrv4:"julat IPv4",cidrv6:"julat IPv6",base64:"string dikodkan base64",base64url:"string dikodkan base64url",json_string:"string JSON",e164:"nombor E.164",jwt:"JWT",template_literal:"input"};return(n)=>{switch(n.code){case"invalid_type":return`Input tidak sah: dijangka ${n.expected}, diterima ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Input tidak sah: dijangka ${z(n.values[0])}`;return`Pilihan tidak sah: dijangka salah satu daripada ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Terlalu besar: dijangka ${n.origin??"nilai"} ${l.verb} ${e}${n.maximum.toString()} ${l.unit??"elemen"}`;return`Terlalu besar: dijangka ${n.origin??"nilai"} adalah ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Terlalu kecil: dijangka ${n.origin} ${l.verb} ${e}${n.minimum.toString()} ${l.unit}`;return`Terlalu kecil: dijangka ${n.origin} adalah ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`String tidak sah: mesti bermula dengan "${e.prefix}"`;if(e.format==="ends_with")return`String tidak sah: mesti berakhir dengan "${e.suffix}"`;if(e.format==="includes")return`String tidak sah: mesti mengandungi "${e.includes}"`;if(e.format==="regex")return`String tidak sah: mesti sepadan dengan corak ${e.pattern}`;return`${o[e.format]??n.format} tidak sah`}case"not_multiple_of":return`Nombor tidak sah: perlu gandaan ${n.divisor}`;case"unrecognized_keys":return`Kunci tidak dikenali: ${x(n.keys,", ")}`;case"invalid_key":return`Kunci tidak sah dalam ${n.origin}`;case"invalid_union":return"Input tidak sah";case"invalid_element":return`Nilai tidak sah dalam ${n.origin}`;default:return"Input tidak sah"}}};function Jb(){return{localeError:YO()}}var EO=()=>{let r={string:{unit:"tekens"},file:{unit:"bytes"},array:{unit:"elementen"},set:{unit:"elementen"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"getal";case"object":{if(Array.isArray(n))return"array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"invoer",email:"emailadres",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum en tijd",date:"ISO datum",time:"ISO tijd",duration:"ISO duur",ipv4:"IPv4-adres",ipv6:"IPv6-adres",cidrv4:"IPv4-bereik",cidrv6:"IPv6-bereik",base64:"base64-gecodeerde tekst",base64url:"base64 URL-gecodeerde tekst",json_string:"JSON string",e164:"E.164-nummer",jwt:"JWT",template_literal:"invoer"};return(n)=>{switch(n.code){case"invalid_type":return`Ongeldige invoer: verwacht ${n.expected}, ontving ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Ongeldige invoer: verwacht ${z(n.values[0])}`;return`Ongeldige optie: verwacht één van ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Te lang: verwacht dat ${n.origin??"waarde"} ${e}${n.maximum.toString()} ${l.unit??"elementen"} bevat`;return`Te lang: verwacht dat ${n.origin??"waarde"} ${e}${n.maximum.toString()} is`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Te kort: verwacht dat ${n.origin} ${e}${n.minimum.toString()} ${l.unit} bevat`;return`Te kort: verwacht dat ${n.origin} ${e}${n.minimum.toString()} is`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Ongeldige tekst: moet met "${e.prefix}" beginnen`;if(e.format==="ends_with")return`Ongeldige tekst: moet op "${e.suffix}" eindigen`;if(e.format==="includes")return`Ongeldige tekst: moet "${e.includes}" bevatten`;if(e.format==="regex")return`Ongeldige tekst: moet overeenkomen met patroon ${e.pattern}`;return`Ongeldig: ${o[e.format]??n.format}`}case"not_multiple_of":return`Ongeldig getal: moet een veelvoud van ${n.divisor} zijn`;case"unrecognized_keys":return`Onbekende key${n.keys.length>1?"s":""}: ${x(n.keys,", ")}`;case"invalid_key":return`Ongeldige key in ${n.origin}`;case"invalid_union":return"Ongeldige invoer";case"invalid_element":return`Ongeldige waarde in ${n.origin}`;default:return"Ongeldige invoer"}}};function Pb(){return{localeError:EO()}}var QO=()=>{let r={string:{unit:"tegn",verb:"å ha"},file:{unit:"bytes",verb:"å ha"},array:{unit:"elementer",verb:"å inneholde"},set:{unit:"elementer",verb:"å inneholde"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"tall";case"object":{if(Array.isArray(n))return"liste";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"input",email:"e-postadresse",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO dato- og klokkeslett",date:"ISO-dato",time:"ISO-klokkeslett",duration:"ISO-varighet",ipv4:"IPv4-område",ipv6:"IPv6-område",cidrv4:"IPv4-spekter",cidrv6:"IPv6-spekter",base64:"base64-enkodet streng",base64url:"base64url-enkodet streng",json_string:"JSON-streng",e164:"E.164-nummer",jwt:"JWT",template_literal:"input"};return(n)=>{switch(n.code){case"invalid_type":return`Ugyldig input: forventet ${n.expected}, fikk ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Ugyldig verdi: forventet ${z(n.values[0])}`;return`Ugyldig valg: forventet en av ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`For stor(t): forventet ${n.origin??"value"} til å ha ${e}${n.maximum.toString()} ${l.unit??"elementer"}`;return`For stor(t): forventet ${n.origin??"value"} til å ha ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`For lite(n): forventet ${n.origin} til å ha ${e}${n.minimum.toString()} ${l.unit}`;return`For lite(n): forventet ${n.origin} til å ha ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Ugyldig streng: må starte med "${e.prefix}"`;if(e.format==="ends_with")return`Ugyldig streng: må ende med "${e.suffix}"`;if(e.format==="includes")return`Ugyldig streng: må inneholde "${e.includes}"`;if(e.format==="regex")return`Ugyldig streng: må matche mønsteret ${e.pattern}`;return`Ugyldig ${o[e.format]??n.format}`}case"not_multiple_of":return`Ugyldig tall: må være et multiplum av ${n.divisor}`;case"unrecognized_keys":return`${n.keys.length>1?"Ukjente nøkler":"Ukjent nøkkel"}: ${x(n.keys,", ")}`;case"invalid_key":return`Ugyldig nøkkel i ${n.origin}`;case"invalid_union":return"Ugyldig input";case"invalid_element":return`Ugyldig verdi i ${n.origin}`;default:return"Ugyldig input"}}};function Xb(){return{localeError:QO()}}var FO=()=>{let r={string:{unit:"harf",verb:"olmalıdır"},file:{unit:"bayt",verb:"olmalıdır"},array:{unit:"unsur",verb:"olmalıdır"},set:{unit:"unsur",verb:"olmalıdır"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"numara";case"object":{if(Array.isArray(n))return"saf";if(n===null)return"gayb";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"giren",email:"epostagâh",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO hengâmı",date:"ISO tarihi",time:"ISO zamanı",duration:"ISO müddeti",ipv4:"IPv4 nişânı",ipv6:"IPv6 nişânı",cidrv4:"IPv4 menzili",cidrv6:"IPv6 menzili",base64:"base64-şifreli metin",base64url:"base64url-şifreli metin",json_string:"JSON metin",e164:"E.164 sayısı",jwt:"JWT",template_literal:"giren"};return(n)=>{switch(n.code){case"invalid_type":return`Fâsit giren: umulan ${n.expected}, alınan ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Fâsit giren: umulan ${z(n.values[0])}`;return`Fâsit tercih: mûteberler ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Fazla büyük: ${n.origin??"value"}, ${e}${n.maximum.toString()} ${l.unit??"elements"} sahip olmalıydı.`;return`Fazla büyük: ${n.origin??"value"}, ${e}${n.maximum.toString()} olmalıydı.`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Fazla küçük: ${n.origin}, ${e}${n.minimum.toString()} ${l.unit} sahip olmalıydı.`;return`Fazla küçük: ${n.origin}, ${e}${n.minimum.toString()} olmalıydı.`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Fâsit metin: "${e.prefix}" ile başlamalı.`;if(e.format==="ends_with")return`Fâsit metin: "${e.suffix}" ile bitmeli.`;if(e.format==="includes")return`Fâsit metin: "${e.includes}" ihtivâ etmeli.`;if(e.format==="regex")return`Fâsit metin: ${e.pattern} nakşına uymalı.`;return`Fâsit ${o[e.format]??n.format}`}case"not_multiple_of":return`Fâsit sayı: ${n.divisor} katı olmalıydı.`;case"unrecognized_keys":return`Tanınmayan anahtar ${n.keys.length>1?"s":""}: ${x(n.keys,", ")}`;case"invalid_key":return`${n.origin} için tanınmayan anahtar var.`;case"invalid_union":return"Giren tanınamadı.";case"invalid_element":return`${n.origin} için tanınmayan kıymet var.`;default:return"Kıymet tanınamadı."}}};function qb(){return{localeError:FO()}}var SO=()=>{let r={string:{unit:"توکي",verb:"ولري"},file:{unit:"بایټس",verb:"ولري"},array:{unit:"توکي",verb:"ولري"},set:{unit:"توکي",verb:"ولري"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"عدد";case"object":{if(Array.isArray(n))return"ارې";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"ورودي",email:"بریښنالیک",url:"یو آر ال",emoji:"ایموجي",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"نیټه او وخت",date:"نېټه",time:"وخت",duration:"موده",ipv4:"د IPv4 پته",ipv6:"د IPv6 پته",cidrv4:"د IPv4 ساحه",cidrv6:"د IPv6 ساحه",base64:"base64-encoded متن",base64url:"base64url-encoded متن",json_string:"JSON متن",e164:"د E.164 شمېره",jwt:"JWT",template_literal:"ورودي"};return(n)=>{switch(n.code){case"invalid_type":return`ناسم ورودي: باید ${n.expected} وای, مګر ${i(n.input)} ترلاسه شو`;case"invalid_value":if(n.values.length===1)return`ناسم ورودي: باید ${z(n.values[0])} وای`;return`ناسم انتخاب: باید یو له ${x(n.values,"|")} څخه وای`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`ډیر لوی: ${n.origin??"ارزښت"} باید ${e}${n.maximum.toString()} ${l.unit??"عنصرونه"} ولري`;return`ډیر لوی: ${n.origin??"ارزښت"} باید ${e}${n.maximum.toString()} وي`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`ډیر کوچنی: ${n.origin} باید ${e}${n.minimum.toString()} ${l.unit} ولري`;return`ډیر کوچنی: ${n.origin} باید ${e}${n.minimum.toString()} وي`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`ناسم متن: باید د "${e.prefix}" سره پیل شي`;if(e.format==="ends_with")return`ناسم متن: باید د "${e.suffix}" سره پای ته ورسيږي`;if(e.format==="includes")return`ناسم متن: باید "${e.includes}" ولري`;if(e.format==="regex")return`ناسم متن: باید د ${e.pattern} سره مطابقت ولري`;return`${o[e.format]??n.format} ناسم دی`}case"not_multiple_of":return`ناسم عدد: باید د ${n.divisor} مضرب وي`;case"unrecognized_keys":return`ناسم ${n.keys.length>1?"کلیډونه":"کلیډ"}: ${x(n.keys,", ")}`;case"invalid_key":return`ناسم کلیډ په ${n.origin} کې`;case"invalid_union":return"ناسمه ورودي";case"invalid_element":return`ناسم عنصر په ${n.origin} کې`;default:return"ناسمه ورودي"}}};function Wb(){return{localeError:SO()}}var NO=()=>{let r={string:{unit:"znaków",verb:"mieć"},file:{unit:"bajtów",verb:"mieć"},array:{unit:"elementów",verb:"mieć"},set:{unit:"elementów",verb:"mieć"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"liczba";case"object":{if(Array.isArray(n))return"tablica";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"wyrażenie",email:"adres email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data i godzina w formacie ISO",date:"data w formacie ISO",time:"godzina w formacie ISO",duration:"czas trwania ISO",ipv4:"adres IPv4",ipv6:"adres IPv6",cidrv4:"zakres IPv4",cidrv6:"zakres IPv6",base64:"ciąg znaków zakodowany w formacie base64",base64url:"ciąg znaków zakodowany w formacie base64url",json_string:"ciąg znaków w formacie JSON",e164:"liczba E.164",jwt:"JWT",template_literal:"wejście"};return(n)=>{switch(n.code){case"invalid_type":return`Nieprawidłowe dane wejściowe: oczekiwano ${n.expected}, otrzymano ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Nieprawidłowe dane wejściowe: oczekiwano ${z(n.values[0])}`;return`Nieprawidłowa opcja: oczekiwano jednej z wartości ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Za duża wartość: oczekiwano, że ${n.origin??"wartość"} będzie mieć ${e}${n.maximum.toString()} ${l.unit??"elementów"}`;return`Zbyt duż(y/a/e): oczekiwano, że ${n.origin??"wartość"} będzie wynosić ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Za mała wartość: oczekiwano, że ${n.origin??"wartość"} będzie mieć ${e}${n.minimum.toString()} ${l.unit??"elementów"}`;return`Zbyt mał(y/a/e): oczekiwano, że ${n.origin??"wartość"} będzie wynosić ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Nieprawidłowy ciąg znaków: musi zaczynać się od "${e.prefix}"`;if(e.format==="ends_with")return`Nieprawidłowy ciąg znaków: musi kończyć się na "${e.suffix}"`;if(e.format==="includes")return`Nieprawidłowy ciąg znaków: musi zawierać "${e.includes}"`;if(e.format==="regex")return`Nieprawidłowy ciąg znaków: musi odpowiadać wzorcowi ${e.pattern}`;return`Nieprawidłow(y/a/e) ${o[e.format]??n.format}`}case"not_multiple_of":return`Nieprawidłowa liczba: musi być wielokrotnością ${n.divisor}`;case"unrecognized_keys":return`Nierozpoznane klucze${n.keys.length>1?"s":""}: ${x(n.keys,", ")}`;case"invalid_key":return`Nieprawidłowy klucz w ${n.origin}`;case"invalid_union":return"Nieprawidłowe dane wejściowe";case"invalid_element":return`Nieprawidłowa wartość w ${n.origin}`;default:return"Nieprawidłowe dane wejściowe"}}};function Kb(){return{localeError:NO()}}var GO=()=>{let r={string:{unit:"caracteres",verb:"ter"},file:{unit:"bytes",verb:"ter"},array:{unit:"itens",verb:"ter"},set:{unit:"itens",verb:"ter"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"número";case"object":{if(Array.isArray(n))return"array";if(n===null)return"nulo";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"padrão",email:"endereço de e-mail",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"data e hora ISO",date:"data ISO",time:"hora ISO",duration:"duração ISO",ipv4:"endereço IPv4",ipv6:"endereço IPv6",cidrv4:"faixa de IPv4",cidrv6:"faixa de IPv6",base64:"texto codificado em base64",base64url:"URL codificada em base64",json_string:"texto JSON",e164:"número E.164",jwt:"JWT",template_literal:"entrada"};return(n)=>{switch(n.code){case"invalid_type":return`Tipo inválido: esperado ${n.expected}, recebido ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Entrada inválida: esperado ${z(n.values[0])}`;return`Opção inválida: esperada uma das ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Muito grande: esperado que ${n.origin??"valor"} tivesse ${e}${n.maximum.toString()} ${l.unit??"elementos"}`;return`Muito grande: esperado que ${n.origin??"valor"} fosse ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Muito pequeno: esperado que ${n.origin} tivesse ${e}${n.minimum.toString()} ${l.unit}`;return`Muito pequeno: esperado que ${n.origin} fosse ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Texto inválido: deve começar com "${e.prefix}"`;if(e.format==="ends_with")return`Texto inválido: deve terminar com "${e.suffix}"`;if(e.format==="includes")return`Texto inválido: deve incluir "${e.includes}"`;if(e.format==="regex")return`Texto inválido: deve corresponder ao padrão ${e.pattern}`;return`${o[e.format]??n.format} inválido`}case"not_multiple_of":return`Número inválido: deve ser múltiplo de ${n.divisor}`;case"unrecognized_keys":return`Chave${n.keys.length>1?"s":""} desconhecida${n.keys.length>1?"s":""}: ${x(n.keys,", ")}`;case"invalid_key":return`Chave inválida em ${n.origin}`;case"invalid_union":return"Entrada inválida";case"invalid_element":return`Valor inválido em ${n.origin}`;default:return"Campo inválido"}}};function Vb(){return{localeError:GO()}}function kw(r,t,i,o){let n=Math.abs(r),e=n%10,l=n%100;if(l>=11&&l<=19)return o;if(e===1)return t;if(e>=2&&e<=4)return i;return o}var BO=()=>{let r={string:{unit:{one:"символ",few:"символа",many:"символов"},verb:"иметь"},file:{unit:{one:"байт",few:"байта",many:"байт"},verb:"иметь"},array:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"},set:{unit:{one:"элемент",few:"элемента",many:"элементов"},verb:"иметь"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"число";case"object":{if(Array.isArray(n))return"массив";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"ввод",email:"email адрес",url:"URL",emoji:"эмодзи",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO дата и время",date:"ISO дата",time:"ISO время",duration:"ISO длительность",ipv4:"IPv4 адрес",ipv6:"IPv6 адрес",cidrv4:"IPv4 диапазон",cidrv6:"IPv6 диапазон",base64:"строка в формате base64",base64url:"строка в формате base64url",json_string:"JSON строка",e164:"номер E.164",jwt:"JWT",template_literal:"ввод"};return(n)=>{switch(n.code){case"invalid_type":return`Неверный ввод: ожидалось ${n.expected}, получено ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Неверный ввод: ожидалось ${z(n.values[0])}`;return`Неверный вариант: ожидалось одно из ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l){let u=Number(n.maximum),g=kw(u,l.unit.one,l.unit.few,l.unit.many);return`Слишком большое значение: ожидалось, что ${n.origin??"значение"} будет иметь ${e}${n.maximum.toString()} ${g}`}return`Слишком большое значение: ожидалось, что ${n.origin??"значение"} будет ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l){let u=Number(n.minimum),g=kw(u,l.unit.one,l.unit.few,l.unit.many);return`Слишком маленькое значение: ожидалось, что ${n.origin} будет иметь ${e}${n.minimum.toString()} ${g}`}return`Слишком маленькое значение: ожидалось, что ${n.origin} будет ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Неверная строка: должна начинаться с "${e.prefix}"`;if(e.format==="ends_with")return`Неверная строка: должна заканчиваться на "${e.suffix}"`;if(e.format==="includes")return`Неверная строка: должна содержать "${e.includes}"`;if(e.format==="regex")return`Неверная строка: должна соответствовать шаблону ${e.pattern}`;return`Неверный ${o[e.format]??n.format}`}case"not_multiple_of":return`Неверное число: должно быть кратным ${n.divisor}`;case"unrecognized_keys":return`Нераспознанн${n.keys.length>1?"ые":"ый"} ключ${n.keys.length>1?"и":""}: ${x(n.keys,", ")}`;case"invalid_key":return`Неверный ключ в ${n.origin}`;case"invalid_union":return"Неверные входные данные";case"invalid_element":return`Неверное значение в ${n.origin}`;default:return"Неверные входные данные"}}};function Lb(){return{localeError:BO()}}var yO=()=>{let r={string:{unit:"znakov",verb:"imeti"},file:{unit:"bajtov",verb:"imeti"},array:{unit:"elementov",verb:"imeti"},set:{unit:"elementov",verb:"imeti"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"število";case"object":{if(Array.isArray(n))return"tabela";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"vnos",email:"e-poštni naslov",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO datum in čas",date:"ISO datum",time:"ISO čas",duration:"ISO trajanje",ipv4:"IPv4 naslov",ipv6:"IPv6 naslov",cidrv4:"obseg IPv4",cidrv6:"obseg IPv6",base64:"base64 kodiran niz",base64url:"base64url kodiran niz",json_string:"JSON niz",e164:"E.164 številka",jwt:"JWT",template_literal:"vnos"};return(n)=>{switch(n.code){case"invalid_type":return`Neveljaven vnos: pričakovano ${n.expected}, prejeto ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Neveljaven vnos: pričakovano ${z(n.values[0])}`;return`Neveljavna možnost: pričakovano eno izmed ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Preveliko: pričakovano, da bo ${n.origin??"vrednost"} imelo ${e}${n.maximum.toString()} ${l.unit??"elementov"}`;return`Preveliko: pričakovano, da bo ${n.origin??"vrednost"} ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Premajhno: pričakovano, da bo ${n.origin} imelo ${e}${n.minimum.toString()} ${l.unit}`;return`Premajhno: pričakovano, da bo ${n.origin} ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Neveljaven niz: mora se začeti z "${e.prefix}"`;if(e.format==="ends_with")return`Neveljaven niz: mora se končati z "${e.suffix}"`;if(e.format==="includes")return`Neveljaven niz: mora vsebovati "${e.includes}"`;if(e.format==="regex")return`Neveljaven niz: mora ustrezati vzorcu ${e.pattern}`;return`Neveljaven ${o[e.format]??n.format}`}case"not_multiple_of":return`Neveljavno število: mora biti večkratnik ${n.divisor}`;case"unrecognized_keys":return`Neprepoznan${n.keys.length>1?"i ključi":" ključ"}: ${x(n.keys,", ")}`;case"invalid_key":return`Neveljaven ključ v ${n.origin}`;case"invalid_union":return"Neveljaven vnos";case"invalid_element":return`Neveljavna vrednost v ${n.origin}`;default:return"Neveljaven vnos"}}};function Yb(){return{localeError:yO()}}var AO=()=>{let r={string:{unit:"tecken",verb:"att ha"},file:{unit:"bytes",verb:"att ha"},array:{unit:"objekt",verb:"att innehålla"},set:{unit:"objekt",verb:"att innehålla"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"antal";case"object":{if(Array.isArray(n))return"lista";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"reguljärt uttryck",email:"e-postadress",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO-datum och tid",date:"ISO-datum",time:"ISO-tid",duration:"ISO-varaktighet",ipv4:"IPv4-intervall",ipv6:"IPv6-intervall",cidrv4:"IPv4-spektrum",cidrv6:"IPv6-spektrum",base64:"base64-kodad sträng",base64url:"base64url-kodad sträng",json_string:"JSON-sträng",e164:"E.164-nummer",jwt:"JWT",template_literal:"mall-literal"};return(n)=>{switch(n.code){case"invalid_type":return`Ogiltig inmatning: förväntat ${n.expected}, fick ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Ogiltig inmatning: förväntat ${z(n.values[0])}`;return`Ogiltigt val: förväntade en av ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`För stor(t): förväntade ${n.origin??"värdet"} att ha ${e}${n.maximum.toString()} ${l.unit??"element"}`;return`För stor(t): förväntat ${n.origin??"värdet"} att ha ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`För lite(t): förväntade ${n.origin??"värdet"} att ha ${e}${n.minimum.toString()} ${l.unit}`;return`För lite(t): förväntade ${n.origin??"värdet"} att ha ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Ogiltig sträng: måste börja med "${e.prefix}"`;if(e.format==="ends_with")return`Ogiltig sträng: måste sluta med "${e.suffix}"`;if(e.format==="includes")return`Ogiltig sträng: måste innehålla "${e.includes}"`;if(e.format==="regex")return`Ogiltig sträng: måste matcha mönstret "${e.pattern}"`;return`Ogiltig(t) ${o[e.format]??n.format}`}case"not_multiple_of":return`Ogiltigt tal: måste vara en multipel av ${n.divisor}`;case"unrecognized_keys":return`${n.keys.length>1?"Okända nycklar":"Okänd nyckel"}: ${x(n.keys,", ")}`;case"invalid_key":return`Ogiltig nyckel i ${n.origin??"värdet"}`;case"invalid_union":return"Ogiltig input";case"invalid_element":return`Ogiltigt värde i ${n.origin??"värdet"}`;default:return"Ogiltig input"}}};function Eb(){return{localeError:AO()}}var HO=()=>{let r={string:{unit:"எழுத்துக்கள்",verb:"கொண்டிருக்க வேண்டும்"},file:{unit:"பைட்டுகள்",verb:"கொண்டிருக்க வேண்டும்"},array:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"},set:{unit:"உறுப்புகள்",verb:"கொண்டிருக்க வேண்டும்"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"எண் அல்லாதது":"எண்";case"object":{if(Array.isArray(n))return"அணி";if(n===null)return"வெறுமை";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"உள்ளீடு",email:"மின்னஞ்சல் முகவரி",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO தேதி நேரம்",date:"ISO தேதி",time:"ISO நேரம்",duration:"ISO கால அளவு",ipv4:"IPv4 முகவரி",ipv6:"IPv6 முகவரி",cidrv4:"IPv4 வரம்பு",cidrv6:"IPv6 வரம்பு",base64:"base64-encoded சரம்",base64url:"base64url-encoded சரம்",json_string:"JSON சரம்",e164:"E.164 எண்",jwt:"JWT",template_literal:"input"};return(n)=>{switch(n.code){case"invalid_type":return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${n.expected}, பெறப்பட்டது ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`தவறான உள்ளீடு: எதிர்பார்க்கப்பட்டது ${z(n.values[0])}`;return`தவறான விருப்பம்: எதிர்பார்க்கப்பட்டது ${x(n.values,"|")} இல் ஒன்று`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${n.origin??"மதிப்பு"} ${e}${n.maximum.toString()} ${l.unit??"உறுப்புகள்"} ஆக இருக்க வேண்டும்`;return`மிக பெரியது: எதிர்பார்க்கப்பட்டது ${n.origin??"மதிப்பு"} ${e}${n.maximum.toString()} ஆக இருக்க வேண்டும்`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${n.origin} ${e}${n.minimum.toString()} ${l.unit} ஆக இருக்க வேண்டும்`;return`மிகச் சிறியது: எதிர்பார்க்கப்பட்டது ${n.origin} ${e}${n.minimum.toString()} ஆக இருக்க வேண்டும்`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`தவறான சரம்: "${e.prefix}" இல் தொடங்க வேண்டும்`;if(e.format==="ends_with")return`தவறான சரம்: "${e.suffix}" இல் முடிவடைய வேண்டும்`;if(e.format==="includes")return`தவறான சரம்: "${e.includes}" ஐ உள்ளடக்க வேண்டும்`;if(e.format==="regex")return`தவறான சரம்: ${e.pattern} முறைபாட்டுடன் பொருந்த வேண்டும்`;return`தவறான ${o[e.format]??n.format}`}case"not_multiple_of":return`தவறான எண்: ${n.divisor} இன் பலமாக இருக்க வேண்டும்`;case"unrecognized_keys":return`அடையாளம் தெரியாத விசை${n.keys.length>1?"கள்":""}: ${x(n.keys,", ")}`;case"invalid_key":return`${n.origin} இல் தவறான விசை`;case"invalid_union":return"தவறான உள்ளீடு";case"invalid_element":return`${n.origin} இல் தவறான மதிப்பு`;default:return"தவறான உள்ளீடு"}}};function Qb(){return{localeError:HO()}}var RO=()=>{let r={string:{unit:"ตัวอักษร",verb:"ควรมี"},file:{unit:"ไบต์",verb:"ควรมี"},array:{unit:"รายการ",verb:"ควรมี"},set:{unit:"รายการ",verb:"ควรมี"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"ไม่ใช่ตัวเลข (NaN)":"ตัวเลข";case"object":{if(Array.isArray(n))return"อาร์เรย์ (Array)";if(n===null)return"ไม่มีค่า (null)";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"ข้อมูลที่ป้อน",email:"ที่อยู่อีเมล",url:"URL",emoji:"อิโมจิ",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"วันที่เวลาแบบ ISO",date:"วันที่แบบ ISO",time:"เวลาแบบ ISO",duration:"ช่วงเวลาแบบ ISO",ipv4:"ที่อยู่ IPv4",ipv6:"ที่อยู่ IPv6",cidrv4:"ช่วง IP แบบ IPv4",cidrv6:"ช่วง IP แบบ IPv6",base64:"ข้อความแบบ Base64",base64url:"ข้อความแบบ Base64 สำหรับ URL",json_string:"ข้อความแบบ JSON",e164:"เบอร์โทรศัพท์ระหว่างประเทศ (E.164)",jwt:"โทเคน JWT",template_literal:"ข้อมูลที่ป้อน"};return(n)=>{switch(n.code){case"invalid_type":return`ประเภทข้อมูลไม่ถูกต้อง: ควรเป็น ${n.expected} แต่ได้รับ ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`ค่าไม่ถูกต้อง: ควรเป็น ${z(n.values[0])}`;return`ตัวเลือกไม่ถูกต้อง: ควรเป็นหนึ่งใน ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"ไม่เกิน":"น้อยกว่า",l=t(n.origin);if(l)return`เกินกำหนด: ${n.origin??"ค่า"} ควรมี${e} ${n.maximum.toString()} ${l.unit??"รายการ"}`;return`เกินกำหนด: ${n.origin??"ค่า"} ควรมี${e} ${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?"อย่างน้อย":"มากกว่า",l=t(n.origin);if(l)return`น้อยกว่ากำหนด: ${n.origin} ควรมี${e} ${n.minimum.toString()} ${l.unit}`;return`น้อยกว่ากำหนด: ${n.origin} ควรมี${e} ${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องขึ้นต้นด้วย "${e.prefix}"`;if(e.format==="ends_with")return`รูปแบบไม่ถูกต้อง: ข้อความต้องลงท้ายด้วย "${e.suffix}"`;if(e.format==="includes")return`รูปแบบไม่ถูกต้อง: ข้อความต้องมี "${e.includes}" อยู่ในข้อความ`;if(e.format==="regex")return`รูปแบบไม่ถูกต้อง: ต้องตรงกับรูปแบบที่กำหนด ${e.pattern}`;return`รูปแบบไม่ถูกต้อง: ${o[e.format]??n.format}`}case"not_multiple_of":return`ตัวเลขไม่ถูกต้อง: ต้องเป็นจำนวนที่หารด้วย ${n.divisor} ได้ลงตัว`;case"unrecognized_keys":return`พบคีย์ที่ไม่รู้จัก: ${x(n.keys,", ")}`;case"invalid_key":return`คีย์ไม่ถูกต้องใน ${n.origin}`;case"invalid_union":return"ข้อมูลไม่ถูกต้อง: ไม่ตรงกับรูปแบบยูเนียนที่กำหนดไว้";case"invalid_element":return`ข้อมูลไม่ถูกต้องใน ${n.origin}`;default:return"ข้อมูลไม่ถูกต้อง"}}};function Fb(){return{localeError:RO()}}var MO=(r)=>{let t=typeof r;switch(t){case"number":return Number.isNaN(r)?"NaN":"number";case"object":{if(Array.isArray(r))return"array";if(r===null)return"null";if(Object.getPrototypeOf(r)!==Object.prototype&&r.constructor)return r.constructor.name}}return t},ZO=()=>{let r={string:{unit:"karakter",verb:"olmalı"},file:{unit:"bayt",verb:"olmalı"},array:{unit:"öğe",verb:"olmalı"},set:{unit:"öğe",verb:"olmalı"}};function t(o){return r[o]??null}let i={regex:"girdi",email:"e-posta adresi",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO tarih ve saat",date:"ISO tarih",time:"ISO saat",duration:"ISO süre",ipv4:"IPv4 adresi",ipv6:"IPv6 adresi",cidrv4:"IPv4 aralığı",cidrv6:"IPv6 aralığı",base64:"base64 ile şifrelenmiş metin",base64url:"base64url ile şifrelenmiş metin",json_string:"JSON dizesi",e164:"E.164 sayısı",jwt:"JWT",template_literal:"Şablon dizesi"};return(o)=>{switch(o.code){case"invalid_type":return`Geçersiz değer: beklenen ${o.expected}, alınan ${MO(o.input)}`;case"invalid_value":if(o.values.length===1)return`Geçersiz değer: beklenen ${z(o.values[0])}`;return`Geçersiz seçenek: aşağıdakilerden biri olmalı: ${x(o.values,"|")}`;case"too_big":{let n=o.inclusive?"<=":"<",e=t(o.origin);if(e)return`Çok büyük: beklenen ${o.origin??"değer"} ${n}${o.maximum.toString()} ${e.unit??"öğe"}`;return`Çok büyük: beklenen ${o.origin??"değer"} ${n}${o.maximum.toString()}`}case"too_small":{let n=o.inclusive?">=":">",e=t(o.origin);if(e)return`Çok küçük: beklenen ${o.origin} ${n}${o.minimum.toString()} ${e.unit}`;return`Çok küçük: beklenen ${o.origin} ${n}${o.minimum.toString()}`}case"invalid_format":{let n=o;if(n.format==="starts_with")return`Geçersiz metin: "${n.prefix}" ile başlamalı`;if(n.format==="ends_with")return`Geçersiz metin: "${n.suffix}" ile bitmeli`;if(n.format==="includes")return`Geçersiz metin: "${n.includes}" içermeli`;if(n.format==="regex")return`Geçersiz metin: ${n.pattern} desenine uymalı`;return`Geçersiz ${i[n.format]??o.format}`}case"not_multiple_of":return`Geçersiz sayı: ${o.divisor} ile tam bölünebilmeli`;case"unrecognized_keys":return`Tanınmayan anahtar${o.keys.length>1?"lar":""}: ${x(o.keys,", ")}`;case"invalid_key":return`${o.origin} içinde geçersiz anahtar`;case"invalid_union":return"Geçersiz değer";case"invalid_element":return`${o.origin} içinde geçersiz değer`;default:return"Geçersiz değer"}}};function Sb(){return{localeError:ZO()}}var CO=()=>{let r={string:{unit:"символів",verb:"матиме"},file:{unit:"байтів",verb:"матиме"},array:{unit:"елементів",verb:"матиме"},set:{unit:"елементів",verb:"матиме"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"число";case"object":{if(Array.isArray(n))return"масив";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"вхідні дані",email:"адреса електронної пошти",url:"URL",emoji:"емодзі",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"дата та час ISO",date:"дата ISO",time:"час ISO",duration:"тривалість ISO",ipv4:"адреса IPv4",ipv6:"адреса IPv6",cidrv4:"діапазон IPv4",cidrv6:"діапазон IPv6",base64:"рядок у кодуванні base64",base64url:"рядок у кодуванні base64url",json_string:"рядок JSON",e164:"номер E.164",jwt:"JWT",template_literal:"вхідні дані"};return(n)=>{switch(n.code){case"invalid_type":return`Неправильні вхідні дані: очікується ${n.expected}, отримано ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Неправильні вхідні дані: очікується ${z(n.values[0])}`;return`Неправильна опція: очікується одне з ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Занадто велике: очікується, що ${n.origin??"значення"} ${l.verb} ${e}${n.maximum.toString()} ${l.unit??"елементів"}`;return`Занадто велике: очікується, що ${n.origin??"значення"} буде ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Занадто мале: очікується, що ${n.origin} ${l.verb} ${e}${n.minimum.toString()} ${l.unit}`;return`Занадто мале: очікується, що ${n.origin} буде ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Неправильний рядок: повинен починатися з "${e.prefix}"`;if(e.format==="ends_with")return`Неправильний рядок: повинен закінчуватися на "${e.suffix}"`;if(e.format==="includes")return`Неправильний рядок: повинен містити "${e.includes}"`;if(e.format==="regex")return`Неправильний рядок: повинен відповідати шаблону ${e.pattern}`;return`Неправильний ${o[e.format]??n.format}`}case"not_multiple_of":return`Неправильне число: повинно бути кратним ${n.divisor}`;case"unrecognized_keys":return`Нерозпізнаний ключ${n.keys.length>1?"і":""}: ${x(n.keys,", ")}`;case"invalid_key":return`Неправильний ключ у ${n.origin}`;case"invalid_union":return"Неправильні вхідні дані";case"invalid_element":return`Неправильне значення у ${n.origin}`;default:return"Неправильні вхідні дані"}}};function ui(){return{localeError:CO()}}function Nb(){return ui()}var TO=()=>{let r={string:{unit:"حروف",verb:"ہونا"},file:{unit:"بائٹس",verb:"ہونا"},array:{unit:"آئٹمز",verb:"ہونا"},set:{unit:"آئٹمز",verb:"ہونا"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"نمبر";case"object":{if(Array.isArray(n))return"آرے";if(n===null)return"نل";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"ان پٹ",email:"ای میل ایڈریس",url:"یو آر ایل",emoji:"ایموجی",uuid:"یو یو آئی ڈی",uuidv4:"یو یو آئی ڈی وی 4",uuidv6:"یو یو آئی ڈی وی 6",nanoid:"نینو آئی ڈی",guid:"جی یو آئی ڈی",cuid:"سی یو آئی ڈی",cuid2:"سی یو آئی ڈی 2",ulid:"یو ایل آئی ڈی",xid:"ایکس آئی ڈی",ksuid:"کے ایس یو آئی ڈی",datetime:"آئی ایس او ڈیٹ ٹائم",date:"آئی ایس او تاریخ",time:"آئی ایس او وقت",duration:"آئی ایس او مدت",ipv4:"آئی پی وی 4 ایڈریس",ipv6:"آئی پی وی 6 ایڈریس",cidrv4:"آئی پی وی 4 رینج",cidrv6:"آئی پی وی 6 رینج",base64:"بیس 64 ان کوڈڈ سٹرنگ",base64url:"بیس 64 یو آر ایل ان کوڈڈ سٹرنگ",json_string:"جے ایس او این سٹرنگ",e164:"ای 164 نمبر",jwt:"جے ڈبلیو ٹی",template_literal:"ان پٹ"};return(n)=>{switch(n.code){case"invalid_type":return`غلط ان پٹ: ${n.expected} متوقع تھا، ${i(n.input)} موصول ہوا`;case"invalid_value":if(n.values.length===1)return`غلط ان پٹ: ${z(n.values[0])} متوقع تھا`;return`غلط آپشن: ${x(n.values,"|")} میں سے ایک متوقع تھا`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`بہت بڑا: ${n.origin??"ویلیو"} کے ${e}${n.maximum.toString()} ${l.unit??"عناصر"} ہونے متوقع تھے`;return`بہت بڑا: ${n.origin??"ویلیو"} کا ${e}${n.maximum.toString()} ہونا متوقع تھا`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`بہت چھوٹا: ${n.origin} کے ${e}${n.minimum.toString()} ${l.unit} ہونے متوقع تھے`;return`بہت چھوٹا: ${n.origin} کا ${e}${n.minimum.toString()} ہونا متوقع تھا`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`غلط سٹرنگ: "${e.prefix}" سے شروع ہونا چاہیے`;if(e.format==="ends_with")return`غلط سٹرنگ: "${e.suffix}" پر ختم ہونا چاہیے`;if(e.format==="includes")return`غلط سٹرنگ: "${e.includes}" شامل ہونا چاہیے`;if(e.format==="regex")return`غلط سٹرنگ: پیٹرن ${e.pattern} سے میچ ہونا چاہیے`;return`غلط ${o[e.format]??n.format}`}case"not_multiple_of":return`غلط نمبر: ${n.divisor} کا مضاعف ہونا چاہیے`;case"unrecognized_keys":return`غیر تسلیم شدہ کی${n.keys.length>1?"ز":""}: ${x(n.keys,"، ")}`;case"invalid_key":return`${n.origin} میں غلط کی`;case"invalid_union":return"غلط ان پٹ";case"invalid_element":return`${n.origin} میں غلط ویلیو`;default:return"غلط ان پٹ"}}};function Gb(){return{localeError:TO()}}var dO=()=>{let r={string:{unit:"ký tự",verb:"có"},file:{unit:"byte",verb:"có"},array:{unit:"phần tử",verb:"có"},set:{unit:"phần tử",verb:"có"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"số";case"object":{if(Array.isArray(n))return"mảng";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"đầu vào",email:"địa chỉ email",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ngày giờ ISO",date:"ngày ISO",time:"giờ ISO",duration:"khoảng thời gian ISO",ipv4:"địa chỉ IPv4",ipv6:"địa chỉ IPv6",cidrv4:"dải IPv4",cidrv6:"dải IPv6",base64:"chuỗi mã hóa base64",base64url:"chuỗi mã hóa base64url",json_string:"chuỗi JSON",e164:"số E.164",jwt:"JWT",template_literal:"đầu vào"};return(n)=>{switch(n.code){case"invalid_type":return`Đầu vào không hợp lệ: mong đợi ${n.expected}, nhận được ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Đầu vào không hợp lệ: mong đợi ${z(n.values[0])}`;return`Tùy chọn không hợp lệ: mong đợi một trong các giá trị ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Quá lớn: mong đợi ${n.origin??"giá trị"} ${l.verb} ${e}${n.maximum.toString()} ${l.unit??"phần tử"}`;return`Quá lớn: mong đợi ${n.origin??"giá trị"} ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Quá nhỏ: mong đợi ${n.origin} ${l.verb} ${e}${n.minimum.toString()} ${l.unit}`;return`Quá nhỏ: mong đợi ${n.origin} ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Chuỗi không hợp lệ: phải bắt đầu bằng "${e.prefix}"`;if(e.format==="ends_with")return`Chuỗi không hợp lệ: phải kết thúc bằng "${e.suffix}"`;if(e.format==="includes")return`Chuỗi không hợp lệ: phải bao gồm "${e.includes}"`;if(e.format==="regex")return`Chuỗi không hợp lệ: phải khớp với mẫu ${e.pattern}`;return`${o[e.format]??n.format} không hợp lệ`}case"not_multiple_of":return`Số không hợp lệ: phải là bội số của ${n.divisor}`;case"unrecognized_keys":return`Khóa không được nhận dạng: ${x(n.keys,", ")}`;case"invalid_key":return`Khóa không hợp lệ trong ${n.origin}`;case"invalid_union":return"Đầu vào không hợp lệ";case"invalid_element":return`Giá trị không hợp lệ trong ${n.origin}`;default:return"Đầu vào không hợp lệ"}}};function Bb(){return{localeError:dO()}}var sO=()=>{let r={string:{unit:"字符",verb:"包含"},file:{unit:"字节",verb:"包含"},array:{unit:"项",verb:"包含"},set:{unit:"项",verb:"包含"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"非数字(NaN)":"数字";case"object":{if(Array.isArray(n))return"数组";if(n===null)return"空值(null)";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"输入",email:"电子邮件",url:"URL",emoji:"表情符号",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO日期时间",date:"ISO日期",time:"ISO时间",duration:"ISO时长",ipv4:"IPv4地址",ipv6:"IPv6地址",cidrv4:"IPv4网段",cidrv6:"IPv6网段",base64:"base64编码字符串",base64url:"base64url编码字符串",json_string:"JSON字符串",e164:"E.164号码",jwt:"JWT",template_literal:"输入"};return(n)=>{switch(n.code){case"invalid_type":return`无效输入:期望 ${n.expected},实际接收 ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`无效输入:期望 ${z(n.values[0])}`;return`无效选项:期望以下之一 ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`数值过大:期望 ${n.origin??"值"} ${e}${n.maximum.toString()} ${l.unit??"个元素"}`;return`数值过大:期望 ${n.origin??"值"} ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`数值过小:期望 ${n.origin} ${e}${n.minimum.toString()} ${l.unit}`;return`数值过小:期望 ${n.origin} ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`无效字符串:必须以 "${e.prefix}" 开头`;if(e.format==="ends_with")return`无效字符串:必须以 "${e.suffix}" 结尾`;if(e.format==="includes")return`无效字符串:必须包含 "${e.includes}"`;if(e.format==="regex")return`无效字符串:必须满足正则表达式 ${e.pattern}`;return`无效${o[e.format]??n.format}`}case"not_multiple_of":return`无效数字:必须是 ${n.divisor} 的倍数`;case"unrecognized_keys":return`出现未知的键(key): ${x(n.keys,", ")}`;case"invalid_key":return`${n.origin} 中的键(key)无效`;case"invalid_union":return"无效输入";case"invalid_element":return`${n.origin} 中包含无效值(value)`;default:return"无效输入"}}};function yb(){return{localeError:sO()}}var rI=()=>{let r={string:{unit:"字元",verb:"擁有"},file:{unit:"位元組",verb:"擁有"},array:{unit:"項目",verb:"擁有"},set:{unit:"項目",verb:"擁有"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"number";case"object":{if(Array.isArray(n))return"array";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"輸入",email:"郵件地址",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"ISO 日期時間",date:"ISO 日期",time:"ISO 時間",duration:"ISO 期間",ipv4:"IPv4 位址",ipv6:"IPv6 位址",cidrv4:"IPv4 範圍",cidrv6:"IPv6 範圍",base64:"base64 編碼字串",base64url:"base64url 編碼字串",json_string:"JSON 字串",e164:"E.164 數值",jwt:"JWT",template_literal:"輸入"};return(n)=>{switch(n.code){case"invalid_type":return`無效的輸入值:預期為 ${n.expected},但收到 ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`無效的輸入值:預期為 ${z(n.values[0])}`;return`無效的選項:預期為以下其中之一 ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`數值過大:預期 ${n.origin??"值"} 應為 ${e}${n.maximum.toString()} ${l.unit??"個元素"}`;return`數值過大:預期 ${n.origin??"值"} 應為 ${e}${n.maximum.toString()}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`數值過小:預期 ${n.origin} 應為 ${e}${n.minimum.toString()} ${l.unit}`;return`數值過小:預期 ${n.origin} 應為 ${e}${n.minimum.toString()}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`無效的字串:必須以 "${e.prefix}" 開頭`;if(e.format==="ends_with")return`無效的字串:必須以 "${e.suffix}" 結尾`;if(e.format==="includes")return`無效的字串:必須包含 "${e.includes}"`;if(e.format==="regex")return`無效的字串:必須符合格式 ${e.pattern}`;return`無效的 ${o[e.format]??n.format}`}case"not_multiple_of":return`無效的數字:必須為 ${n.divisor} 的倍數`;case"unrecognized_keys":return`無法識別的鍵值${n.keys.length>1?"們":""}:${x(n.keys,"、")}`;case"invalid_key":return`${n.origin} 中有無效的鍵值`;case"invalid_union":return"無效的輸入值";case"invalid_element":return`${n.origin} 中有無效的值`;default:return"無效的輸入值"}}};function Ab(){return{localeError:rI()}}var tI=()=>{let r={string:{unit:"àmi",verb:"ní"},file:{unit:"bytes",verb:"ní"},array:{unit:"nkan",verb:"ní"},set:{unit:"nkan",verb:"ní"}};function t(n){return r[n]??null}let i=(n)=>{let e=typeof n;switch(e){case"number":return Number.isNaN(n)?"NaN":"nọ́mbà";case"object":{if(Array.isArray(n))return"akopọ";if(n===null)return"null";if(Object.getPrototypeOf(n)!==Object.prototype&&n.constructor)return n.constructor.name}}return e},o={regex:"ẹ̀rọ ìbáwọlé",email:"àdírẹ́sì ìmẹ́lì",url:"URL",emoji:"emoji",uuid:"UUID",uuidv4:"UUIDv4",uuidv6:"UUIDv6",nanoid:"nanoid",guid:"GUID",cuid:"cuid",cuid2:"cuid2",ulid:"ULID",xid:"XID",ksuid:"KSUID",datetime:"àkókò ISO",date:"ọjọ́ ISO",time:"àkókò ISO",duration:"àkókò tó pé ISO",ipv4:"àdírẹ́sì IPv4",ipv6:"àdírẹ́sì IPv6",cidrv4:"àgbègbè IPv4",cidrv6:"àgbègbè IPv6",base64:"ọ̀rọ̀ tí a kọ́ ní base64",base64url:"ọ̀rọ̀ base64url",json_string:"ọ̀rọ̀ JSON",e164:"nọ́mbà E.164",jwt:"JWT",template_literal:"ẹ̀rọ ìbáwọlé"};return(n)=>{switch(n.code){case"invalid_type":return`Ìbáwọlé aṣìṣe: a ní láti fi ${n.expected}, àmọ̀ a rí ${i(n.input)}`;case"invalid_value":if(n.values.length===1)return`Ìbáwọlé aṣìṣe: a ní láti fi ${z(n.values[0])}`;return`Àṣàyàn aṣìṣe: yan ọ̀kan lára ${x(n.values,"|")}`;case"too_big":{let e=n.inclusive?"<=":"<",l=t(n.origin);if(l)return`Tó pọ̀ jù: a ní láti jẹ́ pé ${n.origin??"iye"} ${l.verb} ${e}${n.maximum} ${l.unit}`;return`Tó pọ̀ jù: a ní láti jẹ́ ${e}${n.maximum}`}case"too_small":{let e=n.inclusive?">=":">",l=t(n.origin);if(l)return`Kéré ju: a ní láti jẹ́ pé ${n.origin} ${l.verb} ${e}${n.minimum} ${l.unit}`;return`Kéré ju: a ní láti jẹ́ ${e}${n.minimum}`}case"invalid_format":{let e=n;if(e.format==="starts_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bẹ̀rẹ̀ pẹ̀lú "${e.prefix}"`;if(e.format==="ends_with")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ parí pẹ̀lú "${e.suffix}"`;if(e.format==="includes")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ ní "${e.includes}"`;if(e.format==="regex")return`Ọ̀rọ̀ aṣìṣe: gbọ́dọ̀ bá àpẹẹrẹ mu ${e.pattern}`;return`Aṣìṣe: ${o[e.format]??n.format}`}case"not_multiple_of":return`Nọ́mbà aṣìṣe: gbọ́dọ̀ jẹ́ èyà pípín ti ${n.divisor}`;case"unrecognized_keys":return`Bọtìnì àìmọ̀: ${x(n.keys,", ")}`;case"invalid_key":return`Bọtìnì aṣìṣe nínú ${n.origin}`;case"invalid_union":return"Ìbáwọlé aṣìṣe";case"invalid_element":return`Iye aṣìṣe nínú ${n.origin}`;default:return"Ìbáwọlé aṣìṣe"}}};function Hb(){return{localeError:tI()}}var Rb=Symbol("ZodOutput"),Mb=Symbol("ZodInput");class mi{constructor(){this._map=new WeakMap,this._idmap=new Map}add(r,...t){let i=t[0];if(this._map.set(r,i),i&&typeof i==="object"&&"id"in i){if(this._idmap.has(i.id))throw new Error(`ID ${i.id} already exists in the registry`);this._idmap.set(i.id,r)}return this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(r){let t=this._map.get(r);if(t&&typeof t==="object"&&"id"in t)this._idmap.delete(t.id);return this._map.delete(r),this}get(r){let t=r._zod.parent;if(t){let i={...this.get(t)??{}};delete i.id;let o={...i,...this._map.get(r)};return Object.keys(o).length?o:void 0}return this._map.get(r)}has(r){return this._map.has(r)}}function Go(){return new mi}var Tr=Go();function Zb(r,t){return new r({type:"string",...a(t)})}function Cb(r,t){return new r({type:"string",coerce:!0,...a(t)})}function Bo(r,t){return new r({type:"string",format:"email",check:"string_format",abort:!1,...a(t)})}function bi(r,t){return new r({type:"string",format:"guid",check:"string_format",abort:!1,...a(t)})}function yo(r,t){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,...a(t)})}function Ao(r,t){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v4",...a(t)})}function Ho(r,t){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v6",...a(t)})}function Ro(r,t){return new r({type:"string",format:"uuid",check:"string_format",abort:!1,version:"v7",...a(t)})}function vi(r,t){return new r({type:"string",format:"url",check:"string_format",abort:!1,...a(t)})}function Mo(r,t){return new r({type:"string",format:"emoji",check:"string_format",abort:!1,...a(t)})}function Zo(r,t){return new r({type:"string",format:"nanoid",check:"string_format",abort:!1,...a(t)})}function Co(r,t){return new r({type:"string",format:"cuid",check:"string_format",abort:!1,...a(t)})}function To(r,t){return new r({type:"string",format:"cuid2",check:"string_format",abort:!1,...a(t)})}function so(r,t){return new r({type:"string",format:"ulid",check:"string_format",abort:!1,...a(t)})}function re(r,t){return new r({type:"string",format:"xid",check:"string_format",abort:!1,...a(t)})}function te(r,t){return new r({type:"string",format:"ksuid",check:"string_format",abort:!1,...a(t)})}function ne(r,t){return new r({type:"string",format:"ipv4",check:"string_format",abort:!1,...a(t)})}function ie(r,t){return new r({type:"string",format:"ipv6",check:"string_format",abort:!1,...a(t)})}function oe(r,t){return new r({type:"string",format:"cidrv4",check:"string_format",abort:!1,...a(t)})}function ee(r,t){return new r({type:"string",format:"cidrv6",check:"string_format",abort:!1,...a(t)})}function le(r,t){return new r({type:"string",format:"base64",check:"string_format",abort:!1,...a(t)})}function ce(r,t){return new r({type:"string",format:"base64url",check:"string_format",abort:!1,...a(t)})}function ue(r,t){return new r({type:"string",format:"e164",check:"string_format",abort:!1,...a(t)})}function ge(r,t){return new r({type:"string",format:"jwt",check:"string_format",abort:!1,...a(t)})}var Tb={Any:null,Minute:-1,Second:0,Millisecond:3,Microsecond:6};function db(r,t){return new r({type:"string",format:"datetime",check:"string_format",offset:!1,local:!1,precision:null,...a(t)})}function sb(r,t){return new r({type:"string",format:"date",check:"string_format",...a(t)})}function rv(r,t){return new r({type:"string",format:"time",check:"string_format",precision:null,...a(t)})}function tv(r,t){return new r({type:"string",format:"duration",check:"string_format",...a(t)})}function nv(r,t){return new r({type:"number",checks:[],...a(t)})}function iv(r,t){return new r({type:"number",coerce:!0,checks:[],...a(t)})}function ov(r,t){return new r({type:"number",check:"number_format",abort:!1,format:"safeint",...a(t)})}function ev(r,t){return new r({type:"number",check:"number_format",abort:!1,format:"float32",...a(t)})}function lv(r,t){return new r({type:"number",check:"number_format",abort:!1,format:"float64",...a(t)})}function cv(r,t){return new r({type:"number",check:"number_format",abort:!1,format:"int32",...a(t)})}function uv(r,t){return new r({type:"number",check:"number_format",abort:!1,format:"uint32",...a(t)})}function gv(r,t){return new r({type:"boolean",...a(t)})}function mv(r,t){return new r({type:"boolean",coerce:!0,...a(t)})}function bv(r,t){return new r({type:"bigint",...a(t)})}function vv(r,t){return new r({type:"bigint",coerce:!0,...a(t)})}function hv(r,t){return new r({type:"bigint",check:"bigint_format",abort:!1,format:"int64",...a(t)})}function $v(r,t){return new r({type:"bigint",check:"bigint_format",abort:!1,format:"uint64",...a(t)})}function xv(r,t){return new r({type:"symbol",...a(t)})}function fv(r,t){return new r({type:"undefined",...a(t)})}function wv(r,t){return new r({type:"null",...a(t)})}function zv(r){return new r({type:"any"})}function av(r){return new r({type:"unknown"})}function pv(r,t){return new r({type:"never",...a(t)})}function _v(r,t){return new r({type:"void",...a(t)})}function Dv(r,t){return new r({type:"date",...a(t)})}function jv(r,t){return new r({type:"date",coerce:!0,...a(t)})}function Ov(r,t){return new r({type:"nan",...a(t)})}function et(r,t){return new Xo({check:"less_than",...a(t),value:r,inclusive:!1})}function Er(r,t){return new Xo({check:"less_than",...a(t),value:r,inclusive:!0})}function lt(r,t){return new qo({check:"greater_than",...a(t),value:r,inclusive:!1})}function kr(r,t){return new qo({check:"greater_than",...a(t),value:r,inclusive:!0})}function Iv(r){return lt(0,r)}function kv(r){return et(0,r)}function Uv(r){return Er(0,r)}function Jv(r){return kr(0,r)}function Kt(r,t){return new qg({check:"multiple_of",...a(t),value:r})}function bn(r,t){return new Vg({check:"max_size",...a(t),maximum:r})}function Vt(r,t){return new Lg({check:"min_size",...a(t),minimum:r})}function hi(r,t){return new Yg({check:"size_equals",...a(t),size:r})}function vn(r,t){return new Eg({check:"max_length",...a(t),maximum:r})}function _t(r,t){return new Qg({check:"min_length",...a(t),minimum:r})}function hn(r,t){return new Fg({check:"length_equals",...a(t),length:r})}function $i(r,t){return new Sg({check:"string_format",format:"regex",...a(t),pattern:r})}function xi(r){return new Ng({check:"string_format",format:"lowercase",...a(r)})}function fi(r){return new Gg({check:"string_format",format:"uppercase",...a(r)})}function wi(r,t){return new Bg({check:"string_format",format:"includes",...a(t),includes:r})}function zi(r,t){return new yg({check:"string_format",format:"starts_with",...a(t),prefix:r})}function ai(r,t){return new Ag({check:"string_format",format:"ends_with",...a(t),suffix:r})}function Pv(r,t,i){return new Hg({check:"property",property:r,schema:t,...a(i)})}function pi(r,t){return new Rg({check:"mime_type",mime:r,...a(t)})}function ct(r){return new Mg({check:"overwrite",tx:r})}function _i(r){return ct((t)=>t.normalize(r))}function Di(){return ct((r)=>r.trim())}function ji(){return ct((r)=>r.toLowerCase())}function Oi(){return ct((r)=>r.toUpperCase())}function Xv(r,t,i){return new r({type:"array",element:t,...a(i)})}function nI(r,t,i){return new r({type:"union",options:t,...a(i)})}function iI(r,t,i,o){return new r({type:"union",options:i,discriminator:t,...a(o)})}function oI(r,t,i){return new r({type:"intersection",left:t,right:i})}function eI(r,t,i,o){let n=i instanceof V;return new r({type:"tuple",items:t,rest:n?i:null,...a(n?o:i)})}function lI(r,t,i,o){return new r({type:"record",keyType:t,valueType:i,...a(o)})}function cI(r,t,i,o){return new r({type:"map",keyType:t,valueType:i,...a(o)})}function uI(r,t,i){return new r({type:"set",valueType:t,...a(i)})}function gI(r,t,i){let o=Array.isArray(t)?Object.fromEntries(t.map((n)=>[n,n])):t;return new r({type:"enum",entries:o,...a(i)})}function mI(r,t,i){return new r({type:"enum",entries:t,...a(i)})}function bI(r,t,i){return new r({type:"literal",values:Array.isArray(t)?t:[t],...a(i)})}function qv(r,t){return new r({type:"file",...a(t)})}function vI(r,t){return new r({type:"transform",transform:t})}function hI(r,t){return new r({type:"optional",innerType:t})}function $I(r,t){return new r({type:"nullable",innerType:t})}function xI(r,t,i){return new r({type:"default",innerType:t,get defaultValue(){return typeof i==="function"?i():Ru(i)}})}function fI(r,t,i){return new r({type:"nonoptional",innerType:t,...a(i)})}function wI(r,t){return new r({type:"success",innerType:t})}function zI(r,t,i){return new r({type:"catch",innerType:t,catchValue:typeof i==="function"?i:()=>i})}function aI(r,t,i){return new r({type:"pipe",in:t,out:i})}function pI(r,t){return new r({type:"readonly",innerType:t})}function _I(r,t,i){return new r({type:"template_literal",parts:t,...a(i)})}function DI(r,t){return new r({type:"lazy",getter:t})}function jI(r,t){return new r({type:"promise",innerType:t})}function Wv(r,t,i){let o=a(i);return o.abort??(o.abort=!0),new r({type:"custom",check:"custom",fn:t,...o})}function Kv(r,t,i){return new r({type:"custom",check:"custom",fn:t,...a(i)})}function Vv(r){let t=Uw((i)=>{return i.addIssue=(o)=>{if(typeof o==="string")i.issues.push(en(o,i.value,t._zod.def));else{let n=o;if(n.fatal)n.continue=!1;n.code??(n.code="custom"),n.input??(n.input=i.value),n.inst??(n.inst=t),n.continue??(n.continue=!t._zod.def.abort),i.issues.push(en(n))}},r(i.value,i)});return t}function Uw(r,t){let i=new s({check:"custom",...a(t)});return i._zod.check=r,i}function Lv(r,t){let i=a(t),o=i.truthy??["true","1","yes","on","y","enabled"],n=i.falsy??["false","0","no","off","n","disabled"];if(i.case!=="sensitive")o=o.map((b)=>typeof b==="string"?b.toLowerCase():b),n=n.map((b)=>typeof b==="string"?b.toLowerCase():b);let e=new Set(o),l=new Set(n),u=r.Codec??ii,g=r.Boolean??ni,m=new(r.String??Wt)({type:"string",error:i.error}),v=new g({type:"boolean",error:i.error}),h=new u({type:"pipe",in:m,out:v,transform:(b,f)=>{let D=b;if(i.case!=="sensitive")D=D.toLowerCase();if(e.has(D))return!0;else if(l.has(D))return!1;else return f.issues.push({code:"invalid_value",expected:"stringbool",values:[...e,...l],input:f.value,inst:h,continue:!1}),{}},reverseTransform:(b,f)=>{if(b===!0)return o[0]||"true";else return n[0]||"false"},error:i.error});return h}function $n(r,t,i,o={}){let n=a(o),e={...a(o),check:"string_format",type:"string",format:t,fn:typeof i==="function"?i:(u)=>i.test(u),...n};if(i instanceof RegExp)e.pattern=i;return new r(e)}class me{constructor(r){this.counter=0,this.metadataRegistry=r?.metadata??Tr,this.target=r?.target??"draft-2020-12",this.unrepresentable=r?.unrepresentable??"throw",this.override=r?.override??(()=>{}),this.io=r?.io??"output",this.seen=new Map}process(r,t={path:[],schemaPath:[]}){var i;let o=r._zod.def,n={guid:"uuid",url:"uri",datetime:"date-time",json_string:"json-string",regex:""},e=this.seen.get(r);if(e){if(e.count++,t.schemaPath.includes(r))e.cycle=t.path;return e.schema}let l={schema:{},count:1,cycle:void 0,path:t.path};this.seen.set(r,l);let u=r._zod.toJSONSchema?.();if(u)l.schema=u;else{let m={...t,schemaPath:[...t.schemaPath,r],path:t.path},v=r._zod.parent;if(v)l.ref=v,this.process(v,m),this.seen.get(v).isParent=!0;else{let h=l.schema;switch(o.type){case"string":{let b=h;b.type="string";let{minimum:f,maximum:D,format:O,patterns:_,contentEncoding:J}=r._zod.bag;if(typeof f==="number")b.minLength=f;if(typeof D==="number")b.maxLength=D;if(O){if(b.format=n[O]??O,b.format==="")delete b.format}if(J)b.contentEncoding=J;if(_&&_.size>0){let L=[..._];if(L.length===1)b.pattern=L[0].source;else if(L.length>1)l.schema.allOf=[...L.map((X)=>({...this.target==="draft-7"||this.target==="draft-4"||this.target==="openapi-3.0"?{type:"string"}:{},pattern:X.source}))]}break}case"number":{let b=h,{minimum:f,maximum:D,format:O,multipleOf:_,exclusiveMaximum:J,exclusiveMinimum:L}=r._zod.bag;if(typeof O==="string"&&O.includes("int"))b.type="integer";else b.type="number";if(typeof L==="number")if(this.target==="draft-4"||this.target==="openapi-3.0")b.minimum=L,b.exclusiveMinimum=!0;else b.exclusiveMinimum=L;if(typeof f==="number"){if(b.minimum=f,typeof L==="number"&&this.target!=="draft-4")if(L>=f)delete b.minimum;else delete b.exclusiveMinimum}if(typeof J==="number")if(this.target==="draft-4"||this.target==="openapi-3.0")b.maximum=J,b.exclusiveMaximum=!0;else b.exclusiveMaximum=J;if(typeof D==="number"){if(b.maximum=D,typeof J==="number"&&this.target!=="draft-4")if(J<=D)delete b.maximum;else delete b.exclusiveMaximum}if(typeof _==="number")b.multipleOf=_;break}case"boolean":{let b=h;b.type="boolean";break}case"bigint":{if(this.unrepresentable==="throw")throw new Error("BigInt cannot be represented in JSON Schema");break}case"symbol":{if(this.unrepresentable==="throw")throw new Error("Symbols cannot be represented in JSON Schema");break}case"null":{if(this.target==="openapi-3.0")h.type="string",h.nullable=!0,h.enum=[null];else h.type="null";break}case"any":break;case"unknown":break;case"undefined":{if(this.unrepresentable==="throw")throw new Error("Undefined cannot be represented in JSON Schema");break}case"void":{if(this.unrepresentable==="throw")throw new Error("Void cannot be represented in JSON Schema");break}case"never":{h.not={};break}case"date":{if(this.unrepresentable==="throw")throw new Error("Date cannot be represented in JSON Schema");break}case"array":{let b=h,{minimum:f,maximum:D}=r._zod.bag;if(typeof f==="number")b.minItems=f;if(typeof D==="number")b.maxItems=D;b.type="array",b.items=this.process(o.element,{...m,path:[...m.path,"items"]});break}case"object":{let b=h;b.type="object",b.properties={};let f=o.shape;for(let _ in f)b.properties[_]=this.process(f[_],{...m,path:[...m.path,"properties",_]});let D=new Set(Object.keys(f)),O=new Set([...D].filter((_)=>{let J=o.shape[_]._zod;if(this.io==="input")return J.optin===void 0;else return J.optout===void 0}));if(O.size>0)b.required=Array.from(O);if(o.catchall?._zod.def.type==="never")b.additionalProperties=!1;else if(!o.catchall){if(this.io==="output")b.additionalProperties=!1}else if(o.catchall)b.additionalProperties=this.process(o.catchall,{...m,path:[...m.path,"additionalProperties"]});break}case"union":{let b=h,f=o.options.map((D,O)=>this.process(D,{...m,path:[...m.path,"anyOf",O]}));b.anyOf=f;break}case"intersection":{let b=h,f=this.process(o.left,{...m,path:[...m.path,"allOf",0]}),D=this.process(o.right,{...m,path:[...m.path,"allOf",1]}),O=(J)=>("allOf"in J)&&Object.keys(J).length===1,_=[...O(f)?f.allOf:[f],...O(D)?D.allOf:[D]];b.allOf=_;break}case"tuple":{let b=h;b.type="array";let f=this.target==="draft-2020-12"?"prefixItems":"items",D=this.target==="draft-2020-12"?"items":this.target==="openapi-3.0"?"items":"additionalItems",O=o.items.map((X,W)=>this.process(X,{...m,path:[...m.path,f,W]})),_=o.rest?this.process(o.rest,{...m,path:[...m.path,D,...this.target==="openapi-3.0"?[o.items.length]:[]]}):null;if(this.target==="draft-2020-12"){if(b.prefixItems=O,_)b.items=_}else if(this.target==="openapi-3.0"){if(b.items={anyOf:O},_)b.items.anyOf.push(_);if(b.minItems=O.length,!_)b.maxItems=O.length}else if(b.items=O,_)b.additionalItems=_;let{minimum:J,maximum:L}=r._zod.bag;if(typeof J==="number")b.minItems=J;if(typeof L==="number")b.maxItems=L;break}case"record":{let b=h;if(b.type="object",this.target==="draft-7"||this.target==="draft-2020-12")b.propertyNames=this.process(o.keyType,{...m,path:[...m.path,"propertyNames"]});b.additionalProperties=this.process(o.valueType,{...m,path:[...m.path,"additionalProperties"]});break}case"map":{if(this.unrepresentable==="throw")throw new Error("Map cannot be represented in JSON Schema");break}case"set":{if(this.unrepresentable==="throw")throw new Error("Set cannot be represented in JSON Schema");break}case"enum":{let b=h,f=Hn(o.entries);if(f.every((D)=>typeof D==="number"))b.type="number";if(f.every((D)=>typeof D==="string"))b.type="string";b.enum=f;break}case"literal":{let b=h,f=[];for(let D of o.values)if(D===void 0){if(this.unrepresentable==="throw")throw new Error("Literal `undefined` cannot be represented in JSON Schema")}else if(typeof D==="bigint")if(this.unrepresentable==="throw")throw new Error("BigInt literals cannot be represented in JSON Schema");else f.push(Number(D));else f.push(D);if(f.length===0);else if(f.length===1){let D=f[0];if(b.type=D===null?"null":typeof D,this.target==="draft-4"||this.target==="openapi-3.0")b.enum=[D];else b.const=D}else{if(f.every((D)=>typeof D==="number"))b.type="number";if(f.every((D)=>typeof D==="string"))b.type="string";if(f.every((D)=>typeof D==="boolean"))b.type="string";if(f.every((D)=>D===null))b.type="null";b.enum=f}break}case"file":{let b=h,f={type:"string",format:"binary",contentEncoding:"binary"},{minimum:D,maximum:O,mime:_}=r._zod.bag;if(D!==void 0)f.minLength=D;if(O!==void 0)f.maxLength=O;if(_)if(_.length===1)f.contentMediaType=_[0],Object.assign(b,f);else b.anyOf=_.map((J)=>{return{...f,contentMediaType:J}});else Object.assign(b,f);break}case"transform":{if(this.unrepresentable==="throw")throw new Error("Transforms cannot be represented in JSON Schema");break}case"nullable":{let b=this.process(o.innerType,m);if(this.target==="openapi-3.0")l.ref=o.innerType,h.nullable=!0;else h.anyOf=[b,{type:"null"}];break}case"nonoptional":{this.process(o.innerType,m),l.ref=o.innerType;break}case"success":{let b=h;b.type="boolean";break}case"default":{this.process(o.innerType,m),l.ref=o.innerType,h.default=JSON.parse(JSON.stringify(o.defaultValue));break}case"prefault":{if(this.process(o.innerType,m),l.ref=o.innerType,this.io==="input")h._prefault=JSON.parse(JSON.stringify(o.defaultValue));break}case"catch":{this.process(o.innerType,m),l.ref=o.innerType;let b;try{b=o.catchValue(void 0)}catch{throw new Error("Dynamic catch values are not supported in JSON Schema")}h.default=b;break}case"nan":{if(this.unrepresentable==="throw")throw new Error("NaN cannot be represented in JSON Schema");break}case"template_literal":{let b=h,f=r._zod.pattern;if(!f)throw new Error("Pattern not found in template literal");b.type="string",b.pattern=f.source;break}case"pipe":{let b=this.io==="input"?o.in._zod.def.type==="transform"?o.out:o.in:o.out;this.process(b,m),l.ref=b;break}case"readonly":{this.process(o.innerType,m),l.ref=o.innerType,h.readOnly=!0;break}case"promise":{this.process(o.innerType,m),l.ref=o.innerType;break}case"optional":{this.process(o.innerType,m),l.ref=o.innerType;break}case"lazy":{let b=r._zod.innerType;this.process(b,m),l.ref=b;break}case"custom":{if(this.unrepresentable==="throw")throw new Error("Custom types cannot be represented in JSON Schema");break}case"function":{if(this.unrepresentable==="throw")throw new Error("Function types cannot be represented in JSON Schema");break}default:}}}let g=this.metadataRegistry.get(r);if(g)Object.assign(l.schema,g);if(this.io==="input"&&$r(r))delete l.schema.examples,delete l.schema.default;if(this.io==="input"&&l.schema._prefault)(i=l.schema).default??(i.default=l.schema._prefault);return delete l.schema._prefault,this.seen.get(r).schema}emit(r,t){let i={cycles:t?.cycles??"ref",reused:t?.reused??"inline",external:t?.external??void 0},o=this.seen.get(r);if(!o)throw new Error("Unprocessed schema. This is a bug in Zod.");let n=(c)=>{let m=this.target==="draft-2020-12"?"$defs":"definitions";if(i.external){let f=i.external.registry.get(c[0])?.id,D=i.external.uri??((_)=>_);if(f)return{ref:D(f)};let O=c[1].defId??c[1].schema.id??`schema${this.counter++}`;return c[1].defId=O,{defId:O,ref:`${D("__shared")}#/${m}/${O}`}}if(c[1]===o)return{ref:"#"};let h=`${"#"}/${m}/`,b=c[1].schema.id??`__schema${this.counter++}`;return{defId:b,ref:h+b}},e=(c)=>{if(c[1].schema.$ref)return;let m=c[1],{ref:v,defId:h}=n(c);if(m.def={...m.schema},h)m.defId=h;let b=m.schema;for(let f in b)delete b[f];b.$ref=v};if(i.cycles==="throw")for(let c of this.seen.entries()){let m=c[1];if(m.cycle)throw new Error(`Cycle detected: #/${m.cycle?.join("/")}/ -Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let c of this.seen.entries()){let m=c[1];if(r===c[0]){e(c);continue}if(i.external){let h=i.external.registry.get(c[0])?.id;if(r!==c[0]&&h){e(c);continue}}if(this.metadataRegistry.get(c[0])?.id){e(c);continue}if(m.cycle){e(c);continue}if(m.count>1){if(i.reused==="ref"){e(c);continue}}}let l=(c,m)=>{let v=this.seen.get(c),h=v.def??v.schema,b={...h};if(v.ref===null)return;let f=v.ref;if(v.ref=null,f){l(f,m);let D=this.seen.get(f).schema;if(D.$ref&&(m.target==="draft-7"||m.target==="draft-4"||m.target==="openapi-3.0"))h.allOf=h.allOf??[],h.allOf.push(D);else Object.assign(h,D),Object.assign(h,b)}if(!v.isParent)this.override({zodSchema:c,jsonSchema:h,path:v.path??[]})};for(let c of[...this.seen.entries()].reverse())l(c[0],{target:this.target});let u={};if(this.target==="draft-2020-12")u.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")u.$schema="http://json-schema.org/draft-07/schema#";else if(this.target==="draft-4")u.$schema="http://json-schema.org/draft-04/schema#";else if(this.target==="openapi-3.0");else console.warn(`Invalid target: ${this.target}`);if(i.external?.uri){let c=i.external.registry.get(r)?.id;if(!c)throw new Error("Schema is missing an `id` property");u.$id=i.external.uri(c)}Object.assign(u,o.def);let g=i.external?.defs??{};for(let c of this.seen.entries()){let m=c[1];if(m.def&&m.defId)g[m.defId]=m.def}if(i.external);else if(Object.keys(g).length>0)if(this.target==="draft-2020-12")u.$defs=g;else u.definitions=g;try{return JSON.parse(JSON.stringify(u))}catch(c){throw new Error("Error converting schema to JSON.")}}}function Yv(r,t){if(r instanceof mi){let o=new me(t),n={};for(let u of r._idmap.entries()){let[g,c]=u;o.process(c)}let e={},l={registry:r,uri:t?.uri,defs:n};for(let u of r._idmap.entries()){let[g,c]=u;e[g]=o.emit(c,{...t,external:l})}if(Object.keys(n).length>0){let u=o.target==="draft-2020-12"?"$defs":"definitions";e.__shared={[u]:n}}return{schemas:e}}let i=new me(t);return i.process(r),i.emit(r,t)}function $r(r,t){let i=t??{seen:new Set};if(i.seen.has(r))return!1;i.seen.add(r);let n=r._zod.def;switch(n.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return $r(n.element,i);case"object":{for(let e in n.shape)if($r(n.shape[e],i))return!0;return!1}case"union":{for(let e of n.options)if($r(e,i))return!0;return!1}case"intersection":return $r(n.left,i)||$r(n.right,i);case"tuple":{for(let e of n.items)if($r(e,i))return!0;if(n.rest&&$r(n.rest,i))return!0;return!1}case"record":return $r(n.keyType,i)||$r(n.valueType,i);case"map":return $r(n.keyType,i)||$r(n.valueType,i);case"set":return $r(n.valueType,i);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return $r(n.innerType,i);case"lazy":return $r(n.getter(),i);case"default":return $r(n.innerType,i);case"prefault":return $r(n.innerType,i);case"custom":return!1;case"transform":return!0;case"pipe":return $r(n.in,i)||$r(n.out,i);case"success":return!1;case"catch":return!1;case"function":return!1;default:}throw new Error(`Unknown schema type: ${n.type}`)}var Jw={};var xe={};I(xe,{time:()=>Fv,duration:()=>Sv,datetime:()=>Ev,date:()=>Qv,ZodISOTime:()=>he,ZodISODuration:()=>$e,ZodISODateTime:()=>be,ZodISODate:()=>ve});var be=$("ZodISODateTime",(r,t)=>{um.init(r,t),T.init(r,t)});function Ev(r){return db(be,r)}var ve=$("ZodISODate",(r,t)=>{gm.init(r,t),T.init(r,t)});function Qv(r){return sb(ve,r)}var he=$("ZodISOTime",(r,t)=>{mm.init(r,t),T.init(r,t)});function Fv(r){return rv(he,r)}var $e=$("ZodISODuration",(r,t)=>{bm.init(r,t),T.init(r,t)});function Sv(r){return tv($e,r)}var Xw=(r,t)=>{Tn.init(r,t),r.name="ZodError",Object.defineProperties(r,{format:{value:(i)=>sn(r,i)},flatten:{value:(i)=>dn(r,i)},addIssue:{value:(i)=>{r.issues.push(i),r.message=JSON.stringify(r.issues,nn,2)}},addIssues:{value:(i)=>{r.issues.push(...i),r.message=JSON.stringify(r.issues,nn,2)}},isEmpty:{get(){return r.issues.length===0}}})},II=$("ZodError",Xw),Ur=$("ZodError",Xw,{Parent:Error});var Nv=ln(Ur),Gv=cn(Ur),Bv=un(Ur),yv=gn(Ur),Av=_o(Ur),Hv=Do(Ur),Rv=jo(Ur),Mv=Oo(Ur),Zv=Io(Ur),Cv=ko(Ur),Tv=Uo(Ur),dv=Jo(Ur);var E=$("ZodType",(r,t)=>{return V.init(r,t),r.def=t,r.type=t.type,Object.defineProperty(r,"_def",{value:t}),r.check=(...i)=>{return r.clone(p.mergeDefs(t,{checks:[...t.checks??[],...i.map((o)=>typeof o==="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}))},r.clone=(i,o)=>jr(r,i,o),r.brand=()=>r,r.register=(i,o)=>{return i.add(r,o),r},r.parse=(i,o)=>Nv(r,i,o,{callee:r.parse}),r.safeParse=(i,o)=>Bv(r,i,o),r.parseAsync=async(i,o)=>Gv(r,i,o,{callee:r.parseAsync}),r.safeParseAsync=async(i,o)=>yv(r,i,o),r.spa=r.safeParseAsync,r.encode=(i,o)=>Av(r,i,o),r.decode=(i,o)=>Hv(r,i,o),r.encodeAsync=async(i,o)=>Rv(r,i,o),r.decodeAsync=async(i,o)=>Mv(r,i,o),r.safeEncode=(i,o)=>Zv(r,i,o),r.safeDecode=(i,o)=>Cv(r,i,o),r.safeEncodeAsync=async(i,o)=>Tv(r,i,o),r.safeDecodeAsync=async(i,o)=>dv(r,i,o),r.refine=(i,o)=>r.check(f4(i,o)),r.superRefine=(i)=>r.check(w4(i)),r.overwrite=(i)=>r.check(ct(i)),r.optional=()=>we(r),r.nullable=()=>ze(r),r.nullish=()=>we(ze(r)),r.nonoptional=(i)=>o4(r,i),r.array=()=>De(r),r.or=(i)=>_h([r,i]),r.and=(i)=>yw(r,i),r.transform=(i)=>ae(r,Oh(i)),r.default=(i)=>t4(r,i),r.prefault=(i)=>i4(r,i),r.catch=(i)=>c4(r,i),r.pipe=(i)=>ae(r,i),r.readonly=()=>m4(r),r.describe=(i)=>{let o=r.clone();return Tr.add(o,{description:i}),o},Object.defineProperty(r,"description",{get(){return Tr.get(r)?.description},configurable:!0}),r.meta=(...i)=>{if(i.length===0)return Tr.get(r);let o=r.clone();return Tr.add(o,i[0]),o},r.isOptional=()=>r.safeParse(void 0).success,r.isNullable=()=>r.safeParse(null).success,r}),th=$("_ZodString",(r,t)=>{Wt.init(r,t),E.init(r,t);let i=r._zod.bag;r.format=i.format??null,r.minLength=i.minimum??null,r.maxLength=i.maximum??null,r.regex=(...o)=>r.check($i(...o)),r.includes=(...o)=>r.check(wi(...o)),r.startsWith=(...o)=>r.check(zi(...o)),r.endsWith=(...o)=>r.check(ai(...o)),r.min=(...o)=>r.check(_t(...o)),r.max=(...o)=>r.check(vn(...o)),r.length=(...o)=>r.check(hn(...o)),r.nonempty=(...o)=>r.check(_t(1,...o)),r.lowercase=(o)=>r.check(xi(o)),r.uppercase=(o)=>r.check(fi(o)),r.trim=()=>r.check(Di()),r.normalize=(...o)=>r.check(_i(...o)),r.toLowerCase=()=>r.check(ji()),r.toUpperCase=()=>r.check(Oi())}),ki=$("ZodString",(r,t)=>{Wt.init(r,t),th.init(r,t),r.email=(i)=>r.check(Bo(nh,i)),r.url=(i)=>r.check(vi(pe,i)),r.jwt=(i)=>r.check(ge(wh,i)),r.emoji=(i)=>r.check(Mo(ih,i)),r.guid=(i)=>r.check(bi(fe,i)),r.uuid=(i)=>r.check(yo(gt,i)),r.uuidv4=(i)=>r.check(Ao(gt,i)),r.uuidv6=(i)=>r.check(Ho(gt,i)),r.uuidv7=(i)=>r.check(Ro(gt,i)),r.nanoid=(i)=>r.check(Zo(oh,i)),r.guid=(i)=>r.check(bi(fe,i)),r.cuid=(i)=>r.check(Co(eh,i)),r.cuid2=(i)=>r.check(To(lh,i)),r.ulid=(i)=>r.check(so(ch,i)),r.base64=(i)=>r.check(le($h,i)),r.base64url=(i)=>r.check(ce(xh,i)),r.xid=(i)=>r.check(re(uh,i)),r.ksuid=(i)=>r.check(te(gh,i)),r.ipv4=(i)=>r.check(ne(mh,i)),r.ipv6=(i)=>r.check(ie(bh,i)),r.cidrv4=(i)=>r.check(oe(vh,i)),r.cidrv6=(i)=>r.check(ee(hh,i)),r.e164=(i)=>r.check(ue(fh,i)),r.datetime=(i)=>r.check(Ev(i)),r.date=(i)=>r.check(Qv(i)),r.time=(i)=>r.check(Fv(i)),r.duration=(i)=>r.check(Sv(i))});function sv(r){return Zb(ki,r)}var T=$("ZodStringFormat",(r,t)=>{M.init(r,t),th.init(r,t)}),nh=$("ZodEmail",(r,t)=>{sg.init(r,t),T.init(r,t)});function UI(r){return Bo(nh,r)}var fe=$("ZodGUID",(r,t)=>{Tg.init(r,t),T.init(r,t)});function JI(r){return bi(fe,r)}var gt=$("ZodUUID",(r,t)=>{dg.init(r,t),T.init(r,t)});function PI(r){return yo(gt,r)}function XI(r){return Ao(gt,r)}function qI(r){return Ho(gt,r)}function WI(r){return Ro(gt,r)}var pe=$("ZodURL",(r,t)=>{rm.init(r,t),T.init(r,t)});function KI(r){return vi(pe,r)}function VI(r){return vi(pe,{protocol:/^https?$/,hostname:Yr.domain,...p.normalizeParams(r)})}var ih=$("ZodEmoji",(r,t)=>{tm.init(r,t),T.init(r,t)});function LI(r){return Mo(ih,r)}var oh=$("ZodNanoID",(r,t)=>{nm.init(r,t),T.init(r,t)});function YI(r){return Zo(oh,r)}var eh=$("ZodCUID",(r,t)=>{im.init(r,t),T.init(r,t)});function EI(r){return Co(eh,r)}var lh=$("ZodCUID2",(r,t)=>{om.init(r,t),T.init(r,t)});function QI(r){return To(lh,r)}var ch=$("ZodULID",(r,t)=>{em.init(r,t),T.init(r,t)});function FI(r){return so(ch,r)}var uh=$("ZodXID",(r,t)=>{lm.init(r,t),T.init(r,t)});function SI(r){return re(uh,r)}var gh=$("ZodKSUID",(r,t)=>{cm.init(r,t),T.init(r,t)});function NI(r){return te(gh,r)}var mh=$("ZodIPv4",(r,t)=>{vm.init(r,t),T.init(r,t)});function GI(r){return ne(mh,r)}var bh=$("ZodIPv6",(r,t)=>{hm.init(r,t),T.init(r,t)});function BI(r){return ie(bh,r)}var vh=$("ZodCIDRv4",(r,t)=>{$m.init(r,t),T.init(r,t)});function yI(r){return oe(vh,r)}var hh=$("ZodCIDRv6",(r,t)=>{xm.init(r,t),T.init(r,t)});function AI(r){return ee(hh,r)}var $h=$("ZodBase64",(r,t)=>{wm.init(r,t),T.init(r,t)});function HI(r){return le($h,r)}var xh=$("ZodBase64URL",(r,t)=>{zm.init(r,t),T.init(r,t)});function RI(r){return ce(xh,r)}var fh=$("ZodE164",(r,t)=>{am.init(r,t),T.init(r,t)});function MI(r){return ue(fh,r)}var wh=$("ZodJWT",(r,t)=>{pm.init(r,t),T.init(r,t)});function ZI(r){return ge(wh,r)}var Ui=$("ZodCustomStringFormat",(r,t)=>{_m.init(r,t),T.init(r,t)});function CI(r,t,i={}){return $n(Ui,r,t,i)}function TI(r){return $n(Ui,"hostname",Yr.hostname,r)}function dI(r){return $n(Ui,"hex",Yr.hex,r)}function sI(r,t){let i=t?.enc??"hex",o=`${r}_${i}`,n=Yr[o];if(!n)throw new Error(`Unrecognized hash format: ${o}`);return $n(Ui,o,n,t)}var Ji=$("ZodNumber",(r,t)=>{Qo.init(r,t),E.init(r,t),r.gt=(o,n)=>r.check(lt(o,n)),r.gte=(o,n)=>r.check(kr(o,n)),r.min=(o,n)=>r.check(kr(o,n)),r.lt=(o,n)=>r.check(et(o,n)),r.lte=(o,n)=>r.check(Er(o,n)),r.max=(o,n)=>r.check(Er(o,n)),r.int=(o)=>r.check(rh(o)),r.safe=(o)=>r.check(rh(o)),r.positive=(o)=>r.check(lt(0,o)),r.nonnegative=(o)=>r.check(kr(0,o)),r.negative=(o)=>r.check(et(0,o)),r.nonpositive=(o)=>r.check(Er(0,o)),r.multipleOf=(o,n)=>r.check(Kt(o,n)),r.step=(o,n)=>r.check(Kt(o,n)),r.finite=()=>r;let i=r._zod.bag;r.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,r.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,r.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??0.5),r.isFinite=!0,r.format=i.format??null});function qw(r){return nv(Ji,r)}var fn=$("ZodNumberFormat",(r,t)=>{Dm.init(r,t),Ji.init(r,t)});function rh(r){return ov(fn,r)}function rk(r){return ev(fn,r)}function tk(r){return lv(fn,r)}function nk(r){return cv(fn,r)}function ik(r){return uv(fn,r)}var Pi=$("ZodBoolean",(r,t)=>{ni.init(r,t),E.init(r,t)});function Ww(r){return gv(Pi,r)}var Xi=$("ZodBigInt",(r,t)=>{Fo.init(r,t),E.init(r,t),r.gte=(o,n)=>r.check(kr(o,n)),r.min=(o,n)=>r.check(kr(o,n)),r.gt=(o,n)=>r.check(lt(o,n)),r.gte=(o,n)=>r.check(kr(o,n)),r.min=(o,n)=>r.check(kr(o,n)),r.lt=(o,n)=>r.check(et(o,n)),r.lte=(o,n)=>r.check(Er(o,n)),r.max=(o,n)=>r.check(Er(o,n)),r.positive=(o)=>r.check(lt(BigInt(0),o)),r.negative=(o)=>r.check(et(BigInt(0),o)),r.nonpositive=(o)=>r.check(Er(BigInt(0),o)),r.nonnegative=(o)=>r.check(kr(BigInt(0),o)),r.multipleOf=(o,n)=>r.check(Kt(o,n));let i=r._zod.bag;r.minValue=i.minimum??null,r.maxValue=i.maximum??null,r.format=i.format??null});function ok(r){return bv(Xi,r)}var zh=$("ZodBigIntFormat",(r,t)=>{jm.init(r,t),Xi.init(r,t)});function ek(r){return hv(zh,r)}function lk(r){return $v(zh,r)}var Kw=$("ZodSymbol",(r,t)=>{Om.init(r,t),E.init(r,t)});function ck(r){return xv(Kw,r)}var Vw=$("ZodUndefined",(r,t)=>{Im.init(r,t),E.init(r,t)});function uk(r){return fv(Vw,r)}var Lw=$("ZodNull",(r,t)=>{km.init(r,t),E.init(r,t)});function Yw(r){return wv(Lw,r)}var Ew=$("ZodAny",(r,t)=>{Um.init(r,t),E.init(r,t)});function gk(){return zv(Ew)}var Qw=$("ZodUnknown",(r,t)=>{Jm.init(r,t),E.init(r,t)});function xn(){return av(Qw)}var Fw=$("ZodNever",(r,t)=>{Pm.init(r,t),E.init(r,t)});function ah(r){return pv(Fw,r)}var Sw=$("ZodVoid",(r,t)=>{Xm.init(r,t),E.init(r,t)});function mk(r){return _v(Sw,r)}var _e=$("ZodDate",(r,t)=>{qm.init(r,t),E.init(r,t),r.min=(o,n)=>r.check(kr(o,n)),r.max=(o,n)=>r.check(Er(o,n));let i=r._zod.bag;r.minDate=i.minimum?new Date(i.minimum):null,r.maxDate=i.maximum?new Date(i.maximum):null});function bk(r){return Dv(_e,r)}var Nw=$("ZodArray",(r,t)=>{Wm.init(r,t),E.init(r,t),r.element=t.element,r.min=(i,o)=>r.check(_t(i,o)),r.nonempty=(i)=>r.check(_t(1,i)),r.max=(i,o)=>r.check(vn(i,o)),r.length=(i,o)=>r.check(hn(i,o)),r.unwrap=()=>r.element});function De(r,t){return Xv(Nw,r,t)}function vk(r){let t=r._zod.def.shape;return jh(Object.keys(t))}var je=$("ZodObject",(r,t)=>{Km.init(r,t),E.init(r,t),p.defineLazy(r,"shape",()=>{return t.shape}),r.keyof=()=>jh(Object.keys(r._zod.def.shape)),r.catchall=(i)=>r.clone({...r._zod.def,catchall:i}),r.passthrough=()=>r.clone({...r._zod.def,catchall:xn()}),r.loose=()=>r.clone({...r._zod.def,catchall:xn()}),r.strict=()=>r.clone({...r._zod.def,catchall:ah()}),r.strip=()=>r.clone({...r._zod.def,catchall:void 0}),r.extend=(i)=>{return p.extend(r,i)},r.safeExtend=(i)=>{return p.safeExtend(r,i)},r.merge=(i)=>p.merge(r,i),r.pick=(i)=>p.pick(r,i),r.omit=(i)=>p.omit(r,i),r.partial=(...i)=>p.partial(Ih,r,i[0]),r.required=(...i)=>p.required(kh,r,i[0])});function hk(r,t){let i={type:"object",shape:r??{},...p.normalizeParams(t)};return new je(i)}function $k(r,t){return new je({type:"object",shape:r,catchall:ah(),...p.normalizeParams(t)})}function xk(r,t){return new je({type:"object",shape:r,catchall:xn(),...p.normalizeParams(t)})}var ph=$("ZodUnion",(r,t)=>{So.init(r,t),E.init(r,t),r.options=t.options});function _h(r,t){return new ph({type:"union",options:r,...p.normalizeParams(t)})}var Gw=$("ZodDiscriminatedUnion",(r,t)=>{ph.init(r,t),Vm.init(r,t)});function fk(r,t,i){return new Gw({type:"union",options:t,discriminator:r,...p.normalizeParams(i)})}var Bw=$("ZodIntersection",(r,t)=>{Lm.init(r,t),E.init(r,t)});function yw(r,t){return new Bw({type:"intersection",left:r,right:t})}var Aw=$("ZodTuple",(r,t)=>{No.init(r,t),E.init(r,t),r.rest=(i)=>r.clone({...r._zod.def,rest:i})});function Hw(r,t,i){let o=t instanceof V,n=o?i:t;return new Aw({type:"tuple",items:r,rest:o?t:null,...p.normalizeParams(n)})}var Dh=$("ZodRecord",(r,t)=>{Ym.init(r,t),E.init(r,t),r.keyType=t.keyType,r.valueType=t.valueType});function Rw(r,t,i){return new Dh({type:"record",keyType:r,valueType:t,...p.normalizeParams(i)})}function wk(r,t,i){let o=jr(r);return o._zod.values=void 0,new Dh({type:"record",keyType:o,valueType:t,...p.normalizeParams(i)})}var Mw=$("ZodMap",(r,t)=>{Em.init(r,t),E.init(r,t),r.keyType=t.keyType,r.valueType=t.valueType});function zk(r,t,i){return new Mw({type:"map",keyType:r,valueType:t,...p.normalizeParams(i)})}var Zw=$("ZodSet",(r,t)=>{Qm.init(r,t),E.init(r,t),r.min=(...i)=>r.check(Vt(...i)),r.nonempty=(i)=>r.check(Vt(1,i)),r.max=(...i)=>r.check(bn(...i)),r.size=(...i)=>r.check(hi(...i))});function ak(r,t){return new Zw({type:"set",valueType:r,...p.normalizeParams(t)})}var Ii=$("ZodEnum",(r,t)=>{Fm.init(r,t),E.init(r,t),r.enum=t.entries,r.options=Object.values(t.entries);let i=new Set(Object.keys(t.entries));r.extract=(o,n)=>{let e={};for(let l of o)if(i.has(l))e[l]=t.entries[l];else throw new Error(`Key ${l} not found in enum`);return new Ii({...t,checks:[],...p.normalizeParams(n),entries:e})},r.exclude=(o,n)=>{let e={...t.entries};for(let l of o)if(i.has(l))delete e[l];else throw new Error(`Key ${l} not found in enum`);return new Ii({...t,checks:[],...p.normalizeParams(n),entries:e})}});function jh(r,t){let i=Array.isArray(r)?Object.fromEntries(r.map((o)=>[o,o])):r;return new Ii({type:"enum",entries:i,...p.normalizeParams(t)})}function pk(r,t){return new Ii({type:"enum",entries:r,...p.normalizeParams(t)})}var Cw=$("ZodLiteral",(r,t)=>{Sm.init(r,t),E.init(r,t),r.values=new Set(t.values),Object.defineProperty(r,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function _k(r,t){return new Cw({type:"literal",values:Array.isArray(r)?r:[r],...p.normalizeParams(t)})}var Tw=$("ZodFile",(r,t)=>{Nm.init(r,t),E.init(r,t),r.min=(i,o)=>r.check(Vt(i,o)),r.max=(i,o)=>r.check(bn(i,o)),r.mime=(i,o)=>r.check(pi(Array.isArray(i)?i:[i],o))});function Dk(r){return qv(Tw,r)}var dw=$("ZodTransform",(r,t)=>{Gm.init(r,t),E.init(r,t),r._zod.parse=(i,o)=>{if(o.direction==="backward")throw new Pt(r.constructor.name);i.addIssue=(e)=>{if(typeof e==="string")i.issues.push(p.issue(e,i.value,t));else{let l=e;if(l.fatal)l.continue=!1;l.code??(l.code="custom"),l.input??(l.input=i.value),l.inst??(l.inst=r),i.issues.push(p.issue(l))}};let n=t.transform(i.value,i);if(n instanceof Promise)return n.then((e)=>{return i.value=e,i});return i.value=n,i}});function Oh(r){return new dw({type:"transform",transform:r})}var Ih=$("ZodOptional",(r,t)=>{Bm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function we(r){return new Ih({type:"optional",innerType:r})}var sw=$("ZodNullable",(r,t)=>{ym.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function ze(r){return new sw({type:"nullable",innerType:r})}function jk(r){return we(ze(r))}var r4=$("ZodDefault",(r,t)=>{Am.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType,r.removeDefault=r.unwrap});function t4(r,t){return new r4({type:"default",innerType:r,get defaultValue(){return typeof t==="function"?t():p.shallowClone(t)}})}var n4=$("ZodPrefault",(r,t)=>{Hm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function i4(r,t){return new n4({type:"prefault",innerType:r,get defaultValue(){return typeof t==="function"?t():p.shallowClone(t)}})}var kh=$("ZodNonOptional",(r,t)=>{Rm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function o4(r,t){return new kh({type:"nonoptional",innerType:r,...p.normalizeParams(t)})}var e4=$("ZodSuccess",(r,t)=>{Mm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function Ok(r){return new e4({type:"success",innerType:r})}var l4=$("ZodCatch",(r,t)=>{Zm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType,r.removeCatch=r.unwrap});function c4(r,t){return new l4({type:"catch",innerType:r,catchValue:typeof t==="function"?t:()=>t})}var u4=$("ZodNaN",(r,t)=>{Cm.init(r,t),E.init(r,t)});function Ik(r){return Ov(u4,r)}var Uh=$("ZodPipe",(r,t)=>{Tm.init(r,t),E.init(r,t),r.in=t.in,r.out=t.out});function ae(r,t){return new Uh({type:"pipe",in:r,out:t})}var Jh=$("ZodCodec",(r,t)=>{Uh.init(r,t),ii.init(r,t)});function kk(r,t,i){return new Jh({type:"pipe",in:r,out:t,transform:i.decode,reverseTransform:i.encode})}var g4=$("ZodReadonly",(r,t)=>{dm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function m4(r){return new g4({type:"readonly",innerType:r})}var b4=$("ZodTemplateLiteral",(r,t)=>{sm.init(r,t),E.init(r,t)});function Uk(r,t){return new b4({type:"template_literal",parts:r,...p.normalizeParams(t)})}var v4=$("ZodLazy",(r,t)=>{nb.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.getter()});function h4(r){return new v4({type:"lazy",getter:r})}var $4=$("ZodPromise",(r,t)=>{tb.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function Jk(r){return new $4({type:"promise",innerType:r})}var x4=$("ZodFunction",(r,t)=>{rb.init(r,t),E.init(r,t)});function Pk(r){return new x4({type:"function",input:Array.isArray(r?.input)?Hw(r?.input):r?.input??De(xn()),output:r?.output??xn()})}var Oe=$("ZodCustom",(r,t)=>{ib.init(r,t),E.init(r,t)});function Xk(r){let t=new s({check:"custom"});return t._zod.check=r,t}function qk(r,t){return Wv(Oe,r??(()=>!0),t)}function f4(r,t={}){return Kv(Oe,r,t)}function w4(r){return Vv(r)}function Wk(r,t={error:`Input not instance of ${r.name}`}){let i=new Oe({type:"custom",check:"custom",fn:(o)=>o instanceof r,abort:!0,...p.normalizeParams(t)});return i._zod.bag.Class=r,i}var Kk=(...r)=>Lv({Codec:Jh,Boolean:Pi,String:ki},...r);function Vk(r){let t=h4(()=>{return _h([sv(r),qw(),Ww(),Yw(),De(t),Rw(sv(),t)])});return t}function Lk(r,t){return ae(Oh(r),t)}var Yk={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function Ek(r){br({customError:r})}function Qk(){return br().customError}var Ph;(function(r){})(Ph||(Ph={}));var Xh={};I(Xh,{string:()=>Fk,number:()=>Sk,date:()=>Bk,boolean:()=>Nk,bigint:()=>Gk});function Fk(r){return Cb(ki,r)}function Sk(r){return iv(Ji,r)}function Nk(r){return mv(Pi,r)}function Gk(r){return vv(Xi,r)}function Bk(r){return jv(_e,r)}br(oi());var z4=rr.object({type:rr.enum(["prepend","append"]),targetDomId:rr.string(),targetOid:rr.string().nullable()}),yk=z4.extend({type:rr.literal("index"),index:rr.number(),originalIndex:rr.number()}),QW=rr.discriminatedUnion("type",[yk,z4]);var iK=rr.object({suggestions:rr.array(rr.object({title:rr.string().describe("The display title of the suggestion. This will be shown to the user. Keep it concise but descriptive."),prompt:rr.string().describe("The prompt for the suggestion. This will be used to generate the suggestion. Make this as detailed and specific as possible.")})).length(3)});var lK=rr.object({filesDiscussed:rr.array(rr.string()).describe("List of file paths mentioned in the conversation"),projectContext:rr.string().describe("Summary of what the user is building and their overall goals"),implementationDetails:rr.string().describe("Summary of key code decisions, patterns, and important implementation details"),userPreferences:rr.string().describe("Specific preferences the user has expressed about implementation, design, etc."),currentStatus:rr.string().describe("Current state of the project and any pending work")});var XK={["anthropic/claude-sonnet-4"]:200000,["anthropic/claude-3.5-haiku"]:200000,["openai/gpt-5-nano"]:400000,["openai/gpt-5-mini"]:400000,["openai/gpt-5"]:400000,["claude-sonnet-4-20250514"]:200000,["claude-3-5-haiku-20241022"]:200000};function a4(){try{return window?.localStorage.getItem("theme")||"light"}catch(r){return console.warn("Failed to get theme",r),"light"}}function p4(r){try{if(r==="dark")document.documentElement.classList.add("dark"),window?.localStorage.setItem("theme","dark");else if(r==="light")document.documentElement.classList.remove("dark"),window?.localStorage.setItem("theme","light");else if(r==="system"){if(window.matchMedia("(prefers-color-scheme: dark)").matches)document.documentElement.classList.add("dark");else document.documentElement.classList.remove("dark");window?.localStorage.setItem("theme","system")}return!0}catch(t){return console.warn("Failed to set theme",t),!1}}function Ak(r){return(...t)=>{try{return r(...t)}catch(i){return console.error(`Error in ${r.name}:`,i),null}}}var Hk={processDom:Ki,setFrameId:Ee,getComputedStyleByDomId:X$,updateElementInstance:E$,getFirstOnlookElement:M$,captureScreenshot:Cf,buildLayerTree:zr,getElementAtLoc:Y$,getElementByDomId:Li,getElementIndex:Uf,setElementType:R$,getElementType:H$,getParentElement:Q$,getChildrenCount:F$,getOffsetParent:S$,getActionLocation:A$,getActionElement:Yi,getInsertLocation:_f,getRemoveAction:If,getTheme:a4,setTheme:p4,startDrag:Kf,drag:Lf,dragAbsolute:Vf,endDrag:Ef,endDragAbsolute:Yf,endAllDrag:Su,startEditingText:Ff,editText:Sf,stopEditingText:Nf,isChildTextEditable:yf,updateStyle:zf,insertElement:Df,removeElement:Of,moveElement:kf,groupElements:N$,ungroupElements:G$,insertImage:af,removeImage:pf,handleBodyReady:Nu},_4=Object.fromEntries(Object.entries(Hk).map(([r,t])=>[r,Ak(t)]));var _r=null,Ie=!1,O4=async()=>{if(Ie||_r)return _r;Ie=!0,console.log(`${Lt} - Creating penpal connection`);let r=new _$({remoteWindow:window.parent,allowedOrigins:["*"]}),t=p$({messenger:r,methods:_4});return t.promise.then((i)=>{if(!i){console.error(`${Lt} - Failed to setup penpal connection: child is null`),D4();return}_r=i,console.log(`${Lt} - Penpal connection set`)}).finally(()=>{Ie=!1}),t.promise.catch((i)=>{console.error(`${Lt} - Failed to setup penpal connection:`,i),D4()}),_r},D4=j4.default(()=>{if(Ie)return;console.log(`${Lt} - Reconnecting to penpal parent`),_r=null,O4()},1000);O4();export{_r as penpalParent}; +Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let c of this.seen.entries()){let m=c[1];if(r===c[0]){e(c);continue}if(i.external){let h=i.external.registry.get(c[0])?.id;if(r!==c[0]&&h){e(c);continue}}if(this.metadataRegistry.get(c[0])?.id){e(c);continue}if(m.cycle){e(c);continue}if(m.count>1){if(i.reused==="ref"){e(c);continue}}}let l=(c,m)=>{let v=this.seen.get(c),h=v.def??v.schema,b={...h};if(v.ref===null)return;let f=v.ref;if(v.ref=null,f){l(f,m);let D=this.seen.get(f).schema;if(D.$ref&&(m.target==="draft-7"||m.target==="draft-4"||m.target==="openapi-3.0"))h.allOf=h.allOf??[],h.allOf.push(D);else Object.assign(h,D),Object.assign(h,b)}if(!v.isParent)this.override({zodSchema:c,jsonSchema:h,path:v.path??[]})};for(let c of[...this.seen.entries()].reverse())l(c[0],{target:this.target});let u={};if(this.target==="draft-2020-12")u.$schema="https://json-schema.org/draft/2020-12/schema";else if(this.target==="draft-7")u.$schema="http://json-schema.org/draft-07/schema#";else if(this.target==="draft-4")u.$schema="http://json-schema.org/draft-04/schema#";else if(this.target==="openapi-3.0");else console.warn(`Invalid target: ${this.target}`);if(i.external?.uri){let c=i.external.registry.get(r)?.id;if(!c)throw new Error("Schema is missing an `id` property");u.$id=i.external.uri(c)}Object.assign(u,o.def);let g=i.external?.defs??{};for(let c of this.seen.entries()){let m=c[1];if(m.def&&m.defId)g[m.defId]=m.def}if(i.external);else if(Object.keys(g).length>0)if(this.target==="draft-2020-12")u.$defs=g;else u.definitions=g;try{return JSON.parse(JSON.stringify(u))}catch(c){throw new Error("Error converting schema to JSON.")}}}function Yv(r,t){if(r instanceof mi){let o=new me(t),n={};for(let u of r._idmap.entries()){let[g,c]=u;o.process(c)}let e={},l={registry:r,uri:t?.uri,defs:n};for(let u of r._idmap.entries()){let[g,c]=u;e[g]=o.emit(c,{...t,external:l})}if(Object.keys(n).length>0){let u=o.target==="draft-2020-12"?"$defs":"definitions";e.__shared={[u]:n}}return{schemas:e}}let i=new me(t);return i.process(r),i.emit(r,t)}function $r(r,t){let i=t??{seen:new Set};if(i.seen.has(r))return!1;i.seen.add(r);let n=r._zod.def;switch(n.type){case"string":case"number":case"bigint":case"boolean":case"date":case"symbol":case"undefined":case"null":case"any":case"unknown":case"never":case"void":case"literal":case"enum":case"nan":case"file":case"template_literal":return!1;case"array":return $r(n.element,i);case"object":{for(let e in n.shape)if($r(n.shape[e],i))return!0;return!1}case"union":{for(let e of n.options)if($r(e,i))return!0;return!1}case"intersection":return $r(n.left,i)||$r(n.right,i);case"tuple":{for(let e of n.items)if($r(e,i))return!0;if(n.rest&&$r(n.rest,i))return!0;return!1}case"record":return $r(n.keyType,i)||$r(n.valueType,i);case"map":return $r(n.keyType,i)||$r(n.valueType,i);case"set":return $r(n.valueType,i);case"promise":case"optional":case"nonoptional":case"nullable":case"readonly":return $r(n.innerType,i);case"lazy":return $r(n.getter(),i);case"default":return $r(n.innerType,i);case"prefault":return $r(n.innerType,i);case"custom":return!1;case"transform":return!0;case"pipe":return $r(n.in,i)||$r(n.out,i);case"success":return!1;case"catch":return!1;case"function":return!1;default:}throw new Error(`Unknown schema type: ${n.type}`)}var Jw={};var xe={};I(xe,{time:()=>Fv,duration:()=>Sv,datetime:()=>Ev,date:()=>Qv,ZodISOTime:()=>he,ZodISODuration:()=>$e,ZodISODateTime:()=>be,ZodISODate:()=>ve});var be=$("ZodISODateTime",(r,t)=>{um.init(r,t),T.init(r,t)});function Ev(r){return db(be,r)}var ve=$("ZodISODate",(r,t)=>{gm.init(r,t),T.init(r,t)});function Qv(r){return sb(ve,r)}var he=$("ZodISOTime",(r,t)=>{mm.init(r,t),T.init(r,t)});function Fv(r){return rv(he,r)}var $e=$("ZodISODuration",(r,t)=>{bm.init(r,t),T.init(r,t)});function Sv(r){return tv($e,r)}var Xw=(r,t)=>{Tn.init(r,t),r.name="ZodError",Object.defineProperties(r,{format:{value:(i)=>sn(r,i)},flatten:{value:(i)=>dn(r,i)},addIssue:{value:(i)=>{r.issues.push(i),r.message=JSON.stringify(r.issues,nn,2)}},addIssues:{value:(i)=>{r.issues.push(...i),r.message=JSON.stringify(r.issues,nn,2)}},isEmpty:{get(){return r.issues.length===0}}})},II=$("ZodError",Xw),Ur=$("ZodError",Xw,{Parent:Error});var Nv=ln(Ur),Gv=cn(Ur),Bv=un(Ur),yv=gn(Ur),Av=_o(Ur),Hv=Do(Ur),Rv=jo(Ur),Mv=Oo(Ur),Zv=Io(Ur),Cv=ko(Ur),Tv=Uo(Ur),dv=Jo(Ur);var E=$("ZodType",(r,t)=>{return V.init(r,t),r.def=t,r.type=t.type,Object.defineProperty(r,"_def",{value:t}),r.check=(...i)=>{return r.clone(p.mergeDefs(t,{checks:[...t.checks??[],...i.map((o)=>typeof o==="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]}))},r.clone=(i,o)=>jr(r,i,o),r.brand=()=>r,r.register=(i,o)=>{return i.add(r,o),r},r.parse=(i,o)=>Nv(r,i,o,{callee:r.parse}),r.safeParse=(i,o)=>Bv(r,i,o),r.parseAsync=async(i,o)=>Gv(r,i,o,{callee:r.parseAsync}),r.safeParseAsync=async(i,o)=>yv(r,i,o),r.spa=r.safeParseAsync,r.encode=(i,o)=>Av(r,i,o),r.decode=(i,o)=>Hv(r,i,o),r.encodeAsync=async(i,o)=>Rv(r,i,o),r.decodeAsync=async(i,o)=>Mv(r,i,o),r.safeEncode=(i,o)=>Zv(r,i,o),r.safeDecode=(i,o)=>Cv(r,i,o),r.safeEncodeAsync=async(i,o)=>Tv(r,i,o),r.safeDecodeAsync=async(i,o)=>dv(r,i,o),r.refine=(i,o)=>r.check(f4(i,o)),r.superRefine=(i)=>r.check(w4(i)),r.overwrite=(i)=>r.check(ct(i)),r.optional=()=>we(r),r.nullable=()=>ze(r),r.nullish=()=>we(ze(r)),r.nonoptional=(i)=>o4(r,i),r.array=()=>De(r),r.or=(i)=>_h([r,i]),r.and=(i)=>yw(r,i),r.transform=(i)=>ae(r,Oh(i)),r.default=(i)=>t4(r,i),r.prefault=(i)=>i4(r,i),r.catch=(i)=>c4(r,i),r.pipe=(i)=>ae(r,i),r.readonly=()=>m4(r),r.describe=(i)=>{let o=r.clone();return Tr.add(o,{description:i}),o},Object.defineProperty(r,"description",{get(){return Tr.get(r)?.description},configurable:!0}),r.meta=(...i)=>{if(i.length===0)return Tr.get(r);let o=r.clone();return Tr.add(o,i[0]),o},r.isOptional=()=>r.safeParse(void 0).success,r.isNullable=()=>r.safeParse(null).success,r}),th=$("_ZodString",(r,t)=>{Wt.init(r,t),E.init(r,t);let i=r._zod.bag;r.format=i.format??null,r.minLength=i.minimum??null,r.maxLength=i.maximum??null,r.regex=(...o)=>r.check($i(...o)),r.includes=(...o)=>r.check(wi(...o)),r.startsWith=(...o)=>r.check(zi(...o)),r.endsWith=(...o)=>r.check(ai(...o)),r.min=(...o)=>r.check(_t(...o)),r.max=(...o)=>r.check(vn(...o)),r.length=(...o)=>r.check(hn(...o)),r.nonempty=(...o)=>r.check(_t(1,...o)),r.lowercase=(o)=>r.check(xi(o)),r.uppercase=(o)=>r.check(fi(o)),r.trim=()=>r.check(Di()),r.normalize=(...o)=>r.check(_i(...o)),r.toLowerCase=()=>r.check(ji()),r.toUpperCase=()=>r.check(Oi())}),ki=$("ZodString",(r,t)=>{Wt.init(r,t),th.init(r,t),r.email=(i)=>r.check(Bo(nh,i)),r.url=(i)=>r.check(vi(pe,i)),r.jwt=(i)=>r.check(ge(wh,i)),r.emoji=(i)=>r.check(Mo(ih,i)),r.guid=(i)=>r.check(bi(fe,i)),r.uuid=(i)=>r.check(yo(gt,i)),r.uuidv4=(i)=>r.check(Ao(gt,i)),r.uuidv6=(i)=>r.check(Ho(gt,i)),r.uuidv7=(i)=>r.check(Ro(gt,i)),r.nanoid=(i)=>r.check(Zo(oh,i)),r.guid=(i)=>r.check(bi(fe,i)),r.cuid=(i)=>r.check(Co(eh,i)),r.cuid2=(i)=>r.check(To(lh,i)),r.ulid=(i)=>r.check(so(ch,i)),r.base64=(i)=>r.check(le($h,i)),r.base64url=(i)=>r.check(ce(xh,i)),r.xid=(i)=>r.check(re(uh,i)),r.ksuid=(i)=>r.check(te(gh,i)),r.ipv4=(i)=>r.check(ne(mh,i)),r.ipv6=(i)=>r.check(ie(bh,i)),r.cidrv4=(i)=>r.check(oe(vh,i)),r.cidrv6=(i)=>r.check(ee(hh,i)),r.e164=(i)=>r.check(ue(fh,i)),r.datetime=(i)=>r.check(Ev(i)),r.date=(i)=>r.check(Qv(i)),r.time=(i)=>r.check(Fv(i)),r.duration=(i)=>r.check(Sv(i))});function sv(r){return Zb(ki,r)}var T=$("ZodStringFormat",(r,t)=>{M.init(r,t),th.init(r,t)}),nh=$("ZodEmail",(r,t)=>{sg.init(r,t),T.init(r,t)});function UI(r){return Bo(nh,r)}var fe=$("ZodGUID",(r,t)=>{Tg.init(r,t),T.init(r,t)});function JI(r){return bi(fe,r)}var gt=$("ZodUUID",(r,t)=>{dg.init(r,t),T.init(r,t)});function PI(r){return yo(gt,r)}function XI(r){return Ao(gt,r)}function qI(r){return Ho(gt,r)}function WI(r){return Ro(gt,r)}var pe=$("ZodURL",(r,t)=>{rm.init(r,t),T.init(r,t)});function KI(r){return vi(pe,r)}function VI(r){return vi(pe,{protocol:/^https?$/,hostname:Yr.domain,...p.normalizeParams(r)})}var ih=$("ZodEmoji",(r,t)=>{tm.init(r,t),T.init(r,t)});function LI(r){return Mo(ih,r)}var oh=$("ZodNanoID",(r,t)=>{nm.init(r,t),T.init(r,t)});function YI(r){return Zo(oh,r)}var eh=$("ZodCUID",(r,t)=>{im.init(r,t),T.init(r,t)});function EI(r){return Co(eh,r)}var lh=$("ZodCUID2",(r,t)=>{om.init(r,t),T.init(r,t)});function QI(r){return To(lh,r)}var ch=$("ZodULID",(r,t)=>{em.init(r,t),T.init(r,t)});function FI(r){return so(ch,r)}var uh=$("ZodXID",(r,t)=>{lm.init(r,t),T.init(r,t)});function SI(r){return re(uh,r)}var gh=$("ZodKSUID",(r,t)=>{cm.init(r,t),T.init(r,t)});function NI(r){return te(gh,r)}var mh=$("ZodIPv4",(r,t)=>{vm.init(r,t),T.init(r,t)});function GI(r){return ne(mh,r)}var bh=$("ZodIPv6",(r,t)=>{hm.init(r,t),T.init(r,t)});function BI(r){return ie(bh,r)}var vh=$("ZodCIDRv4",(r,t)=>{$m.init(r,t),T.init(r,t)});function yI(r){return oe(vh,r)}var hh=$("ZodCIDRv6",(r,t)=>{xm.init(r,t),T.init(r,t)});function AI(r){return ee(hh,r)}var $h=$("ZodBase64",(r,t)=>{wm.init(r,t),T.init(r,t)});function HI(r){return le($h,r)}var xh=$("ZodBase64URL",(r,t)=>{zm.init(r,t),T.init(r,t)});function RI(r){return ce(xh,r)}var fh=$("ZodE164",(r,t)=>{am.init(r,t),T.init(r,t)});function MI(r){return ue(fh,r)}var wh=$("ZodJWT",(r,t)=>{pm.init(r,t),T.init(r,t)});function ZI(r){return ge(wh,r)}var Ui=$("ZodCustomStringFormat",(r,t)=>{_m.init(r,t),T.init(r,t)});function CI(r,t,i={}){return $n(Ui,r,t,i)}function TI(r){return $n(Ui,"hostname",Yr.hostname,r)}function dI(r){return $n(Ui,"hex",Yr.hex,r)}function sI(r,t){let i=t?.enc??"hex",o=`${r}_${i}`,n=Yr[o];if(!n)throw new Error(`Unrecognized hash format: ${o}`);return $n(Ui,o,n,t)}var Ji=$("ZodNumber",(r,t)=>{Qo.init(r,t),E.init(r,t),r.gt=(o,n)=>r.check(lt(o,n)),r.gte=(o,n)=>r.check(kr(o,n)),r.min=(o,n)=>r.check(kr(o,n)),r.lt=(o,n)=>r.check(et(o,n)),r.lte=(o,n)=>r.check(Er(o,n)),r.max=(o,n)=>r.check(Er(o,n)),r.int=(o)=>r.check(rh(o)),r.safe=(o)=>r.check(rh(o)),r.positive=(o)=>r.check(lt(0,o)),r.nonnegative=(o)=>r.check(kr(0,o)),r.negative=(o)=>r.check(et(0,o)),r.nonpositive=(o)=>r.check(Er(0,o)),r.multipleOf=(o,n)=>r.check(Kt(o,n)),r.step=(o,n)=>r.check(Kt(o,n)),r.finite=()=>r;let i=r._zod.bag;r.minValue=Math.max(i.minimum??Number.NEGATIVE_INFINITY,i.exclusiveMinimum??Number.NEGATIVE_INFINITY)??null,r.maxValue=Math.min(i.maximum??Number.POSITIVE_INFINITY,i.exclusiveMaximum??Number.POSITIVE_INFINITY)??null,r.isInt=(i.format??"").includes("int")||Number.isSafeInteger(i.multipleOf??0.5),r.isFinite=!0,r.format=i.format??null});function qw(r){return nv(Ji,r)}var fn=$("ZodNumberFormat",(r,t)=>{Dm.init(r,t),Ji.init(r,t)});function rh(r){return ov(fn,r)}function rk(r){return ev(fn,r)}function tk(r){return lv(fn,r)}function nk(r){return cv(fn,r)}function ik(r){return uv(fn,r)}var Pi=$("ZodBoolean",(r,t)=>{ni.init(r,t),E.init(r,t)});function Ww(r){return gv(Pi,r)}var Xi=$("ZodBigInt",(r,t)=>{Fo.init(r,t),E.init(r,t),r.gte=(o,n)=>r.check(kr(o,n)),r.min=(o,n)=>r.check(kr(o,n)),r.gt=(o,n)=>r.check(lt(o,n)),r.gte=(o,n)=>r.check(kr(o,n)),r.min=(o,n)=>r.check(kr(o,n)),r.lt=(o,n)=>r.check(et(o,n)),r.lte=(o,n)=>r.check(Er(o,n)),r.max=(o,n)=>r.check(Er(o,n)),r.positive=(o)=>r.check(lt(BigInt(0),o)),r.negative=(o)=>r.check(et(BigInt(0),o)),r.nonpositive=(o)=>r.check(Er(BigInt(0),o)),r.nonnegative=(o)=>r.check(kr(BigInt(0),o)),r.multipleOf=(o,n)=>r.check(Kt(o,n));let i=r._zod.bag;r.minValue=i.minimum??null,r.maxValue=i.maximum??null,r.format=i.format??null});function ok(r){return bv(Xi,r)}var zh=$("ZodBigIntFormat",(r,t)=>{jm.init(r,t),Xi.init(r,t)});function ek(r){return hv(zh,r)}function lk(r){return $v(zh,r)}var Kw=$("ZodSymbol",(r,t)=>{Om.init(r,t),E.init(r,t)});function ck(r){return xv(Kw,r)}var Vw=$("ZodUndefined",(r,t)=>{Im.init(r,t),E.init(r,t)});function uk(r){return fv(Vw,r)}var Lw=$("ZodNull",(r,t)=>{km.init(r,t),E.init(r,t)});function Yw(r){return wv(Lw,r)}var Ew=$("ZodAny",(r,t)=>{Um.init(r,t),E.init(r,t)});function gk(){return zv(Ew)}var Qw=$("ZodUnknown",(r,t)=>{Jm.init(r,t),E.init(r,t)});function xn(){return av(Qw)}var Fw=$("ZodNever",(r,t)=>{Pm.init(r,t),E.init(r,t)});function ah(r){return pv(Fw,r)}var Sw=$("ZodVoid",(r,t)=>{Xm.init(r,t),E.init(r,t)});function mk(r){return _v(Sw,r)}var _e=$("ZodDate",(r,t)=>{qm.init(r,t),E.init(r,t),r.min=(o,n)=>r.check(kr(o,n)),r.max=(o,n)=>r.check(Er(o,n));let i=r._zod.bag;r.minDate=i.minimum?new Date(i.minimum):null,r.maxDate=i.maximum?new Date(i.maximum):null});function bk(r){return Dv(_e,r)}var Nw=$("ZodArray",(r,t)=>{Wm.init(r,t),E.init(r,t),r.element=t.element,r.min=(i,o)=>r.check(_t(i,o)),r.nonempty=(i)=>r.check(_t(1,i)),r.max=(i,o)=>r.check(vn(i,o)),r.length=(i,o)=>r.check(hn(i,o)),r.unwrap=()=>r.element});function De(r,t){return Xv(Nw,r,t)}function vk(r){let t=r._zod.def.shape;return jh(Object.keys(t))}var je=$("ZodObject",(r,t)=>{Km.init(r,t),E.init(r,t),p.defineLazy(r,"shape",()=>{return t.shape}),r.keyof=()=>jh(Object.keys(r._zod.def.shape)),r.catchall=(i)=>r.clone({...r._zod.def,catchall:i}),r.passthrough=()=>r.clone({...r._zod.def,catchall:xn()}),r.loose=()=>r.clone({...r._zod.def,catchall:xn()}),r.strict=()=>r.clone({...r._zod.def,catchall:ah()}),r.strip=()=>r.clone({...r._zod.def,catchall:void 0}),r.extend=(i)=>{return p.extend(r,i)},r.safeExtend=(i)=>{return p.safeExtend(r,i)},r.merge=(i)=>p.merge(r,i),r.pick=(i)=>p.pick(r,i),r.omit=(i)=>p.omit(r,i),r.partial=(...i)=>p.partial(Ih,r,i[0]),r.required=(...i)=>p.required(kh,r,i[0])});function hk(r,t){let i={type:"object",shape:r??{},...p.normalizeParams(t)};return new je(i)}function $k(r,t){return new je({type:"object",shape:r,catchall:ah(),...p.normalizeParams(t)})}function xk(r,t){return new je({type:"object",shape:r,catchall:xn(),...p.normalizeParams(t)})}var ph=$("ZodUnion",(r,t)=>{So.init(r,t),E.init(r,t),r.options=t.options});function _h(r,t){return new ph({type:"union",options:r,...p.normalizeParams(t)})}var Gw=$("ZodDiscriminatedUnion",(r,t)=>{ph.init(r,t),Vm.init(r,t)});function fk(r,t,i){return new Gw({type:"union",options:t,discriminator:r,...p.normalizeParams(i)})}var Bw=$("ZodIntersection",(r,t)=>{Lm.init(r,t),E.init(r,t)});function yw(r,t){return new Bw({type:"intersection",left:r,right:t})}var Aw=$("ZodTuple",(r,t)=>{No.init(r,t),E.init(r,t),r.rest=(i)=>r.clone({...r._zod.def,rest:i})});function Hw(r,t,i){let o=t instanceof V,n=o?i:t;return new Aw({type:"tuple",items:r,rest:o?t:null,...p.normalizeParams(n)})}var Dh=$("ZodRecord",(r,t)=>{Ym.init(r,t),E.init(r,t),r.keyType=t.keyType,r.valueType=t.valueType});function Rw(r,t,i){return new Dh({type:"record",keyType:r,valueType:t,...p.normalizeParams(i)})}function wk(r,t,i){let o=jr(r);return o._zod.values=void 0,new Dh({type:"record",keyType:o,valueType:t,...p.normalizeParams(i)})}var Mw=$("ZodMap",(r,t)=>{Em.init(r,t),E.init(r,t),r.keyType=t.keyType,r.valueType=t.valueType});function zk(r,t,i){return new Mw({type:"map",keyType:r,valueType:t,...p.normalizeParams(i)})}var Zw=$("ZodSet",(r,t)=>{Qm.init(r,t),E.init(r,t),r.min=(...i)=>r.check(Vt(...i)),r.nonempty=(i)=>r.check(Vt(1,i)),r.max=(...i)=>r.check(bn(...i)),r.size=(...i)=>r.check(hi(...i))});function ak(r,t){return new Zw({type:"set",valueType:r,...p.normalizeParams(t)})}var Ii=$("ZodEnum",(r,t)=>{Fm.init(r,t),E.init(r,t),r.enum=t.entries,r.options=Object.values(t.entries);let i=new Set(Object.keys(t.entries));r.extract=(o,n)=>{let e={};for(let l of o)if(i.has(l))e[l]=t.entries[l];else throw new Error(`Key ${l} not found in enum`);return new Ii({...t,checks:[],...p.normalizeParams(n),entries:e})},r.exclude=(o,n)=>{let e={...t.entries};for(let l of o)if(i.has(l))delete e[l];else throw new Error(`Key ${l} not found in enum`);return new Ii({...t,checks:[],...p.normalizeParams(n),entries:e})}});function jh(r,t){let i=Array.isArray(r)?Object.fromEntries(r.map((o)=>[o,o])):r;return new Ii({type:"enum",entries:i,...p.normalizeParams(t)})}function pk(r,t){return new Ii({type:"enum",entries:r,...p.normalizeParams(t)})}var Cw=$("ZodLiteral",(r,t)=>{Sm.init(r,t),E.init(r,t),r.values=new Set(t.values),Object.defineProperty(r,"value",{get(){if(t.values.length>1)throw new Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function _k(r,t){return new Cw({type:"literal",values:Array.isArray(r)?r:[r],...p.normalizeParams(t)})}var Tw=$("ZodFile",(r,t)=>{Nm.init(r,t),E.init(r,t),r.min=(i,o)=>r.check(Vt(i,o)),r.max=(i,o)=>r.check(bn(i,o)),r.mime=(i,o)=>r.check(pi(Array.isArray(i)?i:[i],o))});function Dk(r){return qv(Tw,r)}var dw=$("ZodTransform",(r,t)=>{Gm.init(r,t),E.init(r,t),r._zod.parse=(i,o)=>{if(o.direction==="backward")throw new Pt(r.constructor.name);i.addIssue=(e)=>{if(typeof e==="string")i.issues.push(p.issue(e,i.value,t));else{let l=e;if(l.fatal)l.continue=!1;l.code??(l.code="custom"),l.input??(l.input=i.value),l.inst??(l.inst=r),i.issues.push(p.issue(l))}};let n=t.transform(i.value,i);if(n instanceof Promise)return n.then((e)=>{return i.value=e,i});return i.value=n,i}});function Oh(r){return new dw({type:"transform",transform:r})}var Ih=$("ZodOptional",(r,t)=>{Bm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function we(r){return new Ih({type:"optional",innerType:r})}var sw=$("ZodNullable",(r,t)=>{ym.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function ze(r){return new sw({type:"nullable",innerType:r})}function jk(r){return we(ze(r))}var r4=$("ZodDefault",(r,t)=>{Am.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType,r.removeDefault=r.unwrap});function t4(r,t){return new r4({type:"default",innerType:r,get defaultValue(){return typeof t==="function"?t():p.shallowClone(t)}})}var n4=$("ZodPrefault",(r,t)=>{Hm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function i4(r,t){return new n4({type:"prefault",innerType:r,get defaultValue(){return typeof t==="function"?t():p.shallowClone(t)}})}var kh=$("ZodNonOptional",(r,t)=>{Rm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function o4(r,t){return new kh({type:"nonoptional",innerType:r,...p.normalizeParams(t)})}var e4=$("ZodSuccess",(r,t)=>{Mm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function Ok(r){return new e4({type:"success",innerType:r})}var l4=$("ZodCatch",(r,t)=>{Zm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType,r.removeCatch=r.unwrap});function c4(r,t){return new l4({type:"catch",innerType:r,catchValue:typeof t==="function"?t:()=>t})}var u4=$("ZodNaN",(r,t)=>{Cm.init(r,t),E.init(r,t)});function Ik(r){return Ov(u4,r)}var Uh=$("ZodPipe",(r,t)=>{Tm.init(r,t),E.init(r,t),r.in=t.in,r.out=t.out});function ae(r,t){return new Uh({type:"pipe",in:r,out:t})}var Jh=$("ZodCodec",(r,t)=>{Uh.init(r,t),ii.init(r,t)});function kk(r,t,i){return new Jh({type:"pipe",in:r,out:t,transform:i.decode,reverseTransform:i.encode})}var g4=$("ZodReadonly",(r,t)=>{dm.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function m4(r){return new g4({type:"readonly",innerType:r})}var b4=$("ZodTemplateLiteral",(r,t)=>{sm.init(r,t),E.init(r,t)});function Uk(r,t){return new b4({type:"template_literal",parts:r,...p.normalizeParams(t)})}var v4=$("ZodLazy",(r,t)=>{nb.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.getter()});function h4(r){return new v4({type:"lazy",getter:r})}var $4=$("ZodPromise",(r,t)=>{tb.init(r,t),E.init(r,t),r.unwrap=()=>r._zod.def.innerType});function Jk(r){return new $4({type:"promise",innerType:r})}var x4=$("ZodFunction",(r,t)=>{rb.init(r,t),E.init(r,t)});function Pk(r){return new x4({type:"function",input:Array.isArray(r?.input)?Hw(r?.input):r?.input??De(xn()),output:r?.output??xn()})}var Oe=$("ZodCustom",(r,t)=>{ib.init(r,t),E.init(r,t)});function Xk(r){let t=new s({check:"custom"});return t._zod.check=r,t}function qk(r,t){return Wv(Oe,r??(()=>!0),t)}function f4(r,t={}){return Kv(Oe,r,t)}function w4(r){return Vv(r)}function Wk(r,t={error:`Input not instance of ${r.name}`}){let i=new Oe({type:"custom",check:"custom",fn:(o)=>o instanceof r,abort:!0,...p.normalizeParams(t)});return i._zod.bag.Class=r,i}var Kk=(...r)=>Lv({Codec:Jh,Boolean:Pi,String:ki},...r);function Vk(r){let t=h4(()=>{return _h([sv(r),qw(),Ww(),Yw(),De(t),Rw(sv(),t)])});return t}function Lk(r,t){return ae(Oh(r),t)}var Yk={invalid_type:"invalid_type",too_big:"too_big",too_small:"too_small",invalid_format:"invalid_format",not_multiple_of:"not_multiple_of",unrecognized_keys:"unrecognized_keys",invalid_union:"invalid_union",invalid_key:"invalid_key",invalid_element:"invalid_element",invalid_value:"invalid_value",custom:"custom"};function Ek(r){br({customError:r})}function Qk(){return br().customError}var Ph;(function(r){})(Ph||(Ph={}));var Xh={};I(Xh,{string:()=>Fk,number:()=>Sk,date:()=>Bk,boolean:()=>Nk,bigint:()=>Gk});function Fk(r){return Cb(ki,r)}function Sk(r){return iv(Ji,r)}function Nk(r){return mv(Pi,r)}function Gk(r){return vv(Xi,r)}function Bk(r){return jv(_e,r)}br(oi());var z4=rr.object({type:rr.enum(["prepend","append"]),targetDomId:rr.string(),targetOid:rr.string().nullable()}),yk=z4.extend({type:rr.literal("index"),index:rr.number(),originalIndex:rr.number()}),QW=rr.discriminatedUnion("type",[yk,z4]);var oK=rr.object({suggestions:rr.array(rr.object({title:rr.string().describe("The display title of the suggestion. This will be shown to the user. Keep it concise but descriptive."),prompt:rr.string().describe("The prompt for the suggestion. This will be used to generate the suggestion. Make this as detailed and specific as possible.")})).length(3)});var cK=rr.object({filesDiscussed:rr.array(rr.string()).describe("List of file paths mentioned in the conversation"),projectContext:rr.string().describe("Summary of what the user is building and their overall goals"),implementationDetails:rr.string().describe("Summary of key code decisions, patterns, and important implementation details"),userPreferences:rr.string().describe("Specific preferences the user has expressed about implementation, design, etc."),currentStatus:rr.string().describe("Current state of the project and any pending work")});var qK={["anthropic/claude-sonnet-4"]:200000,["anthropic/claude-3.5-haiku"]:200000,["openai/gpt-5-nano"]:400000,["openai/gpt-5-mini"]:400000,["openai/gpt-5"]:400000,["claude-sonnet-4-20250514"]:200000,["claude-3-5-haiku-20241022"]:200000};function a4(){try{return window?.localStorage.getItem("theme")||"light"}catch(r){return console.warn("Failed to get theme",r),"light"}}function p4(r){try{if(r==="dark")document.documentElement.classList.add("dark"),window?.localStorage.setItem("theme","dark");else if(r==="light")document.documentElement.classList.remove("dark"),window?.localStorage.setItem("theme","light");else if(r==="system"){if(window.matchMedia("(prefers-color-scheme: dark)").matches)document.documentElement.classList.add("dark");else document.documentElement.classList.remove("dark");window?.localStorage.setItem("theme","system")}return!0}catch(t){return console.warn("Failed to set theme",t),!1}}function Ak(r){return(...t)=>{try{return r(...t)}catch(i){return console.error(`Error in ${r.name}:`,i),null}}}var Hk={processDom:Ki,setFrameId:Ee,getComputedStyleByDomId:X$,updateElementInstance:E$,getFirstOnlookElement:M$,captureScreenshot:Cf,buildLayerTree:zr,getElementAtLoc:Y$,getElementByDomId:Li,getElementIndex:Uf,setElementType:R$,getElementType:H$,getParentElement:Q$,getChildrenCount:F$,getOffsetParent:S$,getActionLocation:A$,getActionElement:Yi,getInsertLocation:_f,getRemoveAction:If,getTheme:a4,setTheme:p4,startDrag:Kf,drag:Lf,dragAbsolute:Vf,endDrag:Ef,endDragAbsolute:Yf,endAllDrag:Su,startEditingText:Ff,editText:Sf,stopEditingText:Nf,isChildTextEditable:yf,updateStyle:zf,insertElement:Df,removeElement:Of,moveElement:kf,groupElements:N$,ungroupElements:G$,insertImage:af,removeImage:pf,handleBodyReady:Nu},_4=Object.fromEntries(Object.entries(Hk).map(([r,t])=>[r,Ak(t)]));var _r=null,Ie=!1,O4=async()=>{if(Ie||_r)return _r;Ie=!0,console.log(`${Lt} - Creating penpal connection`);let r=new _$({remoteWindow:window.parent,allowedOrigins:["*"]}),t=p$({messenger:r,methods:_4});return t.promise.then((i)=>{if(!i){console.error(`${Lt} - Failed to setup penpal connection: child is null`),D4();return}_r=i,console.log(`${Lt} - Penpal connection set`)}).finally(()=>{Ie=!1}),t.promise.catch((i)=>{console.error(`${Lt} - Failed to setup penpal connection:`,i),D4()}),_r},D4=j4.default(()=>{if(Ie)return;console.log(`${Lt} - Reconnecting to penpal parent`),_r=null,O4()},1000);O4();export{_r as penpalParent}; diff --git a/apps/web/client/src/app/api/chat/helpers/stream.ts b/apps/web/client/src/app/api/chat/helpers/stream.ts index 6755eab052..8e2a28af49 100644 --- a/apps/web/client/src/app/api/chat/helpers/stream.ts +++ b/apps/web/client/src/app/api/chat/helpers/stream.ts @@ -1,48 +1,8 @@ import type { ToolCall } from '@ai-sdk/provider-utils'; -import { getAskModeSystemPrompt, getCreatePageSystemPrompt, getSystemPrompt, initModel } from '@onlook/ai'; -import { ChatType, LLMProvider, OPENROUTER_MODELS, type ModelConfig } from '@onlook/models'; +import { initModel } from '@onlook/ai'; +import { LLMProvider, OPENROUTER_MODELS } from '@onlook/models'; import { generateObject, NoSuchToolError, type ToolSet } from 'ai'; -export async function getModelFromType(chatType: ChatType) { - let model: ModelConfig; - switch (chatType) { - case ChatType.CREATE: - case ChatType.FIX: - model = await initModel({ - provider: LLMProvider.OPENROUTER, - model: OPENROUTER_MODELS.OPEN_AI_GPT_5, - }); - break; - case ChatType.ASK: - case ChatType.EDIT: - default: - model = await initModel({ - provider: LLMProvider.OPENROUTER, - model: OPENROUTER_MODELS.CLAUDE_4_SONNET, - }); - break; - } - return model; -} - -export function getSystemPromptFromType(chatType: ChatType) { - let systemPrompt: string; - - switch (chatType) { - case ChatType.CREATE: - systemPrompt = getCreatePageSystemPrompt(); - break; - case ChatType.ASK: - systemPrompt = getAskModeSystemPrompt(); - break; - case ChatType.EDIT: - default: - systemPrompt = getSystemPrompt(); - break; - } - return systemPrompt; -} - export const repairToolCall = async ({ toolCall, tools, error }: { toolCall: ToolCall, tools: ToolSet, error: Error }) => { if (NoSuchToolError.isInstance(error)) { @@ -60,7 +20,7 @@ export const repairToolCall = async ({ toolCall, tools, error }: { toolCall: Too `Invalid parameter for tool ${toolCall.toolName} with args ${JSON.stringify(toolCall.input)}, attempting to fix`, ); - const { model } = await initModel({ + const { model } = initModel({ provider: LLMProvider.OPENROUTER, model: OPENROUTER_MODELS.OPEN_AI_GPT_5_NANO, }); diff --git a/apps/web/client/src/app/api/chat/route.ts b/apps/web/client/src/app/api/chat/route.ts index 746f32d885..63d7799b11 100644 --- a/apps/web/client/src/app/api/chat/route.ts +++ b/apps/web/client/src/app/api/chat/route.ts @@ -1,11 +1,12 @@ import { api } from '@/trpc/server'; import { trackEvent } from '@/utils/analytics/server'; -import { AgentStreamer, RootAgent } from '@onlook/ai'; +import { AgentStreamer, BaseAgent, RootAgent, UserAgent } from '@onlook/ai'; import { toDbMessage } from '@onlook/db'; -import { ChatType, type ChatMessage } from '@onlook/models'; +import { AgentType, ChatType } from '@onlook/models'; import { type NextRequest } from 'next/server'; import { v4 as uuidv4 } from 'uuid'; import { checkMessageLimit, decrementUsage, errorHandler, getSupabaseUser, incrementUsage, repairToolCall } from './helpers'; +import { z } from 'zod'; export async function POST(req: NextRequest) { try { @@ -51,14 +52,24 @@ export async function POST(req: NextRequest) { } } +const streamResponseSchema = z.object({ + agentType: z.enum(AgentType).optional().default(AgentType.ROOT), + messages: z.array(z.any()), + chatType: z.enum(ChatType).optional(), + conversationId: z.string(), + projectId: z.string(), +}).refine((data) => { + // Only allow chatType if agentType is ROOT + if (data.chatType !== undefined && data.agentType !== AgentType.ROOT) { + return false; + } + return true; +}, { message: "chatType is only allowed if agentType is root" }); + export const streamResponse = async (req: NextRequest, userId: string) => { const body = await req.json(); - const { messages, chatType, conversationId, projectId } = body as { - messages: ChatMessage[], - chatType: ChatType, - conversationId: string, - projectId: string, - }; + const { agentType, messages, chatType, conversationId, projectId } = streamResponseSchema.parse(body); + // Updating the usage record and rate limit is done here to avoid // abuse in the case where a single user sends many concurrent requests. // If the call below fails, the user will not be penalized. @@ -71,12 +82,20 @@ export const streamResponse = async (req: NextRequest, userId: string) => { const lastUserMessage = messages.findLast((message) => message.role === 'user'); const traceId = lastUserMessage?.id ?? uuidv4(); - if (chatType === ChatType.EDIT) { - usageRecord = await incrementUsage(req, traceId); - } - // Create RootAgent instance - const agent = await RootAgent.create(chatType); + let agent: BaseAgent; + if (agentType === AgentType.ROOT) { + if (chatType === ChatType.EDIT) { + usageRecord = await incrementUsage(req, traceId); + } + + agent = new RootAgent(chatType!); + } else if (agentType === AgentType.USER) { + agent = new UserAgent(); + } else { + // agent = new WeatherAgent(); + throw new Error('Agent type not supported'); + } const streamer = new AgentStreamer(agent, conversationId); return streamer.streamText(messages, { @@ -87,7 +106,8 @@ export const streamResponse = async (req: NextRequest, userId: string) => { conversationId, projectId, userId, - chatType: chatType, + agentType: agentType ?? AgentType.ROOT, + chatType: chatType ?? "null", tags: ['chat'], langfuseTraceId: traceId, sessionId: conversationId, diff --git a/apps/web/client/src/app/project/[id]/_hooks/use-chat/index.tsx b/apps/web/client/src/app/project/[id]/_hooks/use-chat/index.tsx index fd85d28c2c..0a949e5a23 100644 --- a/apps/web/client/src/app/project/[id]/_hooks/use-chat/index.tsx +++ b/apps/web/client/src/app/project/[id]/_hooks/use-chat/index.tsx @@ -4,7 +4,7 @@ import { useEditorEngine } from '@/components/store/editor'; import { handleToolCall } from '@/components/tools'; import { api } from '@/trpc/client'; import { useChat as useAiChat } from '@ai-sdk/react'; -import { ChatType, type ChatMessage, type ChatSuggestion } from '@onlook/models'; +import { AgentType, ChatType, type ChatMessage, type ChatSuggestion } from '@onlook/models'; import { jsonClone } from '@onlook/utility'; import { DefaultChatTransport, lastAssistantMessageIsCompleteWithToolCalls } from 'ai'; import { usePostHog } from 'posthog-js/react'; @@ -32,6 +32,7 @@ interface UseChatProps { projectId: string; initialMessages: ChatMessage[]; } +const agentType = AgentType.ROOT; export function useChat({ conversationId, projectId, initialMessages }: UseChatProps) { const editorEngine = useEditorEngine(); @@ -41,6 +42,7 @@ export function useChat({ conversationId, projectId, initialMessages }: UseChatP const [finishReason, setFinishReason] = useState(null); const [isExecutingToolCall, setIsExecutingToolCall] = useState(false); + const { addToolResult, messages, error, stop, setMessages, regenerate, status } = useAiChat({ id: 'user-chat', @@ -51,11 +53,12 @@ export function useChat({ conversationId, projectId, initialMessages }: UseChatP body: { conversationId, projectId, + agentType, }, }), onToolCall: async (toolCall) => { setIsExecutingToolCall(true); - void handleToolCall(toolCall.toolCall, editorEngine, addToolResult).then(() => { + void handleToolCall(agentType, toolCall.toolCall, editorEngine, addToolResult).then(() => { setIsExecutingToolCall(false); }); }, @@ -89,6 +92,7 @@ export function useChat({ conversationId, projectId, initialMessages }: UseChatP chatType: type, conversationId, context, + agentType, }, }); void editorEngine.chat.conversation.generateTitle(content); @@ -137,6 +141,7 @@ export function useChat({ conversationId, projectId, initialMessages }: UseChatP body: { chatType, conversationId, + agentType, }, }); diff --git a/apps/web/client/src/components/store/editor/chat/conversation.ts b/apps/web/client/src/components/store/editor/chat/conversation.ts index 24eef927e5..f3615f6f99 100644 --- a/apps/web/client/src/components/store/editor/chat/conversation.ts +++ b/apps/web/client/src/components/store/editor/chat/conversation.ts @@ -141,6 +141,13 @@ export class ConversationManager { return api.chat.conversation.getAll.query({ projectId: id }); } + async upsertConversationInStorage(conversation: Partial): Promise { + return await api.chat.conversation.upsert.mutate({ + ...conversation, + projectId: this.editorEngine.projectId, + }); + } + async updateConversationInStorage(conversation: Partial & { id: string }) { await api.chat.conversation.update.mutate(conversation); } diff --git a/apps/web/client/src/components/tools/tools.ts b/apps/web/client/src/components/tools/tools.ts index 06f519239b..9a34bee187 100644 --- a/apps/web/client/src/components/tools/tools.ts +++ b/apps/web/client/src/components/tools/tools.ts @@ -1,23 +1,25 @@ import type { EditorEngine } from '@/components/store/editor/engine'; import type { ToolCall } from '@ai-sdk/provider-utils'; -import { getToolClassesFromType } from '@onlook/ai'; +import type { AbstractChat } from 'ai'; +import { getAvailableTools, type OnToolCallHandler } from '@onlook/ai'; import { toast } from '@onlook/ui/sonner'; +import type { AgentType } from '@onlook/models'; -export async function handleToolCall(toolCall: ToolCall, editorEngine: EditorEngine, addToolResult: (toolResult: { tool: string, toolCallId: string, output: any }) => Promise) { +export async function handleToolCall(agentType: AgentType, toolCall: ToolCall, editorEngine: EditorEngine, addToolResult: typeof AbstractChat.prototype.addToolResult) { const toolName = toolCall.toolName; const currentChatMode = editorEngine.state.chatMode; - const availableTools = getToolClassesFromType(currentChatMode); + const availableTools = getAvailableTools(agentType, currentChatMode) as any[]; let output: any = null; try { - const tool = availableTools.find(tool => tool.toolName === toolName); + const tool = availableTools.find((tool: any) => tool.toolName === toolName); if (!tool) { toast.error(`Tool "${toolName}" not available in ask mode`, { description: `Switch to build mode to use this tool.`, duration: 2000, }); - throw new Error(`Tool "${toolName}" is not available in ${currentChatMode} mode`); + throw new Error(`Tool "${toolName}" is not available in ${currentChatMode} mode!!!!`); } if (!tool) { @@ -26,8 +28,11 @@ export async function handleToolCall(toolCall: ToolCall, editor // Parse the input to the tool parameters. Throws if invalid. const validatedInput = tool.parameters.parse(toolCall.input); const toolInstance = new tool(); + const getOnToolCall: OnToolCallHandler = (subAgentType, addSubAgentToolResult) => (toolCall) => + void handleToolCall(subAgentType, toolCall.toolCall, editorEngine, addSubAgentToolResult); + // Can force type with as any because we know the input is valid. - output = await toolInstance.handle(validatedInput as any, editorEngine); + output = await toolInstance.handle(validatedInput as any, editorEngine, getOnToolCall); } catch (error) { output = 'error handling tool call ' + error; } finally { diff --git a/apps/web/client/src/server/api/routers/chat/conversation.ts b/apps/web/client/src/server/api/routers/chat/conversation.ts index 24512fae41..7bdc94eb05 100644 --- a/apps/web/client/src/server/api/routers/chat/conversation.ts +++ b/apps/web/client/src/server/api/routers/chat/conversation.ts @@ -36,7 +36,13 @@ export const conversationRouter = createTRPCRouter({ upsert: protectedProcedure .input(conversationInsertSchema) .mutation(async ({ ctx, input }) => { - const [conversation] = await ctx.db.insert(conversations).values(input).returning(); + const [conversation] = await ctx.db.insert(conversations).values(input).onConflictDoUpdate({ + target: [conversations.id], + set: { + ...input, + updatedAt: new Date(), + }, + }).returning(); if (!conversation) { throw new Error('Conversation not created'); } @@ -45,10 +51,11 @@ export const conversationRouter = createTRPCRouter({ update: protectedProcedure .input(conversationUpdateSchema) .mutation(async ({ ctx, input }) => { - const [conversation] = await ctx.db.update({ - ...conversations, - updatedAt: new Date(), - }).set(input) + const [conversation] = await ctx.db.update(conversations) + .set({ + ...input, + updatedAt: new Date(), + }) .where(eq(conversations.id, input.id)).returning(); if (!conversation) { throw new Error('Conversation not updated'); @@ -68,7 +75,7 @@ export const conversationRouter = createTRPCRouter({ content: z.string(), })) .mutation(async ({ ctx, input }) => { - const { model, providerOptions, headers } = await initModel({ + const { model, providerOptions, headers } = initModel({ provider: LLMProvider.OPENROUTER, model: OPENROUTER_MODELS.CLAUDE_3_5_HAIKU, }); diff --git a/apps/web/client/src/server/api/routers/chat/suggestion.ts b/apps/web/client/src/server/api/routers/chat/suggestion.ts index e6ea8f129b..69b3bafbcd 100644 --- a/apps/web/client/src/server/api/routers/chat/suggestion.ts +++ b/apps/web/client/src/server/api/routers/chat/suggestion.ts @@ -18,7 +18,7 @@ export const suggestionsRouter = createTRPCRouter({ })), })) .mutation(async ({ ctx, input }) => { - const { model, headers } = await initModel({ + const { model, headers } = initModel({ provider: LLMProvider.OPENROUTER, model: OPENROUTER_MODELS.OPEN_AI_GPT_5_NANO, }); diff --git a/apps/web/client/src/server/api/routers/project/project.ts b/apps/web/client/src/server/api/routers/project/project.ts index 2fa0ce78d4..72955b4b41 100644 --- a/apps/web/client/src/server/api/routers/project/project.ts +++ b/apps/web/client/src/server/api/routers/project/project.ts @@ -321,7 +321,7 @@ export const projectRouter = createTRPCRouter({ })) .mutation(async ({ ctx, input }): Promise => { try { - const { model, providerOptions, headers } = await initModel({ + const { model, providerOptions, headers } = initModel({ provider: LLMProvider.OPENROUTER, model: OPENROUTER_MODELS.OPEN_AI_GPT_5_NANO, }); diff --git a/bun.lock b/bun.lock index b34a6cac1b..7ba51fe2f6 100644 --- a/bun.lock +++ b/bun.lock @@ -222,6 +222,7 @@ "gpt-tokenizer": "^3.0.1", "marked": "^15.0.7", "openai": "^4.103.0", + "uuid": "^11.1.0", "zod": "^4.1.3", }, "devDependencies": { diff --git a/packages/ai/src/agents/classes/index.ts b/packages/ai/src/agents/classes/index.ts index 76e29fbfc3..b97772e4b8 100644 --- a/packages/ai/src/agents/classes/index.ts +++ b/packages/ai/src/agents/classes/index.ts @@ -1 +1,2 @@ -export { RootAgent } from './root'; \ No newline at end of file +export { RootAgent } from './root'; +export { UserAgent } from './user'; \ No newline at end of file diff --git a/packages/ai/src/agents/classes/root.ts b/packages/ai/src/agents/classes/root.ts index 6b2dd9dafc..1e2213713f 100644 --- a/packages/ai/src/agents/classes/root.ts +++ b/packages/ai/src/agents/classes/root.ts @@ -1,25 +1,31 @@ -import { ChatType, LLMProvider, OPENROUTER_MODELS, type ModelConfig } from '@onlook/models'; -import { initModel } from '../../chat/providers'; -import { getAskModeSystemPrompt, getCreatePageSystemPrompt, getSystemPrompt } from '../../prompt'; -import { getToolSetFromType } from '../../tools/toolset'; import { BaseAgent } from '../models/base'; +import { getAskModeSystemPrompt, getCreatePageSystemPrompt, getSystemPrompt, initModel, UserAgentTool } from '../../index'; +import { AgentType, ChatType, LLMProvider, OPENROUTER_MODELS, type ModelConfig } from '@onlook/models'; +import { readOnlyRootTools, rootTools } from '../tool-lookup'; + +export function getToolFromType(chatType: ChatType) { + return chatType === ChatType.ASK ? readOnlyRootTools : rootTools; +} export class RootAgent extends BaseAgent { - readonly id = 'root-agent'; + readonly agentType = AgentType.ROOT; private readonly chatType: ChatType; readonly modelConfig: ModelConfig; - constructor(chatType: ChatType, modelConfig: ModelConfig) { - super(getToolSetFromType(chatType)); - + constructor(chatType: ChatType) { + super(); this.chatType = chatType; - this.modelConfig = modelConfig; + this.modelConfig = this.getModelFromType(chatType); } get systemPrompt(): string { return this.getSystemPromptFromType(this.chatType); } + get tools() { + return getToolFromType(this.chatType); + } + private getSystemPromptFromType(chatType: ChatType): string { switch (chatType) { case ChatType.CREATE: @@ -32,23 +38,18 @@ export class RootAgent extends BaseAgent { } } - static async create(chatType: ChatType): Promise { - const modelConfig = await RootAgent.getModelFromType(chatType); - return new RootAgent(chatType, modelConfig); - } - - private static async getModelFromType(chatType: ChatType): Promise { + private getModelFromType(chatType: ChatType): ModelConfig { switch (chatType) { case ChatType.CREATE: case ChatType.FIX: - return await initModel({ + return initModel({ provider: LLMProvider.OPENROUTER, model: OPENROUTER_MODELS.OPEN_AI_GPT_5, }); case ChatType.ASK: case ChatType.EDIT: default: - return await initModel({ + return initModel({ provider: LLMProvider.OPENROUTER, model: OPENROUTER_MODELS.CLAUDE_4_SONNET, }); diff --git a/packages/ai/src/agents/classes/user.ts b/packages/ai/src/agents/classes/user.ts new file mode 100644 index 0000000000..5c8b5ec15d --- /dev/null +++ b/packages/ai/src/agents/classes/user.ts @@ -0,0 +1,17 @@ +import { BaseAgent } from '../models/base'; +import { initModel } from '../../index'; +import { AgentType, LLMProvider, OPENROUTER_MODELS, type ModelConfig } from '@onlook/models'; +import { userTools } from '../tool-lookup'; + +export class UserAgent extends BaseAgent { + readonly agentType = AgentType.USER; + readonly modelConfig: ModelConfig = initModel({ + provider: LLMProvider.OPENROUTER, + model: OPENROUTER_MODELS.CLAUDE_3_5_HAIKU, + }); + readonly tools = userTools; + + get systemPrompt(): string { + return ``; + } +} \ No newline at end of file diff --git a/packages/ai/src/agents/index.ts b/packages/ai/src/agents/index.ts index 69e52cc7c7..007570f366 100644 --- a/packages/ai/src/agents/index.ts +++ b/packages/ai/src/agents/index.ts @@ -1,3 +1,4 @@ export * from './models'; export * from './classes'; +export * from './tools'; export { AgentStreamer } from './streamer'; diff --git a/packages/ai/src/agents/models/base.ts b/packages/ai/src/agents/models/base.ts index 0b0924cf0f..41c0f9e9fb 100644 --- a/packages/ai/src/agents/models/base.ts +++ b/packages/ai/src/agents/models/base.ts @@ -1,24 +1,22 @@ -import type { ModelConfig } from '@onlook/models'; -import { stepCountIs, streamText, type ModelMessage, type ToolSet } from 'ai'; +import type { AgentType, ModelConfig } from '@onlook/models'; +import { type ModelMessage } from 'ai'; +import { stepCountIs, streamText } from 'ai'; +import { createToolSet, type BaseTool } from '../../tools'; export abstract class BaseAgent { - abstract readonly id: string; + abstract readonly agentType: AgentType; abstract readonly modelConfig: ModelConfig; abstract readonly systemPrompt: string; - protected readonly toolSet: ToolSet + abstract readonly tools: Array; + + constructor() { - constructor(toolSet: ToolSet = {}) { - this.toolSet = toolSet; } getSystemPrompt() { return this.systemPrompt; } - getToolSet() { - return this.toolSet; - } - // Default streamText configuration - can be overridden by subclasses protected getStreamTextConfig() { return { @@ -36,17 +34,11 @@ export abstract class BaseAgent { return streamText({ model: this.modelConfig.model, headers: this.modelConfig.headers, - tools: this.getToolSet(), + tools: createToolSet(this.tools), stopWhen: stepCountIs(config.maxSteps), - messages: [ - { - role: 'system', - content: this.getSystemPrompt(), - providerOptions: this.modelConfig.providerOptions, - }, - ...messages - ], + system: this.getSystemPrompt(), + messages, ...additionalConfig, }) } -} +} \ No newline at end of file diff --git a/packages/ai/src/agents/onlook-chat.ts b/packages/ai/src/agents/onlook-chat.ts new file mode 100644 index 0000000000..70beea16a0 --- /dev/null +++ b/packages/ai/src/agents/onlook-chat.ts @@ -0,0 +1,136 @@ +import throttleFunction from 'throttleit'; +import { AbstractChat, type ChatInit, type ChatState, type ChatStatus, type UIMessage } from 'ai'; + +export function throttle any>( + fn: T, + waitMs: number | undefined, +): T { + return waitMs != null ? throttleFunction(fn, waitMs) : fn; +} + +class OnlookChatState + implements ChatState { + #messages: UI_MESSAGE[]; + #status: ChatStatus = 'ready'; + #error: Error | undefined = undefined; + + #messagesCallbacks = new Set<() => void>(); + #statusCallbacks = new Set<() => void>(); + #errorCallbacks = new Set<() => void>(); + + constructor(initialMessages: UI_MESSAGE[] = []) { + this.#messages = initialMessages; + } + + get status(): ChatStatus { + return this.#status; + } + + set status(newStatus: ChatStatus) { + this.#status = newStatus; + this.#callStatusCallbacks(); + } + + get error(): Error | undefined { + return this.#error; + } + + set error(newError: Error | undefined) { + this.#error = newError; + this.#callErrorCallbacks(); + } + + get messages(): UI_MESSAGE[] { + return this.#messages; + } + + set messages(newMessages: UI_MESSAGE[]) { + this.#messages = [...newMessages]; + this.#callMessagesCallbacks(); + } + + pushMessage = (message: UI_MESSAGE) => { + this.#messages = this.#messages.concat(message); + this.#callMessagesCallbacks(); + }; + + popMessage = () => { + this.#messages = this.#messages.slice(0, -1); + this.#callMessagesCallbacks(); + }; + + replaceMessage = (index: number, message: UI_MESSAGE) => { + this.#messages = [ + ...this.#messages.slice(0, index), + // We deep clone the message here to ensure the new React Compiler (currently in RC) detects deeply nested parts/metadata changes: + this.snapshot(message), + ...this.#messages.slice(index + 1), + ]; + this.#callMessagesCallbacks(); + }; + + snapshot = (value: T): T => structuredClone(value); + + '~registerMessagesCallback' = ( + onChange: () => void, + throttleWaitMs?: number, + ): (() => void) => { + const callback = throttleWaitMs + ? throttle(onChange, throttleWaitMs) + : onChange; + this.#messagesCallbacks.add(callback); + return () => { + this.#messagesCallbacks.delete(callback); + }; + }; + + '~registerStatusCallback' = (onChange: () => void): (() => void) => { + this.#statusCallbacks.add(onChange); + return () => { + this.#statusCallbacks.delete(onChange); + }; + }; + + '~registerErrorCallback' = (onChange: () => void): (() => void) => { + this.#errorCallbacks.add(onChange); + return () => { + this.#errorCallbacks.delete(onChange); + }; + }; + + #callMessagesCallbacks = () => { + this.#messagesCallbacks.forEach(callback => callback()); + }; + + #callStatusCallbacks = () => { + this.#statusCallbacks.forEach(callback => callback()); + }; + + #callErrorCallbacks = () => { + this.#errorCallbacks.forEach(callback => callback()); + }; +} + +export class OnlookChat< + UI_MESSAGE extends UIMessage, +> extends AbstractChat { + #state: OnlookChatState; + + constructor({ messages, ...init }: ChatInit) { + const state = new OnlookChatState(messages); + super({ ...init, state }); + this.#state = state; + } + + '~registerMessagesCallback' = ( + onChange: () => void, + throttleWaitMs?: number, + ): (() => void) => + this.#state['~registerMessagesCallback'](onChange, throttleWaitMs); + + '~registerStatusCallback' = (onChange: () => void): (() => void) => + this.#state['~registerStatusCallback'](onChange); + + '~registerErrorCallback' = (onChange: () => void): (() => void) => + this.#state['~registerErrorCallback'](onChange); +} \ No newline at end of file diff --git a/packages/ai/src/agents/streamer.ts b/packages/ai/src/agents/streamer.ts index 1589ec7024..cf93464d40 100644 --- a/packages/ai/src/agents/streamer.ts +++ b/packages/ai/src/agents/streamer.ts @@ -1,8 +1,8 @@ import type { ChatMessage, ChatMetadata } from "@onlook/models"; -import type { BaseAgent } from "./models"; -import { convertToStreamMessages } from "../stream"; +import { streamText, type UIMessageStreamOptions } from "ai"; import { v4 as uuidv4 } from 'uuid'; -import type { streamText, UIMessageStreamOnFinishCallback, UIMessageStreamOptions } from "ai"; +import { convertToStreamMessages } from "../stream"; +import type { BaseAgent } from "./models"; export class AgentStreamer { private readonly agent: BaseAgent; @@ -13,10 +13,10 @@ export class AgentStreamer { this.conversationId = conversationId; } - async streamText(messages: ChatMessage[], { streamTextConfig, toUIMessageStreamResponseConfig }: { streamTextConfig: Omit[0]>, 'model' | 'headers' | 'tools' | 'stopWhen' | 'messages' | 'prompt'>, toUIMessageStreamResponseConfig: UIMessageStreamOptions }) { + streamText(messages: ChatMessage[], { streamTextConfig, toUIMessageStreamResponseConfig }: { streamTextConfig: Omit[0]>, 'model' | 'headers' | 'tools' | 'stopWhen' | 'messages' | 'prompt'>, toUIMessageStreamResponseConfig: UIMessageStreamOptions }) { const conversationId = this.conversationId; - const result = await this.agent.streamText(convertToStreamMessages(messages), streamTextConfig); + const result = this.agent.streamText(convertToStreamMessages(messages), streamTextConfig); return result.toUIMessageStreamResponse({ originalMessages: messages, diff --git a/packages/ai/src/agents/tool-lookup.ts b/packages/ai/src/agents/tool-lookup.ts new file mode 100644 index 0000000000..24fab8c42b --- /dev/null +++ b/packages/ai/src/agents/tool-lookup.ts @@ -0,0 +1,59 @@ +import { ListFilesTool, ReadFileTool, BashReadTool, OnlookInstructionsTool, ReadStyleGuideTool, ListBranchesTool, ScrapeUrlTool, WebSearchTool, GlobTool, GrepTool, TypecheckTool, CheckErrorsTool, SearchReplaceEditTool, SearchReplaceMultiEditFileTool, FuzzyEditFileTool, WriteFileTool, BashEditTool, SandboxTool, TerminalCommandTool } from "../tools"; +import { UserAgentTool } from "./tools"; + +export const allTools = [ + ListFilesTool, + ReadFileTool, + BashReadTool, + OnlookInstructionsTool, + ReadStyleGuideTool, + ListBranchesTool, + ScrapeUrlTool, + WebSearchTool, + GlobTool, + GrepTool, + TypecheckTool, + CheckErrorsTool, + SearchReplaceEditTool, + SearchReplaceMultiEditFileTool, + FuzzyEditFileTool, + WriteFileTool, + BashEditTool, + SandboxTool, + TerminalCommandTool, + // UserAgentTool, +]; + + +export const readOnlyRootTools = [ + ListFilesTool, + ReadFileTool, + BashReadTool, + OnlookInstructionsTool, + ReadStyleGuideTool, + ListBranchesTool, + ScrapeUrlTool, + WebSearchTool, + GlobTool, + GrepTool, + TypecheckTool, + CheckErrorsTool, + // UserAgentTool, +] +const editOnlyRootTools = [ + SearchReplaceEditTool, + SearchReplaceMultiEditFileTool, + FuzzyEditFileTool, + WriteFileTool, + BashEditTool, + SandboxTool, + TerminalCommandTool, + // UserAgentTool +] + +export const rootTools = [...readOnlyRootTools, ...editOnlyRootTools]; + +export const userTools = [ + ListBranchesTool, + ListFilesTool, +] diff --git a/packages/ai/src/agents/tools/base.ts b/packages/ai/src/agents/tools/base.ts new file mode 100644 index 0000000000..53adc881d0 --- /dev/null +++ b/packages/ai/src/agents/tools/base.ts @@ -0,0 +1,147 @@ +import type { AgentType, ChatMessage } from '@onlook/models'; +import type { EditorEngine } from '@onlook/web-client/src/components/store/editor/engine'; +import { DefaultChatTransport, lastAssistantMessageIsCompleteWithToolCalls } from 'ai'; +import { v4 as uuidv4 } from 'uuid'; +import { z } from 'zod'; +import { ClientTool, type OnToolCallHandler } from '../../tools/models/client'; +import { OnlookChat } from '../onlook-chat'; + +export type ToolsAgentInput = { + message: string; +}; + +export type ToolsAgentOutput = { + conversationId: string; + response: string; +}; + +const BaseSubAgentToolParametersSchema = z.object({ + message: z + .string() + .describe("The message to send to the sub agent"), +}); + +export abstract class BaseSubAgentTool< + TInput extends { message: string } = { message: string }, + TOutput extends ToolsAgentOutput = ToolsAgentOutput +> extends ClientTool { + protected conversationId: string | null = null; + protected messages: ChatMessage[] = []; + + protected abstract agentType: AgentType; + static readonly defaultParameters = BaseSubAgentToolParametersSchema; + + + createMessage(input: TInput): string { + return JSON.stringify(input, null, 2); + } + + /** + * Send a message to the agent and return just the final assistant message + * @param message - The message to send to the agent + * @returns The final assistant's response message + */ + async messageAndGetFinalResponse(message: string, editorEngine: EditorEngine, onToolCall: OnToolCallHandler): Promise { + if (!this.conversationId) { + throw new Error('Conversation ID is not set'); + } + + const userMessage: ChatMessage = { + id: uuidv4(), + role: "user", + parts: [ + { + type: "text", + text: message, + }, + ], + metadata: { + createdAt: new Date(), + conversationId: this.conversationId, + context: [], // TODO: Get context from editorEngine + checkpoints: [], + }, + }; + + // Update messages and save to chat + this.messages.push(userMessage); + + // Use chat route instead of direct agent streaming + const onlookChat = new OnlookChat({ + messages: this.messages, + sendAutomaticallyWhen: lastAssistantMessageIsCompleteWithToolCalls, + transport: new DefaultChatTransport({ + api: '/api/chat', + body: { + agentType: this.agentType, + messages: this.messages, + conversationId: this.conversationId, + projectId: editorEngine.projectId, + }, + }), + onToolCall: (toolCall) => { + onToolCall(this.agentType, onlookChat.addToolResult.bind(onlookChat))(toolCall); + }, + onFinish: (options) => { + const { message } = options; + const finishReason = message.metadata?.finishReason; + if (finishReason && finishReason !== 'tool-calls') { + promiseResolve(message); + } + }, + onError: (error) => { + console.error("OnlookChat - Error during streaming:", error); + promiseReject(error); + }, + }); + + let promiseResolve: (value: ChatMessage) => void; + let promiseReject: (reason?: any) => void; + + const promise = new Promise((resolve, reject) => { + promiseResolve = resolve; + promiseReject = reject; + }); + + // Start the chat by sending the message + console.log("OnlookChat - Sending message"); + onlookChat.sendMessage().catch((error) => { + console.error("ToolsAgent - Error calling chat API:", error); + promiseReject(error); + }); + + return promise; + } + + async handle(input: TInput, editorEngine: EditorEngine, getOnToolCall: OnToolCallHandler): Promise { + const message = this.createMessage(input); + + if (!this.conversationId) { + const newConversation = await editorEngine.chat.conversation.upsertConversationInStorage({ + agentType: this.agentType, + }); + this.conversationId = newConversation.id; + } + + const agentResponse = await this.messageAndGetFinalResponse(message, editorEngine, getOnToolCall); + let response = ""; + + const error = agentResponse.metadata?.error; + if (!!error) { + response = JSON.stringify(error, null, 2); + } + + // Get the last step/part regardless of type + const lastPart = agentResponse.parts[agentResponse.parts.length - 1]; + if (lastPart?.type === "text") { + response = lastPart.text; + } else { + response = JSON.stringify(lastPart, null, 2); + } + + return { + conversationId: this.conversationId!, + response, + } as TOutput; + } +} diff --git a/packages/ai/src/agents/tools/index.ts b/packages/ai/src/agents/tools/index.ts new file mode 100644 index 0000000000..4d8c0a60fb --- /dev/null +++ b/packages/ai/src/agents/tools/index.ts @@ -0,0 +1 @@ +export * from './user'; \ No newline at end of file diff --git a/packages/ai/src/agents/tools/user.ts b/packages/ai/src/agents/tools/user.ts new file mode 100644 index 0000000000..38af56b198 --- /dev/null +++ b/packages/ai/src/agents/tools/user.ts @@ -0,0 +1,19 @@ +import { AgentType } from "@onlook/models"; +import { Icons } from "@onlook/ui/icons/index"; +import { BaseSubAgentTool } from "./base"; + +export class UserAgentTool extends BaseSubAgentTool<{ message: string }> { + static readonly toolName = 'doggo'; + static readonly icon = Icons.Sun; + static readonly description = 'A tool to send a message to the dog agent'; + static readonly parameters = BaseSubAgentTool.defaultParameters; + readonly agentType: AgentType = AgentType.USER; + + constructor() { + super(); + } + + getLabel(input?: { message: string }): string { + return `Doggo: ${input?.message}`; + } +} \ No newline at end of file diff --git a/packages/ai/src/chat/providers.ts b/packages/ai/src/chat/providers.ts index 0d1b7a9554..db6425ba90 100644 --- a/packages/ai/src/chat/providers.ts +++ b/packages/ai/src/chat/providers.ts @@ -11,10 +11,10 @@ import { assertNever } from '@onlook/utility'; import { createOpenRouter } from '@openrouter/ai-sdk-provider'; import type { LanguageModel } from 'ai'; -export async function initModel({ +export function initModel({ provider: requestedProvider, model: requestedModel, -}: InitialModelPayload): Promise { +}: InitialModelPayload): ModelConfig { let model: LanguageModel; let providerOptions: Record | undefined; let headers: Record | undefined; @@ -22,10 +22,10 @@ export async function initModel({ switch (requestedProvider) { case LLMProvider.ANTHROPIC: - model = await getAnthropicProvider(requestedModel); + model = getAnthropicProvider(requestedModel); break; case LLMProvider.OPENROUTER: - model = await getOpenRouterProvider(requestedModel); + model = getOpenRouterProvider(requestedModel); headers = { 'HTTP-Referer': 'https://onlook.com', 'X-Title': 'Onlook', @@ -50,12 +50,12 @@ export async function initModel({ }; } -async function getAnthropicProvider(model: ANTHROPIC_MODELS): Promise { +function getAnthropicProvider(model: ANTHROPIC_MODELS): LanguageModel { const anthropic = createAnthropic(); return anthropic(model); } -async function getOpenRouterProvider(model: OPENROUTER_MODELS): Promise { +function getOpenRouterProvider(model: OPENROUTER_MODELS): LanguageModel { if (!process.env.OPENROUTER_API_KEY) { throw new Error('OPENROUTER_API_KEY must be set'); } diff --git a/packages/ai/src/tools/index.ts b/packages/ai/src/tools/index.ts index 35abb88e2f..2c344581a6 100644 --- a/packages/ai/src/tools/index.ts +++ b/packages/ai/src/tools/index.ts @@ -1,4 +1,4 @@ export * from './classes'; export * from './models'; export * from './toolset'; - +export * from './toolset-utils'; diff --git a/packages/ai/src/tools/models/client.ts b/packages/ai/src/tools/models/client.ts index cd91e0873f..6933e45f93 100644 --- a/packages/ai/src/tools/models/client.ts +++ b/packages/ai/src/tools/models/client.ts @@ -1,9 +1,14 @@ import type { EditorEngine } from '@onlook/web-client/src/components/store/editor/engine'; import { BaseTool } from './base'; +import type { AbstractChat, ChatOnToolCallCallback } from 'ai'; +import type { AgentType, ChatMessage } from '@onlook/models'; -export abstract class ClientTool extends BaseTool { +export type OnToolCallHandler = (subAgentType: AgentType, addToolResult: typeof AbstractChat.prototype.addToolResult) => ChatOnToolCallCallback; + + +export abstract class ClientTool extends BaseTool { /** * Handle the tool execution on the client side */ - abstract handle(input: object, editorEngine: EditorEngine): Promise; + abstract handle(input: TInput, editorEngine: EditorEngine, getOnToolCall: OnToolCallHandler): Promise; } \ No newline at end of file diff --git a/packages/ai/src/tools/toolset-utils.ts b/packages/ai/src/tools/toolset-utils.ts new file mode 100644 index 0000000000..c0354d8000 --- /dev/null +++ b/packages/ai/src/tools/toolset-utils.ts @@ -0,0 +1,9 @@ +import type { ToolSet } from "ai"; + +// Helper function to convert tool classes to ToolSet +export function createToolSet(toolClasses: Array<{ toolName: string; getAITool: () => ToolSet[string] }>): ToolSet { + return toolClasses.reduce((acc, toolClass) => { + acc[toolClass.toolName] = toolClass.getAITool(); + return acc; + }, {} as ToolSet); +} \ No newline at end of file diff --git a/packages/ai/src/tools/toolset.ts b/packages/ai/src/tools/toolset.ts index a2b1c424d3..85e89fd95b 100644 --- a/packages/ai/src/tools/toolset.ts +++ b/packages/ai/src/tools/toolset.ts @@ -1,70 +1,20 @@ -import { ChatType } from '@onlook/models'; -import { type InferUITools, type ToolSet } from 'ai'; -import { - BashEditTool, - BashReadTool, - CheckErrorsTool, - FuzzyEditFileTool, - GlobTool, - GrepTool, - ListBranchesTool, - ListFilesTool, - OnlookInstructionsTool, - ReadFileTool, - ReadStyleGuideTool, - SandboxTool, - ScrapeUrlTool, - SearchReplaceEditTool, - SearchReplaceMultiEditFileTool, - TerminalCommandTool, - TypecheckTool, - WebSearchTool, - WriteFileTool, -} from './classes'; +import { type InferUITools } from 'ai'; +import { createToolSet } from './toolset-utils'; +import { AgentType, ChatType } from '@onlook/models'; +import { allTools, readOnlyRootTools, rootTools, userTools } from '../agents/tool-lookup'; -// Helper function to convert tool classes to ToolSet -function createToolSet(toolClasses: Array<{ toolName: string; getAITool: () => any }>): ToolSet { - return toolClasses.reduce((acc, toolClass) => { - acc[toolClass.toolName] = toolClass.getAITool(); - return acc; - }, {} as ToolSet); +export function getAvailableTools(agentType: AgentType, chatType: ChatType) { + switch (agentType) { + case AgentType.ROOT: + return chatType === ChatType.ASK ? readOnlyRootTools : rootTools; + case AgentType.USER: + return userTools; + default: + throw new Error(`Agent type ${agentType} not supported`); + } } -const readOnlyToolClasses = [ - ListFilesTool, - ReadFileTool, - BashReadTool, - OnlookInstructionsTool, - ReadStyleGuideTool, - ListBranchesTool, - ScrapeUrlTool, - WebSearchTool, - GlobTool, - GrepTool, - TypecheckTool, - CheckErrorsTool, -]; -const editOnlyToolClasses = [ - SearchReplaceEditTool, - SearchReplaceMultiEditFileTool, - FuzzyEditFileTool, - WriteFileTool, - BashEditTool, - SandboxTool, - TerminalCommandTool, -]; -const allToolClasses = [...readOnlyToolClasses, ...editOnlyToolClasses]; +export const TOOLS_MAP = new Map(allTools.map(toolClass => [toolClass.toolName, toolClass])); +const allToolSet = createToolSet(allTools); -export const readOnlyToolset: ToolSet = createToolSet(readOnlyToolClasses); -export const allToolset: ToolSet = createToolSet(allToolClasses); -export const TOOLS_MAP = new Map(allToolClasses.map(toolClass => [toolClass.toolName, toolClass])); - -export function getToolClassesFromType(chatType: ChatType) { - return chatType === ChatType.ASK ? readOnlyToolClasses : allToolClasses -} - -export function getToolSetFromType(chatType: ChatType) { - return chatType === ChatType.ASK ? readOnlyToolset : allToolset; -} - -export type ChatTools = InferUITools; +export type ChatTools = InferUITools; diff --git a/packages/db/src/defaults/conversation.ts b/packages/db/src/defaults/conversation.ts index 1e669e27cb..0265ce4185 100644 --- a/packages/db/src/defaults/conversation.ts +++ b/packages/db/src/defaults/conversation.ts @@ -1,4 +1,5 @@ import type { Conversation as DbConversation } from '@onlook/db'; +import { AgentType } from '@onlook/models'; import { v4 as uuidv4 } from 'uuid'; export const createDefaultConversation = (projectId: string): DbConversation => { @@ -9,5 +10,6 @@ export const createDefaultConversation = (projectId: string): DbConversation => updatedAt: new Date(), displayName: 'New Conversation', suggestions: [], + agentType: AgentType.ROOT, }; }; diff --git a/packages/db/src/mappers/chat/conversation.ts b/packages/db/src/mappers/chat/conversation.ts index 76ce648f30..1b2701dee5 100644 --- a/packages/db/src/mappers/chat/conversation.ts +++ b/packages/db/src/mappers/chat/conversation.ts @@ -1,10 +1,11 @@ import type { Conversation as DbConversation } from "@onlook/db"; -import { type ChatConversation } from "@onlook/models"; +import { AgentType, type ChatConversation } from "@onlook/models"; export const fromDbConversation = (conversation: DbConversation): ChatConversation => { return { ...conversation, title: conversation.displayName || null, + agentType: conversation.agentType || AgentType.ROOT, suggestions: conversation.suggestions || [], } } @@ -14,6 +15,7 @@ export const toDbConversation = (conversation: ChatConversation): DbConversation ...conversation, projectId: conversation.projectId, displayName: conversation.title || null, + agentType: conversation.agentType, suggestions: conversation.suggestions || [], } } diff --git a/packages/db/src/schema/chat/conversation.ts b/packages/db/src/schema/chat/conversation.ts index 55f892ee08..7b16c7dab1 100644 --- a/packages/db/src/schema/chat/conversation.ts +++ b/packages/db/src/schema/chat/conversation.ts @@ -1,6 +1,6 @@ -import type { ChatSuggestion } from "@onlook/models"; +import { AgentType, type ChatSuggestion } from "@onlook/models"; import { relations } from "drizzle-orm"; -import { jsonb, pgTable, timestamp, uuid, varchar } from "drizzle-orm/pg-core"; +import { jsonb, pgEnum, pgTable, timestamp, uuid, varchar } from "drizzle-orm/pg-core"; import { createInsertSchema, createUpdateSchema } from "drizzle-zod"; import { z } from "zod"; import { projects } from "../project"; @@ -8,8 +8,11 @@ import { CONVERSATION_MESSAGe_RELATION_NAME, messages } from "./message"; export const PROJECT_CONVERSATION_RELATION_NAME = "project_conversations"; +export const agentType = pgEnum("agent_type", AgentType); + export const conversations = pgTable("conversations", { id: uuid("id").primaryKey().defaultRandom(), + agentType: agentType("agent_type").default(AgentType.ROOT), projectId: uuid("project_id") .notNull() .references(() => projects.id, { onDelete: "cascade", onUpdate: "cascade" }), @@ -19,9 +22,12 @@ export const conversations = pgTable("conversations", { suggestions: jsonb("suggestions").$type().default([]), }).enableRLS(); -export const conversationInsertSchema = createInsertSchema(conversations); +export const conversationInsertSchema = createInsertSchema(conversations, { + agentType: z.enum(AgentType).optional(), +}); export const conversationUpdateSchema = createUpdateSchema(conversations, { - id: z.string().uuid(), + id: z.uuid(), + agentType: z.enum(AgentType).optional(), }); export const conversationRelations = relations(conversations, ({ one, many }) => ({ diff --git a/packages/models/src/chat/conversation/index.ts b/packages/models/src/chat/conversation/index.ts index 3464e13428..03392b26b9 100644 --- a/packages/models/src/chat/conversation/index.ts +++ b/packages/models/src/chat/conversation/index.ts @@ -1,7 +1,13 @@ import type { ChatSuggestion } from '../suggestion'; +export enum AgentType { + ROOT = "root", + USER = "user", +} + export interface ChatConversation { id: string; + agentType: AgentType; title: string | null; projectId: string; createdAt: Date; diff --git a/packages/models/src/chat/message/message.ts b/packages/models/src/chat/message/message.ts index f6f4997964..6c8903d099 100644 --- a/packages/models/src/chat/message/message.ts +++ b/packages/models/src/chat/message/message.ts @@ -10,6 +10,7 @@ export type ChatMetadata = { checkpoints: MessageCheckpoints[]; finishReason?: string; usage?: LanguageModelUsage; + error?: string; }; export type ChatProviderMetadata = Record>;