veloce-ts 0.4.11 → 0.4.13

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.
@@ -1,11 +1,11 @@
1
- var gV=Object.create;var{getPrototypeOf:yV,defineProperty:B2,getOwnPropertyNames:O7,getOwnPropertyDescriptor:uV}=Object,R7=Object.prototype.hasOwnProperty;function Z7($){return this[$]}var mV,lV,N1=($,J,Q)=>{var X=$!=null&&typeof $==="object";if(X){var Y=J?mV??=new WeakMap:lV??=new WeakMap,W=Y.get($);if(W)return W}Q=$!=null?gV(yV($)):{};let H=J||!$||!$.__esModule?B2(Q,"default",{value:$,enumerable:!0}):Q;for(let G of O7($))if(!R7.call(H,G))B2(H,G,{get:Z7.bind($,G),enumerable:!0});if(X)Y.set($,H);return H},T0=($)=>{var J=(L7??=new WeakMap).get($),Q;if(J)return J;if(J=B2({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var X of O7($))if(!R7.call(J,X))B2(J,X,{get:Z7.bind($,X),enumerable:!(Q=uV($,X))||Q.enumerable})}return L7.set($,J),J},L7,L=($,J)=>()=>(J||$((J={exports:{}}).exports,J),J.exports);var cV=($)=>$;function dV($,J){this[$]=cV.bind(null,J)}var Z0=($,J)=>{for(var Q in J)B2($,Q,{get:J[Q],enumerable:!0,configurable:!0,set:dV.bind(J,Q)})};var X0=($,J)=>()=>($&&(J=$($=0)),J);var V8={};Z0(V8,{HonoAdapter:()=>j6});module.exports=T0(V8);class j6{hono;name="hono";runtime;constructor($){this.hono=$;this.runtime=pV()}listen($,J){switch(this.runtime){case"bun":return this.listenBun($,J);case"deno":return this.listenDeno($,J);case"node":return this.listenNode($,J);case"workerd":throw Error("Cloudflare Workers do not support listen(). Deploy using wrangler or export the handler with getHandler().");default:throw Error(`Unsupported runtime: ${this.runtime}. FastAPI-TS supports Bun, Node.js, Deno, and Cloudflare Workers.`)}}getHandler(){return this.hono.fetch}getRuntime(){return this.runtime}listenBun($,J){let Q=Bun.serve({port:$,fetch:this.hono.fetch});if(J)J();return{port:$,close:async()=>{Q.stop()},...Q}}listenDeno($,J){let Q=new AbortController;return Deno.serve({port:$,signal:Q.signal,onListen:J},this.hono.fetch),{port:$,close:async()=>{Q.abort()}}}listenNode($,J){try{let{serve:Q}=(()=>{throw new Error("Cannot require module "+"@hono/node-server");})(),X=Q({fetch:this.hono.fetch,port:$},J);return{port:$,close:async()=>{return new Promise((Y)=>{X.close(()=>Y())})},...X}}catch(Q){throw Error("Node.js adapter requires @hono/node-server package. Install it with: npm install @hono/node-server")}}}var pV=()=>{if(typeof Bun<"u")return"bun";if(typeof Deno<"u")return"deno";if(typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers")return"workerd";if(typeof process<"u"&&process.versions&&process.versions.node)return"node";return"unknown"};var S7={};Z0(S7,{ExpressAdapter:()=>F2});module.exports=T0(S7);class F2{veloceApp;name="express";expressApp;constructor($,J){this.veloceApp=$;this.expressApp=J??F2.createExpressApp(),this.setupBridge()}listen($,J){return this.expressApp.listen($,J)}getHandler(){return this.expressApp}getExpressApp(){return this.expressApp}static createExpressApp(){let $=require,J;try{J=$("express")}catch{throw Error(`[ExpressAdapter] Could not load the "express" package.
2
- Install it as a peer dependency: npm install express`)}return J()}setupBridge(){let $=this.veloceApp.getHono();this.expressApp.use(async(J,Q,X)=>{try{let Y=this.toWebRequest(J),W=await $.fetch(Y);await this.writeExpressResponse(Q,W)}catch(Y){X(Y)}})}toWebRequest($){let J=$.protocol??"http",Q=$.get?.("host")??$.headers?.host??"localhost",X=`${J}://${Q}${$.originalUrl??$.url}`,Y=new Headers;for(let[H,G]of Object.entries($.headers??{}))if(typeof G==="string")Y.set(H,G);else if(Array.isArray(G))G.forEach((V)=>Y.append(H,V));let W={method:$.method,headers:Y};if($.method!=="GET"&&$.method!=="HEAD"){if(Buffer.isBuffer($.body))W.body=$.body;else if($.body!==void 0&&$.body!==null){if(W.body=JSON.stringify($.body),!Y.has("content-type"))Y.set("content-type","application/json")}}return new Request(X,W)}async writeExpressResponse($,J){if($.status(J.status),J.headers.forEach((X,Y)=>{if(Y.toLowerCase()!=="transfer-encoding")$.setHeader(Y,X)}),!J.body){$.end();return}let Q=J.headers.get("content-type")??"";if(Q.includes("application/json")){let X=await J.json();$.json(X)}else if(Q.startsWith("text/")){let X=await J.text();$.send(X)}else{let X=await J.arrayBuffer();$.send(Buffer.from(X))}}}var D8={};Z0(D8,{setRequestMetadata:()=>K7,setRequestContext:()=>_8,initializeRequestContext:()=>N2,getRequestMetadata:()=>I7,getRequestId:()=>C7,getRequestDuration:()=>A2,getRequestContext:()=>E1,getAbortSignal:()=>M7,generateRequestId:()=>q8,cleanupRequestContext:()=>j2,abortRequest:()=>P7});function q8(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();return`${Date.now()}-${Math.random().toString(36).substring(2,15)}-${Math.random().toString(36).substring(2,15)}`}function E1($){return $.get("veloce:request-context")||null}function _8($,J){$.set("veloce:request-context",J)}function N2($,J){let Q=J?.requestId||q8(),X=new AbortController,Y={requestId:Q,startTime:Date.now(),abortSignal:X.signal,abortController:X,timeout:J?.timeout,metadata:{}};if(J?.timeout&&J.timeout>0)Y.timeoutId=setTimeout(()=>{X.abort()},J.timeout);return _8($,Y),Y}function C7($){return E1($)?.requestId||null}function M7($){return E1($)?.abortSignal||null}function P7($){let J=E1($);if(J?.abortController&&!J.abortSignal.aborted)J.abortController.abort()}function K7($,J,Q){let X=E1($);if(X)X.metadata[J]=Q}function I7($,J){return E1($)?.metadata[J]}function A2($){let J=E1($);if(!J)return null;return Date.now()-J.startTime}function j2($){let J=E1($);if(J?.timeoutId)clearTimeout(J.timeoutId)}var F8=L((yO,f7)=>{var E2=($)=>{return $&&typeof $.message==="string"},B8=($)=>{if(!$)return;let J=$.cause;if(typeof J==="function"){let Q=$.cause();return E2(Q)?Q:void 0}else return E2(J)?J:void 0},T7=($,J)=>{if(!E2($))return"";let Q=$.stack||"";if(J.has($))return Q+`
1
+ var gV=Object.create;var{getPrototypeOf:yV,defineProperty:B2,getOwnPropertyNames:O7,getOwnPropertyDescriptor:uV}=Object,R7=Object.prototype.hasOwnProperty;function Z7($){return this[$]}var mV,lV,w1=($,J,Q)=>{var X=$!=null&&typeof $==="object";if(X){var Y=J?mV??=new WeakMap:lV??=new WeakMap,W=Y.get($);if(W)return W}Q=$!=null?gV(yV($)):{};let H=J||!$||!$.__esModule?B2(Q,"default",{value:$,enumerable:!0}):Q;for(let G of O7($))if(!R7.call(H,G))B2(H,G,{get:Z7.bind($,G),enumerable:!0});if(X)Y.set($,H);return H},T0=($)=>{var J=(L7??=new WeakMap).get($),Q;if(J)return J;if(J=B2({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var X of O7($))if(!R7.call(J,X))B2(J,X,{get:Z7.bind($,X),enumerable:!(Q=uV($,X))||Q.enumerable})}return L7.set($,J),J},L7,L=($,J)=>()=>(J||$((J={exports:{}}).exports,J),J.exports);var cV=($)=>$;function dV($,J){this[$]=cV.bind(null,J)}var Z0=($,J)=>{for(var Q in J)B2($,Q,{get:J[Q],enumerable:!0,configurable:!0,set:dV.bind(J,Q)})};var X0=($,J)=>()=>($&&(J=$($=0)),J);var V8={};Z0(V8,{HonoAdapter:()=>j6});module.exports=T0(V8);class j6{hono;name="hono";runtime;constructor($){this.hono=$;this.runtime=pV()}listen($,J){switch(this.runtime){case"bun":return this.listenBun($,J);case"deno":return this.listenDeno($,J);case"node":return this.listenNode($,J);case"workerd":throw Error("Cloudflare Workers do not support listen(). Deploy using wrangler or export the handler with getHandler().");default:throw Error(`Unsupported runtime: ${this.runtime}. FastAPI-TS supports Bun, Node.js, Deno, and Cloudflare Workers.`)}}getHandler(){return this.hono.fetch}getRuntime(){return this.runtime}listenBun($,J){let Q=this.hono,X=Bun.serve({port:$,fetch(Y,W){return Q.fetch(Y,{upgrade:W.upgrade.bind(W)})},websocket:{open(Y){let{manager:W,metadata:H}=Y.data??{};if(!W||!H)return;let G=W.handleConnectionBun(Y,H);Y.data._connection=G},message(Y,W){let{manager:H,metadata:G,_connection:V}=Y.data??{};if(!H||!G||!V)return;H.handleMessageBun(W,V,G)},close(Y,W,H){let{manager:G,metadata:V,_connection:U}=Y.data??{};if(!G||!V||!U)return;G.handleDisconnectBun(U,V)},error(Y,W){console.error("[WS] Bun WebSocket error:",W)}}});if(J)J();return{port:$,close:async()=>{X.stop()},...X}}listenDeno($,J){let Q=new AbortController;return Deno.serve({port:$,signal:Q.signal,onListen:J},this.hono.fetch),{port:$,close:async()=>{Q.abort()}}}listenNode($,J){try{let{serve:Q}=(()=>{throw new Error("Cannot require module "+"@hono/node-server");})(),X=Q({fetch:this.hono.fetch,port:$},J);return{port:$,close:async()=>{return new Promise((Y)=>{X.close(()=>Y())})},...X}}catch(Q){throw Error("Node.js adapter requires @hono/node-server package. Install it with: npm install @hono/node-server")}}}var pV=()=>{if(typeof Bun<"u")return"bun";if(typeof Deno<"u")return"deno";if(typeof navigator<"u"&&navigator.userAgent==="Cloudflare-Workers")return"workerd";if(typeof process<"u"&&process.versions&&process.versions.node)return"node";return"unknown"};var S7={};Z0(S7,{ExpressAdapter:()=>F2});module.exports=T0(S7);class F2{veloceApp;name="express";expressApp;constructor($,J){this.veloceApp=$;this.expressApp=J??F2.createExpressApp(),this.setupBridge()}listen($,J){return this.expressApp.listen($,J)}getHandler(){return this.expressApp}getExpressApp(){return this.expressApp}static createExpressApp(){let $=require,J;try{J=$("express")}catch{throw Error(`[ExpressAdapter] Could not load the "express" package.
2
+ Install it as a peer dependency: npm install express`)}return J()}setupBridge(){let $=this.veloceApp.getHono();this.expressApp.use(async(J,Q,X)=>{try{let Y=this.toWebRequest(J),W=await $.fetch(Y);await this.writeExpressResponse(Q,W)}catch(Y){X(Y)}})}toWebRequest($){let J=$.protocol??"http",Q=$.get?.("host")??$.headers?.host??"localhost",X=`${J}://${Q}${$.originalUrl??$.url}`,Y=new Headers;for(let[H,G]of Object.entries($.headers??{}))if(typeof G==="string")Y.set(H,G);else if(Array.isArray(G))G.forEach((V)=>Y.append(H,V));let W={method:$.method,headers:Y};if($.method!=="GET"&&$.method!=="HEAD"){if(Buffer.isBuffer($.body))W.body=$.body;else if($.body!==void 0&&$.body!==null){if(W.body=JSON.stringify($.body),!Y.has("content-type"))Y.set("content-type","application/json")}}return new Request(X,W)}async writeExpressResponse($,J){if($.status(J.status),J.headers.forEach((X,Y)=>{if(Y.toLowerCase()!=="transfer-encoding")$.setHeader(Y,X)}),!J.body){$.end();return}let Q=J.headers.get("content-type")??"";if(Q.includes("application/json")){let X=await J.json();$.json(X)}else if(Q.startsWith("text/")){let X=await J.text();$.send(X)}else{let X=await J.arrayBuffer();$.send(Buffer.from(X))}}}var D8={};Z0(D8,{setRequestMetadata:()=>K7,setRequestContext:()=>_8,initializeRequestContext:()=>w2,getRequestMetadata:()=>I7,getRequestId:()=>C7,getRequestDuration:()=>A2,getRequestContext:()=>E1,getAbortSignal:()=>M7,generateRequestId:()=>q8,cleanupRequestContext:()=>j2,abortRequest:()=>P7});function q8(){if(typeof crypto<"u"&&crypto.randomUUID)return crypto.randomUUID();return`${Date.now()}-${Math.random().toString(36).substring(2,15)}-${Math.random().toString(36).substring(2,15)}`}function E1($){return $.get("veloce:request-context")||null}function _8($,J){$.set("veloce:request-context",J)}function w2($,J){let Q=J?.requestId||q8(),X=new AbortController,Y={requestId:Q,startTime:Date.now(),abortSignal:X.signal,abortController:X,timeout:J?.timeout,metadata:{}};if(J?.timeout&&J.timeout>0)Y.timeoutId=setTimeout(()=>{X.abort()},J.timeout);return _8($,Y),Y}function C7($){return E1($)?.requestId||null}function M7($){return E1($)?.abortSignal||null}function P7($){let J=E1($);if(J?.abortController&&!J.abortSignal.aborted)J.abortController.abort()}function K7($,J,Q){let X=E1($);if(X)X.metadata[J]=Q}function I7($,J){return E1($)?.metadata[J]}function A2($){let J=E1($);if(!J)return null;return Date.now()-J.startTime}function j2($){let J=E1($);if(J?.timeoutId)clearTimeout(J.timeoutId)}var F8=L((yO,f7)=>{var E2=($)=>{return $&&typeof $.message==="string"},B8=($)=>{if(!$)return;let J=$.cause;if(typeof J==="function"){let Q=$.cause();return E2(Q)?Q:void 0}else return E2(J)?J:void 0},T7=($,J)=>{if(!E2($))return"";let Q=$.stack||"";if(J.has($))return Q+`
3
3
  causes have become circular...`;let X=B8($);if(X)return J.add($),Q+`
4
- caused by: `+T7(X,J);else return Q},iV=($)=>T7($,new Set),b7=($,J,Q)=>{if(!E2($))return"";let X=Q?"":$.message||"";if(J.has($))return X+": ...";let Y=B8($);if(Y){J.add($);let W=typeof $.cause==="function";return X+(W?"":": ")+b7(Y,J,W)}else return X},nV=($)=>b7($,new Set);f7.exports={isErrorLike:E2,getErrorCause:B8,stackWithCauses:iV,messageWithCauses:nV}});var z8=L((uO,x7)=>{var sV=Symbol("circular-ref-tag"),E6=Symbol("pino-raw-err-ref"),k7=Object.create({},{type:{enumerable:!0,writable:!0,value:void 0},message:{enumerable:!0,writable:!0,value:void 0},stack:{enumerable:!0,writable:!0,value:void 0},aggregateErrors:{enumerable:!0,writable:!0,value:void 0},raw:{enumerable:!1,get:function(){return this[E6]},set:function($){this[E6]=$}}});Object.defineProperty(k7,E6,{writable:!0,value:{}});x7.exports={pinoErrProto:k7,pinoErrorSymbols:{seen:sV,rawSymbol:E6}}});var g7=L((mO,h7)=>{h7.exports=N8;var{messageWithCauses:oV,stackWithCauses:rV,isErrorLike:v7}=F8(),{pinoErrProto:aV,pinoErrorSymbols:tV}=z8(),{seen:w8}=tV,{toString:eV}=Object.prototype;function N8($){if(!v7($))return $;$[w8]=void 0;let J=Object.create(aV);if(J.type=eV.call($.constructor)==="[object Function]"?$.constructor.name:$.name,J.message=oV($),J.stack=rV($),Array.isArray($.errors))J.aggregateErrors=$.errors.map((Q)=>N8(Q));for(let Q in $)if(J[Q]===void 0){let X=$[Q];if(v7(X)){if(Q!=="cause"&&!Object.prototype.hasOwnProperty.call(X,w8))J[Q]=N8(X)}else J[Q]=X}return delete $[w8],J.raw=$,J}});var u7=L((lO,y7)=>{y7.exports=O6;var{isErrorLike:A8}=F8(),{pinoErrProto:$U,pinoErrorSymbols:JU}=z8(),{seen:L6}=JU,{toString:QU}=Object.prototype;function O6($){if(!A8($))return $;$[L6]=void 0;let J=Object.create($U);if(J.type=QU.call($.constructor)==="[object Function]"?$.constructor.name:$.name,J.message=$.message,J.stack=$.stack,Array.isArray($.errors))J.aggregateErrors=$.errors.map((Q)=>O6(Q));if(A8($.cause)&&!Object.prototype.hasOwnProperty.call($.cause,L6))J.cause=O6($.cause);for(let Q in $)if(J[Q]===void 0){let X=$[Q];if(A8(X)){if(!Object.prototype.hasOwnProperty.call(X,L6))J[Q]=O6(X)}else J[Q]=X}return delete $[L6],J.raw=$,J}});var d7=L((cO,c7)=>{c7.exports={mapHttpRequest:XU,reqSerializer:l7};var j8=Symbol("pino-raw-req-ref"),m7=Object.create({},{id:{enumerable:!0,writable:!0,value:""},method:{enumerable:!0,writable:!0,value:""},url:{enumerable:!0,writable:!0,value:""},query:{enumerable:!0,writable:!0,value:""},params:{enumerable:!0,writable:!0,value:""},headers:{enumerable:!0,writable:!0,value:{}},remoteAddress:{enumerable:!0,writable:!0,value:""},remotePort:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[j8]},set:function($){this[j8]=$}}});Object.defineProperty(m7,j8,{writable:!0,value:{}});function l7($){let J=$.info||$.socket,Q=Object.create(m7);if(Q.id=typeof $.id==="function"?$.id():$.id||($.info?$.info.id:void 0),Q.method=$.method,$.originalUrl)Q.url=$.originalUrl;else{let X=$.path;Q.url=typeof X==="string"?X:$.url?$.url.path||$.url:void 0}if($.query)Q.query=$.query;if($.params)Q.params=$.params;return Q.headers=$.headers,Q.remoteAddress=J&&J.remoteAddress,Q.remotePort=J&&J.remotePort,Q.raw=$.raw||$,Q}function XU($){return{req:l7($)}}});var s7=L((dO,n7)=>{n7.exports={mapHttpResponse:YU,resSerializer:i7};var E8=Symbol("pino-raw-res-ref"),p7=Object.create({},{statusCode:{enumerable:!0,writable:!0,value:0},headers:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[E8]},set:function($){this[E8]=$}}});Object.defineProperty(p7,E8,{writable:!0,value:{}});function i7($){let J=Object.create(p7);return J.statusCode=$.headersSent?$.statusCode:null,J.headers=$.getHeaders?$.getHeaders():$._headers,J.raw=$,J}function YU($){return{res:i7($)}}});var O8=L((pO,o7)=>{var L8=g7(),WU=u7(),R6=d7(),Z6=s7();o7.exports={err:L8,errWithCause:WU,mapHttpRequest:R6.mapHttpRequest,mapHttpResponse:Z6.mapHttpResponse,req:R6.reqSerializer,res:Z6.resSerializer,wrapErrorSerializer:function(J){if(J===L8)return J;return function(X){return J(L8(X))}},wrapRequestSerializer:function(J){if(J===R6.reqSerializer)return J;return function(X){return J(R6.reqSerializer(X))}},wrapResponseSerializer:function(J){if(J===Z6.resSerializer)return J;return function(X){return J(Z6.resSerializer(X))}}}});var R8=L((iO,r7)=>{function HU($,J){return J}r7.exports=function(){let J=Error.prepareStackTrace;Error.prepareStackTrace=HU;let Q=Error().stack;if(Error.prepareStackTrace=J,!Array.isArray(Q))return;let X=Q.slice(2),Y=[];for(let W of X){if(!W)continue;Y.push(W.getFileName())}return Y}});var QJ=L((nO,JJ)=>{function Z8($){if($===null||typeof $!=="object")return $;if($ instanceof Date)return new Date($.getTime());if($ instanceof Array){let J=[];for(let Q=0;Q<$.length;Q++)J[Q]=Z8($[Q]);return J}if(typeof $==="object"){let J=Object.create(Object.getPrototypeOf($));for(let Q in $)if(Object.prototype.hasOwnProperty.call($,Q))J[Q]=Z8($[Q]);return J}return $}function a7($){let J=[],Q="",X=!1,Y=!1,W="";for(let H=0;H<$.length;H++){let G=$[H];if(!X&&G==="."){if(Q)J.push(Q),Q=""}else if(G==="["){if(Q)J.push(Q),Q="";X=!0}else if(G==="]"&&X)J.push(Q),Q="",X=!1,Y=!1;else if((G==='"'||G==="'")&&X)if(!Y)Y=!0,W=G;else if(G===W)Y=!1,W="";else Q+=G;else Q+=G}if(Q)J.push(Q);return J}function t7($,J,Q){let X=$;for(let W=0;W<J.length-1;W++){let H=J[W];if(typeof X!=="object"||X===null||!(H in X))return!1;if(typeof X[H]!=="object"||X[H]===null)return!1;X=X[H]}let Y=J[J.length-1];if(Y==="*"){if(Array.isArray(X))for(let W=0;W<X.length;W++)X[W]=Q;else if(typeof X==="object"&&X!==null){for(let W in X)if(Object.prototype.hasOwnProperty.call(X,W))X[W]=Q}}else if(typeof X==="object"&&X!==null&&Y in X&&Object.prototype.hasOwnProperty.call(X,Y))X[Y]=Q;return!0}function e7($,J){let Q=$;for(let Y=0;Y<J.length-1;Y++){let W=J[Y];if(typeof Q!=="object"||Q===null||!(W in Q))return!1;if(typeof Q[W]!=="object"||Q[W]===null)return!1;Q=Q[W]}let X=J[J.length-1];if(X==="*"){if(Array.isArray(Q))for(let Y=0;Y<Q.length;Y++)Q[Y]=void 0;else if(typeof Q==="object"&&Q!==null){for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))delete Q[Y]}}else if(typeof Q==="object"&&Q!==null&&X in Q&&Object.prototype.hasOwnProperty.call(Q,X))delete Q[X];return!0}var S6=Symbol("PATH_NOT_FOUND");function GU($,J){let Q=$;for(let X of J){if(Q===null||Q===void 0)return S6;if(typeof Q!=="object"||Q===null)return S6;if(!(X in Q))return S6;Q=Q[X]}return Q}function VU($,J){let Q=$;for(let X of J){if(Q===null||Q===void 0)return;if(typeof Q!=="object"||Q===null)return;Q=Q[X]}return Q}function UU($,J,Q,X=!1){for(let Y of J){let W=a7(Y);if(W.includes("*"))$J($,W,Q,Y,X);else if(X)e7($,W);else{let H=GU($,W);if(H===S6)continue;let G=typeof Q==="function"?Q(H,W):Q;t7($,W,G)}}}function $J($,J,Q,X,Y=!1){let W=J.indexOf("*");if(W===J.length-1){let H=J.slice(0,-1),G=$;for(let V of H){if(G===null||G===void 0)return;if(typeof G!=="object"||G===null)return;G=G[V]}if(Array.isArray(G))if(Y)for(let V=0;V<G.length;V++)G[V]=void 0;else for(let V=0;V<G.length;V++){let U=[...H,V.toString()],q=typeof Q==="function"?Q(G[V],U):Q;G[V]=q}else if(typeof G==="object"&&G!==null)if(Y){let V=[];for(let U in G)if(Object.prototype.hasOwnProperty.call(G,U))V.push(U);for(let U of V)delete G[U]}else for(let V in G){let U=[...H,V],q=typeof Q==="function"?Q(G[V],U):Q;G[V]=q}}else qU($,J,Q,W,X,Y)}function qU($,J,Q,X,Y,W=!1){let H=J.slice(0,X),G=J.slice(X+1),V=[];function U(q,_){if(_===H.length){if(Array.isArray(q))for(let F=0;F<q.length;F++)V[_]=F.toString(),U(q[F],_+1);else if(typeof q==="object"&&q!==null)for(let F in q)V[_]=F,U(q[F],_+1)}else if(_<H.length){let F=H[_];if(q&&typeof q==="object"&&q!==null&&F in q)V[_]=F,U(q[F],_+1)}else if(G.includes("*"))$J(q,G,typeof Q==="function"?(B,D)=>{let A=[...V.slice(0,_),...D];return Q(B,A)}:Q,Y,W);else if(W)e7(q,G);else{let F=typeof Q==="function"?Q(VU(q,G),[...V.slice(0,_),...G]):Q;t7(q,G,F)}}if(H.length===0)U($,0);else{let q=$;for(let _=0;_<H.length;_++){let F=H[_];if(q===null||q===void 0)return;if(typeof q!=="object"||q===null)return;q=q[F],V[_]=F}if(q!==null&&q!==void 0)U(q,H.length)}}function _U($){if($.length===0)return null;let J=new Map;for(let Q of $){let X=a7(Q),Y=J;for(let W=0;W<X.length;W++){let H=X[W];if(!Y.has(H))Y.set(H,new Map);Y=Y.get(H)}}return J}function DU($,J){if(!J)return $;function Q(X,Y,W=0){if(!Y||Y.size===0)return X;if(X===null||typeof X!=="object")return X;if(X instanceof Date)return new Date(X.getTime());if(Array.isArray(X)){let G=[];for(let V=0;V<X.length;V++){let U=V.toString();if(Y.has(U)||Y.has("*"))G[V]=Q(X[V],Y.get(U)||Y.get("*"));else G[V]=X[V]}return G}let H=Object.create(Object.getPrototypeOf(X));for(let G in X)if(Object.prototype.hasOwnProperty.call(X,G))if(Y.has(G)||Y.has("*"))H[G]=Q(X[G],Y.get(G)||Y.get("*"));else H[G]=X[G];return H}return Q($,J)}function BU($){if(typeof $!=="string")throw Error("Paths must be (non-empty) strings");if($==="")throw Error("Invalid redaction path ()");if($.includes(".."))throw Error(`Invalid redaction path (${$})`);if($.includes(","))throw Error(`Invalid redaction path (${$})`);let J=0,Q=!1,X="";for(let Y=0;Y<$.length;Y++){let W=$[Y];if((W==='"'||W==="'")&&J>0){if(!Q)Q=!0,X=W;else if(W===X)Q=!1,X=""}else if(W==="["&&!Q)J++;else if(W==="]"&&!Q){if(J--,J<0)throw Error(`Invalid redaction path (${$})`)}}if(J!==0)throw Error(`Invalid redaction path (${$})`)}function FU($){if(!Array.isArray($))throw TypeError("paths must be an array");for(let J of $)BU(J)}function zU($={}){let{paths:J=[],censor:Q="[REDACTED]",serialize:X=JSON.stringify,strict:Y=!0,remove:W=!1}=$;FU(J);let H=_U(J);return function(V){if(Y&&(V===null||typeof V!=="object")){if(V===null||V===void 0)return X?X(V):V;if(typeof V!=="object")return X?X(V):V}let U=DU(V,H),q=V,_=Q;if(typeof Q==="function")_=Q;if(UU(U,J,_,W),X===!1)return U.restore=function(){return Z8(q)},U;if(typeof X==="function")return X(U);return JSON.stringify(U)}}JJ.exports=zU});var O$=L((sO,XJ)=>{var wU=Symbol("pino.setLevel"),NU=Symbol("pino.getLevel"),AU=Symbol("pino.levelVal"),jU=Symbol("pino.levelComp"),EU=Symbol("pino.useLevelLabels"),LU=Symbol("pino.useOnlyCustomLevels"),OU=Symbol("pino.mixin"),RU=Symbol("pino.lsCache"),ZU=Symbol("pino.chindings"),SU=Symbol("pino.asJson"),CU=Symbol("pino.write"),MU=Symbol("pino.redactFmt"),PU=Symbol("pino.time"),KU=Symbol("pino.timeSliceIndex"),IU=Symbol("pino.stream"),TU=Symbol("pino.stringify"),bU=Symbol("pino.stringifySafe"),fU=Symbol("pino.stringifiers"),kU=Symbol("pino.end"),xU=Symbol("pino.formatOpts"),vU=Symbol("pino.messageKey"),hU=Symbol("pino.errorKey"),gU=Symbol("pino.nestedKey"),yU=Symbol("pino.nestedKeyStr"),uU=Symbol("pino.mixinMergeStrategy"),mU=Symbol("pino.msgPrefix"),lU=Symbol("pino.wildcardFirst"),cU=Symbol.for("pino.serializers"),dU=Symbol.for("pino.formatters"),pU=Symbol.for("pino.hooks"),iU=Symbol.for("pino.metadata");XJ.exports={setLevelSym:wU,getLevelSym:NU,levelValSym:AU,levelCompSym:jU,useLevelLabelsSym:EU,mixinSym:OU,lsCacheSym:RU,chindingsSym:ZU,asJsonSym:SU,writeSym:CU,serializersSym:cU,redactFmtSym:MU,timeSym:PU,timeSliceIndexSym:KU,streamSym:IU,stringifySym:TU,stringifySafeSym:bU,stringifiersSym:fU,endSym:kU,formatOptsSym:xU,messageKeySym:vU,errorKeySym:hU,nestedKeySym:gU,wildcardFirstSym:lU,needsMetadataGsym:iU,useOnlyCustomLevelsSym:LU,formattersSym:dU,hooksSym:pU,nestedKeyStrSym:yU,mixinMergeStrategySym:uU,msgPrefixSym:mU}});var C8=L((oO,WJ)=>{var YJ=QJ(),{redactFmtSym:nU,wildcardFirstSym:C6}=O$(),S8=/[^.[\]]+|\[([^[\]]*?)\]/g;function sU($,J){let{paths:Q,censor:X,remove:Y}=oU($),W=Q.reduce((V,U)=>{S8.lastIndex=0;let q=S8.exec(U),_=S8.exec(U),F=q[1]!==void 0?q[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/,"$1"):q[0];if(F==="*")F=C6;if(_===null)return V[F]=null,V;if(V[F]===null)return V;let{index:B}=_,D=`${U.substr(B,U.length-1)}`;if(V[F]=V[F]||[],F!==C6&&V[F].length===0)V[F].push(...V[C6]||[]);if(F===C6)Object.keys(V).forEach(function(A){if(V[A])V[A].push(D)});return V[F].push(D),V},{}),H={[nU]:YJ({paths:Q,censor:X,serialize:J,strict:!1,remove:Y})},G=(...V)=>{return typeof X==="function"?J(X(...V)):J(X)};return[...Object.keys(W),...Object.getOwnPropertySymbols(W)].reduce((V,U)=>{if(W[U]===null)V[U]=(q)=>G(q,[U]);else{let q=typeof X==="function"?(_,F)=>{return X(_,[U,...F])}:X;V[U]=YJ({paths:W[U],censor:q,serialize:J,strict:!1,remove:Y})}return V},H)}function oU($){if(Array.isArray($))return $={paths:$,censor:"[Redacted]"},$;let{paths:J,censor:Q="[Redacted]",remove:X}=$;if(Array.isArray(J)===!1)throw Error("pino – redact must contain an array of strings");if(X===!0)Q=void 0;return{paths:J,censor:Q,remove:X}}WJ.exports=sU});var VJ=L((rO,GJ)=>{var rU=()=>"",aU=()=>`,"time":${Date.now()}`,tU=()=>`,"time":${Math.round(Date.now()/1000)}`,eU=()=>`,"time":"${new Date(Date.now()).toISOString()}"`,$q=1000000n,HJ=1000000000n,Jq=BigInt(Date.now())*$q,Qq=process.hrtime.bigint(),Xq=()=>{let $=process.hrtime.bigint()-Qq,J=Jq+$,Q=J/HJ,X=J%HJ,Y=Number(Q*1000n+X/1000000n),W=new Date(Y),H=W.getUTCFullYear(),G=(W.getUTCMonth()+1).toString().padStart(2,"0"),V=W.getUTCDate().toString().padStart(2,"0"),U=W.getUTCHours().toString().padStart(2,"0"),q=W.getUTCMinutes().toString().padStart(2,"0"),_=W.getUTCSeconds().toString().padStart(2,"0");return`,"time":"${H}-${G}-${V}T${U}:${q}:${_}.${X.toString().padStart(9,"0")}Z"`};GJ.exports={nullTime:rU,epochTime:aU,unixTime:tU,isoTime:eU,isoTimeNano:Xq}});var qJ=L((aO,UJ)=>{function Yq($){try{return JSON.stringify($)}catch(J){return'"[Circular]"'}}UJ.exports=Wq;function Wq($,J,Q){var X=Q&&Q.stringify||Yq,Y=1;if(typeof $==="object"&&$!==null){var W=J.length+Y;if(W===1)return $;var H=Array(W);H[0]=X($);for(var G=1;G<W;G++)H[G]=X(J[G]);return H.join(" ")}if(typeof $!=="string")return $;var V=J.length;if(V===0)return $;var U="",q=1-Y,_=-1,F=$&&$.length||0;for(var B=0;B<F;){if($.charCodeAt(B)===37&&B+1<F){switch(_=_>-1?_:0,$.charCodeAt(B+1)){case 100:case 102:if(q>=V)break;if(J[q]==null)break;if(_<B)U+=$.slice(_,B);U+=Number(J[q]),_=B+2,B++;break;case 105:if(q>=V)break;if(J[q]==null)break;if(_<B)U+=$.slice(_,B);U+=Math.floor(Number(J[q])),_=B+2,B++;break;case 79:case 111:case 106:if(q>=V)break;if(J[q]===void 0)break;if(_<B)U+=$.slice(_,B);var D=typeof J[q];if(D==="string"){U+="'"+J[q]+"'",_=B+2,B++;break}if(D==="function"){U+=J[q].name||"<anonymous>",_=B+2,B++;break}U+=X(J[q]),_=B+2,B++;break;case 115:if(q>=V)break;if(_<B)U+=$.slice(_,B);U+=String(J[q]),_=B+2,B++;break;case 37:if(_<B)U+=$.slice(_,B);U+="%",_=B+2,B++,q--;break}++q}++B}if(_===-1)return $;else if(_<F)U+=$.slice(_);return U}});var P8=L((tO,M8)=>{if(typeof SharedArrayBuffer<"u"&&typeof Atomics<"u"){let J=function(Q){if((Q>0&&Q<1/0)===!1){if(typeof Q!=="number"&&typeof Q!=="bigint")throw TypeError("sleep: ms must be a number");throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity")}Atomics.wait($,0,0,Number(Q))},$=new Int32Array(new SharedArrayBuffer(4));M8.exports=J}else{let $=function(J){if((J>0&&J<1/0)===!1){if(typeof J!=="number"&&typeof J!=="bigint")throw TypeError("sleep: ms must be a number");throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity")}let X=Date.now()+Number(J);while(X>Date.now());};M8.exports=$}});var wJ=L((eO,zJ)=>{var w0=require("fs"),Hq=require("events"),Gq=require("util").inherits,_J=require("path"),I8=P8(),Vq=require("assert"),M6=Buffer.allocUnsafe(0),[Uq,qq]=(process.versions.node||"0.0").split(".").map(Number),_q=Uq>=22&&qq>=7;function DJ($,J){J._opening=!0,J._writing=!0,J._asyncDrainScheduled=!1;function Q(W,H){if(W){if(J._reopening=!1,J._writing=!1,J._opening=!1,J.sync)process.nextTick(()=>{if(J.listenerCount("error")>0)J.emit("error",W)});else J.emit("error",W);return}let G=J._reopening;if(J.fd=H,J.file=$,J._reopening=!1,J._opening=!1,J._writing=!1,J.sync)process.nextTick(()=>J.emit("ready"));else J.emit("ready");if(J.destroyed)return;if(!J._writing&&J._len>J.minLength||J._flushPending)J._actualWrite();else if(G)process.nextTick(()=>J.emit("drain"))}let X=J.append?"a":"w",Y=J.mode;if(J.sync)try{if(J.mkdir)w0.mkdirSync(_J.dirname($),{recursive:!0});let W=w0.openSync($,X,Y);Q(null,W)}catch(W){throw Q(W),W}else if(J.mkdir)w0.mkdir(_J.dirname($),{recursive:!0},(W)=>{if(W)return Q(W);w0.open($,X,Y,Q)});else w0.open($,X,Y,Q)}function i0($){if(!(this instanceof i0))return new i0($);let{fd:J,dest:Q,minLength:X,maxLength:Y,maxWrite:W,periodicFlush:H,sync:G,append:V=!0,mkdir:U,retryEAGAIN:q,fsync:_,contentMode:F,mode:B}=$||{};J=J||Q,this._len=0,this.fd=-1,this._bufs=[],this._lens=[],this._writing=!1,this._ending=!1,this._reopening=!1,this._asyncDrainScheduled=!1,this._flushPending=!1,this._hwm=Math.max(X||0,16387),this.file=null,this.destroyed=!1,this.minLength=X||0,this.maxLength=Y||0,this.maxWrite=W||16384,this._periodicFlush=H||0,this._periodicFlushTimer=void 0,this.sync=G||!1,this.writable=!0,this._fsync=_||!1,this.append=V||!1,this.mode=B,this.retryEAGAIN=q||(()=>!0),this.mkdir=U||!1;let D,A;if(F==="buffer")this._writingBuf=M6,this.write=Fq,this.flush=wq,this.flushSync=Aq,this._actualWrite=Eq,D=()=>w0.writeSync(this.fd,this._writingBuf),A=()=>w0.write(this.fd,this._writingBuf,this.release);else if(F===void 0||F==="utf8")this._writingBuf="",this.write=Bq,this.flush=zq,this.flushSync=Nq,this._actualWrite=jq,D=()=>w0.writeSync(this.fd,this._writingBuf,"utf8"),A=()=>w0.write(this.fd,this._writingBuf,"utf8",this.release);else throw Error(`SonicBoom supports "utf8" and "buffer", but passed ${F}`);if(typeof J==="number")this.fd=J,process.nextTick(()=>this.emit("ready"));else if(typeof J==="string")DJ(J,this);else throw Error("SonicBoom supports only file descriptors and files");if(this.minLength>=this.maxWrite)throw Error(`minLength should be smaller than maxWrite (${this.maxWrite})`);if(this.release=(Z,C)=>{if(Z){if((Z.code==="EAGAIN"||Z.code==="EBUSY")&&this.retryEAGAIN(Z,this._writingBuf.length,this._len-this._writingBuf.length))if(this.sync)try{I8(100),this.release(void 0,0)}catch(y){this.release(y)}else setTimeout(A,100);else this._writing=!1,this.emit("error",Z);return}this.emit("write",C);let T=K8(this._writingBuf,this._len,C);if(this._len=T.len,this._writingBuf=T.writingBuf,this._writingBuf.length){if(!this.sync){A();return}try{do{let y=D(),s=K8(this._writingBuf,this._len,y);this._len=s.len,this._writingBuf=s.writingBuf}while(this._writingBuf.length)}catch(y){this.release(y);return}}if(this._fsync)w0.fsyncSync(this.fd);let K=this._len;if(this._reopening)this._writing=!1,this._reopening=!1,this.reopen();else if(K>this.minLength)this._actualWrite();else if(this._ending)if(K>0)this._actualWrite();else this._writing=!1,P6(this);else if(this._writing=!1,this.sync){if(!this._asyncDrainScheduled)this._asyncDrainScheduled=!0,process.nextTick(Dq,this)}else this.emit("drain")},this.on("newListener",function(Z){if(Z==="drain")this._asyncDrainScheduled=!1}),this._periodicFlush!==0)this._periodicFlushTimer=setInterval(()=>this.flush(null),this._periodicFlush),this._periodicFlushTimer.unref()}function K8($,J,Q){if(typeof $==="string"&&Buffer.byteLength($)!==Q)Q=Buffer.from($).subarray(0,Q).toString().length;return J=Math.max(J-Q,0),$=$.slice(Q),{writingBuf:$,len:J}}function Dq($){if(!($.listenerCount("drain")>0))return;$._asyncDrainScheduled=!1,$.emit("drain")}Gq(i0,Hq);function BJ($,J){if($.length===0)return M6;if($.length===1)return $[0];return Buffer.concat($,J)}function Bq($){if(this.destroyed)throw Error("SonicBoom destroyed");let J=this._len+$.length,Q=this._bufs;if(this.maxLength&&J>this.maxLength)return this.emit("drop",$),this._len<this._hwm;if(Q.length===0||Q[Q.length-1].length+$.length>this.maxWrite)Q.push(""+$);else Q[Q.length-1]+=$;if(this._len=J,!this._writing&&this._len>=this.minLength)this._actualWrite();return this._len<this._hwm}function Fq($){if(this.destroyed)throw Error("SonicBoom destroyed");let J=this._len+$.length,Q=this._bufs,X=this._lens;if(this.maxLength&&J>this.maxLength)return this.emit("drop",$),this._len<this._hwm;if(Q.length===0||X[X.length-1]+$.length>this.maxWrite)Q.push([$]),X.push($.length);else Q[Q.length-1].push($),X[X.length-1]+=$.length;if(this._len=J,!this._writing&&this._len>=this.minLength)this._actualWrite();return this._len<this._hwm}function FJ($){this._flushPending=!0;let J=()=>{if(!this._fsync)try{w0.fsync(this.fd,(X)=>{this._flushPending=!1,$(X)})}catch(X){$(X)}else this._flushPending=!1,$();this.off("error",Q)},Q=(X)=>{this._flushPending=!1,$(X),this.off("drain",J)};this.once("drain",J),this.once("error",Q)}function zq($){if($!=null&&typeof $!=="function")throw Error("flush cb must be a function");if(this.destroyed){let J=Error("SonicBoom destroyed");if($){$(J);return}throw J}if(this.minLength<=0){$?.();return}if($)FJ.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push("");this._actualWrite()}function wq($){if($!=null&&typeof $!=="function")throw Error("flush cb must be a function");if(this.destroyed){let J=Error("SonicBoom destroyed");if($){$(J);return}throw J}if(this.minLength<=0){$?.();return}if($)FJ.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push([]),this._lens.push(0);this._actualWrite()}i0.prototype.reopen=function($){if(this.destroyed)throw Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.reopen($)});return}if(this._ending)return;if(!this.file)throw Error("Unable to reopen a file descriptor, you must pass a file to SonicBoom");if($)this.file=$;if(this._reopening=!0,this._writing)return;let J=this.fd;this.once("ready",()=>{if(J!==this.fd)w0.close(J,(Q)=>{if(Q)return this.emit("error",Q)})}),DJ(this.file,this)};i0.prototype.end=function(){if(this.destroyed)throw Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.end()});return}if(this._ending)return;if(this._ending=!0,this._writing)return;if(this._len>0&&this.fd>=0)this._actualWrite();else P6(this)};function Nq(){if(this.destroyed)throw Error("SonicBoom destroyed");if(this.fd<0)throw Error("sonic boom is not ready yet");if(!this._writing&&this._writingBuf.length>0)this._bufs.unshift(this._writingBuf),this._writingBuf="";let $="";while(this._bufs.length||$){if($.length<=0)$=this._bufs[0];try{let J=w0.writeSync(this.fd,$,"utf8"),Q=K8($,this._len,J);if($=Q.writingBuf,this._len=Q.len,$.length<=0)this._bufs.shift()}catch(J){if((J.code==="EAGAIN"||J.code==="EBUSY")&&!this.retryEAGAIN(J,$.length,this._len-$.length))throw J;I8(100)}}try{w0.fsyncSync(this.fd)}catch{}}function Aq(){if(this.destroyed)throw Error("SonicBoom destroyed");if(this.fd<0)throw Error("sonic boom is not ready yet");if(!this._writing&&this._writingBuf.length>0)this._bufs.unshift([this._writingBuf]),this._writingBuf=M6;let $=M6;while(this._bufs.length||$.length){if($.length<=0)$=BJ(this._bufs[0],this._lens[0]);try{let J=w0.writeSync(this.fd,$);if($=$.subarray(J),this._len=Math.max(this._len-J,0),$.length<=0)this._bufs.shift(),this._lens.shift()}catch(J){if((J.code==="EAGAIN"||J.code==="EBUSY")&&!this.retryEAGAIN(J,$.length,this._len-$.length))throw J;I8(100)}}}i0.prototype.destroy=function(){if(this.destroyed)return;P6(this)};function jq(){let $=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf||this._bufs.shift()||"",this.sync)try{let J=w0.writeSync(this.fd,this._writingBuf,"utf8");$(null,J)}catch(J){$(J)}else w0.write(this.fd,this._writingBuf,"utf8",$)}function Eq(){let $=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:BJ(this._bufs.shift(),this._lens.shift()),this.sync)try{let J=w0.writeSync(this.fd,this._writingBuf);$(null,J)}catch(J){$(J)}else{if(_q)this._writingBuf=Buffer.from(this._writingBuf);w0.write(this.fd,this._writingBuf,$)}}function P6($){if($.fd===-1){$.once("ready",P6.bind(null,$));return}if($._periodicFlushTimer!==void 0)clearInterval($._periodicFlushTimer);$.destroyed=!0,$._bufs=[],$._lens=[],Vq(typeof $.fd==="number",`sonic.fd must be a number, got ${typeof $.fd}`);try{w0.fsync($.fd,J)}catch{}function J(){if($.fd!==1&&$.fd!==2)w0.close($.fd,Q);else Q()}function Q(X){if(X){$.emit("error",X);return}if($._ending&&!$._writing)$.emit("finish");$.emit("close")}}i0.SonicBoom=i0;i0.default=i0;zJ.exports=i0});var T8=L(($R,LJ)=>{var n0={exit:[],beforeExit:[]},NJ={exit:Rq,beforeExit:Zq},R$;function Lq(){if(R$===void 0)R$=new FinalizationRegistry(Sq)}function Oq($){if(n0[$].length>0)return;process.on($,NJ[$])}function AJ($){if(n0[$].length>0)return;if(process.removeListener($,NJ[$]),n0.exit.length===0&&n0.beforeExit.length===0)R$=void 0}function Rq(){jJ("exit")}function Zq(){jJ("beforeExit")}function jJ($){for(let J of n0[$]){let Q=J.deref(),X=J.fn;if(Q!==void 0)X(Q,$)}n0[$]=[]}function Sq($){for(let J of["exit","beforeExit"]){let Q=n0[J].indexOf($);n0[J].splice(Q,Q+1),AJ(J)}}function EJ($,J,Q){if(J===void 0)throw Error("the object can't be undefined");Oq($);let X=new WeakRef(J);X.fn=Q,Lq(),R$.register(J,X),n0[$].push(X)}function Cq($,J){EJ("exit",$,J)}function Mq($,J){EJ("beforeExit",$,J)}function Pq($){if(R$===void 0)return;R$.unregister($);for(let J of["exit","beforeExit"])n0[J]=n0[J].filter((Q)=>{let X=Q.deref();return X&&X!==$}),AJ(J)}LJ.exports={register:Cq,registerBeforeExit:Mq,unregister:Pq}});var OJ=L((JR,Kq)=>{Kq.exports={name:"thread-stream",version:"4.0.0",description:"A streaming way to send data to a Node.js Worker Thread",main:"index.js",types:"index.d.ts",engines:{node:">=20"},dependencies:{"real-require":"^0.2.0"},devDependencies:{"@types/node":"^22.0.0","@yao-pkg/pkg":"^6.0.0",borp:"^0.21.0",desm:"^1.3.0",eslint:"^9.39.1",fastbench:"^1.0.1",husky:"^9.0.6",neostandard:"^0.12.2","pino-elasticsearch":"^8.0.0","sonic-boom":"^4.0.1","ts-node":"^10.8.0",typescript:"~5.7.3"},scripts:{build:"tsc --noEmit",lint:"eslint",test:"npm run lint && npm run build && npm run transpile && borp --pattern 'test/*.test.{js,mjs}'","test:ci":"npm run lint && npm run transpile && borp --pattern 'test/*.test.{js,mjs}'","test:yarn":"npm run transpile && borp --pattern 'test/*.test.js'",transpile:"sh ./test/ts/transpile.sh",prepare:"husky install"},repository:{type:"git",url:"git+https://github.com/mcollina/thread-stream.git"},keywords:["worker","thread","threads","stream"],author:"Matteo Collina <hello@matteocollina.com>",license:"MIT",bugs:{url:"https://github.com/mcollina/thread-stream/issues"},homepage:"https://github.com/mcollina/thread-stream#readme"}});var ZJ=L((QR,RJ)=>{function Iq($,J,Q,X,Y){let W=X===1/0?1/0:Date.now()+X,H=()=>{let G=Atomics.load($,J);if(G===Q){Y(null,"ok");return}if(W!==1/0&&Date.now()>W){Y(null,"timed-out");return}let V=W===1/0?1e4:Math.min(1e4,Math.max(1,W-Date.now())),U=Atomics.waitAsync($,J,G,V);if(U.async)U.value.then(H);else setImmediate(H)};H()}function Tq($,J,Q,X,Y){let W=X===1/0?1/0:Date.now()+X,H=()=>{if(Atomics.load($,J)!==Q){Y(null,"ok");return}if(W!==1/0&&Date.now()>W){Y(null,"timed-out");return}let V=W===1/0?1e4:Math.min(1e4,Math.max(1,W-Date.now())),U=Atomics.waitAsync($,J,Q,V);if(U.async)U.value.then(H);else setImmediate(H)};H()}RJ.exports={wait:Iq,waitDiff:Tq}});var CJ=L((XR,SJ)=>{SJ.exports={WRITE_INDEX:4,READ_INDEX:8}});var bJ=L((YR,TJ)=>{var __dirname="C:\\Users\\mejia\\Documents\\ts\\Veloce-TS\\node_modules\\thread-stream",{version:bq}=OJ(),{EventEmitter:fq}=require("events"),{Worker:kq}=require("worker_threads"),{join:xq}=require("path"),{pathToFileURL:vq}=require("url"),{wait:hq}=ZJ(),{WRITE_INDEX:f0,READ_INDEX:b0}=CJ(),gq=require("buffer"),yq=require("assert"),E=Symbol("kImpl"),uq=gq.constants.MAX_STRING_LENGTH;class I6{constructor($){this._value=$}deref(){return this._value}}class f8{register(){}unregister(){}}var mq=process.env.NODE_V8_COVERAGE?f8:global.FinalizationRegistry||f8,lq=process.env.NODE_V8_COVERAGE?I6:global.WeakRef||I6,MJ=new mq(($)=>{if($.exited)return;$.terminate()});function cq($,J){let{filename:Q,workerData:X}=J,W=("__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{})["thread-stream-worker"]||xq(__dirname,"lib","worker.js"),H=new kq(W,{...J.workerOpts,trackUnmanagedFds:!1,workerData:{filename:Q.indexOf("file://")===0?Q:vq(Q).href,dataBuf:$[E].dataBuf,stateBuf:$[E].stateBuf,workerData:{$context:{threadStreamVersion:bq},...X}}});return H.stream=new I6($),H.on("message",dq),H.on("exit",KJ),MJ.register($,H),H}function PJ($){if(yq(!$[E].sync),$[E].needDrain)$[E].needDrain=!1,$.emit("drain")}function K6($){let J=Atomics.load($[E].state,f0),Q=$[E].data.length-J;if(Q>0){if($[E].buf.length===0){if($[E].flushing=!1,$[E].ending)v8($);else if($[E].needDrain)process.nextTick(PJ,$);return}let X=$[E].buf.slice(0,Q),Y=Buffer.byteLength(X);if(Y<=Q)$[E].buf=$[E].buf.slice(Q),T6($,X,K6.bind(null,$));else $.flush(()=>{if($.destroyed)return;Atomics.store($[E].state,b0,0),Atomics.store($[E].state,f0,0),Atomics.notify($[E].state,b0);while(Y>$[E].data.length)Q=Q/2,X=$[E].buf.slice(0,Q),Y=Buffer.byteLength(X);$[E].buf=$[E].buf.slice(Q),T6($,X,K6.bind(null,$))})}else if(Q===0){if(J===0&&$[E].buf.length===0)return;$.flush(()=>{Atomics.store($[E].state,b0,0),Atomics.store($[E].state,f0,0),Atomics.notify($[E].state,b0),K6($)})}else H1($,Error("overwritten"))}function dq($){let J=this.stream.deref();if(J===void 0){this.exited=!0,this.terminate();return}switch($.code){case"READY":this.stream=new lq(J),J.flush(()=>{J[E].ready=!0,J.emit("ready")});break;case"ERROR":H1(J,$.err);break;case"EVENT":if(Array.isArray($.args))J.emit($.name,...$.args);else J.emit($.name,$.args);break;case"WARNING":process.emitWarning($.err);break;default:H1(J,Error("this should not happen: "+$.code))}}function KJ($){let J=this.stream.deref();if(J===void 0)return;MJ.unregister(J),J.worker.exited=!0,J.worker.off("exit",KJ),H1(J,$!==0?Error("the worker thread exited"):null)}class IJ extends fq{constructor($={}){super();if($.bufferSize<4)throw Error("bufferSize must at least fit a 4-byte utf-8 char");this[E]={},this[E].stateBuf=new SharedArrayBuffer(128),this[E].state=new Int32Array(this[E].stateBuf),this[E].dataBuf=new SharedArrayBuffer($.bufferSize||4194304),this[E].data=Buffer.from(this[E].dataBuf),this[E].sync=$.sync||!1,this[E].ending=!1,this[E].ended=!1,this[E].needDrain=!1,this[E].destroyed=!1,this[E].flushing=!1,this[E].ready=!1,this[E].finished=!1,this[E].errored=null,this[E].closed=!1,this[E].buf="",this.worker=cq(this,$),this.on("message",(J,Q)=>{this.worker.postMessage(J,Q)})}write($){if(this[E].destroyed)return k8(this,Error("the worker has exited")),!1;if(this[E].ending)return k8(this,Error("the worker is ending")),!1;if(this[E].flushing&&this[E].buf.length+$.length>=uq)try{b8(this),this[E].flushing=!0}catch(J){return H1(this,J),!1}if(this[E].buf+=$,this[E].sync)try{return b8(this),!0}catch(J){return H1(this,J),!1}if(!this[E].flushing)this[E].flushing=!0,setImmediate(K6,this);return this[E].needDrain=this[E].data.length-this[E].buf.length-Atomics.load(this[E].state,f0)<=0,!this[E].needDrain}end(){if(this[E].destroyed)return;this[E].ending=!0,v8(this)}flush($){if(this[E].destroyed){if(typeof $==="function")process.nextTick($,Error("the worker has exited"));return}let J=Atomics.load(this[E].state,f0);hq(this[E].state,b0,J,1/0,(Q,X)=>{if(Q){H1(this,Q),process.nextTick($,Q);return}if(X==="not-equal"){this.flush($);return}process.nextTick($)})}flushSync(){if(this[E].destroyed)return;b8(this),x8(this)}unref(){this.worker.unref()}ref(){this.worker.ref()}get ready(){return this[E].ready}get destroyed(){return this[E].destroyed}get closed(){return this[E].closed}get writable(){return!this[E].destroyed&&!this[E].ending}get writableEnded(){return this[E].ending}get writableFinished(){return this[E].finished}get writableNeedDrain(){return this[E].needDrain}get writableObjectMode(){return!1}get writableErrored(){return this[E].errored}}function k8($,J){setImmediate(()=>{$.emit("error",J)})}function H1($,J){if($[E].destroyed)return;if($[E].destroyed=!0,J)$[E].errored=J,k8($,J);if(!$.worker.exited)$.worker.terminate().catch(()=>{}).then(()=>{$[E].closed=!0,$.emit("close")});else setImmediate(()=>{$[E].closed=!0,$.emit("close")})}function T6($,J,Q){let X=Atomics.load($[E].state,f0),Y=Buffer.byteLength(J);return $[E].data.write(J,X),Atomics.store($[E].state,f0,X+Y),Atomics.notify($[E].state,f0),Q(),!0}function v8($){if($[E].ended||!$[E].ending||$[E].flushing)return;$[E].ended=!0;try{$.flushSync();let J=Atomics.load($[E].state,b0);Atomics.store($[E].state,f0,-1),Atomics.notify($[E].state,f0);let Q=0;while(J!==-1){if(Atomics.wait($[E].state,b0,J,1000),J=Atomics.load($[E].state,b0),J===-2){H1($,Error("end() failed"));return}if(++Q===10){H1($,Error("end() took too long (10s)"));return}}process.nextTick(()=>{$[E].finished=!0,$.emit("finish")})}catch(J){H1($,J)}}function b8($){let J=()=>{if($[E].ending)v8($);else if($[E].needDrain)process.nextTick(PJ,$)};$[E].flushing=!1;while($[E].buf.length!==0){let Q=Atomics.load($[E].state,f0),X=$[E].data.length-Q;if(X===0){x8($),Atomics.store($[E].state,b0,0),Atomics.store($[E].state,f0,0),Atomics.notify($[E].state,b0);continue}else if(X<0)throw Error("overwritten");let Y=$[E].buf.slice(0,X),W=Buffer.byteLength(Y);if(W<=X)$[E].buf=$[E].buf.slice(X),T6($,Y,J);else{x8($),Atomics.store($[E].state,b0,0),Atomics.store($[E].state,f0,0),Atomics.notify($[E].state,b0);while(W>$[E].buf.length)X=X/2,Y=$[E].buf.slice(0,X),W=Buffer.byteLength(Y);$[E].buf=$[E].buf.slice(X),T6($,Y,J)}}}function x8($){if($[E].flushing)throw Error("unable to flush while flushing");let J=Atomics.load($[E].state,f0),Q=0;while(!0){let X=Atomics.load($[E].state,b0);if(X===-2)throw Error("_flushSync failed");if(X!==J)Atomics.wait($[E].state,b0,X,1000);else break;if(++Q===10)throw Error("_flushSync took too long (10s)")}}TJ.exports=IJ});var y8=L((WR,xJ)=>{var __dirname="C:\\Users\\mejia\\Documents\\ts\\Veloce-TS\\node_modules\\pino\\lib",{createRequire:pq}=require("module"),{existsSync:iq}=require("node:fs"),nq=R8(),{join:h8,isAbsolute:kJ,sep:sq}=require("node:path"),{fileURLToPath:oq}=require("node:url"),rq=P8(),g8=T8(),aq=bJ();function tq($){g8.register($,X_),g8.registerBeforeExit($,Y_),$.on("close",function(){g8.unregister($)})}function eq(){let $=process.execArgv;for(let J=0;J<$.length;J++){let Q=$[J];if(Q==="--import"||Q==="--require"||Q==="-r")return!0;if(Q.startsWith("--import=")||Q.startsWith("--require=")||Q.startsWith("-r="))return!0}return!1}function $_($){let J=$.match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g);if(!J)return $;let Q=[],X=!1;for(let Y=0;Y<J.length;Y++){let W=J[Y];if(W==="--require"||W==="-r"||W==="--import"){let H=J[Y+1];if(H&&fJ(H)){X=!0,Y++;continue}if(Q.push(W),H)Q.push(H),Y++;continue}if(W.startsWith("--require=")||W.startsWith("-r=")||W.startsWith("--import=")){let H=W.slice(W.indexOf("=")+1);if(fJ(H)){X=!0;continue}}Q.push(W)}return X?Q.join(" "):$}function fJ($){let J=J_($);if(!J)return!1;let Q=J;if(Q.startsWith("file://"))try{Q=oq(Q)}catch{return!1}return kJ(Q)&&!iq(Q)}function J_($){let J=$[0],Q=$[$.length-1];if(J==='"'&&Q==='"'||J==="'"&&Q==="'")return $.slice(1,-1);return $}function Q_($,J,Q,X,Y){if(!Q.execArgv&&eq()&&require.main===void 0)Q={...Q,execArgv:[]};if(!Q.env&&process.env.NODE_OPTIONS){let V=$_(process.env.NODE_OPTIONS);if(V!==process.env.NODE_OPTIONS)Q={...Q,env:{...process.env,NODE_OPTIONS:V}}}Q={...Q,name:Y};let W=new aq({filename:$,workerData:J,workerOpts:Q,sync:X});W.on("ready",H),W.on("close",function(){process.removeListener("exit",G)}),process.on("exit",G);function H(){if(process.removeListener("exit",G),W.unref(),Q.autoEnd!==!1)tq(W)}function G(){if(W.closed)return;W.flushSync(),rq(100),W.end()}return W}function X_($){$.ref(),$.flushSync(),$.end(),$.once("close",function(){$.unref()})}function Y_($){$.flushSync()}function W_($){let{pipeline:J,targets:Q,levels:X,dedupe:Y,worker:W={},caller:H=nq(),sync:G=!1}=$,V={...$.options},U=typeof H==="string"?[H]:H,q=typeof globalThis==="object"&&Object.prototype.hasOwnProperty.call(globalThis,"__bundlerPathsOverrides")&&globalThis.__bundlerPathsOverrides&&typeof globalThis.__bundlerPathsOverrides==="object"?globalThis.__bundlerPathsOverrides:Object.create(null),_=$.target;if(_&&Q)throw Error("only one of target or targets can be specified");if(Q)_=q["pino-worker"]||h8(__dirname,"worker.js"),V.targets=Q.filter((D)=>D.target).map((D)=>{return{...D,target:B(D.target)}}),V.pipelines=Q.filter((D)=>D.pipeline).map((D)=>{return D.pipeline.map((A)=>{return{...A,level:D.level,target:B(A.target)}})});else if(J)_=q["pino-worker"]||h8(__dirname,"worker.js"),V.pipelines=[J.map((D)=>{return{...D,target:B(D.target)}})];if(X)V.levels=X;if(Y)V.dedupe=Y;V.pinoWillSendConfig=!0;let F=Q||J?"pino.transport":_;return Q_(B(_),V,W,G,F);function B(D){if(D=q[D]||D,kJ(D)||D.indexOf("file://")===0)return D;if(D==="pino/file")return h8(__dirname,"..","file.js");let A;for(let Z of U)try{let C=Z==="node:repl"?process.cwd()+sq:Z;A=pq(C).resolve(D);break}catch(C){continue}if(!A)throw Error(`unable to determine transport target for "${D}"`);return A}}xJ.exports=W_});var k6=L((HR,sJ)=>{var H_=require("node:diagnostics_channel"),vJ=qJ(),{mapHttpRequest:G_,mapHttpResponse:V_}=O8(),m8=wJ(),hJ=T8(),{lsCacheSym:U_,chindingsSym:lJ,writeSym:gJ,serializersSym:cJ,formatOptsSym:yJ,endSym:q_,stringifiersSym:dJ,stringifySym:pJ,stringifySafeSym:l8,wildcardFirstSym:iJ,nestedKeySym:__,formattersSym:nJ,messageKeySym:D_,errorKeySym:B_,nestedKeyStrSym:F_,msgPrefixSym:b6}=O$(),{isMainThread:z_}=require("worker_threads"),w_=y8(),[N_]=process.versions.node.split(".").map(($)=>Number($)),uJ=H_.tracingChannel("pino_asJson"),u8=N_>=25?($)=>JSON.stringify($):j_;function Z$(){}function A_($,J){if(!J)return Q;return function(...Y){J.call(this,Y,Q,$)};function Q(X,...Y){if(typeof X==="object"){let W=X;if(X!==null){if(X.method&&X.headers&&X.socket)X=G_(X);else if(typeof X.setHeader==="function")X=V_(X)}let H;if(W===null&&Y.length===0)H=[null];else W=Y.shift(),H=Y;if(typeof this[b6]==="string"&&W!==void 0&&W!==null)W=this[b6]+W;this[gJ](X,vJ(W,H,this[yJ]),$)}else{let W=X===void 0?Y.shift():X;if(typeof this[b6]==="string"&&W!==void 0&&W!==null)W=this[b6]+W;this[gJ](null,vJ(W,Y,this[yJ]),$)}}}function j_($){let J="",Q=0,X=!1,Y=255,W=$.length;if(W>100)return JSON.stringify($);for(var H=0;H<W&&Y>=32;H++)if(Y=$.charCodeAt(H),Y===34||Y===92)J+=$.slice(Q,H)+"\\",Q=H,X=!0;if(!X)J=$;else J+=$.slice(Q);return Y<32?JSON.stringify($):'"'+J+'"'}function E_($,J,Q,X){if(uJ.hasSubscribers===!1)return mJ.call(this,$,J,Q,X);let Y={instance:this,arguments};return uJ.traceSync(mJ,Y,this,$,J,Q,X)}function mJ($,J,Q,X){let Y=this[pJ],W=this[l8],H=this[dJ],G=this[q_],V=this[lJ],U=this[cJ],q=this[nJ],_=this[D_],F=this[B_],B=this[U_][Q]+X;B=B+V;let D;if(q.log)$=q.log($);let A=H[iJ],Z="";for(let T in $)if(D=$[T],Object.prototype.hasOwnProperty.call($,T)&&D!==void 0){if(U[T])D=U[T](D);else if(T===F&&U.err)D=U.err(D);let K=H[T]||A;switch(typeof D){case"undefined":case"function":continue;case"number":if(Number.isFinite(D)===!1)D=null;case"boolean":if(K)D=K(D);break;case"string":D=(K||u8)(D);break;default:D=(K||Y)(D,W)}if(D===void 0)continue;let y=u8(T);Z+=","+y+":"+D}let C="";if(J!==void 0){D=U[_]?U[_](J):J;let T=H[_]||A;switch(typeof D){case"function":break;case"number":if(Number.isFinite(D)===!1)D=null;case"boolean":if(T)D=T(D);C=',"'+_+'":'+D;break;case"string":D=(T||u8)(D),C=',"'+_+'":'+D;break;default:D=(T||Y)(D,W),C=',"'+_+'":'+D}}if(this[__]&&Z)return B+this[F_]+Z.slice(1)+"}"+C+G;else return B+Z+C+G}function L_($,J){let Q,X=$[lJ],Y=$[pJ],W=$[l8],H=$[dJ],G=H[iJ],V=$[cJ],U=$[nJ].bindings;J=U(J);for(let q in J)if(Q=J[q],((q.length<5||q!=="level"&&q!=="serializers"&&q!=="formatters"&&q!=="customLevels")&&J.hasOwnProperty(q)&&Q!==void 0)===!0){if(Q=V[q]?V[q](Q):Q,Q=(H[q]||G||Y)(Q,W),Q===void 0)continue;X+=',"'+q+'":'+Q}return X}function O_($){return $.write!==$.constructor.prototype.write}function f6($){let J=new m8($);if(J.on("error",Q),!$.sync&&z_)hJ.register(J,R_),J.on("close",function(){hJ.unregister(J)});return J;function Q(X){if(X.code==="EPIPE"){J.write=Z$,J.end=Z$,J.flushSync=Z$,J.destroy=Z$;return}J.removeListener("error",Q),J.emit("error",X)}}function R_($,J){if($.destroyed)return;if(J==="beforeExit")$.flush(),$.on("drain",function(){$.end()});else $.flushSync()}function Z_($){return function(Q,X,Y={},W){if(typeof Y==="string")W=f6({dest:Y}),Y={};else if(typeof W==="string"){if(Y&&Y.transport)throw Error("only one of option.transport or stream can be specified");W=f6({dest:W})}else if(Y instanceof m8||Y.writable||Y._writableState)W=Y,Y={};else if(Y.transport){if(Y.transport instanceof m8||Y.transport.writable||Y.transport._writableState)throw Error("option.transport do not allow stream, please pass to option directly. e.g. pino(transport)");if(Y.transport.targets&&Y.transport.targets.length&&Y.formatters&&typeof Y.formatters.level==="function")throw Error("option.transport.targets do not allow custom level formatters");let V;if(Y.customLevels)V=Y.useOnlyCustomLevels?Y.customLevels:Object.assign({},Y.levels,Y.customLevels);W=w_({caller:X,...Y.transport,levels:V})}if(Y=Object.assign({},$,Y),Y.serializers=Object.assign({},$.serializers,Y.serializers),Y.formatters=Object.assign({},$.formatters,Y.formatters),Y.prettyPrint)throw Error("prettyPrint option is no longer supported, see the pino-pretty package (https://github.com/pinojs/pino-pretty)");let{enabled:H,onChild:G}=Y;if(H===!1)Y.level="silent";if(!G)Y.onChild=Z$;if(!W)if(!O_(process.stdout))W=f6({fd:process.stdout.fd||1});else W=process.stdout;return{opts:Y,stream:W}}}function S_($,J){try{return JSON.stringify($)}catch(Q){try{return(J||this[l8])($)}catch(X){return'"[unable to serialize, circular reference is too complex to analyze]"'}}}function C_($,J,Q){return{level:$,bindings:J,log:Q}}function M_($){let J=Number($);if(typeof $==="string"&&Number.isFinite(J))return J;if($===void 0)return 1;return $}sJ.exports={noop:Z$,buildSafeSonicBoom:f6,asChindings:L_,asJson:E_,genLog:A_,createArgsNormalizer:Z_,stringify:S_,buildFormatters:C_,normalizeDestFileDescriptor:M_}});var x6=L((GR,oJ)=>{var P_={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},K_={ASC:"ASC",DESC:"DESC"};oJ.exports={DEFAULT_LEVELS:P_,SORTING_ORDER:K_}});var p8=L((VR,eJ)=>{var{lsCacheSym:I_,levelValSym:c8,useOnlyCustomLevelsSym:T_,streamSym:b_,formattersSym:f_,hooksSym:k_,levelCompSym:rJ}=O$(),{noop:x_,genLog:p1}=k6(),{DEFAULT_LEVELS:G1,SORTING_ORDER:aJ}=x6(),tJ={fatal:($)=>{let J=p1(G1.fatal,$);return function(...Q){let X=this[b_];if(J.call(this,...Q),typeof X.flushSync==="function")try{X.flushSync()}catch(Y){}}},error:($)=>p1(G1.error,$),warn:($)=>p1(G1.warn,$),info:($)=>p1(G1.info,$),debug:($)=>p1(G1.debug,$),trace:($)=>p1(G1.trace,$)},d8=Object.keys(G1).reduce(($,J)=>{return $[G1[J]]=J,$},{}),v_=Object.keys(d8).reduce(($,J)=>{return $[J]='{"level":'+Number(J),$},{});function h_($){let J=$[f_].level,{labels:Q}=$.levels,X={};for(let Y in Q){let W=J(Q[Y],Number(Y));X[Y]=JSON.stringify(W).slice(0,-1)}return $[I_]=X,$}function g_($,J){if(J)return!1;switch($){case"fatal":case"error":case"warn":case"info":case"debug":case"trace":return!0;default:return!1}}function y_($){let{labels:J,values:Q}=this.levels;if(typeof $==="number"){if(J[$]===void 0)throw Error("unknown level value"+$);$=J[$]}if(Q[$]===void 0)throw Error("unknown level "+$);let X=this[c8],Y=this[c8]=Q[$],W=this[T_],H=this[rJ],G=this[k_].logMethod;for(let V in Q){if(H(Q[V],Y)===!1){this[V]=x_;continue}this[V]=g_(V,W)?tJ[V](G):p1(Q[V],G)}this.emit("level-change",$,Y,J[X],X,this)}function u_($){let{levels:J,levelVal:Q}=this;return J&&J.labels?J.labels[Q]:""}function m_($){let{values:J}=this.levels,Q=J[$];return Q!==void 0&&this[rJ](Q,this[c8])}function l_($,J,Q){if($===aJ.DESC)return J<=Q;return J>=Q}function c_($){if(typeof $==="string")return l_.bind(null,$);return $}function d_($=null,J=!1){let Q=$?Object.keys($).reduce((W,H)=>{return W[$[H]]=H,W},{}):null,X=Object.assign(Object.create(Object.prototype,{Infinity:{value:"silent"}}),J?null:d8,Q),Y=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),J?null:G1,$);return{labels:X,values:Y}}function p_($,J,Q){if(typeof $==="number"){if(![].concat(Object.keys(J||{}).map((W)=>J[W]),Q?[]:Object.keys(d8).map((W)=>+W),1/0).includes($))throw Error(`default level:${$} must be included in custom levels`);return}let X=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),Q?null:G1,J);if(!($ in X))throw Error(`default level:${$} must be included in custom levels`)}function i_($,J){let{labels:Q,values:X}=$;for(let Y in J){if(Y in X)throw Error("levels cannot be overridden");if(J[Y]in Q)throw Error("pre-existing level values cannot be used for new levels")}}function n_($){if(typeof $==="function")return;if(typeof $==="string"&&Object.values(aJ).includes($))return;throw Error('Levels comparison should be one of "ASC", "DESC" or "function" type')}eJ.exports={initialLsCache:v_,genLsCache:h_,levelMethods:tJ,getLevel:u_,setLevel:y_,isLevelEnabled:m_,mappings:d_,assertNoLevelCollisions:i_,assertDefaultLevelFound:p_,genLevelComparison:c_,assertLevelComparison:n_}});var i8=L((UR,$3)=>{$3.exports={version:"10.3.1"}});var V3=L((qR,G3)=>{var{EventEmitter:s_}=require("node:events"),{lsCacheSym:o_,levelValSym:r_,setLevelSym:s8,getLevelSym:J3,chindingsSym:h6,mixinSym:a_,asJsonSym:X3,writeSym:t_,mixinMergeStrategySym:e_,timeSym:$D,timeSliceIndexSym:JD,streamSym:Y3,serializersSym:i1,formattersSym:L2,errorKeySym:QD,messageKeySym:XD,useOnlyCustomLevelsSym:YD,needsMetadataGsym:WD,redactFmtSym:HD,stringifySym:GD,formatOptsSym:VD,stringifiersSym:UD,msgPrefixSym:o8,hooksSym:qD}=O$(),{getLevel:_D,setLevel:DD,isLevelEnabled:BD,mappings:FD,initialLsCache:zD,genLsCache:wD,assertNoLevelCollisions:ND}=p8(),{asChindings:r8,asJson:AD,buildFormatters:n8,stringify:Q3,noop:W3}=k6(),{version:jD}=i8(),ED=C8(),LD=class{},H3={constructor:LD,child:OD,bindings:RD,setBindings:ZD,flush:MD,isLevelEnabled:BD,version:jD,get level(){return this[J3]()},set level($){this[s8]($)},get levelVal(){return this[r_]},set levelVal($){throw Error("levelVal is read-only")},get msgPrefix(){return this[o8]},get[Symbol.toStringTag](){return"Pino"},[o_]:zD,[t_]:CD,[X3]:AD,[J3]:_D,[s8]:DD};Object.setPrototypeOf(H3,s_.prototype);G3.exports=function(){return Object.create(H3)};var v6=($)=>$;function OD($,J){if(!$)throw Error("missing bindings for child Pino");let Q=this[i1],X=this[L2],Y=Object.create(this);if(J==null){if(Y[L2].bindings!==v6)Y[L2]=n8(X.level,v6,X.log);if(Y[h6]=r8(Y,$),this.onChild!==W3)this.onChild(Y);return Y}if(J.hasOwnProperty("serializers")===!0){Y[i1]=Object.create(null);for(let U in Q)Y[i1][U]=Q[U];let G=Object.getOwnPropertySymbols(Q);for(var W=0;W<G.length;W++){let U=G[W];Y[i1][U]=Q[U]}for(let U in J.serializers)Y[i1][U]=J.serializers[U];let V=Object.getOwnPropertySymbols(J.serializers);for(var H=0;H<V.length;H++){let U=V[H];Y[i1][U]=J.serializers[U]}}else Y[i1]=Q;if(J.hasOwnProperty("formatters")){let{level:G,bindings:V,log:U}=J.formatters;Y[L2]=n8(G||X.level,V||v6,U||X.log)}else Y[L2]=n8(X.level,v6,X.log);if(J.hasOwnProperty("customLevels")===!0)ND(this.levels,J.customLevels),Y.levels=FD(J.customLevels,Y[YD]),wD(Y);if(typeof J.redact==="object"&&J.redact!==null||Array.isArray(J.redact)){Y.redact=J.redact;let G=ED(Y.redact,Q3),V={stringify:G[HD]};Y[GD]=Q3,Y[UD]=G,Y[VD]=V}if(typeof J.msgPrefix==="string")Y[o8]=(this[o8]||"")+J.msgPrefix;if(Y[h6]=r8(Y,$),J.level!==void 0&&J.level!==this.level||J.hasOwnProperty("customLevels")){let G=J.level||this.level;Y[s8](G)}return this.onChild(Y),Y}function RD(){let J=`{${this[h6].substr(1)}}`,Q=JSON.parse(J);return delete Q.pid,delete Q.hostname,Q}function ZD($){let J=r8(this,$);this[h6]=J}function SD($,J){return Object.assign(J,$)}function CD($,J,Q){let X=this[$D](),Y=this[a_],W=this[QD],H=this[XD],G=this[e_]||SD,V,U=this[qD].streamWrite;if($===void 0||$===null)V={};else if($ instanceof Error){if(V={[W]:$},J===void 0)J=$.message}else if(V=$,J===void 0&&$[H]===void 0&&$[W])J=$[W].message;if(Y)V=G(V,Y(V,Q,this));let q=this[X3](V,J,Q,X),_=this[Y3];if(_[WD]===!0)_.lastLevel=Q,_.lastObj=V,_.lastMsg=J,_.lastTime=X.slice(this[JD]),_.lastLogger=this;_.write(U?U(q):q)}function MD($){if($!=null&&typeof $!=="function")throw Error("callback must be a function");let J=this[Y3];if(typeof J.flush==="function")J.flush($||W3);else if($)$()}});var D3=L(($9,_3)=>{var{hasOwnProperty:O2}=Object.prototype,s1=e8();s1.configure=e8;s1.stringify=s1;s1.default=s1;$9.stringify=s1;$9.configure=e8;_3.exports=s1;var PD=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function T1($){if($.length<5000&&!PD.test($))return`"${$}"`;return JSON.stringify($)}function a8($,J){if($.length>200||J)return $.sort(J);for(let Q=1;Q<$.length;Q++){let X=$[Q],Y=Q;while(Y!==0&&$[Y-1]>X)$[Y]=$[Y-1],Y--;$[Y]=X}return $}var KD=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function t8($){return KD.call($)!==void 0&&$.length!==0}function U3($,J,Q){if($.length<Q)Q=$.length;let X=J===","?"":" ",Y=`"0":${X}${$[0]}`;for(let W=1;W<Q;W++)Y+=`${J}"${W}":${X}${$[W]}`;return Y}function ID($){if(O2.call($,"circularValue")){let J=$.circularValue;if(typeof J==="string")return`"${J}"`;if(J==null)return J;if(J===Error||J===TypeError)return{toString(){throw TypeError("Converting circular structure to JSON")}};throw TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}function TD($){let J;if(O2.call($,"deterministic")){if(J=$.deterministic,typeof J!=="boolean"&&typeof J!=="function")throw TypeError('The "deterministic" argument must be of type boolean or comparator function')}return J===void 0?!0:J}function bD($,J){let Q;if(O2.call($,J)){if(Q=$[J],typeof Q!=="boolean")throw TypeError(`The "${J}" argument must be of type boolean`)}return Q===void 0?!0:Q}function q3($,J){let Q;if(O2.call($,J)){if(Q=$[J],typeof Q!=="number")throw TypeError(`The "${J}" argument must be of type number`);if(!Number.isInteger(Q))throw TypeError(`The "${J}" argument must be an integer`);if(Q<1)throw RangeError(`The "${J}" argument must be >= 1`)}return Q===void 0?1/0:Q}function n1($){if($===1)return"1 item";return`${$} items`}function fD($){let J=new Set;for(let Q of $)if(typeof Q==="string"||typeof Q==="number")J.add(String(Q));return J}function kD($){if(O2.call($,"strict")){let J=$.strict;if(typeof J!=="boolean")throw TypeError('The "strict" argument must be of type boolean');if(J)return(Q)=>{let X=`Object can not safely be stringified. Received type ${typeof Q}`;if(typeof Q!=="function")X+=` (${Q.toString()})`;throw Error(X)}}}function e8($){$={...$};let J=kD($);if(J){if($.bigint===void 0)$.bigint=!1;if(!("circularValue"in $))$.circularValue=Error}let Q=ID($),X=bD($,"bigint"),Y=TD($),W=typeof Y==="function"?Y:void 0,H=q3($,"maximumDepth"),G=q3($,"maximumBreadth");function V(B,D,A,Z,C,T){let K=D[B];if(typeof K==="object"&&K!==null&&typeof K.toJSON==="function")K=K.toJSON(B);switch(K=Z.call(D,B,K),typeof K){case"string":return T1(K);case"object":{if(K===null)return"null";if(A.indexOf(K)!==-1)return Q;let y="",s=",",d=T;if(Array.isArray(K)){if(K.length===0)return"[]";if(H<A.length+1)return'"[Array]"';if(A.push(K),C!=="")T+=C,y+=`
4
+ caused by: `+T7(X,J);else return Q},iV=($)=>T7($,new Set),b7=($,J,Q)=>{if(!E2($))return"";let X=Q?"":$.message||"";if(J.has($))return X+": ...";let Y=B8($);if(Y){J.add($);let W=typeof $.cause==="function";return X+(W?"":": ")+b7(Y,J,W)}else return X},nV=($)=>b7($,new Set);f7.exports={isErrorLike:E2,getErrorCause:B8,stackWithCauses:iV,messageWithCauses:nV}});var z8=L((uO,x7)=>{var sV=Symbol("circular-ref-tag"),E6=Symbol("pino-raw-err-ref"),k7=Object.create({},{type:{enumerable:!0,writable:!0,value:void 0},message:{enumerable:!0,writable:!0,value:void 0},stack:{enumerable:!0,writable:!0,value:void 0},aggregateErrors:{enumerable:!0,writable:!0,value:void 0},raw:{enumerable:!1,get:function(){return this[E6]},set:function($){this[E6]=$}}});Object.defineProperty(k7,E6,{writable:!0,value:{}});x7.exports={pinoErrProto:k7,pinoErrorSymbols:{seen:sV,rawSymbol:E6}}});var g7=L((mO,h7)=>{h7.exports=w8;var{messageWithCauses:oV,stackWithCauses:rV,isErrorLike:v7}=F8(),{pinoErrProto:aV,pinoErrorSymbols:tV}=z8(),{seen:N8}=tV,{toString:eV}=Object.prototype;function w8($){if(!v7($))return $;$[N8]=void 0;let J=Object.create(aV);if(J.type=eV.call($.constructor)==="[object Function]"?$.constructor.name:$.name,J.message=oV($),J.stack=rV($),Array.isArray($.errors))J.aggregateErrors=$.errors.map((Q)=>w8(Q));for(let Q in $)if(J[Q]===void 0){let X=$[Q];if(v7(X)){if(Q!=="cause"&&!Object.prototype.hasOwnProperty.call(X,N8))J[Q]=w8(X)}else J[Q]=X}return delete $[N8],J.raw=$,J}});var u7=L((lO,y7)=>{y7.exports=O6;var{isErrorLike:A8}=F8(),{pinoErrProto:$U,pinoErrorSymbols:JU}=z8(),{seen:L6}=JU,{toString:QU}=Object.prototype;function O6($){if(!A8($))return $;$[L6]=void 0;let J=Object.create($U);if(J.type=QU.call($.constructor)==="[object Function]"?$.constructor.name:$.name,J.message=$.message,J.stack=$.stack,Array.isArray($.errors))J.aggregateErrors=$.errors.map((Q)=>O6(Q));if(A8($.cause)&&!Object.prototype.hasOwnProperty.call($.cause,L6))J.cause=O6($.cause);for(let Q in $)if(J[Q]===void 0){let X=$[Q];if(A8(X)){if(!Object.prototype.hasOwnProperty.call(X,L6))J[Q]=O6(X)}else J[Q]=X}return delete $[L6],J.raw=$,J}});var d7=L((cO,c7)=>{c7.exports={mapHttpRequest:XU,reqSerializer:l7};var j8=Symbol("pino-raw-req-ref"),m7=Object.create({},{id:{enumerable:!0,writable:!0,value:""},method:{enumerable:!0,writable:!0,value:""},url:{enumerable:!0,writable:!0,value:""},query:{enumerable:!0,writable:!0,value:""},params:{enumerable:!0,writable:!0,value:""},headers:{enumerable:!0,writable:!0,value:{}},remoteAddress:{enumerable:!0,writable:!0,value:""},remotePort:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[j8]},set:function($){this[j8]=$}}});Object.defineProperty(m7,j8,{writable:!0,value:{}});function l7($){let J=$.info||$.socket,Q=Object.create(m7);if(Q.id=typeof $.id==="function"?$.id():$.id||($.info?$.info.id:void 0),Q.method=$.method,$.originalUrl)Q.url=$.originalUrl;else{let X=$.path;Q.url=typeof X==="string"?X:$.url?$.url.path||$.url:void 0}if($.query)Q.query=$.query;if($.params)Q.params=$.params;return Q.headers=$.headers,Q.remoteAddress=J&&J.remoteAddress,Q.remotePort=J&&J.remotePort,Q.raw=$.raw||$,Q}function XU($){return{req:l7($)}}});var s7=L((dO,n7)=>{n7.exports={mapHttpResponse:YU,resSerializer:i7};var E8=Symbol("pino-raw-res-ref"),p7=Object.create({},{statusCode:{enumerable:!0,writable:!0,value:0},headers:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[E8]},set:function($){this[E8]=$}}});Object.defineProperty(p7,E8,{writable:!0,value:{}});function i7($){let J=Object.create(p7);return J.statusCode=$.headersSent?$.statusCode:null,J.headers=$.getHeaders?$.getHeaders():$._headers,J.raw=$,J}function YU($){return{res:i7($)}}});var O8=L((pO,o7)=>{var L8=g7(),WU=u7(),R6=d7(),Z6=s7();o7.exports={err:L8,errWithCause:WU,mapHttpRequest:R6.mapHttpRequest,mapHttpResponse:Z6.mapHttpResponse,req:R6.reqSerializer,res:Z6.resSerializer,wrapErrorSerializer:function(J){if(J===L8)return J;return function(X){return J(L8(X))}},wrapRequestSerializer:function(J){if(J===R6.reqSerializer)return J;return function(X){return J(R6.reqSerializer(X))}},wrapResponseSerializer:function(J){if(J===Z6.resSerializer)return J;return function(X){return J(Z6.resSerializer(X))}}}});var R8=L((iO,r7)=>{function HU($,J){return J}r7.exports=function(){let J=Error.prepareStackTrace;Error.prepareStackTrace=HU;let Q=Error().stack;if(Error.prepareStackTrace=J,!Array.isArray(Q))return;let X=Q.slice(2),Y=[];for(let W of X){if(!W)continue;Y.push(W.getFileName())}return Y}});var QJ=L((nO,JJ)=>{function Z8($){if($===null||typeof $!=="object")return $;if($ instanceof Date)return new Date($.getTime());if($ instanceof Array){let J=[];for(let Q=0;Q<$.length;Q++)J[Q]=Z8($[Q]);return J}if(typeof $==="object"){let J=Object.create(Object.getPrototypeOf($));for(let Q in $)if(Object.prototype.hasOwnProperty.call($,Q))J[Q]=Z8($[Q]);return J}return $}function a7($){let J=[],Q="",X=!1,Y=!1,W="";for(let H=0;H<$.length;H++){let G=$[H];if(!X&&G==="."){if(Q)J.push(Q),Q=""}else if(G==="["){if(Q)J.push(Q),Q="";X=!0}else if(G==="]"&&X)J.push(Q),Q="",X=!1,Y=!1;else if((G==='"'||G==="'")&&X)if(!Y)Y=!0,W=G;else if(G===W)Y=!1,W="";else Q+=G;else Q+=G}if(Q)J.push(Q);return J}function t7($,J,Q){let X=$;for(let W=0;W<J.length-1;W++){let H=J[W];if(typeof X!=="object"||X===null||!(H in X))return!1;if(typeof X[H]!=="object"||X[H]===null)return!1;X=X[H]}let Y=J[J.length-1];if(Y==="*"){if(Array.isArray(X))for(let W=0;W<X.length;W++)X[W]=Q;else if(typeof X==="object"&&X!==null){for(let W in X)if(Object.prototype.hasOwnProperty.call(X,W))X[W]=Q}}else if(typeof X==="object"&&X!==null&&Y in X&&Object.prototype.hasOwnProperty.call(X,Y))X[Y]=Q;return!0}function e7($,J){let Q=$;for(let Y=0;Y<J.length-1;Y++){let W=J[Y];if(typeof Q!=="object"||Q===null||!(W in Q))return!1;if(typeof Q[W]!=="object"||Q[W]===null)return!1;Q=Q[W]}let X=J[J.length-1];if(X==="*"){if(Array.isArray(Q))for(let Y=0;Y<Q.length;Y++)Q[Y]=void 0;else if(typeof Q==="object"&&Q!==null){for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))delete Q[Y]}}else if(typeof Q==="object"&&Q!==null&&X in Q&&Object.prototype.hasOwnProperty.call(Q,X))delete Q[X];return!0}var S6=Symbol("PATH_NOT_FOUND");function GU($,J){let Q=$;for(let X of J){if(Q===null||Q===void 0)return S6;if(typeof Q!=="object"||Q===null)return S6;if(!(X in Q))return S6;Q=Q[X]}return Q}function VU($,J){let Q=$;for(let X of J){if(Q===null||Q===void 0)return;if(typeof Q!=="object"||Q===null)return;Q=Q[X]}return Q}function UU($,J,Q,X=!1){for(let Y of J){let W=a7(Y);if(W.includes("*"))$J($,W,Q,Y,X);else if(X)e7($,W);else{let H=GU($,W);if(H===S6)continue;let G=typeof Q==="function"?Q(H,W):Q;t7($,W,G)}}}function $J($,J,Q,X,Y=!1){let W=J.indexOf("*");if(W===J.length-1){let H=J.slice(0,-1),G=$;for(let V of H){if(G===null||G===void 0)return;if(typeof G!=="object"||G===null)return;G=G[V]}if(Array.isArray(G))if(Y)for(let V=0;V<G.length;V++)G[V]=void 0;else for(let V=0;V<G.length;V++){let U=[...H,V.toString()],q=typeof Q==="function"?Q(G[V],U):Q;G[V]=q}else if(typeof G==="object"&&G!==null)if(Y){let V=[];for(let U in G)if(Object.prototype.hasOwnProperty.call(G,U))V.push(U);for(let U of V)delete G[U]}else for(let V in G){let U=[...H,V],q=typeof Q==="function"?Q(G[V],U):Q;G[V]=q}}else qU($,J,Q,W,X,Y)}function qU($,J,Q,X,Y,W=!1){let H=J.slice(0,X),G=J.slice(X+1),V=[];function U(q,_){if(_===H.length){if(Array.isArray(q))for(let F=0;F<q.length;F++)V[_]=F.toString(),U(q[F],_+1);else if(typeof q==="object"&&q!==null)for(let F in q)V[_]=F,U(q[F],_+1)}else if(_<H.length){let F=H[_];if(q&&typeof q==="object"&&q!==null&&F in q)V[_]=F,U(q[F],_+1)}else if(G.includes("*"))$J(q,G,typeof Q==="function"?(B,D)=>{let A=[...V.slice(0,_),...D];return Q(B,A)}:Q,Y,W);else if(W)e7(q,G);else{let F=typeof Q==="function"?Q(VU(q,G),[...V.slice(0,_),...G]):Q;t7(q,G,F)}}if(H.length===0)U($,0);else{let q=$;for(let _=0;_<H.length;_++){let F=H[_];if(q===null||q===void 0)return;if(typeof q!=="object"||q===null)return;q=q[F],V[_]=F}if(q!==null&&q!==void 0)U(q,H.length)}}function _U($){if($.length===0)return null;let J=new Map;for(let Q of $){let X=a7(Q),Y=J;for(let W=0;W<X.length;W++){let H=X[W];if(!Y.has(H))Y.set(H,new Map);Y=Y.get(H)}}return J}function DU($,J){if(!J)return $;function Q(X,Y,W=0){if(!Y||Y.size===0)return X;if(X===null||typeof X!=="object")return X;if(X instanceof Date)return new Date(X.getTime());if(Array.isArray(X)){let G=[];for(let V=0;V<X.length;V++){let U=V.toString();if(Y.has(U)||Y.has("*"))G[V]=Q(X[V],Y.get(U)||Y.get("*"));else G[V]=X[V]}return G}let H=Object.create(Object.getPrototypeOf(X));for(let G in X)if(Object.prototype.hasOwnProperty.call(X,G))if(Y.has(G)||Y.has("*"))H[G]=Q(X[G],Y.get(G)||Y.get("*"));else H[G]=X[G];return H}return Q($,J)}function BU($){if(typeof $!=="string")throw Error("Paths must be (non-empty) strings");if($==="")throw Error("Invalid redaction path ()");if($.includes(".."))throw Error(`Invalid redaction path (${$})`);if($.includes(","))throw Error(`Invalid redaction path (${$})`);let J=0,Q=!1,X="";for(let Y=0;Y<$.length;Y++){let W=$[Y];if((W==='"'||W==="'")&&J>0){if(!Q)Q=!0,X=W;else if(W===X)Q=!1,X=""}else if(W==="["&&!Q)J++;else if(W==="]"&&!Q){if(J--,J<0)throw Error(`Invalid redaction path (${$})`)}}if(J!==0)throw Error(`Invalid redaction path (${$})`)}function FU($){if(!Array.isArray($))throw TypeError("paths must be an array");for(let J of $)BU(J)}function zU($={}){let{paths:J=[],censor:Q="[REDACTED]",serialize:X=JSON.stringify,strict:Y=!0,remove:W=!1}=$;FU(J);let H=_U(J);return function(V){if(Y&&(V===null||typeof V!=="object")){if(V===null||V===void 0)return X?X(V):V;if(typeof V!=="object")return X?X(V):V}let U=DU(V,H),q=V,_=Q;if(typeof Q==="function")_=Q;if(UU(U,J,_,W),X===!1)return U.restore=function(){return Z8(q)},U;if(typeof X==="function")return X(U);return JSON.stringify(U)}}JJ.exports=zU});var R$=L((sO,XJ)=>{var NU=Symbol("pino.setLevel"),wU=Symbol("pino.getLevel"),AU=Symbol("pino.levelVal"),jU=Symbol("pino.levelComp"),EU=Symbol("pino.useLevelLabels"),LU=Symbol("pino.useOnlyCustomLevels"),OU=Symbol("pino.mixin"),RU=Symbol("pino.lsCache"),ZU=Symbol("pino.chindings"),SU=Symbol("pino.asJson"),CU=Symbol("pino.write"),MU=Symbol("pino.redactFmt"),PU=Symbol("pino.time"),KU=Symbol("pino.timeSliceIndex"),IU=Symbol("pino.stream"),TU=Symbol("pino.stringify"),bU=Symbol("pino.stringifySafe"),fU=Symbol("pino.stringifiers"),kU=Symbol("pino.end"),xU=Symbol("pino.formatOpts"),vU=Symbol("pino.messageKey"),hU=Symbol("pino.errorKey"),gU=Symbol("pino.nestedKey"),yU=Symbol("pino.nestedKeyStr"),uU=Symbol("pino.mixinMergeStrategy"),mU=Symbol("pino.msgPrefix"),lU=Symbol("pino.wildcardFirst"),cU=Symbol.for("pino.serializers"),dU=Symbol.for("pino.formatters"),pU=Symbol.for("pino.hooks"),iU=Symbol.for("pino.metadata");XJ.exports={setLevelSym:NU,getLevelSym:wU,levelValSym:AU,levelCompSym:jU,useLevelLabelsSym:EU,mixinSym:OU,lsCacheSym:RU,chindingsSym:ZU,asJsonSym:SU,writeSym:CU,serializersSym:cU,redactFmtSym:MU,timeSym:PU,timeSliceIndexSym:KU,streamSym:IU,stringifySym:TU,stringifySafeSym:bU,stringifiersSym:fU,endSym:kU,formatOptsSym:xU,messageKeySym:vU,errorKeySym:hU,nestedKeySym:gU,wildcardFirstSym:lU,needsMetadataGsym:iU,useOnlyCustomLevelsSym:LU,formattersSym:dU,hooksSym:pU,nestedKeyStrSym:yU,mixinMergeStrategySym:uU,msgPrefixSym:mU}});var C8=L((oO,WJ)=>{var YJ=QJ(),{redactFmtSym:nU,wildcardFirstSym:C6}=R$(),S8=/[^.[\]]+|\[([^[\]]*?)\]/g;function sU($,J){let{paths:Q,censor:X,remove:Y}=oU($),W=Q.reduce((V,U)=>{S8.lastIndex=0;let q=S8.exec(U),_=S8.exec(U),F=q[1]!==void 0?q[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/,"$1"):q[0];if(F==="*")F=C6;if(_===null)return V[F]=null,V;if(V[F]===null)return V;let{index:B}=_,D=`${U.substr(B,U.length-1)}`;if(V[F]=V[F]||[],F!==C6&&V[F].length===0)V[F].push(...V[C6]||[]);if(F===C6)Object.keys(V).forEach(function(A){if(V[A])V[A].push(D)});return V[F].push(D),V},{}),H={[nU]:YJ({paths:Q,censor:X,serialize:J,strict:!1,remove:Y})},G=(...V)=>{return typeof X==="function"?J(X(...V)):J(X)};return[...Object.keys(W),...Object.getOwnPropertySymbols(W)].reduce((V,U)=>{if(W[U]===null)V[U]=(q)=>G(q,[U]);else{let q=typeof X==="function"?(_,F)=>{return X(_,[U,...F])}:X;V[U]=YJ({paths:W[U],censor:q,serialize:J,strict:!1,remove:Y})}return V},H)}function oU($){if(Array.isArray($))return $={paths:$,censor:"[Redacted]"},$;let{paths:J,censor:Q="[Redacted]",remove:X}=$;if(Array.isArray(J)===!1)throw Error("pino – redact must contain an array of strings");if(X===!0)Q=void 0;return{paths:J,censor:Q,remove:X}}WJ.exports=sU});var VJ=L((rO,GJ)=>{var rU=()=>"",aU=()=>`,"time":${Date.now()}`,tU=()=>`,"time":${Math.round(Date.now()/1000)}`,eU=()=>`,"time":"${new Date(Date.now()).toISOString()}"`,$q=1000000n,HJ=1000000000n,Jq=BigInt(Date.now())*$q,Qq=process.hrtime.bigint(),Xq=()=>{let $=process.hrtime.bigint()-Qq,J=Jq+$,Q=J/HJ,X=J%HJ,Y=Number(Q*1000n+X/1000000n),W=new Date(Y),H=W.getUTCFullYear(),G=(W.getUTCMonth()+1).toString().padStart(2,"0"),V=W.getUTCDate().toString().padStart(2,"0"),U=W.getUTCHours().toString().padStart(2,"0"),q=W.getUTCMinutes().toString().padStart(2,"0"),_=W.getUTCSeconds().toString().padStart(2,"0");return`,"time":"${H}-${G}-${V}T${U}:${q}:${_}.${X.toString().padStart(9,"0")}Z"`};GJ.exports={nullTime:rU,epochTime:aU,unixTime:tU,isoTime:eU,isoTimeNano:Xq}});var qJ=L((aO,UJ)=>{function Yq($){try{return JSON.stringify($)}catch(J){return'"[Circular]"'}}UJ.exports=Wq;function Wq($,J,Q){var X=Q&&Q.stringify||Yq,Y=1;if(typeof $==="object"&&$!==null){var W=J.length+Y;if(W===1)return $;var H=Array(W);H[0]=X($);for(var G=1;G<W;G++)H[G]=X(J[G]);return H.join(" ")}if(typeof $!=="string")return $;var V=J.length;if(V===0)return $;var U="",q=1-Y,_=-1,F=$&&$.length||0;for(var B=0;B<F;){if($.charCodeAt(B)===37&&B+1<F){switch(_=_>-1?_:0,$.charCodeAt(B+1)){case 100:case 102:if(q>=V)break;if(J[q]==null)break;if(_<B)U+=$.slice(_,B);U+=Number(J[q]),_=B+2,B++;break;case 105:if(q>=V)break;if(J[q]==null)break;if(_<B)U+=$.slice(_,B);U+=Math.floor(Number(J[q])),_=B+2,B++;break;case 79:case 111:case 106:if(q>=V)break;if(J[q]===void 0)break;if(_<B)U+=$.slice(_,B);var D=typeof J[q];if(D==="string"){U+="'"+J[q]+"'",_=B+2,B++;break}if(D==="function"){U+=J[q].name||"<anonymous>",_=B+2,B++;break}U+=X(J[q]),_=B+2,B++;break;case 115:if(q>=V)break;if(_<B)U+=$.slice(_,B);U+=String(J[q]),_=B+2,B++;break;case 37:if(_<B)U+=$.slice(_,B);U+="%",_=B+2,B++,q--;break}++q}++B}if(_===-1)return $;else if(_<F)U+=$.slice(_);return U}});var P8=L((tO,M8)=>{if(typeof SharedArrayBuffer<"u"&&typeof Atomics<"u"){let J=function(Q){if((Q>0&&Q<1/0)===!1){if(typeof Q!=="number"&&typeof Q!=="bigint")throw TypeError("sleep: ms must be a number");throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity")}Atomics.wait($,0,0,Number(Q))},$=new Int32Array(new SharedArrayBuffer(4));M8.exports=J}else{let $=function(J){if((J>0&&J<1/0)===!1){if(typeof J!=="number"&&typeof J!=="bigint")throw TypeError("sleep: ms must be a number");throw RangeError("sleep: ms must be a number that is greater than 0 but less than Infinity")}let X=Date.now()+Number(J);while(X>Date.now());};M8.exports=$}});var NJ=L((eO,zJ)=>{var N0=require("fs"),Hq=require("events"),Gq=require("util").inherits,_J=require("path"),I8=P8(),Vq=require("assert"),M6=Buffer.allocUnsafe(0),[Uq,qq]=(process.versions.node||"0.0").split(".").map(Number),_q=Uq>=22&&qq>=7;function DJ($,J){J._opening=!0,J._writing=!0,J._asyncDrainScheduled=!1;function Q(W,H){if(W){if(J._reopening=!1,J._writing=!1,J._opening=!1,J.sync)process.nextTick(()=>{if(J.listenerCount("error")>0)J.emit("error",W)});else J.emit("error",W);return}let G=J._reopening;if(J.fd=H,J.file=$,J._reopening=!1,J._opening=!1,J._writing=!1,J.sync)process.nextTick(()=>J.emit("ready"));else J.emit("ready");if(J.destroyed)return;if(!J._writing&&J._len>J.minLength||J._flushPending)J._actualWrite();else if(G)process.nextTick(()=>J.emit("drain"))}let X=J.append?"a":"w",Y=J.mode;if(J.sync)try{if(J.mkdir)N0.mkdirSync(_J.dirname($),{recursive:!0});let W=N0.openSync($,X,Y);Q(null,W)}catch(W){throw Q(W),W}else if(J.mkdir)N0.mkdir(_J.dirname($),{recursive:!0},(W)=>{if(W)return Q(W);N0.open($,X,Y,Q)});else N0.open($,X,Y,Q)}function i0($){if(!(this instanceof i0))return new i0($);let{fd:J,dest:Q,minLength:X,maxLength:Y,maxWrite:W,periodicFlush:H,sync:G,append:V=!0,mkdir:U,retryEAGAIN:q,fsync:_,contentMode:F,mode:B}=$||{};J=J||Q,this._len=0,this.fd=-1,this._bufs=[],this._lens=[],this._writing=!1,this._ending=!1,this._reopening=!1,this._asyncDrainScheduled=!1,this._flushPending=!1,this._hwm=Math.max(X||0,16387),this.file=null,this.destroyed=!1,this.minLength=X||0,this.maxLength=Y||0,this.maxWrite=W||16384,this._periodicFlush=H||0,this._periodicFlushTimer=void 0,this.sync=G||!1,this.writable=!0,this._fsync=_||!1,this.append=V||!1,this.mode=B,this.retryEAGAIN=q||(()=>!0),this.mkdir=U||!1;let D,A;if(F==="buffer")this._writingBuf=M6,this.write=Fq,this.flush=Nq,this.flushSync=Aq,this._actualWrite=Eq,D=()=>N0.writeSync(this.fd,this._writingBuf),A=()=>N0.write(this.fd,this._writingBuf,this.release);else if(F===void 0||F==="utf8")this._writingBuf="",this.write=Bq,this.flush=zq,this.flushSync=wq,this._actualWrite=jq,D=()=>N0.writeSync(this.fd,this._writingBuf,"utf8"),A=()=>N0.write(this.fd,this._writingBuf,"utf8",this.release);else throw Error(`SonicBoom supports "utf8" and "buffer", but passed ${F}`);if(typeof J==="number")this.fd=J,process.nextTick(()=>this.emit("ready"));else if(typeof J==="string")DJ(J,this);else throw Error("SonicBoom supports only file descriptors and files");if(this.minLength>=this.maxWrite)throw Error(`minLength should be smaller than maxWrite (${this.maxWrite})`);if(this.release=(Z,C)=>{if(Z){if((Z.code==="EAGAIN"||Z.code==="EBUSY")&&this.retryEAGAIN(Z,this._writingBuf.length,this._len-this._writingBuf.length))if(this.sync)try{I8(100),this.release(void 0,0)}catch(y){this.release(y)}else setTimeout(A,100);else this._writing=!1,this.emit("error",Z);return}this.emit("write",C);let T=K8(this._writingBuf,this._len,C);if(this._len=T.len,this._writingBuf=T.writingBuf,this._writingBuf.length){if(!this.sync){A();return}try{do{let y=D(),s=K8(this._writingBuf,this._len,y);this._len=s.len,this._writingBuf=s.writingBuf}while(this._writingBuf.length)}catch(y){this.release(y);return}}if(this._fsync)N0.fsyncSync(this.fd);let K=this._len;if(this._reopening)this._writing=!1,this._reopening=!1,this.reopen();else if(K>this.minLength)this._actualWrite();else if(this._ending)if(K>0)this._actualWrite();else this._writing=!1,P6(this);else if(this._writing=!1,this.sync){if(!this._asyncDrainScheduled)this._asyncDrainScheduled=!0,process.nextTick(Dq,this)}else this.emit("drain")},this.on("newListener",function(Z){if(Z==="drain")this._asyncDrainScheduled=!1}),this._periodicFlush!==0)this._periodicFlushTimer=setInterval(()=>this.flush(null),this._periodicFlush),this._periodicFlushTimer.unref()}function K8($,J,Q){if(typeof $==="string"&&Buffer.byteLength($)!==Q)Q=Buffer.from($).subarray(0,Q).toString().length;return J=Math.max(J-Q,0),$=$.slice(Q),{writingBuf:$,len:J}}function Dq($){if(!($.listenerCount("drain")>0))return;$._asyncDrainScheduled=!1,$.emit("drain")}Gq(i0,Hq);function BJ($,J){if($.length===0)return M6;if($.length===1)return $[0];return Buffer.concat($,J)}function Bq($){if(this.destroyed)throw Error("SonicBoom destroyed");let J=this._len+$.length,Q=this._bufs;if(this.maxLength&&J>this.maxLength)return this.emit("drop",$),this._len<this._hwm;if(Q.length===0||Q[Q.length-1].length+$.length>this.maxWrite)Q.push(""+$);else Q[Q.length-1]+=$;if(this._len=J,!this._writing&&this._len>=this.minLength)this._actualWrite();return this._len<this._hwm}function Fq($){if(this.destroyed)throw Error("SonicBoom destroyed");let J=this._len+$.length,Q=this._bufs,X=this._lens;if(this.maxLength&&J>this.maxLength)return this.emit("drop",$),this._len<this._hwm;if(Q.length===0||X[X.length-1]+$.length>this.maxWrite)Q.push([$]),X.push($.length);else Q[Q.length-1].push($),X[X.length-1]+=$.length;if(this._len=J,!this._writing&&this._len>=this.minLength)this._actualWrite();return this._len<this._hwm}function FJ($){this._flushPending=!0;let J=()=>{if(!this._fsync)try{N0.fsync(this.fd,(X)=>{this._flushPending=!1,$(X)})}catch(X){$(X)}else this._flushPending=!1,$();this.off("error",Q)},Q=(X)=>{this._flushPending=!1,$(X),this.off("drain",J)};this.once("drain",J),this.once("error",Q)}function zq($){if($!=null&&typeof $!=="function")throw Error("flush cb must be a function");if(this.destroyed){let J=Error("SonicBoom destroyed");if($){$(J);return}throw J}if(this.minLength<=0){$?.();return}if($)FJ.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push("");this._actualWrite()}function Nq($){if($!=null&&typeof $!=="function")throw Error("flush cb must be a function");if(this.destroyed){let J=Error("SonicBoom destroyed");if($){$(J);return}throw J}if(this.minLength<=0){$?.();return}if($)FJ.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push([]),this._lens.push(0);this._actualWrite()}i0.prototype.reopen=function($){if(this.destroyed)throw Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.reopen($)});return}if(this._ending)return;if(!this.file)throw Error("Unable to reopen a file descriptor, you must pass a file to SonicBoom");if($)this.file=$;if(this._reopening=!0,this._writing)return;let J=this.fd;this.once("ready",()=>{if(J!==this.fd)N0.close(J,(Q)=>{if(Q)return this.emit("error",Q)})}),DJ(this.file,this)};i0.prototype.end=function(){if(this.destroyed)throw Error("SonicBoom destroyed");if(this._opening){this.once("ready",()=>{this.end()});return}if(this._ending)return;if(this._ending=!0,this._writing)return;if(this._len>0&&this.fd>=0)this._actualWrite();else P6(this)};function wq(){if(this.destroyed)throw Error("SonicBoom destroyed");if(this.fd<0)throw Error("sonic boom is not ready yet");if(!this._writing&&this._writingBuf.length>0)this._bufs.unshift(this._writingBuf),this._writingBuf="";let $="";while(this._bufs.length||$){if($.length<=0)$=this._bufs[0];try{let J=N0.writeSync(this.fd,$,"utf8"),Q=K8($,this._len,J);if($=Q.writingBuf,this._len=Q.len,$.length<=0)this._bufs.shift()}catch(J){if((J.code==="EAGAIN"||J.code==="EBUSY")&&!this.retryEAGAIN(J,$.length,this._len-$.length))throw J;I8(100)}}try{N0.fsyncSync(this.fd)}catch{}}function Aq(){if(this.destroyed)throw Error("SonicBoom destroyed");if(this.fd<0)throw Error("sonic boom is not ready yet");if(!this._writing&&this._writingBuf.length>0)this._bufs.unshift([this._writingBuf]),this._writingBuf=M6;let $=M6;while(this._bufs.length||$.length){if($.length<=0)$=BJ(this._bufs[0],this._lens[0]);try{let J=N0.writeSync(this.fd,$);if($=$.subarray(J),this._len=Math.max(this._len-J,0),$.length<=0)this._bufs.shift(),this._lens.shift()}catch(J){if((J.code==="EAGAIN"||J.code==="EBUSY")&&!this.retryEAGAIN(J,$.length,this._len-$.length))throw J;I8(100)}}}i0.prototype.destroy=function(){if(this.destroyed)return;P6(this)};function jq(){let $=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf||this._bufs.shift()||"",this.sync)try{let J=N0.writeSync(this.fd,this._writingBuf,"utf8");$(null,J)}catch(J){$(J)}else N0.write(this.fd,this._writingBuf,"utf8",$)}function Eq(){let $=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:BJ(this._bufs.shift(),this._lens.shift()),this.sync)try{let J=N0.writeSync(this.fd,this._writingBuf);$(null,J)}catch(J){$(J)}else{if(_q)this._writingBuf=Buffer.from(this._writingBuf);N0.write(this.fd,this._writingBuf,$)}}function P6($){if($.fd===-1){$.once("ready",P6.bind(null,$));return}if($._periodicFlushTimer!==void 0)clearInterval($._periodicFlushTimer);$.destroyed=!0,$._bufs=[],$._lens=[],Vq(typeof $.fd==="number",`sonic.fd must be a number, got ${typeof $.fd}`);try{N0.fsync($.fd,J)}catch{}function J(){if($.fd!==1&&$.fd!==2)N0.close($.fd,Q);else Q()}function Q(X){if(X){$.emit("error",X);return}if($._ending&&!$._writing)$.emit("finish");$.emit("close")}}i0.SonicBoom=i0;i0.default=i0;zJ.exports=i0});var T8=L(($R,LJ)=>{var n0={exit:[],beforeExit:[]},wJ={exit:Rq,beforeExit:Zq},Z$;function Lq(){if(Z$===void 0)Z$=new FinalizationRegistry(Sq)}function Oq($){if(n0[$].length>0)return;process.on($,wJ[$])}function AJ($){if(n0[$].length>0)return;if(process.removeListener($,wJ[$]),n0.exit.length===0&&n0.beforeExit.length===0)Z$=void 0}function Rq(){jJ("exit")}function Zq(){jJ("beforeExit")}function jJ($){for(let J of n0[$]){let Q=J.deref(),X=J.fn;if(Q!==void 0)X(Q,$)}n0[$]=[]}function Sq($){for(let J of["exit","beforeExit"]){let Q=n0[J].indexOf($);n0[J].splice(Q,Q+1),AJ(J)}}function EJ($,J,Q){if(J===void 0)throw Error("the object can't be undefined");Oq($);let X=new WeakRef(J);X.fn=Q,Lq(),Z$.register(J,X),n0[$].push(X)}function Cq($,J){EJ("exit",$,J)}function Mq($,J){EJ("beforeExit",$,J)}function Pq($){if(Z$===void 0)return;Z$.unregister($);for(let J of["exit","beforeExit"])n0[J]=n0[J].filter((Q)=>{let X=Q.deref();return X&&X!==$}),AJ(J)}LJ.exports={register:Cq,registerBeforeExit:Mq,unregister:Pq}});var OJ=L((JR,Kq)=>{Kq.exports={name:"thread-stream",version:"4.0.0",description:"A streaming way to send data to a Node.js Worker Thread",main:"index.js",types:"index.d.ts",engines:{node:">=20"},dependencies:{"real-require":"^0.2.0"},devDependencies:{"@types/node":"^22.0.0","@yao-pkg/pkg":"^6.0.0",borp:"^0.21.0",desm:"^1.3.0",eslint:"^9.39.1",fastbench:"^1.0.1",husky:"^9.0.6",neostandard:"^0.12.2","pino-elasticsearch":"^8.0.0","sonic-boom":"^4.0.1","ts-node":"^10.8.0",typescript:"~5.7.3"},scripts:{build:"tsc --noEmit",lint:"eslint",test:"npm run lint && npm run build && npm run transpile && borp --pattern 'test/*.test.{js,mjs}'","test:ci":"npm run lint && npm run transpile && borp --pattern 'test/*.test.{js,mjs}'","test:yarn":"npm run transpile && borp --pattern 'test/*.test.js'",transpile:"sh ./test/ts/transpile.sh",prepare:"husky install"},repository:{type:"git",url:"git+https://github.com/mcollina/thread-stream.git"},keywords:["worker","thread","threads","stream"],author:"Matteo Collina <hello@matteocollina.com>",license:"MIT",bugs:{url:"https://github.com/mcollina/thread-stream/issues"},homepage:"https://github.com/mcollina/thread-stream#readme"}});var ZJ=L((QR,RJ)=>{function Iq($,J,Q,X,Y){let W=X===1/0?1/0:Date.now()+X,H=()=>{let G=Atomics.load($,J);if(G===Q){Y(null,"ok");return}if(W!==1/0&&Date.now()>W){Y(null,"timed-out");return}let V=W===1/0?1e4:Math.min(1e4,Math.max(1,W-Date.now())),U=Atomics.waitAsync($,J,G,V);if(U.async)U.value.then(H);else setImmediate(H)};H()}function Tq($,J,Q,X,Y){let W=X===1/0?1/0:Date.now()+X,H=()=>{if(Atomics.load($,J)!==Q){Y(null,"ok");return}if(W!==1/0&&Date.now()>W){Y(null,"timed-out");return}let V=W===1/0?1e4:Math.min(1e4,Math.max(1,W-Date.now())),U=Atomics.waitAsync($,J,Q,V);if(U.async)U.value.then(H);else setImmediate(H)};H()}RJ.exports={wait:Iq,waitDiff:Tq}});var CJ=L((XR,SJ)=>{SJ.exports={WRITE_INDEX:4,READ_INDEX:8}});var bJ=L((YR,TJ)=>{var __dirname="C:\\Users\\mejia\\Documents\\ts\\Veloce-TS\\node_modules\\thread-stream",{version:bq}=OJ(),{EventEmitter:fq}=require("events"),{Worker:kq}=require("worker_threads"),{join:xq}=require("path"),{pathToFileURL:vq}=require("url"),{wait:hq}=ZJ(),{WRITE_INDEX:f0,READ_INDEX:b0}=CJ(),gq=require("buffer"),yq=require("assert"),E=Symbol("kImpl"),uq=gq.constants.MAX_STRING_LENGTH;class I6{constructor($){this._value=$}deref(){return this._value}}class f8{register(){}unregister(){}}var mq=process.env.NODE_V8_COVERAGE?f8:global.FinalizationRegistry||f8,lq=process.env.NODE_V8_COVERAGE?I6:global.WeakRef||I6,MJ=new mq(($)=>{if($.exited)return;$.terminate()});function cq($,J){let{filename:Q,workerData:X}=J,W=("__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{})["thread-stream-worker"]||xq(__dirname,"lib","worker.js"),H=new kq(W,{...J.workerOpts,trackUnmanagedFds:!1,workerData:{filename:Q.indexOf("file://")===0?Q:vq(Q).href,dataBuf:$[E].dataBuf,stateBuf:$[E].stateBuf,workerData:{$context:{threadStreamVersion:bq},...X}}});return H.stream=new I6($),H.on("message",dq),H.on("exit",KJ),MJ.register($,H),H}function PJ($){if(yq(!$[E].sync),$[E].needDrain)$[E].needDrain=!1,$.emit("drain")}function K6($){let J=Atomics.load($[E].state,f0),Q=$[E].data.length-J;if(Q>0){if($[E].buf.length===0){if($[E].flushing=!1,$[E].ending)v8($);else if($[E].needDrain)process.nextTick(PJ,$);return}let X=$[E].buf.slice(0,Q),Y=Buffer.byteLength(X);if(Y<=Q)$[E].buf=$[E].buf.slice(Q),T6($,X,K6.bind(null,$));else $.flush(()=>{if($.destroyed)return;Atomics.store($[E].state,b0,0),Atomics.store($[E].state,f0,0),Atomics.notify($[E].state,b0);while(Y>$[E].data.length)Q=Q/2,X=$[E].buf.slice(0,Q),Y=Buffer.byteLength(X);$[E].buf=$[E].buf.slice(Q),T6($,X,K6.bind(null,$))})}else if(Q===0){if(J===0&&$[E].buf.length===0)return;$.flush(()=>{Atomics.store($[E].state,b0,0),Atomics.store($[E].state,f0,0),Atomics.notify($[E].state,b0),K6($)})}else H1($,Error("overwritten"))}function dq($){let J=this.stream.deref();if(J===void 0){this.exited=!0,this.terminate();return}switch($.code){case"READY":this.stream=new lq(J),J.flush(()=>{J[E].ready=!0,J.emit("ready")});break;case"ERROR":H1(J,$.err);break;case"EVENT":if(Array.isArray($.args))J.emit($.name,...$.args);else J.emit($.name,$.args);break;case"WARNING":process.emitWarning($.err);break;default:H1(J,Error("this should not happen: "+$.code))}}function KJ($){let J=this.stream.deref();if(J===void 0)return;MJ.unregister(J),J.worker.exited=!0,J.worker.off("exit",KJ),H1(J,$!==0?Error("the worker thread exited"):null)}class IJ extends fq{constructor($={}){super();if($.bufferSize<4)throw Error("bufferSize must at least fit a 4-byte utf-8 char");this[E]={},this[E].stateBuf=new SharedArrayBuffer(128),this[E].state=new Int32Array(this[E].stateBuf),this[E].dataBuf=new SharedArrayBuffer($.bufferSize||4194304),this[E].data=Buffer.from(this[E].dataBuf),this[E].sync=$.sync||!1,this[E].ending=!1,this[E].ended=!1,this[E].needDrain=!1,this[E].destroyed=!1,this[E].flushing=!1,this[E].ready=!1,this[E].finished=!1,this[E].errored=null,this[E].closed=!1,this[E].buf="",this.worker=cq(this,$),this.on("message",(J,Q)=>{this.worker.postMessage(J,Q)})}write($){if(this[E].destroyed)return k8(this,Error("the worker has exited")),!1;if(this[E].ending)return k8(this,Error("the worker is ending")),!1;if(this[E].flushing&&this[E].buf.length+$.length>=uq)try{b8(this),this[E].flushing=!0}catch(J){return H1(this,J),!1}if(this[E].buf+=$,this[E].sync)try{return b8(this),!0}catch(J){return H1(this,J),!1}if(!this[E].flushing)this[E].flushing=!0,setImmediate(K6,this);return this[E].needDrain=this[E].data.length-this[E].buf.length-Atomics.load(this[E].state,f0)<=0,!this[E].needDrain}end(){if(this[E].destroyed)return;this[E].ending=!0,v8(this)}flush($){if(this[E].destroyed){if(typeof $==="function")process.nextTick($,Error("the worker has exited"));return}let J=Atomics.load(this[E].state,f0);hq(this[E].state,b0,J,1/0,(Q,X)=>{if(Q){H1(this,Q),process.nextTick($,Q);return}if(X==="not-equal"){this.flush($);return}process.nextTick($)})}flushSync(){if(this[E].destroyed)return;b8(this),x8(this)}unref(){this.worker.unref()}ref(){this.worker.ref()}get ready(){return this[E].ready}get destroyed(){return this[E].destroyed}get closed(){return this[E].closed}get writable(){return!this[E].destroyed&&!this[E].ending}get writableEnded(){return this[E].ending}get writableFinished(){return this[E].finished}get writableNeedDrain(){return this[E].needDrain}get writableObjectMode(){return!1}get writableErrored(){return this[E].errored}}function k8($,J){setImmediate(()=>{$.emit("error",J)})}function H1($,J){if($[E].destroyed)return;if($[E].destroyed=!0,J)$[E].errored=J,k8($,J);if(!$.worker.exited)$.worker.terminate().catch(()=>{}).then(()=>{$[E].closed=!0,$.emit("close")});else setImmediate(()=>{$[E].closed=!0,$.emit("close")})}function T6($,J,Q){let X=Atomics.load($[E].state,f0),Y=Buffer.byteLength(J);return $[E].data.write(J,X),Atomics.store($[E].state,f0,X+Y),Atomics.notify($[E].state,f0),Q(),!0}function v8($){if($[E].ended||!$[E].ending||$[E].flushing)return;$[E].ended=!0;try{$.flushSync();let J=Atomics.load($[E].state,b0);Atomics.store($[E].state,f0,-1),Atomics.notify($[E].state,f0);let Q=0;while(J!==-1){if(Atomics.wait($[E].state,b0,J,1000),J=Atomics.load($[E].state,b0),J===-2){H1($,Error("end() failed"));return}if(++Q===10){H1($,Error("end() took too long (10s)"));return}}process.nextTick(()=>{$[E].finished=!0,$.emit("finish")})}catch(J){H1($,J)}}function b8($){let J=()=>{if($[E].ending)v8($);else if($[E].needDrain)process.nextTick(PJ,$)};$[E].flushing=!1;while($[E].buf.length!==0){let Q=Atomics.load($[E].state,f0),X=$[E].data.length-Q;if(X===0){x8($),Atomics.store($[E].state,b0,0),Atomics.store($[E].state,f0,0),Atomics.notify($[E].state,b0);continue}else if(X<0)throw Error("overwritten");let Y=$[E].buf.slice(0,X),W=Buffer.byteLength(Y);if(W<=X)$[E].buf=$[E].buf.slice(X),T6($,Y,J);else{x8($),Atomics.store($[E].state,b0,0),Atomics.store($[E].state,f0,0),Atomics.notify($[E].state,b0);while(W>$[E].buf.length)X=X/2,Y=$[E].buf.slice(0,X),W=Buffer.byteLength(Y);$[E].buf=$[E].buf.slice(X),T6($,Y,J)}}}function x8($){if($[E].flushing)throw Error("unable to flush while flushing");let J=Atomics.load($[E].state,f0),Q=0;while(!0){let X=Atomics.load($[E].state,b0);if(X===-2)throw Error("_flushSync failed");if(X!==J)Atomics.wait($[E].state,b0,X,1000);else break;if(++Q===10)throw Error("_flushSync took too long (10s)")}}TJ.exports=IJ});var y8=L((WR,xJ)=>{var __dirname="C:\\Users\\mejia\\Documents\\ts\\Veloce-TS\\node_modules\\pino\\lib",{createRequire:pq}=require("module"),{existsSync:iq}=require("node:fs"),nq=R8(),{join:h8,isAbsolute:kJ,sep:sq}=require("node:path"),{fileURLToPath:oq}=require("node:url"),rq=P8(),g8=T8(),aq=bJ();function tq($){g8.register($,X_),g8.registerBeforeExit($,Y_),$.on("close",function(){g8.unregister($)})}function eq(){let $=process.execArgv;for(let J=0;J<$.length;J++){let Q=$[J];if(Q==="--import"||Q==="--require"||Q==="-r")return!0;if(Q.startsWith("--import=")||Q.startsWith("--require=")||Q.startsWith("-r="))return!0}return!1}function $_($){let J=$.match(/(?:[^\s"']+|"[^"]*"|'[^']*')+/g);if(!J)return $;let Q=[],X=!1;for(let Y=0;Y<J.length;Y++){let W=J[Y];if(W==="--require"||W==="-r"||W==="--import"){let H=J[Y+1];if(H&&fJ(H)){X=!0,Y++;continue}if(Q.push(W),H)Q.push(H),Y++;continue}if(W.startsWith("--require=")||W.startsWith("-r=")||W.startsWith("--import=")){let H=W.slice(W.indexOf("=")+1);if(fJ(H)){X=!0;continue}}Q.push(W)}return X?Q.join(" "):$}function fJ($){let J=J_($);if(!J)return!1;let Q=J;if(Q.startsWith("file://"))try{Q=oq(Q)}catch{return!1}return kJ(Q)&&!iq(Q)}function J_($){let J=$[0],Q=$[$.length-1];if(J==='"'&&Q==='"'||J==="'"&&Q==="'")return $.slice(1,-1);return $}function Q_($,J,Q,X,Y){if(!Q.execArgv&&eq()&&require.main===void 0)Q={...Q,execArgv:[]};if(!Q.env&&process.env.NODE_OPTIONS){let V=$_(process.env.NODE_OPTIONS);if(V!==process.env.NODE_OPTIONS)Q={...Q,env:{...process.env,NODE_OPTIONS:V}}}Q={...Q,name:Y};let W=new aq({filename:$,workerData:J,workerOpts:Q,sync:X});W.on("ready",H),W.on("close",function(){process.removeListener("exit",G)}),process.on("exit",G);function H(){if(process.removeListener("exit",G),W.unref(),Q.autoEnd!==!1)tq(W)}function G(){if(W.closed)return;W.flushSync(),rq(100),W.end()}return W}function X_($){$.ref(),$.flushSync(),$.end(),$.once("close",function(){$.unref()})}function Y_($){$.flushSync()}function W_($){let{pipeline:J,targets:Q,levels:X,dedupe:Y,worker:W={},caller:H=nq(),sync:G=!1}=$,V={...$.options},U=typeof H==="string"?[H]:H,q=typeof globalThis==="object"&&Object.prototype.hasOwnProperty.call(globalThis,"__bundlerPathsOverrides")&&globalThis.__bundlerPathsOverrides&&typeof globalThis.__bundlerPathsOverrides==="object"?globalThis.__bundlerPathsOverrides:Object.create(null),_=$.target;if(_&&Q)throw Error("only one of target or targets can be specified");if(Q)_=q["pino-worker"]||h8(__dirname,"worker.js"),V.targets=Q.filter((D)=>D.target).map((D)=>{return{...D,target:B(D.target)}}),V.pipelines=Q.filter((D)=>D.pipeline).map((D)=>{return D.pipeline.map((A)=>{return{...A,level:D.level,target:B(A.target)}})});else if(J)_=q["pino-worker"]||h8(__dirname,"worker.js"),V.pipelines=[J.map((D)=>{return{...D,target:B(D.target)}})];if(X)V.levels=X;if(Y)V.dedupe=Y;V.pinoWillSendConfig=!0;let F=Q||J?"pino.transport":_;return Q_(B(_),V,W,G,F);function B(D){if(D=q[D]||D,kJ(D)||D.indexOf("file://")===0)return D;if(D==="pino/file")return h8(__dirname,"..","file.js");let A;for(let Z of U)try{let C=Z==="node:repl"?process.cwd()+sq:Z;A=pq(C).resolve(D);break}catch(C){continue}if(!A)throw Error(`unable to determine transport target for "${D}"`);return A}}xJ.exports=W_});var k6=L((HR,sJ)=>{var H_=require("node:diagnostics_channel"),vJ=qJ(),{mapHttpRequest:G_,mapHttpResponse:V_}=O8(),m8=NJ(),hJ=T8(),{lsCacheSym:U_,chindingsSym:lJ,writeSym:gJ,serializersSym:cJ,formatOptsSym:yJ,endSym:q_,stringifiersSym:dJ,stringifySym:pJ,stringifySafeSym:l8,wildcardFirstSym:iJ,nestedKeySym:__,formattersSym:nJ,messageKeySym:D_,errorKeySym:B_,nestedKeyStrSym:F_,msgPrefixSym:b6}=R$(),{isMainThread:z_}=require("worker_threads"),N_=y8(),[w_]=process.versions.node.split(".").map(($)=>Number($)),uJ=H_.tracingChannel("pino_asJson"),u8=w_>=25?($)=>JSON.stringify($):j_;function S$(){}function A_($,J){if(!J)return Q;return function(...Y){J.call(this,Y,Q,$)};function Q(X,...Y){if(typeof X==="object"){let W=X;if(X!==null){if(X.method&&X.headers&&X.socket)X=G_(X);else if(typeof X.setHeader==="function")X=V_(X)}let H;if(W===null&&Y.length===0)H=[null];else W=Y.shift(),H=Y;if(typeof this[b6]==="string"&&W!==void 0&&W!==null)W=this[b6]+W;this[gJ](X,vJ(W,H,this[yJ]),$)}else{let W=X===void 0?Y.shift():X;if(typeof this[b6]==="string"&&W!==void 0&&W!==null)W=this[b6]+W;this[gJ](null,vJ(W,Y,this[yJ]),$)}}}function j_($){let J="",Q=0,X=!1,Y=255,W=$.length;if(W>100)return JSON.stringify($);for(var H=0;H<W&&Y>=32;H++)if(Y=$.charCodeAt(H),Y===34||Y===92)J+=$.slice(Q,H)+"\\",Q=H,X=!0;if(!X)J=$;else J+=$.slice(Q);return Y<32?JSON.stringify($):'"'+J+'"'}function E_($,J,Q,X){if(uJ.hasSubscribers===!1)return mJ.call(this,$,J,Q,X);let Y={instance:this,arguments};return uJ.traceSync(mJ,Y,this,$,J,Q,X)}function mJ($,J,Q,X){let Y=this[pJ],W=this[l8],H=this[dJ],G=this[q_],V=this[lJ],U=this[cJ],q=this[nJ],_=this[D_],F=this[B_],B=this[U_][Q]+X;B=B+V;let D;if(q.log)$=q.log($);let A=H[iJ],Z="";for(let T in $)if(D=$[T],Object.prototype.hasOwnProperty.call($,T)&&D!==void 0){if(U[T])D=U[T](D);else if(T===F&&U.err)D=U.err(D);let K=H[T]||A;switch(typeof D){case"undefined":case"function":continue;case"number":if(Number.isFinite(D)===!1)D=null;case"boolean":if(K)D=K(D);break;case"string":D=(K||u8)(D);break;default:D=(K||Y)(D,W)}if(D===void 0)continue;let y=u8(T);Z+=","+y+":"+D}let C="";if(J!==void 0){D=U[_]?U[_](J):J;let T=H[_]||A;switch(typeof D){case"function":break;case"number":if(Number.isFinite(D)===!1)D=null;case"boolean":if(T)D=T(D);C=',"'+_+'":'+D;break;case"string":D=(T||u8)(D),C=',"'+_+'":'+D;break;default:D=(T||Y)(D,W),C=',"'+_+'":'+D}}if(this[__]&&Z)return B+this[F_]+Z.slice(1)+"}"+C+G;else return B+Z+C+G}function L_($,J){let Q,X=$[lJ],Y=$[pJ],W=$[l8],H=$[dJ],G=H[iJ],V=$[cJ],U=$[nJ].bindings;J=U(J);for(let q in J)if(Q=J[q],((q.length<5||q!=="level"&&q!=="serializers"&&q!=="formatters"&&q!=="customLevels")&&J.hasOwnProperty(q)&&Q!==void 0)===!0){if(Q=V[q]?V[q](Q):Q,Q=(H[q]||G||Y)(Q,W),Q===void 0)continue;X+=',"'+q+'":'+Q}return X}function O_($){return $.write!==$.constructor.prototype.write}function f6($){let J=new m8($);if(J.on("error",Q),!$.sync&&z_)hJ.register(J,R_),J.on("close",function(){hJ.unregister(J)});return J;function Q(X){if(X.code==="EPIPE"){J.write=S$,J.end=S$,J.flushSync=S$,J.destroy=S$;return}J.removeListener("error",Q),J.emit("error",X)}}function R_($,J){if($.destroyed)return;if(J==="beforeExit")$.flush(),$.on("drain",function(){$.end()});else $.flushSync()}function Z_($){return function(Q,X,Y={},W){if(typeof Y==="string")W=f6({dest:Y}),Y={};else if(typeof W==="string"){if(Y&&Y.transport)throw Error("only one of option.transport or stream can be specified");W=f6({dest:W})}else if(Y instanceof m8||Y.writable||Y._writableState)W=Y,Y={};else if(Y.transport){if(Y.transport instanceof m8||Y.transport.writable||Y.transport._writableState)throw Error("option.transport do not allow stream, please pass to option directly. e.g. pino(transport)");if(Y.transport.targets&&Y.transport.targets.length&&Y.formatters&&typeof Y.formatters.level==="function")throw Error("option.transport.targets do not allow custom level formatters");let V;if(Y.customLevels)V=Y.useOnlyCustomLevels?Y.customLevels:Object.assign({},Y.levels,Y.customLevels);W=N_({caller:X,...Y.transport,levels:V})}if(Y=Object.assign({},$,Y),Y.serializers=Object.assign({},$.serializers,Y.serializers),Y.formatters=Object.assign({},$.formatters,Y.formatters),Y.prettyPrint)throw Error("prettyPrint option is no longer supported, see the pino-pretty package (https://github.com/pinojs/pino-pretty)");let{enabled:H,onChild:G}=Y;if(H===!1)Y.level="silent";if(!G)Y.onChild=S$;if(!W)if(!O_(process.stdout))W=f6({fd:process.stdout.fd||1});else W=process.stdout;return{opts:Y,stream:W}}}function S_($,J){try{return JSON.stringify($)}catch(Q){try{return(J||this[l8])($)}catch(X){return'"[unable to serialize, circular reference is too complex to analyze]"'}}}function C_($,J,Q){return{level:$,bindings:J,log:Q}}function M_($){let J=Number($);if(typeof $==="string"&&Number.isFinite(J))return J;if($===void 0)return 1;return $}sJ.exports={noop:S$,buildSafeSonicBoom:f6,asChindings:L_,asJson:E_,genLog:A_,createArgsNormalizer:Z_,stringify:S_,buildFormatters:C_,normalizeDestFileDescriptor:M_}});var x6=L((GR,oJ)=>{var P_={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},K_={ASC:"ASC",DESC:"DESC"};oJ.exports={DEFAULT_LEVELS:P_,SORTING_ORDER:K_}});var p8=L((VR,eJ)=>{var{lsCacheSym:I_,levelValSym:c8,useOnlyCustomLevelsSym:T_,streamSym:b_,formattersSym:f_,hooksSym:k_,levelCompSym:rJ}=R$(),{noop:x_,genLog:p1}=k6(),{DEFAULT_LEVELS:G1,SORTING_ORDER:aJ}=x6(),tJ={fatal:($)=>{let J=p1(G1.fatal,$);return function(...Q){let X=this[b_];if(J.call(this,...Q),typeof X.flushSync==="function")try{X.flushSync()}catch(Y){}}},error:($)=>p1(G1.error,$),warn:($)=>p1(G1.warn,$),info:($)=>p1(G1.info,$),debug:($)=>p1(G1.debug,$),trace:($)=>p1(G1.trace,$)},d8=Object.keys(G1).reduce(($,J)=>{return $[G1[J]]=J,$},{}),v_=Object.keys(d8).reduce(($,J)=>{return $[J]='{"level":'+Number(J),$},{});function h_($){let J=$[f_].level,{labels:Q}=$.levels,X={};for(let Y in Q){let W=J(Q[Y],Number(Y));X[Y]=JSON.stringify(W).slice(0,-1)}return $[I_]=X,$}function g_($,J){if(J)return!1;switch($){case"fatal":case"error":case"warn":case"info":case"debug":case"trace":return!0;default:return!1}}function y_($){let{labels:J,values:Q}=this.levels;if(typeof $==="number"){if(J[$]===void 0)throw Error("unknown level value"+$);$=J[$]}if(Q[$]===void 0)throw Error("unknown level "+$);let X=this[c8],Y=this[c8]=Q[$],W=this[T_],H=this[rJ],G=this[k_].logMethod;for(let V in Q){if(H(Q[V],Y)===!1){this[V]=x_;continue}this[V]=g_(V,W)?tJ[V](G):p1(Q[V],G)}this.emit("level-change",$,Y,J[X],X,this)}function u_($){let{levels:J,levelVal:Q}=this;return J&&J.labels?J.labels[Q]:""}function m_($){let{values:J}=this.levels,Q=J[$];return Q!==void 0&&this[rJ](Q,this[c8])}function l_($,J,Q){if($===aJ.DESC)return J<=Q;return J>=Q}function c_($){if(typeof $==="string")return l_.bind(null,$);return $}function d_($=null,J=!1){let Q=$?Object.keys($).reduce((W,H)=>{return W[$[H]]=H,W},{}):null,X=Object.assign(Object.create(Object.prototype,{Infinity:{value:"silent"}}),J?null:d8,Q),Y=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),J?null:G1,$);return{labels:X,values:Y}}function p_($,J,Q){if(typeof $==="number"){if(![].concat(Object.keys(J||{}).map((W)=>J[W]),Q?[]:Object.keys(d8).map((W)=>+W),1/0).includes($))throw Error(`default level:${$} must be included in custom levels`);return}let X=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),Q?null:G1,J);if(!($ in X))throw Error(`default level:${$} must be included in custom levels`)}function i_($,J){let{labels:Q,values:X}=$;for(let Y in J){if(Y in X)throw Error("levels cannot be overridden");if(J[Y]in Q)throw Error("pre-existing level values cannot be used for new levels")}}function n_($){if(typeof $==="function")return;if(typeof $==="string"&&Object.values(aJ).includes($))return;throw Error('Levels comparison should be one of "ASC", "DESC" or "function" type')}eJ.exports={initialLsCache:v_,genLsCache:h_,levelMethods:tJ,getLevel:u_,setLevel:y_,isLevelEnabled:m_,mappings:d_,assertNoLevelCollisions:i_,assertDefaultLevelFound:p_,genLevelComparison:c_,assertLevelComparison:n_}});var i8=L((UR,$3)=>{$3.exports={version:"10.3.1"}});var V3=L((qR,G3)=>{var{EventEmitter:s_}=require("node:events"),{lsCacheSym:o_,levelValSym:r_,setLevelSym:s8,getLevelSym:J3,chindingsSym:h6,mixinSym:a_,asJsonSym:X3,writeSym:t_,mixinMergeStrategySym:e_,timeSym:$D,timeSliceIndexSym:JD,streamSym:Y3,serializersSym:i1,formattersSym:L2,errorKeySym:QD,messageKeySym:XD,useOnlyCustomLevelsSym:YD,needsMetadataGsym:WD,redactFmtSym:HD,stringifySym:GD,formatOptsSym:VD,stringifiersSym:UD,msgPrefixSym:o8,hooksSym:qD}=R$(),{getLevel:_D,setLevel:DD,isLevelEnabled:BD,mappings:FD,initialLsCache:zD,genLsCache:ND,assertNoLevelCollisions:wD}=p8(),{asChindings:r8,asJson:AD,buildFormatters:n8,stringify:Q3,noop:W3}=k6(),{version:jD}=i8(),ED=C8(),LD=class{},H3={constructor:LD,child:OD,bindings:RD,setBindings:ZD,flush:MD,isLevelEnabled:BD,version:jD,get level(){return this[J3]()},set level($){this[s8]($)},get levelVal(){return this[r_]},set levelVal($){throw Error("levelVal is read-only")},get msgPrefix(){return this[o8]},get[Symbol.toStringTag](){return"Pino"},[o_]:zD,[t_]:CD,[X3]:AD,[J3]:_D,[s8]:DD};Object.setPrototypeOf(H3,s_.prototype);G3.exports=function(){return Object.create(H3)};var v6=($)=>$;function OD($,J){if(!$)throw Error("missing bindings for child Pino");let Q=this[i1],X=this[L2],Y=Object.create(this);if(J==null){if(Y[L2].bindings!==v6)Y[L2]=n8(X.level,v6,X.log);if(Y[h6]=r8(Y,$),this.onChild!==W3)this.onChild(Y);return Y}if(J.hasOwnProperty("serializers")===!0){Y[i1]=Object.create(null);for(let U in Q)Y[i1][U]=Q[U];let G=Object.getOwnPropertySymbols(Q);for(var W=0;W<G.length;W++){let U=G[W];Y[i1][U]=Q[U]}for(let U in J.serializers)Y[i1][U]=J.serializers[U];let V=Object.getOwnPropertySymbols(J.serializers);for(var H=0;H<V.length;H++){let U=V[H];Y[i1][U]=J.serializers[U]}}else Y[i1]=Q;if(J.hasOwnProperty("formatters")){let{level:G,bindings:V,log:U}=J.formatters;Y[L2]=n8(G||X.level,V||v6,U||X.log)}else Y[L2]=n8(X.level,v6,X.log);if(J.hasOwnProperty("customLevels")===!0)wD(this.levels,J.customLevels),Y.levels=FD(J.customLevels,Y[YD]),ND(Y);if(typeof J.redact==="object"&&J.redact!==null||Array.isArray(J.redact)){Y.redact=J.redact;let G=ED(Y.redact,Q3),V={stringify:G[HD]};Y[GD]=Q3,Y[UD]=G,Y[VD]=V}if(typeof J.msgPrefix==="string")Y[o8]=(this[o8]||"")+J.msgPrefix;if(Y[h6]=r8(Y,$),J.level!==void 0&&J.level!==this.level||J.hasOwnProperty("customLevels")){let G=J.level||this.level;Y[s8](G)}return this.onChild(Y),Y}function RD(){let J=`{${this[h6].substr(1)}}`,Q=JSON.parse(J);return delete Q.pid,delete Q.hostname,Q}function ZD($){let J=r8(this,$);this[h6]=J}function SD($,J){return Object.assign(J,$)}function CD($,J,Q){let X=this[$D](),Y=this[a_],W=this[QD],H=this[XD],G=this[e_]||SD,V,U=this[qD].streamWrite;if($===void 0||$===null)V={};else if($ instanceof Error){if(V={[W]:$},J===void 0)J=$.message}else if(V=$,J===void 0&&$[H]===void 0&&$[W])J=$[W].message;if(Y)V=G(V,Y(V,Q,this));let q=this[X3](V,J,Q,X),_=this[Y3];if(_[WD]===!0)_.lastLevel=Q,_.lastObj=V,_.lastMsg=J,_.lastTime=X.slice(this[JD]),_.lastLogger=this;_.write(U?U(q):q)}function MD($){if($!=null&&typeof $!=="function")throw Error("callback must be a function");let J=this[Y3];if(typeof J.flush==="function")J.flush($||W3);else if($)$()}});var D3=L(($9,_3)=>{var{hasOwnProperty:O2}=Object.prototype,s1=e8();s1.configure=e8;s1.stringify=s1;s1.default=s1;$9.stringify=s1;$9.configure=e8;_3.exports=s1;var PD=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function T1($){if($.length<5000&&!PD.test($))return`"${$}"`;return JSON.stringify($)}function a8($,J){if($.length>200||J)return $.sort(J);for(let Q=1;Q<$.length;Q++){let X=$[Q],Y=Q;while(Y!==0&&$[Y-1]>X)$[Y]=$[Y-1],Y--;$[Y]=X}return $}var KD=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function t8($){return KD.call($)!==void 0&&$.length!==0}function U3($,J,Q){if($.length<Q)Q=$.length;let X=J===","?"":" ",Y=`"0":${X}${$[0]}`;for(let W=1;W<Q;W++)Y+=`${J}"${W}":${X}${$[W]}`;return Y}function ID($){if(O2.call($,"circularValue")){let J=$.circularValue;if(typeof J==="string")return`"${J}"`;if(J==null)return J;if(J===Error||J===TypeError)return{toString(){throw TypeError("Converting circular structure to JSON")}};throw TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}function TD($){let J;if(O2.call($,"deterministic")){if(J=$.deterministic,typeof J!=="boolean"&&typeof J!=="function")throw TypeError('The "deterministic" argument must be of type boolean or comparator function')}return J===void 0?!0:J}function bD($,J){let Q;if(O2.call($,J)){if(Q=$[J],typeof Q!=="boolean")throw TypeError(`The "${J}" argument must be of type boolean`)}return Q===void 0?!0:Q}function q3($,J){let Q;if(O2.call($,J)){if(Q=$[J],typeof Q!=="number")throw TypeError(`The "${J}" argument must be of type number`);if(!Number.isInteger(Q))throw TypeError(`The "${J}" argument must be an integer`);if(Q<1)throw RangeError(`The "${J}" argument must be >= 1`)}return Q===void 0?1/0:Q}function n1($){if($===1)return"1 item";return`${$} items`}function fD($){let J=new Set;for(let Q of $)if(typeof Q==="string"||typeof Q==="number")J.add(String(Q));return J}function kD($){if(O2.call($,"strict")){let J=$.strict;if(typeof J!=="boolean")throw TypeError('The "strict" argument must be of type boolean');if(J)return(Q)=>{let X=`Object can not safely be stringified. Received type ${typeof Q}`;if(typeof Q!=="function")X+=` (${Q.toString()})`;throw Error(X)}}}function e8($){$={...$};let J=kD($);if(J){if($.bigint===void 0)$.bigint=!1;if(!("circularValue"in $))$.circularValue=Error}let Q=ID($),X=bD($,"bigint"),Y=TD($),W=typeof Y==="function"?Y:void 0,H=q3($,"maximumDepth"),G=q3($,"maximumBreadth");function V(B,D,A,Z,C,T){let K=D[B];if(typeof K==="object"&&K!==null&&typeof K.toJSON==="function")K=K.toJSON(B);switch(K=Z.call(D,B,K),typeof K){case"string":return T1(K);case"object":{if(K===null)return"null";if(A.indexOf(K)!==-1)return Q;let y="",s=",",d=T;if(Array.isArray(K)){if(K.length===0)return"[]";if(H<A.length+1)return'"[Array]"';if(A.push(K),C!=="")T+=C,y+=`
5
5
  ${T}`,s=`,
6
- ${T}`;let V0=Math.min(K.length,G),N0=0;for(;N0<V0-1;N0++){let d0=V(String(N0),K,A,Z,C,T);y+=d0!==void 0?d0:"null",y+=s}let D0=V(String(N0),K,A,Z,C,T);if(y+=D0!==void 0?D0:"null",K.length-1>G){let d0=K.length-G-1;y+=`${s}"... ${n1(d0)} not stringified"`}if(C!=="")y+=`
6
+ ${T}`;let V0=Math.min(K.length,G),w0=0;for(;w0<V0-1;w0++){let d0=V(String(w0),K,A,Z,C,T);y+=d0!==void 0?d0:"null",y+=s}let D0=V(String(w0),K,A,Z,C,T);if(y+=D0!==void 0?D0:"null",K.length-1>G){let d0=K.length-G-1;y+=`${s}"... ${n1(d0)} not stringified"`}if(C!=="")y+=`
7
7
  ${d}`;return A.pop(),`[${y}]`}let $0=Object.keys(K),Q0=$0.length;if(Q0===0)return"{}";if(H<A.length+1)return'"[Object]"';let p="",J0="";if(C!=="")T+=C,s=`,
8
- ${T}`,p=" ";let q0=Math.min(Q0,G);if(Y&&!t8(K))$0=a8($0,W);A.push(K);for(let V0=0;V0<q0;V0++){let N0=$0[V0],D0=V(N0,K,A,Z,C,T);if(D0!==void 0)y+=`${J0}${T1(N0)}:${p}${D0}`,J0=s}if(Q0>G){let V0=Q0-G;y+=`${J0}"...":${p}"${n1(V0)} not stringified"`,J0=s}if(C!==""&&J0.length>1)y=`
8
+ ${T}`,p=" ";let q0=Math.min(Q0,G);if(Y&&!t8(K))$0=a8($0,W);A.push(K);for(let V0=0;V0<q0;V0++){let w0=$0[V0],D0=V(w0,K,A,Z,C,T);if(D0!==void 0)y+=`${J0}${T1(w0)}:${p}${D0}`,J0=s}if(Q0>G){let V0=Q0-G;y+=`${J0}"...":${p}"${n1(V0)} not stringified"`,J0=s}if(C!==""&&J0.length>1)y=`
9
9
  ${T}${y}
10
10
  ${d}`;return A.pop(),`{${y}}`}case"number":return isFinite(K)?String(K):J?J(K):"null";case"boolean":return K===!0?"true":"false";case"undefined":return;case"bigint":if(X)return String(K);default:return J?J(K):void 0}}function U(B,D,A,Z,C,T){if(typeof D==="object"&&D!==null&&typeof D.toJSON==="function")D=D.toJSON(B);switch(typeof D){case"string":return T1(D);case"object":{if(D===null)return"null";if(A.indexOf(D)!==-1)return Q;let K=T,y="",s=",";if(Array.isArray(D)){if(D.length===0)return"[]";if(H<A.length+1)return'"[Array]"';if(A.push(D),C!=="")T+=C,y+=`
11
11
  ${T}`,s=`,
@@ -15,13 +15,13 @@ ${T}`,d=" ";let $0="";for(let Q0 of Z){let p=U(Q0,D[Q0],A,Z,C,T);if(p!==void 0)y
15
15
  ${T}${y}
16
16
  ${K}`;return A.pop(),`{${y}}`}case"number":return isFinite(D)?String(D):J?J(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(X)return String(D);default:return J?J(D):void 0}}function q(B,D,A,Z,C){switch(typeof D){case"string":return T1(D);case"object":{if(D===null)return"null";if(typeof D.toJSON==="function"){if(D=D.toJSON(B),typeof D!=="object")return q(B,D,A,Z,C);if(D===null)return"null"}if(A.indexOf(D)!==-1)return Q;let T=C;if(Array.isArray(D)){if(D.length===0)return"[]";if(H<A.length+1)return'"[Array]"';A.push(D),C+=Z;let p=`
17
17
  ${C}`,J0=`,
18
- ${C}`,q0=Math.min(D.length,G),V0=0;for(;V0<q0-1;V0++){let D0=q(String(V0),D[V0],A,Z,C);p+=D0!==void 0?D0:"null",p+=J0}let N0=q(String(V0),D[V0],A,Z,C);if(p+=N0!==void 0?N0:"null",D.length-1>G){let D0=D.length-G-1;p+=`${J0}"... ${n1(D0)} not stringified"`}return p+=`
18
+ ${C}`,q0=Math.min(D.length,G),V0=0;for(;V0<q0-1;V0++){let D0=q(String(V0),D[V0],A,Z,C);p+=D0!==void 0?D0:"null",p+=J0}let w0=q(String(V0),D[V0],A,Z,C);if(p+=w0!==void 0?w0:"null",D.length-1>G){let D0=D.length-G-1;p+=`${J0}"... ${n1(D0)} not stringified"`}return p+=`
19
19
  ${T}`,A.pop(),`[${p}]`}let K=Object.keys(D),y=K.length;if(y===0)return"{}";if(H<A.length+1)return'"[Object]"';C+=Z;let s=`,
20
20
  ${C}`,d="",$0="",Q0=Math.min(y,G);if(t8(D))d+=U3(D,s,G),K=K.slice(D.length),Q0-=D.length,$0=s;if(Y)K=a8(K,W);A.push(D);for(let p=0;p<Q0;p++){let J0=K[p],q0=q(J0,D[J0],A,Z,C);if(q0!==void 0)d+=`${$0}${T1(J0)}: ${q0}`,$0=s}if(y>G){let p=y-G;d+=`${$0}"...": "${n1(p)} not stringified"`,$0=s}if($0!=="")d=`
21
21
  ${C}${d}
22
- ${T}`;return A.pop(),`{${d}}`}case"number":return isFinite(D)?String(D):J?J(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(X)return String(D);default:return J?J(D):void 0}}function _(B,D,A){switch(typeof D){case"string":return T1(D);case"object":{if(D===null)return"null";if(typeof D.toJSON==="function"){if(D=D.toJSON(B),typeof D!=="object")return _(B,D,A);if(D===null)return"null"}if(A.indexOf(D)!==-1)return Q;let Z="",C=D.length!==void 0;if(C&&Array.isArray(D)){if(D.length===0)return"[]";if(H<A.length+1)return'"[Array]"';A.push(D);let d=Math.min(D.length,G),$0=0;for(;$0<d-1;$0++){let p=_(String($0),D[$0],A);Z+=p!==void 0?p:"null",Z+=","}let Q0=_(String($0),D[$0],A);if(Z+=Q0!==void 0?Q0:"null",D.length-1>G){let p=D.length-G-1;Z+=`,"... ${n1(p)} not stringified"`}return A.pop(),`[${Z}]`}let T=Object.keys(D),K=T.length;if(K===0)return"{}";if(H<A.length+1)return'"[Object]"';let y="",s=Math.min(K,G);if(C&&t8(D))Z+=U3(D,",",G),T=T.slice(D.length),s-=D.length,y=",";if(Y)T=a8(T,W);A.push(D);for(let d=0;d<s;d++){let $0=T[d],Q0=_($0,D[$0],A);if(Q0!==void 0)Z+=`${y}${T1($0)}:${Q0}`,y=","}if(K>G){let d=K-G;Z+=`${y}"...":"${n1(d)} not stringified"`}return A.pop(),`{${Z}}`}case"number":return isFinite(D)?String(D):J?J(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(X)return String(D);default:return J?J(D):void 0}}function F(B,D,A){if(arguments.length>1){let Z="";if(typeof A==="number")Z=" ".repeat(Math.min(A,10));else if(typeof A==="string")Z=A.slice(0,10);if(D!=null){if(typeof D==="function")return V("",{"":B},[],D,Z,"");if(Array.isArray(D))return U("",B,[],fD(D),Z,"")}if(Z.length!==0)return q("",B,[],Z,"")}return _("",B,[])}return F}});var w3=L((_R,z3)=>{var J9=Symbol.for("pino.metadata"),{DEFAULT_LEVELS:F3}=x6(),xD=F3.info;function vD($,J){$=$||[],J=J||{dedupe:!1};let Q=Object.create(F3);if(Q.silent=1/0,J.levels&&typeof J.levels==="object")Object.keys(J.levels).forEach((_)=>{Q[_]=J.levels[_]});let X={write:Y,add:G,remove:V,emit:W,flushSync:H,end:U,minLevel:0,lastId:0,streams:[],clone:q,[J9]:!0,streamLevels:Q};if(Array.isArray($))$.forEach(G,X);else G.call(X,$);return $=null,X;function Y(_){let F,B=this.lastLevel,{streams:D}=this,A=0,Z;for(let C=hD(D.length,J.dedupe);yD(C,D.length,J.dedupe);C=gD(C,J.dedupe))if(F=D[C],F.level<=B){if(A!==0&&A!==F.level)break;if(Z=F.stream,Z[J9]){let{lastTime:T,lastMsg:K,lastObj:y,lastLogger:s}=this;Z.lastLevel=B,Z.lastTime=T,Z.lastMsg=K,Z.lastObj=y,Z.lastLogger=s}if(Z.write(_),J.dedupe)A=F.level}else if(!J.dedupe)break}function W(..._){for(let{stream:F}of this.streams)if(typeof F.emit==="function")F.emit(..._)}function H(){for(let{stream:_}of this.streams)if(typeof _.flushSync==="function")_.flushSync()}function G(_){if(!_)return X;let F=typeof _.write==="function"||_.stream,B=_.write?_:_.stream;if(!F)throw Error("stream object needs to implement either StreamEntry or DestinationStream interface");let{streams:D,streamLevels:A}=this,Z;if(typeof _.levelVal==="number")Z=_.levelVal;else if(typeof _.level==="string")Z=A[_.level];else if(typeof _.level==="number")Z=_.level;else Z=xD;let C={stream:B,level:Z,levelVal:void 0,id:++X.lastId};return D.unshift(C),D.sort(B3),this.minLevel=D[0].level,X}function V(_){let{streams:F}=this,B=F.findIndex((D)=>D.id===_);if(B>=0)F.splice(B,1),F.sort(B3),this.minLevel=F.length>0?F[0].level:-1;return X}function U(){for(let{stream:_}of this.streams){if(typeof _.flushSync==="function")_.flushSync();_.end()}}function q(_){let F=Array(this.streams.length);for(let B=0;B<F.length;B++)F[B]={level:_,stream:this.streams[B].stream};return{write:Y,add:G,remove:V,minLevel:_,streams:F,clone:q,emit:W,flushSync:H,[J9]:!0}}}function B3($,J){return $.level-J.level}function hD($,J){return J?$-1:0}function gD($,J){return J?$-1:$+1}function yD($,J,Q){return Q?$>=0:$<J}z3.exports=vD});var I3=L((DR,x0)=>{var uD=require("node:os"),Z3=O8(),mD=R8(),lD=C8(),S3=VJ(),cD=V3(),C3=O$(),{configure:dD}=D3(),{assertDefaultLevelFound:pD,mappings:M3,genLsCache:iD,genLevelComparison:nD,assertLevelComparison:sD}=p8(),{DEFAULT_LEVELS:P3,SORTING_ORDER:oD}=x6(),{createArgsNormalizer:rD,asChindings:aD,buildSafeSonicBoom:N3,buildFormatters:tD,stringify:Q9,normalizeDestFileDescriptor:A3,noop:eD}=k6(),{version:$B}=i8(),{chindingsSym:j3,redactFmtSym:JB,serializersSym:E3,timeSym:QB,timeSliceIndexSym:XB,streamSym:YB,stringifySym:L3,stringifySafeSym:X9,stringifiersSym:O3,setLevelSym:WB,endSym:HB,formatOptsSym:GB,messageKeySym:VB,errorKeySym:UB,nestedKeySym:qB,mixinSym:_B,levelCompSym:DB,useOnlyCustomLevelsSym:BB,formattersSym:R3,hooksSym:FB,nestedKeyStrSym:zB,mixinMergeStrategySym:wB,msgPrefixSym:NB}=C3,{epochTime:K3,nullTime:AB}=S3,{pid:jB}=process,EB=uD.hostname(),LB=Z3.err,OB={level:"info",levelComparison:oD.ASC,levels:P3,messageKey:"msg",errorKey:"err",nestedKey:null,enabled:!0,base:{pid:jB,hostname:EB},serializers:Object.assign(Object.create(null),{err:LB}),formatters:Object.assign(Object.create(null),{bindings($){return $},level($,J){return{level:J}}}),hooks:{logMethod:void 0,streamWrite:void 0},timestamp:K3,name:void 0,redact:null,customLevels:null,useOnlyCustomLevels:!1,depthLimit:5,edgeLimit:100},RB=rD(OB),ZB=Object.assign(Object.create(null),Z3);function Y9(...$){let J={},{opts:Q,stream:X}=RB(J,mD(),...$);if(Q.level&&typeof Q.level==="string"&&P3[Q.level.toLowerCase()]!==void 0)Q.level=Q.level.toLowerCase();let{redact:Y,crlf:W,serializers:H,timestamp:G,messageKey:V,errorKey:U,nestedKey:q,base:_,name:F,level:B,customLevels:D,levelComparison:A,mixin:Z,mixinMergeStrategy:C,useOnlyCustomLevels:T,formatters:K,hooks:y,depthLimit:s,edgeLimit:d,onChild:$0,msgPrefix:Q0}=Q,p=dD({maximumDepth:s,maximumBreadth:d}),J0=tD(K.level,K.bindings,K.log),q0=Q9.bind({[X9]:p}),V0=Y?lD(Y,q0):{},N0=Y?{stringify:V0[JB]}:{stringify:q0},D0="}"+(W?`\r
22
+ ${T}`;return A.pop(),`{${d}}`}case"number":return isFinite(D)?String(D):J?J(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(X)return String(D);default:return J?J(D):void 0}}function _(B,D,A){switch(typeof D){case"string":return T1(D);case"object":{if(D===null)return"null";if(typeof D.toJSON==="function"){if(D=D.toJSON(B),typeof D!=="object")return _(B,D,A);if(D===null)return"null"}if(A.indexOf(D)!==-1)return Q;let Z="",C=D.length!==void 0;if(C&&Array.isArray(D)){if(D.length===0)return"[]";if(H<A.length+1)return'"[Array]"';A.push(D);let d=Math.min(D.length,G),$0=0;for(;$0<d-1;$0++){let p=_(String($0),D[$0],A);Z+=p!==void 0?p:"null",Z+=","}let Q0=_(String($0),D[$0],A);if(Z+=Q0!==void 0?Q0:"null",D.length-1>G){let p=D.length-G-1;Z+=`,"... ${n1(p)} not stringified"`}return A.pop(),`[${Z}]`}let T=Object.keys(D),K=T.length;if(K===0)return"{}";if(H<A.length+1)return'"[Object]"';let y="",s=Math.min(K,G);if(C&&t8(D))Z+=U3(D,",",G),T=T.slice(D.length),s-=D.length,y=",";if(Y)T=a8(T,W);A.push(D);for(let d=0;d<s;d++){let $0=T[d],Q0=_($0,D[$0],A);if(Q0!==void 0)Z+=`${y}${T1($0)}:${Q0}`,y=","}if(K>G){let d=K-G;Z+=`${y}"...":"${n1(d)} not stringified"`}return A.pop(),`{${Z}}`}case"number":return isFinite(D)?String(D):J?J(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(X)return String(D);default:return J?J(D):void 0}}function F(B,D,A){if(arguments.length>1){let Z="";if(typeof A==="number")Z=" ".repeat(Math.min(A,10));else if(typeof A==="string")Z=A.slice(0,10);if(D!=null){if(typeof D==="function")return V("",{"":B},[],D,Z,"");if(Array.isArray(D))return U("",B,[],fD(D),Z,"")}if(Z.length!==0)return q("",B,[],Z,"")}return _("",B,[])}return F}});var N3=L((_R,z3)=>{var J9=Symbol.for("pino.metadata"),{DEFAULT_LEVELS:F3}=x6(),xD=F3.info;function vD($,J){$=$||[],J=J||{dedupe:!1};let Q=Object.create(F3);if(Q.silent=1/0,J.levels&&typeof J.levels==="object")Object.keys(J.levels).forEach((_)=>{Q[_]=J.levels[_]});let X={write:Y,add:G,remove:V,emit:W,flushSync:H,end:U,minLevel:0,lastId:0,streams:[],clone:q,[J9]:!0,streamLevels:Q};if(Array.isArray($))$.forEach(G,X);else G.call(X,$);return $=null,X;function Y(_){let F,B=this.lastLevel,{streams:D}=this,A=0,Z;for(let C=hD(D.length,J.dedupe);yD(C,D.length,J.dedupe);C=gD(C,J.dedupe))if(F=D[C],F.level<=B){if(A!==0&&A!==F.level)break;if(Z=F.stream,Z[J9]){let{lastTime:T,lastMsg:K,lastObj:y,lastLogger:s}=this;Z.lastLevel=B,Z.lastTime=T,Z.lastMsg=K,Z.lastObj=y,Z.lastLogger=s}if(Z.write(_),J.dedupe)A=F.level}else if(!J.dedupe)break}function W(..._){for(let{stream:F}of this.streams)if(typeof F.emit==="function")F.emit(..._)}function H(){for(let{stream:_}of this.streams)if(typeof _.flushSync==="function")_.flushSync()}function G(_){if(!_)return X;let F=typeof _.write==="function"||_.stream,B=_.write?_:_.stream;if(!F)throw Error("stream object needs to implement either StreamEntry or DestinationStream interface");let{streams:D,streamLevels:A}=this,Z;if(typeof _.levelVal==="number")Z=_.levelVal;else if(typeof _.level==="string")Z=A[_.level];else if(typeof _.level==="number")Z=_.level;else Z=xD;let C={stream:B,level:Z,levelVal:void 0,id:++X.lastId};return D.unshift(C),D.sort(B3),this.minLevel=D[0].level,X}function V(_){let{streams:F}=this,B=F.findIndex((D)=>D.id===_);if(B>=0)F.splice(B,1),F.sort(B3),this.minLevel=F.length>0?F[0].level:-1;return X}function U(){for(let{stream:_}of this.streams){if(typeof _.flushSync==="function")_.flushSync();_.end()}}function q(_){let F=Array(this.streams.length);for(let B=0;B<F.length;B++)F[B]={level:_,stream:this.streams[B].stream};return{write:Y,add:G,remove:V,minLevel:_,streams:F,clone:q,emit:W,flushSync:H,[J9]:!0}}}function B3($,J){return $.level-J.level}function hD($,J){return J?$-1:0}function gD($,J){return J?$-1:$+1}function yD($,J,Q){return Q?$>=0:$<J}z3.exports=vD});var I3=L((DR,x0)=>{var uD=require("node:os"),Z3=O8(),mD=R8(),lD=C8(),S3=VJ(),cD=V3(),C3=R$(),{configure:dD}=D3(),{assertDefaultLevelFound:pD,mappings:M3,genLsCache:iD,genLevelComparison:nD,assertLevelComparison:sD}=p8(),{DEFAULT_LEVELS:P3,SORTING_ORDER:oD}=x6(),{createArgsNormalizer:rD,asChindings:aD,buildSafeSonicBoom:w3,buildFormatters:tD,stringify:Q9,normalizeDestFileDescriptor:A3,noop:eD}=k6(),{version:$B}=i8(),{chindingsSym:j3,redactFmtSym:JB,serializersSym:E3,timeSym:QB,timeSliceIndexSym:XB,streamSym:YB,stringifySym:L3,stringifySafeSym:X9,stringifiersSym:O3,setLevelSym:WB,endSym:HB,formatOptsSym:GB,messageKeySym:VB,errorKeySym:UB,nestedKeySym:qB,mixinSym:_B,levelCompSym:DB,useOnlyCustomLevelsSym:BB,formattersSym:R3,hooksSym:FB,nestedKeyStrSym:zB,mixinMergeStrategySym:NB,msgPrefixSym:wB}=C3,{epochTime:K3,nullTime:AB}=S3,{pid:jB}=process,EB=uD.hostname(),LB=Z3.err,OB={level:"info",levelComparison:oD.ASC,levels:P3,messageKey:"msg",errorKey:"err",nestedKey:null,enabled:!0,base:{pid:jB,hostname:EB},serializers:Object.assign(Object.create(null),{err:LB}),formatters:Object.assign(Object.create(null),{bindings($){return $},level($,J){return{level:J}}}),hooks:{logMethod:void 0,streamWrite:void 0},timestamp:K3,name:void 0,redact:null,customLevels:null,useOnlyCustomLevels:!1,depthLimit:5,edgeLimit:100},RB=rD(OB),ZB=Object.assign(Object.create(null),Z3);function Y9(...$){let J={},{opts:Q,stream:X}=RB(J,mD(),...$);if(Q.level&&typeof Q.level==="string"&&P3[Q.level.toLowerCase()]!==void 0)Q.level=Q.level.toLowerCase();let{redact:Y,crlf:W,serializers:H,timestamp:G,messageKey:V,errorKey:U,nestedKey:q,base:_,name:F,level:B,customLevels:D,levelComparison:A,mixin:Z,mixinMergeStrategy:C,useOnlyCustomLevels:T,formatters:K,hooks:y,depthLimit:s,edgeLimit:d,onChild:$0,msgPrefix:Q0}=Q,p=dD({maximumDepth:s,maximumBreadth:d}),J0=tD(K.level,K.bindings,K.log),q0=Q9.bind({[X9]:p}),V0=Y?lD(Y,q0):{},w0=Y?{stringify:V0[JB]}:{stringify:q0},D0="}"+(W?`\r
23
23
  `:`
24
- `),d0=aD.bind(null,{[j3]:"",[E3]:H,[O3]:V0,[L3]:Q9,[X9]:p,[R3]:J0}),j$="";if(_!==null)if(F===void 0)j$=d0(_);else j$=d0(Object.assign({},_,{name:F}));let q2=G instanceof Function?G:G?K3:AB,N6=q2().indexOf(":")+1;if(T&&!D)throw Error("customLevels is required if useOnlyCustomLevels is set true");if(Z&&typeof Z!=="function")throw Error(`Unknown mixin type "${typeof Z}" - expected "function"`);if(Q0&&typeof Q0!=="string")throw Error(`Unknown msgPrefix type "${typeof Q0}" - expected "string"`);pD(B,D,T);let _2=M3(D,T);if(typeof X.emit==="function")X.emit("message",{code:"PINO_CONFIG",config:{levels:_2,messageKey:V,errorKey:U}});sD(A);let A6=nD(A);return Object.assign(J,{levels:_2,[DB]:A6,[BB]:T,[YB]:X,[QB]:q2,[XB]:N6,[L3]:Q9,[X9]:p,[O3]:V0,[HB]:D0,[GB]:N0,[VB]:V,[UB]:U,[qB]:q,[zB]:q?`,${JSON.stringify(q)}:{`:"",[E3]:H,[_B]:Z,[wB]:C,[j3]:j$,[R3]:J0,[FB]:y,silent:eD,onChild:$0,[NB]:Q0}),Object.setPrototypeOf(J,cD()),iD(J),J[WB](B),J}x0.exports=Y9;x0.exports.destination=($=process.stdout.fd)=>{if(typeof $==="object")return $.dest=A3($.dest||process.stdout.fd),N3($);else return N3({dest:A3($),minLength:0})};x0.exports.transport=y8();x0.exports.multistream=w3();x0.exports.levels=M3();x0.exports.stdSerializers=ZB;x0.exports.stdTimeFunctions=Object.assign({},S3);x0.exports.symbols=C3;x0.exports.version=$B;x0.exports.default=Y9;x0.exports.pino=Y9});var U9={};Z0(U9,{parseTTL:()=>r1});function r1($){if(typeof $==="number")return $;let J=$.match(/^(\d+)([smhd])$/);if(!J)throw Error(`Invalid TTL format: ${$}. Use format like '5s', '5m', '5h', '5d' or a number`);let Q=parseInt(J[1],10),X=J[2];switch(X){case"s":return Q;case"m":return Q*60;case"h":return Q*3600;case"d":return Q*86400;default:throw Error(`Unknown TTL unit: ${X}`)}}class S2{cache=new Map;cleanupInterval;maxSize;constructor($={}){this.maxSize=$.maxSize||1000;let J=$.cleanupInterval??60000;if(J>0)this.cleanupInterval=setInterval(()=>{this.cleanup()},J)}async get($){let J=this.cache.get($);if(!J)return null;if(J.expiresAt>0&&Date.now()>J.expiresAt)return this.cache.delete($),null;return J.data}async set($,J,Q=0){if(this.cache.size>=this.maxSize&&!this.cache.has($))this.removeOldest();let X=Date.now(),Y={data:J,createdAt:X,expiresAt:Q>0?X+Q*1000:0};this.cache.set($,Y)}async delete($){return this.cache.delete($)}async has($){let J=this.cache.get($);if(!J)return!1;if(J.expiresAt>0&&Date.now()>J.expiresAt)return this.cache.delete($),!1;return!0}async clear(){this.cache.clear()}async deletePattern($){let J=this.patternToRegex($),Q=0;for(let X of this.cache.keys())if(J.test(X))this.cache.delete(X),Q++;return Q}async keys($){let J=Array.from(this.cache.keys());if(!$)return J;let Q=this.patternToRegex($);return J.filter((X)=>Q.test(X))}getStats(){return{size:this.cache.size,maxSize:this.maxSize}}cleanup(){let $=Date.now();for(let[J,Q]of this.cache.entries())if(Q.expiresAt>0&&$>Q.expiresAt)this.cache.delete(J)}removeOldest(){let $=null,J=1/0;for(let[Q,X]of this.cache.entries())if(X.createdAt<J)J=X.createdAt,$=Q;if($)this.cache.delete($)}patternToRegex($){let Q=$.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${Q}$`)}destroy(){if(this.cleanupInterval)clearInterval(this.cleanupInterval)}}var z9={};Z0(z9,{setCache:()=>_9,invalidateCache:()=>B9,getCache:()=>q9,deleteCache:()=>D9,clearCache:()=>F9,CacheManager:()=>k0});async function q9($){return await k0.get($)}async function _9($,J,Q){await k0.set($,J,Q)}async function D9($){return await k0.delete($)}async function B9($){return await k0.invalidate($)}async function F9(){await k0.clear()}var k0;var C2=X0(()=>{k0=class k0{static defaultStore=new S2;static stores=new Map;static setDefaultStore($){this.defaultStore=$}static getDefaultStore(){return this.defaultStore}static registerStore($,J){this.stores.set($,J)}static getStore($){return this.stores.get($)}static generateKey($,J,Q,X,Y){let W=[];if(Y?.prefix)W.push(Y.prefix);if(Y?.key){let H=Y.key;if(Q)for(let[G,V]of Object.entries(Q))H=H.replace(`{${G}}`,String(V));W.push(H)}else if(W.push($.toLowerCase()),W.push(J.replace(/\//g,":")),Q&&Object.keys(Q).length>0)W.push(JSON.stringify(Q));if(Y?.includeQuery&&X&&Object.keys(X).length>0){let H=Object.keys(X).sort().reduce((G,V)=>{return G[V]=X[V],G},{});W.push(JSON.stringify(H))}return W.join(":")}static async get($,J){return await(J||this.defaultStore).get($)}static async set($,J,Q,X){let Y=X||this.defaultStore,W=Q?r1(Q):0;await Y.set($,J,W)}static async delete($,J){return await(J||this.defaultStore).delete($)}static async invalidate($,J){return await(J||this.defaultStore).deletePattern($)}static async clear($){await($||this.defaultStore).clear()}}});var Q$=L(()=>{/*! *****************************************************************************
24
+ `),d0=aD.bind(null,{[j3]:"",[E3]:H,[O3]:V0,[L3]:Q9,[X9]:p,[R3]:J0}),E$="";if(_!==null)if(F===void 0)E$=d0(_);else E$=d0(Object.assign({},_,{name:F}));let q2=G instanceof Function?G:G?K3:AB,w6=q2().indexOf(":")+1;if(T&&!D)throw Error("customLevels is required if useOnlyCustomLevels is set true");if(Z&&typeof Z!=="function")throw Error(`Unknown mixin type "${typeof Z}" - expected "function"`);if(Q0&&typeof Q0!=="string")throw Error(`Unknown msgPrefix type "${typeof Q0}" - expected "string"`);pD(B,D,T);let _2=M3(D,T);if(typeof X.emit==="function")X.emit("message",{code:"PINO_CONFIG",config:{levels:_2,messageKey:V,errorKey:U}});sD(A);let A6=nD(A);return Object.assign(J,{levels:_2,[DB]:A6,[BB]:T,[YB]:X,[QB]:q2,[XB]:w6,[L3]:Q9,[X9]:p,[O3]:V0,[HB]:D0,[GB]:w0,[VB]:V,[UB]:U,[qB]:q,[zB]:q?`,${JSON.stringify(q)}:{`:"",[E3]:H,[_B]:Z,[NB]:C,[j3]:E$,[R3]:J0,[FB]:y,silent:eD,onChild:$0,[wB]:Q0}),Object.setPrototypeOf(J,cD()),iD(J),J[WB](B),J}x0.exports=Y9;x0.exports.destination=($=process.stdout.fd)=>{if(typeof $==="object")return $.dest=A3($.dest||process.stdout.fd),w3($);else return w3({dest:A3($),minLength:0})};x0.exports.transport=y8();x0.exports.multistream=N3();x0.exports.levels=M3();x0.exports.stdSerializers=ZB;x0.exports.stdTimeFunctions=Object.assign({},S3);x0.exports.symbols=C3;x0.exports.version=$B;x0.exports.default=Y9;x0.exports.pino=Y9});var U9={};Z0(U9,{parseTTL:()=>r1});function r1($){if(typeof $==="number")return $;let J=$.match(/^(\d+)([smhd])$/);if(!J)throw Error(`Invalid TTL format: ${$}. Use format like '5s', '5m', '5h', '5d' or a number`);let Q=parseInt(J[1],10),X=J[2];switch(X){case"s":return Q;case"m":return Q*60;case"h":return Q*3600;case"d":return Q*86400;default:throw Error(`Unknown TTL unit: ${X}`)}}class S2{cache=new Map;cleanupInterval;maxSize;constructor($={}){this.maxSize=$.maxSize||1000;let J=$.cleanupInterval??60000;if(J>0)this.cleanupInterval=setInterval(()=>{this.cleanup()},J)}async get($){let J=this.cache.get($);if(!J)return null;if(J.expiresAt>0&&Date.now()>J.expiresAt)return this.cache.delete($),null;return J.data}async set($,J,Q=0){if(this.cache.size>=this.maxSize&&!this.cache.has($))this.removeOldest();let X=Date.now(),Y={data:J,createdAt:X,expiresAt:Q>0?X+Q*1000:0};this.cache.set($,Y)}async delete($){return this.cache.delete($)}async has($){let J=this.cache.get($);if(!J)return!1;if(J.expiresAt>0&&Date.now()>J.expiresAt)return this.cache.delete($),!1;return!0}async clear(){this.cache.clear()}async deletePattern($){let J=this.patternToRegex($),Q=0;for(let X of this.cache.keys())if(J.test(X))this.cache.delete(X),Q++;return Q}async keys($){let J=Array.from(this.cache.keys());if(!$)return J;let Q=this.patternToRegex($);return J.filter((X)=>Q.test(X))}getStats(){return{size:this.cache.size,maxSize:this.maxSize}}cleanup(){let $=Date.now();for(let[J,Q]of this.cache.entries())if(Q.expiresAt>0&&$>Q.expiresAt)this.cache.delete(J)}removeOldest(){let $=null,J=1/0;for(let[Q,X]of this.cache.entries())if(X.createdAt<J)J=X.createdAt,$=Q;if($)this.cache.delete($)}patternToRegex($){let Q=$.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${Q}$`)}destroy(){if(this.cleanupInterval)clearInterval(this.cleanupInterval)}}var z9={};Z0(z9,{setCache:()=>_9,invalidateCache:()=>B9,getCache:()=>q9,deleteCache:()=>D9,clearCache:()=>F9,CacheManager:()=>k0});async function q9($){return await k0.get($)}async function _9($,J,Q){await k0.set($,J,Q)}async function D9($){return await k0.delete($)}async function B9($){return await k0.invalidate($)}async function F9(){await k0.clear()}var k0;var C2=X0(()=>{k0=class k0{static defaultStore=new S2;static stores=new Map;static setDefaultStore($){this.defaultStore=$}static getDefaultStore(){return this.defaultStore}static registerStore($,J){this.stores.set($,J)}static getStore($){return this.stores.get($)}static generateKey($,J,Q,X,Y){let W=[];if(Y?.prefix)W.push(Y.prefix);if(Y?.key){let H=Y.key;if(Q)for(let[G,V]of Object.entries(Q))H=H.replace(`{${G}}`,String(V));W.push(H)}else if(W.push($.toLowerCase()),W.push(J.replace(/\//g,":")),Q&&Object.keys(Q).length>0)W.push(JSON.stringify(Q));if(Y?.includeQuery&&X&&Object.keys(X).length>0){let H=Object.keys(X).sort().reduce((G,V)=>{return G[V]=X[V],G},{});W.push(JSON.stringify(H))}return W.join(":")}static async get($,J){return await(J||this.defaultStore).get($)}static async set($,J,Q,X){let Y=X||this.defaultStore,W=Q?r1(Q):0;await Y.set($,J,W)}static async delete($,J){return await(J||this.defaultStore).delete($)}static async invalidate($,J){return await(J||this.defaultStore).deletePattern($)}static async clear($){await($||this.defaultStore).clear()}}});var X$=L(()=>{/*! *****************************************************************************
25
25
  Copyright (C) Microsoft. All rights reserved.
26
26
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
27
27
  this file except in compliance with the License. You may obtain a copy of the
@@ -34,13 +34,13 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
34
34
 
35
35
  See the Apache Version 2.0 License for specific language governing permissions
36
36
  and limitations under the License.
37
- ***************************************************************************** */var RQ;(function($){(function(J){var Q=typeof globalThis==="object"?globalThis:typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:G(),X=Y($);if(typeof Q.Reflect<"u")X=Y(Q.Reflect,X);if(J(X,Q),typeof Q.Reflect>"u")Q.Reflect=$;function Y(V,U){return function(q,_){if(Object.defineProperty(V,q,{configurable:!0,writable:!0,value:_}),U)U(q,_)}}function W(){try{return Function("return this;")()}catch(V){}}function H(){try{return(0,eval)("(function() { return this; })()")}catch(V){}}function G(){return W()||H()}})(function(J,Q){var X=Object.prototype.hasOwnProperty,Y=typeof Symbol==="function",W=Y&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",H=Y&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",G=typeof Object.create==="function",V={__proto__:[]}instanceof Array,U=!G&&!V,q={create:G?function(){return G8(Object.create(null))}:V?function(){return G8({__proto__:null})}:function(){return G8({})},has:U?function(z,w){return X.call(z,w)}:function(z,w){return w in z},get:U?function(z,w){return X.call(z,w)?z[w]:void 0}:function(z,w){return z[w]}},_=Object.getPrototypeOf(Function),F=typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:fV(),B=typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:kV(),D=typeof WeakMap==="function"?WeakMap:xV(),A=Y?Symbol.for("@reflect-metadata:registry"):void 0,Z=IV(),C=TV(Z);function T(z,w,j,P){if(!c(j)){if(!B7(z))throw TypeError();if(!B0(w))throw TypeError();if(!B0(P)&&!c(P)&&!E$(P))throw TypeError();if(E$(P))P=void 0;return j=W1(j),N0(z,w,j,P)}else{if(!B7(z))throw TypeError();if(!F7(w))throw TypeError();return V0(z,w)}}J("decorate",T);function K(z,w){function j(P,u){if(!B0(P))throw TypeError();if(!c(u)&&!PV(u))throw TypeError();N6(z,w,P,u)}return j}J("metadata",K);function y(z,w,j,P){if(!B0(j))throw TypeError();if(!c(P))P=W1(P);return N6(z,w,j,P)}J("defineMetadata",y);function s(z,w,j){if(!B0(w))throw TypeError();if(!c(j))j=W1(j);return D0(z,w,j)}J("hasMetadata",s);function d(z,w,j){if(!B0(w))throw TypeError();if(!c(j))j=W1(j);return d0(z,w,j)}J("hasOwnMetadata",d);function $0(z,w,j){if(!B0(w))throw TypeError();if(!c(j))j=W1(j);return j$(z,w,j)}J("getMetadata",$0);function Q0(z,w,j){if(!B0(w))throw TypeError();if(!c(j))j=W1(j);return q2(z,w,j)}J("getOwnMetadata",Q0);function p(z,w){if(!B0(z))throw TypeError();if(!c(w))w=W1(w);return _2(z,w)}J("getMetadataKeys",p);function J0(z,w){if(!B0(z))throw TypeError();if(!c(w))w=W1(w);return A6(z,w)}J("getOwnMetadataKeys",J0);function q0(z,w,j){if(!B0(w))throw TypeError();if(!c(j))j=W1(j);if(!B0(w))throw TypeError();if(!c(j))j=W1(j);var P=D2(w,j,!1);if(c(P))return!1;return P.OrdinaryDeleteMetadata(z,w,j)}J("deleteMetadata",q0);function V0(z,w){for(var j=z.length-1;j>=0;--j){var P=z[j],u=P(w);if(!c(u)&&!E$(u)){if(!F7(u))throw TypeError();w=u}}return w}function N0(z,w,j,P){for(var u=z.length-1;u>=0;--u){var F0=z[u],A0=F0(w,j,P);if(!c(A0)&&!E$(A0)){if(!B0(A0))throw TypeError();P=A0}}return P}function D0(z,w,j){var P=d0(z,w,j);if(P)return!0;var u=H8(w);if(!E$(u))return D0(z,u,j);return!1}function d0(z,w,j){var P=D2(w,j,!1);if(c(P))return!1;return D7(P.OrdinaryHasOwnMetadata(z,w,j))}function j$(z,w,j){var P=d0(z,w,j);if(P)return q2(z,w,j);var u=H8(w);if(!E$(u))return j$(z,u,j);return}function q2(z,w,j){var P=D2(w,j,!1);if(c(P))return;return P.OrdinaryGetOwnMetadata(z,w,j)}function N6(z,w,j,P){var u=D2(j,P,!0);u.OrdinaryDefineOwnMetadata(z,w,j,P)}function _2(z,w){var j=A6(z,w),P=H8(z);if(P===null)return j;var u=_2(P,w);if(u.length<=0)return j;if(j.length<=0)return u;var F0=new B,A0=[];for(var r=0,b=j;r<b.length;r++){var x=b[r],v=F0.has(x);if(!v)F0.add(x),A0.push(x)}for(var g=0,t=u;g<t.length;g++){var x=t[g],v=F0.has(x);if(!v)F0.add(x),A0.push(x)}return A0}function A6(z,w){var j=D2(z,w,!1);if(!j)return[];return j.OrdinaryOwnMetadataKeys(z,w)}function _7(z){if(z===null)return 1;switch(typeof z){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return z===null?1:6;default:return 6}}function c(z){return z===void 0}function E$(z){return z===null}function ZV(z){return typeof z==="symbol"}function B0(z){return typeof z==="object"?z!==null:typeof z==="function"}function SV(z,w){switch(_7(z)){case 0:return z;case 1:return z;case 2:return z;case 3:return z;case 4:return z;case 5:return z}var j=w===3?"string":w===5?"number":"default",P=z7(z,W);if(P!==void 0){var u=P.call(z,j);if(B0(u))throw TypeError();return u}return CV(z,j==="default"?"number":j)}function CV(z,w){if(w==="string"){var j=z.toString;if(L$(j)){var P=j.call(z);if(!B0(P))return P}var u=z.valueOf;if(L$(u)){var P=u.call(z);if(!B0(P))return P}}else{var u=z.valueOf;if(L$(u)){var P=u.call(z);if(!B0(P))return P}var F0=z.toString;if(L$(F0)){var P=F0.call(z);if(!B0(P))return P}}throw TypeError()}function D7(z){return!!z}function MV(z){return""+z}function W1(z){var w=SV(z,3);if(ZV(w))return w;return MV(w)}function B7(z){return Array.isArray?Array.isArray(z):z instanceof Object?z instanceof Array:Object.prototype.toString.call(z)==="[object Array]"}function L$(z){return typeof z==="function"}function F7(z){return typeof z==="function"}function PV(z){switch(_7(z)){case 3:return!0;case 4:return!0;default:return!1}}function W8(z,w){return z===w||z!==z&&w!==w}function z7(z,w){var j=z[w];if(j===void 0||j===null)return;if(!L$(j))throw TypeError();return j}function w7(z){var w=z7(z,H);if(!L$(w))throw TypeError();var j=w.call(z);if(!B0(j))throw TypeError();return j}function N7(z){return z.value}function A7(z){var w=z.next();return w.done?!1:w}function j7(z){var w=z.return;if(w)w.call(z)}function H8(z){var w=Object.getPrototypeOf(z);if(typeof z!=="function"||z===_)return w;if(w!==_)return w;var j=z.prototype,P=j&&Object.getPrototypeOf(j);if(P==null||P===Object.prototype)return w;var u=P.constructor;if(typeof u!=="function")return w;if(u===z)return w;return u}function KV(){var z;if(!c(A)&&typeof Q.Reflect<"u"&&!(A in Q.Reflect)&&typeof Q.Reflect.defineMetadata==="function")z=bV(Q.Reflect);var w,j,P,u=new D,F0={registerProvider:A0,getProvider:b,setProvider:v};return F0;function A0(g){if(!Object.isExtensible(F0))throw Error("Cannot add provider to a frozen registry.");switch(!0){case z===g:break;case c(w):w=g;break;case w===g:break;case c(j):j=g;break;case j===g:break;default:if(P===void 0)P=new B;P.add(g);break}}function r(g,t){if(!c(w)){if(w.isProviderFor(g,t))return w;if(!c(j)){if(j.isProviderFor(g,t))return w;if(!c(P)){var H0=w7(P);while(!0){var z0=A7(H0);if(!z0)return;var p0=N7(z0);if(p0.isProviderFor(g,t))return j7(H0),p0}}}}if(!c(z)&&z.isProviderFor(g,t))return z;return}function b(g,t){var H0=u.get(g),z0;if(!c(H0))z0=H0.get(t);if(!c(z0))return z0;if(z0=r(g,t),!c(z0)){if(c(H0))H0=new F,u.set(g,H0);H0.set(t,z0)}return z0}function x(g){if(c(g))throw TypeError();return w===g||j===g||!c(P)&&P.has(g)}function v(g,t,H0){if(!x(H0))throw Error("Metadata provider not registered.");var z0=b(g,t);if(z0!==H0){if(!c(z0))return!1;var p0=u.get(g);if(c(p0))p0=new F,u.set(g,p0);p0.set(t,H0)}return!0}}function IV(){var z;if(!c(A)&&B0(Q.Reflect)&&Object.isExtensible(Q.Reflect))z=Q.Reflect[A];if(c(z))z=KV();if(!c(A)&&B0(Q.Reflect)&&Object.isExtensible(Q.Reflect))Object.defineProperty(Q.Reflect,A,{enumerable:!1,configurable:!1,writable:!1,value:z});return z}function TV(z){var w=new D,j={isProviderFor:function(x,v){var g=w.get(x);if(c(g))return!1;return g.has(v)},OrdinaryDefineOwnMetadata:A0,OrdinaryHasOwnMetadata:u,OrdinaryGetOwnMetadata:F0,OrdinaryOwnMetadataKeys:r,OrdinaryDeleteMetadata:b};return Z.registerProvider(j),j;function P(x,v,g){var t=w.get(x),H0=!1;if(c(t)){if(!g)return;t=new F,w.set(x,t),H0=!0}var z0=t.get(v);if(c(z0)){if(!g)return;if(z0=new F,t.set(v,z0),!z.setProvider(x,v,j)){if(t.delete(v),H0)w.delete(x);throw Error("Wrong provider for target.")}}return z0}function u(x,v,g){var t=P(v,g,!1);if(c(t))return!1;return D7(t.has(x))}function F0(x,v,g){var t=P(v,g,!1);if(c(t))return;return t.get(x)}function A0(x,v,g,t){var H0=P(g,t,!0);H0.set(x,v)}function r(x,v){var g=[],t=P(x,v,!1);if(c(t))return g;var H0=t.keys(),z0=w7(H0),p0=0;while(!0){var E7=A7(z0);if(!E7)return g.length=p0,g;var vV=N7(E7);try{g[p0]=vV}catch(hV){try{j7(z0)}finally{throw hV}}p0++}}function b(x,v,g){var t=P(v,g,!1);if(c(t))return!1;if(!t.delete(x))return!1;if(t.size===0){var H0=w.get(v);if(!c(H0)){if(H0.delete(g),H0.size===0)w.delete(H0)}}return!0}}function bV(z){var{defineMetadata:w,hasOwnMetadata:j,getOwnMetadata:P,getOwnMetadataKeys:u,deleteMetadata:F0}=z,A0=new D,r={isProviderFor:function(b,x){var v=A0.get(b);if(!c(v)&&v.has(x))return!0;if(u(b,x).length){if(c(v))v=new B,A0.set(b,v);return v.add(x),!0}return!1},OrdinaryDefineOwnMetadata:w,OrdinaryHasOwnMetadata:j,OrdinaryGetOwnMetadata:P,OrdinaryOwnMetadataKeys:u,OrdinaryDeleteMetadata:F0};return r}function D2(z,w,j){var P=Z.getProvider(z,w);if(!c(P))return P;if(j){if(Z.setProvider(z,w,C))return C;throw Error("Illegal state.")}return}function fV(){var z={},w=[],j=function(){function r(b,x,v){this._index=0,this._keys=b,this._values=x,this._selector=v}return r.prototype["@@iterator"]=function(){return this},r.prototype[H]=function(){return this},r.prototype.next=function(){var b=this._index;if(b>=0&&b<this._keys.length){var x=this._selector(this._keys[b],this._values[b]);if(b+1>=this._keys.length)this._index=-1,this._keys=w,this._values=w;else this._index++;return{value:x,done:!1}}return{value:void 0,done:!0}},r.prototype.throw=function(b){if(this._index>=0)this._index=-1,this._keys=w,this._values=w;throw b},r.prototype.return=function(b){if(this._index>=0)this._index=-1,this._keys=w,this._values=w;return{value:b,done:!0}},r}(),P=function(){function r(){this._keys=[],this._values=[],this._cacheKey=z,this._cacheIndex=-2}return Object.defineProperty(r.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),r.prototype.has=function(b){return this._find(b,!1)>=0},r.prototype.get=function(b){var x=this._find(b,!1);return x>=0?this._values[x]:void 0},r.prototype.set=function(b,x){var v=this._find(b,!0);return this._values[v]=x,this},r.prototype.delete=function(b){var x=this._find(b,!1);if(x>=0){var v=this._keys.length;for(var g=x+1;g<v;g++)this._keys[g-1]=this._keys[g],this._values[g-1]=this._values[g];if(this._keys.length--,this._values.length--,W8(b,this._cacheKey))this._cacheKey=z,this._cacheIndex=-2;return!0}return!1},r.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=z,this._cacheIndex=-2},r.prototype.keys=function(){return new j(this._keys,this._values,u)},r.prototype.values=function(){return new j(this._keys,this._values,F0)},r.prototype.entries=function(){return new j(this._keys,this._values,A0)},r.prototype["@@iterator"]=function(){return this.entries()},r.prototype[H]=function(){return this.entries()},r.prototype._find=function(b,x){if(!W8(this._cacheKey,b)){this._cacheIndex=-1;for(var v=0;v<this._keys.length;v++)if(W8(this._keys[v],b)){this._cacheIndex=v;break}}if(this._cacheIndex<0&&x)this._cacheIndex=this._keys.length,this._keys.push(b),this._values.push(void 0);return this._cacheIndex},r}();return P;function u(r,b){return r}function F0(r,b){return b}function A0(r,b){return[r,b]}}function kV(){var z=function(){function w(){this._map=new F}return Object.defineProperty(w.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),w.prototype.has=function(j){return this._map.has(j)},w.prototype.add=function(j){return this._map.set(j,j),this},w.prototype.delete=function(j){return this._map.delete(j)},w.prototype.clear=function(){this._map.clear()},w.prototype.keys=function(){return this._map.keys()},w.prototype.values=function(){return this._map.keys()},w.prototype.entries=function(){return this._map.entries()},w.prototype["@@iterator"]=function(){return this.keys()},w.prototype[H]=function(){return this.keys()},w}();return z}function xV(){var z=16,w=q.create(),j=P();return function(){function b(){this._key=P()}return b.prototype.has=function(x){var v=u(x,!1);return v!==void 0?q.has(v,this._key):!1},b.prototype.get=function(x){var v=u(x,!1);return v!==void 0?q.get(v,this._key):void 0},b.prototype.set=function(x,v){var g=u(x,!0);return g[this._key]=v,this},b.prototype.delete=function(x){var v=u(x,!1);return v!==void 0?delete v[this._key]:!1},b.prototype.clear=function(){this._key=P()},b}();function P(){var b;do b="@@WeakMap@@"+r();while(q.has(w,b));return w[b]=!0,b}function u(b,x){if(!X.call(b,j)){if(!x)return;Object.defineProperty(b,j,{value:q.create()})}return b[j]}function F0(b,x){for(var v=0;v<x;++v)b[v]=Math.random()*255|0;return b}function A0(b){if(typeof Uint8Array==="function"){var x=new Uint8Array(b);if(typeof crypto<"u")crypto.getRandomValues(x);else if(typeof msCrypto<"u")msCrypto.getRandomValues(x);else F0(x,b);return x}return F0(Array(b),b)}function r(){var b=A0(z);b[6]=b[6]&79|64,b[8]=b[8]&191|128;var x="";for(var v=0;v<z;++v){var g=b[v];if(v===4||v===6||v===8)x+="-";if(g<16)x+="0";x+=g.toString(16).toLowerCase()}return x}}function G8(z){return z.__=void 0,delete z.__,z}})})(RQ||(RQ={}))});function B1($){return`https://veloce-ts.com/problems/${$}`}function d$($,J){if(J)return J;let Q=oF[$]??"unknown-error";return B1(Q)}function S1($,J,Q){if(Q)return Q;return rF[$]??J}function M9($){try{return new URL($.req.url).href}catch{return $.req.path}}function P9($){let J=$.statusCode??$.status,X={error:(typeof $.error==="string"?$.error:null)??(typeof $.detail==="string"?$.detail:"Error"),statusCode:J};if($.details!==void 0)X.details=$.details;else if($.violations!==void 0)X.details=$.violations;return X}function p$($,J,Q,X){let Y=M9($),W={...J,instance:Y};if(X==="legacy")return $.json(P9(W),Q);return new Response(JSON.stringify(W),{status:Q,headers:{"Content-Type":"application/problem+json"}})}var hQ="application/problem+json",gQ="https://veloce-ts.com/problems",oF,rF;var i$=X0(()=>{oF={400:"bad-request",401:"unauthorized",403:"forbidden",404:"not-found",409:"conflict",410:"gone",413:"payload-too-large",422:"unprocessable-entity",429:"too-many-requests",500:"internal-server-error",503:"service-unavailable"},rF={400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",409:"Conflict",410:"Gone",413:"Payload Too Large",422:"Unprocessable Entity",429:"Too Many Requests",500:"Internal Server Error",503:"Service Unavailable"}});var j0,yQ,uQ,mQ,r6,lQ,cQ,dQ,pQ,iQ,nQ;var n$=X0(()=>{i$();j0=class j0 extends Error{statusCode;details;problemType;title;constructor($,J,Q,X){super(J);this.statusCode=$;this.details=Q;if(this.name="HTTPException",this.problemType=X?.problemType,this.title=X?.title,Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)}toJSON(){let $=this.statusCode,J=d$($,this.problemType),Q=S1($,this.message,this.title);return{type:J,title:Q,status:$,detail:this.message,...this.details!==void 0?{details:this.details}:{},error:this.message,statusCode:$}}};yQ=class yQ extends j0{constructor($="Not Found",J){super(404,$,J,{title:"Not Found"});this.name="NotFoundException"}};uQ=class uQ extends j0{constructor($="Unauthorized",J){super(401,$,J,{title:"Unauthorized"});this.name="UnauthorizedException"}};mQ=class mQ extends j0{constructor($="Forbidden",J){super(403,$,J,{title:"Forbidden"});this.name="ForbiddenException"}};r6=class r6 extends j0{constructor($="Bad Request",J){super(400,$,J,{title:"Bad Request"});this.name="BadRequestException"}};lQ=class lQ extends j0{constructor($="Conflict",J){super(409,$,J,{title:"Conflict"});this.name="ConflictException"}};cQ=class cQ extends j0{constructor($="Gone",J){super(410,$,J,{title:"Gone"});this.name="GoneException"}};dQ=class dQ extends j0{constructor($="Payload Too Large",J){super(413,$,J,{title:"Payload Too Large"});this.name="PayloadTooLargeException"}};pQ=class pQ extends j0{constructor($="Unprocessable Entity",J){super(422,$,J,{title:"Unprocessable Entity"});this.name="UnprocessableEntityException"}};iQ=class iQ extends j0{constructor($="Too Many Requests",J){super(429,$,J,{title:"Too Many Requests"});this.name="TooManyRequestsException"}};nQ=class nQ extends j0{constructor($="Service Unavailable",J){super(503,$,J,{title:"Service Unavailable"});this.name="ServiceUnavailableException"}}});var n9=($,J,Q)=>{return(X,Y)=>{let W=-1;return H(0);async function H(G){if(G<=W)throw Error("next() called multiple times");W=G;let V,U=!1,q;if($[G])q=$[G][0][0],X.req.routeIndex=G;else q=G===$.length&&Y||void 0;if(q)try{V=await q(X,()=>H(G+1))}catch(_){if(_ instanceof Error&&J)X.error=_,V=await J(_,X),U=!0;else throw _}else if(X.finalized===!1&&Q)V=await Q(X);if(V&&(X.finalized===!1||U))X.res=V;return X}}};var aQ=()=>{};var tQ=()=>{};var eQ;var $X=X0(()=>{eQ=Symbol()});async function Xz($,J){let Q=await $.formData();if(Q)return Yz(Q,J);return{}}function Yz($,J){let Q=Object.create(null);if($.forEach((X,Y)=>{if(!(J.all||Y.endsWith("[]")))Q[Y]=X;else Wz(Q,Y,X)}),J.dot)Object.entries(Q).forEach(([X,Y])=>{if(X.includes("."))Hz(Q,X,Y),delete Q[X]});return Q}var JX=async($,J=Object.create(null))=>{let{all:Q=!1,dot:X=!1}=J,W=($ instanceof t6?$.raw.headers:$.headers).get("Content-Type");if(W?.startsWith("multipart/form-data")||W?.startsWith("application/x-www-form-urlencoded"))return Xz($,{all:Q,dot:X});return{}},Wz=($,J,Q)=>{if($[J]!==void 0)if(Array.isArray($[J]))$[J].push(Q);else $[J]=[$[J],Q];else if(!J.endsWith("[]"))$[J]=Q;else $[J]=[Q]},Hz=($,J,Q)=>{if(/(?:^|\.)__proto__\./.test(J))return;let X=$,Y=J.split(".");Y.forEach((W,H)=>{if(H===Y.length-1)X[W]=Q;else{if(!X[W]||typeof X[W]!=="object"||Array.isArray(X[W])||X[W]instanceof File)X[W]=Object.create(null);X=X[W]}})};var QX=X0(()=>{s9()});var r9=($)=>{let J=$.split("/");if(J[0]==="")J.shift();return J},XX=($)=>{let{groups:J,path:Q}=Gz($),X=r9(Q);return Vz(X,J)},Gz=($)=>{let J=[];return $=$.replace(/\{[^}]+\}/g,(Q,X)=>{let Y=`@${X}`;return J.push([Y,Q]),Y}),{groups:J,path:$}},Vz=($,J)=>{for(let Q=J.length-1;Q>=0;Q--){let[X]=J[Q];for(let Y=$.length-1;Y>=0;Y--)if($[Y].includes(X)){$[Y]=$[Y].replace(X,J[Q][1]);break}}return $},e6,YX=($,J)=>{if($==="*")return"*";let Q=$.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(Q){let X=`${$}#${J}`;if(!e6[X])if(Q[2])e6[X]=J&&J[0]!==":"&&J[0]!=="*"?[X,Q[1],new RegExp(`^${Q[2]}(?=/${J})`)]:[$,Q[1],new RegExp(`^${Q[2]}$`)];else e6[X]=[$,Q[1],!0];return e6[X]}return null},s$=($,J)=>{try{return J($)}catch{return $.replace(/(?:%[0-9A-Fa-f]{2})+/g,(Q)=>{try{return J(Q)}catch{return Q}})}},Uz=($)=>s$($,decodeURI),a9=($)=>{let J=$.url,Q=J.indexOf("/",J.indexOf(":")+4),X=Q;for(;X<J.length;X++){let Y=J.charCodeAt(X);if(Y===37){let W=J.indexOf("?",X),H=J.indexOf("#",X),G=W===-1?H===-1?void 0:H:H===-1?W:Math.min(W,H),V=J.slice(Q,G);return Uz(V.includes("%25")?V.replace(/%25/g,"%2525"):V)}else if(Y===63||Y===35)break}return J.slice(Q,X)},WX=($)=>{let J=a9($);return J.length>1&&J.at(-1)==="/"?J.slice(0,-1):J},H$=($,J,...Q)=>{if(Q.length)J=H$(J,...Q);return`${$?.[0]==="/"?"":"/"}${$}${J==="/"?"":`${$?.at(-1)==="/"?"":"/"}${J?.[0]==="/"?J.slice(1):J}`}`},$4=($)=>{if($.charCodeAt($.length-1)!==63||!$.includes(":"))return null;let J=$.split("/"),Q=[],X="";return J.forEach((Y)=>{if(Y!==""&&!/\:/.test(Y))X+="/"+Y;else if(/\:/.test(Y))if(/\?/.test(Y)){if(Q.length===0&&X==="")Q.push("/");else Q.push(X);let W=Y.replace("?","");X+="/"+W,Q.push(X)}else X+="/"+Y}),Q.filter((Y,W,H)=>H.indexOf(Y)===W)},o9=($)=>{if(!/[%+]/.test($))return $;if($.indexOf("+")!==-1)$=$.replace(/\+/g," ");return $.indexOf("%")!==-1?s$($,l2):$},HX=($,J,Q)=>{let X;if(!Q&&J&&!/[%+]/.test(J)){let H=$.indexOf("?",8);if(H===-1)return;if(!$.startsWith(J,H+1))H=$.indexOf(`&${J}`,H+1);while(H!==-1){let G=$.charCodeAt(H+J.length+1);if(G===61){let V=H+J.length+2,U=$.indexOf("&",V);return o9($.slice(V,U===-1?void 0:U))}else if(G==38||isNaN(G))return"";H=$.indexOf(`&${J}`,H+1)}if(X=/[%+]/.test($),!X)return}let Y={};X??=/[%+]/.test($);let W=$.indexOf("?",8);while(W!==-1){let H=$.indexOf("&",W+1),G=$.indexOf("=",W);if(G>H&&H!==-1)G=-1;let V=$.slice(W+1,G===-1?H===-1?void 0:H:G);if(X)V=o9(V);if(W=H,V==="")continue;let U;if(G===-1)U="";else if(U=$.slice(G+1,H===-1?void 0:H),X)U=o9(U);if(Q){if(!(Y[V]&&Array.isArray(Y[V])))Y[V]=[];Y[V].push(U)}else Y[V]??=U}return J?Y[J]:Y},GX,VX=($,J)=>{return HX($,J,!0)},l2;var G$=X0(()=>{e6={},GX=HX,l2=decodeURIComponent});var UX=($)=>s$($,l2),t6;var s9=X0(()=>{tQ();$X();QX();G$();t6=class{raw;#$;#J;routeIndex=0;path;bodyCache={};constructor($,J="/",Q=[[]]){this.raw=$,this.path=J,this.#J=Q,this.#$={}}param($){return $?this.#Q($):this.#W()}#Q($){let J=this.#J[0][this.routeIndex][1][$],Q=this.#Y(J);return Q&&/\%/.test(Q)?UX(Q):Q}#W(){let $={},J=Object.keys(this.#J[0][this.routeIndex][1]);for(let Q of J){let X=this.#Y(this.#J[0][this.routeIndex][1][Q]);if(X!==void 0)$[Q]=/\%/.test(X)?UX(X):X}return $}#Y($){return this.#J[1]?this.#J[1][$]:$}query($){return GX(this.url,$)}queries($){return VX(this.url,$)}header($){if($)return this.raw.headers.get($)??void 0;let J={};return this.raw.headers.forEach((Q,X)=>{J[X]=Q}),J}async parseBody($){return JX(this,$)}#X=($)=>{let{bodyCache:J,raw:Q}=this,X=J[$];if(X)return X;let Y=Object.keys(J)[0];if(Y)return J[Y].then((W)=>{if(Y==="json")W=JSON.stringify(W);return new Response(W)[$]()});return J[$]=Q[$]()};json(){return this.#X("text").then(($)=>JSON.parse($))}text(){return this.#X("text")}arrayBuffer(){return this.#X("arrayBuffer")}blob(){return this.#X("blob")}formData(){return this.#X("formData")}addValidatedData($,J){this.#$[$]=J}valid($){return this.#$[$]}get url(){return this.raw.url}get method(){return this.raw.method}get[eQ](){return this.#J}get matchedRoutes(){return this.#J[0].map(([[,$]])=>$)}get routePath(){return this.#J[0].map(([[,$]])=>$)[this.routeIndex].path}}});var qX,qz=($,J)=>{let Q=new String($);return Q.isEscaped=!0,Q.callbacks=J,Q},t9=async($,J,Q,X,Y)=>{if(typeof $==="object"&&!($ instanceof String)){if(!($ instanceof Promise))$=$.toString();if($ instanceof Promise)$=await $}let W=$.callbacks;if(!W?.length)return Promise.resolve($);if(Y)Y[0]+=$;else Y=[$];let H=Promise.all(W.map((G)=>G({phase:J,buffer:Y,context:X}))).then((G)=>Promise.all(G.filter(Boolean).map((V)=>t9(V,J,!1,X,Y))).then(()=>Y[0]));if(Q)return qz(await H,W);else return H};var _X=X0(()=>{qX={Stringify:1,BeforeStream:2,Stream:3}});var _z="text/plain; charset=UTF-8",e9=($,J)=>{return{"Content-Type":$,...J}},c2=($,J)=>new Response($,J),DX=class{#$;#J;env={};#Q;finalized=!1;error;#W;#Y;#X;#q;#V;#U;#G;#_;#D;constructor($,J){if(this.#$=$,J)this.#Y=J.executionCtx,this.env=J.env,this.#U=J.notFoundHandler,this.#D=J.path,this.#_=J.matchResult}get req(){return this.#J??=new t6(this.#$,this.#D,this.#_),this.#J}get event(){if(this.#Y&&"respondWith"in this.#Y)return this.#Y;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#Y)return this.#Y;else throw Error("This context has no ExecutionContext")}get res(){return this.#X||=c2(null,{headers:this.#G??=new Headers})}set res($){if(this.#X&&$){$=c2($.body,$);for(let[J,Q]of this.#X.headers.entries()){if(J==="content-type")continue;if(J==="set-cookie"){let X=this.#X.headers.getSetCookie();$.headers.delete("set-cookie");for(let Y of X)$.headers.append("set-cookie",Y)}else $.headers.set(J,Q)}}this.#X=$,this.finalized=!0}render=(...$)=>{return this.#V??=(J)=>this.html(J),this.#V(...$)};setLayout=($)=>this.#q=$;getLayout=()=>this.#q;setRenderer=($)=>{this.#V=$};header=($,J,Q)=>{if(this.finalized)this.#X=c2(this.#X.body,this.#X);let X=this.#X?this.#X.headers:this.#G??=new Headers;if(J===void 0)X.delete($);else if(Q?.append)X.append($,J);else X.set($,J)};status=($)=>{this.#W=$};set=($,J)=>{this.#Q??=new Map,this.#Q.set($,J)};get=($)=>{return this.#Q?this.#Q.get($):void 0};get var(){if(!this.#Q)return{};return Object.fromEntries(this.#Q)}#H($,J,Q){let X=this.#X?new Headers(this.#X.headers):this.#G??new Headers;if(typeof J==="object"&&"headers"in J){let W=J.headers instanceof Headers?J.headers:new Headers(J.headers);for(let[H,G]of W)if(H.toLowerCase()==="set-cookie")X.append(H,G);else X.set(H,G)}if(Q)for(let[W,H]of Object.entries(Q))if(typeof H==="string")X.set(W,H);else{X.delete(W);for(let G of H)X.append(W,G)}let Y=typeof J==="number"?J:J?.status??this.#W;return c2($,{status:Y,headers:X})}newResponse=(...$)=>this.#H(...$);body=($,J,Q)=>this.#H($,J,Q);text=($,J,Q)=>{return!this.#G&&!this.#W&&!J&&!Q&&!this.finalized?new Response($):this.#H($,J,e9(_z,Q))};json=($,J,Q)=>{return this.#H(JSON.stringify($),J,e9("application/json",Q))};html=($,J,Q)=>{let X=(Y)=>this.#H(Y,J,e9("text/html; charset=UTF-8",Q));return typeof $==="object"?t9($,qX.Stringify,!1,{}).then(X):X($)};redirect=($,J)=>{let Q=String($);return this.header("Location",!/[^\x00-\xFF]/.test(Q)?Q:encodeURI(Q)),this.newResponse(null,J??302)};notFound=()=>{return this.#U??=()=>c2(),this.#U(this)}};var BX=X0(()=>{s9();_X()});var Y0="ALL",FX="all",zX,J4="Can not add a route since the matcher is already built.",Q4;var V$=X0(()=>{zX=["get","post","put","delete","options","patch"],Q4=class extends Error{}});var wX="__COMPOSED_HANDLER";var NX=()=>{};var Dz=($)=>{return $.text("404 Not Found",404)},AX=($,J)=>{if("getResponse"in $){let Q=$.getResponse();return J.newResponse(Q.body,Q)}return console.error($),J.text("Internal Server Error",500)},jX=class ${get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#$="/";routes=[];constructor(J={}){[...zX,FX].forEach((W)=>{this[W]=(H,...G)=>{if(typeof H==="string")this.#$=H;else this.#W(W,this.#$,H);return G.forEach((V)=>{this.#W(W,this.#$,V)}),this}}),this.on=(W,H,...G)=>{for(let V of[H].flat()){this.#$=V;for(let U of[W].flat())G.map((q)=>{this.#W(U.toUpperCase(),this.#$,q)})}return this},this.use=(W,...H)=>{if(typeof W==="string")this.#$=W;else this.#$="*",H.unshift(W);return H.forEach((G)=>{this.#W(Y0,this.#$,G)}),this};let{strict:X,...Y}=J;Object.assign(this,Y),this.getPath=X??!0?J.getPath??a9:WX}#J(){let J=new $({router:this.router,getPath:this.getPath});return J.errorHandler=this.errorHandler,J.#Q=this.#Q,J.routes=this.routes,J}#Q=Dz;errorHandler=AX;route(J,Q){let X=this.basePath(J);return Q.routes.map((Y)=>{let W;if(Q.errorHandler===AX)W=Y.handler;else W=async(H,G)=>(await n9([],Q.errorHandler)(H,()=>Y.handler(H,G))).res,W[wX]=Y.handler;X.#W(Y.method,Y.path,W)}),this}basePath(J){let Q=this.#J();return Q._basePath=H$(this._basePath,J),Q}onError=(J)=>{return this.errorHandler=J,this};notFound=(J)=>{return this.#Q=J,this};mount(J,Q,X){let Y,W;if(X)if(typeof X==="function")W=X;else if(W=X.optionHandler,X.replaceRequest===!1)Y=(V)=>V;else Y=X.replaceRequest;let H=W?(V)=>{let U=W(V);return Array.isArray(U)?U:[U]}:(V)=>{let U=void 0;try{U=V.executionCtx}catch{}return[V.env,U]};Y||=(()=>{let V=H$(this._basePath,J),U=V==="/"?0:V.length;return(q)=>{let _=new URL(q.url);return _.pathname=_.pathname.slice(U)||"/",new Request(_,q)}})();let G=async(V,U)=>{let q=await Q(Y(V.req.raw),...H(V));if(q)return q;await U()};return this.#W(Y0,H$(J,"*"),G),this}#W(J,Q,X){J=J.toUpperCase(),Q=H$(this._basePath,Q);let Y={basePath:this._basePath,path:Q,method:J,handler:X};this.router.add(J,Q,[X,Y]),this.routes.push(Y)}#Y(J,Q){if(J instanceof Error)return this.errorHandler(J,Q);throw J}#X(J,Q,X,Y){if(Y==="HEAD")return(async()=>new Response(null,await this.#X(J,Q,X,"GET")))();let W=this.getPath(J,{env:X}),H=this.router.match(Y,W),G=new DX(J,{path:W,matchResult:H,env:X,executionCtx:Q,notFoundHandler:this.#Q});if(H[0].length===1){let U;try{U=H[0][0][0][0](G,async()=>{G.res=await this.#Q(G)})}catch(q){return this.#Y(q,G)}return U instanceof Promise?U.then((q)=>q||(G.finalized?G.res:this.#Q(G))).catch((q)=>this.#Y(q,G)):U??this.#Q(G)}let V=n9(H[0],this.errorHandler,this.#Q);return(async()=>{try{let U=await V(G);if(!U.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return U.res}catch(U){return this.#Y(U,G)}})()}fetch=(J,...Q)=>{return this.#X(J,Q[1],Q[0],J.method)};request=(J,Q,X,Y)=>{if(J instanceof Request)return this.fetch(Q?new Request(J,Q):J,X,Y);return J=J.toString(),this.fetch(new Request(/^https?:\/\//.test(J)?J:`http://localhost${H$("/",J)}`,Q),X,Y)};fire=()=>{addEventListener("fetch",(J)=>{J.respondWith(this.#X(J.request,J,void 0,J.request.method))})}};var EX=X0(()=>{aQ();BX();V$();NX();G$()});function X4($,J){let Q=this.buildAllMatchers(),X=(Y,W)=>{let H=Q[Y]||Q[Y0],G=H[2][W];if(G)return G;let V=W.match(H[0]);if(!V)return[[],d2];let U=V.indexOf("",1);return[H[1][U],V]};return this.match=X,X($,J)}var d2;var $5=X0(()=>{V$();d2=[]});function Fz($,J){if($.length===1)return J.length===1?$<J?-1:1:-1;if(J.length===1)return 1;if($===p2||$===i2)return 1;else if(J===p2||J===i2)return-1;if($===Y4)return 1;else if(J===Y4)return-1;return $.length===J.length?$<J?-1:1:J.length-$.length}var Y4="[^/]+",p2=".*",i2="(?:|/.*)",U$,Bz,LX=class ${#$;#J;#Q=Object.create(null);insert(J,Q,X,Y,W){if(J.length===0){if(this.#$!==void 0)throw U$;if(W)return;this.#$=Q;return}let[H,...G]=J,V=H==="*"?G.length===0?["","",p2]:["","",Y4]:H==="/*"?["","",i2]:H.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),U;if(V){let q=V[1],_=V[2]||Y4;if(q&&V[2]){if(_===".*")throw U$;if(_=_.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(_))throw U$}if(U=this.#Q[_],!U){if(Object.keys(this.#Q).some((F)=>F!==p2&&F!==i2))throw U$;if(W)return;if(U=this.#Q[_]=new $,q!=="")U.#J=Y.varIndex++}if(!W&&q!=="")X.push([q,U.#J])}else if(U=this.#Q[H],!U){if(Object.keys(this.#Q).some((q)=>q.length>1&&q!==p2&&q!==i2))throw U$;if(W)return;U=this.#Q[H]=new $}U.insert(G,Q,X,Y,W)}buildRegExpStr(){let Q=Object.keys(this.#Q).sort(Fz).map((X)=>{let Y=this.#Q[X];return(typeof Y.#J==="number"?`(${X})@${Y.#J}`:Bz.has(X)?`\\${X}`:X)+Y.buildRegExpStr()});if(typeof this.#$==="number")Q.unshift(`#${this.#$}`);if(Q.length===0)return"";if(Q.length===1)return Q[0];return"(?:"+Q.join("|")+")"}};var J5=X0(()=>{U$=Symbol(),Bz=new Set(".\\+*[^]$()")});var OX=class{#$={varIndex:0};#J=new LX;insert($,J,Q){let X=[],Y=[];for(let H=0;;){let G=!1;if($=$.replace(/\{[^}]+\}/g,(V)=>{let U=`@\\${H}`;return Y[H]=[U,V],H++,G=!0,U}),!G)break}let W=$.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let H=Y.length-1;H>=0;H--){let[G]=Y[H];for(let V=W.length-1;V>=0;V--)if(W[V].indexOf(G)!==-1){W[V]=W[V].replace(G,Y[H][1]);break}}return this.#J.insert(W,J,X,this.#$,Q),X}buildRegExp(){let $=this.#J.buildRegExpStr();if($==="")return[/^$/,[],[]];let J=0,Q=[],X=[];return $=$.replace(/#(\d+)|@(\d+)|\.\*\$/g,(Y,W,H)=>{if(W!==void 0)return Q[++J]=Number(W),"$()";if(H!==void 0)return X[Number(H)]=++J,"";return""}),[new RegExp(`^${$}`),Q,X]}};var RX=X0(()=>{J5()});function SX($){return ZX[$]??=new RegExp($==="*"?"":`^${$.replace(/\/\*$|([.\\+*[^\]$()])/g,(J,Q)=>Q?`\\${Q}`:"(?:|/.*)")}$`)}function wz(){ZX=Object.create(null)}function Nz($){let J=new OX,Q=[];if($.length===0)return zz;let X=$.map((U)=>[!/\*|\/:/.test(U[0]),...U]).sort(([U,q],[_,F])=>U?1:_?-1:q.length-F.length),Y=Object.create(null);for(let U=0,q=-1,_=X.length;U<_;U++){let[F,B,D]=X[U];if(F)Y[B]=[D.map(([Z])=>[Z,Object.create(null)]),d2];else q++;let A;try{A=J.insert(B,q,F)}catch(Z){throw Z===U$?new Q4(B):Z}if(F)continue;Q[q]=D.map(([Z,C])=>{let T=Object.create(null);C-=1;for(;C>=0;C--){let[K,y]=A[C];T[K]=y}return[Z,T]})}let[W,H,G]=J.buildRegExp();for(let U=0,q=Q.length;U<q;U++)for(let _=0,F=Q[U].length;_<F;_++){let B=Q[U][_]?.[1];if(!B)continue;let D=Object.keys(B);for(let A=0,Z=D.length;A<Z;A++)B[D[A]]=G[B[D[A]]]}let V=[];for(let U in H)V[U]=Q[H[U]];return[W,V,Y]}function o$($,J){if(!$)return;for(let Q of Object.keys($).sort((X,Y)=>Y.length-X.length))if(SX(Q).test(J))return[...$[Q]];return}var zz,ZX,W4=class{name="RegExpRouter";#$;#J;constructor(){this.#$={[Y0]:Object.create(null)},this.#J={[Y0]:Object.create(null)}}add($,J,Q){let X=this.#$,Y=this.#J;if(!X||!Y)throw Error(J4);if(!X[$])[X,Y].forEach((G)=>{G[$]=Object.create(null),Object.keys(G[Y0]).forEach((V)=>{G[$][V]=[...G[Y0][V]]})});if(J==="/*")J="*";let W=(J.match(/\/:/g)||[]).length;if(/\*$/.test(J)){let G=SX(J);if($===Y0)Object.keys(X).forEach((V)=>{X[V][J]||=o$(X[V],J)||o$(X[Y0],J)||[]});else X[$][J]||=o$(X[$],J)||o$(X[Y0],J)||[];Object.keys(X).forEach((V)=>{if($===Y0||$===V)Object.keys(X[V]).forEach((U)=>{G.test(U)&&X[V][U].push([Q,W])})}),Object.keys(Y).forEach((V)=>{if($===Y0||$===V)Object.keys(Y[V]).forEach((U)=>G.test(U)&&Y[V][U].push([Q,W]))});return}let H=$4(J)||[J];for(let G=0,V=H.length;G<V;G++){let U=H[G];Object.keys(Y).forEach((q)=>{if($===Y0||$===q)Y[q][U]||=[...o$(X[q],U)||o$(X[Y0],U)||[]],Y[q][U].push([Q,W-V+G+1])})}}match=X4;buildAllMatchers(){let $=Object.create(null);return Object.keys(this.#J).concat(Object.keys(this.#$)).forEach((J)=>{$[J]||=this.#Q(J)}),this.#$=this.#J=void 0,wz(),$}#Q($){let J=[],Q=$===Y0;if([this.#$,this.#J].forEach((X)=>{let Y=X[$]?Object.keys(X[$]).map((W)=>[W,X[$][W]]):[];if(Y.length!==0)Q||=!0,J.push(...Y);else if($!==Y0)J.push(...Object.keys(X[Y0]).map((W)=>[W,X[Y0][W]]))}),!Q)return null;else return Nz(J)}};var Q5=X0(()=>{V$();G$();$5();J5();RX();zz=[/^$/,[],Object.create(null)],ZX=Object.create(null)});var Az=class{name="PreparedRegExpRouter";#$;#J;constructor($,J){this.#$=$,this.#J=J}#Q($,J){let Q=this.#$[$];Q[1].forEach((X)=>X&&X.push(J)),Object.values(Q[2]).forEach((X)=>X[0].push(J))}#W($,J,Q,X,Y){let W=this.#$[$];if(!Y)W[2][J][0].push([Q,{}]);else X.forEach((H)=>{if(typeof H==="number")W[1][H].push([Q,Y]);else W[2][H||J][0].push([Q,Y])})}add($,J,Q){if(!this.#$[$]){let Y=this.#$[Y0],W={};for(let H in Y[2])W[H]=[Y[2][H][0].slice(),d2];this.#$[$]=[Y[0],Y[1].map((H)=>Array.isArray(H)?H.slice():0),W]}if(J==="/*"||J==="*"){let Y=[Q,{}];if($===Y0)for(let W in this.#$)this.#Q(W,Y);else this.#Q($,Y);return}let X=this.#J[J];if(!X)throw Error(`Path ${J} is not registered`);for(let[Y,W]of X)if($===Y0)for(let H in this.#$)this.#W(H,J,Q,Y,W);else this.#W($,J,Q,Y,W)}buildAllMatchers(){return this.#$}match=X4};var CX=X0(()=>{V$();$5();Q5()});var MX=X0(()=>{Q5();CX()});var X5=class{name="SmartRouter";#$=[];#J=[];constructor($){this.#$=$.routers}add($,J,Q){if(!this.#J)throw Error(J4);this.#J.push([$,J,Q])}match($,J){if(!this.#J)throw Error("Fatal error");let Q=this.#$,X=this.#J,Y=Q.length,W=0,H;for(;W<Y;W++){let G=Q[W];try{for(let V=0,U=X.length;V<U;V++)G.add(...X[V]);H=G.match($,J)}catch(V){if(V instanceof Q4)continue;throw V}this.match=G.match.bind(G),this.#$=[G],this.#J=void 0;break}if(W===Y)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,H}get activeRouter(){if(this.#J||this.#$.length!==1)throw Error("No active router has been determined yet.");return this.#$[0]}};var PX=X0(()=>{V$()});var KX=X0(()=>{PX()});var n2,jz=($)=>{for(let J in $)return!0;return!1},IX=class ${#$;#J;#Q;#W=0;#Y=n2;constructor(J,Q,X){if(this.#J=X||Object.create(null),this.#$=[],J&&Q){let Y=Object.create(null);Y[J]={handler:Q,possibleKeys:[],score:0},this.#$=[Y]}this.#Q=[]}insert(J,Q,X){this.#W=++this.#W;let Y=this,W=XX(Q),H=[];for(let G=0,V=W.length;G<V;G++){let U=W[G],q=W[G+1],_=YX(U,q),F=Array.isArray(_)?_[0]:U;if(F in Y.#J){if(Y=Y.#J[F],_)H.push(_[1]);continue}if(Y.#J[F]=new $,_)Y.#Q.push(_),H.push(_[1]);Y=Y.#J[F]}return Y.#$.push({[J]:{handler:X,possibleKeys:H.filter((G,V,U)=>U.indexOf(G)===V),score:this.#W}}),Y}#X(J,Q,X,Y,W){for(let H=0,G=Q.#$.length;H<G;H++){let V=Q.#$[H],U=V[X]||V[Y0],q={};if(U!==void 0){if(U.params=Object.create(null),J.push(U),Y!==n2||W&&W!==n2)for(let _=0,F=U.possibleKeys.length;_<F;_++){let B=U.possibleKeys[_],D=q[U.score];U.params[B]=W?.[B]&&!D?W[B]:Y[B]??W?.[B],q[U.score]=!0}}}}search(J,Q){let X=[];this.#Y=n2;let W=[this],H=r9(Q),G=[],V=H.length,U=null;for(let q=0;q<V;q++){let _=H[q],F=q===V-1,B=[];for(let A=0,Z=W.length;A<Z;A++){let C=W[A],T=C.#J[_];if(T)if(T.#Y=C.#Y,F){if(T.#J["*"])this.#X(X,T.#J["*"],J,C.#Y);this.#X(X,T,J,C.#Y)}else B.push(T);for(let K=0,y=C.#Q.length;K<y;K++){let s=C.#Q[K],d=C.#Y===n2?{}:{...C.#Y};if(s==="*"){let q0=C.#J["*"];if(q0)this.#X(X,q0,J,C.#Y),q0.#Y=d,B.push(q0);continue}let[$0,Q0,p]=s;if(!_&&!(p instanceof RegExp))continue;let J0=C.#J[$0];if(p instanceof RegExp){if(U===null){U=Array(V);let N0=Q[0]==="/"?1:0;for(let D0=0;D0<V;D0++)U[D0]=N0,N0+=H[D0].length+1}let q0=Q.substring(U[q]),V0=p.exec(q0);if(V0){if(d[Q0]=V0[0],this.#X(X,J0,J,C.#Y,d),jz(J0.#J)){J0.#Y=d;let N0=V0[0].match(/\//)?.length??0;(G[N0]||=[]).push(J0)}continue}}if(p===!0||p.test(_))if(d[Q0]=_,F){if(this.#X(X,J0,J,d,C.#Y),J0.#J["*"])this.#X(X,J0.#J["*"],J,d,C.#Y)}else J0.#Y=d,B.push(J0)}}let D=G.shift();W=D?B.concat(D):B}if(X.length>1)X.sort((q,_)=>{return q.score-_.score});return[X.map(({handler:q,params:_})=>[q,_])]}};var TX=X0(()=>{V$();G$();n2=Object.create(null)});var Y5=class{name="TrieRouter";#$;constructor(){this.#$=new IX}add($,J,Q){let X=$4(J);if(X){for(let Y=0,W=X.length;Y<W;Y++)this.#$.insert($,X[Y],Q);return}this.#$.insert($,J,Q)}match($,J){return this.#$.search($,J)}};var bX=X0(()=>{G$();TX()});var fX=X0(()=>{bX()});var W5;var kX=X0(()=>{EX();MX();KX();fX();W5=class extends jX{constructor($={}){super($);this.router=$.router??new X5({routers:[new W4,new Y5]})}}});var xX=X0(()=>{kX()});var gX={};Z0(gX,{TokenRevokedException:()=>V5,TokenExpiredException:()=>o2,InvalidTokenException:()=>q$,AuthorizationException:()=>E0,AuthenticationException:()=>R0});var R0,E0,o2,q$,V5;var h1=X0(()=>{n$();i$();R0=class R0 extends j0{constructor($="Authentication required"){super(401,$,void 0,{title:"Authentication Error",problemType:B1("authentication-error")});this.name="AuthenticationException"}};E0=class E0 extends j0{constructor($="Insufficient permissions"){super(403,$,void 0,{title:"Authorization Error",problemType:B1("authorization-error")});this.name="AuthorizationException"}};o2=class o2 extends R0{constructor($="Token has expired"){super($);this.name="TokenExpiredException"}};q$=class q$ extends R0{constructor($="Invalid token"){super($);this.name="InvalidTokenException"}};V5=class V5 extends R0{constructor($="Token has been revoked"){super($);this.name="TokenRevokedException"}}});var a$=L((D5,JY)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var A4=require("buffer"),F1=A4.Buffer;function $Y($,J){for(var Q in $)J[Q]=$[Q]}if(F1.from&&F1.alloc&&F1.allocUnsafe&&F1.allocUnsafeSlow)JY.exports=A4;else $Y(A4,D5),D5.Buffer=D$;function D$($,J,Q){return F1($,J,Q)}D$.prototype=Object.create(F1.prototype);$Y(F1,D$);D$.from=function($,J,Q){if(typeof $==="number")throw TypeError("Argument must not be a number");return F1($,J,Q)};D$.alloc=function($,J,Q){if(typeof $!=="number")throw TypeError("Argument must be a number");var X=F1($);if(J!==void 0)if(typeof Q==="string")X.fill(J,Q);else X.fill(J);else X.fill(0);return X};D$.allocUnsafe=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return F1($)};D$.allocUnsafeSlow=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return A4.SlowBuffer($)}});var B5=L((jI,QY)=>{var j4=a$().Buffer,pz=require("stream"),iz=require("util");function E4($){if(this.buffer=null,this.writable=!0,this.readable=!0,!$)return this.buffer=j4.alloc(0),this;if(typeof $.pipe==="function")return this.buffer=j4.alloc(0),$.pipe(this),this;if($.length||typeof $==="object")return this.buffer=$,this.writable=!1,process.nextTick(function(){this.emit("end",$),this.readable=!1,this.emit("close")}.bind(this)),this;throw TypeError("Unexpected data type ("+typeof $+")")}iz.inherits(E4,pz);E4.prototype.write=function(J){this.buffer=j4.concat([this.buffer,j4.from(J)]),this.emit("data",J)};E4.prototype.end=function(J){if(J)this.write(J);this.emit("end",J),this.emit("close"),this.writable=!1,this.readable=!1};QY.exports=E4});var YY=L((EI,XY)=>{function F5($){var J=($/8|0)+($%8===0?0:1);return J}var nz={ES256:F5(256),ES384:F5(384),ES512:F5(521)};function sz($){var J=nz[$];if(J)return J;throw Error('Unknown algorithm "'+$+'"')}XY.exports=sz});var _Y=L((LI,qY)=>{var L4=a$().Buffer,HY=YY(),O4=128,GY=0,oz=32,rz=16,az=2,VY=rz|oz|GY<<6,R4=az|GY<<6;function tz($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function UY($){if(L4.isBuffer($))return $;else if(typeof $==="string")return L4.from($,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function ez($,J){$=UY($);var Q=HY(J),X=Q+1,Y=$.length,W=0;if($[W++]!==VY)throw Error('Could not find expected "seq"');var H=$[W++];if(H===(O4|1))H=$[W++];if(Y-W<H)throw Error('"seq" specified length of "'+H+'", only "'+(Y-W)+'" remaining');if($[W++]!==R4)throw Error('Could not find expected "int" for "r"');var G=$[W++];if(Y-W-2<G)throw Error('"r" specified length of "'+G+'", only "'+(Y-W-2)+'" available');if(X<G)throw Error('"r" specified length of "'+G+'", max of "'+X+'" is acceptable');var V=W;if(W+=G,$[W++]!==R4)throw Error('Could not find expected "int" for "s"');var U=$[W++];if(Y-W!==U)throw Error('"s" specified length of "'+U+'", expected "'+(Y-W)+'"');if(X<U)throw Error('"s" specified length of "'+U+'", max of "'+X+'" is acceptable');var q=W;if(W+=U,W!==Y)throw Error('Expected to consume entire buffer, but "'+(Y-W)+'" bytes remain');var _=Q-G,F=Q-U,B=L4.allocUnsafe(_+G+F+U);for(W=0;W<_;++W)B[W]=0;$.copy(B,W,V+Math.max(-_,0),V+G),W=Q;for(var D=W;W<D+F;++W)B[W]=0;return $.copy(B,W,q+Math.max(-F,0),q+U),B=B.toString("base64"),B=tz(B),B}function WY($,J,Q){var X=0;while(J+X<Q&&$[J+X]===0)++X;var Y=$[J+X]>=O4;if(Y)--X;return X}function $w($,J){$=UY($);var Q=HY(J),X=$.length;if(X!==Q*2)throw TypeError('"'+J+'" signatures must be "'+Q*2+'" bytes, saw "'+X+'"');var Y=WY($,0,Q),W=WY($,Q,$.length),H=Q-Y,G=Q-W,V=2+H+1+1+G,U=V<O4,q=L4.allocUnsafe((U?2:3)+V),_=0;if(q[_++]=VY,U)q[_++]=V;else q[_++]=O4|1,q[_++]=V&255;if(q[_++]=R4,q[_++]=H,Y<0)q[_++]=0,_+=$.copy(q,_,0,Q);else _+=$.copy(q,_,Y,Q);if(q[_++]=R4,q[_++]=G,W<0)q[_++]=0,$.copy(q,_,Q);else $.copy(q,_,Q+W);return q}qY.exports={derToJose:ez,joseToDer:$w}});var BY=L((OI,DY)=>{var e2=require("buffer").Buffer,z5=require("buffer").SlowBuffer;DY.exports=Z4;function Z4($,J){if(!e2.isBuffer($)||!e2.isBuffer(J))return!1;if($.length!==J.length)return!1;var Q=0;for(var X=0;X<$.length;X++)Q|=$[X]^J[X];return Q===0}Z4.install=function(){e2.prototype.equal=z5.prototype.equal=function(J){return Z4(this,J)}};var Jw=e2.prototype.equal,Qw=z5.prototype.equal;Z4.restore=function(){e2.prototype.equal=Jw,z5.prototype.equal=Qw}});var j5=L((RI,OY)=>{var e$=a$().Buffer,h0=require("crypto"),zY=_Y(),FY=require("util"),Xw=`"%s" is not a valid algorithm.
37
+ ***************************************************************************** */var RQ;(function($){(function(J){var Q=typeof globalThis==="object"?globalThis:typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:G(),X=Y($);if(typeof Q.Reflect<"u")X=Y(Q.Reflect,X);if(J(X,Q),typeof Q.Reflect>"u")Q.Reflect=$;function Y(V,U){return function(q,_){if(Object.defineProperty(V,q,{configurable:!0,writable:!0,value:_}),U)U(q,_)}}function W(){try{return Function("return this;")()}catch(V){}}function H(){try{return(0,eval)("(function() { return this; })()")}catch(V){}}function G(){return W()||H()}})(function(J,Q){var X=Object.prototype.hasOwnProperty,Y=typeof Symbol==="function",W=Y&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",H=Y&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",G=typeof Object.create==="function",V={__proto__:[]}instanceof Array,U=!G&&!V,q={create:G?function(){return G8(Object.create(null))}:V?function(){return G8({__proto__:null})}:function(){return G8({})},has:U?function(z,N){return X.call(z,N)}:function(z,N){return N in z},get:U?function(z,N){return X.call(z,N)?z[N]:void 0}:function(z,N){return z[N]}},_=Object.getPrototypeOf(Function),F=typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:fV(),B=typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:kV(),D=typeof WeakMap==="function"?WeakMap:xV(),A=Y?Symbol.for("@reflect-metadata:registry"):void 0,Z=IV(),C=TV(Z);function T(z,N,j,P){if(!c(j)){if(!B7(z))throw TypeError();if(!B0(N))throw TypeError();if(!B0(P)&&!c(P)&&!L$(P))throw TypeError();if(L$(P))P=void 0;return j=W1(j),w0(z,N,j,P)}else{if(!B7(z))throw TypeError();if(!F7(N))throw TypeError();return V0(z,N)}}J("decorate",T);function K(z,N){function j(P,u){if(!B0(P))throw TypeError();if(!c(u)&&!PV(u))throw TypeError();w6(z,N,P,u)}return j}J("metadata",K);function y(z,N,j,P){if(!B0(j))throw TypeError();if(!c(P))P=W1(P);return w6(z,N,j,P)}J("defineMetadata",y);function s(z,N,j){if(!B0(N))throw TypeError();if(!c(j))j=W1(j);return D0(z,N,j)}J("hasMetadata",s);function d(z,N,j){if(!B0(N))throw TypeError();if(!c(j))j=W1(j);return d0(z,N,j)}J("hasOwnMetadata",d);function $0(z,N,j){if(!B0(N))throw TypeError();if(!c(j))j=W1(j);return E$(z,N,j)}J("getMetadata",$0);function Q0(z,N,j){if(!B0(N))throw TypeError();if(!c(j))j=W1(j);return q2(z,N,j)}J("getOwnMetadata",Q0);function p(z,N){if(!B0(z))throw TypeError();if(!c(N))N=W1(N);return _2(z,N)}J("getMetadataKeys",p);function J0(z,N){if(!B0(z))throw TypeError();if(!c(N))N=W1(N);return A6(z,N)}J("getOwnMetadataKeys",J0);function q0(z,N,j){if(!B0(N))throw TypeError();if(!c(j))j=W1(j);if(!B0(N))throw TypeError();if(!c(j))j=W1(j);var P=D2(N,j,!1);if(c(P))return!1;return P.OrdinaryDeleteMetadata(z,N,j)}J("deleteMetadata",q0);function V0(z,N){for(var j=z.length-1;j>=0;--j){var P=z[j],u=P(N);if(!c(u)&&!L$(u)){if(!F7(u))throw TypeError();N=u}}return N}function w0(z,N,j,P){for(var u=z.length-1;u>=0;--u){var F0=z[u],A0=F0(N,j,P);if(!c(A0)&&!L$(A0)){if(!B0(A0))throw TypeError();P=A0}}return P}function D0(z,N,j){var P=d0(z,N,j);if(P)return!0;var u=H8(N);if(!L$(u))return D0(z,u,j);return!1}function d0(z,N,j){var P=D2(N,j,!1);if(c(P))return!1;return D7(P.OrdinaryHasOwnMetadata(z,N,j))}function E$(z,N,j){var P=d0(z,N,j);if(P)return q2(z,N,j);var u=H8(N);if(!L$(u))return E$(z,u,j);return}function q2(z,N,j){var P=D2(N,j,!1);if(c(P))return;return P.OrdinaryGetOwnMetadata(z,N,j)}function w6(z,N,j,P){var u=D2(j,P,!0);u.OrdinaryDefineOwnMetadata(z,N,j,P)}function _2(z,N){var j=A6(z,N),P=H8(z);if(P===null)return j;var u=_2(P,N);if(u.length<=0)return j;if(j.length<=0)return u;var F0=new B,A0=[];for(var r=0,b=j;r<b.length;r++){var x=b[r],v=F0.has(x);if(!v)F0.add(x),A0.push(x)}for(var g=0,t=u;g<t.length;g++){var x=t[g],v=F0.has(x);if(!v)F0.add(x),A0.push(x)}return A0}function A6(z,N){var j=D2(z,N,!1);if(!j)return[];return j.OrdinaryOwnMetadataKeys(z,N)}function _7(z){if(z===null)return 1;switch(typeof z){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return z===null?1:6;default:return 6}}function c(z){return z===void 0}function L$(z){return z===null}function ZV(z){return typeof z==="symbol"}function B0(z){return typeof z==="object"?z!==null:typeof z==="function"}function SV(z,N){switch(_7(z)){case 0:return z;case 1:return z;case 2:return z;case 3:return z;case 4:return z;case 5:return z}var j=N===3?"string":N===5?"number":"default",P=z7(z,W);if(P!==void 0){var u=P.call(z,j);if(B0(u))throw TypeError();return u}return CV(z,j==="default"?"number":j)}function CV(z,N){if(N==="string"){var j=z.toString;if(O$(j)){var P=j.call(z);if(!B0(P))return P}var u=z.valueOf;if(O$(u)){var P=u.call(z);if(!B0(P))return P}}else{var u=z.valueOf;if(O$(u)){var P=u.call(z);if(!B0(P))return P}var F0=z.toString;if(O$(F0)){var P=F0.call(z);if(!B0(P))return P}}throw TypeError()}function D7(z){return!!z}function MV(z){return""+z}function W1(z){var N=SV(z,3);if(ZV(N))return N;return MV(N)}function B7(z){return Array.isArray?Array.isArray(z):z instanceof Object?z instanceof Array:Object.prototype.toString.call(z)==="[object Array]"}function O$(z){return typeof z==="function"}function F7(z){return typeof z==="function"}function PV(z){switch(_7(z)){case 3:return!0;case 4:return!0;default:return!1}}function W8(z,N){return z===N||z!==z&&N!==N}function z7(z,N){var j=z[N];if(j===void 0||j===null)return;if(!O$(j))throw TypeError();return j}function N7(z){var N=z7(z,H);if(!O$(N))throw TypeError();var j=N.call(z);if(!B0(j))throw TypeError();return j}function w7(z){return z.value}function A7(z){var N=z.next();return N.done?!1:N}function j7(z){var N=z.return;if(N)N.call(z)}function H8(z){var N=Object.getPrototypeOf(z);if(typeof z!=="function"||z===_)return N;if(N!==_)return N;var j=z.prototype,P=j&&Object.getPrototypeOf(j);if(P==null||P===Object.prototype)return N;var u=P.constructor;if(typeof u!=="function")return N;if(u===z)return N;return u}function KV(){var z;if(!c(A)&&typeof Q.Reflect<"u"&&!(A in Q.Reflect)&&typeof Q.Reflect.defineMetadata==="function")z=bV(Q.Reflect);var N,j,P,u=new D,F0={registerProvider:A0,getProvider:b,setProvider:v};return F0;function A0(g){if(!Object.isExtensible(F0))throw Error("Cannot add provider to a frozen registry.");switch(!0){case z===g:break;case c(N):N=g;break;case N===g:break;case c(j):j=g;break;case j===g:break;default:if(P===void 0)P=new B;P.add(g);break}}function r(g,t){if(!c(N)){if(N.isProviderFor(g,t))return N;if(!c(j)){if(j.isProviderFor(g,t))return N;if(!c(P)){var H0=N7(P);while(!0){var z0=A7(H0);if(!z0)return;var p0=w7(z0);if(p0.isProviderFor(g,t))return j7(H0),p0}}}}if(!c(z)&&z.isProviderFor(g,t))return z;return}function b(g,t){var H0=u.get(g),z0;if(!c(H0))z0=H0.get(t);if(!c(z0))return z0;if(z0=r(g,t),!c(z0)){if(c(H0))H0=new F,u.set(g,H0);H0.set(t,z0)}return z0}function x(g){if(c(g))throw TypeError();return N===g||j===g||!c(P)&&P.has(g)}function v(g,t,H0){if(!x(H0))throw Error("Metadata provider not registered.");var z0=b(g,t);if(z0!==H0){if(!c(z0))return!1;var p0=u.get(g);if(c(p0))p0=new F,u.set(g,p0);p0.set(t,H0)}return!0}}function IV(){var z;if(!c(A)&&B0(Q.Reflect)&&Object.isExtensible(Q.Reflect))z=Q.Reflect[A];if(c(z))z=KV();if(!c(A)&&B0(Q.Reflect)&&Object.isExtensible(Q.Reflect))Object.defineProperty(Q.Reflect,A,{enumerable:!1,configurable:!1,writable:!1,value:z});return z}function TV(z){var N=new D,j={isProviderFor:function(x,v){var g=N.get(x);if(c(g))return!1;return g.has(v)},OrdinaryDefineOwnMetadata:A0,OrdinaryHasOwnMetadata:u,OrdinaryGetOwnMetadata:F0,OrdinaryOwnMetadataKeys:r,OrdinaryDeleteMetadata:b};return Z.registerProvider(j),j;function P(x,v,g){var t=N.get(x),H0=!1;if(c(t)){if(!g)return;t=new F,N.set(x,t),H0=!0}var z0=t.get(v);if(c(z0)){if(!g)return;if(z0=new F,t.set(v,z0),!z.setProvider(x,v,j)){if(t.delete(v),H0)N.delete(x);throw Error("Wrong provider for target.")}}return z0}function u(x,v,g){var t=P(v,g,!1);if(c(t))return!1;return D7(t.has(x))}function F0(x,v,g){var t=P(v,g,!1);if(c(t))return;return t.get(x)}function A0(x,v,g,t){var H0=P(g,t,!0);H0.set(x,v)}function r(x,v){var g=[],t=P(x,v,!1);if(c(t))return g;var H0=t.keys(),z0=N7(H0),p0=0;while(!0){var E7=A7(z0);if(!E7)return g.length=p0,g;var vV=w7(E7);try{g[p0]=vV}catch(hV){try{j7(z0)}finally{throw hV}}p0++}}function b(x,v,g){var t=P(v,g,!1);if(c(t))return!1;if(!t.delete(x))return!1;if(t.size===0){var H0=N.get(v);if(!c(H0)){if(H0.delete(g),H0.size===0)N.delete(H0)}}return!0}}function bV(z){var{defineMetadata:N,hasOwnMetadata:j,getOwnMetadata:P,getOwnMetadataKeys:u,deleteMetadata:F0}=z,A0=new D,r={isProviderFor:function(b,x){var v=A0.get(b);if(!c(v)&&v.has(x))return!0;if(u(b,x).length){if(c(v))v=new B,A0.set(b,v);return v.add(x),!0}return!1},OrdinaryDefineOwnMetadata:N,OrdinaryHasOwnMetadata:j,OrdinaryGetOwnMetadata:P,OrdinaryOwnMetadataKeys:u,OrdinaryDeleteMetadata:F0};return r}function D2(z,N,j){var P=Z.getProvider(z,N);if(!c(P))return P;if(j){if(Z.setProvider(z,N,C))return C;throw Error("Illegal state.")}return}function fV(){var z={},N=[],j=function(){function r(b,x,v){this._index=0,this._keys=b,this._values=x,this._selector=v}return r.prototype["@@iterator"]=function(){return this},r.prototype[H]=function(){return this},r.prototype.next=function(){var b=this._index;if(b>=0&&b<this._keys.length){var x=this._selector(this._keys[b],this._values[b]);if(b+1>=this._keys.length)this._index=-1,this._keys=N,this._values=N;else this._index++;return{value:x,done:!1}}return{value:void 0,done:!0}},r.prototype.throw=function(b){if(this._index>=0)this._index=-1,this._keys=N,this._values=N;throw b},r.prototype.return=function(b){if(this._index>=0)this._index=-1,this._keys=N,this._values=N;return{value:b,done:!0}},r}(),P=function(){function r(){this._keys=[],this._values=[],this._cacheKey=z,this._cacheIndex=-2}return Object.defineProperty(r.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),r.prototype.has=function(b){return this._find(b,!1)>=0},r.prototype.get=function(b){var x=this._find(b,!1);return x>=0?this._values[x]:void 0},r.prototype.set=function(b,x){var v=this._find(b,!0);return this._values[v]=x,this},r.prototype.delete=function(b){var x=this._find(b,!1);if(x>=0){var v=this._keys.length;for(var g=x+1;g<v;g++)this._keys[g-1]=this._keys[g],this._values[g-1]=this._values[g];if(this._keys.length--,this._values.length--,W8(b,this._cacheKey))this._cacheKey=z,this._cacheIndex=-2;return!0}return!1},r.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=z,this._cacheIndex=-2},r.prototype.keys=function(){return new j(this._keys,this._values,u)},r.prototype.values=function(){return new j(this._keys,this._values,F0)},r.prototype.entries=function(){return new j(this._keys,this._values,A0)},r.prototype["@@iterator"]=function(){return this.entries()},r.prototype[H]=function(){return this.entries()},r.prototype._find=function(b,x){if(!W8(this._cacheKey,b)){this._cacheIndex=-1;for(var v=0;v<this._keys.length;v++)if(W8(this._keys[v],b)){this._cacheIndex=v;break}}if(this._cacheIndex<0&&x)this._cacheIndex=this._keys.length,this._keys.push(b),this._values.push(void 0);return this._cacheIndex},r}();return P;function u(r,b){return r}function F0(r,b){return b}function A0(r,b){return[r,b]}}function kV(){var z=function(){function N(){this._map=new F}return Object.defineProperty(N.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),N.prototype.has=function(j){return this._map.has(j)},N.prototype.add=function(j){return this._map.set(j,j),this},N.prototype.delete=function(j){return this._map.delete(j)},N.prototype.clear=function(){this._map.clear()},N.prototype.keys=function(){return this._map.keys()},N.prototype.values=function(){return this._map.keys()},N.prototype.entries=function(){return this._map.entries()},N.prototype["@@iterator"]=function(){return this.keys()},N.prototype[H]=function(){return this.keys()},N}();return z}function xV(){var z=16,N=q.create(),j=P();return function(){function b(){this._key=P()}return b.prototype.has=function(x){var v=u(x,!1);return v!==void 0?q.has(v,this._key):!1},b.prototype.get=function(x){var v=u(x,!1);return v!==void 0?q.get(v,this._key):void 0},b.prototype.set=function(x,v){var g=u(x,!0);return g[this._key]=v,this},b.prototype.delete=function(x){var v=u(x,!1);return v!==void 0?delete v[this._key]:!1},b.prototype.clear=function(){this._key=P()},b}();function P(){var b;do b="@@WeakMap@@"+r();while(q.has(N,b));return N[b]=!0,b}function u(b,x){if(!X.call(b,j)){if(!x)return;Object.defineProperty(b,j,{value:q.create()})}return b[j]}function F0(b,x){for(var v=0;v<x;++v)b[v]=Math.random()*255|0;return b}function A0(b){if(typeof Uint8Array==="function"){var x=new Uint8Array(b);if(typeof crypto<"u")crypto.getRandomValues(x);else if(typeof msCrypto<"u")msCrypto.getRandomValues(x);else F0(x,b);return x}return F0(Array(b),b)}function r(){var b=A0(z);b[6]=b[6]&79|64,b[8]=b[8]&191|128;var x="";for(var v=0;v<z;++v){var g=b[v];if(v===4||v===6||v===8)x+="-";if(g<16)x+="0";x+=g.toString(16).toLowerCase()}return x}}function G8(z){return z.__=void 0,delete z.__,z}})})(RQ||(RQ={}))});function B1($){return`https://veloce-ts.com/problems/${$}`}function d$($,J){if(J)return J;let Q=oF[$]??"unknown-error";return B1(Q)}function S1($,J,Q){if(Q)return Q;return rF[$]??J}function M9($){try{return new URL($.req.url).href}catch{return $.req.path}}function P9($){let J=$.statusCode??$.status,X={error:(typeof $.error==="string"?$.error:null)??(typeof $.detail==="string"?$.detail:"Error"),statusCode:J};if($.details!==void 0)X.details=$.details;else if($.violations!==void 0)X.details=$.violations;return X}function p$($,J,Q,X){let Y=M9($),W={...J,instance:Y};if(X==="legacy")return $.json(P9(W),Q);return new Response(JSON.stringify(W),{status:Q,headers:{"Content-Type":"application/problem+json"}})}var hQ="application/problem+json",gQ="https://veloce-ts.com/problems",oF,rF;var i$=X0(()=>{oF={400:"bad-request",401:"unauthorized",403:"forbidden",404:"not-found",409:"conflict",410:"gone",413:"payload-too-large",422:"unprocessable-entity",429:"too-many-requests",500:"internal-server-error",503:"service-unavailable"},rF={400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",409:"Conflict",410:"Gone",413:"Payload Too Large",422:"Unprocessable Entity",429:"Too Many Requests",500:"Internal Server Error",503:"Service Unavailable"}});var j0,yQ,uQ,mQ,r6,lQ,cQ,dQ,pQ,iQ,nQ;var n$=X0(()=>{i$();j0=class j0 extends Error{statusCode;details;problemType;title;constructor($,J,Q,X){super(J);this.statusCode=$;this.details=Q;if(this.name="HTTPException",this.problemType=X?.problemType,this.title=X?.title,Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)}toJSON(){let $=this.statusCode,J=d$($,this.problemType),Q=S1($,this.message,this.title);return{type:J,title:Q,status:$,detail:this.message,...this.details!==void 0?{details:this.details}:{},error:this.message,statusCode:$}}};yQ=class yQ extends j0{constructor($="Not Found",J){super(404,$,J,{title:"Not Found"});this.name="NotFoundException"}};uQ=class uQ extends j0{constructor($="Unauthorized",J){super(401,$,J,{title:"Unauthorized"});this.name="UnauthorizedException"}};mQ=class mQ extends j0{constructor($="Forbidden",J){super(403,$,J,{title:"Forbidden"});this.name="ForbiddenException"}};r6=class r6 extends j0{constructor($="Bad Request",J){super(400,$,J,{title:"Bad Request"});this.name="BadRequestException"}};lQ=class lQ extends j0{constructor($="Conflict",J){super(409,$,J,{title:"Conflict"});this.name="ConflictException"}};cQ=class cQ extends j0{constructor($="Gone",J){super(410,$,J,{title:"Gone"});this.name="GoneException"}};dQ=class dQ extends j0{constructor($="Payload Too Large",J){super(413,$,J,{title:"Payload Too Large"});this.name="PayloadTooLargeException"}};pQ=class pQ extends j0{constructor($="Unprocessable Entity",J){super(422,$,J,{title:"Unprocessable Entity"});this.name="UnprocessableEntityException"}};iQ=class iQ extends j0{constructor($="Too Many Requests",J){super(429,$,J,{title:"Too Many Requests"});this.name="TooManyRequestsException"}};nQ=class nQ extends j0{constructor($="Service Unavailable",J){super(503,$,J,{title:"Service Unavailable"});this.name="ServiceUnavailableException"}}});var n9=($,J,Q)=>{return(X,Y)=>{let W=-1;return H(0);async function H(G){if(G<=W)throw Error("next() called multiple times");W=G;let V,U=!1,q;if($[G])q=$[G][0][0],X.req.routeIndex=G;else q=G===$.length&&Y||void 0;if(q)try{V=await q(X,()=>H(G+1))}catch(_){if(_ instanceof Error&&J)X.error=_,V=await J(_,X),U=!0;else throw _}else if(X.finalized===!1&&Q)V=await Q(X);if(V&&(X.finalized===!1||U))X.res=V;return X}}};var aQ=()=>{};var tQ=()=>{};var eQ;var $X=X0(()=>{eQ=Symbol()});async function Xz($,J){let Q=await $.formData();if(Q)return Yz(Q,J);return{}}function Yz($,J){let Q=Object.create(null);if($.forEach((X,Y)=>{if(!(J.all||Y.endsWith("[]")))Q[Y]=X;else Wz(Q,Y,X)}),J.dot)Object.entries(Q).forEach(([X,Y])=>{if(X.includes("."))Hz(Q,X,Y),delete Q[X]});return Q}var JX=async($,J=Object.create(null))=>{let{all:Q=!1,dot:X=!1}=J,W=($ instanceof t6?$.raw.headers:$.headers).get("Content-Type");if(W?.startsWith("multipart/form-data")||W?.startsWith("application/x-www-form-urlencoded"))return Xz($,{all:Q,dot:X});return{}},Wz=($,J,Q)=>{if($[J]!==void 0)if(Array.isArray($[J]))$[J].push(Q);else $[J]=[$[J],Q];else if(!J.endsWith("[]"))$[J]=Q;else $[J]=[Q]},Hz=($,J,Q)=>{if(/(?:^|\.)__proto__\./.test(J))return;let X=$,Y=J.split(".");Y.forEach((W,H)=>{if(H===Y.length-1)X[W]=Q;else{if(!X[W]||typeof X[W]!=="object"||Array.isArray(X[W])||X[W]instanceof File)X[W]=Object.create(null);X=X[W]}})};var QX=X0(()=>{s9()});var r9=($)=>{let J=$.split("/");if(J[0]==="")J.shift();return J},XX=($)=>{let{groups:J,path:Q}=Gz($),X=r9(Q);return Vz(X,J)},Gz=($)=>{let J=[];return $=$.replace(/\{[^}]+\}/g,(Q,X)=>{let Y=`@${X}`;return J.push([Y,Q]),Y}),{groups:J,path:$}},Vz=($,J)=>{for(let Q=J.length-1;Q>=0;Q--){let[X]=J[Q];for(let Y=$.length-1;Y>=0;Y--)if($[Y].includes(X)){$[Y]=$[Y].replace(X,J[Q][1]);break}}return $},e6,YX=($,J)=>{if($==="*")return"*";let Q=$.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(Q){let X=`${$}#${J}`;if(!e6[X])if(Q[2])e6[X]=J&&J[0]!==":"&&J[0]!=="*"?[X,Q[1],new RegExp(`^${Q[2]}(?=/${J})`)]:[$,Q[1],new RegExp(`^${Q[2]}$`)];else e6[X]=[$,Q[1],!0];return e6[X]}return null},s$=($,J)=>{try{return J($)}catch{return $.replace(/(?:%[0-9A-Fa-f]{2})+/g,(Q)=>{try{return J(Q)}catch{return Q}})}},Uz=($)=>s$($,decodeURI),a9=($)=>{let J=$.url,Q=J.indexOf("/",J.indexOf(":")+4),X=Q;for(;X<J.length;X++){let Y=J.charCodeAt(X);if(Y===37){let W=J.indexOf("?",X),H=J.indexOf("#",X),G=W===-1?H===-1?void 0:H:H===-1?W:Math.min(W,H),V=J.slice(Q,G);return Uz(V.includes("%25")?V.replace(/%25/g,"%2525"):V)}else if(Y===63||Y===35)break}return J.slice(Q,X)},WX=($)=>{let J=a9($);return J.length>1&&J.at(-1)==="/"?J.slice(0,-1):J},G$=($,J,...Q)=>{if(Q.length)J=G$(J,...Q);return`${$?.[0]==="/"?"":"/"}${$}${J==="/"?"":`${$?.at(-1)==="/"?"":"/"}${J?.[0]==="/"?J.slice(1):J}`}`},$4=($)=>{if($.charCodeAt($.length-1)!==63||!$.includes(":"))return null;let J=$.split("/"),Q=[],X="";return J.forEach((Y)=>{if(Y!==""&&!/\:/.test(Y))X+="/"+Y;else if(/\:/.test(Y))if(/\?/.test(Y)){if(Q.length===0&&X==="")Q.push("/");else Q.push(X);let W=Y.replace("?","");X+="/"+W,Q.push(X)}else X+="/"+Y}),Q.filter((Y,W,H)=>H.indexOf(Y)===W)},o9=($)=>{if(!/[%+]/.test($))return $;if($.indexOf("+")!==-1)$=$.replace(/\+/g," ");return $.indexOf("%")!==-1?s$($,l2):$},HX=($,J,Q)=>{let X;if(!Q&&J&&!/[%+]/.test(J)){let H=$.indexOf("?",8);if(H===-1)return;if(!$.startsWith(J,H+1))H=$.indexOf(`&${J}`,H+1);while(H!==-1){let G=$.charCodeAt(H+J.length+1);if(G===61){let V=H+J.length+2,U=$.indexOf("&",V);return o9($.slice(V,U===-1?void 0:U))}else if(G==38||isNaN(G))return"";H=$.indexOf(`&${J}`,H+1)}if(X=/[%+]/.test($),!X)return}let Y={};X??=/[%+]/.test($);let W=$.indexOf("?",8);while(W!==-1){let H=$.indexOf("&",W+1),G=$.indexOf("=",W);if(G>H&&H!==-1)G=-1;let V=$.slice(W+1,G===-1?H===-1?void 0:H:G);if(X)V=o9(V);if(W=H,V==="")continue;let U;if(G===-1)U="";else if(U=$.slice(G+1,H===-1?void 0:H),X)U=o9(U);if(Q){if(!(Y[V]&&Array.isArray(Y[V])))Y[V]=[];Y[V].push(U)}else Y[V]??=U}return J?Y[J]:Y},GX,VX=($,J)=>{return HX($,J,!0)},l2;var V$=X0(()=>{e6={},GX=HX,l2=decodeURIComponent});var UX=($)=>s$($,l2),t6;var s9=X0(()=>{tQ();$X();QX();V$();t6=class{raw;#$;#J;routeIndex=0;path;bodyCache={};constructor($,J="/",Q=[[]]){this.raw=$,this.path=J,this.#J=Q,this.#$={}}param($){return $?this.#Q($):this.#W()}#Q($){let J=this.#J[0][this.routeIndex][1][$],Q=this.#Y(J);return Q&&/\%/.test(Q)?UX(Q):Q}#W(){let $={},J=Object.keys(this.#J[0][this.routeIndex][1]);for(let Q of J){let X=this.#Y(this.#J[0][this.routeIndex][1][Q]);if(X!==void 0)$[Q]=/\%/.test(X)?UX(X):X}return $}#Y($){return this.#J[1]?this.#J[1][$]:$}query($){return GX(this.url,$)}queries($){return VX(this.url,$)}header($){if($)return this.raw.headers.get($)??void 0;let J={};return this.raw.headers.forEach((Q,X)=>{J[X]=Q}),J}async parseBody($){return JX(this,$)}#X=($)=>{let{bodyCache:J,raw:Q}=this,X=J[$];if(X)return X;let Y=Object.keys(J)[0];if(Y)return J[Y].then((W)=>{if(Y==="json")W=JSON.stringify(W);return new Response(W)[$]()});return J[$]=Q[$]()};json(){return this.#X("text").then(($)=>JSON.parse($))}text(){return this.#X("text")}arrayBuffer(){return this.#X("arrayBuffer")}blob(){return this.#X("blob")}formData(){return this.#X("formData")}addValidatedData($,J){this.#$[$]=J}valid($){return this.#$[$]}get url(){return this.raw.url}get method(){return this.raw.method}get[eQ](){return this.#J}get matchedRoutes(){return this.#J[0].map(([[,$]])=>$)}get routePath(){return this.#J[0].map(([[,$]])=>$)[this.routeIndex].path}}});var qX,qz=($,J)=>{let Q=new String($);return Q.isEscaped=!0,Q.callbacks=J,Q},t9=async($,J,Q,X,Y)=>{if(typeof $==="object"&&!($ instanceof String)){if(!($ instanceof Promise))$=$.toString();if($ instanceof Promise)$=await $}let W=$.callbacks;if(!W?.length)return Promise.resolve($);if(Y)Y[0]+=$;else Y=[$];let H=Promise.all(W.map((G)=>G({phase:J,buffer:Y,context:X}))).then((G)=>Promise.all(G.filter(Boolean).map((V)=>t9(V,J,!1,X,Y))).then(()=>Y[0]));if(Q)return qz(await H,W);else return H};var _X=X0(()=>{qX={Stringify:1,BeforeStream:2,Stream:3}});var _z="text/plain; charset=UTF-8",e9=($,J)=>{return{"Content-Type":$,...J}},c2=($,J)=>new Response($,J),DX=class{#$;#J;env={};#Q;finalized=!1;error;#W;#Y;#X;#q;#V;#U;#G;#_;#D;constructor($,J){if(this.#$=$,J)this.#Y=J.executionCtx,this.env=J.env,this.#U=J.notFoundHandler,this.#D=J.path,this.#_=J.matchResult}get req(){return this.#J??=new t6(this.#$,this.#D,this.#_),this.#J}get event(){if(this.#Y&&"respondWith"in this.#Y)return this.#Y;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#Y)return this.#Y;else throw Error("This context has no ExecutionContext")}get res(){return this.#X||=c2(null,{headers:this.#G??=new Headers})}set res($){if(this.#X&&$){$=c2($.body,$);for(let[J,Q]of this.#X.headers.entries()){if(J==="content-type")continue;if(J==="set-cookie"){let X=this.#X.headers.getSetCookie();$.headers.delete("set-cookie");for(let Y of X)$.headers.append("set-cookie",Y)}else $.headers.set(J,Q)}}this.#X=$,this.finalized=!0}render=(...$)=>{return this.#V??=(J)=>this.html(J),this.#V(...$)};setLayout=($)=>this.#q=$;getLayout=()=>this.#q;setRenderer=($)=>{this.#V=$};header=($,J,Q)=>{if(this.finalized)this.#X=c2(this.#X.body,this.#X);let X=this.#X?this.#X.headers:this.#G??=new Headers;if(J===void 0)X.delete($);else if(Q?.append)X.append($,J);else X.set($,J)};status=($)=>{this.#W=$};set=($,J)=>{this.#Q??=new Map,this.#Q.set($,J)};get=($)=>{return this.#Q?this.#Q.get($):void 0};get var(){if(!this.#Q)return{};return Object.fromEntries(this.#Q)}#H($,J,Q){let X=this.#X?new Headers(this.#X.headers):this.#G??new Headers;if(typeof J==="object"&&"headers"in J){let W=J.headers instanceof Headers?J.headers:new Headers(J.headers);for(let[H,G]of W)if(H.toLowerCase()==="set-cookie")X.append(H,G);else X.set(H,G)}if(Q)for(let[W,H]of Object.entries(Q))if(typeof H==="string")X.set(W,H);else{X.delete(W);for(let G of H)X.append(W,G)}let Y=typeof J==="number"?J:J?.status??this.#W;return c2($,{status:Y,headers:X})}newResponse=(...$)=>this.#H(...$);body=($,J,Q)=>this.#H($,J,Q);text=($,J,Q)=>{return!this.#G&&!this.#W&&!J&&!Q&&!this.finalized?new Response($):this.#H($,J,e9(_z,Q))};json=($,J,Q)=>{return this.#H(JSON.stringify($),J,e9("application/json",Q))};html=($,J,Q)=>{let X=(Y)=>this.#H(Y,J,e9("text/html; charset=UTF-8",Q));return typeof $==="object"?t9($,qX.Stringify,!1,{}).then(X):X($)};redirect=($,J)=>{let Q=String($);return this.header("Location",!/[^\x00-\xFF]/.test(Q)?Q:encodeURI(Q)),this.newResponse(null,J??302)};notFound=()=>{return this.#U??=()=>c2(),this.#U(this)}};var BX=X0(()=>{s9();_X()});var Y0="ALL",FX="all",zX,J4="Can not add a route since the matcher is already built.",Q4;var U$=X0(()=>{zX=["get","post","put","delete","options","patch"],Q4=class extends Error{}});var NX="__COMPOSED_HANDLER";var wX=()=>{};var Dz=($)=>{return $.text("404 Not Found",404)},AX=($,J)=>{if("getResponse"in $){let Q=$.getResponse();return J.newResponse(Q.body,Q)}return console.error($),J.text("Internal Server Error",500)},jX=class ${get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#$="/";routes=[];constructor(J={}){[...zX,FX].forEach((W)=>{this[W]=(H,...G)=>{if(typeof H==="string")this.#$=H;else this.#W(W,this.#$,H);return G.forEach((V)=>{this.#W(W,this.#$,V)}),this}}),this.on=(W,H,...G)=>{for(let V of[H].flat()){this.#$=V;for(let U of[W].flat())G.map((q)=>{this.#W(U.toUpperCase(),this.#$,q)})}return this},this.use=(W,...H)=>{if(typeof W==="string")this.#$=W;else this.#$="*",H.unshift(W);return H.forEach((G)=>{this.#W(Y0,this.#$,G)}),this};let{strict:X,...Y}=J;Object.assign(this,Y),this.getPath=X??!0?J.getPath??a9:WX}#J(){let J=new $({router:this.router,getPath:this.getPath});return J.errorHandler=this.errorHandler,J.#Q=this.#Q,J.routes=this.routes,J}#Q=Dz;errorHandler=AX;route(J,Q){let X=this.basePath(J);return Q.routes.map((Y)=>{let W;if(Q.errorHandler===AX)W=Y.handler;else W=async(H,G)=>(await n9([],Q.errorHandler)(H,()=>Y.handler(H,G))).res,W[NX]=Y.handler;X.#W(Y.method,Y.path,W)}),this}basePath(J){let Q=this.#J();return Q._basePath=G$(this._basePath,J),Q}onError=(J)=>{return this.errorHandler=J,this};notFound=(J)=>{return this.#Q=J,this};mount(J,Q,X){let Y,W;if(X)if(typeof X==="function")W=X;else if(W=X.optionHandler,X.replaceRequest===!1)Y=(V)=>V;else Y=X.replaceRequest;let H=W?(V)=>{let U=W(V);return Array.isArray(U)?U:[U]}:(V)=>{let U=void 0;try{U=V.executionCtx}catch{}return[V.env,U]};Y||=(()=>{let V=G$(this._basePath,J),U=V==="/"?0:V.length;return(q)=>{let _=new URL(q.url);return _.pathname=_.pathname.slice(U)||"/",new Request(_,q)}})();let G=async(V,U)=>{let q=await Q(Y(V.req.raw),...H(V));if(q)return q;await U()};return this.#W(Y0,G$(J,"*"),G),this}#W(J,Q,X){J=J.toUpperCase(),Q=G$(this._basePath,Q);let Y={basePath:this._basePath,path:Q,method:J,handler:X};this.router.add(J,Q,[X,Y]),this.routes.push(Y)}#Y(J,Q){if(J instanceof Error)return this.errorHandler(J,Q);throw J}#X(J,Q,X,Y){if(Y==="HEAD")return(async()=>new Response(null,await this.#X(J,Q,X,"GET")))();let W=this.getPath(J,{env:X}),H=this.router.match(Y,W),G=new DX(J,{path:W,matchResult:H,env:X,executionCtx:Q,notFoundHandler:this.#Q});if(H[0].length===1){let U;try{U=H[0][0][0][0](G,async()=>{G.res=await this.#Q(G)})}catch(q){return this.#Y(q,G)}return U instanceof Promise?U.then((q)=>q||(G.finalized?G.res:this.#Q(G))).catch((q)=>this.#Y(q,G)):U??this.#Q(G)}let V=n9(H[0],this.errorHandler,this.#Q);return(async()=>{try{let U=await V(G);if(!U.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return U.res}catch(U){return this.#Y(U,G)}})()}fetch=(J,...Q)=>{return this.#X(J,Q[1],Q[0],J.method)};request=(J,Q,X,Y)=>{if(J instanceof Request)return this.fetch(Q?new Request(J,Q):J,X,Y);return J=J.toString(),this.fetch(new Request(/^https?:\/\//.test(J)?J:`http://localhost${G$("/",J)}`,Q),X,Y)};fire=()=>{addEventListener("fetch",(J)=>{J.respondWith(this.#X(J.request,J,void 0,J.request.method))})}};var EX=X0(()=>{aQ();BX();U$();wX();V$()});function X4($,J){let Q=this.buildAllMatchers(),X=(Y,W)=>{let H=Q[Y]||Q[Y0],G=H[2][W];if(G)return G;let V=W.match(H[0]);if(!V)return[[],d2];let U=V.indexOf("",1);return[H[1][U],V]};return this.match=X,X($,J)}var d2;var $5=X0(()=>{U$();d2=[]});function Fz($,J){if($.length===1)return J.length===1?$<J?-1:1:-1;if(J.length===1)return 1;if($===p2||$===i2)return 1;else if(J===p2||J===i2)return-1;if($===Y4)return 1;else if(J===Y4)return-1;return $.length===J.length?$<J?-1:1:J.length-$.length}var Y4="[^/]+",p2=".*",i2="(?:|/.*)",q$,Bz,LX=class ${#$;#J;#Q=Object.create(null);insert(J,Q,X,Y,W){if(J.length===0){if(this.#$!==void 0)throw q$;if(W)return;this.#$=Q;return}let[H,...G]=J,V=H==="*"?G.length===0?["","",p2]:["","",Y4]:H==="/*"?["","",i2]:H.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),U;if(V){let q=V[1],_=V[2]||Y4;if(q&&V[2]){if(_===".*")throw q$;if(_=_.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(_))throw q$}if(U=this.#Q[_],!U){if(Object.keys(this.#Q).some((F)=>F!==p2&&F!==i2))throw q$;if(W)return;if(U=this.#Q[_]=new $,q!=="")U.#J=Y.varIndex++}if(!W&&q!=="")X.push([q,U.#J])}else if(U=this.#Q[H],!U){if(Object.keys(this.#Q).some((q)=>q.length>1&&q!==p2&&q!==i2))throw q$;if(W)return;U=this.#Q[H]=new $}U.insert(G,Q,X,Y,W)}buildRegExpStr(){let Q=Object.keys(this.#Q).sort(Fz).map((X)=>{let Y=this.#Q[X];return(typeof Y.#J==="number"?`(${X})@${Y.#J}`:Bz.has(X)?`\\${X}`:X)+Y.buildRegExpStr()});if(typeof this.#$==="number")Q.unshift(`#${this.#$}`);if(Q.length===0)return"";if(Q.length===1)return Q[0];return"(?:"+Q.join("|")+")"}};var J5=X0(()=>{q$=Symbol(),Bz=new Set(".\\+*[^]$()")});var OX=class{#$={varIndex:0};#J=new LX;insert($,J,Q){let X=[],Y=[];for(let H=0;;){let G=!1;if($=$.replace(/\{[^}]+\}/g,(V)=>{let U=`@\\${H}`;return Y[H]=[U,V],H++,G=!0,U}),!G)break}let W=$.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let H=Y.length-1;H>=0;H--){let[G]=Y[H];for(let V=W.length-1;V>=0;V--)if(W[V].indexOf(G)!==-1){W[V]=W[V].replace(G,Y[H][1]);break}}return this.#J.insert(W,J,X,this.#$,Q),X}buildRegExp(){let $=this.#J.buildRegExpStr();if($==="")return[/^$/,[],[]];let J=0,Q=[],X=[];return $=$.replace(/#(\d+)|@(\d+)|\.\*\$/g,(Y,W,H)=>{if(W!==void 0)return Q[++J]=Number(W),"$()";if(H!==void 0)return X[Number(H)]=++J,"";return""}),[new RegExp(`^${$}`),Q,X]}};var RX=X0(()=>{J5()});function SX($){return ZX[$]??=new RegExp($==="*"?"":`^${$.replace(/\/\*$|([.\\+*[^\]$()])/g,(J,Q)=>Q?`\\${Q}`:"(?:|/.*)")}$`)}function Nz(){ZX=Object.create(null)}function wz($){let J=new OX,Q=[];if($.length===0)return zz;let X=$.map((U)=>[!/\*|\/:/.test(U[0]),...U]).sort(([U,q],[_,F])=>U?1:_?-1:q.length-F.length),Y=Object.create(null);for(let U=0,q=-1,_=X.length;U<_;U++){let[F,B,D]=X[U];if(F)Y[B]=[D.map(([Z])=>[Z,Object.create(null)]),d2];else q++;let A;try{A=J.insert(B,q,F)}catch(Z){throw Z===q$?new Q4(B):Z}if(F)continue;Q[q]=D.map(([Z,C])=>{let T=Object.create(null);C-=1;for(;C>=0;C--){let[K,y]=A[C];T[K]=y}return[Z,T]})}let[W,H,G]=J.buildRegExp();for(let U=0,q=Q.length;U<q;U++)for(let _=0,F=Q[U].length;_<F;_++){let B=Q[U][_]?.[1];if(!B)continue;let D=Object.keys(B);for(let A=0,Z=D.length;A<Z;A++)B[D[A]]=G[B[D[A]]]}let V=[];for(let U in H)V[U]=Q[H[U]];return[W,V,Y]}function o$($,J){if(!$)return;for(let Q of Object.keys($).sort((X,Y)=>Y.length-X.length))if(SX(Q).test(J))return[...$[Q]];return}var zz,ZX,W4=class{name="RegExpRouter";#$;#J;constructor(){this.#$={[Y0]:Object.create(null)},this.#J={[Y0]:Object.create(null)}}add($,J,Q){let X=this.#$,Y=this.#J;if(!X||!Y)throw Error(J4);if(!X[$])[X,Y].forEach((G)=>{G[$]=Object.create(null),Object.keys(G[Y0]).forEach((V)=>{G[$][V]=[...G[Y0][V]]})});if(J==="/*")J="*";let W=(J.match(/\/:/g)||[]).length;if(/\*$/.test(J)){let G=SX(J);if($===Y0)Object.keys(X).forEach((V)=>{X[V][J]||=o$(X[V],J)||o$(X[Y0],J)||[]});else X[$][J]||=o$(X[$],J)||o$(X[Y0],J)||[];Object.keys(X).forEach((V)=>{if($===Y0||$===V)Object.keys(X[V]).forEach((U)=>{G.test(U)&&X[V][U].push([Q,W])})}),Object.keys(Y).forEach((V)=>{if($===Y0||$===V)Object.keys(Y[V]).forEach((U)=>G.test(U)&&Y[V][U].push([Q,W]))});return}let H=$4(J)||[J];for(let G=0,V=H.length;G<V;G++){let U=H[G];Object.keys(Y).forEach((q)=>{if($===Y0||$===q)Y[q][U]||=[...o$(X[q],U)||o$(X[Y0],U)||[]],Y[q][U].push([Q,W-V+G+1])})}}match=X4;buildAllMatchers(){let $=Object.create(null);return Object.keys(this.#J).concat(Object.keys(this.#$)).forEach((J)=>{$[J]||=this.#Q(J)}),this.#$=this.#J=void 0,Nz(),$}#Q($){let J=[],Q=$===Y0;if([this.#$,this.#J].forEach((X)=>{let Y=X[$]?Object.keys(X[$]).map((W)=>[W,X[$][W]]):[];if(Y.length!==0)Q||=!0,J.push(...Y);else if($!==Y0)J.push(...Object.keys(X[Y0]).map((W)=>[W,X[Y0][W]]))}),!Q)return null;else return wz(J)}};var Q5=X0(()=>{U$();V$();$5();J5();RX();zz=[/^$/,[],Object.create(null)],ZX=Object.create(null)});var Az=class{name="PreparedRegExpRouter";#$;#J;constructor($,J){this.#$=$,this.#J=J}#Q($,J){let Q=this.#$[$];Q[1].forEach((X)=>X&&X.push(J)),Object.values(Q[2]).forEach((X)=>X[0].push(J))}#W($,J,Q,X,Y){let W=this.#$[$];if(!Y)W[2][J][0].push([Q,{}]);else X.forEach((H)=>{if(typeof H==="number")W[1][H].push([Q,Y]);else W[2][H||J][0].push([Q,Y])})}add($,J,Q){if(!this.#$[$]){let Y=this.#$[Y0],W={};for(let H in Y[2])W[H]=[Y[2][H][0].slice(),d2];this.#$[$]=[Y[0],Y[1].map((H)=>Array.isArray(H)?H.slice():0),W]}if(J==="/*"||J==="*"){let Y=[Q,{}];if($===Y0)for(let W in this.#$)this.#Q(W,Y);else this.#Q($,Y);return}let X=this.#J[J];if(!X)throw Error(`Path ${J} is not registered`);for(let[Y,W]of X)if($===Y0)for(let H in this.#$)this.#W(H,J,Q,Y,W);else this.#W($,J,Q,Y,W)}buildAllMatchers(){return this.#$}match=X4};var CX=X0(()=>{U$();$5();Q5()});var MX=X0(()=>{Q5();CX()});var X5=class{name="SmartRouter";#$=[];#J=[];constructor($){this.#$=$.routers}add($,J,Q){if(!this.#J)throw Error(J4);this.#J.push([$,J,Q])}match($,J){if(!this.#J)throw Error("Fatal error");let Q=this.#$,X=this.#J,Y=Q.length,W=0,H;for(;W<Y;W++){let G=Q[W];try{for(let V=0,U=X.length;V<U;V++)G.add(...X[V]);H=G.match($,J)}catch(V){if(V instanceof Q4)continue;throw V}this.match=G.match.bind(G),this.#$=[G],this.#J=void 0;break}if(W===Y)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,H}get activeRouter(){if(this.#J||this.#$.length!==1)throw Error("No active router has been determined yet.");return this.#$[0]}};var PX=X0(()=>{U$()});var KX=X0(()=>{PX()});var n2,jz=($)=>{for(let J in $)return!0;return!1},IX=class ${#$;#J;#Q;#W=0;#Y=n2;constructor(J,Q,X){if(this.#J=X||Object.create(null),this.#$=[],J&&Q){let Y=Object.create(null);Y[J]={handler:Q,possibleKeys:[],score:0},this.#$=[Y]}this.#Q=[]}insert(J,Q,X){this.#W=++this.#W;let Y=this,W=XX(Q),H=[];for(let G=0,V=W.length;G<V;G++){let U=W[G],q=W[G+1],_=YX(U,q),F=Array.isArray(_)?_[0]:U;if(F in Y.#J){if(Y=Y.#J[F],_)H.push(_[1]);continue}if(Y.#J[F]=new $,_)Y.#Q.push(_),H.push(_[1]);Y=Y.#J[F]}return Y.#$.push({[J]:{handler:X,possibleKeys:H.filter((G,V,U)=>U.indexOf(G)===V),score:this.#W}}),Y}#X(J,Q,X,Y,W){for(let H=0,G=Q.#$.length;H<G;H++){let V=Q.#$[H],U=V[X]||V[Y0],q={};if(U!==void 0){if(U.params=Object.create(null),J.push(U),Y!==n2||W&&W!==n2)for(let _=0,F=U.possibleKeys.length;_<F;_++){let B=U.possibleKeys[_],D=q[U.score];U.params[B]=W?.[B]&&!D?W[B]:Y[B]??W?.[B],q[U.score]=!0}}}}search(J,Q){let X=[];this.#Y=n2;let W=[this],H=r9(Q),G=[],V=H.length,U=null;for(let q=0;q<V;q++){let _=H[q],F=q===V-1,B=[];for(let A=0,Z=W.length;A<Z;A++){let C=W[A],T=C.#J[_];if(T)if(T.#Y=C.#Y,F){if(T.#J["*"])this.#X(X,T.#J["*"],J,C.#Y);this.#X(X,T,J,C.#Y)}else B.push(T);for(let K=0,y=C.#Q.length;K<y;K++){let s=C.#Q[K],d=C.#Y===n2?{}:{...C.#Y};if(s==="*"){let q0=C.#J["*"];if(q0)this.#X(X,q0,J,C.#Y),q0.#Y=d,B.push(q0);continue}let[$0,Q0,p]=s;if(!_&&!(p instanceof RegExp))continue;let J0=C.#J[$0];if(p instanceof RegExp){if(U===null){U=Array(V);let w0=Q[0]==="/"?1:0;for(let D0=0;D0<V;D0++)U[D0]=w0,w0+=H[D0].length+1}let q0=Q.substring(U[q]),V0=p.exec(q0);if(V0){if(d[Q0]=V0[0],this.#X(X,J0,J,C.#Y,d),jz(J0.#J)){J0.#Y=d;let w0=V0[0].match(/\//)?.length??0;(G[w0]||=[]).push(J0)}continue}}if(p===!0||p.test(_))if(d[Q0]=_,F){if(this.#X(X,J0,J,d,C.#Y),J0.#J["*"])this.#X(X,J0.#J["*"],J,d,C.#Y)}else J0.#Y=d,B.push(J0)}}let D=G.shift();W=D?B.concat(D):B}if(X.length>1)X.sort((q,_)=>{return q.score-_.score});return[X.map(({handler:q,params:_})=>[q,_])]}};var TX=X0(()=>{U$();V$();n2=Object.create(null)});var Y5=class{name="TrieRouter";#$;constructor(){this.#$=new IX}add($,J,Q){let X=$4(J);if(X){for(let Y=0,W=X.length;Y<W;Y++)this.#$.insert($,X[Y],Q);return}this.#$.insert($,J,Q)}match($,J){return this.#$.search($,J)}};var bX=X0(()=>{V$();TX()});var fX=X0(()=>{bX()});var W5;var kX=X0(()=>{EX();MX();KX();fX();W5=class extends jX{constructor($={}){super($);this.router=$.router??new X5({routers:[new W4,new Y5]})}}});var xX=X0(()=>{kX()});var gX={};Z0(gX,{TokenRevokedException:()=>V5,TokenExpiredException:()=>o2,InvalidTokenException:()=>_$,AuthorizationException:()=>E0,AuthenticationException:()=>R0});var R0,E0,o2,_$,V5;var h1=X0(()=>{n$();i$();R0=class R0 extends j0{constructor($="Authentication required"){super(401,$,void 0,{title:"Authentication Error",problemType:B1("authentication-error")});this.name="AuthenticationException"}};E0=class E0 extends j0{constructor($="Insufficient permissions"){super(403,$,void 0,{title:"Authorization Error",problemType:B1("authorization-error")});this.name="AuthorizationException"}};o2=class o2 extends R0{constructor($="Token has expired"){super($);this.name="TokenExpiredException"}};_$=class _$ extends R0{constructor($="Invalid token"){super($);this.name="InvalidTokenException"}};V5=class V5 extends R0{constructor($="Token has been revoked"){super($);this.name="TokenRevokedException"}}});var a$=L((D5,JY)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var A4=require("buffer"),F1=A4.Buffer;function $Y($,J){for(var Q in $)J[Q]=$[Q]}if(F1.from&&F1.alloc&&F1.allocUnsafe&&F1.allocUnsafeSlow)JY.exports=A4;else $Y(A4,D5),D5.Buffer=B$;function B$($,J,Q){return F1($,J,Q)}B$.prototype=Object.create(F1.prototype);$Y(F1,B$);B$.from=function($,J,Q){if(typeof $==="number")throw TypeError("Argument must not be a number");return F1($,J,Q)};B$.alloc=function($,J,Q){if(typeof $!=="number")throw TypeError("Argument must be a number");var X=F1($);if(J!==void 0)if(typeof Q==="string")X.fill(J,Q);else X.fill(J);else X.fill(0);return X};B$.allocUnsafe=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return F1($)};B$.allocUnsafeSlow=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return A4.SlowBuffer($)}});var B5=L((jI,QY)=>{var j4=a$().Buffer,pz=require("stream"),iz=require("util");function E4($){if(this.buffer=null,this.writable=!0,this.readable=!0,!$)return this.buffer=j4.alloc(0),this;if(typeof $.pipe==="function")return this.buffer=j4.alloc(0),$.pipe(this),this;if($.length||typeof $==="object")return this.buffer=$,this.writable=!1,process.nextTick(function(){this.emit("end",$),this.readable=!1,this.emit("close")}.bind(this)),this;throw TypeError("Unexpected data type ("+typeof $+")")}iz.inherits(E4,pz);E4.prototype.write=function(J){this.buffer=j4.concat([this.buffer,j4.from(J)]),this.emit("data",J)};E4.prototype.end=function(J){if(J)this.write(J);this.emit("end",J),this.emit("close"),this.writable=!1,this.readable=!1};QY.exports=E4});var YY=L((EI,XY)=>{function F5($){var J=($/8|0)+($%8===0?0:1);return J}var nz={ES256:F5(256),ES384:F5(384),ES512:F5(521)};function sz($){var J=nz[$];if(J)return J;throw Error('Unknown algorithm "'+$+'"')}XY.exports=sz});var _Y=L((LI,qY)=>{var L4=a$().Buffer,HY=YY(),O4=128,GY=0,oz=32,rz=16,az=2,VY=rz|oz|GY<<6,R4=az|GY<<6;function tz($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function UY($){if(L4.isBuffer($))return $;else if(typeof $==="string")return L4.from($,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function ez($,J){$=UY($);var Q=HY(J),X=Q+1,Y=$.length,W=0;if($[W++]!==VY)throw Error('Could not find expected "seq"');var H=$[W++];if(H===(O4|1))H=$[W++];if(Y-W<H)throw Error('"seq" specified length of "'+H+'", only "'+(Y-W)+'" remaining');if($[W++]!==R4)throw Error('Could not find expected "int" for "r"');var G=$[W++];if(Y-W-2<G)throw Error('"r" specified length of "'+G+'", only "'+(Y-W-2)+'" available');if(X<G)throw Error('"r" specified length of "'+G+'", max of "'+X+'" is acceptable');var V=W;if(W+=G,$[W++]!==R4)throw Error('Could not find expected "int" for "s"');var U=$[W++];if(Y-W!==U)throw Error('"s" specified length of "'+U+'", expected "'+(Y-W)+'"');if(X<U)throw Error('"s" specified length of "'+U+'", max of "'+X+'" is acceptable');var q=W;if(W+=U,W!==Y)throw Error('Expected to consume entire buffer, but "'+(Y-W)+'" bytes remain');var _=Q-G,F=Q-U,B=L4.allocUnsafe(_+G+F+U);for(W=0;W<_;++W)B[W]=0;$.copy(B,W,V+Math.max(-_,0),V+G),W=Q;for(var D=W;W<D+F;++W)B[W]=0;return $.copy(B,W,q+Math.max(-F,0),q+U),B=B.toString("base64"),B=tz(B),B}function WY($,J,Q){var X=0;while(J+X<Q&&$[J+X]===0)++X;var Y=$[J+X]>=O4;if(Y)--X;return X}function $N($,J){$=UY($);var Q=HY(J),X=$.length;if(X!==Q*2)throw TypeError('"'+J+'" signatures must be "'+Q*2+'" bytes, saw "'+X+'"');var Y=WY($,0,Q),W=WY($,Q,$.length),H=Q-Y,G=Q-W,V=2+H+1+1+G,U=V<O4,q=L4.allocUnsafe((U?2:3)+V),_=0;if(q[_++]=VY,U)q[_++]=V;else q[_++]=O4|1,q[_++]=V&255;if(q[_++]=R4,q[_++]=H,Y<0)q[_++]=0,_+=$.copy(q,_,0,Q);else _+=$.copy(q,_,Y,Q);if(q[_++]=R4,q[_++]=G,W<0)q[_++]=0,$.copy(q,_,Q);else $.copy(q,_,Q+W);return q}qY.exports={derToJose:ez,joseToDer:$N}});var BY=L((OI,DY)=>{var e2=require("buffer").Buffer,z5=require("buffer").SlowBuffer;DY.exports=Z4;function Z4($,J){if(!e2.isBuffer($)||!e2.isBuffer(J))return!1;if($.length!==J.length)return!1;var Q=0;for(var X=0;X<$.length;X++)Q|=$[X]^J[X];return Q===0}Z4.install=function(){e2.prototype.equal=z5.prototype.equal=function(J){return Z4(this,J)}};var JN=e2.prototype.equal,QN=z5.prototype.equal;Z4.restore=function(){e2.prototype.equal=JN,z5.prototype.equal=QN}});var j5=L((RI,OY)=>{var e$=a$().Buffer,h0=require("crypto"),zY=_Y(),FY=require("util"),XN=`"%s" is not a valid algorithm.
38
38
  Supported algorithms are:
39
- "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,$6="secret must be a string or buffer",t$="key must be a string or a buffer",Yw="key must be a string, a buffer or an object",N5=typeof h0.createPublicKey==="function";if(N5)t$+=" or a KeyObject",$6+="or a KeyObject";function wY($){if(e$.isBuffer($))return;if(typeof $==="string")return;if(!N5)throw Q1(t$);if(typeof $!=="object")throw Q1(t$);if(typeof $.type!=="string")throw Q1(t$);if(typeof $.asymmetricKeyType!=="string")throw Q1(t$);if(typeof $.export!=="function")throw Q1(t$)}function NY($){if(e$.isBuffer($))return;if(typeof $==="string")return;if(typeof $==="object")return;throw Q1(Yw)}function Ww($){if(e$.isBuffer($))return;if(typeof $==="string")return $;if(!N5)throw Q1($6);if(typeof $!=="object")throw Q1($6);if($.type!=="secret")throw Q1($6);if(typeof $.export!=="function")throw Q1($6)}function A5($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function AY($){$=$.toString();var J=4-$.length%4;if(J!==4)for(var Q=0;Q<J;++Q)$+="=";return $.replace(/\-/g,"+").replace(/_/g,"/")}function Q1($){var J=[].slice.call(arguments,1),Q=FY.format.bind(FY,$).apply(null,J);return TypeError(Q)}function Hw($){return e$.isBuffer($)||typeof $==="string"}function J6($){if(!Hw($))$=JSON.stringify($);return $}function jY($){return function(Q,X){Ww(X),Q=J6(Q);var Y=h0.createHmac("sha"+$,X),W=(Y.update(Q),Y.digest("base64"));return A5(W)}}var w5,Gw="timingSafeEqual"in h0?function(J,Q){if(J.byteLength!==Q.byteLength)return!1;return h0.timingSafeEqual(J,Q)}:function(J,Q){if(!w5)w5=BY();return w5(J,Q)};function Vw($){return function(Q,X,Y){var W=jY($)(Q,Y);return Gw(e$.from(X),e$.from(W))}}function EY($){return function(Q,X){NY(X),Q=J6(Q);var Y=h0.createSign("RSA-SHA"+$),W=(Y.update(Q),Y.sign(X,"base64"));return A5(W)}}function LY($){return function(Q,X,Y){wY(Y),Q=J6(Q),X=AY(X);var W=h0.createVerify("RSA-SHA"+$);return W.update(Q),W.verify(Y,X,"base64")}}function Uw($){return function(Q,X){NY(X),Q=J6(Q);var Y=h0.createSign("RSA-SHA"+$),W=(Y.update(Q),Y.sign({key:X,padding:h0.constants.RSA_PKCS1_PSS_PADDING,saltLength:h0.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return A5(W)}}function qw($){return function(Q,X,Y){wY(Y),Q=J6(Q),X=AY(X);var W=h0.createVerify("RSA-SHA"+$);return W.update(Q),W.verify({key:Y,padding:h0.constants.RSA_PKCS1_PSS_PADDING,saltLength:h0.constants.RSA_PSS_SALTLEN_DIGEST},X,"base64")}}function _w($){var J=EY($);return function(){var X=J.apply(null,arguments);return X=zY.derToJose(X,"ES"+$),X}}function Dw($){var J=LY($);return function(X,Y,W){Y=zY.joseToDer(Y,"ES"+$).toString("base64");var H=J(X,Y,W);return H}}function Bw(){return function(){return""}}function Fw(){return function(J,Q){return Q===""}}OY.exports=function(J){var Q={hs:jY,rs:EY,ps:Uw,es:_w,none:Bw},X={hs:Vw,rs:LY,ps:qw,es:Dw,none:Fw},Y=J.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!Y)throw Q1(Xw,J);var W=(Y[1]||Y[3]).toLowerCase(),H=Y[2];return{sign:Q[W](H),verify:X[W](H)}}});var E5=L((ZI,RY)=>{var zw=require("buffer").Buffer;RY.exports=function(J){if(typeof J==="string")return J;if(typeof J==="number"||zw.isBuffer(J))return J.toString();return JSON.stringify(J)}});var KY=L((SI,PY)=>{var ww=a$().Buffer,ZY=B5(),Nw=j5(),Aw=require("stream"),SY=E5(),L5=require("util");function CY($,J){return ww.from($,J).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function jw($,J,Q){Q=Q||"utf8";var X=CY(SY($),"binary"),Y=CY(SY(J),Q);return L5.format("%s.%s",X,Y)}function MY($){var{header:J,payload:Q}=$,X=$.secret||$.privateKey,Y=$.encoding,W=Nw(J.alg),H=jw(J,Q,Y),G=W.sign(H,X);return L5.format("%s.%s",H,G)}function S4($){var J=$.secret;if(J=J==null?$.privateKey:J,J=J==null?$.key:J,/^hs/i.test($.header.alg)===!0&&J==null)throw TypeError("secret must be a string or buffer or a KeyObject");var Q=new ZY(J);this.readable=!0,this.header=$.header,this.encoding=$.encoding,this.secret=this.privateKey=this.key=Q,this.payload=new ZY($.payload),this.secret.once("close",function(){if(!this.payload.writable&&this.readable)this.sign()}.bind(this)),this.payload.once("close",function(){if(!this.secret.writable&&this.readable)this.sign()}.bind(this))}L5.inherits(S4,Aw);S4.prototype.sign=function(){try{var J=MY({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",J),this.emit("data",J),this.emit("end"),this.readable=!1,J}catch(Q){this.readable=!1,this.emit("error",Q),this.emit("close")}};S4.sign=MY;PY.exports=S4});var yY=L((CI,gY)=>{var TY=a$().Buffer,IY=B5(),Ew=j5(),Lw=require("stream"),bY=E5(),Ow=require("util"),Rw=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function Zw($){return Object.prototype.toString.call($)==="[object Object]"}function Sw($){if(Zw($))return $;try{return JSON.parse($)}catch(J){return}}function fY($){var J=$.split(".",1)[0];return Sw(TY.from(J,"base64").toString("binary"))}function Cw($){return $.split(".",2).join(".")}function kY($){return $.split(".")[2]}function Mw($,J){J=J||"utf8";var Q=$.split(".")[1];return TY.from(Q,"base64").toString(J)}function xY($){return Rw.test($)&&!!fY($)}function vY($,J,Q){if(!J){var X=Error("Missing algorithm parameter for jws.verify");throw X.code="MISSING_ALGORITHM",X}$=bY($);var Y=kY($),W=Cw($),H=Ew(J);return H.verify(W,Y,Q)}function hY($,J){if(J=J||{},$=bY($),!xY($))return null;var Q=fY($);if(!Q)return null;var X=Mw($);if(Q.typ==="JWT"||J.json)X=JSON.parse(X,J.encoding);return{header:Q,payload:X,signature:kY($)}}function $2($){$=$||{};var J=$.secret;if(J=J==null?$.publicKey:J,J=J==null?$.key:J,/^hs/i.test($.algorithm)===!0&&J==null)throw TypeError("secret must be a string or buffer or a KeyObject");var Q=new IY(J);this.readable=!0,this.algorithm=$.algorithm,this.encoding=$.encoding,this.secret=this.publicKey=this.key=Q,this.signature=new IY($.signature),this.secret.once("close",function(){if(!this.signature.writable&&this.readable)this.verify()}.bind(this)),this.signature.once("close",function(){if(!this.secret.writable&&this.readable)this.verify()}.bind(this))}Ow.inherits($2,Lw);$2.prototype.verify=function(){try{var J=vY(this.signature.buffer,this.algorithm,this.key.buffer),Q=hY(this.signature.buffer,this.encoding);return this.emit("done",J,Q),this.emit("data",J),this.emit("end"),this.readable=!1,J}catch(X){this.readable=!1,this.emit("error",X),this.emit("close")}};$2.decode=hY;$2.isValid=xY;$2.verify=vY;gY.exports=$2});var M4=L((g1)=>{var uY=KY(),C4=yY(),Pw=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];g1.ALGORITHMS=Pw;g1.sign=uY.sign;g1.verify=C4.verify;g1.decode=C4.decode;g1.isValid=C4.isValid;g1.createSign=function(J){return new uY(J)};g1.createVerify=function(J){return new C4(J)}});var O5=L((PI,mY)=>{var Kw=M4();mY.exports=function($,J){J=J||{};var Q=Kw.decode($,J);if(!Q)return null;var X=Q.payload;if(typeof X==="string")try{var Y=JSON.parse(X);if(Y!==null&&typeof Y==="object")X=Y}catch(W){}if(J.complete===!0)return{header:Q.header,payload:X,signature:Q.signature};return X}});var Q6=L((KI,lY)=>{var P4=function($,J){if(Error.call(this,$),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=$,J)this.inner=J};P4.prototype=Object.create(Error.prototype);P4.prototype.constructor=P4;lY.exports=P4});var R5=L((II,dY)=>{var cY=Q6(),K4=function($,J){cY.call(this,$),this.name="NotBeforeError",this.date=J};K4.prototype=Object.create(cY.prototype);K4.prototype.constructor=K4;dY.exports=K4});var Z5=L((TI,iY)=>{var pY=Q6(),I4=function($,J){pY.call(this,$),this.name="TokenExpiredError",this.expiredAt=J};I4.prototype=Object.create(pY.prototype);I4.prototype.constructor=I4;iY.exports=I4});var sY=L((bI,nY)=>{var J2=1000,Q2=J2*60,X2=Q2*60,B$=X2*24,Iw=B$*7,Tw=B$*365.25;nY.exports=function($,J){J=J||{};var Q=typeof $;if(Q==="string"&&$.length>0)return bw($);else if(Q==="number"&&isFinite($))return J.long?kw($):fw($);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify($))};function bw($){if($=String($),$.length>100)return;var J=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec($);if(!J)return;var Q=parseFloat(J[1]),X=(J[2]||"ms").toLowerCase();switch(X){case"years":case"year":case"yrs":case"yr":case"y":return Q*Tw;case"weeks":case"week":case"w":return Q*Iw;case"days":case"day":case"d":return Q*B$;case"hours":case"hour":case"hrs":case"hr":case"h":return Q*X2;case"minutes":case"minute":case"mins":case"min":case"m":return Q*Q2;case"seconds":case"second":case"secs":case"sec":case"s":return Q*J2;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return Q;default:return}}function fw($){var J=Math.abs($);if(J>=B$)return Math.round($/B$)+"d";if(J>=X2)return Math.round($/X2)+"h";if(J>=Q2)return Math.round($/Q2)+"m";if(J>=J2)return Math.round($/J2)+"s";return $+"ms"}function kw($){var J=Math.abs($);if(J>=B$)return T4($,J,B$,"day");if(J>=X2)return T4($,J,X2,"hour");if(J>=Q2)return T4($,J,Q2,"minute");if(J>=J2)return T4($,J,J2,"second");return $+" ms"}function T4($,J,Q,X){var Y=J>=Q*1.5;return Math.round($/Q)+" "+X+(Y?"s":"")}});var S5=L((fI,oY)=>{var xw=sY();oY.exports=function($,J){var Q=J||Math.floor(Date.now()/1000);if(typeof $==="string"){var X=xw($);if(typeof X>"u")return;return Math.floor(Q+X/1000)}else if(typeof $==="number")return Q+$;else return}});var X6=L((kI,rY)=>{var vw=Number.MAX_SAFE_INTEGER||9007199254740991,hw=["major","premajor","minor","preminor","patch","prepatch","prerelease"];rY.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:vw,RELEASE_TYPES:hw,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Y6=L((xI,aY)=>{var gw=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...$)=>console.error("SEMVER",...$):()=>{};aY.exports=gw});var Y2=L((z1,tY)=>{var{MAX_SAFE_COMPONENT_LENGTH:C5,MAX_SAFE_BUILD_LENGTH:yw,MAX_LENGTH:uw}=X6(),mw=Y6();z1=tY.exports={};var lw=z1.re=[],cw=z1.safeRe=[],f=z1.src=[],dw=z1.safeSrc=[],k=z1.t={},pw=0,M5="[a-zA-Z0-9-]",iw=[["\\s",1],["\\d",uw],[M5,yw]],nw=($)=>{for(let[J,Q]of iw)$=$.split(`${J}*`).join(`${J}{0,${Q}}`).split(`${J}+`).join(`${J}{1,${Q}}`);return $},i=($,J,Q)=>{let X=nw(J),Y=pw++;mw($,Y,J),k[$]=Y,f[Y]=J,dw[Y]=X,lw[Y]=new RegExp(J,Q?"g":void 0),cw[Y]=new RegExp(X,Q?"g":void 0)};i("NUMERICIDENTIFIER","0|[1-9]\\d*");i("NUMERICIDENTIFIERLOOSE","\\d+");i("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${M5}*`);i("MAINVERSION",`(${f[k.NUMERICIDENTIFIER]})\\.(${f[k.NUMERICIDENTIFIER]})\\.(${f[k.NUMERICIDENTIFIER]})`);i("MAINVERSIONLOOSE",`(${f[k.NUMERICIDENTIFIERLOOSE]})\\.(${f[k.NUMERICIDENTIFIERLOOSE]})\\.(${f[k.NUMERICIDENTIFIERLOOSE]})`);i("PRERELEASEIDENTIFIER",`(?:${f[k.NONNUMERICIDENTIFIER]}|${f[k.NUMERICIDENTIFIER]})`);i("PRERELEASEIDENTIFIERLOOSE",`(?:${f[k.NONNUMERICIDENTIFIER]}|${f[k.NUMERICIDENTIFIERLOOSE]})`);i("PRERELEASE",`(?:-(${f[k.PRERELEASEIDENTIFIER]}(?:\\.${f[k.PRERELEASEIDENTIFIER]})*))`);i("PRERELEASELOOSE",`(?:-?(${f[k.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${f[k.PRERELEASEIDENTIFIERLOOSE]})*))`);i("BUILDIDENTIFIER",`${M5}+`);i("BUILD",`(?:\\+(${f[k.BUILDIDENTIFIER]}(?:\\.${f[k.BUILDIDENTIFIER]})*))`);i("FULLPLAIN",`v?${f[k.MAINVERSION]}${f[k.PRERELEASE]}?${f[k.BUILD]}?`);i("FULL",`^${f[k.FULLPLAIN]}$`);i("LOOSEPLAIN",`[v=\\s]*${f[k.MAINVERSIONLOOSE]}${f[k.PRERELEASELOOSE]}?${f[k.BUILD]}?`);i("LOOSE",`^${f[k.LOOSEPLAIN]}$`);i("GTLT","((?:<|>)?=?)");i("XRANGEIDENTIFIERLOOSE",`${f[k.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);i("XRANGEIDENTIFIER",`${f[k.NUMERICIDENTIFIER]}|x|X|\\*`);i("XRANGEPLAIN",`[v=\\s]*(${f[k.XRANGEIDENTIFIER]})(?:\\.(${f[k.XRANGEIDENTIFIER]})(?:\\.(${f[k.XRANGEIDENTIFIER]})(?:${f[k.PRERELEASE]})?${f[k.BUILD]}?)?)?`);i("XRANGEPLAINLOOSE",`[v=\\s]*(${f[k.XRANGEIDENTIFIERLOOSE]})(?:\\.(${f[k.XRANGEIDENTIFIERLOOSE]})(?:\\.(${f[k.XRANGEIDENTIFIERLOOSE]})(?:${f[k.PRERELEASELOOSE]})?${f[k.BUILD]}?)?)?`);i("XRANGE",`^${f[k.GTLT]}\\s*${f[k.XRANGEPLAIN]}$`);i("XRANGELOOSE",`^${f[k.GTLT]}\\s*${f[k.XRANGEPLAINLOOSE]}$`);i("COERCEPLAIN",`(^|[^\\d])(\\d{1,${C5}})(?:\\.(\\d{1,${C5}}))?(?:\\.(\\d{1,${C5}}))?`);i("COERCE",`${f[k.COERCEPLAIN]}(?:$|[^\\d])`);i("COERCEFULL",f[k.COERCEPLAIN]+`(?:${f[k.PRERELEASE]})?(?:${f[k.BUILD]})?(?:$|[^\\d])`);i("COERCERTL",f[k.COERCE],!0);i("COERCERTLFULL",f[k.COERCEFULL],!0);i("LONETILDE","(?:~>?)");i("TILDETRIM",`(\\s*)${f[k.LONETILDE]}\\s+`,!0);z1.tildeTrimReplace="$1~";i("TILDE",`^${f[k.LONETILDE]}${f[k.XRANGEPLAIN]}$`);i("TILDELOOSE",`^${f[k.LONETILDE]}${f[k.XRANGEPLAINLOOSE]}$`);i("LONECARET","(?:\\^)");i("CARETTRIM",`(\\s*)${f[k.LONECARET]}\\s+`,!0);z1.caretTrimReplace="$1^";i("CARET",`^${f[k.LONECARET]}${f[k.XRANGEPLAIN]}$`);i("CARETLOOSE",`^${f[k.LONECARET]}${f[k.XRANGEPLAINLOOSE]}$`);i("COMPARATORLOOSE",`^${f[k.GTLT]}\\s*(${f[k.LOOSEPLAIN]})$|^$`);i("COMPARATOR",`^${f[k.GTLT]}\\s*(${f[k.FULLPLAIN]})$|^$`);i("COMPARATORTRIM",`(\\s*)${f[k.GTLT]}\\s*(${f[k.LOOSEPLAIN]}|${f[k.XRANGEPLAIN]})`,!0);z1.comparatorTrimReplace="$1$2$3";i("HYPHENRANGE",`^\\s*(${f[k.XRANGEPLAIN]})\\s+-\\s+(${f[k.XRANGEPLAIN]})\\s*$`);i("HYPHENRANGELOOSE",`^\\s*(${f[k.XRANGEPLAINLOOSE]})\\s+-\\s+(${f[k.XRANGEPLAINLOOSE]})\\s*$`);i("STAR","(<|>)?=?\\s*\\*");i("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");i("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var b4=L((vI,eY)=>{var sw=Object.freeze({loose:!0}),ow=Object.freeze({}),rw=($)=>{if(!$)return ow;if(typeof $!=="object")return sw;return $};eY.exports=rw});var P5=L((hI,QW)=>{var $W=/^[0-9]+$/,JW=($,J)=>{if(typeof $==="number"&&typeof J==="number")return $===J?0:$<J?-1:1;let Q=$W.test($),X=$W.test(J);if(Q&&X)$=+$,J=+J;return $===J?0:Q&&!X?-1:X&&!Q?1:$<J?-1:1},aw=($,J)=>JW(J,$);QW.exports={compareIdentifiers:JW,rcompareIdentifiers:aw}});var C0=L((gI,YW)=>{var f4=Y6(),{MAX_LENGTH:XW,MAX_SAFE_INTEGER:k4}=X6(),{safeRe:x4,t:v4}=Y2(),tw=b4(),{compareIdentifiers:K5}=P5();class X1{constructor($,J){if(J=tw(J),$ instanceof X1)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else $=$.version;else if(typeof $!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof $}".`);if($.length>XW)throw TypeError(`version is longer than ${XW} characters`);f4("SemVer",$,J),this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease;let Q=$.trim().match(J.loose?x4[v4.LOOSE]:x4[v4.FULL]);if(!Q)throw TypeError(`Invalid Version: ${$}`);if(this.raw=$,this.major=+Q[1],this.minor=+Q[2],this.patch=+Q[3],this.major>k4||this.major<0)throw TypeError("Invalid major version");if(this.minor>k4||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>k4||this.patch<0)throw TypeError("Invalid patch version");if(!Q[4])this.prerelease=[];else this.prerelease=Q[4].split(".").map((X)=>{if(/^[0-9]+$/.test(X)){let Y=+X;if(Y>=0&&Y<k4)return Y}return X});this.build=Q[5]?Q[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare($){if(f4("SemVer.compare",this.version,this.options,$),!($ instanceof X1)){if(typeof $==="string"&&$===this.version)return 0;$=new X1($,this.options)}if($.version===this.version)return 0;return this.compareMain($)||this.comparePre($)}compareMain($){if(!($ instanceof X1))$=new X1($,this.options);if(this.major<$.major)return-1;if(this.major>$.major)return 1;if(this.minor<$.minor)return-1;if(this.minor>$.minor)return 1;if(this.patch<$.patch)return-1;if(this.patch>$.patch)return 1;return 0}comparePre($){if(!($ instanceof X1))$=new X1($,this.options);if(this.prerelease.length&&!$.prerelease.length)return-1;else if(!this.prerelease.length&&$.prerelease.length)return 1;else if(!this.prerelease.length&&!$.prerelease.length)return 0;let J=0;do{let Q=this.prerelease[J],X=$.prerelease[J];if(f4("prerelease compare",J,Q,X),Q===void 0&&X===void 0)return 0;else if(X===void 0)return 1;else if(Q===void 0)return-1;else if(Q===X)continue;else return K5(Q,X)}while(++J)}compareBuild($){if(!($ instanceof X1))$=new X1($,this.options);let J=0;do{let Q=this.build[J],X=$.build[J];if(f4("build compare",J,Q,X),Q===void 0&&X===void 0)return 0;else if(X===void 0)return 1;else if(Q===void 0)return-1;else if(Q===X)continue;else return K5(Q,X)}while(++J)}inc($,J,Q){if($.startsWith("pre")){if(!J&&Q===!1)throw Error("invalid increment argument: identifier is empty");if(J){let X=`-${J}`.match(this.options.loose?x4[v4.PRERELEASELOOSE]:x4[v4.PRERELEASE]);if(!X||X[1]!==J)throw Error(`invalid identifier: ${J}`)}}switch($){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",J,Q);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",J,Q);break;case"prepatch":this.prerelease.length=0,this.inc("patch",J,Q),this.inc("pre",J,Q);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",J,Q);this.inc("pre",J,Q);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let X=Number(Q)?1:0;if(this.prerelease.length===0)this.prerelease=[X];else{let Y=this.prerelease.length;while(--Y>=0)if(typeof this.prerelease[Y]==="number")this.prerelease[Y]++,Y=-2;if(Y===-1){if(J===this.prerelease.join(".")&&Q===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(X)}}if(J){let Y=[J,X];if(Q===!1)Y=[J];if(K5(this.prerelease[0],J)===0){if(isNaN(this.prerelease[1]))this.prerelease=Y}else this.prerelease=Y}break}default:throw Error(`invalid increment argument: ${$}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}YW.exports=X1});var F$=L((yI,HW)=>{var WW=C0(),ew=($,J,Q=!1)=>{if($ instanceof WW)return $;try{return new WW($,J)}catch(X){if(!Q)return null;throw X}};HW.exports=ew});var VW=L((uI,GW)=>{var $N=F$(),JN=($,J)=>{let Q=$N($,J);return Q?Q.version:null};GW.exports=JN});var qW=L((mI,UW)=>{var QN=F$(),XN=($,J)=>{let Q=QN($.trim().replace(/^[=v]+/,""),J);return Q?Q.version:null};UW.exports=XN});var BW=L((lI,DW)=>{var _W=C0(),YN=($,J,Q,X,Y)=>{if(typeof Q==="string")Y=X,X=Q,Q=void 0;try{return new _W($ instanceof _W?$.version:$,Q).inc(J,X,Y).version}catch(W){return null}};DW.exports=YN});var wW=L((cI,zW)=>{var FW=F$(),WN=($,J)=>{let Q=FW($,null,!0),X=FW(J,null,!0),Y=Q.compare(X);if(Y===0)return null;let W=Y>0,H=W?Q:X,G=W?X:Q,V=!!H.prerelease.length;if(!!G.prerelease.length&&!V){if(!G.patch&&!G.minor)return"major";if(G.compareMain(H)===0){if(G.minor&&!G.patch)return"minor";return"patch"}}let q=V?"pre":"";if(Q.major!==X.major)return q+"major";if(Q.minor!==X.minor)return q+"minor";if(Q.patch!==X.patch)return q+"patch";return"prerelease"};zW.exports=WN});var AW=L((dI,NW)=>{var HN=C0(),GN=($,J)=>new HN($,J).major;NW.exports=GN});var EW=L((pI,jW)=>{var VN=C0(),UN=($,J)=>new VN($,J).minor;jW.exports=UN});var OW=L((iI,LW)=>{var qN=C0(),_N=($,J)=>new qN($,J).patch;LW.exports=_N});var ZW=L((nI,RW)=>{var DN=F$(),BN=($,J)=>{let Q=DN($,J);return Q&&Q.prerelease.length?Q.prerelease:null};RW.exports=BN});var g0=L((sI,CW)=>{var SW=C0(),FN=($,J,Q)=>new SW($,Q).compare(new SW(J,Q));CW.exports=FN});var PW=L((oI,MW)=>{var zN=g0(),wN=($,J,Q)=>zN(J,$,Q);MW.exports=wN});var IW=L((rI,KW)=>{var NN=g0(),AN=($,J)=>NN($,J,!0);KW.exports=AN});var h4=L((aI,bW)=>{var TW=C0(),jN=($,J,Q)=>{let X=new TW($,Q),Y=new TW(J,Q);return X.compare(Y)||X.compareBuild(Y)};bW.exports=jN});var kW=L((tI,fW)=>{var EN=h4(),LN=($,J)=>$.sort((Q,X)=>EN(Q,X,J));fW.exports=LN});var vW=L((eI,xW)=>{var ON=h4(),RN=($,J)=>$.sort((Q,X)=>ON(X,Q,J));xW.exports=RN});var W6=L(($T,hW)=>{var ZN=g0(),SN=($,J,Q)=>ZN($,J,Q)>0;hW.exports=SN});var g4=L((JT,gW)=>{var CN=g0(),MN=($,J,Q)=>CN($,J,Q)<0;gW.exports=MN});var I5=L((QT,yW)=>{var PN=g0(),KN=($,J,Q)=>PN($,J,Q)===0;yW.exports=KN});var T5=L((XT,uW)=>{var IN=g0(),TN=($,J,Q)=>IN($,J,Q)!==0;uW.exports=TN});var y4=L((YT,mW)=>{var bN=g0(),fN=($,J,Q)=>bN($,J,Q)>=0;mW.exports=fN});var u4=L((WT,lW)=>{var kN=g0(),xN=($,J,Q)=>kN($,J,Q)<=0;lW.exports=xN});var b5=L((HT,cW)=>{var vN=I5(),hN=T5(),gN=W6(),yN=y4(),uN=g4(),mN=u4(),lN=($,J,Q,X)=>{switch(J){case"===":if(typeof $==="object")$=$.version;if(typeof Q==="object")Q=Q.version;return $===Q;case"!==":if(typeof $==="object")$=$.version;if(typeof Q==="object")Q=Q.version;return $!==Q;case"":case"=":case"==":return vN($,Q,X);case"!=":return hN($,Q,X);case">":return gN($,Q,X);case">=":return yN($,Q,X);case"<":return uN($,Q,X);case"<=":return mN($,Q,X);default:throw TypeError(`Invalid operator: ${J}`)}};cW.exports=lN});var pW=L((GT,dW)=>{var cN=C0(),dN=F$(),{safeRe:m4,t:l4}=Y2(),pN=($,J)=>{if($ instanceof cN)return $;if(typeof $==="number")$=String($);if(typeof $!=="string")return null;J=J||{};let Q=null;if(!J.rtl)Q=$.match(J.includePrerelease?m4[l4.COERCEFULL]:m4[l4.COERCE]);else{let V=J.includePrerelease?m4[l4.COERCERTLFULL]:m4[l4.COERCERTL],U;while((U=V.exec($))&&(!Q||Q.index+Q[0].length!==$.length)){if(!Q||U.index+U[0].length!==Q.index+Q[0].length)Q=U;V.lastIndex=U.index+U[1].length+U[2].length}V.lastIndex=-1}if(Q===null)return null;let X=Q[2],Y=Q[3]||"0",W=Q[4]||"0",H=J.includePrerelease&&Q[5]?`-${Q[5]}`:"",G=J.includePrerelease&&Q[6]?`+${Q[6]}`:"";return dN(`${X}.${Y}.${W}${H}${G}`,J)};dW.exports=pN});var sW=L((VT,nW)=>{class iW{constructor(){this.max=1000,this.map=new Map}get($){let J=this.map.get($);if(J===void 0)return;else return this.map.delete($),this.map.set($,J),J}delete($){return this.map.delete($)}set($,J){if(!this.delete($)&&J!==void 0){if(this.map.size>=this.max){let X=this.map.keys().next().value;this.delete(X)}this.map.set($,J)}return this}}nW.exports=iW});var y0=L((UT,tW)=>{var iN=/\s+/g;class H6{constructor($,J){if(J=sN(J),$ instanceof H6)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else return new H6($.raw,J);if($ instanceof f5)return this.raw=$.value,this.set=[[$]],this.formatted=void 0,this;if(this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease,this.raw=$.trim().replace(iN," "),this.set=this.raw.split("||").map((Q)=>this.parseRange(Q.trim())).filter((Q)=>Q.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Q=this.set[0];if(this.set=this.set.filter((X)=>!rW(X[0])),this.set.length===0)this.set=[Q];else if(this.set.length>1){for(let X of this.set)if(X.length===1&&JA(X[0])){this.set=[X];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let $=0;$<this.set.length;$++){if($>0)this.formatted+="||";let J=this.set[$];for(let Q=0;Q<J.length;Q++){if(Q>0)this.formatted+=" ";this.formatted+=J[Q].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange($){let Q=((this.options.includePrerelease&&eN)|(this.options.loose&&$A))+":"+$,X=oW.get(Q);if(X)return X;let Y=this.options.loose,W=Y?K0[M0.HYPHENRANGELOOSE]:K0[M0.HYPHENRANGE];$=$.replace(W,_A(this.options.includePrerelease)),G0("hyphen replace",$),$=$.replace(K0[M0.COMPARATORTRIM],rN),G0("comparator trim",$),$=$.replace(K0[M0.TILDETRIM],aN),G0("tilde trim",$),$=$.replace(K0[M0.CARETTRIM],tN),G0("caret trim",$);let H=$.split(" ").map((q)=>QA(q,this.options)).join(" ").split(/\s+/).map((q)=>qA(q,this.options));if(Y)H=H.filter((q)=>{return G0("loose invalid filter",q,this.options),!!q.match(K0[M0.COMPARATORLOOSE])});G0("range list",H);let G=new Map,V=H.map((q)=>new f5(q,this.options));for(let q of V){if(rW(q))return[q];G.set(q.value,q)}if(G.size>1&&G.has(""))G.delete("");let U=[...G.values()];return oW.set(Q,U),U}intersects($,J){if(!($ instanceof H6))throw TypeError("a Range is required");return this.set.some((Q)=>{return aW(Q,J)&&$.set.some((X)=>{return aW(X,J)&&Q.every((Y)=>{return X.every((W)=>{return Y.intersects(W,J)})})})})}test($){if(!$)return!1;if(typeof $==="string")try{$=new oN($,this.options)}catch(J){return!1}for(let J=0;J<this.set.length;J++)if(DA(this.set[J],$,this.options))return!0;return!1}}tW.exports=H6;var nN=sW(),oW=new nN,sN=b4(),f5=G6(),G0=Y6(),oN=C0(),{safeRe:K0,t:M0,comparatorTrimReplace:rN,tildeTrimReplace:aN,caretTrimReplace:tN}=Y2(),{FLAG_INCLUDE_PRERELEASE:eN,FLAG_LOOSE:$A}=X6(),rW=($)=>$.value==="<0.0.0-0",JA=($)=>$.value==="",aW=($,J)=>{let Q=!0,X=$.slice(),Y=X.pop();while(Q&&X.length)Q=X.every((W)=>{return Y.intersects(W,J)}),Y=X.pop();return Q},QA=($,J)=>{return $=$.replace(K0[M0.BUILD],""),G0("comp",$,J),$=WA($,J),G0("caret",$),$=XA($,J),G0("tildes",$),$=GA($,J),G0("xrange",$),$=UA($,J),G0("stars",$),$},I0=($)=>!$||$.toLowerCase()==="x"||$==="*",XA=($,J)=>{return $.trim().split(/\s+/).map((Q)=>YA(Q,J)).join(" ")},YA=($,J)=>{let Q=J.loose?K0[M0.TILDELOOSE]:K0[M0.TILDE];return $.replace(Q,(X,Y,W,H,G)=>{G0("tilde",$,X,Y,W,H,G);let V;if(I0(Y))V="";else if(I0(W))V=`>=${Y}.0.0 <${+Y+1}.0.0-0`;else if(I0(H))V=`>=${Y}.${W}.0 <${Y}.${+W+1}.0-0`;else if(G)G0("replaceTilde pr",G),V=`>=${Y}.${W}.${H}-${G} <${Y}.${+W+1}.0-0`;else V=`>=${Y}.${W}.${H} <${Y}.${+W+1}.0-0`;return G0("tilde return",V),V})},WA=($,J)=>{return $.trim().split(/\s+/).map((Q)=>HA(Q,J)).join(" ")},HA=($,J)=>{G0("caret",$,J);let Q=J.loose?K0[M0.CARETLOOSE]:K0[M0.CARET],X=J.includePrerelease?"-0":"";return $.replace(Q,(Y,W,H,G,V)=>{G0("caret",$,Y,W,H,G,V);let U;if(I0(W))U="";else if(I0(H))U=`>=${W}.0.0${X} <${+W+1}.0.0-0`;else if(I0(G))if(W==="0")U=`>=${W}.${H}.0${X} <${W}.${+H+1}.0-0`;else U=`>=${W}.${H}.0${X} <${+W+1}.0.0-0`;else if(V)if(G0("replaceCaret pr",V),W==="0")if(H==="0")U=`>=${W}.${H}.${G}-${V} <${W}.${H}.${+G+1}-0`;else U=`>=${W}.${H}.${G}-${V} <${W}.${+H+1}.0-0`;else U=`>=${W}.${H}.${G}-${V} <${+W+1}.0.0-0`;else if(G0("no pr"),W==="0")if(H==="0")U=`>=${W}.${H}.${G}${X} <${W}.${H}.${+G+1}-0`;else U=`>=${W}.${H}.${G}${X} <${W}.${+H+1}.0-0`;else U=`>=${W}.${H}.${G} <${+W+1}.0.0-0`;return G0("caret return",U),U})},GA=($,J)=>{return G0("replaceXRanges",$,J),$.split(/\s+/).map((Q)=>VA(Q,J)).join(" ")},VA=($,J)=>{$=$.trim();let Q=J.loose?K0[M0.XRANGELOOSE]:K0[M0.XRANGE];return $.replace(Q,(X,Y,W,H,G,V)=>{G0("xRange",$,X,Y,W,H,G,V);let U=I0(W),q=U||I0(H),_=q||I0(G),F=_;if(Y==="="&&F)Y="";if(V=J.includePrerelease?"-0":"",U)if(Y===">"||Y==="<")X="<0.0.0-0";else X="*";else if(Y&&F){if(q)H=0;if(G=0,Y===">")if(Y=">=",q)W=+W+1,H=0,G=0;else H=+H+1,G=0;else if(Y==="<=")if(Y="<",q)W=+W+1;else H=+H+1;if(Y==="<")V="-0";X=`${Y+W}.${H}.${G}${V}`}else if(q)X=`>=${W}.0.0${V} <${+W+1}.0.0-0`;else if(_)X=`>=${W}.${H}.0${V} <${W}.${+H+1}.0-0`;return G0("xRange return",X),X})},UA=($,J)=>{return G0("replaceStars",$,J),$.trim().replace(K0[M0.STAR],"")},qA=($,J)=>{return G0("replaceGTE0",$,J),$.trim().replace(K0[J.includePrerelease?M0.GTE0PRE:M0.GTE0],"")},_A=($)=>(J,Q,X,Y,W,H,G,V,U,q,_,F)=>{if(I0(X))Q="";else if(I0(Y))Q=`>=${X}.0.0${$?"-0":""}`;else if(I0(W))Q=`>=${X}.${Y}.0${$?"-0":""}`;else if(H)Q=`>=${Q}`;else Q=`>=${Q}${$?"-0":""}`;if(I0(U))V="";else if(I0(q))V=`<${+U+1}.0.0-0`;else if(I0(_))V=`<${U}.${+q+1}.0-0`;else if(F)V=`<=${U}.${q}.${_}-${F}`;else if($)V=`<${U}.${q}.${+_+1}-0`;else V=`<=${V}`;return`${Q} ${V}`.trim()},DA=($,J,Q)=>{for(let X=0;X<$.length;X++)if(!$[X].test(J))return!1;if(J.prerelease.length&&!Q.includePrerelease){for(let X=0;X<$.length;X++){if(G0($[X].semver),$[X].semver===f5.ANY)continue;if($[X].semver.prerelease.length>0){let Y=$[X].semver;if(Y.major===J.major&&Y.minor===J.minor&&Y.patch===J.patch)return!0}}return!1}return!0}});var G6=L((qT,YH)=>{var V6=Symbol("SemVer ANY");class c4{static get ANY(){return V6}constructor($,J){if(J=eW(J),$ instanceof c4)if($.loose===!!J.loose)return $;else $=$.value;if($=$.trim().split(/\s+/).join(" "),x5("comparator",$,J),this.options=J,this.loose=!!J.loose,this.parse($),this.semver===V6)this.value="";else this.value=this.operator+this.semver.version;x5("comp",this)}parse($){let J=this.options.loose?$H[JH.COMPARATORLOOSE]:$H[JH.COMPARATOR],Q=$.match(J);if(!Q)throw TypeError(`Invalid comparator: ${$}`);if(this.operator=Q[1]!==void 0?Q[1]:"",this.operator==="=")this.operator="";if(!Q[2])this.semver=V6;else this.semver=new QH(Q[2],this.options.loose)}toString(){return this.value}test($){if(x5("Comparator.test",$,this.options.loose),this.semver===V6||$===V6)return!0;if(typeof $==="string")try{$=new QH($,this.options)}catch(J){return!1}return k5($,this.operator,this.semver,this.options)}intersects($,J){if(!($ instanceof c4))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new XH($.value,J).test(this.value)}else if($.operator===""){if($.value==="")return!0;return new XH(this.value,J).test($.semver)}if(J=eW(J),J.includePrerelease&&(this.value==="<0.0.0-0"||$.value==="<0.0.0-0"))return!1;if(!J.includePrerelease&&(this.value.startsWith("<0.0.0")||$.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&$.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&$.operator.startsWith("<"))return!0;if(this.semver.version===$.semver.version&&this.operator.includes("=")&&$.operator.includes("="))return!0;if(k5(this.semver,"<",$.semver,J)&&this.operator.startsWith(">")&&$.operator.startsWith("<"))return!0;if(k5(this.semver,">",$.semver,J)&&this.operator.startsWith("<")&&$.operator.startsWith(">"))return!0;return!1}}YH.exports=c4;var eW=b4(),{safeRe:$H,t:JH}=Y2(),k5=b5(),x5=Y6(),QH=C0(),XH=y0()});var U6=L((_T,WH)=>{var BA=y0(),FA=($,J,Q)=>{try{J=new BA(J,Q)}catch(X){return!1}return J.test($)};WH.exports=FA});var GH=L((DT,HH)=>{var zA=y0(),wA=($,J)=>new zA($,J).set.map((Q)=>Q.map((X)=>X.value).join(" ").trim().split(" "));HH.exports=wA});var UH=L((BT,VH)=>{var NA=C0(),AA=y0(),jA=($,J,Q)=>{let X=null,Y=null,W=null;try{W=new AA(J,Q)}catch(H){return null}return $.forEach((H)=>{if(W.test(H)){if(!X||Y.compare(H)===-1)X=H,Y=new NA(X,Q)}}),X};VH.exports=jA});var _H=L((FT,qH)=>{var EA=C0(),LA=y0(),OA=($,J,Q)=>{let X=null,Y=null,W=null;try{W=new LA(J,Q)}catch(H){return null}return $.forEach((H)=>{if(W.test(H)){if(!X||Y.compare(H)===1)X=H,Y=new EA(X,Q)}}),X};qH.exports=OA});var FH=L((zT,BH)=>{var v5=C0(),RA=y0(),DH=W6(),ZA=($,J)=>{$=new RA($,J);let Q=new v5("0.0.0");if($.test(Q))return Q;if(Q=new v5("0.0.0-0"),$.test(Q))return Q;Q=null;for(let X=0;X<$.set.length;++X){let Y=$.set[X],W=null;if(Y.forEach((H)=>{let G=new v5(H.semver.version);switch(H.operator){case">":if(G.prerelease.length===0)G.patch++;else G.prerelease.push(0);G.raw=G.format();case"":case">=":if(!W||DH(G,W))W=G;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${H.operator}`)}}),W&&(!Q||DH(Q,W)))Q=W}if(Q&&$.test(Q))return Q;return null};BH.exports=ZA});var wH=L((wT,zH)=>{var SA=y0(),CA=($,J)=>{try{return new SA($,J).range||"*"}catch(Q){return null}};zH.exports=CA});var d4=L((NT,EH)=>{var MA=C0(),jH=G6(),{ANY:PA}=jH,KA=y0(),IA=U6(),NH=W6(),AH=g4(),TA=u4(),bA=y4(),fA=($,J,Q,X)=>{$=new MA($,X),J=new KA(J,X);let Y,W,H,G,V;switch(Q){case">":Y=NH,W=TA,H=AH,G=">",V=">=";break;case"<":Y=AH,W=bA,H=NH,G="<",V="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(IA($,J,X))return!1;for(let U=0;U<J.set.length;++U){let q=J.set[U],_=null,F=null;if(q.forEach((B)=>{if(B.semver===PA)B=new jH(">=0.0.0");if(_=_||B,F=F||B,Y(B.semver,_.semver,X))_=B;else if(H(B.semver,F.semver,X))F=B}),_.operator===G||_.operator===V)return!1;if((!F.operator||F.operator===G)&&W($,F.semver))return!1;else if(F.operator===V&&H($,F.semver))return!1}return!0};EH.exports=fA});var OH=L((AT,LH)=>{var kA=d4(),xA=($,J,Q)=>kA($,J,">",Q);LH.exports=xA});var ZH=L((jT,RH)=>{var vA=d4(),hA=($,J,Q)=>vA($,J,"<",Q);RH.exports=hA});var MH=L((ET,CH)=>{var SH=y0(),gA=($,J,Q)=>{return $=new SH($,Q),J=new SH(J,Q),$.intersects(J,Q)};CH.exports=gA});var KH=L((LT,PH)=>{var yA=U6(),uA=g0();PH.exports=($,J,Q)=>{let X=[],Y=null,W=null,H=$.sort((q,_)=>uA(q,_,Q));for(let q of H)if(yA(q,J,Q)){if(W=q,!Y)Y=q}else{if(W)X.push([Y,W]);W=null,Y=null}if(Y)X.push([Y,null]);let G=[];for(let[q,_]of X)if(q===_)G.push(q);else if(!_&&q===H[0])G.push("*");else if(!_)G.push(`>=${q}`);else if(q===H[0])G.push(`<=${_}`);else G.push(`${q} - ${_}`);let V=G.join(" || "),U=typeof J.raw==="string"?J.raw:String(J);return V.length<U.length?V:J}});var xH=L((OT,kH)=>{var IH=y0(),g5=G6(),{ANY:h5}=g5,q6=U6(),y5=g0(),mA=($,J,Q={})=>{if($===J)return!0;$=new IH($,Q),J=new IH(J,Q);let X=!1;$:for(let Y of $.set){for(let W of J.set){let H=cA(Y,W,Q);if(X=X||H!==null,H)continue $}if(X)return!1}return!0},lA=[new g5(">=0.0.0-0")],TH=[new g5(">=0.0.0")],cA=($,J,Q)=>{if($===J)return!0;if($.length===1&&$[0].semver===h5)if(J.length===1&&J[0].semver===h5)return!0;else if(Q.includePrerelease)$=lA;else $=TH;if(J.length===1&&J[0].semver===h5)if(Q.includePrerelease)return!0;else J=TH;let X=new Set,Y,W;for(let B of $)if(B.operator===">"||B.operator===">=")Y=bH(Y,B,Q);else if(B.operator==="<"||B.operator==="<=")W=fH(W,B,Q);else X.add(B.semver);if(X.size>1)return null;let H;if(Y&&W){if(H=y5(Y.semver,W.semver,Q),H>0)return null;else if(H===0&&(Y.operator!==">="||W.operator!=="<="))return null}for(let B of X){if(Y&&!q6(B,String(Y),Q))return null;if(W&&!q6(B,String(W),Q))return null;for(let D of J)if(!q6(B,String(D),Q))return!1;return!0}let G,V,U,q,_=W&&!Q.includePrerelease&&W.semver.prerelease.length?W.semver:!1,F=Y&&!Q.includePrerelease&&Y.semver.prerelease.length?Y.semver:!1;if(_&&_.prerelease.length===1&&W.operator==="<"&&_.prerelease[0]===0)_=!1;for(let B of J){if(q=q||B.operator===">"||B.operator===">=",U=U||B.operator==="<"||B.operator==="<=",Y){if(F){if(B.semver.prerelease&&B.semver.prerelease.length&&B.semver.major===F.major&&B.semver.minor===F.minor&&B.semver.patch===F.patch)F=!1}if(B.operator===">"||B.operator===">="){if(G=bH(Y,B,Q),G===B&&G!==Y)return!1}else if(Y.operator===">="&&!q6(Y.semver,String(B),Q))return!1}if(W){if(_){if(B.semver.prerelease&&B.semver.prerelease.length&&B.semver.major===_.major&&B.semver.minor===_.minor&&B.semver.patch===_.patch)_=!1}if(B.operator==="<"||B.operator==="<="){if(V=fH(W,B,Q),V===B&&V!==W)return!1}else if(W.operator==="<="&&!q6(W.semver,String(B),Q))return!1}if(!B.operator&&(W||Y)&&H!==0)return!1}if(Y&&U&&!W&&H!==0)return!1;if(W&&q&&!Y&&H!==0)return!1;if(F||_)return!1;return!0},bH=($,J,Q)=>{if(!$)return J;let X=y5($.semver,J.semver,Q);return X>0?$:X<0?J:J.operator===">"&&$.operator===">="?J:$},fH=($,J,Q)=>{if(!$)return J;let X=y5($.semver,J.semver,Q);return X<0?$:X>0?J:J.operator==="<"&&$.operator==="<="?J:$};kH.exports=mA});var p4=L((RT,gH)=>{var u5=Y2(),vH=X6(),dA=C0(),hH=P5(),pA=F$(),iA=VW(),nA=qW(),sA=BW(),oA=wW(),rA=AW(),aA=EW(),tA=OW(),eA=ZW(),$j=g0(),Jj=PW(),Qj=IW(),Xj=h4(),Yj=kW(),Wj=vW(),Hj=W6(),Gj=g4(),Vj=I5(),Uj=T5(),qj=y4(),_j=u4(),Dj=b5(),Bj=pW(),Fj=G6(),zj=y0(),wj=U6(),Nj=GH(),Aj=UH(),jj=_H(),Ej=FH(),Lj=wH(),Oj=d4(),Rj=OH(),Zj=ZH(),Sj=MH(),Cj=KH(),Mj=xH();gH.exports={parse:pA,valid:iA,clean:nA,inc:sA,diff:oA,major:rA,minor:aA,patch:tA,prerelease:eA,compare:$j,rcompare:Jj,compareLoose:Qj,compareBuild:Xj,sort:Yj,rsort:Wj,gt:Hj,lt:Gj,eq:Vj,neq:Uj,gte:qj,lte:_j,cmp:Dj,coerce:Bj,Comparator:Fj,Range:zj,satisfies:wj,toComparators:Nj,maxSatisfying:Aj,minSatisfying:jj,minVersion:Ej,validRange:Lj,outside:Oj,gtr:Rj,ltr:Zj,intersects:Sj,simplifyRange:Cj,subset:Mj,SemVer:dA,re:u5.re,src:u5.src,tokens:u5.t,SEMVER_SPEC_VERSION:vH.SEMVER_SPEC_VERSION,RELEASE_TYPES:vH.RELEASE_TYPES,compareIdentifiers:hH.compareIdentifiers,rcompareIdentifiers:hH.rcompareIdentifiers}});var uH=L((ZT,yH)=>{var Pj=p4();yH.exports=Pj.satisfies(process.version,">=15.7.0")});var lH=L((ST,mH)=>{var Kj=p4();mH.exports=Kj.satisfies(process.version,">=16.9.0")});var m5=L((CT,cH)=>{var Ij=uH(),Tj=lH(),bj={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},fj={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};cH.exports=function($,J){if(!$||!J)return;let Q=J.asymmetricKeyType;if(!Q)return;let X=bj[Q];if(!X)throw Error(`Unknown key type "${Q}".`);if(!X.includes($))throw Error(`"alg" parameter for "${Q}" key type must be one of: ${X.join(", ")}.`);if(Ij)switch(Q){case"ec":let Y=J.asymmetricKeyDetails.namedCurve,W=fj[$];if(Y!==W)throw Error(`"alg" parameter "${$}" requires curve "${W}".`);break;case"rsa-pss":if(Tj){let H=parseInt($.slice(-3),10),{hashAlgorithm:G,mgf1HashAlgorithm:V,saltLength:U}=J.asymmetricKeyDetails;if(G!==`sha${H}`||V!==G)throw Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${$}.`);if(U!==void 0&&U>H>>3)throw Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${$}.`)}break}}});var l5=L((MT,dH)=>{var kj=p4();dH.exports=kj.satisfies(process.version,"^6.12.0 || >=8.0.0")});var nH=L((PT,iH)=>{var W0=Q6(),xj=R5(),pH=Z5(),vj=O5(),hj=S5(),gj=m5(),yj=l5(),uj=M4(),{KeyObject:mj,createSecretKey:lj,createPublicKey:cj}=require("crypto"),c5=["RS256","RS384","RS512"],dj=["ES256","ES384","ES512"],d5=["RS256","RS384","RS512"],pj=["HS256","HS384","HS512"];if(yj)c5.splice(c5.length,0,"PS256","PS384","PS512"),d5.splice(d5.length,0,"PS256","PS384","PS512");iH.exports=function($,J,Q,X){if(typeof Q==="function"&&!X)X=Q,Q={};if(!Q)Q={};Q=Object.assign({},Q);let Y;if(X)Y=X;else Y=function(q,_){if(q)throw q;return _};if(Q.clockTimestamp&&typeof Q.clockTimestamp!=="number")return Y(new W0("clockTimestamp must be a number"));if(Q.nonce!==void 0&&(typeof Q.nonce!=="string"||Q.nonce.trim()===""))return Y(new W0("nonce must be a non-empty string"));if(Q.allowInvalidAsymmetricKeyTypes!==void 0&&typeof Q.allowInvalidAsymmetricKeyTypes!=="boolean")return Y(new W0("allowInvalidAsymmetricKeyTypes must be a boolean"));let W=Q.clockTimestamp||Math.floor(Date.now()/1000);if(!$)return Y(new W0("jwt must be provided"));if(typeof $!=="string")return Y(new W0("jwt must be a string"));let H=$.split(".");if(H.length!==3)return Y(new W0("jwt malformed"));let G;try{G=vj($,{complete:!0})}catch(q){return Y(q)}if(!G)return Y(new W0("invalid token"));let V=G.header,U;if(typeof J==="function"){if(!X)return Y(new W0("verify must be called asynchronous if secret or public key is provided as a callback"));U=J}else U=function(q,_){return _(null,J)};return U(V,function(q,_){if(q)return Y(new W0("error in secret or public key callback: "+q.message));let F=H[2].trim()!=="";if(!F&&_)return Y(new W0("jwt signature is required"));if(F&&!_)return Y(new W0("secret or public key must be provided"));if(!F&&!Q.algorithms)return Y(new W0('please specify "none" in "algorithms" to verify unsigned tokens'));if(_!=null&&!(_ instanceof mj))try{_=cj(_)}catch(A){try{_=lj(typeof _==="string"?Buffer.from(_):_)}catch(Z){return Y(new W0("secretOrPublicKey is not valid key material"))}}if(!Q.algorithms)if(_.type==="secret")Q.algorithms=pj;else if(["rsa","rsa-pss"].includes(_.asymmetricKeyType))Q.algorithms=d5;else if(_.asymmetricKeyType==="ec")Q.algorithms=dj;else Q.algorithms=c5;if(Q.algorithms.indexOf(G.header.alg)===-1)return Y(new W0("invalid algorithm"));if(V.alg.startsWith("HS")&&_.type!=="secret")return Y(new W0(`secretOrPublicKey must be a symmetric key when using ${V.alg}`));else if(/^(?:RS|PS|ES)/.test(V.alg)&&_.type!=="public")return Y(new W0(`secretOrPublicKey must be an asymmetric key when using ${V.alg}`));if(!Q.allowInvalidAsymmetricKeyTypes)try{gj(V.alg,_)}catch(A){return Y(A)}let B;try{B=uj.verify($,G.header.alg,_)}catch(A){return Y(A)}if(!B)return Y(new W0("invalid signature"));let D=G.payload;if(typeof D.nbf<"u"&&!Q.ignoreNotBefore){if(typeof D.nbf!=="number")return Y(new W0("invalid nbf value"));if(D.nbf>W+(Q.clockTolerance||0))return Y(new xj("jwt not active",new Date(D.nbf*1000)))}if(typeof D.exp<"u"&&!Q.ignoreExpiration){if(typeof D.exp!=="number")return Y(new W0("invalid exp value"));if(W>=D.exp+(Q.clockTolerance||0))return Y(new pH("jwt expired",new Date(D.exp*1000)))}if(Q.audience){let A=Array.isArray(Q.audience)?Q.audience:[Q.audience];if(!(Array.isArray(D.aud)?D.aud:[D.aud]).some(function(T){return A.some(function(K){return K instanceof RegExp?K.test(T):K===T})}))return Y(new W0("jwt audience invalid. expected: "+A.join(" or ")))}if(Q.issuer){if(typeof Q.issuer==="string"&&D.iss!==Q.issuer||Array.isArray(Q.issuer)&&Q.issuer.indexOf(D.iss)===-1)return Y(new W0("jwt issuer invalid. expected: "+Q.issuer))}if(Q.subject){if(D.sub!==Q.subject)return Y(new W0("jwt subject invalid. expected: "+Q.subject))}if(Q.jwtid){if(D.jti!==Q.jwtid)return Y(new W0("jwt jwtid invalid. expected: "+Q.jwtid))}if(Q.nonce){if(D.nonce!==Q.nonce)return Y(new W0("jwt nonce invalid. expected: "+Q.nonce))}if(Q.maxAge){if(typeof D.iat!=="number")return Y(new W0("iat required when maxAge is specified"));let A=hj(Q.maxAge,D.iat);if(typeof A>"u")return Y(new W0('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(W>=A+(Q.clockTolerance||0))return Y(new pH("maxAge exceeded",new Date(A*1000)))}if(Q.complete===!0){let A=G.signature;return Y(null,{header:V,payload:D,signature:A})}return Y(null,D)})}});var eH=L((KT,tH)=>{var sH=1/0,rH=9007199254740991,ij=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,oH=NaN,nj="[object Arguments]",sj="[object Function]",oj="[object GeneratorFunction]",rj="[object String]",aj="[object Symbol]",tj=/^\s+|\s+$/g,ej=/^[-+]0x[0-9a-f]+$/i,$E=/^0b[01]+$/i,JE=/^0o[0-7]+$/i,QE=/^(?:0|[1-9]\d*)$/,XE=parseInt;function YE($,J){var Q=-1,X=$?$.length:0,Y=Array(X);while(++Q<X)Y[Q]=J($[Q],Q,$);return Y}function WE($,J,Q,X){var Y=$.length,W=Q+(X?1:-1);while(X?W--:++W<Y)if(J($[W],W,$))return W;return-1}function HE($,J,Q){if(J!==J)return WE($,GE,Q);var X=Q-1,Y=$.length;while(++X<Y)if($[X]===J)return X;return-1}function GE($){return $!==$}function VE($,J){var Q=-1,X=Array($);while(++Q<$)X[Q]=J(Q);return X}function UE($,J){return YE(J,function(Q){return $[Q]})}function qE($,J){return function(Q){return $(J(Q))}}var i4=Object.prototype,i5=i4.hasOwnProperty,n4=i4.toString,_E=i4.propertyIsEnumerable,DE=qE(Object.keys,Object),BE=Math.max;function FE($,J){var Q=aH($)||jE($)?VE($.length,String):[],X=Q.length,Y=!!X;for(var W in $)if((J||i5.call($,W))&&!(Y&&(W=="length"||wE(W,X))))Q.push(W);return Q}function zE($){if(!NE($))return DE($);var J=[];for(var Q in Object($))if(i5.call($,Q)&&Q!="constructor")J.push(Q);return J}function wE($,J){return J=J==null?rH:J,!!J&&(typeof $=="number"||QE.test($))&&($>-1&&$%1==0&&$<J)}function NE($){var J=$&&$.constructor,Q=typeof J=="function"&&J.prototype||i4;return $===Q}function AE($,J,Q,X){$=n5($)?$:KE($),Q=Q&&!X?CE(Q):0;var Y=$.length;if(Q<0)Q=BE(Y+Q,0);return RE($)?Q<=Y&&$.indexOf(J,Q)>-1:!!Y&&HE($,J,Q)>-1}function jE($){return EE($)&&i5.call($,"callee")&&(!_E.call($,"callee")||n4.call($)==nj)}var aH=Array.isArray;function n5($){return $!=null&&OE($.length)&&!LE($)}function EE($){return s5($)&&n5($)}function LE($){var J=p5($)?n4.call($):"";return J==sj||J==oj}function OE($){return typeof $=="number"&&$>-1&&$%1==0&&$<=rH}function p5($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function s5($){return!!$&&typeof $=="object"}function RE($){return typeof $=="string"||!aH($)&&s5($)&&n4.call($)==rj}function ZE($){return typeof $=="symbol"||s5($)&&n4.call($)==aj}function SE($){if(!$)return $===0?$:0;if($=ME($),$===sH||$===-sH){var J=$<0?-1:1;return J*ij}return $===$?$:0}function CE($){var J=SE($),Q=J%1;return J===J?Q?J-Q:J:0}function ME($){if(typeof $=="number")return $;if(ZE($))return oH;if(p5($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=p5(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(tj,"");var Q=$E.test($);return Q||JE.test($)?XE($.slice(2),Q?2:8):ej.test($)?oH:+$}function PE($){return n5($)?FE($):zE($)}function KE($){return $?UE($,PE($)):[]}tH.exports=AE});var JG=L((IT,$G)=>{var IE="[object Boolean]",TE=Object.prototype,bE=TE.toString;function fE($){return $===!0||$===!1||kE($)&&bE.call($)==IE}function kE($){return!!$&&typeof $=="object"}$G.exports=fE});var HG=L((TT,WG)=>{var QG=1/0,xE=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,XG=NaN,vE="[object Symbol]",hE=/^\s+|\s+$/g,gE=/^[-+]0x[0-9a-f]+$/i,yE=/^0b[01]+$/i,uE=/^0o[0-7]+$/i,mE=parseInt,lE=Object.prototype,cE=lE.toString;function dE($){return typeof $=="number"&&$==sE($)}function YG($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function pE($){return!!$&&typeof $=="object"}function iE($){return typeof $=="symbol"||pE($)&&cE.call($)==vE}function nE($){if(!$)return $===0?$:0;if($=oE($),$===QG||$===-QG){var J=$<0?-1:1;return J*xE}return $===$?$:0}function sE($){var J=nE($),Q=J%1;return J===J?Q?J-Q:J:0}function oE($){if(typeof $=="number")return $;if(iE($))return XG;if(YG($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=YG(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(hE,"");var Q=yE.test($);return Q||uE.test($)?mE($.slice(2),Q?2:8):gE.test($)?XG:+$}WG.exports=dE});var VG=L((bT,GG)=>{var rE="[object Number]",aE=Object.prototype,tE=aE.toString;function eE($){return!!$&&typeof $=="object"}function $L($){return typeof $=="number"||eE($)&&tE.call($)==rE}GG.exports=$L});var DG=L((fT,_G)=>{var JL="[object Object]";function QL($){var J=!1;if($!=null&&typeof $.toString!="function")try{J=!!($+"")}catch(Q){}return J}function XL($,J){return function(Q){return $(J(Q))}}var YL=Function.prototype,UG=Object.prototype,qG=YL.toString,WL=UG.hasOwnProperty,HL=qG.call(Object),GL=UG.toString,VL=XL(Object.getPrototypeOf,Object);function UL($){return!!$&&typeof $=="object"}function qL($){if(!UL($)||GL.call($)!=JL||QL($))return!1;var J=VL($);if(J===null)return!0;var Q=WL.call(J,"constructor")&&J.constructor;return typeof Q=="function"&&Q instanceof Q&&qG.call(Q)==HL}_G.exports=qL});var FG=L((kT,BG)=>{var _L="[object String]",DL=Object.prototype,BL=DL.toString,FL=Array.isArray;function zL($){return!!$&&typeof $=="object"}function wL($){return typeof $=="string"||!FL($)&&zL($)&&BL.call($)==_L}BG.exports=wL});var jG=L((xT,AG)=>{var NL="Expected a function",zG=1/0,AL=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,wG=NaN,jL="[object Symbol]",EL=/^\s+|\s+$/g,LL=/^[-+]0x[0-9a-f]+$/i,OL=/^0b[01]+$/i,RL=/^0o[0-7]+$/i,ZL=parseInt,SL=Object.prototype,CL=SL.toString;function ML($,J){var Q;if(typeof J!="function")throw TypeError(NL);return $=bL($),function(){if(--$>0)Q=J.apply(this,arguments);if($<=1)J=void 0;return Q}}function PL($){return ML(2,$)}function NG($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function KL($){return!!$&&typeof $=="object"}function IL($){return typeof $=="symbol"||KL($)&&CL.call($)==jL}function TL($){if(!$)return $===0?$:0;if($=fL($),$===zG||$===-zG){var J=$<0?-1:1;return J*AL}return $===$?$:0}function bL($){var J=TL($),Q=J%1;return J===J?Q?J-Q:J:0}function fL($){if(typeof $=="number")return $;if(IL($))return wG;if(NG($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=NG(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(EL,"");var Q=OL.test($);return Q||RL.test($)?ZL($.slice(2),Q?2:8):LL.test($)?wG:+$}AG.exports=PL});var PG=L((vT,MG)=>{var EG=S5(),kL=l5(),xL=m5(),LG=M4(),vL=eH(),s4=JG(),OG=HG(),o5=VG(),ZG=DG(),y1=FG(),hL=jG(),{KeyObject:gL,createSecretKey:yL,createPrivateKey:uL}=require("crypto"),SG=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(kL)SG.splice(3,0,"PS256","PS384","PS512");var mL={expiresIn:{isValid:function($){return OG($)||y1($)&&$},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function($){return OG($)||y1($)&&$},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function($){return y1($)||Array.isArray($)},message:'"audience" must be a string or array'},algorithm:{isValid:vL.bind(null,SG),message:'"algorithm" must be a valid string enum value'},header:{isValid:ZG,message:'"header" must be an object'},encoding:{isValid:y1,message:'"encoding" must be a string'},issuer:{isValid:y1,message:'"issuer" must be a string'},subject:{isValid:y1,message:'"subject" must be a string'},jwtid:{isValid:y1,message:'"jwtid" must be a string'},noTimestamp:{isValid:s4,message:'"noTimestamp" must be a boolean'},keyid:{isValid:y1,message:'"keyid" must be a string'},mutatePayload:{isValid:s4,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:s4,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:s4,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},lL={iat:{isValid:o5,message:'"iat" should be a number of seconds'},exp:{isValid:o5,message:'"exp" should be a number of seconds'},nbf:{isValid:o5,message:'"nbf" should be a number of seconds'}};function CG($,J,Q,X){if(!ZG(Q))throw Error('Expected "'+X+'" to be a plain object.');Object.keys(Q).forEach(function(Y){let W=$[Y];if(!W){if(!J)throw Error('"'+Y+'" is not allowed in "'+X+'"');return}if(!W.isValid(Q[Y]))throw Error(W.message)})}function cL($){return CG(mL,!1,$,"options")}function dL($){return CG(lL,!0,$,"payload")}var RG={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},pL=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];MG.exports=function($,J,Q,X){if(typeof Q==="function")X=Q,Q={};else Q=Q||{};let Y=typeof $==="object"&&!Buffer.isBuffer($),W=Object.assign({alg:Q.algorithm||"HS256",typ:Y?"JWT":void 0,kid:Q.keyid},Q.header);function H(U){if(X)return X(U);throw U}if(!J&&Q.algorithm!=="none")return H(Error("secretOrPrivateKey must have a value"));if(J!=null&&!(J instanceof gL))try{J=uL(J)}catch(U){try{J=yL(typeof J==="string"?Buffer.from(J):J)}catch(q){return H(Error("secretOrPrivateKey is not valid key material"))}}if(W.alg.startsWith("HS")&&J.type!=="secret")return H(Error(`secretOrPrivateKey must be a symmetric key when using ${W.alg}`));else if(/^(?:RS|PS|ES)/.test(W.alg)){if(J.type!=="private")return H(Error(`secretOrPrivateKey must be an asymmetric key when using ${W.alg}`));if(!Q.allowInsecureKeySizes&&!W.alg.startsWith("ES")&&J.asymmetricKeyDetails!==void 0&&J.asymmetricKeyDetails.modulusLength<2048)return H(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`))}if(typeof $>"u")return H(Error("payload is required"));else if(Y){try{dL($)}catch(U){return H(U)}if(!Q.mutatePayload)$=Object.assign({},$)}else{let U=pL.filter(function(q){return typeof Q[q]<"u"});if(U.length>0)return H(Error("invalid "+U.join(",")+" option for "+typeof $+" payload"))}if(typeof $.exp<"u"&&typeof Q.expiresIn<"u")return H(Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof $.nbf<"u"&&typeof Q.notBefore<"u")return H(Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{cL(Q)}catch(U){return H(U)}if(!Q.allowInvalidAsymmetricKeyTypes)try{xL(W.alg,J)}catch(U){return H(U)}let G=$.iat||Math.floor(Date.now()/1000);if(Q.noTimestamp)delete $.iat;else if(Y)$.iat=G;if(typeof Q.notBefore<"u"){try{$.nbf=EG(Q.notBefore,G)}catch(U){return H(U)}if(typeof $.nbf>"u")return H(Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof Q.expiresIn<"u"&&typeof $==="object"){try{$.exp=EG(Q.expiresIn,G)}catch(U){return H(U)}if(typeof $.exp>"u")return H(Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(RG).forEach(function(U){let q=RG[U];if(typeof Q[U]<"u"){if(typeof $[q]<"u")return H(Error('Bad "options.'+U+'" option. The payload already has an "'+q+'" property.'));$[q]=Q[U]}});let V=Q.encoding||"utf8";if(typeof X==="function")X=X&&hL(X),LG.createSign({header:W,privateKey:J,payload:$,encoding:V}).once("error",X).once("done",function(U){if(!Q.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&U.length<256)return X(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`));X(null,U)});else{let U=LG.sign({header:W,payload:$,secret:J,encoding:V});if(!Q.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&U.length<256)throw Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`);return U}}});var IG=L((hT,KG)=>{KG.exports={decode:O5(),verify:nH(),sign:PG(),JsonWebTokenError:Q6(),NotBeforeError:R5(),TokenExpiredError:Z5()}});var VV={};Z0(VV,{setGlobalTransactionManager:()=>l0,getGlobalTransactionManager:()=>I1,InMemoryTransactionManager:()=>w$,BaseTransactionManager:()=>Y1});class Y1{activeTransactions=new Map;requestTransactions=new WeakMap;isActive($){return this.activeTransactions.has($.id)}setRollbackOnly($){$.rollbackOnly=!0}createTransactionContext($){let J={id:crypto.randomUUID(),startTime:new Date,isolation:$?.isolation,timeout:$?.timeout,readOnly:$?.readOnly,savepoints:[],rollbackOnly:!1};return this.activeTransactions.set(J.id,J),J}removeTransactionContext($){this.activeTransactions.delete($.id)}getRequestTransaction($){return this.requestTransactions.get($)}setRequestTransaction($,J){this.requestTransactions.set($,J)}clearRequestTransaction($){this.requestTransactions.delete($)}async handleTransactional($,J,Q,X,Y){let W=Reflect.getMetadata("transactional",$,J);if(!W)return X.apply($,Q);let H=Y?this.getRequestTransaction(Y):null;switch(W.propagation||"REQUIRED"){case"REQUIRED":return H?this.executeInExistingTransaction(H,$,Q,X,W):this.executeInNewTransaction($,Q,X,W,Y);case"REQUIRES_NEW":return this.executeInNewTransaction($,Q,X,W,Y);case"SUPPORTS":return H?this.executeInExistingTransaction(H,$,Q,X,W):X.apply($,Q);case"NOT_SUPPORTED":return X.apply($,Q);case"MANDATORY":if(!H)throw Error("Transaction is mandatory but no existing transaction found");return this.executeInExistingTransaction(H,$,Q,X,W);case"NEVER":if(H)throw Error("Transaction is not allowed but existing transaction found");return X.apply($,Q);default:return H?this.executeInExistingTransaction(H,$,Q,X,W):this.executeInNewTransaction($,Q,X,W,Y)}}async executeInNewTransaction($,J,Q,X,Y){let W=await this.begin(X);if(Y)this.setRequestTransaction(Y,W);try{let H=await Q.apply($,J);if(W.rollbackOnly)throw await this.rollback(W),Error("Transaction marked for rollback");return await this.commit(W),H}catch(H){throw await this.rollback(W),H}finally{if(Y)this.clearRequestTransaction(Y);this.removeTransactionContext(W)}}async executeInExistingTransaction($,J,Q,X,Y){return this.handleNestedTransaction($,J,Q,X)}async handleNestedTransaction($,J,Q,X){let Y=`sp_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;try{return await this.savepoint($,Y),await X.apply(J,Q)}catch(W){throw await this.rollbackToSavepoint($,Y),W}}}function l0($){t4=$}function I1(){if(!t4)t4=new w$;return t4}var w$,t4=null;var c0=X0(()=>{w$=class w$ extends Y1{transactions=new Map;currentTransactionId=null;async begin($){let J=this.createTransactionContext($);return this.transactions.set(J.id,{operations:[],committed:!1,rolledBack:!1}),this.currentTransactionId=J.id,J}async commit($){let J=this.transactions.get($.id);if(!J)throw Error(`Transaction ${$.id} not found`);if(J.rolledBack)throw Error(`Transaction ${$.id} already rolled back`);if(J.committed=!0,typeof globalThis.mockDatabase?.commitTransaction==="function")globalThis.mockDatabase.commitTransaction($.id);if(this.transactions.delete($.id),this.removeTransactionContext($),this.currentTransactionId===$.id)this.currentTransactionId=null}async rollback($){let J=this.transactions.get($.id);if(!J)throw Error(`Transaction ${$.id} not found`);if(J.rolledBack=!0,typeof globalThis.mockDatabase?.rollbackTransaction==="function")globalThis.mockDatabase.rollbackTransaction($.id);if(this.transactions.delete($.id),this.removeTransactionContext($),this.currentTransactionId===$.id)this.currentTransactionId=null}async savepoint($,J){$.savepoints.push(J);let Q=this.transactions.get($.id);if(Q)Q.savepoints=Q.savepoints||[],Q.savepoints.push(J)}async rollbackToSavepoint($,J){let Q=$.savepoints.indexOf(J);if(Q===-1)throw Error(`Savepoint ${J} not found`);$.savepoints=$.savepoints.slice(0,Q+1);let X=this.transactions.get($.id);if(X&&X.savepoints)X.savepoints=X.savepoints.slice(0,Q+1)}}});var KB={};Z0(KB,{mergeVeloceCorsHeaders:()=>j1,createSimpleRequestIdMiddleware:()=>V9,createRequestContextMiddleware:()=>G9,createRateLimitMiddleware:()=>d1,createCorsMiddleware:()=>z2,createCompressionMiddleware:()=>w2,createCacheMiddleware:()=>w9,createCacheInvalidationMiddleware:()=>N9,VELOCE_CORS_HEADERS_KEY:()=>U8});module.exports=T0(KB);var U8="veloce:corsHeaders";function j1($,J){let Q=$.get("veloce:corsHeaders");if(!Q||Object.keys(Q).length===0)return J;let X=new Headers(J.headers);for(let[Y,W]of Object.entries(Q))if(W!==void 0&&W!=="")X.set(Y,W);return new Response(J.body,{status:J.status,statusText:J.statusText,headers:X})}function z2($){let{origin:J="*",methods:Q=["GET","POST","PUT","DELETE","PATCH","OPTIONS"],allowedHeaders:X=["Content-Type","Authorization"],exposedHeaders:Y=[],credentials:W=!1,maxAge:H=86400}=$||{};return async(G,V)=>{let U=G.req.header("origin"),q=G.req.method,_=null;if(typeof J==="string")_=J;else if(Array.isArray(J)){if(U&&J.includes(U))_=U}else if(typeof J==="function"){if(U&&J(U))_=U}let F={};if(_)G.header("Access-Control-Allow-Origin",_),F["Access-Control-Allow-Origin"]=_;if(W)G.header("Access-Control-Allow-Credentials","true"),F["Access-Control-Allow-Credentials"]="true";if(Y.length>0){let B=Y.join(", ");G.header("Access-Control-Expose-Headers",B),F["Access-Control-Expose-Headers"]=B}if(q==="OPTIONS"){if(!_)return G.set("veloce:corsHeaders",F),G.body(null,403);return G.header("Access-Control-Allow-Methods",Q.join(", ")),G.header("Access-Control-Allow-Headers",X.join(", ")),G.header("Access-Control-Max-Age",H.toString()),G.set("veloce:corsHeaders",F),G.body(null,204)}G.set("veloce:corsHeaders",F),await V()}}function d1($){let{windowMs:J=60000,max:Q=100,keyGenerator:X=(H)=>{let G=H.req.header("x-forwarded-for");if(G)return G.split(",")[0].trim();return H.req.header("x-real-ip")||"unknown"}}=$,Y=new Map,W=setInterval(()=>{let H=Date.now();for(let[G,V]of Y.entries())if(H>V.resetTime)Y.delete(G)},J);if(typeof process<"u"&&process.on)process.on("exit",()=>clearInterval(W));return async(H,G)=>{let V=X(H),U=Date.now(),q=Y.get(V);if(!q||U>q.resetTime)Y.set(V,{count:1,resetTime:U+J}),H.header("X-RateLimit-Limit",Q.toString()),H.header("X-RateLimit-Remaining",(Q-1).toString()),H.header("X-RateLimit-Reset",new Date(U+J).toISOString()),await G();else if(q.count<Q)q.count++,H.header("X-RateLimit-Limit",Q.toString()),H.header("X-RateLimit-Remaining",(Q-q.count).toString()),H.header("X-RateLimit-Reset",new Date(q.resetTime).toISOString()),await G();else{let _=Math.ceil((q.resetTime-U)/1000);return H.header("X-RateLimit-Limit",Q.toString()),H.header("X-RateLimit-Remaining","0"),H.header("X-RateLimit-Reset",new Date(q.resetTime).toISOString()),H.header("Retry-After",_.toString()),H.json({error:"Too Many Requests",message:`Rate limit exceeded. Please try again in ${_} seconds.`,retryAfter:_},429)}}}function w2($){let{threshold:J=1024,level:Q=6}=$||{};return async(X,Y)=>{await Y();let W=X.res;if(!W)return;let H=W.headers.get("content-type")||"",G=W.headers.get("content-length"),V=X.req.header("accept-encoding")||"";if(!["text/","application/json","application/javascript","application/xml","application/x-www-form-urlencoded"].some((D)=>H.toLowerCase().includes(D)))return;if(G&&parseInt(G)<J)return;if(W.headers.get("content-encoding"))return;let _=await W.arrayBuffer();if(_.byteLength<J)return;let F=null,B=null;if(!F&&V.includes("gzip")&&typeof CompressionStream<"u")try{let D=new CompressionStream("gzip"),A=D.writable.getWriter();A.write(new Uint8Array(_)),A.close();let Z=D.readable.getReader(),C=[];while(!0){let{done:s,value:d}=await Z.read();if(s)break;C.push(d)}let T=C.reduce((s,d)=>s+d.length,0),K=new Uint8Array(T),y=0;for(let s of C)K.set(s,y),y+=s.length;F=K,B="gzip"}catch(D){F=null}if(F&&B&&F.byteLength<_.byteLength){let D=new Headers(W.headers);D.set("content-encoding",B),D.set("content-length",F.byteLength.toString()),D.delete("content-length");let A=new Response(F,{status:W.status,statusText:W.statusText,headers:D});X.res=A;return}}}var R2;function SB(){if(R2!==void 0)return R2;try{R2=I3()}catch{R2=null}return R2}class T3{logger;constructor($){let J=SB(),Q=!0;if(!J){this.logger=new V1($);return}this.logger=J({level:$?.level||"debug"})}trace($,J){if(this.logger instanceof V1){this.logger.trace($,J);return}this.logger.trace(J||{},$)}debug($,J){if(this.logger instanceof V1){this.logger.debug($,J);return}this.logger.debug(J||{},$)}info($,J){if(this.logger instanceof V1){this.logger.info($,J);return}this.logger.info(J||{},$)}warn($,J){if(this.logger instanceof V1){this.logger.warn($,J);return}this.logger.warn(J||{},$)}error($,J,Q){if(this.logger instanceof V1){this.logger.error($,J,Q);return}this.logger.error({err:J,...Q},$)}fatal($,J,Q){if(this.logger instanceof V1){this.logger.fatal($,J,Q);return}this.logger.fatal({err:J,...Q},$)}child($){if(this.logger instanceof V1)return this.logger.child($);return new W9(this.logger.child($))}}class W9{logger;constructor($){this.logger=$}trace($,J){this.logger.trace(J||{},$)}debug($,J){this.logger.debug(J||{},$)}info($,J){this.logger.info(J||{},$)}warn($,J){this.logger.warn(J||{},$)}error($,J,Q){this.logger.error({err:J,...Q},$)}fatal($,J,Q){this.logger.fatal({err:J,...Q},$)}child($){return new W9(this.logger.child($))}}class V1{level;ctx;constructor($,J={}){this.level=$?.level||"debug",this.ctx=J}fmt($,J){let Q={...this.ctx,...J},X=Object.keys(Q).length?" "+JSON.stringify(Q):"";return`${$}${X}`}trace($,J){if(["trace"].includes(this.level))console.debug("[TRACE]",this.fmt($,J))}debug($,J){if(["trace","debug"].includes(this.level))console.debug("[DEBUG]",this.fmt($,J))}info($,J){if(["trace","debug","info"].includes(this.level))console.info("[INFO]",this.fmt($,J))}warn($,J){if(["trace","debug","info","warn"].includes(this.level))console.warn("[WARN]",this.fmt($,J))}error($,J,Q){console.error("[ERROR]",this.fmt($,Q),J??"")}fatal($,J,Q){console.error("[FATAL]",this.fmt($,Q),J??"")}child($){return new V1({level:this.level},{...this.ctx,...$})}}function H9($){return new T3($)}var Z2=null;function CB($){return Z2=H9($),Z2}function v0(){if(!Z2)Z2=H9({pretty:!0,level:"debug"});return Z2}function o1($){return v0().child($)}function MB(){return async($,J)=>{let Q=o1({context:"request",method:$.req.method,path:$.req.path,ip:$.req.header("x-forwarded-for")||$.req.header("x-real-ip")||"unknown"}),X=Date.now();Q.info("Incoming request");try{await J();let Y=Date.now()-X;Q.info("Request completed",{status:$.res.status,duration:`${Y}ms`})}catch(Y){let W=Date.now()-X;throw Q.error("Request failed",Y,{status:Y.status||500,duration:`${W}ms`}),Y}}}function PB(){return async($,J)=>{try{await J()}catch(Q){throw o1({context:"error"}).error("Unhandled error",Q,{method:$.req.method,path:$.req.path,query:$.req.query(),headers:Object.fromEntries(new Map($.req.raw.headers))}),Q}}}function G9($={}){let{timeout:J,logging:Q=!0,requestIdGenerator:X,logHeaders:Y=[]}=$;return async(W,H)=>{let G=X?.()||W.req.header("x-request-id")||void 0,V=N2(W,{requestId:G,timeout:J}),U=Q?v0().child({requestId:V.requestId}):null;if(U){let q={method:W.req.method,path:W.req.path,url:W.req.url};if(Y.length>0){q.headers={};for(let _ of Y){let F=W.req.header(_);if(F)q.headers[_]=F}}U.info("Request started",q)}try{if(W.header("x-request-id",V.requestId),await H(),U){let q=A2(W);U.info("Request completed",{status:W.res.status,duration:`${q}ms`})}}catch(q){if(U){let _=A2(W);U.error("Request failed",q,{duration:`${_}ms`})}throw q}finally{j2(W)}}}function V9(){return async($,J)=>{let Q=$.req.header("x-request-id")||N2($).requestId;$.header("x-request-id",Q);try{await J()}finally{j2($)}}}C2();function w9($){let{ttl:J,key:Q,prefix:X,includeQuery:Y=!1,varyByHeaders:W,condition:H,store:G,onlySuccess:V=!0}=$,U=r1(J);return async(q,_)=>{let F=q.req.method,B=q.req.path,D=q.req.param(),A=Y?q.req.query():void 0,Z="";if(W&&W.length>0)Z=`:${W.map((d)=>`${d}:${q.req.header(d)||""}`).join("|")}`;let C=k0.generateKey(F,B,D,A,{key:Q,prefix:X,includeQuery:Y})+Z,T=G||k0.getDefaultStore(),K=await T.get(C);if(K!==null)return q.header("X-Cache","HIT"),q.json(K);q.header("X-Cache","MISS"),await _();let y=q.res;if(V&&y.status>=300)return;try{let d=await y.clone().json();if(H&&!H(d))return;await T.set(C,d,U)}catch{}}}function N9($,J){let Q=Array.isArray($)?$:[$];return async(X,Y)=>{await Y();let W=J||k0.getDefaultStore();for(let H of Q){let G=H,V=X.req.param();if(V)for(let[U,q]of Object.entries(V))G=G.replace(`{${U}}`,String(q));await W.deletePattern(G)}}}var sF={};Z0(sF,{zodToJsonSchema:()=>n6,ZodToJsonSchemaConverter:()=>Z1,OpenAPIGenerator:()=>D1});module.exports=T0(sF);var f3=Symbol("Let zodToJsonSchema decide on which parser to use");var b3={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"},k3=($)=>typeof $==="string"?{...b3,name:$}:{...b3,...$};var x3=($)=>{let J=k3($),Q=J.name!==void 0?[...J.basePath,J.definitionPath,J.name]:J.basePath;return{...J,flags:{hasReferencedOpenAiAnyType:!1},currentPath:Q,propertyPath:void 0,seen:new Map(Object.entries(J.definitions).map(([X,Y])=>[Y._def,{def:Y._def,path:[...J.basePath,J.definitionPath,X],jsonSchema:void 0}]))}};function A9($,J,Q,X){if(!X?.errorMessages)return;if(Q)$.errorMessage={...$.errorMessage,[J]:Q}}function e($,J,Q,X,Y){$[J]=Q,A9($,J,X,Y)}var g6=($,J)=>{let Q=0;for(;Q<$.length&&Q<J.length;Q++)if($[Q]!==J[Q])break;return[($.length-Q).toString(),...J.slice(Q)].join("/")};var N={};Z0(N,{void:()=>BF,util:()=>a,unknown:()=>_F,union:()=>NF,undefined:()=>VF,tuple:()=>EF,transformer:()=>IF,symbol:()=>GF,string:()=>d3,strictObject:()=>wF,setErrorMap:()=>bB,set:()=>RF,record:()=>LF,quotelessJson:()=>IB,promise:()=>KF,preprocess:()=>fF,pipeline:()=>kF,ostring:()=>xF,optional:()=>TF,onumber:()=>vF,oboolean:()=>hF,objectUtil:()=>j9,object:()=>zF,number:()=>p3,nullable:()=>bF,null:()=>UF,never:()=>DF,nativeEnum:()=>PF,nan:()=>YF,map:()=>OF,makeIssue:()=>M2,literal:()=>CF,lazy:()=>SF,late:()=>QF,isValid:()=>b1,isDirty:()=>u6,isAsync:()=>C$,isAborted:()=>y6,intersection:()=>jF,instanceof:()=>XF,getParsedType:()=>U1,getErrorMap:()=>S$,function:()=>ZF,enum:()=>MF,effect:()=>IF,discriminatedUnion:()=>AF,defaultErrorMap:()=>L1,datetimeRegex:()=>m3,date:()=>HF,custom:()=>c3,coerce:()=>gF,boolean:()=>i3,bigint:()=>WF,array:()=>FF,any:()=>qF,addIssueToContext:()=>I,ZodVoid:()=>K2,ZodUnknown:()=>f1,ZodUnion:()=>b$,ZodUndefined:()=>I$,ZodType:()=>o,ZodTuple:()=>_1,ZodTransformer:()=>t0,ZodSymbol:()=>P2,ZodString:()=>s0,ZodSet:()=>$$,ZodSchema:()=>o,ZodRecord:()=>I2,ZodReadonly:()=>y$,ZodPromise:()=>J$,ZodPipeline:()=>f2,ZodParsedType:()=>M,ZodOptional:()=>r0,ZodObject:()=>_0,ZodNumber:()=>k1,ZodNullable:()=>R1,ZodNull:()=>T$,ZodNever:()=>q1,ZodNativeEnum:()=>v$,ZodNaN:()=>b2,ZodMap:()=>T2,ZodLiteral:()=>x$,ZodLazy:()=>k$,ZodIssueCode:()=>O,ZodIntersection:()=>f$,ZodFunction:()=>P$,ZodFirstPartyTypeKind:()=>R,ZodError:()=>L0,ZodEnum:()=>v1,ZodEffects:()=>t0,ZodDiscriminatedUnion:()=>m6,ZodDefault:()=>h$,ZodDate:()=>t1,ZodCatch:()=>g$,ZodBranded:()=>l6,ZodBoolean:()=>K$,ZodBigInt:()=>x1,ZodArray:()=>o0,ZodAny:()=>e1,Schema:()=>o,ParseStatus:()=>O0,OK:()=>S0,NEVER:()=>yF,INVALID:()=>m,EMPTY_PATH:()=>fB,DIRTY:()=>a1,BRAND:()=>JF});var a;(function($){$.assertEqual=(Y)=>{};function J(Y){}$.assertIs=J;function Q(Y){throw Error()}$.assertNever=Q,$.arrayToEnum=(Y)=>{let W={};for(let H of Y)W[H]=H;return W},$.getValidEnumValues=(Y)=>{let W=$.objectKeys(Y).filter((G)=>typeof Y[Y[G]]!=="number"),H={};for(let G of W)H[G]=Y[G];return $.objectValues(H)},$.objectValues=(Y)=>{return $.objectKeys(Y).map(function(W){return Y[W]})},$.objectKeys=typeof Object.keys==="function"?(Y)=>Object.keys(Y):(Y)=>{let W=[];for(let H in Y)if(Object.prototype.hasOwnProperty.call(Y,H))W.push(H);return W},$.find=(Y,W)=>{for(let H of Y)if(W(H))return H;return},$.isInteger=typeof Number.isInteger==="function"?(Y)=>Number.isInteger(Y):(Y)=>typeof Y==="number"&&Number.isFinite(Y)&&Math.floor(Y)===Y;function X(Y,W=" | "){return Y.map((H)=>typeof H==="string"?`'${H}'`:H).join(W)}$.joinValues=X,$.jsonStringifyReplacer=(Y,W)=>{if(typeof W==="bigint")return W.toString();return W}})(a||(a={}));var j9;(function($){$.mergeShapes=(J,Q)=>{return{...J,...Q}}})(j9||(j9={}));var M=a.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),U1=($)=>{switch(typeof $){case"undefined":return M.undefined;case"string":return M.string;case"number":return Number.isNaN($)?M.nan:M.number;case"boolean":return M.boolean;case"function":return M.function;case"bigint":return M.bigint;case"symbol":return M.symbol;case"object":if(Array.isArray($))return M.array;if($===null)return M.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return M.promise;if(typeof Map<"u"&&$ instanceof Map)return M.map;if(typeof Set<"u"&&$ instanceof Set)return M.set;if(typeof Date<"u"&&$ instanceof Date)return M.date;return M.object;default:return M.unknown}};var O=a.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"]),IB=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class L0 extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(Q)=>{this.issues=[...this.issues,Q]},this.addIssues=(Q=[])=>{this.issues=[...this.issues,...Q]};let J=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,J);else this.__proto__=J;this.name="ZodError",this.issues=$}format($){let J=$||function(Y){return Y.message},Q={_errors:[]},X=(Y)=>{for(let W of Y.issues)if(W.code==="invalid_union")W.unionErrors.map(X);else if(W.code==="invalid_return_type")X(W.returnTypeError);else if(W.code==="invalid_arguments")X(W.argumentsError);else if(W.path.length===0)Q._errors.push(J(W));else{let H=Q,G=0;while(G<W.path.length){let V=W.path[G];if(G!==W.path.length-1)H[V]=H[V]||{_errors:[]};else H[V]=H[V]||{_errors:[]},H[V]._errors.push(J(W));H=H[V],G++}}};return X(this),Q}static assert($){if(!($ instanceof L0))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,a.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(J)=>J.message){let J={},Q=[];for(let X of this.issues)if(X.path.length>0){let Y=X.path[0];J[Y]=J[Y]||[],J[Y].push($(X))}else Q.push($(X));return{formErrors:Q,fieldErrors:J}}get formErrors(){return this.flatten()}}L0.create=($)=>{return new L0($)};var TB=($,J)=>{let Q;switch($.code){case O.invalid_type:if($.received===M.undefined)Q="Required";else Q=`Expected ${$.expected}, received ${$.received}`;break;case O.invalid_literal:Q=`Invalid literal value, expected ${JSON.stringify($.expected,a.jsonStringifyReplacer)}`;break;case O.unrecognized_keys:Q=`Unrecognized key(s) in object: ${a.joinValues($.keys,", ")}`;break;case O.invalid_union:Q="Invalid input";break;case O.invalid_union_discriminator:Q=`Invalid discriminator value. Expected ${a.joinValues($.options)}`;break;case O.invalid_enum_value:Q=`Invalid enum value. Expected ${a.joinValues($.options)}, received '${$.received}'`;break;case O.invalid_arguments:Q="Invalid function arguments";break;case O.invalid_return_type:Q="Invalid function return type";break;case O.invalid_date:Q="Invalid date";break;case O.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(Q=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")Q=`${Q} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)Q=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)Q=`Invalid input: must end with "${$.validation.endsWith}"`;else a.assertNever($.validation);else if($.validation!=="regex")Q=`Invalid ${$.validation}`;else Q="Invalid";break;case O.too_small:if($.type==="array")Q=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")Q=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")Q=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")Q=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")Q=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else Q="Invalid input";break;case O.too_big:if($.type==="array")Q=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")Q=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")Q=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")Q=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")Q=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else Q="Invalid input";break;case O.custom:Q="Invalid input";break;case O.invalid_intersection_types:Q="Intersection results could not be merged";break;case O.not_multiple_of:Q=`Number must be a multiple of ${$.multipleOf}`;break;case O.not_finite:Q="Number must be finite";break;default:Q=J.defaultError,a.assertNever($)}return{message:Q}},L1=TB;var v3=L1;function bB($){v3=$}function S$(){return v3}var M2=($)=>{let{data:J,path:Q,errorMaps:X,issueData:Y}=$,W=[...Q,...Y.path||[]],H={...Y,path:W};if(Y.message!==void 0)return{...Y,path:W,message:Y.message};let G="",V=X.filter((U)=>!!U).slice().reverse();for(let U of V)G=U(H,{data:J,defaultError:G}).message;return{...Y,path:W,message:G}},fB=[];function I($,J){let Q=S$(),X=M2({issueData:J,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,Q,Q===L1?void 0:L1].filter((Y)=>!!Y)});$.common.issues.push(X)}class O0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,J){let Q=[];for(let X of J){if(X.status==="aborted")return m;if(X.status==="dirty")$.dirty();Q.push(X.value)}return{status:$.value,value:Q}}static async mergeObjectAsync($,J){let Q=[];for(let X of J){let Y=await X.key,W=await X.value;Q.push({key:Y,value:W})}return O0.mergeObjectSync($,Q)}static mergeObjectSync($,J){let Q={};for(let X of J){let{key:Y,value:W}=X;if(Y.status==="aborted")return m;if(W.status==="aborted")return m;if(Y.status==="dirty")$.dirty();if(W.status==="dirty")$.dirty();if(Y.value!=="__proto__"&&(typeof W.value<"u"||X.alwaysSet))Q[Y.value]=W.value}return{status:$.value,value:Q}}}var m=Object.freeze({status:"aborted"}),a1=($)=>({status:"dirty",value:$}),S0=($)=>({status:"valid",value:$}),y6=($)=>$.status==="aborted",u6=($)=>$.status==="dirty",b1=($)=>$.status==="valid",C$=($)=>typeof Promise<"u"&&$ instanceof Promise;var h;(function($){$.errToObj=(J)=>typeof J==="string"?{message:J}:J||{},$.toString=(J)=>typeof J==="string"?J:J?.message})(h||(h={}));class a0{constructor($,J,Q,X){this._cachedPath=[],this.parent=$,this.data=J,this._path=Q,this._key=X}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var h3=($,J)=>{if(b1(J))return{success:!0,data:J.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Q=new L0($.common.issues);return this._error=Q,this._error}}}};function n($){if(!$)return{};let{errorMap:J,invalid_type_error:Q,required_error:X,description:Y}=$;if(J&&(Q||X))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(J)return{errorMap:J,description:Y};return{errorMap:(H,G)=>{let{message:V}=$;if(H.code==="invalid_enum_value")return{message:V??G.defaultError};if(typeof G.data>"u")return{message:V??X??G.defaultError};if(H.code!=="invalid_type")return{message:G.defaultError};return{message:V??Q??G.defaultError}},description:Y}}class o{get description(){return this._def.description}_getType($){return U1($.data)}_getOrReturnCtx($,J){return J||{common:$.parent.common,data:$.data,parsedType:U1($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new O0,ctx:{common:$.parent.common,data:$.data,parsedType:U1($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let J=this._parse($);if(C$(J))throw Error("Synchronous parse encountered promise.");return J}_parseAsync($){let J=this._parse($);return Promise.resolve(J)}parse($,J){let Q=this.safeParse($,J);if(Q.success)return Q.data;throw Q.error}safeParse($,J){let Q={common:{issues:[],async:J?.async??!1,contextualErrorMap:J?.errorMap},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:U1($)},X=this._parseSync({data:$,path:Q.path,parent:Q});return h3(Q,X)}"~validate"($){let J={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:U1($)};if(!this["~standard"].async)try{let Q=this._parseSync({data:$,path:[],parent:J});return b1(Q)?{value:Q.value}:{issues:J.common.issues}}catch(Q){if(Q?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;J.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:J}).then((Q)=>b1(Q)?{value:Q.value}:{issues:J.common.issues})}async parseAsync($,J){let Q=await this.safeParseAsync($,J);if(Q.success)return Q.data;throw Q.error}async safeParseAsync($,J){let Q={common:{issues:[],contextualErrorMap:J?.errorMap,async:!0},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:U1($)},X=this._parse({data:$,path:Q.path,parent:Q}),Y=await(C$(X)?X:Promise.resolve(X));return h3(Q,Y)}refine($,J){let Q=(X)=>{if(typeof J==="string"||typeof J>"u")return{message:J};else if(typeof J==="function")return J(X);else return J};return this._refinement((X,Y)=>{let W=$(X),H=()=>Y.addIssue({code:O.custom,...Q(X)});if(typeof Promise<"u"&&W instanceof Promise)return W.then((G)=>{if(!G)return H(),!1;else return!0});if(!W)return H(),!1;else return!0})}refinement($,J){return this._refinement((Q,X)=>{if(!$(Q))return X.addIssue(typeof J==="function"?J(Q,X):J),!1;else return!0})}_refinement($){return new t0({schema:this,typeName:R.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:(J)=>this["~validate"](J)}}optional(){return r0.create(this,this._def)}nullable(){return R1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return o0.create(this)}promise(){return J$.create(this,this._def)}or($){return b$.create([this,$],this._def)}and($){return f$.create(this,$,this._def)}transform($){return new t0({...n(this._def),schema:this,typeName:R.ZodEffects,effect:{type:"transform",transform:$}})}default($){let J=typeof $==="function"?$:()=>$;return new h$({...n(this._def),innerType:this,defaultValue:J,typeName:R.ZodDefault})}brand(){return new l6({typeName:R.ZodBranded,type:this,...n(this._def)})}catch($){let J=typeof $==="function"?$:()=>$;return new g$({...n(this._def),innerType:this,catchValue:J,typeName:R.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return f2.create(this,$)}readonly(){return y$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var kB=/^c[^\s-]{8,}$/i,xB=/^[0-9a-z]+$/,vB=/^[0-9A-HJKMNP-TV-Z]{26}$/i,hB=/^[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,gB=/^[a-z0-9_-]{21}$/i,yB=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,uB=/^[-+]?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)?)??$/,mB=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,lB="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",E9,cB=/^(?:(?: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])$/,dB=/^(?:(?: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])$/,pB=/^(([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]))$/,iB=/^(([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])$/,nB=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,sB=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,y3="((\\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])))",oB=new RegExp(`^${y3}$`);function u3($){let J="[0-5]\\d";if($.precision)J=`${J}\\.\\d{${$.precision}}`;else if($.precision==null)J=`${J}(\\.\\d+)?`;let Q=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${J})${Q}`}function rB($){return new RegExp(`^${u3($)}$`)}function m3($){let J=`${y3}T${u3($)}`,Q=[];if(Q.push($.local?"Z?":"Z"),$.offset)Q.push("([+-]\\d{2}:?\\d{2})");return J=`${J}(${Q.join("|")})`,new RegExp(`^${J}$`)}function aB($,J){if((J==="v4"||!J)&&cB.test($))return!0;if((J==="v6"||!J)&&pB.test($))return!0;return!1}function tB($,J){if(!yB.test($))return!1;try{let[Q]=$.split(".");if(!Q)return!1;let X=Q.replace(/-/g,"+").replace(/_/g,"/").padEnd(Q.length+(4-Q.length%4)%4,"="),Y=JSON.parse(atob(X));if(typeof Y!=="object"||Y===null)return!1;if("typ"in Y&&Y?.typ!=="JWT")return!1;if(!Y.alg)return!1;if(J&&Y.alg!==J)return!1;return!0}catch{return!1}}function eB($,J){if((J==="v4"||!J)&&dB.test($))return!0;if((J==="v6"||!J)&&iB.test($))return!0;return!1}class s0 extends o{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==M.string){let Y=this._getOrReturnCtx($);return I(Y,{code:O.invalid_type,expected:M.string,received:Y.parsedType}),m}let Q=new O0,X=void 0;for(let Y of this._def.checks)if(Y.kind==="min"){if($.data.length<Y.value)X=this._getOrReturnCtx($,X),I(X,{code:O.too_small,minimum:Y.value,type:"string",inclusive:!0,exact:!1,message:Y.message}),Q.dirty()}else if(Y.kind==="max"){if($.data.length>Y.value)X=this._getOrReturnCtx($,X),I(X,{code:O.too_big,maximum:Y.value,type:"string",inclusive:!0,exact:!1,message:Y.message}),Q.dirty()}else if(Y.kind==="length"){let W=$.data.length>Y.value,H=$.data.length<Y.value;if(W||H){if(X=this._getOrReturnCtx($,X),W)I(X,{code:O.too_big,maximum:Y.value,type:"string",inclusive:!0,exact:!0,message:Y.message});else if(H)I(X,{code:O.too_small,minimum:Y.value,type:"string",inclusive:!0,exact:!0,message:Y.message});Q.dirty()}}else if(Y.kind==="email"){if(!mB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"email",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="emoji"){if(!E9)E9=new RegExp(lB,"u");if(!E9.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"emoji",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="uuid"){if(!hB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"uuid",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="nanoid"){if(!gB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"nanoid",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="cuid"){if(!kB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"cuid",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="cuid2"){if(!xB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"cuid2",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="ulid"){if(!vB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"ulid",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="url")try{new URL($.data)}catch{X=this._getOrReturnCtx($,X),I(X,{validation:"url",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="regex"){if(Y.regex.lastIndex=0,!Y.regex.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"regex",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="trim")$.data=$.data.trim();else if(Y.kind==="includes"){if(!$.data.includes(Y.value,Y.position))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:{includes:Y.value,position:Y.position},message:Y.message}),Q.dirty()}else if(Y.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(Y.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(Y.kind==="startsWith"){if(!$.data.startsWith(Y.value))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:{startsWith:Y.value},message:Y.message}),Q.dirty()}else if(Y.kind==="endsWith"){if(!$.data.endsWith(Y.value))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:{endsWith:Y.value},message:Y.message}),Q.dirty()}else if(Y.kind==="datetime"){if(!m3(Y).test($.data))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:"datetime",message:Y.message}),Q.dirty()}else if(Y.kind==="date"){if(!oB.test($.data))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:"date",message:Y.message}),Q.dirty()}else if(Y.kind==="time"){if(!rB(Y).test($.data))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:"time",message:Y.message}),Q.dirty()}else if(Y.kind==="duration"){if(!uB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"duration",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="ip"){if(!aB($.data,Y.version))X=this._getOrReturnCtx($,X),I(X,{validation:"ip",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="jwt"){if(!tB($.data,Y.alg))X=this._getOrReturnCtx($,X),I(X,{validation:"jwt",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="cidr"){if(!eB($.data,Y.version))X=this._getOrReturnCtx($,X),I(X,{validation:"cidr",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="base64"){if(!nB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"base64",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="base64url"){if(!sB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"base64url",code:O.invalid_string,message:Y.message}),Q.dirty()}else a.assertNever(Y);return{status:Q.value,value:$.data}}_regex($,J,Q){return this.refinement((X)=>$.test(X),{validation:J,code:O.invalid_string,...h.errToObj(Q)})}_addCheck($){return new s0({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...h.errToObj($)})}url($){return this._addCheck({kind:"url",...h.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...h.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...h.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...h.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...h.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...h.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...h.errToObj($)})}base64($){return this._addCheck({kind:"base64",...h.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...h.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...h.errToObj($)})}ip($){return this._addCheck({kind:"ip",...h.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...h.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,...h.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,...h.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...h.errToObj($)})}regex($,J){return this._addCheck({kind:"regex",regex:$,...h.errToObj(J)})}includes($,J){return this._addCheck({kind:"includes",value:$,position:J?.position,...h.errToObj(J?.message)})}startsWith($,J){return this._addCheck({kind:"startsWith",value:$,...h.errToObj(J)})}endsWith($,J){return this._addCheck({kind:"endsWith",value:$,...h.errToObj(J)})}min($,J){return this._addCheck({kind:"min",value:$,...h.errToObj(J)})}max($,J){return this._addCheck({kind:"max",value:$,...h.errToObj(J)})}length($,J){return this._addCheck({kind:"length",value:$,...h.errToObj(J)})}nonempty($){return this.min(1,h.errToObj($))}trim(){return new s0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new s0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new s0({...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 J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxLength(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}}s0.create=($)=>{return new s0({checks:[],typeName:R.ZodString,coerce:$?.coerce??!1,...n($)})};function $F($,J){let Q=($.toString().split(".")[1]||"").length,X=(J.toString().split(".")[1]||"").length,Y=Q>X?Q:X,W=Number.parseInt($.toFixed(Y).replace(".","")),H=Number.parseInt(J.toFixed(Y).replace(".",""));return W%H/10**Y}class k1 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==M.number){let Y=this._getOrReturnCtx($);return I(Y,{code:O.invalid_type,expected:M.number,received:Y.parsedType}),m}let Q=void 0,X=new O0;for(let Y of this._def.checks)if(Y.kind==="int"){if(!a.isInteger($.data))Q=this._getOrReturnCtx($,Q),I(Q,{code:O.invalid_type,expected:"integer",received:"float",message:Y.message}),X.dirty()}else if(Y.kind==="min"){if(Y.inclusive?$.data<Y.value:$.data<=Y.value)Q=this._getOrReturnCtx($,Q),I(Q,{code:O.too_small,minimum:Y.value,type:"number",inclusive:Y.inclusive,exact:!1,message:Y.message}),X.dirty()}else if(Y.kind==="max"){if(Y.inclusive?$.data>Y.value:$.data>=Y.value)Q=this._getOrReturnCtx($,Q),I(Q,{code:O.too_big,maximum:Y.value,type:"number",inclusive:Y.inclusive,exact:!1,message:Y.message}),X.dirty()}else if(Y.kind==="multipleOf"){if($F($.data,Y.value)!==0)Q=this._getOrReturnCtx($,Q),I(Q,{code:O.not_multiple_of,multipleOf:Y.value,message:Y.message}),X.dirty()}else if(Y.kind==="finite"){if(!Number.isFinite($.data))Q=this._getOrReturnCtx($,Q),I(Q,{code:O.not_finite,message:Y.message}),X.dirty()}else a.assertNever(Y);return{status:X.value,value:$.data}}gte($,J){return this.setLimit("min",$,!0,h.toString(J))}gt($,J){return this.setLimit("min",$,!1,h.toString(J))}lte($,J){return this.setLimit("max",$,!0,h.toString(J))}lt($,J){return this.setLimit("max",$,!1,h.toString(J))}setLimit($,J,Q,X){return new k1({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:h.toString(X)}]})}_addCheck($){return new k1({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:h.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:h.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:h.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:h.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:h.toString($)})}multipleOf($,J){return this._addCheck({kind:"multipleOf",value:$,message:h.toString(J)})}finite($){return this._addCheck({kind:"finite",message:h.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:h.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:h.toString($)})}get minValue(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxValue(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&a.isInteger($.value))}get isFinite(){let $=null,J=null;for(let Q of this._def.checks)if(Q.kind==="finite"||Q.kind==="int"||Q.kind==="multipleOf")return!0;else if(Q.kind==="min"){if(J===null||Q.value>J)J=Q.value}else if(Q.kind==="max"){if($===null||Q.value<$)$=Q.value}return Number.isFinite(J)&&Number.isFinite($)}}k1.create=($)=>{return new k1({checks:[],typeName:R.ZodNumber,coerce:$?.coerce||!1,...n($)})};class x1 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==M.bigint)return this._getInvalidInput($);let Q=void 0,X=new O0;for(let Y of this._def.checks)if(Y.kind==="min"){if(Y.inclusive?$.data<Y.value:$.data<=Y.value)Q=this._getOrReturnCtx($,Q),I(Q,{code:O.too_small,type:"bigint",minimum:Y.value,inclusive:Y.inclusive,message:Y.message}),X.dirty()}else if(Y.kind==="max"){if(Y.inclusive?$.data>Y.value:$.data>=Y.value)Q=this._getOrReturnCtx($,Q),I(Q,{code:O.too_big,type:"bigint",maximum:Y.value,inclusive:Y.inclusive,message:Y.message}),X.dirty()}else if(Y.kind==="multipleOf"){if($.data%Y.value!==BigInt(0))Q=this._getOrReturnCtx($,Q),I(Q,{code:O.not_multiple_of,multipleOf:Y.value,message:Y.message}),X.dirty()}else a.assertNever(Y);return{status:X.value,value:$.data}}_getInvalidInput($){let J=this._getOrReturnCtx($);return I(J,{code:O.invalid_type,expected:M.bigint,received:J.parsedType}),m}gte($,J){return this.setLimit("min",$,!0,h.toString(J))}gt($,J){return this.setLimit("min",$,!1,h.toString(J))}lte($,J){return this.setLimit("max",$,!0,h.toString(J))}lt($,J){return this.setLimit("max",$,!1,h.toString(J))}setLimit($,J,Q,X){return new x1({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:h.toString(X)}]})}_addCheck($){return new x1({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:h.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:h.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:h.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:h.toString($)})}multipleOf($,J){return this._addCheck({kind:"multipleOf",value:$,message:h.toString(J)})}get minValue(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxValue(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}}x1.create=($)=>{return new x1({checks:[],typeName:R.ZodBigInt,coerce:$?.coerce??!1,...n($)})};class K$ extends o{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==M.boolean){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.boolean,received:Q.parsedType}),m}return S0($.data)}}K$.create=($)=>{return new K$({typeName:R.ZodBoolean,coerce:$?.coerce||!1,...n($)})};class t1 extends o{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==M.date){let Y=this._getOrReturnCtx($);return I(Y,{code:O.invalid_type,expected:M.date,received:Y.parsedType}),m}if(Number.isNaN($.data.getTime())){let Y=this._getOrReturnCtx($);return I(Y,{code:O.invalid_date}),m}let Q=new O0,X=void 0;for(let Y of this._def.checks)if(Y.kind==="min"){if($.data.getTime()<Y.value)X=this._getOrReturnCtx($,X),I(X,{code:O.too_small,message:Y.message,inclusive:!0,exact:!1,minimum:Y.value,type:"date"}),Q.dirty()}else if(Y.kind==="max"){if($.data.getTime()>Y.value)X=this._getOrReturnCtx($,X),I(X,{code:O.too_big,message:Y.message,inclusive:!0,exact:!1,maximum:Y.value,type:"date"}),Q.dirty()}else a.assertNever(Y);return{status:Q.value,value:new Date($.data.getTime())}}_addCheck($){return new t1({...this._def,checks:[...this._def.checks,$]})}min($,J){return this._addCheck({kind:"min",value:$.getTime(),message:h.toString(J)})}max($,J){return this._addCheck({kind:"max",value:$.getTime(),message:h.toString(J)})}get minDate(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $!=null?new Date($):null}}t1.create=($)=>{return new t1({checks:[],coerce:$?.coerce||!1,typeName:R.ZodDate,...n($)})};class P2 extends o{_parse($){if(this._getType($)!==M.symbol){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.symbol,received:Q.parsedType}),m}return S0($.data)}}P2.create=($)=>{return new P2({typeName:R.ZodSymbol,...n($)})};class I$ extends o{_parse($){if(this._getType($)!==M.undefined){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.undefined,received:Q.parsedType}),m}return S0($.data)}}I$.create=($)=>{return new I$({typeName:R.ZodUndefined,...n($)})};class T$ extends o{_parse($){if(this._getType($)!==M.null){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.null,received:Q.parsedType}),m}return S0($.data)}}T$.create=($)=>{return new T$({typeName:R.ZodNull,...n($)})};class e1 extends o{constructor(){super(...arguments);this._any=!0}_parse($){return S0($.data)}}e1.create=($)=>{return new e1({typeName:R.ZodAny,...n($)})};class f1 extends o{constructor(){super(...arguments);this._unknown=!0}_parse($){return S0($.data)}}f1.create=($)=>{return new f1({typeName:R.ZodUnknown,...n($)})};class q1 extends o{_parse($){let J=this._getOrReturnCtx($);return I(J,{code:O.invalid_type,expected:M.never,received:J.parsedType}),m}}q1.create=($)=>{return new q1({typeName:R.ZodNever,...n($)})};class K2 extends o{_parse($){if(this._getType($)!==M.undefined){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.void,received:Q.parsedType}),m}return S0($.data)}}K2.create=($)=>{return new K2({typeName:R.ZodVoid,...n($)})};class o0 extends o{_parse($){let{ctx:J,status:Q}=this._processInputParams($),X=this._def;if(J.parsedType!==M.array)return I(J,{code:O.invalid_type,expected:M.array,received:J.parsedType}),m;if(X.exactLength!==null){let W=J.data.length>X.exactLength.value,H=J.data.length<X.exactLength.value;if(W||H)I(J,{code:W?O.too_big:O.too_small,minimum:H?X.exactLength.value:void 0,maximum:W?X.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:X.exactLength.message}),Q.dirty()}if(X.minLength!==null){if(J.data.length<X.minLength.value)I(J,{code:O.too_small,minimum:X.minLength.value,type:"array",inclusive:!0,exact:!1,message:X.minLength.message}),Q.dirty()}if(X.maxLength!==null){if(J.data.length>X.maxLength.value)I(J,{code:O.too_big,maximum:X.maxLength.value,type:"array",inclusive:!0,exact:!1,message:X.maxLength.message}),Q.dirty()}if(J.common.async)return Promise.all([...J.data].map((W,H)=>{return X.type._parseAsync(new a0(J,W,J.path,H))})).then((W)=>{return O0.mergeArray(Q,W)});let Y=[...J.data].map((W,H)=>{return X.type._parseSync(new a0(J,W,J.path,H))});return O0.mergeArray(Q,Y)}get element(){return this._def.type}min($,J){return new o0({...this._def,minLength:{value:$,message:h.toString(J)}})}max($,J){return new o0({...this._def,maxLength:{value:$,message:h.toString(J)}})}length($,J){return new o0({...this._def,exactLength:{value:$,message:h.toString(J)}})}nonempty($){return this.min(1,$)}}o0.create=($,J)=>{return new o0({type:$,minLength:null,maxLength:null,exactLength:null,typeName:R.ZodArray,...n(J)})};function M$($){if($ instanceof _0){let J={};for(let Q in $.shape){let X=$.shape[Q];J[Q]=r0.create(M$(X))}return new _0({...$._def,shape:()=>J})}else if($ instanceof o0)return new o0({...$._def,type:M$($.element)});else if($ instanceof r0)return r0.create(M$($.unwrap()));else if($ instanceof R1)return R1.create(M$($.unwrap()));else if($ instanceof _1)return _1.create($.items.map((J)=>M$(J)));else return $}class _0 extends o{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),J=a.objectKeys($);return this._cached={shape:$,keys:J},this._cached}_parse($){if(this._getType($)!==M.object){let V=this._getOrReturnCtx($);return I(V,{code:O.invalid_type,expected:M.object,received:V.parsedType}),m}let{status:Q,ctx:X}=this._processInputParams($),{shape:Y,keys:W}=this._getCached(),H=[];if(!(this._def.catchall instanceof q1&&this._def.unknownKeys==="strip")){for(let V in X.data)if(!W.includes(V))H.push(V)}let G=[];for(let V of W){let U=Y[V],q=X.data[V];G.push({key:{status:"valid",value:V},value:U._parse(new a0(X,q,X.path,V)),alwaysSet:V in X.data})}if(this._def.catchall instanceof q1){let V=this._def.unknownKeys;if(V==="passthrough")for(let U of H)G.push({key:{status:"valid",value:U},value:{status:"valid",value:X.data[U]}});else if(V==="strict"){if(H.length>0)I(X,{code:O.unrecognized_keys,keys:H}),Q.dirty()}else if(V==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let V=this._def.catchall;for(let U of H){let q=X.data[U];G.push({key:{status:"valid",value:U},value:V._parse(new a0(X,q,X.path,U)),alwaysSet:U in X.data})}}if(X.common.async)return Promise.resolve().then(async()=>{let V=[];for(let U of G){let q=await U.key,_=await U.value;V.push({key:q,value:_,alwaysSet:U.alwaysSet})}return V}).then((V)=>{return O0.mergeObjectSync(Q,V)});else return O0.mergeObjectSync(Q,G)}get shape(){return this._def.shape()}strict($){return h.errToObj,new _0({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(J,Q)=>{let X=this._def.errorMap?.(J,Q).message??Q.defaultError;if(J.code==="unrecognized_keys")return{message:h.errToObj($).message??X};return{message:X}}}:{}})}strip(){return new _0({...this._def,unknownKeys:"strip"})}passthrough(){return new _0({...this._def,unknownKeys:"passthrough"})}extend($){return new _0({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new _0({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:R.ZodObject})}setKey($,J){return this.augment({[$]:J})}catchall($){return new _0({...this._def,catchall:$})}pick($){let J={};for(let Q of a.objectKeys($))if($[Q]&&this.shape[Q])J[Q]=this.shape[Q];return new _0({...this._def,shape:()=>J})}omit($){let J={};for(let Q of a.objectKeys(this.shape))if(!$[Q])J[Q]=this.shape[Q];return new _0({...this._def,shape:()=>J})}deepPartial(){return M$(this)}partial($){let J={};for(let Q of a.objectKeys(this.shape)){let X=this.shape[Q];if($&&!$[Q])J[Q]=X;else J[Q]=X.optional()}return new _0({...this._def,shape:()=>J})}required($){let J={};for(let Q of a.objectKeys(this.shape))if($&&!$[Q])J[Q]=this.shape[Q];else{let Y=this.shape[Q];while(Y instanceof r0)Y=Y._def.innerType;J[Q]=Y}return new _0({...this._def,shape:()=>J})}keyof(){return l3(a.objectKeys(this.shape))}}_0.create=($,J)=>{return new _0({shape:()=>$,unknownKeys:"strip",catchall:q1.create(),typeName:R.ZodObject,...n(J)})};_0.strictCreate=($,J)=>{return new _0({shape:()=>$,unknownKeys:"strict",catchall:q1.create(),typeName:R.ZodObject,...n(J)})};_0.lazycreate=($,J)=>{return new _0({shape:$,unknownKeys:"strip",catchall:q1.create(),typeName:R.ZodObject,...n(J)})};class b$ extends o{_parse($){let{ctx:J}=this._processInputParams($),Q=this._def.options;function X(Y){for(let H of Y)if(H.result.status==="valid")return H.result;for(let H of Y)if(H.result.status==="dirty")return J.common.issues.push(...H.ctx.common.issues),H.result;let W=Y.map((H)=>new L0(H.ctx.common.issues));return I(J,{code:O.invalid_union,unionErrors:W}),m}if(J.common.async)return Promise.all(Q.map(async(Y)=>{let W={...J,common:{...J.common,issues:[]},parent:null};return{result:await Y._parseAsync({data:J.data,path:J.path,parent:W}),ctx:W}})).then(X);else{let Y=void 0,W=[];for(let G of Q){let V={...J,common:{...J.common,issues:[]},parent:null},U=G._parseSync({data:J.data,path:J.path,parent:V});if(U.status==="valid")return U;else if(U.status==="dirty"&&!Y)Y={result:U,ctx:V};if(V.common.issues.length)W.push(V.common.issues)}if(Y)return J.common.issues.push(...Y.ctx.common.issues),Y.result;let H=W.map((G)=>new L0(G));return I(J,{code:O.invalid_union,unionErrors:H}),m}}get options(){return this._def.options}}b$.create=($,J)=>{return new b$({options:$,typeName:R.ZodUnion,...n(J)})};var O1=($)=>{if($ instanceof k$)return O1($.schema);else if($ instanceof t0)return O1($.innerType());else if($ instanceof x$)return[$.value];else if($ instanceof v1)return $.options;else if($ instanceof v$)return a.objectValues($.enum);else if($ instanceof h$)return O1($._def.innerType);else if($ instanceof I$)return[void 0];else if($ instanceof T$)return[null];else if($ instanceof r0)return[void 0,...O1($.unwrap())];else if($ instanceof R1)return[null,...O1($.unwrap())];else if($ instanceof l6)return O1($.unwrap());else if($ instanceof y$)return O1($.unwrap());else if($ instanceof g$)return O1($._def.innerType);else return[]};class m6 extends o{_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==M.object)return I(J,{code:O.invalid_type,expected:M.object,received:J.parsedType}),m;let Q=this.discriminator,X=J.data[Q],Y=this.optionsMap.get(X);if(!Y)return I(J,{code:O.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Q]}),m;if(J.common.async)return Y._parseAsync({data:J.data,path:J.path,parent:J});else return Y._parseSync({data:J.data,path:J.path,parent:J})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,J,Q){let X=new Map;for(let Y of J){let W=O1(Y.shape[$]);if(!W.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let H of W){if(X.has(H))throw Error(`Discriminator property ${String($)} has duplicate value ${String(H)}`);X.set(H,Y)}}return new m6({typeName:R.ZodDiscriminatedUnion,discriminator:$,options:J,optionsMap:X,...n(Q)})}}function L9($,J){let Q=U1($),X=U1(J);if($===J)return{valid:!0,data:$};else if(Q===M.object&&X===M.object){let Y=a.objectKeys(J),W=a.objectKeys($).filter((G)=>Y.indexOf(G)!==-1),H={...$,...J};for(let G of W){let V=L9($[G],J[G]);if(!V.valid)return{valid:!1};H[G]=V.data}return{valid:!0,data:H}}else if(Q===M.array&&X===M.array){if($.length!==J.length)return{valid:!1};let Y=[];for(let W=0;W<$.length;W++){let H=$[W],G=J[W],V=L9(H,G);if(!V.valid)return{valid:!1};Y.push(V.data)}return{valid:!0,data:Y}}else if(Q===M.date&&X===M.date&&+$===+J)return{valid:!0,data:$};else return{valid:!1}}class f$ extends o{_parse($){let{status:J,ctx:Q}=this._processInputParams($),X=(Y,W)=>{if(y6(Y)||y6(W))return m;let H=L9(Y.value,W.value);if(!H.valid)return I(Q,{code:O.invalid_intersection_types}),m;if(u6(Y)||u6(W))J.dirty();return{status:J.value,value:H.data}};if(Q.common.async)return Promise.all([this._def.left._parseAsync({data:Q.data,path:Q.path,parent:Q}),this._def.right._parseAsync({data:Q.data,path:Q.path,parent:Q})]).then(([Y,W])=>X(Y,W));else return X(this._def.left._parseSync({data:Q.data,path:Q.path,parent:Q}),this._def.right._parseSync({data:Q.data,path:Q.path,parent:Q}))}}f$.create=($,J,Q)=>{return new f$({left:$,right:J,typeName:R.ZodIntersection,...n(Q)})};class _1 extends o{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==M.array)return I(Q,{code:O.invalid_type,expected:M.array,received:Q.parsedType}),m;if(Q.data.length<this._def.items.length)return I(Q,{code:O.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),m;if(!this._def.rest&&Q.data.length>this._def.items.length)I(Q,{code:O.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J.dirty();let Y=[...Q.data].map((W,H)=>{let G=this._def.items[H]||this._def.rest;if(!G)return null;return G._parse(new a0(Q,W,Q.path,H))}).filter((W)=>!!W);if(Q.common.async)return Promise.all(Y).then((W)=>{return O0.mergeArray(J,W)});else return O0.mergeArray(J,Y)}get items(){return this._def.items}rest($){return new _1({...this._def,rest:$})}}_1.create=($,J)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new _1({items:$,typeName:R.ZodTuple,rest:null,...n(J)})};class I2 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==M.object)return I(Q,{code:O.invalid_type,expected:M.object,received:Q.parsedType}),m;let X=[],Y=this._def.keyType,W=this._def.valueType;for(let H in Q.data)X.push({key:Y._parse(new a0(Q,H,Q.path,H)),value:W._parse(new a0(Q,Q.data[H],Q.path,H)),alwaysSet:H in Q.data});if(Q.common.async)return O0.mergeObjectAsync(J,X);else return O0.mergeObjectSync(J,X)}get element(){return this._def.valueType}static create($,J,Q){if(J instanceof o)return new I2({keyType:$,valueType:J,typeName:R.ZodRecord,...n(Q)});return new I2({keyType:s0.create(),valueType:$,typeName:R.ZodRecord,...n(J)})}}class T2 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==M.map)return I(Q,{code:O.invalid_type,expected:M.map,received:Q.parsedType}),m;let X=this._def.keyType,Y=this._def.valueType,W=[...Q.data.entries()].map(([H,G],V)=>{return{key:X._parse(new a0(Q,H,Q.path,[V,"key"])),value:Y._parse(new a0(Q,G,Q.path,[V,"value"]))}});if(Q.common.async){let H=new Map;return Promise.resolve().then(async()=>{for(let G of W){let V=await G.key,U=await G.value;if(V.status==="aborted"||U.status==="aborted")return m;if(V.status==="dirty"||U.status==="dirty")J.dirty();H.set(V.value,U.value)}return{status:J.value,value:H}})}else{let H=new Map;for(let G of W){let{key:V,value:U}=G;if(V.status==="aborted"||U.status==="aborted")return m;if(V.status==="dirty"||U.status==="dirty")J.dirty();H.set(V.value,U.value)}return{status:J.value,value:H}}}}T2.create=($,J,Q)=>{return new T2({valueType:J,keyType:$,typeName:R.ZodMap,...n(Q)})};class $$ extends o{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==M.set)return I(Q,{code:O.invalid_type,expected:M.set,received:Q.parsedType}),m;let X=this._def;if(X.minSize!==null){if(Q.data.size<X.minSize.value)I(Q,{code:O.too_small,minimum:X.minSize.value,type:"set",inclusive:!0,exact:!1,message:X.minSize.message}),J.dirty()}if(X.maxSize!==null){if(Q.data.size>X.maxSize.value)I(Q,{code:O.too_big,maximum:X.maxSize.value,type:"set",inclusive:!0,exact:!1,message:X.maxSize.message}),J.dirty()}let Y=this._def.valueType;function W(G){let V=new Set;for(let U of G){if(U.status==="aborted")return m;if(U.status==="dirty")J.dirty();V.add(U.value)}return{status:J.value,value:V}}let H=[...Q.data.values()].map((G,V)=>Y._parse(new a0(Q,G,Q.path,V)));if(Q.common.async)return Promise.all(H).then((G)=>W(G));else return W(H)}min($,J){return new $$({...this._def,minSize:{value:$,message:h.toString(J)}})}max($,J){return new $$({...this._def,maxSize:{value:$,message:h.toString(J)}})}size($,J){return this.min($,J).max($,J)}nonempty($){return this.min(1,$)}}$$.create=($,J)=>{return new $$({valueType:$,minSize:null,maxSize:null,typeName:R.ZodSet,...n(J)})};class P$ extends o{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==M.function)return I(J,{code:O.invalid_type,expected:M.function,received:J.parsedType}),m;function Q(H,G){return M2({data:H,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,S$(),L1].filter((V)=>!!V),issueData:{code:O.invalid_arguments,argumentsError:G}})}function X(H,G){return M2({data:H,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,S$(),L1].filter((V)=>!!V),issueData:{code:O.invalid_return_type,returnTypeError:G}})}let Y={errorMap:J.common.contextualErrorMap},W=J.data;if(this._def.returns instanceof J$){let H=this;return S0(async function(...G){let V=new L0([]),U=await H._def.args.parseAsync(G,Y).catch((F)=>{throw V.addIssue(Q(G,F)),V}),q=await Reflect.apply(W,this,U);return await H._def.returns._def.type.parseAsync(q,Y).catch((F)=>{throw V.addIssue(X(q,F)),V})})}else{let H=this;return S0(function(...G){let V=H._def.args.safeParse(G,Y);if(!V.success)throw new L0([Q(G,V.error)]);let U=Reflect.apply(W,this,V.data),q=H._def.returns.safeParse(U,Y);if(!q.success)throw new L0([X(U,q.error)]);return q.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new P$({...this._def,args:_1.create($).rest(f1.create())})}returns($){return new P$({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,J,Q){return new P$({args:$?$:_1.create([]).rest(f1.create()),returns:J||f1.create(),typeName:R.ZodFunction,...n(Q)})}}class k$ extends o{get schema(){return this._def.getter()}_parse($){let{ctx:J}=this._processInputParams($);return this._def.getter()._parse({data:J.data,path:J.path,parent:J})}}k$.create=($,J)=>{return new k$({getter:$,typeName:R.ZodLazy,...n(J)})};class x$ extends o{_parse($){if($.data!==this._def.value){let J=this._getOrReturnCtx($);return I(J,{received:J.data,code:O.invalid_literal,expected:this._def.value}),m}return{status:"valid",value:$.data}}get value(){return this._def.value}}x$.create=($,J)=>{return new x$({value:$,typeName:R.ZodLiteral,...n(J)})};function l3($,J){return new v1({values:$,typeName:R.ZodEnum,...n(J)})}class v1 extends o{_parse($){if(typeof $.data!=="string"){let J=this._getOrReturnCtx($),Q=this._def.values;return I(J,{expected:a.joinValues(Q),received:J.parsedType,code:O.invalid_type}),m}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let J=this._getOrReturnCtx($),Q=this._def.values;return I(J,{received:J.data,code:O.invalid_enum_value,options:Q}),m}return S0($.data)}get options(){return this._def.values}get enum(){let $={};for(let J of this._def.values)$[J]=J;return $}get Values(){let $={};for(let J of this._def.values)$[J]=J;return $}get Enum(){let $={};for(let J of this._def.values)$[J]=J;return $}extract($,J=this._def){return v1.create($,{...this._def,...J})}exclude($,J=this._def){return v1.create(this.options.filter((Q)=>!$.includes(Q)),{...this._def,...J})}}v1.create=l3;class v$ extends o{_parse($){let J=a.getValidEnumValues(this._def.values),Q=this._getOrReturnCtx($);if(Q.parsedType!==M.string&&Q.parsedType!==M.number){let X=a.objectValues(J);return I(Q,{expected:a.joinValues(X),received:Q.parsedType,code:O.invalid_type}),m}if(!this._cache)this._cache=new Set(a.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let X=a.objectValues(J);return I(Q,{received:Q.data,code:O.invalid_enum_value,options:X}),m}return S0($.data)}get enum(){return this._def.values}}v$.create=($,J)=>{return new v$({values:$,typeName:R.ZodNativeEnum,...n(J)})};class J$ extends o{unwrap(){return this._def.type}_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==M.promise&&J.common.async===!1)return I(J,{code:O.invalid_type,expected:M.promise,received:J.parsedType}),m;let Q=J.parsedType===M.promise?J.data:Promise.resolve(J.data);return S0(Q.then((X)=>{return this._def.type.parseAsync(X,{path:J.path,errorMap:J.common.contextualErrorMap})}))}}J$.create=($,J)=>{return new J$({type:$,typeName:R.ZodPromise,...n(J)})};class t0 extends o{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===R.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:J,ctx:Q}=this._processInputParams($),X=this._def.effect||null,Y={addIssue:(W)=>{if(I(Q,W),W.fatal)J.abort();else J.dirty()},get path(){return Q.path}};if(Y.addIssue=Y.addIssue.bind(Y),X.type==="preprocess"){let W=X.transform(Q.data,Y);if(Q.common.async)return Promise.resolve(W).then(async(H)=>{if(J.value==="aborted")return m;let G=await this._def.schema._parseAsync({data:H,path:Q.path,parent:Q});if(G.status==="aborted")return m;if(G.status==="dirty")return a1(G.value);if(J.value==="dirty")return a1(G.value);return G});else{if(J.value==="aborted")return m;let H=this._def.schema._parseSync({data:W,path:Q.path,parent:Q});if(H.status==="aborted")return m;if(H.status==="dirty")return a1(H.value);if(J.value==="dirty")return a1(H.value);return H}}if(X.type==="refinement"){let W=(H)=>{let G=X.refinement(H,Y);if(Q.common.async)return Promise.resolve(G);if(G instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return H};if(Q.common.async===!1){let H=this._def.schema._parseSync({data:Q.data,path:Q.path,parent:Q});if(H.status==="aborted")return m;if(H.status==="dirty")J.dirty();return W(H.value),{status:J.value,value:H.value}}else return this._def.schema._parseAsync({data:Q.data,path:Q.path,parent:Q}).then((H)=>{if(H.status==="aborted")return m;if(H.status==="dirty")J.dirty();return W(H.value).then(()=>{return{status:J.value,value:H.value}})})}if(X.type==="transform")if(Q.common.async===!1){let W=this._def.schema._parseSync({data:Q.data,path:Q.path,parent:Q});if(!b1(W))return m;let H=X.transform(W.value,Y);if(H instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:J.value,value:H}}else return this._def.schema._parseAsync({data:Q.data,path:Q.path,parent:Q}).then((W)=>{if(!b1(W))return m;return Promise.resolve(X.transform(W.value,Y)).then((H)=>({status:J.value,value:H}))});a.assertNever(X)}}t0.create=($,J,Q)=>{return new t0({schema:$,typeName:R.ZodEffects,effect:J,...n(Q)})};t0.createWithPreprocess=($,J,Q)=>{return new t0({schema:J,effect:{type:"preprocess",transform:$},typeName:R.ZodEffects,...n(Q)})};class r0 extends o{_parse($){if(this._getType($)===M.undefined)return S0(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}r0.create=($,J)=>{return new r0({innerType:$,typeName:R.ZodOptional,...n(J)})};class R1 extends o{_parse($){if(this._getType($)===M.null)return S0(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}R1.create=($,J)=>{return new R1({innerType:$,typeName:R.ZodNullable,...n(J)})};class h$ extends o{_parse($){let{ctx:J}=this._processInputParams($),Q=J.data;if(J.parsedType===M.undefined)Q=this._def.defaultValue();return this._def.innerType._parse({data:Q,path:J.path,parent:J})}removeDefault(){return this._def.innerType}}h$.create=($,J)=>{return new h$({innerType:$,typeName:R.ZodDefault,defaultValue:typeof J.default==="function"?J.default:()=>J.default,...n(J)})};class g$ extends o{_parse($){let{ctx:J}=this._processInputParams($),Q={...J,common:{...J.common,issues:[]}},X=this._def.innerType._parse({data:Q.data,path:Q.path,parent:{...Q}});if(C$(X))return X.then((Y)=>{return{status:"valid",value:Y.status==="valid"?Y.value:this._def.catchValue({get error(){return new L0(Q.common.issues)},input:Q.data})}});else return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new L0(Q.common.issues)},input:Q.data})}}removeCatch(){return this._def.innerType}}g$.create=($,J)=>{return new g$({innerType:$,typeName:R.ZodCatch,catchValue:typeof J.catch==="function"?J.catch:()=>J.catch,...n(J)})};class b2 extends o{_parse($){if(this._getType($)!==M.nan){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.nan,received:Q.parsedType}),m}return{status:"valid",value:$.data}}}b2.create=($)=>{return new b2({typeName:R.ZodNaN,...n($)})};var JF=Symbol("zod_brand");class l6 extends o{_parse($){let{ctx:J}=this._processInputParams($),Q=J.data;return this._def.type._parse({data:Q,path:J.path,parent:J})}unwrap(){return this._def.type}}class f2 extends o{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.common.async)return(async()=>{let Y=await this._def.in._parseAsync({data:Q.data,path:Q.path,parent:Q});if(Y.status==="aborted")return m;if(Y.status==="dirty")return J.dirty(),a1(Y.value);else return this._def.out._parseAsync({data:Y.value,path:Q.path,parent:Q})})();else{let X=this._def.in._parseSync({data:Q.data,path:Q.path,parent:Q});if(X.status==="aborted")return m;if(X.status==="dirty")return J.dirty(),{status:"dirty",value:X.value};else return this._def.out._parseSync({data:X.value,path:Q.path,parent:Q})}}static create($,J){return new f2({in:$,out:J,typeName:R.ZodPipeline})}}class y$ extends o{_parse($){let J=this._def.innerType._parse($),Q=(X)=>{if(b1(X))X.value=Object.freeze(X.value);return X};return C$(J)?J.then((X)=>Q(X)):Q(J)}unwrap(){return this._def.innerType}}y$.create=($,J)=>{return new y$({innerType:$,typeName:R.ZodReadonly,...n(J)})};function g3($,J){let Q=typeof $==="function"?$(J):typeof $==="string"?{message:$}:$;return typeof Q==="string"?{message:Q}:Q}function c3($,J={},Q){if($)return e1.create().superRefine((X,Y)=>{let W=$(X);if(W instanceof Promise)return W.then((H)=>{if(!H){let G=g3(J,X),V=G.fatal??Q??!0;Y.addIssue({code:"custom",...G,fatal:V})}});if(!W){let H=g3(J,X),G=H.fatal??Q??!0;Y.addIssue({code:"custom",...H,fatal:G})}return});return e1.create()}var QF={object:_0.lazycreate},R;(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"})(R||(R={}));var XF=($,J={message:`Input not instance of ${$.name}`})=>c3((Q)=>Q instanceof $,J),d3=s0.create,p3=k1.create,YF=b2.create,WF=x1.create,i3=K$.create,HF=t1.create,GF=P2.create,VF=I$.create,UF=T$.create,qF=e1.create,_F=f1.create,DF=q1.create,BF=K2.create,FF=o0.create,zF=_0.create,wF=_0.strictCreate,NF=b$.create,AF=m6.create,jF=f$.create,EF=_1.create,LF=I2.create,OF=T2.create,RF=$$.create,ZF=P$.create,SF=k$.create,CF=x$.create,MF=v1.create,PF=v$.create,KF=J$.create,IF=t0.create,TF=r0.create,bF=R1.create,fF=t0.createWithPreprocess,kF=f2.create,xF=()=>d3().optional(),vF=()=>p3().optional(),hF=()=>i3().optional(),gF={string:($)=>s0.create({...$,coerce:!0}),number:($)=>k1.create({...$,coerce:!0}),boolean:($)=>K$.create({...$,coerce:!0}),bigint:($)=>x1.create({...$,coerce:!0}),date:($)=>t1.create({...$,coerce:!0})};var yF=m;function U0($){if($.target!=="openAi")return{};let J=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?g6(J,$.currentPath):J.join("/")}}function n3($,J){let Q={type:"array"};if($.type?._def&&$.type?._def?.typeName!==R.ZodAny)Q.items=l($.type._def,{...J,currentPath:[...J.currentPath,"items"]});if($.minLength)e(Q,"minItems",$.minLength.value,$.minLength.message,J);if($.maxLength)e(Q,"maxItems",$.maxLength.value,$.maxLength.message,J);if($.exactLength)e(Q,"minItems",$.exactLength.value,$.exactLength.message,J),e(Q,"maxItems",$.exactLength.value,$.exactLength.message,J);return Q}function s3($,J){let Q={type:"integer",format:"int64"};if(!$.checks)return Q;for(let X of $.checks)switch(X.kind){case"min":if(J.target==="jsonSchema7")if(X.inclusive)e(Q,"minimum",X.value,X.message,J);else e(Q,"exclusiveMinimum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMinimum=!0;e(Q,"minimum",X.value,X.message,J)}break;case"max":if(J.target==="jsonSchema7")if(X.inclusive)e(Q,"maximum",X.value,X.message,J);else e(Q,"exclusiveMaximum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMaximum=!0;e(Q,"maximum",X.value,X.message,J)}break;case"multipleOf":e(Q,"multipleOf",X.value,X.message,J);break}return Q}function o3(){return{type:"boolean"}}function c6($,J){return l($.type._def,J)}var r3=($,J)=>{return l($.innerType._def,J)};function O9($,J,Q){let X=Q??J.dateStrategy;if(Array.isArray(X))return{anyOf:X.map((Y,W)=>O9($,J,Y))};switch(X){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return uF($,J)}}var uF=($,J)=>{let Q={type:"integer",format:"unix-time"};if(J.target==="openApi3")return Q;for(let X of $.checks)switch(X.kind){case"min":e(Q,"minimum",X.value,X.message,J);break;case"max":e(Q,"maximum",X.value,X.message,J);break}return Q};function a3($,J){return{...l($.innerType._def,J),default:$.defaultValue()}}function t3($,J){return J.effectStrategy==="input"?l($.schema._def,J):U0(J)}function e3($){return{type:"string",enum:Array.from($.values)}}var mF=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function $Q($,J){let Q=[l($.left._def,{...J,currentPath:[...J.currentPath,"allOf","0"]}),l($.right._def,{...J,currentPath:[...J.currentPath,"allOf","1"]})].filter((W)=>!!W),X=J.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,Y=[];return Q.forEach((W)=>{if(mF(W)){if(Y.push(...W.allOf),W.unevaluatedProperties===void 0)X=void 0}else{let H=W;if("additionalProperties"in W&&W.additionalProperties===!1){let{additionalProperties:G,...V}=W;H=V}else X=void 0;Y.push(H)}}),Y.length?{allOf:Y,...X}:void 0}function JQ($,J){let Q=typeof $.value;if(Q!=="bigint"&&Q!=="number"&&Q!=="boolean"&&Q!=="string")return{type:Array.isArray($.value)?"array":"object"};if(J.target==="openApi3")return{type:Q==="bigint"?"integer":Q,enum:[$.value]};return{type:Q==="bigint"?"integer":Q,const:$.value}}var R9=void 0,e0={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(R9===void 0)R9=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return R9},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 d6($,J){let Q={type:"string"};if($.checks)for(let X of $.checks)switch(X.kind){case"min":e(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,X.value):X.value,X.message,J);break;case"max":e(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,X.value):X.value,X.message,J);break;case"email":switch(J.emailStrategy){case"format:email":$1(Q,"email",X.message,J);break;case"format:idn-email":$1(Q,"idn-email",X.message,J);break;case"pattern:zod":P0(Q,e0.email,X.message,J);break}break;case"url":$1(Q,"uri",X.message,J);break;case"uuid":$1(Q,"uuid",X.message,J);break;case"regex":P0(Q,X.regex,X.message,J);break;case"cuid":P0(Q,e0.cuid,X.message,J);break;case"cuid2":P0(Q,e0.cuid2,X.message,J);break;case"startsWith":P0(Q,RegExp(`^${Z9(X.value,J)}`),X.message,J);break;case"endsWith":P0(Q,RegExp(`${Z9(X.value,J)}$`),X.message,J);break;case"datetime":$1(Q,"date-time",X.message,J);break;case"date":$1(Q,"date",X.message,J);break;case"time":$1(Q,"time",X.message,J);break;case"duration":$1(Q,"duration",X.message,J);break;case"length":e(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,X.value):X.value,X.message,J),e(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,X.value):X.value,X.message,J);break;case"includes":{P0(Q,RegExp(Z9(X.value,J)),X.message,J);break}case"ip":{if(X.version!=="v6")$1(Q,"ipv4",X.message,J);if(X.version!=="v4")$1(Q,"ipv6",X.message,J);break}case"base64url":P0(Q,e0.base64url,X.message,J);break;case"jwt":P0(Q,e0.jwt,X.message,J);break;case"cidr":{if(X.version!=="v6")P0(Q,e0.ipv4Cidr,X.message,J);if(X.version!=="v4")P0(Q,e0.ipv6Cidr,X.message,J);break}case"emoji":P0(Q,e0.emoji(),X.message,J);break;case"ulid":{P0(Q,e0.ulid,X.message,J);break}case"base64":{switch(J.base64Strategy){case"format:binary":{$1(Q,"binary",X.message,J);break}case"contentEncoding:base64":{e(Q,"contentEncoding","base64",X.message,J);break}case"pattern:zod":{P0(Q,e0.base64,X.message,J);break}}break}case"nanoid":P0(Q,e0.nanoid,X.message,J);case"toLowerCase":case"toUpperCase":case"trim":break;default:((Y)=>{})(X)}return Q}function Z9($,J){return J.patternStrategy==="escape"?cF($):$}var lF=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function cF($){let J="";for(let Q=0;Q<$.length;Q++){if(!lF.has($[Q]))J+="\\";J+=$[Q]}return J}function $1($,J,Q,X){if($.format||$.anyOf?.some((Y)=>Y.format)){if(!$.anyOf)$.anyOf=[];if($.format){if($.anyOf.push({format:$.format,...$.errorMessage&&X.errorMessages&&{errorMessage:{format:$.errorMessage.format}}}),delete $.format,$.errorMessage){if(delete $.errorMessage.format,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.anyOf.push({format:J,...Q&&X.errorMessages&&{errorMessage:{format:Q}}})}else e($,"format",J,Q,X)}function P0($,J,Q,X){if($.pattern||$.allOf?.some((Y)=>Y.pattern)){if(!$.allOf)$.allOf=[];if($.pattern){if($.allOf.push({pattern:$.pattern,...$.errorMessage&&X.errorMessages&&{errorMessage:{pattern:$.errorMessage.pattern}}}),delete $.pattern,$.errorMessage){if(delete $.errorMessage.pattern,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.allOf.push({pattern:QQ(J,X),...Q&&X.errorMessages&&{errorMessage:{pattern:Q}}})}else e($,"pattern",QQ(J,X),Q,X)}function QQ($,J){if(!J.applyRegexFlags||!$.flags)return $.source;let Q={i:$.flags.includes("i"),m:$.flags.includes("m"),s:$.flags.includes("s")},X=Q.i?$.source.toLowerCase():$.source,Y="",W=!1,H=!1,G=!1;for(let V=0;V<X.length;V++){if(W){Y+=X[V],W=!1;continue}if(Q.i){if(H){if(X[V].match(/[a-z]/)){if(G)Y+=X[V],Y+=`${X[V-2]}-${X[V]}`.toUpperCase(),G=!1;else if(X[V+1]==="-"&&X[V+2]?.match(/[a-z]/))Y+=X[V],G=!0;else Y+=`${X[V]}${X[V].toUpperCase()}`;continue}}else if(X[V].match(/[a-z]/)){Y+=`[${X[V]}${X[V].toUpperCase()}]`;continue}}if(Q.m){if(X[V]==="^"){Y+=`(^|(?<=[\r
39
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,$6="secret must be a string or buffer",t$="key must be a string or a buffer",YN="key must be a string, a buffer or an object",w5=typeof h0.createPublicKey==="function";if(w5)t$+=" or a KeyObject",$6+="or a KeyObject";function NY($){if(e$.isBuffer($))return;if(typeof $==="string")return;if(!w5)throw Q1(t$);if(typeof $!=="object")throw Q1(t$);if(typeof $.type!=="string")throw Q1(t$);if(typeof $.asymmetricKeyType!=="string")throw Q1(t$);if(typeof $.export!=="function")throw Q1(t$)}function wY($){if(e$.isBuffer($))return;if(typeof $==="string")return;if(typeof $==="object")return;throw Q1(YN)}function WN($){if(e$.isBuffer($))return;if(typeof $==="string")return $;if(!w5)throw Q1($6);if(typeof $!=="object")throw Q1($6);if($.type!=="secret")throw Q1($6);if(typeof $.export!=="function")throw Q1($6)}function A5($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function AY($){$=$.toString();var J=4-$.length%4;if(J!==4)for(var Q=0;Q<J;++Q)$+="=";return $.replace(/\-/g,"+").replace(/_/g,"/")}function Q1($){var J=[].slice.call(arguments,1),Q=FY.format.bind(FY,$).apply(null,J);return TypeError(Q)}function HN($){return e$.isBuffer($)||typeof $==="string"}function J6($){if(!HN($))$=JSON.stringify($);return $}function jY($){return function(Q,X){WN(X),Q=J6(Q);var Y=h0.createHmac("sha"+$,X),W=(Y.update(Q),Y.digest("base64"));return A5(W)}}var N5,GN="timingSafeEqual"in h0?function(J,Q){if(J.byteLength!==Q.byteLength)return!1;return h0.timingSafeEqual(J,Q)}:function(J,Q){if(!N5)N5=BY();return N5(J,Q)};function VN($){return function(Q,X,Y){var W=jY($)(Q,Y);return GN(e$.from(X),e$.from(W))}}function EY($){return function(Q,X){wY(X),Q=J6(Q);var Y=h0.createSign("RSA-SHA"+$),W=(Y.update(Q),Y.sign(X,"base64"));return A5(W)}}function LY($){return function(Q,X,Y){NY(Y),Q=J6(Q),X=AY(X);var W=h0.createVerify("RSA-SHA"+$);return W.update(Q),W.verify(Y,X,"base64")}}function UN($){return function(Q,X){wY(X),Q=J6(Q);var Y=h0.createSign("RSA-SHA"+$),W=(Y.update(Q),Y.sign({key:X,padding:h0.constants.RSA_PKCS1_PSS_PADDING,saltLength:h0.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return A5(W)}}function qN($){return function(Q,X,Y){NY(Y),Q=J6(Q),X=AY(X);var W=h0.createVerify("RSA-SHA"+$);return W.update(Q),W.verify({key:Y,padding:h0.constants.RSA_PKCS1_PSS_PADDING,saltLength:h0.constants.RSA_PSS_SALTLEN_DIGEST},X,"base64")}}function _N($){var J=EY($);return function(){var X=J.apply(null,arguments);return X=zY.derToJose(X,"ES"+$),X}}function DN($){var J=LY($);return function(X,Y,W){Y=zY.joseToDer(Y,"ES"+$).toString("base64");var H=J(X,Y,W);return H}}function BN(){return function(){return""}}function FN(){return function(J,Q){return Q===""}}OY.exports=function(J){var Q={hs:jY,rs:EY,ps:UN,es:_N,none:BN},X={hs:VN,rs:LY,ps:qN,es:DN,none:FN},Y=J.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!Y)throw Q1(XN,J);var W=(Y[1]||Y[3]).toLowerCase(),H=Y[2];return{sign:Q[W](H),verify:X[W](H)}}});var E5=L((ZI,RY)=>{var zN=require("buffer").Buffer;RY.exports=function(J){if(typeof J==="string")return J;if(typeof J==="number"||zN.isBuffer(J))return J.toString();return JSON.stringify(J)}});var KY=L((SI,PY)=>{var NN=a$().Buffer,ZY=B5(),wN=j5(),AN=require("stream"),SY=E5(),L5=require("util");function CY($,J){return NN.from($,J).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function jN($,J,Q){Q=Q||"utf8";var X=CY(SY($),"binary"),Y=CY(SY(J),Q);return L5.format("%s.%s",X,Y)}function MY($){var{header:J,payload:Q}=$,X=$.secret||$.privateKey,Y=$.encoding,W=wN(J.alg),H=jN(J,Q,Y),G=W.sign(H,X);return L5.format("%s.%s",H,G)}function S4($){var J=$.secret;if(J=J==null?$.privateKey:J,J=J==null?$.key:J,/^hs/i.test($.header.alg)===!0&&J==null)throw TypeError("secret must be a string or buffer or a KeyObject");var Q=new ZY(J);this.readable=!0,this.header=$.header,this.encoding=$.encoding,this.secret=this.privateKey=this.key=Q,this.payload=new ZY($.payload),this.secret.once("close",function(){if(!this.payload.writable&&this.readable)this.sign()}.bind(this)),this.payload.once("close",function(){if(!this.secret.writable&&this.readable)this.sign()}.bind(this))}L5.inherits(S4,AN);S4.prototype.sign=function(){try{var J=MY({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",J),this.emit("data",J),this.emit("end"),this.readable=!1,J}catch(Q){this.readable=!1,this.emit("error",Q),this.emit("close")}};S4.sign=MY;PY.exports=S4});var yY=L((CI,gY)=>{var TY=a$().Buffer,IY=B5(),EN=j5(),LN=require("stream"),bY=E5(),ON=require("util"),RN=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function ZN($){return Object.prototype.toString.call($)==="[object Object]"}function SN($){if(ZN($))return $;try{return JSON.parse($)}catch(J){return}}function fY($){var J=$.split(".",1)[0];return SN(TY.from(J,"base64").toString("binary"))}function CN($){return $.split(".",2).join(".")}function kY($){return $.split(".")[2]}function MN($,J){J=J||"utf8";var Q=$.split(".")[1];return TY.from(Q,"base64").toString(J)}function xY($){return RN.test($)&&!!fY($)}function vY($,J,Q){if(!J){var X=Error("Missing algorithm parameter for jws.verify");throw X.code="MISSING_ALGORITHM",X}$=bY($);var Y=kY($),W=CN($),H=EN(J);return H.verify(W,Y,Q)}function hY($,J){if(J=J||{},$=bY($),!xY($))return null;var Q=fY($);if(!Q)return null;var X=MN($);if(Q.typ==="JWT"||J.json)X=JSON.parse(X,J.encoding);return{header:Q,payload:X,signature:kY($)}}function $2($){$=$||{};var J=$.secret;if(J=J==null?$.publicKey:J,J=J==null?$.key:J,/^hs/i.test($.algorithm)===!0&&J==null)throw TypeError("secret must be a string or buffer or a KeyObject");var Q=new IY(J);this.readable=!0,this.algorithm=$.algorithm,this.encoding=$.encoding,this.secret=this.publicKey=this.key=Q,this.signature=new IY($.signature),this.secret.once("close",function(){if(!this.signature.writable&&this.readable)this.verify()}.bind(this)),this.signature.once("close",function(){if(!this.secret.writable&&this.readable)this.verify()}.bind(this))}ON.inherits($2,LN);$2.prototype.verify=function(){try{var J=vY(this.signature.buffer,this.algorithm,this.key.buffer),Q=hY(this.signature.buffer,this.encoding);return this.emit("done",J,Q),this.emit("data",J),this.emit("end"),this.readable=!1,J}catch(X){this.readable=!1,this.emit("error",X),this.emit("close")}};$2.decode=hY;$2.isValid=xY;$2.verify=vY;gY.exports=$2});var M4=L((g1)=>{var uY=KY(),C4=yY(),PN=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];g1.ALGORITHMS=PN;g1.sign=uY.sign;g1.verify=C4.verify;g1.decode=C4.decode;g1.isValid=C4.isValid;g1.createSign=function(J){return new uY(J)};g1.createVerify=function(J){return new C4(J)}});var O5=L((PI,mY)=>{var KN=M4();mY.exports=function($,J){J=J||{};var Q=KN.decode($,J);if(!Q)return null;var X=Q.payload;if(typeof X==="string")try{var Y=JSON.parse(X);if(Y!==null&&typeof Y==="object")X=Y}catch(W){}if(J.complete===!0)return{header:Q.header,payload:X,signature:Q.signature};return X}});var Q6=L((KI,lY)=>{var P4=function($,J){if(Error.call(this,$),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=$,J)this.inner=J};P4.prototype=Object.create(Error.prototype);P4.prototype.constructor=P4;lY.exports=P4});var R5=L((II,dY)=>{var cY=Q6(),K4=function($,J){cY.call(this,$),this.name="NotBeforeError",this.date=J};K4.prototype=Object.create(cY.prototype);K4.prototype.constructor=K4;dY.exports=K4});var Z5=L((TI,iY)=>{var pY=Q6(),I4=function($,J){pY.call(this,$),this.name="TokenExpiredError",this.expiredAt=J};I4.prototype=Object.create(pY.prototype);I4.prototype.constructor=I4;iY.exports=I4});var sY=L((bI,nY)=>{var J2=1000,Q2=J2*60,X2=Q2*60,F$=X2*24,IN=F$*7,TN=F$*365.25;nY.exports=function($,J){J=J||{};var Q=typeof $;if(Q==="string"&&$.length>0)return bN($);else if(Q==="number"&&isFinite($))return J.long?kN($):fN($);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify($))};function bN($){if($=String($),$.length>100)return;var J=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec($);if(!J)return;var Q=parseFloat(J[1]),X=(J[2]||"ms").toLowerCase();switch(X){case"years":case"year":case"yrs":case"yr":case"y":return Q*TN;case"weeks":case"week":case"w":return Q*IN;case"days":case"day":case"d":return Q*F$;case"hours":case"hour":case"hrs":case"hr":case"h":return Q*X2;case"minutes":case"minute":case"mins":case"min":case"m":return Q*Q2;case"seconds":case"second":case"secs":case"sec":case"s":return Q*J2;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return Q;default:return}}function fN($){var J=Math.abs($);if(J>=F$)return Math.round($/F$)+"d";if(J>=X2)return Math.round($/X2)+"h";if(J>=Q2)return Math.round($/Q2)+"m";if(J>=J2)return Math.round($/J2)+"s";return $+"ms"}function kN($){var J=Math.abs($);if(J>=F$)return T4($,J,F$,"day");if(J>=X2)return T4($,J,X2,"hour");if(J>=Q2)return T4($,J,Q2,"minute");if(J>=J2)return T4($,J,J2,"second");return $+" ms"}function T4($,J,Q,X){var Y=J>=Q*1.5;return Math.round($/Q)+" "+X+(Y?"s":"")}});var S5=L((fI,oY)=>{var xN=sY();oY.exports=function($,J){var Q=J||Math.floor(Date.now()/1000);if(typeof $==="string"){var X=xN($);if(typeof X>"u")return;return Math.floor(Q+X/1000)}else if(typeof $==="number")return Q+$;else return}});var X6=L((kI,rY)=>{var vN=Number.MAX_SAFE_INTEGER||9007199254740991,hN=["major","premajor","minor","preminor","patch","prepatch","prerelease"];rY.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:vN,RELEASE_TYPES:hN,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Y6=L((xI,aY)=>{var gN=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...$)=>console.error("SEMVER",...$):()=>{};aY.exports=gN});var Y2=L((z1,tY)=>{var{MAX_SAFE_COMPONENT_LENGTH:C5,MAX_SAFE_BUILD_LENGTH:yN,MAX_LENGTH:uN}=X6(),mN=Y6();z1=tY.exports={};var lN=z1.re=[],cN=z1.safeRe=[],f=z1.src=[],dN=z1.safeSrc=[],k=z1.t={},pN=0,M5="[a-zA-Z0-9-]",iN=[["\\s",1],["\\d",uN],[M5,yN]],nN=($)=>{for(let[J,Q]of iN)$=$.split(`${J}*`).join(`${J}{0,${Q}}`).split(`${J}+`).join(`${J}{1,${Q}}`);return $},i=($,J,Q)=>{let X=nN(J),Y=pN++;mN($,Y,J),k[$]=Y,f[Y]=J,dN[Y]=X,lN[Y]=new RegExp(J,Q?"g":void 0),cN[Y]=new RegExp(X,Q?"g":void 0)};i("NUMERICIDENTIFIER","0|[1-9]\\d*");i("NUMERICIDENTIFIERLOOSE","\\d+");i("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${M5}*`);i("MAINVERSION",`(${f[k.NUMERICIDENTIFIER]})\\.(${f[k.NUMERICIDENTIFIER]})\\.(${f[k.NUMERICIDENTIFIER]})`);i("MAINVERSIONLOOSE",`(${f[k.NUMERICIDENTIFIERLOOSE]})\\.(${f[k.NUMERICIDENTIFIERLOOSE]})\\.(${f[k.NUMERICIDENTIFIERLOOSE]})`);i("PRERELEASEIDENTIFIER",`(?:${f[k.NONNUMERICIDENTIFIER]}|${f[k.NUMERICIDENTIFIER]})`);i("PRERELEASEIDENTIFIERLOOSE",`(?:${f[k.NONNUMERICIDENTIFIER]}|${f[k.NUMERICIDENTIFIERLOOSE]})`);i("PRERELEASE",`(?:-(${f[k.PRERELEASEIDENTIFIER]}(?:\\.${f[k.PRERELEASEIDENTIFIER]})*))`);i("PRERELEASELOOSE",`(?:-?(${f[k.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${f[k.PRERELEASEIDENTIFIERLOOSE]})*))`);i("BUILDIDENTIFIER",`${M5}+`);i("BUILD",`(?:\\+(${f[k.BUILDIDENTIFIER]}(?:\\.${f[k.BUILDIDENTIFIER]})*))`);i("FULLPLAIN",`v?${f[k.MAINVERSION]}${f[k.PRERELEASE]}?${f[k.BUILD]}?`);i("FULL",`^${f[k.FULLPLAIN]}$`);i("LOOSEPLAIN",`[v=\\s]*${f[k.MAINVERSIONLOOSE]}${f[k.PRERELEASELOOSE]}?${f[k.BUILD]}?`);i("LOOSE",`^${f[k.LOOSEPLAIN]}$`);i("GTLT","((?:<|>)?=?)");i("XRANGEIDENTIFIERLOOSE",`${f[k.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);i("XRANGEIDENTIFIER",`${f[k.NUMERICIDENTIFIER]}|x|X|\\*`);i("XRANGEPLAIN",`[v=\\s]*(${f[k.XRANGEIDENTIFIER]})(?:\\.(${f[k.XRANGEIDENTIFIER]})(?:\\.(${f[k.XRANGEIDENTIFIER]})(?:${f[k.PRERELEASE]})?${f[k.BUILD]}?)?)?`);i("XRANGEPLAINLOOSE",`[v=\\s]*(${f[k.XRANGEIDENTIFIERLOOSE]})(?:\\.(${f[k.XRANGEIDENTIFIERLOOSE]})(?:\\.(${f[k.XRANGEIDENTIFIERLOOSE]})(?:${f[k.PRERELEASELOOSE]})?${f[k.BUILD]}?)?)?`);i("XRANGE",`^${f[k.GTLT]}\\s*${f[k.XRANGEPLAIN]}$`);i("XRANGELOOSE",`^${f[k.GTLT]}\\s*${f[k.XRANGEPLAINLOOSE]}$`);i("COERCEPLAIN",`(^|[^\\d])(\\d{1,${C5}})(?:\\.(\\d{1,${C5}}))?(?:\\.(\\d{1,${C5}}))?`);i("COERCE",`${f[k.COERCEPLAIN]}(?:$|[^\\d])`);i("COERCEFULL",f[k.COERCEPLAIN]+`(?:${f[k.PRERELEASE]})?(?:${f[k.BUILD]})?(?:$|[^\\d])`);i("COERCERTL",f[k.COERCE],!0);i("COERCERTLFULL",f[k.COERCEFULL],!0);i("LONETILDE","(?:~>?)");i("TILDETRIM",`(\\s*)${f[k.LONETILDE]}\\s+`,!0);z1.tildeTrimReplace="$1~";i("TILDE",`^${f[k.LONETILDE]}${f[k.XRANGEPLAIN]}$`);i("TILDELOOSE",`^${f[k.LONETILDE]}${f[k.XRANGEPLAINLOOSE]}$`);i("LONECARET","(?:\\^)");i("CARETTRIM",`(\\s*)${f[k.LONECARET]}\\s+`,!0);z1.caretTrimReplace="$1^";i("CARET",`^${f[k.LONECARET]}${f[k.XRANGEPLAIN]}$`);i("CARETLOOSE",`^${f[k.LONECARET]}${f[k.XRANGEPLAINLOOSE]}$`);i("COMPARATORLOOSE",`^${f[k.GTLT]}\\s*(${f[k.LOOSEPLAIN]})$|^$`);i("COMPARATOR",`^${f[k.GTLT]}\\s*(${f[k.FULLPLAIN]})$|^$`);i("COMPARATORTRIM",`(\\s*)${f[k.GTLT]}\\s*(${f[k.LOOSEPLAIN]}|${f[k.XRANGEPLAIN]})`,!0);z1.comparatorTrimReplace="$1$2$3";i("HYPHENRANGE",`^\\s*(${f[k.XRANGEPLAIN]})\\s+-\\s+(${f[k.XRANGEPLAIN]})\\s*$`);i("HYPHENRANGELOOSE",`^\\s*(${f[k.XRANGEPLAINLOOSE]})\\s+-\\s+(${f[k.XRANGEPLAINLOOSE]})\\s*$`);i("STAR","(<|>)?=?\\s*\\*");i("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");i("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var b4=L((vI,eY)=>{var sN=Object.freeze({loose:!0}),oN=Object.freeze({}),rN=($)=>{if(!$)return oN;if(typeof $!=="object")return sN;return $};eY.exports=rN});var P5=L((hI,QW)=>{var $W=/^[0-9]+$/,JW=($,J)=>{if(typeof $==="number"&&typeof J==="number")return $===J?0:$<J?-1:1;let Q=$W.test($),X=$W.test(J);if(Q&&X)$=+$,J=+J;return $===J?0:Q&&!X?-1:X&&!Q?1:$<J?-1:1},aN=($,J)=>JW(J,$);QW.exports={compareIdentifiers:JW,rcompareIdentifiers:aN}});var C0=L((gI,YW)=>{var f4=Y6(),{MAX_LENGTH:XW,MAX_SAFE_INTEGER:k4}=X6(),{safeRe:x4,t:v4}=Y2(),tN=b4(),{compareIdentifiers:K5}=P5();class X1{constructor($,J){if(J=tN(J),$ instanceof X1)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else $=$.version;else if(typeof $!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof $}".`);if($.length>XW)throw TypeError(`version is longer than ${XW} characters`);f4("SemVer",$,J),this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease;let Q=$.trim().match(J.loose?x4[v4.LOOSE]:x4[v4.FULL]);if(!Q)throw TypeError(`Invalid Version: ${$}`);if(this.raw=$,this.major=+Q[1],this.minor=+Q[2],this.patch=+Q[3],this.major>k4||this.major<0)throw TypeError("Invalid major version");if(this.minor>k4||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>k4||this.patch<0)throw TypeError("Invalid patch version");if(!Q[4])this.prerelease=[];else this.prerelease=Q[4].split(".").map((X)=>{if(/^[0-9]+$/.test(X)){let Y=+X;if(Y>=0&&Y<k4)return Y}return X});this.build=Q[5]?Q[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare($){if(f4("SemVer.compare",this.version,this.options,$),!($ instanceof X1)){if(typeof $==="string"&&$===this.version)return 0;$=new X1($,this.options)}if($.version===this.version)return 0;return this.compareMain($)||this.comparePre($)}compareMain($){if(!($ instanceof X1))$=new X1($,this.options);if(this.major<$.major)return-1;if(this.major>$.major)return 1;if(this.minor<$.minor)return-1;if(this.minor>$.minor)return 1;if(this.patch<$.patch)return-1;if(this.patch>$.patch)return 1;return 0}comparePre($){if(!($ instanceof X1))$=new X1($,this.options);if(this.prerelease.length&&!$.prerelease.length)return-1;else if(!this.prerelease.length&&$.prerelease.length)return 1;else if(!this.prerelease.length&&!$.prerelease.length)return 0;let J=0;do{let Q=this.prerelease[J],X=$.prerelease[J];if(f4("prerelease compare",J,Q,X),Q===void 0&&X===void 0)return 0;else if(X===void 0)return 1;else if(Q===void 0)return-1;else if(Q===X)continue;else return K5(Q,X)}while(++J)}compareBuild($){if(!($ instanceof X1))$=new X1($,this.options);let J=0;do{let Q=this.build[J],X=$.build[J];if(f4("build compare",J,Q,X),Q===void 0&&X===void 0)return 0;else if(X===void 0)return 1;else if(Q===void 0)return-1;else if(Q===X)continue;else return K5(Q,X)}while(++J)}inc($,J,Q){if($.startsWith("pre")){if(!J&&Q===!1)throw Error("invalid increment argument: identifier is empty");if(J){let X=`-${J}`.match(this.options.loose?x4[v4.PRERELEASELOOSE]:x4[v4.PRERELEASE]);if(!X||X[1]!==J)throw Error(`invalid identifier: ${J}`)}}switch($){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",J,Q);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",J,Q);break;case"prepatch":this.prerelease.length=0,this.inc("patch",J,Q),this.inc("pre",J,Q);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",J,Q);this.inc("pre",J,Q);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let X=Number(Q)?1:0;if(this.prerelease.length===0)this.prerelease=[X];else{let Y=this.prerelease.length;while(--Y>=0)if(typeof this.prerelease[Y]==="number")this.prerelease[Y]++,Y=-2;if(Y===-1){if(J===this.prerelease.join(".")&&Q===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(X)}}if(J){let Y=[J,X];if(Q===!1)Y=[J];if(K5(this.prerelease[0],J)===0){if(isNaN(this.prerelease[1]))this.prerelease=Y}else this.prerelease=Y}break}default:throw Error(`invalid increment argument: ${$}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}YW.exports=X1});var z$=L((yI,HW)=>{var WW=C0(),eN=($,J,Q=!1)=>{if($ instanceof WW)return $;try{return new WW($,J)}catch(X){if(!Q)return null;throw X}};HW.exports=eN});var VW=L((uI,GW)=>{var $w=z$(),Jw=($,J)=>{let Q=$w($,J);return Q?Q.version:null};GW.exports=Jw});var qW=L((mI,UW)=>{var Qw=z$(),Xw=($,J)=>{let Q=Qw($.trim().replace(/^[=v]+/,""),J);return Q?Q.version:null};UW.exports=Xw});var BW=L((lI,DW)=>{var _W=C0(),Yw=($,J,Q,X,Y)=>{if(typeof Q==="string")Y=X,X=Q,Q=void 0;try{return new _W($ instanceof _W?$.version:$,Q).inc(J,X,Y).version}catch(W){return null}};DW.exports=Yw});var NW=L((cI,zW)=>{var FW=z$(),Ww=($,J)=>{let Q=FW($,null,!0),X=FW(J,null,!0),Y=Q.compare(X);if(Y===0)return null;let W=Y>0,H=W?Q:X,G=W?X:Q,V=!!H.prerelease.length;if(!!G.prerelease.length&&!V){if(!G.patch&&!G.minor)return"major";if(G.compareMain(H)===0){if(G.minor&&!G.patch)return"minor";return"patch"}}let q=V?"pre":"";if(Q.major!==X.major)return q+"major";if(Q.minor!==X.minor)return q+"minor";if(Q.patch!==X.patch)return q+"patch";return"prerelease"};zW.exports=Ww});var AW=L((dI,wW)=>{var Hw=C0(),Gw=($,J)=>new Hw($,J).major;wW.exports=Gw});var EW=L((pI,jW)=>{var Vw=C0(),Uw=($,J)=>new Vw($,J).minor;jW.exports=Uw});var OW=L((iI,LW)=>{var qw=C0(),_w=($,J)=>new qw($,J).patch;LW.exports=_w});var ZW=L((nI,RW)=>{var Dw=z$(),Bw=($,J)=>{let Q=Dw($,J);return Q&&Q.prerelease.length?Q.prerelease:null};RW.exports=Bw});var g0=L((sI,CW)=>{var SW=C0(),Fw=($,J,Q)=>new SW($,Q).compare(new SW(J,Q));CW.exports=Fw});var PW=L((oI,MW)=>{var zw=g0(),Nw=($,J,Q)=>zw(J,$,Q);MW.exports=Nw});var IW=L((rI,KW)=>{var ww=g0(),Aw=($,J)=>ww($,J,!0);KW.exports=Aw});var h4=L((aI,bW)=>{var TW=C0(),jw=($,J,Q)=>{let X=new TW($,Q),Y=new TW(J,Q);return X.compare(Y)||X.compareBuild(Y)};bW.exports=jw});var kW=L((tI,fW)=>{var Ew=h4(),Lw=($,J)=>$.sort((Q,X)=>Ew(Q,X,J));fW.exports=Lw});var vW=L((eI,xW)=>{var Ow=h4(),Rw=($,J)=>$.sort((Q,X)=>Ow(X,Q,J));xW.exports=Rw});var W6=L(($T,hW)=>{var Zw=g0(),Sw=($,J,Q)=>Zw($,J,Q)>0;hW.exports=Sw});var g4=L((JT,gW)=>{var Cw=g0(),Mw=($,J,Q)=>Cw($,J,Q)<0;gW.exports=Mw});var I5=L((QT,yW)=>{var Pw=g0(),Kw=($,J,Q)=>Pw($,J,Q)===0;yW.exports=Kw});var T5=L((XT,uW)=>{var Iw=g0(),Tw=($,J,Q)=>Iw($,J,Q)!==0;uW.exports=Tw});var y4=L((YT,mW)=>{var bw=g0(),fw=($,J,Q)=>bw($,J,Q)>=0;mW.exports=fw});var u4=L((WT,lW)=>{var kw=g0(),xw=($,J,Q)=>kw($,J,Q)<=0;lW.exports=xw});var b5=L((HT,cW)=>{var vw=I5(),hw=T5(),gw=W6(),yw=y4(),uw=g4(),mw=u4(),lw=($,J,Q,X)=>{switch(J){case"===":if(typeof $==="object")$=$.version;if(typeof Q==="object")Q=Q.version;return $===Q;case"!==":if(typeof $==="object")$=$.version;if(typeof Q==="object")Q=Q.version;return $!==Q;case"":case"=":case"==":return vw($,Q,X);case"!=":return hw($,Q,X);case">":return gw($,Q,X);case">=":return yw($,Q,X);case"<":return uw($,Q,X);case"<=":return mw($,Q,X);default:throw TypeError(`Invalid operator: ${J}`)}};cW.exports=lw});var pW=L((GT,dW)=>{var cw=C0(),dw=z$(),{safeRe:m4,t:l4}=Y2(),pw=($,J)=>{if($ instanceof cw)return $;if(typeof $==="number")$=String($);if(typeof $!=="string")return null;J=J||{};let Q=null;if(!J.rtl)Q=$.match(J.includePrerelease?m4[l4.COERCEFULL]:m4[l4.COERCE]);else{let V=J.includePrerelease?m4[l4.COERCERTLFULL]:m4[l4.COERCERTL],U;while((U=V.exec($))&&(!Q||Q.index+Q[0].length!==$.length)){if(!Q||U.index+U[0].length!==Q.index+Q[0].length)Q=U;V.lastIndex=U.index+U[1].length+U[2].length}V.lastIndex=-1}if(Q===null)return null;let X=Q[2],Y=Q[3]||"0",W=Q[4]||"0",H=J.includePrerelease&&Q[5]?`-${Q[5]}`:"",G=J.includePrerelease&&Q[6]?`+${Q[6]}`:"";return dw(`${X}.${Y}.${W}${H}${G}`,J)};dW.exports=pw});var sW=L((VT,nW)=>{class iW{constructor(){this.max=1000,this.map=new Map}get($){let J=this.map.get($);if(J===void 0)return;else return this.map.delete($),this.map.set($,J),J}delete($){return this.map.delete($)}set($,J){if(!this.delete($)&&J!==void 0){if(this.map.size>=this.max){let X=this.map.keys().next().value;this.delete(X)}this.map.set($,J)}return this}}nW.exports=iW});var y0=L((UT,tW)=>{var iw=/\s+/g;class H6{constructor($,J){if(J=sw(J),$ instanceof H6)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else return new H6($.raw,J);if($ instanceof f5)return this.raw=$.value,this.set=[[$]],this.formatted=void 0,this;if(this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease,this.raw=$.trim().replace(iw," "),this.set=this.raw.split("||").map((Q)=>this.parseRange(Q.trim())).filter((Q)=>Q.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Q=this.set[0];if(this.set=this.set.filter((X)=>!rW(X[0])),this.set.length===0)this.set=[Q];else if(this.set.length>1){for(let X of this.set)if(X.length===1&&JA(X[0])){this.set=[X];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let $=0;$<this.set.length;$++){if($>0)this.formatted+="||";let J=this.set[$];for(let Q=0;Q<J.length;Q++){if(Q>0)this.formatted+=" ";this.formatted+=J[Q].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange($){let Q=((this.options.includePrerelease&&ew)|(this.options.loose&&$A))+":"+$,X=oW.get(Q);if(X)return X;let Y=this.options.loose,W=Y?K0[M0.HYPHENRANGELOOSE]:K0[M0.HYPHENRANGE];$=$.replace(W,_A(this.options.includePrerelease)),G0("hyphen replace",$),$=$.replace(K0[M0.COMPARATORTRIM],rw),G0("comparator trim",$),$=$.replace(K0[M0.TILDETRIM],aw),G0("tilde trim",$),$=$.replace(K0[M0.CARETTRIM],tw),G0("caret trim",$);let H=$.split(" ").map((q)=>QA(q,this.options)).join(" ").split(/\s+/).map((q)=>qA(q,this.options));if(Y)H=H.filter((q)=>{return G0("loose invalid filter",q,this.options),!!q.match(K0[M0.COMPARATORLOOSE])});G0("range list",H);let G=new Map,V=H.map((q)=>new f5(q,this.options));for(let q of V){if(rW(q))return[q];G.set(q.value,q)}if(G.size>1&&G.has(""))G.delete("");let U=[...G.values()];return oW.set(Q,U),U}intersects($,J){if(!($ instanceof H6))throw TypeError("a Range is required");return this.set.some((Q)=>{return aW(Q,J)&&$.set.some((X)=>{return aW(X,J)&&Q.every((Y)=>{return X.every((W)=>{return Y.intersects(W,J)})})})})}test($){if(!$)return!1;if(typeof $==="string")try{$=new ow($,this.options)}catch(J){return!1}for(let J=0;J<this.set.length;J++)if(DA(this.set[J],$,this.options))return!0;return!1}}tW.exports=H6;var nw=sW(),oW=new nw,sw=b4(),f5=G6(),G0=Y6(),ow=C0(),{safeRe:K0,t:M0,comparatorTrimReplace:rw,tildeTrimReplace:aw,caretTrimReplace:tw}=Y2(),{FLAG_INCLUDE_PRERELEASE:ew,FLAG_LOOSE:$A}=X6(),rW=($)=>$.value==="<0.0.0-0",JA=($)=>$.value==="",aW=($,J)=>{let Q=!0,X=$.slice(),Y=X.pop();while(Q&&X.length)Q=X.every((W)=>{return Y.intersects(W,J)}),Y=X.pop();return Q},QA=($,J)=>{return $=$.replace(K0[M0.BUILD],""),G0("comp",$,J),$=WA($,J),G0("caret",$),$=XA($,J),G0("tildes",$),$=GA($,J),G0("xrange",$),$=UA($,J),G0("stars",$),$},I0=($)=>!$||$.toLowerCase()==="x"||$==="*",XA=($,J)=>{return $.trim().split(/\s+/).map((Q)=>YA(Q,J)).join(" ")},YA=($,J)=>{let Q=J.loose?K0[M0.TILDELOOSE]:K0[M0.TILDE];return $.replace(Q,(X,Y,W,H,G)=>{G0("tilde",$,X,Y,W,H,G);let V;if(I0(Y))V="";else if(I0(W))V=`>=${Y}.0.0 <${+Y+1}.0.0-0`;else if(I0(H))V=`>=${Y}.${W}.0 <${Y}.${+W+1}.0-0`;else if(G)G0("replaceTilde pr",G),V=`>=${Y}.${W}.${H}-${G} <${Y}.${+W+1}.0-0`;else V=`>=${Y}.${W}.${H} <${Y}.${+W+1}.0-0`;return G0("tilde return",V),V})},WA=($,J)=>{return $.trim().split(/\s+/).map((Q)=>HA(Q,J)).join(" ")},HA=($,J)=>{G0("caret",$,J);let Q=J.loose?K0[M0.CARETLOOSE]:K0[M0.CARET],X=J.includePrerelease?"-0":"";return $.replace(Q,(Y,W,H,G,V)=>{G0("caret",$,Y,W,H,G,V);let U;if(I0(W))U="";else if(I0(H))U=`>=${W}.0.0${X} <${+W+1}.0.0-0`;else if(I0(G))if(W==="0")U=`>=${W}.${H}.0${X} <${W}.${+H+1}.0-0`;else U=`>=${W}.${H}.0${X} <${+W+1}.0.0-0`;else if(V)if(G0("replaceCaret pr",V),W==="0")if(H==="0")U=`>=${W}.${H}.${G}-${V} <${W}.${H}.${+G+1}-0`;else U=`>=${W}.${H}.${G}-${V} <${W}.${+H+1}.0-0`;else U=`>=${W}.${H}.${G}-${V} <${+W+1}.0.0-0`;else if(G0("no pr"),W==="0")if(H==="0")U=`>=${W}.${H}.${G}${X} <${W}.${H}.${+G+1}-0`;else U=`>=${W}.${H}.${G}${X} <${W}.${+H+1}.0-0`;else U=`>=${W}.${H}.${G} <${+W+1}.0.0-0`;return G0("caret return",U),U})},GA=($,J)=>{return G0("replaceXRanges",$,J),$.split(/\s+/).map((Q)=>VA(Q,J)).join(" ")},VA=($,J)=>{$=$.trim();let Q=J.loose?K0[M0.XRANGELOOSE]:K0[M0.XRANGE];return $.replace(Q,(X,Y,W,H,G,V)=>{G0("xRange",$,X,Y,W,H,G,V);let U=I0(W),q=U||I0(H),_=q||I0(G),F=_;if(Y==="="&&F)Y="";if(V=J.includePrerelease?"-0":"",U)if(Y===">"||Y==="<")X="<0.0.0-0";else X="*";else if(Y&&F){if(q)H=0;if(G=0,Y===">")if(Y=">=",q)W=+W+1,H=0,G=0;else H=+H+1,G=0;else if(Y==="<=")if(Y="<",q)W=+W+1;else H=+H+1;if(Y==="<")V="-0";X=`${Y+W}.${H}.${G}${V}`}else if(q)X=`>=${W}.0.0${V} <${+W+1}.0.0-0`;else if(_)X=`>=${W}.${H}.0${V} <${W}.${+H+1}.0-0`;return G0("xRange return",X),X})},UA=($,J)=>{return G0("replaceStars",$,J),$.trim().replace(K0[M0.STAR],"")},qA=($,J)=>{return G0("replaceGTE0",$,J),$.trim().replace(K0[J.includePrerelease?M0.GTE0PRE:M0.GTE0],"")},_A=($)=>(J,Q,X,Y,W,H,G,V,U,q,_,F)=>{if(I0(X))Q="";else if(I0(Y))Q=`>=${X}.0.0${$?"-0":""}`;else if(I0(W))Q=`>=${X}.${Y}.0${$?"-0":""}`;else if(H)Q=`>=${Q}`;else Q=`>=${Q}${$?"-0":""}`;if(I0(U))V="";else if(I0(q))V=`<${+U+1}.0.0-0`;else if(I0(_))V=`<${U}.${+q+1}.0-0`;else if(F)V=`<=${U}.${q}.${_}-${F}`;else if($)V=`<${U}.${q}.${+_+1}-0`;else V=`<=${V}`;return`${Q} ${V}`.trim()},DA=($,J,Q)=>{for(let X=0;X<$.length;X++)if(!$[X].test(J))return!1;if(J.prerelease.length&&!Q.includePrerelease){for(let X=0;X<$.length;X++){if(G0($[X].semver),$[X].semver===f5.ANY)continue;if($[X].semver.prerelease.length>0){let Y=$[X].semver;if(Y.major===J.major&&Y.minor===J.minor&&Y.patch===J.patch)return!0}}return!1}return!0}});var G6=L((qT,YH)=>{var V6=Symbol("SemVer ANY");class c4{static get ANY(){return V6}constructor($,J){if(J=eW(J),$ instanceof c4)if($.loose===!!J.loose)return $;else $=$.value;if($=$.trim().split(/\s+/).join(" "),x5("comparator",$,J),this.options=J,this.loose=!!J.loose,this.parse($),this.semver===V6)this.value="";else this.value=this.operator+this.semver.version;x5("comp",this)}parse($){let J=this.options.loose?$H[JH.COMPARATORLOOSE]:$H[JH.COMPARATOR],Q=$.match(J);if(!Q)throw TypeError(`Invalid comparator: ${$}`);if(this.operator=Q[1]!==void 0?Q[1]:"",this.operator==="=")this.operator="";if(!Q[2])this.semver=V6;else this.semver=new QH(Q[2],this.options.loose)}toString(){return this.value}test($){if(x5("Comparator.test",$,this.options.loose),this.semver===V6||$===V6)return!0;if(typeof $==="string")try{$=new QH($,this.options)}catch(J){return!1}return k5($,this.operator,this.semver,this.options)}intersects($,J){if(!($ instanceof c4))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new XH($.value,J).test(this.value)}else if($.operator===""){if($.value==="")return!0;return new XH(this.value,J).test($.semver)}if(J=eW(J),J.includePrerelease&&(this.value==="<0.0.0-0"||$.value==="<0.0.0-0"))return!1;if(!J.includePrerelease&&(this.value.startsWith("<0.0.0")||$.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&$.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&$.operator.startsWith("<"))return!0;if(this.semver.version===$.semver.version&&this.operator.includes("=")&&$.operator.includes("="))return!0;if(k5(this.semver,"<",$.semver,J)&&this.operator.startsWith(">")&&$.operator.startsWith("<"))return!0;if(k5(this.semver,">",$.semver,J)&&this.operator.startsWith("<")&&$.operator.startsWith(">"))return!0;return!1}}YH.exports=c4;var eW=b4(),{safeRe:$H,t:JH}=Y2(),k5=b5(),x5=Y6(),QH=C0(),XH=y0()});var U6=L((_T,WH)=>{var BA=y0(),FA=($,J,Q)=>{try{J=new BA(J,Q)}catch(X){return!1}return J.test($)};WH.exports=FA});var GH=L((DT,HH)=>{var zA=y0(),NA=($,J)=>new zA($,J).set.map((Q)=>Q.map((X)=>X.value).join(" ").trim().split(" "));HH.exports=NA});var UH=L((BT,VH)=>{var wA=C0(),AA=y0(),jA=($,J,Q)=>{let X=null,Y=null,W=null;try{W=new AA(J,Q)}catch(H){return null}return $.forEach((H)=>{if(W.test(H)){if(!X||Y.compare(H)===-1)X=H,Y=new wA(X,Q)}}),X};VH.exports=jA});var _H=L((FT,qH)=>{var EA=C0(),LA=y0(),OA=($,J,Q)=>{let X=null,Y=null,W=null;try{W=new LA(J,Q)}catch(H){return null}return $.forEach((H)=>{if(W.test(H)){if(!X||Y.compare(H)===1)X=H,Y=new EA(X,Q)}}),X};qH.exports=OA});var FH=L((zT,BH)=>{var v5=C0(),RA=y0(),DH=W6(),ZA=($,J)=>{$=new RA($,J);let Q=new v5("0.0.0");if($.test(Q))return Q;if(Q=new v5("0.0.0-0"),$.test(Q))return Q;Q=null;for(let X=0;X<$.set.length;++X){let Y=$.set[X],W=null;if(Y.forEach((H)=>{let G=new v5(H.semver.version);switch(H.operator){case">":if(G.prerelease.length===0)G.patch++;else G.prerelease.push(0);G.raw=G.format();case"":case">=":if(!W||DH(G,W))W=G;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${H.operator}`)}}),W&&(!Q||DH(Q,W)))Q=W}if(Q&&$.test(Q))return Q;return null};BH.exports=ZA});var NH=L((NT,zH)=>{var SA=y0(),CA=($,J)=>{try{return new SA($,J).range||"*"}catch(Q){return null}};zH.exports=CA});var d4=L((wT,EH)=>{var MA=C0(),jH=G6(),{ANY:PA}=jH,KA=y0(),IA=U6(),wH=W6(),AH=g4(),TA=u4(),bA=y4(),fA=($,J,Q,X)=>{$=new MA($,X),J=new KA(J,X);let Y,W,H,G,V;switch(Q){case">":Y=wH,W=TA,H=AH,G=">",V=">=";break;case"<":Y=AH,W=bA,H=wH,G="<",V="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(IA($,J,X))return!1;for(let U=0;U<J.set.length;++U){let q=J.set[U],_=null,F=null;if(q.forEach((B)=>{if(B.semver===PA)B=new jH(">=0.0.0");if(_=_||B,F=F||B,Y(B.semver,_.semver,X))_=B;else if(H(B.semver,F.semver,X))F=B}),_.operator===G||_.operator===V)return!1;if((!F.operator||F.operator===G)&&W($,F.semver))return!1;else if(F.operator===V&&H($,F.semver))return!1}return!0};EH.exports=fA});var OH=L((AT,LH)=>{var kA=d4(),xA=($,J,Q)=>kA($,J,">",Q);LH.exports=xA});var ZH=L((jT,RH)=>{var vA=d4(),hA=($,J,Q)=>vA($,J,"<",Q);RH.exports=hA});var MH=L((ET,CH)=>{var SH=y0(),gA=($,J,Q)=>{return $=new SH($,Q),J=new SH(J,Q),$.intersects(J,Q)};CH.exports=gA});var KH=L((LT,PH)=>{var yA=U6(),uA=g0();PH.exports=($,J,Q)=>{let X=[],Y=null,W=null,H=$.sort((q,_)=>uA(q,_,Q));for(let q of H)if(yA(q,J,Q)){if(W=q,!Y)Y=q}else{if(W)X.push([Y,W]);W=null,Y=null}if(Y)X.push([Y,null]);let G=[];for(let[q,_]of X)if(q===_)G.push(q);else if(!_&&q===H[0])G.push("*");else if(!_)G.push(`>=${q}`);else if(q===H[0])G.push(`<=${_}`);else G.push(`${q} - ${_}`);let V=G.join(" || "),U=typeof J.raw==="string"?J.raw:String(J);return V.length<U.length?V:J}});var xH=L((OT,kH)=>{var IH=y0(),g5=G6(),{ANY:h5}=g5,q6=U6(),y5=g0(),mA=($,J,Q={})=>{if($===J)return!0;$=new IH($,Q),J=new IH(J,Q);let X=!1;$:for(let Y of $.set){for(let W of J.set){let H=cA(Y,W,Q);if(X=X||H!==null,H)continue $}if(X)return!1}return!0},lA=[new g5(">=0.0.0-0")],TH=[new g5(">=0.0.0")],cA=($,J,Q)=>{if($===J)return!0;if($.length===1&&$[0].semver===h5)if(J.length===1&&J[0].semver===h5)return!0;else if(Q.includePrerelease)$=lA;else $=TH;if(J.length===1&&J[0].semver===h5)if(Q.includePrerelease)return!0;else J=TH;let X=new Set,Y,W;for(let B of $)if(B.operator===">"||B.operator===">=")Y=bH(Y,B,Q);else if(B.operator==="<"||B.operator==="<=")W=fH(W,B,Q);else X.add(B.semver);if(X.size>1)return null;let H;if(Y&&W){if(H=y5(Y.semver,W.semver,Q),H>0)return null;else if(H===0&&(Y.operator!==">="||W.operator!=="<="))return null}for(let B of X){if(Y&&!q6(B,String(Y),Q))return null;if(W&&!q6(B,String(W),Q))return null;for(let D of J)if(!q6(B,String(D),Q))return!1;return!0}let G,V,U,q,_=W&&!Q.includePrerelease&&W.semver.prerelease.length?W.semver:!1,F=Y&&!Q.includePrerelease&&Y.semver.prerelease.length?Y.semver:!1;if(_&&_.prerelease.length===1&&W.operator==="<"&&_.prerelease[0]===0)_=!1;for(let B of J){if(q=q||B.operator===">"||B.operator===">=",U=U||B.operator==="<"||B.operator==="<=",Y){if(F){if(B.semver.prerelease&&B.semver.prerelease.length&&B.semver.major===F.major&&B.semver.minor===F.minor&&B.semver.patch===F.patch)F=!1}if(B.operator===">"||B.operator===">="){if(G=bH(Y,B,Q),G===B&&G!==Y)return!1}else if(Y.operator===">="&&!q6(Y.semver,String(B),Q))return!1}if(W){if(_){if(B.semver.prerelease&&B.semver.prerelease.length&&B.semver.major===_.major&&B.semver.minor===_.minor&&B.semver.patch===_.patch)_=!1}if(B.operator==="<"||B.operator==="<="){if(V=fH(W,B,Q),V===B&&V!==W)return!1}else if(W.operator==="<="&&!q6(W.semver,String(B),Q))return!1}if(!B.operator&&(W||Y)&&H!==0)return!1}if(Y&&U&&!W&&H!==0)return!1;if(W&&q&&!Y&&H!==0)return!1;if(F||_)return!1;return!0},bH=($,J,Q)=>{if(!$)return J;let X=y5($.semver,J.semver,Q);return X>0?$:X<0?J:J.operator===">"&&$.operator===">="?J:$},fH=($,J,Q)=>{if(!$)return J;let X=y5($.semver,J.semver,Q);return X<0?$:X>0?J:J.operator==="<"&&$.operator==="<="?J:$};kH.exports=mA});var p4=L((RT,gH)=>{var u5=Y2(),vH=X6(),dA=C0(),hH=P5(),pA=z$(),iA=VW(),nA=qW(),sA=BW(),oA=NW(),rA=AW(),aA=EW(),tA=OW(),eA=ZW(),$j=g0(),Jj=PW(),Qj=IW(),Xj=h4(),Yj=kW(),Wj=vW(),Hj=W6(),Gj=g4(),Vj=I5(),Uj=T5(),qj=y4(),_j=u4(),Dj=b5(),Bj=pW(),Fj=G6(),zj=y0(),Nj=U6(),wj=GH(),Aj=UH(),jj=_H(),Ej=FH(),Lj=NH(),Oj=d4(),Rj=OH(),Zj=ZH(),Sj=MH(),Cj=KH(),Mj=xH();gH.exports={parse:pA,valid:iA,clean:nA,inc:sA,diff:oA,major:rA,minor:aA,patch:tA,prerelease:eA,compare:$j,rcompare:Jj,compareLoose:Qj,compareBuild:Xj,sort:Yj,rsort:Wj,gt:Hj,lt:Gj,eq:Vj,neq:Uj,gte:qj,lte:_j,cmp:Dj,coerce:Bj,Comparator:Fj,Range:zj,satisfies:Nj,toComparators:wj,maxSatisfying:Aj,minSatisfying:jj,minVersion:Ej,validRange:Lj,outside:Oj,gtr:Rj,ltr:Zj,intersects:Sj,simplifyRange:Cj,subset:Mj,SemVer:dA,re:u5.re,src:u5.src,tokens:u5.t,SEMVER_SPEC_VERSION:vH.SEMVER_SPEC_VERSION,RELEASE_TYPES:vH.RELEASE_TYPES,compareIdentifiers:hH.compareIdentifiers,rcompareIdentifiers:hH.rcompareIdentifiers}});var uH=L((ZT,yH)=>{var Pj=p4();yH.exports=Pj.satisfies(process.version,">=15.7.0")});var lH=L((ST,mH)=>{var Kj=p4();mH.exports=Kj.satisfies(process.version,">=16.9.0")});var m5=L((CT,cH)=>{var Ij=uH(),Tj=lH(),bj={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},fj={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};cH.exports=function($,J){if(!$||!J)return;let Q=J.asymmetricKeyType;if(!Q)return;let X=bj[Q];if(!X)throw Error(`Unknown key type "${Q}".`);if(!X.includes($))throw Error(`"alg" parameter for "${Q}" key type must be one of: ${X.join(", ")}.`);if(Ij)switch(Q){case"ec":let Y=J.asymmetricKeyDetails.namedCurve,W=fj[$];if(Y!==W)throw Error(`"alg" parameter "${$}" requires curve "${W}".`);break;case"rsa-pss":if(Tj){let H=parseInt($.slice(-3),10),{hashAlgorithm:G,mgf1HashAlgorithm:V,saltLength:U}=J.asymmetricKeyDetails;if(G!==`sha${H}`||V!==G)throw Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${$}.`);if(U!==void 0&&U>H>>3)throw Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${$}.`)}break}}});var l5=L((MT,dH)=>{var kj=p4();dH.exports=kj.satisfies(process.version,"^6.12.0 || >=8.0.0")});var nH=L((PT,iH)=>{var W0=Q6(),xj=R5(),pH=Z5(),vj=O5(),hj=S5(),gj=m5(),yj=l5(),uj=M4(),{KeyObject:mj,createSecretKey:lj,createPublicKey:cj}=require("crypto"),c5=["RS256","RS384","RS512"],dj=["ES256","ES384","ES512"],d5=["RS256","RS384","RS512"],pj=["HS256","HS384","HS512"];if(yj)c5.splice(c5.length,0,"PS256","PS384","PS512"),d5.splice(d5.length,0,"PS256","PS384","PS512");iH.exports=function($,J,Q,X){if(typeof Q==="function"&&!X)X=Q,Q={};if(!Q)Q={};Q=Object.assign({},Q);let Y;if(X)Y=X;else Y=function(q,_){if(q)throw q;return _};if(Q.clockTimestamp&&typeof Q.clockTimestamp!=="number")return Y(new W0("clockTimestamp must be a number"));if(Q.nonce!==void 0&&(typeof Q.nonce!=="string"||Q.nonce.trim()===""))return Y(new W0("nonce must be a non-empty string"));if(Q.allowInvalidAsymmetricKeyTypes!==void 0&&typeof Q.allowInvalidAsymmetricKeyTypes!=="boolean")return Y(new W0("allowInvalidAsymmetricKeyTypes must be a boolean"));let W=Q.clockTimestamp||Math.floor(Date.now()/1000);if(!$)return Y(new W0("jwt must be provided"));if(typeof $!=="string")return Y(new W0("jwt must be a string"));let H=$.split(".");if(H.length!==3)return Y(new W0("jwt malformed"));let G;try{G=vj($,{complete:!0})}catch(q){return Y(q)}if(!G)return Y(new W0("invalid token"));let V=G.header,U;if(typeof J==="function"){if(!X)return Y(new W0("verify must be called asynchronous if secret or public key is provided as a callback"));U=J}else U=function(q,_){return _(null,J)};return U(V,function(q,_){if(q)return Y(new W0("error in secret or public key callback: "+q.message));let F=H[2].trim()!=="";if(!F&&_)return Y(new W0("jwt signature is required"));if(F&&!_)return Y(new W0("secret or public key must be provided"));if(!F&&!Q.algorithms)return Y(new W0('please specify "none" in "algorithms" to verify unsigned tokens'));if(_!=null&&!(_ instanceof mj))try{_=cj(_)}catch(A){try{_=lj(typeof _==="string"?Buffer.from(_):_)}catch(Z){return Y(new W0("secretOrPublicKey is not valid key material"))}}if(!Q.algorithms)if(_.type==="secret")Q.algorithms=pj;else if(["rsa","rsa-pss"].includes(_.asymmetricKeyType))Q.algorithms=d5;else if(_.asymmetricKeyType==="ec")Q.algorithms=dj;else Q.algorithms=c5;if(Q.algorithms.indexOf(G.header.alg)===-1)return Y(new W0("invalid algorithm"));if(V.alg.startsWith("HS")&&_.type!=="secret")return Y(new W0(`secretOrPublicKey must be a symmetric key when using ${V.alg}`));else if(/^(?:RS|PS|ES)/.test(V.alg)&&_.type!=="public")return Y(new W0(`secretOrPublicKey must be an asymmetric key when using ${V.alg}`));if(!Q.allowInvalidAsymmetricKeyTypes)try{gj(V.alg,_)}catch(A){return Y(A)}let B;try{B=uj.verify($,G.header.alg,_)}catch(A){return Y(A)}if(!B)return Y(new W0("invalid signature"));let D=G.payload;if(typeof D.nbf<"u"&&!Q.ignoreNotBefore){if(typeof D.nbf!=="number")return Y(new W0("invalid nbf value"));if(D.nbf>W+(Q.clockTolerance||0))return Y(new xj("jwt not active",new Date(D.nbf*1000)))}if(typeof D.exp<"u"&&!Q.ignoreExpiration){if(typeof D.exp!=="number")return Y(new W0("invalid exp value"));if(W>=D.exp+(Q.clockTolerance||0))return Y(new pH("jwt expired",new Date(D.exp*1000)))}if(Q.audience){let A=Array.isArray(Q.audience)?Q.audience:[Q.audience];if(!(Array.isArray(D.aud)?D.aud:[D.aud]).some(function(T){return A.some(function(K){return K instanceof RegExp?K.test(T):K===T})}))return Y(new W0("jwt audience invalid. expected: "+A.join(" or ")))}if(Q.issuer){if(typeof Q.issuer==="string"&&D.iss!==Q.issuer||Array.isArray(Q.issuer)&&Q.issuer.indexOf(D.iss)===-1)return Y(new W0("jwt issuer invalid. expected: "+Q.issuer))}if(Q.subject){if(D.sub!==Q.subject)return Y(new W0("jwt subject invalid. expected: "+Q.subject))}if(Q.jwtid){if(D.jti!==Q.jwtid)return Y(new W0("jwt jwtid invalid. expected: "+Q.jwtid))}if(Q.nonce){if(D.nonce!==Q.nonce)return Y(new W0("jwt nonce invalid. expected: "+Q.nonce))}if(Q.maxAge){if(typeof D.iat!=="number")return Y(new W0("iat required when maxAge is specified"));let A=hj(Q.maxAge,D.iat);if(typeof A>"u")return Y(new W0('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(W>=A+(Q.clockTolerance||0))return Y(new pH("maxAge exceeded",new Date(A*1000)))}if(Q.complete===!0){let A=G.signature;return Y(null,{header:V,payload:D,signature:A})}return Y(null,D)})}});var eH=L((KT,tH)=>{var sH=1/0,rH=9007199254740991,ij=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,oH=NaN,nj="[object Arguments]",sj="[object Function]",oj="[object GeneratorFunction]",rj="[object String]",aj="[object Symbol]",tj=/^\s+|\s+$/g,ej=/^[-+]0x[0-9a-f]+$/i,$E=/^0b[01]+$/i,JE=/^0o[0-7]+$/i,QE=/^(?:0|[1-9]\d*)$/,XE=parseInt;function YE($,J){var Q=-1,X=$?$.length:0,Y=Array(X);while(++Q<X)Y[Q]=J($[Q],Q,$);return Y}function WE($,J,Q,X){var Y=$.length,W=Q+(X?1:-1);while(X?W--:++W<Y)if(J($[W],W,$))return W;return-1}function HE($,J,Q){if(J!==J)return WE($,GE,Q);var X=Q-1,Y=$.length;while(++X<Y)if($[X]===J)return X;return-1}function GE($){return $!==$}function VE($,J){var Q=-1,X=Array($);while(++Q<$)X[Q]=J(Q);return X}function UE($,J){return YE(J,function(Q){return $[Q]})}function qE($,J){return function(Q){return $(J(Q))}}var i4=Object.prototype,i5=i4.hasOwnProperty,n4=i4.toString,_E=i4.propertyIsEnumerable,DE=qE(Object.keys,Object),BE=Math.max;function FE($,J){var Q=aH($)||jE($)?VE($.length,String):[],X=Q.length,Y=!!X;for(var W in $)if((J||i5.call($,W))&&!(Y&&(W=="length"||NE(W,X))))Q.push(W);return Q}function zE($){if(!wE($))return DE($);var J=[];for(var Q in Object($))if(i5.call($,Q)&&Q!="constructor")J.push(Q);return J}function NE($,J){return J=J==null?rH:J,!!J&&(typeof $=="number"||QE.test($))&&($>-1&&$%1==0&&$<J)}function wE($){var J=$&&$.constructor,Q=typeof J=="function"&&J.prototype||i4;return $===Q}function AE($,J,Q,X){$=n5($)?$:KE($),Q=Q&&!X?CE(Q):0;var Y=$.length;if(Q<0)Q=BE(Y+Q,0);return RE($)?Q<=Y&&$.indexOf(J,Q)>-1:!!Y&&HE($,J,Q)>-1}function jE($){return EE($)&&i5.call($,"callee")&&(!_E.call($,"callee")||n4.call($)==nj)}var aH=Array.isArray;function n5($){return $!=null&&OE($.length)&&!LE($)}function EE($){return s5($)&&n5($)}function LE($){var J=p5($)?n4.call($):"";return J==sj||J==oj}function OE($){return typeof $=="number"&&$>-1&&$%1==0&&$<=rH}function p5($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function s5($){return!!$&&typeof $=="object"}function RE($){return typeof $=="string"||!aH($)&&s5($)&&n4.call($)==rj}function ZE($){return typeof $=="symbol"||s5($)&&n4.call($)==aj}function SE($){if(!$)return $===0?$:0;if($=ME($),$===sH||$===-sH){var J=$<0?-1:1;return J*ij}return $===$?$:0}function CE($){var J=SE($),Q=J%1;return J===J?Q?J-Q:J:0}function ME($){if(typeof $=="number")return $;if(ZE($))return oH;if(p5($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=p5(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(tj,"");var Q=$E.test($);return Q||JE.test($)?XE($.slice(2),Q?2:8):ej.test($)?oH:+$}function PE($){return n5($)?FE($):zE($)}function KE($){return $?UE($,PE($)):[]}tH.exports=AE});var JG=L((IT,$G)=>{var IE="[object Boolean]",TE=Object.prototype,bE=TE.toString;function fE($){return $===!0||$===!1||kE($)&&bE.call($)==IE}function kE($){return!!$&&typeof $=="object"}$G.exports=fE});var HG=L((TT,WG)=>{var QG=1/0,xE=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,XG=NaN,vE="[object Symbol]",hE=/^\s+|\s+$/g,gE=/^[-+]0x[0-9a-f]+$/i,yE=/^0b[01]+$/i,uE=/^0o[0-7]+$/i,mE=parseInt,lE=Object.prototype,cE=lE.toString;function dE($){return typeof $=="number"&&$==sE($)}function YG($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function pE($){return!!$&&typeof $=="object"}function iE($){return typeof $=="symbol"||pE($)&&cE.call($)==vE}function nE($){if(!$)return $===0?$:0;if($=oE($),$===QG||$===-QG){var J=$<0?-1:1;return J*xE}return $===$?$:0}function sE($){var J=nE($),Q=J%1;return J===J?Q?J-Q:J:0}function oE($){if(typeof $=="number")return $;if(iE($))return XG;if(YG($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=YG(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(hE,"");var Q=yE.test($);return Q||uE.test($)?mE($.slice(2),Q?2:8):gE.test($)?XG:+$}WG.exports=dE});var VG=L((bT,GG)=>{var rE="[object Number]",aE=Object.prototype,tE=aE.toString;function eE($){return!!$&&typeof $=="object"}function $L($){return typeof $=="number"||eE($)&&tE.call($)==rE}GG.exports=$L});var DG=L((fT,_G)=>{var JL="[object Object]";function QL($){var J=!1;if($!=null&&typeof $.toString!="function")try{J=!!($+"")}catch(Q){}return J}function XL($,J){return function(Q){return $(J(Q))}}var YL=Function.prototype,UG=Object.prototype,qG=YL.toString,WL=UG.hasOwnProperty,HL=qG.call(Object),GL=UG.toString,VL=XL(Object.getPrototypeOf,Object);function UL($){return!!$&&typeof $=="object"}function qL($){if(!UL($)||GL.call($)!=JL||QL($))return!1;var J=VL($);if(J===null)return!0;var Q=WL.call(J,"constructor")&&J.constructor;return typeof Q=="function"&&Q instanceof Q&&qG.call(Q)==HL}_G.exports=qL});var FG=L((kT,BG)=>{var _L="[object String]",DL=Object.prototype,BL=DL.toString,FL=Array.isArray;function zL($){return!!$&&typeof $=="object"}function NL($){return typeof $=="string"||!FL($)&&zL($)&&BL.call($)==_L}BG.exports=NL});var jG=L((xT,AG)=>{var wL="Expected a function",zG=1/0,AL=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,NG=NaN,jL="[object Symbol]",EL=/^\s+|\s+$/g,LL=/^[-+]0x[0-9a-f]+$/i,OL=/^0b[01]+$/i,RL=/^0o[0-7]+$/i,ZL=parseInt,SL=Object.prototype,CL=SL.toString;function ML($,J){var Q;if(typeof J!="function")throw TypeError(wL);return $=bL($),function(){if(--$>0)Q=J.apply(this,arguments);if($<=1)J=void 0;return Q}}function PL($){return ML(2,$)}function wG($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function KL($){return!!$&&typeof $=="object"}function IL($){return typeof $=="symbol"||KL($)&&CL.call($)==jL}function TL($){if(!$)return $===0?$:0;if($=fL($),$===zG||$===-zG){var J=$<0?-1:1;return J*AL}return $===$?$:0}function bL($){var J=TL($),Q=J%1;return J===J?Q?J-Q:J:0}function fL($){if(typeof $=="number")return $;if(IL($))return NG;if(wG($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=wG(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(EL,"");var Q=OL.test($);return Q||RL.test($)?ZL($.slice(2),Q?2:8):LL.test($)?NG:+$}AG.exports=PL});var PG=L((vT,MG)=>{var EG=S5(),kL=l5(),xL=m5(),LG=M4(),vL=eH(),s4=JG(),OG=HG(),o5=VG(),ZG=DG(),y1=FG(),hL=jG(),{KeyObject:gL,createSecretKey:yL,createPrivateKey:uL}=require("crypto"),SG=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(kL)SG.splice(3,0,"PS256","PS384","PS512");var mL={expiresIn:{isValid:function($){return OG($)||y1($)&&$},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function($){return OG($)||y1($)&&$},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function($){return y1($)||Array.isArray($)},message:'"audience" must be a string or array'},algorithm:{isValid:vL.bind(null,SG),message:'"algorithm" must be a valid string enum value'},header:{isValid:ZG,message:'"header" must be an object'},encoding:{isValid:y1,message:'"encoding" must be a string'},issuer:{isValid:y1,message:'"issuer" must be a string'},subject:{isValid:y1,message:'"subject" must be a string'},jwtid:{isValid:y1,message:'"jwtid" must be a string'},noTimestamp:{isValid:s4,message:'"noTimestamp" must be a boolean'},keyid:{isValid:y1,message:'"keyid" must be a string'},mutatePayload:{isValid:s4,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:s4,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:s4,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},lL={iat:{isValid:o5,message:'"iat" should be a number of seconds'},exp:{isValid:o5,message:'"exp" should be a number of seconds'},nbf:{isValid:o5,message:'"nbf" should be a number of seconds'}};function CG($,J,Q,X){if(!ZG(Q))throw Error('Expected "'+X+'" to be a plain object.');Object.keys(Q).forEach(function(Y){let W=$[Y];if(!W){if(!J)throw Error('"'+Y+'" is not allowed in "'+X+'"');return}if(!W.isValid(Q[Y]))throw Error(W.message)})}function cL($){return CG(mL,!1,$,"options")}function dL($){return CG(lL,!0,$,"payload")}var RG={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},pL=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];MG.exports=function($,J,Q,X){if(typeof Q==="function")X=Q,Q={};else Q=Q||{};let Y=typeof $==="object"&&!Buffer.isBuffer($),W=Object.assign({alg:Q.algorithm||"HS256",typ:Y?"JWT":void 0,kid:Q.keyid},Q.header);function H(U){if(X)return X(U);throw U}if(!J&&Q.algorithm!=="none")return H(Error("secretOrPrivateKey must have a value"));if(J!=null&&!(J instanceof gL))try{J=uL(J)}catch(U){try{J=yL(typeof J==="string"?Buffer.from(J):J)}catch(q){return H(Error("secretOrPrivateKey is not valid key material"))}}if(W.alg.startsWith("HS")&&J.type!=="secret")return H(Error(`secretOrPrivateKey must be a symmetric key when using ${W.alg}`));else if(/^(?:RS|PS|ES)/.test(W.alg)){if(J.type!=="private")return H(Error(`secretOrPrivateKey must be an asymmetric key when using ${W.alg}`));if(!Q.allowInsecureKeySizes&&!W.alg.startsWith("ES")&&J.asymmetricKeyDetails!==void 0&&J.asymmetricKeyDetails.modulusLength<2048)return H(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`))}if(typeof $>"u")return H(Error("payload is required"));else if(Y){try{dL($)}catch(U){return H(U)}if(!Q.mutatePayload)$=Object.assign({},$)}else{let U=pL.filter(function(q){return typeof Q[q]<"u"});if(U.length>0)return H(Error("invalid "+U.join(",")+" option for "+typeof $+" payload"))}if(typeof $.exp<"u"&&typeof Q.expiresIn<"u")return H(Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof $.nbf<"u"&&typeof Q.notBefore<"u")return H(Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{cL(Q)}catch(U){return H(U)}if(!Q.allowInvalidAsymmetricKeyTypes)try{xL(W.alg,J)}catch(U){return H(U)}let G=$.iat||Math.floor(Date.now()/1000);if(Q.noTimestamp)delete $.iat;else if(Y)$.iat=G;if(typeof Q.notBefore<"u"){try{$.nbf=EG(Q.notBefore,G)}catch(U){return H(U)}if(typeof $.nbf>"u")return H(Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof Q.expiresIn<"u"&&typeof $==="object"){try{$.exp=EG(Q.expiresIn,G)}catch(U){return H(U)}if(typeof $.exp>"u")return H(Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(RG).forEach(function(U){let q=RG[U];if(typeof Q[U]<"u"){if(typeof $[q]<"u")return H(Error('Bad "options.'+U+'" option. The payload already has an "'+q+'" property.'));$[q]=Q[U]}});let V=Q.encoding||"utf8";if(typeof X==="function")X=X&&hL(X),LG.createSign({header:W,privateKey:J,payload:$,encoding:V}).once("error",X).once("done",function(U){if(!Q.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&U.length<256)return X(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`));X(null,U)});else{let U=LG.sign({header:W,payload:$,secret:J,encoding:V});if(!Q.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&U.length<256)throw Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`);return U}}});var IG=L((hT,KG)=>{KG.exports={decode:O5(),verify:nH(),sign:PG(),JsonWebTokenError:Q6(),NotBeforeError:R5(),TokenExpiredError:Z5()}});var VV={};Z0(VV,{setGlobalTransactionManager:()=>l0,getGlobalTransactionManager:()=>I1,InMemoryTransactionManager:()=>w$,BaseTransactionManager:()=>Y1});class Y1{activeTransactions=new Map;requestTransactions=new WeakMap;isActive($){return this.activeTransactions.has($.id)}setRollbackOnly($){$.rollbackOnly=!0}createTransactionContext($){let J={id:crypto.randomUUID(),startTime:new Date,isolation:$?.isolation,timeout:$?.timeout,readOnly:$?.readOnly,savepoints:[],rollbackOnly:!1};return this.activeTransactions.set(J.id,J),J}removeTransactionContext($){this.activeTransactions.delete($.id)}getRequestTransaction($){return this.requestTransactions.get($)}setRequestTransaction($,J){this.requestTransactions.set($,J)}clearRequestTransaction($){this.requestTransactions.delete($)}async handleTransactional($,J,Q,X,Y){let W=Reflect.getMetadata("transactional",$,J);if(!W)return X.apply($,Q);let H=Y?this.getRequestTransaction(Y):null;switch(W.propagation||"REQUIRED"){case"REQUIRED":return H?this.executeInExistingTransaction(H,$,Q,X,W):this.executeInNewTransaction($,Q,X,W,Y);case"REQUIRES_NEW":return this.executeInNewTransaction($,Q,X,W,Y);case"SUPPORTS":return H?this.executeInExistingTransaction(H,$,Q,X,W):X.apply($,Q);case"NOT_SUPPORTED":return X.apply($,Q);case"MANDATORY":if(!H)throw Error("Transaction is mandatory but no existing transaction found");return this.executeInExistingTransaction(H,$,Q,X,W);case"NEVER":if(H)throw Error("Transaction is not allowed but existing transaction found");return X.apply($,Q);default:return H?this.executeInExistingTransaction(H,$,Q,X,W):this.executeInNewTransaction($,Q,X,W,Y)}}async executeInNewTransaction($,J,Q,X,Y){let W=await this.begin(X);if(Y)this.setRequestTransaction(Y,W);try{let H=await Q.apply($,J);if(W.rollbackOnly)throw await this.rollback(W),Error("Transaction marked for rollback");return await this.commit(W),H}catch(H){throw await this.rollback(W),H}finally{if(Y)this.clearRequestTransaction(Y);this.removeTransactionContext(W)}}async executeInExistingTransaction($,J,Q,X,Y){return this.handleNestedTransaction($,J,Q,X)}async handleNestedTransaction($,J,Q,X){let Y=`sp_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;try{return await this.savepoint($,Y),await X.apply(J,Q)}catch(W){throw await this.rollbackToSavepoint($,Y),W}}}function l0($){t4=$}function I1(){if(!t4)t4=new w$;return t4}var w$,t4=null;var c0=X0(()=>{w$=class w$ extends Y1{transactions=new Map;currentTransactionId=null;async begin($){let J=this.createTransactionContext($);return this.transactions.set(J.id,{operations:[],committed:!1,rolledBack:!1}),this.currentTransactionId=J.id,J}async commit($){let J=this.transactions.get($.id);if(!J)throw Error(`Transaction ${$.id} not found`);if(J.rolledBack)throw Error(`Transaction ${$.id} already rolled back`);if(J.committed=!0,typeof globalThis.mockDatabase?.commitTransaction==="function")globalThis.mockDatabase.commitTransaction($.id);if(this.transactions.delete($.id),this.removeTransactionContext($),this.currentTransactionId===$.id)this.currentTransactionId=null}async rollback($){let J=this.transactions.get($.id);if(!J)throw Error(`Transaction ${$.id} not found`);if(J.rolledBack=!0,typeof globalThis.mockDatabase?.rollbackTransaction==="function")globalThis.mockDatabase.rollbackTransaction($.id);if(this.transactions.delete($.id),this.removeTransactionContext($),this.currentTransactionId===$.id)this.currentTransactionId=null}async savepoint($,J){$.savepoints.push(J);let Q=this.transactions.get($.id);if(Q)Q.savepoints=Q.savepoints||[],Q.savepoints.push(J)}async rollbackToSavepoint($,J){let Q=$.savepoints.indexOf(J);if(Q===-1)throw Error(`Savepoint ${J} not found`);$.savepoints=$.savepoints.slice(0,Q+1);let X=this.transactions.get($.id);if(X&&X.savepoints)X.savepoints=X.savepoints.slice(0,Q+1)}}});var KB={};Z0(KB,{mergeVeloceCorsHeaders:()=>j1,createSimpleRequestIdMiddleware:()=>V9,createRequestContextMiddleware:()=>G9,createRateLimitMiddleware:()=>d1,createCorsMiddleware:()=>z2,createCompressionMiddleware:()=>N2,createCacheMiddleware:()=>N9,createCacheInvalidationMiddleware:()=>w9,VELOCE_CORS_HEADERS_KEY:()=>U8});module.exports=T0(KB);var U8="veloce:corsHeaders";function j1($,J){let Q=$.get("veloce:corsHeaders");if(!Q||Object.keys(Q).length===0)return J;let X=new Headers(J.headers);for(let[Y,W]of Object.entries(Q))if(W!==void 0&&W!=="")X.set(Y,W);return new Response(J.body,{status:J.status,statusText:J.statusText,headers:X})}function z2($){let{origin:J="*",methods:Q=["GET","POST","PUT","DELETE","PATCH","OPTIONS"],allowedHeaders:X=["Content-Type","Authorization"],exposedHeaders:Y=[],credentials:W=!1,maxAge:H=86400}=$||{};return async(G,V)=>{let U=G.req.header("origin"),q=G.req.method,_=null;if(typeof J==="string")_=J;else if(Array.isArray(J)){if(U&&J.includes(U))_=U}else if(typeof J==="function"){if(U&&J(U))_=U}let F={};if(_)G.header("Access-Control-Allow-Origin",_),F["Access-Control-Allow-Origin"]=_;if(W)G.header("Access-Control-Allow-Credentials","true"),F["Access-Control-Allow-Credentials"]="true";if(Y.length>0){let B=Y.join(", ");G.header("Access-Control-Expose-Headers",B),F["Access-Control-Expose-Headers"]=B}if(q==="OPTIONS"){if(!_)return G.set("veloce:corsHeaders",F),G.body(null,403);return G.header("Access-Control-Allow-Methods",Q.join(", ")),G.header("Access-Control-Allow-Headers",X.join(", ")),G.header("Access-Control-Max-Age",H.toString()),G.set("veloce:corsHeaders",F),G.body(null,204)}G.set("veloce:corsHeaders",F),await V()}}function d1($){let{windowMs:J=60000,max:Q=100,keyGenerator:X=(H)=>{let G=H.req.header("x-forwarded-for");if(G)return G.split(",")[0].trim();return H.req.header("x-real-ip")||"unknown"}}=$,Y=new Map,W=setInterval(()=>{let H=Date.now();for(let[G,V]of Y.entries())if(H>V.resetTime)Y.delete(G)},J);if(typeof process<"u"&&process.on)process.on("exit",()=>clearInterval(W));return async(H,G)=>{let V=X(H),U=Date.now(),q=Y.get(V);if(!q||U>q.resetTime)Y.set(V,{count:1,resetTime:U+J}),H.header("X-RateLimit-Limit",Q.toString()),H.header("X-RateLimit-Remaining",(Q-1).toString()),H.header("X-RateLimit-Reset",new Date(U+J).toISOString()),await G();else if(q.count<Q)q.count++,H.header("X-RateLimit-Limit",Q.toString()),H.header("X-RateLimit-Remaining",(Q-q.count).toString()),H.header("X-RateLimit-Reset",new Date(q.resetTime).toISOString()),await G();else{let _=Math.ceil((q.resetTime-U)/1000);return H.header("X-RateLimit-Limit",Q.toString()),H.header("X-RateLimit-Remaining","0"),H.header("X-RateLimit-Reset",new Date(q.resetTime).toISOString()),H.header("Retry-After",_.toString()),H.json({error:"Too Many Requests",message:`Rate limit exceeded. Please try again in ${_} seconds.`,retryAfter:_},429)}}}function N2($){let{threshold:J=1024,level:Q=6}=$||{};return async(X,Y)=>{await Y();let W=X.res;if(!W)return;let H=W.headers.get("content-type")||"",G=W.headers.get("content-length"),V=X.req.header("accept-encoding")||"";if(!["text/","application/json","application/javascript","application/xml","application/x-www-form-urlencoded"].some((D)=>H.toLowerCase().includes(D)))return;if(G&&parseInt(G)<J)return;if(W.headers.get("content-encoding"))return;let _=await W.arrayBuffer();if(_.byteLength<J)return;let F=null,B=null;if(!F&&V.includes("gzip")&&typeof CompressionStream<"u")try{let D=new CompressionStream("gzip"),A=D.writable.getWriter();A.write(new Uint8Array(_)),A.close();let Z=D.readable.getReader(),C=[];while(!0){let{done:s,value:d}=await Z.read();if(s)break;C.push(d)}let T=C.reduce((s,d)=>s+d.length,0),K=new Uint8Array(T),y=0;for(let s of C)K.set(s,y),y+=s.length;F=K,B="gzip"}catch(D){F=null}if(F&&B&&F.byteLength<_.byteLength){let D=new Headers(W.headers);D.set("content-encoding",B),D.set("content-length",F.byteLength.toString()),D.delete("content-length");let A=new Response(F,{status:W.status,statusText:W.statusText,headers:D});X.res=A;return}}}var R2;function SB(){if(R2!==void 0)return R2;try{R2=I3()}catch{R2=null}return R2}class T3{logger;constructor($){let J=SB(),Q=!0;if(!J){this.logger=new V1($);return}this.logger=J({level:$?.level||"debug"})}trace($,J){if(this.logger instanceof V1){this.logger.trace($,J);return}this.logger.trace(J||{},$)}debug($,J){if(this.logger instanceof V1){this.logger.debug($,J);return}this.logger.debug(J||{},$)}info($,J){if(this.logger instanceof V1){this.logger.info($,J);return}this.logger.info(J||{},$)}warn($,J){if(this.logger instanceof V1){this.logger.warn($,J);return}this.logger.warn(J||{},$)}error($,J,Q){if(this.logger instanceof V1){this.logger.error($,J,Q);return}this.logger.error({err:J,...Q},$)}fatal($,J,Q){if(this.logger instanceof V1){this.logger.fatal($,J,Q);return}this.logger.fatal({err:J,...Q},$)}child($){if(this.logger instanceof V1)return this.logger.child($);return new W9(this.logger.child($))}}class W9{logger;constructor($){this.logger=$}trace($,J){this.logger.trace(J||{},$)}debug($,J){this.logger.debug(J||{},$)}info($,J){this.logger.info(J||{},$)}warn($,J){this.logger.warn(J||{},$)}error($,J,Q){this.logger.error({err:J,...Q},$)}fatal($,J,Q){this.logger.fatal({err:J,...Q},$)}child($){return new W9(this.logger.child($))}}class V1{level;ctx;constructor($,J={}){this.level=$?.level||"debug",this.ctx=J}fmt($,J){let Q={...this.ctx,...J},X=Object.keys(Q).length?" "+JSON.stringify(Q):"";return`${$}${X}`}trace($,J){if(["trace"].includes(this.level))console.debug("[TRACE]",this.fmt($,J))}debug($,J){if(["trace","debug"].includes(this.level))console.debug("[DEBUG]",this.fmt($,J))}info($,J){if(["trace","debug","info"].includes(this.level))console.info("[INFO]",this.fmt($,J))}warn($,J){if(["trace","debug","info","warn"].includes(this.level))console.warn("[WARN]",this.fmt($,J))}error($,J,Q){console.error("[ERROR]",this.fmt($,Q),J??"")}fatal($,J,Q){console.error("[FATAL]",this.fmt($,Q),J??"")}child($){return new V1({level:this.level},{...this.ctx,...$})}}function H9($){return new T3($)}var Z2=null;function CB($){return Z2=H9($),Z2}function v0(){if(!Z2)Z2=H9({pretty:!0,level:"debug"});return Z2}function o1($){return v0().child($)}function MB(){return async($,J)=>{let Q=o1({context:"request",method:$.req.method,path:$.req.path,ip:$.req.header("x-forwarded-for")||$.req.header("x-real-ip")||"unknown"}),X=Date.now();Q.info("Incoming request");try{await J();let Y=Date.now()-X;Q.info("Request completed",{status:$.res.status,duration:`${Y}ms`})}catch(Y){let W=Date.now()-X;throw Q.error("Request failed",Y,{status:Y.status||500,duration:`${W}ms`}),Y}}}function PB(){return async($,J)=>{try{await J()}catch(Q){throw o1({context:"error"}).error("Unhandled error",Q,{method:$.req.method,path:$.req.path,query:$.req.query(),headers:Object.fromEntries(new Map($.req.raw.headers))}),Q}}}function G9($={}){let{timeout:J,logging:Q=!0,requestIdGenerator:X,logHeaders:Y=[]}=$;return async(W,H)=>{let G=X?.()||W.req.header("x-request-id")||void 0,V=w2(W,{requestId:G,timeout:J}),U=Q?v0().child({requestId:V.requestId}):null;if(U){let q={method:W.req.method,path:W.req.path,url:W.req.url};if(Y.length>0){q.headers={};for(let _ of Y){let F=W.req.header(_);if(F)q.headers[_]=F}}U.info("Request started",q)}try{if(W.header("x-request-id",V.requestId),await H(),U){let q=A2(W);U.info("Request completed",{status:W.res.status,duration:`${q}ms`})}}catch(q){if(U){let _=A2(W);U.error("Request failed",q,{duration:`${_}ms`})}throw q}finally{j2(W)}}}function V9(){return async($,J)=>{let Q=$.req.header("x-request-id")||w2($).requestId;$.header("x-request-id",Q);try{await J()}finally{j2($)}}}C2();function N9($){let{ttl:J,key:Q,prefix:X,includeQuery:Y=!1,varyByHeaders:W,condition:H,store:G,onlySuccess:V=!0}=$,U=r1(J);return async(q,_)=>{let F=q.req.method,B=q.req.path,D=q.req.param(),A=Y?q.req.query():void 0,Z="";if(W&&W.length>0)Z=`:${W.map((d)=>`${d}:${q.req.header(d)||""}`).join("|")}`;let C=k0.generateKey(F,B,D,A,{key:Q,prefix:X,includeQuery:Y})+Z,T=G||k0.getDefaultStore(),K=await T.get(C);if(K!==null)return q.header("X-Cache","HIT"),q.json(K);q.header("X-Cache","MISS"),await _();let y=q.res;if(V&&y.status>=300)return;try{let d=await y.clone().json();if(H&&!H(d))return;await T.set(C,d,U)}catch{}}}function w9($,J){let Q=Array.isArray($)?$:[$];return async(X,Y)=>{await Y();let W=J||k0.getDefaultStore();for(let H of Q){let G=H,V=X.req.param();if(V)for(let[U,q]of Object.entries(V))G=G.replace(`{${U}}`,String(q));await W.deletePattern(G)}}}var sF={};Z0(sF,{zodToJsonSchema:()=>n6,ZodToJsonSchemaConverter:()=>Z1,OpenAPIGenerator:()=>D1});module.exports=T0(sF);var f3=Symbol("Let zodToJsonSchema decide on which parser to use");var b3={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"},k3=($)=>typeof $==="string"?{...b3,name:$}:{...b3,...$};var x3=($)=>{let J=k3($),Q=J.name!==void 0?[...J.basePath,J.definitionPath,J.name]:J.basePath;return{...J,flags:{hasReferencedOpenAiAnyType:!1},currentPath:Q,propertyPath:void 0,seen:new Map(Object.entries(J.definitions).map(([X,Y])=>[Y._def,{def:Y._def,path:[...J.basePath,J.definitionPath,X],jsonSchema:void 0}]))}};function A9($,J,Q,X){if(!X?.errorMessages)return;if(Q)$.errorMessage={...$.errorMessage,[J]:Q}}function e($,J,Q,X,Y){$[J]=Q,A9($,J,X,Y)}var g6=($,J)=>{let Q=0;for(;Q<$.length&&Q<J.length;Q++)if($[Q]!==J[Q])break;return[($.length-Q).toString(),...J.slice(Q)].join("/")};var w={};Z0(w,{void:()=>BF,util:()=>a,unknown:()=>_F,union:()=>wF,undefined:()=>VF,tuple:()=>EF,transformer:()=>IF,symbol:()=>GF,string:()=>d3,strictObject:()=>NF,setErrorMap:()=>bB,set:()=>RF,record:()=>LF,quotelessJson:()=>IB,promise:()=>KF,preprocess:()=>fF,pipeline:()=>kF,ostring:()=>xF,optional:()=>TF,onumber:()=>vF,oboolean:()=>hF,objectUtil:()=>j9,object:()=>zF,number:()=>p3,nullable:()=>bF,null:()=>UF,never:()=>DF,nativeEnum:()=>PF,nan:()=>YF,map:()=>OF,makeIssue:()=>M2,literal:()=>CF,lazy:()=>SF,late:()=>QF,isValid:()=>b1,isDirty:()=>u6,isAsync:()=>M$,isAborted:()=>y6,intersection:()=>jF,instanceof:()=>XF,getParsedType:()=>U1,getErrorMap:()=>C$,function:()=>ZF,enum:()=>MF,effect:()=>IF,discriminatedUnion:()=>AF,defaultErrorMap:()=>L1,datetimeRegex:()=>m3,date:()=>HF,custom:()=>c3,coerce:()=>gF,boolean:()=>i3,bigint:()=>WF,array:()=>FF,any:()=>qF,addIssueToContext:()=>I,ZodVoid:()=>K2,ZodUnknown:()=>f1,ZodUnion:()=>f$,ZodUndefined:()=>T$,ZodType:()=>o,ZodTuple:()=>_1,ZodTransformer:()=>t0,ZodSymbol:()=>P2,ZodString:()=>s0,ZodSet:()=>$$,ZodSchema:()=>o,ZodRecord:()=>I2,ZodReadonly:()=>u$,ZodPromise:()=>J$,ZodPipeline:()=>f2,ZodParsedType:()=>M,ZodOptional:()=>r0,ZodObject:()=>_0,ZodNumber:()=>k1,ZodNullable:()=>R1,ZodNull:()=>b$,ZodNever:()=>q1,ZodNativeEnum:()=>h$,ZodNaN:()=>b2,ZodMap:()=>T2,ZodLiteral:()=>v$,ZodLazy:()=>x$,ZodIssueCode:()=>O,ZodIntersection:()=>k$,ZodFunction:()=>K$,ZodFirstPartyTypeKind:()=>R,ZodError:()=>L0,ZodEnum:()=>v1,ZodEffects:()=>t0,ZodDiscriminatedUnion:()=>m6,ZodDefault:()=>g$,ZodDate:()=>t1,ZodCatch:()=>y$,ZodBranded:()=>l6,ZodBoolean:()=>I$,ZodBigInt:()=>x1,ZodArray:()=>o0,ZodAny:()=>e1,Schema:()=>o,ParseStatus:()=>O0,OK:()=>S0,NEVER:()=>yF,INVALID:()=>m,EMPTY_PATH:()=>fB,DIRTY:()=>a1,BRAND:()=>JF});var a;(function($){$.assertEqual=(Y)=>{};function J(Y){}$.assertIs=J;function Q(Y){throw Error()}$.assertNever=Q,$.arrayToEnum=(Y)=>{let W={};for(let H of Y)W[H]=H;return W},$.getValidEnumValues=(Y)=>{let W=$.objectKeys(Y).filter((G)=>typeof Y[Y[G]]!=="number"),H={};for(let G of W)H[G]=Y[G];return $.objectValues(H)},$.objectValues=(Y)=>{return $.objectKeys(Y).map(function(W){return Y[W]})},$.objectKeys=typeof Object.keys==="function"?(Y)=>Object.keys(Y):(Y)=>{let W=[];for(let H in Y)if(Object.prototype.hasOwnProperty.call(Y,H))W.push(H);return W},$.find=(Y,W)=>{for(let H of Y)if(W(H))return H;return},$.isInteger=typeof Number.isInteger==="function"?(Y)=>Number.isInteger(Y):(Y)=>typeof Y==="number"&&Number.isFinite(Y)&&Math.floor(Y)===Y;function X(Y,W=" | "){return Y.map((H)=>typeof H==="string"?`'${H}'`:H).join(W)}$.joinValues=X,$.jsonStringifyReplacer=(Y,W)=>{if(typeof W==="bigint")return W.toString();return W}})(a||(a={}));var j9;(function($){$.mergeShapes=(J,Q)=>{return{...J,...Q}}})(j9||(j9={}));var M=a.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),U1=($)=>{switch(typeof $){case"undefined":return M.undefined;case"string":return M.string;case"number":return Number.isNaN($)?M.nan:M.number;case"boolean":return M.boolean;case"function":return M.function;case"bigint":return M.bigint;case"symbol":return M.symbol;case"object":if(Array.isArray($))return M.array;if($===null)return M.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return M.promise;if(typeof Map<"u"&&$ instanceof Map)return M.map;if(typeof Set<"u"&&$ instanceof Set)return M.set;if(typeof Date<"u"&&$ instanceof Date)return M.date;return M.object;default:return M.unknown}};var O=a.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"]),IB=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class L0 extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(Q)=>{this.issues=[...this.issues,Q]},this.addIssues=(Q=[])=>{this.issues=[...this.issues,...Q]};let J=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,J);else this.__proto__=J;this.name="ZodError",this.issues=$}format($){let J=$||function(Y){return Y.message},Q={_errors:[]},X=(Y)=>{for(let W of Y.issues)if(W.code==="invalid_union")W.unionErrors.map(X);else if(W.code==="invalid_return_type")X(W.returnTypeError);else if(W.code==="invalid_arguments")X(W.argumentsError);else if(W.path.length===0)Q._errors.push(J(W));else{let H=Q,G=0;while(G<W.path.length){let V=W.path[G];if(G!==W.path.length-1)H[V]=H[V]||{_errors:[]};else H[V]=H[V]||{_errors:[]},H[V]._errors.push(J(W));H=H[V],G++}}};return X(this),Q}static assert($){if(!($ instanceof L0))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,a.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(J)=>J.message){let J={},Q=[];for(let X of this.issues)if(X.path.length>0){let Y=X.path[0];J[Y]=J[Y]||[],J[Y].push($(X))}else Q.push($(X));return{formErrors:Q,fieldErrors:J}}get formErrors(){return this.flatten()}}L0.create=($)=>{return new L0($)};var TB=($,J)=>{let Q;switch($.code){case O.invalid_type:if($.received===M.undefined)Q="Required";else Q=`Expected ${$.expected}, received ${$.received}`;break;case O.invalid_literal:Q=`Invalid literal value, expected ${JSON.stringify($.expected,a.jsonStringifyReplacer)}`;break;case O.unrecognized_keys:Q=`Unrecognized key(s) in object: ${a.joinValues($.keys,", ")}`;break;case O.invalid_union:Q="Invalid input";break;case O.invalid_union_discriminator:Q=`Invalid discriminator value. Expected ${a.joinValues($.options)}`;break;case O.invalid_enum_value:Q=`Invalid enum value. Expected ${a.joinValues($.options)}, received '${$.received}'`;break;case O.invalid_arguments:Q="Invalid function arguments";break;case O.invalid_return_type:Q="Invalid function return type";break;case O.invalid_date:Q="Invalid date";break;case O.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(Q=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")Q=`${Q} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)Q=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)Q=`Invalid input: must end with "${$.validation.endsWith}"`;else a.assertNever($.validation);else if($.validation!=="regex")Q=`Invalid ${$.validation}`;else Q="Invalid";break;case O.too_small:if($.type==="array")Q=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")Q=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")Q=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")Q=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")Q=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else Q="Invalid input";break;case O.too_big:if($.type==="array")Q=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")Q=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")Q=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")Q=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")Q=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else Q="Invalid input";break;case O.custom:Q="Invalid input";break;case O.invalid_intersection_types:Q="Intersection results could not be merged";break;case O.not_multiple_of:Q=`Number must be a multiple of ${$.multipleOf}`;break;case O.not_finite:Q="Number must be finite";break;default:Q=J.defaultError,a.assertNever($)}return{message:Q}},L1=TB;var v3=L1;function bB($){v3=$}function C$(){return v3}var M2=($)=>{let{data:J,path:Q,errorMaps:X,issueData:Y}=$,W=[...Q,...Y.path||[]],H={...Y,path:W};if(Y.message!==void 0)return{...Y,path:W,message:Y.message};let G="",V=X.filter((U)=>!!U).slice().reverse();for(let U of V)G=U(H,{data:J,defaultError:G}).message;return{...Y,path:W,message:G}},fB=[];function I($,J){let Q=C$(),X=M2({issueData:J,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,Q,Q===L1?void 0:L1].filter((Y)=>!!Y)});$.common.issues.push(X)}class O0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,J){let Q=[];for(let X of J){if(X.status==="aborted")return m;if(X.status==="dirty")$.dirty();Q.push(X.value)}return{status:$.value,value:Q}}static async mergeObjectAsync($,J){let Q=[];for(let X of J){let Y=await X.key,W=await X.value;Q.push({key:Y,value:W})}return O0.mergeObjectSync($,Q)}static mergeObjectSync($,J){let Q={};for(let X of J){let{key:Y,value:W}=X;if(Y.status==="aborted")return m;if(W.status==="aborted")return m;if(Y.status==="dirty")$.dirty();if(W.status==="dirty")$.dirty();if(Y.value!=="__proto__"&&(typeof W.value<"u"||X.alwaysSet))Q[Y.value]=W.value}return{status:$.value,value:Q}}}var m=Object.freeze({status:"aborted"}),a1=($)=>({status:"dirty",value:$}),S0=($)=>({status:"valid",value:$}),y6=($)=>$.status==="aborted",u6=($)=>$.status==="dirty",b1=($)=>$.status==="valid",M$=($)=>typeof Promise<"u"&&$ instanceof Promise;var h;(function($){$.errToObj=(J)=>typeof J==="string"?{message:J}:J||{},$.toString=(J)=>typeof J==="string"?J:J?.message})(h||(h={}));class a0{constructor($,J,Q,X){this._cachedPath=[],this.parent=$,this.data=J,this._path=Q,this._key=X}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var h3=($,J)=>{if(b1(J))return{success:!0,data:J.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Q=new L0($.common.issues);return this._error=Q,this._error}}}};function n($){if(!$)return{};let{errorMap:J,invalid_type_error:Q,required_error:X,description:Y}=$;if(J&&(Q||X))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(J)return{errorMap:J,description:Y};return{errorMap:(H,G)=>{let{message:V}=$;if(H.code==="invalid_enum_value")return{message:V??G.defaultError};if(typeof G.data>"u")return{message:V??X??G.defaultError};if(H.code!=="invalid_type")return{message:G.defaultError};return{message:V??Q??G.defaultError}},description:Y}}class o{get description(){return this._def.description}_getType($){return U1($.data)}_getOrReturnCtx($,J){return J||{common:$.parent.common,data:$.data,parsedType:U1($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new O0,ctx:{common:$.parent.common,data:$.data,parsedType:U1($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let J=this._parse($);if(M$(J))throw Error("Synchronous parse encountered promise.");return J}_parseAsync($){let J=this._parse($);return Promise.resolve(J)}parse($,J){let Q=this.safeParse($,J);if(Q.success)return Q.data;throw Q.error}safeParse($,J){let Q={common:{issues:[],async:J?.async??!1,contextualErrorMap:J?.errorMap},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:U1($)},X=this._parseSync({data:$,path:Q.path,parent:Q});return h3(Q,X)}"~validate"($){let J={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:U1($)};if(!this["~standard"].async)try{let Q=this._parseSync({data:$,path:[],parent:J});return b1(Q)?{value:Q.value}:{issues:J.common.issues}}catch(Q){if(Q?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;J.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:J}).then((Q)=>b1(Q)?{value:Q.value}:{issues:J.common.issues})}async parseAsync($,J){let Q=await this.safeParseAsync($,J);if(Q.success)return Q.data;throw Q.error}async safeParseAsync($,J){let Q={common:{issues:[],contextualErrorMap:J?.errorMap,async:!0},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:U1($)},X=this._parse({data:$,path:Q.path,parent:Q}),Y=await(M$(X)?X:Promise.resolve(X));return h3(Q,Y)}refine($,J){let Q=(X)=>{if(typeof J==="string"||typeof J>"u")return{message:J};else if(typeof J==="function")return J(X);else return J};return this._refinement((X,Y)=>{let W=$(X),H=()=>Y.addIssue({code:O.custom,...Q(X)});if(typeof Promise<"u"&&W instanceof Promise)return W.then((G)=>{if(!G)return H(),!1;else return!0});if(!W)return H(),!1;else return!0})}refinement($,J){return this._refinement((Q,X)=>{if(!$(Q))return X.addIssue(typeof J==="function"?J(Q,X):J),!1;else return!0})}_refinement($){return new t0({schema:this,typeName:R.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:(J)=>this["~validate"](J)}}optional(){return r0.create(this,this._def)}nullable(){return R1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return o0.create(this)}promise(){return J$.create(this,this._def)}or($){return f$.create([this,$],this._def)}and($){return k$.create(this,$,this._def)}transform($){return new t0({...n(this._def),schema:this,typeName:R.ZodEffects,effect:{type:"transform",transform:$}})}default($){let J=typeof $==="function"?$:()=>$;return new g$({...n(this._def),innerType:this,defaultValue:J,typeName:R.ZodDefault})}brand(){return new l6({typeName:R.ZodBranded,type:this,...n(this._def)})}catch($){let J=typeof $==="function"?$:()=>$;return new y$({...n(this._def),innerType:this,catchValue:J,typeName:R.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return f2.create(this,$)}readonly(){return u$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var kB=/^c[^\s-]{8,}$/i,xB=/^[0-9a-z]+$/,vB=/^[0-9A-HJKMNP-TV-Z]{26}$/i,hB=/^[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,gB=/^[a-z0-9_-]{21}$/i,yB=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,uB=/^[-+]?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)?)??$/,mB=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,lB="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",E9,cB=/^(?:(?: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])$/,dB=/^(?:(?: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])$/,pB=/^(([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]))$/,iB=/^(([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])$/,nB=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,sB=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,y3="((\\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])))",oB=new RegExp(`^${y3}$`);function u3($){let J="[0-5]\\d";if($.precision)J=`${J}\\.\\d{${$.precision}}`;else if($.precision==null)J=`${J}(\\.\\d+)?`;let Q=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${J})${Q}`}function rB($){return new RegExp(`^${u3($)}$`)}function m3($){let J=`${y3}T${u3($)}`,Q=[];if(Q.push($.local?"Z?":"Z"),$.offset)Q.push("([+-]\\d{2}:?\\d{2})");return J=`${J}(${Q.join("|")})`,new RegExp(`^${J}$`)}function aB($,J){if((J==="v4"||!J)&&cB.test($))return!0;if((J==="v6"||!J)&&pB.test($))return!0;return!1}function tB($,J){if(!yB.test($))return!1;try{let[Q]=$.split(".");if(!Q)return!1;let X=Q.replace(/-/g,"+").replace(/_/g,"/").padEnd(Q.length+(4-Q.length%4)%4,"="),Y=JSON.parse(atob(X));if(typeof Y!=="object"||Y===null)return!1;if("typ"in Y&&Y?.typ!=="JWT")return!1;if(!Y.alg)return!1;if(J&&Y.alg!==J)return!1;return!0}catch{return!1}}function eB($,J){if((J==="v4"||!J)&&dB.test($))return!0;if((J==="v6"||!J)&&iB.test($))return!0;return!1}class s0 extends o{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==M.string){let Y=this._getOrReturnCtx($);return I(Y,{code:O.invalid_type,expected:M.string,received:Y.parsedType}),m}let Q=new O0,X=void 0;for(let Y of this._def.checks)if(Y.kind==="min"){if($.data.length<Y.value)X=this._getOrReturnCtx($,X),I(X,{code:O.too_small,minimum:Y.value,type:"string",inclusive:!0,exact:!1,message:Y.message}),Q.dirty()}else if(Y.kind==="max"){if($.data.length>Y.value)X=this._getOrReturnCtx($,X),I(X,{code:O.too_big,maximum:Y.value,type:"string",inclusive:!0,exact:!1,message:Y.message}),Q.dirty()}else if(Y.kind==="length"){let W=$.data.length>Y.value,H=$.data.length<Y.value;if(W||H){if(X=this._getOrReturnCtx($,X),W)I(X,{code:O.too_big,maximum:Y.value,type:"string",inclusive:!0,exact:!0,message:Y.message});else if(H)I(X,{code:O.too_small,minimum:Y.value,type:"string",inclusive:!0,exact:!0,message:Y.message});Q.dirty()}}else if(Y.kind==="email"){if(!mB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"email",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="emoji"){if(!E9)E9=new RegExp(lB,"u");if(!E9.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"emoji",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="uuid"){if(!hB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"uuid",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="nanoid"){if(!gB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"nanoid",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="cuid"){if(!kB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"cuid",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="cuid2"){if(!xB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"cuid2",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="ulid"){if(!vB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"ulid",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="url")try{new URL($.data)}catch{X=this._getOrReturnCtx($,X),I(X,{validation:"url",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="regex"){if(Y.regex.lastIndex=0,!Y.regex.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"regex",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="trim")$.data=$.data.trim();else if(Y.kind==="includes"){if(!$.data.includes(Y.value,Y.position))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:{includes:Y.value,position:Y.position},message:Y.message}),Q.dirty()}else if(Y.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(Y.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(Y.kind==="startsWith"){if(!$.data.startsWith(Y.value))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:{startsWith:Y.value},message:Y.message}),Q.dirty()}else if(Y.kind==="endsWith"){if(!$.data.endsWith(Y.value))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:{endsWith:Y.value},message:Y.message}),Q.dirty()}else if(Y.kind==="datetime"){if(!m3(Y).test($.data))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:"datetime",message:Y.message}),Q.dirty()}else if(Y.kind==="date"){if(!oB.test($.data))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:"date",message:Y.message}),Q.dirty()}else if(Y.kind==="time"){if(!rB(Y).test($.data))X=this._getOrReturnCtx($,X),I(X,{code:O.invalid_string,validation:"time",message:Y.message}),Q.dirty()}else if(Y.kind==="duration"){if(!uB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"duration",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="ip"){if(!aB($.data,Y.version))X=this._getOrReturnCtx($,X),I(X,{validation:"ip",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="jwt"){if(!tB($.data,Y.alg))X=this._getOrReturnCtx($,X),I(X,{validation:"jwt",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="cidr"){if(!eB($.data,Y.version))X=this._getOrReturnCtx($,X),I(X,{validation:"cidr",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="base64"){if(!nB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"base64",code:O.invalid_string,message:Y.message}),Q.dirty()}else if(Y.kind==="base64url"){if(!sB.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"base64url",code:O.invalid_string,message:Y.message}),Q.dirty()}else a.assertNever(Y);return{status:Q.value,value:$.data}}_regex($,J,Q){return this.refinement((X)=>$.test(X),{validation:J,code:O.invalid_string,...h.errToObj(Q)})}_addCheck($){return new s0({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...h.errToObj($)})}url($){return this._addCheck({kind:"url",...h.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...h.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...h.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...h.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...h.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...h.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...h.errToObj($)})}base64($){return this._addCheck({kind:"base64",...h.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...h.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...h.errToObj($)})}ip($){return this._addCheck({kind:"ip",...h.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...h.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,...h.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,...h.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...h.errToObj($)})}regex($,J){return this._addCheck({kind:"regex",regex:$,...h.errToObj(J)})}includes($,J){return this._addCheck({kind:"includes",value:$,position:J?.position,...h.errToObj(J?.message)})}startsWith($,J){return this._addCheck({kind:"startsWith",value:$,...h.errToObj(J)})}endsWith($,J){return this._addCheck({kind:"endsWith",value:$,...h.errToObj(J)})}min($,J){return this._addCheck({kind:"min",value:$,...h.errToObj(J)})}max($,J){return this._addCheck({kind:"max",value:$,...h.errToObj(J)})}length($,J){return this._addCheck({kind:"length",value:$,...h.errToObj(J)})}nonempty($){return this.min(1,h.errToObj($))}trim(){return new s0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new s0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new s0({...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 J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxLength(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}}s0.create=($)=>{return new s0({checks:[],typeName:R.ZodString,coerce:$?.coerce??!1,...n($)})};function $F($,J){let Q=($.toString().split(".")[1]||"").length,X=(J.toString().split(".")[1]||"").length,Y=Q>X?Q:X,W=Number.parseInt($.toFixed(Y).replace(".","")),H=Number.parseInt(J.toFixed(Y).replace(".",""));return W%H/10**Y}class k1 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse($){if(this._def.coerce)$.data=Number($.data);if(this._getType($)!==M.number){let Y=this._getOrReturnCtx($);return I(Y,{code:O.invalid_type,expected:M.number,received:Y.parsedType}),m}let Q=void 0,X=new O0;for(let Y of this._def.checks)if(Y.kind==="int"){if(!a.isInteger($.data))Q=this._getOrReturnCtx($,Q),I(Q,{code:O.invalid_type,expected:"integer",received:"float",message:Y.message}),X.dirty()}else if(Y.kind==="min"){if(Y.inclusive?$.data<Y.value:$.data<=Y.value)Q=this._getOrReturnCtx($,Q),I(Q,{code:O.too_small,minimum:Y.value,type:"number",inclusive:Y.inclusive,exact:!1,message:Y.message}),X.dirty()}else if(Y.kind==="max"){if(Y.inclusive?$.data>Y.value:$.data>=Y.value)Q=this._getOrReturnCtx($,Q),I(Q,{code:O.too_big,maximum:Y.value,type:"number",inclusive:Y.inclusive,exact:!1,message:Y.message}),X.dirty()}else if(Y.kind==="multipleOf"){if($F($.data,Y.value)!==0)Q=this._getOrReturnCtx($,Q),I(Q,{code:O.not_multiple_of,multipleOf:Y.value,message:Y.message}),X.dirty()}else if(Y.kind==="finite"){if(!Number.isFinite($.data))Q=this._getOrReturnCtx($,Q),I(Q,{code:O.not_finite,message:Y.message}),X.dirty()}else a.assertNever(Y);return{status:X.value,value:$.data}}gte($,J){return this.setLimit("min",$,!0,h.toString(J))}gt($,J){return this.setLimit("min",$,!1,h.toString(J))}lte($,J){return this.setLimit("max",$,!0,h.toString(J))}lt($,J){return this.setLimit("max",$,!1,h.toString(J))}setLimit($,J,Q,X){return new k1({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:h.toString(X)}]})}_addCheck($){return new k1({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:h.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:h.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:h.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:h.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:h.toString($)})}multipleOf($,J){return this._addCheck({kind:"multipleOf",value:$,message:h.toString(J)})}finite($){return this._addCheck({kind:"finite",message:h.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:h.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:h.toString($)})}get minValue(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxValue(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&a.isInteger($.value))}get isFinite(){let $=null,J=null;for(let Q of this._def.checks)if(Q.kind==="finite"||Q.kind==="int"||Q.kind==="multipleOf")return!0;else if(Q.kind==="min"){if(J===null||Q.value>J)J=Q.value}else if(Q.kind==="max"){if($===null||Q.value<$)$=Q.value}return Number.isFinite(J)&&Number.isFinite($)}}k1.create=($)=>{return new k1({checks:[],typeName:R.ZodNumber,coerce:$?.coerce||!1,...n($)})};class x1 extends o{constructor(){super(...arguments);this.min=this.gte,this.max=this.lte}_parse($){if(this._def.coerce)try{$.data=BigInt($.data)}catch{return this._getInvalidInput($)}if(this._getType($)!==M.bigint)return this._getInvalidInput($);let Q=void 0,X=new O0;for(let Y of this._def.checks)if(Y.kind==="min"){if(Y.inclusive?$.data<Y.value:$.data<=Y.value)Q=this._getOrReturnCtx($,Q),I(Q,{code:O.too_small,type:"bigint",minimum:Y.value,inclusive:Y.inclusive,message:Y.message}),X.dirty()}else if(Y.kind==="max"){if(Y.inclusive?$.data>Y.value:$.data>=Y.value)Q=this._getOrReturnCtx($,Q),I(Q,{code:O.too_big,type:"bigint",maximum:Y.value,inclusive:Y.inclusive,message:Y.message}),X.dirty()}else if(Y.kind==="multipleOf"){if($.data%Y.value!==BigInt(0))Q=this._getOrReturnCtx($,Q),I(Q,{code:O.not_multiple_of,multipleOf:Y.value,message:Y.message}),X.dirty()}else a.assertNever(Y);return{status:X.value,value:$.data}}_getInvalidInput($){let J=this._getOrReturnCtx($);return I(J,{code:O.invalid_type,expected:M.bigint,received:J.parsedType}),m}gte($,J){return this.setLimit("min",$,!0,h.toString(J))}gt($,J){return this.setLimit("min",$,!1,h.toString(J))}lte($,J){return this.setLimit("max",$,!0,h.toString(J))}lt($,J){return this.setLimit("max",$,!1,h.toString(J))}setLimit($,J,Q,X){return new x1({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:h.toString(X)}]})}_addCheck($){return new x1({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:h.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:h.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:h.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:h.toString($)})}multipleOf($,J){return this._addCheck({kind:"multipleOf",value:$,message:h.toString(J)})}get minValue(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxValue(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}}x1.create=($)=>{return new x1({checks:[],typeName:R.ZodBigInt,coerce:$?.coerce??!1,...n($)})};class I$ extends o{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==M.boolean){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.boolean,received:Q.parsedType}),m}return S0($.data)}}I$.create=($)=>{return new I$({typeName:R.ZodBoolean,coerce:$?.coerce||!1,...n($)})};class t1 extends o{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==M.date){let Y=this._getOrReturnCtx($);return I(Y,{code:O.invalid_type,expected:M.date,received:Y.parsedType}),m}if(Number.isNaN($.data.getTime())){let Y=this._getOrReturnCtx($);return I(Y,{code:O.invalid_date}),m}let Q=new O0,X=void 0;for(let Y of this._def.checks)if(Y.kind==="min"){if($.data.getTime()<Y.value)X=this._getOrReturnCtx($,X),I(X,{code:O.too_small,message:Y.message,inclusive:!0,exact:!1,minimum:Y.value,type:"date"}),Q.dirty()}else if(Y.kind==="max"){if($.data.getTime()>Y.value)X=this._getOrReturnCtx($,X),I(X,{code:O.too_big,message:Y.message,inclusive:!0,exact:!1,maximum:Y.value,type:"date"}),Q.dirty()}else a.assertNever(Y);return{status:Q.value,value:new Date($.data.getTime())}}_addCheck($){return new t1({...this._def,checks:[...this._def.checks,$]})}min($,J){return this._addCheck({kind:"min",value:$.getTime(),message:h.toString(J)})}max($,J){return this._addCheck({kind:"max",value:$.getTime(),message:h.toString(J)})}get minDate(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $!=null?new Date($):null}}t1.create=($)=>{return new t1({checks:[],coerce:$?.coerce||!1,typeName:R.ZodDate,...n($)})};class P2 extends o{_parse($){if(this._getType($)!==M.symbol){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.symbol,received:Q.parsedType}),m}return S0($.data)}}P2.create=($)=>{return new P2({typeName:R.ZodSymbol,...n($)})};class T$ extends o{_parse($){if(this._getType($)!==M.undefined){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.undefined,received:Q.parsedType}),m}return S0($.data)}}T$.create=($)=>{return new T$({typeName:R.ZodUndefined,...n($)})};class b$ extends o{_parse($){if(this._getType($)!==M.null){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.null,received:Q.parsedType}),m}return S0($.data)}}b$.create=($)=>{return new b$({typeName:R.ZodNull,...n($)})};class e1 extends o{constructor(){super(...arguments);this._any=!0}_parse($){return S0($.data)}}e1.create=($)=>{return new e1({typeName:R.ZodAny,...n($)})};class f1 extends o{constructor(){super(...arguments);this._unknown=!0}_parse($){return S0($.data)}}f1.create=($)=>{return new f1({typeName:R.ZodUnknown,...n($)})};class q1 extends o{_parse($){let J=this._getOrReturnCtx($);return I(J,{code:O.invalid_type,expected:M.never,received:J.parsedType}),m}}q1.create=($)=>{return new q1({typeName:R.ZodNever,...n($)})};class K2 extends o{_parse($){if(this._getType($)!==M.undefined){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.void,received:Q.parsedType}),m}return S0($.data)}}K2.create=($)=>{return new K2({typeName:R.ZodVoid,...n($)})};class o0 extends o{_parse($){let{ctx:J,status:Q}=this._processInputParams($),X=this._def;if(J.parsedType!==M.array)return I(J,{code:O.invalid_type,expected:M.array,received:J.parsedType}),m;if(X.exactLength!==null){let W=J.data.length>X.exactLength.value,H=J.data.length<X.exactLength.value;if(W||H)I(J,{code:W?O.too_big:O.too_small,minimum:H?X.exactLength.value:void 0,maximum:W?X.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:X.exactLength.message}),Q.dirty()}if(X.minLength!==null){if(J.data.length<X.minLength.value)I(J,{code:O.too_small,minimum:X.minLength.value,type:"array",inclusive:!0,exact:!1,message:X.minLength.message}),Q.dirty()}if(X.maxLength!==null){if(J.data.length>X.maxLength.value)I(J,{code:O.too_big,maximum:X.maxLength.value,type:"array",inclusive:!0,exact:!1,message:X.maxLength.message}),Q.dirty()}if(J.common.async)return Promise.all([...J.data].map((W,H)=>{return X.type._parseAsync(new a0(J,W,J.path,H))})).then((W)=>{return O0.mergeArray(Q,W)});let Y=[...J.data].map((W,H)=>{return X.type._parseSync(new a0(J,W,J.path,H))});return O0.mergeArray(Q,Y)}get element(){return this._def.type}min($,J){return new o0({...this._def,minLength:{value:$,message:h.toString(J)}})}max($,J){return new o0({...this._def,maxLength:{value:$,message:h.toString(J)}})}length($,J){return new o0({...this._def,exactLength:{value:$,message:h.toString(J)}})}nonempty($){return this.min(1,$)}}o0.create=($,J)=>{return new o0({type:$,minLength:null,maxLength:null,exactLength:null,typeName:R.ZodArray,...n(J)})};function P$($){if($ instanceof _0){let J={};for(let Q in $.shape){let X=$.shape[Q];J[Q]=r0.create(P$(X))}return new _0({...$._def,shape:()=>J})}else if($ instanceof o0)return new o0({...$._def,type:P$($.element)});else if($ instanceof r0)return r0.create(P$($.unwrap()));else if($ instanceof R1)return R1.create(P$($.unwrap()));else if($ instanceof _1)return _1.create($.items.map((J)=>P$(J)));else return $}class _0 extends o{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),J=a.objectKeys($);return this._cached={shape:$,keys:J},this._cached}_parse($){if(this._getType($)!==M.object){let V=this._getOrReturnCtx($);return I(V,{code:O.invalid_type,expected:M.object,received:V.parsedType}),m}let{status:Q,ctx:X}=this._processInputParams($),{shape:Y,keys:W}=this._getCached(),H=[];if(!(this._def.catchall instanceof q1&&this._def.unknownKeys==="strip")){for(let V in X.data)if(!W.includes(V))H.push(V)}let G=[];for(let V of W){let U=Y[V],q=X.data[V];G.push({key:{status:"valid",value:V},value:U._parse(new a0(X,q,X.path,V)),alwaysSet:V in X.data})}if(this._def.catchall instanceof q1){let V=this._def.unknownKeys;if(V==="passthrough")for(let U of H)G.push({key:{status:"valid",value:U},value:{status:"valid",value:X.data[U]}});else if(V==="strict"){if(H.length>0)I(X,{code:O.unrecognized_keys,keys:H}),Q.dirty()}else if(V==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let V=this._def.catchall;for(let U of H){let q=X.data[U];G.push({key:{status:"valid",value:U},value:V._parse(new a0(X,q,X.path,U)),alwaysSet:U in X.data})}}if(X.common.async)return Promise.resolve().then(async()=>{let V=[];for(let U of G){let q=await U.key,_=await U.value;V.push({key:q,value:_,alwaysSet:U.alwaysSet})}return V}).then((V)=>{return O0.mergeObjectSync(Q,V)});else return O0.mergeObjectSync(Q,G)}get shape(){return this._def.shape()}strict($){return h.errToObj,new _0({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(J,Q)=>{let X=this._def.errorMap?.(J,Q).message??Q.defaultError;if(J.code==="unrecognized_keys")return{message:h.errToObj($).message??X};return{message:X}}}:{}})}strip(){return new _0({...this._def,unknownKeys:"strip"})}passthrough(){return new _0({...this._def,unknownKeys:"passthrough"})}extend($){return new _0({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new _0({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:R.ZodObject})}setKey($,J){return this.augment({[$]:J})}catchall($){return new _0({...this._def,catchall:$})}pick($){let J={};for(let Q of a.objectKeys($))if($[Q]&&this.shape[Q])J[Q]=this.shape[Q];return new _0({...this._def,shape:()=>J})}omit($){let J={};for(let Q of a.objectKeys(this.shape))if(!$[Q])J[Q]=this.shape[Q];return new _0({...this._def,shape:()=>J})}deepPartial(){return P$(this)}partial($){let J={};for(let Q of a.objectKeys(this.shape)){let X=this.shape[Q];if($&&!$[Q])J[Q]=X;else J[Q]=X.optional()}return new _0({...this._def,shape:()=>J})}required($){let J={};for(let Q of a.objectKeys(this.shape))if($&&!$[Q])J[Q]=this.shape[Q];else{let Y=this.shape[Q];while(Y instanceof r0)Y=Y._def.innerType;J[Q]=Y}return new _0({...this._def,shape:()=>J})}keyof(){return l3(a.objectKeys(this.shape))}}_0.create=($,J)=>{return new _0({shape:()=>$,unknownKeys:"strip",catchall:q1.create(),typeName:R.ZodObject,...n(J)})};_0.strictCreate=($,J)=>{return new _0({shape:()=>$,unknownKeys:"strict",catchall:q1.create(),typeName:R.ZodObject,...n(J)})};_0.lazycreate=($,J)=>{return new _0({shape:$,unknownKeys:"strip",catchall:q1.create(),typeName:R.ZodObject,...n(J)})};class f$ extends o{_parse($){let{ctx:J}=this._processInputParams($),Q=this._def.options;function X(Y){for(let H of Y)if(H.result.status==="valid")return H.result;for(let H of Y)if(H.result.status==="dirty")return J.common.issues.push(...H.ctx.common.issues),H.result;let W=Y.map((H)=>new L0(H.ctx.common.issues));return I(J,{code:O.invalid_union,unionErrors:W}),m}if(J.common.async)return Promise.all(Q.map(async(Y)=>{let W={...J,common:{...J.common,issues:[]},parent:null};return{result:await Y._parseAsync({data:J.data,path:J.path,parent:W}),ctx:W}})).then(X);else{let Y=void 0,W=[];for(let G of Q){let V={...J,common:{...J.common,issues:[]},parent:null},U=G._parseSync({data:J.data,path:J.path,parent:V});if(U.status==="valid")return U;else if(U.status==="dirty"&&!Y)Y={result:U,ctx:V};if(V.common.issues.length)W.push(V.common.issues)}if(Y)return J.common.issues.push(...Y.ctx.common.issues),Y.result;let H=W.map((G)=>new L0(G));return I(J,{code:O.invalid_union,unionErrors:H}),m}}get options(){return this._def.options}}f$.create=($,J)=>{return new f$({options:$,typeName:R.ZodUnion,...n(J)})};var O1=($)=>{if($ instanceof x$)return O1($.schema);else if($ instanceof t0)return O1($.innerType());else if($ instanceof v$)return[$.value];else if($ instanceof v1)return $.options;else if($ instanceof h$)return a.objectValues($.enum);else if($ instanceof g$)return O1($._def.innerType);else if($ instanceof T$)return[void 0];else if($ instanceof b$)return[null];else if($ instanceof r0)return[void 0,...O1($.unwrap())];else if($ instanceof R1)return[null,...O1($.unwrap())];else if($ instanceof l6)return O1($.unwrap());else if($ instanceof u$)return O1($.unwrap());else if($ instanceof y$)return O1($._def.innerType);else return[]};class m6 extends o{_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==M.object)return I(J,{code:O.invalid_type,expected:M.object,received:J.parsedType}),m;let Q=this.discriminator,X=J.data[Q],Y=this.optionsMap.get(X);if(!Y)return I(J,{code:O.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Q]}),m;if(J.common.async)return Y._parseAsync({data:J.data,path:J.path,parent:J});else return Y._parseSync({data:J.data,path:J.path,parent:J})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,J,Q){let X=new Map;for(let Y of J){let W=O1(Y.shape[$]);if(!W.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let H of W){if(X.has(H))throw Error(`Discriminator property ${String($)} has duplicate value ${String(H)}`);X.set(H,Y)}}return new m6({typeName:R.ZodDiscriminatedUnion,discriminator:$,options:J,optionsMap:X,...n(Q)})}}function L9($,J){let Q=U1($),X=U1(J);if($===J)return{valid:!0,data:$};else if(Q===M.object&&X===M.object){let Y=a.objectKeys(J),W=a.objectKeys($).filter((G)=>Y.indexOf(G)!==-1),H={...$,...J};for(let G of W){let V=L9($[G],J[G]);if(!V.valid)return{valid:!1};H[G]=V.data}return{valid:!0,data:H}}else if(Q===M.array&&X===M.array){if($.length!==J.length)return{valid:!1};let Y=[];for(let W=0;W<$.length;W++){let H=$[W],G=J[W],V=L9(H,G);if(!V.valid)return{valid:!1};Y.push(V.data)}return{valid:!0,data:Y}}else if(Q===M.date&&X===M.date&&+$===+J)return{valid:!0,data:$};else return{valid:!1}}class k$ extends o{_parse($){let{status:J,ctx:Q}=this._processInputParams($),X=(Y,W)=>{if(y6(Y)||y6(W))return m;let H=L9(Y.value,W.value);if(!H.valid)return I(Q,{code:O.invalid_intersection_types}),m;if(u6(Y)||u6(W))J.dirty();return{status:J.value,value:H.data}};if(Q.common.async)return Promise.all([this._def.left._parseAsync({data:Q.data,path:Q.path,parent:Q}),this._def.right._parseAsync({data:Q.data,path:Q.path,parent:Q})]).then(([Y,W])=>X(Y,W));else return X(this._def.left._parseSync({data:Q.data,path:Q.path,parent:Q}),this._def.right._parseSync({data:Q.data,path:Q.path,parent:Q}))}}k$.create=($,J,Q)=>{return new k$({left:$,right:J,typeName:R.ZodIntersection,...n(Q)})};class _1 extends o{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==M.array)return I(Q,{code:O.invalid_type,expected:M.array,received:Q.parsedType}),m;if(Q.data.length<this._def.items.length)return I(Q,{code:O.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),m;if(!this._def.rest&&Q.data.length>this._def.items.length)I(Q,{code:O.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J.dirty();let Y=[...Q.data].map((W,H)=>{let G=this._def.items[H]||this._def.rest;if(!G)return null;return G._parse(new a0(Q,W,Q.path,H))}).filter((W)=>!!W);if(Q.common.async)return Promise.all(Y).then((W)=>{return O0.mergeArray(J,W)});else return O0.mergeArray(J,Y)}get items(){return this._def.items}rest($){return new _1({...this._def,rest:$})}}_1.create=($,J)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new _1({items:$,typeName:R.ZodTuple,rest:null,...n(J)})};class I2 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==M.object)return I(Q,{code:O.invalid_type,expected:M.object,received:Q.parsedType}),m;let X=[],Y=this._def.keyType,W=this._def.valueType;for(let H in Q.data)X.push({key:Y._parse(new a0(Q,H,Q.path,H)),value:W._parse(new a0(Q,Q.data[H],Q.path,H)),alwaysSet:H in Q.data});if(Q.common.async)return O0.mergeObjectAsync(J,X);else return O0.mergeObjectSync(J,X)}get element(){return this._def.valueType}static create($,J,Q){if(J instanceof o)return new I2({keyType:$,valueType:J,typeName:R.ZodRecord,...n(Q)});return new I2({keyType:s0.create(),valueType:$,typeName:R.ZodRecord,...n(J)})}}class T2 extends o{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==M.map)return I(Q,{code:O.invalid_type,expected:M.map,received:Q.parsedType}),m;let X=this._def.keyType,Y=this._def.valueType,W=[...Q.data.entries()].map(([H,G],V)=>{return{key:X._parse(new a0(Q,H,Q.path,[V,"key"])),value:Y._parse(new a0(Q,G,Q.path,[V,"value"]))}});if(Q.common.async){let H=new Map;return Promise.resolve().then(async()=>{for(let G of W){let V=await G.key,U=await G.value;if(V.status==="aborted"||U.status==="aborted")return m;if(V.status==="dirty"||U.status==="dirty")J.dirty();H.set(V.value,U.value)}return{status:J.value,value:H}})}else{let H=new Map;for(let G of W){let{key:V,value:U}=G;if(V.status==="aborted"||U.status==="aborted")return m;if(V.status==="dirty"||U.status==="dirty")J.dirty();H.set(V.value,U.value)}return{status:J.value,value:H}}}}T2.create=($,J,Q)=>{return new T2({valueType:J,keyType:$,typeName:R.ZodMap,...n(Q)})};class $$ extends o{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==M.set)return I(Q,{code:O.invalid_type,expected:M.set,received:Q.parsedType}),m;let X=this._def;if(X.minSize!==null){if(Q.data.size<X.minSize.value)I(Q,{code:O.too_small,minimum:X.minSize.value,type:"set",inclusive:!0,exact:!1,message:X.minSize.message}),J.dirty()}if(X.maxSize!==null){if(Q.data.size>X.maxSize.value)I(Q,{code:O.too_big,maximum:X.maxSize.value,type:"set",inclusive:!0,exact:!1,message:X.maxSize.message}),J.dirty()}let Y=this._def.valueType;function W(G){let V=new Set;for(let U of G){if(U.status==="aborted")return m;if(U.status==="dirty")J.dirty();V.add(U.value)}return{status:J.value,value:V}}let H=[...Q.data.values()].map((G,V)=>Y._parse(new a0(Q,G,Q.path,V)));if(Q.common.async)return Promise.all(H).then((G)=>W(G));else return W(H)}min($,J){return new $$({...this._def,minSize:{value:$,message:h.toString(J)}})}max($,J){return new $$({...this._def,maxSize:{value:$,message:h.toString(J)}})}size($,J){return this.min($,J).max($,J)}nonempty($){return this.min(1,$)}}$$.create=($,J)=>{return new $$({valueType:$,minSize:null,maxSize:null,typeName:R.ZodSet,...n(J)})};class K$ extends o{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==M.function)return I(J,{code:O.invalid_type,expected:M.function,received:J.parsedType}),m;function Q(H,G){return M2({data:H,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,C$(),L1].filter((V)=>!!V),issueData:{code:O.invalid_arguments,argumentsError:G}})}function X(H,G){return M2({data:H,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,C$(),L1].filter((V)=>!!V),issueData:{code:O.invalid_return_type,returnTypeError:G}})}let Y={errorMap:J.common.contextualErrorMap},W=J.data;if(this._def.returns instanceof J$){let H=this;return S0(async function(...G){let V=new L0([]),U=await H._def.args.parseAsync(G,Y).catch((F)=>{throw V.addIssue(Q(G,F)),V}),q=await Reflect.apply(W,this,U);return await H._def.returns._def.type.parseAsync(q,Y).catch((F)=>{throw V.addIssue(X(q,F)),V})})}else{let H=this;return S0(function(...G){let V=H._def.args.safeParse(G,Y);if(!V.success)throw new L0([Q(G,V.error)]);let U=Reflect.apply(W,this,V.data),q=H._def.returns.safeParse(U,Y);if(!q.success)throw new L0([X(U,q.error)]);return q.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new K$({...this._def,args:_1.create($).rest(f1.create())})}returns($){return new K$({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,J,Q){return new K$({args:$?$:_1.create([]).rest(f1.create()),returns:J||f1.create(),typeName:R.ZodFunction,...n(Q)})}}class x$ extends o{get schema(){return this._def.getter()}_parse($){let{ctx:J}=this._processInputParams($);return this._def.getter()._parse({data:J.data,path:J.path,parent:J})}}x$.create=($,J)=>{return new x$({getter:$,typeName:R.ZodLazy,...n(J)})};class v$ extends o{_parse($){if($.data!==this._def.value){let J=this._getOrReturnCtx($);return I(J,{received:J.data,code:O.invalid_literal,expected:this._def.value}),m}return{status:"valid",value:$.data}}get value(){return this._def.value}}v$.create=($,J)=>{return new v$({value:$,typeName:R.ZodLiteral,...n(J)})};function l3($,J){return new v1({values:$,typeName:R.ZodEnum,...n(J)})}class v1 extends o{_parse($){if(typeof $.data!=="string"){let J=this._getOrReturnCtx($),Q=this._def.values;return I(J,{expected:a.joinValues(Q),received:J.parsedType,code:O.invalid_type}),m}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let J=this._getOrReturnCtx($),Q=this._def.values;return I(J,{received:J.data,code:O.invalid_enum_value,options:Q}),m}return S0($.data)}get options(){return this._def.values}get enum(){let $={};for(let J of this._def.values)$[J]=J;return $}get Values(){let $={};for(let J of this._def.values)$[J]=J;return $}get Enum(){let $={};for(let J of this._def.values)$[J]=J;return $}extract($,J=this._def){return v1.create($,{...this._def,...J})}exclude($,J=this._def){return v1.create(this.options.filter((Q)=>!$.includes(Q)),{...this._def,...J})}}v1.create=l3;class h$ extends o{_parse($){let J=a.getValidEnumValues(this._def.values),Q=this._getOrReturnCtx($);if(Q.parsedType!==M.string&&Q.parsedType!==M.number){let X=a.objectValues(J);return I(Q,{expected:a.joinValues(X),received:Q.parsedType,code:O.invalid_type}),m}if(!this._cache)this._cache=new Set(a.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let X=a.objectValues(J);return I(Q,{received:Q.data,code:O.invalid_enum_value,options:X}),m}return S0($.data)}get enum(){return this._def.values}}h$.create=($,J)=>{return new h$({values:$,typeName:R.ZodNativeEnum,...n(J)})};class J$ extends o{unwrap(){return this._def.type}_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==M.promise&&J.common.async===!1)return I(J,{code:O.invalid_type,expected:M.promise,received:J.parsedType}),m;let Q=J.parsedType===M.promise?J.data:Promise.resolve(J.data);return S0(Q.then((X)=>{return this._def.type.parseAsync(X,{path:J.path,errorMap:J.common.contextualErrorMap})}))}}J$.create=($,J)=>{return new J$({type:$,typeName:R.ZodPromise,...n(J)})};class t0 extends o{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===R.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:J,ctx:Q}=this._processInputParams($),X=this._def.effect||null,Y={addIssue:(W)=>{if(I(Q,W),W.fatal)J.abort();else J.dirty()},get path(){return Q.path}};if(Y.addIssue=Y.addIssue.bind(Y),X.type==="preprocess"){let W=X.transform(Q.data,Y);if(Q.common.async)return Promise.resolve(W).then(async(H)=>{if(J.value==="aborted")return m;let G=await this._def.schema._parseAsync({data:H,path:Q.path,parent:Q});if(G.status==="aborted")return m;if(G.status==="dirty")return a1(G.value);if(J.value==="dirty")return a1(G.value);return G});else{if(J.value==="aborted")return m;let H=this._def.schema._parseSync({data:W,path:Q.path,parent:Q});if(H.status==="aborted")return m;if(H.status==="dirty")return a1(H.value);if(J.value==="dirty")return a1(H.value);return H}}if(X.type==="refinement"){let W=(H)=>{let G=X.refinement(H,Y);if(Q.common.async)return Promise.resolve(G);if(G instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return H};if(Q.common.async===!1){let H=this._def.schema._parseSync({data:Q.data,path:Q.path,parent:Q});if(H.status==="aborted")return m;if(H.status==="dirty")J.dirty();return W(H.value),{status:J.value,value:H.value}}else return this._def.schema._parseAsync({data:Q.data,path:Q.path,parent:Q}).then((H)=>{if(H.status==="aborted")return m;if(H.status==="dirty")J.dirty();return W(H.value).then(()=>{return{status:J.value,value:H.value}})})}if(X.type==="transform")if(Q.common.async===!1){let W=this._def.schema._parseSync({data:Q.data,path:Q.path,parent:Q});if(!b1(W))return m;let H=X.transform(W.value,Y);if(H instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:J.value,value:H}}else return this._def.schema._parseAsync({data:Q.data,path:Q.path,parent:Q}).then((W)=>{if(!b1(W))return m;return Promise.resolve(X.transform(W.value,Y)).then((H)=>({status:J.value,value:H}))});a.assertNever(X)}}t0.create=($,J,Q)=>{return new t0({schema:$,typeName:R.ZodEffects,effect:J,...n(Q)})};t0.createWithPreprocess=($,J,Q)=>{return new t0({schema:J,effect:{type:"preprocess",transform:$},typeName:R.ZodEffects,...n(Q)})};class r0 extends o{_parse($){if(this._getType($)===M.undefined)return S0(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}r0.create=($,J)=>{return new r0({innerType:$,typeName:R.ZodOptional,...n(J)})};class R1 extends o{_parse($){if(this._getType($)===M.null)return S0(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}R1.create=($,J)=>{return new R1({innerType:$,typeName:R.ZodNullable,...n(J)})};class g$ extends o{_parse($){let{ctx:J}=this._processInputParams($),Q=J.data;if(J.parsedType===M.undefined)Q=this._def.defaultValue();return this._def.innerType._parse({data:Q,path:J.path,parent:J})}removeDefault(){return this._def.innerType}}g$.create=($,J)=>{return new g$({innerType:$,typeName:R.ZodDefault,defaultValue:typeof J.default==="function"?J.default:()=>J.default,...n(J)})};class y$ extends o{_parse($){let{ctx:J}=this._processInputParams($),Q={...J,common:{...J.common,issues:[]}},X=this._def.innerType._parse({data:Q.data,path:Q.path,parent:{...Q}});if(M$(X))return X.then((Y)=>{return{status:"valid",value:Y.status==="valid"?Y.value:this._def.catchValue({get error(){return new L0(Q.common.issues)},input:Q.data})}});else return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new L0(Q.common.issues)},input:Q.data})}}removeCatch(){return this._def.innerType}}y$.create=($,J)=>{return new y$({innerType:$,typeName:R.ZodCatch,catchValue:typeof J.catch==="function"?J.catch:()=>J.catch,...n(J)})};class b2 extends o{_parse($){if(this._getType($)!==M.nan){let Q=this._getOrReturnCtx($);return I(Q,{code:O.invalid_type,expected:M.nan,received:Q.parsedType}),m}return{status:"valid",value:$.data}}}b2.create=($)=>{return new b2({typeName:R.ZodNaN,...n($)})};var JF=Symbol("zod_brand");class l6 extends o{_parse($){let{ctx:J}=this._processInputParams($),Q=J.data;return this._def.type._parse({data:Q,path:J.path,parent:J})}unwrap(){return this._def.type}}class f2 extends o{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.common.async)return(async()=>{let Y=await this._def.in._parseAsync({data:Q.data,path:Q.path,parent:Q});if(Y.status==="aborted")return m;if(Y.status==="dirty")return J.dirty(),a1(Y.value);else return this._def.out._parseAsync({data:Y.value,path:Q.path,parent:Q})})();else{let X=this._def.in._parseSync({data:Q.data,path:Q.path,parent:Q});if(X.status==="aborted")return m;if(X.status==="dirty")return J.dirty(),{status:"dirty",value:X.value};else return this._def.out._parseSync({data:X.value,path:Q.path,parent:Q})}}static create($,J){return new f2({in:$,out:J,typeName:R.ZodPipeline})}}class u$ extends o{_parse($){let J=this._def.innerType._parse($),Q=(X)=>{if(b1(X))X.value=Object.freeze(X.value);return X};return M$(J)?J.then((X)=>Q(X)):Q(J)}unwrap(){return this._def.innerType}}u$.create=($,J)=>{return new u$({innerType:$,typeName:R.ZodReadonly,...n(J)})};function g3($,J){let Q=typeof $==="function"?$(J):typeof $==="string"?{message:$}:$;return typeof Q==="string"?{message:Q}:Q}function c3($,J={},Q){if($)return e1.create().superRefine((X,Y)=>{let W=$(X);if(W instanceof Promise)return W.then((H)=>{if(!H){let G=g3(J,X),V=G.fatal??Q??!0;Y.addIssue({code:"custom",...G,fatal:V})}});if(!W){let H=g3(J,X),G=H.fatal??Q??!0;Y.addIssue({code:"custom",...H,fatal:G})}return});return e1.create()}var QF={object:_0.lazycreate},R;(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"})(R||(R={}));var XF=($,J={message:`Input not instance of ${$.name}`})=>c3((Q)=>Q instanceof $,J),d3=s0.create,p3=k1.create,YF=b2.create,WF=x1.create,i3=I$.create,HF=t1.create,GF=P2.create,VF=T$.create,UF=b$.create,qF=e1.create,_F=f1.create,DF=q1.create,BF=K2.create,FF=o0.create,zF=_0.create,NF=_0.strictCreate,wF=f$.create,AF=m6.create,jF=k$.create,EF=_1.create,LF=I2.create,OF=T2.create,RF=$$.create,ZF=K$.create,SF=x$.create,CF=v$.create,MF=v1.create,PF=h$.create,KF=J$.create,IF=t0.create,TF=r0.create,bF=R1.create,fF=t0.createWithPreprocess,kF=f2.create,xF=()=>d3().optional(),vF=()=>p3().optional(),hF=()=>i3().optional(),gF={string:($)=>s0.create({...$,coerce:!0}),number:($)=>k1.create({...$,coerce:!0}),boolean:($)=>I$.create({...$,coerce:!0}),bigint:($)=>x1.create({...$,coerce:!0}),date:($)=>t1.create({...$,coerce:!0})};var yF=m;function U0($){if($.target!=="openAi")return{};let J=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?g6(J,$.currentPath):J.join("/")}}function n3($,J){let Q={type:"array"};if($.type?._def&&$.type?._def?.typeName!==R.ZodAny)Q.items=l($.type._def,{...J,currentPath:[...J.currentPath,"items"]});if($.minLength)e(Q,"minItems",$.minLength.value,$.minLength.message,J);if($.maxLength)e(Q,"maxItems",$.maxLength.value,$.maxLength.message,J);if($.exactLength)e(Q,"minItems",$.exactLength.value,$.exactLength.message,J),e(Q,"maxItems",$.exactLength.value,$.exactLength.message,J);return Q}function s3($,J){let Q={type:"integer",format:"int64"};if(!$.checks)return Q;for(let X of $.checks)switch(X.kind){case"min":if(J.target==="jsonSchema7")if(X.inclusive)e(Q,"minimum",X.value,X.message,J);else e(Q,"exclusiveMinimum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMinimum=!0;e(Q,"minimum",X.value,X.message,J)}break;case"max":if(J.target==="jsonSchema7")if(X.inclusive)e(Q,"maximum",X.value,X.message,J);else e(Q,"exclusiveMaximum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMaximum=!0;e(Q,"maximum",X.value,X.message,J)}break;case"multipleOf":e(Q,"multipleOf",X.value,X.message,J);break}return Q}function o3(){return{type:"boolean"}}function c6($,J){return l($.type._def,J)}var r3=($,J)=>{return l($.innerType._def,J)};function O9($,J,Q){let X=Q??J.dateStrategy;if(Array.isArray(X))return{anyOf:X.map((Y,W)=>O9($,J,Y))};switch(X){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return uF($,J)}}var uF=($,J)=>{let Q={type:"integer",format:"unix-time"};if(J.target==="openApi3")return Q;for(let X of $.checks)switch(X.kind){case"min":e(Q,"minimum",X.value,X.message,J);break;case"max":e(Q,"maximum",X.value,X.message,J);break}return Q};function a3($,J){return{...l($.innerType._def,J),default:$.defaultValue()}}function t3($,J){return J.effectStrategy==="input"?l($.schema._def,J):U0(J)}function e3($){return{type:"string",enum:Array.from($.values)}}var mF=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function $Q($,J){let Q=[l($.left._def,{...J,currentPath:[...J.currentPath,"allOf","0"]}),l($.right._def,{...J,currentPath:[...J.currentPath,"allOf","1"]})].filter((W)=>!!W),X=J.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,Y=[];return Q.forEach((W)=>{if(mF(W)){if(Y.push(...W.allOf),W.unevaluatedProperties===void 0)X=void 0}else{let H=W;if("additionalProperties"in W&&W.additionalProperties===!1){let{additionalProperties:G,...V}=W;H=V}else X=void 0;Y.push(H)}}),Y.length?{allOf:Y,...X}:void 0}function JQ($,J){let Q=typeof $.value;if(Q!=="bigint"&&Q!=="number"&&Q!=="boolean"&&Q!=="string")return{type:Array.isArray($.value)?"array":"object"};if(J.target==="openApi3")return{type:Q==="bigint"?"integer":Q,enum:[$.value]};return{type:Q==="bigint"?"integer":Q,const:$.value}}var R9=void 0,e0={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(R9===void 0)R9=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return R9},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 d6($,J){let Q={type:"string"};if($.checks)for(let X of $.checks)switch(X.kind){case"min":e(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,X.value):X.value,X.message,J);break;case"max":e(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,X.value):X.value,X.message,J);break;case"email":switch(J.emailStrategy){case"format:email":$1(Q,"email",X.message,J);break;case"format:idn-email":$1(Q,"idn-email",X.message,J);break;case"pattern:zod":P0(Q,e0.email,X.message,J);break}break;case"url":$1(Q,"uri",X.message,J);break;case"uuid":$1(Q,"uuid",X.message,J);break;case"regex":P0(Q,X.regex,X.message,J);break;case"cuid":P0(Q,e0.cuid,X.message,J);break;case"cuid2":P0(Q,e0.cuid2,X.message,J);break;case"startsWith":P0(Q,RegExp(`^${Z9(X.value,J)}`),X.message,J);break;case"endsWith":P0(Q,RegExp(`${Z9(X.value,J)}$`),X.message,J);break;case"datetime":$1(Q,"date-time",X.message,J);break;case"date":$1(Q,"date",X.message,J);break;case"time":$1(Q,"time",X.message,J);break;case"duration":$1(Q,"duration",X.message,J);break;case"length":e(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,X.value):X.value,X.message,J),e(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,X.value):X.value,X.message,J);break;case"includes":{P0(Q,RegExp(Z9(X.value,J)),X.message,J);break}case"ip":{if(X.version!=="v6")$1(Q,"ipv4",X.message,J);if(X.version!=="v4")$1(Q,"ipv6",X.message,J);break}case"base64url":P0(Q,e0.base64url,X.message,J);break;case"jwt":P0(Q,e0.jwt,X.message,J);break;case"cidr":{if(X.version!=="v6")P0(Q,e0.ipv4Cidr,X.message,J);if(X.version!=="v4")P0(Q,e0.ipv6Cidr,X.message,J);break}case"emoji":P0(Q,e0.emoji(),X.message,J);break;case"ulid":{P0(Q,e0.ulid,X.message,J);break}case"base64":{switch(J.base64Strategy){case"format:binary":{$1(Q,"binary",X.message,J);break}case"contentEncoding:base64":{e(Q,"contentEncoding","base64",X.message,J);break}case"pattern:zod":{P0(Q,e0.base64,X.message,J);break}}break}case"nanoid":P0(Q,e0.nanoid,X.message,J);case"toLowerCase":case"toUpperCase":case"trim":break;default:((Y)=>{})(X)}return Q}function Z9($,J){return J.patternStrategy==="escape"?cF($):$}var lF=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function cF($){let J="";for(let Q=0;Q<$.length;Q++){if(!lF.has($[Q]))J+="\\";J+=$[Q]}return J}function $1($,J,Q,X){if($.format||$.anyOf?.some((Y)=>Y.format)){if(!$.anyOf)$.anyOf=[];if($.format){if($.anyOf.push({format:$.format,...$.errorMessage&&X.errorMessages&&{errorMessage:{format:$.errorMessage.format}}}),delete $.format,$.errorMessage){if(delete $.errorMessage.format,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.anyOf.push({format:J,...Q&&X.errorMessages&&{errorMessage:{format:Q}}})}else e($,"format",J,Q,X)}function P0($,J,Q,X){if($.pattern||$.allOf?.some((Y)=>Y.pattern)){if(!$.allOf)$.allOf=[];if($.pattern){if($.allOf.push({pattern:$.pattern,...$.errorMessage&&X.errorMessages&&{errorMessage:{pattern:$.errorMessage.pattern}}}),delete $.pattern,$.errorMessage){if(delete $.errorMessage.pattern,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.allOf.push({pattern:QQ(J,X),...Q&&X.errorMessages&&{errorMessage:{pattern:Q}}})}else e($,"pattern",QQ(J,X),Q,X)}function QQ($,J){if(!J.applyRegexFlags||!$.flags)return $.source;let Q={i:$.flags.includes("i"),m:$.flags.includes("m"),s:$.flags.includes("s")},X=Q.i?$.source.toLowerCase():$.source,Y="",W=!1,H=!1,G=!1;for(let V=0;V<X.length;V++){if(W){Y+=X[V],W=!1;continue}if(Q.i){if(H){if(X[V].match(/[a-z]/)){if(G)Y+=X[V],Y+=`${X[V-2]}-${X[V]}`.toUpperCase(),G=!1;else if(X[V+1]==="-"&&X[V+2]?.match(/[a-z]/))Y+=X[V],G=!0;else Y+=`${X[V]}${X[V].toUpperCase()}`;continue}}else if(X[V].match(/[a-z]/)){Y+=`[${X[V]}${X[V].toUpperCase()}]`;continue}}if(Q.m){if(X[V]==="^"){Y+=`(^|(?<=[\r
40
40
  ]))`;continue}else if(X[V]==="$"){Y+=`($|(?=[\r
41
41
  ]))`;continue}}if(Q.s&&X[V]==="."){Y+=H?`${X[V]}\r
42
42
  `:`[${X[V]}\r
43
- ]`;continue}if(Y+=X[V],X[V]==="\\")W=!0;else if(H&&X[V]==="]")H=!1;else if(!H&&X[V]==="[")H=!0}try{new RegExp(Y)}catch{return console.warn(`Could not convert regex pattern at ${J.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),$.source}return Y}function p6($,J){if(J.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(J.target==="openApi3"&&$.keyType?._def.typeName===R.ZodEnum)return{type:"object",required:$.keyType._def.values,properties:$.keyType._def.values.reduce((X,Y)=>({...X,[Y]:l($.valueType._def,{...J,currentPath:[...J.currentPath,"properties",Y]})??U0(J)}),{}),additionalProperties:J.rejectedAdditionalProperties};let Q={type:"object",additionalProperties:l($.valueType._def,{...J,currentPath:[...J.currentPath,"additionalProperties"]})??J.allowedAdditionalProperties};if(J.target==="openApi3")return Q;if($.keyType?._def.typeName===R.ZodString&&$.keyType._def.checks?.length){let{type:X,...Y}=d6($.keyType._def,J);return{...Q,propertyNames:Y}}else if($.keyType?._def.typeName===R.ZodEnum)return{...Q,propertyNames:{enum:$.keyType._def.values}};else if($.keyType?._def.typeName===R.ZodBranded&&$.keyType._def.type._def.typeName===R.ZodString&&$.keyType._def.type._def.checks?.length){let{type:X,...Y}=c6($.keyType._def,J);return{...Q,propertyNames:Y}}return Q}function XQ($,J){if(J.mapStrategy==="record")return p6($,J);let Q=l($.keyType._def,{...J,currentPath:[...J.currentPath,"items","items","0"]})||U0(J),X=l($.valueType._def,{...J,currentPath:[...J.currentPath,"items","items","1"]})||U0(J);return{type:"array",maxItems:125,items:{type:"array",items:[Q,X],minItems:2,maxItems:2}}}function YQ($){let J=$.values,X=Object.keys($.values).filter((W)=>{return typeof J[J[W]]!=="number"}).map((W)=>J[W]),Y=Array.from(new Set(X.map((W)=>typeof W)));return{type:Y.length===1?Y[0]==="string"?"string":"number":["string","number"],enum:X}}function WQ($){return $.target==="openAi"?void 0:{not:U0({...$,currentPath:[...$.currentPath,"not"]})}}function HQ($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var k2={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function VQ($,J){if(J.target==="openApi3")return GQ($,J);let Q=$.options instanceof Map?Array.from($.options.values()):$.options;if(Q.every((X)=>(X._def.typeName in k2)&&(!X._def.checks||!X._def.checks.length))){let X=Q.reduce((Y,W)=>{let H=k2[W._def.typeName];return H&&!Y.includes(H)?[...Y,H]:Y},[]);return{type:X.length>1?X:X[0]}}else if(Q.every((X)=>X._def.typeName==="ZodLiteral"&&!X.description)){let X=Q.reduce((Y,W)=>{let H=typeof W._def.value;switch(H){case"string":case"number":case"boolean":return[...Y,H];case"bigint":return[...Y,"integer"];case"object":if(W._def.value===null)return[...Y,"null"];case"symbol":case"undefined":case"function":default:return Y}},[]);if(X.length===Q.length){let Y=X.filter((W,H,G)=>G.indexOf(W)===H);return{type:Y.length>1?Y:Y[0],enum:Q.reduce((W,H)=>{return W.includes(H._def.value)?W:[...W,H._def.value]},[])}}}else if(Q.every((X)=>X._def.typeName==="ZodEnum"))return{type:"string",enum:Q.reduce((X,Y)=>[...X,...Y._def.values.filter((W)=>!X.includes(W))],[])};return GQ($,J)}var GQ=($,J)=>{let Q=($.options instanceof Map?Array.from($.options.values()):$.options).map((X,Y)=>l(X._def,{...J,currentPath:[...J.currentPath,"anyOf",`${Y}`]})).filter((X)=>!!X&&(!J.strictUnions||typeof X==="object"&&Object.keys(X).length>0));return Q.length?{anyOf:Q}:void 0};function UQ($,J){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(J.target==="openApi3")return{type:k2[$.innerType._def.typeName],nullable:!0};return{type:[k2[$.innerType._def.typeName],"null"]}}if(J.target==="openApi3"){let X=l($.innerType._def,{...J,currentPath:[...J.currentPath]});if(X&&"$ref"in X)return{allOf:[X],nullable:!0};return X&&{...X,nullable:!0}}let Q=l($.innerType._def,{...J,currentPath:[...J.currentPath,"anyOf","0"]});return Q&&{anyOf:[Q,{type:"null"}]}}function qQ($,J){let Q={type:"number"};if(!$.checks)return Q;for(let X of $.checks)switch(X.kind){case"int":Q.type="integer",A9(Q,"type",X.message,J);break;case"min":if(J.target==="jsonSchema7")if(X.inclusive)e(Q,"minimum",X.value,X.message,J);else e(Q,"exclusiveMinimum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMinimum=!0;e(Q,"minimum",X.value,X.message,J)}break;case"max":if(J.target==="jsonSchema7")if(X.inclusive)e(Q,"maximum",X.value,X.message,J);else e(Q,"exclusiveMaximum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMaximum=!0;e(Q,"maximum",X.value,X.message,J)}break;case"multipleOf":e(Q,"multipleOf",X.value,X.message,J);break}return Q}function _Q($,J){let Q=J.target==="openAi",X={type:"object",properties:{}},Y=[],W=$.shape();for(let G in W){let V=W[G];if(V===void 0||V._def===void 0)continue;let U=pF(V);if(U&&Q){if(V._def.typeName==="ZodOptional")V=V._def.innerType;if(!V.isNullable())V=V.nullable();U=!1}let q=l(V._def,{...J,currentPath:[...J.currentPath,"properties",G],propertyPath:[...J.currentPath,"properties",G]});if(q===void 0)continue;if(X.properties[G]=q,!U)Y.push(G)}if(Y.length)X.required=Y;let H=dF($,J);if(H!==void 0)X.additionalProperties=H;return X}function dF($,J){if($.catchall._def.typeName!=="ZodNever")return l($.catchall._def,{...J,currentPath:[...J.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return J.allowedAdditionalProperties;case"strict":return J.rejectedAdditionalProperties;case"strip":return J.removeAdditionalStrategy==="strict"?J.allowedAdditionalProperties:J.rejectedAdditionalProperties}}function pF($){try{return $.isOptional()}catch{return!0}}var DQ=($,J)=>{if(J.currentPath.toString()===J.propertyPath?.toString())return l($.innerType._def,J);let Q=l($.innerType._def,{...J,currentPath:[...J.currentPath,"anyOf","1"]});return Q?{anyOf:[{not:U0(J)},Q]}:U0(J)};var BQ=($,J)=>{if(J.pipeStrategy==="input")return l($.in._def,J);else if(J.pipeStrategy==="output")return l($.out._def,J);let Q=l($.in._def,{...J,currentPath:[...J.currentPath,"allOf","0"]}),X=l($.out._def,{...J,currentPath:[...J.currentPath,"allOf",Q?"1":"0"]});return{allOf:[Q,X].filter((Y)=>Y!==void 0)}};function FQ($,J){return l($.type._def,J)}function zQ($,J){let X={type:"array",uniqueItems:!0,items:l($.valueType._def,{...J,currentPath:[...J.currentPath,"items"]})};if($.minSize)e(X,"minItems",$.minSize.value,$.minSize.message,J);if($.maxSize)e(X,"maxItems",$.maxSize.value,$.maxSize.message,J);return X}function wQ($,J){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((Q,X)=>l(Q._def,{...J,currentPath:[...J.currentPath,"items",`${X}`]})).reduce((Q,X)=>X===void 0?Q:[...Q,X],[]),additionalItems:l($.rest._def,{...J,currentPath:[...J.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((Q,X)=>l(Q._def,{...J,currentPath:[...J.currentPath,"items",`${X}`]})).reduce((Q,X)=>X===void 0?Q:[...Q,X],[])}}function NQ($){return{not:U0($)}}function AQ($){return U0($)}var jQ=($,J)=>{return l($.innerType._def,J)};var EQ=($,J,Q)=>{switch(J){case R.ZodString:return d6($,Q);case R.ZodNumber:return qQ($,Q);case R.ZodObject:return _Q($,Q);case R.ZodBigInt:return s3($,Q);case R.ZodBoolean:return o3();case R.ZodDate:return O9($,Q);case R.ZodUndefined:return NQ(Q);case R.ZodNull:return HQ(Q);case R.ZodArray:return n3($,Q);case R.ZodUnion:case R.ZodDiscriminatedUnion:return VQ($,Q);case R.ZodIntersection:return $Q($,Q);case R.ZodTuple:return wQ($,Q);case R.ZodRecord:return p6($,Q);case R.ZodLiteral:return JQ($,Q);case R.ZodEnum:return e3($);case R.ZodNativeEnum:return YQ($);case R.ZodNullable:return UQ($,Q);case R.ZodOptional:return DQ($,Q);case R.ZodMap:return XQ($,Q);case R.ZodSet:return zQ($,Q);case R.ZodLazy:return()=>$.getter()._def;case R.ZodPromise:return FQ($,Q);case R.ZodNaN:case R.ZodNever:return WQ(Q);case R.ZodEffects:return t3($,Q);case R.ZodAny:return U0(Q);case R.ZodUnknown:return AQ(Q);case R.ZodDefault:return a3($,Q);case R.ZodBranded:return c6($,Q);case R.ZodReadonly:return jQ($,Q);case R.ZodCatch:return r3($,Q);case R.ZodPipeline:return BQ($,Q);case R.ZodFunction:case R.ZodVoid:case R.ZodSymbol:return;default:return((X)=>{return})(J)}};function l($,J,Q=!1){let X=J.seen.get($);if(J.override){let G=J.override?.($,J,X,Q);if(G!==f3)return G}if(X&&!Q){let G=iF(X,J);if(G!==void 0)return G}let Y={def:$,path:J.currentPath,jsonSchema:void 0};J.seen.set($,Y);let W=EQ($,$.typeName,J),H=typeof W==="function"?l(W(),J):W;if(H)nF($,J,H);if(J.postProcess){let G=J.postProcess(H,$,J);return Y.jsonSchema=H,G}return Y.jsonSchema=H,H}var iF=($,J)=>{switch(J.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:g6(J.currentPath,$.path)};case"none":case"seen":{if($.path.length<J.currentPath.length&&$.path.every((Q,X)=>J.currentPath[X]===Q))return console.warn(`Recursive reference detected at ${J.currentPath.join("/")}! Defaulting to any`),U0(J);return J.$refStrategy==="seen"?U0(J):void 0}}},nF=($,J,Q)=>{if($.description){if(Q.description=$.description,J.markdownDescription)Q.markdownDescription=$.description}return Q};var i6=($,J)=>{let Q=x3(J),X=typeof J==="object"&&J.definitions?Object.entries(J.definitions).reduce((V,[U,q])=>({...V,[U]:l(q._def,{...Q,currentPath:[...Q.basePath,Q.definitionPath,U]},!0)??U0(Q)}),{}):void 0,Y=typeof J==="string"?J:J?.nameStrategy==="title"?void 0:J?.name,W=l($._def,Y===void 0?Q:{...Q,currentPath:[...Q.basePath,Q.definitionPath,Y]},!1)??U0(Q),H=typeof J==="object"&&J.name!==void 0&&J.nameStrategy==="title"?J.name:void 0;if(H!==void 0)W.title=H;if(Q.flags.hasReferencedOpenAiAnyType){if(!X)X={};if(!X[Q.openAiAnyTypeName])X[Q.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:Q.$refStrategy==="relative"?"1":[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName].join("/")}}}let G=Y===void 0?X?{...W,[Q.definitionPath]:X}:W:{$ref:[...Q.$refStrategy==="relative"?[]:Q.basePath,Q.definitionPath,Y].join("/"),[Q.definitionPath]:{...X,[Y]:W}};if(Q.target==="jsonSchema7")G.$schema="http://json-schema.org/draft-07/schema#";else if(Q.target==="jsonSchema2019-09"||Q.target==="openAi")G.$schema="https://json-schema.org/draft/2019-09/schema#";if(Q.target==="openAi"&&(("anyOf"in G)||("oneOf"in G)||("allOf"in G)||("type"in G)&&Array.isArray(G.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return G};var LQ=new WeakMap,OQ=0;class Z1{spec;generatedSchemas=new Set;constructor($){this.spec=$}convert($,J){try{if(J?.reusable||this.shouldBeReusable($))return this.convertToReusableSchema($,J?.name);return this.convertInline($)}catch(Q){return console.warn("Failed to convert Zod schema to JSON Schema:",Q),{type:"object"}}}convertInline($){let J=i6($,{target:"openApi3",$refStrategy:"none"});if(J&&typeof J==="object")delete J.$schema;return J}convertToReusableSchema($,J){let Q=LQ.get($);if(Q&&this.generatedSchemas.has(Q))return{$ref:`#/components/schemas/${Q}`};let X=J||Q||this.generateSchemaName();LQ.set($,X),this.generatedSchemas.add(X);let Y=this.convertInline($);if(!this.spec.components)this.spec.components={schemas:{}};if(!this.spec.components.schemas)this.spec.components.schemas={};return this.spec.components.schemas[X]=Y,{$ref:`#/components/schemas/${X}`}}shouldBeReusable($){let J=this.convertInline($);if(J.type==="object"&&J.properties)return Object.keys(J.properties).length>2;if(J.type==="array"&&J.items){let Q=J.items;if(Q.type==="object"&&Q.properties)return!0}if(J.anyOf||J.oneOf||J.allOf)return!0;return!1}generateSchemaName(){return`Schema${++OQ}`}static resetCounter(){OQ=0}}function n6($,J){if(J)return new Z1(J).convert($);try{let Q=i6($,{target:"openApi3",$refStrategy:"none"});if(Q&&typeof Q==="object")delete Q.$schema;return Q}catch(Q){return console.warn("Failed to convert Zod schema to JSON Schema:",Q),{type:"object"}}}class D1{metadata;options;converter;constructor($,J){this.metadata=$;this.options={title:J?.title||"Veloce-TS API",version:J?.version||"1.0.0",description:J?.description||"API built with Veloce-TS",path:J?.path||"/openapi.json",docsPath:J?.docsPath||"/docs",docs:J?.docs!==!1}}static tagFromPath($){let J=$.split("/").filter(Boolean),Q=new Set(["api","v1","v2","v3"]);for(let X of J)if(!Q.has(X.toLowerCase())&&!X.startsWith(":")&&!X.startsWith("{"))return X.charAt(0).toUpperCase()+X.slice(1);return"Default"}static isSecured($){return!!($.auth||$.roles||$.permissions||$.minimumRole)}generate(){let $=this.metadata.getRoutes(),J={openapi:"3.0.0",info:{title:this.options.title,version:this.options.version,description:this.options.description},paths:{},components:{schemas:{},securitySchemes:{bearerAuth:{type:"http",scheme:"bearer",bearerFormat:"JWT",description:"JWT access token — include as: Authorization: Bearer <token>"}}},tags:[]};this.converter=new Z1(J);let Q=new Set;for(let X of $){let Y=D1.tagFromPath(X.path);Q.add(Y),this.addRouteToSpec(J,X,Y)}return J.tags=Array.from(Q).map((X)=>({name:X})),J}addRouteToSpec($,J,Q){let X=this.convertPathToOpenAPI(J.path),Y=J.method.toLowerCase();if(Y==="all"||Y==="options")return;if(!$.paths[X])$.paths[X]={};let W=J.docs?.tags?.length?J.docs.tags:[Q],H=J.statusCode??200,G={summary:J.docs?.summary,description:J.docs?.description,tags:W,deprecated:J.docs?.deprecated||!1,parameters:this.extractParameters(J,$),responses:this.extractResponses(J,$,H)},V=this.extractRequestBody(J,$);if(V)G.requestBody=V;if(G.parameters.length===0)delete G.parameters;if(D1.isSecured(J))G.security=[{bearerAuth:[]}];$.paths[X][Y]=G}extractParameters($,J){let Q=[];for(let X of $.parameters)if(X.type==="query"||X.type==="param"||X.type==="header"||X.type==="cookie"){let Y=this.parameterToOpenAPI(X,$.path,J);if(Y)Q.push(Y)}return Q}extractRequestBody($,J){let Q=$.parameters.find((X)=>X.type==="body");if(!Q||!Q.schema)return null;return{required:Q.required,content:{"application/json":{schema:this.zodToOpenAPISchema(Q.schema,J)}}}}extractResponses($,J,Q=200){let X={};if($.responses&&$.responses.length>0)for(let W of $.responses)X[W.statusCode.toString()]={description:W.description||this.getDefaultResponseDescription(W.statusCode),content:W.schema?{"application/json":{schema:this.zodToOpenAPISchema(W.schema,J)}}:void 0};let Y=Q.toString();if(!X[Y]){let W=$.responseSchema;X[Y]={description:this.getDefaultResponseDescription(Q),content:{"application/json":{schema:W?this.zodToOpenAPISchema(W,J):{type:"object"}}}}}if(!X["422"])X["422"]={description:"Validation error",content:{"application/json":{schema:{type:"object",properties:{error:{type:"string"},statusCode:{type:"number",example:422},details:{type:"array",items:{type:"object",properties:{path:{type:"string"},message:{type:"string"},code:{type:"string"}}}}}}}}};if(D1.isSecured($)&&!X["401"])X["401"]={description:"Unauthorized — missing or invalid JWT token",content:{"application/json":{schema:{type:"object",properties:{error:{type:"string"},statusCode:{type:"number",example:401}}}}}};return X}convertPathToOpenAPI($){return $.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"{$1}")}parameterToOpenAPI($,J,Q){let X,Y;switch($.type){case"query":X="query",Y=$.name||"query";break;case"param":if(X="path",$.name)Y=$.name;else{let H=J.match(/:([a-zA-Z_][a-zA-Z0-9_]*)/);Y=H?H[1]:"id"}break;case"header":X="header",Y=$.name||"X-Custom-Header";break;case"cookie":X="cookie",Y=$.name||"session";break;default:return null}return{name:Y,in:X,required:$.required||X==="path",schema:$.schema?this.zodToOpenAPISchema($.schema,Q):{type:"string"}}}zodToOpenAPISchema($,J){if(!this.converter)this.converter=new Z1(J);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 tF={};Z0(tF,{WebSocketPlugin:()=>l$,OpenAPIPlugin:()=>s6,HealthCheckers:()=>I9,HealthCheckPlugin:()=>a6,GraphQLPlugin:()=>g2});module.exports=T0(tF);class s6{name="openapi";version="1.0.0";options;constructor($){this.options={title:$?.title||"Veloce-TS API",version:$?.version||"1.0.0",description:$?.description||"API built with Veloce-TS",path:$?.path||"/openapi.json",docsPath:$?.docsPath||"/docs",docs:$?.docs!==!1}}async install($){let J=$.getConfig();if(J.title)this.options.title=J.title;if(J.version)this.options.version=J.version;if(J.description)this.options.description=J.description;if($.get(this.options.path,{handler:async()=>{return this.generateSpec($)},docs:{summary:"OpenAPI specification",description:"Returns the OpenAPI 3.0 specification for this API",tags:["Documentation"]}}),this.options.docs&&this.options.docsPath){let Q=this.options.path,X=this.renderSwaggerUI();$.get(this.options.docsPath,{handler:async(Y)=>{return new globalThis.Response(X,{headers:{"Content-Type":"text/html; charset=utf-8"}})},docs:{summary:"Swagger UI",description:"Interactive API documentation",tags:["Documentation"]}})}}generateSpec($){let J=$.getMetadata();return new D1(J,this.options).generate()}renderSwaggerUI(){return`<!DOCTYPE html>
43
+ ]`;continue}if(Y+=X[V],X[V]==="\\")W=!0;else if(H&&X[V]==="]")H=!1;else if(!H&&X[V]==="[")H=!0}try{new RegExp(Y)}catch{return console.warn(`Could not convert regex pattern at ${J.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),$.source}return Y}function p6($,J){if(J.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(J.target==="openApi3"&&$.keyType?._def.typeName===R.ZodEnum)return{type:"object",required:$.keyType._def.values,properties:$.keyType._def.values.reduce((X,Y)=>({...X,[Y]:l($.valueType._def,{...J,currentPath:[...J.currentPath,"properties",Y]})??U0(J)}),{}),additionalProperties:J.rejectedAdditionalProperties};let Q={type:"object",additionalProperties:l($.valueType._def,{...J,currentPath:[...J.currentPath,"additionalProperties"]})??J.allowedAdditionalProperties};if(J.target==="openApi3")return Q;if($.keyType?._def.typeName===R.ZodString&&$.keyType._def.checks?.length){let{type:X,...Y}=d6($.keyType._def,J);return{...Q,propertyNames:Y}}else if($.keyType?._def.typeName===R.ZodEnum)return{...Q,propertyNames:{enum:$.keyType._def.values}};else if($.keyType?._def.typeName===R.ZodBranded&&$.keyType._def.type._def.typeName===R.ZodString&&$.keyType._def.type._def.checks?.length){let{type:X,...Y}=c6($.keyType._def,J);return{...Q,propertyNames:Y}}return Q}function XQ($,J){if(J.mapStrategy==="record")return p6($,J);let Q=l($.keyType._def,{...J,currentPath:[...J.currentPath,"items","items","0"]})||U0(J),X=l($.valueType._def,{...J,currentPath:[...J.currentPath,"items","items","1"]})||U0(J);return{type:"array",maxItems:125,items:{type:"array",items:[Q,X],minItems:2,maxItems:2}}}function YQ($){let J=$.values,X=Object.keys($.values).filter((W)=>{return typeof J[J[W]]!=="number"}).map((W)=>J[W]),Y=Array.from(new Set(X.map((W)=>typeof W)));return{type:Y.length===1?Y[0]==="string"?"string":"number":["string","number"],enum:X}}function WQ($){return $.target==="openAi"?void 0:{not:U0({...$,currentPath:[...$.currentPath,"not"]})}}function HQ($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var k2={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function VQ($,J){if(J.target==="openApi3")return GQ($,J);let Q=$.options instanceof Map?Array.from($.options.values()):$.options;if(Q.every((X)=>(X._def.typeName in k2)&&(!X._def.checks||!X._def.checks.length))){let X=Q.reduce((Y,W)=>{let H=k2[W._def.typeName];return H&&!Y.includes(H)?[...Y,H]:Y},[]);return{type:X.length>1?X:X[0]}}else if(Q.every((X)=>X._def.typeName==="ZodLiteral"&&!X.description)){let X=Q.reduce((Y,W)=>{let H=typeof W._def.value;switch(H){case"string":case"number":case"boolean":return[...Y,H];case"bigint":return[...Y,"integer"];case"object":if(W._def.value===null)return[...Y,"null"];case"symbol":case"undefined":case"function":default:return Y}},[]);if(X.length===Q.length){let Y=X.filter((W,H,G)=>G.indexOf(W)===H);return{type:Y.length>1?Y:Y[0],enum:Q.reduce((W,H)=>{return W.includes(H._def.value)?W:[...W,H._def.value]},[])}}}else if(Q.every((X)=>X._def.typeName==="ZodEnum"))return{type:"string",enum:Q.reduce((X,Y)=>[...X,...Y._def.values.filter((W)=>!X.includes(W))],[])};return GQ($,J)}var GQ=($,J)=>{let Q=($.options instanceof Map?Array.from($.options.values()):$.options).map((X,Y)=>l(X._def,{...J,currentPath:[...J.currentPath,"anyOf",`${Y}`]})).filter((X)=>!!X&&(!J.strictUnions||typeof X==="object"&&Object.keys(X).length>0));return Q.length?{anyOf:Q}:void 0};function UQ($,J){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(J.target==="openApi3")return{type:k2[$.innerType._def.typeName],nullable:!0};return{type:[k2[$.innerType._def.typeName],"null"]}}if(J.target==="openApi3"){let X=l($.innerType._def,{...J,currentPath:[...J.currentPath]});if(X&&"$ref"in X)return{allOf:[X],nullable:!0};return X&&{...X,nullable:!0}}let Q=l($.innerType._def,{...J,currentPath:[...J.currentPath,"anyOf","0"]});return Q&&{anyOf:[Q,{type:"null"}]}}function qQ($,J){let Q={type:"number"};if(!$.checks)return Q;for(let X of $.checks)switch(X.kind){case"int":Q.type="integer",A9(Q,"type",X.message,J);break;case"min":if(J.target==="jsonSchema7")if(X.inclusive)e(Q,"minimum",X.value,X.message,J);else e(Q,"exclusiveMinimum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMinimum=!0;e(Q,"minimum",X.value,X.message,J)}break;case"max":if(J.target==="jsonSchema7")if(X.inclusive)e(Q,"maximum",X.value,X.message,J);else e(Q,"exclusiveMaximum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMaximum=!0;e(Q,"maximum",X.value,X.message,J)}break;case"multipleOf":e(Q,"multipleOf",X.value,X.message,J);break}return Q}function _Q($,J){let Q=J.target==="openAi",X={type:"object",properties:{}},Y=[],W=$.shape();for(let G in W){let V=W[G];if(V===void 0||V._def===void 0)continue;let U=pF(V);if(U&&Q){if(V._def.typeName==="ZodOptional")V=V._def.innerType;if(!V.isNullable())V=V.nullable();U=!1}let q=l(V._def,{...J,currentPath:[...J.currentPath,"properties",G],propertyPath:[...J.currentPath,"properties",G]});if(q===void 0)continue;if(X.properties[G]=q,!U)Y.push(G)}if(Y.length)X.required=Y;let H=dF($,J);if(H!==void 0)X.additionalProperties=H;return X}function dF($,J){if($.catchall._def.typeName!=="ZodNever")return l($.catchall._def,{...J,currentPath:[...J.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return J.allowedAdditionalProperties;case"strict":return J.rejectedAdditionalProperties;case"strip":return J.removeAdditionalStrategy==="strict"?J.allowedAdditionalProperties:J.rejectedAdditionalProperties}}function pF($){try{return $.isOptional()}catch{return!0}}var DQ=($,J)=>{if(J.currentPath.toString()===J.propertyPath?.toString())return l($.innerType._def,J);let Q=l($.innerType._def,{...J,currentPath:[...J.currentPath,"anyOf","1"]});return Q?{anyOf:[{not:U0(J)},Q]}:U0(J)};var BQ=($,J)=>{if(J.pipeStrategy==="input")return l($.in._def,J);else if(J.pipeStrategy==="output")return l($.out._def,J);let Q=l($.in._def,{...J,currentPath:[...J.currentPath,"allOf","0"]}),X=l($.out._def,{...J,currentPath:[...J.currentPath,"allOf",Q?"1":"0"]});return{allOf:[Q,X].filter((Y)=>Y!==void 0)}};function FQ($,J){return l($.type._def,J)}function zQ($,J){let X={type:"array",uniqueItems:!0,items:l($.valueType._def,{...J,currentPath:[...J.currentPath,"items"]})};if($.minSize)e(X,"minItems",$.minSize.value,$.minSize.message,J);if($.maxSize)e(X,"maxItems",$.maxSize.value,$.maxSize.message,J);return X}function NQ($,J){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((Q,X)=>l(Q._def,{...J,currentPath:[...J.currentPath,"items",`${X}`]})).reduce((Q,X)=>X===void 0?Q:[...Q,X],[]),additionalItems:l($.rest._def,{...J,currentPath:[...J.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((Q,X)=>l(Q._def,{...J,currentPath:[...J.currentPath,"items",`${X}`]})).reduce((Q,X)=>X===void 0?Q:[...Q,X],[])}}function wQ($){return{not:U0($)}}function AQ($){return U0($)}var jQ=($,J)=>{return l($.innerType._def,J)};var EQ=($,J,Q)=>{switch(J){case R.ZodString:return d6($,Q);case R.ZodNumber:return qQ($,Q);case R.ZodObject:return _Q($,Q);case R.ZodBigInt:return s3($,Q);case R.ZodBoolean:return o3();case R.ZodDate:return O9($,Q);case R.ZodUndefined:return wQ(Q);case R.ZodNull:return HQ(Q);case R.ZodArray:return n3($,Q);case R.ZodUnion:case R.ZodDiscriminatedUnion:return VQ($,Q);case R.ZodIntersection:return $Q($,Q);case R.ZodTuple:return NQ($,Q);case R.ZodRecord:return p6($,Q);case R.ZodLiteral:return JQ($,Q);case R.ZodEnum:return e3($);case R.ZodNativeEnum:return YQ($);case R.ZodNullable:return UQ($,Q);case R.ZodOptional:return DQ($,Q);case R.ZodMap:return XQ($,Q);case R.ZodSet:return zQ($,Q);case R.ZodLazy:return()=>$.getter()._def;case R.ZodPromise:return FQ($,Q);case R.ZodNaN:case R.ZodNever:return WQ(Q);case R.ZodEffects:return t3($,Q);case R.ZodAny:return U0(Q);case R.ZodUnknown:return AQ(Q);case R.ZodDefault:return a3($,Q);case R.ZodBranded:return c6($,Q);case R.ZodReadonly:return jQ($,Q);case R.ZodCatch:return r3($,Q);case R.ZodPipeline:return BQ($,Q);case R.ZodFunction:case R.ZodVoid:case R.ZodSymbol:return;default:return((X)=>{return})(J)}};function l($,J,Q=!1){let X=J.seen.get($);if(J.override){let G=J.override?.($,J,X,Q);if(G!==f3)return G}if(X&&!Q){let G=iF(X,J);if(G!==void 0)return G}let Y={def:$,path:J.currentPath,jsonSchema:void 0};J.seen.set($,Y);let W=EQ($,$.typeName,J),H=typeof W==="function"?l(W(),J):W;if(H)nF($,J,H);if(J.postProcess){let G=J.postProcess(H,$,J);return Y.jsonSchema=H,G}return Y.jsonSchema=H,H}var iF=($,J)=>{switch(J.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:g6(J.currentPath,$.path)};case"none":case"seen":{if($.path.length<J.currentPath.length&&$.path.every((Q,X)=>J.currentPath[X]===Q))return console.warn(`Recursive reference detected at ${J.currentPath.join("/")}! Defaulting to any`),U0(J);return J.$refStrategy==="seen"?U0(J):void 0}}},nF=($,J,Q)=>{if($.description){if(Q.description=$.description,J.markdownDescription)Q.markdownDescription=$.description}return Q};var i6=($,J)=>{let Q=x3(J),X=typeof J==="object"&&J.definitions?Object.entries(J.definitions).reduce((V,[U,q])=>({...V,[U]:l(q._def,{...Q,currentPath:[...Q.basePath,Q.definitionPath,U]},!0)??U0(Q)}),{}):void 0,Y=typeof J==="string"?J:J?.nameStrategy==="title"?void 0:J?.name,W=l($._def,Y===void 0?Q:{...Q,currentPath:[...Q.basePath,Q.definitionPath,Y]},!1)??U0(Q),H=typeof J==="object"&&J.name!==void 0&&J.nameStrategy==="title"?J.name:void 0;if(H!==void 0)W.title=H;if(Q.flags.hasReferencedOpenAiAnyType){if(!X)X={};if(!X[Q.openAiAnyTypeName])X[Q.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:Q.$refStrategy==="relative"?"1":[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName].join("/")}}}let G=Y===void 0?X?{...W,[Q.definitionPath]:X}:W:{$ref:[...Q.$refStrategy==="relative"?[]:Q.basePath,Q.definitionPath,Y].join("/"),[Q.definitionPath]:{...X,[Y]:W}};if(Q.target==="jsonSchema7")G.$schema="http://json-schema.org/draft-07/schema#";else if(Q.target==="jsonSchema2019-09"||Q.target==="openAi")G.$schema="https://json-schema.org/draft/2019-09/schema#";if(Q.target==="openAi"&&(("anyOf"in G)||("oneOf"in G)||("allOf"in G)||("type"in G)&&Array.isArray(G.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return G};var LQ=new WeakMap,OQ=0;class Z1{spec;generatedSchemas=new Set;constructor($){this.spec=$}convert($,J){try{if(J?.reusable||this.shouldBeReusable($))return this.convertToReusableSchema($,J?.name);return this.convertInline($)}catch(Q){return console.warn("Failed to convert Zod schema to JSON Schema:",Q),{type:"object"}}}convertInline($){let J=i6($,{target:"openApi3",$refStrategy:"none"});if(J&&typeof J==="object")delete J.$schema;return J}convertToReusableSchema($,J){let Q=LQ.get($);if(Q&&this.generatedSchemas.has(Q))return{$ref:`#/components/schemas/${Q}`};let X=J||Q||this.generateSchemaName();LQ.set($,X),this.generatedSchemas.add(X);let Y=this.convertInline($);if(!this.spec.components)this.spec.components={schemas:{}};if(!this.spec.components.schemas)this.spec.components.schemas={};return this.spec.components.schemas[X]=Y,{$ref:`#/components/schemas/${X}`}}shouldBeReusable($){let J=this.convertInline($);if(J.type==="object"&&J.properties)return Object.keys(J.properties).length>2;if(J.type==="array"&&J.items){let Q=J.items;if(Q.type==="object"&&Q.properties)return!0}if(J.anyOf||J.oneOf||J.allOf)return!0;return!1}generateSchemaName(){return`Schema${++OQ}`}static resetCounter(){OQ=0}}function n6($,J){if(J)return new Z1(J).convert($);try{let Q=i6($,{target:"openApi3",$refStrategy:"none"});if(Q&&typeof Q==="object")delete Q.$schema;return Q}catch(Q){return console.warn("Failed to convert Zod schema to JSON Schema:",Q),{type:"object"}}}class D1{metadata;options;converter;constructor($,J){this.metadata=$;this.options={title:J?.title||"Veloce-TS API",version:J?.version||"1.0.0",description:J?.description||"API built with Veloce-TS",path:J?.path||"/openapi.json",docsPath:J?.docsPath||"/docs",docs:J?.docs!==!1}}static tagFromPath($){let J=$.split("/").filter(Boolean),Q=new Set(["api","v1","v2","v3"]);for(let X of J)if(!Q.has(X.toLowerCase())&&!X.startsWith(":")&&!X.startsWith("{"))return X.charAt(0).toUpperCase()+X.slice(1);return"Default"}static isSecured($){return!!($.auth||$.roles||$.permissions||$.minimumRole)}generate(){let $=this.metadata.getRoutes(),J={openapi:"3.0.0",info:{title:this.options.title,version:this.options.version,description:this.options.description},paths:{},components:{schemas:{},securitySchemes:{bearerAuth:{type:"http",scheme:"bearer",bearerFormat:"JWT",description:"JWT access token — include as: Authorization: Bearer <token>"}}},tags:[]};this.converter=new Z1(J);let Q=new Set;for(let X of $){let Y=D1.tagFromPath(X.path);Q.add(Y),this.addRouteToSpec(J,X,Y)}return J.tags=Array.from(Q).map((X)=>({name:X})),J}addRouteToSpec($,J,Q){let X=this.convertPathToOpenAPI(J.path),Y=J.method.toLowerCase();if(Y==="all"||Y==="options")return;if(!$.paths[X])$.paths[X]={};let W=J.docs?.tags?.length?J.docs.tags:[Q],H=J.statusCode??200,G={summary:J.docs?.summary,description:J.docs?.description,tags:W,deprecated:J.docs?.deprecated||!1,parameters:this.extractParameters(J,$),responses:this.extractResponses(J,$,H)},V=this.extractRequestBody(J,$);if(V)G.requestBody=V;if(G.parameters.length===0)delete G.parameters;if(D1.isSecured(J))G.security=[{bearerAuth:[]}];$.paths[X][Y]=G}extractParameters($,J){let Q=[];for(let X of $.parameters)if(X.type==="query"||X.type==="param"||X.type==="header"||X.type==="cookie"){let Y=this.parameterToOpenAPI(X,$.path,J);if(Y)Q.push(Y)}return Q}extractRequestBody($,J){let Q=$.parameters.find((X)=>X.type==="body");if(!Q||!Q.schema)return null;return{required:Q.required,content:{"application/json":{schema:this.zodToOpenAPISchema(Q.schema,J)}}}}extractResponses($,J,Q=200){let X={};if($.responses&&$.responses.length>0)for(let W of $.responses)X[W.statusCode.toString()]={description:W.description||this.getDefaultResponseDescription(W.statusCode),content:W.schema?{"application/json":{schema:this.zodToOpenAPISchema(W.schema,J)}}:void 0};let Y=Q.toString();if(!X[Y]){let W=$.responseSchema;X[Y]={description:this.getDefaultResponseDescription(Q),content:{"application/json":{schema:W?this.zodToOpenAPISchema(W,J):{type:"object"}}}}}if(!X["422"])X["422"]={description:"Validation error",content:{"application/json":{schema:{type:"object",properties:{error:{type:"string"},statusCode:{type:"number",example:422},details:{type:"array",items:{type:"object",properties:{path:{type:"string"},message:{type:"string"},code:{type:"string"}}}}}}}}};if(D1.isSecured($)&&!X["401"])X["401"]={description:"Unauthorized — missing or invalid JWT token",content:{"application/json":{schema:{type:"object",properties:{error:{type:"string"},statusCode:{type:"number",example:401}}}}}};return X}convertPathToOpenAPI($){return $.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"{$1}")}parameterToOpenAPI($,J,Q){let X,Y;switch($.type){case"query":X="query",Y=$.name||"query";break;case"param":if(X="path",$.name)Y=$.name;else{let H=J.match(/:([a-zA-Z_][a-zA-Z0-9_]*)/);Y=H?H[1]:"id"}break;case"header":X="header",Y=$.name||"X-Custom-Header";break;case"cookie":X="cookie",Y=$.name||"session";break;default:return null}return{name:Y,in:X,required:$.required||X==="path",schema:$.schema?this.zodToOpenAPISchema($.schema,Q):{type:"string"}}}zodToOpenAPISchema($,J){if(!this.converter)this.converter=new Z1(J);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 tF={};Z0(tF,{WebSocketPlugin:()=>l$,OpenAPIPlugin:()=>s6,HealthCheckers:()=>I9,HealthCheckPlugin:()=>a6,GraphQLPlugin:()=>g2});module.exports=T0(tF);class s6{name="openapi";version="1.0.0";options;constructor($){this.options={title:$?.title||"Veloce-TS API",version:$?.version||"1.0.0",description:$?.description||"API built with Veloce-TS",path:$?.path||"/openapi.json",docsPath:$?.docsPath||"/docs",docs:$?.docs!==!1}}async install($){let J=$.getConfig();if(J.title)this.options.title=J.title;if(J.version)this.options.version=J.version;if(J.description)this.options.description=J.description;if($.get(this.options.path,{handler:async()=>{return this.generateSpec($)},docs:{summary:"OpenAPI specification",description:"Returns the OpenAPI 3.0 specification for this API",tags:["Documentation"]}}),this.options.docs&&this.options.docsPath){let Q=this.options.path,X=this.renderSwaggerUI();$.get(this.options.docsPath,{handler:async(Y)=>{return new globalThis.Response(X,{headers:{"Content-Type":"text/html; charset=utf-8"}})},docs:{summary:"Swagger UI",description:"Interactive API documentation",tags:["Documentation"]}})}}generateSpec($){let J=$.getMetadata();return new D1(J,this.options).generate()}renderSwaggerUI(){return`<!DOCTYPE html>
44
44
  <html lang="en">
45
45
  <head>
46
46
  <meta charset="UTF-8">
@@ -75,13 +75,13 @@ and limitations under the License.
75
75
  };
76
76
  </script>
77
77
  </body>
78
- </html>`}}class u${manager;id;_ws;constructor($,J,Q){this.manager=J;this._ws=$,this.id=Q||crypto.randomUUID()}send($){if(!this._ws||this._ws.readyState!==WebSocket.OPEN)return;let J=typeof $==="string"?$:JSON.stringify($);this._ws.send(J)}broadcast($,J){this.manager.broadcast($,J)}join($){this.manager.joinRoom(this.id,$)}leave($){this.manager.leaveRoom(this.id,$)}close($,J){if(this._ws&&this._ws.readyState===WebSocket.OPEN)this._ws.close($,J)}get native(){return this._ws}get isOpen(){return this._ws!==null&&this._ws.readyState===WebSocket.OPEN}_markClosed(){this._ws=null}}class m${connections=new Map;rooms=new Map;connectionsByRoom=new Map;handleConnection($,J){let Q=new u$($,this);if(this.connections.set(Q.id,Q),J.onConnect)this.executeHandler(J,J.onConnect,Q);return $.addEventListener("message",async(X)=>{await this.handleMessage(X,Q,J)}),$.addEventListener("close",()=>{this.handleDisconnect(Q,J)}),$.addEventListener("error",(X)=>{console.error(`WebSocket error for connection ${Q.id}:`,X)}),Q}async handleMessage($,J,Q){if(!Q.onMessage)return;let X;try{if(X=typeof $.data==="string"?JSON.parse($.data):$.data,Q.messageSchema)X=await Q.messageSchema.parseAsync(X);await this.executeHandler(Q,Q.onMessage,J,X)}catch(Y){J.send({error:"Invalid message format",details:Y instanceof Error?Y.message:"Unknown error"})}}handleDisconnect($,J){if(Array.from(this.connectionsByRoom.entries()).forEach(([Q,X])=>{if(X.delete($),X.size===0)this.connectionsByRoom.delete(Q)}),Array.from(this.rooms.entries()).forEach(([Q,X])=>{if(X.delete($.id),X.size===0)this.rooms.delete(Q)}),this.connections.delete($.id),$._markClosed(),J.onDisconnect)this.executeHandler(J,J.onDisconnect,$)}async executeHandler($,J,Q,X){try{let Y=$.instance??new $.target,W=Y[J];if(typeof W==="function")if(X!==void 0)await W.call(Y,Q,X);else await W.call(Y,Q)}catch(Y){console.error(`Error executing WebSocket handler ${J}:`,Y)}}broadcast($,J){let Q=J?this.getConnectionsInRoom(J):Array.from(this.connections.values()),X=typeof $==="string"?$:JSON.stringify($);for(let Y of Q)if(Y.isOpen)Y.send(X)}joinRoom($,J){let Q=this.connections.get($);if(!Q)return;if(!this.rooms.has(J))this.rooms.set(J,new Set);if(this.rooms.get(J).add($),!this.connectionsByRoom.has(J))this.connectionsByRoom.set(J,new Set);this.connectionsByRoom.get(J).add(Q)}leaveRoom($,J){let Q=this.connections.get($);if(!Q)return;let X=this.rooms.get(J);if(X){if(X.delete($),X.size===0)this.rooms.delete(J)}let Y=this.connectionsByRoom.get(J);if(Y){if(Y.delete(Q),Y.size===0)this.connectionsByRoom.delete(J)}}getConnectionsInRoom($){let J=this.connectionsByRoom.get($);return J?Array.from(J):[]}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 l${name="websocket";version="1.0.0";manager;constructor(){this.manager=new m$}async install($){let Q=$.getMetadata().getWebSockets(),X=$.getContainer();for(let Y of Q)Y.instance=await X.resolve(Y.target),this.registerWebSocket($,Y)}registerWebSocket($,J){$.getHono().get(J.path,async(X)=>{if(X.req.header("upgrade")?.toLowerCase()!=="websocket")return X.text("Expected WebSocket upgrade",426);return this.handleUpgrade(X,J)})}handleUpgrade($,J){if(typeof Bun<"u")return this.handleBunUpgrade($,J);else if(typeof globalThis.Deno<"u")return this.handleDenoUpgrade($,J);else return this.handleNodeUpgrade($,J)}handleBunUpgrade($,J){let Q=$.env;if(!Q?.upgrade)return $.text("WebSocket upgrade not supported in this environment",501);if(!Q.upgrade($.req.raw,{data:{manager:this.manager,metadata:J,requestUrl:$.req.url}}))return $.text("WebSocket upgrade failed",500);return}handleDenoUpgrade($,J){let Q=globalThis.Deno,{socket:X,response:Y}=Q.upgradeWebSocket($.req.raw);return X.onopen=()=>{this.manager.handleConnection(X,J)},Y}handleNodeUpgrade($,J){return $.text("WebSocket support requires Bun or Deno runtime",501)}getManager(){return this.manager}broadcast($,J){this.manager.broadcast($,J)}getConnectionCount(){return this.manager.getConnectionCount()}getRooms(){return this.manager.getRooms()}}var _M=N1(Q$(),1),S9=Symbol("graphql:resolver"),c$=Symbol("graphql:field"),x2=Symbol("graphql:args");function ZQ($){return(J)=>{let Q={target:J,name:$||J.name};Reflect.defineMetadata(S9,Q,J)}}function SQ($,J){return C9("query",$,J)}function CQ($,J){return C9("mutation",$,J)}function MQ($,J){return C9("subscription",$,J)}function C9($,J,Q){return(X,Y)=>{let W={target:X.constructor,propertyKey:Y,type:$,name:J||Y,description:Q?.description,deprecated:Q?.deprecated,deprecationReason:Q?.deprecationReason},H=Reflect.getMetadata(c$,X.constructor)||[];H.push(W),Reflect.defineMetadata(c$,H,X.constructor),Reflect.defineMetadata(c$,W,X,Y)}}function PQ($,J,Q){return(X,Y,W)=>{if(!Y)return;let H=Reflect.getMetadata(x2,X,Y)||[],G={index:W,name:$,schema:J,description:Q?.description,defaultValue:Q?.defaultValue,nullable:Q?.nullable};H[W]=G,Reflect.defineMetadata(x2,H,X,Y)}}function KQ(){return($,J,Q)=>{if(!J)return;let X=Reflect.getMetadata(x2,$,J)||[],Y={index:Q,name:"__context__",nullable:!1};X[Q]=Y,Reflect.defineMetadata(x2,X,$,J)}}function IQ($){return Reflect.getMetadata(S9,$)}function TQ($){return Reflect.getMetadata(c$,$)||[]}function bQ($,J){return Reflect.getMetadata(c$,$,J)}function v2($,J){return Reflect.getMetadata(x2,$,J)||[]}function fQ($){return Reflect.hasMetadata(S9,$)}function kQ($,J){return Reflect.hasMetadata(c$,$,J)}function J1($){let J=$._def.typeName;if(J==="ZodString")return"String";if(J==="ZodNumber"){if($._def.checks?.some((X)=>X.kind==="int"))return"Int";return"Float"}if(J==="ZodBoolean")return"Boolean";if(J==="ZodArray")return`[${J1($._def.type)}]`;if(J==="ZodObject")return"JSON";if(J==="ZodOptional")return J1($._def.innerType);if(J==="ZodNullable")return J1($._def.innerType);if(J==="ZodDefault")return J1($._def.innerType);if(J==="ZodEnum")return"String";if(J==="ZodUnion"){let Q=$._def.options;if(Q&&Q.length>0)return J1(Q[0])}if(J==="ZodLiteral"){let Q=$._def.value;if(typeof Q==="string")return"String";if(typeof Q==="number")return"Float";if(typeof Q==="boolean")return"Boolean"}if(J==="ZodDate")return"String";return"String"}function X$($){let J=$._def.typeName;if(J==="ZodOptional"||J==="ZodNullable")return!0;if(J==="ZodDefault")return X$($._def.innerType);return!1}function o6($){let J=$._def.typeName;if(J==="ZodDefault")return $._def.defaultValue();if(J==="ZodOptional"||J==="ZodNullable"){let Q=$._def.innerType;if(Q)return o6(Q)}return}function xQ($,J){if(J._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let X=J._def.shape(),Y=[];for(let[W,H]of Object.entries(X)){let G=H,V=J1(G),q=X$(G)?V:`${V}!`;Y.push(` ${W}: ${q}`)}return`type ${$} {
78
+ </html>`}}class Q${manager;id;_ws;constructor($,J,Q){this.manager=J;this._ws=$,this.id=Q||crypto.randomUUID()}send($){if(!this._ws||this._ws.readyState!==WebSocket.OPEN)return;let J=typeof $==="string"?$:JSON.stringify($);this._ws.send(J)}broadcast($,J){this.manager.broadcast($,J)}join($){this.manager.joinRoom(this.id,$)}leave($){this.manager.leaveRoom(this.id,$)}close($,J){if(this._ws&&this._ws.readyState===WebSocket.OPEN)this._ws.close($,J)}get native(){return this._ws}get isOpen(){return this._ws!==null&&this._ws.readyState===WebSocket.OPEN}_markClosed(){this._ws=null}}class m${connections=new Map;rooms=new Map;connectionsByRoom=new Map;handleConnection($,J){let Q=new Q$($,this);if(this.connections.set(Q.id,Q),J.onConnect)this.executeHandler(J,J.onConnect,Q);return $.addEventListener("message",async(X)=>{await this.handleMessage(X,Q,J)}),$.addEventListener("close",()=>{this.handleDisconnect(Q,J)}),$.addEventListener("error",(X)=>{console.error(`WebSocket error for connection ${Q.id}:`,X)}),Q}handleConnectionBun($,J){let Q=new Q$($,this);if(this.connections.set(Q.id,Q),J.onConnect)this.executeHandler(J,J.onConnect,Q);return Q}async handleMessageBun($,J,Q){let Y={data:typeof $==="string"?$:$.toString()};await this.handleMessage(Y,J,Q)}handleDisconnectBun($,J){this.handleDisconnect($,J)}async handleMessage($,J,Q){if(!Q.onMessage)return;let X;try{if(X=typeof $.data==="string"?JSON.parse($.data):$.data,Q.messageSchema)X=await Q.messageSchema.parseAsync(X);await this.executeHandler(Q,Q.onMessage,J,X)}catch(Y){J.send({error:"Invalid message format",details:Y instanceof Error?Y.message:"Unknown error"})}}handleDisconnect($,J){if(Array.from(this.connectionsByRoom.entries()).forEach(([Q,X])=>{if(X.delete($),X.size===0)this.connectionsByRoom.delete(Q)}),Array.from(this.rooms.entries()).forEach(([Q,X])=>{if(X.delete($.id),X.size===0)this.rooms.delete(Q)}),this.connections.delete($.id),$._markClosed(),J.onDisconnect)this.executeHandler(J,J.onDisconnect,$)}async executeHandler($,J,Q,X){try{let Y=$.instance??new $.target,W=Y[J];if(typeof W==="function")if(X!==void 0)await W.call(Y,Q,X);else await W.call(Y,Q)}catch(Y){console.error(`Error executing WebSocket handler ${J}:`,Y)}}broadcast($,J){let Q=J?this.getConnectionsInRoom(J):Array.from(this.connections.values()),X=typeof $==="string"?$:JSON.stringify($);for(let Y of Q)if(Y.isOpen)Y.send(X)}joinRoom($,J){let Q=this.connections.get($);if(!Q)return;if(!this.rooms.has(J))this.rooms.set(J,new Set);if(this.rooms.get(J).add($),!this.connectionsByRoom.has(J))this.connectionsByRoom.set(J,new Set);this.connectionsByRoom.get(J).add(Q)}leaveRoom($,J){let Q=this.connections.get($);if(!Q)return;let X=this.rooms.get(J);if(X){if(X.delete($),X.size===0)this.rooms.delete(J)}let Y=this.connectionsByRoom.get(J);if(Y){if(Y.delete(Q),Y.size===0)this.connectionsByRoom.delete(J)}}getConnectionsInRoom($){let J=this.connectionsByRoom.get($);return J?Array.from(J):[]}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 l${name="websocket";version="1.0.0";manager;constructor(){this.manager=new m$}async install($){let Q=$.getMetadata().getWebSockets(),X=$.getContainer();for(let Y of Q)Y.instance=await X.resolve(Y.target),this.registerWebSocket($,Y)}registerWebSocket($,J){$.getHono().get(J.path,async(X)=>{if(X.req.header("upgrade")?.toLowerCase()!=="websocket")return X.text("Expected WebSocket upgrade",426);return this.handleUpgrade(X,J)})}handleUpgrade($,J){if(typeof Bun<"u")return this.handleBunUpgrade($,J);else if(typeof globalThis.Deno<"u")return this.handleDenoUpgrade($,J);else return this.handleNodeUpgrade($,J)}handleBunUpgrade($,J){let Q=$.env;if(!Q?.upgrade)return $.text("WebSocket upgrade not supported in this environment",501);if(!Q.upgrade($.req.raw,{data:{manager:this.manager,metadata:J,requestUrl:$.req.url}}))return $.text("WebSocket upgrade failed",500);return}handleDenoUpgrade($,J){let Q=globalThis.Deno,{socket:X,response:Y}=Q.upgradeWebSocket($.req.raw);return X.onopen=()=>{this.manager.handleConnection(X,J)},Y}handleNodeUpgrade($,J){return $.text("WebSocket support requires Bun or Deno runtime",501)}getManager(){return this.manager}broadcast($,J){this.manager.broadcast($,J)}getConnectionCount(){return this.manager.getConnectionCount()}getRooms(){return this.manager.getRooms()}}var _M=w1(X$(),1),S9=Symbol("graphql:resolver"),c$=Symbol("graphql:field"),x2=Symbol("graphql:args");function ZQ($){return(J)=>{let Q={target:J,name:$||J.name};Reflect.defineMetadata(S9,Q,J)}}function SQ($,J){return C9("query",$,J)}function CQ($,J){return C9("mutation",$,J)}function MQ($,J){return C9("subscription",$,J)}function C9($,J,Q){return(X,Y)=>{let W={target:X.constructor,propertyKey:Y,type:$,name:J||Y,description:Q?.description,deprecated:Q?.deprecated,deprecationReason:Q?.deprecationReason},H=Reflect.getMetadata(c$,X.constructor)||[];H.push(W),Reflect.defineMetadata(c$,H,X.constructor),Reflect.defineMetadata(c$,W,X,Y)}}function PQ($,J,Q){return(X,Y,W)=>{if(!Y)return;let H=Reflect.getMetadata(x2,X,Y)||[],G={index:W,name:$,schema:J,description:Q?.description,defaultValue:Q?.defaultValue,nullable:Q?.nullable};H[W]=G,Reflect.defineMetadata(x2,H,X,Y)}}function KQ(){return($,J,Q)=>{if(!J)return;let X=Reflect.getMetadata(x2,$,J)||[],Y={index:Q,name:"__context__",nullable:!1};X[Q]=Y,Reflect.defineMetadata(x2,X,$,J)}}function IQ($){return Reflect.getMetadata(S9,$)}function TQ($){return Reflect.getMetadata(c$,$)||[]}function bQ($,J){return Reflect.getMetadata(c$,$,J)}function v2($,J){return Reflect.getMetadata(x2,$,J)||[]}function fQ($){return Reflect.hasMetadata(S9,$)}function kQ($,J){return Reflect.hasMetadata(c$,$,J)}function J1($){let J=$._def.typeName;if(J==="ZodString")return"String";if(J==="ZodNumber"){if($._def.checks?.some((X)=>X.kind==="int"))return"Int";return"Float"}if(J==="ZodBoolean")return"Boolean";if(J==="ZodArray")return`[${J1($._def.type)}]`;if(J==="ZodObject")return"JSON";if(J==="ZodOptional")return J1($._def.innerType);if(J==="ZodNullable")return J1($._def.innerType);if(J==="ZodDefault")return J1($._def.innerType);if(J==="ZodEnum")return"String";if(J==="ZodUnion"){let Q=$._def.options;if(Q&&Q.length>0)return J1(Q[0])}if(J==="ZodLiteral"){let Q=$._def.value;if(typeof Q==="string")return"String";if(typeof Q==="number")return"Float";if(typeof Q==="boolean")return"Boolean"}if(J==="ZodDate")return"String";return"String"}function Y$($){let J=$._def.typeName;if(J==="ZodOptional"||J==="ZodNullable")return!0;if(J==="ZodDefault")return Y$($._def.innerType);return!1}function o6($){let J=$._def.typeName;if(J==="ZodDefault")return $._def.defaultValue();if(J==="ZodOptional"||J==="ZodNullable"){let Q=$._def.innerType;if(Q)return o6(Q)}return}function xQ($,J){if(J._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let X=J._def.shape(),Y=[];for(let[W,H]of Object.entries(X)){let G=H,V=J1(G),q=Y$(G)?V:`${V}!`;Y.push(` ${W}: ${q}`)}return`type ${$} {
79
79
  ${Y.join(`
80
80
  `)}
81
- }`}function vQ($,J){if(J._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let X=J._def.shape(),Y=[];for(let[W,H]of Object.entries(X)){let G=H,V=J1(G),U=X$(G),q=o6(G),_=U?V:`${V}!`;if(q!==void 0){let F=JSON.stringify(q);_+=` = ${F}`}Y.push(` ${W}: ${_}`)}return`input ${$} {
81
+ }`}function vQ($,J){if(J._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let X=J._def.shape(),Y=[];for(let[W,H]of Object.entries(X)){let G=H,V=J1(G),U=Y$(G),q=o6(G),_=U?V:`${V}!`;if(q!==void 0){let F=JSON.stringify(q);_+=` = ${F}`}Y.push(` ${W}: ${_}`)}return`input ${$} {
82
82
  ${Y.join(`
83
83
  `)}
84
- }`}n$();i$();function aF($){if($.length===0)return"(root)";return $.reduce((J,Q,X)=>{if(typeof Q==="number")return`${J}[${Q}]`;return X===0?Q:`${J}.${Q}`},"")}class C1 extends j0{zodError;constructor($){super(422,"One or more fields did not pass validation.",void 0,{problemType:B1("validation-error"),title:"Validation Error"});this.zodError=$;this.name="ValidationException"}toJSON(){if(!this.zodError?.errors||!Array.isArray(this.zodError.errors))return{type:B1("validation-error"),title:S1(this.statusCode,this.message,"Validation Error"),status:this.statusCode,detail:this.message,violations:[],details:[],error:"Validation Error",statusCode:this.statusCode};let $=this.zodError.errors.map((X)=>{let Y={field:aF(X.path),message:X.message,code:X.code};if("received"in X&&X.received!==void 0)Y.received=X.received;if("expected"in X&&X.expected!==void 0)Y.expected=X.expected;if("minimum"in X)Y.minimum=X.minimum;if("maximum"in X)Y.maximum=X.maximum;return Y}),J=this.statusCode,Q=S1(J,this.message,"Validation Error");return{type:B1("validation-error"),title:Q,status:J,detail:this.message,violations:$,details:$,error:"Validation Error",statusCode:J}}}class Y${schemaCache=new WeakMap;stats={hits:0,misses:0,validations:0};async validate($,J){this.stats.validations++;try{let Q=this.schemaCache.get(J);if(!Q)this.stats.misses++,Q={schema:J,resultCache:new WeakMap},this.schemaCache.set(J,Q);else this.stats.hits++;return await Q.schema.parseAsync($)}catch(Q){if(Q instanceof L0||Q?.name==="ZodError")throw new C1(Q);throw Q}}validateSync($,J){this.stats.validations++;try{let Q=this.schemaCache.get(J);if(!Q)this.stats.misses++,Q={schema:J,resultCache:new WeakMap},this.schemaCache.set(J,Q);else this.stats.hits++;return Q.schema.parse($)}catch(Q){if(Q instanceof L0)throw new C1(Q);throw Q}}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 h2{metadata;container;validationEngine;customTypes=new Map;constructor($,J){this.metadata=$;this.container=J;this.validationEngine=new Y$}build(){let $=this.metadata.getGraphQLResolvers(),J=[],Q=[],X=[],Y=[];for(let G of $){let V=this.metadata.getGraphQLFieldsByResolver(G.target);for(let U of V){let q=this.buildFieldDefinition(U);switch(U.type){case"query":J.push(q);break;case"mutation":Q.push(q);break;case"subscription":X.push(q);break}}}let W="";if(this.customTypes.size>0)W+=Array.from(this.customTypes.values()).join(`
84
+ }`}n$();i$();function aF($){if($.length===0)return"(root)";return $.reduce((J,Q,X)=>{if(typeof Q==="number")return`${J}[${Q}]`;return X===0?Q:`${J}.${Q}`},"")}class C1 extends j0{zodError;constructor($){super(422,"One or more fields did not pass validation.",void 0,{problemType:B1("validation-error"),title:"Validation Error"});this.zodError=$;this.name="ValidationException"}toJSON(){if(!this.zodError?.errors||!Array.isArray(this.zodError.errors))return{type:B1("validation-error"),title:S1(this.statusCode,this.message,"Validation Error"),status:this.statusCode,detail:this.message,violations:[],details:[],error:"Validation Error",statusCode:this.statusCode};let $=this.zodError.errors.map((X)=>{let Y={field:aF(X.path),message:X.message,code:X.code};if("received"in X&&X.received!==void 0)Y.received=X.received;if("expected"in X&&X.expected!==void 0)Y.expected=X.expected;if("minimum"in X)Y.minimum=X.minimum;if("maximum"in X)Y.maximum=X.maximum;return Y}),J=this.statusCode,Q=S1(J,this.message,"Validation Error");return{type:B1("validation-error"),title:Q,status:J,detail:this.message,violations:$,details:$,error:"Validation Error",statusCode:J}}}class W${schemaCache=new WeakMap;stats={hits:0,misses:0,validations:0};async validate($,J){this.stats.validations++;try{let Q=this.schemaCache.get(J);if(!Q)this.stats.misses++,Q={schema:J,resultCache:new WeakMap},this.schemaCache.set(J,Q);else this.stats.hits++;return await Q.schema.parseAsync($)}catch(Q){if(Q instanceof L0||Q?.name==="ZodError")throw new C1(Q);throw Q}}validateSync($,J){this.stats.validations++;try{let Q=this.schemaCache.get(J);if(!Q)this.stats.misses++,Q={schema:J,resultCache:new WeakMap},this.schemaCache.set(J,Q);else this.stats.hits++;return Q.schema.parse($)}catch(Q){if(Q instanceof L0)throw new C1(Q);throw Q}}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 h2{metadata;container;validationEngine;customTypes=new Map;constructor($,J){this.metadata=$;this.container=J;this.validationEngine=new W$}build(){let $=this.metadata.getGraphQLResolvers(),J=[],Q=[],X=[],Y=[];for(let G of $){let V=this.metadata.getGraphQLFieldsByResolver(G.target);for(let U of V){let q=this.buildFieldDefinition(U);switch(U.type){case"query":J.push(q);break;case"mutation":Q.push(q);break;case"subscription":X.push(q);break}}}let W="";if(this.customTypes.size>0)W+=Array.from(this.customTypes.values()).join(`
85
85
 
86
86
  `)+`
87
87
 
@@ -99,7 +99,7 @@ ${Y.join(`
99
99
  `,W+=X.map((G)=>` ${G}`).join(`
100
100
  `),W+=`
101
101
  }
102
- `;let H=this.buildResolvers();return{typeDefs:W.trim(),resolvers:H}}buildFieldDefinition($){let J=v2($.target.prototype,$.propertyKey),Q=[];for(let H of J){if(H.name==="__context__")continue;let G="String";if(H.schema){if(G=J1(H.schema),!X$(H.schema)&&!H.nullable)G+="!"}let V=`${H.name}: ${G}`;if(H.defaultValue!==void 0)V+=` = ${JSON.stringify(H.defaultValue)}`;Q.push(V)}let X=Q.length>0?`(${Q.join(", ")})`:"",Y="String",W=`${$.name}${X}: ${Y}`;if($.deprecated){let H=$.deprecationReason||"No longer supported";W+=` @deprecated(reason: "${H}")`}return W}buildResolvers(){let $=this.metadata.getGraphQLResolvers(),J={Query:{},Mutation:{},Subscription:{}};for(let Q of $){let X=this.metadata.getGraphQLFieldsByResolver(Q.target);for(let Y of X){let W=this.createResolverFunction(Q.target,Y);switch(Y.type){case"query":J.Query[Y.name]=W;break;case"mutation":J.Mutation[Y.name]=W;break;case"subscription":J.Subscription[Y.name]=W;break}}}return J}createResolverFunction($,J){return async(Q,X,Y,W)=>{try{let H=v2($.prototype,J.propertyKey),G=[];for(let q of H)if(q.name==="__context__")G[q.index]=Y;else{let _=X[q.name];if(_===void 0&&q.defaultValue!==void 0)_=q.defaultValue;if(q.schema)_=await this.validationEngine.validate(_,q.schema);G[q.index]=_}return await(await this.container.resolve($,{scope:"request",context:Y.request}))[J.propertyKey](...G)}catch(H){throw H}}}}class g2{name="graphql";version="1.0.0";options;schema;constructor($){this.options={path:$?.path||"/graphql",playgroundPath:$?.playgroundPath||"/graphql/playground",playground:$?.playground!==!1,context:$?.context||((J)=>({request:J}))}}async install($){let J=$.getMetadata(),Q=$.getContainer(),X=new h2(J,Q);if(this.schema=X.build(),$.post(this.options.path,{handler:async(Y)=>{return this.handleGraphQLRequest(Y)},docs:{summary:"GraphQL endpoint",description:"Execute GraphQL queries and mutations",tags:["GraphQL"]}}),$.get(this.options.path,{handler:async(Y)=>{let W=Y.req.query("query"),H=Y.req.query("variables"),G=Y.req.query("operationName");if(!W)return Y.json({error:"Query parameter is required"},400);return this.executeGraphQL(Y,{query:W,variables:H?JSON.parse(H):void 0,operationName:G})},docs:{summary:"GraphQL endpoint (GET)",description:"Execute GraphQL queries via GET request",tags:["GraphQL"]}}),this.options.playground)$.get(this.options.playgroundPath,{handler:async(Y)=>{return Y.html(this.renderPlayground())},docs:{summary:"GraphQL Playground",description:"Interactive GraphQL IDE",tags:["GraphQL"]}})}async handleGraphQLRequest($){try{let J=await $.req.json();return this.executeGraphQL($,J)}catch(J){return $.json({errors:[{message:"Invalid JSON in request body",extensions:{code:"BAD_REQUEST"}}]},400)}}async executeGraphQL($,J){if(!this.schema)return $.json({errors:[{message:"GraphQL schema not initialized",extensions:{code:"INTERNAL_SERVER_ERROR"}}]},500);try{let{query:Q,variables:X,operationName:Y}=J,W=await this.options.context($),H=await this.executeOperation(Q,X,W,Y);return $.json(H)}catch(Q){return $.json({errors:[{message:Q.message||"Internal server error",extensions:{code:"INTERNAL_SERVER_ERROR",...{stack:Q.stack}}}]},500)}}async executeOperation($,J,Q,X){let Y;try{Y=await import("graphql")}catch{return{data:null,errors:[{message:'GraphQL execution requires the "graphql" package. Run: bun add graphql',extensions:{code:"NOT_IMPLEMENTED"}}]}}if(!this.schema)return{data:null,errors:[{message:"GraphQL schema not initialized",extensions:{code:"INTERNAL_SERVER_ERROR"}}]};try{let{graphql:W,buildSchema:H}=Y,G=H(this.schema.typeDefs);return await W({schema:G,source:$,rootValue:this.schema.resolvers,contextValue:Q,variableValues:J,operationName:X})}catch(W){return{data:null,errors:[{message:W.message||"GraphQL execution error",extensions:{code:"INTERNAL_SERVER_ERROR"}}]}}}renderPlayground(){return`
102
+ `;let H=this.buildResolvers();return{typeDefs:W.trim(),resolvers:H}}buildFieldDefinition($){let J=v2($.target.prototype,$.propertyKey),Q=[];for(let H of J){if(H.name==="__context__")continue;let G="String";if(H.schema){if(G=J1(H.schema),!Y$(H.schema)&&!H.nullable)G+="!"}let V=`${H.name}: ${G}`;if(H.defaultValue!==void 0)V+=` = ${JSON.stringify(H.defaultValue)}`;Q.push(V)}let X=Q.length>0?`(${Q.join(", ")})`:"",Y="String",W=`${$.name}${X}: ${Y}`;if($.deprecated){let H=$.deprecationReason||"No longer supported";W+=` @deprecated(reason: "${H}")`}return W}buildResolvers(){let $=this.metadata.getGraphQLResolvers(),J={Query:{},Mutation:{},Subscription:{}};for(let Q of $){let X=this.metadata.getGraphQLFieldsByResolver(Q.target);for(let Y of X){let W=this.createResolverFunction(Q.target,Y);switch(Y.type){case"query":J.Query[Y.name]=W;break;case"mutation":J.Mutation[Y.name]=W;break;case"subscription":J.Subscription[Y.name]=W;break}}}return J}createResolverFunction($,J){return async(Q,X,Y,W)=>{try{let H=v2($.prototype,J.propertyKey),G=[];for(let q of H)if(q.name==="__context__")G[q.index]=Y;else{let _=X[q.name];if(_===void 0&&q.defaultValue!==void 0)_=q.defaultValue;if(q.schema)_=await this.validationEngine.validate(_,q.schema);G[q.index]=_}return await(await this.container.resolve($,{scope:"request",context:Y.request}))[J.propertyKey](...G)}catch(H){throw H}}}}class g2{name="graphql";version="1.0.0";options;schema;constructor($){this.options={path:$?.path||"/graphql",playgroundPath:$?.playgroundPath||"/graphql/playground",playground:$?.playground!==!1,context:$?.context||((J)=>({request:J}))}}async install($){let J=$.getMetadata(),Q=$.getContainer(),X=new h2(J,Q);if(this.schema=X.build(),$.post(this.options.path,{handler:async(Y)=>{return this.handleGraphQLRequest(Y)},docs:{summary:"GraphQL endpoint",description:"Execute GraphQL queries and mutations",tags:["GraphQL"]}}),$.get(this.options.path,{handler:async(Y)=>{let W=Y.req.query("query"),H=Y.req.query("variables"),G=Y.req.query("operationName");if(!W)return Y.json({error:"Query parameter is required"},400);return this.executeGraphQL(Y,{query:W,variables:H?JSON.parse(H):void 0,operationName:G})},docs:{summary:"GraphQL endpoint (GET)",description:"Execute GraphQL queries via GET request",tags:["GraphQL"]}}),this.options.playground)$.get(this.options.playgroundPath,{handler:async(Y)=>{return Y.html(this.renderPlayground())},docs:{summary:"GraphQL Playground",description:"Interactive GraphQL IDE",tags:["GraphQL"]}})}async handleGraphQLRequest($){try{let J=await $.req.json();return this.executeGraphQL($,J)}catch(J){return $.json({errors:[{message:"Invalid JSON in request body",extensions:{code:"BAD_REQUEST"}}]},400)}}async executeGraphQL($,J){if(!this.schema)return $.json({errors:[{message:"GraphQL schema not initialized",extensions:{code:"INTERNAL_SERVER_ERROR"}}]},500);try{let{query:Q,variables:X,operationName:Y}=J,W=await this.options.context($),H=await this.executeOperation(Q,X,W,Y);return $.json(H)}catch(Q){return $.json({errors:[{message:Q.message||"Internal server error",extensions:{code:"INTERNAL_SERVER_ERROR",...{stack:Q.stack}}}]},500)}}async executeOperation($,J,Q,X){let Y;try{Y=await import("graphql")}catch{return{data:null,errors:[{message:'GraphQL execution requires the "graphql" package. Run: bun add graphql',extensions:{code:"NOT_IMPLEMENTED"}}]}}if(!this.schema)return{data:null,errors:[{message:"GraphQL schema not initialized",extensions:{code:"INTERNAL_SERVER_ERROR"}}]};try{let{graphql:W,buildSchema:H}=Y,G=H(this.schema.typeDefs);return await W({schema:G,source:$,rootValue:this.schema.resolvers,contextValue:Q,variableValues:J,operationName:X})}catch(W){return{data:null,errors:[{message:W.message||"GraphQL execution error",extensions:{code:"INTERNAL_SERVER_ERROR"}}]}}}renderPlayground(){return`
103
103
  <!DOCTYPE html>
104
104
  <html lang="en">
105
105
  <head>
@@ -142,16 +142,16 @@ ${Y.join(`
142
142
  </script>
143
143
  </body>
144
144
  </html>
145
- `.trim()}getSchema(){return this.schema}}function K9($,J){try{Object.defineProperty($,"name",{value:J,configurable:!0,enumerable:!1,writable:!1})}catch{$.__veloceCheckerName=J}}function y2($){let J=$;return $.name||J.__veloceCheckerName||"unknown"}class a6{name="health";version="1.0.0";options;startTime;logger=v0().child({plugin:"health"});constructor($){this.options={path:$?.path||"/health",readyPath:$?.readyPath||"/ready",livePath:$?.livePath||"/live",checks:$?.checks||[]},this.startTime=Date.now()}async install($){$.get(this.options.path,{handler:async(J)=>{return this.handleHealth(J)},docs:{summary:"Health Check",description:"Comprehensive health check endpoint",tags:["Health"]}}),$.get(this.options.readyPath,{handler:async(J)=>{return this.handleReady(J)},docs:{summary:"Readiness Check",description:"Check if the application is ready to serve traffic",tags:["Health"]}}),$.get(this.options.livePath,{handler:async(J)=>{return this.handleLive(J)},docs:{summary:"Liveness Check",description:"Check if the application is alive",tags:["Health"]}}),this.logger.info("Health check endpoints registered",{health:this.options.path,ready:this.options.readyPath,live:this.options.livePath})}async handleHealth($){let J=Date.now()-this.startTime,Q={},X=!0;for(let W of this.options.checks)try{let H=await Promise.resolve(W());if(Q[y2(W)]=H,H.status==="unhealthy")X=!1}catch(H){let G=H instanceof Error?H.message:"Unknown error";Q[y2(W)]={status:"unhealthy",message:G},X=!1}let Y={status:X?"healthy":"unhealthy",timestamp:new Date().toISOString(),uptime:J,checks:Object.keys(Q).length>0?Q:void 0};return $.json(Y,X?200:503)}async handleReady($){let J=Date.now()-this.startTime,Q=this.options.checks.filter((H)=>{let G=y2(H);return G.includes("database")||G.includes("cache")||G.includes("ready")}),X=!0,Y={};for(let H of Q)try{let G=await Promise.resolve(H());if(Y[y2(H)]=G,G.status==="unhealthy")X=!1}catch(G){X=!1;let V=G instanceof Error?G.message:"Unknown error";Y[y2(H)]={status:"unhealthy",message:V}}let W={status:X?"ready":"not_ready",timestamp:new Date().toISOString(),uptime:J,checks:Object.keys(Y).length>0?Y:void 0};return $.json(W,X?200:503)}handleLive($){let J=Date.now()-this.startTime;return $.json({status:"alive",timestamp:new Date().toISOString(),uptime:J},200)}}var I9={alwaysHealthy(){return{status:"healthy",message:"OK"}},database($){let J=async()=>{try{let Q=await Promise.resolve($());return{status:Q?"healthy":"unhealthy",message:Q?"Database connection OK":"Database connection failed"}}catch(Q){return{status:"unhealthy",message:Q instanceof Error?Q.message:"Database check failed"}}};return K9(J,"database"),J},memory($=512){let J=()=>{if(typeof process>"u"||!process.memoryUsage)return{status:"healthy",message:"Memory check not available"};let X=process.memoryUsage().heapUsed/1024/1024;return{status:X<$?"healthy":"unhealthy",message:`Heap usage: ${X.toFixed(2)}MB / ${$}MB`,heapUsedMB:X.toFixed(2),maxUsageMB:$}};return K9(J,"memory"),J},disk($=process.cwd(),J=90){let Q=async()=>{try{let{statfs:X}=await import("fs/promises");if(typeof X!=="function")return{status:"healthy",message:"statfs not available on this platform"};let Y=await X($),W=Y.blocks*Y.bsize,H=Y.bfree*Y.bsize,G=W-H,V=W>0?G/W*100:0;return{status:V<J?"healthy":"unhealthy",message:`Disk usage: ${V.toFixed(1)}% (threshold: ${J}%)`,usagePercent:parseFloat(V.toFixed(1)),freeGB:parseFloat((H/1e9).toFixed(2)),totalGB:parseFloat((W/1e9).toFixed(2)),path:$}}catch(X){return{status:"healthy",message:`Disk check unavailable: ${X instanceof Error?X.message:String(X)}`}}};return K9(Q,"disk"),Q}};var eF={};Z0(eF,{WebSocketPlugin:()=>l$,WebSocketManager:()=>m$,WebSocketConnection:()=>u$,WebSocket:()=>c9,OnMessage:()=>p9,OnDisconnect:()=>i9,OnConnect:()=>d9});module.exports=T0(eF);var uM=N1(Q$(),1);var gM=N1(Q$(),1),T9=Symbol("route:metadata"),b9=Symbol("controller:metadata"),sQ=Symbol("parameter:metadata"),oQ=Symbol("dependency:metadata"),f9=Symbol("websocket:metadata"),rQ=Symbol("websocket:handler:metadata"),k9=Symbol("graphql:resolver"),u2=Symbol("graphql:field"),x9=Symbol("auth:metadata"),v9=Symbol("oauth:metadata"),h9=Symbol("roles:metadata"),g9=Symbol("permissions:metadata"),y9=Symbol("minimum-role:metadata"),u9=Symbol("resource-permission:metadata"),m9=Symbol("session:metadata"),l9=Symbol("csrf:metadata");class S{routes=new Map;controllers=new Map;routesByController=new Map;websockets=new Map;graphqlResolvers=new Map;graphqlFields=new Map;registerRoute($){let J=this.getRouteKey($.target,$.propertyKey);if(this.routes.set(J,$),!this.routesByController.has($.target))this.routesByController.set($.target,[]);this.routesByController.get($.target).push($)}registerController($,J){this.controllers.set($,J)}getRoutes(){return Array.from(this.routes.values())}getRoute($,J){let Q=this.getRouteKey($,J);return this.routes.get(Q)}getRoutesByController($){return this.routesByController.get($)||[]}getController($){return this.controllers.get($)}getControllers(){return new Map(this.controllers)}registerWebSocket($){this.websockets.set($.target,$)}getWebSockets(){return Array.from(this.websockets.values())}getWebSocket($){return this.websockets.get($)}registerGraphQLResolver($){this.graphqlResolvers.set($.target,$)}registerGraphQLField($){let J=this.getRouteKey($.target,$.propertyKey);this.graphqlFields.set(J,$)}getGraphQLResolvers(){return Array.from(this.graphqlResolvers.values())}getGraphQLResolver($){return this.graphqlResolvers.get($)}getGraphQLFields(){return Array.from(this.graphqlFields.values())}getGraphQLFieldsByResolver($){return Array.from(this.graphqlFields.values()).filter((J)=>J.target===$)}clear(){this.routes.clear(),this.controllers.clear(),this.routesByController.clear(),this.websockets.clear(),this.graphqlResolvers.clear(),this.graphqlFields.clear()}getRouteKey($,J){return`${$.name}:${J}`}static defineRoute($,J,Q){let X=this.getRouteMetadata($,J),Y={...X,...Q,target:$.constructor,propertyKey:J,middleware:[...X?.middleware||[],...Q.middleware||[]],parameters:Q.parameters||X?.parameters||[],dependencies:Q.dependencies||X?.dependencies||[],responses:Q.responses||X?.responses||[],auth:Q.auth||X?.auth,oauth:Q.oauth||X?.oauth,roles:Q.roles||X?.roles,permissions:Q.permissions||X?.permissions,minimumRole:Q.minimumRole||X?.minimumRole,resourcePermission:Q.resourcePermission||X?.resourcePermission,session:Q.session||X?.session,csrf:Q.csrf||X?.csrf};Reflect.defineMetadata(T9,Y,$,J)}static defineParameter($,J,Q,X){let Y=this.getParameterMetadata($,J)||[];Y[Q]=X,Reflect.defineMetadata(sQ,Y,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,parameters:Y})}static defineDependency($,J,Q,X){let Y=this.getDependencyMetadata($,J)||[];Y[Q]=X,Reflect.defineMetadata(oQ,Y,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,dependencies:Y})}static defineController($,J){Reflect.defineMetadata(b9,J,$)}static getRouteMetadata($,J){return Reflect.getMetadata(T9,$,J)}static getParameterMetadata($,J){return Reflect.getMetadata(sQ,$,J)}static getDependencyMetadata($,J){return Reflect.getMetadata(oQ,$,J)}static getControllerMetadata($){return Reflect.getMetadata(b9,$)}static hasControllerMetadata($){return Reflect.hasMetadata(b9,$)}static hasRouteMetadata($,J){return Reflect.hasMetadata(T9,$,J)}static getRouteMethods($){let J=$.prototype,Q=[],X=Object.getOwnPropertyNames(J);for(let Y of X){if(Y==="constructor")continue;if(this.hasRouteMetadata(J,Y))Q.push(Y)}return Q}static defineWebSocket($,J){let X={...this.getWebSocketMetadata($),...J,target:$};Reflect.defineMetadata(f9,X,$)}static defineWebSocketHandler($,J,Q){let X=this.getWebSocketMetadata($.constructor)||{};switch(Q.type){case"connect":X.onConnect=J;break;case"message":X.onMessage=J,X.messageSchema=Q.schema;break;case"disconnect":X.onDisconnect=J;break}this.defineWebSocket($.constructor,X),Reflect.defineMetadata(rQ,Q,$,J)}static getWebSocketMetadata($){return Reflect.getMetadata(f9,$)}static getWebSocketHandlerMetadata($,J){return Reflect.getMetadata(rQ,$,J)}static hasWebSocketMetadata($){return Reflect.hasMetadata(f9,$)}static defineGraphQLResolver($,J){Reflect.defineMetadata(k9,J,$)}static defineGraphQLField($,J,Q){Reflect.defineMetadata(u2,Q,$,J);let X=this.getGraphQLFieldsMetadata($.constructor)||[];X.push(Q),Reflect.defineMetadata(u2,X,$.constructor)}static getGraphQLResolverMetadata($){return Reflect.getMetadata(k9,$)}static getGraphQLFieldsMetadata($){return Reflect.getMetadata(u2,$)||[]}static getGraphQLFieldMetadata($,J){return Reflect.getMetadata(u2,$,J)}static hasGraphQLResolverMetadata($){return Reflect.hasMetadata(k9,$)}static hasGraphQLFieldMetadata($,J){return Reflect.hasMetadata(u2,$,J)}static defineAuth($,J,Q){Reflect.defineMetadata(x9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,auth:Q})}static getAuthMetadata($,J){return Reflect.getMetadata(x9,$,J)}static hasAuthMetadata($,J){return Reflect.hasMetadata(x9,$,J)}static defineOAuth($,J,Q){Reflect.defineMetadata(v9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,oauth:Q})}static getOAuthMetadata($,J){return Reflect.getMetadata(v9,$,J)}static hasOAuthMetadata($,J){return Reflect.hasMetadata(v9,$,J)}static defineRoles($,J,Q){Reflect.defineMetadata(h9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,roles:Q})}static definePermissions($,J,Q){Reflect.defineMetadata(g9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,permissions:Q})}static defineMinimumRole($,J,Q){Reflect.defineMetadata(y9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,minimumRole:Q})}static getRolesMetadata($,J){return Reflect.getMetadata(h9,$,J)}static getPermissionsMetadata($,J){return Reflect.getMetadata(g9,$,J)}static getMinimumRoleMetadata($,J){return Reflect.getMetadata(y9,$,J)}static hasRolesMetadata($,J){return Reflect.hasMetadata(h9,$,J)}static hasPermissionsMetadata($,J){return Reflect.hasMetadata(g9,$,J)}static hasMinimumRoleMetadata($,J){return Reflect.hasMetadata(y9,$,J)}static defineResourcePermission($,J,Q){Reflect.defineMetadata(u9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,resourcePermission:Q})}static getResourcePermissionMetadata($,J){return Reflect.getMetadata(u9,$,J)}static hasResourcePermissionMetadata($,J){return Reflect.hasMetadata(u9,$,J)}static defineSession($,J,Q){Reflect.defineMetadata(m9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,session:Q})}static defineCSRF($,J,Q){Reflect.defineMetadata(l9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,csrf:Q})}static getSessionMetadata($,J){return Reflect.getMetadata(m9,$,J)}static getCSRFMetadata($,J){return Reflect.getMetadata(l9,$,J)}static hasSessionMetadata($,J){return Reflect.hasMetadata(m9,$,J)}static hasCSRFMetadata($,J){return Reflect.hasMetadata(l9,$,J)}}function c9($){return(J)=>{S.defineWebSocket(J,{path:$})}}function d9(){return($,J)=>{S.defineWebSocketHandler($,J,{type:"connect",method:J})}}function p9($){return(J,Q)=>{S.defineWebSocketHandler(J,Q,{type:"message",method:Q,schema:$})}}function i9(){return($,J)=>{S.defineWebSocketHandler($,J,{type:"disconnect",method:J})}}var $z={};Z0($z,{zodToGraphQLType:()=>J1,zodObjectToGraphQLType:()=>xQ,zodObjectToGraphQLInput:()=>vQ,isNullable:()=>X$,hasResolverMetadata:()=>fQ,hasFieldMetadata:()=>kQ,getResolverMetadata:()=>IQ,getFieldsMetadata:()=>TQ,getFieldMetadata:()=>bQ,getDefaultValue:()=>o6,getArgumentsMetadata:()=>v2,Subscription:()=>MQ,Resolver:()=>ZQ,Mutation:()=>CQ,GraphQLSubscription:()=>MQ,GraphQLSchemaBuilder:()=>h2,GraphQLQuery:()=>SQ,GraphQLPlugin:()=>g2,GraphQLMutation:()=>CQ,GraphQLCtx:()=>KQ,GQLSubscription:()=>MQ,GQLQuery:()=>SQ,GQLMutation:()=>CQ,GQLContext:()=>KQ,Arg:()=>PQ});module.exports=T0($z);var Jz={};module.exports=T0(Jz);var Qz={};Z0(Qz,{z:()=>N});module.exports=T0(Qz);var Rz={};Z0(Rz,{setupTestApp:()=>q5,mockDependency:()=>U5,createTestClient:()=>w4,createTestApp:()=>z4,clearMocks:()=>_5,TestResponse:()=>m2,TestClient:()=>W$});module.exports=T0(Rz);class m2{status;headers;body;text;ok;constructor($){this.status=$.status,this.headers=$.headers,this.body=$.body,this.text=$.text,this.ok=$.ok}async json(){return JSON.parse(this.text)}expectStatus($){if(this.status!==$)throw Error(`Expected HTTP ${$} but got ${this.status}.
145
+ `.trim()}getSchema(){return this.schema}}function K9($,J){try{Object.defineProperty($,"name",{value:J,configurable:!0,enumerable:!1,writable:!1})}catch{$.__veloceCheckerName=J}}function y2($){let J=$;return $.name||J.__veloceCheckerName||"unknown"}class a6{name="health";version="1.0.0";options;startTime;logger=v0().child({plugin:"health"});constructor($){this.options={path:$?.path||"/health",readyPath:$?.readyPath||"/ready",livePath:$?.livePath||"/live",checks:$?.checks||[]},this.startTime=Date.now()}async install($){$.get(this.options.path,{handler:async(J)=>{return this.handleHealth(J)},docs:{summary:"Health Check",description:"Comprehensive health check endpoint",tags:["Health"]}}),$.get(this.options.readyPath,{handler:async(J)=>{return this.handleReady(J)},docs:{summary:"Readiness Check",description:"Check if the application is ready to serve traffic",tags:["Health"]}}),$.get(this.options.livePath,{handler:async(J)=>{return this.handleLive(J)},docs:{summary:"Liveness Check",description:"Check if the application is alive",tags:["Health"]}}),this.logger.info("Health check endpoints registered",{health:this.options.path,ready:this.options.readyPath,live:this.options.livePath})}async handleHealth($){let J=Date.now()-this.startTime,Q={},X=!0;for(let W of this.options.checks)try{let H=await Promise.resolve(W());if(Q[y2(W)]=H,H.status==="unhealthy")X=!1}catch(H){let G=H instanceof Error?H.message:"Unknown error";Q[y2(W)]={status:"unhealthy",message:G},X=!1}let Y={status:X?"healthy":"unhealthy",timestamp:new Date().toISOString(),uptime:J,checks:Object.keys(Q).length>0?Q:void 0};return $.json(Y,X?200:503)}async handleReady($){let J=Date.now()-this.startTime,Q=this.options.checks.filter((H)=>{let G=y2(H);return G.includes("database")||G.includes("cache")||G.includes("ready")}),X=!0,Y={};for(let H of Q)try{let G=await Promise.resolve(H());if(Y[y2(H)]=G,G.status==="unhealthy")X=!1}catch(G){X=!1;let V=G instanceof Error?G.message:"Unknown error";Y[y2(H)]={status:"unhealthy",message:V}}let W={status:X?"ready":"not_ready",timestamp:new Date().toISOString(),uptime:J,checks:Object.keys(Y).length>0?Y:void 0};return $.json(W,X?200:503)}handleLive($){let J=Date.now()-this.startTime;return $.json({status:"alive",timestamp:new Date().toISOString(),uptime:J},200)}}var I9={alwaysHealthy(){return{status:"healthy",message:"OK"}},database($){let J=async()=>{try{let Q=await Promise.resolve($());return{status:Q?"healthy":"unhealthy",message:Q?"Database connection OK":"Database connection failed"}}catch(Q){return{status:"unhealthy",message:Q instanceof Error?Q.message:"Database check failed"}}};return K9(J,"database"),J},memory($=512){let J=()=>{if(typeof process>"u"||!process.memoryUsage)return{status:"healthy",message:"Memory check not available"};let X=process.memoryUsage().heapUsed/1024/1024;return{status:X<$?"healthy":"unhealthy",message:`Heap usage: ${X.toFixed(2)}MB / ${$}MB`,heapUsedMB:X.toFixed(2),maxUsageMB:$}};return K9(J,"memory"),J},disk($=process.cwd(),J=90){let Q=async()=>{try{let{statfs:X}=await import("fs/promises");if(typeof X!=="function")return{status:"healthy",message:"statfs not available on this platform"};let Y=await X($),W=Y.blocks*Y.bsize,H=Y.bfree*Y.bsize,G=W-H,V=W>0?G/W*100:0;return{status:V<J?"healthy":"unhealthy",message:`Disk usage: ${V.toFixed(1)}% (threshold: ${J}%)`,usagePercent:parseFloat(V.toFixed(1)),freeGB:parseFloat((H/1e9).toFixed(2)),totalGB:parseFloat((W/1e9).toFixed(2)),path:$}}catch(X){return{status:"healthy",message:`Disk check unavailable: ${X instanceof Error?X.message:String(X)}`}}};return K9(Q,"disk"),Q}};var eF={};Z0(eF,{WebSocketPlugin:()=>l$,WebSocketManager:()=>m$,WebSocketConnection:()=>Q$,WebSocket:()=>c9,OnMessage:()=>p9,OnDisconnect:()=>i9,OnConnect:()=>d9});module.exports=T0(eF);var uM=w1(X$(),1);var gM=w1(X$(),1),T9=Symbol("route:metadata"),b9=Symbol("controller:metadata"),sQ=Symbol("parameter:metadata"),oQ=Symbol("dependency:metadata"),f9=Symbol("websocket:metadata"),rQ=Symbol("websocket:handler:metadata"),k9=Symbol("graphql:resolver"),u2=Symbol("graphql:field"),x9=Symbol("auth:metadata"),v9=Symbol("oauth:metadata"),h9=Symbol("roles:metadata"),g9=Symbol("permissions:metadata"),y9=Symbol("minimum-role:metadata"),u9=Symbol("resource-permission:metadata"),m9=Symbol("session:metadata"),l9=Symbol("csrf:metadata");class S{routes=new Map;controllers=new Map;routesByController=new Map;websockets=new Map;graphqlResolvers=new Map;graphqlFields=new Map;registerRoute($){let J=this.getRouteKey($.target,$.propertyKey);if(this.routes.set(J,$),!this.routesByController.has($.target))this.routesByController.set($.target,[]);this.routesByController.get($.target).push($)}registerController($,J){this.controllers.set($,J)}getRoutes(){return Array.from(this.routes.values())}getRoute($,J){let Q=this.getRouteKey($,J);return this.routes.get(Q)}getRoutesByController($){return this.routesByController.get($)||[]}getController($){return this.controllers.get($)}getControllers(){return new Map(this.controllers)}registerWebSocket($){this.websockets.set($.target,$)}getWebSockets(){return Array.from(this.websockets.values())}getWebSocket($){return this.websockets.get($)}registerGraphQLResolver($){this.graphqlResolvers.set($.target,$)}registerGraphQLField($){let J=this.getRouteKey($.target,$.propertyKey);this.graphqlFields.set(J,$)}getGraphQLResolvers(){return Array.from(this.graphqlResolvers.values())}getGraphQLResolver($){return this.graphqlResolvers.get($)}getGraphQLFields(){return Array.from(this.graphqlFields.values())}getGraphQLFieldsByResolver($){return Array.from(this.graphqlFields.values()).filter((J)=>J.target===$)}clear(){this.routes.clear(),this.controllers.clear(),this.routesByController.clear(),this.websockets.clear(),this.graphqlResolvers.clear(),this.graphqlFields.clear()}getRouteKey($,J){return`${$.name}:${J}`}static defineRoute($,J,Q){let X=this.getRouteMetadata($,J),Y={...X,...Q,target:$.constructor,propertyKey:J,middleware:[...X?.middleware||[],...Q.middleware||[]],parameters:Q.parameters||X?.parameters||[],dependencies:Q.dependencies||X?.dependencies||[],responses:Q.responses||X?.responses||[],auth:Q.auth||X?.auth,oauth:Q.oauth||X?.oauth,roles:Q.roles||X?.roles,permissions:Q.permissions||X?.permissions,minimumRole:Q.minimumRole||X?.minimumRole,resourcePermission:Q.resourcePermission||X?.resourcePermission,session:Q.session||X?.session,csrf:Q.csrf||X?.csrf};Reflect.defineMetadata(T9,Y,$,J)}static defineParameter($,J,Q,X){let Y=this.getParameterMetadata($,J)||[];Y[Q]=X,Reflect.defineMetadata(sQ,Y,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,parameters:Y})}static defineDependency($,J,Q,X){let Y=this.getDependencyMetadata($,J)||[];Y[Q]=X,Reflect.defineMetadata(oQ,Y,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,dependencies:Y})}static defineController($,J){Reflect.defineMetadata(b9,J,$)}static getRouteMetadata($,J){return Reflect.getMetadata(T9,$,J)}static getParameterMetadata($,J){return Reflect.getMetadata(sQ,$,J)}static getDependencyMetadata($,J){return Reflect.getMetadata(oQ,$,J)}static getControllerMetadata($){return Reflect.getMetadata(b9,$)}static hasControllerMetadata($){return Reflect.hasMetadata(b9,$)}static hasRouteMetadata($,J){return Reflect.hasMetadata(T9,$,J)}static getRouteMethods($){let J=$.prototype,Q=[],X=Object.getOwnPropertyNames(J);for(let Y of X){if(Y==="constructor")continue;if(this.hasRouteMetadata(J,Y))Q.push(Y)}return Q}static defineWebSocket($,J){let X={...this.getWebSocketMetadata($),...J,target:$};Reflect.defineMetadata(f9,X,$)}static defineWebSocketHandler($,J,Q){let X=this.getWebSocketMetadata($.constructor)||{};switch(Q.type){case"connect":X.onConnect=J;break;case"message":X.onMessage=J,X.messageSchema=Q.schema;break;case"disconnect":X.onDisconnect=J;break}this.defineWebSocket($.constructor,X),Reflect.defineMetadata(rQ,Q,$,J)}static getWebSocketMetadata($){return Reflect.getMetadata(f9,$)}static getWebSocketHandlerMetadata($,J){return Reflect.getMetadata(rQ,$,J)}static hasWebSocketMetadata($){return Reflect.hasMetadata(f9,$)}static defineGraphQLResolver($,J){Reflect.defineMetadata(k9,J,$)}static defineGraphQLField($,J,Q){Reflect.defineMetadata(u2,Q,$,J);let X=this.getGraphQLFieldsMetadata($.constructor)||[];X.push(Q),Reflect.defineMetadata(u2,X,$.constructor)}static getGraphQLResolverMetadata($){return Reflect.getMetadata(k9,$)}static getGraphQLFieldsMetadata($){return Reflect.getMetadata(u2,$)||[]}static getGraphQLFieldMetadata($,J){return Reflect.getMetadata(u2,$,J)}static hasGraphQLResolverMetadata($){return Reflect.hasMetadata(k9,$)}static hasGraphQLFieldMetadata($,J){return Reflect.hasMetadata(u2,$,J)}static defineAuth($,J,Q){Reflect.defineMetadata(x9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,auth:Q})}static getAuthMetadata($,J){return Reflect.getMetadata(x9,$,J)}static hasAuthMetadata($,J){return Reflect.hasMetadata(x9,$,J)}static defineOAuth($,J,Q){Reflect.defineMetadata(v9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,oauth:Q})}static getOAuthMetadata($,J){return Reflect.getMetadata(v9,$,J)}static hasOAuthMetadata($,J){return Reflect.hasMetadata(v9,$,J)}static defineRoles($,J,Q){Reflect.defineMetadata(h9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,roles:Q})}static definePermissions($,J,Q){Reflect.defineMetadata(g9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,permissions:Q})}static defineMinimumRole($,J,Q){Reflect.defineMetadata(y9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,minimumRole:Q})}static getRolesMetadata($,J){return Reflect.getMetadata(h9,$,J)}static getPermissionsMetadata($,J){return Reflect.getMetadata(g9,$,J)}static getMinimumRoleMetadata($,J){return Reflect.getMetadata(y9,$,J)}static hasRolesMetadata($,J){return Reflect.hasMetadata(h9,$,J)}static hasPermissionsMetadata($,J){return Reflect.hasMetadata(g9,$,J)}static hasMinimumRoleMetadata($,J){return Reflect.hasMetadata(y9,$,J)}static defineResourcePermission($,J,Q){Reflect.defineMetadata(u9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,resourcePermission:Q})}static getResourcePermissionMetadata($,J){return Reflect.getMetadata(u9,$,J)}static hasResourcePermissionMetadata($,J){return Reflect.hasMetadata(u9,$,J)}static defineSession($,J,Q){Reflect.defineMetadata(m9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,session:Q})}static defineCSRF($,J,Q){Reflect.defineMetadata(l9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,csrf:Q})}static getSessionMetadata($,J){return Reflect.getMetadata(m9,$,J)}static getCSRFMetadata($,J){return Reflect.getMetadata(l9,$,J)}static hasSessionMetadata($,J){return Reflect.hasMetadata(m9,$,J)}static hasCSRFMetadata($,J){return Reflect.hasMetadata(l9,$,J)}}function c9($){return(J)=>{S.defineWebSocket(J,{path:$})}}function d9(){return($,J)=>{S.defineWebSocketHandler($,J,{type:"connect",method:J})}}function p9($){return(J,Q)=>{S.defineWebSocketHandler(J,Q,{type:"message",method:Q,schema:$})}}function i9(){return($,J)=>{S.defineWebSocketHandler($,J,{type:"disconnect",method:J})}}var $z={};Z0($z,{zodToGraphQLType:()=>J1,zodObjectToGraphQLType:()=>xQ,zodObjectToGraphQLInput:()=>vQ,isNullable:()=>Y$,hasResolverMetadata:()=>fQ,hasFieldMetadata:()=>kQ,getResolverMetadata:()=>IQ,getFieldsMetadata:()=>TQ,getFieldMetadata:()=>bQ,getDefaultValue:()=>o6,getArgumentsMetadata:()=>v2,Subscription:()=>MQ,Resolver:()=>ZQ,Mutation:()=>CQ,GraphQLSubscription:()=>MQ,GraphQLSchemaBuilder:()=>h2,GraphQLQuery:()=>SQ,GraphQLPlugin:()=>g2,GraphQLMutation:()=>CQ,GraphQLCtx:()=>KQ,GQLSubscription:()=>MQ,GQLQuery:()=>SQ,GQLMutation:()=>CQ,GQLContext:()=>KQ,Arg:()=>PQ});module.exports=T0($z);var Jz={};module.exports=T0(Jz);var Qz={};Z0(Qz,{z:()=>w});module.exports=T0(Qz);var Rz={};Z0(Rz,{setupTestApp:()=>q5,mockDependency:()=>U5,createTestClient:()=>N4,createTestApp:()=>z4,clearMocks:()=>_5,TestResponse:()=>m2,TestClient:()=>H$});module.exports=T0(Rz);class m2{status;headers;body;text;ok;constructor($){this.status=$.status,this.headers=$.headers,this.body=$.body,this.text=$.text,this.ok=$.ok}async json(){return JSON.parse(this.text)}expectStatus($){if(this.status!==$)throw Error(`Expected HTTP ${$} but got ${this.status}.
146
146
  Body: ${this.text}`);return this}expectJson($){let J=this.body;if(typeof J!=="object"||J===null)throw Error(`Expected JSON body but got: ${this.text}`);for(let[Q,X]of Object.entries($)){let Y=J[Q];if(!(typeof X==="object"&&X!==null?JSON.stringify(Y)===JSON.stringify(X):Y===X))throw Error(`Expected body.${Q} = ${JSON.stringify(X)}, got ${JSON.stringify(Y)}.
147
147
  Full body: ${this.text}`)}return this}expectField($,J){let Q=this.body;if(typeof Q!=="object"||Q===null||!($ in Q))throw Error(`Expected field "${$}" in body.
148
- Body: ${this.text}`);if(J!==void 0){let X=Q[$];if(X!==J)throw Error(`Expected body.${$} = ${JSON.stringify(J)}, got ${JSON.stringify(X)}`)}return this}expectHeader($,J){let Q=this.headers.get($);if(Q===null)throw Error(`Expected response header "${$}" to be present`);if(J!==void 0&&Q!==J)throw Error(`Expected header "${$}" = "${J}", got "${Q}"`);return this}expectArrayLength($){if(!Array.isArray(this.body))throw Error(`Expected array body but got: ${typeof this.body}`);if(this.body.length!==$)throw Error(`Expected array length ${$} but got ${this.body.length}`);return this}expectOk(){return this.expectStatus(200)}expectCreated(){return this.expectStatus(201)}expectNoContent(){return this.expectStatus(204)}expectBadRequest(){return this.expectStatus(400)}expectUnauthorized(){return this.expectStatus(401)}expectForbidden(){return this.expectStatus(403)}expectNotFound(){return this.expectStatus(404)}expectUnprocessable(){return this.expectStatus(422)}}class W${hono;defaultHeaders={};constructor($){this.hono=$.getHono()}withToken($){let J=this._clone();return J.defaultHeaders.Authorization=`Bearer ${$}`,J}withHeaders($){let J=this._clone();return J.defaultHeaders={...J.defaultHeaders,...$},J}async loginAs($,J="/auth/login"){let Q=await this.post(J,{json:$});if(Q.status>=400)throw Error(`loginAs failed — server returned HTTP ${Q.status}.
148
+ Body: ${this.text}`);if(J!==void 0){let X=Q[$];if(X!==J)throw Error(`Expected body.${$} = ${JSON.stringify(J)}, got ${JSON.stringify(X)}`)}return this}expectHeader($,J){let Q=this.headers.get($);if(Q===null)throw Error(`Expected response header "${$}" to be present`);if(J!==void 0&&Q!==J)throw Error(`Expected header "${$}" = "${J}", got "${Q}"`);return this}expectArrayLength($){if(!Array.isArray(this.body))throw Error(`Expected array body but got: ${typeof this.body}`);if(this.body.length!==$)throw Error(`Expected array length ${$} but got ${this.body.length}`);return this}expectOk(){return this.expectStatus(200)}expectCreated(){return this.expectStatus(201)}expectNoContent(){return this.expectStatus(204)}expectBadRequest(){return this.expectStatus(400)}expectUnauthorized(){return this.expectStatus(401)}expectForbidden(){return this.expectStatus(403)}expectNotFound(){return this.expectStatus(404)}expectUnprocessable(){return this.expectStatus(422)}}class H${hono;defaultHeaders={};constructor($){this.hono=$.getHono()}withToken($){let J=this._clone();return J.defaultHeaders.Authorization=`Bearer ${$}`,J}withHeaders($){let J=this._clone();return J.defaultHeaders={...J.defaultHeaders,...$},J}async loginAs($,J="/auth/login"){let Q=await this.post(J,{json:$});if(Q.status>=400)throw Error(`loginAs failed — server returned HTTP ${Q.status}.
149
149
  Body: ${Q.text}`);let X=Q.body,Y=X?.tokens?.accessToken??X?.accessToken??X?.token??"";if(!Y)throw Error(`loginAs: could not extract token from response.
150
150
  Body: ${Q.text}`);return this.defaultHeaders.Authorization=`Bearer ${Y}`,Y}async registerAndLogin($,J={}){let Q=J.register??"/auth/register",X=J.login??"/auth/login",Y=await this.post(Q,{json:$});if(Y.status>=400&&Y.status!==409)throw Error(`registerAndLogin: registration failed — HTTP ${Y.status}.
151
- Body: ${Y.text}`);let W={};if($.username)W.username=$.username;if($.email)W.email=$.email;return W.password=$.password,this.loginAs(W,X)}clearAuth(){return delete this.defaultHeaders.Authorization,this}async get($,J){return this.request("GET",$,J)}async post($,J){return this.request("POST",$,J)}async put($,J){return this.request("PUT",$,J)}async patch($,J){return this.request("PATCH",$,J)}async delete($,J){return this.request("DELETE",$,J)}async request($,J,Q){let X=this._buildUrl(J,Q?.query),Y={method:$,headers:this._buildHeaders(Q)};if(Q?.body!==void 0)Y.body=Q.body;else if(Q?.json!==void 0)Y.body=JSON.stringify(Q.json);let W=await this.hono.request(X,Y),H=await W.text(),G;try{G=JSON.parse(H)}catch{G=H}return new m2({status:W.status,headers:W.headers,body:G,text:H,ok:W.ok})}_buildUrl($,J){if(!J||Object.keys(J).length===0)return $;return`${$}?${new URLSearchParams(J).toString()}`}_buildHeaders($){let J={...this.defaultHeaders,...$?.headers};if($?.json!==void 0&&!J["Content-Type"])J["Content-Type"]="application/json";return J}_clone(){let $=Object.create(W$.prototype);return $.hono=this.hono,$.defaultHeaders={...this.defaultHeaders},$}}xX();class s2{singletons=new Map;requestScoped=new WeakMap;providers=new Map;resolutionStack=new Set;providerNameCache=new WeakMap;stats={singletonHits:0,singletonMisses:0,requestHits:0,requestMisses:0,transientCreations:0};register($,J){this.providers.set($,J||{scope:"transient"})}async resolve($,J){let Q=this.providers.get($)||{scope:J?.scope||"transient"},X=J?.scope||Q.scope||"transient";if(X==="singleton"){if(this.singletons.has($))return this.stats.singletonHits++,this.singletons.get($);if(this.stats.singletonMisses++,this.resolutionStack.has($))throw Error(`Circular dependency detected: ${this.buildCircularDependencyMessage($)}`);this.resolutionStack.add($);try{let Y=await this.create($,Q,J?.context);return this.singletons.set($,Y),Y}finally{this.resolutionStack.delete($)}}if(X==="request"&&!J?.context)throw Error(`Cannot resolve request-scoped provider "${this.getProviderName($)}" without a request context. Pass { context } in the resolve options.`);if(X==="request"&&J?.context){let Y=this.requestScoped.get(J.context);if(Y?.has($))return this.stats.requestHits++,Y.get($);if(this.stats.requestMisses++,!Y)Y=new Map,this.requestScoped.set(J.context,Y);if(this.resolutionStack.has($))throw Error(`Circular dependency detected: ${this.buildCircularDependencyMessage($)}`);this.resolutionStack.add($);try{let W=await this.create($,Q,J.context);return Y.set($,W),W}finally{this.resolutionStack.delete($)}}if(this.stats.transientCreations++,this.resolutionStack.has($))throw Error(`Circular dependency detected: ${this.buildCircularDependencyMessage($)}`);this.resolutionStack.add($);try{return await this.create($,Q,J?.context)}finally{this.resolutionStack.delete($)}}buildCircularDependencyMessage($){let J=Array.from(this.resolutionStack),Q=this.getProviderName($);return J.map((Y)=>this.getProviderName(Y)).join(" -> ")+" -> "+Q}async create($,J,Q){if(J.factory)return J.factory();if(typeof $==="function")if($.prototype&&$.prototype.constructor===$){let X=S.getDependencyMetadata($.prototype,"constructor"),Y;if(X&&X.length>0){let W=[];for(let H of X){if(!H)continue;W[H.index]=await this.resolve(H.provider,{scope:H.scope,context:Q})}Y=new $(...W)}else Y=new $;return Y}else{let X=$();return X instanceof Promise?await X:X}throw Error("Invalid provider type")}async resolveNestedDependencies($,J){}getProviderName($){if(typeof $==="string")return $;else if(typeof $==="symbol")return $.toString();let J=this.providerNameCache.get($);if(J)return J;let Q;if(typeof $==="function")if($.name)Q=$.name;else Q=$.toString().substring(0,50);else Q=String($);if(typeof $==="object"||typeof $==="function")this.providerNameCache.set($,Q);return Q}clear(){this.singletons.clear(),this.providers.clear(),this.resolutionStack.clear(),this.providerNameCache=new WeakMap,this.resetStats()}clearRequestScope($){this.requestScoped.delete($)}getStats(){let $=this.stats.singletonHits+this.stats.singletonMisses,J=$>0?this.stats.singletonHits/$*100:0,Q=this.stats.requestHits+this.stats.requestMisses,X=Q>0?this.stats.requestHits/Q*100:0;return{singletonHits:this.stats.singletonHits,singletonMisses:this.stats.singletonMisses,singletonHitRate:Math.round(J*100)/100,requestHits:this.stats.requestHits,requestMisses:this.stats.requestMisses,requestHitRate:Math.round(X*100)/100,transientCreations:this.stats.transientCreations}}resetStats(){this.stats={singletonHits:0,singletonMisses:0,requestHits:0,requestMisses:0,transientCreations:0}}}G$();var hX=/^[\w!#$%&'*.^`|~+-]+$/,Ez=/^[ !#-:<-[\]-~]*$/,vX=($)=>{let J=0,Q=$.length;while(J<Q){let X=$.charCodeAt(J);if(X!==32&&X!==9)break;J++}while(Q>J){let X=$.charCodeAt(Q-1);if(X!==32&&X!==9)break;Q--}return J===0&&Q===$.length?$:$.slice(J,Q)},H5=($,J)=>{if(J&&$.indexOf(J)===-1)return{};let Q=$.split(";"),X={};for(let Y of Q){let W=Y.indexOf("=");if(W===-1)continue;let H=vX(Y.substring(0,W));if(J&&J!==H||!hX.test(H))continue;let G=vX(Y.substring(W+1));if(G.startsWith('"')&&G.endsWith('"'))G=G.slice(1,-1);if(Ez.test(G)){if(X[H]=G.indexOf("%")!==-1?s$(G,l2):G,J)break}}return X};var Lz=($,J,Q={})=>{if(!hX.test($))throw Error("Invalid cookie name");let X=`${$}=${J}`;if($.startsWith("__Secure-")&&!Q.secure)throw Error("__Secure- Cookie must have Secure attributes");if($.startsWith("__Host-")){if(!Q.secure)throw Error("__Host- Cookie must have Secure attributes");if(Q.path!=="/")throw Error('__Host- Cookie must have Path attributes with "/"');if(Q.domain)throw Error("__Host- Cookie must not have Domain attributes")}for(let Y of["domain","path"])if(Q[Y]&&/[;\r\n]/.test(Q[Y]))throw Error(`${Y} must not contain ";", "\\r", or "\\n"`);if(Q&&typeof Q.maxAge==="number"&&Q.maxAge>=0){if(Q.maxAge>34560000)throw Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");X+=`; Max-Age=${Q.maxAge|0}`}if(Q.domain&&Q.prefix!=="host")X+=`; Domain=${Q.domain}`;if(Q.path)X+=`; Path=${Q.path}`;if(Q.expires){if(Q.expires.getTime()-Date.now()>34560000000)throw Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");X+=`; Expires=${Q.expires.toUTCString()}`}if(Q.httpOnly)X+="; HttpOnly";if(Q.secure)X+="; Secure";if(Q.sameSite)X+=`; SameSite=${Q.sameSite.charAt(0).toUpperCase()+Q.sameSite.slice(1)}`;if(Q.priority)X+=`; Priority=${Q.priority.charAt(0).toUpperCase()+Q.priority.slice(1)}`;if(Q.partitioned){if(!Q.secure)throw Error("Partitioned Cookie must have Secure attributes");X+="; Partitioned"}return X},H4=($,J,Q)=>{return J=encodeURIComponent(J),Lz($,J,Q)};var G4=($,J,Q)=>{let X=$.req.raw.headers.get("Cookie");if(typeof J==="string"){if(!X)return;let W=J;if(Q==="secure")W="__Secure-"+J;else if(Q==="host")W="__Host-"+J;return H5(X,W)[W]}if(!X)return{};return H5(X)};var Oz=($,J,Q)=>{let X;if(Q?.prefix==="secure")X=H4("__Secure-"+$,J,{path:"/",...Q,secure:!0});else if(Q?.prefix==="host")X=H4("__Host-"+$,J,{...Q,path:"/",secure:!0,domain:void 0});else X=H4($,J,{path:"/",...Q});return X},V4=($,J,Q,X)=>{let Y=Oz(J,Q,X);$.header("Set-Cookie",Y,{append:!0})};class G5{static json($,J=200,Q){return new U4($,J,Q)}static html($,J=200){return new q4($,J)}static file($,J){return new D4($,J)}static stream($,J){return new B4($,J)}static redirect($,J=302){return new _4($,J)}}class U4{data;status;headers;constructor($,J=200,Q={}){this.data=$;this.status=J;this.headers=Q}toHonoResponse($){return $.json(this.data,this.status,this.headers)}}class q4{content;status;constructor($,J=200){this.content=$;this.status=J}toHonoResponse($){return $.html(this.content,this.status)}}class _4{url;status;constructor($,J=302){this.url=$;this.status=J}toHonoResponse($){return $.redirect(this.url,this.status)}}class D4{path;options;constructor($,J){this.path=$;this.options=J}async toHonoResponse($){try{let J=typeof Bun<"u"?Bun.file(this.path):await this.readFileNode(this.path),X={"Content-Type":this.options?.contentType||this.guessContentType(this.path)};if(this.options?.download||this.options?.filename){let W=(this.options?.filename||this.path.split("/").pop()||"download").replace(/[/\\]/g,"").replace(/["]/g,"'").replace(/[\r\n]/g,""),H=this.options?.download?"attachment":"inline";X["Content-Disposition"]=`${H}; filename="${W}"`}if(typeof Bun<"u"&&J instanceof Blob)return $.body(J,200,X);else return $.body(J,200,X)}catch(J){return $.json({error:"File not found",message:J instanceof Error?J.message:"Unknown error"},404)}}async readFileNode($){throw Error("File reading in Node.js requires fs module - use Bun runtime or implement adapter")}guessContentType($){let J=$.split(".").pop()?.toLowerCase();return{html:"text/html",css:"text/css",js:"application/javascript",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",svg:"image/svg+xml",pdf:"application/pdf",txt:"text/plain",xml:"application/xml"}[J||""]||"application/octet-stream"}}class B4{stream;options;constructor($,J){this.stream=$;this.options=J}toHonoResponse($){let J={"Content-Type":this.options?.contentType||"application/octet-stream",...this.options?.headers};return $.body(this.stream,200,J)}}class F4{static serialize($,J){if(J===null||J===void 0)return $.body(null,204);if(typeof globalThis.Response<"u"&&J instanceof globalThis.Response)return J;if(J instanceof G5)return J;if(J instanceof U4)return J.toHonoResponse($);if(J instanceof q4)return J.toHonoResponse($);if(J instanceof D4)return J.toHonoResponse($);if(J instanceof B4)return J.toHonoResponse($);if(J instanceof _4)return J.toHonoResponse($);if(J&&typeof J.toHonoResponse==="function")return J.toHonoResponse($);return $.json(J)}}class M1{static cache=new Map;static snapshotCache=new Map;static clearCache(){this.cache.clear(),this.snapshotCache.clear()}static snapshot($){let J=$.handler;return JSON.stringify({method:$.method,path:$.path,params:$.parameters?.map((Q)=>({i:Q.index,t:Q.type,n:Q.name})),deps:$.dependencies?.map((Q)=>({i:Q.index})),handlerId:J?M1.handlerIds.get(J)??M1.assignHandlerId(J):null})}static handlerIds=new WeakMap;static nextHandlerId=0;static assignHandlerId($){let J=++M1.nextHandlerId;return M1.handlerIds.set($,J),J}static compile($){let J=`${$.target?.name??"anon"}:${$.propertyKey}`,Q=this.snapshot($),X=this.cache.get(J);if(X&&this.snapshotCache.get(J)===Q)return X;let Y=this.compilePathRegex($.path),W=this.resolveParameterOrder($.parameters),H=this.resolveDependencyOrder($.dependencies),G=this.calculateMaxArgumentIndex($.parameters,$.dependencies),V=this.computeParameterFlags($.parameters,$.dependencies),U={...$,pathRegex:Y,parameterOrder:W,dependencyOrder:H,maxArgumentIndex:G,...V};return this.cache.set(J,U),this.snapshotCache.set(J,Q),U}static compilePathRegex($){let J=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return J=J.replace(/\\\{([^}]+)\\\}/g,"(?<$1>[^/]+)"),J=J.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"(?<$1>[^/]+)"),J=`^${J}$`,new RegExp(J)}static resolveParameterOrder($){if(!$||$.length===0)return[];return $.map((J)=>J.index).filter((J)=>J!==void 0).sort((J,Q)=>J-Q)}static resolveDependencyOrder($){if(!$||$.length===0)return[];return $.map((J)=>J.index).filter((J)=>J!==void 0).sort((J,Q)=>J-Q)}static calculateMaxArgumentIndex($,J){let Q=-1;if($&&$.length>0){let X=Math.max(...$.map((Y)=>Y.index));Q=Math.max(Q,X)}if(J&&J.length>0){let X=Math.max(...J.map((Y)=>Y.index));Q=Math.max(Q,X)}return Q}static computeParameterFlags($,J){let Q=!!(J&&J.length>0);if(!$||$.length===0)return{hasBody:!1,hasQuery:!1,hasParams:!1,hasHeaders:!1,hasCookies:!1,hasDependencies:Q};return{hasBody:$.some((X)=>X.type==="body"),hasQuery:$.some((X)=>X.type==="query"),hasParams:$.some((X)=>X.type==="param"),hasHeaders:$.some((X)=>X.type==="header"),hasCookies:$.some((X)=>X.type==="cookie"),hasDependencies:Q}}static compileAll($){return $.map((J)=>this.compile(J))}}n$();class r2{app;metadata;container;validator;errorHandler;compiledRoutes=new Map;constructor($,J,Q,X,Y){this.app=$;this.metadata=J;this.container=Q;this.validator=X;this.errorHandler=Y}compile(){let $=this.metadata.getRoutes(),J=M1.compileAll($);for(let Q of J){let X=`${Q.target.name}:${Q.propertyKey}`;this.compiledRoutes.set(X,Q);let Y=this.createHandler(Q),W=this.normalizePath(Q.path),H=Q.method.toLowerCase();if(Q.middleware&&Q.middleware.length>0)this.app[H](W,...Q.middleware,Y);else this.app[H](W,Y)}}normalizePath($){if(!$.startsWith("/"))$="/"+$;if($=$.replace(/\{([^}]+)\}/g,":$1"),$.length>1&&$.endsWith("/"))$=$.slice(0,-1);return $}createHandler($){return async(J)=>{try{J.set("routeMetadata",$);let Q=$.cache,X=null,Y=null;if(Q){let{CacheManager:q}=await Promise.resolve().then(() => (C2(),z9)),{parseTTL:_}=await Promise.resolve().then(() => U9);Y=q;let F=J.req.param(),B=Q.includeQuery?J.req.query():void 0;X=q.generateKey($.method,$.path,F,B,Q);let D=await q.get(X,Q.store);if(D!==null)return J.header("X-Cache","HIT"),this.serializeResponse(J,D);J.header("X-Cache","MISS")}let W=await this.extractParameters(J,$.parameters),H=await this.resolveDependencies(J,$.dependencies),G=this.mergeArguments(W,H,$.parameters,$.maxArgumentIndex),V;if($.handler)V=await $.handler(J,...G);else{let q=await this.container.resolve($.target,{scope:"transient",context:J});if(typeof q[$.propertyKey]!=="function")throw Error(`Method ${$.propertyKey} not found on controller ${$.target.name}`);V=await q[$.propertyKey](...G)}if(Q&&X&&Y){if(!Q.condition||Q.condition(V)){let{parseTTL:q}=await Promise.resolve().then(() => U9),_=q(Q.ttl);await Y.set(X,V,_,Q.store)}}let U=$.cacheInvalidate;if(U&&Array.isArray(U)){if(!Y){let{CacheManager:_}=await Promise.resolve().then(() => (C2(),z9));Y=_}let q=J.req.param();for(let _ of U){let F=_;if(q)for(let[B,D]of Object.entries(q))F=F.replace(`{${B}}`,String(D));await Y.invalidate(F)}}if($.responseSchema)try{V=await $.responseSchema.parseAsync(V)}catch{}if($.statusCode)J.status($.statusCode);return this.serializeResponse(J,V)}catch(Q){return await this.handleError(J,Q)}}}serializeResponse($,J){return F4.serialize($,J)}getRouteMetadataForContext($){return $.get("routeMetadata")||null}isAuthRequired($){if($.auth?.required)return!0;return $.parameters.some((J)=>J.type==="current-user")}async handleError($,J){return await this.errorHandler.handle(J,$)}async extractParameters($,J){let Q=[];for(let X of J){if(!X)continue;let Y;switch(X.type){case"body":try{Y=await $.req.json()}catch(U){Y=null}break;case"query":if(X.name)Y=$.req.query(X.name);else Y=$.req.query();if(X.schema&&Y!==void 0)try{Y=X.schema.parse(Y)}catch(U){throw new r6(`Invalid query parameter: ${U}`)}break;case"param":if(X.name)Y=$.req.param(X.name);else Y=$.req.param();break;case"header":if(X.name)Y=$.req.header(X.name);else{let U={};$.req.raw.headers.forEach((q,_)=>{U[_]=q}),Y=U}break;case"cookie":if(X.name)Y=G4($,X.name);else{let U=$.req.header("cookie");if(U)Y=Object.fromEntries(U.split(";").map((q)=>{let[_,...F]=q.trim().split("=");return[_,F.join("=")]}));else Y={}}break;case"request":Y=$.req;break;case"response":case"context":Y=$;break;case"current-user":Y=$.get("auth.user")||null;let W=this.getRouteMetadataForContext($);if(W&&this.isAuthRequired(W)){if(!Y){let U=$.get("auth.error")||"Authentication required",{AuthenticationException:q}=await Promise.resolve().then(() => (h1(),gX));throw new q(U)}}break;case"token":Y=$.get("auth.token")||null;break;case"oauth-user":Y=$.get("oauth.user")||null;break;case"oauth-token":Y=$.get("oauth.token")||null;break;case"current-session":Y=$.get("session")||null;break;case"session-data":let H=$.get("session");if(H&&X.metadata?.key)Y=H.data[X.metadata.key];else if(H)Y=H.data;else Y=null;break;case"csrf-token":Y=$.get("csrf.token")||null;break;case"filtered-resource":Y=$.get("filtered.resource")||null;break;case"filtered-attributes":Y=$.get("filtered.attributes")||[];break;case"request-id":let{getRequestId:G}=await Promise.resolve().then(() => D8);Y=G($);break;case"abort-signal":let{getAbortSignal:V}=await Promise.resolve().then(() => D8);Y=V($);break;default:Y=void 0}if(X.schema)try{Y=await this.validator.validate(Y,X.schema)}catch(W){throw W}Q[X.index]=Y}return Q}mergeArguments($,J,Q,X){let W=Q.filter((U)=>U!==void 0&&U.index!==void 0).map((U)=>U.index),H=W.length>0?Math.max(...W):-1,G=X!==void 0&&X>=0?X:Math.max(H,$.length-1,J.length-1,0);if(!Number.isFinite(G)||G<0)G=0;let V=Array(G+1);for(let U=0;U<=G;U++)if($[U]!==void 0)V[U]=$[U];else if(J[U]!==void 0)V[U]=J[U];return V}async resolveDependencies($,J){let Q=[];for(let X of J){if(!X)continue;try{let Y=await this.container.resolve(X.provider,{scope:X.scope,context:$});Q[X.index]=Y}catch(Y){throw Error(`Failed to resolve dependency at index ${X.index}: ${Y instanceof Error?Y.message:"Unknown error"}`)}}return Q}}n$();i$();class a2{customHandler;isDevelopment;format;constructor($,J){this.customHandler=$,this.format=J?.errorResponseFormat??"rfc9457",this.isDevelopment=J?.forceDevelopment!==void 0?J.forceDevelopment:typeof process<"u"&&!0}setCustomHandler($){this.customHandler=$}getFormat(){return this.format}setErrorResponseFormat($){this.format=$}async handle($,J){if(this.customHandler)try{let Q=await this.customHandler($,J);return j1(J,Q)}catch(Q){if(this.isDevelopment)console.error("Custom error handler failed:",Q)}if($ instanceof C1)return j1(J,this.handleValidationException($,J));if($.name==="ZodError"&&Array.isArray($.issues)){let Q=new C1($);return j1(J,this.handleValidationException(Q,J))}if($ instanceof j0)return j1(J,this.handleHTTPException($,J));return j1(J,this.handleGenericError($,J))}handleValidationException($,J){let Q=$.toJSON();if(this.isDevelopment)console.error("Validation Error:",{path:J.req.path,method:J.req.method,violations:Q.violations??Q.details});return p$(J,Q,$.statusCode,this.format)}handleHTTPException($,J){if($.statusCode>=500){let X={name:$.name,statusCode:$.statusCode,message:$.message,path:J.req.path,method:J.req.method,...this.isDevelopment&&$.stack?{stack:$.stack}:{}};try{v0().error("HTTP Server Error",$,X)}catch{console.error("HTTP Exception:",X)}}else if(this.isDevelopment){let X={name:$.name,statusCode:$.statusCode,message:$.message,path:J.req.path,method:J.req.method};try{v0().warn("HTTP Client Error",X)}catch{console.warn("HTTP Exception:",X)}}let Q=$.toJSON();return p$(J,Q,$.statusCode,this.format)}handleGenericError($,J){let Q={name:$.name,message:$.message,path:J.req.path,method:J.req.method,stack:$.stack};try{v0().error("Internal Server Error",$,Q)}catch{console.error("Internal Server Error:",Q)}let X=500,Y=this.isDevelopment?$.message:"An unexpected error occurred.",W={type:d$(X),title:S1(X,$.message,"Internal Server Error"),status:X,detail:Y,error:Y,statusCode:X};if(this.isDevelopment)W.debug={name:$.name,message:$.message,stack:$.stack?$.stack.split(`
151
+ Body: ${Y.text}`);let W={};if($.username)W.username=$.username;if($.email)W.email=$.email;return W.password=$.password,this.loginAs(W,X)}clearAuth(){return delete this.defaultHeaders.Authorization,this}async get($,J){return this.request("GET",$,J)}async post($,J){return this.request("POST",$,J)}async put($,J){return this.request("PUT",$,J)}async patch($,J){return this.request("PATCH",$,J)}async delete($,J){return this.request("DELETE",$,J)}async request($,J,Q){let X=this._buildUrl(J,Q?.query),Y={method:$,headers:this._buildHeaders(Q)};if(Q?.body!==void 0)Y.body=Q.body;else if(Q?.json!==void 0)Y.body=JSON.stringify(Q.json);let W=await this.hono.request(X,Y),H=await W.text(),G;try{G=JSON.parse(H)}catch{G=H}return new m2({status:W.status,headers:W.headers,body:G,text:H,ok:W.ok})}_buildUrl($,J){if(!J||Object.keys(J).length===0)return $;return`${$}?${new URLSearchParams(J).toString()}`}_buildHeaders($){let J={...this.defaultHeaders,...$?.headers};if($?.json!==void 0&&!J["Content-Type"])J["Content-Type"]="application/json";return J}_clone(){let $=Object.create(H$.prototype);return $.hono=this.hono,$.defaultHeaders={...this.defaultHeaders},$}}xX();class s2{singletons=new Map;requestScoped=new WeakMap;providers=new Map;resolutionStack=new Set;providerNameCache=new WeakMap;stats={singletonHits:0,singletonMisses:0,requestHits:0,requestMisses:0,transientCreations:0};register($,J){this.providers.set($,J||{scope:"transient"})}async resolve($,J){let Q=this.providers.get($)||{scope:J?.scope||"transient"},X=J?.scope||Q.scope||"transient";if(X==="singleton"){if(this.singletons.has($))return this.stats.singletonHits++,this.singletons.get($);if(this.stats.singletonMisses++,this.resolutionStack.has($))throw Error(`Circular dependency detected: ${this.buildCircularDependencyMessage($)}`);this.resolutionStack.add($);try{let Y=await this.create($,Q,J?.context);return this.singletons.set($,Y),Y}finally{this.resolutionStack.delete($)}}if(X==="request"&&!J?.context)throw Error(`Cannot resolve request-scoped provider "${this.getProviderName($)}" without a request context. Pass { context } in the resolve options.`);if(X==="request"&&J?.context){let Y=this.requestScoped.get(J.context);if(Y?.has($))return this.stats.requestHits++,Y.get($);if(this.stats.requestMisses++,!Y)Y=new Map,this.requestScoped.set(J.context,Y);if(this.resolutionStack.has($))throw Error(`Circular dependency detected: ${this.buildCircularDependencyMessage($)}`);this.resolutionStack.add($);try{let W=await this.create($,Q,J.context);return Y.set($,W),W}finally{this.resolutionStack.delete($)}}if(this.stats.transientCreations++,this.resolutionStack.has($))throw Error(`Circular dependency detected: ${this.buildCircularDependencyMessage($)}`);this.resolutionStack.add($);try{return await this.create($,Q,J?.context)}finally{this.resolutionStack.delete($)}}buildCircularDependencyMessage($){let J=Array.from(this.resolutionStack),Q=this.getProviderName($);return J.map((Y)=>this.getProviderName(Y)).join(" -> ")+" -> "+Q}async create($,J,Q){if(J.factory)return J.factory();if(typeof $==="function")if($.prototype&&$.prototype.constructor===$){let X=S.getDependencyMetadata($.prototype,"constructor"),Y;if(X&&X.length>0){let W=[];for(let H of X){if(!H)continue;W[H.index]=await this.resolve(H.provider,{scope:H.scope,context:Q})}Y=new $(...W)}else Y=new $;return Y}else{let X=$();return X instanceof Promise?await X:X}throw Error("Invalid provider type")}async resolveNestedDependencies($,J){}getProviderName($){if(typeof $==="string")return $;else if(typeof $==="symbol")return $.toString();let J=this.providerNameCache.get($);if(J)return J;let Q;if(typeof $==="function")if($.name)Q=$.name;else Q=$.toString().substring(0,50);else Q=String($);if(typeof $==="object"||typeof $==="function")this.providerNameCache.set($,Q);return Q}clear(){this.singletons.clear(),this.providers.clear(),this.resolutionStack.clear(),this.providerNameCache=new WeakMap,this.resetStats()}clearRequestScope($){this.requestScoped.delete($)}getStats(){let $=this.stats.singletonHits+this.stats.singletonMisses,J=$>0?this.stats.singletonHits/$*100:0,Q=this.stats.requestHits+this.stats.requestMisses,X=Q>0?this.stats.requestHits/Q*100:0;return{singletonHits:this.stats.singletonHits,singletonMisses:this.stats.singletonMisses,singletonHitRate:Math.round(J*100)/100,requestHits:this.stats.requestHits,requestMisses:this.stats.requestMisses,requestHitRate:Math.round(X*100)/100,transientCreations:this.stats.transientCreations}}resetStats(){this.stats={singletonHits:0,singletonMisses:0,requestHits:0,requestMisses:0,transientCreations:0}}}V$();var hX=/^[\w!#$%&'*.^`|~+-]+$/,Ez=/^[ !#-:<-[\]-~]*$/,vX=($)=>{let J=0,Q=$.length;while(J<Q){let X=$.charCodeAt(J);if(X!==32&&X!==9)break;J++}while(Q>J){let X=$.charCodeAt(Q-1);if(X!==32&&X!==9)break;Q--}return J===0&&Q===$.length?$:$.slice(J,Q)},H5=($,J)=>{if(J&&$.indexOf(J)===-1)return{};let Q=$.split(";"),X={};for(let Y of Q){let W=Y.indexOf("=");if(W===-1)continue;let H=vX(Y.substring(0,W));if(J&&J!==H||!hX.test(H))continue;let G=vX(Y.substring(W+1));if(G.startsWith('"')&&G.endsWith('"'))G=G.slice(1,-1);if(Ez.test(G)){if(X[H]=G.indexOf("%")!==-1?s$(G,l2):G,J)break}}return X};var Lz=($,J,Q={})=>{if(!hX.test($))throw Error("Invalid cookie name");let X=`${$}=${J}`;if($.startsWith("__Secure-")&&!Q.secure)throw Error("__Secure- Cookie must have Secure attributes");if($.startsWith("__Host-")){if(!Q.secure)throw Error("__Host- Cookie must have Secure attributes");if(Q.path!=="/")throw Error('__Host- Cookie must have Path attributes with "/"');if(Q.domain)throw Error("__Host- Cookie must not have Domain attributes")}for(let Y of["domain","path"])if(Q[Y]&&/[;\r\n]/.test(Q[Y]))throw Error(`${Y} must not contain ";", "\\r", or "\\n"`);if(Q&&typeof Q.maxAge==="number"&&Q.maxAge>=0){if(Q.maxAge>34560000)throw Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");X+=`; Max-Age=${Q.maxAge|0}`}if(Q.domain&&Q.prefix!=="host")X+=`; Domain=${Q.domain}`;if(Q.path)X+=`; Path=${Q.path}`;if(Q.expires){if(Q.expires.getTime()-Date.now()>34560000000)throw Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");X+=`; Expires=${Q.expires.toUTCString()}`}if(Q.httpOnly)X+="; HttpOnly";if(Q.secure)X+="; Secure";if(Q.sameSite)X+=`; SameSite=${Q.sameSite.charAt(0).toUpperCase()+Q.sameSite.slice(1)}`;if(Q.priority)X+=`; Priority=${Q.priority.charAt(0).toUpperCase()+Q.priority.slice(1)}`;if(Q.partitioned){if(!Q.secure)throw Error("Partitioned Cookie must have Secure attributes");X+="; Partitioned"}return X},H4=($,J,Q)=>{return J=encodeURIComponent(J),Lz($,J,Q)};var G4=($,J,Q)=>{let X=$.req.raw.headers.get("Cookie");if(typeof J==="string"){if(!X)return;let W=J;if(Q==="secure")W="__Secure-"+J;else if(Q==="host")W="__Host-"+J;return H5(X,W)[W]}if(!X)return{};return H5(X)};var Oz=($,J,Q)=>{let X;if(Q?.prefix==="secure")X=H4("__Secure-"+$,J,{path:"/",...Q,secure:!0});else if(Q?.prefix==="host")X=H4("__Host-"+$,J,{...Q,path:"/",secure:!0,domain:void 0});else X=H4($,J,{path:"/",...Q});return X},V4=($,J,Q,X)=>{let Y=Oz(J,Q,X);$.header("Set-Cookie",Y,{append:!0})};class G5{static json($,J=200,Q){return new U4($,J,Q)}static html($,J=200){return new q4($,J)}static file($,J){return new D4($,J)}static stream($,J){return new B4($,J)}static redirect($,J=302){return new _4($,J)}}class U4{data;status;headers;constructor($,J=200,Q={}){this.data=$;this.status=J;this.headers=Q}toHonoResponse($){return $.json(this.data,this.status,this.headers)}}class q4{content;status;constructor($,J=200){this.content=$;this.status=J}toHonoResponse($){return $.html(this.content,this.status)}}class _4{url;status;constructor($,J=302){this.url=$;this.status=J}toHonoResponse($){return $.redirect(this.url,this.status)}}class D4{path;options;constructor($,J){this.path=$;this.options=J}async toHonoResponse($){try{let J=typeof Bun<"u"?Bun.file(this.path):await this.readFileNode(this.path),X={"Content-Type":this.options?.contentType||this.guessContentType(this.path)};if(this.options?.download||this.options?.filename){let W=(this.options?.filename||this.path.split("/").pop()||"download").replace(/[/\\]/g,"").replace(/["]/g,"'").replace(/[\r\n]/g,""),H=this.options?.download?"attachment":"inline";X["Content-Disposition"]=`${H}; filename="${W}"`}if(typeof Bun<"u"&&J instanceof Blob)return $.body(J,200,X);else return $.body(J,200,X)}catch(J){return $.json({error:"File not found",message:J instanceof Error?J.message:"Unknown error"},404)}}async readFileNode($){throw Error("File reading in Node.js requires fs module - use Bun runtime or implement adapter")}guessContentType($){let J=$.split(".").pop()?.toLowerCase();return{html:"text/html",css:"text/css",js:"application/javascript",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",svg:"image/svg+xml",pdf:"application/pdf",txt:"text/plain",xml:"application/xml"}[J||""]||"application/octet-stream"}}class B4{stream;options;constructor($,J){this.stream=$;this.options=J}toHonoResponse($){let J={"Content-Type":this.options?.contentType||"application/octet-stream",...this.options?.headers};return $.body(this.stream,200,J)}}class F4{static serialize($,J){if(J===null||J===void 0)return $.body(null,204);if(typeof globalThis.Response<"u"&&J instanceof globalThis.Response)return J;if(J instanceof G5)return J;if(J instanceof U4)return J.toHonoResponse($);if(J instanceof q4)return J.toHonoResponse($);if(J instanceof D4)return J.toHonoResponse($);if(J instanceof B4)return J.toHonoResponse($);if(J instanceof _4)return J.toHonoResponse($);if(J&&typeof J.toHonoResponse==="function")return J.toHonoResponse($);return $.json(J)}}class M1{static cache=new Map;static snapshotCache=new Map;static clearCache(){this.cache.clear(),this.snapshotCache.clear()}static snapshot($){let J=$.handler;return JSON.stringify({method:$.method,path:$.path,params:$.parameters?.map((Q)=>({i:Q.index,t:Q.type,n:Q.name})),deps:$.dependencies?.map((Q)=>({i:Q.index})),handlerId:J?M1.handlerIds.get(J)??M1.assignHandlerId(J):null})}static handlerIds=new WeakMap;static nextHandlerId=0;static assignHandlerId($){let J=++M1.nextHandlerId;return M1.handlerIds.set($,J),J}static compile($){let J=`${$.target?.name??"anon"}:${$.propertyKey}`,Q=this.snapshot($),X=this.cache.get(J);if(X&&this.snapshotCache.get(J)===Q)return X;let Y=this.compilePathRegex($.path),W=this.resolveParameterOrder($.parameters),H=this.resolveDependencyOrder($.dependencies),G=this.calculateMaxArgumentIndex($.parameters,$.dependencies),V=this.computeParameterFlags($.parameters,$.dependencies),U={...$,pathRegex:Y,parameterOrder:W,dependencyOrder:H,maxArgumentIndex:G,...V};return this.cache.set(J,U),this.snapshotCache.set(J,Q),U}static compilePathRegex($){let J=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return J=J.replace(/\\\{([^}]+)\\\}/g,"(?<$1>[^/]+)"),J=J.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"(?<$1>[^/]+)"),J=`^${J}$`,new RegExp(J)}static resolveParameterOrder($){if(!$||$.length===0)return[];return $.map((J)=>J.index).filter((J)=>J!==void 0).sort((J,Q)=>J-Q)}static resolveDependencyOrder($){if(!$||$.length===0)return[];return $.map((J)=>J.index).filter((J)=>J!==void 0).sort((J,Q)=>J-Q)}static calculateMaxArgumentIndex($,J){let Q=-1;if($&&$.length>0){let X=Math.max(...$.map((Y)=>Y.index));Q=Math.max(Q,X)}if(J&&J.length>0){let X=Math.max(...J.map((Y)=>Y.index));Q=Math.max(Q,X)}return Q}static computeParameterFlags($,J){let Q=!!(J&&J.length>0);if(!$||$.length===0)return{hasBody:!1,hasQuery:!1,hasParams:!1,hasHeaders:!1,hasCookies:!1,hasDependencies:Q};return{hasBody:$.some((X)=>X.type==="body"),hasQuery:$.some((X)=>X.type==="query"),hasParams:$.some((X)=>X.type==="param"),hasHeaders:$.some((X)=>X.type==="header"),hasCookies:$.some((X)=>X.type==="cookie"),hasDependencies:Q}}static compileAll($){return $.map((J)=>this.compile(J))}}n$();class r2{app;metadata;container;validator;errorHandler;compiledRoutes=new Map;constructor($,J,Q,X,Y){this.app=$;this.metadata=J;this.container=Q;this.validator=X;this.errorHandler=Y}compile(){let $=this.metadata.getRoutes(),J=M1.compileAll($);for(let Q of J){let X=`${Q.target.name}:${Q.propertyKey}`;this.compiledRoutes.set(X,Q);let Y=this.createHandler(Q),W=this.normalizePath(Q.path),H=Q.method.toLowerCase();if(Q.middleware&&Q.middleware.length>0)this.app[H](W,...Q.middleware,Y);else this.app[H](W,Y)}}normalizePath($){if(!$.startsWith("/"))$="/"+$;if($=$.replace(/\{([^}]+)\}/g,":$1"),$.length>1&&$.endsWith("/"))$=$.slice(0,-1);return $}createHandler($){return async(J)=>{try{J.set("routeMetadata",$);let Q=$.cache,X=null,Y=null;if(Q){let{CacheManager:q}=await Promise.resolve().then(() => (C2(),z9)),{parseTTL:_}=await Promise.resolve().then(() => U9);Y=q;let F=J.req.param(),B=Q.includeQuery?J.req.query():void 0;X=q.generateKey($.method,$.path,F,B,Q);let D=await q.get(X,Q.store);if(D!==null)return J.header("X-Cache","HIT"),this.serializeResponse(J,D);J.header("X-Cache","MISS")}let W=await this.extractParameters(J,$.parameters),H=await this.resolveDependencies(J,$.dependencies),G=this.mergeArguments(W,H,$.parameters,$.maxArgumentIndex),V;if($.handler)V=await $.handler(J,...G);else{let q=await this.container.resolve($.target,{scope:"transient",context:J});if(typeof q[$.propertyKey]!=="function")throw Error(`Method ${$.propertyKey} not found on controller ${$.target.name}`);V=await q[$.propertyKey](...G)}if(Q&&X&&Y){if(!Q.condition||Q.condition(V)){let{parseTTL:q}=await Promise.resolve().then(() => U9),_=q(Q.ttl);await Y.set(X,V,_,Q.store)}}let U=$.cacheInvalidate;if(U&&Array.isArray(U)){if(!Y){let{CacheManager:_}=await Promise.resolve().then(() => (C2(),z9));Y=_}let q=J.req.param();for(let _ of U){let F=_;if(q)for(let[B,D]of Object.entries(q))F=F.replace(`{${B}}`,String(D));await Y.invalidate(F)}}if($.responseSchema)try{V=await $.responseSchema.parseAsync(V)}catch{}if($.statusCode)J.status($.statusCode);return this.serializeResponse(J,V)}catch(Q){return await this.handleError(J,Q)}}}serializeResponse($,J){return F4.serialize($,J)}getRouteMetadataForContext($){return $.get("routeMetadata")||null}isAuthRequired($){if($.auth?.required)return!0;return $.parameters.some((J)=>J.type==="current-user")}async handleError($,J){return await this.errorHandler.handle(J,$)}async extractParameters($,J){let Q=[];for(let X of J){if(!X)continue;let Y;switch(X.type){case"body":try{Y=await $.req.json()}catch(U){Y=null}break;case"query":if(X.name)Y=$.req.query(X.name);else Y=$.req.query();if(X.schema&&Y!==void 0)try{Y=X.schema.parse(Y)}catch(U){throw new r6(`Invalid query parameter: ${U}`)}break;case"param":if(X.name)Y=$.req.param(X.name);else Y=$.req.param();break;case"header":if(X.name)Y=$.req.header(X.name);else{let U={};$.req.raw.headers.forEach((q,_)=>{U[_]=q}),Y=U}break;case"cookie":if(X.name)Y=G4($,X.name);else{let U=$.req.header("cookie");if(U)Y=Object.fromEntries(U.split(";").map((q)=>{let[_,...F]=q.trim().split("=");return[_,F.join("=")]}));else Y={}}break;case"request":Y=$.req;break;case"response":case"context":Y=$;break;case"current-user":Y=$.get("auth.user")||null;let W=this.getRouteMetadataForContext($);if(W&&this.isAuthRequired(W)){if(!Y){let U=$.get("auth.error")||"Authentication required",{AuthenticationException:q}=await Promise.resolve().then(() => (h1(),gX));throw new q(U)}}break;case"token":Y=$.get("auth.token")||null;break;case"oauth-user":Y=$.get("oauth.user")||null;break;case"oauth-token":Y=$.get("oauth.token")||null;break;case"current-session":Y=$.get("session")||null;break;case"session-data":let H=$.get("session");if(H&&X.metadata?.key)Y=H.data[X.metadata.key];else if(H)Y=H.data;else Y=null;break;case"csrf-token":Y=$.get("csrf.token")||null;break;case"filtered-resource":Y=$.get("filtered.resource")||null;break;case"filtered-attributes":Y=$.get("filtered.attributes")||[];break;case"request-id":let{getRequestId:G}=await Promise.resolve().then(() => D8);Y=G($);break;case"abort-signal":let{getAbortSignal:V}=await Promise.resolve().then(() => D8);Y=V($);break;default:Y=void 0}if(X.schema)try{Y=await this.validator.validate(Y,X.schema)}catch(W){throw W}Q[X.index]=Y}return Q}mergeArguments($,J,Q,X){let W=Q.filter((U)=>U!==void 0&&U.index!==void 0).map((U)=>U.index),H=W.length>0?Math.max(...W):-1,G=X!==void 0&&X>=0?X:Math.max(H,$.length-1,J.length-1,0);if(!Number.isFinite(G)||G<0)G=0;let V=Array(G+1);for(let U=0;U<=G;U++)if($[U]!==void 0)V[U]=$[U];else if(J[U]!==void 0)V[U]=J[U];return V}async resolveDependencies($,J){let Q=[];for(let X of J){if(!X)continue;try{let Y=await this.container.resolve(X.provider,{scope:X.scope,context:$});Q[X.index]=Y}catch(Y){throw Error(`Failed to resolve dependency at index ${X.index}: ${Y instanceof Error?Y.message:"Unknown error"}`)}}return Q}}n$();i$();class a2{customHandler;isDevelopment;format;constructor($,J){this.customHandler=$,this.format=J?.errorResponseFormat??"rfc9457",this.isDevelopment=J?.forceDevelopment!==void 0?J.forceDevelopment:typeof process<"u"&&!0}setCustomHandler($){this.customHandler=$}getFormat(){return this.format}setErrorResponseFormat($){this.format=$}async handle($,J){if(this.customHandler)try{let Q=await this.customHandler($,J);return j1(J,Q)}catch(Q){if(this.isDevelopment)console.error("Custom error handler failed:",Q)}if($ instanceof C1)return j1(J,this.handleValidationException($,J));if($.name==="ZodError"&&Array.isArray($.issues)){let Q=new C1($);return j1(J,this.handleValidationException(Q,J))}if($ instanceof j0)return j1(J,this.handleHTTPException($,J));return j1(J,this.handleGenericError($,J))}handleValidationException($,J){let Q=$.toJSON();if(this.isDevelopment)console.error("Validation Error:",{path:J.req.path,method:J.req.method,violations:Q.violations??Q.details});return p$(J,Q,$.statusCode,this.format)}handleHTTPException($,J){if($.statusCode>=500){let X={name:$.name,statusCode:$.statusCode,message:$.message,path:J.req.path,method:J.req.method,...this.isDevelopment&&$.stack?{stack:$.stack}:{}};try{v0().error("HTTP Server Error",$,X)}catch{console.error("HTTP Exception:",X)}}else if(this.isDevelopment){let X={name:$.name,statusCode:$.statusCode,message:$.message,path:J.req.path,method:J.req.method};try{v0().warn("HTTP Client Error",X)}catch{console.warn("HTTP Exception:",X)}}let Q=$.toJSON();return p$(J,Q,$.statusCode,this.format)}handleGenericError($,J){let Q={name:$.name,message:$.message,path:J.req.path,method:J.req.method,stack:$.stack};try{v0().error("Internal Server Error",$,Q)}catch{console.error("Internal Server Error:",Q)}let X=500,Y=this.isDevelopment?$.message:"An unexpected error occurred.",W={type:d$(X),title:S1(X,$.message,"Internal Server Error"),status:X,detail:Y,error:Y,statusCode:X};if(this.isDevelopment)W.debug={name:$.name,message:$.message,stack:$.stack?$.stack.split(`
152
152
  `).map((H)=>H.trim()):void 0};if(this.format==="legacy"){let H={error:"Internal Server Error",statusCode:X,message:Y};if(this.isDevelopment){if(H.name=$.name,$.stack)H.stack=$.stack.split(`
153
- `).map((G)=>G.trim())}return J.json(H,X)}return p$(J,W,X,this.format)}isDevelopmentMode(){return this.isDevelopment}setDevelopmentMode($){this.isDevelopment=$}}class t2{plugins=new Map;installed=new Set;register($){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);this.plugins.set($.name,$)}async install($){let J=this.resolveInstallOrder();for(let Q of J)await this.plugins.get(Q).install($),this.installed.add(Q)}isInstalled($){return this.installed.has($)}getPlugin($){return this.plugins.get($)}getPluginNames(){return Array.from(this.plugins.keys())}resolveInstallOrder(){let $=new Set,J=new Set,Q=[],X=(Y,W=[])=>{if(J.has(Y)){let G=[...W,Y].join(" -> ");throw Error(`Circular dependency detected in plugins: ${G}`)}if($.has(Y))return;J.add(Y);let H=this.plugins.get(Y);if(!H)throw Error(`Plugin "${Y}" is not registered`);if(H.dependencies)for(let G of H.dependencies){if(!this.plugins.has(G))throw Error(`Plugin "${Y}" depends on "${G}" which is not registered`);X(G,[...W,Y])}J.delete(Y),$.add(Y),Q.push(Y)};for(let Y of this.plugins.keys())X(Y);return Q}}class _${hono;metadata;container;validator;errorHandler;compiler;pluginManager;config;compiled=!1;globalMiddleware=[];groupPrefix="";constructor($){if(this.config={adapter:"hono",title:"Veloce-TS API",version:"1.0.0",docs:!0,...$},this.hono=new W5,this.metadata=new S,this.container=new s2,this.validator=new Y$,this.errorHandler=new a2(void 0,{errorResponseFormat:this.config.errorResponseFormat}),this.pluginManager=new t2,this.compiler=new r2(this.hono,this.metadata,this.container,this.validator,this.errorHandler),this.config.cors)if(this.config.cors===!0)this.useCors();else this.useCors(this.config.cors)}include($){let J=S.getControllerMetadata($);if(J)this.metadata.registerController($,J);let Q=S.getRouteMethods($);for(let X of Q){let Y=S.getRouteMetadata($.prototype,X),W=S.getParameterMetadata($.prototype,X),H=S.getDependencyMetadata($.prototype,X);if(Y&&Y.method&&Y.path!==void 0){let G=J?.prefix||"",V=this.normalizePath(G,Y.path);this.metadata.registerRoute({...Y,target:$,propertyKey:X,method:Y.method,path:V,middleware:[...J?.middleware||[],...Y.middleware||[]],parameters:W||Y.parameters||[],dependencies:H||Y.dependencies||[],responses:Y.responses||[],docs:Y.docs})}}}get($,J){this.registerFunctionalRoute("GET",$,J)}post($,J){this.registerFunctionalRoute("POST",$,J)}put($,J){this.registerFunctionalRoute("PUT",$,J)}delete($,J){this.registerFunctionalRoute("DELETE",$,J)}patch($,J){this.registerFunctionalRoute("PATCH",$,J)}route($){return new uX(this,$)}group($,J){let Q=this.groupPrefix;this.groupPrefix=this.normalizePath(this.groupPrefix,$),J(),this.groupPrefix=Q}registerFunctionalRoute($,J,Q){let X=this.normalizePath(this.groupPrefix,J),Y={target:yX,propertyKey:`${$.toLowerCase()}_${X}`,method:$,path:X,middleware:Q.middleware||[],parameters:this.extractParametersFromSchema(Q.schema),dependencies:[],responses:Q.responses||[],docs:Q.docs,handler:Q.handler};this.metadata.registerRoute(Y)}extractParametersFromSchema($){let J=[],Q=0;if($?.body)J.push({index:Q++,type:"body",schema:$.body,required:!0});if($?.query)J.push({index:Q++,type:"query",schema:$.query,required:!1});if($?.params)J.push({index:Q++,type:"param",schema:$.params,required:!0});if($?.headers)J.push({index:Q++,type:"header",schema:$.headers,required:!1});return J}use($){this.globalMiddleware.push($),this.hono.use("*",$)}useCors($){let J=z2($);this.use(J)}useRateLimit($){let J=d1($);this.use(J)}useCompression($){let J=w2($);this.use(J)}usePlugin($){this.pluginManager.register($)}getPluginManager(){return this.pluginManager}onError($){this.errorHandler.setCustomHandler($)}getErrorHandler(){return this.errorHandler}normalizePath(...$){let J=$.filter((Q)=>Q!=="").join("/").replace(/\/+/g,"/").replace(/\/$/,"");return J.startsWith("/")?J:`/${J}`}getHono(){return this.hono}getMetadata(){return this.metadata}getContainer(){return this.container}getCompiler(){return this.compiler}getConfig(){return this.config}isCompiled(){return this.compiled}markCompiled(){this.compiled=!0}async compile(){if(this.compiled){console.warn("Routes have already been compiled. Skipping compilation.");return}await this.pluginManager.install(this),this.compiler.compile(),this.compiled=!0}serverInstance=null;shutdownHandlersRegistered=!1;async listen($,J){if(!this.compiled)await this.compile();let Q=this.createAdapter();return this.serverInstance=Q.listen($,J),this.setupGracefulShutdown(),this.serverInstance}setupGracefulShutdown(){if(typeof process>"u")return;if(this.shutdownHandlersRegistered)return;this.shutdownHandlersRegistered=!0;let $=async(J)=>{let Q=v0().child({component:"app"});if(Q.info(`Received ${J}, starting graceful shutdown...`),this.serverInstance&&typeof this.serverInstance.close==="function")try{await Promise.resolve(this.serverInstance.close()),Q.info("Server closed gracefully")}catch(X){Q.error("Error during shutdown",X)}process.exit(0)};process.on("SIGTERM",()=>$("SIGTERM")),process.on("SIGINT",()=>$("SIGINT"))}async shutdown(){if(this.serverInstance&&typeof this.serverInstance.close==="function")await Promise.resolve(this.serverInstance.close()),this.serverInstance=null}createAdapter(){let $=this.config.adapter||"hono";switch($){case"hono":{let{HonoAdapter:J}=T0(V8);return new J(this.hono)}case"express":{let{ExpressAdapter:J}=T0(S7);return new J(this)}case"native":{let{HonoAdapter:J}=T0(V8);return new J(this.hono)}default:throw Error(`Unknown adapter type: ${$}. Supported adapters: 'hono', 'express', 'native'`)}}}class yX{}class uX{app;path;constructor($,J){this.app=$;this.path=J}get($){return this.app.get(this.path,$),this}post($){return this.app.post(this.path,$),this}put($){return this.app.put(this.path,$),this}delete($){return this.app.delete(this.path,$),this}patch($){return this.app.patch(this.path,$),this}}function z4($){let J={docs:!1,cors:!1,...$};return new _$(J)}function U5($,J,Q,X){let Y=$.getContainer(),W=typeof Q==="function"?Q:()=>Q;Y.register(J,{scope:X?.scope||"singleton",factory:W})}function w4($){return new W$($)}async function q5($,J){let Q=z4(J);await $(Q),await Q.compile();let X=w4(Q);return{app:Q,client:X}}function _5($){$.getContainer().clear()}var kO={};Z0(kO,{zodToJsonSchema:()=>n6,zodToGraphQLType:()=>J1,zodObjectToGraphQLType:()=>xQ,zodObjectToGraphQLInput:()=>vQ,z:()=>N,withRepositoryMixin:()=>AO,transactionMiddleware:()=>H7,toLegacyErrorBody:()=>P9,setupTestApp:()=>q5,setSessionData:()=>QV,setRequestMetadata:()=>K7,setRequestContext:()=>_8,setGlobalTransactionManager:()=>l0,setCache:()=>_9,sendErrorResponse:()=>p$,resolveProblemType:()=>d$,resolveProblemTitle:()=>S1,requestLoggingMiddleware:()=>MB,removeSessionData:()=>XV,registerDrizzle:()=>tX,problemTypeUri:()=>B1,parseTTL:()=>r1,parseCursorQuery:()=>OO,paginate:()=>LO,mockDependency:()=>U5,mergeVeloceCorsHeaders:()=>j1,isSessionAuthenticated:()=>$V,isOAuthAuthenticated:()=>dG,isNullable:()=>X$,isAuthenticated:()=>JO,invalidateCache:()=>B9,initializeRequestContext:()=>N2,initializeLogger:()=>CB,hasResolverMetadata:()=>fQ,hasFieldMetadata:()=>kQ,globalTransactionEventManager:()=>A$,globalRepositoryRegistry:()=>jO,getUserRoles:()=>J7,getUserPermissions:()=>xG,getTransactionInterceptor:()=>BV,getToken:()=>t5,getSessionUserId:()=>JV,getSessionManager:()=>G2,getSessionData:()=>eG,getResolverMetadata:()=>IQ,getRequestMetadata:()=>I7,getRequestId:()=>C7,getRequestDuration:()=>A2,getRequestContext:()=>E1,getRBACManager:()=>kG,getOAuthUser:()=>lG,getOAuthToken:()=>cG,getOAuthProvider:()=>pG,getLogger:()=>v0,getGlobalTransactionManager:()=>I1,getFieldsMetadata:()=>TQ,getFieldMetadata:()=>bQ,getDefaultValue:()=>o6,getCurrentUser:()=>w1,getCurrentSession:()=>u0,getCache:()=>q9,getCSRFProtection:()=>tG,getAuthError:()=>QO,getArgumentsMetadata:()=>v2,getAbortSignal:()=>M7,generateRequestId:()=>q8,errorLoggingMiddleware:()=>PB,deleteCache:()=>D9,createTypeORMPlugin:()=>LV,createTransactionalProxy:()=>RO,createTransactionPlugin:()=>fO,createTestClient:()=>w4,createTestApp:()=>z4,createSimpleRequestIdMiddleware:()=>V9,createSessionMiddleware:()=>aG,createRequestContextMiddleware:()=>G9,createRedisCacheStore:()=>RV,createRateLimitMiddleware:()=>d1,createRBACMiddleware:()=>$7,createPrismaPlugin:()=>EV,createLogger:()=>H9,createDefaultRBAC:()=>r5,createCorsMiddleware:()=>z2,createCompressionMiddleware:()=>w2,createChildLogger:()=>o1,createCacheMiddleware:()=>w9,createCacheInvalidationMiddleware:()=>N9,createAuthMiddleware:()=>a5,clearMocks:()=>_5,clearCache:()=>F9,cleanupRequestContext:()=>j2,checkUserRole:()=>GO,checkUserPermission:()=>VO,buildProblemInstance:()=>M9,abortRequest:()=>P7,ZodToJsonSchemaConverter:()=>Z1,WebSocketPlugin:()=>l$,WebSocketManager:()=>m$,WebSocketConnection:()=>u$,WebSocket:()=>c9,VeloceTS:()=>_$,Veloce:()=>_$,ValidationException:()=>C1,ValidationEngine:()=>Y$,VELOCE_CORS_HEADERS_KEY:()=>U8,UseMiddleware:()=>hz,UnprocessableEntityException:()=>pQ,UnauthorizedException:()=>uQ,TypeORMTransactionManager:()=>z6,TypeORMRepository:()=>K1,TypeORMPlugin:()=>Q8,TypeORMEntity:()=>OV,TransactionalWithPropagation:()=>N$,Transactional:()=>qV,TransactionTemplate:()=>AV,TransactionService:()=>NV,TransactionPropagationManager:()=>zV,TransactionPropagation:()=>FV,TransactionPlugin:()=>V7,TransactionMetricsListener:()=>$8,TransactionLoggingListener:()=>e4,TransactionInterceptor:()=>c1,TransactionEventType:()=>wV,TransactionEventManager:()=>G7,TooManyRequestsException:()=>iQ,TokenRevokedException:()=>V5,TokenPayloadSchema:()=>iL,TokenExpiredException:()=>o2,Token:()=>$O,Timeout:()=>fz,TestResponse:()=>m2,TestClient:()=>W$,Tags:()=>mz,Tag:()=>uz,Supports:()=>CO,SuperAdminOnly:()=>WO,Summary:()=>gz,Subscription:()=>MQ,StreamResponse:()=>B4,SessionManager:()=>Q7,SessionGuard:()=>X7,SessionDataSchema:()=>iG,Session:()=>nG,ServiceUnavailableException:()=>nQ,RouterCompiler:()=>r2,Roles:()=>bG,RoleSchema:()=>oL,RoleAssignmentSchema:()=>rL,ResponseSerializer:()=>F4,ResponseSchema:()=>bz,Response:()=>G5,Resolver:()=>ZQ,RequiresNew:()=>SO,Required:()=>ZO,RequireRole:()=>e5,RequirePermission:()=>XO,RequireCSRF:()=>rG,RequestId:()=>sX,Req:()=>iX,RepositoryService:()=>YV,RepositoryRegistry:()=>B6,RepositoryFactory:()=>z$,Repository:()=>UV,RefreshRequestSchema:()=>sL,RedisCacheStore:()=>Y8,RedirectResponse:()=>_4,RateLimit:()=>kz,RBACPlugin:()=>vG,RBACManager:()=>W2,RBACGuard:()=>D6,QueryBuilderFactory:()=>WV,QueryBuilder:()=>a4,Query:()=>lX,Put:()=>Mz,PrismaZodSchemaGenerator:()=>V2,PrismaTransactionManager:()=>F6,PrismaRepository:()=>P1,PrismaPlugin:()=>J8,Post:()=>Cz,PluginManager:()=>t2,Permissions:()=>fG,PermissionMatcher:()=>H2,PermissionCheckSchema:()=>aL,PayloadTooLargeException:()=>dQ,Patch:()=>Kz,Param:()=>cX,PaginationTransformer:()=>GV,PaginationHelper:()=>l1,PaginationBuilder:()=>HV,Paginated:()=>EO,PROBLEM_JSON_MEDIA_TYPE:()=>hQ,OpenAPIPlugin:()=>s6,OpenAPIGenerator:()=>D1,OnTransactionRollback:()=>bO,OnTransactionCommit:()=>TO,OnTransactionBegin:()=>IO,OnMessage:()=>p9,OnDisconnect:()=>i9,OnConnect:()=>d9,OAuthUserSchema:()=>gG,OAuthUser:()=>uG,OAuthToken:()=>mG,OAuth:()=>yG,NotSupported:()=>MO,NotFoundException:()=>yQ,Never:()=>KO,Mutation:()=>CQ,MinimumRole:()=>HO,Migration:()=>U7,MetadataRegistry:()=>S,MetadataCompiler:()=>M1,MemoryCacheStore:()=>S2,Mandatory:()=>PO,LoginRequestSchema:()=>nL,JWTProvider:()=>o4,JSONResponse:()=>U4,InvalidTokenException:()=>q$,InjectDB:()=>eX,Inject:()=>vz,InMemoryUserProvider:()=>TG,InMemoryTransactionManager:()=>w$,HttpCode:()=>Tz,HonoAdapter:()=>j6,HealthCheckers:()=>I9,HealthCheckPlugin:()=>a6,Header:()=>dX,HTTPException:()=>j0,HTMLResponse:()=>q4,GraphQLSubscription:()=>MQ,GraphQLSchemaBuilder:()=>h2,GraphQLQuery:()=>SQ,GraphQLPlugin:()=>g2,GraphQLMutation:()=>CQ,GraphQLCtx:()=>KQ,GoneException:()=>cQ,Get:()=>Sz,GenericRepository:()=>NO,GQLSubscription:()=>MQ,GQLQuery:()=>SQ,GQLMutation:()=>CQ,GQLContext:()=>KQ,ForbiddenException:()=>mQ,FileResponse:()=>D4,FastAPITS:()=>_$,ExpressAdapter:()=>F2,ErrorHandler:()=>a2,Entity:()=>_V,DrizzleZodSchemaConverter:()=>X8,DrizzleTransactionManager:()=>w6,DrizzleRepository:()=>m0,DrizzlePlugin:()=>q7,Description:()=>yz,Deprecated:()=>lz,Depends:()=>xz,Delete:()=>Pz,DefaultQueryOperators:()=>Y7,DIContainer:()=>s2,DEFAULT_PROBLEM_TYPE_BASE:()=>gQ,DB_TOKEN:()=>N4,CursorPaginationHelper:()=>W7,CurrentUser:()=>eL,CurrentSession:()=>sG,Ctx:()=>nX,Cookie:()=>pX,Controller:()=>Zz,ConflictException:()=>lQ,Column:()=>DV,CacheManager:()=>k0,CacheInvalidate:()=>aX,Cache:()=>rX,CSRFToken:()=>oG,Body:()=>mX,BaseTransactionManager:()=>Y1,BaseRepository:()=>m1,BadRequestException:()=>r6,AuthorizationException:()=>E0,AuthenticationException:()=>R0,AuthService:()=>_6,AuthPlugin:()=>hG,Auth:()=>tL,Arg:()=>PQ,ApiResponse:()=>dz,ApiDoc:()=>cz,All:()=>Iz,AdminOnly:()=>YO,AbortSignal:()=>oX});module.exports=T0(kO);var gk=N1(Q$(),1);function Zz($="",J){return(Q)=>{let X=$.trim();if(X&&!X.startsWith("/"))X="/"+X;if(X.endsWith("/"))X=X.slice(0,-1);S.defineController(Q,{prefix:X,middleware:J?.middleware||[]})}}function r$($){return(J="")=>{return(Q,X)=>{let Y=J.trim();if(Y&&!Y.startsWith("/"))Y="/"+Y;let W=Reflect.getMetadata("route:middleware",Q,X)||[];S.defineRoute(Q,X,{method:$,path:Y,middleware:W,parameters:[],dependencies:[],responses:[]})}}}var Sz=r$("GET"),Cz=r$("POST"),Mz=r$("PUT"),Pz=r$("DELETE"),Kz=r$("PATCH"),Iz=r$("ALL");function Tz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,statusCode:$})}}function bz($,J=200){return(Q,X)=>{let Y=S.getRouteMetadata(Q,X),W=(Y?.responses??[]).filter((H)=>H.statusCode!==J);W.push({statusCode:J,schema:$,description:void 0}),S.defineRoute(Q,X,{...Y,responseSchema:$,responses:W})}}function fz($,J){let Q=async(X,Y)=>{let W,H=new Promise((G,V)=>{W=setTimeout(()=>{V(Object.assign(Error(J??`Request timed out after ${$}ms`),{name:"TimeoutError",statusCode:408}))},$)});try{X.header("X-Timeout-Ms",String($)),await Promise.race([Y(),H])}finally{if(W!==void 0)clearTimeout(W)}};return(X,Y)=>{let W=S.getRouteMetadata(X,Y),H=Reflect.getMetadata("route:middleware",X,Y)||[];Reflect.defineMetadata("route:middleware",[Q,...H],X,Y),S.defineRoute(X,Y,{...W,middleware:[Q,...W?.middleware||[]]})}}function kz($){let J=d1($);return(Q,X)=>{let Y=S.getRouteMetadata(Q,X),W=Reflect.getMetadata("route:middleware",Q,X)||[];Reflect.defineMetadata("route:middleware",[J,...W],Q,X),S.defineRoute(Q,X,{...Y,middleware:[J,...Y?.middleware||[]]})}}function mX($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"body",schema:$,required:!0};S.defineParameter(J,Q,X,Y)}}function lX($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"query",required:!1};if(typeof $==="string")Y.name=$;else if($)Y.schema=$;S.defineParameter(J,Q,X,Y)}}function cX($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"param",name:$,required:!0};S.defineParameter(J,Q,X,Y)}}function dX($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"header",name:$,required:!1};S.defineParameter(J,Q,X,Y)}}function pX($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"cookie",name:$,required:!1};S.defineParameter(J,Q,X,Y)}}function iX(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"request",required:!0};S.defineParameter($,J,Q,X)}}function nX(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"context",required:!0};S.defineParameter($,J,Q,X)}}function sX(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"request-id",required:!1};S.defineParameter($,J,Q,X)}}function oX(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"abort-signal",required:!1};S.defineParameter($,J,Q,X)}}function xz($,J="request"){return(Q,X,Y)=>{if(X===void 0)S.defineDependency(Q.prototype,"constructor",Y,{index:Y,provider:$,scope:J});else S.defineDependency(Q,X,Y,{index:Y,provider:$,scope:J})}}function vz($,J="singleton"){return(Q,X,Y)=>{if(X===void 0)S.defineDependency(Q.prototype,"constructor",Y,{index:Y,provider:$,scope:J});else S.defineDependency(Q,X,Y,{index:Y,provider:$,scope:J})}}function hz(...$){return(J,Q)=>{let X=Reflect.getMetadata("route:middleware",J,Q)||[];Reflect.defineMetadata("route:middleware",[...X,...$],J,Q);let Y=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...Y,middleware:[...Y?.middleware||[],...$]})}}function gz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,summary:$}})}}function yz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,description:$}})}}function uz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q),Y=X?.docs?.tags??[];if(!Y.includes($))S.defineRoute(J,Q,{...X,docs:{...X?.docs,tags:[...Y,$]}})}}function mz(...$){return(J,Q)=>{let X=S.getRouteMetadata(J,Q),Y=X?.docs?.tags??[],W=Array.from(new Set([...Y,...$]));S.defineRoute(J,Q,{...X,docs:{...X?.docs,tags:W}})}}function lz(){return($,J)=>{let Q=S.getRouteMetadata($,J);S.defineRoute($,J,{...Q,docs:{...Q?.docs,deprecated:!0}})}}function cz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,...$}})}}function dz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q),Y=X?.responses||[],W=Y.findIndex((G)=>G.statusCode===$.statusCode),H;if(W>=0)H=[...Y],H[W]=$;else H=[...Y,$];S.defineRoute(J,Q,{...X,responses:H})}}function rX($){return(J,Q)=>{Reflect.defineMetadata("cache:options",$,J,Q);let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,cache:$})}}function aX($){return(J,Q)=>{let X=Array.isArray($)?$:[$];Reflect.defineMetadata("cache:invalidate",X,J,Q);let Y=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...Y,cacheInvalidate:X})}}var N4=Symbol("veloce:db");function tX($,J,Q=N4){$.getContainer().register(Q,{scope:"singleton",factory:()=>J})}function eX($=N4){return(J,Q,X)=>{if(Q===void 0)S.defineDependency(J.prototype,"constructor",X,{index:X,provider:$,scope:"singleton"});else S.defineDependency(J,Q,X,{index:X,provider:$,scope:"singleton"})}}i$();n$();h1();var u1=N1(IG(),1);class o4{config;blacklistedTokens=new Set;constructor($){this.config=$;if(!$.secret)throw Error("JWT secret is required")}generateTokens($){let J=Math.floor(Date.now()/1000),Q=this.parseExpiration(this.config.expiresIn||"1h"),X={sub:$.sub,...$,iat:J,exp:J+Q,iss:this.config.issuer,aud:this.config.audience},Y=u1.sign(X,this.config.secret,{algorithm:this.config.algorithm||"HS256"}),W={sub:$.sub,type:"refresh",iat:J,exp:J+this.parseExpiration(this.config.refreshExpiresIn||"7d"),iss:this.config.issuer,aud:this.config.audience},H=u1.sign(W,this.config.refreshSecret||this.config.secret,{algorithm:this.config.algorithm||"HS256"});return{accessToken:Y,refreshToken:H,expiresIn:Q}}verifyAccessToken($){if(this.isBlacklisted($))throw Error("Token has been revoked");try{return u1.verify($,this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience})}catch(J){if(J instanceof Error)throw Error(`Invalid token: ${J.message}`);throw Error("Invalid token")}}verifyRefreshToken($){if(this.isBlacklisted($))throw Error("Refresh token has been revoked");try{let J=u1.verify($,this.config.refreshSecret||this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience});if(J.type!=="refresh")throw Error("Invalid refresh token type");return J}catch(J){if(J instanceof Error)throw Error(`Invalid refresh token: ${J.message}`);throw Error("Invalid refresh token")}}refreshAccessToken($){let J=this.verifyRefreshToken($);return this.blacklistToken($),this.generateTokens({sub:J.sub,...Object.fromEntries(Object.entries(J).filter(([Q])=>!["iat","exp","iss","aud","type"].includes(Q)))})}decodeToken($){try{return u1.decode($)}catch{return null}}blacklistToken($){this.blacklistedTokens.add($),this.cleanupBlacklist()}isBlacklisted($){return this.blacklistedTokens.has($)}cleanupBlacklist(){let $=Math.floor(Date.now()/1000);for(let J of this.blacklistedTokens){let Q=this.decodeToken(J);if(Q&&Q.exp&&Q.exp<$)this.blacklistedTokens.delete(J)}}parseExpiration($){if(typeof $==="number")return $;let J={s:1,m:60,h:3600,d:86400,w:604800},Q=$.match(/^(\d+)([smhdw])$/);if(!Q)throw Error(`Invalid expiration format: ${$}`);let[,X,Y]=Q;return parseInt(X)*J[Y]}}var iL=N.object({sub:N.string(),iat:N.number().optional(),exp:N.number().optional(),iss:N.string().optional(),aud:N.string().optional()}).passthrough(),nL=N.object({username:N.string().min(1),password:N.string().min(1)}),sL=N.object({refreshToken:N.string().min(1)});h1();class _6{config;userProvider;jwtProvider;constructor($,J){this.config=$;this.userProvider=J;this.jwtProvider=new o4($)}async login($,J){let Q=await this.userProvider.findByCredentials($,J);if(!Q)throw new R0("Invalid credentials");let X=this.jwtProvider.generateTokens({sub:Q.id,username:Q.username,email:Q.email,roles:Q.roles||[],permissions:Q.permissions||[]});return{user:Q,tokens:X}}async refresh($){try{return this.jwtProvider.refreshAccessToken($)}catch(J){throw new q$(J instanceof Error?J.message:"Invalid refresh token")}}async logout($,J){if(this.jwtProvider.blacklistToken($),J)this.jwtProvider.blacklistToken(J)}async verifyToken($){try{let J=this.jwtProvider.verifyAccessToken($),Q=await this.userProvider.findById(J.sub);if(!Q)throw new R0("User not found");return Q}catch(J){if(J instanceof Error){if(J.message.includes("expired"))throw new o2;throw new q$(J.message)}throw new q$("Token verification failed")}}getUserFromToken($){return this.jwtProvider.verifyAccessToken($)}hasRoles($,J){let Q=$.roles||[];return J.every((X)=>Q.includes(X))}hasPermissions($,J){let Q=$.permissions||[];return J.every((X)=>Q.includes(X))}async register($){if(!this.userProvider.createUser)throw Error("UserProvider does not support user creation");let J=await this.userProvider.createUser($),Q=this.jwtProvider.generateTokens({sub:J.id,username:J.username,email:J.email,roles:J.roles||[],permissions:J.permissions||[]});return{user:J,tokens:Q}}cleanup(){this.jwtProvider.cleanupBlacklist()}getJWTProvider(){return this.jwtProvider}}class TG{users=new Map;async findByCredentials($,J){for(let[Q,X]of this.users)if(X.username===$){if(await this.verifyPassword(J,X.passwordHash)){let{passwordHash:W,...H}=X;return H}}return null}async findById($){let J=this.users.get($);if(J){let{passwordHash:Q,...X}=J;return X}return null}async hashPassword($){return Buffer.from($).toString("base64")}async verifyPassword($,J){return await this.hashPassword($)===J}async createUser($){let J=crypto.randomUUID(),Q=await this.hashPassword($.password),X={id:J,username:$.username,email:$.email,roles:$.roles||["user"],passwordHash:Q};this.users.set(J,X);let{passwordHash:Y,...W}=X;return W}}class W2{roles=new Map;hierarchy=new Map;compiledPermissions=new Map;defineRole($){if(this.roles.set($.name,$),$.inherits&&$.inherits.length>0)this.hierarchy.set($.name,$.inherits);this.compiledPermissions.clear()}defineRoles($){for(let J of $)this.defineRole(J)}getRolePermissions($){if(this.compiledPermissions.has($))return Array.from(this.compiledPermissions.get($));let J=new Set;return this.collectPermissions($,J,new Set),this.compiledPermissions.set($,J),Array.from(J)}roleHasPermission($,J){return this.getRolePermissions($).includes(J)}userHasPermission($,J){for(let Q of $)if(this.roleHasPermission(Q,J))return!0;return!1}userHasRoles($,J){return J.every((Q)=>$.includes(Q))}userHasAnyRole($,J){return J.some((Q)=>$.includes(Q))}getRolesWithPermission($){let J=[];for(let Q of this.roles.keys())if(this.roleHasPermission(Q,$))J.push(Q);return J}getRoleHierarchy($){let J=[];return this.collectParentRoles($,J,new Set),J}roleInheritsFrom($,J){return this.getRoleHierarchy($).includes(J)}getAllRoles(){return Array.from(this.roles.values())}getRole($){return this.roles.get($)}roleExists($){return this.roles.has($)}validateRoles($){let J=[],Q=[];for(let X of $)if(this.roleExists(X))J.push(X);else Q.push(X);return{valid:J,invalid:Q}}getEffectiveRoles($){let J=new Set;for(let Q of $)J.add(Q),this.getRoleHierarchy(Q).forEach((Y)=>J.add(Y));return Array.from(J)}compareRoleLevels($,J){let Q=this.getRole($),X=this.getRole(J),Y=Q?.level??0,W=X?.level??0;return Y-W}getHighestRoleLevel($){let J=0;for(let Q of $){let X=this.getRole(Q);if(X&&X.level&&X.level>J)J=X.level}return J}collectPermissions($,J,Q){if(Q.has($))throw Error(`Circular role inheritance detected: ${$}`);Q.add($);let X=this.roles.get($);if(!X)throw Error(`Role not found: ${$}`);X.permissions.forEach((W)=>J.add(W));let Y=this.hierarchy.get($)||[];for(let W of Y)this.collectPermissions(W,J,new Set(Q))}collectParentRoles($,J,Q){if(Q.has($))return;Q.add($);let X=this.hierarchy.get($)||[];for(let Y of X)J.push(Y),this.collectParentRoles(Y,J,Q)}}function r5(){let $=new W2;return $.defineRoles([{name:"guest",description:"Guest user with minimal permissions",permissions:["read:public"],level:1},{name:"user",description:"Regular authenticated user",permissions:["read:own","write:own","read:public"],inherits:["guest"],level:10},{name:"moderator",description:"Moderator with content management permissions",permissions:["read:all","write:all","moderate:content"],inherits:["user"],level:50},{name:"admin",description:"Administrator with full system access",permissions:["*"],inherits:["moderator"],level:100},{name:"super-admin",description:"Super administrator with unrestricted access",permissions:["*","system:*"],inherits:["admin"],level:1000}]),$}var oL=N.object({name:N.string().min(1),description:N.string().optional(),permissions:N.array(N.string()),inherits:N.array(N.string()).optional(),level:N.number().optional()}),rL=N.object({userId:N.string(),roles:N.array(N.string())}),aL=N.object({userId:N.string(),permission:N.string()});class H2{static matches($,J){if(J==="*")return!0;if(J.endsWith("*")){let Q=J.slice(0,-1);return $.startsWith(Q)}return $===J}static hasPermission($,J){return $.some((Q)=>this.matches(J,Q))}static filterByPattern($,J){return $.filter((Q)=>this.matches(Q,J))}}function tL($){return(J,Q)=>{let X={required:!$?.optional,config:$};S.defineAuth(J,Q,X)}}function eL(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"current-user",required:!1})}}function $O(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"token",required:!1})}}function a5($){return async(J,Q)=>{let X=J.req.header("Authorization");if(!X||!X.startsWith("Bearer "))J.set("auth.error","Missing or invalid Authorization header"),J.set("auth.authenticated",!1);else{let Y=X.substring(7);try{let W=$.verifyAccessToken(Y);J.set("auth.user",W),J.set("auth.token",Y),J.set("auth.authenticated",!0)}catch(W){J.set("auth.error",W instanceof Error?W.message:"Authentication failed"),J.set("auth.authenticated",!1)}}await Q()}}function w1($){return $.get("auth.user")||null}function t5($){return $.get("auth.token")||null}function JO($){return $.get("auth.authenticated")===!0}function QO($){return $.get("auth.error")||null}h1();function bG($){return(J,Q)=>{let Y={config:Array.isArray($)?{roles:$,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...$}};S.defineRoles(J,Q,Y)}}function fG($){return(J,Q)=>{let Y={config:Array.isArray($)?{permissions:$,requireAll:!1}:{requireAll:!1,...$}};S.definePermissions(J,Q,Y)}}function e5($){return bG([$])}function XO($){return fG([$])}function YO(){return e5("admin")}function WO(){return e5("super-admin")}function HO($){return(J,Q)=>{S.defineMinimumRole(J,Q,{roleName:$})}}function $7($){return async(J,Q)=>{J.set("rbac",$),await Q()}}class D6{rbac;constructor($){this.rbac=$}checkRoles($,J){let Q=w1($);if(!Q)throw new E0("Authentication required for role check");let X=Q.roles||[],Y=J.allowInherited?this.rbac.getEffectiveRoles(X):X,W;if(J.requireAll)W=J.roles.every((H)=>Y.includes(H));else W=J.roles.some((H)=>Y.includes(H));if(!W){let H=J.requireAll?"all":"any";throw new E0(`Access denied. Required ${H} of roles: ${J.roles.join(", ")}`)}}checkPermissions($,J){let Q=w1($);if(!Q)throw new E0("Authentication required for permission check");let X=Q.roles||[],Y=new Set;for(let G of X)this.rbac.getRolePermissions(G).forEach((U)=>Y.add(U));let W=Array.from(Y),H;if(J.requireAll)H=J.permissions.every((G)=>H2.hasPermission(W,G));else H=J.permissions.some((G)=>H2.hasPermission(W,G));if(!H){let G=J.requireAll?"all":"any";throw new E0(`Access denied. Required ${G} of permissions: ${J.permissions.join(", ")}`)}}checkMinimumRole($,J){let Q=w1($);if(!Q)throw new E0("Authentication required for role level check");let X=Q.roles||[],Y=this.rbac.getHighestRoleLevel(X),W=this.rbac.getRole(J);if(!W)throw Error(`Required role not found: ${J}`);let H=W.level||0;if(Y<H)throw new E0(`Access denied. Minimum role level required: ${J} (level ${H})`)}}function kG($){return $.get("rbac")||null}function J7($){return w1($)?.roles||[]}function xG($){let J=kG($),Q=J7($);if(!J)return[];let X=new Set;for(let Y of Q)J.getRolePermissions(Y).forEach((H)=>X.add(H));return Array.from(X)}function GO($,J){return J7($).includes(J)}function VO($,J){let Q=xG($);return H2.hasPermission(Q,J)}h1();class vG{config;name="rbac";version="1.0.0";dependencies=["auth"];rbac;guard;constructor($={}){this.config=$;if($.rbac)this.rbac=$.rbac;else if($.useDefaults!==!1)this.rbac=r5();else this.rbac=new W2;if($.roles)this.rbac.defineRoles($.roles);this.guard=new D6(this.rbac)}async install($){let J=$7(this.rbac);if($.use(J),$.getContainer().register(W2,{factory:()=>this.rbac,scope:"singleton"}),$.getContainer().register(D6,{factory:()=>this.guard,scope:"singleton"}),this.extendRouterCompiler($),this.config.enableManagementRoutes!==!1)this.addManagementRoutes($)}extendRouterCompiler($){let J=$.compile.bind($);$.compile=async()=>{let Q=$.getMetadata().getRoutes();for(let X of Q)if(X.roles||X.permissions||X.minimumRole){let Y=this.buildRBACMiddleware(X);$.getMetadata().registerRoute({...X,middleware:[Y,...X.middleware||[]]})}await J()}}buildRBACMiddleware($){let J=this.guard,Q=$.roles?.config,X=$.permissions?.config,Y=$.minimumRole;return async(W,H)=>{if(!w1(W))throw new E0("Authentication required");if(Q)J.checkRoles(W,Q);if(X)J.checkPermissions(W,X);if(Y)J.checkMinimumRole(W,Y.roleName);await H()}}addManagementRoutes($){let J=this.config.routes||{};$.get(J.roles||"/rbac/roles",{handler:(Q)=>{let X=this.rbac.getAllRoles();return Q.json({success:!0,roles:X.map((Y)=>({name:Y.name,description:Y.description,permissions:Y.permissions,inherits:Y.inherits,level:Y.level}))})}}),$.get("/rbac/roles/:roleName",{handler:(Q)=>{let X=Q.req.param("roleName"),Y=this.rbac.getRole(X);if(!Y)return Q.json({error:"Role not found"},404);let W=this.rbac.getRolePermissions(X),H=this.rbac.getRoleHierarchy(X);return Q.json({success:!0,role:{...Y,effectivePermissions:W,hierarchy:H}})}}),$.get("/rbac/roles/:roleName/permissions",{handler:(Q)=>{let X=Q.req.param("roleName");if(!this.rbac.roleExists(X))return Q.json({error:"Role not found"},404);let Y=this.rbac.getRolePermissions(X);return Q.json({success:!0,role:X,permissions:Y})}}),$.post("/rbac/check-permission",{handler:async(Q)=>{let X=await Q.req.json(),{roles:Y,permission:W}=X;if(!Array.isArray(Y)||!W)return Q.json({error:"Invalid request body"},400);let H=this.rbac.userHasPermission(Y,W);return Q.json({success:!0,hasPermission:H,roles:Y,permission:W})}}),$.post("/rbac/check-roles",{handler:async(Q)=>{let X=await Q.req.json(),{userRoles:Y,requiredRoles:W,requireAll:H=!1}=X;if(!Array.isArray(Y)||!Array.isArray(W))return Q.json({error:"Invalid request body"},400);let G=H?this.rbac.userHasRoles(Y,W):this.rbac.userHasAnyRole(Y,W);return Q.json({success:!0,hasRoles:G,userRoles:Y,requiredRoles:W,requireAll:H})}}),$.post("/rbac/effective-roles",{handler:async(Q)=>{let X=await Q.req.json(),{roles:Y}=X;if(!Array.isArray(Y))return Q.json({error:"Invalid request body"},400);let W=this.rbac.getEffectiveRoles(Y);return Q.json({success:!0,inputRoles:Y,effectiveRoles:W})}}),$.post("/rbac/user-permissions",{handler:async(Q)=>{let X=await Q.req.json(),{roles:Y}=X;if(!Array.isArray(Y))return Q.json({error:"Invalid request body"},400);let W=new Set;for(let H of Y)if(this.rbac.roleExists(H))this.rbac.getRolePermissions(H).forEach((V)=>W.add(V));return Q.json({success:!0,roles:Y,permissions:Array.from(W)})}})}getRBACManager(){return this.rbac}getGuard(){return this.guard}}h1();class hG{config;name="auth";version="1.0.0";authService;compileExtended=!1;constructor($){this.config=$;this.authService=new _6($.jwt,$.userProvider)}async install($){let J=a5(this.authService.getJWTProvider());if($.use(J),$.getContainer().register(_6,{factory:()=>this.authService,scope:"singleton"}),this.config.enableDefaultRoutes!==!1)this.addDefaultRoutes($);this.extendRouterCompiler($)}extendRouterCompiler($){if(this.compileExtended)return;this.compileExtended=!0,$.use(async(Q,X)=>{Q.set("authService",this.authService),await X()});let J=$.compile.bind($);$.compile=async()=>{await J();let Q=$.getHono(),X=$.getMetadata().getRoutes();for(let Y of X){let W=S.getAuthMetadata(Y.target.prototype,Y.propertyKey);if(Y.auth?.required||W?.required){console.log("Adding auth middleware for route:",Y.path,Y.method);let G=Y.auth?.config||W?.config;Q.use(Y.path,async(V,U)=>{if(console.log("Auth middleware executing for:",V.req.path,V.req.method,"target:",Y.path,Y.method),V.req.method!==Y.method)return console.log("Method mismatch, skipping auth check"),U();console.log("Checking authentication...");let q=V.get("auth.user"),_=V.get("auth.error");if(!q){let F=_||"Authentication required";throw console.log("No user found, throwing auth exception"),new R0(F)}if(G?.roles?.length){if(!this.authService.hasRoles(q,G.roles))throw new E0(`Required roles: ${G.roles.join(", ")}`)}if(G?.permissions?.length){if(!this.authService.hasPermissions(q,G.permissions))throw new E0(`Required permissions: ${G.permissions.join(", ")}`)}await U()})}}}}buildPath($){return $.path}pathMatches($,J){let Q=$.replace(/:([^/]+)/g,"([^/]+)");return new RegExp(`^${Q}$`).test(J)}addDefaultRoutes($){let J=this.config.routes||{};if($.post(J.login||"/auth/login",{handler:async(Q)=>{let X=await Q.req.json(),{username:Y,password:W}=X;try{let H=await this.authService.login(Y,W);return{success:!0,user:H.user,tokens:H.tokens}}catch(H){throw new R0(H instanceof Error?H.message:"Login failed")}},schema:{body:N.object({username:N.string().min(1),password:N.string().min(1)})}}),$.post(J.refresh||"/auth/refresh",{handler:async(Q)=>{let X=await Q.req.json(),{refreshToken:Y}=X;try{return{success:!0,tokens:await this.authService.refresh(Y)}}catch(W){throw new R0(W instanceof Error?W.message:"Token refresh failed")}},schema:{body:N.object({refreshToken:N.string().min(1)})}}),$.post(J.logout||"/auth/logout",{handler:async(Q)=>{let X=t5(Q),Y=await Q.req.json(),{refreshToken:W}=Y;if(X)await this.authService.logout(X,W);return{success:!0,message:"Logged out successfully"}},schema:{body:N.object({refreshToken:N.string().optional()})}}),"createUser"in this.config.userProvider)$.post(J.register||"/auth/register",{handler:async(Q)=>{let X=await Q.req.json(),{username:Y,password:W,email:H}=X;try{let G=await this.authService.register({username:Y,password:W,email:H});return{success:!0,user:G.user,tokens:G.tokens}}catch(G){throw new R0(G instanceof Error?G.message:"Registration failed")}},schema:{body:N.object({username:N.string().min(1),password:N.string().min(6),email:N.string().email().optional()})}});$.get("/auth/me",{handler:async(Q)=>{let X=w1(Q);if(!X)throw new R0("Not authenticated");return{success:!0,user:X}}})}getAuthService(){return this.authService}}class r4{name;config;constructor($,J){this.name=$;this.config=J}getAuthUrl($,J){let Q=new URLSearchParams({client_id:this.config.clientId,redirect_uri:this.config.redirectUri,response_type:"code",state:$,scope:this.config.scopes?.join(" ")||""});if(J&&this.config.pkce)Q.set("code_challenge",J),Q.set("code_challenge_method","S256");return`${this.config.authUrl}?${Q.toString()}`}async exchangeCodeForTokens($,J){let Q=new URLSearchParams({client_id:this.config.clientId,client_secret:this.config.clientSecret,code:$,grant_type:"authorization_code",redirect_uri:this.config.redirectUri});if(J&&this.config.pkce)Q.set("code_verifier",J);let X=await fetch(this.config.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:Q.toString()});if(!X.ok){let W=await X.text();throw Error(`Token exchange failed: ${W}`)}let Y=await X.json();return{accessToken:Y.access_token,refreshToken:Y.refresh_token,expiresIn:Y.expires_in,tokenType:Y.token_type||"Bearer",scope:Y.scope}}async getUserInfo($){let J=await fetch(this.config.userInfoUrl,{headers:{Authorization:`Bearer ${$}`,Accept:"application/json"}});if(!J.ok){let X=await J.text();throw Error(`Failed to get user info: ${X}`)}let Q=await J.json();return this.mapUserInfo(Q)}mapUserInfo($){return{id:$.id||$.sub,email:$.email,name:$.name,username:$.login||$.preferred_username,avatar:$.avatar_url||$.picture,provider:this.name,...$}}}class UO extends r4{constructor($,J,Q){super("google",{clientId:$,clientSecret:J,redirectUri:Q,scopes:["openid","profile","email"],authUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v2/userinfo",pkce:!0})}mapUserInfo($){return{id:$.id,email:$.email,name:$.name,username:$.email,avatar:$.picture,provider:"google",verified:$.verified_email,locale:$.locale,raw:$}}}class qO extends r4{constructor($,J,Q){super("github",{clientId:$,clientSecret:J,redirectUri:Q,scopes:["user:email"],authUrl:"https://github.com/login/oauth/authorize",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",pkce:!1})}mapUserInfo($){return{id:$.id.toString(),email:$.email,name:$.name,username:$.login,avatar:$.avatar_url,provider:"github",company:$.company,location:$.location,bio:$.bio,raw:$}}async getUserInfo($){let J=await fetch(this.config.userInfoUrl,{headers:{Authorization:`Bearer ${$}`,Accept:"application/vnd.github.v3+json","User-Agent":"VeloceTS-OAuth"}});if(!J.ok)throw Error(`Failed to get user info: ${await J.text()}`);let Q=await J.json();if(!Q.email)try{let X=await fetch("https://api.github.com/user/emails",{headers:{Authorization:`Bearer ${$}`,Accept:"application/vnd.github.v3+json","User-Agent":"VeloceTS-OAuth"}});if(X.ok){let W=(await X.json()).find((H)=>H.primary);if(W)Q.email=W.email}}catch(X){}return this.mapUserInfo(Q)}}class _O extends r4{constructor($,J,Q,X="common"){super("microsoft",{clientId:$,clientSecret:J,redirectUri:Q,scopes:["openid","profile","email"],authUrl:`https://login.microsoftonline.com/${X}/oauth2/v2.0/authorize`,tokenUrl:`https://login.microsoftonline.com/${X}/oauth2/v2.0/token`,userInfoUrl:"https://graph.microsoft.com/v1.0/me",pkce:!0})}mapUserInfo($){return{id:$.id,email:$.mail||$.userPrincipalName,name:$.displayName,username:$.userPrincipalName,avatar:void 0,provider:"microsoft",jobTitle:$.jobTitle,department:$.department,officeLocation:$.officeLocation,raw:$}}}class DO{static generateCodeVerifier(){let $=new Uint8Array(32);return crypto.getRandomValues($),this.base64URLEncode($)}static async generateCodeChallenge($){let Q=new TextEncoder().encode($),X=await crypto.subtle.digest("SHA-256",Q);return this.base64URLEncode(new Uint8Array(X))}static async generatePKCEChallenge(){let $=this.generateCodeVerifier(),J=await this.generateCodeChallenge($);return{codeVerifier:$,codeChallenge:J,codeChallengeMethod:"S256"}}static base64URLEncode($){return btoa(String.fromCharCode(...$)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}}class BO{states=new Map;ttl=600000;generateState($){let J=crypto.randomUUID();return this.states.set(J,{timestamp:Date.now(),data:$}),this.cleanup(),J}validateState($){let J=this.states.get($);if(!J)return{valid:!1};if(Date.now()-J.timestamp>this.ttl)return this.states.delete($),{valid:!1};return this.states.delete($),{valid:!0,data:J.data}}cleanup(){let $=Date.now();for(let[J,Q]of this.states.entries())if($-Q.timestamp>this.ttl)this.states.delete(J)}}var Ab=N.object({code:N.string(),state:N.string(),error:N.string().optional(),error_description:N.string().optional()}),jb=N.object({accessToken:N.string(),refreshToken:N.string().optional(),expiresIn:N.number().optional(),tokenType:N.string(),scope:N.string().optional()}),gG=N.object({id:N.string(),email:N.string().optional(),name:N.string().optional(),username:N.string().optional(),avatar:N.string().optional(),provider:N.string()}).passthrough();function yG($){return(J,Q)=>{let X={provider:$.provider,config:$};S.defineOAuth(J,Q,X)}}function uG(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"oauth-user",required:!0})}}function mG(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"oauth-token",required:!0})}}function lG($){return $.get("oauth.user")||null}function cG($){return $.get("oauth.token")||null}function dG($){return $.get("oauth.authenticated")===!0}function pG($){return $.get("oauth.provider")||null}class FO{sessions=new Map;async get($){let J=this.sessions.get($);if(!J)return null;if(J.expiresAt&&J.expiresAt<new Date)return this.sessions.delete($),null;return J}async set($,J){this.sessions.set($,J)}async destroy($){this.sessions.delete($)}async touch($){let J=this.sessions.get($);if(J)J.updatedAt=new Date,this.sessions.set($,J)}async clear(){this.sessions.clear()}async length(){return this.sessions.size}async all(){return Array.from(this.sessions.values())}cleanup(){let $=new Date;for(let[J,Q]of this.sessions.entries())if(Q.expiresAt&&Q.expiresAt<$)this.sessions.delete(J)}}class zO{redis;prefix="sess:";constructor($,J){this.redis=$;if(J)this.prefix=J}async get($){let J=this.prefix+$,Q=await this.redis.get(J);if(!Q)return null;try{let X=JSON.parse(Q);if(X.createdAt=new Date(X.createdAt),X.updatedAt=new Date(X.updatedAt),X.expiresAt)X.expiresAt=new Date(X.expiresAt);return X}catch(X){return null}}async set($,J){let Q=this.prefix+$,X=JSON.stringify(J);if(J.expiresAt){let Y=Math.floor((J.expiresAt.getTime()-Date.now())/1000);if(Y>0)await this.redis.setex(Q,Y,X)}else await this.redis.set(Q,X)}async destroy($){let J=this.prefix+$;await this.redis.del(J)}async touch($){let J=await this.get($);if(J)J.updatedAt=new Date,await this.set($,J)}async clear(){let $=await this.redis.keys(this.prefix+"*");if($.length>0)await this.redis.del(...$)}async length(){return(await this.redis.keys(this.prefix+"*")).length}async all(){let $=await this.redis.keys(this.prefix+"*"),J=[];for(let Q of $){let X=await this.redis.get(Q);if(X)try{let Y=JSON.parse(X);if(Y.createdAt=new Date(Y.createdAt),Y.updatedAt=new Date(Y.updatedAt),Y.expiresAt)Y.expiresAt=new Date(Y.expiresAt);J.push(Y)}catch(Y){}}return J}}class Q7{store;config;constructor($,J){this.store=$;this.config={name:"sessionId",maxAge:86400000,secure:!1,httpOnly:!0,sameSite:"lax",path:"/",rolling:!1,genid:()=>crypto.randomUUID(),...J,domain:J.domain}}async createSession($,J={},Q){let X=this.config.genid(),Y=new Date,W=Q?.maxAge||this.config.maxAge,H={id:X,userId:$,data:J,createdAt:Y,updatedAt:Y,expiresAt:new Date(Y.getTime()+W),ipAddress:Q?.ipAddress,userAgent:Q?.userAgent,csrfToken:this.generateCSRFToken()};return await this.store.set(X,H),H}async getSession($){return await this.store.get($)}async updateSession($,J){let Q=await this.store.get($);if(!Q)return null;if(Q.data={...Q.data,...J},Q.updatedAt=new Date,this.config.rolling)Q.expiresAt=new Date(Date.now()+this.config.maxAge);return await this.store.set($,Q),Q}async touchSession($){if(this.config.rolling){let J=await this.store.get($);if(J)J.updatedAt=new Date,J.expiresAt=new Date(Date.now()+this.config.maxAge),await this.store.set($,J)}else await this.store.touch($)}async destroySession($){await this.store.destroy($)}async regenerateSession($){let J=await this.store.get($);if(!J)return null;let Q=this.config.genid(),X={...J,id:Q,updatedAt:new Date,csrfToken:this.generateCSRFToken()};return await this.store.set(Q,X),await this.store.destroy($),X}async getUserSessions($){return(await this.store.all()).filter((Q)=>Q.userId===$)}async destroyUserSessions($){let J=await this.getUserSessions($);for(let Q of J)await this.store.destroy(Q.id)}validateCSRFToken($,J){return $.csrfToken===J}generateCSRFToken(){return crypto.randomUUID()}getCookieOptions(){let $={maxAge:this.config.maxAge,secure:this.config.secure,httpOnly:this.config.httpOnly,sameSite:this.config.sameSite,path:this.config.path};if(this.config.domain)$.domain=this.config.domain;return $}getConfig(){return{...this.config}}getStore(){return this.store}}class wO{tokenStore=new Map;tokenTTL=3600000;generateToken($){let J=crypto.randomUUID(),Q=new Date(Date.now()+this.tokenTTL);return this.tokenStore.set($,{token:J,expiresAt:Q}),this.cleanup(),J}validateToken($,J){let Q=this.tokenStore.get($);if(!Q)return!1;if(Q.expiresAt<new Date)return this.tokenStore.delete($),!1;return Q.token===J}removeToken($){this.tokenStore.delete($)}cleanup(){let $=new Date;for(let[J,Q]of this.tokenStore.entries())if(Q.expiresAt<$)this.tokenStore.delete(J)}}var iG=N.object({id:N.string(),userId:N.string(),data:N.record(N.any()),createdAt:N.date(),updatedAt:N.date(),expiresAt:N.date().optional(),ipAddress:N.string().optional(),userAgent:N.string().optional(),csrfToken:N.string().optional()}),Zb=N.object({name:N.string().optional(),secret:N.string(),maxAge:N.number().optional(),secure:N.boolean().optional(),httpOnly:N.boolean().optional(),sameSite:N.enum(["strict","lax","none"]).optional(),domain:N.string().optional(),path:N.string().optional(),rolling:N.boolean().optional()}),Sb=N.object({userId:N.string(),data:N.record(N.any()).optional(),maxAge:N.number().optional(),ipAddress:N.string().optional(),userAgent:N.string().optional()}),Cb=N.object({data:N.record(N.any())});h1();function nG($={}){return(J,Q)=>{let X={config:$};S.defineSession(J,Q,X)}}function sG(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"current-session",required:!0})}}function Tb($){return(J,Q,X)=>{if(Q)S.defineParameter(J,Q,X,{index:X,type:"session-data",required:!1,metadata:{key:$}})}}function oG(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"csrf-token",required:!0})}}function rG(){return($,J)=>{S.defineCSRF($,J,{required:!0})}}function aG($,J){return async(Q,X)=>{let Y=$.getConfig(),W=G4(Q,Y.name),H=null;if(W){if(H=await $.getSession(W),H)await $.touchSession(W)}Q.set("session",H),Q.set("sessionManager",$),Q.set("csrfProtection",J),await X()}}class X7{sessionManager;csrfProtection;constructor($,J){this.sessionManager=$;this.csrfProtection=J}checkSession($,J){let Q=u0($);if(J.required&&!Q)throw new R0("Session required");if(Q&&J.csrf)this.checkCSRF($,Q)}checkCSRF($,J){if(!this.csrfProtection)throw Error("CSRF protection not configured");let Q=$.req.header("X-CSRF-Token")||$.req.query("_csrf");if(!Q)throw new E0("CSRF token required");if(!this.csrfProtection.validateToken(J.id,Q))throw new E0("Invalid CSRF token")}async createSession($,J,Q={}){let X=G2($);if(!X)throw Error("Session manager not available");let Y=$.req.header("X-Forwarded-For")||$.req.header("X-Real-IP")||"unknown",W=$.req.header("User-Agent")||"unknown",H=await X.createSession(J,Q,{ipAddress:Y,userAgent:W}),G=X.getCookieOptions();return V4($,X.getConfig().name,H.id,G),$.set("session",H),H}async updateSession($,J){let Q=u0($),X=G2($);if(!Q||!X)return null;let Y=await X.updateSession(Q.id,J);if(Y)$.set("session",Y);return Y}async destroySession($){let J=u0($),Q=G2($);if(!J||!Q)return;await Q.destroySession(J.id);let X=Q.getConfig();if(V4($,X.name,"",{...Q.getCookieOptions(),maxAge:0}),$.set("session",null),this.csrfProtection)this.csrfProtection.removeToken(J.id)}async regenerateSession($){let J=u0($),Q=G2($);if(!J||!Q)return null;let X=await Q.regenerateSession(J.id);if(X){let Y=Q.getCookieOptions();if(V4($,Q.getConfig().name,X.id,Y),$.set("session",X),this.csrfProtection)this.csrfProtection.removeToken(J.id),this.csrfProtection.generateToken(X.id)}return X}generateCSRFToken($){let J=u0($);if(!J||!this.csrfProtection)return null;return this.csrfProtection.generateToken(J.id)}}function u0($){return $.get("session")||null}function G2($){return $.get("sessionManager")||null}function tG($){return $.get("csrfProtection")||null}function eG($,J){let Q=u0($);if(!Q)return null;if(J)return Q.data[J];return Q.data}function $V($){return u0($)!==null}function JV($){return u0($)?.userId||null}function QV($,J,Q){let X=u0($);if(X)X.data[J]=Q,$.set("session",X)}function XV($,J){let Q=u0($);if(Q&&J in Q.data)delete Q.data[J],$.set("session",Q)}class m1{schema;constructor($){this.schema=$}validate($){if(this.schema)return this.schema.parse($);return $}validatePartial($){if(this.schema)try{return this.schema.parse($)}catch{return $}return $}async createMany($){let J=[];for(let Q of $)J.push(await this.create(Q));return J}async updateMany($,J){let Q=await this.findMany({where:$}),X=0;for(let Y of Q){let W=Y.id;if(W)await this.update(W,J),X++}return X}async deleteMany($){let J=await this.findMany({where:$}),Q=0;for(let X of J){let Y=X.id;if(Y&&await this.delete(Y))Q++}return Q}async findPaginated($){let{pagination:J,...Q}=$,{page:X,limit:Y}=J,W=(X-1)*Y,H=await this.count(Q.where),G=await this.findMany({...Q,pagination:{...J,offset:W}}),V=Math.ceil(H/Y);return{data:G,total:H,page:X,limit:Y,totalPages:V,hasNext:X<V,hasPrev:X>1}}async count($){return(await this.findMany({where:$})).length}async exists($){return await this.findOne({where:$})!==null}async withTransaction($){return $(this)}buildWhereClause($){if(!$)return{};return $}buildOrderByClause($){if(!$)return{};if(Array.isArray($))return $.reduce((J,Q)=>{return J[Q.field]=Q.direction,J},{});return{[$.field]:$.direction}}buildPaginationClause($){if(!$)return{};let J={};if($.limit)J.take=$.limit;if($.offset)J.skip=$.offset;return J}}class P1 extends m1{client;delegate;modelName;constructor($){super($.zodSchema);this.client=$.client,this.delegate=$.delegate,this.modelName=$.model}async create($){let J=this.validatePartial($),Q=await this.delegate.create({data:J});return this.validate(Q)}async findById($){let J=await this.delegate.findUnique({where:{id:$}});return J?this.validate(J):null}async findOne($){let J=this.buildPrismaFindOptions($),Q=await this.delegate.findFirst(J);return Q?this.validate(Q):null}async findMany($){let J=this.buildPrismaFindOptions($||{});return(await this.delegate.findMany(J)).map((X)=>this.validate(X))}async update($,J){let Q=this.validatePartial(J),X=await this.delegate.update({where:{id:$},data:Q});return this.validate(X)}async delete($){try{return await this.delegate.delete({where:{id:$}}),!0}catch(J){return!1}}async createMany($){let J=$.map((X)=>this.validatePartial(X));await this.delegate.create({data:J,skipDuplicates:!0});let Q=[];for(let X of J){let Y=await this.create(X);Q.push(Y)}return Q}async updateMany($,J){let Q=this.validatePartial(J);return(await this.delegate.updateMany({where:this.buildWhereClause($),data:Q})).count}async deleteMany($){return(await this.delegate.deleteMany({where:this.buildWhereClause($)})).count}async count($){return await this.delegate.count({where:$?this.buildWhereClause($):void 0})}async exists($){return await this.delegate.count({where:this.buildWhereClause($),take:1})>0}async findPaginated($){let{pagination:J,...Q}=$,{page:X,limit:Y}=J,W=(X-1)*Y,H=this.buildPrismaFindOptions(Q),[G,V]=await Promise.all([this.delegate.count({where:H.where}),this.delegate.findMany({...H,skip:W,take:Y})]),U=V.map((_)=>this.validate(_)),q=Math.ceil(G/Y);return{data:U,total:G,page:X,limit:Y,totalPages:q,hasNext:X<q,hasPrev:X>1}}async withTransaction($){return await this.client.$transaction(async(J)=>{let Q=new this.constructor({client:J,delegate:J[this.modelName.toLowerCase()],model:this.modelName,zodSchema:this.schema});return await $(Q)})}buildPrismaFindOptions($){let J={};if($.where)J.where=this.buildWhereClause($.where);if($.orderBy)J.orderBy=this.buildOrderByClause($.orderBy);if($.pagination){let Q=this.buildPaginationClause($.pagination);Object.assign(J,Q)}if($.include)J.include=$.include.reduce((Q,X)=>{return Q[X]=!0,Q},{});if($.select)J.select=$.select.reduce((Q,X)=>{return Q[X]=!0,Q},{});return J}buildWhereClause($){let J={};for(let[Q,X]of Object.entries($))if(X===null||X===void 0)J[Q]=null;else if(typeof X==="object"&&!Array.isArray(X))J[Q]=X;else if(Array.isArray(X))J[Q]={in:X};else J[Q]=X;return J}buildOrderByClause($){if(Array.isArray($))return $.map((J)=>({[J.field]:J.direction}));return{[$.field]:$.direction}}buildPaginationClause($){let J={};if($.limit)J.take=$.limit;if($.offset)J.skip=$.offset;return J}async aggregate($){let J={};if($.where)J.where=this.buildWhereClause($.where);if($._count)J._count=$._count;if($._avg)J._avg=$._avg;if($._sum)J._sum=$._sum;if($._min)J._min=$._min;if($._max)J._max=$._max;return await this.delegate.aggregate(J)}async groupBy($){let J={by:$.by};if($.where)J.where=this.buildWhereClause($.where);if($.having)J.having=this.buildWhereClause($.having);if($.orderBy)J.orderBy=this.buildOrderByClause($.orderBy);if($._count)J._count=$._count;if($._avg)J._avg=$._avg;if($._sum)J._sum=$._sum;if($._min)J._min=$._min;if($._max)J._max=$._max;return await this.delegate.groupBy(J)}}class K1 extends m1{dataSource;repository;entity;constructor($){super($.zodSchema);this.dataSource=$.dataSource,this.repository=$.repository,this.entity=$.entity}async create($){let J=this.validatePartial($),Q=this.repository.create(J),X=await this.repository.save(Q);return this.validate(X)}async findById($){let J=await this.repository.findOneBy({id:$});return J?this.validate(J):null}async findOne($){let J=this.buildTypeORMFindOptions($),Q=await this.repository.findOne(J);return Q?this.validate(Q):null}async findMany($){let J=this.buildTypeORMFindOptions($||{});return(await this.repository.find(J)).map((X)=>this.validate(X))}async update($,J){let Q=this.validatePartial(J),X=await this.repository.findOneBy({id:$});if(!X)throw Error(`Entity with id ${$} not found`);let Y=this.repository.merge(X,Q),W=await this.repository.save(Y);return this.validate(W)}async delete($){return((await this.repository.delete({id:$})).affected||0)>0}async createMany($){let Q=$.map((Y)=>this.validatePartial(Y)).map((Y)=>this.repository.create(Y));return(await this.repository.save(Q)).map((Y)=>this.validate(Y))}async updateMany($,J){let Q=this.validatePartial(J),X=this.buildWhereClause($);return(await this.repository.update(X,Q)).affected||0}async deleteMany($){let J=this.buildWhereClause($);return(await this.repository.delete(J)).affected||0}async count($){let J=$?{where:this.buildWhereClause($)}:{};return await this.repository.count(J)}async exists($){return await this.repository.count({where:this.buildWhereClause($),take:1})>0}async findPaginated($){let{pagination:J,...Q}=$,{page:X,limit:Y}=J,W=(X-1)*Y,H=this.buildTypeORMFindOptions(Q);H.skip=W,H.take=Y;let[G,V]=await this.repository.createQueryBuilder("entity").where(H.where||{}).orderBy(H.order||{}).skip(W).take(Y).getManyAndCount(),U=G.map((_)=>this.validate(_)),q=Math.ceil(V/Y);return{data:U,total:V,page:X,limit:Y,totalPages:q,hasNext:X<q,hasPrev:X>1}}async withTransaction($){return await this.dataSource.transaction(async(J)=>{let Q=J.getRepository?J.getRepository(this.entity):this.repository,X=new this.constructor({dataSource:this.dataSource,repository:Q,entity:this.entity,zodSchema:this.schema});return await $(X)})}buildTypeORMFindOptions($){let J={};if($.where)J.where=this.buildWhereClause($.where);if($.orderBy)J.order=this.buildOrderByClause($.orderBy);if($.pagination){if($.pagination.limit)J.take=$.pagination.limit;if($.pagination.offset)J.skip=$.pagination.offset}if($.include)J.relations=$.include;if($.select)J.select=$.select.reduce((Q,X)=>{return Q[X]=!0,Q},{});return J}buildWhereClause($){let J={};for(let[Q,X]of Object.entries($))if(X===null||X===void 0)J[Q]=null;else if(typeof X==="object"&&!Array.isArray(X))if("gt"in X)J[Q]={$gt:X.gt};else if("gte"in X)J[Q]={$gte:X.gte};else if("lt"in X)J[Q]={$lt:X.lt};else if("lte"in X)J[Q]={$lte:X.lte};else if("like"in X)J[Q]={$like:X.like};else if("in"in X)J[Q]={$in:X.in};else J[Q]=X;else if(Array.isArray(X))J[Q]={$in:X};else J[Q]=X;return J}buildOrderByClause($){if(Array.isArray($))return $.reduce((J,Q)=>{return J[Q.field]=Q.direction.toUpperCase(),J},{});return{[$.field]:$.direction.toUpperCase()}}createQueryBuilder($){return this.repository.createQueryBuilder($)}async query($,J){return await this.dataSource.manager.query($,J)}async softDelete($){try{if(this.dataSource.getMetadata(this.entity).columns.some((X)=>X.propertyName==="deletedAt"))return((await this.repository.update({id:$},{deletedAt:new Date})).affected||0)>0;else return await this.delete($)}catch(J){return!1}}async restore($){try{return((await this.repository.update({id:$},{deletedAt:null})).affected||0)>0}catch(J){return!1}}async findWithRelations($,J){let Q=await this.repository.findOne({where:{id:$},relations:J});return Q?this.validate(Q):null}async bulkInsert($){let J=$.map((Y)=>this.validatePartial(Y)),X=this.repository.createQueryBuilder().insert();if(X)await X.into(this.entity).values(J).execute();else await this.createMany($)}async upsert($,J){let Q=this.validatePartial($);try{let X=this.repository.create(Q),Y=await this.repository.save(X);return this.validate(Y)}catch(X){let Y=J.reduce((H,G)=>{if(G in Q)H[G]=Q[G];return H},{}),W=await this.repository.findOneBy(Y);if(W){let H=this.repository.merge(W,Q),G=await this.repository.save(H);return this.validate(G)}throw X}}}class m0 extends m1{database;table;operators;constructor($){super($.zodSchema);this.database=$.database,this.table=$.table,this.operators=this.initializeOperators()}initializeOperators(){return{eq:($,J)=>({type:"eq",column:$,value:J}),ne:($,J)=>({type:"ne",column:$,value:J}),gt:($,J)=>({type:"gt",column:$,value:J}),gte:($,J)=>({type:"gte",column:$,value:J}),lt:($,J)=>({type:"lt",column:$,value:J}),lte:($,J)=>({type:"lte",column:$,value:J}),like:($,J)=>({type:"like",column:$,value:J}),ilike:($,J)=>({type:"ilike",column:$,value:J}),inArray:($,J)=>({type:"in",column:$,values:J}),notInArray:($,J)=>({type:"notIn",column:$,values:J}),isNull:($)=>({type:"isNull",column:$}),isNotNull:($)=>({type:"isNotNull",column:$}),between:($,J,Q)=>({type:"between",column:$,min:J,max:Q}),and:(...$)=>({type:"and",conditions:$}),or:(...$)=>({type:"or",conditions:$}),not:($)=>({type:"not",condition:$})}}async create($){let J=this.validatePartial($),Q=await this.database.insert(this.table).values(J).returning().execute();return this.validate(Q[0])}async findById($){let J=this.getPrimaryKeyColumn(),Q=await this.database.select().from(this.table).where(this.operators.eq(J,$)).execute();return Q.length>0?this.validate(Q[0]):null}async findOne($){let J=this.database.select().from(this.table);if($.where)J=J.where(this.buildWhereClause($.where));if($.orderBy)J=J.orderBy(...this.buildOrderByClause($.orderBy));J=J.limit(1);let Q=await J.execute();return Q.length>0?this.validate(Q[0]):null}async findMany($){let J=this.database.select().from(this.table);if($?.where)J=J.where(this.buildWhereClause($.where));if($?.orderBy)J=J.orderBy(...this.buildOrderByClause($.orderBy));if($?.pagination){if($.pagination.limit)J=J.limit($.pagination.limit);if($.pagination.offset)J=J.offset($.pagination.offset)}return(await J.execute()).map((X)=>this.validate(X))}async update($,J){let Q=this.validatePartial(J),X=this.getPrimaryKeyColumn(),Y=await this.database.update(this.table).set(Q).where(this.operators.eq(X,$)).returning().execute();if(Y.length===0)throw Error(`Entity with id ${$} not found`);return this.validate(Y[0])}async delete($){let J=this.getPrimaryKeyColumn();return(await this.database.delete(this.table).where(this.operators.eq(J,$)).execute()).rowsAffected>0}async createMany($){let J=$.map((X)=>this.validatePartial(X));return(await this.database.insert(this.table).values(J).returning().execute()).map((X)=>this.validate(X))}async updateMany($,J){let Q=this.validatePartial(J),X=this.buildWhereClause($);return(await this.database.update(this.table).set(Q).where(X).execute()).rowsAffected}async deleteMany($){let J=this.buildWhereClause($);return(await this.database.delete(this.table).where(J).execute()).rowsAffected}async count($){let J=this.database.select({count:"COUNT(*)"}).from(this.table);if($)J=J.where(this.buildWhereClause($));return(await J.execute())[0]?.count||0}async exists($){return await this.count($)>0}async findPaginated($){let{pagination:J,...Q}=$,{page:X,limit:Y}=J,W=(X-1)*Y,H=this.database.select().from(this.table),G=this.database.select({count:"COUNT(*)"}).from(this.table);if(Q.where){let B=this.buildWhereClause(Q.where);H=H.where(B),G=G.where(B)}if(Q.orderBy)H=H.orderBy(...this.buildOrderByClause(Q.orderBy));H=H.limit(Y).offset(W);let[V,U]=await Promise.all([H.execute(),G.execute()]),q=U[0]?.count||0,_=V.map((B)=>this.validate(B)),F=Math.ceil(q/Y);return{data:_,total:q,page:X,limit:Y,totalPages:F,hasNext:X<F,hasPrev:X>1}}async withTransaction($){return await this.database.transaction(async(J)=>{let Q=new this.constructor({database:J,table:this.table,zodSchema:this.schema});return await $(Q)})}buildWhereClause($){let J=[];for(let[Q,X]of Object.entries($)){let Y=this.getColumn(Q);if(X===null||X===void 0)J.push(this.operators.isNull(Y));else if(typeof X==="object"&&!Array.isArray(X))if("gt"in X)J.push(this.operators.gt(Y,X.gt));else if("gte"in X)J.push(this.operators.gte(Y,X.gte));else if("lt"in X)J.push(this.operators.lt(Y,X.lt));else if("lte"in X)J.push(this.operators.lte(Y,X.lte));else if("like"in X)J.push(this.operators.like(Y,X.like));else if("ilike"in X)J.push(this.operators.ilike(Y,X.ilike));else if("in"in X)J.push(this.operators.inArray(Y,X.in));else if("notIn"in X)J.push(this.operators.notInArray(Y,X.notIn));else if("between"in X&&Array.isArray(X.between)&&X.between.length===2)J.push(this.operators.between(Y,X.between[0],X.between[1]));else J.push(this.operators.eq(Y,X));else if(Array.isArray(X))J.push(this.operators.inArray(Y,X));else J.push(this.operators.eq(Y,X))}return J.length===1?J[0]:this.operators.and(...J)}buildOrderByClause($){if(Array.isArray($))return $.map((Q)=>{let X=this.getColumn(Q.field);return Q.direction==="desc"?{column:X,direction:"desc"}:X});let J=this.getColumn($.field);return $.direction==="desc"?[{column:J,direction:"desc"}]:[J]}getPrimaryKeyColumn(){for(let[$,J]of Object.entries(this.table._.columns))if(J._.isPrimaryKey)return this.table[$];return this.table.id||this.table._.columns.id}getColumn($){return this.table[$]||this.table._.columns[$]}async rawQuery($,J){return await this.database.execute({sql:$,params:J})}async upsert($,J){let Q=this.validatePartial($),X=J.map((W)=>this.getColumn(W)),Y=await this.database.insert(this.table).values(Q).onConflictDoUpdate({target:X,set:Q}).returning().execute();return this.validate(Y[0])}async bulkUpsert($,J){let Q=$.map((W)=>this.validatePartial(W)),X=J.map((W)=>this.getColumn(W));return(await this.database.insert(this.table).values(Q).onConflictDoUpdate({target:X,set:Q[0]}).returning().execute()).map((W)=>this.validate(W))}async findWithSelect($,J){let Q=J.reduce((Y,W)=>{return Y[W]=this.getColumn(W),Y},{}),X=this.database.select(Q).from(this.table);if($.where)X=X.where(this.buildWhereClause($.where));if($.orderBy)X=X.orderBy(...this.buildOrderByClause($.orderBy));if($.pagination){if($.pagination.limit)X=X.limit($.pagination.limit);if($.pagination.offset)X=X.offset($.pagination.offset)}return await X.execute()}async aggregate($){let J={};if($.count)J.count="COUNT(*)";if($.sum)for(let X of $.sum)J[`sum_${X}`]=`SUM(${X})`;if($.avg)for(let X of $.avg)J[`avg_${X}`]=`AVG(${X})`;if($.min)for(let X of $.min)J[`min_${X}`]=`MIN(${X})`;if($.max)for(let X of $.max)J[`max_${X}`]=`MAX(${X})`;let Q=this.database.select(J).from(this.table);if($.where)Q=Q.where(this.buildWhereClause($.where));if($.groupBy){let X=$.groupBy.map((Y)=>this.getColumn(Y));Q=Q.groupBy(...X)}if($.having)Q=Q.having(this.buildWhereClause($.having));return await Q.execute()}}class z${static instance;constructor(){}static getInstance(){if(!z$.instance)z$.instance=new z$;return z$.instance}createRepository($,J){switch($){case"prisma":return new P1(J);case"typeorm":return new K1(J);case"drizzle":return new m0(J);default:throw Error(`Unsupported repository type: ${$}`)}}createPrismaRepository($){return new P1($)}createTypeORMRepository($){return new K1($)}createDrizzleRepository($){return new m0($)}}class B6{repositories=new Map;factory;constructor(){this.factory=z$.getInstance()}register($,J){this.repositories.set($,J)}get($){return this.repositories.get($)}createAndRegister($,J,Q){let X=this.factory.createRepository(J,Q);return this.register($,X),X}remove($){return this.repositories.delete($)}getNames(){return Array.from(this.repositories.keys())}clear(){this.repositories.clear()}size(){return this.repositories.size}}function NO($,J,Q){return(X,Y)=>{let W={type:"generic-repository",name:$,ormType:J,options:Q};Reflect.defineMetadata("inject",W,X,Y)}}function AO($){return class extends ${repositories=new B6;getRepository(J){return this.repositories.get(J)}createRepository(J,Q,X){return this.repositories.createAndRegister(J,Q,X)}async withRepositories(J,Q){let X=new Map;for(let W of J){let H=this.repositories.get(W);if(H)X.set(W,H)}let Y=X.values().next().value;if(Y&&typeof Y.withTransaction==="function")return await Y.withTransaction(async()=>{return await Q(X)});return await Q(X)}}}class YV{repositories=new B6;constructor(){this.initializeRepositories()}getRepository($){let J=this.repositories.get($);if(!J)throw Error(`Repository '${$}' not found`);return J}async executeInTransaction($,J){let Q=new Map;for(let Y of $){let W=this.repositories.get(Y);if(W)Q.set(Y,W)}let X=Q.values().next().value;if(X&&typeof X.withTransaction==="function")return await X.withTransaction(async()=>{return await J(Q)});return await J(Q)}}var jO=new B6;class a4{executor;operators;selectFields;whereConditions=[];orderByClause;limitCount;offsetCount;groupByFields;havingConditions=[];joins=[];constructor($,J=new Y7){this.executor=$;this.operators=J}select($){return this.selectFields=$,this}where($){let J=this.buildFilterCondition($);return this.whereConditions.push(J),this}orderBy($){return this.orderByClause=$,this}limit($){return this.limitCount=$,this}offset($){return this.offsetCount=$,this}groupBy($){return this.groupByFields=$,this}having($){let J=this.buildFilterCondition($);return this.havingConditions.push(J),this}join($,J){return this.joins.push({type:"JOIN",table:$,condition:J}),this}leftJoin($,J){return this.joins.push({type:"LEFT JOIN",table:$,condition:J}),this}rightJoin($,J){return this.joins.push({type:"RIGHT JOIN",table:$,condition:J}),this}innerJoin($,J){return this.joins.push({type:"INNER JOIN",table:$,condition:J}),this}async execute(){let $=this.buildQuery();return await this.executor.execute($)}async first(){let $=this.limitCount;this.limit(1);let J=await this.execute();return this.limitCount=$,J.length>0?J[0]:null}async count(){let $=this.buildCountQuery();return await this.executor.count($)}async exists(){return await this.count()>0}buildFilterCondition($){let J=[];for(let[Q,X]of Object.entries($))if(X===null||X===void 0)J.push({type:"isNull",field:Q});else if(typeof X==="object"&&!Array.isArray(X))for(let[Y,W]of Object.entries(X))switch(Y){case"eq":J.push({type:"eq",field:Q,value:W});break;case"ne":J.push({type:"ne",field:Q,value:W});break;case"gt":J.push({type:"gt",field:Q,value:W});break;case"gte":J.push({type:"gte",field:Q,value:W});break;case"lt":J.push({type:"lt",field:Q,value:W});break;case"lte":J.push({type:"lte",field:Q,value:W});break;case"like":J.push({type:"like",field:Q,pattern:W});break;case"ilike":J.push({type:"ilike",field:Q,pattern:W});break;case"in":J.push({type:"in",field:Q,values:W});break;case"notIn":J.push({type:"notIn",field:Q,values:W});break;case"between":if(Array.isArray(W)&&W.length===2)J.push({type:"between",field:Q,min:W[0],max:W[1]});break}else if(Array.isArray(X))J.push({type:"in",field:Q,values:X});else J.push({type:"eq",field:Q,value:X});return J.length===1?J[0]:{type:"and",conditions:J}}buildQuery(){return{select:this.selectFields,where:this.whereConditions.length>0?this.whereConditions.length===1?this.whereConditions[0]:{type:"and",conditions:this.whereConditions}:void 0,orderBy:this.orderByClause,limit:this.limitCount,offset:this.offsetCount,groupBy:this.groupByFields,having:this.havingConditions.length>0?this.havingConditions.length===1?this.havingConditions[0]:{type:"and",conditions:this.havingConditions}:void 0,joins:this.joins}}buildCountQuery(){return{select:["COUNT(*) as count"],where:this.whereConditions.length>0?this.whereConditions.length===1?this.whereConditions[0]:{type:"and",conditions:this.whereConditions}:void 0,joins:this.joins}}}class Y7{eq($){return{type:"eq",value:$}}ne($){return{type:"ne",value:$}}gt($){return{type:"gt",value:$}}gte($){return{type:"gte",value:$}}lt($){return{type:"lt",value:$}}lte($){return{type:"lte",value:$}}like($){return{type:"like",pattern:$}}ilike($){return{type:"ilike",pattern:$}}in($){return{type:"in",values:$}}notIn($){return{type:"notIn",values:$}}between($,J){return{type:"between",min:$,max:J}}isNull(){return{type:"isNull"}}isNotNull(){return{type:"isNotNull"}}and(...$){return{type:"and",conditions:$}}or(...$){return{type:"or",conditions:$}}not($){return{type:"not",condition:$}}}class WV{static create($){return new a4($)}static createWithOperators($,J){return new a4($,J)}}class l1{static calculateMeta($,J,Q){if(Q<=0)throw Error("Limit must be greater than 0");let X=Math.ceil($/Q),Y=l1.calculateOffset(J,Q);return{total:$,page:J,limit:Q,totalPages:X,hasNext:J<X,hasPrev:J>1,firstPage:1,lastPage:X,from:$===0?0:Y+1,to:Math.min(Y+Q,$)}}static calculateOffset($,J){return($-1)*J}static calculatePage($,J){return Math.floor($/J)+1}static validatePagination($,J){if($<1)throw Error("Page must be greater than 0");if(J<1)throw Error("Limit must be greater than 0");if(J>1000)throw Error("Limit cannot exceed 1000")}static createPaginatedResult($,J,Q,X){let Y=this.calculateMeta(J,Q,X);return{data:$,total:Y.total,page:Y.page,limit:Y.limit,totalPages:Y.totalPages,hasNext:Y.hasNext,hasPrev:Y.hasPrev}}static parsePaginationQuery($,J=10,Q=100){let X=parseInt($.page,10),Y=parseInt($.limit,10),W=Number.isFinite(X)&&X>=1?X:1,H=Number.isFinite(Y)&&Y>=1?Math.min(Y,Q):J;return{page:W,limit:H}}static extractPaginationFromQuery($){let J=parseInt($.page)||1,Q=parseInt($.limit)||10;return this.validatePagination(J,Q),{page:J,limit:Q}}}class W7{static encodeCursor($){return Buffer.from(JSON.stringify($)).toString("base64")}static decodeCursor($){try{return JSON.parse(Buffer.from($,"base64").toString())}catch(J){throw Error("Invalid cursor format")}}static createCursor($,J="id"){let Q=$[J];if(Q===void 0||Q===null)throw Error(`Cursor field '${J}' not found in entity`);return this.encodeCursor({[J]:Q})}static extractCursorValue($,J="id"){return this.decodeCursor($)[J]}static createCursorPaginatedResult($,J,Q="id",X=!1){let Y=$.length>J,W=X,H=Y?$.slice(0,J):$,G,V;if(H.length>0){if(Y)G=this.createCursor(H[H.length-1],Q);if(W)V=this.createCursor(H[0],Q)}return{data:H,nextCursor:G,prevCursor:V,hasNext:Y,hasPrev:W,limit:J,count:H.length}}static createMultiCursor($,J){let Q={};for(let X of J){if($[X]===void 0||$[X]===null)throw Error(`Cursor field '${X}' is missing from entity`);Q[X]=$[X]}return this.encodeCursor(Q)}static decodeMultiCursor($){return this.decodeCursor($)}}class HV{baseQuery;options={};constructor($={}){this.baseQuery=$;this.options={...$}}offset($,J){return l1.validatePagination($,J),this.options.pagination={page:$,limit:J,offset:l1.calculateOffset($,J)},this}cursor($,J,Q="id"){if(J<1||J>1000)throw Error("Limit must be between 1 and 1000");let X=W7.extractCursorValue($,Q);return this.options.where={...this.options.where,[Q]:{gt:X}},this.options.pagination={limit:J},this}orderBy($,J="asc"){return this.options.orderBy={field:$,direction:J},this}orderByMultiple($){return this.options.orderBy=$.map((J)=>({field:J.field,direction:J.direction})),this}where($){return this.options.where={...this.options.where,...$},this}select($){return this.options.select=$,this}include($){return this.options.include=$,this}build(){return this.options}reset(){return this.options={...this.baseQuery},this}}function EO($=10,J=100){return function(Q,X,Y){let W=Y.value;return Y.value=async function(...H){let G=H[H.length-1];if(G&&typeof G==="object"&&(("page"in G)||("limit"in G))){let V=G.page||1,U=Math.min(G.limit||$,J);l1.validatePagination(V,U),G.pagination={page:V,limit:U,offset:l1.calculateOffset(V,U)}}return await W.apply(this,H)},Y}}function LO($,J,Q,X){let Y=l1.calculateMeta(J,Q,X);return{data:$,meta:Y}}function OO($,J=20,Q=100){let X=parseInt($.limit,10),Y=Number.isFinite(X)&&X>=1?Math.min(X,Q):J;return{cursor:typeof $.cursor==="string"&&$.cursor.length>0?$.cursor:void 0,limit:Y}}class GV{static toApiResponse($,J){return{data:$.data,meta:{total:$.total,page:$.page,limit:$.limit,totalPages:$.totalPages},links:{first:J?`${J}?page=1&limit=${$.limit}`:null,last:J?`${J}?page=${$.totalPages}&limit=${$.limit}`:null,prev:$.hasPrev&&J?`${J}?page=${$.page-1}&limit=${$.limit}`:null,next:$.hasNext&&J?`${J}?page=${$.page+1}&limit=${$.limit}`:null}}}static toCursorApiResponse($,J){let Q={data:$.data,meta:{limit:$.limit,hasNext:$.hasNext,hasPrev:$.hasPrev},cursors:{next:$.nextCursor,prev:$.prevCursor}};if(J)Q.links={next:$.nextCursor?`${J}?cursor=${$.nextCursor}&limit=${$.limit}`:null,prev:$.prevCursor?`${J}?cursor=${$.prevCursor}&limit=${$.limit}`:null};return Q}}c0();c0();var Vf=N1(Q$(),1);function UV($,J){return(Q)=>{let X={entity:$,connection:J,transactional:!1};Reflect.defineMetadata("repository",X,Q)}}function qV($){return(J,Q,X)=>{let Y=X.value,W={isolation:$?.isolation||"READ_COMMITTED",timeout:$?.timeout||30000,readOnly:$?.readOnly||!1,propagation:$?.propagation||"REQUIRED"};return Reflect.defineMetadata("transactional",W,J,Q),X.value=async function(...H){return await I1().handleTransactional(this,Q,H,Y,H.find((V)=>V&&typeof V==="object"&&V.req&&V.res))},X}}function _V($){return(J)=>{let Q={tableName:$||J.name.toLowerCase()};Reflect.defineMetadata("entity",Q,J)}}function DV($){return(J,Q)=>{let X={name:$?.name||Q.toString(),type:$?.type||"string",nullable:$?.nullable||!1,unique:$?.unique||!1,primary:$?.primary||!1};Reflect.defineMetadata("column",X,J,Q)}}c0();class c1{static instance;constructor(){}static getInstance(){if(!c1.instance)c1.instance=new c1;return c1.instance}async intercept($,J,Q,X,Y){let W=I1();if(Reflect.getMetadata("transactional",$,J))return await W.handleTransactional($,J,Q,X,Y);return await X.apply($,Q)}createTransactionalProxy($,J){return new Proxy($,{get:(Q,X)=>{let Y=Q[X];if(typeof Y==="function")return async(...W)=>{return await this.intercept(Q,X,W,Y.bind(Q),J)};return Y}})}}function H7(){return async($,J)=>{let Q=c1.getInstance();$.set("transactionInterceptor",Q),$.set("transactionContext",$),await J()}}function BV($){return $.get("transactionInterceptor")||c1.getInstance()}function RO($,J){return BV($).createTransactionalProxy(J,$)}var FV;((H)=>{H.REQUIRED="REQUIRED";H.REQUIRES_NEW="REQUIRES_NEW";H.SUPPORTS="SUPPORTS";H.NOT_SUPPORTED="NOT_SUPPORTED";H.MANDATORY="MANDATORY";H.NEVER="NEVER"})(FV||={});class zV{shouldStartNewTransaction($,J){switch($){case"REQUIRED":return!J;case"REQUIRES_NEW":return!0;case"SUPPORTS":return!1;case"NOT_SUPPORTED":return!1;case"MANDATORY":if(!J)throw Error("Transaction is mandatory but no existing transaction found");return!1;case"NEVER":if(J)throw Error("Transaction is not allowed but existing transaction found");return!1;default:return!J}}shouldSuspendTransaction($,J){return $==="NOT_SUPPORTED"&&!!J}shouldExecuteInTransaction($,J){switch($){case"REQUIRED":case"REQUIRES_NEW":case"MANDATORY":return!0;case"SUPPORTS":return!!J;case"NOT_SUPPORTED":case"NEVER":return!1;default:return!0}}shouldRollbackForError($,J){if(J.noRollbackFor){for(let Q of J.noRollbackFor)if($ instanceof Q)return!1}if(J.rollbackFor){for(let Q of J.rollbackFor)if($ instanceof Q)return!0;return!1}return!0}}function N$($){return(J,Q,X)=>{let Y=X.value,W={isolation:$?.isolation||"READ_COMMITTED",timeout:$?.timeout||30000,readOnly:$?.readOnly||!1,propagation:$?.propagation||"REQUIRED",rollbackFor:$?.rollbackFor,noRollbackFor:$?.noRollbackFor};return Reflect.defineMetadata("transactional",W,J,Q),X.value=async function(...H){let{getGlobalTransactionManager:G}=await Promise.resolve().then(() => (c0(),VV));return await G().handleTransactional(this,Q,H,Y,H.find((U)=>U&&typeof U==="object"&&U.req&&U.res))},X}}function ZO($){return N$({...$,propagation:"REQUIRED"})}function SO($){return N$({...$,propagation:"REQUIRES_NEW"})}function CO($){return N$({...$,propagation:"SUPPORTS"})}function MO($){return N$({...$,propagation:"NOT_SUPPORTED"})}function PO($){return N$({...$,propagation:"MANDATORY"})}function KO($){return N$({...$,propagation:"NEVER"})}var wV;((q)=>{q.BEFORE_BEGIN="BEFORE_BEGIN";q.AFTER_BEGIN="AFTER_BEGIN";q.BEFORE_COMMIT="BEFORE_COMMIT";q.AFTER_COMMIT="AFTER_COMMIT";q.BEFORE_ROLLBACK="BEFORE_ROLLBACK";q.AFTER_ROLLBACK="AFTER_ROLLBACK";q.BEFORE_SAVEPOINT="BEFORE_SAVEPOINT";q.AFTER_SAVEPOINT="AFTER_SAVEPOINT";q.BEFORE_ROLLBACK_TO_SAVEPOINT="BEFORE_ROLLBACK_TO_SAVEPOINT";q.AFTER_ROLLBACK_TO_SAVEPOINT="AFTER_ROLLBACK_TO_SAVEPOINT"})(wV||={});class G7{listeners=[];beginListeners=[];commitListeners=[];rollbackListeners=[];savepointListeners=[];addListener($){this.listeners.push($)}removeListener($){let J=this.listeners.indexOf($);if(J>-1)this.listeners.splice(J,1)}addBeginListener($){this.beginListeners.push($)}addCommitListener($){this.commitListeners.push($)}addRollbackListener($){this.rollbackListeners.push($)}addSavepointListener($){this.savepointListeners.push($)}async emitEvent($){for(let J of this.listeners)try{await J.onTransactionEvent($)}catch(Q){console.error("Error in transaction event listener:",Q)}await this.emitSpecificEvent($)}async emitSpecificEvent($){switch($.type){case"BEFORE_BEGIN":for(let J of this.beginListeners)if(J.onBeforeBegin)try{await J.onBeforeBegin($.context)}catch(Q){console.error("Error in before begin listener:",Q)}break;case"AFTER_BEGIN":for(let J of this.beginListeners)if(J.onAfterBegin)try{await J.onAfterBegin($.context)}catch(Q){console.error("Error in after begin listener:",Q)}break;case"BEFORE_COMMIT":for(let J of this.commitListeners)if(J.onBeforeCommit)try{await J.onBeforeCommit($.context)}catch(Q){console.error("Error in before commit listener:",Q)}break;case"AFTER_COMMIT":for(let J of this.commitListeners)if(J.onAfterCommit)try{await J.onAfterCommit($.context)}catch(Q){console.error("Error in after commit listener:",Q)}break;case"BEFORE_ROLLBACK":for(let J of this.rollbackListeners)if(J.onBeforeRollback)try{await J.onBeforeRollback($.context,$.error)}catch(Q){console.error("Error in before rollback listener:",Q)}break;case"AFTER_ROLLBACK":for(let J of this.rollbackListeners)if(J.onAfterRollback)try{await J.onAfterRollback($.context,$.error)}catch(Q){console.error("Error in after rollback listener:",Q)}break;case"BEFORE_SAVEPOINT":for(let J of this.savepointListeners)if(J.onBeforeSavepoint)try{await J.onBeforeSavepoint($.context,$.metadata?.name)}catch(Q){console.error("Error in before savepoint listener:",Q)}break;case"AFTER_SAVEPOINT":for(let J of this.savepointListeners)if(J.onAfterSavepoint)try{await J.onAfterSavepoint($.context,$.metadata?.name)}catch(Q){console.error("Error in after savepoint listener:",Q)}break;case"BEFORE_ROLLBACK_TO_SAVEPOINT":for(let J of this.savepointListeners)if(J.onBeforeRollbackToSavepoint)try{await J.onBeforeRollbackToSavepoint($.context,$.metadata?.name)}catch(Q){console.error("Error in before rollback to savepoint listener:",Q)}break;case"AFTER_ROLLBACK_TO_SAVEPOINT":for(let J of this.savepointListeners)if(J.onAfterRollbackToSavepoint)try{await J.onAfterRollbackToSavepoint($.context,$.metadata?.name)}catch(Q){console.error("Error in after rollback to savepoint listener:",Q)}break}}clearAllListeners(){this.listeners=[],this.beginListeners=[],this.commitListeners=[],this.rollbackListeners=[],this.savepointListeners=[]}}function IO(){return($,J)=>{Reflect.defineMetadata("transaction-event","begin",$,J)}}function TO(){return($,J)=>{Reflect.defineMetadata("transaction-event","commit",$,J)}}function bO(){return($,J)=>{Reflect.defineMetadata("transaction-event","rollback",$,J)}}class e4{logger;constructor($=console.log){this.logger=$}async onTransactionEvent($){let J=`Transaction ${$.type}: ${$.context.id}`,Q={timestamp:$.timestamp,context:{id:$.context.id,startTime:$.context.startTime,isolation:$.context.isolation,timeout:$.context.timeout,readOnly:$.context.readOnly,savepoints:$.context.savepoints,rollbackOnly:$.context.rollbackOnly},metadata:$.metadata,error:$.error?.message};this.logger(J,Q)}}class $8{metrics={totalTransactions:0,committedTransactions:0,rolledBackTransactions:0,averageDuration:0,totalDuration:0};async onTransactionEvent($){switch($.type){case"AFTER_BEGIN":this.metrics.totalTransactions++;break;case"AFTER_COMMIT":this.metrics.committedTransactions++,this.updateDuration($.context);break;case"AFTER_ROLLBACK":this.metrics.rolledBackTransactions++,this.updateDuration($.context);break}}updateDuration($){let J=Date.now()-$.startTime.getTime();this.metrics.totalDuration+=J,this.metrics.averageDuration=this.metrics.totalDuration/(this.metrics.committedTransactions+this.metrics.rolledBackTransactions)}getMetrics(){return{...this.metrics}}resetMetrics(){this.metrics={totalTransactions:0,committedTransactions:0,rolledBackTransactions:0,averageDuration:0,totalDuration:0}}}var A$=new G7;c0();class V7{name="transaction";version="1.0.0";config;metricsListener;constructor($){this.config={enableLogging:!0,enableMetrics:!0,defaultIsolation:"READ_COMMITTED",defaultTimeout:30000,...$}}async install($){this.setupTransactionManager(),$.use(H7()),this.setupEventListeners(),this.registerTransactionUtilities($),console.log("✅ Transaction plugin installed successfully")}setupTransactionManager(){if(this.config.customTransactionManager)l0(this.config.customTransactionManager);else l0(new w$)}setupEventListeners(){if(this.config.enableLogging){let $=new e4;A$.addListener($)}if(this.config.enableMetrics)this.metricsListener=new $8,A$.addListener(this.metricsListener)}registerTransactionUtilities($){let J=$.getContainer();class Q{}class X{}class Y{}if(J.register(Q,{scope:"singleton",factory:()=>A$}),this.metricsListener)J.register(X,{scope:"singleton",factory:()=>({getMetrics:()=>this.metricsListener.getMetrics(),resetMetrics:()=>this.metricsListener.resetMetrics()})});J.register(Y,{scope:"singleton",factory:()=>({executeInTransaction:async(W)=>{let H=I1(),G=await H.begin();try{let V=await W();if(G.rollbackOnly)throw await H.rollback(G),Error("Transaction marked for rollback");return await H.commit(G),V}catch(V){throw await H.rollback(G),V}},getCurrentTransaction:()=>{return null},isInTransaction:()=>{return!1}})})}getMetrics(){return this.metricsListener?.getMetrics()}resetMetrics(){this.metricsListener?.resetMetrics()}addEventListener($){A$.addListener($)}removeEventListener($){A$.removeListener($)}}function fO($){return new V7($)}class NV{transactionManager;constructor($){this.transactionManager=$}async executeInTransaction($){let J=await this.transactionManager.begin();try{let Q=await $();if(J.rollbackOnly)throw await this.transactionManager.rollback(J),Error("Transaction marked for rollback");return await this.transactionManager.commit(J),Q}catch(Q){throw await this.transactionManager.rollback(J),Q}}async createSavepoint($){}async rollbackToSavepoint($){}setRollbackOnly(){}isInTransaction(){return!1}}class AV{transactionManager;defaultOptions;constructor($,J){this.transactionManager=$;this.defaultOptions=J}async execute($,J){let Q={...this.defaultOptions,...J},X=await this.transactionManager.begin(Q);try{let Y=await $();if(X.rollbackOnly)throw await this.transactionManager.rollback(X),Error("Transaction marked for rollback");return await this.transactionManager.commit(X),Y}catch(Y){throw await this.transactionManager.rollback(X),Y}}async executeReadOnly($){return this.execute($,{readOnly:!0})}async executeWithIsolation($,J){return this.execute($,{isolation:J})}}class V2{modelSchemas=new Map;generateModelSchema($){if(this.modelSchemas.has($.name))return this.modelSchemas.get($.name);let J={};for(let X of $.fields)J[X.name]=this.generateFieldSchema(X);let Q=N.object(J);return this.modelSchemas.set($.name,Q),Q}generateFieldSchema($){let J=this.getBaseSchema($.type);if($.isList)J=N.array(J);if($.isOptional)J=J.optional();if($.isUnique)J=J.describe(`Unique field: ${$.name}`);return J}getBaseSchema($){switch($.toLowerCase()){case"string":return N.string();case"int":case"integer":return N.number().int();case"float":case"decimal":return N.number();case"boolean":case"bool":return N.boolean();case"datetime":case"timestamp":return N.date();case"json":return N.record(N.any());case"bytes":return N.instanceof(Buffer);case"bigint":return N.bigint();default:return N.string()}}generateCreateSchema($){let J={};for(let Q of $.fields){if(Q.isId&&Q.hasDefaultValue)continue;if(Q.name==="createdAt"||Q.name==="updatedAt")continue;J[Q.name]=this.generateFieldSchema(Q)}return N.object(J)}generateUpdateSchema($){let J={};for(let Q of $.fields){if(Q.isId)continue;if(Q.name==="updatedAt")continue;let X=this.generateFieldSchema(Q);if(!X.isOptional())X=X.optional();J[Q.name]=X}return N.object(J)}static parsePrismaSchema($){let J=[],Q=$.split(`
154
- `),X=null,Y=!1;for(let W of Q){let H=W.trim();if(H.startsWith("model ")){X={name:H.split(" ")[1],fields:[],relations:[]},Y=!0;continue}if(H==="}"&&Y&&X){J.push(X),X=null,Y=!1;continue}if(Y&&X&&H&&!H.startsWith("//")){let G=this.parseField(H);if(G)X.fields.push(G)}}return J}static parseField($){let J=$.trim().split(/\s+/);if(J.length<2)return null;let Q=J[0],X=J[1],Y=X.includes("?"),W=X.includes("[]"),H=X.replace("?","").replace("[]",""),G=$.includes("@")?$.split("@").slice(1):[],V=G.some((_)=>_.startsWith("id")),U=G.some((_)=>_.startsWith("unique")),q=G.some((_)=>_.startsWith("default"));return{name:Q,type:H,isOptional:Y,isList:W,isId:V,isUnique:U,hasDefaultValue:q}}generateAllSchemas($){return{base:this.generateModelSchema($),create:this.generateCreateSchema($),update:this.generateUpdateSchema($)}}}c0();class F6 extends Y1{client;prismaTransactions=new Map;constructor($){super();this.client=$}async begin($){let J=this.createTransactionContext($);return this.prismaTransactions.set(J.id,{options:$,startTime:J.startTime}),J}async commit($){this.prismaTransactions.delete($.id),this.removeTransactionContext($)}async rollback($){this.prismaTransactions.delete($.id),this.removeTransactionContext($)}async savepoint($,J){$.savepoints.push(J);let Q=this.prismaTransactions.get($.id);if(Q)Q.savepoints=Q.savepoints||[],Q.savepoints.push(J)}async rollbackToSavepoint($,J){let Q=$.savepoints.indexOf(J);if(Q===-1)throw Error(`Savepoint ${J} not found`);$.savepoints=$.savepoints.slice(0,Q+1);let X=this.prismaTransactions.get($.id);if(X&&X.savepoints)X.savepoints=X.savepoints.slice(0,Q+1)}async executeInTransaction($,J){let Q={};if(J?.timeout)Q.timeout=J.timeout;if(J?.isolation){let X={READ_UNCOMMITTED:"ReadUncommitted",READ_COMMITTED:"ReadCommitted",REPEATABLE_READ:"RepeatableRead",SERIALIZABLE:"Serializable"};Q.isolationLevel=X[J.isolation]}return await this.client.$transaction($,Q)}async handleTransactional($,J,Q,X,Y){let W=Reflect.getMetadata("transactional",$,J);if(!W)return X.apply($,Q);if(Y?this.getRequestTransaction(Y):null)return X.apply($,Q);return await this.executeInTransaction(async(G)=>{let V=await this.begin(W);if(Y)this.setRequestTransaction(Y,V);try{let U=await this.injectTransactionClient($,Q,X,G);if(V.rollbackOnly)throw Error("Transaction marked for rollback");return U}catch(U){throw this.setRollbackOnly(V),U}finally{if(Y)this.clearRequestTransaction(Y);await this.commit(V)}},W)}async injectTransactionClient($,J,Q,X){if($.repositories){let Y={...$.repositories};try{for(let[W,H]of Object.entries($.repositories))if(H&&typeof H==="object"&&"client"in H){H.client=X;let G=H.modelName;if(G&&X[G.toLowerCase()])H.delegate=X[G.toLowerCase()]}return await Q.apply($,J)}finally{$.repositories=Y}}return await Q.apply($,J)}createTransactionalRepository($,J){let Q=new $(J);if(Q&&typeof Q==="object"&&"withTransaction"in Q){let X=Q.withTransaction;Q.withTransaction=async(Y)=>{return await this.executeInTransaction(async(W)=>{let H=new $({...J,client:W,delegate:W[J.model.toLowerCase()]});return await Y(H)})}}return Q}}c0();var U2=N1(require("fs")),jV=N1(require("path"));class J8{name="prisma";version="1.0.0";client;config;schemaGenerator;transactionManager;models=new Map;constructor($,J){this.client=$,this.config={generateZodSchemas:!0,schemaPath:"./prisma/schema.prisma",outputPath:"./src/generated/zod-schemas.ts",...J},this.schemaGenerator=new V2,this.transactionManager=new F6($)}async install($){if(await this.client.$connect(),l0(this.transactionManager),this.config.generateZodSchemas&&this.config.schemaPath)await this.parseAndGenerateSchemas();this.registerRepositoryFactory($),this.registerShutdownHook($),console.log("✅ Prisma plugin installed successfully")}async parseAndGenerateSchemas(){try{if(!U2.default.existsSync(this.config.schemaPath)){console.warn(`⚠️ Prisma schema not found at ${this.config.schemaPath}`);return}let $=U2.default.readFileSync(this.config.schemaPath,"utf-8"),J=V2.parsePrismaSchema($);for(let Q of J){this.models.set(Q.name,Q);let X=this.schemaGenerator.generateAllSchemas(Q);Q.zodSchema=X.base}if(this.config.outputPath)await this.generateZodSchemaFile();console.log(`\uD83D\uDCDD Generated Zod schemas for ${J.length} models`)}catch($){console.error("❌ Failed to parse Prisma schema:",$)}}async generateZodSchemaFile(){let $=jV.default.dirname(this.config.outputPath);if(!U2.default.existsSync($))U2.default.mkdirSync($,{recursive:!0});let J=`// Auto-generated Zod schemas from Prisma schema
153
+ `).map((G)=>G.trim())}return J.json(H,X)}return p$(J,W,X,this.format)}isDevelopmentMode(){return this.isDevelopment}setDevelopmentMode($){this.isDevelopment=$}}class t2{plugins=new Map;installed=new Set;register($){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);this.plugins.set($.name,$)}async install($){let J=this.resolveInstallOrder();for(let Q of J)await this.plugins.get(Q).install($),this.installed.add(Q)}isInstalled($){return this.installed.has($)}getPlugin($){return this.plugins.get($)}getPluginNames(){return Array.from(this.plugins.keys())}resolveInstallOrder(){let $=new Set,J=new Set,Q=[],X=(Y,W=[])=>{if(J.has(Y)){let G=[...W,Y].join(" -> ");throw Error(`Circular dependency detected in plugins: ${G}`)}if($.has(Y))return;J.add(Y);let H=this.plugins.get(Y);if(!H)throw Error(`Plugin "${Y}" is not registered`);if(H.dependencies)for(let G of H.dependencies){if(!this.plugins.has(G))throw Error(`Plugin "${Y}" depends on "${G}" which is not registered`);X(G,[...W,Y])}J.delete(Y),$.add(Y),Q.push(Y)};for(let Y of this.plugins.keys())X(Y);return Q}}class D${hono;metadata;container;validator;errorHandler;compiler;pluginManager;config;compiled=!1;globalMiddleware=[];groupPrefix="";constructor($){if(this.config={adapter:"hono",title:"Veloce-TS API",version:"1.0.0",docs:!0,...$},this.hono=new W5,this.metadata=new S,this.container=new s2,this.validator=new W$,this.errorHandler=new a2(void 0,{errorResponseFormat:this.config.errorResponseFormat}),this.pluginManager=new t2,this.compiler=new r2(this.hono,this.metadata,this.container,this.validator,this.errorHandler),this.config.cors)if(this.config.cors===!0)this.useCors();else this.useCors(this.config.cors)}include($){let J=S.getControllerMetadata($);if(J)this.metadata.registerController($,J);let Q=S.getRouteMethods($);for(let X of Q){let Y=S.getRouteMetadata($.prototype,X),W=S.getParameterMetadata($.prototype,X),H=S.getDependencyMetadata($.prototype,X);if(Y&&Y.method&&Y.path!==void 0){let G=J?.prefix||"",V=this.normalizePath(G,Y.path);this.metadata.registerRoute({...Y,target:$,propertyKey:X,method:Y.method,path:V,middleware:[...J?.middleware||[],...Y.middleware||[]],parameters:W||Y.parameters||[],dependencies:H||Y.dependencies||[],responses:Y.responses||[],docs:Y.docs})}}}get($,J){this.registerFunctionalRoute("GET",$,J)}post($,J){this.registerFunctionalRoute("POST",$,J)}put($,J){this.registerFunctionalRoute("PUT",$,J)}delete($,J){this.registerFunctionalRoute("DELETE",$,J)}patch($,J){this.registerFunctionalRoute("PATCH",$,J)}route($){return new uX(this,$)}group($,J){let Q=this.groupPrefix;this.groupPrefix=this.normalizePath(this.groupPrefix,$),J(),this.groupPrefix=Q}registerFunctionalRoute($,J,Q){let X=this.normalizePath(this.groupPrefix,J),Y={target:yX,propertyKey:`${$.toLowerCase()}_${X}`,method:$,path:X,middleware:Q.middleware||[],parameters:this.extractParametersFromSchema(Q.schema),dependencies:[],responses:Q.responses||[],docs:Q.docs,handler:Q.handler};this.metadata.registerRoute(Y)}extractParametersFromSchema($){let J=[],Q=0;if($?.body)J.push({index:Q++,type:"body",schema:$.body,required:!0});if($?.query)J.push({index:Q++,type:"query",schema:$.query,required:!1});if($?.params)J.push({index:Q++,type:"param",schema:$.params,required:!0});if($?.headers)J.push({index:Q++,type:"header",schema:$.headers,required:!1});return J}use($){this.globalMiddleware.push($),this.hono.use("*",$)}useCors($){let J=z2($);this.use(J)}useRateLimit($){let J=d1($);this.use(J)}useCompression($){let J=N2($);this.use(J)}usePlugin($){this.pluginManager.register($)}getPluginManager(){return this.pluginManager}onError($){this.errorHandler.setCustomHandler($)}getErrorHandler(){return this.errorHandler}normalizePath(...$){let J=$.filter((Q)=>Q!=="").join("/").replace(/\/+/g,"/").replace(/\/$/,"");return J.startsWith("/")?J:`/${J}`}getHono(){return this.hono}getMetadata(){return this.metadata}getContainer(){return this.container}getCompiler(){return this.compiler}getConfig(){return this.config}isCompiled(){return this.compiled}markCompiled(){this.compiled=!0}async compile(){if(this.compiled){console.warn("Routes have already been compiled. Skipping compilation.");return}await this.pluginManager.install(this),this.compiler.compile(),this.compiled=!0}serverInstance=null;shutdownHandlersRegistered=!1;async listen($,J){if(!this.compiled)await this.compile();let Q=this.createAdapter();return this.serverInstance=Q.listen($,J),this.setupGracefulShutdown(),this.serverInstance}setupGracefulShutdown(){if(typeof process>"u")return;if(this.shutdownHandlersRegistered)return;this.shutdownHandlersRegistered=!0;let $=async(J)=>{let Q=v0().child({component:"app"});if(Q.info(`Received ${J}, starting graceful shutdown...`),this.serverInstance&&typeof this.serverInstance.close==="function")try{await Promise.resolve(this.serverInstance.close()),Q.info("Server closed gracefully")}catch(X){Q.error("Error during shutdown",X)}process.exit(0)};process.on("SIGTERM",()=>$("SIGTERM")),process.on("SIGINT",()=>$("SIGINT"))}async shutdown(){if(this.serverInstance&&typeof this.serverInstance.close==="function")await Promise.resolve(this.serverInstance.close()),this.serverInstance=null}createAdapter(){let $=this.config.adapter||"hono";switch($){case"hono":{let{HonoAdapter:J}=T0(V8);return new J(this.hono)}case"express":{let{ExpressAdapter:J}=T0(S7);return new J(this)}case"native":{let{HonoAdapter:J}=T0(V8);return new J(this.hono)}default:throw Error(`Unknown adapter type: ${$}. Supported adapters: 'hono', 'express', 'native'`)}}}class yX{}class uX{app;path;constructor($,J){this.app=$;this.path=J}get($){return this.app.get(this.path,$),this}post($){return this.app.post(this.path,$),this}put($){return this.app.put(this.path,$),this}delete($){return this.app.delete(this.path,$),this}patch($){return this.app.patch(this.path,$),this}}function z4($){let J={docs:!1,cors:!1,...$};return new D$(J)}function U5($,J,Q,X){let Y=$.getContainer(),W=typeof Q==="function"?Q:()=>Q;Y.register(J,{scope:X?.scope||"singleton",factory:W})}function N4($){return new H$($)}async function q5($,J){let Q=z4(J);await $(Q),await Q.compile();let X=N4(Q);return{app:Q,client:X}}function _5($){$.getContainer().clear()}var kO={};Z0(kO,{zodToJsonSchema:()=>n6,zodToGraphQLType:()=>J1,zodObjectToGraphQLType:()=>xQ,zodObjectToGraphQLInput:()=>vQ,z:()=>w,withRepositoryMixin:()=>AO,transactionMiddleware:()=>H7,toLegacyErrorBody:()=>P9,setupTestApp:()=>q5,setSessionData:()=>QV,setRequestMetadata:()=>K7,setRequestContext:()=>_8,setGlobalTransactionManager:()=>l0,setCache:()=>_9,sendErrorResponse:()=>p$,resolveProblemType:()=>d$,resolveProblemTitle:()=>S1,requestLoggingMiddleware:()=>MB,removeSessionData:()=>XV,registerDrizzle:()=>tX,problemTypeUri:()=>B1,parseTTL:()=>r1,parseCursorQuery:()=>OO,paginate:()=>LO,mockDependency:()=>U5,mergeVeloceCorsHeaders:()=>j1,isSessionAuthenticated:()=>$V,isOAuthAuthenticated:()=>dG,isNullable:()=>Y$,isAuthenticated:()=>JO,invalidateCache:()=>B9,initializeRequestContext:()=>w2,initializeLogger:()=>CB,hasResolverMetadata:()=>fQ,hasFieldMetadata:()=>kQ,globalTransactionEventManager:()=>j$,globalRepositoryRegistry:()=>jO,getUserRoles:()=>J7,getUserPermissions:()=>xG,getTransactionInterceptor:()=>BV,getToken:()=>t5,getSessionUserId:()=>JV,getSessionManager:()=>G2,getSessionData:()=>eG,getResolverMetadata:()=>IQ,getRequestMetadata:()=>I7,getRequestId:()=>C7,getRequestDuration:()=>A2,getRequestContext:()=>E1,getRBACManager:()=>kG,getOAuthUser:()=>lG,getOAuthToken:()=>cG,getOAuthProvider:()=>pG,getLogger:()=>v0,getGlobalTransactionManager:()=>I1,getFieldsMetadata:()=>TQ,getFieldMetadata:()=>bQ,getDefaultValue:()=>o6,getCurrentUser:()=>N1,getCurrentSession:()=>u0,getCache:()=>q9,getCSRFProtection:()=>tG,getAuthError:()=>QO,getArgumentsMetadata:()=>v2,getAbortSignal:()=>M7,generateRequestId:()=>q8,errorLoggingMiddleware:()=>PB,deleteCache:()=>D9,createTypeORMPlugin:()=>LV,createTransactionalProxy:()=>RO,createTransactionPlugin:()=>fO,createTestClient:()=>N4,createTestApp:()=>z4,createSimpleRequestIdMiddleware:()=>V9,createSessionMiddleware:()=>aG,createRequestContextMiddleware:()=>G9,createRedisCacheStore:()=>RV,createRateLimitMiddleware:()=>d1,createRBACMiddleware:()=>$7,createPrismaPlugin:()=>EV,createLogger:()=>H9,createDefaultRBAC:()=>r5,createCorsMiddleware:()=>z2,createCompressionMiddleware:()=>N2,createChildLogger:()=>o1,createCacheMiddleware:()=>N9,createCacheInvalidationMiddleware:()=>w9,createAuthMiddleware:()=>a5,clearMocks:()=>_5,clearCache:()=>F9,cleanupRequestContext:()=>j2,checkUserRole:()=>GO,checkUserPermission:()=>VO,buildProblemInstance:()=>M9,abortRequest:()=>P7,ZodToJsonSchemaConverter:()=>Z1,WebSocketPlugin:()=>l$,WebSocketManager:()=>m$,WebSocketConnection:()=>Q$,WebSocket:()=>c9,VeloceTS:()=>D$,Veloce:()=>D$,ValidationException:()=>C1,ValidationEngine:()=>W$,VELOCE_CORS_HEADERS_KEY:()=>U8,UseMiddleware:()=>hz,UnprocessableEntityException:()=>pQ,UnauthorizedException:()=>uQ,TypeORMTransactionManager:()=>z6,TypeORMRepository:()=>K1,TypeORMPlugin:()=>Q8,TypeORMEntity:()=>OV,TransactionalWithPropagation:()=>A$,Transactional:()=>qV,TransactionTemplate:()=>AV,TransactionService:()=>wV,TransactionPropagationManager:()=>zV,TransactionPropagation:()=>FV,TransactionPlugin:()=>V7,TransactionMetricsListener:()=>$8,TransactionLoggingListener:()=>e4,TransactionInterceptor:()=>c1,TransactionEventType:()=>NV,TransactionEventManager:()=>G7,TooManyRequestsException:()=>iQ,TokenRevokedException:()=>V5,TokenPayloadSchema:()=>iL,TokenExpiredException:()=>o2,Token:()=>$O,Timeout:()=>fz,TestResponse:()=>m2,TestClient:()=>H$,Tags:()=>mz,Tag:()=>uz,Supports:()=>CO,SuperAdminOnly:()=>WO,Summary:()=>gz,Subscription:()=>MQ,StreamResponse:()=>B4,SessionManager:()=>Q7,SessionGuard:()=>X7,SessionDataSchema:()=>iG,Session:()=>nG,ServiceUnavailableException:()=>nQ,RouterCompiler:()=>r2,Roles:()=>bG,RoleSchema:()=>oL,RoleAssignmentSchema:()=>rL,ResponseSerializer:()=>F4,ResponseSchema:()=>bz,Response:()=>G5,Resolver:()=>ZQ,RequiresNew:()=>SO,Required:()=>ZO,RequireRole:()=>e5,RequirePermission:()=>XO,RequireCSRF:()=>rG,RequestId:()=>sX,Req:()=>iX,RepositoryService:()=>YV,RepositoryRegistry:()=>B6,RepositoryFactory:()=>N$,Repository:()=>UV,RefreshRequestSchema:()=>sL,RedisCacheStore:()=>Y8,RedirectResponse:()=>_4,RateLimit:()=>kz,RBACPlugin:()=>vG,RBACManager:()=>W2,RBACGuard:()=>D6,QueryBuilderFactory:()=>WV,QueryBuilder:()=>a4,Query:()=>lX,Put:()=>Mz,PrismaZodSchemaGenerator:()=>V2,PrismaTransactionManager:()=>F6,PrismaRepository:()=>P1,PrismaPlugin:()=>J8,Post:()=>Cz,PluginManager:()=>t2,Permissions:()=>fG,PermissionMatcher:()=>H2,PermissionCheckSchema:()=>aL,PayloadTooLargeException:()=>dQ,Patch:()=>Kz,Param:()=>cX,PaginationTransformer:()=>GV,PaginationHelper:()=>l1,PaginationBuilder:()=>HV,Paginated:()=>EO,PROBLEM_JSON_MEDIA_TYPE:()=>hQ,OpenAPIPlugin:()=>s6,OpenAPIGenerator:()=>D1,OnTransactionRollback:()=>bO,OnTransactionCommit:()=>TO,OnTransactionBegin:()=>IO,OnMessage:()=>p9,OnDisconnect:()=>i9,OnConnect:()=>d9,OAuthUserSchema:()=>gG,OAuthUser:()=>uG,OAuthToken:()=>mG,OAuth:()=>yG,NotSupported:()=>MO,NotFoundException:()=>yQ,Never:()=>KO,Mutation:()=>CQ,MinimumRole:()=>HO,Migration:()=>U7,MetadataRegistry:()=>S,MetadataCompiler:()=>M1,MemoryCacheStore:()=>S2,Mandatory:()=>PO,LoginRequestSchema:()=>nL,JWTProvider:()=>o4,JSONResponse:()=>U4,InvalidTokenException:()=>_$,InjectDB:()=>eX,Inject:()=>vz,InMemoryUserProvider:()=>TG,InMemoryTransactionManager:()=>w$,HttpCode:()=>Tz,HonoAdapter:()=>j6,HealthCheckers:()=>I9,HealthCheckPlugin:()=>a6,Header:()=>dX,HTTPException:()=>j0,HTMLResponse:()=>q4,GraphQLSubscription:()=>MQ,GraphQLSchemaBuilder:()=>h2,GraphQLQuery:()=>SQ,GraphQLPlugin:()=>g2,GraphQLMutation:()=>CQ,GraphQLCtx:()=>KQ,GoneException:()=>cQ,Get:()=>Sz,GenericRepository:()=>wO,GQLSubscription:()=>MQ,GQLQuery:()=>SQ,GQLMutation:()=>CQ,GQLContext:()=>KQ,ForbiddenException:()=>mQ,FileResponse:()=>D4,FastAPITS:()=>D$,ExpressAdapter:()=>F2,ErrorHandler:()=>a2,Entity:()=>_V,DrizzleZodSchemaConverter:()=>X8,DrizzleTransactionManager:()=>N6,DrizzleRepository:()=>m0,DrizzlePlugin:()=>q7,Description:()=>yz,Deprecated:()=>lz,Depends:()=>xz,Delete:()=>Pz,DefaultQueryOperators:()=>Y7,DIContainer:()=>s2,DEFAULT_PROBLEM_TYPE_BASE:()=>gQ,DB_TOKEN:()=>w4,CursorPaginationHelper:()=>W7,CurrentUser:()=>eL,CurrentSession:()=>sG,Ctx:()=>nX,Cookie:()=>pX,Controller:()=>Zz,ConflictException:()=>lQ,Column:()=>DV,CacheManager:()=>k0,CacheInvalidate:()=>aX,Cache:()=>rX,CSRFToken:()=>oG,Body:()=>mX,BaseTransactionManager:()=>Y1,BaseRepository:()=>m1,BadRequestException:()=>r6,AuthorizationException:()=>E0,AuthenticationException:()=>R0,AuthService:()=>_6,AuthPlugin:()=>hG,Auth:()=>tL,Arg:()=>PQ,ApiResponse:()=>dz,ApiDoc:()=>cz,All:()=>Iz,AdminOnly:()=>YO,AbortSignal:()=>oX});module.exports=T0(kO);var gk=w1(X$(),1);function Zz($="",J){return(Q)=>{let X=$.trim();if(X&&!X.startsWith("/"))X="/"+X;if(X.endsWith("/"))X=X.slice(0,-1);S.defineController(Q,{prefix:X,middleware:J?.middleware||[]})}}function r$($){return(J="")=>{return(Q,X)=>{let Y=J.trim();if(Y&&!Y.startsWith("/"))Y="/"+Y;let W=Reflect.getMetadata("route:middleware",Q,X)||[];S.defineRoute(Q,X,{method:$,path:Y,middleware:W,parameters:[],dependencies:[],responses:[]})}}}var Sz=r$("GET"),Cz=r$("POST"),Mz=r$("PUT"),Pz=r$("DELETE"),Kz=r$("PATCH"),Iz=r$("ALL");function Tz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,statusCode:$})}}function bz($,J=200){return(Q,X)=>{let Y=S.getRouteMetadata(Q,X),W=(Y?.responses??[]).filter((H)=>H.statusCode!==J);W.push({statusCode:J,schema:$,description:void 0}),S.defineRoute(Q,X,{...Y,responseSchema:$,responses:W})}}function fz($,J){let Q=async(X,Y)=>{let W,H=new Promise((G,V)=>{W=setTimeout(()=>{V(Object.assign(Error(J??`Request timed out after ${$}ms`),{name:"TimeoutError",statusCode:408}))},$)});try{X.header("X-Timeout-Ms",String($)),await Promise.race([Y(),H])}finally{if(W!==void 0)clearTimeout(W)}};return(X,Y)=>{let W=S.getRouteMetadata(X,Y),H=Reflect.getMetadata("route:middleware",X,Y)||[];Reflect.defineMetadata("route:middleware",[Q,...H],X,Y),S.defineRoute(X,Y,{...W,middleware:[Q,...W?.middleware||[]]})}}function kz($){let J=d1($);return(Q,X)=>{let Y=S.getRouteMetadata(Q,X),W=Reflect.getMetadata("route:middleware",Q,X)||[];Reflect.defineMetadata("route:middleware",[J,...W],Q,X),S.defineRoute(Q,X,{...Y,middleware:[J,...Y?.middleware||[]]})}}function mX($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"body",schema:$,required:!0};S.defineParameter(J,Q,X,Y)}}function lX($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"query",required:!1};if(typeof $==="string")Y.name=$;else if($)Y.schema=$;S.defineParameter(J,Q,X,Y)}}function cX($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"param",name:$,required:!0};S.defineParameter(J,Q,X,Y)}}function dX($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"header",name:$,required:!1};S.defineParameter(J,Q,X,Y)}}function pX($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"cookie",name:$,required:!1};S.defineParameter(J,Q,X,Y)}}function iX(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"request",required:!0};S.defineParameter($,J,Q,X)}}function nX(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"context",required:!0};S.defineParameter($,J,Q,X)}}function sX(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"request-id",required:!1};S.defineParameter($,J,Q,X)}}function oX(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"abort-signal",required:!1};S.defineParameter($,J,Q,X)}}function xz($,J="request"){return(Q,X,Y)=>{if(X===void 0)S.defineDependency(Q.prototype,"constructor",Y,{index:Y,provider:$,scope:J});else S.defineDependency(Q,X,Y,{index:Y,provider:$,scope:J})}}function vz($,J="singleton"){return(Q,X,Y)=>{if(X===void 0)S.defineDependency(Q.prototype,"constructor",Y,{index:Y,provider:$,scope:J});else S.defineDependency(Q,X,Y,{index:Y,provider:$,scope:J})}}function hz(...$){return(J,Q)=>{let X=Reflect.getMetadata("route:middleware",J,Q)||[];Reflect.defineMetadata("route:middleware",[...X,...$],J,Q);let Y=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...Y,middleware:[...Y?.middleware||[],...$]})}}function gz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,summary:$}})}}function yz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,description:$}})}}function uz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q),Y=X?.docs?.tags??[];if(!Y.includes($))S.defineRoute(J,Q,{...X,docs:{...X?.docs,tags:[...Y,$]}})}}function mz(...$){return(J,Q)=>{let X=S.getRouteMetadata(J,Q),Y=X?.docs?.tags??[],W=Array.from(new Set([...Y,...$]));S.defineRoute(J,Q,{...X,docs:{...X?.docs,tags:W}})}}function lz(){return($,J)=>{let Q=S.getRouteMetadata($,J);S.defineRoute($,J,{...Q,docs:{...Q?.docs,deprecated:!0}})}}function cz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,...$}})}}function dz($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q),Y=X?.responses||[],W=Y.findIndex((G)=>G.statusCode===$.statusCode),H;if(W>=0)H=[...Y],H[W]=$;else H=[...Y,$];S.defineRoute(J,Q,{...X,responses:H})}}function rX($){return(J,Q)=>{Reflect.defineMetadata("cache:options",$,J,Q);let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,cache:$})}}function aX($){return(J,Q)=>{let X=Array.isArray($)?$:[$];Reflect.defineMetadata("cache:invalidate",X,J,Q);let Y=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...Y,cacheInvalidate:X})}}var w4=Symbol("veloce:db");function tX($,J,Q=w4){$.getContainer().register(Q,{scope:"singleton",factory:()=>J})}function eX($=w4){return(J,Q,X)=>{if(Q===void 0)S.defineDependency(J.prototype,"constructor",X,{index:X,provider:$,scope:"singleton"});else S.defineDependency(J,Q,X,{index:X,provider:$,scope:"singleton"})}}i$();n$();h1();var u1=w1(IG(),1);class o4{config;blacklistedTokens=new Set;constructor($){this.config=$;if(!$.secret)throw Error("JWT secret is required")}generateTokens($){let J=Math.floor(Date.now()/1000),Q=this.parseExpiration(this.config.expiresIn||"1h"),X={sub:$.sub,...$,iat:J,exp:J+Q,iss:this.config.issuer,aud:this.config.audience},Y=u1.sign(X,this.config.secret,{algorithm:this.config.algorithm||"HS256"}),W={sub:$.sub,type:"refresh",iat:J,exp:J+this.parseExpiration(this.config.refreshExpiresIn||"7d"),iss:this.config.issuer,aud:this.config.audience},H=u1.sign(W,this.config.refreshSecret||this.config.secret,{algorithm:this.config.algorithm||"HS256"});return{accessToken:Y,refreshToken:H,expiresIn:Q}}verifyAccessToken($){if(this.isBlacklisted($))throw Error("Token has been revoked");try{return u1.verify($,this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience})}catch(J){if(J instanceof Error)throw Error(`Invalid token: ${J.message}`);throw Error("Invalid token")}}verifyRefreshToken($){if(this.isBlacklisted($))throw Error("Refresh token has been revoked");try{let J=u1.verify($,this.config.refreshSecret||this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience});if(J.type!=="refresh")throw Error("Invalid refresh token type");return J}catch(J){if(J instanceof Error)throw Error(`Invalid refresh token: ${J.message}`);throw Error("Invalid refresh token")}}refreshAccessToken($){let J=this.verifyRefreshToken($);return this.blacklistToken($),this.generateTokens({sub:J.sub,...Object.fromEntries(Object.entries(J).filter(([Q])=>!["iat","exp","iss","aud","type"].includes(Q)))})}decodeToken($){try{return u1.decode($)}catch{return null}}blacklistToken($){this.blacklistedTokens.add($),this.cleanupBlacklist()}isBlacklisted($){return this.blacklistedTokens.has($)}cleanupBlacklist(){let $=Math.floor(Date.now()/1000);for(let J of this.blacklistedTokens){let Q=this.decodeToken(J);if(Q&&Q.exp&&Q.exp<$)this.blacklistedTokens.delete(J)}}parseExpiration($){if(typeof $==="number")return $;let J={s:1,m:60,h:3600,d:86400,w:604800},Q=$.match(/^(\d+)([smhdw])$/);if(!Q)throw Error(`Invalid expiration format: ${$}`);let[,X,Y]=Q;return parseInt(X)*J[Y]}}var iL=w.object({sub:w.string(),iat:w.number().optional(),exp:w.number().optional(),iss:w.string().optional(),aud:w.string().optional()}).passthrough(),nL=w.object({username:w.string().min(1),password:w.string().min(1)}),sL=w.object({refreshToken:w.string().min(1)});h1();class _6{config;userProvider;jwtProvider;constructor($,J){this.config=$;this.userProvider=J;this.jwtProvider=new o4($)}async login($,J){let Q=await this.userProvider.findByCredentials($,J);if(!Q)throw new R0("Invalid credentials");let X=this.jwtProvider.generateTokens({sub:Q.id,username:Q.username,email:Q.email,roles:Q.roles||[],permissions:Q.permissions||[]});return{user:Q,tokens:X}}async refresh($){try{return this.jwtProvider.refreshAccessToken($)}catch(J){throw new _$(J instanceof Error?J.message:"Invalid refresh token")}}async logout($,J){if(this.jwtProvider.blacklistToken($),J)this.jwtProvider.blacklistToken(J)}async verifyToken($){try{let J=this.jwtProvider.verifyAccessToken($),Q=await this.userProvider.findById(J.sub);if(!Q)throw new R0("User not found");return Q}catch(J){if(J instanceof Error){if(J.message.includes("expired"))throw new o2;throw new _$(J.message)}throw new _$("Token verification failed")}}getUserFromToken($){return this.jwtProvider.verifyAccessToken($)}hasRoles($,J){let Q=$.roles||[];return J.every((X)=>Q.includes(X))}hasPermissions($,J){let Q=$.permissions||[];return J.every((X)=>Q.includes(X))}async register($){if(!this.userProvider.createUser)throw Error("UserProvider does not support user creation");let J=await this.userProvider.createUser($),Q=this.jwtProvider.generateTokens({sub:J.id,username:J.username,email:J.email,roles:J.roles||[],permissions:J.permissions||[]});return{user:J,tokens:Q}}cleanup(){this.jwtProvider.cleanupBlacklist()}getJWTProvider(){return this.jwtProvider}}class TG{users=new Map;async findByCredentials($,J){for(let[Q,X]of this.users)if(X.username===$){if(await this.verifyPassword(J,X.passwordHash)){let{passwordHash:W,...H}=X;return H}}return null}async findById($){let J=this.users.get($);if(J){let{passwordHash:Q,...X}=J;return X}return null}async hashPassword($){return Buffer.from($).toString("base64")}async verifyPassword($,J){return await this.hashPassword($)===J}async createUser($){let J=crypto.randomUUID(),Q=await this.hashPassword($.password),X={id:J,username:$.username,email:$.email,roles:$.roles||["user"],passwordHash:Q};this.users.set(J,X);let{passwordHash:Y,...W}=X;return W}}class W2{roles=new Map;hierarchy=new Map;compiledPermissions=new Map;defineRole($){if(this.roles.set($.name,$),$.inherits&&$.inherits.length>0)this.hierarchy.set($.name,$.inherits);this.compiledPermissions.clear()}defineRoles($){for(let J of $)this.defineRole(J)}getRolePermissions($){if(this.compiledPermissions.has($))return Array.from(this.compiledPermissions.get($));let J=new Set;return this.collectPermissions($,J,new Set),this.compiledPermissions.set($,J),Array.from(J)}roleHasPermission($,J){return this.getRolePermissions($).includes(J)}userHasPermission($,J){for(let Q of $)if(this.roleHasPermission(Q,J))return!0;return!1}userHasRoles($,J){return J.every((Q)=>$.includes(Q))}userHasAnyRole($,J){return J.some((Q)=>$.includes(Q))}getRolesWithPermission($){let J=[];for(let Q of this.roles.keys())if(this.roleHasPermission(Q,$))J.push(Q);return J}getRoleHierarchy($){let J=[];return this.collectParentRoles($,J,new Set),J}roleInheritsFrom($,J){return this.getRoleHierarchy($).includes(J)}getAllRoles(){return Array.from(this.roles.values())}getRole($){return this.roles.get($)}roleExists($){return this.roles.has($)}validateRoles($){let J=[],Q=[];for(let X of $)if(this.roleExists(X))J.push(X);else Q.push(X);return{valid:J,invalid:Q}}getEffectiveRoles($){let J=new Set;for(let Q of $)J.add(Q),this.getRoleHierarchy(Q).forEach((Y)=>J.add(Y));return Array.from(J)}compareRoleLevels($,J){let Q=this.getRole($),X=this.getRole(J),Y=Q?.level??0,W=X?.level??0;return Y-W}getHighestRoleLevel($){let J=0;for(let Q of $){let X=this.getRole(Q);if(X&&X.level&&X.level>J)J=X.level}return J}collectPermissions($,J,Q){if(Q.has($))throw Error(`Circular role inheritance detected: ${$}`);Q.add($);let X=this.roles.get($);if(!X)throw Error(`Role not found: ${$}`);X.permissions.forEach((W)=>J.add(W));let Y=this.hierarchy.get($)||[];for(let W of Y)this.collectPermissions(W,J,new Set(Q))}collectParentRoles($,J,Q){if(Q.has($))return;Q.add($);let X=this.hierarchy.get($)||[];for(let Y of X)J.push(Y),this.collectParentRoles(Y,J,Q)}}function r5(){let $=new W2;return $.defineRoles([{name:"guest",description:"Guest user with minimal permissions",permissions:["read:public"],level:1},{name:"user",description:"Regular authenticated user",permissions:["read:own","write:own","read:public"],inherits:["guest"],level:10},{name:"moderator",description:"Moderator with content management permissions",permissions:["read:all","write:all","moderate:content"],inherits:["user"],level:50},{name:"admin",description:"Administrator with full system access",permissions:["*"],inherits:["moderator"],level:100},{name:"super-admin",description:"Super administrator with unrestricted access",permissions:["*","system:*"],inherits:["admin"],level:1000}]),$}var oL=w.object({name:w.string().min(1),description:w.string().optional(),permissions:w.array(w.string()),inherits:w.array(w.string()).optional(),level:w.number().optional()}),rL=w.object({userId:w.string(),roles:w.array(w.string())}),aL=w.object({userId:w.string(),permission:w.string()});class H2{static matches($,J){if(J==="*")return!0;if(J.endsWith("*")){let Q=J.slice(0,-1);return $.startsWith(Q)}return $===J}static hasPermission($,J){return $.some((Q)=>this.matches(J,Q))}static filterByPattern($,J){return $.filter((Q)=>this.matches(Q,J))}}function tL($){return(J,Q)=>{let X={required:!$?.optional,config:$};S.defineAuth(J,Q,X)}}function eL(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"current-user",required:!1})}}function $O(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"token",required:!1})}}function a5($){return async(J,Q)=>{let X=J.req.header("Authorization");if(!X||!X.startsWith("Bearer "))J.set("auth.error","Missing or invalid Authorization header"),J.set("auth.authenticated",!1);else{let Y=X.substring(7);try{let W=$.verifyAccessToken(Y);J.set("auth.user",W),J.set("auth.token",Y),J.set("auth.authenticated",!0)}catch(W){J.set("auth.error",W instanceof Error?W.message:"Authentication failed"),J.set("auth.authenticated",!1)}}await Q()}}function N1($){return $.get("auth.user")||null}function t5($){return $.get("auth.token")||null}function JO($){return $.get("auth.authenticated")===!0}function QO($){return $.get("auth.error")||null}h1();function bG($){return(J,Q)=>{let Y={config:Array.isArray($)?{roles:$,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...$}};S.defineRoles(J,Q,Y)}}function fG($){return(J,Q)=>{let Y={config:Array.isArray($)?{permissions:$,requireAll:!1}:{requireAll:!1,...$}};S.definePermissions(J,Q,Y)}}function e5($){return bG([$])}function XO($){return fG([$])}function YO(){return e5("admin")}function WO(){return e5("super-admin")}function HO($){return(J,Q)=>{S.defineMinimumRole(J,Q,{roleName:$})}}function $7($){return async(J,Q)=>{J.set("rbac",$),await Q()}}class D6{rbac;constructor($){this.rbac=$}checkRoles($,J){let Q=N1($);if(!Q)throw new E0("Authentication required for role check");let X=Q.roles||[],Y=J.allowInherited?this.rbac.getEffectiveRoles(X):X,W;if(J.requireAll)W=J.roles.every((H)=>Y.includes(H));else W=J.roles.some((H)=>Y.includes(H));if(!W){let H=J.requireAll?"all":"any";throw new E0(`Access denied. Required ${H} of roles: ${J.roles.join(", ")}`)}}checkPermissions($,J){let Q=N1($);if(!Q)throw new E0("Authentication required for permission check");let X=Q.roles||[],Y=new Set;for(let G of X)this.rbac.getRolePermissions(G).forEach((U)=>Y.add(U));let W=Array.from(Y),H;if(J.requireAll)H=J.permissions.every((G)=>H2.hasPermission(W,G));else H=J.permissions.some((G)=>H2.hasPermission(W,G));if(!H){let G=J.requireAll?"all":"any";throw new E0(`Access denied. Required ${G} of permissions: ${J.permissions.join(", ")}`)}}checkMinimumRole($,J){let Q=N1($);if(!Q)throw new E0("Authentication required for role level check");let X=Q.roles||[],Y=this.rbac.getHighestRoleLevel(X),W=this.rbac.getRole(J);if(!W)throw Error(`Required role not found: ${J}`);let H=W.level||0;if(Y<H)throw new E0(`Access denied. Minimum role level required: ${J} (level ${H})`)}}function kG($){return $.get("rbac")||null}function J7($){return N1($)?.roles||[]}function xG($){let J=kG($),Q=J7($);if(!J)return[];let X=new Set;for(let Y of Q)J.getRolePermissions(Y).forEach((H)=>X.add(H));return Array.from(X)}function GO($,J){return J7($).includes(J)}function VO($,J){let Q=xG($);return H2.hasPermission(Q,J)}h1();class vG{config;name="rbac";version="1.0.0";dependencies=["auth"];rbac;guard;constructor($={}){this.config=$;if($.rbac)this.rbac=$.rbac;else if($.useDefaults!==!1)this.rbac=r5();else this.rbac=new W2;if($.roles)this.rbac.defineRoles($.roles);this.guard=new D6(this.rbac)}async install($){let J=$7(this.rbac);if($.use(J),$.getContainer().register(W2,{factory:()=>this.rbac,scope:"singleton"}),$.getContainer().register(D6,{factory:()=>this.guard,scope:"singleton"}),this.extendRouterCompiler($),this.config.enableManagementRoutes!==!1)this.addManagementRoutes($)}extendRouterCompiler($){let J=$.compile.bind($);$.compile=async()=>{let Q=$.getMetadata().getRoutes();for(let X of Q)if(X.roles||X.permissions||X.minimumRole){let Y=this.buildRBACMiddleware(X);$.getMetadata().registerRoute({...X,middleware:[Y,...X.middleware||[]]})}await J()}}buildRBACMiddleware($){let J=this.guard,Q=$.roles?.config,X=$.permissions?.config,Y=$.minimumRole;return async(W,H)=>{if(!N1(W))throw new E0("Authentication required");if(Q)J.checkRoles(W,Q);if(X)J.checkPermissions(W,X);if(Y)J.checkMinimumRole(W,Y.roleName);await H()}}addManagementRoutes($){let J=this.config.routes||{};$.get(J.roles||"/rbac/roles",{handler:(Q)=>{let X=this.rbac.getAllRoles();return Q.json({success:!0,roles:X.map((Y)=>({name:Y.name,description:Y.description,permissions:Y.permissions,inherits:Y.inherits,level:Y.level}))})}}),$.get("/rbac/roles/:roleName",{handler:(Q)=>{let X=Q.req.param("roleName"),Y=this.rbac.getRole(X);if(!Y)return Q.json({error:"Role not found"},404);let W=this.rbac.getRolePermissions(X),H=this.rbac.getRoleHierarchy(X);return Q.json({success:!0,role:{...Y,effectivePermissions:W,hierarchy:H}})}}),$.get("/rbac/roles/:roleName/permissions",{handler:(Q)=>{let X=Q.req.param("roleName");if(!this.rbac.roleExists(X))return Q.json({error:"Role not found"},404);let Y=this.rbac.getRolePermissions(X);return Q.json({success:!0,role:X,permissions:Y})}}),$.post("/rbac/check-permission",{handler:async(Q)=>{let X=await Q.req.json(),{roles:Y,permission:W}=X;if(!Array.isArray(Y)||!W)return Q.json({error:"Invalid request body"},400);let H=this.rbac.userHasPermission(Y,W);return Q.json({success:!0,hasPermission:H,roles:Y,permission:W})}}),$.post("/rbac/check-roles",{handler:async(Q)=>{let X=await Q.req.json(),{userRoles:Y,requiredRoles:W,requireAll:H=!1}=X;if(!Array.isArray(Y)||!Array.isArray(W))return Q.json({error:"Invalid request body"},400);let G=H?this.rbac.userHasRoles(Y,W):this.rbac.userHasAnyRole(Y,W);return Q.json({success:!0,hasRoles:G,userRoles:Y,requiredRoles:W,requireAll:H})}}),$.post("/rbac/effective-roles",{handler:async(Q)=>{let X=await Q.req.json(),{roles:Y}=X;if(!Array.isArray(Y))return Q.json({error:"Invalid request body"},400);let W=this.rbac.getEffectiveRoles(Y);return Q.json({success:!0,inputRoles:Y,effectiveRoles:W})}}),$.post("/rbac/user-permissions",{handler:async(Q)=>{let X=await Q.req.json(),{roles:Y}=X;if(!Array.isArray(Y))return Q.json({error:"Invalid request body"},400);let W=new Set;for(let H of Y)if(this.rbac.roleExists(H))this.rbac.getRolePermissions(H).forEach((V)=>W.add(V));return Q.json({success:!0,roles:Y,permissions:Array.from(W)})}})}getRBACManager(){return this.rbac}getGuard(){return this.guard}}h1();class hG{config;name="auth";version="1.0.0";authService;compileExtended=!1;constructor($){this.config=$;this.authService=new _6($.jwt,$.userProvider)}async install($){let J=a5(this.authService.getJWTProvider());if($.use(J),$.getContainer().register(_6,{factory:()=>this.authService,scope:"singleton"}),this.config.enableDefaultRoutes!==!1)this.addDefaultRoutes($);this.extendRouterCompiler($)}extendRouterCompiler($){if(this.compileExtended)return;this.compileExtended=!0,$.use(async(Q,X)=>{Q.set("authService",this.authService),await X()});let J=$.compile.bind($);$.compile=async()=>{await J();let Q=$.getHono(),X=$.getMetadata().getRoutes();for(let Y of X){let W=S.getAuthMetadata(Y.target.prototype,Y.propertyKey);if(Y.auth?.required||W?.required){console.log("Adding auth middleware for route:",Y.path,Y.method);let G=Y.auth?.config||W?.config;Q.use(Y.path,async(V,U)=>{if(console.log("Auth middleware executing for:",V.req.path,V.req.method,"target:",Y.path,Y.method),V.req.method!==Y.method)return console.log("Method mismatch, skipping auth check"),U();console.log("Checking authentication...");let q=V.get("auth.user"),_=V.get("auth.error");if(!q){let F=_||"Authentication required";throw console.log("No user found, throwing auth exception"),new R0(F)}if(G?.roles?.length){if(!this.authService.hasRoles(q,G.roles))throw new E0(`Required roles: ${G.roles.join(", ")}`)}if(G?.permissions?.length){if(!this.authService.hasPermissions(q,G.permissions))throw new E0(`Required permissions: ${G.permissions.join(", ")}`)}await U()})}}}}buildPath($){return $.path}pathMatches($,J){let Q=$.replace(/:([^/]+)/g,"([^/]+)");return new RegExp(`^${Q}$`).test(J)}addDefaultRoutes($){let J=this.config.routes||{};if($.post(J.login||"/auth/login",{handler:async(Q)=>{let X=await Q.req.json(),{username:Y,password:W}=X;try{let H=await this.authService.login(Y,W);return{success:!0,user:H.user,tokens:H.tokens}}catch(H){throw new R0(H instanceof Error?H.message:"Login failed")}},schema:{body:w.object({username:w.string().min(1),password:w.string().min(1)})}}),$.post(J.refresh||"/auth/refresh",{handler:async(Q)=>{let X=await Q.req.json(),{refreshToken:Y}=X;try{return{success:!0,tokens:await this.authService.refresh(Y)}}catch(W){throw new R0(W instanceof Error?W.message:"Token refresh failed")}},schema:{body:w.object({refreshToken:w.string().min(1)})}}),$.post(J.logout||"/auth/logout",{handler:async(Q)=>{let X=t5(Q),Y=await Q.req.json(),{refreshToken:W}=Y;if(X)await this.authService.logout(X,W);return{success:!0,message:"Logged out successfully"}},schema:{body:w.object({refreshToken:w.string().optional()})}}),"createUser"in this.config.userProvider)$.post(J.register||"/auth/register",{handler:async(Q)=>{let X=await Q.req.json(),{username:Y,password:W,email:H}=X;try{let G=await this.authService.register({username:Y,password:W,email:H});return{success:!0,user:G.user,tokens:G.tokens}}catch(G){throw new R0(G instanceof Error?G.message:"Registration failed")}},schema:{body:w.object({username:w.string().min(1),password:w.string().min(6),email:w.string().email().optional()})}});$.get("/auth/me",{handler:async(Q)=>{let X=N1(Q);if(!X)throw new R0("Not authenticated");return{success:!0,user:X}}})}getAuthService(){return this.authService}}class r4{name;config;constructor($,J){this.name=$;this.config=J}getAuthUrl($,J){let Q=new URLSearchParams({client_id:this.config.clientId,redirect_uri:this.config.redirectUri,response_type:"code",state:$,scope:this.config.scopes?.join(" ")||""});if(J&&this.config.pkce)Q.set("code_challenge",J),Q.set("code_challenge_method","S256");return`${this.config.authUrl}?${Q.toString()}`}async exchangeCodeForTokens($,J){let Q=new URLSearchParams({client_id:this.config.clientId,client_secret:this.config.clientSecret,code:$,grant_type:"authorization_code",redirect_uri:this.config.redirectUri});if(J&&this.config.pkce)Q.set("code_verifier",J);let X=await fetch(this.config.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:Q.toString()});if(!X.ok){let W=await X.text();throw Error(`Token exchange failed: ${W}`)}let Y=await X.json();return{accessToken:Y.access_token,refreshToken:Y.refresh_token,expiresIn:Y.expires_in,tokenType:Y.token_type||"Bearer",scope:Y.scope}}async getUserInfo($){let J=await fetch(this.config.userInfoUrl,{headers:{Authorization:`Bearer ${$}`,Accept:"application/json"}});if(!J.ok){let X=await J.text();throw Error(`Failed to get user info: ${X}`)}let Q=await J.json();return this.mapUserInfo(Q)}mapUserInfo($){return{id:$.id||$.sub,email:$.email,name:$.name,username:$.login||$.preferred_username,avatar:$.avatar_url||$.picture,provider:this.name,...$}}}class UO extends r4{constructor($,J,Q){super("google",{clientId:$,clientSecret:J,redirectUri:Q,scopes:["openid","profile","email"],authUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v2/userinfo",pkce:!0})}mapUserInfo($){return{id:$.id,email:$.email,name:$.name,username:$.email,avatar:$.picture,provider:"google",verified:$.verified_email,locale:$.locale,raw:$}}}class qO extends r4{constructor($,J,Q){super("github",{clientId:$,clientSecret:J,redirectUri:Q,scopes:["user:email"],authUrl:"https://github.com/login/oauth/authorize",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",pkce:!1})}mapUserInfo($){return{id:$.id.toString(),email:$.email,name:$.name,username:$.login,avatar:$.avatar_url,provider:"github",company:$.company,location:$.location,bio:$.bio,raw:$}}async getUserInfo($){let J=await fetch(this.config.userInfoUrl,{headers:{Authorization:`Bearer ${$}`,Accept:"application/vnd.github.v3+json","User-Agent":"VeloceTS-OAuth"}});if(!J.ok)throw Error(`Failed to get user info: ${await J.text()}`);let Q=await J.json();if(!Q.email)try{let X=await fetch("https://api.github.com/user/emails",{headers:{Authorization:`Bearer ${$}`,Accept:"application/vnd.github.v3+json","User-Agent":"VeloceTS-OAuth"}});if(X.ok){let W=(await X.json()).find((H)=>H.primary);if(W)Q.email=W.email}}catch(X){}return this.mapUserInfo(Q)}}class _O extends r4{constructor($,J,Q,X="common"){super("microsoft",{clientId:$,clientSecret:J,redirectUri:Q,scopes:["openid","profile","email"],authUrl:`https://login.microsoftonline.com/${X}/oauth2/v2.0/authorize`,tokenUrl:`https://login.microsoftonline.com/${X}/oauth2/v2.0/token`,userInfoUrl:"https://graph.microsoft.com/v1.0/me",pkce:!0})}mapUserInfo($){return{id:$.id,email:$.mail||$.userPrincipalName,name:$.displayName,username:$.userPrincipalName,avatar:void 0,provider:"microsoft",jobTitle:$.jobTitle,department:$.department,officeLocation:$.officeLocation,raw:$}}}class DO{static generateCodeVerifier(){let $=new Uint8Array(32);return crypto.getRandomValues($),this.base64URLEncode($)}static async generateCodeChallenge($){let Q=new TextEncoder().encode($),X=await crypto.subtle.digest("SHA-256",Q);return this.base64URLEncode(new Uint8Array(X))}static async generatePKCEChallenge(){let $=this.generateCodeVerifier(),J=await this.generateCodeChallenge($);return{codeVerifier:$,codeChallenge:J,codeChallengeMethod:"S256"}}static base64URLEncode($){return btoa(String.fromCharCode(...$)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}}class BO{states=new Map;ttl=600000;generateState($){let J=crypto.randomUUID();return this.states.set(J,{timestamp:Date.now(),data:$}),this.cleanup(),J}validateState($){let J=this.states.get($);if(!J)return{valid:!1};if(Date.now()-J.timestamp>this.ttl)return this.states.delete($),{valid:!1};return this.states.delete($),{valid:!0,data:J.data}}cleanup(){let $=Date.now();for(let[J,Q]of this.states.entries())if($-Q.timestamp>this.ttl)this.states.delete(J)}}var Ab=w.object({code:w.string(),state:w.string(),error:w.string().optional(),error_description:w.string().optional()}),jb=w.object({accessToken:w.string(),refreshToken:w.string().optional(),expiresIn:w.number().optional(),tokenType:w.string(),scope:w.string().optional()}),gG=w.object({id:w.string(),email:w.string().optional(),name:w.string().optional(),username:w.string().optional(),avatar:w.string().optional(),provider:w.string()}).passthrough();function yG($){return(J,Q)=>{let X={provider:$.provider,config:$};S.defineOAuth(J,Q,X)}}function uG(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"oauth-user",required:!0})}}function mG(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"oauth-token",required:!0})}}function lG($){return $.get("oauth.user")||null}function cG($){return $.get("oauth.token")||null}function dG($){return $.get("oauth.authenticated")===!0}function pG($){return $.get("oauth.provider")||null}class FO{sessions=new Map;async get($){let J=this.sessions.get($);if(!J)return null;if(J.expiresAt&&J.expiresAt<new Date)return this.sessions.delete($),null;return J}async set($,J){this.sessions.set($,J)}async destroy($){this.sessions.delete($)}async touch($){let J=this.sessions.get($);if(J)J.updatedAt=new Date,this.sessions.set($,J)}async clear(){this.sessions.clear()}async length(){return this.sessions.size}async all(){return Array.from(this.sessions.values())}cleanup(){let $=new Date;for(let[J,Q]of this.sessions.entries())if(Q.expiresAt&&Q.expiresAt<$)this.sessions.delete(J)}}class zO{redis;prefix="sess:";constructor($,J){this.redis=$;if(J)this.prefix=J}async get($){let J=this.prefix+$,Q=await this.redis.get(J);if(!Q)return null;try{let X=JSON.parse(Q);if(X.createdAt=new Date(X.createdAt),X.updatedAt=new Date(X.updatedAt),X.expiresAt)X.expiresAt=new Date(X.expiresAt);return X}catch(X){return null}}async set($,J){let Q=this.prefix+$,X=JSON.stringify(J);if(J.expiresAt){let Y=Math.floor((J.expiresAt.getTime()-Date.now())/1000);if(Y>0)await this.redis.setex(Q,Y,X)}else await this.redis.set(Q,X)}async destroy($){let J=this.prefix+$;await this.redis.del(J)}async touch($){let J=await this.get($);if(J)J.updatedAt=new Date,await this.set($,J)}async clear(){let $=await this.redis.keys(this.prefix+"*");if($.length>0)await this.redis.del(...$)}async length(){return(await this.redis.keys(this.prefix+"*")).length}async all(){let $=await this.redis.keys(this.prefix+"*"),J=[];for(let Q of $){let X=await this.redis.get(Q);if(X)try{let Y=JSON.parse(X);if(Y.createdAt=new Date(Y.createdAt),Y.updatedAt=new Date(Y.updatedAt),Y.expiresAt)Y.expiresAt=new Date(Y.expiresAt);J.push(Y)}catch(Y){}}return J}}class Q7{store;config;constructor($,J){this.store=$;this.config={name:"sessionId",maxAge:86400000,secure:!1,httpOnly:!0,sameSite:"lax",path:"/",rolling:!1,genid:()=>crypto.randomUUID(),...J,domain:J.domain}}async createSession($,J={},Q){let X=this.config.genid(),Y=new Date,W=Q?.maxAge||this.config.maxAge,H={id:X,userId:$,data:J,createdAt:Y,updatedAt:Y,expiresAt:new Date(Y.getTime()+W),ipAddress:Q?.ipAddress,userAgent:Q?.userAgent,csrfToken:this.generateCSRFToken()};return await this.store.set(X,H),H}async getSession($){return await this.store.get($)}async updateSession($,J){let Q=await this.store.get($);if(!Q)return null;if(Q.data={...Q.data,...J},Q.updatedAt=new Date,this.config.rolling)Q.expiresAt=new Date(Date.now()+this.config.maxAge);return await this.store.set($,Q),Q}async touchSession($){if(this.config.rolling){let J=await this.store.get($);if(J)J.updatedAt=new Date,J.expiresAt=new Date(Date.now()+this.config.maxAge),await this.store.set($,J)}else await this.store.touch($)}async destroySession($){await this.store.destroy($)}async regenerateSession($){let J=await this.store.get($);if(!J)return null;let Q=this.config.genid(),X={...J,id:Q,updatedAt:new Date,csrfToken:this.generateCSRFToken()};return await this.store.set(Q,X),await this.store.destroy($),X}async getUserSessions($){return(await this.store.all()).filter((Q)=>Q.userId===$)}async destroyUserSessions($){let J=await this.getUserSessions($);for(let Q of J)await this.store.destroy(Q.id)}validateCSRFToken($,J){return $.csrfToken===J}generateCSRFToken(){return crypto.randomUUID()}getCookieOptions(){let $={maxAge:this.config.maxAge,secure:this.config.secure,httpOnly:this.config.httpOnly,sameSite:this.config.sameSite,path:this.config.path};if(this.config.domain)$.domain=this.config.domain;return $}getConfig(){return{...this.config}}getStore(){return this.store}}class NO{tokenStore=new Map;tokenTTL=3600000;generateToken($){let J=crypto.randomUUID(),Q=new Date(Date.now()+this.tokenTTL);return this.tokenStore.set($,{token:J,expiresAt:Q}),this.cleanup(),J}validateToken($,J){let Q=this.tokenStore.get($);if(!Q)return!1;if(Q.expiresAt<new Date)return this.tokenStore.delete($),!1;return Q.token===J}removeToken($){this.tokenStore.delete($)}cleanup(){let $=new Date;for(let[J,Q]of this.tokenStore.entries())if(Q.expiresAt<$)this.tokenStore.delete(J)}}var iG=w.object({id:w.string(),userId:w.string(),data:w.record(w.any()),createdAt:w.date(),updatedAt:w.date(),expiresAt:w.date().optional(),ipAddress:w.string().optional(),userAgent:w.string().optional(),csrfToken:w.string().optional()}),Zb=w.object({name:w.string().optional(),secret:w.string(),maxAge:w.number().optional(),secure:w.boolean().optional(),httpOnly:w.boolean().optional(),sameSite:w.enum(["strict","lax","none"]).optional(),domain:w.string().optional(),path:w.string().optional(),rolling:w.boolean().optional()}),Sb=w.object({userId:w.string(),data:w.record(w.any()).optional(),maxAge:w.number().optional(),ipAddress:w.string().optional(),userAgent:w.string().optional()}),Cb=w.object({data:w.record(w.any())});h1();function nG($={}){return(J,Q)=>{let X={config:$};S.defineSession(J,Q,X)}}function sG(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"current-session",required:!0})}}function Tb($){return(J,Q,X)=>{if(Q)S.defineParameter(J,Q,X,{index:X,type:"session-data",required:!1,metadata:{key:$}})}}function oG(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"csrf-token",required:!0})}}function rG(){return($,J)=>{S.defineCSRF($,J,{required:!0})}}function aG($,J){return async(Q,X)=>{let Y=$.getConfig(),W=G4(Q,Y.name),H=null;if(W){if(H=await $.getSession(W),H)await $.touchSession(W)}Q.set("session",H),Q.set("sessionManager",$),Q.set("csrfProtection",J),await X()}}class X7{sessionManager;csrfProtection;constructor($,J){this.sessionManager=$;this.csrfProtection=J}checkSession($,J){let Q=u0($);if(J.required&&!Q)throw new R0("Session required");if(Q&&J.csrf)this.checkCSRF($,Q)}checkCSRF($,J){if(!this.csrfProtection)throw Error("CSRF protection not configured");let Q=$.req.header("X-CSRF-Token")||$.req.query("_csrf");if(!Q)throw new E0("CSRF token required");if(!this.csrfProtection.validateToken(J.id,Q))throw new E0("Invalid CSRF token")}async createSession($,J,Q={}){let X=G2($);if(!X)throw Error("Session manager not available");let Y=$.req.header("X-Forwarded-For")||$.req.header("X-Real-IP")||"unknown",W=$.req.header("User-Agent")||"unknown",H=await X.createSession(J,Q,{ipAddress:Y,userAgent:W}),G=X.getCookieOptions();return V4($,X.getConfig().name,H.id,G),$.set("session",H),H}async updateSession($,J){let Q=u0($),X=G2($);if(!Q||!X)return null;let Y=await X.updateSession(Q.id,J);if(Y)$.set("session",Y);return Y}async destroySession($){let J=u0($),Q=G2($);if(!J||!Q)return;await Q.destroySession(J.id);let X=Q.getConfig();if(V4($,X.name,"",{...Q.getCookieOptions(),maxAge:0}),$.set("session",null),this.csrfProtection)this.csrfProtection.removeToken(J.id)}async regenerateSession($){let J=u0($),Q=G2($);if(!J||!Q)return null;let X=await Q.regenerateSession(J.id);if(X){let Y=Q.getCookieOptions();if(V4($,Q.getConfig().name,X.id,Y),$.set("session",X),this.csrfProtection)this.csrfProtection.removeToken(J.id),this.csrfProtection.generateToken(X.id)}return X}generateCSRFToken($){let J=u0($);if(!J||!this.csrfProtection)return null;return this.csrfProtection.generateToken(J.id)}}function u0($){return $.get("session")||null}function G2($){return $.get("sessionManager")||null}function tG($){return $.get("csrfProtection")||null}function eG($,J){let Q=u0($);if(!Q)return null;if(J)return Q.data[J];return Q.data}function $V($){return u0($)!==null}function JV($){return u0($)?.userId||null}function QV($,J,Q){let X=u0($);if(X)X.data[J]=Q,$.set("session",X)}function XV($,J){let Q=u0($);if(Q&&J in Q.data)delete Q.data[J],$.set("session",Q)}class m1{schema;constructor($){this.schema=$}validate($){if(this.schema)return this.schema.parse($);return $}validatePartial($){if(this.schema)try{return this.schema.parse($)}catch{return $}return $}async createMany($){let J=[];for(let Q of $)J.push(await this.create(Q));return J}async updateMany($,J){let Q=await this.findMany({where:$}),X=0;for(let Y of Q){let W=Y.id;if(W)await this.update(W,J),X++}return X}async deleteMany($){let J=await this.findMany({where:$}),Q=0;for(let X of J){let Y=X.id;if(Y&&await this.delete(Y))Q++}return Q}async findPaginated($){let{pagination:J,...Q}=$,{page:X,limit:Y}=J,W=(X-1)*Y,H=await this.count(Q.where),G=await this.findMany({...Q,pagination:{...J,offset:W}}),V=Math.ceil(H/Y);return{data:G,total:H,page:X,limit:Y,totalPages:V,hasNext:X<V,hasPrev:X>1}}async count($){return(await this.findMany({where:$})).length}async exists($){return await this.findOne({where:$})!==null}async withTransaction($){return $(this)}buildWhereClause($){if(!$)return{};return $}buildOrderByClause($){if(!$)return{};if(Array.isArray($))return $.reduce((J,Q)=>{return J[Q.field]=Q.direction,J},{});return{[$.field]:$.direction}}buildPaginationClause($){if(!$)return{};let J={};if($.limit)J.take=$.limit;if($.offset)J.skip=$.offset;return J}}class P1 extends m1{client;delegate;modelName;constructor($){super($.zodSchema);this.client=$.client,this.delegate=$.delegate,this.modelName=$.model}async create($){let J=this.validatePartial($),Q=await this.delegate.create({data:J});return this.validate(Q)}async findById($){let J=await this.delegate.findUnique({where:{id:$}});return J?this.validate(J):null}async findOne($){let J=this.buildPrismaFindOptions($),Q=await this.delegate.findFirst(J);return Q?this.validate(Q):null}async findMany($){let J=this.buildPrismaFindOptions($||{});return(await this.delegate.findMany(J)).map((X)=>this.validate(X))}async update($,J){let Q=this.validatePartial(J),X=await this.delegate.update({where:{id:$},data:Q});return this.validate(X)}async delete($){try{return await this.delegate.delete({where:{id:$}}),!0}catch(J){return!1}}async createMany($){let J=$.map((X)=>this.validatePartial(X));await this.delegate.create({data:J,skipDuplicates:!0});let Q=[];for(let X of J){let Y=await this.create(X);Q.push(Y)}return Q}async updateMany($,J){let Q=this.validatePartial(J);return(await this.delegate.updateMany({where:this.buildWhereClause($),data:Q})).count}async deleteMany($){return(await this.delegate.deleteMany({where:this.buildWhereClause($)})).count}async count($){return await this.delegate.count({where:$?this.buildWhereClause($):void 0})}async exists($){return await this.delegate.count({where:this.buildWhereClause($),take:1})>0}async findPaginated($){let{pagination:J,...Q}=$,{page:X,limit:Y}=J,W=(X-1)*Y,H=this.buildPrismaFindOptions(Q),[G,V]=await Promise.all([this.delegate.count({where:H.where}),this.delegate.findMany({...H,skip:W,take:Y})]),U=V.map((_)=>this.validate(_)),q=Math.ceil(G/Y);return{data:U,total:G,page:X,limit:Y,totalPages:q,hasNext:X<q,hasPrev:X>1}}async withTransaction($){return await this.client.$transaction(async(J)=>{let Q=new this.constructor({client:J,delegate:J[this.modelName.toLowerCase()],model:this.modelName,zodSchema:this.schema});return await $(Q)})}buildPrismaFindOptions($){let J={};if($.where)J.where=this.buildWhereClause($.where);if($.orderBy)J.orderBy=this.buildOrderByClause($.orderBy);if($.pagination){let Q=this.buildPaginationClause($.pagination);Object.assign(J,Q)}if($.include)J.include=$.include.reduce((Q,X)=>{return Q[X]=!0,Q},{});if($.select)J.select=$.select.reduce((Q,X)=>{return Q[X]=!0,Q},{});return J}buildWhereClause($){let J={};for(let[Q,X]of Object.entries($))if(X===null||X===void 0)J[Q]=null;else if(typeof X==="object"&&!Array.isArray(X))J[Q]=X;else if(Array.isArray(X))J[Q]={in:X};else J[Q]=X;return J}buildOrderByClause($){if(Array.isArray($))return $.map((J)=>({[J.field]:J.direction}));return{[$.field]:$.direction}}buildPaginationClause($){let J={};if($.limit)J.take=$.limit;if($.offset)J.skip=$.offset;return J}async aggregate($){let J={};if($.where)J.where=this.buildWhereClause($.where);if($._count)J._count=$._count;if($._avg)J._avg=$._avg;if($._sum)J._sum=$._sum;if($._min)J._min=$._min;if($._max)J._max=$._max;return await this.delegate.aggregate(J)}async groupBy($){let J={by:$.by};if($.where)J.where=this.buildWhereClause($.where);if($.having)J.having=this.buildWhereClause($.having);if($.orderBy)J.orderBy=this.buildOrderByClause($.orderBy);if($._count)J._count=$._count;if($._avg)J._avg=$._avg;if($._sum)J._sum=$._sum;if($._min)J._min=$._min;if($._max)J._max=$._max;return await this.delegate.groupBy(J)}}class K1 extends m1{dataSource;repository;entity;constructor($){super($.zodSchema);this.dataSource=$.dataSource,this.repository=$.repository,this.entity=$.entity}async create($){let J=this.validatePartial($),Q=this.repository.create(J),X=await this.repository.save(Q);return this.validate(X)}async findById($){let J=await this.repository.findOneBy({id:$});return J?this.validate(J):null}async findOne($){let J=this.buildTypeORMFindOptions($),Q=await this.repository.findOne(J);return Q?this.validate(Q):null}async findMany($){let J=this.buildTypeORMFindOptions($||{});return(await this.repository.find(J)).map((X)=>this.validate(X))}async update($,J){let Q=this.validatePartial(J),X=await this.repository.findOneBy({id:$});if(!X)throw Error(`Entity with id ${$} not found`);let Y=this.repository.merge(X,Q),W=await this.repository.save(Y);return this.validate(W)}async delete($){return((await this.repository.delete({id:$})).affected||0)>0}async createMany($){let Q=$.map((Y)=>this.validatePartial(Y)).map((Y)=>this.repository.create(Y));return(await this.repository.save(Q)).map((Y)=>this.validate(Y))}async updateMany($,J){let Q=this.validatePartial(J),X=this.buildWhereClause($);return(await this.repository.update(X,Q)).affected||0}async deleteMany($){let J=this.buildWhereClause($);return(await this.repository.delete(J)).affected||0}async count($){let J=$?{where:this.buildWhereClause($)}:{};return await this.repository.count(J)}async exists($){return await this.repository.count({where:this.buildWhereClause($),take:1})>0}async findPaginated($){let{pagination:J,...Q}=$,{page:X,limit:Y}=J,W=(X-1)*Y,H=this.buildTypeORMFindOptions(Q);H.skip=W,H.take=Y;let[G,V]=await this.repository.createQueryBuilder("entity").where(H.where||{}).orderBy(H.order||{}).skip(W).take(Y).getManyAndCount(),U=G.map((_)=>this.validate(_)),q=Math.ceil(V/Y);return{data:U,total:V,page:X,limit:Y,totalPages:q,hasNext:X<q,hasPrev:X>1}}async withTransaction($){return await this.dataSource.transaction(async(J)=>{let Q=J.getRepository?J.getRepository(this.entity):this.repository,X=new this.constructor({dataSource:this.dataSource,repository:Q,entity:this.entity,zodSchema:this.schema});return await $(X)})}buildTypeORMFindOptions($){let J={};if($.where)J.where=this.buildWhereClause($.where);if($.orderBy)J.order=this.buildOrderByClause($.orderBy);if($.pagination){if($.pagination.limit)J.take=$.pagination.limit;if($.pagination.offset)J.skip=$.pagination.offset}if($.include)J.relations=$.include;if($.select)J.select=$.select.reduce((Q,X)=>{return Q[X]=!0,Q},{});return J}buildWhereClause($){let J={};for(let[Q,X]of Object.entries($))if(X===null||X===void 0)J[Q]=null;else if(typeof X==="object"&&!Array.isArray(X))if("gt"in X)J[Q]={$gt:X.gt};else if("gte"in X)J[Q]={$gte:X.gte};else if("lt"in X)J[Q]={$lt:X.lt};else if("lte"in X)J[Q]={$lte:X.lte};else if("like"in X)J[Q]={$like:X.like};else if("in"in X)J[Q]={$in:X.in};else J[Q]=X;else if(Array.isArray(X))J[Q]={$in:X};else J[Q]=X;return J}buildOrderByClause($){if(Array.isArray($))return $.reduce((J,Q)=>{return J[Q.field]=Q.direction.toUpperCase(),J},{});return{[$.field]:$.direction.toUpperCase()}}createQueryBuilder($){return this.repository.createQueryBuilder($)}async query($,J){return await this.dataSource.manager.query($,J)}async softDelete($){try{if(this.dataSource.getMetadata(this.entity).columns.some((X)=>X.propertyName==="deletedAt"))return((await this.repository.update({id:$},{deletedAt:new Date})).affected||0)>0;else return await this.delete($)}catch(J){return!1}}async restore($){try{return((await this.repository.update({id:$},{deletedAt:null})).affected||0)>0}catch(J){return!1}}async findWithRelations($,J){let Q=await this.repository.findOne({where:{id:$},relations:J});return Q?this.validate(Q):null}async bulkInsert($){let J=$.map((Y)=>this.validatePartial(Y)),X=this.repository.createQueryBuilder().insert();if(X)await X.into(this.entity).values(J).execute();else await this.createMany($)}async upsert($,J){let Q=this.validatePartial($);try{let X=this.repository.create(Q),Y=await this.repository.save(X);return this.validate(Y)}catch(X){let Y=J.reduce((H,G)=>{if(G in Q)H[G]=Q[G];return H},{}),W=await this.repository.findOneBy(Y);if(W){let H=this.repository.merge(W,Q),G=await this.repository.save(H);return this.validate(G)}throw X}}}class m0 extends m1{database;table;operators;constructor($){super($.zodSchema);this.database=$.database,this.table=$.table,this.operators=this.initializeOperators()}initializeOperators(){return{eq:($,J)=>({type:"eq",column:$,value:J}),ne:($,J)=>({type:"ne",column:$,value:J}),gt:($,J)=>({type:"gt",column:$,value:J}),gte:($,J)=>({type:"gte",column:$,value:J}),lt:($,J)=>({type:"lt",column:$,value:J}),lte:($,J)=>({type:"lte",column:$,value:J}),like:($,J)=>({type:"like",column:$,value:J}),ilike:($,J)=>({type:"ilike",column:$,value:J}),inArray:($,J)=>({type:"in",column:$,values:J}),notInArray:($,J)=>({type:"notIn",column:$,values:J}),isNull:($)=>({type:"isNull",column:$}),isNotNull:($)=>({type:"isNotNull",column:$}),between:($,J,Q)=>({type:"between",column:$,min:J,max:Q}),and:(...$)=>({type:"and",conditions:$}),or:(...$)=>({type:"or",conditions:$}),not:($)=>({type:"not",condition:$})}}async create($){let J=this.validatePartial($),Q=await this.database.insert(this.table).values(J).returning().execute();return this.validate(Q[0])}async findById($){let J=this.getPrimaryKeyColumn(),Q=await this.database.select().from(this.table).where(this.operators.eq(J,$)).execute();return Q.length>0?this.validate(Q[0]):null}async findOne($){let J=this.database.select().from(this.table);if($.where)J=J.where(this.buildWhereClause($.where));if($.orderBy)J=J.orderBy(...this.buildOrderByClause($.orderBy));J=J.limit(1);let Q=await J.execute();return Q.length>0?this.validate(Q[0]):null}async findMany($){let J=this.database.select().from(this.table);if($?.where)J=J.where(this.buildWhereClause($.where));if($?.orderBy)J=J.orderBy(...this.buildOrderByClause($.orderBy));if($?.pagination){if($.pagination.limit)J=J.limit($.pagination.limit);if($.pagination.offset)J=J.offset($.pagination.offset)}return(await J.execute()).map((X)=>this.validate(X))}async update($,J){let Q=this.validatePartial(J),X=this.getPrimaryKeyColumn(),Y=await this.database.update(this.table).set(Q).where(this.operators.eq(X,$)).returning().execute();if(Y.length===0)throw Error(`Entity with id ${$} not found`);return this.validate(Y[0])}async delete($){let J=this.getPrimaryKeyColumn();return(await this.database.delete(this.table).where(this.operators.eq(J,$)).execute()).rowsAffected>0}async createMany($){let J=$.map((X)=>this.validatePartial(X));return(await this.database.insert(this.table).values(J).returning().execute()).map((X)=>this.validate(X))}async updateMany($,J){let Q=this.validatePartial(J),X=this.buildWhereClause($);return(await this.database.update(this.table).set(Q).where(X).execute()).rowsAffected}async deleteMany($){let J=this.buildWhereClause($);return(await this.database.delete(this.table).where(J).execute()).rowsAffected}async count($){let J=this.database.select({count:"COUNT(*)"}).from(this.table);if($)J=J.where(this.buildWhereClause($));return(await J.execute())[0]?.count||0}async exists($){return await this.count($)>0}async findPaginated($){let{pagination:J,...Q}=$,{page:X,limit:Y}=J,W=(X-1)*Y,H=this.database.select().from(this.table),G=this.database.select({count:"COUNT(*)"}).from(this.table);if(Q.where){let B=this.buildWhereClause(Q.where);H=H.where(B),G=G.where(B)}if(Q.orderBy)H=H.orderBy(...this.buildOrderByClause(Q.orderBy));H=H.limit(Y).offset(W);let[V,U]=await Promise.all([H.execute(),G.execute()]),q=U[0]?.count||0,_=V.map((B)=>this.validate(B)),F=Math.ceil(q/Y);return{data:_,total:q,page:X,limit:Y,totalPages:F,hasNext:X<F,hasPrev:X>1}}async withTransaction($){return await this.database.transaction(async(J)=>{let Q=new this.constructor({database:J,table:this.table,zodSchema:this.schema});return await $(Q)})}buildWhereClause($){let J=[];for(let[Q,X]of Object.entries($)){let Y=this.getColumn(Q);if(X===null||X===void 0)J.push(this.operators.isNull(Y));else if(typeof X==="object"&&!Array.isArray(X))if("gt"in X)J.push(this.operators.gt(Y,X.gt));else if("gte"in X)J.push(this.operators.gte(Y,X.gte));else if("lt"in X)J.push(this.operators.lt(Y,X.lt));else if("lte"in X)J.push(this.operators.lte(Y,X.lte));else if("like"in X)J.push(this.operators.like(Y,X.like));else if("ilike"in X)J.push(this.operators.ilike(Y,X.ilike));else if("in"in X)J.push(this.operators.inArray(Y,X.in));else if("notIn"in X)J.push(this.operators.notInArray(Y,X.notIn));else if("between"in X&&Array.isArray(X.between)&&X.between.length===2)J.push(this.operators.between(Y,X.between[0],X.between[1]));else J.push(this.operators.eq(Y,X));else if(Array.isArray(X))J.push(this.operators.inArray(Y,X));else J.push(this.operators.eq(Y,X))}return J.length===1?J[0]:this.operators.and(...J)}buildOrderByClause($){if(Array.isArray($))return $.map((Q)=>{let X=this.getColumn(Q.field);return Q.direction==="desc"?{column:X,direction:"desc"}:X});let J=this.getColumn($.field);return $.direction==="desc"?[{column:J,direction:"desc"}]:[J]}getPrimaryKeyColumn(){for(let[$,J]of Object.entries(this.table._.columns))if(J._.isPrimaryKey)return this.table[$];return this.table.id||this.table._.columns.id}getColumn($){return this.table[$]||this.table._.columns[$]}async rawQuery($,J){return await this.database.execute({sql:$,params:J})}async upsert($,J){let Q=this.validatePartial($),X=J.map((W)=>this.getColumn(W)),Y=await this.database.insert(this.table).values(Q).onConflictDoUpdate({target:X,set:Q}).returning().execute();return this.validate(Y[0])}async bulkUpsert($,J){let Q=$.map((W)=>this.validatePartial(W)),X=J.map((W)=>this.getColumn(W));return(await this.database.insert(this.table).values(Q).onConflictDoUpdate({target:X,set:Q[0]}).returning().execute()).map((W)=>this.validate(W))}async findWithSelect($,J){let Q=J.reduce((Y,W)=>{return Y[W]=this.getColumn(W),Y},{}),X=this.database.select(Q).from(this.table);if($.where)X=X.where(this.buildWhereClause($.where));if($.orderBy)X=X.orderBy(...this.buildOrderByClause($.orderBy));if($.pagination){if($.pagination.limit)X=X.limit($.pagination.limit);if($.pagination.offset)X=X.offset($.pagination.offset)}return await X.execute()}async aggregate($){let J={};if($.count)J.count="COUNT(*)";if($.sum)for(let X of $.sum)J[`sum_${X}`]=`SUM(${X})`;if($.avg)for(let X of $.avg)J[`avg_${X}`]=`AVG(${X})`;if($.min)for(let X of $.min)J[`min_${X}`]=`MIN(${X})`;if($.max)for(let X of $.max)J[`max_${X}`]=`MAX(${X})`;let Q=this.database.select(J).from(this.table);if($.where)Q=Q.where(this.buildWhereClause($.where));if($.groupBy){let X=$.groupBy.map((Y)=>this.getColumn(Y));Q=Q.groupBy(...X)}if($.having)Q=Q.having(this.buildWhereClause($.having));return await Q.execute()}}class N${static instance;constructor(){}static getInstance(){if(!N$.instance)N$.instance=new N$;return N$.instance}createRepository($,J){switch($){case"prisma":return new P1(J);case"typeorm":return new K1(J);case"drizzle":return new m0(J);default:throw Error(`Unsupported repository type: ${$}`)}}createPrismaRepository($){return new P1($)}createTypeORMRepository($){return new K1($)}createDrizzleRepository($){return new m0($)}}class B6{repositories=new Map;factory;constructor(){this.factory=N$.getInstance()}register($,J){this.repositories.set($,J)}get($){return this.repositories.get($)}createAndRegister($,J,Q){let X=this.factory.createRepository(J,Q);return this.register($,X),X}remove($){return this.repositories.delete($)}getNames(){return Array.from(this.repositories.keys())}clear(){this.repositories.clear()}size(){return this.repositories.size}}function wO($,J,Q){return(X,Y)=>{let W={type:"generic-repository",name:$,ormType:J,options:Q};Reflect.defineMetadata("inject",W,X,Y)}}function AO($){return class extends ${repositories=new B6;getRepository(J){return this.repositories.get(J)}createRepository(J,Q,X){return this.repositories.createAndRegister(J,Q,X)}async withRepositories(J,Q){let X=new Map;for(let W of J){let H=this.repositories.get(W);if(H)X.set(W,H)}let Y=X.values().next().value;if(Y&&typeof Y.withTransaction==="function")return await Y.withTransaction(async()=>{return await Q(X)});return await Q(X)}}}class YV{repositories=new B6;constructor(){this.initializeRepositories()}getRepository($){let J=this.repositories.get($);if(!J)throw Error(`Repository '${$}' not found`);return J}async executeInTransaction($,J){let Q=new Map;for(let Y of $){let W=this.repositories.get(Y);if(W)Q.set(Y,W)}let X=Q.values().next().value;if(X&&typeof X.withTransaction==="function")return await X.withTransaction(async()=>{return await J(Q)});return await J(Q)}}var jO=new B6;class a4{executor;operators;selectFields;whereConditions=[];orderByClause;limitCount;offsetCount;groupByFields;havingConditions=[];joins=[];constructor($,J=new Y7){this.executor=$;this.operators=J}select($){return this.selectFields=$,this}where($){let J=this.buildFilterCondition($);return this.whereConditions.push(J),this}orderBy($){return this.orderByClause=$,this}limit($){return this.limitCount=$,this}offset($){return this.offsetCount=$,this}groupBy($){return this.groupByFields=$,this}having($){let J=this.buildFilterCondition($);return this.havingConditions.push(J),this}join($,J){return this.joins.push({type:"JOIN",table:$,condition:J}),this}leftJoin($,J){return this.joins.push({type:"LEFT JOIN",table:$,condition:J}),this}rightJoin($,J){return this.joins.push({type:"RIGHT JOIN",table:$,condition:J}),this}innerJoin($,J){return this.joins.push({type:"INNER JOIN",table:$,condition:J}),this}async execute(){let $=this.buildQuery();return await this.executor.execute($)}async first(){let $=this.limitCount;this.limit(1);let J=await this.execute();return this.limitCount=$,J.length>0?J[0]:null}async count(){let $=this.buildCountQuery();return await this.executor.count($)}async exists(){return await this.count()>0}buildFilterCondition($){let J=[];for(let[Q,X]of Object.entries($))if(X===null||X===void 0)J.push({type:"isNull",field:Q});else if(typeof X==="object"&&!Array.isArray(X))for(let[Y,W]of Object.entries(X))switch(Y){case"eq":J.push({type:"eq",field:Q,value:W});break;case"ne":J.push({type:"ne",field:Q,value:W});break;case"gt":J.push({type:"gt",field:Q,value:W});break;case"gte":J.push({type:"gte",field:Q,value:W});break;case"lt":J.push({type:"lt",field:Q,value:W});break;case"lte":J.push({type:"lte",field:Q,value:W});break;case"like":J.push({type:"like",field:Q,pattern:W});break;case"ilike":J.push({type:"ilike",field:Q,pattern:W});break;case"in":J.push({type:"in",field:Q,values:W});break;case"notIn":J.push({type:"notIn",field:Q,values:W});break;case"between":if(Array.isArray(W)&&W.length===2)J.push({type:"between",field:Q,min:W[0],max:W[1]});break}else if(Array.isArray(X))J.push({type:"in",field:Q,values:X});else J.push({type:"eq",field:Q,value:X});return J.length===1?J[0]:{type:"and",conditions:J}}buildQuery(){return{select:this.selectFields,where:this.whereConditions.length>0?this.whereConditions.length===1?this.whereConditions[0]:{type:"and",conditions:this.whereConditions}:void 0,orderBy:this.orderByClause,limit:this.limitCount,offset:this.offsetCount,groupBy:this.groupByFields,having:this.havingConditions.length>0?this.havingConditions.length===1?this.havingConditions[0]:{type:"and",conditions:this.havingConditions}:void 0,joins:this.joins}}buildCountQuery(){return{select:["COUNT(*) as count"],where:this.whereConditions.length>0?this.whereConditions.length===1?this.whereConditions[0]:{type:"and",conditions:this.whereConditions}:void 0,joins:this.joins}}}class Y7{eq($){return{type:"eq",value:$}}ne($){return{type:"ne",value:$}}gt($){return{type:"gt",value:$}}gte($){return{type:"gte",value:$}}lt($){return{type:"lt",value:$}}lte($){return{type:"lte",value:$}}like($){return{type:"like",pattern:$}}ilike($){return{type:"ilike",pattern:$}}in($){return{type:"in",values:$}}notIn($){return{type:"notIn",values:$}}between($,J){return{type:"between",min:$,max:J}}isNull(){return{type:"isNull"}}isNotNull(){return{type:"isNotNull"}}and(...$){return{type:"and",conditions:$}}or(...$){return{type:"or",conditions:$}}not($){return{type:"not",condition:$}}}class WV{static create($){return new a4($)}static createWithOperators($,J){return new a4($,J)}}class l1{static calculateMeta($,J,Q){if(Q<=0)throw Error("Limit must be greater than 0");let X=Math.ceil($/Q),Y=l1.calculateOffset(J,Q);return{total:$,page:J,limit:Q,totalPages:X,hasNext:J<X,hasPrev:J>1,firstPage:1,lastPage:X,from:$===0?0:Y+1,to:Math.min(Y+Q,$)}}static calculateOffset($,J){return($-1)*J}static calculatePage($,J){return Math.floor($/J)+1}static validatePagination($,J){if($<1)throw Error("Page must be greater than 0");if(J<1)throw Error("Limit must be greater than 0");if(J>1000)throw Error("Limit cannot exceed 1000")}static createPaginatedResult($,J,Q,X){let Y=this.calculateMeta(J,Q,X);return{data:$,total:Y.total,page:Y.page,limit:Y.limit,totalPages:Y.totalPages,hasNext:Y.hasNext,hasPrev:Y.hasPrev}}static parsePaginationQuery($,J=10,Q=100){let X=parseInt($.page,10),Y=parseInt($.limit,10),W=Number.isFinite(X)&&X>=1?X:1,H=Number.isFinite(Y)&&Y>=1?Math.min(Y,Q):J;return{page:W,limit:H}}static extractPaginationFromQuery($){let J=parseInt($.page)||1,Q=parseInt($.limit)||10;return this.validatePagination(J,Q),{page:J,limit:Q}}}class W7{static encodeCursor($){return Buffer.from(JSON.stringify($)).toString("base64")}static decodeCursor($){try{return JSON.parse(Buffer.from($,"base64").toString())}catch(J){throw Error("Invalid cursor format")}}static createCursor($,J="id"){let Q=$[J];if(Q===void 0||Q===null)throw Error(`Cursor field '${J}' not found in entity`);return this.encodeCursor({[J]:Q})}static extractCursorValue($,J="id"){return this.decodeCursor($)[J]}static createCursorPaginatedResult($,J,Q="id",X=!1){let Y=$.length>J,W=X,H=Y?$.slice(0,J):$,G,V;if(H.length>0){if(Y)G=this.createCursor(H[H.length-1],Q);if(W)V=this.createCursor(H[0],Q)}return{data:H,nextCursor:G,prevCursor:V,hasNext:Y,hasPrev:W,limit:J,count:H.length}}static createMultiCursor($,J){let Q={};for(let X of J){if($[X]===void 0||$[X]===null)throw Error(`Cursor field '${X}' is missing from entity`);Q[X]=$[X]}return this.encodeCursor(Q)}static decodeMultiCursor($){return this.decodeCursor($)}}class HV{baseQuery;options={};constructor($={}){this.baseQuery=$;this.options={...$}}offset($,J){return l1.validatePagination($,J),this.options.pagination={page:$,limit:J,offset:l1.calculateOffset($,J)},this}cursor($,J,Q="id"){if(J<1||J>1000)throw Error("Limit must be between 1 and 1000");let X=W7.extractCursorValue($,Q);return this.options.where={...this.options.where,[Q]:{gt:X}},this.options.pagination={limit:J},this}orderBy($,J="asc"){return this.options.orderBy={field:$,direction:J},this}orderByMultiple($){return this.options.orderBy=$.map((J)=>({field:J.field,direction:J.direction})),this}where($){return this.options.where={...this.options.where,...$},this}select($){return this.options.select=$,this}include($){return this.options.include=$,this}build(){return this.options}reset(){return this.options={...this.baseQuery},this}}function EO($=10,J=100){return function(Q,X,Y){let W=Y.value;return Y.value=async function(...H){let G=H[H.length-1];if(G&&typeof G==="object"&&(("page"in G)||("limit"in G))){let V=G.page||1,U=Math.min(G.limit||$,J);l1.validatePagination(V,U),G.pagination={page:V,limit:U,offset:l1.calculateOffset(V,U)}}return await W.apply(this,H)},Y}}function LO($,J,Q,X){let Y=l1.calculateMeta(J,Q,X);return{data:$,meta:Y}}function OO($,J=20,Q=100){let X=parseInt($.limit,10),Y=Number.isFinite(X)&&X>=1?Math.min(X,Q):J;return{cursor:typeof $.cursor==="string"&&$.cursor.length>0?$.cursor:void 0,limit:Y}}class GV{static toApiResponse($,J){return{data:$.data,meta:{total:$.total,page:$.page,limit:$.limit,totalPages:$.totalPages},links:{first:J?`${J}?page=1&limit=${$.limit}`:null,last:J?`${J}?page=${$.totalPages}&limit=${$.limit}`:null,prev:$.hasPrev&&J?`${J}?page=${$.page-1}&limit=${$.limit}`:null,next:$.hasNext&&J?`${J}?page=${$.page+1}&limit=${$.limit}`:null}}}static toCursorApiResponse($,J){let Q={data:$.data,meta:{limit:$.limit,hasNext:$.hasNext,hasPrev:$.hasPrev},cursors:{next:$.nextCursor,prev:$.prevCursor}};if(J)Q.links={next:$.nextCursor?`${J}?cursor=${$.nextCursor}&limit=${$.limit}`:null,prev:$.prevCursor?`${J}?cursor=${$.prevCursor}&limit=${$.limit}`:null};return Q}}c0();c0();var Vf=w1(X$(),1);function UV($,J){return(Q)=>{let X={entity:$,connection:J,transactional:!1};Reflect.defineMetadata("repository",X,Q)}}function qV($){return(J,Q,X)=>{let Y=X.value,W={isolation:$?.isolation||"READ_COMMITTED",timeout:$?.timeout||30000,readOnly:$?.readOnly||!1,propagation:$?.propagation||"REQUIRED"};return Reflect.defineMetadata("transactional",W,J,Q),X.value=async function(...H){return await I1().handleTransactional(this,Q,H,Y,H.find((V)=>V&&typeof V==="object"&&V.req&&V.res))},X}}function _V($){return(J)=>{let Q={tableName:$||J.name.toLowerCase()};Reflect.defineMetadata("entity",Q,J)}}function DV($){return(J,Q)=>{let X={name:$?.name||Q.toString(),type:$?.type||"string",nullable:$?.nullable||!1,unique:$?.unique||!1,primary:$?.primary||!1};Reflect.defineMetadata("column",X,J,Q)}}c0();class c1{static instance;constructor(){}static getInstance(){if(!c1.instance)c1.instance=new c1;return c1.instance}async intercept($,J,Q,X,Y){let W=I1();if(Reflect.getMetadata("transactional",$,J))return await W.handleTransactional($,J,Q,X,Y);return await X.apply($,Q)}createTransactionalProxy($,J){return new Proxy($,{get:(Q,X)=>{let Y=Q[X];if(typeof Y==="function")return async(...W)=>{return await this.intercept(Q,X,W,Y.bind(Q),J)};return Y}})}}function H7(){return async($,J)=>{let Q=c1.getInstance();$.set("transactionInterceptor",Q),$.set("transactionContext",$),await J()}}function BV($){return $.get("transactionInterceptor")||c1.getInstance()}function RO($,J){return BV($).createTransactionalProxy(J,$)}var FV;((H)=>{H.REQUIRED="REQUIRED";H.REQUIRES_NEW="REQUIRES_NEW";H.SUPPORTS="SUPPORTS";H.NOT_SUPPORTED="NOT_SUPPORTED";H.MANDATORY="MANDATORY";H.NEVER="NEVER"})(FV||={});class zV{shouldStartNewTransaction($,J){switch($){case"REQUIRED":return!J;case"REQUIRES_NEW":return!0;case"SUPPORTS":return!1;case"NOT_SUPPORTED":return!1;case"MANDATORY":if(!J)throw Error("Transaction is mandatory but no existing transaction found");return!1;case"NEVER":if(J)throw Error("Transaction is not allowed but existing transaction found");return!1;default:return!J}}shouldSuspendTransaction($,J){return $==="NOT_SUPPORTED"&&!!J}shouldExecuteInTransaction($,J){switch($){case"REQUIRED":case"REQUIRES_NEW":case"MANDATORY":return!0;case"SUPPORTS":return!!J;case"NOT_SUPPORTED":case"NEVER":return!1;default:return!0}}shouldRollbackForError($,J){if(J.noRollbackFor){for(let Q of J.noRollbackFor)if($ instanceof Q)return!1}if(J.rollbackFor){for(let Q of J.rollbackFor)if($ instanceof Q)return!0;return!1}return!0}}function A$($){return(J,Q,X)=>{let Y=X.value,W={isolation:$?.isolation||"READ_COMMITTED",timeout:$?.timeout||30000,readOnly:$?.readOnly||!1,propagation:$?.propagation||"REQUIRED",rollbackFor:$?.rollbackFor,noRollbackFor:$?.noRollbackFor};return Reflect.defineMetadata("transactional",W,J,Q),X.value=async function(...H){let{getGlobalTransactionManager:G}=await Promise.resolve().then(() => (c0(),VV));return await G().handleTransactional(this,Q,H,Y,H.find((U)=>U&&typeof U==="object"&&U.req&&U.res))},X}}function ZO($){return A$({...$,propagation:"REQUIRED"})}function SO($){return A$({...$,propagation:"REQUIRES_NEW"})}function CO($){return A$({...$,propagation:"SUPPORTS"})}function MO($){return A$({...$,propagation:"NOT_SUPPORTED"})}function PO($){return A$({...$,propagation:"MANDATORY"})}function KO($){return A$({...$,propagation:"NEVER"})}var NV;((q)=>{q.BEFORE_BEGIN="BEFORE_BEGIN";q.AFTER_BEGIN="AFTER_BEGIN";q.BEFORE_COMMIT="BEFORE_COMMIT";q.AFTER_COMMIT="AFTER_COMMIT";q.BEFORE_ROLLBACK="BEFORE_ROLLBACK";q.AFTER_ROLLBACK="AFTER_ROLLBACK";q.BEFORE_SAVEPOINT="BEFORE_SAVEPOINT";q.AFTER_SAVEPOINT="AFTER_SAVEPOINT";q.BEFORE_ROLLBACK_TO_SAVEPOINT="BEFORE_ROLLBACK_TO_SAVEPOINT";q.AFTER_ROLLBACK_TO_SAVEPOINT="AFTER_ROLLBACK_TO_SAVEPOINT"})(NV||={});class G7{listeners=[];beginListeners=[];commitListeners=[];rollbackListeners=[];savepointListeners=[];addListener($){this.listeners.push($)}removeListener($){let J=this.listeners.indexOf($);if(J>-1)this.listeners.splice(J,1)}addBeginListener($){this.beginListeners.push($)}addCommitListener($){this.commitListeners.push($)}addRollbackListener($){this.rollbackListeners.push($)}addSavepointListener($){this.savepointListeners.push($)}async emitEvent($){for(let J of this.listeners)try{await J.onTransactionEvent($)}catch(Q){console.error("Error in transaction event listener:",Q)}await this.emitSpecificEvent($)}async emitSpecificEvent($){switch($.type){case"BEFORE_BEGIN":for(let J of this.beginListeners)if(J.onBeforeBegin)try{await J.onBeforeBegin($.context)}catch(Q){console.error("Error in before begin listener:",Q)}break;case"AFTER_BEGIN":for(let J of this.beginListeners)if(J.onAfterBegin)try{await J.onAfterBegin($.context)}catch(Q){console.error("Error in after begin listener:",Q)}break;case"BEFORE_COMMIT":for(let J of this.commitListeners)if(J.onBeforeCommit)try{await J.onBeforeCommit($.context)}catch(Q){console.error("Error in before commit listener:",Q)}break;case"AFTER_COMMIT":for(let J of this.commitListeners)if(J.onAfterCommit)try{await J.onAfterCommit($.context)}catch(Q){console.error("Error in after commit listener:",Q)}break;case"BEFORE_ROLLBACK":for(let J of this.rollbackListeners)if(J.onBeforeRollback)try{await J.onBeforeRollback($.context,$.error)}catch(Q){console.error("Error in before rollback listener:",Q)}break;case"AFTER_ROLLBACK":for(let J of this.rollbackListeners)if(J.onAfterRollback)try{await J.onAfterRollback($.context,$.error)}catch(Q){console.error("Error in after rollback listener:",Q)}break;case"BEFORE_SAVEPOINT":for(let J of this.savepointListeners)if(J.onBeforeSavepoint)try{await J.onBeforeSavepoint($.context,$.metadata?.name)}catch(Q){console.error("Error in before savepoint listener:",Q)}break;case"AFTER_SAVEPOINT":for(let J of this.savepointListeners)if(J.onAfterSavepoint)try{await J.onAfterSavepoint($.context,$.metadata?.name)}catch(Q){console.error("Error in after savepoint listener:",Q)}break;case"BEFORE_ROLLBACK_TO_SAVEPOINT":for(let J of this.savepointListeners)if(J.onBeforeRollbackToSavepoint)try{await J.onBeforeRollbackToSavepoint($.context,$.metadata?.name)}catch(Q){console.error("Error in before rollback to savepoint listener:",Q)}break;case"AFTER_ROLLBACK_TO_SAVEPOINT":for(let J of this.savepointListeners)if(J.onAfterRollbackToSavepoint)try{await J.onAfterRollbackToSavepoint($.context,$.metadata?.name)}catch(Q){console.error("Error in after rollback to savepoint listener:",Q)}break}}clearAllListeners(){this.listeners=[],this.beginListeners=[],this.commitListeners=[],this.rollbackListeners=[],this.savepointListeners=[]}}function IO(){return($,J)=>{Reflect.defineMetadata("transaction-event","begin",$,J)}}function TO(){return($,J)=>{Reflect.defineMetadata("transaction-event","commit",$,J)}}function bO(){return($,J)=>{Reflect.defineMetadata("transaction-event","rollback",$,J)}}class e4{logger;constructor($=console.log){this.logger=$}async onTransactionEvent($){let J=`Transaction ${$.type}: ${$.context.id}`,Q={timestamp:$.timestamp,context:{id:$.context.id,startTime:$.context.startTime,isolation:$.context.isolation,timeout:$.context.timeout,readOnly:$.context.readOnly,savepoints:$.context.savepoints,rollbackOnly:$.context.rollbackOnly},metadata:$.metadata,error:$.error?.message};this.logger(J,Q)}}class $8{metrics={totalTransactions:0,committedTransactions:0,rolledBackTransactions:0,averageDuration:0,totalDuration:0};async onTransactionEvent($){switch($.type){case"AFTER_BEGIN":this.metrics.totalTransactions++;break;case"AFTER_COMMIT":this.metrics.committedTransactions++,this.updateDuration($.context);break;case"AFTER_ROLLBACK":this.metrics.rolledBackTransactions++,this.updateDuration($.context);break}}updateDuration($){let J=Date.now()-$.startTime.getTime();this.metrics.totalDuration+=J,this.metrics.averageDuration=this.metrics.totalDuration/(this.metrics.committedTransactions+this.metrics.rolledBackTransactions)}getMetrics(){return{...this.metrics}}resetMetrics(){this.metrics={totalTransactions:0,committedTransactions:0,rolledBackTransactions:0,averageDuration:0,totalDuration:0}}}var j$=new G7;c0();class V7{name="transaction";version="1.0.0";config;metricsListener;constructor($){this.config={enableLogging:!0,enableMetrics:!0,defaultIsolation:"READ_COMMITTED",defaultTimeout:30000,...$}}async install($){this.setupTransactionManager(),$.use(H7()),this.setupEventListeners(),this.registerTransactionUtilities($),console.log("✅ Transaction plugin installed successfully")}setupTransactionManager(){if(this.config.customTransactionManager)l0(this.config.customTransactionManager);else l0(new w$)}setupEventListeners(){if(this.config.enableLogging){let $=new e4;j$.addListener($)}if(this.config.enableMetrics)this.metricsListener=new $8,j$.addListener(this.metricsListener)}registerTransactionUtilities($){let J=$.getContainer();class Q{}class X{}class Y{}if(J.register(Q,{scope:"singleton",factory:()=>j$}),this.metricsListener)J.register(X,{scope:"singleton",factory:()=>({getMetrics:()=>this.metricsListener.getMetrics(),resetMetrics:()=>this.metricsListener.resetMetrics()})});J.register(Y,{scope:"singleton",factory:()=>({executeInTransaction:async(W)=>{let H=I1(),G=await H.begin();try{let V=await W();if(G.rollbackOnly)throw await H.rollback(G),Error("Transaction marked for rollback");return await H.commit(G),V}catch(V){throw await H.rollback(G),V}},getCurrentTransaction:()=>{return null},isInTransaction:()=>{return!1}})})}getMetrics(){return this.metricsListener?.getMetrics()}resetMetrics(){this.metricsListener?.resetMetrics()}addEventListener($){j$.addListener($)}removeEventListener($){j$.removeListener($)}}function fO($){return new V7($)}class wV{transactionManager;constructor($){this.transactionManager=$}async executeInTransaction($){let J=await this.transactionManager.begin();try{let Q=await $();if(J.rollbackOnly)throw await this.transactionManager.rollback(J),Error("Transaction marked for rollback");return await this.transactionManager.commit(J),Q}catch(Q){throw await this.transactionManager.rollback(J),Q}}async createSavepoint($){}async rollbackToSavepoint($){}setRollbackOnly(){}isInTransaction(){return!1}}class AV{transactionManager;defaultOptions;constructor($,J){this.transactionManager=$;this.defaultOptions=J}async execute($,J){let Q={...this.defaultOptions,...J},X=await this.transactionManager.begin(Q);try{let Y=await $();if(X.rollbackOnly)throw await this.transactionManager.rollback(X),Error("Transaction marked for rollback");return await this.transactionManager.commit(X),Y}catch(Y){throw await this.transactionManager.rollback(X),Y}}async executeReadOnly($){return this.execute($,{readOnly:!0})}async executeWithIsolation($,J){return this.execute($,{isolation:J})}}class V2{modelSchemas=new Map;generateModelSchema($){if(this.modelSchemas.has($.name))return this.modelSchemas.get($.name);let J={};for(let X of $.fields)J[X.name]=this.generateFieldSchema(X);let Q=w.object(J);return this.modelSchemas.set($.name,Q),Q}generateFieldSchema($){let J=this.getBaseSchema($.type);if($.isList)J=w.array(J);if($.isOptional)J=J.optional();if($.isUnique)J=J.describe(`Unique field: ${$.name}`);return J}getBaseSchema($){switch($.toLowerCase()){case"string":return w.string();case"int":case"integer":return w.number().int();case"float":case"decimal":return w.number();case"boolean":case"bool":return w.boolean();case"datetime":case"timestamp":return w.date();case"json":return w.record(w.any());case"bytes":return w.instanceof(Buffer);case"bigint":return w.bigint();default:return w.string()}}generateCreateSchema($){let J={};for(let Q of $.fields){if(Q.isId&&Q.hasDefaultValue)continue;if(Q.name==="createdAt"||Q.name==="updatedAt")continue;J[Q.name]=this.generateFieldSchema(Q)}return w.object(J)}generateUpdateSchema($){let J={};for(let Q of $.fields){if(Q.isId)continue;if(Q.name==="updatedAt")continue;let X=this.generateFieldSchema(Q);if(!X.isOptional())X=X.optional();J[Q.name]=X}return w.object(J)}static parsePrismaSchema($){let J=[],Q=$.split(`
154
+ `),X=null,Y=!1;for(let W of Q){let H=W.trim();if(H.startsWith("model ")){X={name:H.split(" ")[1],fields:[],relations:[]},Y=!0;continue}if(H==="}"&&Y&&X){J.push(X),X=null,Y=!1;continue}if(Y&&X&&H&&!H.startsWith("//")){let G=this.parseField(H);if(G)X.fields.push(G)}}return J}static parseField($){let J=$.trim().split(/\s+/);if(J.length<2)return null;let Q=J[0],X=J[1],Y=X.includes("?"),W=X.includes("[]"),H=X.replace("?","").replace("[]",""),G=$.includes("@")?$.split("@").slice(1):[],V=G.some((_)=>_.startsWith("id")),U=G.some((_)=>_.startsWith("unique")),q=G.some((_)=>_.startsWith("default"));return{name:Q,type:H,isOptional:Y,isList:W,isId:V,isUnique:U,hasDefaultValue:q}}generateAllSchemas($){return{base:this.generateModelSchema($),create:this.generateCreateSchema($),update:this.generateUpdateSchema($)}}}c0();class F6 extends Y1{client;prismaTransactions=new Map;constructor($){super();this.client=$}async begin($){let J=this.createTransactionContext($);return this.prismaTransactions.set(J.id,{options:$,startTime:J.startTime}),J}async commit($){this.prismaTransactions.delete($.id),this.removeTransactionContext($)}async rollback($){this.prismaTransactions.delete($.id),this.removeTransactionContext($)}async savepoint($,J){$.savepoints.push(J);let Q=this.prismaTransactions.get($.id);if(Q)Q.savepoints=Q.savepoints||[],Q.savepoints.push(J)}async rollbackToSavepoint($,J){let Q=$.savepoints.indexOf(J);if(Q===-1)throw Error(`Savepoint ${J} not found`);$.savepoints=$.savepoints.slice(0,Q+1);let X=this.prismaTransactions.get($.id);if(X&&X.savepoints)X.savepoints=X.savepoints.slice(0,Q+1)}async executeInTransaction($,J){let Q={};if(J?.timeout)Q.timeout=J.timeout;if(J?.isolation){let X={READ_UNCOMMITTED:"ReadUncommitted",READ_COMMITTED:"ReadCommitted",REPEATABLE_READ:"RepeatableRead",SERIALIZABLE:"Serializable"};Q.isolationLevel=X[J.isolation]}return await this.client.$transaction($,Q)}async handleTransactional($,J,Q,X,Y){let W=Reflect.getMetadata("transactional",$,J);if(!W)return X.apply($,Q);if(Y?this.getRequestTransaction(Y):null)return X.apply($,Q);return await this.executeInTransaction(async(G)=>{let V=await this.begin(W);if(Y)this.setRequestTransaction(Y,V);try{let U=await this.injectTransactionClient($,Q,X,G);if(V.rollbackOnly)throw Error("Transaction marked for rollback");return U}catch(U){throw this.setRollbackOnly(V),U}finally{if(Y)this.clearRequestTransaction(Y);await this.commit(V)}},W)}async injectTransactionClient($,J,Q,X){if($.repositories){let Y={...$.repositories};try{for(let[W,H]of Object.entries($.repositories))if(H&&typeof H==="object"&&"client"in H){H.client=X;let G=H.modelName;if(G&&X[G.toLowerCase()])H.delegate=X[G.toLowerCase()]}return await Q.apply($,J)}finally{$.repositories=Y}}return await Q.apply($,J)}createTransactionalRepository($,J){let Q=new $(J);if(Q&&typeof Q==="object"&&"withTransaction"in Q){let X=Q.withTransaction;Q.withTransaction=async(Y)=>{return await this.executeInTransaction(async(W)=>{let H=new $({...J,client:W,delegate:W[J.model.toLowerCase()]});return await Y(H)})}}return Q}}c0();var U2=w1(require("fs")),jV=w1(require("path"));class J8{name="prisma";version="1.0.0";client;config;schemaGenerator;transactionManager;models=new Map;constructor($,J){this.client=$,this.config={generateZodSchemas:!0,schemaPath:"./prisma/schema.prisma",outputPath:"./src/generated/zod-schemas.ts",...J},this.schemaGenerator=new V2,this.transactionManager=new F6($)}async install($){if(await this.client.$connect(),l0(this.transactionManager),this.config.generateZodSchemas&&this.config.schemaPath)await this.parseAndGenerateSchemas();this.registerRepositoryFactory($),this.registerShutdownHook($),console.log("✅ Prisma plugin installed successfully")}async parseAndGenerateSchemas(){try{if(!U2.default.existsSync(this.config.schemaPath)){console.warn(`⚠️ Prisma schema not found at ${this.config.schemaPath}`);return}let $=U2.default.readFileSync(this.config.schemaPath,"utf-8"),J=V2.parsePrismaSchema($);for(let Q of J){this.models.set(Q.name,Q);let X=this.schemaGenerator.generateAllSchemas(Q);Q.zodSchema=X.base}if(this.config.outputPath)await this.generateZodSchemaFile();console.log(`\uD83D\uDCDD Generated Zod schemas for ${J.length} models`)}catch($){console.error("❌ Failed to parse Prisma schema:",$)}}async generateZodSchemaFile(){let $=jV.default.dirname(this.config.outputPath);if(!U2.default.existsSync($))U2.default.mkdirSync($,{recursive:!0});let J=`// Auto-generated Zod schemas from Prisma schema
155
155
  `;J+=`// Do not edit this file manually
156
156
 
157
157
  `,J+=`import { z } from 'zod';
@@ -165,6 +165,6 @@ Body: ${Y.text}`);let W={};if($.username)W.username=$.username;if($.email)W.emai
165
165
  `,J+=`export type ${Q}Create = z.infer<typeof ${Q}CreateSchema>;
166
166
  `,J+=`export type ${Q}Update = z.infer<typeof ${Q}UpdateSchema>;
167
167
 
168
- `}U2.default.writeFileSync(this.config.outputPath,J)}zodSchemaToString($){return"z.object({})"}registerRepositoryFactory($){let J=$.getContainer();class Q{}class X{}J.register(Q,{scope:"singleton",factory:()=>({create:(Y,W)=>{let H=this.client[Y.toLowerCase()];if(!H)throw Error(`Model ${Y} not found in Prisma client`);return new P1({client:this.client,delegate:H,model:Y,zodSchema:W})}})}),J.register(X,{scope:"singleton",factory:()=>this.transactionManager})}registerShutdownHook($){process.on("SIGINT",async()=>{console.log("\uD83D\uDD0C Disconnecting from database..."),await this.client.$disconnect(),process.exit(0)}),process.on("SIGTERM",async()=>{console.log("\uD83D\uDD0C Disconnecting from database..."),await this.client.$disconnect(),process.exit(0)})}getModel($){return this.models.get($)}getModels(){return this.models}createRepository($,J){let Q=this.client[$.toLowerCase()];if(!Q)throw Error(`Model ${$} not found in Prisma client`);return new P1({client:this.client,delegate:Q,model:$,zodSchema:J})}getClient(){return this.client}getTransactionManager(){return this.transactionManager}}function EV($,J){return new J8($,J)}c0();class z6 extends Y1{dataSource;activeQueryRunners=new Map;constructor($){super();this.dataSource=$}async begin($){let J=this.createTransactionContext($),Q=this.dataSource.createQueryRunner();return await Q.connect(),await Q.startTransaction(),this.activeQueryRunners.set(J.id,Q),J}async commit($){let J=this.activeQueryRunners.get($.id);if(!J)throw Error(`Transaction ${$.id} not found`);try{if($.rollbackOnly)await J.rollbackTransaction();else await J.commitTransaction()}finally{await J.release(),this.activeQueryRunners.delete($.id),this.removeTransactionContext($)}}async rollback($){let J=this.activeQueryRunners.get($.id);if(!J)throw Error(`Transaction ${$.id} not found`);try{if(J.isTransactionActive)await J.rollbackTransaction()}finally{await J.release(),this.activeQueryRunners.delete($.id),this.removeTransactionContext($)}}async savepoint($,J){let Q=this.activeQueryRunners.get($.id);if(!Q)throw Error(`Transaction ${$.id} not found`);await Q.manager.query(`SAVEPOINT ${J}`),$.savepoints.push(J)}async rollbackToSavepoint($,J){let Q=this.activeQueryRunners.get($.id);if(!Q)throw Error(`Transaction ${$.id} not found`);let X=$.savepoints.indexOf(J);if(X===-1)throw Error(`Savepoint ${J} not found`);await Q.manager.query(`ROLLBACK TO SAVEPOINT ${J}`),$.savepoints=$.savepoints.slice(0,X+1)}async executeInTransaction($,J){return await this.dataSource.transaction(async(Q)=>{return await $(Q)})}async handleTransactional($,J,Q,X,Y){let W=Reflect.getMetadata("transactional",$,J);if(!W)return X.apply($,Q);let H=Y?this.getRequestTransaction(Y):null;if(H)return this.handleNestedTransaction(H,$,Q,X);return await this.executeInTransaction(async(G)=>{let V=await this.begin(W);if(Y)this.setRequestTransaction(Y,V);try{let U=await this.injectTransactionManager($,Q,X,G);if(V.rollbackOnly)throw Error("Transaction marked for rollback");return U}catch(U){throw this.setRollbackOnly(V),U}finally{if(Y)this.clearRequestTransaction(Y);this.removeTransactionContext(V)}},W)}async handleNestedTransaction($,J,Q,X){let Y=`sp_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;try{return await this.savepoint($,Y),await X.apply(J,Q)}catch(W){throw await this.rollbackToSavepoint($,Y),W}}async injectTransactionManager($,J,Q,X){if($.repositories){let Y={...$.repositories};try{for(let[W,H]of Object.entries($.repositories))if(H&&typeof H==="object"&&"dataSource"in H){let G=H.entity,V=X.getRepository?X.getRepository(G):H.repository;$.repositories[W]=new H.constructor({dataSource:H.dataSource,repository:V,entity:G,zodSchema:H.schema})}return await Q.apply($,J)}finally{$.repositories=Y}}return await Q.apply($,J)}createTransactionalRepository($,J){let Q=new $(J);if(Q&&typeof Q==="object"&&"withTransaction"in Q){let X=Q.withTransaction;Q.withTransaction=async(Y)=>{return await this.executeInTransaction(async(W)=>{let H=W.getRepository?W.getRepository(J.entity):J.repository,G=new $({...J,repository:H});return await Y(G)})}}return Q}getQueryRunner($){return this.activeQueryRunners.get($.id)}isTransactionActive($){let J=this.activeQueryRunners.get($.id);return J?J.isTransactionActive:!1}getDataSource(){return this.dataSource}}c0();class Q8{name="typeorm";version="1.0.0";dataSource;config;transactionManager;entities=new Map;constructor($,J){this.dataSource=$,this.config={synchronize:!1,logging:!1,migrationsRun:!1,dropSchema:!1,cache:!1,...J},this.transactionManager=new z6($)}async install($){if(!this.dataSource.isInitialized)await this.dataSource.initialize();l0(this.transactionManager),this.extractEntityMetadata(),this.registerRepositoryFactory($),this.registerMigrationUtilities($),this.registerShutdownHook($),console.log("✅ TypeORM plugin installed successfully")}extractEntityMetadata(){try{let $=this.dataSource.entityMetadatas||this.dataSource.manager.connection?.entityMetadatas||[];for(let J of $){let Q={name:J.name,tableName:J.tableName,columns:J.columns?.map((X)=>({propertyName:X.propertyName,type:X.type,isPrimary:X.isPrimary,isGenerated:X.isGenerated,isNullable:X.isNullable,isUnique:X.isUnique,length:X.length,default:X.default}))||[],relations:J.relations?.map((X)=>({propertyName:X.propertyName,type:X.relationType,target:X.inverseEntityMetadata?.name||"unknown",inverseSide:X.inverseSidePropertyPath,joinColumn:X.joinColumns?.[0]?.databaseName,joinTable:X.joinTableName}))||[]};this.entities.set(J.name,Q)}console.log(`\uD83D\uDCDD Extracted metadata for ${this.entities.size} entities`)}catch($){console.error("❌ Failed to extract entity metadata:",$)}}registerRepositoryFactory($){let J=$.getContainer();class Q{}class X{}class Y{}class W{}J.register(Q,{scope:"singleton",factory:()=>({create:(H,G)=>{let V=this.dataSource.getRepository(H);return new K1({dataSource:this.dataSource,repository:V,entity:H,zodSchema:G})}})}),J.register(X,{scope:"singleton",factory:()=>this.dataSource}),J.register(Y,{scope:"request",factory:()=>this.dataSource.manager}),J.register(W,{scope:"singleton",factory:()=>this.transactionManager})}registerMigrationUtilities($){let J=$.getContainer();class Q{}class X{}J.register(Q,{scope:"singleton",factory:()=>({run:async()=>{if(this.config.migrationsRun&&this.dataSource.runMigrations)await this.dataSource.runMigrations(),console.log("✅ Migrations executed successfully")},revert:async()=>{if(this.dataSource.undoLastMigration)await this.dataSource.undoLastMigration(),console.log("✅ Last migration reverted successfully")},generate:async(Y)=>{console.log(`\uD83D\uDCDD Generate migration: ${Y}`)}})}),J.register(X,{scope:"singleton",factory:()=>({seed:async(Y)=>{for(let W of Y)if(typeof W.run==="function")await W.run(this.dataSource);console.log("✅ Database seeded successfully")}})})}registerShutdownHook($){process.on("SIGINT",async()=>{if(console.log("\uD83D\uDD0C Closing database connection..."),this.dataSource.isInitialized)await this.dataSource.destroy();process.exit(0)}),process.on("SIGTERM",async()=>{if(console.log("\uD83D\uDD0C Closing database connection..."),this.dataSource.isInitialized)await this.dataSource.destroy();process.exit(0)})}getEntity($){return this.entities.get($)}getEntities(){return this.entities}createRepository($,J){let Q=this.dataSource.getRepository($);return new K1({dataSource:this.dataSource,repository:Q,entity:$,zodSchema:J})}getDataSource(){return this.dataSource}getTransactionManager(){return this.transactionManager}async runMigrations(){if(this.dataSource.runMigrations)await this.dataSource.runMigrations(),console.log("✅ Migrations executed successfully");else console.warn("⚠️ Migration support not available")}async revertMigration(){if(this.dataSource.undoLastMigration)await this.dataSource.undoLastMigration(),console.log("✅ Last migration reverted successfully");else console.warn("⚠️ Migration revert not available")}async synchronize(){if(this.config.synchronize&&this.dataSource.synchronize)await this.dataSource.synchronize(),console.log("✅ Database schema synchronized");else console.warn("⚠️ Schema synchronization is disabled or not available")}async dropSchema(){if(this.config.dropSchema&&this.dataSource.dropDatabase)await this.dataSource.dropDatabase(),console.log("✅ Database schema dropped");else console.warn("⚠️ Schema dropping is disabled or not available")}}function LV($,J){return new Q8($,J)}class U7{}var pf=N1(Q$(),1);function OV($){return(J)=>{let Q={name:$?.name||J.name,tableName:$?.tableName||J.name.toLowerCase(),schema:$?.schema,database:$?.database,synchronize:$?.synchronize};Reflect.defineMetadata("typeorm:entity",Q,J)}}c0();class w6 extends Y1{database;drizzleTransactions=new Map;constructor($){super();this.database=$}async begin($){let J=this.createTransactionContext($);return this.drizzleTransactions.set(J.id,{options:$,startTime:J.startTime}),J}async commit($){this.drizzleTransactions.delete($.id),this.removeTransactionContext($)}async rollback($){this.drizzleTransactions.delete($.id),this.removeTransactionContext($)}async savepoint($,J){$.savepoints.push(J);let Q=this.drizzleTransactions.get($.id);if(Q)Q.savepoints=Q.savepoints||[],Q.savepoints.push(J)}async rollbackToSavepoint($,J){let Q=$.savepoints.indexOf(J);if(Q===-1)throw Error(`Savepoint ${J} not found`);$.savepoints=$.savepoints.slice(0,Q+1);let X=this.drizzleTransactions.get($.id);if(X&&X.savepoints)X.savepoints=X.savepoints.slice(0,Q+1)}async executeInTransaction($,J){return await this.database.transaction(async(Q)=>{return await $(Q)})}async handleTransactional($,J,Q,X,Y){let W=Reflect.getMetadata("transactional",$,J);if(!W)return X.apply($,Q);if(Y?this.getRequestTransaction(Y):null)return X.apply($,Q);return await this.executeInTransaction(async(G)=>{let V=await this.begin(W);if(Y)this.setRequestTransaction(Y,V);try{let U=await this.injectTransactionDatabase($,Q,X,G);if(V.rollbackOnly)throw Error("Transaction marked for rollback");return U}catch(U){throw this.setRollbackOnly(V),U}finally{if(Y)this.clearRequestTransaction(Y);await this.commit(V)}},W)}async injectTransactionDatabase($,J,Q,X){if($.repositories){let Y={...$.repositories};try{for(let[W,H]of Object.entries($.repositories))if(H&&typeof H==="object"&&"database"in H){let{table:G,schema:V}=H;$.repositories[W]=new H.constructor({database:X,table:G,zodSchema:V})}return await Q.apply($,J)}finally{$.repositories=Y}}return await Q.apply($,J)}createTransactionalRepository($,J){let Q=new $(J);if(Q&&typeof Q==="object"&&"withTransaction"in Q){let X=Q.withTransaction;Q.withTransaction=async(Y)=>{return await this.executeInTransaction(async(W)=>{let H=new $({...J,database:W});return await Y(H)})}}return Q}async batch($){return await this.executeInTransaction(async(J)=>{let Q=[];for(let X of $){let Y=await X();Q.push(Y)}return Q})}async executeWithRetry($,J={}){let{maxRetries:Q=3,retryDelay:X=1000,retryCondition:Y=(H)=>H.code==="SERIALIZATION_FAILURE"||H.code==="DEADLOCK_DETECTED"}=J,W;for(let H=0;H<=Q;H++)try{return await this.executeInTransaction($)}catch(G){if(W=G,H===Q||!Y(G))throw G;await new Promise((V)=>setTimeout(V,X*Math.pow(2,H)))}throw W}getDatabase(){return this.database}isInTransaction(){return this.drizzleTransactions.size>0}getActiveTransactionCount(){return this.drizzleTransactions.size}}c0();class X8{tableSchemas=new Map;convertTableToZod($){let J=$._.name;if(this.tableSchemas.has(J))return this.tableSchemas.get(J);let Q={};for(let[Y,W]of Object.entries($._.columns))Q[Y]=this.convertColumnToZod(W);let X=N.object(Q);return this.tableSchemas.set(J,X),X}convertColumnToZod($){let J=this.getBaseZodSchema($);if(!$._.notNull)J=J.nullable();if($._.hasDefault||!$._.notNull)J=J.optional();return J}getBaseZodSchema($){let J=$._.dataType.toLowerCase(),Q=$._.columnType.toLowerCase();if($._.enumValues&&$._.enumValues.length>0)return N.enum($._.enumValues);switch(Q){case"serial":case"bigserial":return N.number().int().positive();case"boolean":return N.boolean();case"date":return N.date();case"timestamp":case"timestamptz":return N.date();case"json":case"jsonb":return N.record(N.any());case"uuid":return N.string().uuid();case"text":case"varchar":case"char":return N.string();case"integer":case"int":case"int4":return N.number().int();case"bigint":case"int8":return N.bigint();case"smallint":case"int2":return N.number().int().min(-32768).max(32767);case"real":case"float4":return N.number();case"double precision":case"float8":return N.number();case"decimal":case"numeric":return N.number();case"bytea":return N.instanceof(Buffer);default:return this.getBaseZodSchemaByDataType(J)}}getBaseZodSchemaByDataType($){switch($){case"string":case"text":return N.string();case"number":case"integer":return N.number();case"boolean":return N.boolean();case"date":return N.date();case"json":return N.record(N.any());case"buffer":return N.instanceof(Buffer);case"bigint":return N.bigint();default:return N.string()}}generateCreateSchema($){let J={};for(let[Q,X]of Object.entries($._.columns)){if(X._.isPrimaryKey&&X._.hasDefault)continue;if(X._.columnType.includes("serial"))continue;J[Q]=this.convertColumnToZod(X)}return N.object(J)}generateUpdateSchema($){let J={};for(let[Q,X]of Object.entries($._.columns)){if(X._.isPrimaryKey)continue;let Y=this.convertColumnToZod(X);if(!Y.isOptional())Y=Y.optional();J[Q]=Y}return N.object(J)}extractTableMetadata($){let J=[];for(let[Q,X]of Object.entries($._.columns))J.push({name:Q,dataType:X._.dataType,isPrimaryKey:X._.isPrimaryKey,isNotNull:X._.notNull,hasDefault:X._.hasDefault,isUnique:X._.isUnique,isAutoIncrement:X._.columnType.includes("serial"),enumValues:X._.enumValues});return{name:$._.name,schema:$._.schema,columns:J,relations:[],zodSchema:this.convertTableToZod($)}}generateAllSchemas($){return{base:this.convertTableToZod($),create:this.generateCreateSchema($),update:this.generateUpdateSchema($)}}clearCache(){this.tableSchemas.clear()}getCachedSchema($){return this.tableSchemas.get($)}}class q7{name="drizzle";version="1.0.0";database;config;transactionManager;schemaConverter;tables=new Map;tableMetadata=new Map;logger=o1({component:"DrizzlePlugin"});constructor($,J){this.database=$,this.config={logger:!1,mode:"default",...J},this.transactionManager=new w6($),this.schemaConverter=new X8}async install($){try{if(this.logger.info("Installing Drizzle ORM plugin..."),l0(this.transactionManager),this.logger.debug("Global transaction manager configured"),this.config.schema)this.registerSchema(this.config.schema);this.registerRepositoryFactory($),this.registerDatabaseUtilities($),this.logger.info("✅ Drizzle plugin installed successfully")}catch(J){let Q=J instanceof Error?J:Error(String(J));throw this.logger.error("Failed to install Drizzle plugin",Q),Error(`Drizzle plugin installation failed: ${Q.message}`)}}registerSchema($){let J=0,Q=0;for(let[X,Y]of Object.entries($))if(this.isValidDrizzleTable(Y))try{this.tables.set(X,Y);let W=this.schemaConverter.extractTableMetadata(Y);this.tableMetadata.set(X,W),J++,this.logger.debug(`Registered table: ${X}`)}catch(W){let H=W instanceof Error?W:Error(String(W));this.logger.error(`Failed to register table ${X}`,H,{tableName:X}),Q++}else this.logger.debug(`Skipped invalid table: ${X}`),Q++;this.logger.info(`\uD83D\uDCDD Registered ${J} Drizzle table(s)${Q>0?` (${Q} skipped)`:""}`)}isValidDrizzleTable($){if(!$||typeof $!=="object")return!1;let J=$;if(!J._||typeof J._!=="object")return!1;if(typeof J._.name!=="string"||J._.name.trim().length===0)return!1;if(!J._.columns||typeof J._.columns!=="object")return!1;if(Object.keys(J._.columns).length===0)return this.logger.warn(`Table ${J._.name} has no columns defined`),!1;return!0}registerRepositoryFactory($){let J=$.getContainer();J.register("DrizzleRepositoryFactory",{scope:"singleton",factory:()=>({create:(Q,X)=>{let Y=this.tables.get(Q);if(!Y)throw Error(`Table ${Q} not found in Drizzle schema`);return new m0({database:this.database,table:Y,zodSchema:X||this.tableMetadata.get(Q)?.zodSchema})},createFromTable:(Q,X)=>{return new m0({database:this.database,table:Q,zodSchema:X})}})}),J.register("DrizzleDatabase",{scope:"singleton",factory:()=>this.database}),J.register("TransactionManager",{scope:"singleton",factory:()=>this.transactionManager}),J.register("DrizzleSchemaConverter",{scope:"singleton",factory:()=>this.schemaConverter})}registerDatabaseUtilities($){let J=$.getContainer();J.register("QueryBuilder",{scope:"request",factory:()=>({select:(Q)=>this.database.select(Q),insert:(Q)=>this.database.insert(Q),update:(Q)=>this.database.update(Q),delete:(Q)=>this.database.delete(Q),raw:(Q,X)=>this.database.execute({sql:Q,params:X})})}),J.register("Seeder",{scope:"singleton",factory:()=>({seed:async(Q)=>{let X=o1({component:"Seeder"});try{X.info(`Running ${Q.length} seeder(s)...`),await this.transactionManager.executeInTransaction(async(Y)=>{for(let W of Q)if(typeof W.run==="function")X.debug(`Running seeder: ${W.constructor.name}`),await W.run(Y);else X.warn(`Skipping invalid seeder (no run method): ${W.constructor.name}`)}),X.info("✅ Database seeded successfully")}catch(Y){let W=Y instanceof Error?Y:Error(String(Y));throw X.error("Failed to seed database",W),Error(`Database seeding failed: ${W.message}`)}}})})}getTable($){return this.tables.get($)}getTables(){return this.tables}getTableMetadata($){return this.tableMetadata.get($)}getAllTableMetadata(){return this.tableMetadata}createRepository($,J){let Q=this.tables.get($);if(!Q)throw Error(`Table ${$} not found in Drizzle schema`);return new m0({database:this.database,table:Q,zodSchema:J||this.tableMetadata.get($)?.zodSchema})}createRepositoryFromTable($,J){return new m0({database:this.database,table:$,zodSchema:J})}getDatabase(){return this.database}getTransactionManager(){return this.transactionManager}getSchemaConverter(){return this.schemaConverter}addTable($,J){if(!this.isValidDrizzleTable(J))throw Error(`Invalid Drizzle table: ${$}`);this.tables.set($,J);let Q=this.schemaConverter.extractTableMetadata(J);this.tableMetadata.set($,Q),this.logger.debug(`Added table dynamically: ${$}`)}removeTable($){let J=this.tables.has($);if(this.tables.delete($),this.tableMetadata.delete($),J)this.logger.debug(`Removed table: ${$}`);return J}generateZodSchemas(){let $={};for(let[J,Q]of this.tables){let X=this.schemaConverter.generateAllSchemas(Q);$[J]=X}return $}async executeRaw($,J){try{return this.logger.debug("Executing raw SQL query"),await this.database.execute({sql:$,params:J})}catch(Q){let X=Q instanceof Error?Q:Error(String(Q));throw this.logger.error("Raw SQL query failed",X),Error(`SQL execution failed: ${X.message}`)}}async executeInTransaction($){try{return await this.transactionManager.executeInTransaction($)}catch(J){let Q=J instanceof Error?J:Error(String(J));throw this.logger.error("Transaction failed",Q),J}}}class Y8{client;prefix;constructor($,J={}){this.client=$,this.prefix=J.prefix||"cache:"}async get($){let J=this.getFullKey($),Q=await this.client.get(J);if(!Q)return null;try{return JSON.parse(Q)}catch{return Q}}async set($,J,Q=0){let X=this.getFullKey($),Y=JSON.stringify(J);if(Q>0)await this.client.setex(X,Q,Y);else await this.client.set(X,Y)}async delete($){let J=this.getFullKey($);return await this.client.del(J)>0}async has($){let J=this.getFullKey($);return await this.client.exists(J)>0}async clear(){let $=await this.keys("*");if($.length>0)await Promise.all($.map((J)=>this.delete(J)))}async deletePattern($){let J=await this.keys($);if(J.length===0)return 0;return await Promise.all(J.map((Q)=>this.delete(Q))),J.length}async keys($="*"){let J=this.getFullKey($);return(await this.client.keys(J)).map((X)=>X.substring(this.prefix.length))}getFullKey($){return`${this.prefix}${$}`}}function RV($,J){return new Y8($,J)}C2();
168
+ `}U2.default.writeFileSync(this.config.outputPath,J)}zodSchemaToString($){return"z.object({})"}registerRepositoryFactory($){let J=$.getContainer();class Q{}class X{}J.register(Q,{scope:"singleton",factory:()=>({create:(Y,W)=>{let H=this.client[Y.toLowerCase()];if(!H)throw Error(`Model ${Y} not found in Prisma client`);return new P1({client:this.client,delegate:H,model:Y,zodSchema:W})}})}),J.register(X,{scope:"singleton",factory:()=>this.transactionManager})}registerShutdownHook($){process.on("SIGINT",async()=>{console.log("\uD83D\uDD0C Disconnecting from database..."),await this.client.$disconnect(),process.exit(0)}),process.on("SIGTERM",async()=>{console.log("\uD83D\uDD0C Disconnecting from database..."),await this.client.$disconnect(),process.exit(0)})}getModel($){return this.models.get($)}getModels(){return this.models}createRepository($,J){let Q=this.client[$.toLowerCase()];if(!Q)throw Error(`Model ${$} not found in Prisma client`);return new P1({client:this.client,delegate:Q,model:$,zodSchema:J})}getClient(){return this.client}getTransactionManager(){return this.transactionManager}}function EV($,J){return new J8($,J)}c0();class z6 extends Y1{dataSource;activeQueryRunners=new Map;constructor($){super();this.dataSource=$}async begin($){let J=this.createTransactionContext($),Q=this.dataSource.createQueryRunner();return await Q.connect(),await Q.startTransaction(),this.activeQueryRunners.set(J.id,Q),J}async commit($){let J=this.activeQueryRunners.get($.id);if(!J)throw Error(`Transaction ${$.id} not found`);try{if($.rollbackOnly)await J.rollbackTransaction();else await J.commitTransaction()}finally{await J.release(),this.activeQueryRunners.delete($.id),this.removeTransactionContext($)}}async rollback($){let J=this.activeQueryRunners.get($.id);if(!J)throw Error(`Transaction ${$.id} not found`);try{if(J.isTransactionActive)await J.rollbackTransaction()}finally{await J.release(),this.activeQueryRunners.delete($.id),this.removeTransactionContext($)}}async savepoint($,J){let Q=this.activeQueryRunners.get($.id);if(!Q)throw Error(`Transaction ${$.id} not found`);await Q.manager.query(`SAVEPOINT ${J}`),$.savepoints.push(J)}async rollbackToSavepoint($,J){let Q=this.activeQueryRunners.get($.id);if(!Q)throw Error(`Transaction ${$.id} not found`);let X=$.savepoints.indexOf(J);if(X===-1)throw Error(`Savepoint ${J} not found`);await Q.manager.query(`ROLLBACK TO SAVEPOINT ${J}`),$.savepoints=$.savepoints.slice(0,X+1)}async executeInTransaction($,J){return await this.dataSource.transaction(async(Q)=>{return await $(Q)})}async handleTransactional($,J,Q,X,Y){let W=Reflect.getMetadata("transactional",$,J);if(!W)return X.apply($,Q);let H=Y?this.getRequestTransaction(Y):null;if(H)return this.handleNestedTransaction(H,$,Q,X);return await this.executeInTransaction(async(G)=>{let V=await this.begin(W);if(Y)this.setRequestTransaction(Y,V);try{let U=await this.injectTransactionManager($,Q,X,G);if(V.rollbackOnly)throw Error("Transaction marked for rollback");return U}catch(U){throw this.setRollbackOnly(V),U}finally{if(Y)this.clearRequestTransaction(Y);this.removeTransactionContext(V)}},W)}async handleNestedTransaction($,J,Q,X){let Y=`sp_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;try{return await this.savepoint($,Y),await X.apply(J,Q)}catch(W){throw await this.rollbackToSavepoint($,Y),W}}async injectTransactionManager($,J,Q,X){if($.repositories){let Y={...$.repositories};try{for(let[W,H]of Object.entries($.repositories))if(H&&typeof H==="object"&&"dataSource"in H){let G=H.entity,V=X.getRepository?X.getRepository(G):H.repository;$.repositories[W]=new H.constructor({dataSource:H.dataSource,repository:V,entity:G,zodSchema:H.schema})}return await Q.apply($,J)}finally{$.repositories=Y}}return await Q.apply($,J)}createTransactionalRepository($,J){let Q=new $(J);if(Q&&typeof Q==="object"&&"withTransaction"in Q){let X=Q.withTransaction;Q.withTransaction=async(Y)=>{return await this.executeInTransaction(async(W)=>{let H=W.getRepository?W.getRepository(J.entity):J.repository,G=new $({...J,repository:H});return await Y(G)})}}return Q}getQueryRunner($){return this.activeQueryRunners.get($.id)}isTransactionActive($){let J=this.activeQueryRunners.get($.id);return J?J.isTransactionActive:!1}getDataSource(){return this.dataSource}}c0();class Q8{name="typeorm";version="1.0.0";dataSource;config;transactionManager;entities=new Map;constructor($,J){this.dataSource=$,this.config={synchronize:!1,logging:!1,migrationsRun:!1,dropSchema:!1,cache:!1,...J},this.transactionManager=new z6($)}async install($){if(!this.dataSource.isInitialized)await this.dataSource.initialize();l0(this.transactionManager),this.extractEntityMetadata(),this.registerRepositoryFactory($),this.registerMigrationUtilities($),this.registerShutdownHook($),console.log("✅ TypeORM plugin installed successfully")}extractEntityMetadata(){try{let $=this.dataSource.entityMetadatas||this.dataSource.manager.connection?.entityMetadatas||[];for(let J of $){let Q={name:J.name,tableName:J.tableName,columns:J.columns?.map((X)=>({propertyName:X.propertyName,type:X.type,isPrimary:X.isPrimary,isGenerated:X.isGenerated,isNullable:X.isNullable,isUnique:X.isUnique,length:X.length,default:X.default}))||[],relations:J.relations?.map((X)=>({propertyName:X.propertyName,type:X.relationType,target:X.inverseEntityMetadata?.name||"unknown",inverseSide:X.inverseSidePropertyPath,joinColumn:X.joinColumns?.[0]?.databaseName,joinTable:X.joinTableName}))||[]};this.entities.set(J.name,Q)}console.log(`\uD83D\uDCDD Extracted metadata for ${this.entities.size} entities`)}catch($){console.error("❌ Failed to extract entity metadata:",$)}}registerRepositoryFactory($){let J=$.getContainer();class Q{}class X{}class Y{}class W{}J.register(Q,{scope:"singleton",factory:()=>({create:(H,G)=>{let V=this.dataSource.getRepository(H);return new K1({dataSource:this.dataSource,repository:V,entity:H,zodSchema:G})}})}),J.register(X,{scope:"singleton",factory:()=>this.dataSource}),J.register(Y,{scope:"request",factory:()=>this.dataSource.manager}),J.register(W,{scope:"singleton",factory:()=>this.transactionManager})}registerMigrationUtilities($){let J=$.getContainer();class Q{}class X{}J.register(Q,{scope:"singleton",factory:()=>({run:async()=>{if(this.config.migrationsRun&&this.dataSource.runMigrations)await this.dataSource.runMigrations(),console.log("✅ Migrations executed successfully")},revert:async()=>{if(this.dataSource.undoLastMigration)await this.dataSource.undoLastMigration(),console.log("✅ Last migration reverted successfully")},generate:async(Y)=>{console.log(`\uD83D\uDCDD Generate migration: ${Y}`)}})}),J.register(X,{scope:"singleton",factory:()=>({seed:async(Y)=>{for(let W of Y)if(typeof W.run==="function")await W.run(this.dataSource);console.log("✅ Database seeded successfully")}})})}registerShutdownHook($){process.on("SIGINT",async()=>{if(console.log("\uD83D\uDD0C Closing database connection..."),this.dataSource.isInitialized)await this.dataSource.destroy();process.exit(0)}),process.on("SIGTERM",async()=>{if(console.log("\uD83D\uDD0C Closing database connection..."),this.dataSource.isInitialized)await this.dataSource.destroy();process.exit(0)})}getEntity($){return this.entities.get($)}getEntities(){return this.entities}createRepository($,J){let Q=this.dataSource.getRepository($);return new K1({dataSource:this.dataSource,repository:Q,entity:$,zodSchema:J})}getDataSource(){return this.dataSource}getTransactionManager(){return this.transactionManager}async runMigrations(){if(this.dataSource.runMigrations)await this.dataSource.runMigrations(),console.log("✅ Migrations executed successfully");else console.warn("⚠️ Migration support not available")}async revertMigration(){if(this.dataSource.undoLastMigration)await this.dataSource.undoLastMigration(),console.log("✅ Last migration reverted successfully");else console.warn("⚠️ Migration revert not available")}async synchronize(){if(this.config.synchronize&&this.dataSource.synchronize)await this.dataSource.synchronize(),console.log("✅ Database schema synchronized");else console.warn("⚠️ Schema synchronization is disabled or not available")}async dropSchema(){if(this.config.dropSchema&&this.dataSource.dropDatabase)await this.dataSource.dropDatabase(),console.log("✅ Database schema dropped");else console.warn("⚠️ Schema dropping is disabled or not available")}}function LV($,J){return new Q8($,J)}class U7{}var pf=w1(X$(),1);function OV($){return(J)=>{let Q={name:$?.name||J.name,tableName:$?.tableName||J.name.toLowerCase(),schema:$?.schema,database:$?.database,synchronize:$?.synchronize};Reflect.defineMetadata("typeorm:entity",Q,J)}}c0();class N6 extends Y1{database;drizzleTransactions=new Map;constructor($){super();this.database=$}async begin($){let J=this.createTransactionContext($);return this.drizzleTransactions.set(J.id,{options:$,startTime:J.startTime}),J}async commit($){this.drizzleTransactions.delete($.id),this.removeTransactionContext($)}async rollback($){this.drizzleTransactions.delete($.id),this.removeTransactionContext($)}async savepoint($,J){$.savepoints.push(J);let Q=this.drizzleTransactions.get($.id);if(Q)Q.savepoints=Q.savepoints||[],Q.savepoints.push(J)}async rollbackToSavepoint($,J){let Q=$.savepoints.indexOf(J);if(Q===-1)throw Error(`Savepoint ${J} not found`);$.savepoints=$.savepoints.slice(0,Q+1);let X=this.drizzleTransactions.get($.id);if(X&&X.savepoints)X.savepoints=X.savepoints.slice(0,Q+1)}async executeInTransaction($,J){return await this.database.transaction(async(Q)=>{return await $(Q)})}async handleTransactional($,J,Q,X,Y){let W=Reflect.getMetadata("transactional",$,J);if(!W)return X.apply($,Q);if(Y?this.getRequestTransaction(Y):null)return X.apply($,Q);return await this.executeInTransaction(async(G)=>{let V=await this.begin(W);if(Y)this.setRequestTransaction(Y,V);try{let U=await this.injectTransactionDatabase($,Q,X,G);if(V.rollbackOnly)throw Error("Transaction marked for rollback");return U}catch(U){throw this.setRollbackOnly(V),U}finally{if(Y)this.clearRequestTransaction(Y);await this.commit(V)}},W)}async injectTransactionDatabase($,J,Q,X){if($.repositories){let Y={...$.repositories};try{for(let[W,H]of Object.entries($.repositories))if(H&&typeof H==="object"&&"database"in H){let{table:G,schema:V}=H;$.repositories[W]=new H.constructor({database:X,table:G,zodSchema:V})}return await Q.apply($,J)}finally{$.repositories=Y}}return await Q.apply($,J)}createTransactionalRepository($,J){let Q=new $(J);if(Q&&typeof Q==="object"&&"withTransaction"in Q){let X=Q.withTransaction;Q.withTransaction=async(Y)=>{return await this.executeInTransaction(async(W)=>{let H=new $({...J,database:W});return await Y(H)})}}return Q}async batch($){return await this.executeInTransaction(async(J)=>{let Q=[];for(let X of $){let Y=await X();Q.push(Y)}return Q})}async executeWithRetry($,J={}){let{maxRetries:Q=3,retryDelay:X=1000,retryCondition:Y=(H)=>H.code==="SERIALIZATION_FAILURE"||H.code==="DEADLOCK_DETECTED"}=J,W;for(let H=0;H<=Q;H++)try{return await this.executeInTransaction($)}catch(G){if(W=G,H===Q||!Y(G))throw G;await new Promise((V)=>setTimeout(V,X*Math.pow(2,H)))}throw W}getDatabase(){return this.database}isInTransaction(){return this.drizzleTransactions.size>0}getActiveTransactionCount(){return this.drizzleTransactions.size}}c0();class X8{tableSchemas=new Map;convertTableToZod($){let J=$._.name;if(this.tableSchemas.has(J))return this.tableSchemas.get(J);let Q={};for(let[Y,W]of Object.entries($._.columns))Q[Y]=this.convertColumnToZod(W);let X=w.object(Q);return this.tableSchemas.set(J,X),X}convertColumnToZod($){let J=this.getBaseZodSchema($);if(!$._.notNull)J=J.nullable();if($._.hasDefault||!$._.notNull)J=J.optional();return J}getBaseZodSchema($){let J=$._.dataType.toLowerCase(),Q=$._.columnType.toLowerCase();if($._.enumValues&&$._.enumValues.length>0)return w.enum($._.enumValues);switch(Q){case"serial":case"bigserial":return w.number().int().positive();case"boolean":return w.boolean();case"date":return w.date();case"timestamp":case"timestamptz":return w.date();case"json":case"jsonb":return w.record(w.any());case"uuid":return w.string().uuid();case"text":case"varchar":case"char":return w.string();case"integer":case"int":case"int4":return w.number().int();case"bigint":case"int8":return w.bigint();case"smallint":case"int2":return w.number().int().min(-32768).max(32767);case"real":case"float4":return w.number();case"double precision":case"float8":return w.number();case"decimal":case"numeric":return w.number();case"bytea":return w.instanceof(Buffer);default:return this.getBaseZodSchemaByDataType(J)}}getBaseZodSchemaByDataType($){switch($){case"string":case"text":return w.string();case"number":case"integer":return w.number();case"boolean":return w.boolean();case"date":return w.date();case"json":return w.record(w.any());case"buffer":return w.instanceof(Buffer);case"bigint":return w.bigint();default:return w.string()}}generateCreateSchema($){let J={};for(let[Q,X]of Object.entries($._.columns)){if(X._.isPrimaryKey&&X._.hasDefault)continue;if(X._.columnType.includes("serial"))continue;J[Q]=this.convertColumnToZod(X)}return w.object(J)}generateUpdateSchema($){let J={};for(let[Q,X]of Object.entries($._.columns)){if(X._.isPrimaryKey)continue;let Y=this.convertColumnToZod(X);if(!Y.isOptional())Y=Y.optional();J[Q]=Y}return w.object(J)}extractTableMetadata($){let J=[];for(let[Q,X]of Object.entries($._.columns))J.push({name:Q,dataType:X._.dataType,isPrimaryKey:X._.isPrimaryKey,isNotNull:X._.notNull,hasDefault:X._.hasDefault,isUnique:X._.isUnique,isAutoIncrement:X._.columnType.includes("serial"),enumValues:X._.enumValues});return{name:$._.name,schema:$._.schema,columns:J,relations:[],zodSchema:this.convertTableToZod($)}}generateAllSchemas($){return{base:this.convertTableToZod($),create:this.generateCreateSchema($),update:this.generateUpdateSchema($)}}clearCache(){this.tableSchemas.clear()}getCachedSchema($){return this.tableSchemas.get($)}}class q7{name="drizzle";version="1.0.0";database;config;transactionManager;schemaConverter;tables=new Map;tableMetadata=new Map;logger=o1({component:"DrizzlePlugin"});constructor($,J){this.database=$,this.config={logger:!1,mode:"default",...J},this.transactionManager=new N6($),this.schemaConverter=new X8}async install($){try{if(this.logger.info("Installing Drizzle ORM plugin..."),l0(this.transactionManager),this.logger.debug("Global transaction manager configured"),this.config.schema)this.registerSchema(this.config.schema);this.registerRepositoryFactory($),this.registerDatabaseUtilities($),this.logger.info("✅ Drizzle plugin installed successfully")}catch(J){let Q=J instanceof Error?J:Error(String(J));throw this.logger.error("Failed to install Drizzle plugin",Q),Error(`Drizzle plugin installation failed: ${Q.message}`)}}registerSchema($){let J=0,Q=0;for(let[X,Y]of Object.entries($))if(this.isValidDrizzleTable(Y))try{this.tables.set(X,Y);let W=this.schemaConverter.extractTableMetadata(Y);this.tableMetadata.set(X,W),J++,this.logger.debug(`Registered table: ${X}`)}catch(W){let H=W instanceof Error?W:Error(String(W));this.logger.error(`Failed to register table ${X}`,H,{tableName:X}),Q++}else this.logger.debug(`Skipped invalid table: ${X}`),Q++;this.logger.info(`\uD83D\uDCDD Registered ${J} Drizzle table(s)${Q>0?` (${Q} skipped)`:""}`)}isValidDrizzleTable($){if(!$||typeof $!=="object")return!1;let J=$;if(!J._||typeof J._!=="object")return!1;if(typeof J._.name!=="string"||J._.name.trim().length===0)return!1;if(!J._.columns||typeof J._.columns!=="object")return!1;if(Object.keys(J._.columns).length===0)return this.logger.warn(`Table ${J._.name} has no columns defined`),!1;return!0}registerRepositoryFactory($){let J=$.getContainer();J.register("DrizzleRepositoryFactory",{scope:"singleton",factory:()=>({create:(Q,X)=>{let Y=this.tables.get(Q);if(!Y)throw Error(`Table ${Q} not found in Drizzle schema`);return new m0({database:this.database,table:Y,zodSchema:X||this.tableMetadata.get(Q)?.zodSchema})},createFromTable:(Q,X)=>{return new m0({database:this.database,table:Q,zodSchema:X})}})}),J.register("DrizzleDatabase",{scope:"singleton",factory:()=>this.database}),J.register("TransactionManager",{scope:"singleton",factory:()=>this.transactionManager}),J.register("DrizzleSchemaConverter",{scope:"singleton",factory:()=>this.schemaConverter})}registerDatabaseUtilities($){let J=$.getContainer();J.register("QueryBuilder",{scope:"request",factory:()=>({select:(Q)=>this.database.select(Q),insert:(Q)=>this.database.insert(Q),update:(Q)=>this.database.update(Q),delete:(Q)=>this.database.delete(Q),raw:(Q,X)=>this.database.execute({sql:Q,params:X})})}),J.register("Seeder",{scope:"singleton",factory:()=>({seed:async(Q)=>{let X=o1({component:"Seeder"});try{X.info(`Running ${Q.length} seeder(s)...`),await this.transactionManager.executeInTransaction(async(Y)=>{for(let W of Q)if(typeof W.run==="function")X.debug(`Running seeder: ${W.constructor.name}`),await W.run(Y);else X.warn(`Skipping invalid seeder (no run method): ${W.constructor.name}`)}),X.info("✅ Database seeded successfully")}catch(Y){let W=Y instanceof Error?Y:Error(String(Y));throw X.error("Failed to seed database",W),Error(`Database seeding failed: ${W.message}`)}}})})}getTable($){return this.tables.get($)}getTables(){return this.tables}getTableMetadata($){return this.tableMetadata.get($)}getAllTableMetadata(){return this.tableMetadata}createRepository($,J){let Q=this.tables.get($);if(!Q)throw Error(`Table ${$} not found in Drizzle schema`);return new m0({database:this.database,table:Q,zodSchema:J||this.tableMetadata.get($)?.zodSchema})}createRepositoryFromTable($,J){return new m0({database:this.database,table:$,zodSchema:J})}getDatabase(){return this.database}getTransactionManager(){return this.transactionManager}getSchemaConverter(){return this.schemaConverter}addTable($,J){if(!this.isValidDrizzleTable(J))throw Error(`Invalid Drizzle table: ${$}`);this.tables.set($,J);let Q=this.schemaConverter.extractTableMetadata(J);this.tableMetadata.set($,Q),this.logger.debug(`Added table dynamically: ${$}`)}removeTable($){let J=this.tables.has($);if(this.tables.delete($),this.tableMetadata.delete($),J)this.logger.debug(`Removed table: ${$}`);return J}generateZodSchemas(){let $={};for(let[J,Q]of this.tables){let X=this.schemaConverter.generateAllSchemas(Q);$[J]=X}return $}async executeRaw($,J){try{return this.logger.debug("Executing raw SQL query"),await this.database.execute({sql:$,params:J})}catch(Q){let X=Q instanceof Error?Q:Error(String(Q));throw this.logger.error("Raw SQL query failed",X),Error(`SQL execution failed: ${X.message}`)}}async executeInTransaction($){try{return await this.transactionManager.executeInTransaction($)}catch(J){let Q=J instanceof Error?J:Error(String(J));throw this.logger.error("Transaction failed",Q),J}}}class Y8{client;prefix;constructor($,J={}){this.client=$,this.prefix=J.prefix||"cache:"}async get($){let J=this.getFullKey($),Q=await this.client.get(J);if(!Q)return null;try{return JSON.parse(Q)}catch{return Q}}async set($,J,Q=0){let X=this.getFullKey($),Y=JSON.stringify(J);if(Q>0)await this.client.setex(X,Q,Y);else await this.client.set(X,Y)}async delete($){let J=this.getFullKey($);return await this.client.del(J)>0}async has($){let J=this.getFullKey($);return await this.client.exists(J)>0}async clear(){let $=await this.keys("*");if($.length>0)await Promise.all($.map((J)=>this.delete(J)))}async deletePattern($){let J=await this.keys($);if(J.length===0)return 0;return await Promise.all(J.map((Q)=>this.delete(Q))),J.length}async keys($="*"){let J=this.getFullKey($);return(await this.client.keys(J)).map((X)=>X.substring(this.prefix.length))}getFullKey($){return`${this.prefix}${$}`}}function RV($,J){return new Y8($,J)}C2();
169
169
 
170
- //# debugId=1090E718D5DA325D64756E2164756E21
170
+ //# debugId=0AFFE337B6FD93D564756E2164756E21