veloce-ts 0.1.0
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 +43 -0
- package/LICENSE +21 -0
- package/README.md +442 -0
- package/bin/veloce.ts +2 -0
- package/dist/cjs/src/cli/index.js +425 -0
- package/dist/cjs/src/cli/index.js.map +22 -0
- package/dist/cjs/src/docs/index.js +7 -0
- package/dist/cjs/src/docs/index.js.map +55 -0
- package/dist/cjs/src/errors/index.js +4 -0
- package/dist/cjs/src/errors/index.js.map +12 -0
- package/dist/cjs/src/graphql/index.js +83 -0
- package/dist/cjs/src/graphql/index.js.map +24 -0
- package/dist/cjs/src/index.js +126 -0
- package/dist/cjs/src/index.js.map +108 -0
- package/dist/cjs/src/middleware/index.js +3 -0
- package/dist/cjs/src/middleware/index.js.map +12 -0
- package/dist/cjs/src/plugins/index.js +125 -0
- package/dist/cjs/src/plugins/index.js.map +67 -0
- package/dist/cjs/src/testing/index.js +17 -0
- package/dist/cjs/src/testing/index.js.map +54 -0
- package/dist/cjs/src/types/index.js +3 -0
- package/dist/cjs/src/types/index.js.map +16 -0
- package/dist/cjs/src/validation/index.js +3 -0
- package/dist/cjs/src/validation/index.js.map +19 -0
- package/dist/cjs/src/websocket/index.js +3 -0
- package/dist/cjs/src/websocket/index.js.map +12 -0
- package/dist/esm/chunk-0zxhx5b8.js +7 -0
- package/dist/esm/chunk-0zxhx5b8.js.map +10 -0
- package/dist/esm/chunk-159eqj8q.js +5 -0
- package/dist/esm/chunk-159eqj8q.js.map +12 -0
- package/dist/esm/chunk-1hqjkm44.js +5 -0
- package/dist/esm/chunk-1hqjkm44.js.map +11 -0
- package/dist/esm/chunk-2q6s8v3j.js +6 -0
- package/dist/esm/chunk-2q6s8v3j.js.map +10 -0
- package/dist/esm/chunk-42h6trpf.js +5 -0
- package/dist/esm/chunk-42h6trpf.js.map +9 -0
- package/dist/esm/chunk-82f2j0k2.js +60 -0
- package/dist/esm/chunk-82f2j0k2.js.map +10 -0
- package/dist/esm/chunk-8wrnr45g.js +338 -0
- package/dist/esm/chunk-8wrnr45g.js.map +10 -0
- package/dist/esm/chunk-9p6d0t33.js +5 -0
- package/dist/esm/chunk-9p6d0t33.js.map +10 -0
- package/dist/esm/chunk-awven6dt.js +4 -0
- package/dist/esm/chunk-awven6dt.js.map +16 -0
- package/dist/esm/chunk-gv5n8ddb.js +18 -0
- package/dist/esm/chunk-gv5n8ddb.js.map +10 -0
- package/dist/esm/chunk-pn7z890c.js +72 -0
- package/dist/esm/chunk-pn7z890c.js.map +13 -0
- package/dist/esm/chunk-qfsjy9bg.js +7 -0
- package/dist/esm/chunk-qfsjy9bg.js.map +10 -0
- package/dist/esm/chunk-vkkzgaf7.js +5 -0
- package/dist/esm/chunk-vkkzgaf7.js.map +12 -0
- package/dist/esm/src/cli/index.js +30 -0
- package/dist/esm/src/cli/index.js.map +18 -0
- package/dist/esm/src/docs/index.js +8 -0
- package/dist/esm/src/docs/index.js.map +48 -0
- package/dist/esm/src/errors/index.js +4 -0
- package/dist/esm/src/errors/index.js.map +9 -0
- package/dist/esm/src/graphql/index.js +4 -0
- package/dist/esm/src/graphql/index.js.map +9 -0
- package/dist/esm/src/index.js +4 -0
- package/dist/esm/src/index.js.map +16 -0
- package/dist/esm/src/middleware/index.js +4 -0
- package/dist/esm/src/middleware/index.js.map +9 -0
- package/dist/esm/src/plugins/index.js +42 -0
- package/dist/esm/src/plugins/index.js.map +10 -0
- package/dist/esm/src/testing/index.js +4 -0
- package/dist/esm/src/testing/index.js.map +39 -0
- package/dist/esm/src/types/index.js +4 -0
- package/dist/esm/src/types/index.js.map +9 -0
- package/dist/esm/src/validation/index.js +4 -0
- package/dist/esm/src/validation/index.js.map +9 -0
- package/dist/esm/src/websocket/index.js +4 -0
- package/dist/esm/src/websocket/index.js.map +9 -0
- package/dist/types/adapters/base.d.ts +24 -0
- package/dist/types/adapters/base.d.ts.map +1 -0
- package/dist/types/adapters/express.d.ts +44 -0
- package/dist/types/adapters/express.d.ts.map +1 -0
- package/dist/types/adapters/hono.d.ts +44 -0
- package/dist/types/adapters/hono.d.ts.map +1 -0
- package/dist/types/cli/commands/build.d.ts +3 -0
- package/dist/types/cli/commands/build.d.ts.map +1 -0
- package/dist/types/cli/commands/dev.d.ts +3 -0
- package/dist/types/cli/commands/dev.d.ts.map +1 -0
- package/dist/types/cli/commands/generate.d.ts +3 -0
- package/dist/types/cli/commands/generate.d.ts.map +1 -0
- package/dist/types/cli/commands/new.d.ts +3 -0
- package/dist/types/cli/commands/new.d.ts.map +1 -0
- package/dist/types/cli/index.d.ts +3 -0
- package/dist/types/cli/index.d.ts.map +1 -0
- package/dist/types/core/application.d.ts +268 -0
- package/dist/types/core/application.d.ts.map +1 -0
- package/dist/types/core/compiled-metadata.d.ts +58 -0
- package/dist/types/core/compiled-metadata.d.ts.map +1 -0
- package/dist/types/core/metadata.d.ts +175 -0
- package/dist/types/core/metadata.d.ts.map +1 -0
- package/dist/types/core/plugin.d.ts +63 -0
- package/dist/types/core/plugin.d.ts.map +1 -0
- package/dist/types/core/router-compiler.d.ts +61 -0
- package/dist/types/core/router-compiler.d.ts.map +1 -0
- package/dist/types/decorators/dependencies.d.ts +28 -0
- package/dist/types/decorators/dependencies.d.ts.map +1 -0
- package/dist/types/decorators/docs.d.ts +38 -0
- package/dist/types/decorators/docs.d.ts.map +1 -0
- package/dist/types/decorators/graphql.d.ts +126 -0
- package/dist/types/decorators/graphql.d.ts.map +1 -0
- package/dist/types/decorators/http.d.ts +74 -0
- package/dist/types/decorators/http.d.ts.map +1 -0
- package/dist/types/decorators/middleware.d.ts +30 -0
- package/dist/types/decorators/middleware.d.ts.map +1 -0
- package/dist/types/decorators/params.d.ts +82 -0
- package/dist/types/decorators/params.d.ts.map +1 -0
- package/dist/types/decorators/websocket.d.ts +61 -0
- package/dist/types/decorators/websocket.d.ts.map +1 -0
- package/dist/types/dependencies/container.d.ts +93 -0
- package/dist/types/dependencies/container.d.ts.map +1 -0
- package/dist/types/docs/index.d.ts +3 -0
- package/dist/types/docs/index.d.ts.map +1 -0
- package/dist/types/docs/openapi-generator.d.ts +50 -0
- package/dist/types/docs/openapi-generator.d.ts.map +1 -0
- package/dist/types/docs/zod-to-json-schema.d.ts +46 -0
- package/dist/types/docs/zod-to-json-schema.d.ts.map +1 -0
- package/dist/types/errors/exceptions.d.ts +48 -0
- package/dist/types/errors/exceptions.d.ts.map +1 -0
- package/dist/types/errors/handler.d.ts +61 -0
- package/dist/types/errors/handler.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +7 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/graphql/index.d.ts +4 -0
- package/dist/types/graphql/index.d.ts.map +1 -0
- package/dist/types/graphql/plugin.d.ts +60 -0
- package/dist/types/graphql/plugin.d.ts.map +1 -0
- package/dist/types/graphql/schema-builder.d.ts +46 -0
- package/dist/types/graphql/schema-builder.d.ts.map +1 -0
- package/dist/types/graphql/zod-to-graphql.d.ts +22 -0
- package/dist/types/graphql/zod-to-graphql.d.ts.map +1 -0
- package/dist/types/index.d.ts +34 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/middleware/compression.d.ts +7 -0
- package/dist/types/middleware/compression.d.ts.map +1 -0
- package/dist/types/middleware/cors.d.ts +7 -0
- package/dist/types/middleware/cors.d.ts.map +1 -0
- package/dist/types/middleware/index.d.ts +4 -0
- package/dist/types/middleware/index.d.ts.map +1 -0
- package/dist/types/middleware/rate-limit.d.ts +7 -0
- package/dist/types/middleware/rate-limit.d.ts.map +1 -0
- package/dist/types/plugins/index.d.ts +4 -0
- package/dist/types/plugins/index.d.ts.map +1 -0
- package/dist/types/plugins/openapi.d.ts +23 -0
- package/dist/types/plugins/openapi.d.ts.map +1 -0
- package/dist/types/responses/response.d.ts +200 -0
- package/dist/types/responses/response.d.ts.map +1 -0
- package/dist/types/testing/helpers.d.ts +98 -0
- package/dist/types/testing/helpers.d.ts.map +1 -0
- package/dist/types/testing/index.d.ts +4 -0
- package/dist/types/testing/index.d.ts.map +1 -0
- package/dist/types/testing/test-client.d.ts +86 -0
- package/dist/types/testing/test-client.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +232 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/validation/exceptions.d.ts +25 -0
- package/dist/types/validation/exceptions.d.ts.map +1 -0
- package/dist/types/validation/index.d.ts +3 -0
- package/dist/types/validation/index.d.ts.map +1 -0
- package/dist/types/validation/validator.d.ts +54 -0
- package/dist/types/validation/validator.d.ts.map +1 -0
- package/dist/types/websocket/connection.d.ts +51 -0
- package/dist/types/websocket/connection.d.ts.map +1 -0
- package/dist/types/websocket/index.d.ts +4 -0
- package/dist/types/websocket/index.d.ts.map +1 -0
- package/dist/types/websocket/manager.d.ts +82 -0
- package/dist/types/websocket/manager.d.ts.map +1 -0
- package/dist/types/websocket/plugin.d.ts +51 -0
- package/dist/types/websocket/plugin.d.ts.map +1 -0
- package/package.json +149 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var A=Object.create;var{getPrototypeOf:f,defineProperty:$,getOwnPropertyNames:I,getOwnPropertyDescriptor:q}=Object,v=Object.prototype.hasOwnProperty;var k=(j,C,B)=>{B=j!=null?A(f(j)):{};let D=C||!j||!j.__esModule?$(B,"default",{value:j,enumerable:!0}):B;for(let M of I(j))if(!v.call(D,M))$(D,M,{get:()=>j[M],enumerable:!0});return D},E=new WeakMap,O=(j)=>{var C=E.get(j),B;if(C)return C;if(C=$({},"__esModule",{value:!0}),j&&typeof j==="object"||typeof j==="function")I(j).map((D)=>!v.call(C,D)&&$(C,D,{get:()=>j[D],enumerable:!(B=q(j,D))||B.enumerable}));return E.set(j,C),C},w=(j,C)=>()=>(C||j((C={exports:{}}).exports,C),C.exports);var y=(j,C)=>{for(var B in C)$(j,B,{get:C[B],enumerable:!0,configurable:!0,set:(D)=>C[B]=()=>D})};var m=(j,C)=>()=>(j&&(C=j(j=0)),C);var x={};y(x,{createRateLimitMiddleware:()=>H,createCorsMiddleware:()=>L,createCompressionMiddleware:()=>b});module.exports=O(x);function L(j){let{origin:C="*",methods:B=["GET","POST","PUT","DELETE","PATCH","OPTIONS"],allowedHeaders:D=["Content-Type","Authorization"],exposedHeaders:M=[],credentials:P=!1,maxAge:z=86400}=j||{};return async(F,S)=>{let Q=F.req.header("origin"),R=F.req.method,J=null;if(typeof C==="string")J=C;else if(Array.isArray(C)){if(Q&&C.includes(Q))J=Q}else if(typeof C==="function"){if(Q&&C(Q))J=Q}if(J)F.header("Access-Control-Allow-Origin",J);if(P)F.header("Access-Control-Allow-Credentials","true");if(M.length>0)F.header("Access-Control-Expose-Headers",M.join(", "));if(R==="OPTIONS")return F.header("Access-Control-Allow-Methods",B.join(", ")),F.header("Access-Control-Allow-Headers",D.join(", ")),F.header("Access-Control-Max-Age",z.toString()),F.body(null,204);await S()}}function H(j){let{windowMs:C=60000,max:B=100,keyGenerator:D=(z)=>{return z.req.header("x-forwarded-for")||z.req.header("x-real-ip")||"unknown"}}=j,M=new Map,P=setInterval(()=>{let z=Date.now();for(let[F,S]of M.entries())if(z>S.resetTime)M.delete(F)},C);if(typeof process<"u"&&process.on)process.on("exit",()=>clearInterval(P));return async(z,F)=>{let S=D(z),Q=Date.now(),R=M.get(S);if(!R||Q>R.resetTime)M.set(S,{count:1,resetTime:Q+C}),z.header("X-RateLimit-Limit",B.toString()),z.header("X-RateLimit-Remaining",(B-1).toString()),z.header("X-RateLimit-Reset",new Date(Q+C).toISOString()),await F();else if(R.count<B)R.count++,z.header("X-RateLimit-Limit",B.toString()),z.header("X-RateLimit-Remaining",(B-R.count).toString()),z.header("X-RateLimit-Reset",new Date(R.resetTime).toISOString()),await F();else{let J=Math.ceil((R.resetTime-Q)/1000);return z.header("X-RateLimit-Limit",B.toString()),z.header("X-RateLimit-Remaining","0"),z.header("X-RateLimit-Reset",new Date(R.resetTime).toISOString()),z.header("Retry-After",J.toString()),z.json({error:"Too Many Requests",message:`Rate limit exceeded. Please try again in ${J} seconds.`,retryAfter:J},429)}}}function b(j){let{threshold:C=1024,level:B=6}=j||{};return async(D,M)=>{await M();let P=D.res;if(!P)return;let z=P.headers.get("content-type")||"",F=P.headers.get("content-length"),S=D.req.header("accept-encoding")||"";if(!["text/","application/json","application/javascript","application/xml","application/x-www-form-urlencoded"].some((K)=>z.toLowerCase().includes(K)))return;if(F&&parseInt(F)<C)return;if(P.headers.get("content-encoding"))return;let J=await P.arrayBuffer();if(J.byteLength<C)return;let U=null,G=null;if(S.includes("br")&&typeof CompressionStream<"u")try{let K=new CompressionStream("deflate"),Y=K.writable.getWriter();Y.write(new Uint8Array(J)),Y.close();let T=K.readable.getReader(),V=[];while(!0){let{done:N,value:X}=await T.read();if(N)break;V.push(X)}let W=V.reduce((N,X)=>N+X.length,0),Z=new Uint8Array(W),_=0;for(let N of V)Z.set(N,_),_+=N.length;U=Z,G="deflate"}catch(K){U=null}if(!U&&S.includes("gzip")&&typeof CompressionStream<"u")try{let K=new CompressionStream("gzip"),Y=K.writable.getWriter();Y.write(new Uint8Array(J)),Y.close();let T=K.readable.getReader(),V=[];while(!0){let{done:N,value:X}=await T.read();if(N)break;V.push(X)}let W=V.reduce((N,X)=>N+X.length,0),Z=new Uint8Array(W),_=0;for(let N of V)Z.set(N,_),_+=N.length;U=Z,G="gzip"}catch(K){U=null}if(U&&G&&U.byteLength<J.byteLength){let K=new Headers(P.headers);return K.set("content-encoding",G),K.set("content-length",U.byteLength.toString()),K.delete("content-length"),new Response(U,{status:P.status,statusText:P.statusText,headers:K})}}}
|
|
2
|
+
|
|
3
|
+
//# debugId=2707303D91F78C3064756E2164756E21
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["..\\..\\src\\middleware\\cors.ts", "..\\..\\src\\middleware\\rate-limit.ts", "..\\..\\src\\middleware\\compression.ts"],
|
|
4
|
+
"sourcesContent": [
|
|
5
|
+
"import type { Context, Middleware, CorsOptions } from '../types';\r\n\r\n/**\r\n * Create CORS middleware with configurable options\r\n * Handles preflight requests and adds appropriate CORS headers\r\n */\r\nexport function createCorsMiddleware(options?: CorsOptions): Middleware {\r\n const {\r\n origin = '*',\r\n methods = ['GET', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS'],\r\n allowedHeaders = ['Content-Type', 'Authorization'],\r\n exposedHeaders = [],\r\n credentials = false,\r\n maxAge = 86400 // 24 hours default\r\n } = options || {};\r\n\r\n return async (c: Context, next) => {\r\n const requestOrigin = c.req.header('origin');\r\n const requestMethod = c.req.method;\r\n\r\n // Determine if origin is allowed\r\n let allowedOrigin: string | null = null;\r\n\r\n if (typeof origin === 'string') {\r\n allowedOrigin = origin;\r\n } else if (Array.isArray(origin)) {\r\n if (requestOrigin && origin.includes(requestOrigin)) {\r\n allowedOrigin = requestOrigin;\r\n }\r\n } else if (typeof origin === 'function') {\r\n if (requestOrigin && origin(requestOrigin)) {\r\n allowedOrigin = requestOrigin;\r\n }\r\n }\r\n\r\n // Set CORS headers\r\n if (allowedOrigin) {\r\n c.header('Access-Control-Allow-Origin', allowedOrigin);\r\n }\r\n\r\n if (credentials) {\r\n c.header('Access-Control-Allow-Credentials', 'true');\r\n }\r\n\r\n if (exposedHeaders.length > 0) {\r\n c.header('Access-Control-Expose-Headers', exposedHeaders.join(', '));\r\n }\r\n\r\n // Handle preflight requests\r\n if (requestMethod === 'OPTIONS') {\r\n c.header('Access-Control-Allow-Methods', methods.join(', '));\r\n c.header('Access-Control-Allow-Headers', allowedHeaders.join(', '));\r\n c.header('Access-Control-Max-Age', maxAge.toString());\r\n \r\n return c.body(null, 204);\r\n }\r\n\r\n // Continue to next middleware/handler\r\n await next();\r\n };\r\n}\r\n",
|
|
6
|
+
"import type { Context, Middleware, RateLimitOptions } from '../types';\r\n\r\n/**\r\n * Rate limit record for tracking requests\r\n */\r\ninterface RateLimitRecord {\r\n count: number;\r\n resetTime: number;\r\n}\r\n\r\n/**\r\n * Create rate limiting middleware\r\n * Tracks requests per IP/key and returns 429 when limit exceeded\r\n */\r\nexport function createRateLimitMiddleware(options: RateLimitOptions): Middleware {\r\n const {\r\n windowMs = 60000, // 1 minute default\r\n max = 100, // 100 requests per window default\r\n keyGenerator = (c: Context) => {\r\n // Default: use X-Forwarded-For header or fallback to 'unknown'\r\n return c.req.header('x-forwarded-for') || \r\n c.req.header('x-real-ip') || \r\n 'unknown';\r\n }\r\n } = options;\r\n\r\n // In-memory storage for rate limit records\r\n const requests = new Map<string, RateLimitRecord>();\r\n\r\n // Cleanup old entries periodically to prevent memory leaks\r\n const cleanupInterval = setInterval(() => {\r\n const now = Date.now();\r\n for (const [key, record] of requests.entries()) {\r\n if (now > record.resetTime) {\r\n requests.delete(key);\r\n }\r\n }\r\n }, windowMs);\r\n\r\n // Cleanup on process exit (if supported)\r\n if (typeof process !== 'undefined' && process.on) {\r\n process.on('exit', () => clearInterval(cleanupInterval));\r\n }\r\n\r\n return async (c: Context, next) => {\r\n const key = keyGenerator(c);\r\n const now = Date.now();\r\n const record = requests.get(key);\r\n\r\n if (!record || now > record.resetTime) {\r\n // New window - reset counter\r\n requests.set(key, { \r\n count: 1, \r\n resetTime: now + windowMs \r\n });\r\n\r\n // Add rate limit headers\r\n c.header('X-RateLimit-Limit', max.toString());\r\n c.header('X-RateLimit-Remaining', (max - 1).toString());\r\n c.header('X-RateLimit-Reset', new Date(now + windowMs).toISOString());\r\n\r\n await next();\r\n } else if (record.count < max) {\r\n // Within limit - increment counter\r\n record.count++;\r\n\r\n // Add rate limit headers\r\n c.header('X-RateLimit-Limit', max.toString());\r\n c.header('X-RateLimit-Remaining', (max - record.count).toString());\r\n c.header('X-RateLimit-Reset', new Date(record.resetTime).toISOString());\r\n\r\n await next();\r\n } else {\r\n // Rate limit exceeded\r\n const retryAfter = Math.ceil((record.resetTime - now) / 1000);\r\n\r\n c.header('X-RateLimit-Limit', max.toString());\r\n c.header('X-RateLimit-Remaining', '0');\r\n c.header('X-RateLimit-Reset', new Date(record.resetTime).toISOString());\r\n c.header('Retry-After', retryAfter.toString());\r\n\r\n return c.json(\r\n {\r\n error: 'Too Many Requests',\r\n message: `Rate limit exceeded. Please try again in ${retryAfter} seconds.`,\r\n retryAfter\r\n },\r\n 429\r\n );\r\n }\r\n };\r\n}\r\n",
|
|
7
|
+
"import type { Context, Middleware, CompressionOptions } from '../types';\r\n\r\n/**\r\n * Create compression middleware\r\n * Compresses responses with gzip or brotli based on Accept-Encoding header\r\n */\r\nexport function createCompressionMiddleware(options?: CompressionOptions): Middleware {\r\n const {\r\n threshold = 1024, // Only compress responses larger than 1KB\r\n level = 6 // Compression level (1-9 for gzip, 0-11 for brotli)\r\n } = options || {};\r\n\r\n return async (c: Context, next) => {\r\n // Continue to next middleware/handler first\r\n await next();\r\n\r\n // Get the response\r\n const response = c.res;\r\n if (!response) {\r\n return;\r\n }\r\n\r\n // Check if response should be compressed\r\n const contentType = response.headers.get('content-type') || '';\r\n const contentLength = response.headers.get('content-length');\r\n const acceptEncoding = c.req.header('accept-encoding') || '';\r\n\r\n // Skip compression for certain content types\r\n const compressibleTypes = [\r\n 'text/',\r\n 'application/json',\r\n 'application/javascript',\r\n 'application/xml',\r\n 'application/x-www-form-urlencoded'\r\n ];\r\n\r\n const isCompressible = compressibleTypes.some(type => \r\n contentType.toLowerCase().includes(type)\r\n );\r\n\r\n if (!isCompressible) {\r\n return;\r\n }\r\n\r\n // Skip if response is too small\r\n if (contentLength && parseInt(contentLength) < threshold) {\r\n return;\r\n }\r\n\r\n // Skip if already encoded\r\n if (response.headers.get('content-encoding')) {\r\n return;\r\n }\r\n\r\n // Get response body\r\n const body = await response.arrayBuffer();\r\n \r\n // Skip if body is too small\r\n if (body.byteLength < threshold) {\r\n return;\r\n }\r\n\r\n // Determine compression method\r\n let compressed: Uint8Array | null = null;\r\n let encoding: string | null = null;\r\n\r\n // Try brotli first (better compression)\r\n if (acceptEncoding.includes('br') && typeof CompressionStream !== 'undefined') {\r\n try {\r\n const stream = new CompressionStream('deflate');\r\n const writer = stream.writable.getWriter();\r\n writer.write(new Uint8Array(body));\r\n writer.close();\r\n \r\n const reader = stream.readable.getReader();\r\n const chunks: Uint8Array[] = [];\r\n \r\n while (true) {\r\n const { done, value } = await reader.read();\r\n if (done) break;\r\n chunks.push(value);\r\n }\r\n \r\n const totalLength = chunks.reduce((acc, chunk) => acc + chunk.length, 0);\r\n const result = new Uint8Array(totalLength);\r\n let offset = 0;\r\n for (const chunk of chunks) {\r\n result.set(chunk, offset);\r\n offset += chunk.length;\r\n }\r\n \r\n compressed = result;\r\n encoding = 'deflate';\r\n } catch (error) {\r\n // Fallback to gzip\r\n compressed = null;\r\n }\r\n }\r\n\r\n // Try gzip if brotli not available or failed\r\n if (!compressed && acceptEncoding.includes('gzip') && typeof CompressionStream !== 'undefined') {\r\n try {\r\n const stream = new CompressionStream('gzip');\r\n const writer = stream.writable.getWriter();\r\n writer.write(new Uint8Array(body));\r\n writer.close();\r\n \r\n const reader = stream.readable.getReader();\r\n const chunks: Uint8Array[] = [];\r\n \r\n while (true) {\r\n const { done, value } = await reader.read();\r\n if (done) break;\r\n chunks.push(value);\r\n }\r\n \r\n const totalLength = chunks.reduce((acc, chunk) => acc + chunk.length, 0);\r\n const result = new Uint8Array(totalLength);\r\n let offset = 0;\r\n for (const chunk of chunks) {\r\n result.set(chunk, offset);\r\n offset += chunk.length;\r\n }\r\n \r\n compressed = result;\r\n encoding = 'gzip';\r\n } catch (error) {\r\n // Compression failed, use original\r\n compressed = null;\r\n }\r\n }\r\n\r\n // If compression succeeded and resulted in smaller size, use it\r\n if (compressed && encoding && compressed.byteLength < body.byteLength) {\r\n // Create new response with compressed body\r\n const headers = new Headers(response.headers);\r\n headers.set('content-encoding', encoding);\r\n headers.set('content-length', compressed.byteLength.toString());\r\n headers.delete('content-length'); // Let the runtime set it\r\n \r\n // Update the response\r\n const newResponse = new Response(compressed, {\r\n status: response.status,\r\n statusText: response.statusText,\r\n headers\r\n });\r\n\r\n // Replace the response in context\r\n // Note: This is a workaround since Hono's context doesn't allow direct response replacement\r\n // In practice, this middleware should be used with Hono's compress middleware\r\n return newResponse;\r\n }\r\n };\r\n}\r\n"
|
|
8
|
+
],
|
|
9
|
+
"mappings": "i4BAMO,SAAS,CAAoB,CAAC,EAAmC,CACtE,IACE,SAAS,IACT,UAAU,CAAC,MAAO,OAAQ,MAAO,SAAU,QAAS,SAAS,EAC7D,iBAAiB,CAAC,eAAgB,eAAe,EACjD,iBAAiB,CAAC,EAClB,cAAc,GACd,SAAS,OACP,GAAW,CAAC,EAEhB,MAAO,OAAO,EAAY,IAAS,CACjC,IAAM,EAAgB,EAAE,IAAI,OAAO,QAAQ,EACrC,EAAgB,EAAE,IAAI,OAGxB,EAA+B,KAEnC,GAAI,OAAO,IAAW,SACpB,EAAgB,EACX,QAAI,MAAM,QAAQ,CAAM,GAC7B,GAAI,GAAiB,EAAO,SAAS,CAAa,EAChD,EAAgB,EAEb,QAAI,OAAO,IAAW,YAC3B,GAAI,GAAiB,EAAO,CAAa,EACvC,EAAgB,EAKpB,GAAI,EACF,EAAE,OAAO,8BAA+B,CAAa,EAGvD,GAAI,EACF,EAAE,OAAO,mCAAoC,MAAM,EAGrD,GAAI,EAAe,OAAS,EAC1B,EAAE,OAAO,gCAAiC,EAAe,KAAK,IAAI,CAAC,EAIrE,GAAI,IAAkB,UAKpB,OAJA,EAAE,OAAO,+BAAgC,EAAQ,KAAK,IAAI,CAAC,EAC3D,EAAE,OAAO,+BAAgC,EAAe,KAAK,IAAI,CAAC,EAClE,EAAE,OAAO,yBAA0B,EAAO,SAAS,CAAC,EAE7C,EAAE,KAAK,KAAM,GAAG,EAIzB,MAAM,EAAK,GC5CR,SAAS,CAAyB,CAAC,EAAuC,CAC/E,IACE,WAAW,MACX,MAAM,IACN,eAAe,CAAC,IAAe,CAE7B,OAAO,EAAE,IAAI,OAAO,iBAAiB,GAC9B,EAAE,IAAI,OAAO,WAAW,GACxB,YAEP,EAGE,EAAW,IAAI,IAGf,EAAkB,YAAY,IAAM,CACxC,IAAM,EAAM,KAAK,IAAI,EACrB,QAAY,EAAK,KAAW,EAAS,QAAQ,EAC3C,GAAI,EAAM,EAAO,UACf,EAAS,OAAO,CAAG,GAGtB,CAAQ,EAGX,GAAI,OAAO,QAAY,KAAe,QAAQ,GAC5C,QAAQ,GAAG,OAAQ,IAAM,cAAc,CAAe,CAAC,EAGzD,MAAO,OAAO,EAAY,IAAS,CACjC,IAAM,EAAM,EAAa,CAAC,EACpB,EAAM,KAAK,IAAI,EACf,EAAS,EAAS,IAAI,CAAG,EAE/B,GAAI,CAAC,GAAU,EAAM,EAAO,UAE1B,EAAS,IAAI,EAAK,CAChB,MAAO,EACP,UAAW,EAAM,CACnB,CAAC,EAGD,EAAE,OAAO,oBAAqB,EAAI,SAAS,CAAC,EAC5C,EAAE,OAAO,yBAA0B,EAAM,GAAG,SAAS,CAAC,EACtD,EAAE,OAAO,oBAAqB,IAAI,KAAK,EAAM,CAAQ,EAAE,YAAY,CAAC,EAEpE,MAAM,EAAK,EACN,QAAI,EAAO,MAAQ,EAExB,EAAO,QAGP,EAAE,OAAO,oBAAqB,EAAI,SAAS,CAAC,EAC5C,EAAE,OAAO,yBAA0B,EAAM,EAAO,OAAO,SAAS,CAAC,EACjE,EAAE,OAAO,oBAAqB,IAAI,KAAK,EAAO,SAAS,EAAE,YAAY,CAAC,EAEtE,MAAM,EAAK,EACN,KAEL,IAAM,EAAa,KAAK,MAAM,EAAO,UAAY,GAAO,IAAI,EAO5D,OALA,EAAE,OAAO,oBAAqB,EAAI,SAAS,CAAC,EAC5C,EAAE,OAAO,wBAAyB,GAAG,EACrC,EAAE,OAAO,oBAAqB,IAAI,KAAK,EAAO,SAAS,EAAE,YAAY,CAAC,EACtE,EAAE,OAAO,cAAe,EAAW,SAAS,CAAC,EAEtC,EAAE,KACP,CACE,MAAO,oBACP,QAAS,4CAA4C,aACrD,YACF,EACA,GACF,IClFC,SAAS,CAA2B,CAAC,EAA0C,CACpF,IACE,YAAY,KACZ,QAAQ,GACN,GAAW,CAAC,EAEhB,MAAO,OAAO,EAAY,IAAS,CAEjC,MAAM,EAAK,EAGX,IAAM,EAAW,EAAE,IACnB,GAAI,CAAC,EACH,OAIF,IAAM,EAAc,EAAS,QAAQ,IAAI,cAAc,GAAK,GACtD,EAAgB,EAAS,QAAQ,IAAI,gBAAgB,EACrD,EAAiB,EAAE,IAAI,OAAO,iBAAiB,GAAK,GAe1D,GAAI,CAZsB,CACxB,QACA,mBACA,yBACA,kBACA,mCACF,EAEyC,KAAK,KAC5C,EAAY,YAAY,EAAE,SAAS,CAAI,CACzC,EAGE,OAIF,GAAI,GAAiB,SAAS,CAAa,EAAI,EAC7C,OAIF,GAAI,EAAS,QAAQ,IAAI,kBAAkB,EACzC,OAIF,IAAM,EAAO,MAAM,EAAS,YAAY,EAGxC,GAAI,EAAK,WAAa,EACpB,OAIF,IAAI,EAAgC,KAChC,EAA0B,KAG9B,GAAI,EAAe,SAAS,IAAI,GAAK,OAAO,kBAAsB,IAChE,GAAI,CACF,IAAM,EAAS,IAAI,kBAAkB,SAAS,EACxC,EAAS,EAAO,SAAS,UAAU,EACzC,EAAO,MAAM,IAAI,WAAW,CAAI,CAAC,EACjC,EAAO,MAAM,EAEb,IAAM,EAAS,EAAO,SAAS,UAAU,EACnC,EAAuB,CAAC,EAE9B,MAAO,GAAM,CACX,IAAQ,OAAM,SAAU,MAAM,EAAO,KAAK,EAC1C,GAAI,EAAM,MACV,EAAO,KAAK,CAAK,EAGnB,IAAM,EAAc,EAAO,OAAO,CAAC,EAAK,IAAU,EAAM,EAAM,OAAQ,CAAC,EACjE,EAAS,IAAI,WAAW,CAAW,EACrC,EAAS,EACb,QAAW,KAAS,EAClB,EAAO,IAAI,EAAO,CAAM,EACxB,GAAU,EAAM,OAGlB,EAAa,EACb,EAAW,UACX,MAAO,EAAO,CAEd,EAAa,KAKjB,GAAI,CAAC,GAAc,EAAe,SAAS,MAAM,GAAK,OAAO,kBAAsB,IACjF,GAAI,CACF,IAAM,EAAS,IAAI,kBAAkB,MAAM,EACrC,EAAS,EAAO,SAAS,UAAU,EACzC,EAAO,MAAM,IAAI,WAAW,CAAI,CAAC,EACjC,EAAO,MAAM,EAEb,IAAM,EAAS,EAAO,SAAS,UAAU,EACnC,EAAuB,CAAC,EAE9B,MAAO,GAAM,CACX,IAAQ,OAAM,SAAU,MAAM,EAAO,KAAK,EAC1C,GAAI,EAAM,MACV,EAAO,KAAK,CAAK,EAGnB,IAAM,EAAc,EAAO,OAAO,CAAC,EAAK,IAAU,EAAM,EAAM,OAAQ,CAAC,EACjE,EAAS,IAAI,WAAW,CAAW,EACrC,EAAS,EACb,QAAW,KAAS,EAClB,EAAO,IAAI,EAAO,CAAM,EACxB,GAAU,EAAM,OAGlB,EAAa,EACb,EAAW,OACX,MAAO,EAAO,CAEd,EAAa,KAKjB,GAAI,GAAc,GAAY,EAAW,WAAa,EAAK,WAAY,CAErE,IAAM,EAAU,IAAI,QAAQ,EAAS,OAAO,EAe5C,OAdA,EAAQ,IAAI,mBAAoB,CAAQ,EACxC,EAAQ,IAAI,iBAAkB,EAAW,WAAW,SAAS,CAAC,EAC9D,EAAQ,OAAO,gBAAgB,EAGX,IAAI,SAAS,EAAY,CAC3C,OAAQ,EAAS,OACjB,WAAY,EAAS,WACrB,SACF,CAAC",
|
|
10
|
+
"debugId": "2707303D91F78C3064756E2164756E21",
|
|
11
|
+
"names": []
|
|
12
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
var F3=Object.create;var{getPrototypeOf:S3,defineProperty:u$,getOwnPropertyNames:t1,getOwnPropertyDescriptor:M3}=Object,e1=Object.prototype.hasOwnProperty;var v3=($,X,J)=>{J=$!=null?F3(S3($)):{};let q=X||!$||!$.__esModule?u$(J,"default",{value:$,enumerable:!0}):J;for(let W of t1($))if(!e1.call(q,W))u$(q,W,{get:()=>$[W],enumerable:!0});return q},a1=new WeakMap,$0=($)=>{var X=a1.get($),J;if(X)return X;if(X=u$({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function")t1($).map((q)=>!e1.call(X,q)&&u$(X,q,{get:()=>$[q],enumerable:!(J=M3($,q))||J.enumerable}));return a1.set($,X),X},O3=($,X)=>()=>(X||$((X={exports:{}}).exports,X),X.exports);var E1=($,X)=>{for(var J in X)u$($,J,{get:X[J],enumerable:!0,configurable:!0,set:(q)=>X[J]=()=>q})};var t6=($,X)=>()=>($&&(X=$($=0)),X);var r0=O3(()=>{/*! *****************************************************************************
|
|
2
|
+
Copyright (C) Microsoft. All rights reserved.
|
|
3
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
4
|
+
this file except in compliance with the License. You may obtain a copy of the
|
|
5
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
|
|
7
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
8
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
9
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
10
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
11
|
+
|
|
12
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
|
13
|
+
and limitations under the License.
|
|
14
|
+
***************************************************************************** */var o0;(function($){(function(X){var J=typeof globalThis==="object"?globalThis:typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:H(),q=W($);if(typeof J.Reflect<"u")q=W(J.Reflect,q);if(X(q,J),typeof J.Reflect>"u")J.Reflect=$;function W(D,R){return function(O,u){if(Object.defineProperty(D,O,{configurable:!0,writable:!0,value:u}),R)R(O,u)}}function Y(){try{return Function("return this;")()}catch(D){}}function _(){try{return(0,eval)("(function() { return this; })()")}catch(D){}}function H(){return Y()||_()}})(function(X,J){var q=Object.prototype.hasOwnProperty,W=typeof Symbol==="function",Y=W&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",_=W&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",H=typeof Object.create==="function",D={__proto__:[]}instanceof Array,R=!H&&!D,O={create:H?function(){return N1(Object.create(null))}:D?function(){return N1({__proto__:null})}:function(){return N1({})},has:R?function(B,Q){return q.call(B,Q)}:function(B,Q){return Q in B},get:R?function(B,Q){return q.call(B,Q)?B[Q]:void 0}:function(B,Q){return B[Q]}},u=Object.getPrototypeOf(Function),p=typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:j3(),D1=typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:L3(),G1=typeof WeakMap==="function"?WeakMap:R3(),U$=W?Symbol.for("@reflect-metadata:registry"):void 0,e$=N3(),T1=E3(e$);function a0(B,Q,G,N){if(!v(G)){if(!n1(B))throw TypeError();if(!h(Q))throw TypeError();if(!h(N)&&!v(N)&&!b$(N))throw TypeError();if(b$(N))N=void 0;return G=X$(G),Q3(B,Q,G,N)}else{if(!n1(B))throw TypeError();if(!c1(Q))throw TypeError();return B3(B,Q)}}X("decorate",a0);function t0(B,Q){function G(N,F){if(!h(N))throw TypeError();if(!v(F)&&!w3(F))throw TypeError();l1(B,Q,N,F)}return G}X("metadata",t0);function e0(B,Q,G,N){if(!h(G))throw TypeError();if(!v(N))N=X$(N);return l1(B,Q,G,N)}X("defineMetadata",e0);function $3(B,Q,G){if(!h(Q))throw TypeError();if(!v(G))G=X$(G);return g1(B,Q,G)}X("hasMetadata",$3);function X3(B,Q,G){if(!h(Q))throw TypeError();if(!v(G))G=X$(G);return z1(B,Q,G)}X("hasOwnMetadata",X3);function J3(B,Q,G){if(!h(Q))throw TypeError();if(!v(G))G=X$(G);return x1(B,Q,G)}X("getMetadata",J3);function q3(B,Q,G){if(!h(Q))throw TypeError();if(!v(G))G=X$(G);return h1(B,Q,G)}X("getOwnMetadata",q3);function W3(B,Q){if(!h(B))throw TypeError();if(!v(Q))Q=X$(Q);return Z1(B,Q)}X("getMetadataKeys",W3);function Y3(B,Q){if(!h(B))throw TypeError();if(!v(Q))Q=X$(Q);return m1(B,Q)}X("getOwnMetadataKeys",Y3);function _3(B,Q,G){if(!h(Q))throw TypeError();if(!v(G))G=X$(G);if(!h(Q))throw TypeError();if(!v(G))G=X$(G);var N=m$(Q,G,!1);if(v(N))return!1;return N.OrdinaryDeleteMetadata(B,Q,G)}X("deleteMetadata",_3);function B3(B,Q){for(var G=B.length-1;G>=0;--G){var N=B[G],F=N(Q);if(!v(F)&&!b$(F)){if(!c1(F))throw TypeError();Q=F}}return Q}function Q3(B,Q,G,N){for(var F=B.length-1;F>=0;--F){var l=B[F],m=l(Q,G,N);if(!v(m)&&!b$(m)){if(!h(m))throw TypeError();N=m}}return N}function g1(B,Q,G){var N=z1(B,Q,G);if(N)return!0;var F=A1(Q);if(!b$(F))return g1(B,F,G);return!1}function z1(B,Q,G){var N=m$(Q,G,!1);if(v(N))return!1;return y1(N.OrdinaryHasOwnMetadata(B,Q,G))}function x1(B,Q,G){var N=z1(B,Q,G);if(N)return h1(B,Q,G);var F=A1(Q);if(!b$(F))return x1(B,F,G);return}function h1(B,Q,G){var N=m$(Q,G,!1);if(v(N))return;return N.OrdinaryGetOwnMetadata(B,Q,G)}function l1(B,Q,G,N){var F=m$(G,N,!0);F.OrdinaryDefineOwnMetadata(B,Q,G,N)}function Z1(B,Q){var G=m1(B,Q),N=A1(B);if(N===null)return G;var F=Z1(N,Q);if(F.length<=0)return G;if(G.length<=0)return F;var l=new D1,m=[];for(var K=0,V=G;K<V.length;K++){var j=V[K],L=l.has(j);if(!L)l.add(j),m.push(j)}for(var b=0,I=F;b<I.length;b++){var j=I[b],L=l.has(j);if(!L)l.add(j),m.push(j)}return m}function m1(B,Q){var G=m$(B,Q,!1);if(!G)return[];return G.OrdinaryOwnMetadataKeys(B,Q)}function u1(B){if(B===null)return 1;switch(typeof B){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return B===null?1:6;default:return 6}}function v(B){return B===void 0}function b$(B){return B===null}function H3(B){return typeof B==="symbol"}function h(B){return typeof B==="object"?B!==null:typeof B==="function"}function D3(B,Q){switch(u1(B)){case 0:return B;case 1:return B;case 2:return B;case 3:return B;case 4:return B;case 5:return B}var G=Q===3?"string":Q===5?"number":"default",N=i1(B,Y);if(N!==void 0){var F=N.call(B,G);if(h(F))throw TypeError();return F}return G3(B,G==="default"?"number":G)}function G3(B,Q){if(Q==="string"){var G=B.toString;if(F$(G)){var N=G.call(B);if(!h(N))return N}var F=B.valueOf;if(F$(F)){var N=F.call(B);if(!h(N))return N}}else{var F=B.valueOf;if(F$(F)){var N=F.call(B);if(!h(N))return N}var l=B.toString;if(F$(l)){var N=l.call(B);if(!h(N))return N}}throw TypeError()}function y1(B){return!!B}function z3(B){return""+B}function X$(B){var Q=D3(B,3);if(H3(Q))return Q;return z3(Q)}function n1(B){return Array.isArray?Array.isArray(B):B instanceof Object?B instanceof Array:Object.prototype.toString.call(B)==="[object Array]"}function F$(B){return typeof B==="function"}function c1(B){return typeof B==="function"}function w3(B){switch(u1(B)){case 3:return!0;case 4:return!0;default:return!1}}function w1(B,Q){return B===Q||B!==B&&Q!==Q}function i1(B,Q){var G=B[Q];if(G===void 0||G===null)return;if(!F$(G))throw TypeError();return G}function p1(B){var Q=i1(B,_);if(!F$(Q))throw TypeError();var G=Q.call(B);if(!h(G))throw TypeError();return G}function d1(B){return B.value}function o1(B){var Q=B.next();return Q.done?!1:Q}function r1(B){var Q=B.return;if(Q)Q.call(B)}function A1(B){var Q=Object.getPrototypeOf(B);if(typeof B!=="function"||B===u)return Q;if(Q!==u)return Q;var G=B.prototype,N=G&&Object.getPrototypeOf(G);if(N==null||N===Object.prototype)return Q;var F=N.constructor;if(typeof F!=="function")return Q;if(F===B)return Q;return F}function A3(){var B;if(!v(U$)&&typeof J.Reflect<"u"&&!(U$ in J.Reflect)&&typeof J.Reflect.defineMetadata==="function")B=V3(J.Reflect);var Q,G,N,F=new G1,l={registerProvider:m,getProvider:V,setProvider:L};return l;function m(b){if(!Object.isExtensible(l))throw Error("Cannot add provider to a frozen registry.");switch(!0){case B===b:break;case v(Q):Q=b;break;case Q===b:break;case v(G):G=b;break;case G===b:break;default:if(N===void 0)N=new D1;N.add(b);break}}function K(b,I){if(!v(Q)){if(Q.isProviderFor(b,I))return Q;if(!v(G)){if(G.isProviderFor(b,I))return Q;if(!v(N)){var T=p1(N);while(!0){var Z=o1(T);if(!Z)return;var d=d1(Z);if(d.isProviderFor(b,I))return r1(T),d}}}}if(!v(B)&&B.isProviderFor(b,I))return B;return}function V(b,I){var T=F.get(b),Z;if(!v(T))Z=T.get(I);if(!v(Z))return Z;if(Z=K(b,I),!v(Z)){if(v(T))T=new p,F.set(b,T);T.set(I,Z)}return Z}function j(b){if(v(b))throw TypeError();return Q===b||G===b||!v(N)&&N.has(b)}function L(b,I,T){if(!j(T))throw Error("Metadata provider not registered.");var Z=V(b,I);if(Z!==T){if(!v(Z))return!1;var d=F.get(b);if(v(d))d=new p,F.set(b,d);d.set(I,T)}return!0}}function N3(){var B;if(!v(U$)&&h(J.Reflect)&&Object.isExtensible(J.Reflect))B=J.Reflect[U$];if(v(B))B=A3();if(!v(U$)&&h(J.Reflect)&&Object.isExtensible(J.Reflect))Object.defineProperty(J.Reflect,U$,{enumerable:!1,configurable:!1,writable:!1,value:B});return B}function E3(B){var Q=new G1,G={isProviderFor:function(j,L){var b=Q.get(j);if(v(b))return!1;return b.has(L)},OrdinaryDefineOwnMetadata:m,OrdinaryHasOwnMetadata:F,OrdinaryGetOwnMetadata:l,OrdinaryOwnMetadataKeys:K,OrdinaryDeleteMetadata:V};return e$.registerProvider(G),G;function N(j,L,b){var I=Q.get(j),T=!1;if(v(I)){if(!b)return;I=new p,Q.set(j,I),T=!0}var Z=I.get(L);if(v(Z)){if(!b)return;if(Z=new p,I.set(L,Z),!B.setProvider(j,L,G)){if(I.delete(L),T)Q.delete(j);throw Error("Wrong provider for target.")}}return Z}function F(j,L,b){var I=N(L,b,!1);if(v(I))return!1;return y1(I.has(j))}function l(j,L,b){var I=N(L,b,!1);if(v(I))return;return I.get(j)}function m(j,L,b,I){var T=N(b,I,!0);T.set(j,L)}function K(j,L){var b=[],I=N(j,L,!1);if(v(I))return b;var T=I.keys(),Z=p1(T),d=0;while(!0){var s1=o1(Z);if(!s1)return b.length=d,b;var U3=d1(s1);try{b[d]=U3}catch(b3){try{r1(Z)}finally{throw b3}}d++}}function V(j,L,b){var I=N(L,b,!1);if(v(I))return!1;if(!I.delete(j))return!1;if(I.size===0){var T=Q.get(L);if(!v(T)){if(T.delete(b),T.size===0)Q.delete(T)}}return!0}}function V3(B){var{defineMetadata:Q,hasOwnMetadata:G,getOwnMetadata:N,getOwnMetadataKeys:F,deleteMetadata:l}=B,m=new G1,K={isProviderFor:function(V,j){var L=m.get(V);if(!v(L)&&L.has(j))return!0;if(F(V,j).length){if(v(L))L=new D1,m.set(V,L);return L.add(j),!0}return!1},OrdinaryDefineOwnMetadata:Q,OrdinaryHasOwnMetadata:G,OrdinaryGetOwnMetadata:N,OrdinaryOwnMetadataKeys:F,OrdinaryDeleteMetadata:l};return K}function m$(B,Q,G){var N=e$.getProvider(B,Q);if(!v(N))return N;if(G){if(e$.setProvider(B,Q,T1))return T1;throw Error("Illegal state.")}return}function j3(){var B={},Q=[],G=function(){function K(V,j,L){this._index=0,this._keys=V,this._values=j,this._selector=L}return K.prototype["@@iterator"]=function(){return this},K.prototype[_]=function(){return this},K.prototype.next=function(){var V=this._index;if(V>=0&&V<this._keys.length){var j=this._selector(this._keys[V],this._values[V]);if(V+1>=this._keys.length)this._index=-1,this._keys=Q,this._values=Q;else this._index++;return{value:j,done:!1}}return{value:void 0,done:!0}},K.prototype.throw=function(V){if(this._index>=0)this._index=-1,this._keys=Q,this._values=Q;throw V},K.prototype.return=function(V){if(this._index>=0)this._index=-1,this._keys=Q,this._values=Q;return{value:V,done:!0}},K}(),N=function(){function K(){this._keys=[],this._values=[],this._cacheKey=B,this._cacheIndex=-2}return Object.defineProperty(K.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),K.prototype.has=function(V){return this._find(V,!1)>=0},K.prototype.get=function(V){var j=this._find(V,!1);return j>=0?this._values[j]:void 0},K.prototype.set=function(V,j){var L=this._find(V,!0);return this._values[L]=j,this},K.prototype.delete=function(V){var j=this._find(V,!1);if(j>=0){var L=this._keys.length;for(var b=j+1;b<L;b++)this._keys[b-1]=this._keys[b],this._values[b-1]=this._values[b];if(this._keys.length--,this._values.length--,w1(V,this._cacheKey))this._cacheKey=B,this._cacheIndex=-2;return!0}return!1},K.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=B,this._cacheIndex=-2},K.prototype.keys=function(){return new G(this._keys,this._values,F)},K.prototype.values=function(){return new G(this._keys,this._values,l)},K.prototype.entries=function(){return new G(this._keys,this._values,m)},K.prototype["@@iterator"]=function(){return this.entries()},K.prototype[_]=function(){return this.entries()},K.prototype._find=function(V,j){if(!w1(this._cacheKey,V)){this._cacheIndex=-1;for(var L=0;L<this._keys.length;L++)if(w1(this._keys[L],V)){this._cacheIndex=L;break}}if(this._cacheIndex<0&&j)this._cacheIndex=this._keys.length,this._keys.push(V),this._values.push(void 0);return this._cacheIndex},K}();return N;function F(K,V){return K}function l(K,V){return V}function m(K,V){return[K,V]}}function L3(){var B=function(){function Q(){this._map=new p}return Object.defineProperty(Q.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),Q.prototype.has=function(G){return this._map.has(G)},Q.prototype.add=function(G){return this._map.set(G,G),this},Q.prototype.delete=function(G){return this._map.delete(G)},Q.prototype.clear=function(){this._map.clear()},Q.prototype.keys=function(){return this._map.keys()},Q.prototype.values=function(){return this._map.keys()},Q.prototype.entries=function(){return this._map.entries()},Q.prototype["@@iterator"]=function(){return this.keys()},Q.prototype[_]=function(){return this.keys()},Q}();return B}function R3(){var B=16,Q=O.create(),G=N();return function(){function V(){this._key=N()}return V.prototype.has=function(j){var L=F(j,!1);return L!==void 0?O.has(L,this._key):!1},V.prototype.get=function(j){var L=F(j,!1);return L!==void 0?O.get(L,this._key):void 0},V.prototype.set=function(j,L){var b=F(j,!0);return b[this._key]=L,this},V.prototype.delete=function(j){var L=F(j,!1);return L!==void 0?delete L[this._key]:!1},V.prototype.clear=function(){this._key=N()},V}();function N(){var V;do V="@@WeakMap@@"+K();while(O.has(Q,V));return Q[V]=!0,V}function F(V,j){if(!q.call(V,G)){if(!j)return;Object.defineProperty(V,G,{value:O.create()})}return V[G]}function l(V,j){for(var L=0;L<j;++L)V[L]=Math.random()*255|0;return V}function m(V){if(typeof Uint8Array==="function"){var j=new Uint8Array(V);if(typeof crypto<"u")crypto.getRandomValues(j);else if(typeof msCrypto<"u")msCrypto.getRandomValues(j);else l(j,V);return j}return l(Array(V),V)}function K(){var V=m(B);V[6]=V[6]&79|64,V[8]=V[8]&191|128;var j="";for(var L=0;L<B;++L){var b=V[L];if(L===4||L===6||L===8)j+="-";if(b<16)j+="0";j+=b.toString(16).toLowerCase()}return j}}function N1(B){return B.__=void 0,delete B.__,B}})})(o0||(o0={}))});var p6={};E1(p6,{zodToJsonSchema:()=>d0,ZodToJsonSchemaConverter:()=>L$,OpenAPIGenerator:()=>s$});module.exports=$0(p6);var J0=Symbol("Let zodToJsonSchema decide on which parser to use");var X0={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"},q0=($)=>typeof $==="string"?{...X0,name:$}:{...X0,...$};var W0=($)=>{let X=q0($),J=X.name!==void 0?[...X.basePath,X.definitionPath,X.name]:X.basePath;return{...X,flags:{hasReferencedOpenAiAnyType:!1},currentPath:J,propertyPath:void 0,seen:new Map(Object.entries(X.definitions).map(([q,W])=>[W._def,{def:W._def,path:[...X.basePath,X.definitionPath,q],jsonSchema:void 0}]))}};function V1($,X,J,q){if(!q?.errorMessages)return;if(J)$.errorMessage={...$.errorMessage,[X]:J}}function P($,X,J,q,W){$[X]=J,V1($,X,q,W)}var $1=($,X)=>{let J=0;for(;J<$.length&&J<X.length;J++)if($[J]!==X[J])break;return[($.length-J).toString(),...X.slice(J)].join("/")};var E0={};E1(E0,{void:()=>G6,util:()=>f,unknown:()=>H6,union:()=>N6,undefined:()=>_6,tuple:()=>j6,transformer:()=>C6,symbol:()=>Y6,string:()=>w0,strictObject:()=>A6,setErrorMap:()=>K3,set:()=>U6,record:()=>L6,quotelessJson:()=>C3,promise:()=>O6,preprocess:()=>f6,pipeline:()=>I6,ostring:()=>P6,optional:()=>k6,onumber:()=>T6,oboolean:()=>g6,objectUtil:()=>j1,object:()=>w6,number:()=>A0,nullable:()=>K6,null:()=>B6,never:()=>D6,nativeEnum:()=>v6,nan:()=>J6,map:()=>R6,makeIssue:()=>y$,literal:()=>S6,lazy:()=>F6,late:()=>$6,isValid:()=>H$,isDirty:()=>J1,isAsync:()=>M$,isAborted:()=>X1,intersection:()=>V6,instanceof:()=>X6,getParsedType:()=>J$,getErrorMap:()=>S$,function:()=>b6,enum:()=>M6,effect:()=>C6,discriminatedUnion:()=>E6,defaultErrorMap:()=>Y$,datetimeRegex:()=>D0,date:()=>W6,custom:()=>z0,coerce:()=>x6,boolean:()=>N0,bigint:()=>q6,array:()=>z6,any:()=>Q6,addIssueToContext:()=>E,ZodVoid:()=>c$,ZodUnknown:()=>D$,ZodUnion:()=>f$,ZodUndefined:()=>k$,ZodType:()=>k,ZodTuple:()=>W$,ZodTransformer:()=>t,ZodSymbol:()=>n$,ZodString:()=>o,ZodSet:()=>V$,ZodSchema:()=>k,ZodRecord:()=>i$,ZodReadonly:()=>l$,ZodPromise:()=>j$,ZodPipeline:()=>o$,ZodParsedType:()=>A,ZodOptional:()=>s,ZodObject:()=>x,ZodNumber:()=>G$,ZodNullable:()=>B$,ZodNull:()=>K$,ZodNever:()=>q$,ZodNativeEnum:()=>g$,ZodNaN:()=>d$,ZodMap:()=>p$,ZodLiteral:()=>T$,ZodLazy:()=>P$,ZodIssueCode:()=>z,ZodIntersection:()=>I$,ZodFunction:()=>O$,ZodFirstPartyTypeKind:()=>w,ZodError:()=>y,ZodEnum:()=>w$,ZodEffects:()=>t,ZodDiscriminatedUnion:()=>q1,ZodDefault:()=>x$,ZodDate:()=>N$,ZodCatch:()=>h$,ZodBranded:()=>W1,ZodBoolean:()=>C$,ZodBigInt:()=>z$,ZodArray:()=>r,ZodAny:()=>E$,Schema:()=>k,ParseStatus:()=>n,OK:()=>c,NEVER:()=>h6,INVALID:()=>S,EMPTY_PATH:()=>f3,DIRTY:()=>A$,BRAND:()=>e3});var f;(function($){$.assertEqual=(W)=>{};function X(W){}$.assertIs=X;function J(W){throw Error()}$.assertNever=J,$.arrayToEnum=(W)=>{let Y={};for(let _ of W)Y[_]=_;return Y},$.getValidEnumValues=(W)=>{let Y=$.objectKeys(W).filter((H)=>typeof W[W[H]]!=="number"),_={};for(let H of Y)_[H]=W[H];return $.objectValues(_)},$.objectValues=(W)=>{return $.objectKeys(W).map(function(Y){return W[Y]})},$.objectKeys=typeof Object.keys==="function"?(W)=>Object.keys(W):(W)=>{let Y=[];for(let _ in W)if(Object.prototype.hasOwnProperty.call(W,_))Y.push(_);return Y},$.find=(W,Y)=>{for(let _ of W)if(Y(_))return _;return},$.isInteger=typeof Number.isInteger==="function"?(W)=>Number.isInteger(W):(W)=>typeof W==="number"&&Number.isFinite(W)&&Math.floor(W)===W;function q(W,Y=" | "){return W.map((_)=>typeof _==="string"?`'${_}'`:_).join(Y)}$.joinValues=q,$.jsonStringifyReplacer=(W,Y)=>{if(typeof Y==="bigint")return Y.toString();return Y}})(f||(f={}));var j1;(function($){$.mergeShapes=(X,J)=>{return{...X,...J}}})(j1||(j1={}));var A=f.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),J$=($)=>{switch(typeof $){case"undefined":return A.undefined;case"string":return A.string;case"number":return Number.isNaN($)?A.nan:A.number;case"boolean":return A.boolean;case"function":return A.function;case"bigint":return A.bigint;case"symbol":return A.symbol;case"object":if(Array.isArray($))return A.array;if($===null)return A.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return A.promise;if(typeof Map<"u"&&$ instanceof Map)return A.map;if(typeof Set<"u"&&$ instanceof Set)return A.set;if(typeof Date<"u"&&$ instanceof Date)return A.date;return A.object;default:return A.unknown}};var z=f.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),C3=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class y extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(J)=>{this.issues=[...this.issues,J]},this.addIssues=(J=[])=>{this.issues=[...this.issues,...J]};let X=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,X);else this.__proto__=X;this.name="ZodError",this.issues=$}format($){let X=$||function(W){return W.message},J={_errors:[]},q=(W)=>{for(let Y of W.issues)if(Y.code==="invalid_union")Y.unionErrors.map(q);else if(Y.code==="invalid_return_type")q(Y.returnTypeError);else if(Y.code==="invalid_arguments")q(Y.argumentsError);else if(Y.path.length===0)J._errors.push(X(Y));else{let _=J,H=0;while(H<Y.path.length){let D=Y.path[H];if(H!==Y.path.length-1)_[D]=_[D]||{_errors:[]};else _[D]=_[D]||{_errors:[]},_[D]._errors.push(X(Y));_=_[D],H++}}};return q(this),J}static assert($){if(!($ instanceof y))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,f.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(X)=>X.message){let X={},J=[];for(let q of this.issues)if(q.path.length>0){let W=q.path[0];X[W]=X[W]||[],X[W].push($(q))}else J.push($(q));return{formErrors:J,fieldErrors:X}}get formErrors(){return this.flatten()}}y.create=($)=>{return new y($)};var k3=($,X)=>{let J;switch($.code){case z.invalid_type:if($.received===A.undefined)J="Required";else J=`Expected ${$.expected}, received ${$.received}`;break;case z.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify($.expected,f.jsonStringifyReplacer)}`;break;case z.unrecognized_keys:J=`Unrecognized key(s) in object: ${f.joinValues($.keys,", ")}`;break;case z.invalid_union:J="Invalid input";break;case z.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${f.joinValues($.options)}`;break;case z.invalid_enum_value:J=`Invalid enum value. Expected ${f.joinValues($.options)}, received '${$.received}'`;break;case z.invalid_arguments:J="Invalid function arguments";break;case z.invalid_return_type:J="Invalid function return type";break;case z.invalid_date:J="Invalid date";break;case z.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(J=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")J=`${J} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)J=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)J=`Invalid input: must end with "${$.validation.endsWith}"`;else f.assertNever($.validation);else if($.validation!=="regex")J=`Invalid ${$.validation}`;else J="Invalid";break;case z.too_small:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else J="Invalid input";break;case z.too_big:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")J=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else J="Invalid input";break;case z.custom:J="Invalid input";break;case z.invalid_intersection_types:J="Intersection results could not be merged";break;case z.not_multiple_of:J=`Number must be a multiple of ${$.multipleOf}`;break;case z.not_finite:J="Number must be finite";break;default:J=X.defaultError,f.assertNever($)}return{message:J}},Y$=k3;var Y0=Y$;function K3($){Y0=$}function S$(){return Y0}var y$=($)=>{let{data:X,path:J,errorMaps:q,issueData:W}=$,Y=[...J,...W.path||[]],_={...W,path:Y};if(W.message!==void 0)return{...W,path:Y,message:W.message};let H="",D=q.filter((R)=>!!R).slice().reverse();for(let R of D)H=R(_,{data:X,defaultError:H}).message;return{...W,path:Y,message:H}},f3=[];function E($,X){let J=S$(),q=y$({issueData:X,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,J,J===Y$?void 0:Y$].filter((W)=>!!W)});$.common.issues.push(q)}class n{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,X){let J=[];for(let q of X){if(q.status==="aborted")return S;if(q.status==="dirty")$.dirty();J.push(q.value)}return{status:$.value,value:J}}static async mergeObjectAsync($,X){let J=[];for(let q of X){let W=await q.key,Y=await q.value;J.push({key:W,value:Y})}return n.mergeObjectSync($,J)}static mergeObjectSync($,X){let J={};for(let q of X){let{key:W,value:Y}=q;if(W.status==="aborted")return S;if(Y.status==="aborted")return S;if(W.status==="dirty")$.dirty();if(Y.status==="dirty")$.dirty();if(W.value!=="__proto__"&&(typeof Y.value<"u"||q.alwaysSet))J[W.value]=Y.value}return{status:$.value,value:J}}}var S=Object.freeze({status:"aborted"}),A$=($)=>({status:"dirty",value:$}),c=($)=>({status:"valid",value:$}),X1=($)=>$.status==="aborted",J1=($)=>$.status==="dirty",H$=($)=>$.status==="valid",M$=($)=>typeof Promise<"u"&&$ instanceof Promise;var U;(function($){$.errToObj=(X)=>typeof X==="string"?{message:X}:X||{},$.toString=(X)=>typeof X==="string"?X:X?.message})(U||(U={}));class a{constructor($,X,J,q){this._cachedPath=[],this.parent=$,this.data=X,this._path=J,this._key=q}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 _0=($,X)=>{if(H$(X))return{success:!0,data:X.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 J=new y($.common.issues);return this._error=J,this._error}}}};function C($){if(!$)return{};let{errorMap:X,invalid_type_error:J,required_error:q,description:W}=$;if(X&&(J||q))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(X)return{errorMap:X,description:W};return{errorMap:(_,H)=>{let{message:D}=$;if(_.code==="invalid_enum_value")return{message:D??H.defaultError};if(typeof H.data>"u")return{message:D??q??H.defaultError};if(_.code!=="invalid_type")return{message:H.defaultError};return{message:D??J??H.defaultError}},description:W}}class k{get description(){return this._def.description}_getType($){return J$($.data)}_getOrReturnCtx($,X){return X||{common:$.parent.common,data:$.data,parsedType:J$($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new n,ctx:{common:$.parent.common,data:$.data,parsedType:J$($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let X=this._parse($);if(M$(X))throw Error("Synchronous parse encountered promise.");return X}_parseAsync($){let X=this._parse($);return Promise.resolve(X)}parse($,X){let J=this.safeParse($,X);if(J.success)return J.data;throw J.error}safeParse($,X){let J={common:{issues:[],async:X?.async??!1,contextualErrorMap:X?.errorMap},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:J$($)},q=this._parseSync({data:$,path:J.path,parent:J});return _0(J,q)}"~validate"($){let X={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:J$($)};if(!this["~standard"].async)try{let J=this._parseSync({data:$,path:[],parent:X});return H$(J)?{value:J.value}:{issues:X.common.issues}}catch(J){if(J?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;X.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:X}).then((J)=>H$(J)?{value:J.value}:{issues:X.common.issues})}async parseAsync($,X){let J=await this.safeParseAsync($,X);if(J.success)return J.data;throw J.error}async safeParseAsync($,X){let J={common:{issues:[],contextualErrorMap:X?.errorMap,async:!0},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:J$($)},q=this._parse({data:$,path:J.path,parent:J}),W=await(M$(q)?q:Promise.resolve(q));return _0(J,W)}refine($,X){let J=(q)=>{if(typeof X==="string"||typeof X>"u")return{message:X};else if(typeof X==="function")return X(q);else return X};return this._refinement((q,W)=>{let Y=$(q),_=()=>W.addIssue({code:z.custom,...J(q)});if(typeof Promise<"u"&&Y instanceof Promise)return Y.then((H)=>{if(!H)return _(),!1;else return!0});if(!Y)return _(),!1;else return!0})}refinement($,X){return this._refinement((J,q)=>{if(!$(J))return q.addIssue(typeof X==="function"?X(J,q):X),!1;else return!0})}_refinement($){return new t({schema:this,typeName:w.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:(X)=>this["~validate"](X)}}optional(){return s.create(this,this._def)}nullable(){return B$.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return r.create(this)}promise(){return j$.create(this,this._def)}or($){return f$.create([this,$],this._def)}and($){return I$.create(this,$,this._def)}transform($){return new t({...C(this._def),schema:this,typeName:w.ZodEffects,effect:{type:"transform",transform:$}})}default($){let X=typeof $==="function"?$:()=>$;return new x$({...C(this._def),innerType:this,defaultValue:X,typeName:w.ZodDefault})}brand(){return new W1({typeName:w.ZodBranded,type:this,...C(this._def)})}catch($){let X=typeof $==="function"?$:()=>$;return new h$({...C(this._def),innerType:this,catchValue:X,typeName:w.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return o$.create(this,$)}readonly(){return l$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var I3=/^c[^\s-]{8,}$/i,P3=/^[0-9a-z]+$/,T3=/^[0-9A-HJKMNP-TV-Z]{26}$/i,g3=/^[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,x3=/^[a-z0-9_-]{21}$/i,h3=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,l3=/^[-+]?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)?)??$/,Z3=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,m3="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",L1,u3=/^(?:(?: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])$/,y3=/^(?:(?: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])$/,n3=/^(([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]))$/,c3=/^(([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])$/,i3=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,p3=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Q0="((\\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])))",d3=new RegExp(`^${Q0}$`);function H0($){let X="[0-5]\\d";if($.precision)X=`${X}\\.\\d{${$.precision}}`;else if($.precision==null)X=`${X}(\\.\\d+)?`;let J=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${X})${J}`}function o3($){return new RegExp(`^${H0($)}$`)}function D0($){let X=`${Q0}T${H0($)}`,J=[];if(J.push($.local?"Z?":"Z"),$.offset)J.push("([+-]\\d{2}:?\\d{2})");return X=`${X}(${J.join("|")})`,new RegExp(`^${X}$`)}function r3($,X){if((X==="v4"||!X)&&u3.test($))return!0;if((X==="v6"||!X)&&n3.test($))return!0;return!1}function s3($,X){if(!h3.test($))return!1;try{let[J]=$.split(".");if(!J)return!1;let q=J.replace(/-/g,"+").replace(/_/g,"/").padEnd(J.length+(4-J.length%4)%4,"="),W=JSON.parse(atob(q));if(typeof W!=="object"||W===null)return!1;if("typ"in W&&W?.typ!=="JWT")return!1;if(!W.alg)return!1;if(X&&W.alg!==X)return!1;return!0}catch{return!1}}function a3($,X){if((X==="v4"||!X)&&y3.test($))return!0;if((X==="v6"||!X)&&c3.test($))return!0;return!1}class o extends k{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==A.string){let W=this._getOrReturnCtx($);return E(W,{code:z.invalid_type,expected:A.string,received:W.parsedType}),S}let J=new n,q=void 0;for(let W of this._def.checks)if(W.kind==="min"){if($.data.length<W.value)q=this._getOrReturnCtx($,q),E(q,{code:z.too_small,minimum:W.value,type:"string",inclusive:!0,exact:!1,message:W.message}),J.dirty()}else if(W.kind==="max"){if($.data.length>W.value)q=this._getOrReturnCtx($,q),E(q,{code:z.too_big,maximum:W.value,type:"string",inclusive:!0,exact:!1,message:W.message}),J.dirty()}else if(W.kind==="length"){let Y=$.data.length>W.value,_=$.data.length<W.value;if(Y||_){if(q=this._getOrReturnCtx($,q),Y)E(q,{code:z.too_big,maximum:W.value,type:"string",inclusive:!0,exact:!0,message:W.message});else if(_)E(q,{code:z.too_small,minimum:W.value,type:"string",inclusive:!0,exact:!0,message:W.message});J.dirty()}}else if(W.kind==="email"){if(!Z3.test($.data))q=this._getOrReturnCtx($,q),E(q,{validation:"email",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="emoji"){if(!L1)L1=new RegExp(m3,"u");if(!L1.test($.data))q=this._getOrReturnCtx($,q),E(q,{validation:"emoji",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="uuid"){if(!g3.test($.data))q=this._getOrReturnCtx($,q),E(q,{validation:"uuid",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="nanoid"){if(!x3.test($.data))q=this._getOrReturnCtx($,q),E(q,{validation:"nanoid",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="cuid"){if(!I3.test($.data))q=this._getOrReturnCtx($,q),E(q,{validation:"cuid",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="cuid2"){if(!P3.test($.data))q=this._getOrReturnCtx($,q),E(q,{validation:"cuid2",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="ulid"){if(!T3.test($.data))q=this._getOrReturnCtx($,q),E(q,{validation:"ulid",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="url")try{new URL($.data)}catch{q=this._getOrReturnCtx($,q),E(q,{validation:"url",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="regex"){if(W.regex.lastIndex=0,!W.regex.test($.data))q=this._getOrReturnCtx($,q),E(q,{validation:"regex",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="trim")$.data=$.data.trim();else if(W.kind==="includes"){if(!$.data.includes(W.value,W.position))q=this._getOrReturnCtx($,q),E(q,{code:z.invalid_string,validation:{includes:W.value,position:W.position},message:W.message}),J.dirty()}else if(W.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(W.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(W.kind==="startsWith"){if(!$.data.startsWith(W.value))q=this._getOrReturnCtx($,q),E(q,{code:z.invalid_string,validation:{startsWith:W.value},message:W.message}),J.dirty()}else if(W.kind==="endsWith"){if(!$.data.endsWith(W.value))q=this._getOrReturnCtx($,q),E(q,{code:z.invalid_string,validation:{endsWith:W.value},message:W.message}),J.dirty()}else if(W.kind==="datetime"){if(!D0(W).test($.data))q=this._getOrReturnCtx($,q),E(q,{code:z.invalid_string,validation:"datetime",message:W.message}),J.dirty()}else if(W.kind==="date"){if(!d3.test($.data))q=this._getOrReturnCtx($,q),E(q,{code:z.invalid_string,validation:"date",message:W.message}),J.dirty()}else if(W.kind==="time"){if(!o3(W).test($.data))q=this._getOrReturnCtx($,q),E(q,{code:z.invalid_string,validation:"time",message:W.message}),J.dirty()}else if(W.kind==="duration"){if(!l3.test($.data))q=this._getOrReturnCtx($,q),E(q,{validation:"duration",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="ip"){if(!r3($.data,W.version))q=this._getOrReturnCtx($,q),E(q,{validation:"ip",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="jwt"){if(!s3($.data,W.alg))q=this._getOrReturnCtx($,q),E(q,{validation:"jwt",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="cidr"){if(!a3($.data,W.version))q=this._getOrReturnCtx($,q),E(q,{validation:"cidr",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="base64"){if(!i3.test($.data))q=this._getOrReturnCtx($,q),E(q,{validation:"base64",code:z.invalid_string,message:W.message}),J.dirty()}else if(W.kind==="base64url"){if(!p3.test($.data))q=this._getOrReturnCtx($,q),E(q,{validation:"base64url",code:z.invalid_string,message:W.message}),J.dirty()}else f.assertNever(W);return{status:J.value,value:$.data}}_regex($,X,J){return this.refinement((q)=>$.test(q),{validation:X,code:z.invalid_string,...U.errToObj(J)})}_addCheck($){return new o({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...U.errToObj($)})}url($){return this._addCheck({kind:"url",...U.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...U.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...U.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...U.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...U.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...U.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...U.errToObj($)})}base64($){return this._addCheck({kind:"base64",...U.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...U.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...U.errToObj($)})}ip($){return this._addCheck({kind:"ip",...U.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...U.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,...U.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,...U.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...U.errToObj($)})}regex($,X){return this._addCheck({kind:"regex",regex:$,...U.errToObj(X)})}includes($,X){return this._addCheck({kind:"includes",value:$,position:X?.position,...U.errToObj(X?.message)})}startsWith($,X){return this._addCheck({kind:"startsWith",value:$,...U.errToObj(X)})}endsWith($,X){return this._addCheck({kind:"endsWith",value:$,...U.errToObj(X)})}min($,X){return this._addCheck({kind:"min",value:$,...U.errToObj(X)})}max($,X){return this._addCheck({kind:"max",value:$,...U.errToObj(X)})}length($,X){return this._addCheck({kind:"length",value:$,...U.errToObj(X)})}nonempty($){return this.min(1,U.errToObj($))}trim(){return new o({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new o({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new o({...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 X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxLength(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}}o.create=($)=>{return new o({checks:[],typeName:w.ZodString,coerce:$?.coerce??!1,...C($)})};function t3($,X){let J=($.toString().split(".")[1]||"").length,q=(X.toString().split(".")[1]||"").length,W=J>q?J:q,Y=Number.parseInt($.toFixed(W).replace(".","")),_=Number.parseInt(X.toFixed(W).replace(".",""));return Y%_/10**W}class G$ extends k{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==A.number){let W=this._getOrReturnCtx($);return E(W,{code:z.invalid_type,expected:A.number,received:W.parsedType}),S}let J=void 0,q=new n;for(let W of this._def.checks)if(W.kind==="int"){if(!f.isInteger($.data))J=this._getOrReturnCtx($,J),E(J,{code:z.invalid_type,expected:"integer",received:"float",message:W.message}),q.dirty()}else if(W.kind==="min"){if(W.inclusive?$.data<W.value:$.data<=W.value)J=this._getOrReturnCtx($,J),E(J,{code:z.too_small,minimum:W.value,type:"number",inclusive:W.inclusive,exact:!1,message:W.message}),q.dirty()}else if(W.kind==="max"){if(W.inclusive?$.data>W.value:$.data>=W.value)J=this._getOrReturnCtx($,J),E(J,{code:z.too_big,maximum:W.value,type:"number",inclusive:W.inclusive,exact:!1,message:W.message}),q.dirty()}else if(W.kind==="multipleOf"){if(t3($.data,W.value)!==0)J=this._getOrReturnCtx($,J),E(J,{code:z.not_multiple_of,multipleOf:W.value,message:W.message}),q.dirty()}else if(W.kind==="finite"){if(!Number.isFinite($.data))J=this._getOrReturnCtx($,J),E(J,{code:z.not_finite,message:W.message}),q.dirty()}else f.assertNever(W);return{status:q.value,value:$.data}}gte($,X){return this.setLimit("min",$,!0,U.toString(X))}gt($,X){return this.setLimit("min",$,!1,U.toString(X))}lte($,X){return this.setLimit("max",$,!0,U.toString(X))}lt($,X){return this.setLimit("max",$,!1,U.toString(X))}setLimit($,X,J,q){return new G$({...this._def,checks:[...this._def.checks,{kind:$,value:X,inclusive:J,message:U.toString(q)}]})}_addCheck($){return new G$({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:U.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:U.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:U.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:U.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:U.toString($)})}multipleOf($,X){return this._addCheck({kind:"multipleOf",value:$,message:U.toString(X)})}finite($){return this._addCheck({kind:"finite",message:U.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:U.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:U.toString($)})}get minValue(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxValue(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&f.isInteger($.value))}get isFinite(){let $=null,X=null;for(let J of this._def.checks)if(J.kind==="finite"||J.kind==="int"||J.kind==="multipleOf")return!0;else if(J.kind==="min"){if(X===null||J.value>X)X=J.value}else if(J.kind==="max"){if($===null||J.value<$)$=J.value}return Number.isFinite(X)&&Number.isFinite($)}}G$.create=($)=>{return new G$({checks:[],typeName:w.ZodNumber,coerce:$?.coerce||!1,...C($)})};class z$ extends k{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==A.bigint)return this._getInvalidInput($);let J=void 0,q=new n;for(let W of this._def.checks)if(W.kind==="min"){if(W.inclusive?$.data<W.value:$.data<=W.value)J=this._getOrReturnCtx($,J),E(J,{code:z.too_small,type:"bigint",minimum:W.value,inclusive:W.inclusive,message:W.message}),q.dirty()}else if(W.kind==="max"){if(W.inclusive?$.data>W.value:$.data>=W.value)J=this._getOrReturnCtx($,J),E(J,{code:z.too_big,type:"bigint",maximum:W.value,inclusive:W.inclusive,message:W.message}),q.dirty()}else if(W.kind==="multipleOf"){if($.data%W.value!==BigInt(0))J=this._getOrReturnCtx($,J),E(J,{code:z.not_multiple_of,multipleOf:W.value,message:W.message}),q.dirty()}else f.assertNever(W);return{status:q.value,value:$.data}}_getInvalidInput($){let X=this._getOrReturnCtx($);return E(X,{code:z.invalid_type,expected:A.bigint,received:X.parsedType}),S}gte($,X){return this.setLimit("min",$,!0,U.toString(X))}gt($,X){return this.setLimit("min",$,!1,U.toString(X))}lte($,X){return this.setLimit("max",$,!0,U.toString(X))}lt($,X){return this.setLimit("max",$,!1,U.toString(X))}setLimit($,X,J,q){return new z$({...this._def,checks:[...this._def.checks,{kind:$,value:X,inclusive:J,message:U.toString(q)}]})}_addCheck($){return new z$({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:U.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:U.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:U.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:U.toString($)})}multipleOf($,X){return this._addCheck({kind:"multipleOf",value:$,message:U.toString(X)})}get minValue(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxValue(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}}z$.create=($)=>{return new z$({checks:[],typeName:w.ZodBigInt,coerce:$?.coerce??!1,...C($)})};class C$ extends k{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==A.boolean){let J=this._getOrReturnCtx($);return E(J,{code:z.invalid_type,expected:A.boolean,received:J.parsedType}),S}return c($.data)}}C$.create=($)=>{return new C$({typeName:w.ZodBoolean,coerce:$?.coerce||!1,...C($)})};class N$ extends k{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==A.date){let W=this._getOrReturnCtx($);return E(W,{code:z.invalid_type,expected:A.date,received:W.parsedType}),S}if(Number.isNaN($.data.getTime())){let W=this._getOrReturnCtx($);return E(W,{code:z.invalid_date}),S}let J=new n,q=void 0;for(let W of this._def.checks)if(W.kind==="min"){if($.data.getTime()<W.value)q=this._getOrReturnCtx($,q),E(q,{code:z.too_small,message:W.message,inclusive:!0,exact:!1,minimum:W.value,type:"date"}),J.dirty()}else if(W.kind==="max"){if($.data.getTime()>W.value)q=this._getOrReturnCtx($,q),E(q,{code:z.too_big,message:W.message,inclusive:!0,exact:!1,maximum:W.value,type:"date"}),J.dirty()}else f.assertNever(W);return{status:J.value,value:new Date($.data.getTime())}}_addCheck($){return new N$({...this._def,checks:[...this._def.checks,$]})}min($,X){return this._addCheck({kind:"min",value:$.getTime(),message:U.toString(X)})}max($,X){return this._addCheck({kind:"max",value:$.getTime(),message:U.toString(X)})}get minDate(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $!=null?new Date($):null}}N$.create=($)=>{return new N$({checks:[],coerce:$?.coerce||!1,typeName:w.ZodDate,...C($)})};class n$ extends k{_parse($){if(this._getType($)!==A.symbol){let J=this._getOrReturnCtx($);return E(J,{code:z.invalid_type,expected:A.symbol,received:J.parsedType}),S}return c($.data)}}n$.create=($)=>{return new n$({typeName:w.ZodSymbol,...C($)})};class k$ extends k{_parse($){if(this._getType($)!==A.undefined){let J=this._getOrReturnCtx($);return E(J,{code:z.invalid_type,expected:A.undefined,received:J.parsedType}),S}return c($.data)}}k$.create=($)=>{return new k$({typeName:w.ZodUndefined,...C($)})};class K$ extends k{_parse($){if(this._getType($)!==A.null){let J=this._getOrReturnCtx($);return E(J,{code:z.invalid_type,expected:A.null,received:J.parsedType}),S}return c($.data)}}K$.create=($)=>{return new K$({typeName:w.ZodNull,...C($)})};class E$ extends k{constructor(){super(...arguments);this._any=!0}_parse($){return c($.data)}}E$.create=($)=>{return new E$({typeName:w.ZodAny,...C($)})};class D$ extends k{constructor(){super(...arguments);this._unknown=!0}_parse($){return c($.data)}}D$.create=($)=>{return new D$({typeName:w.ZodUnknown,...C($)})};class q$ extends k{_parse($){let X=this._getOrReturnCtx($);return E(X,{code:z.invalid_type,expected:A.never,received:X.parsedType}),S}}q$.create=($)=>{return new q$({typeName:w.ZodNever,...C($)})};class c$ extends k{_parse($){if(this._getType($)!==A.undefined){let J=this._getOrReturnCtx($);return E(J,{code:z.invalid_type,expected:A.void,received:J.parsedType}),S}return c($.data)}}c$.create=($)=>{return new c$({typeName:w.ZodVoid,...C($)})};class r extends k{_parse($){let{ctx:X,status:J}=this._processInputParams($),q=this._def;if(X.parsedType!==A.array)return E(X,{code:z.invalid_type,expected:A.array,received:X.parsedType}),S;if(q.exactLength!==null){let Y=X.data.length>q.exactLength.value,_=X.data.length<q.exactLength.value;if(Y||_)E(X,{code:Y?z.too_big:z.too_small,minimum:_?q.exactLength.value:void 0,maximum:Y?q.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:q.exactLength.message}),J.dirty()}if(q.minLength!==null){if(X.data.length<q.minLength.value)E(X,{code:z.too_small,minimum:q.minLength.value,type:"array",inclusive:!0,exact:!1,message:q.minLength.message}),J.dirty()}if(q.maxLength!==null){if(X.data.length>q.maxLength.value)E(X,{code:z.too_big,maximum:q.maxLength.value,type:"array",inclusive:!0,exact:!1,message:q.maxLength.message}),J.dirty()}if(X.common.async)return Promise.all([...X.data].map((Y,_)=>{return q.type._parseAsync(new a(X,Y,X.path,_))})).then((Y)=>{return n.mergeArray(J,Y)});let W=[...X.data].map((Y,_)=>{return q.type._parseSync(new a(X,Y,X.path,_))});return n.mergeArray(J,W)}get element(){return this._def.type}min($,X){return new r({...this._def,minLength:{value:$,message:U.toString(X)}})}max($,X){return new r({...this._def,maxLength:{value:$,message:U.toString(X)}})}length($,X){return new r({...this._def,exactLength:{value:$,message:U.toString(X)}})}nonempty($){return this.min(1,$)}}r.create=($,X)=>{return new r({type:$,minLength:null,maxLength:null,exactLength:null,typeName:w.ZodArray,...C(X)})};function v$($){if($ instanceof x){let X={};for(let J in $.shape){let q=$.shape[J];X[J]=s.create(v$(q))}return new x({...$._def,shape:()=>X})}else if($ instanceof r)return new r({...$._def,type:v$($.element)});else if($ instanceof s)return s.create(v$($.unwrap()));else if($ instanceof B$)return B$.create(v$($.unwrap()));else if($ instanceof W$)return W$.create($.items.map((X)=>v$(X)));else return $}class x extends k{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),X=f.objectKeys($);return this._cached={shape:$,keys:X},this._cached}_parse($){if(this._getType($)!==A.object){let D=this._getOrReturnCtx($);return E(D,{code:z.invalid_type,expected:A.object,received:D.parsedType}),S}let{status:J,ctx:q}=this._processInputParams($),{shape:W,keys:Y}=this._getCached(),_=[];if(!(this._def.catchall instanceof q$&&this._def.unknownKeys==="strip")){for(let D in q.data)if(!Y.includes(D))_.push(D)}let H=[];for(let D of Y){let R=W[D],O=q.data[D];H.push({key:{status:"valid",value:D},value:R._parse(new a(q,O,q.path,D)),alwaysSet:D in q.data})}if(this._def.catchall instanceof q$){let D=this._def.unknownKeys;if(D==="passthrough")for(let R of _)H.push({key:{status:"valid",value:R},value:{status:"valid",value:q.data[R]}});else if(D==="strict"){if(_.length>0)E(q,{code:z.unrecognized_keys,keys:_}),J.dirty()}else if(D==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let D=this._def.catchall;for(let R of _){let O=q.data[R];H.push({key:{status:"valid",value:R},value:D._parse(new a(q,O,q.path,R)),alwaysSet:R in q.data})}}if(q.common.async)return Promise.resolve().then(async()=>{let D=[];for(let R of H){let O=await R.key,u=await R.value;D.push({key:O,value:u,alwaysSet:R.alwaysSet})}return D}).then((D)=>{return n.mergeObjectSync(J,D)});else return n.mergeObjectSync(J,H)}get shape(){return this._def.shape()}strict($){return U.errToObj,new x({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(X,J)=>{let q=this._def.errorMap?.(X,J).message??J.defaultError;if(X.code==="unrecognized_keys")return{message:U.errToObj($).message??q};return{message:q}}}:{}})}strip(){return new x({...this._def,unknownKeys:"strip"})}passthrough(){return new x({...this._def,unknownKeys:"passthrough"})}extend($){return new x({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new x({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:w.ZodObject})}setKey($,X){return this.augment({[$]:X})}catchall($){return new x({...this._def,catchall:$})}pick($){let X={};for(let J of f.objectKeys($))if($[J]&&this.shape[J])X[J]=this.shape[J];return new x({...this._def,shape:()=>X})}omit($){let X={};for(let J of f.objectKeys(this.shape))if(!$[J])X[J]=this.shape[J];return new x({...this._def,shape:()=>X})}deepPartial(){return v$(this)}partial($){let X={};for(let J of f.objectKeys(this.shape)){let q=this.shape[J];if($&&!$[J])X[J]=q;else X[J]=q.optional()}return new x({...this._def,shape:()=>X})}required($){let X={};for(let J of f.objectKeys(this.shape))if($&&!$[J])X[J]=this.shape[J];else{let W=this.shape[J];while(W instanceof s)W=W._def.innerType;X[J]=W}return new x({...this._def,shape:()=>X})}keyof(){return G0(f.objectKeys(this.shape))}}x.create=($,X)=>{return new x({shape:()=>$,unknownKeys:"strip",catchall:q$.create(),typeName:w.ZodObject,...C(X)})};x.strictCreate=($,X)=>{return new x({shape:()=>$,unknownKeys:"strict",catchall:q$.create(),typeName:w.ZodObject,...C(X)})};x.lazycreate=($,X)=>{return new x({shape:$,unknownKeys:"strip",catchall:q$.create(),typeName:w.ZodObject,...C(X)})};class f$ extends k{_parse($){let{ctx:X}=this._processInputParams($),J=this._def.options;function q(W){for(let _ of W)if(_.result.status==="valid")return _.result;for(let _ of W)if(_.result.status==="dirty")return X.common.issues.push(..._.ctx.common.issues),_.result;let Y=W.map((_)=>new y(_.ctx.common.issues));return E(X,{code:z.invalid_union,unionErrors:Y}),S}if(X.common.async)return Promise.all(J.map(async(W)=>{let Y={...X,common:{...X.common,issues:[]},parent:null};return{result:await W._parseAsync({data:X.data,path:X.path,parent:Y}),ctx:Y}})).then(q);else{let W=void 0,Y=[];for(let H of J){let D={...X,common:{...X.common,issues:[]},parent:null},R=H._parseSync({data:X.data,path:X.path,parent:D});if(R.status==="valid")return R;else if(R.status==="dirty"&&!W)W={result:R,ctx:D};if(D.common.issues.length)Y.push(D.common.issues)}if(W)return X.common.issues.push(...W.ctx.common.issues),W.result;let _=Y.map((H)=>new y(H));return E(X,{code:z.invalid_union,unionErrors:_}),S}}get options(){return this._def.options}}f$.create=($,X)=>{return new f$({options:$,typeName:w.ZodUnion,...C(X)})};var _$=($)=>{if($ instanceof P$)return _$($.schema);else if($ instanceof t)return _$($.innerType());else if($ instanceof T$)return[$.value];else if($ instanceof w$)return $.options;else if($ instanceof g$)return f.objectValues($.enum);else if($ instanceof x$)return _$($._def.innerType);else if($ instanceof k$)return[void 0];else if($ instanceof K$)return[null];else if($ instanceof s)return[void 0,..._$($.unwrap())];else if($ instanceof B$)return[null,..._$($.unwrap())];else if($ instanceof W1)return _$($.unwrap());else if($ instanceof l$)return _$($.unwrap());else if($ instanceof h$)return _$($._def.innerType);else return[]};class q1 extends k{_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==A.object)return E(X,{code:z.invalid_type,expected:A.object,received:X.parsedType}),S;let J=this.discriminator,q=X.data[J],W=this.optionsMap.get(q);if(!W)return E(X,{code:z.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),S;if(X.common.async)return W._parseAsync({data:X.data,path:X.path,parent:X});else return W._parseSync({data:X.data,path:X.path,parent:X})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,X,J){let q=new Map;for(let W of X){let Y=_$(W.shape[$]);if(!Y.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let _ of Y){if(q.has(_))throw Error(`Discriminator property ${String($)} has duplicate value ${String(_)}`);q.set(_,W)}}return new q1({typeName:w.ZodDiscriminatedUnion,discriminator:$,options:X,optionsMap:q,...C(J)})}}function R1($,X){let J=J$($),q=J$(X);if($===X)return{valid:!0,data:$};else if(J===A.object&&q===A.object){let W=f.objectKeys(X),Y=f.objectKeys($).filter((H)=>W.indexOf(H)!==-1),_={...$,...X};for(let H of Y){let D=R1($[H],X[H]);if(!D.valid)return{valid:!1};_[H]=D.data}return{valid:!0,data:_}}else if(J===A.array&&q===A.array){if($.length!==X.length)return{valid:!1};let W=[];for(let Y=0;Y<$.length;Y++){let _=$[Y],H=X[Y],D=R1(_,H);if(!D.valid)return{valid:!1};W.push(D.data)}return{valid:!0,data:W}}else if(J===A.date&&q===A.date&&+$===+X)return{valid:!0,data:$};else return{valid:!1}}class I$ extends k{_parse($){let{status:X,ctx:J}=this._processInputParams($),q=(W,Y)=>{if(X1(W)||X1(Y))return S;let _=R1(W.value,Y.value);if(!_.valid)return E(J,{code:z.invalid_intersection_types}),S;if(J1(W)||J1(Y))X.dirty();return{status:X.value,value:_.data}};if(J.common.async)return Promise.all([this._def.left._parseAsync({data:J.data,path:J.path,parent:J}),this._def.right._parseAsync({data:J.data,path:J.path,parent:J})]).then(([W,Y])=>q(W,Y));else return q(this._def.left._parseSync({data:J.data,path:J.path,parent:J}),this._def.right._parseSync({data:J.data,path:J.path,parent:J}))}}I$.create=($,X,J)=>{return new I$({left:$,right:X,typeName:w.ZodIntersection,...C(J)})};class W$ extends k{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==A.array)return E(J,{code:z.invalid_type,expected:A.array,received:J.parsedType}),S;if(J.data.length<this._def.items.length)return E(J,{code:z.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),S;if(!this._def.rest&&J.data.length>this._def.items.length)E(J,{code:z.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X.dirty();let W=[...J.data].map((Y,_)=>{let H=this._def.items[_]||this._def.rest;if(!H)return null;return H._parse(new a(J,Y,J.path,_))}).filter((Y)=>!!Y);if(J.common.async)return Promise.all(W).then((Y)=>{return n.mergeArray(X,Y)});else return n.mergeArray(X,W)}get items(){return this._def.items}rest($){return new W$({...this._def,rest:$})}}W$.create=($,X)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new W$({items:$,typeName:w.ZodTuple,rest:null,...C(X)})};class i$ extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==A.object)return E(J,{code:z.invalid_type,expected:A.object,received:J.parsedType}),S;let q=[],W=this._def.keyType,Y=this._def.valueType;for(let _ in J.data)q.push({key:W._parse(new a(J,_,J.path,_)),value:Y._parse(new a(J,J.data[_],J.path,_)),alwaysSet:_ in J.data});if(J.common.async)return n.mergeObjectAsync(X,q);else return n.mergeObjectSync(X,q)}get element(){return this._def.valueType}static create($,X,J){if(X instanceof k)return new i$({keyType:$,valueType:X,typeName:w.ZodRecord,...C(J)});return new i$({keyType:o.create(),valueType:$,typeName:w.ZodRecord,...C(X)})}}class p$ extends k{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==A.map)return E(J,{code:z.invalid_type,expected:A.map,received:J.parsedType}),S;let q=this._def.keyType,W=this._def.valueType,Y=[...J.data.entries()].map(([_,H],D)=>{return{key:q._parse(new a(J,_,J.path,[D,"key"])),value:W._parse(new a(J,H,J.path,[D,"value"]))}});if(J.common.async){let _=new Map;return Promise.resolve().then(async()=>{for(let H of Y){let D=await H.key,R=await H.value;if(D.status==="aborted"||R.status==="aborted")return S;if(D.status==="dirty"||R.status==="dirty")X.dirty();_.set(D.value,R.value)}return{status:X.value,value:_}})}else{let _=new Map;for(let H of Y){let{key:D,value:R}=H;if(D.status==="aborted"||R.status==="aborted")return S;if(D.status==="dirty"||R.status==="dirty")X.dirty();_.set(D.value,R.value)}return{status:X.value,value:_}}}}p$.create=($,X,J)=>{return new p$({valueType:X,keyType:$,typeName:w.ZodMap,...C(J)})};class V$ extends k{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==A.set)return E(J,{code:z.invalid_type,expected:A.set,received:J.parsedType}),S;let q=this._def;if(q.minSize!==null){if(J.data.size<q.minSize.value)E(J,{code:z.too_small,minimum:q.minSize.value,type:"set",inclusive:!0,exact:!1,message:q.minSize.message}),X.dirty()}if(q.maxSize!==null){if(J.data.size>q.maxSize.value)E(J,{code:z.too_big,maximum:q.maxSize.value,type:"set",inclusive:!0,exact:!1,message:q.maxSize.message}),X.dirty()}let W=this._def.valueType;function Y(H){let D=new Set;for(let R of H){if(R.status==="aborted")return S;if(R.status==="dirty")X.dirty();D.add(R.value)}return{status:X.value,value:D}}let _=[...J.data.values()].map((H,D)=>W._parse(new a(J,H,J.path,D)));if(J.common.async)return Promise.all(_).then((H)=>Y(H));else return Y(_)}min($,X){return new V$({...this._def,minSize:{value:$,message:U.toString(X)}})}max($,X){return new V$({...this._def,maxSize:{value:$,message:U.toString(X)}})}size($,X){return this.min($,X).max($,X)}nonempty($){return this.min(1,$)}}V$.create=($,X)=>{return new V$({valueType:$,minSize:null,maxSize:null,typeName:w.ZodSet,...C(X)})};class O$ extends k{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==A.function)return E(X,{code:z.invalid_type,expected:A.function,received:X.parsedType}),S;function J(_,H){return y$({data:_,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,S$(),Y$].filter((D)=>!!D),issueData:{code:z.invalid_arguments,argumentsError:H}})}function q(_,H){return y$({data:_,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,S$(),Y$].filter((D)=>!!D),issueData:{code:z.invalid_return_type,returnTypeError:H}})}let W={errorMap:X.common.contextualErrorMap},Y=X.data;if(this._def.returns instanceof j$){let _=this;return c(async function(...H){let D=new y([]),R=await _._def.args.parseAsync(H,W).catch((p)=>{throw D.addIssue(J(H,p)),D}),O=await Reflect.apply(Y,this,R);return await _._def.returns._def.type.parseAsync(O,W).catch((p)=>{throw D.addIssue(q(O,p)),D})})}else{let _=this;return c(function(...H){let D=_._def.args.safeParse(H,W);if(!D.success)throw new y([J(H,D.error)]);let R=Reflect.apply(Y,this,D.data),O=_._def.returns.safeParse(R,W);if(!O.success)throw new y([q(R,O.error)]);return O.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new O$({...this._def,args:W$.create($).rest(D$.create())})}returns($){return new O$({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,X,J){return new O$({args:$?$:W$.create([]).rest(D$.create()),returns:X||D$.create(),typeName:w.ZodFunction,...C(J)})}}class P$ extends k{get schema(){return this._def.getter()}_parse($){let{ctx:X}=this._processInputParams($);return this._def.getter()._parse({data:X.data,path:X.path,parent:X})}}P$.create=($,X)=>{return new P$({getter:$,typeName:w.ZodLazy,...C(X)})};class T$ extends k{_parse($){if($.data!==this._def.value){let X=this._getOrReturnCtx($);return E(X,{received:X.data,code:z.invalid_literal,expected:this._def.value}),S}return{status:"valid",value:$.data}}get value(){return this._def.value}}T$.create=($,X)=>{return new T$({value:$,typeName:w.ZodLiteral,...C(X)})};function G0($,X){return new w$({values:$,typeName:w.ZodEnum,...C(X)})}class w$ extends k{_parse($){if(typeof $.data!=="string"){let X=this._getOrReturnCtx($),J=this._def.values;return E(X,{expected:f.joinValues(J),received:X.parsedType,code:z.invalid_type}),S}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let X=this._getOrReturnCtx($),J=this._def.values;return E(X,{received:X.data,code:z.invalid_enum_value,options:J}),S}return c($.data)}get options(){return this._def.values}get enum(){let $={};for(let X of this._def.values)$[X]=X;return $}get Values(){let $={};for(let X of this._def.values)$[X]=X;return $}get Enum(){let $={};for(let X of this._def.values)$[X]=X;return $}extract($,X=this._def){return w$.create($,{...this._def,...X})}exclude($,X=this._def){return w$.create(this.options.filter((J)=>!$.includes(J)),{...this._def,...X})}}w$.create=G0;class g$ extends k{_parse($){let X=f.getValidEnumValues(this._def.values),J=this._getOrReturnCtx($);if(J.parsedType!==A.string&&J.parsedType!==A.number){let q=f.objectValues(X);return E(J,{expected:f.joinValues(q),received:J.parsedType,code:z.invalid_type}),S}if(!this._cache)this._cache=new Set(f.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let q=f.objectValues(X);return E(J,{received:J.data,code:z.invalid_enum_value,options:q}),S}return c($.data)}get enum(){return this._def.values}}g$.create=($,X)=>{return new g$({values:$,typeName:w.ZodNativeEnum,...C(X)})};class j$ extends k{unwrap(){return this._def.type}_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==A.promise&&X.common.async===!1)return E(X,{code:z.invalid_type,expected:A.promise,received:X.parsedType}),S;let J=X.parsedType===A.promise?X.data:Promise.resolve(X.data);return c(J.then((q)=>{return this._def.type.parseAsync(q,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}j$.create=($,X)=>{return new j$({type:$,typeName:w.ZodPromise,...C(X)})};class t extends k{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===w.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:X,ctx:J}=this._processInputParams($),q=this._def.effect||null,W={addIssue:(Y)=>{if(E(J,Y),Y.fatal)X.abort();else X.dirty()},get path(){return J.path}};if(W.addIssue=W.addIssue.bind(W),q.type==="preprocess"){let Y=q.transform(J.data,W);if(J.common.async)return Promise.resolve(Y).then(async(_)=>{if(X.value==="aborted")return S;let H=await this._def.schema._parseAsync({data:_,path:J.path,parent:J});if(H.status==="aborted")return S;if(H.status==="dirty")return A$(H.value);if(X.value==="dirty")return A$(H.value);return H});else{if(X.value==="aborted")return S;let _=this._def.schema._parseSync({data:Y,path:J.path,parent:J});if(_.status==="aborted")return S;if(_.status==="dirty")return A$(_.value);if(X.value==="dirty")return A$(_.value);return _}}if(q.type==="refinement"){let Y=(_)=>{let H=q.refinement(_,W);if(J.common.async)return Promise.resolve(H);if(H instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return _};if(J.common.async===!1){let _=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(_.status==="aborted")return S;if(_.status==="dirty")X.dirty();return Y(_.value),{status:X.value,value:_.value}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((_)=>{if(_.status==="aborted")return S;if(_.status==="dirty")X.dirty();return Y(_.value).then(()=>{return{status:X.value,value:_.value}})})}if(q.type==="transform")if(J.common.async===!1){let Y=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(!H$(Y))return S;let _=q.transform(Y.value,W);if(_ instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:X.value,value:_}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((Y)=>{if(!H$(Y))return S;return Promise.resolve(q.transform(Y.value,W)).then((_)=>({status:X.value,value:_}))});f.assertNever(q)}}t.create=($,X,J)=>{return new t({schema:$,typeName:w.ZodEffects,effect:X,...C(J)})};t.createWithPreprocess=($,X,J)=>{return new t({schema:X,effect:{type:"preprocess",transform:$},typeName:w.ZodEffects,...C(J)})};class s extends k{_parse($){if(this._getType($)===A.undefined)return c(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}s.create=($,X)=>{return new s({innerType:$,typeName:w.ZodOptional,...C(X)})};class B$ extends k{_parse($){if(this._getType($)===A.null)return c(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}B$.create=($,X)=>{return new B$({innerType:$,typeName:w.ZodNullable,...C(X)})};class x$ extends k{_parse($){let{ctx:X}=this._processInputParams($),J=X.data;if(X.parsedType===A.undefined)J=this._def.defaultValue();return this._def.innerType._parse({data:J,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}x$.create=($,X)=>{return new x$({innerType:$,typeName:w.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...C(X)})};class h$ extends k{_parse($){let{ctx:X}=this._processInputParams($),J={...X,common:{...X.common,issues:[]}},q=this._def.innerType._parse({data:J.data,path:J.path,parent:{...J}});if(M$(q))return q.then((W)=>{return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new y(J.common.issues)},input:J.data})}});else return{status:"valid",value:q.status==="valid"?q.value:this._def.catchValue({get error(){return new y(J.common.issues)},input:J.data})}}removeCatch(){return this._def.innerType}}h$.create=($,X)=>{return new h$({innerType:$,typeName:w.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...C(X)})};class d$ extends k{_parse($){if(this._getType($)!==A.nan){let J=this._getOrReturnCtx($);return E(J,{code:z.invalid_type,expected:A.nan,received:J.parsedType}),S}return{status:"valid",value:$.data}}}d$.create=($)=>{return new d$({typeName:w.ZodNaN,...C($)})};var e3=Symbol("zod_brand");class W1 extends k{_parse($){let{ctx:X}=this._processInputParams($),J=X.data;return this._def.type._parse({data:J,path:X.path,parent:X})}unwrap(){return this._def.type}}class o$ extends k{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.common.async)return(async()=>{let W=await this._def.in._parseAsync({data:J.data,path:J.path,parent:J});if(W.status==="aborted")return S;if(W.status==="dirty")return X.dirty(),A$(W.value);else return this._def.out._parseAsync({data:W.value,path:J.path,parent:J})})();else{let q=this._def.in._parseSync({data:J.data,path:J.path,parent:J});if(q.status==="aborted")return S;if(q.status==="dirty")return X.dirty(),{status:"dirty",value:q.value};else return this._def.out._parseSync({data:q.value,path:J.path,parent:J})}}static create($,X){return new o$({in:$,out:X,typeName:w.ZodPipeline})}}class l$ extends k{_parse($){let X=this._def.innerType._parse($),J=(q)=>{if(H$(q))q.value=Object.freeze(q.value);return q};return M$(X)?X.then((q)=>J(q)):J(X)}unwrap(){return this._def.innerType}}l$.create=($,X)=>{return new l$({innerType:$,typeName:w.ZodReadonly,...C(X)})};function B0($,X){let J=typeof $==="function"?$(X):typeof $==="string"?{message:$}:$;return typeof J==="string"?{message:J}:J}function z0($,X={},J){if($)return E$.create().superRefine((q,W)=>{let Y=$(q);if(Y instanceof Promise)return Y.then((_)=>{if(!_){let H=B0(X,q),D=H.fatal??J??!0;W.addIssue({code:"custom",...H,fatal:D})}});if(!Y){let _=B0(X,q),H=_.fatal??J??!0;W.addIssue({code:"custom",..._,fatal:H})}return});return E$.create()}var $6={object:x.lazycreate},w;(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"})(w||(w={}));var X6=($,X={message:`Input not instance of ${$.name}`})=>z0((J)=>J instanceof $,X),w0=o.create,A0=G$.create,J6=d$.create,q6=z$.create,N0=C$.create,W6=N$.create,Y6=n$.create,_6=k$.create,B6=K$.create,Q6=E$.create,H6=D$.create,D6=q$.create,G6=c$.create,z6=r.create,w6=x.create,A6=x.strictCreate,N6=f$.create,E6=q1.create,V6=I$.create,j6=W$.create,L6=i$.create,R6=p$.create,U6=V$.create,b6=O$.create,F6=P$.create,S6=T$.create,M6=w$.create,v6=g$.create,O6=j$.create,C6=t.create,k6=s.create,K6=B$.create,f6=t.createWithPreprocess,I6=o$.create,P6=()=>w0().optional(),T6=()=>A0().optional(),g6=()=>N0().optional(),x6={string:($)=>o.create({...$,coerce:!0}),number:($)=>G$.create({...$,coerce:!0}),boolean:($)=>C$.create({...$,coerce:!0}),bigint:($)=>z$.create({...$,coerce:!0}),date:($)=>N$.create({...$,coerce:!0})};var h6=S;function g($){if($.target!=="openAi")return{};let X=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?$1(X,$.currentPath):X.join("/")}}function V0($,X){let J={type:"array"};if($.type?._def&&$.type?._def?.typeName!==w.ZodAny)J.items=M($.type._def,{...X,currentPath:[...X.currentPath,"items"]});if($.minLength)P(J,"minItems",$.minLength.value,$.minLength.message,X);if($.maxLength)P(J,"maxItems",$.maxLength.value,$.maxLength.message,X);if($.exactLength)P(J,"minItems",$.exactLength.value,$.exactLength.message,X),P(J,"maxItems",$.exactLength.value,$.exactLength.message,X);return J}function j0($,X){let J={type:"integer",format:"int64"};if(!$.checks)return J;for(let q of $.checks)switch(q.kind){case"min":if(X.target==="jsonSchema7")if(q.inclusive)P(J,"minimum",q.value,q.message,X);else P(J,"exclusiveMinimum",q.value,q.message,X);else{if(!q.inclusive)J.exclusiveMinimum=!0;P(J,"minimum",q.value,q.message,X)}break;case"max":if(X.target==="jsonSchema7")if(q.inclusive)P(J,"maximum",q.value,q.message,X);else P(J,"exclusiveMaximum",q.value,q.message,X);else{if(!q.inclusive)J.exclusiveMaximum=!0;P(J,"maximum",q.value,q.message,X)}break;case"multipleOf":P(J,"multipleOf",q.value,q.message,X);break}return J}function L0(){return{type:"boolean"}}function Y1($,X){return M($.type._def,X)}var R0=($,X)=>{return M($.innerType._def,X)};function U1($,X,J){let q=J??X.dateStrategy;if(Array.isArray(q))return{anyOf:q.map((W,Y)=>U1($,X,W))};switch(q){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return l6($,X)}}var l6=($,X)=>{let J={type:"integer",format:"unix-time"};if(X.target==="openApi3")return J;for(let q of $.checks)switch(q.kind){case"min":P(J,"minimum",q.value,q.message,X);break;case"max":P(J,"maximum",q.value,q.message,X);break}return J};function U0($,X){return{...M($.innerType._def,X),default:$.defaultValue()}}function b0($,X){return X.effectStrategy==="input"?M($.schema._def,X):g(X)}function F0($){return{type:"string",enum:Array.from($.values)}}var Z6=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function S0($,X){let J=[M($.left._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),M($.right._def,{...X,currentPath:[...X.currentPath,"allOf","1"]})].filter((Y)=>!!Y),q=X.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,W=[];return J.forEach((Y)=>{if(Z6(Y)){if(W.push(...Y.allOf),Y.unevaluatedProperties===void 0)q=void 0}else{let _=Y;if("additionalProperties"in Y&&Y.additionalProperties===!1){let{additionalProperties:H,...D}=Y;_=D}else q=void 0;W.push(_)}}),W.length?{allOf:W,...q}:void 0}function M0($,X){let J=typeof $.value;if(J!=="bigint"&&J!=="number"&&J!=="boolean"&&J!=="string")return{type:Array.isArray($.value)?"array":"object"};if(X.target==="openApi3")return{type:J==="bigint"?"integer":J,enum:[$.value]};return{type:J==="bigint"?"integer":J,const:$.value}}var b1=void 0,e={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(b1===void 0)b1=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return b1},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 _1($,X){let J={type:"string"};if($.checks)for(let q of $.checks)switch(q.kind){case"min":P(J,"minLength",typeof J.minLength==="number"?Math.max(J.minLength,q.value):q.value,q.message,X);break;case"max":P(J,"maxLength",typeof J.maxLength==="number"?Math.min(J.maxLength,q.value):q.value,q.message,X);break;case"email":switch(X.emailStrategy){case"format:email":$$(J,"email",q.message,X);break;case"format:idn-email":$$(J,"idn-email",q.message,X);break;case"pattern:zod":i(J,e.email,q.message,X);break}break;case"url":$$(J,"uri",q.message,X);break;case"uuid":$$(J,"uuid",q.message,X);break;case"regex":i(J,q.regex,q.message,X);break;case"cuid":i(J,e.cuid,q.message,X);break;case"cuid2":i(J,e.cuid2,q.message,X);break;case"startsWith":i(J,RegExp(`^${F1(q.value,X)}`),q.message,X);break;case"endsWith":i(J,RegExp(`${F1(q.value,X)}$`),q.message,X);break;case"datetime":$$(J,"date-time",q.message,X);break;case"date":$$(J,"date",q.message,X);break;case"time":$$(J,"time",q.message,X);break;case"duration":$$(J,"duration",q.message,X);break;case"length":P(J,"minLength",typeof J.minLength==="number"?Math.max(J.minLength,q.value):q.value,q.message,X),P(J,"maxLength",typeof J.maxLength==="number"?Math.min(J.maxLength,q.value):q.value,q.message,X);break;case"includes":{i(J,RegExp(F1(q.value,X)),q.message,X);break}case"ip":{if(q.version!=="v6")$$(J,"ipv4",q.message,X);if(q.version!=="v4")$$(J,"ipv6",q.message,X);break}case"base64url":i(J,e.base64url,q.message,X);break;case"jwt":i(J,e.jwt,q.message,X);break;case"cidr":{if(q.version!=="v6")i(J,e.ipv4Cidr,q.message,X);if(q.version!=="v4")i(J,e.ipv6Cidr,q.message,X);break}case"emoji":i(J,e.emoji(),q.message,X);break;case"ulid":{i(J,e.ulid,q.message,X);break}case"base64":{switch(X.base64Strategy){case"format:binary":{$$(J,"binary",q.message,X);break}case"contentEncoding:base64":{P(J,"contentEncoding","base64",q.message,X);break}case"pattern:zod":{i(J,e.base64,q.message,X);break}}break}case"nanoid":i(J,e.nanoid,q.message,X);case"toLowerCase":case"toUpperCase":case"trim":break;default:((W)=>{})(q)}return J}function F1($,X){return X.patternStrategy==="escape"?u6($):$}var m6=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function u6($){let X="";for(let J=0;J<$.length;J++){if(!m6.has($[J]))X+="\\";X+=$[J]}return X}function $$($,X,J,q){if($.format||$.anyOf?.some((W)=>W.format)){if(!$.anyOf)$.anyOf=[];if($.format){if($.anyOf.push({format:$.format,...$.errorMessage&&q.errorMessages&&{errorMessage:{format:$.errorMessage.format}}}),delete $.format,$.errorMessage){if(delete $.errorMessage.format,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.anyOf.push({format:X,...J&&q.errorMessages&&{errorMessage:{format:J}}})}else P($,"format",X,J,q)}function i($,X,J,q){if($.pattern||$.allOf?.some((W)=>W.pattern)){if(!$.allOf)$.allOf=[];if($.pattern){if($.allOf.push({pattern:$.pattern,...$.errorMessage&&q.errorMessages&&{errorMessage:{pattern:$.errorMessage.pattern}}}),delete $.pattern,$.errorMessage){if(delete $.errorMessage.pattern,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.allOf.push({pattern:v0(X,q),...J&&q.errorMessages&&{errorMessage:{pattern:J}}})}else P($,"pattern",v0(X,q),J,q)}function v0($,X){if(!X.applyRegexFlags||!$.flags)return $.source;let J={i:$.flags.includes("i"),m:$.flags.includes("m"),s:$.flags.includes("s")},q=J.i?$.source.toLowerCase():$.source,W="",Y=!1,_=!1,H=!1;for(let D=0;D<q.length;D++){if(Y){W+=q[D],Y=!1;continue}if(J.i){if(_){if(q[D].match(/[a-z]/)){if(H)W+=q[D],W+=`${q[D-2]}-${q[D]}`.toUpperCase(),H=!1;else if(q[D+1]==="-"&&q[D+2]?.match(/[a-z]/))W+=q[D],H=!0;else W+=`${q[D]}${q[D].toUpperCase()}`;continue}}else if(q[D].match(/[a-z]/)){W+=`[${q[D]}${q[D].toUpperCase()}]`;continue}}if(J.m){if(q[D]==="^"){W+=`(^|(?<=[\r
|
|
15
|
+
]))`;continue}else if(q[D]==="$"){W+=`($|(?=[\r
|
|
16
|
+
]))`;continue}}if(J.s&&q[D]==="."){W+=_?`${q[D]}\r
|
|
17
|
+
`:`[${q[D]}\r
|
|
18
|
+
]`;continue}if(W+=q[D],q[D]==="\\")Y=!0;else if(_&&q[D]==="]")_=!1;else if(!_&&q[D]==="[")_=!0}try{new RegExp(W)}catch{return console.warn(`Could not convert regex pattern at ${X.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),$.source}return W}function B1($,X){if(X.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(X.target==="openApi3"&&$.keyType?._def.typeName===w.ZodEnum)return{type:"object",required:$.keyType._def.values,properties:$.keyType._def.values.reduce((q,W)=>({...q,[W]:M($.valueType._def,{...X,currentPath:[...X.currentPath,"properties",W]})??g(X)}),{}),additionalProperties:X.rejectedAdditionalProperties};let J={type:"object",additionalProperties:M($.valueType._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]})??X.allowedAdditionalProperties};if(X.target==="openApi3")return J;if($.keyType?._def.typeName===w.ZodString&&$.keyType._def.checks?.length){let{type:q,...W}=_1($.keyType._def,X);return{...J,propertyNames:W}}else if($.keyType?._def.typeName===w.ZodEnum)return{...J,propertyNames:{enum:$.keyType._def.values}};else if($.keyType?._def.typeName===w.ZodBranded&&$.keyType._def.type._def.typeName===w.ZodString&&$.keyType._def.type._def.checks?.length){let{type:q,...W}=Y1($.keyType._def,X);return{...J,propertyNames:W}}return J}function O0($,X){if(X.mapStrategy==="record")return B1($,X);let J=M($.keyType._def,{...X,currentPath:[...X.currentPath,"items","items","0"]})||g(X),q=M($.valueType._def,{...X,currentPath:[...X.currentPath,"items","items","1"]})||g(X);return{type:"array",maxItems:125,items:{type:"array",items:[J,q],minItems:2,maxItems:2}}}function C0($){let X=$.values,q=Object.keys($.values).filter((Y)=>{return typeof X[X[Y]]!=="number"}).map((Y)=>X[Y]),W=Array.from(new Set(q.map((Y)=>typeof Y)));return{type:W.length===1?W[0]==="string"?"string":"number":["string","number"],enum:q}}function k0($){return $.target==="openAi"?void 0:{not:g({...$,currentPath:[...$.currentPath,"not"]})}}function K0($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var r$={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function I0($,X){if(X.target==="openApi3")return f0($,X);let J=$.options instanceof Map?Array.from($.options.values()):$.options;if(J.every((q)=>(q._def.typeName in r$)&&(!q._def.checks||!q._def.checks.length))){let q=J.reduce((W,Y)=>{let _=r$[Y._def.typeName];return _&&!W.includes(_)?[...W,_]:W},[]);return{type:q.length>1?q:q[0]}}else if(J.every((q)=>q._def.typeName==="ZodLiteral"&&!q.description)){let q=J.reduce((W,Y)=>{let _=typeof Y._def.value;switch(_){case"string":case"number":case"boolean":return[...W,_];case"bigint":return[...W,"integer"];case"object":if(Y._def.value===null)return[...W,"null"];case"symbol":case"undefined":case"function":default:return W}},[]);if(q.length===J.length){let W=q.filter((Y,_,H)=>H.indexOf(Y)===_);return{type:W.length>1?W:W[0],enum:J.reduce((Y,_)=>{return Y.includes(_._def.value)?Y:[...Y,_._def.value]},[])}}}else if(J.every((q)=>q._def.typeName==="ZodEnum"))return{type:"string",enum:J.reduce((q,W)=>[...q,...W._def.values.filter((Y)=>!q.includes(Y))],[])};return f0($,X)}var f0=($,X)=>{let J=($.options instanceof Map?Array.from($.options.values()):$.options).map((q,W)=>M(q._def,{...X,currentPath:[...X.currentPath,"anyOf",`${W}`]})).filter((q)=>!!q&&(!X.strictUnions||typeof q==="object"&&Object.keys(q).length>0));return J.length?{anyOf:J}:void 0};function P0($,X){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(X.target==="openApi3")return{type:r$[$.innerType._def.typeName],nullable:!0};return{type:[r$[$.innerType._def.typeName],"null"]}}if(X.target==="openApi3"){let q=M($.innerType._def,{...X,currentPath:[...X.currentPath]});if(q&&"$ref"in q)return{allOf:[q],nullable:!0};return q&&{...q,nullable:!0}}let J=M($.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","0"]});return J&&{anyOf:[J,{type:"null"}]}}function T0($,X){let J={type:"number"};if(!$.checks)return J;for(let q of $.checks)switch(q.kind){case"int":J.type="integer",V1(J,"type",q.message,X);break;case"min":if(X.target==="jsonSchema7")if(q.inclusive)P(J,"minimum",q.value,q.message,X);else P(J,"exclusiveMinimum",q.value,q.message,X);else{if(!q.inclusive)J.exclusiveMinimum=!0;P(J,"minimum",q.value,q.message,X)}break;case"max":if(X.target==="jsonSchema7")if(q.inclusive)P(J,"maximum",q.value,q.message,X);else P(J,"exclusiveMaximum",q.value,q.message,X);else{if(!q.inclusive)J.exclusiveMaximum=!0;P(J,"maximum",q.value,q.message,X)}break;case"multipleOf":P(J,"multipleOf",q.value,q.message,X);break}return J}function g0($,X){let J=X.target==="openAi",q={type:"object",properties:{}},W=[],Y=$.shape();for(let H in Y){let D=Y[H];if(D===void 0||D._def===void 0)continue;let R=n6(D);if(R&&J){if(D._def.typeName==="ZodOptional")D=D._def.innerType;if(!D.isNullable())D=D.nullable();R=!1}let O=M(D._def,{...X,currentPath:[...X.currentPath,"properties",H],propertyPath:[...X.currentPath,"properties",H]});if(O===void 0)continue;if(q.properties[H]=O,!R)W.push(H)}if(W.length)q.required=W;let _=y6($,X);if(_!==void 0)q.additionalProperties=_;return q}function y6($,X){if($.catchall._def.typeName!=="ZodNever")return M($.catchall._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return X.allowedAdditionalProperties;case"strict":return X.rejectedAdditionalProperties;case"strip":return X.removeAdditionalStrategy==="strict"?X.allowedAdditionalProperties:X.rejectedAdditionalProperties}}function n6($){try{return $.isOptional()}catch{return!0}}var x0=($,X)=>{if(X.currentPath.toString()===X.propertyPath?.toString())return M($.innerType._def,X);let J=M($.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","1"]});return J?{anyOf:[{not:g(X)},J]}:g(X)};var h0=($,X)=>{if(X.pipeStrategy==="input")return M($.in._def,X);else if(X.pipeStrategy==="output")return M($.out._def,X);let J=M($.in._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),q=M($.out._def,{...X,currentPath:[...X.currentPath,"allOf",J?"1":"0"]});return{allOf:[J,q].filter((W)=>W!==void 0)}};function l0($,X){return M($.type._def,X)}function Z0($,X){let q={type:"array",uniqueItems:!0,items:M($.valueType._def,{...X,currentPath:[...X.currentPath,"items"]})};if($.minSize)P(q,"minItems",$.minSize.value,$.minSize.message,X);if($.maxSize)P(q,"maxItems",$.maxSize.value,$.maxSize.message,X);return q}function m0($,X){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((J,q)=>M(J._def,{...X,currentPath:[...X.currentPath,"items",`${q}`]})).reduce((J,q)=>q===void 0?J:[...J,q],[]),additionalItems:M($.rest._def,{...X,currentPath:[...X.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((J,q)=>M(J._def,{...X,currentPath:[...X.currentPath,"items",`${q}`]})).reduce((J,q)=>q===void 0?J:[...J,q],[])}}function u0($){return{not:g($)}}function y0($){return g($)}var n0=($,X)=>{return M($.innerType._def,X)};var c0=($,X,J)=>{switch(X){case w.ZodString:return _1($,J);case w.ZodNumber:return T0($,J);case w.ZodObject:return g0($,J);case w.ZodBigInt:return j0($,J);case w.ZodBoolean:return L0();case w.ZodDate:return U1($,J);case w.ZodUndefined:return u0(J);case w.ZodNull:return K0(J);case w.ZodArray:return V0($,J);case w.ZodUnion:case w.ZodDiscriminatedUnion:return I0($,J);case w.ZodIntersection:return S0($,J);case w.ZodTuple:return m0($,J);case w.ZodRecord:return B1($,J);case w.ZodLiteral:return M0($,J);case w.ZodEnum:return F0($);case w.ZodNativeEnum:return C0($);case w.ZodNullable:return P0($,J);case w.ZodOptional:return x0($,J);case w.ZodMap:return O0($,J);case w.ZodSet:return Z0($,J);case w.ZodLazy:return()=>$.getter()._def;case w.ZodPromise:return l0($,J);case w.ZodNaN:case w.ZodNever:return k0(J);case w.ZodEffects:return b0($,J);case w.ZodAny:return g(J);case w.ZodUnknown:return y0(J);case w.ZodDefault:return U0($,J);case w.ZodBranded:return Y1($,J);case w.ZodReadonly:return n0($,J);case w.ZodCatch:return R0($,J);case w.ZodPipeline:return h0($,J);case w.ZodFunction:case w.ZodVoid:case w.ZodSymbol:return;default:return((q)=>{return})(X)}};function M($,X,J=!1){let q=X.seen.get($);if(X.override){let H=X.override?.($,X,q,J);if(H!==J0)return H}if(q&&!J){let H=c6(q,X);if(H!==void 0)return H}let W={def:$,path:X.currentPath,jsonSchema:void 0};X.seen.set($,W);let Y=c0($,$.typeName,X),_=typeof Y==="function"?M(Y(),X):Y;if(_)i6($,X,_);if(X.postProcess){let H=X.postProcess(_,$,X);return W.jsonSchema=_,H}return W.jsonSchema=_,_}var c6=($,X)=>{switch(X.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:$1(X.currentPath,$.path)};case"none":case"seen":{if($.path.length<X.currentPath.length&&$.path.every((J,q)=>X.currentPath[q]===J))return console.warn(`Recursive reference detected at ${X.currentPath.join("/")}! Defaulting to any`),g(X);return X.$refStrategy==="seen"?g(X):void 0}}},i6=($,X,J)=>{if($.description){if(J.description=$.description,X.markdownDescription)J.markdownDescription=$.description}return J};var Q1=($,X)=>{let J=W0(X),q=typeof X==="object"&&X.definitions?Object.entries(X.definitions).reduce((D,[R,O])=>({...D,[R]:M(O._def,{...J,currentPath:[...J.basePath,J.definitionPath,R]},!0)??g(J)}),{}):void 0,W=typeof X==="string"?X:X?.nameStrategy==="title"?void 0:X?.name,Y=M($._def,W===void 0?J:{...J,currentPath:[...J.basePath,J.definitionPath,W]},!1)??g(J),_=typeof X==="object"&&X.name!==void 0&&X.nameStrategy==="title"?X.name:void 0;if(_!==void 0)Y.title=_;if(J.flags.hasReferencedOpenAiAnyType){if(!q)q={};if(!q[J.openAiAnyTypeName])q[J.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:J.$refStrategy==="relative"?"1":[...J.basePath,J.definitionPath,J.openAiAnyTypeName].join("/")}}}let H=W===void 0?q?{...Y,[J.definitionPath]:q}:Y:{$ref:[...J.$refStrategy==="relative"?[]:J.basePath,J.definitionPath,W].join("/"),[J.definitionPath]:{...q,[W]:Y}};if(J.target==="jsonSchema7")H.$schema="http://json-schema.org/draft-07/schema#";else if(J.target==="jsonSchema2019-09"||J.target==="openAi")H.$schema="https://json-schema.org/draft/2019-09/schema#";if(J.target==="openAi"&&(("anyOf"in H)||("oneOf"in H)||("allOf"in H)||("type"in H)&&Array.isArray(H.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return H};var i0=new WeakMap,p0=0;class L${spec;generatedSchemas=new Set;constructor($){this.spec=$}convert($,X){try{if(X?.reusable||this.shouldBeReusable($))return this.convertToReusableSchema($,X?.name);return this.convertInline($)}catch(J){return console.warn("Failed to convert Zod schema to JSON Schema:",J),{type:"object"}}}convertInline($){let X=Q1($,{target:"openApi3",$refStrategy:"none"});if(X&&typeof X==="object")delete X.$schema;return X}convertToReusableSchema($,X){let J=i0.get($);if(J&&this.generatedSchemas.has(J))return{$ref:`#/components/schemas/${J}`};let q=X||J||this.generateSchemaName();i0.set($,q),this.generatedSchemas.add(q);let W=this.convertInline($);if(!this.spec.components)this.spec.components={schemas:{}};if(!this.spec.components.schemas)this.spec.components.schemas={};return this.spec.components.schemas[q]=W,{$ref:`#/components/schemas/${q}`}}shouldBeReusable($){let X=this.convertInline($);if(X.type==="object"&&X.properties)return Object.keys(X.properties).length>2;if(X.type==="array"&&X.items){let J=X.items;if(J.type==="object"&&J.properties)return!0}if(X.anyOf||X.oneOf||X.allOf)return!0;return!1}generateSchemaName(){return`Schema${++p0}`}static resetCounter(){p0=0}}function d0($,X){if(X)return new L$(X).convert($);try{let J=Q1($,{target:"openApi3",$refStrategy:"none"});if(J&&typeof J==="object")delete J.$schema;return J}catch(J){return console.warn("Failed to convert Zod schema to JSON Schema:",J),{type:"object"}}}class s${metadata;options;converter;constructor($,X){this.metadata=$;this.options={title:X?.title||"FastAPI-TS API",version:X?.version||"1.0.0",description:X?.description||"API built with FastAPI-TS",path:X?.path||"/openapi.json",docsPath:X?.docsPath||"/docs",docs:X?.docs!==!1}}generate(){let $=this.metadata.getRoutes(),X={openapi:"3.0.0",info:{title:this.options.title,version:this.options.version,description:this.options.description},paths:{},components:{schemas:{}}};this.converter=new L$(X);for(let J of $)this.addRouteToSpec(X,J);return X}addRouteToSpec($,X){let J=this.convertPathToOpenAPI(X.path),q=X.method.toLowerCase();if(q==="all"||q==="options")return;if(!$.paths[J])$.paths[J]={};let W={summary:X.docs?.summary,description:X.docs?.description,tags:X.docs?.tags||[],deprecated:X.docs?.deprecated||!1,parameters:this.extractParameters(X,$),responses:this.extractResponses(X,$)},Y=this.extractRequestBody(X,$);if(Y)W.requestBody=Y;if(W.parameters.length===0)delete W.parameters;if(W.tags.length===0)delete W.tags;$.paths[J][q]=W}extractParameters($,X){let J=[];for(let q of $.parameters)if(q.type==="query"||q.type==="param"||q.type==="header"||q.type==="cookie"){let W=this.parameterToOpenAPI(q,$.path,X);if(W)J.push(W)}return J}extractRequestBody($,X){let J=$.parameters.find((q)=>q.type==="body");if(!J||!J.schema)return null;return{required:J.required,content:{"application/json":{schema:this.zodToOpenAPISchema(J.schema,X)}}}}extractResponses($,X){let J={};if($.responses&&$.responses.length>0)for(let q of $.responses)J[q.statusCode.toString()]={description:q.description||this.getDefaultResponseDescription(q.statusCode),content:q.schema?{"application/json":{schema:this.zodToOpenAPISchema(q.schema,X)}}:void 0};else J["200"]={description:"Successful response",content:{"application/json":{schema:{type:"object"}}}};if(!J["422"])J["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 J}convertPathToOpenAPI($){return $.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"{$1}")}parameterToOpenAPI($,X,J){let q,W;switch($.type){case"query":q="query",W=$.name||"query";break;case"param":if(q="path",$.name)W=$.name;else{let _=X.match(/:([a-zA-Z_][a-zA-Z0-9_]*)/);W=_?_[1]:"id"}break;case"header":q="header",W=$.name||"X-Custom-Header";break;case"cookie":q="cookie",W=$.name||"session";break;default:return null}return{name:W,in:q,required:$.required||q==="path",schema:$.schema?this.zodToOpenAPISchema($.schema,J):{type:"string"}}}zodToOpenAPISchema($,X){if(!this.converter)this.converter=new L$(X);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"}}var a6={};E1(a6,{WebSocketPlugin:()=>O1,OpenAPIPlugin:()=>S1,GraphQLPlugin:()=>P1});module.exports=$0(a6);class S1{name="openapi";version="1.0.0";options;constructor($){this.options={title:$?.title||"FastAPI-TS API",version:$?.version||"1.0.0",description:$?.description||"API built with FastAPI-TS",path:$?.path||"/openapi.json",docsPath:$?.docsPath||"/docs",docs:$?.docs!==!1}}async install($){let X=$.getConfig();if(X.title)this.options.title=X.title;if(X.version)this.options.version=X.version;if(X.description)this.options.description=X.description;if($.get(this.options.path,{handler:async()=>{return this.generateSpec($)},docs:{summary:"Get OpenAPI specification",description:"Returns the OpenAPI 3.0 specification for this API",tags:["Documentation"]}}),this.options.docs)$.get(this.options.docsPath,{handler:async(J)=>{return J.html(this.renderSwaggerUI())},docs:{summary:"API Documentation",description:"Interactive API documentation using Swagger UI",tags:["Documentation"]}})}generateSpec($){let X=$.getMetadata();return new s$(X,this.options).generate()}renderSwaggerUI(){return`
|
|
19
|
+
<!DOCTYPE html>
|
|
20
|
+
<html lang="en">
|
|
21
|
+
<head>
|
|
22
|
+
<meta charset="UTF-8">
|
|
23
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
24
|
+
<title>${this.options.title} - API Documentation</title>
|
|
25
|
+
<link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist@5/swagger-ui.css" />
|
|
26
|
+
<style>
|
|
27
|
+
body {
|
|
28
|
+
margin: 0;
|
|
29
|
+
padding: 0;
|
|
30
|
+
}
|
|
31
|
+
</style>
|
|
32
|
+
</head>
|
|
33
|
+
<body>
|
|
34
|
+
<div id="swagger-ui"></div>
|
|
35
|
+
<script src="https://unpkg.com/swagger-ui-dist@5/swagger-ui-bundle.js"></script>
|
|
36
|
+
<script src="https://unpkg.com/swagger-ui-dist@5/swagger-ui-standalone-preset.js"></script>
|
|
37
|
+
<script>
|
|
38
|
+
window.onload = function() {
|
|
39
|
+
window.ui = SwaggerUIBundle({
|
|
40
|
+
url: '${this.options.path}',
|
|
41
|
+
dom_id: '#swagger-ui',
|
|
42
|
+
deepLinking: true,
|
|
43
|
+
presets: [
|
|
44
|
+
SwaggerUIBundle.presets.apis,
|
|
45
|
+
SwaggerUIStandalonePreset
|
|
46
|
+
],
|
|
47
|
+
plugins: [
|
|
48
|
+
SwaggerUIBundle.plugins.DownloadUrl
|
|
49
|
+
],
|
|
50
|
+
layout: "StandaloneLayout"
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
</script>
|
|
54
|
+
</body>
|
|
55
|
+
</html>
|
|
56
|
+
`.trim()}}class M1{manager;id;_ws;constructor($,X,J){this.manager=X;this._ws=$,this.id=J||crypto.randomUUID()}send($){if(!this._ws||this._ws.readyState!==WebSocket.OPEN)return;let X=typeof $==="string"?$:JSON.stringify($);this._ws.send(X)}broadcast($,X){this.manager.broadcast($,X)}join($){this.manager.joinRoom(this.id,$)}leave($){this.manager.leaveRoom(this.id,$)}close($,X){if(this._ws&&this._ws.readyState===WebSocket.OPEN)this._ws.close($,X)}get native(){return this._ws}get isOpen(){return this._ws!==null&&this._ws.readyState===WebSocket.OPEN}_markClosed(){this._ws=null}}class v1{connections=new Map;rooms=new Map;connectionsByRoom=new Map;handleConnection($,X){let J=new M1($,this);if(this.connections.set(J.id,J),X.onConnect)this.executeHandler(X,X.onConnect,J);return $.addEventListener("message",async(q)=>{await this.handleMessage(q,J,X)}),$.addEventListener("close",()=>{this.handleDisconnect(J,X)}),$.addEventListener("error",(q)=>{console.error(`WebSocket error for connection ${J.id}:`,q)}),J}async handleMessage($,X,J){if(!J.onMessage)return;let q;try{if(q=typeof $.data==="string"?JSON.parse($.data):$.data,J.messageSchema)q=await J.messageSchema.parseAsync(q);await this.executeHandler(J,J.onMessage,X,q)}catch(W){X.send({error:"Invalid message format",details:W instanceof Error?W.message:"Unknown error"})}}handleDisconnect($,X){if(Array.from(this.connectionsByRoom.entries()).forEach(([J,q])=>{if(q.delete($),q.size===0)this.connectionsByRoom.delete(J)}),Array.from(this.rooms.entries()).forEach(([J,q])=>{if(q.delete($.id),q.size===0)this.rooms.delete(J)}),this.connections.delete($.id),$._markClosed(),X.onDisconnect)this.executeHandler(X,X.onDisconnect,$)}async executeHandler($,X,J,q){try{let W=new $.target,Y=W[X];if(typeof Y==="function")if(q!==void 0)await Y.call(W,J,q);else await Y.call(W,J)}catch(W){console.error(`Error executing WebSocket handler ${X}:`,W)}}broadcast($,X){let J=X?this.getConnectionsInRoom(X):Array.from(this.connections.values()),q=typeof $==="string"?$:JSON.stringify($);for(let W of J)if(W.isOpen)W.send(q)}joinRoom($,X){let J=this.connections.get($);if(!J)return;if(!this.rooms.has(X))this.rooms.set(X,new Set);if(this.rooms.get(X).add($),!this.connectionsByRoom.has(X))this.connectionsByRoom.set(X,new Set);this.connectionsByRoom.get(X).add(J)}leaveRoom($,X){let J=this.connections.get($);if(!J)return;let q=this.rooms.get(X);if(q){if(q.delete($),q.size===0)this.rooms.delete(X)}let W=this.connectionsByRoom.get(X);if(W){if(W.delete(J),W.size===0)this.connectionsByRoom.delete(X)}}getConnectionsInRoom($){let X=this.connectionsByRoom.get($);return X?Array.from(X):[]}getConnection($){return this.connections.get($)}getAllConnections(){return Array.from(this.connections.values())}getConnectionCount(){return this.connections.size}getRooms(){return Array.from(this.rooms.keys())}getRoomSize($){return this.rooms.get($)?.size||0}}class O1{name="websocket";version="1.0.0";manager;constructor(){this.manager=new v1}async install($){let J=$.getMetadata().getWebSockets();for(let q of J)this.registerWebSocket($,q)}registerWebSocket($,X){$.getHono().get(X.path,async(q)=>{if(q.req.header("upgrade")?.toLowerCase()!=="websocket")return q.text("Expected WebSocket upgrade",426);return this.handleUpgrade(q,X)})}handleUpgrade($,X){if(typeof Bun<"u")return this.handleBunUpgrade($,X);else if(typeof globalThis.Deno<"u")return this.handleDenoUpgrade($,X);else return this.handleNodeUpgrade($,X)}handleBunUpgrade($,X){if(!$.env?.upgrade?.($.req.raw))return $.text("WebSocket upgrade failed",500);return new Response(null,{status:101})}handleDenoUpgrade($,X){let J=globalThis.Deno,{socket:q,response:W}=J.upgradeWebSocket($.req.raw);return q.onopen=()=>{this.manager.handleConnection(q,X)},W}handleNodeUpgrade($,X){return $.text("WebSocket support requires Bun or Deno runtime",501)}getManager(){return this.manager}broadcast($,X){this.manager.broadcast($,X)}getConnectionCount(){return this.manager.getConnectionCount()}getRooms(){return this.manager.getRooms()}}var I8=v3(r0()),C1=Symbol("graphql:resolver"),Z$=Symbol("graphql:field"),a$=Symbol("graphql:args");function P8($){return(X)=>{let J={target:X,name:$||X.name};Reflect.defineMetadata(C1,J,X)}}function T8($,X){return k1("query",$,X)}function g8($,X){return k1("mutation",$,X)}function x8($,X){return k1("subscription",$,X)}function k1($,X,J){return(q,W)=>{let Y={target:q.constructor,propertyKey:W,type:$,name:X||W,description:J?.description,deprecated:J?.deprecated,deprecationReason:J?.deprecationReason},_=Reflect.getMetadata(Z$,q.constructor)||[];_.push(Y),Reflect.defineMetadata(Z$,_,q.constructor),Reflect.defineMetadata(Z$,Y,q,W)}}function h8($,X,J){return(q,W,Y)=>{if(!W)return;let _=Reflect.getMetadata(a$,q,W)||[],H={index:Y,name:$,schema:X,description:J?.description,defaultValue:J?.defaultValue,nullable:J?.nullable};_[Y]=H,Reflect.defineMetadata(a$,_,q,W)}}function l8(){return($,X,J)=>{if(!X)return;let q=Reflect.getMetadata(a$,$,X)||[],W={index:J,name:"__context__",nullable:!1};q[J]=W,Reflect.defineMetadata(a$,q,$,X)}}function Z8($){return Reflect.getMetadata(C1,$)}function m8($){return Reflect.getMetadata(Z$,$)||[]}function u8($,X){return Reflect.getMetadata(Z$,$,X)}function K1($,X){return Reflect.getMetadata(a$,$,X)||[]}function y8($){return Reflect.hasMetadata(C1,$)}function n8($,X){return Reflect.hasMetadata(Z$,$,X)}function Q$($){let X=$._def.typeName;if(X==="ZodString")return"String";if(X==="ZodNumber"){if($._def.checks?.some((q)=>q.kind==="int"))return"Int";return"Float"}if(X==="ZodBoolean")return"Boolean";if(X==="ZodArray")return`[${Q$($._def.type)}]`;if(X==="ZodObject")return"JSON";if(X==="ZodOptional")return Q$($._def.innerType);if(X==="ZodNullable")return Q$($._def.innerType);if(X==="ZodDefault")return Q$($._def.innerType);if(X==="ZodEnum")return"String";if(X==="ZodUnion"){let J=$._def.options;if(J&&J.length>0)return Q$(J[0])}if(X==="ZodLiteral"){let J=$._def.value;if(typeof J==="string")return"String";if(typeof J==="number")return"Float";if(typeof J==="boolean")return"Boolean"}if(X==="ZodDate")return"String";return"String"}function t$($){let X=$._def.typeName;if(X==="ZodOptional"||X==="ZodNullable")return!0;if(X==="ZodDefault")return t$($._def.innerType);return!1}function s0($){let X=$._def.typeName;if(X==="ZodDefault")return $._def.defaultValue();if(X==="ZodOptional"||X==="ZodNullable"){let J=$._def.innerType;if(J)return s0(J)}return}function i8($,X){if(X._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let q=X._def.shape(),W=[];for(let[Y,_]of Object.entries(q)){let H=_,D=Q$(H),O=t$(H)?D:`${D}!`;W.push(` ${Y}: ${O}`)}return`type ${$} {
|
|
57
|
+
${W.join(`
|
|
58
|
+
`)}
|
|
59
|
+
}`}function p8($,X){if(X._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let q=X._def.shape(),W=[];for(let[Y,_]of Object.entries(q)){let H=_,D=Q$(H),R=t$(H),O=s0(H),u=R?D:`${D}!`;if(O!==void 0){let p=JSON.stringify(O);u+=` = ${p}`}W.push(` ${Y}: ${u}`)}return`input ${$} {
|
|
60
|
+
${W.join(`
|
|
61
|
+
`)}
|
|
62
|
+
}`}class R$ extends Error{statusCode;details;constructor($,X,J){super(X);this.statusCode=$;this.details=J;if(this.name="HTTPException",Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}class d6 extends R${constructor($="Not Found",X){super(404,$,X);this.name="NotFoundException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}class o6 extends R${constructor($="Unauthorized",X){super(401,$,X);this.name="UnauthorizedException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}class r6 extends R${constructor($="Forbidden",X){super(403,$,X);this.name="ForbiddenException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}class s6 extends R${constructor($="Bad Request",X){super(400,$,X);this.name="BadRequestException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}class H1 extends R${zodError;constructor($){super(422,"Validation failed");this.zodError=$;this.name="ValidationException"}toJSON(){return{error:"Validation Error",statusCode:this.statusCode,details:this.zodError.errors.map(($)=>({path:$.path.join("."),message:$.message,code:$.code}))}}}class f1{schemaCache=new WeakMap;stats={hits:0,misses:0,validations:0};async validate($,X){this.stats.validations++;try{let J=this.schemaCache.get(X);if(!J)this.stats.misses++,J={schema:X,resultCache:new WeakMap},this.schemaCache.set(X,J);else this.stats.hits++;return await J.schema.parseAsync($)}catch(J){if(J instanceof y)throw new H1(J);throw J}}validateSync($,X){this.stats.validations++;try{let J=this.schemaCache.get(X);if(!J)this.stats.misses++,J={schema:X,resultCache:new WeakMap},this.schemaCache.set(X,J);else this.stats.hits++;return J.schema.parse($)}catch(J){if(J instanceof y)throw new H1(J);throw J}}getCacheStats(){let $=this.stats.validations>0?this.stats.hits/this.stats.validations*100:0;return{...this.stats,hitRate:Math.round($*100)/100}}resetStats(){this.stats={hits:0,misses:0,validations:0}}clearCache(){this.schemaCache=new WeakMap,this.resetStats()}}class I1{metadata;container;validationEngine;customTypes=new Map;constructor($,X){this.metadata=$;this.container=X;this.validationEngine=new f1}build(){let $=this.metadata.getGraphQLResolvers(),X=[],J=[],q=[],W=[];for(let H of $){let D=this.metadata.getGraphQLFieldsByResolver(H.target);for(let R of D){let O=this.buildFieldDefinition(R);switch(R.type){case"query":X.push(O);break;case"mutation":J.push(O);break;case"subscription":q.push(O);break}}}let Y="";if(this.customTypes.size>0)Y+=Array.from(this.customTypes.values()).join(`
|
|
63
|
+
|
|
64
|
+
`)+`
|
|
65
|
+
|
|
66
|
+
`;if(X.length>0)Y+=`type Query {
|
|
67
|
+
`,Y+=X.map((H)=>` ${H}`).join(`
|
|
68
|
+
`),Y+=`
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
`;if(J.length>0)Y+=`type Mutation {
|
|
72
|
+
`,Y+=J.map((H)=>` ${H}`).join(`
|
|
73
|
+
`),Y+=`
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
`;if(q.length>0)Y+=`type Subscription {
|
|
77
|
+
`,Y+=q.map((H)=>` ${H}`).join(`
|
|
78
|
+
`),Y+=`
|
|
79
|
+
}
|
|
80
|
+
`;let _=this.buildResolvers();return{typeDefs:Y.trim(),resolvers:_}}buildFieldDefinition($){let X=K1($.target.prototype,$.propertyKey),J=[];for(let _ of X){if(_.name==="__context__")continue;let H="String";if(_.schema){if(H=Q$(_.schema),!t$(_.schema)&&!_.nullable)H+="!"}let D=`${_.name}: ${H}`;if(_.defaultValue!==void 0)D+=` = ${JSON.stringify(_.defaultValue)}`;J.push(D)}let q=J.length>0?`(${J.join(", ")})`:"",W="String",Y=`${$.name}${q}: ${W}`;if($.deprecated){let _=$.deprecationReason||"No longer supported";Y+=` @deprecated(reason: "${_}")`}return Y}buildResolvers(){let $=this.metadata.getGraphQLResolvers(),X={Query:{},Mutation:{},Subscription:{}};for(let J of $){let q=this.metadata.getGraphQLFieldsByResolver(J.target);for(let W of q){let Y=this.createResolverFunction(J.target,W);switch(W.type){case"query":X.Query[W.name]=Y;break;case"mutation":X.Mutation[W.name]=Y;break;case"subscription":X.Subscription[W.name]=Y;break}}}return X}createResolverFunction($,X){return async(J,q,W,Y)=>{try{let _=K1($.prototype,X.propertyKey),H=[];for(let O of _)if(O.name==="__context__")H[O.index]=W;else{let u=q[O.name];if(u===void 0&&O.defaultValue!==void 0)u=O.defaultValue;if(O.schema)u=await this.validationEngine.validate(u,O.schema);H[O.index]=u}return await(await this.container.resolve($,{scope:"request",context:W.request}))[X.propertyKey](...H)}catch(_){throw _}}}}class P1{name="graphql";version="1.0.0";options;schema;constructor($){this.options={path:$?.path||"/graphql",playgroundPath:$?.playgroundPath||"/graphql/playground",playground:$?.playground!==!1,context:$?.context||((X)=>({request:X}))}}async install($){let X=$.getMetadata(),J=$.getContainer(),q=new I1(X,J);if(this.schema=q.build(),$.post(this.options.path,{handler:async(W)=>{return this.handleGraphQLRequest(W)},docs:{summary:"GraphQL endpoint",description:"Execute GraphQL queries and mutations",tags:["GraphQL"]}}),$.get(this.options.path,{handler:async(W)=>{let Y=W.req.query("query"),_=W.req.query("variables"),H=W.req.query("operationName");if(!Y)return W.json({error:"Query parameter is required"},400);return this.executeGraphQL(W,{query:Y,variables:_?JSON.parse(_):void 0,operationName:H})},docs:{summary:"GraphQL endpoint (GET)",description:"Execute GraphQL queries via GET request",tags:["GraphQL"]}}),this.options.playground)$.get(this.options.playgroundPath,{handler:async(W)=>{return W.html(this.renderPlayground())},docs:{summary:"GraphQL Playground",description:"Interactive GraphQL IDE",tags:["GraphQL"]}})}async handleGraphQLRequest($){try{let X=await $.req.json();return this.executeGraphQL($,X)}catch(X){return $.json({errors:[{message:"Invalid JSON in request body",extensions:{code:"BAD_REQUEST"}}]},400)}}async executeGraphQL($,X){if(!this.schema)return $.json({errors:[{message:"GraphQL schema not initialized",extensions:{code:"INTERNAL_SERVER_ERROR"}}]},500);try{let{query:J,variables:q,operationName:W}=X,Y=await this.options.context($),_=await this.executeOperation(J,q,Y,W);return $.json(_)}catch(J){return $.json({errors:[{message:J.message||"Internal server error",extensions:{code:"INTERNAL_SERVER_ERROR",...{stack:J.stack}}}]},500)}}async executeOperation($,X,J,q){return{data:null,errors:[{message:"GraphQL execution not fully implemented. Use a GraphQL library like graphql-js for full support.",extensions:{code:"NOT_IMPLEMENTED"}}]}}renderPlayground(){return`
|
|
81
|
+
<!DOCTYPE html>
|
|
82
|
+
<html lang="en">
|
|
83
|
+
<head>
|
|
84
|
+
<meta charset="UTF-8">
|
|
85
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
86
|
+
<title>GraphQL Playground</title>
|
|
87
|
+
<link rel="stylesheet" href="https://unpkg.com/graphql-playground-react/build/static/css/index.css" />
|
|
88
|
+
<link rel="shortcut icon" href="https://unpkg.com/graphql-playground-react/build/favicon.png" />
|
|
89
|
+
<script src="https://unpkg.com/graphql-playground-react/build/static/js/middleware.js"></script>
|
|
90
|
+
<style>
|
|
91
|
+
body {
|
|
92
|
+
margin: 0;
|
|
93
|
+
padding: 0;
|
|
94
|
+
font-family: 'Open Sans', sans-serif;
|
|
95
|
+
overflow: hidden;
|
|
96
|
+
}
|
|
97
|
+
#root {
|
|
98
|
+
height: 100vh;
|
|
99
|
+
}
|
|
100
|
+
</style>
|
|
101
|
+
</head>
|
|
102
|
+
<body>
|
|
103
|
+
<div id="root"></div>
|
|
104
|
+
<script>
|
|
105
|
+
window.addEventListener('load', function (event) {
|
|
106
|
+
GraphQLPlayground.init(document.getElementById('root'), {
|
|
107
|
+
endpoint: '${this.options.path}',
|
|
108
|
+
settings: {
|
|
109
|
+
'editor.theme': 'light',
|
|
110
|
+
'editor.cursorShape': 'line',
|
|
111
|
+
'editor.reuseHeaders': true,
|
|
112
|
+
'tracing.hideTracingResponse': true,
|
|
113
|
+
'queryPlan.hideQueryPlanResponse': true,
|
|
114
|
+
'editor.fontSize': 14,
|
|
115
|
+
'editor.fontFamily': "'Source Code Pro', 'Consolas', 'Inconsolata', 'Droid Sans Mono', 'Monaco', monospace",
|
|
116
|
+
'request.credentials': 'include'
|
|
117
|
+
}
|
|
118
|
+
})
|
|
119
|
+
})
|
|
120
|
+
</script>
|
|
121
|
+
</body>
|
|
122
|
+
</html>
|
|
123
|
+
`.trim()}getSchema(){return this.schema}}
|
|
124
|
+
|
|
125
|
+
//# debugId=7D49245D16EE9FF564756E2164756E21
|