veloce-ts 0.2.6 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +501 -240
- package/README.md +141 -1
- package/dist/cjs/src/cli/index.js +125 -74
- package/dist/cjs/src/cli/index.js.map +4 -4
- package/dist/cjs/src/index.js +66 -25
- package/dist/cjs/src/index.js.map +112 -10
- package/dist/cjs/src/middleware/index.js +28 -2
- package/dist/cjs/src/middleware/index.js.map +79 -4
- package/dist/cjs/src/plugins/index.js +49 -23
- package/dist/cjs/src/plugins/index.js.map +74 -4
- package/dist/cjs/src/testing/index.js +30 -4
- package/dist/cjs/src/testing/index.js.map +80 -7
- package/dist/cjs/src/websocket/index.js +3 -3
- package/dist/cjs/src/websocket/index.js.map +1 -1
- package/dist/esm/src/cli/index.js +561 -22
- package/dist/esm/src/cli/index.js.map +8 -4
- package/dist/esm/src/docs/index.js +6 -6
- package/dist/esm/src/docs/index.js.map +10 -3
- package/dist/esm/src/errors/index.js +3 -2
- package/dist/esm/src/errors/index.js.map +7 -3
- package/dist/esm/src/graphql/index.js +82 -2
- package/dist/esm/src/graphql/index.js.map +18 -3
- package/dist/esm/src/index.js +165 -3
- package/dist/esm/src/index.js.map +202 -6
- package/dist/esm/src/middleware/index.js +28 -2
- package/dist/esm/src/middleware/index.js.map +81 -3
- package/dist/esm/src/plugins/index.js +113 -3
- package/dist/esm/src/plugins/index.js.map +131 -4
- package/dist/esm/src/testing/index.js +42 -2
- package/dist/esm/src/testing/index.js.map +97 -7
- package/dist/esm/src/types/index.js +2 -2
- package/dist/esm/src/types/index.js.map +10 -3
- package/dist/esm/src/validation/index.js +2 -2
- package/dist/esm/src/validation/index.js.map +13 -3
- package/dist/esm/src/websocket/index.js +15 -2
- package/dist/esm/src/websocket/index.js.map +9 -4
- package/dist/types/adapters/base.d.ts +10 -2
- package/dist/types/adapters/base.d.ts.map +1 -1
- package/dist/types/adapters/hono.d.ts +2 -2
- package/dist/types/adapters/hono.d.ts.map +1 -1
- package/dist/types/auth/permissions.d.ts +10 -10
- package/dist/types/auth/session.d.ts +2 -2
- package/dist/types/cache/index.d.ts +9 -0
- package/dist/types/cache/index.d.ts.map +1 -0
- package/dist/types/cache/manager.d.ts +75 -0
- package/dist/types/cache/manager.d.ts.map +1 -0
- package/dist/types/cache/memory-store.d.ts +55 -0
- package/dist/types/cache/memory-store.d.ts.map +1 -0
- package/dist/types/cache/redis-store.d.ts +55 -0
- package/dist/types/cache/redis-store.d.ts.map +1 -0
- package/dist/types/cache/types.d.ts +92 -0
- package/dist/types/cache/types.d.ts.map +1 -0
- package/dist/types/cli/commands/new.d.ts.map +1 -1
- package/dist/types/context/request-context.d.ts +66 -0
- package/dist/types/context/request-context.d.ts.map +1 -0
- package/dist/types/core/application.d.ts +11 -0
- package/dist/types/core/application.d.ts.map +1 -1
- package/dist/types/core/router-compiler.d.ts +1 -1
- package/dist/types/core/router-compiler.d.ts.map +1 -1
- package/dist/types/decorators/cache.d.ts +56 -0
- package/dist/types/decorators/cache.d.ts.map +1 -0
- package/dist/types/decorators/params.d.ts +24 -0
- package/dist/types/decorators/params.d.ts.map +1 -1
- package/dist/types/dependencies/container.d.ts +1 -1
- package/dist/types/dependencies/container.d.ts.map +1 -1
- package/dist/types/index.d.ts +7 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/logging/index.d.ts +10 -0
- package/dist/types/logging/index.d.ts.map +1 -0
- package/dist/types/logging/logger.d.ts +25 -0
- package/dist/types/logging/logger.d.ts.map +1 -0
- package/dist/types/logging/middleware.d.ts +15 -0
- package/dist/types/logging/middleware.d.ts.map +1 -0
- package/dist/types/logging/types.d.ts +22 -0
- package/dist/types/logging/types.d.ts.map +1 -0
- package/dist/types/middleware/cache.d.ts +54 -0
- package/dist/types/middleware/cache.d.ts.map +1 -0
- package/dist/types/middleware/index.d.ts +3 -0
- package/dist/types/middleware/index.d.ts.map +1 -1
- package/dist/types/middleware/request-context.d.ts +55 -0
- package/dist/types/middleware/request-context.d.ts.map +1 -0
- package/dist/types/orm/base-repository.d.ts +77 -0
- package/dist/types/orm/base-repository.d.ts.map +1 -0
- package/dist/types/orm/decorators.d.ts +35 -0
- package/dist/types/orm/decorators.d.ts.map +1 -0
- package/dist/types/orm/drizzle/index.d.ts +6 -0
- package/dist/types/orm/drizzle/index.d.ts.map +1 -0
- package/dist/types/orm/drizzle/plugin.d.ts +165 -0
- package/dist/types/orm/drizzle/plugin.d.ts.map +1 -0
- package/dist/types/orm/drizzle/repository.d.ts +61 -0
- package/dist/types/orm/drizzle/repository.d.ts.map +1 -0
- package/dist/types/orm/drizzle/schema-converter.d.ts +53 -0
- package/dist/types/orm/drizzle/schema-converter.d.ts.map +1 -0
- package/dist/types/orm/drizzle/transaction-manager.d.ts +58 -0
- package/dist/types/orm/drizzle/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/drizzle/types.d.ts +121 -0
- package/dist/types/orm/drizzle/types.d.ts.map +1 -0
- package/dist/types/orm/index.d.ts +16 -0
- package/dist/types/orm/index.d.ts.map +1 -0
- package/dist/types/orm/pagination.d.ts +147 -0
- package/dist/types/orm/pagination.d.ts.map +1 -0
- package/dist/types/orm/prisma/index.d.ts +6 -0
- package/dist/types/orm/prisma/index.d.ts.map +1 -0
- package/dist/types/orm/prisma/plugin.d.ts +68 -0
- package/dist/types/orm/prisma/plugin.d.ts.map +1 -0
- package/dist/types/orm/prisma/repository.d.ts +70 -0
- package/dist/types/orm/prisma/repository.d.ts.map +1 -0
- package/dist/types/orm/prisma/schema-generator.d.ts +45 -0
- package/dist/types/orm/prisma/schema-generator.d.ts.map +1 -0
- package/dist/types/orm/prisma/transaction-manager.d.ts +32 -0
- package/dist/types/orm/prisma/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/prisma/types.d.ts +67 -0
- package/dist/types/orm/prisma/types.d.ts.map +1 -0
- package/dist/types/orm/query-builder.d.ts +129 -0
- package/dist/types/orm/query-builder.d.ts.map +1 -0
- package/dist/types/orm/repository-factory.d.ts +130 -0
- package/dist/types/orm/repository-factory.d.ts.map +1 -0
- package/dist/types/orm/transaction-events.d.ts +122 -0
- package/dist/types/orm/transaction-events.d.ts.map +1 -0
- package/dist/types/orm/transaction-interceptor.d.ts +30 -0
- package/dist/types/orm/transaction-interceptor.d.ts.map +1 -0
- package/dist/types/orm/transaction-manager.d.ts +64 -0
- package/dist/types/orm/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/transaction-plugin.d.ts +117 -0
- package/dist/types/orm/transaction-plugin.d.ts.map +1 -0
- package/dist/types/orm/transaction-propagation.d.ts +49 -0
- package/dist/types/orm/transaction-propagation.d.ts.map +1 -0
- package/dist/types/orm/typeorm/decorators.d.ts +40 -0
- package/dist/types/orm/typeorm/decorators.d.ts.map +1 -0
- package/dist/types/orm/typeorm/index.d.ts +6 -0
- package/dist/types/orm/typeorm/index.d.ts.map +1 -0
- package/dist/types/orm/typeorm/plugin.d.ts +100 -0
- package/dist/types/orm/typeorm/plugin.d.ts.map +1 -0
- package/dist/types/orm/typeorm/repository.d.ts +58 -0
- package/dist/types/orm/typeorm/repository.d.ts.map +1 -0
- package/dist/types/orm/typeorm/transaction-manager.d.ts +48 -0
- package/dist/types/orm/typeorm/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/typeorm/types.d.ts +139 -0
- package/dist/types/orm/typeorm/types.d.ts.map +1 -0
- package/dist/types/plugins/health.d.ts +75 -0
- package/dist/types/plugins/health.d.ts.map +1 -0
- package/dist/types/plugins/index.d.ts +2 -0
- package/dist/types/plugins/index.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +15 -2
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/websocket/index.d.ts +1 -1
- package/dist/types/websocket/index.d.ts.map +1 -1
- package/package.json +22 -2
- package/dist/esm/chunk-2100y16g.js +0 -5
- package/dist/esm/chunk-2100y16g.js.map +0 -10
- package/dist/esm/chunk-5q75d71c.js +0 -4
- package/dist/esm/chunk-5q75d71c.js.map +0 -16
- package/dist/esm/chunk-8dpc6an2.js +0 -7
- package/dist/esm/chunk-8dpc6an2.js.map +0 -10
- package/dist/esm/chunk-9v7atckx.js +0 -5
- package/dist/esm/chunk-9v7atckx.js.map +0 -10
- package/dist/esm/chunk-bvstdn0t.js +0 -60
- package/dist/esm/chunk-bvstdn0t.js.map +0 -10
- package/dist/esm/chunk-ctwpr5gr.js +0 -430
- package/dist/esm/chunk-ctwpr5gr.js.map +0 -10
- package/dist/esm/chunk-dtw2tbsd.js +0 -5
- package/dist/esm/chunk-dtw2tbsd.js.map +0 -12
- package/dist/esm/chunk-ef0vfd27.js +0 -72
- package/dist/esm/chunk-ef0vfd27.js.map +0 -13
- package/dist/esm/chunk-k66rn4fj.js +0 -18
- package/dist/esm/chunk-k66rn4fj.js.map +0 -10
- package/dist/esm/chunk-mky5qqg0.js +0 -5
- package/dist/esm/chunk-mky5qqg0.js.map +0 -10
- package/dist/esm/chunk-mznkhz9c.js +0 -5
- package/dist/esm/chunk-mznkhz9c.js.map +0 -12
- package/dist/esm/chunk-s5z0wb7e.js +0 -5
- package/dist/esm/chunk-s5z0wb7e.js.map +0 -10
- package/dist/esm/chunk-vh4sxcpe.js +0 -6
- package/dist/esm/chunk-vh4sxcpe.js.map +0 -10
- package/dist/esm/chunk-xa333k40.js +0 -7
- package/dist/esm/chunk-xa333k40.js.map +0 -10
- package/dist/esm/chunk-y262e56g.js +0 -5
- package/dist/esm/chunk-y262e56g.js.map +0 -9
- package/dist/esm/chunk-yq3gf9ts.js +0 -5
- package/dist/esm/chunk-yq3gf9ts.js.map +0 -10
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{ra as l}from"../../chunk-5q75d71c.js";import"../../chunk-y262e56g.js";var K=Symbol("Let zodToJsonSchema decide on which parser to use");var w={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},$=(n)=>typeof n==="string"?{...w,name:n}:{...w,...n};var Q=(n)=>{let t=$(n),i=t.name!==void 0?[...t.basePath,t.definitionPath,t.name]:t.basePath;return{...t,flags:{hasReferencedOpenAiAnyType:!1},currentPath:i,propertyPath:void 0,seen:new Map(Object.entries(t.definitions).map(([r,u])=>[u._def,{def:u._def,path:[...t.basePath,t.definitionPath,r],jsonSchema:void 0}]))}};function M(n,t,i,r){if(!r?.errorMessages)return;if(i)n.errorMessage={...n.errorMessage,[t]:i}}function D(n,t,i,r,u){n[t]=i,M(n,t,r,u)}var P=(n,t)=>{let i=0;for(;i<n.length&&i<t.length;i++)if(n[i]!==t[i])break;return[(n.length-i).toString(),...t.slice(i)].join("/")};function Z(n){if(n.target!=="openAi")return{};let t=[...n.basePath,n.definitionPath,n.openAiAnyTypeName];return n.flags.hasReferencedOpenAiAnyType=!0,{$ref:n.$refStrategy==="relative"?P(t,n.currentPath):t.join("/")}}function S(n,t){let i={type:"array"};if(n.type?._def&&n.type?._def?.typeName!==l.ZodAny)i.items=o(n.type._def,{...t,currentPath:[...t.currentPath,"items"]});if(n.minLength)D(i,"minItems",n.minLength.value,n.minLength.message,t);if(n.maxLength)D(i,"maxItems",n.maxLength.value,n.maxLength.message,t);if(n.exactLength)D(i,"minItems",n.exactLength.value,n.exactLength.message,t),D(i,"maxItems",n.exactLength.value,n.exactLength.message,t);return i}function X(n,t){let i={type:"integer",format:"int64"};if(!n.checks)return i;for(let r of n.checks)switch(r.kind){case"min":if(t.target==="jsonSchema7")if(r.inclusive)D(i,"minimum",r.value,r.message,t);else D(i,"exclusiveMinimum",r.value,r.message,t);else{if(!r.inclusive)i.exclusiveMinimum=!0;D(i,"minimum",r.value,r.message,t)}break;case"max":if(t.target==="jsonSchema7")if(r.inclusive)D(i,"maximum",r.value,r.message,t);else D(i,"exclusiveMaximum",r.value,r.message,t);else{if(!r.inclusive)i.exclusiveMaximum=!0;D(i,"maximum",r.value,r.message,t)}break;case"multipleOf":D(i,"multipleOf",r.value,r.message,t);break}return i}function Y(){return{type:"boolean"}}function a(n,t){return o(n.type._def,t)}var H=(n,t)=>{return o(n.innerType._def,t)};function B(n,t,i){let r=i??t.dateStrategy;if(Array.isArray(r))return{anyOf:r.map((u,p)=>B(n,t,u))};switch(r){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return Dt(n,t)}}var Dt=(n,t)=>{let i={type:"integer",format:"unix-time"};if(t.target==="openApi3")return i;for(let r of n.checks)switch(r.kind){case"min":D(i,"minimum",r.value,r.message,t);break;case"max":D(i,"maximum",r.value,r.message,t);break}return i};function q(n,t){return{...o(n.innerType._def,t),default:n.defaultValue()}}function W(n,t){return t.effectStrategy==="input"?o(n.schema._def,t):Z(t)}function J(n){return{type:"string",enum:Array.from(n.values)}}var gt=(n)=>{if("type"in n&&n.type==="string")return!1;return"allOf"in n};function z(n,t){let i=[o(n.left._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),o(n.right._def,{...t,currentPath:[...t.currentPath,"allOf","1"]})].filter((p)=>!!p),r=t.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,u=[];return i.forEach((p)=>{if(gt(p)){if(u.push(...p.allOf),p.unevaluatedProperties===void 0)r=void 0}else{let m=p;if("additionalProperties"in p&&p.additionalProperties===!1){let{additionalProperties:g,...y}=p;m=y}else r=void 0;u.push(m)}}),u.length?{allOf:u,...r}:void 0}function V(n,t){let i=typeof n.value;if(i!=="bigint"&&i!=="number"&&i!=="boolean"&&i!=="string")return{type:Array.isArray(n.value)?"array":"object"};if(t.target==="openApi3")return{type:i==="bigint"?"integer":i,enum:[n.value]};return{type:i==="bigint"?"integer":i,const:n.value}}var U=void 0,v={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(U===void 0)U=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return U},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function O(n,t){let i={type:"string"};if(n.checks)for(let r of n.checks)switch(r.kind){case"min":D(i,"minLength",typeof i.minLength==="number"?Math.max(i.minLength,r.value):r.value,r.message,t);break;case"max":D(i,"maxLength",typeof i.maxLength==="number"?Math.min(i.maxLength,r.value):r.value,r.message,t);break;case"email":switch(t.emailStrategy){case"format:email":_(i,"email",r.message,t);break;case"format:idn-email":_(i,"idn-email",r.message,t);break;case"pattern:zod":x(i,v.email,r.message,t);break}break;case"url":_(i,"uri",r.message,t);break;case"uuid":_(i,"uuid",r.message,t);break;case"regex":x(i,r.regex,r.message,t);break;case"cuid":x(i,v.cuid,r.message,t);break;case"cuid2":x(i,v.cuid2,r.message,t);break;case"startsWith":x(i,RegExp(`^${E(r.value,t)}`),r.message,t);break;case"endsWith":x(i,RegExp(`${E(r.value,t)}$`),r.message,t);break;case"datetime":_(i,"date-time",r.message,t);break;case"date":_(i,"date",r.message,t);break;case"time":_(i,"time",r.message,t);break;case"duration":_(i,"duration",r.message,t);break;case"length":D(i,"minLength",typeof i.minLength==="number"?Math.max(i.minLength,r.value):r.value,r.message,t),D(i,"maxLength",typeof i.maxLength==="number"?Math.min(i.maxLength,r.value):r.value,r.message,t);break;case"includes":{x(i,RegExp(E(r.value,t)),r.message,t);break}case"ip":{if(r.version!=="v6")_(i,"ipv4",r.message,t);if(r.version!=="v4")_(i,"ipv6",r.message,t);break}case"base64url":x(i,v.base64url,r.message,t);break;case"jwt":x(i,v.jwt,r.message,t);break;case"cidr":{if(r.version!=="v6")x(i,v.ipv4Cidr,r.message,t);if(r.version!=="v4")x(i,v.ipv6Cidr,r.message,t);break}case"emoji":x(i,v.emoji(),r.message,t);break;case"ulid":{x(i,v.ulid,r.message,t);break}case"base64":{switch(t.base64Strategy){case"format:binary":{_(i,"binary",r.message,t);break}case"contentEncoding:base64":{D(i,"contentEncoding","base64",r.message,t);break}case"pattern:zod":{x(i,v.base64,r.message,t);break}}break}case"nanoid":x(i,v.nanoid,r.message,t);case"toLowerCase":case"toUpperCase":case"trim":break;default:((u)=>{})(r)}return i}function E(n,t){return t.patternStrategy==="escape"?xt(n):n}var Zt=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function xt(n){let t="";for(let i=0;i<n.length;i++){if(!Zt.has(n[i]))t+="\\";t+=n[i]}return t}function _(n,t,i,r){if(n.format||n.anyOf?.some((u)=>u.format)){if(!n.anyOf)n.anyOf=[];if(n.format){if(n.anyOf.push({format:n.format,...n.errorMessage&&r.errorMessages&&{errorMessage:{format:n.errorMessage.format}}}),delete n.format,n.errorMessage){if(delete n.errorMessage.format,Object.keys(n.errorMessage).length===0)delete n.errorMessage}}n.anyOf.push({format:t,...i&&r.errorMessages&&{errorMessage:{format:i}}})}else D(n,"format",t,i,r)}function x(n,t,i,r){if(n.pattern||n.allOf?.some((u)=>u.pattern)){if(!n.allOf)n.allOf=[];if(n.pattern){if(n.allOf.push({pattern:n.pattern,...n.errorMessage&&r.errorMessages&&{errorMessage:{pattern:n.errorMessage.pattern}}}),delete n.pattern,n.errorMessage){if(delete n.errorMessage.pattern,Object.keys(n.errorMessage).length===0)delete n.errorMessage}}n.allOf.push({pattern:F(t,r),...i&&r.errorMessages&&{errorMessage:{pattern:i}}})}else D(n,"pattern",F(t,r),i,r)}function F(n,t){if(!t.applyRegexFlags||!n.flags)return n.source;let i={i:n.flags.includes("i"),m:n.flags.includes("m"),s:n.flags.includes("s")},r=i.i?n.source.toLowerCase():n.source,u="",p=!1,m=!1,g=!1;for(let y=0;y<r.length;y++){if(p){u+=r[y],p=!1;continue}if(i.i){if(m){if(r[y].match(/[a-z]/)){if(g)u+=r[y],u+=`${r[y-2]}-${r[y]}`.toUpperCase(),g=!1;else if(r[y+1]==="-"&&r[y+2]?.match(/[a-z]/))u+=r[y],g=!0;else u+=`${r[y]}${r[y].toUpperCase()}`;continue}}else if(r[y].match(/[a-z]/)){u+=`[${r[y]}${r[y].toUpperCase()}]`;continue}}if(i.m){if(r[y]==="^"){u+=`(^|(?<=[\r
|
|
3
|
-
]))`;continue}else if(
|
|
4
|
-
]))`;continue}}if(
|
|
5
|
-
`:`[${
|
|
6
|
-
]`;continue}if(u+=r[y],r[y]==="\\")p=!0;else if(m&&r[y]==="]")m=!1;else if(!m&&r[y]==="[")m=!0}try{new RegExp(u)}catch{return console.warn(`Could not convert regex pattern at ${t.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),n.source}return u}function I(n,t){if(t.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(t.target==="openApi3"&&n.keyType?._def.typeName===l.ZodEnum)return{type:"object",required:n.keyType._def.values,properties:n.keyType._def.values.reduce((r,u)=>({...r,[u]:o(n.valueType._def,{...t,currentPath:[...t.currentPath,"properties",u]})??Z(t)}),{}),additionalProperties:t.rejectedAdditionalProperties};let i={type:"object",additionalProperties:o(n.valueType._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]})??t.allowedAdditionalProperties};if(t.target==="openApi3")return i;if(n.keyType?._def.typeName===l.ZodString&&n.keyType._def.checks?.length){let{type:r,...u}=O(n.keyType._def,t);return{...i,propertyNames:u}}else if(n.keyType?._def.typeName===l.ZodEnum)return{...i,propertyNames:{enum:n.keyType._def.values}};else if(n.keyType?._def.typeName===l.ZodBranded&&n.keyType._def.type._def.typeName===l.ZodString&&n.keyType._def.type._def.checks?.length){let{type:r,...u}=a(n.keyType._def,t);return{...i,propertyNames:u}}return i}function G(n,t){if(t.mapStrategy==="record")return I(n,t);let i=o(n.keyType._def,{...t,currentPath:[...t.currentPath,"items","items","0"]})||Z(t),r=o(n.valueType._def,{...t,currentPath:[...t.currentPath,"items","items","1"]})||Z(t);return{type:"array",maxItems:125,items:{type:"array",items:[i,r],minItems:2,maxItems:2}}}function R(n){let t=n.values,r=Object.keys(n.values).filter((p)=>{return typeof t[t[p]]!=="number"}).map((p)=>t[p]),u=Array.from(new Set(r.map((p)=>typeof p)));return{type:u.length===1?u[0]==="string"?"string":"number":["string","number"],enum:r}}function k(n){return n.target==="openAi"?void 0:{not:Z({...n,currentPath:[...n.currentPath,"not"]})}}function C(n){return n.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var b={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function d(n,t){if(t.target==="openApi3")return j(n,t);let i=n.options instanceof Map?Array.from(n.options.values()):n.options;if(i.every((r)=>(r._def.typeName in b)&&(!r._def.checks||!r._def.checks.length))){let r=i.reduce((u,p)=>{let m=b[p._def.typeName];return m&&!u.includes(m)?[...u,m]:u},[]);return{type:r.length>1?r:r[0]}}else if(i.every((r)=>r._def.typeName==="ZodLiteral"&&!r.description)){let r=i.reduce((u,p)=>{let m=typeof p._def.value;switch(m){case"string":case"number":case"boolean":return[...u,m];case"bigint":return[...u,"integer"];case"object":if(p._def.value===null)return[...u,"null"];case"symbol":case"undefined":case"function":default:return u}},[]);if(r.length===i.length){let u=r.filter((p,m,g)=>g.indexOf(p)===m);return{type:u.length>1?u:u[0],enum:i.reduce((p,m)=>{return p.includes(m._def.value)?p:[...p,m._def.value]},[])}}}else if(i.every((r)=>r._def.typeName==="ZodEnum"))return{type:"string",enum:i.reduce((r,u)=>[...r,...u._def.values.filter((p)=>!r.includes(p))],[])};return j(n,t)}var j=(n,t)=>{let i=(n.options instanceof Map?Array.from(n.options.values()):n.options).map((r,u)=>o(r._def,{...t,currentPath:[...t.currentPath,"anyOf",`${u}`]})).filter((r)=>!!r&&(!t.strictUnions||typeof r==="object"&&Object.keys(r).length>0));return i.length?{anyOf:i}:void 0};function e(n,t){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(n.innerType._def.typeName)&&(!n.innerType._def.checks||!n.innerType._def.checks.length)){if(t.target==="openApi3")return{type:b[n.innerType._def.typeName],nullable:!0};return{type:[b[n.innerType._def.typeName],"null"]}}if(t.target==="openApi3"){let r=o(n.innerType._def,{...t,currentPath:[...t.currentPath]});if(r&&"$ref"in r)return{allOf:[r],nullable:!0};return r&&{...r,nullable:!0}}let i=o(n.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","0"]});return i&&{anyOf:[i,{type:"null"}]}}function f(n,t){let i={type:"number"};if(!n.checks)return i;for(let r of n.checks)switch(r.kind){case"int":i.type="integer",M(i,"type",r.message,t);break;case"min":if(t.target==="jsonSchema7")if(r.inclusive)D(i,"minimum",r.value,r.message,t);else D(i,"exclusiveMinimum",r.value,r.message,t);else{if(!r.inclusive)i.exclusiveMinimum=!0;D(i,"minimum",r.value,r.message,t)}break;case"max":if(t.target==="jsonSchema7")if(r.inclusive)D(i,"maximum",r.value,r.message,t);else D(i,"exclusiveMaximum",r.value,r.message,t);else{if(!r.inclusive)i.exclusiveMaximum=!0;D(i,"maximum",r.value,r.message,t)}break;case"multipleOf":D(i,"multipleOf",r.value,r.message,t);break}return i}function c(n,t){let i=t.target==="openAi",r={type:"object",properties:{}},u=[],p=n.shape();for(let g in p){let y=p[g];if(y===void 0||y._def===void 0)continue;let T=_t(y);if(T&&i){if(y._def.typeName==="ZodOptional")y=y._def.innerType;if(!y.isNullable())y=y.nullable();T=!1}let N=o(y._def,{...t,currentPath:[...t.currentPath,"properties",g],propertyPath:[...t.currentPath,"properties",g]});if(N===void 0)continue;if(r.properties[g]=N,!T)u.push(g)}if(u.length)r.required=u;let m=vt(n,t);if(m!==void 0)r.additionalProperties=m;return r}function vt(n,t){if(n.catchall._def.typeName!=="ZodNever")return o(n.catchall._def,{...t,currentPath:[...t.currentPath,"additionalProperties"]});switch(n.unknownKeys){case"passthrough":return t.allowedAdditionalProperties;case"strict":return t.rejectedAdditionalProperties;case"strip":return t.removeAdditionalStrategy==="strict"?t.allowedAdditionalProperties:t.rejectedAdditionalProperties}}function _t(n){try{return n.isOptional()}catch{return!0}}var h=(n,t)=>{if(t.currentPath.toString()===t.propertyPath?.toString())return o(n.innerType._def,t);let i=o(n.innerType._def,{...t,currentPath:[...t.currentPath,"anyOf","1"]});return i?{anyOf:[{not:Z(t)},i]}:Z(t)};var s=(n,t)=>{if(t.pipeStrategy==="input")return o(n.in._def,t);else if(t.pipeStrategy==="output")return o(n.out._def,t);let i=o(n.in._def,{...t,currentPath:[...t.currentPath,"allOf","0"]}),r=o(n.out._def,{...t,currentPath:[...t.currentPath,"allOf",i?"1":"0"]});return{allOf:[i,r].filter((u)=>u!==void 0)}};function tt(n,t){return o(n.type._def,t)}function nt(n,t){let r={type:"array",uniqueItems:!0,items:o(n.valueType._def,{...t,currentPath:[...t.currentPath,"items"]})};if(n.minSize)D(r,"minItems",n.minSize.value,n.minSize.message,t);if(n.maxSize)D(r,"maxItems",n.maxSize.value,n.maxSize.message,t);return r}function it(n,t){if(n.rest)return{type:"array",minItems:n.items.length,items:n.items.map((i,r)=>o(i._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((i,r)=>r===void 0?i:[...i,r],[]),additionalItems:o(n.rest._def,{...t,currentPath:[...t.currentPath,"additionalItems"]})};else return{type:"array",minItems:n.items.length,maxItems:n.items.length,items:n.items.map((i,r)=>o(i._def,{...t,currentPath:[...t.currentPath,"items",`${r}`]})).reduce((i,r)=>r===void 0?i:[...i,r],[])}}function rt(n){return{not:Z(n)}}function ut(n){return Z(n)}var pt=(n,t)=>{return o(n.innerType._def,t)};var ot=(n,t,i)=>{switch(t){case l.ZodString:return O(n,i);case l.ZodNumber:return f(n,i);case l.ZodObject:return c(n,i);case l.ZodBigInt:return X(n,i);case l.ZodBoolean:return Y();case l.ZodDate:return B(n,i);case l.ZodUndefined:return rt(i);case l.ZodNull:return C(i);case l.ZodArray:return S(n,i);case l.ZodUnion:case l.ZodDiscriminatedUnion:return d(n,i);case l.ZodIntersection:return z(n,i);case l.ZodTuple:return it(n,i);case l.ZodRecord:return I(n,i);case l.ZodLiteral:return V(n,i);case l.ZodEnum:return J(n);case l.ZodNativeEnum:return R(n);case l.ZodNullable:return e(n,i);case l.ZodOptional:return h(n,i);case l.ZodMap:return G(n,i);case l.ZodSet:return nt(n,i);case l.ZodLazy:return()=>n.getter()._def;case l.ZodPromise:return tt(n,i);case l.ZodNaN:case l.ZodNever:return k(i);case l.ZodEffects:return W(n,i);case l.ZodAny:return Z(i);case l.ZodUnknown:return ut(i);case l.ZodDefault:return q(n,i);case l.ZodBranded:return a(n,i);case l.ZodReadonly:return pt(n,i);case l.ZodCatch:return H(n,i);case l.ZodPipeline:return s(n,i);case l.ZodFunction:case l.ZodVoid:case l.ZodSymbol:return;default:return((r)=>{return})(t)}};function o(n,t,i=!1){let r=t.seen.get(n);if(t.override){let g=t.override?.(n,t,r,i);if(g!==K)return g}if(r&&!i){let g=Tt(r,t);if(g!==void 0)return g}let u={def:n,path:t.currentPath,jsonSchema:void 0};t.seen.set(n,u);let p=ot(n,n.typeName,t),m=typeof p==="function"?o(p(),t):p;if(m)At(n,t,m);if(t.postProcess){let g=t.postProcess(m,n,t);return u.jsonSchema=m,g}return u.jsonSchema=m,m}var Tt=(n,t)=>{switch(t.$refStrategy){case"root":return{$ref:n.path.join("/")};case"relative":return{$ref:P(t.currentPath,n.path)};case"none":case"seen":{if(n.path.length<t.currentPath.length&&n.path.every((i,r)=>t.currentPath[r]===i))return console.warn(`Recursive reference detected at ${t.currentPath.join("/")}! Defaulting to any`),Z(t);return t.$refStrategy==="seen"?Z(t):void 0}}},At=(n,t,i)=>{if(n.description){if(i.description=n.description,t.markdownDescription)i.markdownDescription=n.description}return i};var L=(n,t)=>{let i=Q(t),r=typeof t==="object"&&t.definitions?Object.entries(t.definitions).reduce((y,[T,N])=>({...y,[T]:o(N._def,{...i,currentPath:[...i.basePath,i.definitionPath,T]},!0)??Z(i)}),{}):void 0,u=typeof t==="string"?t:t?.nameStrategy==="title"?void 0:t?.name,p=o(n._def,u===void 0?i:{...i,currentPath:[...i.basePath,i.definitionPath,u]},!1)??Z(i),m=typeof t==="object"&&t.name!==void 0&&t.nameStrategy==="title"?t.name:void 0;if(m!==void 0)p.title=m;if(i.flags.hasReferencedOpenAiAnyType){if(!r)r={};if(!r[i.openAiAnyTypeName])r[i.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:i.$refStrategy==="relative"?"1":[...i.basePath,i.definitionPath,i.openAiAnyTypeName].join("/")}}}let g=u===void 0?r?{...p,[i.definitionPath]:r}:p:{$ref:[...i.$refStrategy==="relative"?[]:i.basePath,i.definitionPath,u].join("/"),[i.definitionPath]:{...r,[u]:p}};if(i.target==="jsonSchema7")g.$schema="http://json-schema.org/draft-07/schema#";else if(i.target==="jsonSchema2019-09"||i.target==="openAi")g.$schema="https://json-schema.org/draft/2019-09/schema#";if(i.target==="openAi"&&(("anyOf"in g)||("oneOf"in g)||("allOf"in g)||("type"in g)&&Array.isArray(g.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return g};var lt=new WeakMap,yt=0;class A{spec;generatedSchemas=new Set;constructor(n){this.spec=n}convert(n,t){try{if(t?.reusable||this.shouldBeReusable(n))return this.convertToReusableSchema(n,t?.name);return this.convertInline(n)}catch(i){return console.warn("Failed to convert Zod schema to JSON Schema:",i),{type:"object"}}}convertInline(n){let t=L(n,{target:"openApi3",$refStrategy:"none"});if(t&&typeof t==="object")delete t.$schema;return t}convertToReusableSchema(n,t){let i=lt.get(n);if(i&&this.generatedSchemas.has(i))return{$ref:`#/components/schemas/${i}`};let r=t||i||this.generateSchemaName();lt.set(n,r),this.generatedSchemas.add(r);let u=this.convertInline(n);if(!this.spec.components)this.spec.components={schemas:{}};if(!this.spec.components.schemas)this.spec.components.schemas={};return this.spec.components.schemas[r]=u,{$ref:`#/components/schemas/${r}`}}shouldBeReusable(n){let t=this.convertInline(n);if(t.type==="object"&&t.properties)return Object.keys(t.properties).length>2;if(t.type==="array"&&t.items){let i=t.items;if(i.type==="object"&&i.properties)return!0}if(t.anyOf||t.oneOf||t.allOf)return!0;return!1}generateSchemaName(){return`Schema${++yt}`}static resetCounter(){yt=0}}function bt(n,t){if(t)return new A(t).convert(n);try{let i=L(n,{target:"openApi3",$refStrategy:"none"});if(i&&typeof i==="object")delete i.$schema;return i}catch(i){return console.warn("Failed to convert Zod schema to JSON Schema:",i),{type:"object"}}}class mt{metadata;options;converter;constructor(n,t){this.metadata=n;this.options={title:t?.title||"Veloce-TS API",version:t?.version||"1.0.0",description:t?.description||"API built with Veloce-TS",path:t?.path||"/openapi.json",docsPath:t?.docsPath||"/docs",docs:t?.docs!==!1}}generate(){let n=this.metadata.getRoutes(),t={openapi:"3.0.0",info:{title:this.options.title,version:this.options.version,description:this.options.description},paths:{},components:{schemas:{}}};this.converter=new A(t);for(let i of n)this.addRouteToSpec(t,i);return t}addRouteToSpec(n,t){let i=this.convertPathToOpenAPI(t.path),r=t.method.toLowerCase();if(r==="all"||r==="options")return;if(!n.paths[i])n.paths[i]={};let u={summary:t.docs?.summary,description:t.docs?.description,tags:t.docs?.tags||[],deprecated:t.docs?.deprecated||!1,parameters:this.extractParameters(t,n),responses:this.extractResponses(t,n)},p=this.extractRequestBody(t,n);if(p)u.requestBody=p;if(u.parameters.length===0)delete u.parameters;if(u.tags.length===0)delete u.tags;n.paths[i][r]=u}extractParameters(n,t){let i=[];for(let r of n.parameters)if(r.type==="query"||r.type==="param"||r.type==="header"||r.type==="cookie"){let u=this.parameterToOpenAPI(r,n.path,t);if(u)i.push(u)}return i}extractRequestBody(n,t){let i=n.parameters.find((r)=>r.type==="body");if(!i||!i.schema)return null;return{required:i.required,content:{"application/json":{schema:this.zodToOpenAPISchema(i.schema,t)}}}}extractResponses(n,t){let i={};if(n.responses&&n.responses.length>0)for(let r of n.responses)i[r.statusCode.toString()]={description:r.description||this.getDefaultResponseDescription(r.statusCode),content:r.schema?{"application/json":{schema:this.zodToOpenAPISchema(r.schema,t)}}:void 0};else i["200"]={description:"Successful response",content:{"application/json":{schema:{type:"object"}}}};if(!i["422"])i["422"]={description:"Validation error",content:{"application/json":{schema:{type:"object",properties:{error:{type:"string"},details:{type:"array",items:{type:"object",properties:{path:{type:"string"},message:{type:"string"},code:{type:"string"}}}}}}}}};return i}convertPathToOpenAPI(n){return n.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"{$1}")}parameterToOpenAPI(n,t,i){let r,u;switch(n.type){case"query":r="query",u=n.name||"query";break;case"param":if(r="path",n.name)u=n.name;else{let m=t.match(/:([a-zA-Z_][a-zA-Z0-9_]*)/);u=m?m[1]:"id"}break;case"header":r="header",u=n.name||"X-Custom-Header";break;case"cookie":r="cookie",u=n.name||"session";break;default:return null}return{name:u,in:r,required:n.required||r==="path",schema:n.schema?this.zodToOpenAPISchema(n.schema,i):{type:"string"}}}zodToOpenAPISchema(n,t){if(!this.converter)this.converter=new A(t);return this.converter.convert(n)}getDefaultResponseDescription(n){return{200:"Successful response",201:"Created",204:"No content",400:"Bad request",401:"Unauthorized",403:"Forbidden",404:"Not found",422:"Validation error",500:"Internal server error"}[n]||"Response"}}export{bt as zodToJsonSchema,A as ZodToJsonSchemaConverter,mt as OpenAPIGenerator};export{A as O,bt as P,mt as Q};
|
|
2
|
+
var T$=Object.create;var{getPrototypeOf:m$,defineProperty:w_,getOwnPropertyNames:n_,getOwnPropertyDescriptor:x$}=Object,Z_=Object.prototype.hasOwnProperty;var H3=(_,$,q)=>{q=_!=null?T$(m$(_)):{};let W=$||!_||!_.__esModule?w_(q,"default",{value:_,enumerable:!0}):q;for(let X of n_(_))if(!Z_.call(W,X))w_(W,X,{get:()=>_[X],enumerable:!0});return W},h_=new WeakMap,Q3=(_)=>{var $=h_.get(_),q;if($)return $;if($=w_({},"__esModule",{value:!0}),_&&typeof _==="object"||typeof _==="function")n_(_).map((W)=>!Z_.call($,W)&&w_($,W,{get:()=>_[W],enumerable:!(q=x$(_,W))||q.enumerable}));return h_.set(_,$),$},J3=(_,$)=>()=>($||_(($={exports:{}}).exports,$),$.exports);var y$=(_,$)=>{for(var q in $)w_(_,q,{get:$[q],enumerable:!0,configurable:!0,set:(W)=>$[q]=()=>W})};var Y3=(_,$)=>()=>(_&&($=_(_=0)),$);var G3=import.meta.require;var i_=Symbol("Let zodToJsonSchema decide on which parser to use");var u_={name:void 0,$refStrategy:"root",basePath:["#"],effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",removeAdditionalStrategy:"passthrough",allowedAdditionalProperties:!0,rejectedAdditionalProperties:!1,definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,definitions:{},errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref",openAiAnyTypeName:"OpenAiAnyType"},p_=(_)=>typeof _==="string"?{...u_,name:_}:{...u_,..._};var r_=(_)=>{let $=p_(_),q=$.name!==void 0?[...$.basePath,$.definitionPath,$.name]:$.basePath;return{...$,flags:{hasReferencedOpenAiAnyType:!1},currentPath:q,propertyPath:void 0,seen:new Map(Object.entries($.definitions).map(([W,X])=>[X._def,{def:X._def,path:[...$.basePath,$.definitionPath,W],jsonSchema:void 0}]))}};function C_(_,$,q,W){if(!W?.errorMessages)return;if(q)_.errorMessage={..._.errorMessage,[$]:q}}function S(_,$,q,W,X){_[$]=q,C_(_,$,W,X)}var j_=(_,$)=>{let q=0;for(;q<_.length&&q<$.length;q++)if(_[q]!==$[q])break;return[(_.length-q).toString(),...$.slice(q)].join("/")};var X$={};y$(X$,{void:()=>Uq,util:()=>E,unknown:()=>Nq,union:()=>Kq,undefined:()=>Oq,tuple:()=>gq,transformer:()=>hq,symbol:()=>Aq,string:()=>$$,strictObject:()=>Vq,setErrorMap:()=>Z$,set:()=>Iq,record:()=>kq,quotelessJson:()=>h$,promise:()=>yq,preprocess:()=>uq,pipeline:()=>iq,ostring:()=>pq,optional:()=>nq,onumber:()=>rq,oboolean:()=>cq,objectUtil:()=>I_,object:()=>Lq,number:()=>q$,nullable:()=>Zq,null:()=>Eq,never:()=>jq,nativeEnum:()=>xq,nan:()=>bq,map:()=>Cq,makeIssue:()=>b_,literal:()=>Tq,lazy:()=>lq,late:()=>Dq,isValid:()=>n,isDirty:()=>R_,isAsync:()=>s,isAborted:()=>U_,intersection:()=>fq,instanceof:()=>wq,getParsedType:()=>l,getErrorMap:()=>a,function:()=>Pq,enum:()=>mq,effect:()=>hq,discriminatedUnion:()=>Fq,defaultErrorMap:()=>x,datetimeRegex:()=>s_,date:()=>vq,custom:()=>_$,coerce:()=>oq,boolean:()=>W$,bigint:()=>zq,array:()=>Rq,any:()=>Sq,addIssueToContext:()=>D,ZodVoid:()=>v_,ZodUnknown:()=>Z,ZodUnion:()=>X_,ZodUndefined:()=>q_,ZodType:()=>O,ZodTuple:()=>m,ZodTransformer:()=>C,ZodSymbol:()=>z_,ZodString:()=>F,ZodSet:()=>d,ZodSchema:()=>O,ZodRecord:()=>A_,ZodReadonly:()=>B_,ZodPromise:()=>t,ZodPipeline:()=>S_,ZodParsedType:()=>B,ZodOptional:()=>g,ZodObject:()=>j,ZodNumber:()=>u,ZodNullable:()=>h,ZodNull:()=>W_,ZodNever:()=>T,ZodNativeEnum:()=>Y_,ZodNaN:()=>E_,ZodMap:()=>O_,ZodLiteral:()=>J_,ZodLazy:()=>Q_,ZodIssueCode:()=>G,ZodIntersection:()=>H_,ZodFunction:()=>__,ZodFirstPartyTypeKind:()=>M,ZodError:()=>K,ZodEnum:()=>p,ZodEffects:()=>C,ZodDiscriminatedUnion:()=>L_,ZodDefault:()=>G_,ZodDate:()=>c,ZodCatch:()=>M_,ZodBranded:()=>V_,ZodBoolean:()=>$_,ZodBigInt:()=>i,ZodArray:()=>f,ZodAny:()=>o,Schema:()=>O,ParseStatus:()=>R,OK:()=>L,NEVER:()=>dq,INVALID:()=>b,EMPTY_PATH:()=>u$,DIRTY:()=>r,BRAND:()=>Bq});var E;(function(_){_.assertEqual=(X)=>{};function $(X){}_.assertIs=$;function q(X){throw Error()}_.assertNever=q,_.arrayToEnum=(X)=>{let H={};for(let Q of X)H[Q]=Q;return H},_.getValidEnumValues=(X)=>{let H=_.objectKeys(X).filter((Y)=>typeof X[X[Y]]!=="number"),Q={};for(let Y of H)Q[Y]=X[Y];return _.objectValues(Q)},_.objectValues=(X)=>{return _.objectKeys(X).map(function(H){return X[H]})},_.objectKeys=typeof Object.keys==="function"?(X)=>Object.keys(X):(X)=>{let H=[];for(let Q in X)if(Object.prototype.hasOwnProperty.call(X,Q))H.push(Q);return H},_.find=(X,H)=>{for(let Q of X)if(H(Q))return Q;return},_.isInteger=typeof Number.isInteger==="function"?(X)=>Number.isInteger(X):(X)=>typeof X==="number"&&Number.isFinite(X)&&Math.floor(X)===X;function W(X,H=" | "){return X.map((Q)=>typeof Q==="string"?`'${Q}'`:Q).join(H)}_.joinValues=W,_.jsonStringifyReplacer=(X,H)=>{if(typeof H==="bigint")return H.toString();return H}})(E||(E={}));var I_;(function(_){_.mergeShapes=($,q)=>{return{...$,...q}}})(I_||(I_={}));var B=E.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),l=(_)=>{switch(typeof _){case"undefined":return B.undefined;case"string":return B.string;case"number":return Number.isNaN(_)?B.nan:B.number;case"boolean":return B.boolean;case"function":return B.function;case"bigint":return B.bigint;case"symbol":return B.symbol;case"object":if(Array.isArray(_))return B.array;if(_===null)return B.null;if(_.then&&typeof _.then==="function"&&_.catch&&typeof _.catch==="function")return B.promise;if(typeof Map<"u"&&_ instanceof Map)return B.map;if(typeof Set<"u"&&_ instanceof Set)return B.set;if(typeof Date<"u"&&_ instanceof Date)return B.date;return B.object;default:return B.unknown}};var G=E.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),h$=(_)=>{return JSON.stringify(_,null,2).replace(/"([^"]+)":/g,"$1:")};class K extends Error{get errors(){return this.issues}constructor(_){super();this.issues=[],this.addIssue=(q)=>{this.issues=[...this.issues,q]},this.addIssues=(q=[])=>{this.issues=[...this.issues,...q]};let $=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,$);else this.__proto__=$;this.name="ZodError",this.issues=_}format(_){let $=_||function(X){return X.message},q={_errors:[]},W=(X)=>{for(let H of X.issues)if(H.code==="invalid_union")H.unionErrors.map(W);else if(H.code==="invalid_return_type")W(H.returnTypeError);else if(H.code==="invalid_arguments")W(H.argumentsError);else if(H.path.length===0)q._errors.push($(H));else{let Q=q,Y=0;while(Y<H.path.length){let J=H.path[Y];if(Y!==H.path.length-1)Q[J]=Q[J]||{_errors:[]};else Q[J]=Q[J]||{_errors:[]},Q[J]._errors.push($(H));Q=Q[J],Y++}}};return W(this),q}static assert(_){if(!(_ instanceof K))throw Error(`Not a ZodError: ${_}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,E.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(_=($)=>$.message){let $={},q=[];for(let W of this.issues)if(W.path.length>0){let X=W.path[0];$[X]=$[X]||[],$[X].push(_(W))}else q.push(_(W));return{formErrors:q,fieldErrors:$}}get formErrors(){return this.flatten()}}K.create=(_)=>{return new K(_)};var n$=(_,$)=>{let q;switch(_.code){case G.invalid_type:if(_.received===B.undefined)q="Required";else q=`Expected ${_.expected}, received ${_.received}`;break;case G.invalid_literal:q=`Invalid literal value, expected ${JSON.stringify(_.expected,E.jsonStringifyReplacer)}`;break;case G.unrecognized_keys:q=`Unrecognized key(s) in object: ${E.joinValues(_.keys,", ")}`;break;case G.invalid_union:q="Invalid input";break;case G.invalid_union_discriminator:q=`Invalid discriminator value. Expected ${E.joinValues(_.options)}`;break;case G.invalid_enum_value:q=`Invalid enum value. Expected ${E.joinValues(_.options)}, received '${_.received}'`;break;case G.invalid_arguments:q="Invalid function arguments";break;case G.invalid_return_type:q="Invalid function return type";break;case G.invalid_date:q="Invalid date";break;case G.invalid_string:if(typeof _.validation==="object")if("includes"in _.validation){if(q=`Invalid input: must include "${_.validation.includes}"`,typeof _.validation.position==="number")q=`${q} at one or more positions greater than or equal to ${_.validation.position}`}else if("startsWith"in _.validation)q=`Invalid input: must start with "${_.validation.startsWith}"`;else if("endsWith"in _.validation)q=`Invalid input: must end with "${_.validation.endsWith}"`;else E.assertNever(_.validation);else if(_.validation!=="regex")q=`Invalid ${_.validation}`;else q="Invalid";break;case G.too_small:if(_.type==="array")q=`Array must contain ${_.exact?"exactly":_.inclusive?"at least":"more than"} ${_.minimum} element(s)`;else if(_.type==="string")q=`String must contain ${_.exact?"exactly":_.inclusive?"at least":"over"} ${_.minimum} character(s)`;else if(_.type==="number")q=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="bigint")q=`Number must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${_.minimum}`;else if(_.type==="date")q=`Date must be ${_.exact?"exactly equal to ":_.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(_.minimum))}`;else q="Invalid input";break;case G.too_big:if(_.type==="array")q=`Array must contain ${_.exact?"exactly":_.inclusive?"at most":"less than"} ${_.maximum} element(s)`;else if(_.type==="string")q=`String must contain ${_.exact?"exactly":_.inclusive?"at most":"under"} ${_.maximum} character(s)`;else if(_.type==="number")q=`Number must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="bigint")q=`BigInt must be ${_.exact?"exactly":_.inclusive?"less than or equal to":"less than"} ${_.maximum}`;else if(_.type==="date")q=`Date must be ${_.exact?"exactly":_.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(_.maximum))}`;else q="Invalid input";break;case G.custom:q="Invalid input";break;case G.invalid_intersection_types:q="Intersection results could not be merged";break;case G.not_multiple_of:q=`Number must be a multiple of ${_.multipleOf}`;break;case G.not_finite:q="Number must be finite";break;default:q=$.defaultError,E.assertNever(_)}return{message:q}},x=n$;var c_=x;function Z$(_){c_=_}function a(){return c_}var b_=(_)=>{let{data:$,path:q,errorMaps:W,issueData:X}=_,H=[...q,...X.path||[]],Q={...X,path:H};if(X.message!==void 0)return{...X,path:H,message:X.message};let Y="",J=W.filter((v)=>!!v).slice().reverse();for(let v of J)Y=v(Q,{data:$,defaultError:Y}).message;return{...X,path:H,message:Y}},u$=[];function D(_,$){let q=a(),W=b_({issueData:$,data:_.data,path:_.path,errorMaps:[_.common.contextualErrorMap,_.schemaErrorMap,q,q===x?void 0:x].filter((X)=>!!X)});_.common.issues.push(W)}class R{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray(_,$){let q=[];for(let W of $){if(W.status==="aborted")return b;if(W.status==="dirty")_.dirty();q.push(W.value)}return{status:_.value,value:q}}static async mergeObjectAsync(_,$){let q=[];for(let W of $){let X=await W.key,H=await W.value;q.push({key:X,value:H})}return R.mergeObjectSync(_,q)}static mergeObjectSync(_,$){let q={};for(let W of $){let{key:X,value:H}=W;if(X.status==="aborted")return b;if(H.status==="aborted")return b;if(X.status==="dirty")_.dirty();if(H.status==="dirty")_.dirty();if(X.value!=="__proto__"&&(typeof H.value<"u"||W.alwaysSet))q[X.value]=H.value}return{status:_.value,value:q}}}var b=Object.freeze({status:"aborted"}),r=(_)=>({status:"dirty",value:_}),L=(_)=>({status:"valid",value:_}),U_=(_)=>_.status==="aborted",R_=(_)=>_.status==="dirty",n=(_)=>_.status==="valid",s=(_)=>typeof Promise<"u"&&_ instanceof Promise;var w;(function(_){_.errToObj=($)=>typeof $==="string"?{message:$}:$||{},_.toString=($)=>typeof $==="string"?$:$?.message})(w||(w={}));class k{constructor(_,$,q,W){this._cachedPath=[],this.parent=_,this.data=$,this._path=q,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var o_=(_,$)=>{if(n($))return{success:!0,data:$.value};else{if(!_.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let q=new K(_.common.issues);return this._error=q,this._error}}}};function A(_){if(!_)return{};let{errorMap:$,invalid_type_error:q,required_error:W,description:X}=_;if($&&(q||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if($)return{errorMap:$,description:X};return{errorMap:(Q,Y)=>{let{message:J}=_;if(Q.code==="invalid_enum_value")return{message:J??Y.defaultError};if(typeof Y.data>"u")return{message:J??W??Y.defaultError};if(Q.code!=="invalid_type")return{message:Y.defaultError};return{message:J??q??Y.defaultError}},description:X}}class O{get description(){return this._def.description}_getType(_){return l(_.data)}_getOrReturnCtx(_,$){return $||{common:_.parent.common,data:_.data,parsedType:l(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}_processInputParams(_){return{status:new R,ctx:{common:_.parent.common,data:_.data,parsedType:l(_.data),schemaErrorMap:this._def.errorMap,path:_.path,parent:_.parent}}}_parseSync(_){let $=this._parse(_);if(s($))throw Error("Synchronous parse encountered promise.");return $}_parseAsync(_){let $=this._parse(_);return Promise.resolve($)}parse(_,$){let q=this.safeParse(_,$);if(q.success)return q.data;throw q.error}safeParse(_,$){let q={common:{issues:[],async:$?.async??!1,contextualErrorMap:$?.errorMap},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:l(_)},W=this._parseSync({data:_,path:q.path,parent:q});return o_(q,W)}"~validate"(_){let $={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:l(_)};if(!this["~standard"].async)try{let q=this._parseSync({data:_,path:[],parent:$});return n(q)?{value:q.value}:{issues:$.common.issues}}catch(q){if(q?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;$.common={issues:[],async:!0}}return this._parseAsync({data:_,path:[],parent:$}).then((q)=>n(q)?{value:q.value}:{issues:$.common.issues})}async parseAsync(_,$){let q=await this.safeParseAsync(_,$);if(q.success)return q.data;throw q.error}async safeParseAsync(_,$){let q={common:{issues:[],contextualErrorMap:$?.errorMap,async:!0},path:$?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:_,parsedType:l(_)},W=this._parse({data:_,path:q.path,parent:q}),X=await(s(W)?W:Promise.resolve(W));return o_(q,X)}refine(_,$){let q=(W)=>{if(typeof $==="string"||typeof $>"u")return{message:$};else if(typeof $==="function")return $(W);else return $};return this._refinement((W,X)=>{let H=_(W),Q=()=>X.addIssue({code:G.custom,...q(W)});if(typeof Promise<"u"&&H instanceof Promise)return H.then((Y)=>{if(!Y)return Q(),!1;else return!0});if(!H)return Q(),!1;else return!0})}refinement(_,$){return this._refinement((q,W)=>{if(!_(q))return W.addIssue(typeof $==="function"?$(q,W):$),!1;else return!0})}_refinement(_){return new C({schema:this,typeName:M.ZodEffects,effect:{type:"refinement",refinement:_}})}superRefine(_){return this._refinement(_)}constructor(_){this.spa=this.safeParseAsync,this._def=_,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:($)=>this["~validate"]($)}}optional(){return g.create(this,this._def)}nullable(){return h.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return f.create(this)}promise(){return t.create(this,this._def)}or(_){return X_.create([this,_],this._def)}and(_){return H_.create(this,_,this._def)}transform(_){return new C({...A(this._def),schema:this,typeName:M.ZodEffects,effect:{type:"transform",transform:_}})}default(_){let $=typeof _==="function"?_:()=>_;return new G_({...A(this._def),innerType:this,defaultValue:$,typeName:M.ZodDefault})}brand(){return new V_({typeName:M.ZodBranded,type:this,...A(this._def)})}catch(_){let $=typeof _==="function"?_:()=>_;return new M_({...A(this._def),innerType:this,catchValue:$,typeName:M.ZodCatch})}describe(_){return new this.constructor({...this._def,description:_})}pipe(_){return S_.create(this,_)}readonly(){return B_.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var i$=/^c[^\s-]{8,}$/i,p$=/^[0-9a-z]+$/,r$=/^[0-9A-HJKMNP-TV-Z]{26}$/i,c$=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,o$=/^[a-z0-9_-]{21}$/i,d$=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,t$=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,a$=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,s$="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",P_,e$=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,_q=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,$q=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,qq=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Wq=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Xq=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,t_="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Hq=new RegExp(`^${t_}$`);function a_(_){let $="[0-5]\\d";if(_.precision)$=`${$}\\.\\d{${_.precision}}`;else if(_.precision==null)$=`${$}(\\.\\d+)?`;let q=_.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${$})${q}`}function Qq(_){return new RegExp(`^${a_(_)}$`)}function s_(_){let $=`${t_}T${a_(_)}`,q=[];if(q.push(_.local?"Z?":"Z"),_.offset)q.push("([+-]\\d{2}:?\\d{2})");return $=`${$}(${q.join("|")})`,new RegExp(`^${$}$`)}function Jq(_,$){if(($==="v4"||!$)&&e$.test(_))return!0;if(($==="v6"||!$)&&$q.test(_))return!0;return!1}function Yq(_,$){if(!d$.test(_))return!1;try{let[q]=_.split(".");if(!q)return!1;let W=q.replace(/-/g,"+").replace(/_/g,"/").padEnd(q.length+(4-q.length%4)%4,"="),X=JSON.parse(atob(W));if(typeof X!=="object"||X===null)return!1;if("typ"in X&&X?.typ!=="JWT")return!1;if(!X.alg)return!1;if($&&X.alg!==$)return!1;return!0}catch{return!1}}function Gq(_,$){if(($==="v4"||!$)&&_q.test(_))return!0;if(($==="v6"||!$)&&qq.test(_))return!0;return!1}class F extends O{_parse(_){if(this._def.coerce)_.data=String(_.data);if(this._getType(_)!==B.string){let X=this._getOrReturnCtx(_);return D(X,{code:G.invalid_type,expected:B.string,received:X.parsedType}),b}let q=new R,W=void 0;for(let X of this._def.checks)if(X.kind==="min"){if(_.data.length<X.value)W=this._getOrReturnCtx(_,W),D(W,{code:G.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),q.dirty()}else if(X.kind==="max"){if(_.data.length>X.value)W=this._getOrReturnCtx(_,W),D(W,{code:G.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),q.dirty()}else if(X.kind==="length"){let H=_.data.length>X.value,Q=_.data.length<X.value;if(H||Q){if(W=this._getOrReturnCtx(_,W),H)D(W,{code:G.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});else if(Q)D(W,{code:G.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});q.dirty()}}else if(X.kind==="email"){if(!a$.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{validation:"email",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="emoji"){if(!P_)P_=new RegExp(s$,"u");if(!P_.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{validation:"emoji",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="uuid"){if(!c$.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{validation:"uuid",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="nanoid"){if(!o$.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{validation:"nanoid",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="cuid"){if(!i$.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{validation:"cuid",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="cuid2"){if(!p$.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{validation:"cuid2",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="ulid"){if(!r$.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{validation:"ulid",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="url")try{new URL(_.data)}catch{W=this._getOrReturnCtx(_,W),D(W,{validation:"url",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="regex"){if(X.regex.lastIndex=0,!X.regex.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{validation:"regex",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="trim")_.data=_.data.trim();else if(X.kind==="includes"){if(!_.data.includes(X.value,X.position))W=this._getOrReturnCtx(_,W),D(W,{code:G.invalid_string,validation:{includes:X.value,position:X.position},message:X.message}),q.dirty()}else if(X.kind==="toLowerCase")_.data=_.data.toLowerCase();else if(X.kind==="toUpperCase")_.data=_.data.toUpperCase();else if(X.kind==="startsWith"){if(!_.data.startsWith(X.value))W=this._getOrReturnCtx(_,W),D(W,{code:G.invalid_string,validation:{startsWith:X.value},message:X.message}),q.dirty()}else if(X.kind==="endsWith"){if(!_.data.endsWith(X.value))W=this._getOrReturnCtx(_,W),D(W,{code:G.invalid_string,validation:{endsWith:X.value},message:X.message}),q.dirty()}else if(X.kind==="datetime"){if(!s_(X).test(_.data))W=this._getOrReturnCtx(_,W),D(W,{code:G.invalid_string,validation:"datetime",message:X.message}),q.dirty()}else if(X.kind==="date"){if(!Hq.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{code:G.invalid_string,validation:"date",message:X.message}),q.dirty()}else if(X.kind==="time"){if(!Qq(X).test(_.data))W=this._getOrReturnCtx(_,W),D(W,{code:G.invalid_string,validation:"time",message:X.message}),q.dirty()}else if(X.kind==="duration"){if(!t$.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{validation:"duration",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="ip"){if(!Jq(_.data,X.version))W=this._getOrReturnCtx(_,W),D(W,{validation:"ip",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="jwt"){if(!Yq(_.data,X.alg))W=this._getOrReturnCtx(_,W),D(W,{validation:"jwt",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="cidr"){if(!Gq(_.data,X.version))W=this._getOrReturnCtx(_,W),D(W,{validation:"cidr",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="base64"){if(!Wq.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{validation:"base64",code:G.invalid_string,message:X.message}),q.dirty()}else if(X.kind==="base64url"){if(!Xq.test(_.data))W=this._getOrReturnCtx(_,W),D(W,{validation:"base64url",code:G.invalid_string,message:X.message}),q.dirty()}else E.assertNever(X);return{status:q.value,value:_.data}}_regex(_,$,q){return this.refinement((W)=>_.test(W),{validation:$,code:G.invalid_string,...w.errToObj(q)})}_addCheck(_){return new F({...this._def,checks:[...this._def.checks,_]})}email(_){return this._addCheck({kind:"email",...w.errToObj(_)})}url(_){return this._addCheck({kind:"url",...w.errToObj(_)})}emoji(_){return this._addCheck({kind:"emoji",...w.errToObj(_)})}uuid(_){return this._addCheck({kind:"uuid",...w.errToObj(_)})}nanoid(_){return this._addCheck({kind:"nanoid",...w.errToObj(_)})}cuid(_){return this._addCheck({kind:"cuid",...w.errToObj(_)})}cuid2(_){return this._addCheck({kind:"cuid2",...w.errToObj(_)})}ulid(_){return this._addCheck({kind:"ulid",...w.errToObj(_)})}base64(_){return this._addCheck({kind:"base64",...w.errToObj(_)})}base64url(_){return this._addCheck({kind:"base64url",...w.errToObj(_)})}jwt(_){return this._addCheck({kind:"jwt",...w.errToObj(_)})}ip(_){return this._addCheck({kind:"ip",...w.errToObj(_)})}cidr(_){return this._addCheck({kind:"cidr",...w.errToObj(_)})}datetime(_){if(typeof _==="string")return this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:_});return this._addCheck({kind:"datetime",precision:typeof _?.precision>"u"?null:_?.precision,offset:_?.offset??!1,local:_?.local??!1,...w.errToObj(_?.message)})}date(_){return this._addCheck({kind:"date",message:_})}time(_){if(typeof _==="string")return this._addCheck({kind:"time",precision:null,message:_});return this._addCheck({kind:"time",precision:typeof _?.precision>"u"?null:_?.precision,...w.errToObj(_?.message)})}duration(_){return this._addCheck({kind:"duration",...w.errToObj(_)})}regex(_,$){return this._addCheck({kind:"regex",regex:_,...w.errToObj($)})}includes(_,$){return this._addCheck({kind:"includes",value:_,position:$?.position,...w.errToObj($?.message)})}startsWith(_,$){return this._addCheck({kind:"startsWith",value:_,...w.errToObj($)})}endsWith(_,$){return this._addCheck({kind:"endsWith",value:_,...w.errToObj($)})}min(_,$){return this._addCheck({kind:"min",value:_,...w.errToObj($)})}max(_,$){return this._addCheck({kind:"max",value:_,...w.errToObj($)})}length(_,$){return this._addCheck({kind:"length",value:_,...w.errToObj($)})}nonempty(_){return this.min(1,w.errToObj(_))}trim(){return new F({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new F({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new F({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find((_)=>_.kind==="datetime")}get isDate(){return!!this._def.checks.find((_)=>_.kind==="date")}get isTime(){return!!this._def.checks.find((_)=>_.kind==="time")}get isDuration(){return!!this._def.checks.find((_)=>_.kind==="duration")}get isEmail(){return!!this._def.checks.find((_)=>_.kind==="email")}get isURL(){return!!this._def.checks.find((_)=>_.kind==="url")}get isEmoji(){return!!this._def.checks.find((_)=>_.kind==="emoji")}get isUUID(){return!!this._def.checks.find((_)=>_.kind==="uuid")}get isNANOID(){return!!this._def.checks.find((_)=>_.kind==="nanoid")}get isCUID(){return!!this._def.checks.find((_)=>_.kind==="cuid")}get isCUID2(){return!!this._def.checks.find((_)=>_.kind==="cuid2")}get isULID(){return!!this._def.checks.find((_)=>_.kind==="ulid")}get isIP(){return!!this._def.checks.find((_)=>_.kind==="ip")}get isCIDR(){return!!this._def.checks.find((_)=>_.kind==="cidr")}get isBase64(){return!!this._def.checks.find((_)=>_.kind==="base64")}get isBase64url(){return!!this._def.checks.find((_)=>_.kind==="base64url")}get minLength(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxLength(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}}F.create=(_)=>{return new F({checks:[],typeName:M.ZodString,coerce:_?.coerce??!1,...A(_)})};function Mq(_,$){let q=(_.toString().split(".")[1]||"").length,W=($.toString().split(".")[1]||"").length,X=q>W?q:W,H=Number.parseInt(_.toFixed(X).replace(".","")),Q=Number.parseInt($.toFixed(X).replace(".",""));return H%Q/10**X}class u extends O{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(_){if(this._def.coerce)_.data=Number(_.data);if(this._getType(_)!==B.number){let X=this._getOrReturnCtx(_);return D(X,{code:G.invalid_type,expected:B.number,received:X.parsedType}),b}let q=void 0,W=new R;for(let X of this._def.checks)if(X.kind==="int"){if(!E.isInteger(_.data))q=this._getOrReturnCtx(_,q),D(q,{code:G.invalid_type,expected:"integer",received:"float",message:X.message}),W.dirty()}else if(X.kind==="min"){if(X.inclusive?_.data<X.value:_.data<=X.value)q=this._getOrReturnCtx(_,q),D(q,{code:G.too_small,minimum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),W.dirty()}else if(X.kind==="max"){if(X.inclusive?_.data>X.value:_.data>=X.value)q=this._getOrReturnCtx(_,q),D(q,{code:G.too_big,maximum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),W.dirty()}else if(X.kind==="multipleOf"){if(Mq(_.data,X.value)!==0)q=this._getOrReturnCtx(_,q),D(q,{code:G.not_multiple_of,multipleOf:X.value,message:X.message}),W.dirty()}else if(X.kind==="finite"){if(!Number.isFinite(_.data))q=this._getOrReturnCtx(_,q),D(q,{code:G.not_finite,message:X.message}),W.dirty()}else E.assertNever(X);return{status:W.value,value:_.data}}gte(_,$){return this.setLimit("min",_,!0,w.toString($))}gt(_,$){return this.setLimit("min",_,!1,w.toString($))}lte(_,$){return this.setLimit("max",_,!0,w.toString($))}lt(_,$){return this.setLimit("max",_,!1,w.toString($))}setLimit(_,$,q,W){return new u({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:q,message:w.toString(W)}]})}_addCheck(_){return new u({...this._def,checks:[...this._def.checks,_]})}int(_){return this._addCheck({kind:"int",message:w.toString(_)})}positive(_){return this._addCheck({kind:"min",value:0,inclusive:!1,message:w.toString(_)})}negative(_){return this._addCheck({kind:"max",value:0,inclusive:!1,message:w.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:0,inclusive:!0,message:w.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:0,inclusive:!0,message:w.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:w.toString($)})}finite(_){return this._addCheck({kind:"finite",message:w.toString(_)})}safe(_){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:w.toString(_)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:w.toString(_)})}get minValue(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxValue(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}get isInt(){return!!this._def.checks.find((_)=>_.kind==="int"||_.kind==="multipleOf"&&E.isInteger(_.value))}get isFinite(){let _=null,$=null;for(let q of this._def.checks)if(q.kind==="finite"||q.kind==="int"||q.kind==="multipleOf")return!0;else if(q.kind==="min"){if($===null||q.value>$)$=q.value}else if(q.kind==="max"){if(_===null||q.value<_)_=q.value}return Number.isFinite($)&&Number.isFinite(_)}}u.create=(_)=>{return new u({checks:[],typeName:M.ZodNumber,coerce:_?.coerce||!1,...A(_)})};class i extends O{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse(_){if(this._def.coerce)try{_.data=BigInt(_.data)}catch{return this._getInvalidInput(_)}if(this._getType(_)!==B.bigint)return this._getInvalidInput(_);let q=void 0,W=new R;for(let X of this._def.checks)if(X.kind==="min"){if(X.inclusive?_.data<X.value:_.data<=X.value)q=this._getOrReturnCtx(_,q),D(q,{code:G.too_small,type:"bigint",minimum:X.value,inclusive:X.inclusive,message:X.message}),W.dirty()}else if(X.kind==="max"){if(X.inclusive?_.data>X.value:_.data>=X.value)q=this._getOrReturnCtx(_,q),D(q,{code:G.too_big,type:"bigint",maximum:X.value,inclusive:X.inclusive,message:X.message}),W.dirty()}else if(X.kind==="multipleOf"){if(_.data%X.value!==BigInt(0))q=this._getOrReturnCtx(_,q),D(q,{code:G.not_multiple_of,multipleOf:X.value,message:X.message}),W.dirty()}else E.assertNever(X);return{status:W.value,value:_.data}}_getInvalidInput(_){let $=this._getOrReturnCtx(_);return D($,{code:G.invalid_type,expected:B.bigint,received:$.parsedType}),b}gte(_,$){return this.setLimit("min",_,!0,w.toString($))}gt(_,$){return this.setLimit("min",_,!1,w.toString($))}lte(_,$){return this.setLimit("max",_,!0,w.toString($))}lt(_,$){return this.setLimit("max",_,!1,w.toString($))}setLimit(_,$,q,W){return new i({...this._def,checks:[...this._def.checks,{kind:_,value:$,inclusive:q,message:w.toString(W)}]})}_addCheck(_){return new i({...this._def,checks:[...this._def.checks,_]})}positive(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:w.toString(_)})}negative(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:w.toString(_)})}nonpositive(_){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:w.toString(_)})}nonnegative(_){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:w.toString(_)})}multipleOf(_,$){return this._addCheck({kind:"multipleOf",value:_,message:w.toString($)})}get minValue(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _}get maxValue(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _}}i.create=(_)=>{return new i({checks:[],typeName:M.ZodBigInt,coerce:_?.coerce??!1,...A(_)})};class $_ extends O{_parse(_){if(this._def.coerce)_.data=Boolean(_.data);if(this._getType(_)!==B.boolean){let q=this._getOrReturnCtx(_);return D(q,{code:G.invalid_type,expected:B.boolean,received:q.parsedType}),b}return L(_.data)}}$_.create=(_)=>{return new $_({typeName:M.ZodBoolean,coerce:_?.coerce||!1,...A(_)})};class c extends O{_parse(_){if(this._def.coerce)_.data=new Date(_.data);if(this._getType(_)!==B.date){let X=this._getOrReturnCtx(_);return D(X,{code:G.invalid_type,expected:B.date,received:X.parsedType}),b}if(Number.isNaN(_.data.getTime())){let X=this._getOrReturnCtx(_);return D(X,{code:G.invalid_date}),b}let q=new R,W=void 0;for(let X of this._def.checks)if(X.kind==="min"){if(_.data.getTime()<X.value)W=this._getOrReturnCtx(_,W),D(W,{code:G.too_small,message:X.message,inclusive:!0,exact:!1,minimum:X.value,type:"date"}),q.dirty()}else if(X.kind==="max"){if(_.data.getTime()>X.value)W=this._getOrReturnCtx(_,W),D(W,{code:G.too_big,message:X.message,inclusive:!0,exact:!1,maximum:X.value,type:"date"}),q.dirty()}else E.assertNever(X);return{status:q.value,value:new Date(_.data.getTime())}}_addCheck(_){return new c({...this._def,checks:[...this._def.checks,_]})}min(_,$){return this._addCheck({kind:"min",value:_.getTime(),message:w.toString($)})}max(_,$){return this._addCheck({kind:"max",value:_.getTime(),message:w.toString($)})}get minDate(){let _=null;for(let $ of this._def.checks)if($.kind==="min"){if(_===null||$.value>_)_=$.value}return _!=null?new Date(_):null}get maxDate(){let _=null;for(let $ of this._def.checks)if($.kind==="max"){if(_===null||$.value<_)_=$.value}return _!=null?new Date(_):null}}c.create=(_)=>{return new c({checks:[],coerce:_?.coerce||!1,typeName:M.ZodDate,...A(_)})};class z_ extends O{_parse(_){if(this._getType(_)!==B.symbol){let q=this._getOrReturnCtx(_);return D(q,{code:G.invalid_type,expected:B.symbol,received:q.parsedType}),b}return L(_.data)}}z_.create=(_)=>{return new z_({typeName:M.ZodSymbol,...A(_)})};class q_ extends O{_parse(_){if(this._getType(_)!==B.undefined){let q=this._getOrReturnCtx(_);return D(q,{code:G.invalid_type,expected:B.undefined,received:q.parsedType}),b}return L(_.data)}}q_.create=(_)=>{return new q_({typeName:M.ZodUndefined,...A(_)})};class W_ extends O{_parse(_){if(this._getType(_)!==B.null){let q=this._getOrReturnCtx(_);return D(q,{code:G.invalid_type,expected:B.null,received:q.parsedType}),b}return L(_.data)}}W_.create=(_)=>{return new W_({typeName:M.ZodNull,...A(_)})};class o extends O{constructor(){super(...arguments);this._any=!0}_parse(_){return L(_.data)}}o.create=(_)=>{return new o({typeName:M.ZodAny,...A(_)})};class Z extends O{constructor(){super(...arguments);this._unknown=!0}_parse(_){return L(_.data)}}Z.create=(_)=>{return new Z({typeName:M.ZodUnknown,...A(_)})};class T extends O{_parse(_){let $=this._getOrReturnCtx(_);return D($,{code:G.invalid_type,expected:B.never,received:$.parsedType}),b}}T.create=(_)=>{return new T({typeName:M.ZodNever,...A(_)})};class v_ extends O{_parse(_){if(this._getType(_)!==B.undefined){let q=this._getOrReturnCtx(_);return D(q,{code:G.invalid_type,expected:B.void,received:q.parsedType}),b}return L(_.data)}}v_.create=(_)=>{return new v_({typeName:M.ZodVoid,...A(_)})};class f extends O{_parse(_){let{ctx:$,status:q}=this._processInputParams(_),W=this._def;if($.parsedType!==B.array)return D($,{code:G.invalid_type,expected:B.array,received:$.parsedType}),b;if(W.exactLength!==null){let H=$.data.length>W.exactLength.value,Q=$.data.length<W.exactLength.value;if(H||Q)D($,{code:H?G.too_big:G.too_small,minimum:Q?W.exactLength.value:void 0,maximum:H?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),q.dirty()}if(W.minLength!==null){if($.data.length<W.minLength.value)D($,{code:G.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),q.dirty()}if(W.maxLength!==null){if($.data.length>W.maxLength.value)D($,{code:G.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),q.dirty()}if($.common.async)return Promise.all([...$.data].map((H,Q)=>{return W.type._parseAsync(new k($,H,$.path,Q))})).then((H)=>{return R.mergeArray(q,H)});let X=[...$.data].map((H,Q)=>{return W.type._parseSync(new k($,H,$.path,Q))});return R.mergeArray(q,X)}get element(){return this._def.type}min(_,$){return new f({...this._def,minLength:{value:_,message:w.toString($)}})}max(_,$){return new f({...this._def,maxLength:{value:_,message:w.toString($)}})}length(_,$){return new f({...this._def,exactLength:{value:_,message:w.toString($)}})}nonempty(_){return this.min(1,_)}}f.create=(_,$)=>{return new f({type:_,minLength:null,maxLength:null,exactLength:null,typeName:M.ZodArray,...A($)})};function e(_){if(_ instanceof j){let $={};for(let q in _.shape){let W=_.shape[q];$[q]=g.create(e(W))}return new j({..._._def,shape:()=>$})}else if(_ instanceof f)return new f({..._._def,type:e(_.element)});else if(_ instanceof g)return g.create(e(_.unwrap()));else if(_ instanceof h)return h.create(e(_.unwrap()));else if(_ instanceof m)return m.create(_.items.map(($)=>e($)));else return _}class j extends O{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let _=this._def.shape(),$=E.objectKeys(_);return this._cached={shape:_,keys:$},this._cached}_parse(_){if(this._getType(_)!==B.object){let J=this._getOrReturnCtx(_);return D(J,{code:G.invalid_type,expected:B.object,received:J.parsedType}),b}let{status:q,ctx:W}=this._processInputParams(_),{shape:X,keys:H}=this._getCached(),Q=[];if(!(this._def.catchall instanceof T&&this._def.unknownKeys==="strip")){for(let J in W.data)if(!H.includes(J))Q.push(J)}let Y=[];for(let J of H){let v=X[J],U=W.data[J];Y.push({key:{status:"valid",value:J},value:v._parse(new k(W,U,W.path,J)),alwaysSet:J in W.data})}if(this._def.catchall instanceof T){let J=this._def.unknownKeys;if(J==="passthrough")for(let v of Q)Y.push({key:{status:"valid",value:v},value:{status:"valid",value:W.data[v]}});else if(J==="strict"){if(Q.length>0)D(W,{code:G.unrecognized_keys,keys:Q}),q.dirty()}else if(J==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let J=this._def.catchall;for(let v of Q){let U=W.data[v];Y.push({key:{status:"valid",value:v},value:J._parse(new k(W,U,W.path,v)),alwaysSet:v in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let J=[];for(let v of Y){let U=await v.key,y_=await v.value;J.push({key:U,value:y_,alwaysSet:v.alwaysSet})}return J}).then((J)=>{return R.mergeObjectSync(q,J)});else return R.mergeObjectSync(q,Y)}get shape(){return this._def.shape()}strict(_){return w.errToObj,new j({...this._def,unknownKeys:"strict",..._!==void 0?{errorMap:($,q)=>{let W=this._def.errorMap?.($,q).message??q.defaultError;if($.code==="unrecognized_keys")return{message:w.errToObj(_).message??W};return{message:W}}}:{}})}strip(){return new j({...this._def,unknownKeys:"strip"})}passthrough(){return new j({...this._def,unknownKeys:"passthrough"})}extend(_){return new j({...this._def,shape:()=>({...this._def.shape(),..._})})}merge(_){return new j({unknownKeys:_._def.unknownKeys,catchall:_._def.catchall,shape:()=>({...this._def.shape(),..._._def.shape()}),typeName:M.ZodObject})}setKey(_,$){return this.augment({[_]:$})}catchall(_){return new j({...this._def,catchall:_})}pick(_){let $={};for(let q of E.objectKeys(_))if(_[q]&&this.shape[q])$[q]=this.shape[q];return new j({...this._def,shape:()=>$})}omit(_){let $={};for(let q of E.objectKeys(this.shape))if(!_[q])$[q]=this.shape[q];return new j({...this._def,shape:()=>$})}deepPartial(){return e(this)}partial(_){let $={};for(let q of E.objectKeys(this.shape)){let W=this.shape[q];if(_&&!_[q])$[q]=W;else $[q]=W.optional()}return new j({...this._def,shape:()=>$})}required(_){let $={};for(let q of E.objectKeys(this.shape))if(_&&!_[q])$[q]=this.shape[q];else{let X=this.shape[q];while(X instanceof g)X=X._def.innerType;$[q]=X}return new j({...this._def,shape:()=>$})}keyof(){return e_(E.objectKeys(this.shape))}}j.create=(_,$)=>{return new j({shape:()=>_,unknownKeys:"strip",catchall:T.create(),typeName:M.ZodObject,...A($)})};j.strictCreate=(_,$)=>{return new j({shape:()=>_,unknownKeys:"strict",catchall:T.create(),typeName:M.ZodObject,...A($)})};j.lazycreate=(_,$)=>{return new j({shape:_,unknownKeys:"strip",catchall:T.create(),typeName:M.ZodObject,...A($)})};class X_ extends O{_parse(_){let{ctx:$}=this._processInputParams(_),q=this._def.options;function W(X){for(let Q of X)if(Q.result.status==="valid")return Q.result;for(let Q of X)if(Q.result.status==="dirty")return $.common.issues.push(...Q.ctx.common.issues),Q.result;let H=X.map((Q)=>new K(Q.ctx.common.issues));return D($,{code:G.invalid_union,unionErrors:H}),b}if($.common.async)return Promise.all(q.map(async(X)=>{let H={...$,common:{...$.common,issues:[]},parent:null};return{result:await X._parseAsync({data:$.data,path:$.path,parent:H}),ctx:H}})).then(W);else{let X=void 0,H=[];for(let Y of q){let J={...$,common:{...$.common,issues:[]},parent:null},v=Y._parseSync({data:$.data,path:$.path,parent:J});if(v.status==="valid")return v;else if(v.status==="dirty"&&!X)X={result:v,ctx:J};if(J.common.issues.length)H.push(J.common.issues)}if(X)return $.common.issues.push(...X.ctx.common.issues),X.result;let Q=H.map((Y)=>new K(Y));return D($,{code:G.invalid_union,unionErrors:Q}),b}}get options(){return this._def.options}}X_.create=(_,$)=>{return new X_({options:_,typeName:M.ZodUnion,...A($)})};var y=(_)=>{if(_ instanceof Q_)return y(_.schema);else if(_ instanceof C)return y(_.innerType());else if(_ instanceof J_)return[_.value];else if(_ instanceof p)return _.options;else if(_ instanceof Y_)return E.objectValues(_.enum);else if(_ instanceof G_)return y(_._def.innerType);else if(_ instanceof q_)return[void 0];else if(_ instanceof W_)return[null];else if(_ instanceof g)return[void 0,...y(_.unwrap())];else if(_ instanceof h)return[null,...y(_.unwrap())];else if(_ instanceof V_)return y(_.unwrap());else if(_ instanceof B_)return y(_.unwrap());else if(_ instanceof M_)return y(_._def.innerType);else return[]};class L_ extends O{_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==B.object)return D($,{code:G.invalid_type,expected:B.object,received:$.parsedType}),b;let q=this.discriminator,W=$.data[q],X=this.optionsMap.get(W);if(!X)return D($,{code:G.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[q]}),b;if($.common.async)return X._parseAsync({data:$.data,path:$.path,parent:$});else return X._parseSync({data:$.data,path:$.path,parent:$})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(_,$,q){let W=new Map;for(let X of $){let H=y(X.shape[_]);if(!H.length)throw Error(`A discriminator value for key \`${_}\` could not be extracted from all schema options`);for(let Q of H){if(W.has(Q))throw Error(`Discriminator property ${String(_)} has duplicate value ${String(Q)}`);W.set(Q,X)}}return new L_({typeName:M.ZodDiscriminatedUnion,discriminator:_,options:$,optionsMap:W,...A(q)})}}function l_(_,$){let q=l(_),W=l($);if(_===$)return{valid:!0,data:_};else if(q===B.object&&W===B.object){let X=E.objectKeys($),H=E.objectKeys(_).filter((Y)=>X.indexOf(Y)!==-1),Q={..._,...$};for(let Y of H){let J=l_(_[Y],$[Y]);if(!J.valid)return{valid:!1};Q[Y]=J.data}return{valid:!0,data:Q}}else if(q===B.array&&W===B.array){if(_.length!==$.length)return{valid:!1};let X=[];for(let H=0;H<_.length;H++){let Q=_[H],Y=$[H],J=l_(Q,Y);if(!J.valid)return{valid:!1};X.push(J.data)}return{valid:!0,data:X}}else if(q===B.date&&W===B.date&&+_===+$)return{valid:!0,data:_};else return{valid:!1}}class H_ extends O{_parse(_){let{status:$,ctx:q}=this._processInputParams(_),W=(X,H)=>{if(U_(X)||U_(H))return b;let Q=l_(X.value,H.value);if(!Q.valid)return D(q,{code:G.invalid_intersection_types}),b;if(R_(X)||R_(H))$.dirty();return{status:$.value,value:Q.data}};if(q.common.async)return Promise.all([this._def.left._parseAsync({data:q.data,path:q.path,parent:q}),this._def.right._parseAsync({data:q.data,path:q.path,parent:q})]).then(([X,H])=>W(X,H));else return W(this._def.left._parseSync({data:q.data,path:q.path,parent:q}),this._def.right._parseSync({data:q.data,path:q.path,parent:q}))}}H_.create=(_,$,q)=>{return new H_({left:_,right:$,typeName:M.ZodIntersection,...A(q)})};class m extends O{_parse(_){let{status:$,ctx:q}=this._processInputParams(_);if(q.parsedType!==B.array)return D(q,{code:G.invalid_type,expected:B.array,received:q.parsedType}),b;if(q.data.length<this._def.items.length)return D(q,{code:G.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),b;if(!this._def.rest&&q.data.length>this._def.items.length)D(q,{code:G.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),$.dirty();let X=[...q.data].map((H,Q)=>{let Y=this._def.items[Q]||this._def.rest;if(!Y)return null;return Y._parse(new k(q,H,q.path,Q))}).filter((H)=>!!H);if(q.common.async)return Promise.all(X).then((H)=>{return R.mergeArray($,H)});else return R.mergeArray($,X)}get items(){return this._def.items}rest(_){return new m({...this._def,rest:_})}}m.create=(_,$)=>{if(!Array.isArray(_))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new m({items:_,typeName:M.ZodTuple,rest:null,...A($)})};class A_ extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:q}=this._processInputParams(_);if(q.parsedType!==B.object)return D(q,{code:G.invalid_type,expected:B.object,received:q.parsedType}),b;let W=[],X=this._def.keyType,H=this._def.valueType;for(let Q in q.data)W.push({key:X._parse(new k(q,Q,q.path,Q)),value:H._parse(new k(q,q.data[Q],q.path,Q)),alwaysSet:Q in q.data});if(q.common.async)return R.mergeObjectAsync($,W);else return R.mergeObjectSync($,W)}get element(){return this._def.valueType}static create(_,$,q){if($ instanceof O)return new A_({keyType:_,valueType:$,typeName:M.ZodRecord,...A(q)});return new A_({keyType:F.create(),valueType:_,typeName:M.ZodRecord,...A($)})}}class O_ extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(_){let{status:$,ctx:q}=this._processInputParams(_);if(q.parsedType!==B.map)return D(q,{code:G.invalid_type,expected:B.map,received:q.parsedType}),b;let W=this._def.keyType,X=this._def.valueType,H=[...q.data.entries()].map(([Q,Y],J)=>{return{key:W._parse(new k(q,Q,q.path,[J,"key"])),value:X._parse(new k(q,Y,q.path,[J,"value"]))}});if(q.common.async){let Q=new Map;return Promise.resolve().then(async()=>{for(let Y of H){let J=await Y.key,v=await Y.value;if(J.status==="aborted"||v.status==="aborted")return b;if(J.status==="dirty"||v.status==="dirty")$.dirty();Q.set(J.value,v.value)}return{status:$.value,value:Q}})}else{let Q=new Map;for(let Y of H){let{key:J,value:v}=Y;if(J.status==="aborted"||v.status==="aborted")return b;if(J.status==="dirty"||v.status==="dirty")$.dirty();Q.set(J.value,v.value)}return{status:$.value,value:Q}}}}O_.create=(_,$,q)=>{return new O_({valueType:$,keyType:_,typeName:M.ZodMap,...A(q)})};class d extends O{_parse(_){let{status:$,ctx:q}=this._processInputParams(_);if(q.parsedType!==B.set)return D(q,{code:G.invalid_type,expected:B.set,received:q.parsedType}),b;let W=this._def;if(W.minSize!==null){if(q.data.size<W.minSize.value)D(q,{code:G.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),$.dirty()}if(W.maxSize!==null){if(q.data.size>W.maxSize.value)D(q,{code:G.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),$.dirty()}let X=this._def.valueType;function H(Y){let J=new Set;for(let v of Y){if(v.status==="aborted")return b;if(v.status==="dirty")$.dirty();J.add(v.value)}return{status:$.value,value:J}}let Q=[...q.data.values()].map((Y,J)=>X._parse(new k(q,Y,q.path,J)));if(q.common.async)return Promise.all(Q).then((Y)=>H(Y));else return H(Q)}min(_,$){return new d({...this._def,minSize:{value:_,message:w.toString($)}})}max(_,$){return new d({...this._def,maxSize:{value:_,message:w.toString($)}})}size(_,$){return this.min(_,$).max(_,$)}nonempty(_){return this.min(1,_)}}d.create=(_,$)=>{return new d({valueType:_,minSize:null,maxSize:null,typeName:M.ZodSet,...A($)})};class __ extends O{constructor(){super(...arguments);this.validate=this.implement}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==B.function)return D($,{code:G.invalid_type,expected:B.function,received:$.parsedType}),b;function q(Q,Y){return b_({data:Q,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,a(),x].filter((J)=>!!J),issueData:{code:G.invalid_arguments,argumentsError:Y}})}function W(Q,Y){return b_({data:Q,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,a(),x].filter((J)=>!!J),issueData:{code:G.invalid_return_type,returnTypeError:Y}})}let X={errorMap:$.common.contextualErrorMap},H=$.data;if(this._def.returns instanceof t){let Q=this;return L(async function(...Y){let J=new K([]),v=await Q._def.args.parseAsync(Y,X).catch((k_)=>{throw J.addIssue(q(Y,k_)),J}),U=await Reflect.apply(H,this,v);return await Q._def.returns._def.type.parseAsync(U,X).catch((k_)=>{throw J.addIssue(W(U,k_)),J})})}else{let Q=this;return L(function(...Y){let J=Q._def.args.safeParse(Y,X);if(!J.success)throw new K([q(Y,J.error)]);let v=Reflect.apply(H,this,J.data),U=Q._def.returns.safeParse(v,X);if(!U.success)throw new K([W(v,U.error)]);return U.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(..._){return new __({...this._def,args:m.create(_).rest(Z.create())})}returns(_){return new __({...this._def,returns:_})}implement(_){return this.parse(_)}strictImplement(_){return this.parse(_)}static create(_,$,q){return new __({args:_?_:m.create([]).rest(Z.create()),returns:$||Z.create(),typeName:M.ZodFunction,...A(q)})}}class Q_ extends O{get schema(){return this._def.getter()}_parse(_){let{ctx:$}=this._processInputParams(_);return this._def.getter()._parse({data:$.data,path:$.path,parent:$})}}Q_.create=(_,$)=>{return new Q_({getter:_,typeName:M.ZodLazy,...A($)})};class J_ extends O{_parse(_){if(_.data!==this._def.value){let $=this._getOrReturnCtx(_);return D($,{received:$.data,code:G.invalid_literal,expected:this._def.value}),b}return{status:"valid",value:_.data}}get value(){return this._def.value}}J_.create=(_,$)=>{return new J_({value:_,typeName:M.ZodLiteral,...A($)})};function e_(_,$){return new p({values:_,typeName:M.ZodEnum,...A($)})}class p extends O{_parse(_){if(typeof _.data!=="string"){let $=this._getOrReturnCtx(_),q=this._def.values;return D($,{expected:E.joinValues(q),received:$.parsedType,code:G.invalid_type}),b}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has(_.data)){let $=this._getOrReturnCtx(_),q=this._def.values;return D($,{received:$.data,code:G.invalid_enum_value,options:q}),b}return L(_.data)}get options(){return this._def.values}get enum(){let _={};for(let $ of this._def.values)_[$]=$;return _}get Values(){let _={};for(let $ of this._def.values)_[$]=$;return _}get Enum(){let _={};for(let $ of this._def.values)_[$]=$;return _}extract(_,$=this._def){return p.create(_,{...this._def,...$})}exclude(_,$=this._def){return p.create(this.options.filter((q)=>!_.includes(q)),{...this._def,...$})}}p.create=e_;class Y_ extends O{_parse(_){let $=E.getValidEnumValues(this._def.values),q=this._getOrReturnCtx(_);if(q.parsedType!==B.string&&q.parsedType!==B.number){let W=E.objectValues($);return D(q,{expected:E.joinValues(W),received:q.parsedType,code:G.invalid_type}),b}if(!this._cache)this._cache=new Set(E.getValidEnumValues(this._def.values));if(!this._cache.has(_.data)){let W=E.objectValues($);return D(q,{received:q.data,code:G.invalid_enum_value,options:W}),b}return L(_.data)}get enum(){return this._def.values}}Y_.create=(_,$)=>{return new Y_({values:_,typeName:M.ZodNativeEnum,...A($)})};class t extends O{unwrap(){return this._def.type}_parse(_){let{ctx:$}=this._processInputParams(_);if($.parsedType!==B.promise&&$.common.async===!1)return D($,{code:G.invalid_type,expected:B.promise,received:$.parsedType}),b;let q=$.parsedType===B.promise?$.data:Promise.resolve($.data);return L(q.then((W)=>{return this._def.type.parseAsync(W,{path:$.path,errorMap:$.common.contextualErrorMap})}))}}t.create=(_,$)=>{return new t({type:_,typeName:M.ZodPromise,...A($)})};class C extends O{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===M.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(_){let{status:$,ctx:q}=this._processInputParams(_),W=this._def.effect||null,X={addIssue:(H)=>{if(D(q,H),H.fatal)$.abort();else $.dirty()},get path(){return q.path}};if(X.addIssue=X.addIssue.bind(X),W.type==="preprocess"){let H=W.transform(q.data,X);if(q.common.async)return Promise.resolve(H).then(async(Q)=>{if($.value==="aborted")return b;let Y=await this._def.schema._parseAsync({data:Q,path:q.path,parent:q});if(Y.status==="aborted")return b;if(Y.status==="dirty")return r(Y.value);if($.value==="dirty")return r(Y.value);return Y});else{if($.value==="aborted")return b;let Q=this._def.schema._parseSync({data:H,path:q.path,parent:q});if(Q.status==="aborted")return b;if(Q.status==="dirty")return r(Q.value);if($.value==="dirty")return r(Q.value);return Q}}if(W.type==="refinement"){let H=(Q)=>{let Y=W.refinement(Q,X);if(q.common.async)return Promise.resolve(Y);if(Y instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return Q};if(q.common.async===!1){let Q=this._def.schema._parseSync({data:q.data,path:q.path,parent:q});if(Q.status==="aborted")return b;if(Q.status==="dirty")$.dirty();return H(Q.value),{status:$.value,value:Q.value}}else return this._def.schema._parseAsync({data:q.data,path:q.path,parent:q}).then((Q)=>{if(Q.status==="aborted")return b;if(Q.status==="dirty")$.dirty();return H(Q.value).then(()=>{return{status:$.value,value:Q.value}})})}if(W.type==="transform")if(q.common.async===!1){let H=this._def.schema._parseSync({data:q.data,path:q.path,parent:q});if(!n(H))return b;let Q=W.transform(H.value,X);if(Q instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:$.value,value:Q}}else return this._def.schema._parseAsync({data:q.data,path:q.path,parent:q}).then((H)=>{if(!n(H))return b;return Promise.resolve(W.transform(H.value,X)).then((Q)=>({status:$.value,value:Q}))});E.assertNever(W)}}C.create=(_,$,q)=>{return new C({schema:_,typeName:M.ZodEffects,effect:$,...A(q)})};C.createWithPreprocess=(_,$,q)=>{return new C({schema:$,effect:{type:"preprocess",transform:_},typeName:M.ZodEffects,...A(q)})};class g extends O{_parse(_){if(this._getType(_)===B.undefined)return L(void 0);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}g.create=(_,$)=>{return new g({innerType:_,typeName:M.ZodOptional,...A($)})};class h extends O{_parse(_){if(this._getType(_)===B.null)return L(null);return this._def.innerType._parse(_)}unwrap(){return this._def.innerType}}h.create=(_,$)=>{return new h({innerType:_,typeName:M.ZodNullable,...A($)})};class G_ extends O{_parse(_){let{ctx:$}=this._processInputParams(_),q=$.data;if($.parsedType===B.undefined)q=this._def.defaultValue();return this._def.innerType._parse({data:q,path:$.path,parent:$})}removeDefault(){return this._def.innerType}}G_.create=(_,$)=>{return new G_({innerType:_,typeName:M.ZodDefault,defaultValue:typeof $.default==="function"?$.default:()=>$.default,...A($)})};class M_ extends O{_parse(_){let{ctx:$}=this._processInputParams(_),q={...$,common:{...$.common,issues:[]}},W=this._def.innerType._parse({data:q.data,path:q.path,parent:{...q}});if(s(W))return W.then((X)=>{return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new K(q.common.issues)},input:q.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new K(q.common.issues)},input:q.data})}}removeCatch(){return this._def.innerType}}M_.create=(_,$)=>{return new M_({innerType:_,typeName:M.ZodCatch,catchValue:typeof $.catch==="function"?$.catch:()=>$.catch,...A($)})};class E_ extends O{_parse(_){if(this._getType(_)!==B.nan){let q=this._getOrReturnCtx(_);return D(q,{code:G.invalid_type,expected:B.nan,received:q.parsedType}),b}return{status:"valid",value:_.data}}}E_.create=(_)=>{return new E_({typeName:M.ZodNaN,...A(_)})};var Bq=Symbol("zod_brand");class V_ extends O{_parse(_){let{ctx:$}=this._processInputParams(_),q=$.data;return this._def.type._parse({data:q,path:$.path,parent:$})}unwrap(){return this._def.type}}class S_ extends O{_parse(_){let{status:$,ctx:q}=this._processInputParams(_);if(q.common.async)return(async()=>{let X=await this._def.in._parseAsync({data:q.data,path:q.path,parent:q});if(X.status==="aborted")return b;if(X.status==="dirty")return $.dirty(),r(X.value);else return this._def.out._parseAsync({data:X.value,path:q.path,parent:q})})();else{let W=this._def.in._parseSync({data:q.data,path:q.path,parent:q});if(W.status==="aborted")return b;if(W.status==="dirty")return $.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:q.path,parent:q})}}static create(_,$){return new S_({in:_,out:$,typeName:M.ZodPipeline})}}class B_ extends O{_parse(_){let $=this._def.innerType._parse(_),q=(W)=>{if(n(W))W.value=Object.freeze(W.value);return W};return s($)?$.then((W)=>q(W)):q($)}unwrap(){return this._def.innerType}}B_.create=(_,$)=>{return new B_({innerType:_,typeName:M.ZodReadonly,...A($)})};function d_(_,$){let q=typeof _==="function"?_($):typeof _==="string"?{message:_}:_;return typeof q==="string"?{message:q}:q}function _$(_,$={},q){if(_)return o.create().superRefine((W,X)=>{let H=_(W);if(H instanceof Promise)return H.then((Q)=>{if(!Q){let Y=d_($,W),J=Y.fatal??q??!0;X.addIssue({code:"custom",...Y,fatal:J})}});if(!H){let Q=d_($,W),Y=Q.fatal??q??!0;X.addIssue({code:"custom",...Q,fatal:Y})}return});return o.create()}var Dq={object:j.lazycreate},M;(function(_){_.ZodString="ZodString",_.ZodNumber="ZodNumber",_.ZodNaN="ZodNaN",_.ZodBigInt="ZodBigInt",_.ZodBoolean="ZodBoolean",_.ZodDate="ZodDate",_.ZodSymbol="ZodSymbol",_.ZodUndefined="ZodUndefined",_.ZodNull="ZodNull",_.ZodAny="ZodAny",_.ZodUnknown="ZodUnknown",_.ZodNever="ZodNever",_.ZodVoid="ZodVoid",_.ZodArray="ZodArray",_.ZodObject="ZodObject",_.ZodUnion="ZodUnion",_.ZodDiscriminatedUnion="ZodDiscriminatedUnion",_.ZodIntersection="ZodIntersection",_.ZodTuple="ZodTuple",_.ZodRecord="ZodRecord",_.ZodMap="ZodMap",_.ZodSet="ZodSet",_.ZodFunction="ZodFunction",_.ZodLazy="ZodLazy",_.ZodLiteral="ZodLiteral",_.ZodEnum="ZodEnum",_.ZodEffects="ZodEffects",_.ZodNativeEnum="ZodNativeEnum",_.ZodOptional="ZodOptional",_.ZodNullable="ZodNullable",_.ZodDefault="ZodDefault",_.ZodCatch="ZodCatch",_.ZodPromise="ZodPromise",_.ZodBranded="ZodBranded",_.ZodPipeline="ZodPipeline",_.ZodReadonly="ZodReadonly"})(M||(M={}));var wq=(_,$={message:`Input not instance of ${_.name}`})=>_$((q)=>q instanceof _,$),$$=F.create,q$=u.create,bq=E_.create,zq=i.create,W$=$_.create,vq=c.create,Aq=z_.create,Oq=q_.create,Eq=W_.create,Sq=o.create,Nq=Z.create,jq=T.create,Uq=v_.create,Rq=f.create,Lq=j.create,Vq=j.strictCreate,Kq=X_.create,Fq=L_.create,fq=H_.create,gq=m.create,kq=A_.create,Cq=O_.create,Iq=d.create,Pq=__.create,lq=Q_.create,Tq=J_.create,mq=p.create,xq=Y_.create,yq=t.create,hq=C.create,nq=g.create,Zq=h.create,uq=C.createWithPreprocess,iq=S_.create,pq=()=>$$().optional(),rq=()=>q$().optional(),cq=()=>W$().optional(),oq={string:(_)=>F.create({..._,coerce:!0}),number:(_)=>u.create({..._,coerce:!0}),boolean:(_)=>$_.create({..._,coerce:!0}),bigint:(_)=>i.create({..._,coerce:!0}),date:(_)=>c.create({..._,coerce:!0})};var dq=b;function N(_){if(_.target!=="openAi")return{};let $=[..._.basePath,_.definitionPath,_.openAiAnyTypeName];return _.flags.hasReferencedOpenAiAnyType=!0,{$ref:_.$refStrategy==="relative"?j_($,_.currentPath):$.join("/")}}function H$(_,$){let q={type:"array"};if(_.type?._def&&_.type?._def?.typeName!==M.ZodAny)q.items=z(_.type._def,{...$,currentPath:[...$.currentPath,"items"]});if(_.minLength)S(q,"minItems",_.minLength.value,_.minLength.message,$);if(_.maxLength)S(q,"maxItems",_.maxLength.value,_.maxLength.message,$);if(_.exactLength)S(q,"minItems",_.exactLength.value,_.exactLength.message,$),S(q,"maxItems",_.exactLength.value,_.exactLength.message,$);return q}function Q$(_,$){let q={type:"integer",format:"int64"};if(!_.checks)return q;for(let W of _.checks)switch(W.kind){case"min":if($.target==="jsonSchema7")if(W.inclusive)S(q,"minimum",W.value,W.message,$);else S(q,"exclusiveMinimum",W.value,W.message,$);else{if(!W.inclusive)q.exclusiveMinimum=!0;S(q,"minimum",W.value,W.message,$)}break;case"max":if($.target==="jsonSchema7")if(W.inclusive)S(q,"maximum",W.value,W.message,$);else S(q,"exclusiveMaximum",W.value,W.message,$);else{if(!W.inclusive)q.exclusiveMaximum=!0;S(q,"maximum",W.value,W.message,$)}break;case"multipleOf":S(q,"multipleOf",W.value,W.message,$);break}return q}function J$(){return{type:"boolean"}}function K_(_,$){return z(_.type._def,$)}var Y$=(_,$)=>{return z(_.innerType._def,$)};function T_(_,$,q){let W=q??$.dateStrategy;if(Array.isArray(W))return{anyOf:W.map((X,H)=>T_(_,$,X))};switch(W){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return tq(_,$)}}var tq=(_,$)=>{let q={type:"integer",format:"unix-time"};if($.target==="openApi3")return q;for(let W of _.checks)switch(W.kind){case"min":S(q,"minimum",W.value,W.message,$);break;case"max":S(q,"maximum",W.value,W.message,$);break}return q};function G$(_,$){return{...z(_.innerType._def,$),default:_.defaultValue()}}function M$(_,$){return $.effectStrategy==="input"?z(_.schema._def,$):N($)}function B$(_){return{type:"string",enum:Array.from(_.values)}}var aq=(_)=>{if("type"in _&&_.type==="string")return!1;return"allOf"in _};function D$(_,$){let q=[z(_.left._def,{...$,currentPath:[...$.currentPath,"allOf","0"]}),z(_.right._def,{...$,currentPath:[...$.currentPath,"allOf","1"]})].filter((H)=>!!H),W=$.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,X=[];return q.forEach((H)=>{if(aq(H)){if(X.push(...H.allOf),H.unevaluatedProperties===void 0)W=void 0}else{let Q=H;if("additionalProperties"in H&&H.additionalProperties===!1){let{additionalProperties:Y,...J}=H;Q=J}else W=void 0;X.push(Q)}}),X.length?{allOf:X,...W}:void 0}function w$(_,$){let q=typeof _.value;if(q!=="bigint"&&q!=="number"&&q!=="boolean"&&q!=="string")return{type:Array.isArray(_.value)?"array":"object"};if($.target==="openApi3")return{type:q==="bigint"?"integer":q,enum:[_.value]};return{type:q==="bigint"?"integer":q,const:_.value}}var m_=void 0,I={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>{if(m_===void 0)m_=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return m_},uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv4Cidr:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,ipv6Cidr:/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,base64url:/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/,jwt:/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/};function F_(_,$){let q={type:"string"};if(_.checks)for(let W of _.checks)switch(W.kind){case"min":S(q,"minLength",typeof q.minLength==="number"?Math.max(q.minLength,W.value):W.value,W.message,$);break;case"max":S(q,"maxLength",typeof q.maxLength==="number"?Math.min(q.maxLength,W.value):W.value,W.message,$);break;case"email":switch($.emailStrategy){case"format:email":P(q,"email",W.message,$);break;case"format:idn-email":P(q,"idn-email",W.message,$);break;case"pattern:zod":V(q,I.email,W.message,$);break}break;case"url":P(q,"uri",W.message,$);break;case"uuid":P(q,"uuid",W.message,$);break;case"regex":V(q,W.regex,W.message,$);break;case"cuid":V(q,I.cuid,W.message,$);break;case"cuid2":V(q,I.cuid2,W.message,$);break;case"startsWith":V(q,RegExp(`^${x_(W.value,$)}`),W.message,$);break;case"endsWith":V(q,RegExp(`${x_(W.value,$)}$`),W.message,$);break;case"datetime":P(q,"date-time",W.message,$);break;case"date":P(q,"date",W.message,$);break;case"time":P(q,"time",W.message,$);break;case"duration":P(q,"duration",W.message,$);break;case"length":S(q,"minLength",typeof q.minLength==="number"?Math.max(q.minLength,W.value):W.value,W.message,$),S(q,"maxLength",typeof q.maxLength==="number"?Math.min(q.maxLength,W.value):W.value,W.message,$);break;case"includes":{V(q,RegExp(x_(W.value,$)),W.message,$);break}case"ip":{if(W.version!=="v6")P(q,"ipv4",W.message,$);if(W.version!=="v4")P(q,"ipv6",W.message,$);break}case"base64url":V(q,I.base64url,W.message,$);break;case"jwt":V(q,I.jwt,W.message,$);break;case"cidr":{if(W.version!=="v6")V(q,I.ipv4Cidr,W.message,$);if(W.version!=="v4")V(q,I.ipv6Cidr,W.message,$);break}case"emoji":V(q,I.emoji(),W.message,$);break;case"ulid":{V(q,I.ulid,W.message,$);break}case"base64":{switch($.base64Strategy){case"format:binary":{P(q,"binary",W.message,$);break}case"contentEncoding:base64":{S(q,"contentEncoding","base64",W.message,$);break}case"pattern:zod":{V(q,I.base64,W.message,$);break}}break}case"nanoid":V(q,I.nanoid,W.message,$);case"toLowerCase":case"toUpperCase":case"trim":break;default:((X)=>{})(W)}return q}function x_(_,$){return $.patternStrategy==="escape"?eq(_):_}var sq=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function eq(_){let $="";for(let q=0;q<_.length;q++){if(!sq.has(_[q]))$+="\\";$+=_[q]}return $}function P(_,$,q,W){if(_.format||_.anyOf?.some((X)=>X.format)){if(!_.anyOf)_.anyOf=[];if(_.format){if(_.anyOf.push({format:_.format,..._.errorMessage&&W.errorMessages&&{errorMessage:{format:_.errorMessage.format}}}),delete _.format,_.errorMessage){if(delete _.errorMessage.format,Object.keys(_.errorMessage).length===0)delete _.errorMessage}}_.anyOf.push({format:$,...q&&W.errorMessages&&{errorMessage:{format:q}}})}else S(_,"format",$,q,W)}function V(_,$,q,W){if(_.pattern||_.allOf?.some((X)=>X.pattern)){if(!_.allOf)_.allOf=[];if(_.pattern){if(_.allOf.push({pattern:_.pattern,..._.errorMessage&&W.errorMessages&&{errorMessage:{pattern:_.errorMessage.pattern}}}),delete _.pattern,_.errorMessage){if(delete _.errorMessage.pattern,Object.keys(_.errorMessage).length===0)delete _.errorMessage}}_.allOf.push({pattern:b$($,W),...q&&W.errorMessages&&{errorMessage:{pattern:q}}})}else S(_,"pattern",b$($,W),q,W)}function b$(_,$){if(!$.applyRegexFlags||!_.flags)return _.source;let q={i:_.flags.includes("i"),m:_.flags.includes("m"),s:_.flags.includes("s")},W=q.i?_.source.toLowerCase():_.source,X="",H=!1,Q=!1,Y=!1;for(let J=0;J<W.length;J++){if(H){X+=W[J],H=!1;continue}if(q.i){if(Q){if(W[J].match(/[a-z]/)){if(Y)X+=W[J],X+=`${W[J-2]}-${W[J]}`.toUpperCase(),Y=!1;else if(W[J+1]==="-"&&W[J+2]?.match(/[a-z]/))X+=W[J],Y=!0;else X+=`${W[J]}${W[J].toUpperCase()}`;continue}}else if(W[J].match(/[a-z]/)){X+=`[${W[J]}${W[J].toUpperCase()}]`;continue}}if(q.m){if(W[J]==="^"){X+=`(^|(?<=[\r
|
|
3
|
+
]))`;continue}else if(W[J]==="$"){X+=`($|(?=[\r
|
|
4
|
+
]))`;continue}}if(q.s&&W[J]==="."){X+=Q?`${W[J]}\r
|
|
5
|
+
`:`[${W[J]}\r
|
|
6
|
+
]`;continue}if(X+=W[J],W[J]==="\\")H=!0;else if(Q&&W[J]==="]")Q=!1;else if(!Q&&W[J]==="[")Q=!0}try{new RegExp(X)}catch{return console.warn(`Could not convert regex pattern at ${$.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),_.source}return X}function f_(_,$){if($.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if($.target==="openApi3"&&_.keyType?._def.typeName===M.ZodEnum)return{type:"object",required:_.keyType._def.values,properties:_.keyType._def.values.reduce((W,X)=>({...W,[X]:z(_.valueType._def,{...$,currentPath:[...$.currentPath,"properties",X]})??N($)}),{}),additionalProperties:$.rejectedAdditionalProperties};let q={type:"object",additionalProperties:z(_.valueType._def,{...$,currentPath:[...$.currentPath,"additionalProperties"]})??$.allowedAdditionalProperties};if($.target==="openApi3")return q;if(_.keyType?._def.typeName===M.ZodString&&_.keyType._def.checks?.length){let{type:W,...X}=F_(_.keyType._def,$);return{...q,propertyNames:X}}else if(_.keyType?._def.typeName===M.ZodEnum)return{...q,propertyNames:{enum:_.keyType._def.values}};else if(_.keyType?._def.typeName===M.ZodBranded&&_.keyType._def.type._def.typeName===M.ZodString&&_.keyType._def.type._def.checks?.length){let{type:W,...X}=K_(_.keyType._def,$);return{...q,propertyNames:X}}return q}function z$(_,$){if($.mapStrategy==="record")return f_(_,$);let q=z(_.keyType._def,{...$,currentPath:[...$.currentPath,"items","items","0"]})||N($),W=z(_.valueType._def,{...$,currentPath:[...$.currentPath,"items","items","1"]})||N($);return{type:"array",maxItems:125,items:{type:"array",items:[q,W],minItems:2,maxItems:2}}}function v$(_){let $=_.values,W=Object.keys(_.values).filter((H)=>{return typeof $[$[H]]!=="number"}).map((H)=>$[H]),X=Array.from(new Set(W.map((H)=>typeof H)));return{type:X.length===1?X[0]==="string"?"string":"number":["string","number"],enum:W}}function A$(_){return _.target==="openAi"?void 0:{not:N({..._,currentPath:[..._.currentPath,"not"]})}}function O$(_){return _.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var N_={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function S$(_,$){if($.target==="openApi3")return E$(_,$);let q=_.options instanceof Map?Array.from(_.options.values()):_.options;if(q.every((W)=>(W._def.typeName in N_)&&(!W._def.checks||!W._def.checks.length))){let W=q.reduce((X,H)=>{let Q=N_[H._def.typeName];return Q&&!X.includes(Q)?[...X,Q]:X},[]);return{type:W.length>1?W:W[0]}}else if(q.every((W)=>W._def.typeName==="ZodLiteral"&&!W.description)){let W=q.reduce((X,H)=>{let Q=typeof H._def.value;switch(Q){case"string":case"number":case"boolean":return[...X,Q];case"bigint":return[...X,"integer"];case"object":if(H._def.value===null)return[...X,"null"];case"symbol":case"undefined":case"function":default:return X}},[]);if(W.length===q.length){let X=W.filter((H,Q,Y)=>Y.indexOf(H)===Q);return{type:X.length>1?X:X[0],enum:q.reduce((H,Q)=>{return H.includes(Q._def.value)?H:[...H,Q._def.value]},[])}}}else if(q.every((W)=>W._def.typeName==="ZodEnum"))return{type:"string",enum:q.reduce((W,X)=>[...W,...X._def.values.filter((H)=>!W.includes(H))],[])};return E$(_,$)}var E$=(_,$)=>{let q=(_.options instanceof Map?Array.from(_.options.values()):_.options).map((W,X)=>z(W._def,{...$,currentPath:[...$.currentPath,"anyOf",`${X}`]})).filter((W)=>!!W&&(!$.strictUnions||typeof W==="object"&&Object.keys(W).length>0));return q.length?{anyOf:q}:void 0};function N$(_,$){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(_.innerType._def.typeName)&&(!_.innerType._def.checks||!_.innerType._def.checks.length)){if($.target==="openApi3")return{type:N_[_.innerType._def.typeName],nullable:!0};return{type:[N_[_.innerType._def.typeName],"null"]}}if($.target==="openApi3"){let W=z(_.innerType._def,{...$,currentPath:[...$.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let q=z(_.innerType._def,{...$,currentPath:[...$.currentPath,"anyOf","0"]});return q&&{anyOf:[q,{type:"null"}]}}function j$(_,$){let q={type:"number"};if(!_.checks)return q;for(let W of _.checks)switch(W.kind){case"int":q.type="integer",C_(q,"type",W.message,$);break;case"min":if($.target==="jsonSchema7")if(W.inclusive)S(q,"minimum",W.value,W.message,$);else S(q,"exclusiveMinimum",W.value,W.message,$);else{if(!W.inclusive)q.exclusiveMinimum=!0;S(q,"minimum",W.value,W.message,$)}break;case"max":if($.target==="jsonSchema7")if(W.inclusive)S(q,"maximum",W.value,W.message,$);else S(q,"exclusiveMaximum",W.value,W.message,$);else{if(!W.inclusive)q.exclusiveMaximum=!0;S(q,"maximum",W.value,W.message,$)}break;case"multipleOf":S(q,"multipleOf",W.value,W.message,$);break}return q}function U$(_,$){let q=$.target==="openAi",W={type:"object",properties:{}},X=[],H=_.shape();for(let Y in H){let J=H[Y];if(J===void 0||J._def===void 0)continue;let v=$3(J);if(v&&q){if(J._def.typeName==="ZodOptional")J=J._def.innerType;if(!J.isNullable())J=J.nullable();v=!1}let U=z(J._def,{...$,currentPath:[...$.currentPath,"properties",Y],propertyPath:[...$.currentPath,"properties",Y]});if(U===void 0)continue;if(W.properties[Y]=U,!v)X.push(Y)}if(X.length)W.required=X;let Q=_3(_,$);if(Q!==void 0)W.additionalProperties=Q;return W}function _3(_,$){if(_.catchall._def.typeName!=="ZodNever")return z(_.catchall._def,{...$,currentPath:[...$.currentPath,"additionalProperties"]});switch(_.unknownKeys){case"passthrough":return $.allowedAdditionalProperties;case"strict":return $.rejectedAdditionalProperties;case"strip":return $.removeAdditionalStrategy==="strict"?$.allowedAdditionalProperties:$.rejectedAdditionalProperties}}function $3(_){try{return _.isOptional()}catch{return!0}}var R$=(_,$)=>{if($.currentPath.toString()===$.propertyPath?.toString())return z(_.innerType._def,$);let q=z(_.innerType._def,{...$,currentPath:[...$.currentPath,"anyOf","1"]});return q?{anyOf:[{not:N($)},q]}:N($)};var L$=(_,$)=>{if($.pipeStrategy==="input")return z(_.in._def,$);else if($.pipeStrategy==="output")return z(_.out._def,$);let q=z(_.in._def,{...$,currentPath:[...$.currentPath,"allOf","0"]}),W=z(_.out._def,{...$,currentPath:[...$.currentPath,"allOf",q?"1":"0"]});return{allOf:[q,W].filter((X)=>X!==void 0)}};function V$(_,$){return z(_.type._def,$)}function K$(_,$){let W={type:"array",uniqueItems:!0,items:z(_.valueType._def,{...$,currentPath:[...$.currentPath,"items"]})};if(_.minSize)S(W,"minItems",_.minSize.value,_.minSize.message,$);if(_.maxSize)S(W,"maxItems",_.maxSize.value,_.maxSize.message,$);return W}function F$(_,$){if(_.rest)return{type:"array",minItems:_.items.length,items:_.items.map((q,W)=>z(q._def,{...$,currentPath:[...$.currentPath,"items",`${W}`]})).reduce((q,W)=>W===void 0?q:[...q,W],[]),additionalItems:z(_.rest._def,{...$,currentPath:[...$.currentPath,"additionalItems"]})};else return{type:"array",minItems:_.items.length,maxItems:_.items.length,items:_.items.map((q,W)=>z(q._def,{...$,currentPath:[...$.currentPath,"items",`${W}`]})).reduce((q,W)=>W===void 0?q:[...q,W],[])}}function f$(_){return{not:N(_)}}function g$(_){return N(_)}var k$=(_,$)=>{return z(_.innerType._def,$)};var C$=(_,$,q)=>{switch($){case M.ZodString:return F_(_,q);case M.ZodNumber:return j$(_,q);case M.ZodObject:return U$(_,q);case M.ZodBigInt:return Q$(_,q);case M.ZodBoolean:return J$();case M.ZodDate:return T_(_,q);case M.ZodUndefined:return f$(q);case M.ZodNull:return O$(q);case M.ZodArray:return H$(_,q);case M.ZodUnion:case M.ZodDiscriminatedUnion:return S$(_,q);case M.ZodIntersection:return D$(_,q);case M.ZodTuple:return F$(_,q);case M.ZodRecord:return f_(_,q);case M.ZodLiteral:return w$(_,q);case M.ZodEnum:return B$(_);case M.ZodNativeEnum:return v$(_);case M.ZodNullable:return N$(_,q);case M.ZodOptional:return R$(_,q);case M.ZodMap:return z$(_,q);case M.ZodSet:return K$(_,q);case M.ZodLazy:return()=>_.getter()._def;case M.ZodPromise:return V$(_,q);case M.ZodNaN:case M.ZodNever:return A$(q);case M.ZodEffects:return M$(_,q);case M.ZodAny:return N(q);case M.ZodUnknown:return g$(q);case M.ZodDefault:return G$(_,q);case M.ZodBranded:return K_(_,q);case M.ZodReadonly:return k$(_,q);case M.ZodCatch:return Y$(_,q);case M.ZodPipeline:return L$(_,q);case M.ZodFunction:case M.ZodVoid:case M.ZodSymbol:return;default:return((W)=>{return})($)}};function z(_,$,q=!1){let W=$.seen.get(_);if($.override){let Y=$.override?.(_,$,W,q);if(Y!==i_)return Y}if(W&&!q){let Y=q3(W,$);if(Y!==void 0)return Y}let X={def:_,path:$.currentPath,jsonSchema:void 0};$.seen.set(_,X);let H=C$(_,_.typeName,$),Q=typeof H==="function"?z(H(),$):H;if(Q)W3(_,$,Q);if($.postProcess){let Y=$.postProcess(Q,_,$);return X.jsonSchema=Q,Y}return X.jsonSchema=Q,Q}var q3=(_,$)=>{switch($.$refStrategy){case"root":return{$ref:_.path.join("/")};case"relative":return{$ref:j_($.currentPath,_.path)};case"none":case"seen":{if(_.path.length<$.currentPath.length&&_.path.every((q,W)=>$.currentPath[W]===q))return console.warn(`Recursive reference detected at ${$.currentPath.join("/")}! Defaulting to any`),N($);return $.$refStrategy==="seen"?N($):void 0}}},W3=(_,$,q)=>{if(_.description){if(q.description=_.description,$.markdownDescription)q.markdownDescription=_.description}return q};var g_=(_,$)=>{let q=r_($),W=typeof $==="object"&&$.definitions?Object.entries($.definitions).reduce((J,[v,U])=>({...J,[v]:z(U._def,{...q,currentPath:[...q.basePath,q.definitionPath,v]},!0)??N(q)}),{}):void 0,X=typeof $==="string"?$:$?.nameStrategy==="title"?void 0:$?.name,H=z(_._def,X===void 0?q:{...q,currentPath:[...q.basePath,q.definitionPath,X]},!1)??N(q),Q=typeof $==="object"&&$.name!==void 0&&$.nameStrategy==="title"?$.name:void 0;if(Q!==void 0)H.title=Q;if(q.flags.hasReferencedOpenAiAnyType){if(!W)W={};if(!W[q.openAiAnyTypeName])W[q.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:q.$refStrategy==="relative"?"1":[...q.basePath,q.definitionPath,q.openAiAnyTypeName].join("/")}}}let Y=X===void 0?W?{...H,[q.definitionPath]:W}:H:{$ref:[...q.$refStrategy==="relative"?[]:q.basePath,q.definitionPath,X].join("/"),[q.definitionPath]:{...W,[X]:H}};if(q.target==="jsonSchema7")Y.$schema="http://json-schema.org/draft-07/schema#";else if(q.target==="jsonSchema2019-09"||q.target==="openAi")Y.$schema="https://json-schema.org/draft/2019-09/schema#";if(q.target==="openAi"&&(("anyOf"in Y)||("oneOf"in Y)||("allOf"in Y)||("type"in Y)&&Array.isArray(Y.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return Y};var I$=new WeakMap,P$=0;class D_{spec;generatedSchemas=new Set;constructor(_){this.spec=_}convert(_,$){try{if($?.reusable||this.shouldBeReusable(_))return this.convertToReusableSchema(_,$?.name);return this.convertInline(_)}catch(q){return console.warn("Failed to convert Zod schema to JSON Schema:",q),{type:"object"}}}convertInline(_){let $=g_(_,{target:"openApi3",$refStrategy:"none"});if($&&typeof $==="object")delete $.$schema;return $}convertToReusableSchema(_,$){let q=I$.get(_);if(q&&this.generatedSchemas.has(q))return{$ref:`#/components/schemas/${q}`};let W=$||q||this.generateSchemaName();I$.set(_,W),this.generatedSchemas.add(W);let X=this.convertInline(_);if(!this.spec.components)this.spec.components={schemas:{}};if(!this.spec.components.schemas)this.spec.components.schemas={};return this.spec.components.schemas[W]=X,{$ref:`#/components/schemas/${W}`}}shouldBeReusable(_){let $=this.convertInline(_);if($.type==="object"&&$.properties)return Object.keys($.properties).length>2;if($.type==="array"&&$.items){let q=$.items;if(q.type==="object"&&q.properties)return!0}if($.anyOf||$.oneOf||$.allOf)return!0;return!1}generateSchemaName(){return`Schema${++P$}`}static resetCounter(){P$=0}}function X3(_,$){if($)return new D_($).convert(_);try{let q=g_(_,{target:"openApi3",$refStrategy:"none"});if(q&&typeof q==="object")delete q.$schema;return q}catch(q){return console.warn("Failed to convert Zod schema to JSON Schema:",q),{type:"object"}}}class l${metadata;options;converter;constructor(_,$){this.metadata=_;this.options={title:$?.title||"Veloce-TS API",version:$?.version||"1.0.0",description:$?.description||"API built with Veloce-TS",path:$?.path||"/openapi.json",docsPath:$?.docsPath||"/docs",docs:$?.docs!==!1}}generate(){let _=this.metadata.getRoutes(),$={openapi:"3.0.0",info:{title:this.options.title,version:this.options.version,description:this.options.description},paths:{},components:{schemas:{}}};this.converter=new D_($);for(let q of _)this.addRouteToSpec($,q);return $}addRouteToSpec(_,$){let q=this.convertPathToOpenAPI($.path),W=$.method.toLowerCase();if(W==="all"||W==="options")return;if(!_.paths[q])_.paths[q]={};let X={summary:$.docs?.summary,description:$.docs?.description,tags:$.docs?.tags||[],deprecated:$.docs?.deprecated||!1,parameters:this.extractParameters($,_),responses:this.extractResponses($,_)},H=this.extractRequestBody($,_);if(H)X.requestBody=H;if(X.parameters.length===0)delete X.parameters;if(X.tags.length===0)delete X.tags;_.paths[q][W]=X}extractParameters(_,$){let q=[];for(let W of _.parameters)if(W.type==="query"||W.type==="param"||W.type==="header"||W.type==="cookie"){let X=this.parameterToOpenAPI(W,_.path,$);if(X)q.push(X)}return q}extractRequestBody(_,$){let q=_.parameters.find((W)=>W.type==="body");if(!q||!q.schema)return null;return{required:q.required,content:{"application/json":{schema:this.zodToOpenAPISchema(q.schema,$)}}}}extractResponses(_,$){let q={};if(_.responses&&_.responses.length>0)for(let W of _.responses)q[W.statusCode.toString()]={description:W.description||this.getDefaultResponseDescription(W.statusCode),content:W.schema?{"application/json":{schema:this.zodToOpenAPISchema(W.schema,$)}}:void 0};else q["200"]={description:"Successful response",content:{"application/json":{schema:{type:"object"}}}};if(!q["422"])q["422"]={description:"Validation error",content:{"application/json":{schema:{type:"object",properties:{error:{type:"string"},details:{type:"array",items:{type:"object",properties:{path:{type:"string"},message:{type:"string"},code:{type:"string"}}}}}}}}};return q}convertPathToOpenAPI(_){return _.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"{$1}")}parameterToOpenAPI(_,$,q){let W,X;switch(_.type){case"query":W="query",X=_.name||"query";break;case"param":if(W="path",_.name)X=_.name;else{let Q=$.match(/:([a-zA-Z_][a-zA-Z0-9_]*)/);X=Q?Q[1]:"id"}break;case"header":W="header",X=_.name||"X-Custom-Header";break;case"cookie":W="cookie",X=_.name||"session";break;default:return null}return{name:X,in:W,required:_.required||W==="path",schema:_.schema?this.zodToOpenAPISchema(_.schema,q):{type:"string"}}}zodToOpenAPISchema(_,$){if(!this.converter)this.converter=new D_($);return this.converter.convert(_)}getDefaultResponseDescription(_){return{200:"Successful response",201:"Created",204:"No content",400:"Bad request",401:"Unauthorized",403:"Forbidden",404:"Not found",422:"Validation error",500:"Internal server error"}[_]||"Response"}}export{X3 as zodToJsonSchema,D_ as ZodToJsonSchemaConverter,l$ as OpenAPIGenerator};
|
|
7
7
|
|
|
8
|
-
//# debugId=
|
|
8
|
+
//# debugId=4C9C17C3D750CD0A64756E2164756E21
|