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.
- package/dist/cjs/src/adapters/hono.js +2 -2
- package/dist/cjs/src/adapters/hono.js.map +3 -3
- package/dist/cjs/src/index.js +22 -22
- package/dist/cjs/src/index.js.map +4 -4
- package/dist/cjs/src/plugins/index.js +9 -9
- package/dist/cjs/src/plugins/index.js.map +3 -3
- package/dist/cjs/src/testing/index.js +9 -9
- package/dist/cjs/src/testing/index.js.map +3 -3
- package/dist/cjs/src/websocket/index.js +3 -3
- package/dist/cjs/src/websocket/index.js.map +3 -3
- package/dist/esm/src/adapters/hono.js +2 -2
- package/dist/esm/src/adapters/hono.js.map +3 -3
- package/dist/esm/src/index.js +18 -18
- package/dist/esm/src/index.js.map +4 -4
- package/dist/esm/src/plugins/index.js +8 -8
- package/dist/esm/src/plugins/index.js.map +3 -3
- package/dist/esm/src/testing/index.js +2 -2
- package/dist/esm/src/testing/index.js.map +3 -3
- package/dist/esm/src/websocket/index.js +3 -3
- package/dist/esm/src/websocket/index.js.map +3 -3
- package/dist/types/adapters/hono.d.ts +2 -0
- package/dist/types/adapters/hono.d.ts.map +1 -1
- package/dist/types/websocket/manager.d.ts +15 -2
- package/dist/types/websocket/manager.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/esm/src/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var pH=Object.create;var{getPrototypeOf:iH,defineProperty:e$,getOwnPropertyNames:K5,getOwnPropertyDescriptor:nH}=Object,I5=Object.prototype.hasOwnProperty;function T5($){return this[$]}var sH,oH,v1=($,J,Q)=>{var X=$!=null&&typeof $==="object";if(X){var Y=J?sH??=new WeakMap:oH??=new WeakMap,W=Y.get($);if(W)return W}Q=$!=null?pH(iH($)):{};let H=J||!$||!$.__esModule?e$(Q,"default",{value:$,enumerable:!0}):Q;for(let G of K5($))if(!I5.call(H,G))e$(H,G,{get:T5.bind($,G),enumerable:!0});if(X)Y.set($,H);return H},T4=($)=>{var J=(P5??=new WeakMap).get($),Q;if(J)return J;if(J=e$({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var X of K5($))if(!I5.call(J,X))e$(J,X,{get:T5.bind($,X),enumerable:!(Q=nH($,X))||Q.enumerable})}return P5.set($,J),J},P5,L=($,J)=>()=>(J||$((J={exports:{}}).exports,J),J.exports);var rH=($)=>$;function aH($,J){this[$]=rH.bind(null,J)}var A1=($,J)=>{for(var Q in J)e$($,Q,{get:J[Q],enumerable:!0,configurable:!0,set:aH.bind(J,Q)})};var X0=($,J)=>()=>($&&(J=$($=0)),J);var o=import.meta.require;var f4={};A1(f4,{HonoAdapter:()=>b4});class b4{hono;name="hono";runtime;constructor($){this.hono=$;this.runtime=tH()}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:
|
|
3
|
-
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 k4=()=>{};var h4={};A1(h4,{setRequestMetadata:()=>XG,setRequestContext:()=>k5,initializeRequestContext:()=>
|
|
2
|
+
var pH=Object.create;var{getPrototypeOf:iH,defineProperty:e$,getOwnPropertyNames:K5,getOwnPropertyDescriptor:nH}=Object,I5=Object.prototype.hasOwnProperty;function T5($){return this[$]}var sH,oH,v1=($,J,Q)=>{var X=$!=null&&typeof $==="object";if(X){var Y=J?sH??=new WeakMap:oH??=new WeakMap,W=Y.get($);if(W)return W}Q=$!=null?pH(iH($)):{};let H=J||!$||!$.__esModule?e$(Q,"default",{value:$,enumerable:!0}):Q;for(let G of K5($))if(!I5.call(H,G))e$(H,G,{get:T5.bind($,G),enumerable:!0});if(X)Y.set($,H);return H},T4=($)=>{var J=(P5??=new WeakMap).get($),Q;if(J)return J;if(J=e$({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function"){for(var X of K5($))if(!I5.call(J,X))e$(J,X,{get:T5.bind($,X),enumerable:!(Q=nH($,X))||Q.enumerable})}return P5.set($,J),J},P5,L=($,J)=>()=>(J||$((J={exports:{}}).exports,J),J.exports);var rH=($)=>$;function aH($,J){this[$]=rH.bind(null,J)}var A1=($,J)=>{for(var Q in J)e$($,Q,{get:J[Q],enumerable:!0,configurable:!0,set:aH.bind(J,Q)})};var X0=($,J)=>()=>($&&(J=$($=0)),J);var o=import.meta.require;var f4={};A1(f4,{HonoAdapter:()=>b4});class b4{hono;name="hono";runtime;constructor($){this.hono=$;this.runtime=tH()}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 tH=()=>{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 b5={};A1(b5,{ExpressAdapter:()=>s2});class s2{veloceApp;name="express";expressApp;constructor($,J){this.veloceApp=$;this.expressApp=J??s2.createExpressApp(),this.setupBridge()}listen($,J){return this.expressApp.listen($,J)}getHandler(){return this.expressApp}getExpressApp(){return this.expressApp}static createExpressApp(){let $=o,J;try{J=$("express")}catch{throw Error(`[ExpressAdapter] Could not load the "express" package.
|
|
3
|
+
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 k4=()=>{};var h4={};A1(h4,{setRequestMetadata:()=>XG,setRequestContext:()=>k5,initializeRequestContext:()=>o2,getRequestMetadata:()=>YG,getRequestId:()=>$G,getRequestDuration:()=>r2,getRequestContext:()=>j1,getAbortSignal:()=>JG,generateRequestId:()=>f5,cleanupRequestContext:()=>a2,abortRequest:()=>QG});function f5(){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 j1($){return $.get("veloce:request-context")||null}function k5($,J){$.set("veloce:request-context",J)}function o2($,J){let Q=J?.requestId||f5(),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 k5($,Y),Y}function $G($){return j1($)?.requestId||null}function JG($){return j1($)?.abortSignal||null}function QG($){let J=j1($);if(J?.abortController&&!J.abortSignal.aborted)J.abortController.abort()}function XG($,J,Q){let X=j1($);if(X)X.metadata[J]=Q}function YG($,J){return j1($)?.metadata[J]}function r2($){let J=j1($);if(!J)return null;return Date.now()-J.startTime}function a2($){let J=j1($);if(J?.timeoutId)clearTimeout(J.timeoutId)}var y4=L((ZL,h5)=>{var J2=($)=>{return $&&typeof $.message==="string"},g4=($)=>{if(!$)return;let J=$.cause;if(typeof J==="function"){let Q=$.cause();return J2(Q)?Q:void 0}else return J2(J)?J:void 0},x5=($,J)=>{if(!J2($))return"";let Q=$.stack||"";if(J.has($))return Q+`
|
|
4
4
|
causes have become circular...`;let X=g4($);if(X)return J.add($),Q+`
|
|
5
|
-
caused by: `+x5(X,J);else return Q},WG=($)=>x5($,new Set),v5=($,J,Q)=>{if(!J2($))return"";let X=Q?"":$.message||"";if(J.has($))return X+": ...";let Y=g4($);if(Y){J.add($);let W=typeof $.cause==="function";return X+(W?"":": ")+v5(Y,J,W)}else return X},HG=($)=>v5($,new Set);h5.exports={isErrorLike:J2,getErrorCause:g4,stackWithCauses:WG,messageWithCauses:HG}});var u4=L((SL,y5)=>{var GG=Symbol("circular-ref-tag"),a2=Symbol("pino-raw-err-ref"),g5=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[a2]},set:function($){this[a2]=$}}});Object.defineProperty(g5,a2,{writable:!0,value:{}});y5.exports={pinoErrProto:g5,pinoErrorSymbols:{seen:GG,rawSymbol:a2}}});var l5=L((CL,m5)=>{m5.exports=l4;var{messageWithCauses:VG,stackWithCauses:UG,isErrorLike:u5}=y4(),{pinoErrProto:qG,pinoErrorSymbols:_G}=u4(),{seen:m4}=_G,{toString:DG}=Object.prototype;function l4($){if(!u5($))return $;$[m4]=void 0;let J=Object.create(qG);if(J.type=DG.call($.constructor)==="[object Function]"?$.constructor.name:$.name,J.message=VG($),J.stack=UG($),Array.isArray($.errors))J.aggregateErrors=$.errors.map((Q)=>l4(Q));for(let Q in $)if(J[Q]===void 0){let X=$[Q];if(u5(X)){if(Q!=="cause"&&!Object.prototype.hasOwnProperty.call(X,m4))J[Q]=l4(X)}else J[Q]=X}return delete $[m4],J.raw=$,J}});var d5=L((ML,c5)=>{c5.exports=e2;var{isErrorLike:c4}=y4(),{pinoErrProto:BG,pinoErrorSymbols:FG}=u4(),{seen:t2}=FG,{toString:zG}=Object.prototype;function e2($){if(!c4($))return $;$[t2]=void 0;let J=Object.create(BG);if(J.type=zG.call($.constructor)==="[object Function]"?$.constructor.name:$.name,J.message=$.message,J.stack=$.stack,Array.isArray($.errors))J.aggregateErrors=$.errors.map((Q)=>e2(Q));if(c4($.cause)&&!Object.prototype.hasOwnProperty.call($.cause,t2))J.cause=e2($.cause);for(let Q in $)if(J[Q]===void 0){let X=$[Q];if(c4(X)){if(!Object.prototype.hasOwnProperty.call(X,t2))J[Q]=e2(X)}else J[Q]=X}return delete $[t2],J.raw=$,J}});var s5=L((PL,n5)=>{n5.exports={mapHttpRequest:wG,reqSerializer:i5};var d4=Symbol("pino-raw-req-ref"),p5=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[d4]},set:function($){this[d4]=$}}});Object.defineProperty(p5,d4,{writable:!0,value:{}});function i5($){let J=$.info||$.socket,Q=Object.create(p5);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 wG($){return{req:i5($)}}});var t5=L((KL,a5)=>{a5.exports={mapHttpResponse:NG,resSerializer:r5};var p4=Symbol("pino-raw-res-ref"),o5=Object.create({},{statusCode:{enumerable:!0,writable:!0,value:0},headers:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[p4]},set:function($){this[p4]=$}}});Object.defineProperty(o5,p4,{writable:!0,value:{}});function r5($){let J=Object.create(o5);return J.statusCode=$.headersSent?$.statusCode:null,J.headers=$.getHeaders?$.getHeaders():$._headers,J.raw=$,J}function NG($){return{res:r5($)}}});var n4=L((IL,e5)=>{var i4=l5(),AG=d5(),$6=s5(),J6=t5();e5.exports={err:i4,errWithCause:AG,mapHttpRequest:$6.mapHttpRequest,mapHttpResponse:J6.mapHttpResponse,req:$6.reqSerializer,res:J6.resSerializer,wrapErrorSerializer:function(J){if(J===i4)return J;return function(X){return J(i4(X))}},wrapRequestSerializer:function(J){if(J===$6.reqSerializer)return J;return function(X){return J($6.reqSerializer(X))}},wrapResponseSerializer:function(J){if(J===J6.resSerializer)return J;return function(X){return J(J6.resSerializer(X))}}}});var s4=L((TL,$7)=>{function jG($,J){return J}$7.exports=function(){let J=Error.prepareStackTrace;Error.prepareStackTrace=jG;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 H7=L((bL,W7)=>{function o4($){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]=o4($[Q]);return J}if(typeof $==="object"){let J=Object.create(Object.getPrototypeOf($));for(let Q in $)if(Object.prototype.hasOwnProperty.call($,Q))J[Q]=o4($[Q]);return J}return $}function J7($){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 Q7($,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 X7($,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 Q6=Symbol("PATH_NOT_FOUND");function EG($,J){let Q=$;for(let X of J){if(Q===null||Q===void 0)return Q6;if(typeof Q!=="object"||Q===null)return Q6;if(!(X in Q))return Q6;Q=Q[X]}return Q}function LG($,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 OG($,J,Q,X=!1){for(let Y of J){let W=J7(Y);if(W.includes("*"))Y7($,W,Q,Y,X);else if(X)X7($,W);else{let H=EG($,W);if(H===Q6)continue;let G=typeof Q==="function"?Q(H,W):Q;Q7($,W,G)}}}function Y7($,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 RG($,J,Q,W,X,Y)}function RG($,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("*"))Y7(q,G,typeof Q==="function"?(B,D)=>{let A=[...V.slice(0,_),...D];return Q(B,A)}:Q,Y,W);else if(W)X7(q,G);else{let F=typeof Q==="function"?Q(LG(q,G),[...V.slice(0,_),...G]):Q;Q7(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 ZG($){if($.length===0)return null;let J=new Map;for(let Q of $){let X=J7(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 SG($,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 CG($){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 MG($){if(!Array.isArray($))throw TypeError("paths must be an array");for(let J of $)CG(J)}function PG($={}){let{paths:J=[],censor:Q="[REDACTED]",serialize:X=JSON.stringify,strict:Y=!0,remove:W=!1}=$;MG(J);let H=ZG(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=SG(V,H),q=V,_=Q;if(typeof Q==="function")_=Q;if(OG(U,J,_,W),X===!1)return U.restore=function(){return o4(q)},U;if(typeof X==="function")return X(U);return JSON.stringify(U)}}W7.exports=PG});var U$=L((fL,G7)=>{var KG=Symbol("pino.setLevel"),IG=Symbol("pino.getLevel"),TG=Symbol("pino.levelVal"),bG=Symbol("pino.levelComp"),fG=Symbol("pino.useLevelLabels"),kG=Symbol("pino.useOnlyCustomLevels"),xG=Symbol("pino.mixin"),vG=Symbol("pino.lsCache"),hG=Symbol("pino.chindings"),gG=Symbol("pino.asJson"),yG=Symbol("pino.write"),uG=Symbol("pino.redactFmt"),mG=Symbol("pino.time"),lG=Symbol("pino.timeSliceIndex"),cG=Symbol("pino.stream"),dG=Symbol("pino.stringify"),pG=Symbol("pino.stringifySafe"),iG=Symbol("pino.stringifiers"),nG=Symbol("pino.end"),sG=Symbol("pino.formatOpts"),oG=Symbol("pino.messageKey"),rG=Symbol("pino.errorKey"),aG=Symbol("pino.nestedKey"),tG=Symbol("pino.nestedKeyStr"),eG=Symbol("pino.mixinMergeStrategy"),$V=Symbol("pino.msgPrefix"),JV=Symbol("pino.wildcardFirst"),QV=Symbol.for("pino.serializers"),XV=Symbol.for("pino.formatters"),YV=Symbol.for("pino.hooks"),WV=Symbol.for("pino.metadata");G7.exports={setLevelSym:KG,getLevelSym:IG,levelValSym:TG,levelCompSym:bG,useLevelLabelsSym:fG,mixinSym:xG,lsCacheSym:vG,chindingsSym:hG,asJsonSym:gG,writeSym:yG,serializersSym:QV,redactFmtSym:uG,timeSym:mG,timeSliceIndexSym:lG,streamSym:cG,stringifySym:dG,stringifySafeSym:pG,stringifiersSym:iG,endSym:nG,formatOptsSym:sG,messageKeySym:oG,errorKeySym:rG,nestedKeySym:aG,wildcardFirstSym:JV,needsMetadataGsym:WV,useOnlyCustomLevelsSym:kG,formattersSym:XV,hooksSym:YV,nestedKeyStrSym:tG,mixinMergeStrategySym:eG,msgPrefixSym:$V}});var a4=L((kL,U7)=>{var V7=H7(),{redactFmtSym:HV,wildcardFirstSym:X6}=U$(),r4=/[^.[\]]+|\[([^[\]]*?)\]/g;function GV($,J){let{paths:Q,censor:X,remove:Y}=VV($),W=Q.reduce((V,U)=>{r4.lastIndex=0;let q=r4.exec(U),_=r4.exec(U),F=q[1]!==void 0?q[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/,"$1"):q[0];if(F==="*")F=X6;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!==X6&&V[F].length===0)V[F].push(...V[X6]||[]);if(F===X6)Object.keys(V).forEach(function(A){if(V[A])V[A].push(D)});return V[F].push(D),V},{}),H={[HV]:V7({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]=V7({paths:W[U],censor:q,serialize:J,strict:!1,remove:Y})}return V},H)}function VV($){if(Array.isArray($))return $={paths:$,censor:"[Redacted]"},$;let{paths:J,censor:Q="[Redacted]",remove:X}=$;if(Array.isArray(J)===!1)throw Error("pino \u2013 redact must contain an array of strings");if(X===!0)Q=void 0;return{paths:J,censor:Q,remove:X}}U7.exports=GV});var D7=L((xL,_7)=>{var UV=()=>"",qV=()=>`,"time":${Date.now()}`,_V=()=>`,"time":${Math.round(Date.now()/1000)}`,DV=()=>`,"time":"${new Date(Date.now()).toISOString()}"`,BV=1000000n,q7=1000000000n,FV=BigInt(Date.now())*BV,zV=process.hrtime.bigint(),wV=()=>{let $=process.hrtime.bigint()-zV,J=FV+$,Q=J/q7,X=J%q7,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"`};_7.exports={nullTime:UV,epochTime:qV,unixTime:_V,isoTime:DV,isoTimeNano:wV}});var F7=L((vL,B7)=>{function NV($){try{return JSON.stringify($)}catch(J){return'"[Circular]"'}}B7.exports=AV;function AV($,J,Q){var X=Q&&Q.stringify||NV,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 e4=L((hL,t4)=>{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));t4.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());};t4.exports=$}});var E7=L((gL,j7)=>{var N0=o("fs"),jV=o("events"),EV=o("util").inherits,z7=o("path"),J8=e4(),LV=o("assert"),Y6=Buffer.allocUnsafe(0),[OV,RV]=(process.versions.node||"0.0").split(".").map(Number),ZV=OV>=22&&RV>=7;function w7($,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(z7.dirname($),{recursive:!0});let W=N0.openSync($,X,Y);Q(null,W)}catch(W){throw Q(W),W}else if(J.mkdir)N0.mkdir(z7.dirname($),{recursive:!0},(W)=>{if(W)return Q(W);N0.open($,X,Y,Q)});else N0.open($,X,Y,Q)}function m0($){if(!(this instanceof m0))return new m0($);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=Y6,this.write=MV,this.flush=KV,this.flushSync=TV,this._actualWrite=fV,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=CV,this.flush=PV,this.flushSync=IV,this._actualWrite=bV,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")w7(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{J8(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=$8(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=$8(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,W6(this);else if(this._writing=!1,this.sync){if(!this._asyncDrainScheduled)this._asyncDrainScheduled=!0,process.nextTick(SV,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 $8($,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 SV($){if(!($.listenerCount("drain")>0))return;$._asyncDrainScheduled=!1,$.emit("drain")}EV(m0,jV);function N7($,J){if($.length===0)return Y6;if($.length===1)return $[0];return Buffer.concat($,J)}function CV($){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 MV($){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 A7($){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 PV($){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($)A7.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push("");this._actualWrite()}function KV($){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($)A7.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push([]),this._lens.push(0);this._actualWrite()}m0.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)})}),w7(this.file,this)};m0.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 W6(this)};function IV(){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=$8($,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;J8(100)}}try{N0.fsyncSync(this.fd)}catch{}}function TV(){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=Y6;let $=Y6;while(this._bufs.length||$.length){if($.length<=0)$=N7(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;J8(100)}}}m0.prototype.destroy=function(){if(this.destroyed)return;W6(this)};function bV(){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 fV(){let $=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:N7(this._bufs.shift(),this._lens.shift()),this.sync)try{let J=N0.writeSync(this.fd,this._writingBuf);$(null,J)}catch(J){$(J)}else{if(ZV)this._writingBuf=Buffer.from(this._writingBuf);N0.write(this.fd,this._writingBuf,$)}}function W6($){if($.fd===-1){$.once("ready",W6.bind(null,$));return}if($._periodicFlushTimer!==void 0)clearInterval($._periodicFlushTimer);$.destroyed=!0,$._bufs=[],$._lens=[],LV(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")}}m0.SonicBoom=m0;m0.default=m0;j7.exports=m0});var Q8=L((yL,S7)=>{var l0={exit:[],beforeExit:[]},L7={exit:vV,beforeExit:hV},q$;function kV(){if(q$===void 0)q$=new FinalizationRegistry(gV)}function xV($){if(l0[$].length>0)return;process.on($,L7[$])}function O7($){if(l0[$].length>0)return;if(process.removeListener($,L7[$]),l0.exit.length===0&&l0.beforeExit.length===0)q$=void 0}function vV(){R7("exit")}function hV(){R7("beforeExit")}function R7($){for(let J of l0[$]){let Q=J.deref(),X=J.fn;if(Q!==void 0)X(Q,$)}l0[$]=[]}function gV($){for(let J of["exit","beforeExit"]){let Q=l0[J].indexOf($);l0[J].splice(Q,Q+1),O7(J)}}function Z7($,J,Q){if(J===void 0)throw Error("the object can't be undefined");xV($);let X=new WeakRef(J);X.fn=Q,kV(),q$.register(J,X),l0[$].push(X)}function yV($,J){Z7("exit",$,J)}function uV($,J){Z7("beforeExit",$,J)}function mV($){if(q$===void 0)return;q$.unregister($);for(let J of["exit","beforeExit"])l0[J]=l0[J].filter((Q)=>{let X=Q.deref();return X&&X!==$}),O7(J)}S7.exports={register:yV,registerBeforeExit:uV,unregister:mV}});var C7=L((uL,lV)=>{lV.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 P7=L((mL,M7)=>{function cV($,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 dV($,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()}M7.exports={wait:cV,waitDiff:dV}});var I7=L((lL,K7)=>{K7.exports={WRITE_INDEX:4,READ_INDEX:8}});var v7=L((cL,x7)=>{var __dirname="C:\\Users\\mejia\\Documents\\ts\\Veloce-TS\\node_modules\\thread-stream",{version:pV}=C7(),{EventEmitter:iV}=o("events"),{Worker:nV}=o("worker_threads"),{join:sV}=o("path"),{pathToFileURL:oV}=o("url"),{wait:rV}=P7(),{WRITE_INDEX:b0,READ_INDEX:T0}=I7(),aV=o("buffer"),tV=o("assert"),E=Symbol("kImpl"),eV=aV.constants.MAX_STRING_LENGTH;class G6{constructor($){this._value=$}deref(){return this._value}}class Y8{register(){}unregister(){}}var $U=process.env.NODE_V8_COVERAGE?Y8:global.FinalizationRegistry||Y8,JU=process.env.NODE_V8_COVERAGE?G6:global.WeakRef||G6,T7=new $U(($)=>{if($.exited)return;$.terminate()});function QU($,J){let{filename:Q,workerData:X}=J,W=("__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{})["thread-stream-worker"]||sV(__dirname,"lib","worker.js"),H=new nV(W,{...J.workerOpts,trackUnmanagedFds:!1,workerData:{filename:Q.indexOf("file://")===0?Q:oV(Q).href,dataBuf:$[E].dataBuf,stateBuf:$[E].stateBuf,workerData:{$context:{threadStreamVersion:pV},...X}}});return H.stream=new G6($),H.on("message",XU),H.on("exit",f7),T7.register($,H),H}function b7($){if(tV(!$[E].sync),$[E].needDrain)$[E].needDrain=!1,$.emit("drain")}function H6($){let J=Atomics.load($[E].state,b0),Q=$[E].data.length-J;if(Q>0){if($[E].buf.length===0){if($[E].flushing=!1,$[E].ending)G8($);else if($[E].needDrain)process.nextTick(b7,$);return}let X=$[E].buf.slice(0,Q),Y=Buffer.byteLength(X);if(Y<=Q)$[E].buf=$[E].buf.slice(Q),V6($,X,H6.bind(null,$));else $.flush(()=>{if($.destroyed)return;Atomics.store($[E].state,T0,0),Atomics.store($[E].state,b0,0),Atomics.notify($[E].state,T0);while(Y>$[E].data.length)Q=Q/2,X=$[E].buf.slice(0,Q),Y=Buffer.byteLength(X);$[E].buf=$[E].buf.slice(Q),V6($,X,H6.bind(null,$))})}else if(Q===0){if(J===0&&$[E].buf.length===0)return;$.flush(()=>{Atomics.store($[E].state,T0,0),Atomics.store($[E].state,b0,0),Atomics.notify($[E].state,T0),H6($)})}else X1($,Error("overwritten"))}function XU($){let J=this.stream.deref();if(J===void 0){this.exited=!0,this.terminate();return}switch($.code){case"READY":this.stream=new JU(J),J.flush(()=>{J[E].ready=!0,J.emit("ready")});break;case"ERROR":X1(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:X1(J,Error("this should not happen: "+$.code))}}function f7($){let J=this.stream.deref();if(J===void 0)return;T7.unregister(J),J.worker.exited=!0,J.worker.off("exit",f7),X1(J,$!==0?Error("the worker thread exited"):null)}class k7 extends iV{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=QU(this,$),this.on("message",(J,Q)=>{this.worker.postMessage(J,Q)})}write($){if(this[E].destroyed)return W8(this,Error("the worker has exited")),!1;if(this[E].ending)return W8(this,Error("the worker is ending")),!1;if(this[E].flushing&&this[E].buf.length+$.length>=eV)try{X8(this),this[E].flushing=!0}catch(J){return X1(this,J),!1}if(this[E].buf+=$,this[E].sync)try{return X8(this),!0}catch(J){return X1(this,J),!1}if(!this[E].flushing)this[E].flushing=!0,setImmediate(H6,this);return this[E].needDrain=this[E].data.length-this[E].buf.length-Atomics.load(this[E].state,b0)<=0,!this[E].needDrain}end(){if(this[E].destroyed)return;this[E].ending=!0,G8(this)}flush($){if(this[E].destroyed){if(typeof $==="function")process.nextTick($,Error("the worker has exited"));return}let J=Atomics.load(this[E].state,b0);rV(this[E].state,T0,J,1/0,(Q,X)=>{if(Q){X1(this,Q),process.nextTick($,Q);return}if(X==="not-equal"){this.flush($);return}process.nextTick($)})}flushSync(){if(this[E].destroyed)return;X8(this),H8(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 W8($,J){setImmediate(()=>{$.emit("error",J)})}function X1($,J){if($[E].destroyed)return;if($[E].destroyed=!0,J)$[E].errored=J,W8($,J);if(!$.worker.exited)$.worker.terminate().catch(()=>{}).then(()=>{$[E].closed=!0,$.emit("close")});else setImmediate(()=>{$[E].closed=!0,$.emit("close")})}function V6($,J,Q){let X=Atomics.load($[E].state,b0),Y=Buffer.byteLength(J);return $[E].data.write(J,X),Atomics.store($[E].state,b0,X+Y),Atomics.notify($[E].state,b0),Q(),!0}function G8($){if($[E].ended||!$[E].ending||$[E].flushing)return;$[E].ended=!0;try{$.flushSync();let J=Atomics.load($[E].state,T0);Atomics.store($[E].state,b0,-1),Atomics.notify($[E].state,b0);let Q=0;while(J!==-1){if(Atomics.wait($[E].state,T0,J,1000),J=Atomics.load($[E].state,T0),J===-2){X1($,Error("end() failed"));return}if(++Q===10){X1($,Error("end() took too long (10s)"));return}}process.nextTick(()=>{$[E].finished=!0,$.emit("finish")})}catch(J){X1($,J)}}function X8($){let J=()=>{if($[E].ending)G8($);else if($[E].needDrain)process.nextTick(b7,$)};$[E].flushing=!1;while($[E].buf.length!==0){let Q=Atomics.load($[E].state,b0),X=$[E].data.length-Q;if(X===0){H8($),Atomics.store($[E].state,T0,0),Atomics.store($[E].state,b0,0),Atomics.notify($[E].state,T0);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),V6($,Y,J);else{H8($),Atomics.store($[E].state,T0,0),Atomics.store($[E].state,b0,0),Atomics.notify($[E].state,T0);while(W>$[E].buf.length)X=X/2,Y=$[E].buf.slice(0,X),W=Buffer.byteLength(Y);$[E].buf=$[E].buf.slice(X),V6($,Y,J)}}}function H8($){if($[E].flushing)throw Error("unable to flush while flushing");let J=Atomics.load($[E].state,b0),Q=0;while(!0){let X=Atomics.load($[E].state,T0);if(X===-2)throw Error("_flushSync failed");if(X!==J)Atomics.wait($[E].state,T0,X,1000);else break;if(++Q===10)throw Error("_flushSync took too long (10s)")}}x7.exports=k7});var q8=L((dL,y7)=>{var __dirname="C:\\Users\\mejia\\Documents\\ts\\Veloce-TS\\node_modules\\pino\\lib",{createRequire:YU}=o("module"),{existsSync:WU}=o("fs"),HU=s4(),{join:V8,isAbsolute:g7,sep:GU}=o("path"),{fileURLToPath:VU}=o("url"),UU=e4(),U8=Q8(),qU=v7();function _U($){U8.register($,wU),U8.registerBeforeExit($,NU),$.on("close",function(){U8.unregister($)})}function DU(){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 BU($){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&&h7(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(h7(H)){X=!0;continue}}Q.push(W)}return X?Q.join(" "):$}function h7($){let J=FU($);if(!J)return!1;let Q=J;if(Q.startsWith("file://"))try{Q=VU(Q)}catch{return!1}return g7(Q)&&!WU(Q)}function FU($){let J=$[0],Q=$[$.length-1];if(J==='"'&&Q==='"'||J==="'"&&Q==="'")return $.slice(1,-1);return $}function zU($,J,Q,X,Y){if(!Q.execArgv&&DU()&&o.main===void 0)Q={...Q,execArgv:[]};if(!Q.env&&process.env.NODE_OPTIONS){let V=BU(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 qU({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)_U(W)}function G(){if(W.closed)return;W.flushSync(),UU(100),W.end()}return W}function wU($){$.ref(),$.flushSync(),$.end(),$.once("close",function(){$.unref()})}function NU($){$.flushSync()}function AU($){let{pipeline:J,targets:Q,levels:X,dedupe:Y,worker:W={},caller:H=HU(),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"]||V8(__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"]||V8(__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 zU(B(_),V,W,G,F);function B(D){if(D=q[D]||D,g7(D)||D.indexOf("file://")===0)return D;if(D==="pino/file")return V8(__dirname,"..","file.js");let A;for(let Z of U)try{let C=Z==="node:repl"?process.cwd()+GU:Z;A=YU(C).resolve(D);break}catch(C){continue}if(!A)throw Error(`unable to determine transport target for "${D}"`);return A}}y7.exports=AU});var _6=L((iL,t7)=>{var jU=o("diagnostics_channel"),u7=F7(),{mapHttpRequest:EU,mapHttpResponse:LU}=n4(),D8=E7(),m7=Q8(),{lsCacheSym:OU,chindingsSym:i7,writeSym:l7,serializersSym:n7,formatOptsSym:c7,endSym:RU,stringifiersSym:s7,stringifySym:o7,stringifySafeSym:B8,wildcardFirstSym:r7,nestedKeySym:ZU,formattersSym:a7,messageKeySym:SU,errorKeySym:CU,nestedKeyStrSym:MU,msgPrefixSym:U6}=U$(),{isMainThread:PU}=o("worker_threads"),KU=q8(),[IU]=process.versions.node.split(".").map(($)=>Number($)),d7=jU.tracingChannel("pino_asJson"),_8=IU>=25?($)=>JSON.stringify($):bU;function _$(){}function TU($,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=EU(X);else if(typeof X.setHeader==="function")X=LU(X)}let H;if(W===null&&Y.length===0)H=[null];else W=Y.shift(),H=Y;if(typeof this[U6]==="string"&&W!==void 0&&W!==null)W=this[U6]+W;this[l7](X,u7(W,H,this[c7]),$)}else{let W=X===void 0?Y.shift():X;if(typeof this[U6]==="string"&&W!==void 0&&W!==null)W=this[U6]+W;this[l7](null,u7(W,Y,this[c7]),$)}}}function bU($){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 fU($,J,Q,X){if(d7.hasSubscribers===!1)return p7.call(this,$,J,Q,X);let Y={instance:this,arguments};return d7.traceSync(p7,Y,this,$,J,Q,X)}function p7($,J,Q,X){let Y=this[o7],W=this[B8],H=this[s7],G=this[RU],V=this[i7],U=this[n7],q=this[a7],_=this[SU],F=this[CU],B=this[OU][Q]+X;B=B+V;let D;if(q.log)$=q.log($);let A=H[r7],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||_8)(D);break;default:D=(K||Y)(D,W)}if(D===void 0)continue;let y=_8(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||_8)(D),C=',"'+_+'":'+D;break;default:D=(T||Y)(D,W),C=',"'+_+'":'+D}}if(this[ZU]&&Z)return B+this[MU]+Z.slice(1)+"}"+C+G;else return B+Z+C+G}function kU($,J){let Q,X=$[i7],Y=$[o7],W=$[B8],H=$[s7],G=H[r7],V=$[n7],U=$[a7].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 xU($){return $.write!==$.constructor.prototype.write}function q6($){let J=new D8($);if(J.on("error",Q),!$.sync&&PU)m7.register(J,vU),J.on("close",function(){m7.unregister(J)});return J;function Q(X){if(X.code==="EPIPE"){J.write=_$,J.end=_$,J.flushSync=_$,J.destroy=_$;return}J.removeListener("error",Q),J.emit("error",X)}}function vU($,J){if($.destroyed)return;if(J==="beforeExit")$.flush(),$.on("drain",function(){$.end()});else $.flushSync()}function hU($){return function(Q,X,Y={},W){if(typeof Y==="string")W=q6({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=q6({dest:W})}else if(Y instanceof D8||Y.writable||Y._writableState)W=Y,Y={};else if(Y.transport){if(Y.transport instanceof D8||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=KU({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=_$;if(!W)if(!xU(process.stdout))W=q6({fd:process.stdout.fd||1});else W=process.stdout;return{opts:Y,stream:W}}}function gU($,J){try{return JSON.stringify($)}catch(Q){try{return(J||this[B8])($)}catch(X){return'"[unable to serialize, circular reference is too complex to analyze]"'}}}function yU($,J,Q){return{level:$,bindings:J,log:Q}}function uU($){let J=Number($);if(typeof $==="string"&&Number.isFinite(J))return J;if($===void 0)return 1;return $}t7.exports={noop:_$,buildSafeSonicBoom:q6,asChindings:kU,asJson:fU,genLog:TU,createArgsNormalizer:hU,stringify:gU,buildFormatters:yU,normalizeDestFileDescriptor:uU}});var D6=L((nL,e7)=>{var mU={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},lU={ASC:"ASC",DESC:"DESC"};e7.exports={DEFAULT_LEVELS:mU,SORTING_ORDER:lU}});var w8=L((sL,XJ)=>{var{lsCacheSym:cU,levelValSym:F8,useOnlyCustomLevelsSym:dU,streamSym:pU,formattersSym:iU,hooksSym:nU,levelCompSym:$J}=U$(),{noop:sU,genLog:y1}=_6(),{DEFAULT_LEVELS:Y1,SORTING_ORDER:JJ}=D6(),QJ={fatal:($)=>{let J=y1(Y1.fatal,$);return function(...Q){let X=this[pU];if(J.call(this,...Q),typeof X.flushSync==="function")try{X.flushSync()}catch(Y){}}},error:($)=>y1(Y1.error,$),warn:($)=>y1(Y1.warn,$),info:($)=>y1(Y1.info,$),debug:($)=>y1(Y1.debug,$),trace:($)=>y1(Y1.trace,$)},z8=Object.keys(Y1).reduce(($,J)=>{return $[Y1[J]]=J,$},{}),oU=Object.keys(z8).reduce(($,J)=>{return $[J]='{"level":'+Number(J),$},{});function rU($){let J=$[iU].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 $[cU]=X,$}function aU($,J){if(J)return!1;switch($){case"fatal":case"error":case"warn":case"info":case"debug":case"trace":return!0;default:return!1}}function tU($){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[F8],Y=this[F8]=Q[$],W=this[dU],H=this[$J],G=this[nU].logMethod;for(let V in Q){if(H(Q[V],Y)===!1){this[V]=sU;continue}this[V]=aU(V,W)?QJ[V](G):y1(Q[V],G)}this.emit("level-change",$,Y,J[X],X,this)}function eU($){let{levels:J,levelVal:Q}=this;return J&&J.labels?J.labels[Q]:""}function $q($){let{values:J}=this.levels,Q=J[$];return Q!==void 0&&this[$J](Q,this[F8])}function Jq($,J,Q){if($===JJ.DESC)return J<=Q;return J>=Q}function Qq($){if(typeof $==="string")return Jq.bind(null,$);return $}function Xq($=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:z8,Q),Y=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),J?null:Y1,$);return{labels:X,values:Y}}function Yq($,J,Q){if(typeof $==="number"){if(![].concat(Object.keys(J||{}).map((W)=>J[W]),Q?[]:Object.keys(z8).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:Y1,J);if(!($ in X))throw Error(`default level:${$} must be included in custom levels`)}function Wq($,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 Hq($){if(typeof $==="function")return;if(typeof $==="string"&&Object.values(JJ).includes($))return;throw Error('Levels comparison should be one of "ASC", "DESC" or "function" type')}XJ.exports={initialLsCache:oU,genLsCache:rU,levelMethods:QJ,getLevel:eU,setLevel:tU,isLevelEnabled:$q,mappings:Xq,assertNoLevelCollisions:Wq,assertDefaultLevelFound:Yq,genLevelComparison:Qq,assertLevelComparison:Hq}});var N8=L((oL,YJ)=>{YJ.exports={version:"10.3.1"}});var DJ=L((rL,_J)=>{var{EventEmitter:Gq}=o("events"),{lsCacheSym:Vq,levelValSym:Uq,setLevelSym:j8,getLevelSym:WJ,chindingsSym:F6,mixinSym:qq,asJsonSym:GJ,writeSym:_q,mixinMergeStrategySym:Dq,timeSym:Bq,timeSliceIndexSym:Fq,streamSym:VJ,serializersSym:u1,formattersSym:Q2,errorKeySym:zq,messageKeySym:wq,useOnlyCustomLevelsSym:Nq,needsMetadataGsym:Aq,redactFmtSym:jq,stringifySym:Eq,formatOptsSym:Lq,stringifiersSym:Oq,msgPrefixSym:E8,hooksSym:Rq}=U$(),{getLevel:Zq,setLevel:Sq,isLevelEnabled:Cq,mappings:Mq,initialLsCache:Pq,genLsCache:Kq,assertNoLevelCollisions:Iq}=w8(),{asChindings:L8,asJson:Tq,buildFormatters:A8,stringify:HJ,noop:UJ}=_6(),{version:bq}=N8(),fq=a4(),kq=class{},qJ={constructor:kq,child:xq,bindings:vq,setBindings:hq,flush:uq,isLevelEnabled:Cq,version:bq,get level(){return this[WJ]()},set level($){this[j8]($)},get levelVal(){return this[Uq]},set levelVal($){throw Error("levelVal is read-only")},get msgPrefix(){return this[E8]},get[Symbol.toStringTag](){return"Pino"},[Vq]:Pq,[_q]:yq,[GJ]:Tq,[WJ]:Zq,[j8]:Sq};Object.setPrototypeOf(qJ,Gq.prototype);_J.exports=function(){return Object.create(qJ)};var B6=($)=>$;function xq($,J){if(!$)throw Error("missing bindings for child Pino");let Q=this[u1],X=this[Q2],Y=Object.create(this);if(J==null){if(Y[Q2].bindings!==B6)Y[Q2]=A8(X.level,B6,X.log);if(Y[F6]=L8(Y,$),this.onChild!==UJ)this.onChild(Y);return Y}if(J.hasOwnProperty("serializers")===!0){Y[u1]=Object.create(null);for(let U in Q)Y[u1][U]=Q[U];let G=Object.getOwnPropertySymbols(Q);for(var W=0;W<G.length;W++){let U=G[W];Y[u1][U]=Q[U]}for(let U in J.serializers)Y[u1][U]=J.serializers[U];let V=Object.getOwnPropertySymbols(J.serializers);for(var H=0;H<V.length;H++){let U=V[H];Y[u1][U]=J.serializers[U]}}else Y[u1]=Q;if(J.hasOwnProperty("formatters")){let{level:G,bindings:V,log:U}=J.formatters;Y[Q2]=A8(G||X.level,V||B6,U||X.log)}else Y[Q2]=A8(X.level,B6,X.log);if(J.hasOwnProperty("customLevels")===!0)Iq(this.levels,J.customLevels),Y.levels=Mq(J.customLevels,Y[Nq]),Kq(Y);if(typeof J.redact==="object"&&J.redact!==null||Array.isArray(J.redact)){Y.redact=J.redact;let G=fq(Y.redact,HJ),V={stringify:G[jq]};Y[Eq]=HJ,Y[Oq]=G,Y[Lq]=V}if(typeof J.msgPrefix==="string")Y[E8]=(this[E8]||"")+J.msgPrefix;if(Y[F6]=L8(Y,$),J.level!==void 0&&J.level!==this.level||J.hasOwnProperty("customLevels")){let G=J.level||this.level;Y[j8](G)}return this.onChild(Y),Y}function vq(){let J=`{${this[F6].substr(1)}}`,Q=JSON.parse(J);return delete Q.pid,delete Q.hostname,Q}function hq($){let J=L8(this,$);this[F6]=J}function gq($,J){return Object.assign(J,$)}function yq($,J,Q){let X=this[Bq](),Y=this[qq],W=this[zq],H=this[wq],G=this[Dq]||gq,V,U=this[Rq].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[GJ](V,J,Q,X),_=this[VJ];if(_[Aq]===!0)_.lastLevel=Q,_.lastObj=V,_.lastMsg=J,_.lastTime=X.slice(this[Fq]),_.lastLogger=this;_.write(U?U(q):q)}function uq($){if($!=null&&typeof $!=="function")throw Error("callback must be a function");let J=this[VJ];if(typeof J.flush==="function")J.flush($||UJ);else if($)$()}});var wJ=L((aL,zJ)=>{var{hasOwnProperty:X2}=Object.prototype,l1=Z8();l1.configure=Z8;l1.stringify=l1;l1.default=l1;aL.stringify=l1;aL.configure=Z8;zJ.exports=l1;var mq=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function E1($){if($.length<5000&&!mq.test($))return`"${$}"`;return JSON.stringify($)}function O8($,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 lq=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function R8($){return lq.call($)!==void 0&&$.length!==0}function BJ($,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 cq($){if(X2.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 dq($){let J;if(X2.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 pq($,J){let Q;if(X2.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 FJ($,J){let Q;if(X2.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 m1($){if($===1)return"1 item";return`${$} items`}function iq($){let J=new Set;for(let Q of $)if(typeof Q==="string"||typeof Q==="number")J.add(String(Q));return J}function nq($){if(X2.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 Z8($){$={...$};let J=nq($);if(J){if($.bigint===void 0)$.bigint=!1;if(!("circularValue"in $))$.circularValue=Error}let Q=cq($),X=pq($,"bigint"),Y=dq($),W=typeof Y==="function"?Y:void 0,H=FJ($,"maximumDepth"),G=FJ($,"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 E1(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
|
+
caused by: `+x5(X,J);else return Q},WG=($)=>x5($,new Set),v5=($,J,Q)=>{if(!J2($))return"";let X=Q?"":$.message||"";if(J.has($))return X+": ...";let Y=g4($);if(Y){J.add($);let W=typeof $.cause==="function";return X+(W?"":": ")+v5(Y,J,W)}else return X},HG=($)=>v5($,new Set);h5.exports={isErrorLike:J2,getErrorCause:g4,stackWithCauses:WG,messageWithCauses:HG}});var u4=L((SL,y5)=>{var GG=Symbol("circular-ref-tag"),t2=Symbol("pino-raw-err-ref"),g5=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[t2]},set:function($){this[t2]=$}}});Object.defineProperty(g5,t2,{writable:!0,value:{}});y5.exports={pinoErrProto:g5,pinoErrorSymbols:{seen:GG,rawSymbol:t2}}});var l5=L((CL,m5)=>{m5.exports=l4;var{messageWithCauses:VG,stackWithCauses:UG,isErrorLike:u5}=y4(),{pinoErrProto:qG,pinoErrorSymbols:_G}=u4(),{seen:m4}=_G,{toString:DG}=Object.prototype;function l4($){if(!u5($))return $;$[m4]=void 0;let J=Object.create(qG);if(J.type=DG.call($.constructor)==="[object Function]"?$.constructor.name:$.name,J.message=VG($),J.stack=UG($),Array.isArray($.errors))J.aggregateErrors=$.errors.map((Q)=>l4(Q));for(let Q in $)if(J[Q]===void 0){let X=$[Q];if(u5(X)){if(Q!=="cause"&&!Object.prototype.hasOwnProperty.call(X,m4))J[Q]=l4(X)}else J[Q]=X}return delete $[m4],J.raw=$,J}});var d5=L((ML,c5)=>{c5.exports=$6;var{isErrorLike:c4}=y4(),{pinoErrProto:BG,pinoErrorSymbols:FG}=u4(),{seen:e2}=FG,{toString:zG}=Object.prototype;function $6($){if(!c4($))return $;$[e2]=void 0;let J=Object.create(BG);if(J.type=zG.call($.constructor)==="[object Function]"?$.constructor.name:$.name,J.message=$.message,J.stack=$.stack,Array.isArray($.errors))J.aggregateErrors=$.errors.map((Q)=>$6(Q));if(c4($.cause)&&!Object.prototype.hasOwnProperty.call($.cause,e2))J.cause=$6($.cause);for(let Q in $)if(J[Q]===void 0){let X=$[Q];if(c4(X)){if(!Object.prototype.hasOwnProperty.call(X,e2))J[Q]=$6(X)}else J[Q]=X}return delete $[e2],J.raw=$,J}});var s5=L((PL,n5)=>{n5.exports={mapHttpRequest:NG,reqSerializer:i5};var d4=Symbol("pino-raw-req-ref"),p5=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[d4]},set:function($){this[d4]=$}}});Object.defineProperty(p5,d4,{writable:!0,value:{}});function i5($){let J=$.info||$.socket,Q=Object.create(p5);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 NG($){return{req:i5($)}}});var t5=L((KL,a5)=>{a5.exports={mapHttpResponse:wG,resSerializer:r5};var p4=Symbol("pino-raw-res-ref"),o5=Object.create({},{statusCode:{enumerable:!0,writable:!0,value:0},headers:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[p4]},set:function($){this[p4]=$}}});Object.defineProperty(o5,p4,{writable:!0,value:{}});function r5($){let J=Object.create(o5);return J.statusCode=$.headersSent?$.statusCode:null,J.headers=$.getHeaders?$.getHeaders():$._headers,J.raw=$,J}function wG($){return{res:r5($)}}});var n4=L((IL,e5)=>{var i4=l5(),AG=d5(),J6=s5(),Q6=t5();e5.exports={err:i4,errWithCause:AG,mapHttpRequest:J6.mapHttpRequest,mapHttpResponse:Q6.mapHttpResponse,req:J6.reqSerializer,res:Q6.resSerializer,wrapErrorSerializer:function(J){if(J===i4)return J;return function(X){return J(i4(X))}},wrapRequestSerializer:function(J){if(J===J6.reqSerializer)return J;return function(X){return J(J6.reqSerializer(X))}},wrapResponseSerializer:function(J){if(J===Q6.resSerializer)return J;return function(X){return J(Q6.resSerializer(X))}}}});var s4=L((TL,$7)=>{function jG($,J){return J}$7.exports=function(){let J=Error.prepareStackTrace;Error.prepareStackTrace=jG;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 H7=L((bL,W7)=>{function o4($){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]=o4($[Q]);return J}if(typeof $==="object"){let J=Object.create(Object.getPrototypeOf($));for(let Q in $)if(Object.prototype.hasOwnProperty.call($,Q))J[Q]=o4($[Q]);return J}return $}function J7($){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 Q7($,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 X7($,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 X6=Symbol("PATH_NOT_FOUND");function EG($,J){let Q=$;for(let X of J){if(Q===null||Q===void 0)return X6;if(typeof Q!=="object"||Q===null)return X6;if(!(X in Q))return X6;Q=Q[X]}return Q}function LG($,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 OG($,J,Q,X=!1){for(let Y of J){let W=J7(Y);if(W.includes("*"))Y7($,W,Q,Y,X);else if(X)X7($,W);else{let H=EG($,W);if(H===X6)continue;let G=typeof Q==="function"?Q(H,W):Q;Q7($,W,G)}}}function Y7($,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 RG($,J,Q,W,X,Y)}function RG($,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("*"))Y7(q,G,typeof Q==="function"?(B,D)=>{let A=[...V.slice(0,_),...D];return Q(B,A)}:Q,Y,W);else if(W)X7(q,G);else{let F=typeof Q==="function"?Q(LG(q,G),[...V.slice(0,_),...G]):Q;Q7(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 ZG($){if($.length===0)return null;let J=new Map;for(let Q of $){let X=J7(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 SG($,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 CG($){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 MG($){if(!Array.isArray($))throw TypeError("paths must be an array");for(let J of $)CG(J)}function PG($={}){let{paths:J=[],censor:Q="[REDACTED]",serialize:X=JSON.stringify,strict:Y=!0,remove:W=!1}=$;MG(J);let H=ZG(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=SG(V,H),q=V,_=Q;if(typeof Q==="function")_=Q;if(OG(U,J,_,W),X===!1)return U.restore=function(){return o4(q)},U;if(typeof X==="function")return X(U);return JSON.stringify(U)}}W7.exports=PG});var U$=L((fL,G7)=>{var KG=Symbol("pino.setLevel"),IG=Symbol("pino.getLevel"),TG=Symbol("pino.levelVal"),bG=Symbol("pino.levelComp"),fG=Symbol("pino.useLevelLabels"),kG=Symbol("pino.useOnlyCustomLevels"),xG=Symbol("pino.mixin"),vG=Symbol("pino.lsCache"),hG=Symbol("pino.chindings"),gG=Symbol("pino.asJson"),yG=Symbol("pino.write"),uG=Symbol("pino.redactFmt"),mG=Symbol("pino.time"),lG=Symbol("pino.timeSliceIndex"),cG=Symbol("pino.stream"),dG=Symbol("pino.stringify"),pG=Symbol("pino.stringifySafe"),iG=Symbol("pino.stringifiers"),nG=Symbol("pino.end"),sG=Symbol("pino.formatOpts"),oG=Symbol("pino.messageKey"),rG=Symbol("pino.errorKey"),aG=Symbol("pino.nestedKey"),tG=Symbol("pino.nestedKeyStr"),eG=Symbol("pino.mixinMergeStrategy"),$V=Symbol("pino.msgPrefix"),JV=Symbol("pino.wildcardFirst"),QV=Symbol.for("pino.serializers"),XV=Symbol.for("pino.formatters"),YV=Symbol.for("pino.hooks"),WV=Symbol.for("pino.metadata");G7.exports={setLevelSym:KG,getLevelSym:IG,levelValSym:TG,levelCompSym:bG,useLevelLabelsSym:fG,mixinSym:xG,lsCacheSym:vG,chindingsSym:hG,asJsonSym:gG,writeSym:yG,serializersSym:QV,redactFmtSym:uG,timeSym:mG,timeSliceIndexSym:lG,streamSym:cG,stringifySym:dG,stringifySafeSym:pG,stringifiersSym:iG,endSym:nG,formatOptsSym:sG,messageKeySym:oG,errorKeySym:rG,nestedKeySym:aG,wildcardFirstSym:JV,needsMetadataGsym:WV,useOnlyCustomLevelsSym:kG,formattersSym:XV,hooksSym:YV,nestedKeyStrSym:tG,mixinMergeStrategySym:eG,msgPrefixSym:$V}});var a4=L((kL,U7)=>{var V7=H7(),{redactFmtSym:HV,wildcardFirstSym:Y6}=U$(),r4=/[^.[\]]+|\[([^[\]]*?)\]/g;function GV($,J){let{paths:Q,censor:X,remove:Y}=VV($),W=Q.reduce((V,U)=>{r4.lastIndex=0;let q=r4.exec(U),_=r4.exec(U),F=q[1]!==void 0?q[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/,"$1"):q[0];if(F==="*")F=Y6;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!==Y6&&V[F].length===0)V[F].push(...V[Y6]||[]);if(F===Y6)Object.keys(V).forEach(function(A){if(V[A])V[A].push(D)});return V[F].push(D),V},{}),H={[HV]:V7({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]=V7({paths:W[U],censor:q,serialize:J,strict:!1,remove:Y})}return V},H)}function VV($){if(Array.isArray($))return $={paths:$,censor:"[Redacted]"},$;let{paths:J,censor:Q="[Redacted]",remove:X}=$;if(Array.isArray(J)===!1)throw Error("pino \u2013 redact must contain an array of strings");if(X===!0)Q=void 0;return{paths:J,censor:Q,remove:X}}U7.exports=GV});var D7=L((xL,_7)=>{var UV=()=>"",qV=()=>`,"time":${Date.now()}`,_V=()=>`,"time":${Math.round(Date.now()/1000)}`,DV=()=>`,"time":"${new Date(Date.now()).toISOString()}"`,BV=1000000n,q7=1000000000n,FV=BigInt(Date.now())*BV,zV=process.hrtime.bigint(),NV=()=>{let $=process.hrtime.bigint()-zV,J=FV+$,Q=J/q7,X=J%q7,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"`};_7.exports={nullTime:UV,epochTime:qV,unixTime:_V,isoTime:DV,isoTimeNano:NV}});var F7=L((vL,B7)=>{function wV($){try{return JSON.stringify($)}catch(J){return'"[Circular]"'}}B7.exports=AV;function AV($,J,Q){var X=Q&&Q.stringify||wV,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 e4=L((hL,t4)=>{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));t4.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());};t4.exports=$}});var E7=L((gL,j7)=>{var w0=o("fs"),jV=o("events"),EV=o("util").inherits,z7=o("path"),J8=e4(),LV=o("assert"),W6=Buffer.allocUnsafe(0),[OV,RV]=(process.versions.node||"0.0").split(".").map(Number),ZV=OV>=22&&RV>=7;function N7($,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(z7.dirname($),{recursive:!0});let W=w0.openSync($,X,Y);Q(null,W)}catch(W){throw Q(W),W}else if(J.mkdir)w0.mkdir(z7.dirname($),{recursive:!0},(W)=>{if(W)return Q(W);w0.open($,X,Y,Q)});else w0.open($,X,Y,Q)}function m0($){if(!(this instanceof m0))return new m0($);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=W6,this.write=MV,this.flush=KV,this.flushSync=TV,this._actualWrite=fV,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=CV,this.flush=PV,this.flushSync=IV,this._actualWrite=bV,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")N7(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{J8(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=$8(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=$8(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,H6(this);else if(this._writing=!1,this.sync){if(!this._asyncDrainScheduled)this._asyncDrainScheduled=!0,process.nextTick(SV,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 $8($,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 SV($){if(!($.listenerCount("drain")>0))return;$._asyncDrainScheduled=!1,$.emit("drain")}EV(m0,jV);function w7($,J){if($.length===0)return W6;if($.length===1)return $[0];return Buffer.concat($,J)}function CV($){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 MV($){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 A7($){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 PV($){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($)A7.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push("");this._actualWrite()}function KV($){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($)A7.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push([]),this._lens.push(0);this._actualWrite()}m0.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)})}),N7(this.file,this)};m0.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 H6(this)};function IV(){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=$8($,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;J8(100)}}try{w0.fsyncSync(this.fd)}catch{}}function TV(){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=W6;let $=W6;while(this._bufs.length||$.length){if($.length<=0)$=w7(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;J8(100)}}}m0.prototype.destroy=function(){if(this.destroyed)return;H6(this)};function bV(){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 fV(){let $=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:w7(this._bufs.shift(),this._lens.shift()),this.sync)try{let J=w0.writeSync(this.fd,this._writingBuf);$(null,J)}catch(J){$(J)}else{if(ZV)this._writingBuf=Buffer.from(this._writingBuf);w0.write(this.fd,this._writingBuf,$)}}function H6($){if($.fd===-1){$.once("ready",H6.bind(null,$));return}if($._periodicFlushTimer!==void 0)clearInterval($._periodicFlushTimer);$.destroyed=!0,$._bufs=[],$._lens=[],LV(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")}}m0.SonicBoom=m0;m0.default=m0;j7.exports=m0});var Q8=L((yL,S7)=>{var l0={exit:[],beforeExit:[]},L7={exit:vV,beforeExit:hV},q$;function kV(){if(q$===void 0)q$=new FinalizationRegistry(gV)}function xV($){if(l0[$].length>0)return;process.on($,L7[$])}function O7($){if(l0[$].length>0)return;if(process.removeListener($,L7[$]),l0.exit.length===0&&l0.beforeExit.length===0)q$=void 0}function vV(){R7("exit")}function hV(){R7("beforeExit")}function R7($){for(let J of l0[$]){let Q=J.deref(),X=J.fn;if(Q!==void 0)X(Q,$)}l0[$]=[]}function gV($){for(let J of["exit","beforeExit"]){let Q=l0[J].indexOf($);l0[J].splice(Q,Q+1),O7(J)}}function Z7($,J,Q){if(J===void 0)throw Error("the object can't be undefined");xV($);let X=new WeakRef(J);X.fn=Q,kV(),q$.register(J,X),l0[$].push(X)}function yV($,J){Z7("exit",$,J)}function uV($,J){Z7("beforeExit",$,J)}function mV($){if(q$===void 0)return;q$.unregister($);for(let J of["exit","beforeExit"])l0[J]=l0[J].filter((Q)=>{let X=Q.deref();return X&&X!==$}),O7(J)}S7.exports={register:yV,registerBeforeExit:uV,unregister:mV}});var C7=L((uL,lV)=>{lV.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 P7=L((mL,M7)=>{function cV($,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 dV($,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()}M7.exports={wait:cV,waitDiff:dV}});var I7=L((lL,K7)=>{K7.exports={WRITE_INDEX:4,READ_INDEX:8}});var v7=L((cL,x7)=>{var __dirname="C:\\Users\\mejia\\Documents\\ts\\Veloce-TS\\node_modules\\thread-stream",{version:pV}=C7(),{EventEmitter:iV}=o("events"),{Worker:nV}=o("worker_threads"),{join:sV}=o("path"),{pathToFileURL:oV}=o("url"),{wait:rV}=P7(),{WRITE_INDEX:b0,READ_INDEX:T0}=I7(),aV=o("buffer"),tV=o("assert"),E=Symbol("kImpl"),eV=aV.constants.MAX_STRING_LENGTH;class V6{constructor($){this._value=$}deref(){return this._value}}class Y8{register(){}unregister(){}}var $U=process.env.NODE_V8_COVERAGE?Y8:global.FinalizationRegistry||Y8,JU=process.env.NODE_V8_COVERAGE?V6:global.WeakRef||V6,T7=new $U(($)=>{if($.exited)return;$.terminate()});function QU($,J){let{filename:Q,workerData:X}=J,W=("__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{})["thread-stream-worker"]||sV(__dirname,"lib","worker.js"),H=new nV(W,{...J.workerOpts,trackUnmanagedFds:!1,workerData:{filename:Q.indexOf("file://")===0?Q:oV(Q).href,dataBuf:$[E].dataBuf,stateBuf:$[E].stateBuf,workerData:{$context:{threadStreamVersion:pV},...X}}});return H.stream=new V6($),H.on("message",XU),H.on("exit",f7),T7.register($,H),H}function b7($){if(tV(!$[E].sync),$[E].needDrain)$[E].needDrain=!1,$.emit("drain")}function G6($){let J=Atomics.load($[E].state,b0),Q=$[E].data.length-J;if(Q>0){if($[E].buf.length===0){if($[E].flushing=!1,$[E].ending)G8($);else if($[E].needDrain)process.nextTick(b7,$);return}let X=$[E].buf.slice(0,Q),Y=Buffer.byteLength(X);if(Y<=Q)$[E].buf=$[E].buf.slice(Q),U6($,X,G6.bind(null,$));else $.flush(()=>{if($.destroyed)return;Atomics.store($[E].state,T0,0),Atomics.store($[E].state,b0,0),Atomics.notify($[E].state,T0);while(Y>$[E].data.length)Q=Q/2,X=$[E].buf.slice(0,Q),Y=Buffer.byteLength(X);$[E].buf=$[E].buf.slice(Q),U6($,X,G6.bind(null,$))})}else if(Q===0){if(J===0&&$[E].buf.length===0)return;$.flush(()=>{Atomics.store($[E].state,T0,0),Atomics.store($[E].state,b0,0),Atomics.notify($[E].state,T0),G6($)})}else X1($,Error("overwritten"))}function XU($){let J=this.stream.deref();if(J===void 0){this.exited=!0,this.terminate();return}switch($.code){case"READY":this.stream=new JU(J),J.flush(()=>{J[E].ready=!0,J.emit("ready")});break;case"ERROR":X1(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:X1(J,Error("this should not happen: "+$.code))}}function f7($){let J=this.stream.deref();if(J===void 0)return;T7.unregister(J),J.worker.exited=!0,J.worker.off("exit",f7),X1(J,$!==0?Error("the worker thread exited"):null)}class k7 extends iV{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=QU(this,$),this.on("message",(J,Q)=>{this.worker.postMessage(J,Q)})}write($){if(this[E].destroyed)return W8(this,Error("the worker has exited")),!1;if(this[E].ending)return W8(this,Error("the worker is ending")),!1;if(this[E].flushing&&this[E].buf.length+$.length>=eV)try{X8(this),this[E].flushing=!0}catch(J){return X1(this,J),!1}if(this[E].buf+=$,this[E].sync)try{return X8(this),!0}catch(J){return X1(this,J),!1}if(!this[E].flushing)this[E].flushing=!0,setImmediate(G6,this);return this[E].needDrain=this[E].data.length-this[E].buf.length-Atomics.load(this[E].state,b0)<=0,!this[E].needDrain}end(){if(this[E].destroyed)return;this[E].ending=!0,G8(this)}flush($){if(this[E].destroyed){if(typeof $==="function")process.nextTick($,Error("the worker has exited"));return}let J=Atomics.load(this[E].state,b0);rV(this[E].state,T0,J,1/0,(Q,X)=>{if(Q){X1(this,Q),process.nextTick($,Q);return}if(X==="not-equal"){this.flush($);return}process.nextTick($)})}flushSync(){if(this[E].destroyed)return;X8(this),H8(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 W8($,J){setImmediate(()=>{$.emit("error",J)})}function X1($,J){if($[E].destroyed)return;if($[E].destroyed=!0,J)$[E].errored=J,W8($,J);if(!$.worker.exited)$.worker.terminate().catch(()=>{}).then(()=>{$[E].closed=!0,$.emit("close")});else setImmediate(()=>{$[E].closed=!0,$.emit("close")})}function U6($,J,Q){let X=Atomics.load($[E].state,b0),Y=Buffer.byteLength(J);return $[E].data.write(J,X),Atomics.store($[E].state,b0,X+Y),Atomics.notify($[E].state,b0),Q(),!0}function G8($){if($[E].ended||!$[E].ending||$[E].flushing)return;$[E].ended=!0;try{$.flushSync();let J=Atomics.load($[E].state,T0);Atomics.store($[E].state,b0,-1),Atomics.notify($[E].state,b0);let Q=0;while(J!==-1){if(Atomics.wait($[E].state,T0,J,1000),J=Atomics.load($[E].state,T0),J===-2){X1($,Error("end() failed"));return}if(++Q===10){X1($,Error("end() took too long (10s)"));return}}process.nextTick(()=>{$[E].finished=!0,$.emit("finish")})}catch(J){X1($,J)}}function X8($){let J=()=>{if($[E].ending)G8($);else if($[E].needDrain)process.nextTick(b7,$)};$[E].flushing=!1;while($[E].buf.length!==0){let Q=Atomics.load($[E].state,b0),X=$[E].data.length-Q;if(X===0){H8($),Atomics.store($[E].state,T0,0),Atomics.store($[E].state,b0,0),Atomics.notify($[E].state,T0);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),U6($,Y,J);else{H8($),Atomics.store($[E].state,T0,0),Atomics.store($[E].state,b0,0),Atomics.notify($[E].state,T0);while(W>$[E].buf.length)X=X/2,Y=$[E].buf.slice(0,X),W=Buffer.byteLength(Y);$[E].buf=$[E].buf.slice(X),U6($,Y,J)}}}function H8($){if($[E].flushing)throw Error("unable to flush while flushing");let J=Atomics.load($[E].state,b0),Q=0;while(!0){let X=Atomics.load($[E].state,T0);if(X===-2)throw Error("_flushSync failed");if(X!==J)Atomics.wait($[E].state,T0,X,1000);else break;if(++Q===10)throw Error("_flushSync took too long (10s)")}}x7.exports=k7});var q8=L((dL,y7)=>{var __dirname="C:\\Users\\mejia\\Documents\\ts\\Veloce-TS\\node_modules\\pino\\lib",{createRequire:YU}=o("module"),{existsSync:WU}=o("fs"),HU=s4(),{join:V8,isAbsolute:g7,sep:GU}=o("path"),{fileURLToPath:VU}=o("url"),UU=e4(),U8=Q8(),qU=v7();function _U($){U8.register($,NU),U8.registerBeforeExit($,wU),$.on("close",function(){U8.unregister($)})}function DU(){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 BU($){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&&h7(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(h7(H)){X=!0;continue}}Q.push(W)}return X?Q.join(" "):$}function h7($){let J=FU($);if(!J)return!1;let Q=J;if(Q.startsWith("file://"))try{Q=VU(Q)}catch{return!1}return g7(Q)&&!WU(Q)}function FU($){let J=$[0],Q=$[$.length-1];if(J==='"'&&Q==='"'||J==="'"&&Q==="'")return $.slice(1,-1);return $}function zU($,J,Q,X,Y){if(!Q.execArgv&&DU()&&o.main===void 0)Q={...Q,execArgv:[]};if(!Q.env&&process.env.NODE_OPTIONS){let V=BU(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 qU({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)_U(W)}function G(){if(W.closed)return;W.flushSync(),UU(100),W.end()}return W}function NU($){$.ref(),$.flushSync(),$.end(),$.once("close",function(){$.unref()})}function wU($){$.flushSync()}function AU($){let{pipeline:J,targets:Q,levels:X,dedupe:Y,worker:W={},caller:H=HU(),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"]||V8(__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"]||V8(__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 zU(B(_),V,W,G,F);function B(D){if(D=q[D]||D,g7(D)||D.indexOf("file://")===0)return D;if(D==="pino/file")return V8(__dirname,"..","file.js");let A;for(let Z of U)try{let C=Z==="node:repl"?process.cwd()+GU:Z;A=YU(C).resolve(D);break}catch(C){continue}if(!A)throw Error(`unable to determine transport target for "${D}"`);return A}}y7.exports=AU});var D6=L((iL,t7)=>{var jU=o("diagnostics_channel"),u7=F7(),{mapHttpRequest:EU,mapHttpResponse:LU}=n4(),D8=E7(),m7=Q8(),{lsCacheSym:OU,chindingsSym:i7,writeSym:l7,serializersSym:n7,formatOptsSym:c7,endSym:RU,stringifiersSym:s7,stringifySym:o7,stringifySafeSym:B8,wildcardFirstSym:r7,nestedKeySym:ZU,formattersSym:a7,messageKeySym:SU,errorKeySym:CU,nestedKeyStrSym:MU,msgPrefixSym:q6}=U$(),{isMainThread:PU}=o("worker_threads"),KU=q8(),[IU]=process.versions.node.split(".").map(($)=>Number($)),d7=jU.tracingChannel("pino_asJson"),_8=IU>=25?($)=>JSON.stringify($):bU;function _$(){}function TU($,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=EU(X);else if(typeof X.setHeader==="function")X=LU(X)}let H;if(W===null&&Y.length===0)H=[null];else W=Y.shift(),H=Y;if(typeof this[q6]==="string"&&W!==void 0&&W!==null)W=this[q6]+W;this[l7](X,u7(W,H,this[c7]),$)}else{let W=X===void 0?Y.shift():X;if(typeof this[q6]==="string"&&W!==void 0&&W!==null)W=this[q6]+W;this[l7](null,u7(W,Y,this[c7]),$)}}}function bU($){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 fU($,J,Q,X){if(d7.hasSubscribers===!1)return p7.call(this,$,J,Q,X);let Y={instance:this,arguments};return d7.traceSync(p7,Y,this,$,J,Q,X)}function p7($,J,Q,X){let Y=this[o7],W=this[B8],H=this[s7],G=this[RU],V=this[i7],U=this[n7],q=this[a7],_=this[SU],F=this[CU],B=this[OU][Q]+X;B=B+V;let D;if(q.log)$=q.log($);let A=H[r7],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||_8)(D);break;default:D=(K||Y)(D,W)}if(D===void 0)continue;let y=_8(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||_8)(D),C=',"'+_+'":'+D;break;default:D=(T||Y)(D,W),C=',"'+_+'":'+D}}if(this[ZU]&&Z)return B+this[MU]+Z.slice(1)+"}"+C+G;else return B+Z+C+G}function kU($,J){let Q,X=$[i7],Y=$[o7],W=$[B8],H=$[s7],G=H[r7],V=$[n7],U=$[a7].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 xU($){return $.write!==$.constructor.prototype.write}function _6($){let J=new D8($);if(J.on("error",Q),!$.sync&&PU)m7.register(J,vU),J.on("close",function(){m7.unregister(J)});return J;function Q(X){if(X.code==="EPIPE"){J.write=_$,J.end=_$,J.flushSync=_$,J.destroy=_$;return}J.removeListener("error",Q),J.emit("error",X)}}function vU($,J){if($.destroyed)return;if(J==="beforeExit")$.flush(),$.on("drain",function(){$.end()});else $.flushSync()}function hU($){return function(Q,X,Y={},W){if(typeof Y==="string")W=_6({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=_6({dest:W})}else if(Y instanceof D8||Y.writable||Y._writableState)W=Y,Y={};else if(Y.transport){if(Y.transport instanceof D8||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=KU({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=_$;if(!W)if(!xU(process.stdout))W=_6({fd:process.stdout.fd||1});else W=process.stdout;return{opts:Y,stream:W}}}function gU($,J){try{return JSON.stringify($)}catch(Q){try{return(J||this[B8])($)}catch(X){return'"[unable to serialize, circular reference is too complex to analyze]"'}}}function yU($,J,Q){return{level:$,bindings:J,log:Q}}function uU($){let J=Number($);if(typeof $==="string"&&Number.isFinite(J))return J;if($===void 0)return 1;return $}t7.exports={noop:_$,buildSafeSonicBoom:_6,asChindings:kU,asJson:fU,genLog:TU,createArgsNormalizer:hU,stringify:gU,buildFormatters:yU,normalizeDestFileDescriptor:uU}});var B6=L((nL,e7)=>{var mU={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},lU={ASC:"ASC",DESC:"DESC"};e7.exports={DEFAULT_LEVELS:mU,SORTING_ORDER:lU}});var N8=L((sL,XJ)=>{var{lsCacheSym:cU,levelValSym:F8,useOnlyCustomLevelsSym:dU,streamSym:pU,formattersSym:iU,hooksSym:nU,levelCompSym:$J}=U$(),{noop:sU,genLog:y1}=D6(),{DEFAULT_LEVELS:Y1,SORTING_ORDER:JJ}=B6(),QJ={fatal:($)=>{let J=y1(Y1.fatal,$);return function(...Q){let X=this[pU];if(J.call(this,...Q),typeof X.flushSync==="function")try{X.flushSync()}catch(Y){}}},error:($)=>y1(Y1.error,$),warn:($)=>y1(Y1.warn,$),info:($)=>y1(Y1.info,$),debug:($)=>y1(Y1.debug,$),trace:($)=>y1(Y1.trace,$)},z8=Object.keys(Y1).reduce(($,J)=>{return $[Y1[J]]=J,$},{}),oU=Object.keys(z8).reduce(($,J)=>{return $[J]='{"level":'+Number(J),$},{});function rU($){let J=$[iU].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 $[cU]=X,$}function aU($,J){if(J)return!1;switch($){case"fatal":case"error":case"warn":case"info":case"debug":case"trace":return!0;default:return!1}}function tU($){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[F8],Y=this[F8]=Q[$],W=this[dU],H=this[$J],G=this[nU].logMethod;for(let V in Q){if(H(Q[V],Y)===!1){this[V]=sU;continue}this[V]=aU(V,W)?QJ[V](G):y1(Q[V],G)}this.emit("level-change",$,Y,J[X],X,this)}function eU($){let{levels:J,levelVal:Q}=this;return J&&J.labels?J.labels[Q]:""}function $q($){let{values:J}=this.levels,Q=J[$];return Q!==void 0&&this[$J](Q,this[F8])}function Jq($,J,Q){if($===JJ.DESC)return J<=Q;return J>=Q}function Qq($){if(typeof $==="string")return Jq.bind(null,$);return $}function Xq($=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:z8,Q),Y=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),J?null:Y1,$);return{labels:X,values:Y}}function Yq($,J,Q){if(typeof $==="number"){if(![].concat(Object.keys(J||{}).map((W)=>J[W]),Q?[]:Object.keys(z8).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:Y1,J);if(!($ in X))throw Error(`default level:${$} must be included in custom levels`)}function Wq($,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 Hq($){if(typeof $==="function")return;if(typeof $==="string"&&Object.values(JJ).includes($))return;throw Error('Levels comparison should be one of "ASC", "DESC" or "function" type')}XJ.exports={initialLsCache:oU,genLsCache:rU,levelMethods:QJ,getLevel:eU,setLevel:tU,isLevelEnabled:$q,mappings:Xq,assertNoLevelCollisions:Wq,assertDefaultLevelFound:Yq,genLevelComparison:Qq,assertLevelComparison:Hq}});var w8=L((oL,YJ)=>{YJ.exports={version:"10.3.1"}});var DJ=L((rL,_J)=>{var{EventEmitter:Gq}=o("events"),{lsCacheSym:Vq,levelValSym:Uq,setLevelSym:j8,getLevelSym:WJ,chindingsSym:z6,mixinSym:qq,asJsonSym:GJ,writeSym:_q,mixinMergeStrategySym:Dq,timeSym:Bq,timeSliceIndexSym:Fq,streamSym:VJ,serializersSym:u1,formattersSym:Q2,errorKeySym:zq,messageKeySym:Nq,useOnlyCustomLevelsSym:wq,needsMetadataGsym:Aq,redactFmtSym:jq,stringifySym:Eq,formatOptsSym:Lq,stringifiersSym:Oq,msgPrefixSym:E8,hooksSym:Rq}=U$(),{getLevel:Zq,setLevel:Sq,isLevelEnabled:Cq,mappings:Mq,initialLsCache:Pq,genLsCache:Kq,assertNoLevelCollisions:Iq}=N8(),{asChindings:L8,asJson:Tq,buildFormatters:A8,stringify:HJ,noop:UJ}=D6(),{version:bq}=w8(),fq=a4(),kq=class{},qJ={constructor:kq,child:xq,bindings:vq,setBindings:hq,flush:uq,isLevelEnabled:Cq,version:bq,get level(){return this[WJ]()},set level($){this[j8]($)},get levelVal(){return this[Uq]},set levelVal($){throw Error("levelVal is read-only")},get msgPrefix(){return this[E8]},get[Symbol.toStringTag](){return"Pino"},[Vq]:Pq,[_q]:yq,[GJ]:Tq,[WJ]:Zq,[j8]:Sq};Object.setPrototypeOf(qJ,Gq.prototype);_J.exports=function(){return Object.create(qJ)};var F6=($)=>$;function xq($,J){if(!$)throw Error("missing bindings for child Pino");let Q=this[u1],X=this[Q2],Y=Object.create(this);if(J==null){if(Y[Q2].bindings!==F6)Y[Q2]=A8(X.level,F6,X.log);if(Y[z6]=L8(Y,$),this.onChild!==UJ)this.onChild(Y);return Y}if(J.hasOwnProperty("serializers")===!0){Y[u1]=Object.create(null);for(let U in Q)Y[u1][U]=Q[U];let G=Object.getOwnPropertySymbols(Q);for(var W=0;W<G.length;W++){let U=G[W];Y[u1][U]=Q[U]}for(let U in J.serializers)Y[u1][U]=J.serializers[U];let V=Object.getOwnPropertySymbols(J.serializers);for(var H=0;H<V.length;H++){let U=V[H];Y[u1][U]=J.serializers[U]}}else Y[u1]=Q;if(J.hasOwnProperty("formatters")){let{level:G,bindings:V,log:U}=J.formatters;Y[Q2]=A8(G||X.level,V||F6,U||X.log)}else Y[Q2]=A8(X.level,F6,X.log);if(J.hasOwnProperty("customLevels")===!0)Iq(this.levels,J.customLevels),Y.levels=Mq(J.customLevels,Y[wq]),Kq(Y);if(typeof J.redact==="object"&&J.redact!==null||Array.isArray(J.redact)){Y.redact=J.redact;let G=fq(Y.redact,HJ),V={stringify:G[jq]};Y[Eq]=HJ,Y[Oq]=G,Y[Lq]=V}if(typeof J.msgPrefix==="string")Y[E8]=(this[E8]||"")+J.msgPrefix;if(Y[z6]=L8(Y,$),J.level!==void 0&&J.level!==this.level||J.hasOwnProperty("customLevels")){let G=J.level||this.level;Y[j8](G)}return this.onChild(Y),Y}function vq(){let J=`{${this[z6].substr(1)}}`,Q=JSON.parse(J);return delete Q.pid,delete Q.hostname,Q}function hq($){let J=L8(this,$);this[z6]=J}function gq($,J){return Object.assign(J,$)}function yq($,J,Q){let X=this[Bq](),Y=this[qq],W=this[zq],H=this[Nq],G=this[Dq]||gq,V,U=this[Rq].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[GJ](V,J,Q,X),_=this[VJ];if(_[Aq]===!0)_.lastLevel=Q,_.lastObj=V,_.lastMsg=J,_.lastTime=X.slice(this[Fq]),_.lastLogger=this;_.write(U?U(q):q)}function uq($){if($!=null&&typeof $!=="function")throw Error("callback must be a function");let J=this[VJ];if(typeof J.flush==="function")J.flush($||UJ);else if($)$()}});var NJ=L((aL,zJ)=>{var{hasOwnProperty:X2}=Object.prototype,l1=Z8();l1.configure=Z8;l1.stringify=l1;l1.default=l1;aL.stringify=l1;aL.configure=Z8;zJ.exports=l1;var mq=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function E1($){if($.length<5000&&!mq.test($))return`"${$}"`;return JSON.stringify($)}function O8($,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 lq=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function R8($){return lq.call($)!==void 0&&$.length!==0}function BJ($,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 cq($){if(X2.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 dq($){let J;if(X2.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 pq($,J){let Q;if(X2.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 FJ($,J){let Q;if(X2.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 m1($){if($===1)return"1 item";return`${$} items`}function iq($){let J=new Set;for(let Q of $)if(typeof Q==="string"||typeof Q==="number")J.add(String(Q));return J}function nq($){if(X2.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 Z8($){$={...$};let J=nq($);if(J){if($.bigint===void 0)$.bigint=!1;if(!("circularValue"in $))$.circularValue=Error}let Q=cq($),X=pq($,"bigint"),Y=dq($),W=typeof Y==="function"?Y:void 0,H=FJ($,"maximumDepth"),G=FJ($,"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 E1(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+=`
|
|
6
6
|
${T}`,s=`,
|
|
7
7
|
${T}`;let U0=Math.min(K.length,G),A0=0;for(;A0<U0-1;A0++){let y0=V(String(A0),K,A,Z,C,T);y+=y0!==void 0?y0:"null",y+=s}let B0=V(String(A0),K,A,Z,C,T);if(y+=B0!==void 0?B0:"null",K.length-1>G){let y0=K.length-G-1;y+=`${s}"... ${m1(y0)} not stringified"`}if(C!=="")y+=`
|
|
8
8
|
${d}`;return A.pop(),`[${y}]`}let J0=Object.keys(K),Y0=J0.length;if(Y0===0)return"{}";if(H<A.length+1)return'"[Object]"';let p="",Q0="";if(C!=="")T+=C,s=`,
|
|
@@ -20,9 +20,9 @@ ${C}`,_0=Math.min(D.length,G),U0=0;for(;U0<_0-1;U0++){let B0=q(String(U0),D[U0],
|
|
|
20
20
|
${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=`,
|
|
21
21
|
${C}`,d="",J0="",Y0=Math.min(y,G);if(R8(D))d+=BJ(D,s,G),K=K.slice(D.length),Y0-=D.length,J0=s;if(Y)K=O8(K,W);A.push(D);for(let p=0;p<Y0;p++){let Q0=K[p],_0=q(Q0,D[Q0],A,Z,C);if(_0!==void 0)d+=`${J0}${E1(Q0)}: ${_0}`,J0=s}if(y>G){let p=y-G;d+=`${J0}"...": "${m1(p)} not stringified"`,J0=s}if(J0!=="")d=`
|
|
22
22
|
${C}${d}
|
|
23
|
-
${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 E1(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),J0=0;for(;J0<d-1;J0++){let p=_(String(J0),D[J0],A);Z+=p!==void 0?p:"null",Z+=","}let Y0=_(String(J0),D[J0],A);if(Z+=Y0!==void 0?Y0:"null",D.length-1>G){let p=D.length-G-1;Z+=`,"... ${m1(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&&R8(D))Z+=BJ(D,",",G),T=T.slice(D.length),s-=D.length,y=",";if(Y)T=O8(T,W);A.push(D);for(let d=0;d<s;d++){let J0=T[d],Y0=_(J0,D[J0],A);if(Y0!==void 0)Z+=`${y}${E1(J0)}:${Y0}`,y=","}if(K>G){let d=K-G;Z+=`${y}"...":"${m1(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,[],iq(D),Z,"")}if(Z.length!==0)return q("",B,[],Z,"")}return _("",B,[])}return F}});var EJ=L((tL,jJ)=>{var S8=Symbol.for("pino.metadata"),{DEFAULT_LEVELS:AJ}=
|
|
23
|
+
${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 E1(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),J0=0;for(;J0<d-1;J0++){let p=_(String(J0),D[J0],A);Z+=p!==void 0?p:"null",Z+=","}let Y0=_(String(J0),D[J0],A);if(Z+=Y0!==void 0?Y0:"null",D.length-1>G){let p=D.length-G-1;Z+=`,"... ${m1(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&&R8(D))Z+=BJ(D,",",G),T=T.slice(D.length),s-=D.length,y=",";if(Y)T=O8(T,W);A.push(D);for(let d=0;d<s;d++){let J0=T[d],Y0=_(J0,D[J0],A);if(Y0!==void 0)Z+=`${y}${E1(J0)}:${Y0}`,y=","}if(K>G){let d=K-G;Z+=`${y}"...":"${m1(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,[],iq(D),Z,"")}if(Z.length!==0)return q("",B,[],Z,"")}return _("",B,[])}return F}});var EJ=L((tL,jJ)=>{var S8=Symbol.for("pino.metadata"),{DEFAULT_LEVELS:AJ}=B6(),rq=AJ.info;function aq($,J){$=$||[],J=J||{dedupe:!1};let Q=Object.create(AJ);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,[S8]:!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=tq(D.length,J.dedupe);$_(C,D.length,J.dedupe);C=eq(C,J.dedupe))if(F=D[C],F.level<=B){if(A!==0&&A!==F.level)break;if(Z=F.stream,Z[S8]){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=rq;let C={stream:B,level:Z,levelVal:void 0,id:++X.lastId};return D.unshift(C),D.sort(wJ),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(wJ),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,[S8]:!0}}}function wJ($,J){return $.level-J.level}function tq($,J){return J?$-1:0}function eq($,J){return J?$-1:$+1}function $_($,J,Q){return Q?$>=0:$<J}jJ.exports=aq});var kJ=L((eL,f0)=>{var J_=o("os"),PJ=n4(),Q_=s4(),X_=a4(),KJ=D7(),Y_=DJ(),IJ=U$(),{configure:W_}=NJ(),{assertDefaultLevelFound:H_,mappings:TJ,genLsCache:G_,genLevelComparison:V_,assertLevelComparison:U_}=N8(),{DEFAULT_LEVELS:bJ,SORTING_ORDER:q_}=B6(),{createArgsNormalizer:__,asChindings:D_,buildSafeSonicBoom:LJ,buildFormatters:B_,stringify:C8,normalizeDestFileDescriptor:OJ,noop:F_}=D6(),{version:z_}=w8(),{chindingsSym:RJ,redactFmtSym:N_,serializersSym:ZJ,timeSym:w_,timeSliceIndexSym:A_,streamSym:j_,stringifySym:SJ,stringifySafeSym:M8,stringifiersSym:CJ,setLevelSym:E_,endSym:L_,formatOptsSym:O_,messageKeySym:R_,errorKeySym:Z_,nestedKeySym:S_,mixinSym:C_,levelCompSym:M_,useOnlyCustomLevelsSym:P_,formattersSym:MJ,hooksSym:K_,nestedKeyStrSym:I_,mixinMergeStrategySym:T_,msgPrefixSym:b_}=IJ,{epochTime:fJ,nullTime:f_}=KJ,{pid:k_}=process,x_=J_.hostname(),v_=PJ.err,h_={level:"info",levelComparison:q_.ASC,levels:bJ,messageKey:"msg",errorKey:"err",nestedKey:null,enabled:!0,base:{pid:k_,hostname:x_},serializers:Object.assign(Object.create(null),{err:v_}),formatters:Object.assign(Object.create(null),{bindings($){return $},level($,J){return{level:J}}}),hooks:{logMethod:void 0,streamWrite:void 0},timestamp:fJ,name:void 0,redact:null,customLevels:null,useOnlyCustomLevels:!1,depthLimit:5,edgeLimit:100},g_=__(h_),y_=Object.assign(Object.create(null),PJ);function P8(...$){let J={},{opts:Q,stream:X}=g_(J,Q_(),...$);if(Q.level&&typeof Q.level==="string"&&bJ[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:J0,msgPrefix:Y0}=Q,p=W_({maximumDepth:s,maximumBreadth:d}),Q0=B_(K.level,K.bindings,K.log),_0=C8.bind({[M8]:p}),U0=Y?X_(Y,_0):{},A0=Y?{stringify:U0[N_]}:{stringify:_0},B0="}"+(W?`\r
|
|
24
24
|
`:`
|
|
25
|
-
`),y0=D_.bind(null,{[RJ]:"",[ZJ]:H,[CJ]:U0,[SJ]:C8,[M8]:p,[MJ]:Q0}),H$="";if(_!==null)if(F===void 0)H$=y0(_);else H$=y0(Object.assign({},_,{name:F}));let r$=G instanceof Function?G:G?fJ:f_,
|
|
25
|
+
`),y0=D_.bind(null,{[RJ]:"",[ZJ]:H,[CJ]:U0,[SJ]:C8,[M8]:p,[MJ]:Q0}),H$="";if(_!==null)if(F===void 0)H$=y0(_);else H$=y0(Object.assign({},_,{name:F}));let r$=G instanceof Function?G:G?fJ:f_,i2=r$().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(Y0&&typeof Y0!=="string")throw Error(`Unknown msgPrefix type "${typeof Y0}" - expected "string"`);H_(B,D,T);let a$=TJ(D,T);if(typeof X.emit==="function")X.emit("message",{code:"PINO_CONFIG",config:{levels:a$,messageKey:V,errorKey:U}});U_(A);let n2=V_(A);return Object.assign(J,{levels:a$,[M_]:n2,[P_]:T,[j_]:X,[w_]:r$,[A_]:i2,[SJ]:C8,[M8]:p,[CJ]:U0,[L_]:B0,[O_]:A0,[R_]:V,[Z_]:U,[S_]:q,[I_]:q?`,${JSON.stringify(q)}:{`:"",[ZJ]:H,[C_]:Z,[T_]:C,[RJ]:H$,[MJ]:Q0,[K_]:y,silent:F_,onChild:J0,[b_]:Y0}),Object.setPrototypeOf(J,Y_()),G_(J),J[E_](B),J}f0.exports=P8;f0.exports.destination=($=process.stdout.fd)=>{if(typeof $==="object")return $.dest=OJ($.dest||process.stdout.fd),LJ($);else return LJ({dest:OJ($),minLength:0})};f0.exports.transport=q8();f0.exports.multistream=EJ();f0.exports.levels=TJ();f0.exports.stdSerializers=y_;f0.exports.stdTimeFunctions=Object.assign({},KJ);f0.exports.symbols=IJ;f0.exports.version=z_;f0.exports.default=P8;f0.exports.pino=P8});var I8={};A1(I8,{parseTTL:()=>B$});function B$($){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 N6{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 T8={};A1(T8,{setCache:()=>gJ,invalidateCache:()=>uJ,getCache:()=>hJ,deleteCache:()=>yJ,clearCache:()=>mJ,CacheManager:()=>k0});async function hJ($){return await k0.get($)}async function gJ($,J,Q){await k0.set($,J,Q)}async function yJ($){return await k0.delete($)}async function uJ($){return await k0.invalidate($)}async function mJ(){await k0.clear()}var k0;var H2=X0(()=>{k0=class k0{static defaultStore=new N6;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?B$(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 o1=L(()=>{/*! *****************************************************************************
|
|
26
26
|
Copyright (C) Microsoft. All rights reserved.
|
|
27
27
|
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
28
28
|
this file except in compliance with the License. You may obtain a copy of the
|
|
@@ -35,13 +35,13 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
|
35
35
|
|
|
36
36
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
37
37
|
and limitations under the License.
|
|
38
|
-
***************************************************************************** */var x3;(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 I4(Object.create(null))}:V?function(){return I4({__proto__:null})}:function(){return I4({})},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:uH(),B=typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:mH(),D=typeof WeakMap==="function"?WeakMap:lH(),A=Y?Symbol.for("@reflect-metadata:registry"):void 0,Z=hH(),C=gH(Z);function T(z,w,j,P){if(!c(j)){if(!E5(z))throw TypeError();if(!F0(w))throw TypeError();if(!F0(P)&&!c(P)&&!G$(P))throw TypeError();if(G$(P))P=void 0;return j=Q1(j),A0(z,w,j,P)}else{if(!E5(z))throw TypeError();if(!L5(w))throw TypeError();return U0(z,w)}}J("decorate",T);function K(z,w){function j(P,u){if(!F0(P))throw TypeError();if(!c(u)&&!xH(u))throw TypeError();p2(z,w,P,u)}return j}J("metadata",K);function y(z,w,j,P){if(!F0(j))throw TypeError();if(!c(P))P=Q1(P);return p2(z,w,j,P)}J("defineMetadata",y);function s(z,w,j){if(!F0(w))throw TypeError();if(!c(j))j=Q1(j);return B0(z,w,j)}J("hasMetadata",s);function d(z,w,j){if(!F0(w))throw TypeError();if(!c(j))j=Q1(j);return y0(z,w,j)}J("hasOwnMetadata",d);function J0(z,w,j){if(!F0(w))throw TypeError();if(!c(j))j=Q1(j);return H$(z,w,j)}J("getMetadata",J0);function Y0(z,w,j){if(!F0(w))throw TypeError();if(!c(j))j=Q1(j);return r$(z,w,j)}J("getOwnMetadata",Y0);function p(z,w){if(!F0(z))throw TypeError();if(!c(w))w=Q1(w);return a$(z,w)}J("getMetadataKeys",p);function Q0(z,w){if(!F0(z))throw TypeError();if(!c(w))w=Q1(w);return i2(z,w)}J("getOwnMetadataKeys",Q0);function _0(z,w,j){if(!F0(w))throw TypeError();if(!c(j))j=Q1(j);if(!F0(w))throw TypeError();if(!c(j))j=Q1(j);var P=t$(w,j,!1);if(c(P))return!1;return P.OrdinaryDeleteMetadata(z,w,j)}J("deleteMetadata",_0);function U0(z,w){for(var j=z.length-1;j>=0;--j){var P=z[j],u=P(w);if(!c(u)&&!G$(u)){if(!L5(u))throw TypeError();w=u}}return w}function A0(z,w,j,P){for(var u=z.length-1;u>=0;--u){var z0=z[u],j0=z0(w,j,P);if(!c(j0)&&!G$(j0)){if(!F0(j0))throw TypeError();P=j0}}return P}function B0(z,w,j){var P=y0(z,w,j);if(P)return!0;var u=K4(w);if(!G$(u))return B0(z,u,j);return!1}function y0(z,w,j){var P=t$(w,j,!1);if(c(P))return!1;return j5(P.OrdinaryHasOwnMetadata(z,w,j))}function H$(z,w,j){var P=y0(z,w,j);if(P)return r$(z,w,j);var u=K4(w);if(!G$(u))return H$(z,u,j);return}function r$(z,w,j){var P=t$(w,j,!1);if(c(P))return;return P.OrdinaryGetOwnMetadata(z,w,j)}function p2(z,w,j,P){var u=t$(j,P,!0);u.OrdinaryDefineOwnMetadata(z,w,j,P)}function a$(z,w){var j=i2(z,w),P=K4(z);if(P===null)return j;var u=a$(P,w);if(u.length<=0)return j;if(j.length<=0)return u;var z0=new B,j0=[];for(var a=0,b=j;a<b.length;a++){var x=b[a],v=z0.has(x);if(!v)z0.add(x),j0.push(x)}for(var g=0,e=u;g<e.length;g++){var x=e[g],v=z0.has(x);if(!v)z0.add(x),j0.push(x)}return j0}function i2(z,w){var j=t$(z,w,!1);if(!j)return[];return j.OrdinaryOwnMetadataKeys(z,w)}function A5(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 G$(z){return z===null}function TH(z){return typeof z==="symbol"}function F0(z){return typeof z==="object"?z!==null:typeof z==="function"}function bH(z,w){switch(A5(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=O5(z,W);if(P!==void 0){var u=P.call(z,j);if(F0(u))throw TypeError();return u}return fH(z,j==="default"?"number":j)}function fH(z,w){if(w==="string"){var j=z.toString;if(V$(j)){var P=j.call(z);if(!F0(P))return P}var u=z.valueOf;if(V$(u)){var P=u.call(z);if(!F0(P))return P}}else{var u=z.valueOf;if(V$(u)){var P=u.call(z);if(!F0(P))return P}var z0=z.toString;if(V$(z0)){var P=z0.call(z);if(!F0(P))return P}}throw TypeError()}function j5(z){return!!z}function kH(z){return""+z}function Q1(z){var w=bH(z,3);if(TH(w))return w;return kH(w)}function E5(z){return Array.isArray?Array.isArray(z):z instanceof Object?z instanceof Array:Object.prototype.toString.call(z)==="[object Array]"}function V$(z){return typeof z==="function"}function L5(z){return typeof z==="function"}function xH(z){switch(A5(z)){case 3:return!0;case 4:return!0;default:return!1}}function P4(z,w){return z===w||z!==z&&w!==w}function O5(z,w){var j=z[w];if(j===void 0||j===null)return;if(!V$(j))throw TypeError();return j}function R5(z){var w=O5(z,H);if(!V$(w))throw TypeError();var j=w.call(z);if(!F0(j))throw TypeError();return j}function Z5(z){return z.value}function S5(z){var w=z.next();return w.done?!1:w}function C5(z){var w=z.return;if(w)w.call(z)}function K4(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 vH(){var z;if(!c(A)&&typeof Q.Reflect<"u"&&!(A in Q.Reflect)&&typeof Q.Reflect.defineMetadata==="function")z=yH(Q.Reflect);var w,j,P,u=new D,z0={registerProvider:j0,getProvider:b,setProvider:v};return z0;function j0(g){if(!Object.isExtensible(z0))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 a(g,e){if(!c(w)){if(w.isProviderFor(g,e))return w;if(!c(j)){if(j.isProviderFor(g,e))return w;if(!c(P)){var G0=R5(P);while(!0){var w0=S5(G0);if(!w0)return;var u0=Z5(w0);if(u0.isProviderFor(g,e))return C5(G0),u0}}}}if(!c(z)&&z.isProviderFor(g,e))return z;return}function b(g,e){var G0=u.get(g),w0;if(!c(G0))w0=G0.get(e);if(!c(w0))return w0;if(w0=a(g,e),!c(w0)){if(c(G0))G0=new F,u.set(g,G0);G0.set(e,w0)}return w0}function x(g){if(c(g))throw TypeError();return w===g||j===g||!c(P)&&P.has(g)}function v(g,e,G0){if(!x(G0))throw Error("Metadata provider not registered.");var w0=b(g,e);if(w0!==G0){if(!c(w0))return!1;var u0=u.get(g);if(c(u0))u0=new F,u.set(g,u0);u0.set(e,G0)}return!0}}function hH(){var z;if(!c(A)&&F0(Q.Reflect)&&Object.isExtensible(Q.Reflect))z=Q.Reflect[A];if(c(z))z=vH();if(!c(A)&&F0(Q.Reflect)&&Object.isExtensible(Q.Reflect))Object.defineProperty(Q.Reflect,A,{enumerable:!1,configurable:!1,writable:!1,value:z});return z}function gH(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:j0,OrdinaryHasOwnMetadata:u,OrdinaryGetOwnMetadata:z0,OrdinaryOwnMetadataKeys:a,OrdinaryDeleteMetadata:b};return Z.registerProvider(j),j;function P(x,v,g){var e=w.get(x),G0=!1;if(c(e)){if(!g)return;e=new F,w.set(x,e),G0=!0}var w0=e.get(v);if(c(w0)){if(!g)return;if(w0=new F,e.set(v,w0),!z.setProvider(x,v,j)){if(e.delete(v),G0)w.delete(x);throw Error("Wrong provider for target.")}}return w0}function u(x,v,g){var e=P(v,g,!1);if(c(e))return!1;return j5(e.has(x))}function z0(x,v,g){var e=P(v,g,!1);if(c(e))return;return e.get(x)}function j0(x,v,g,e){var G0=P(g,e,!0);G0.set(x,v)}function a(x,v){var g=[],e=P(x,v,!1);if(c(e))return g;var G0=e.keys(),w0=R5(G0),u0=0;while(!0){var M5=S5(w0);if(!M5)return g.length=u0,g;var cH=Z5(M5);try{g[u0]=cH}catch(dH){try{C5(w0)}finally{throw dH}}u0++}}function b(x,v,g){var e=P(v,g,!1);if(c(e))return!1;if(!e.delete(x))return!1;if(e.size===0){var G0=w.get(v);if(!c(G0)){if(G0.delete(g),G0.size===0)w.delete(G0)}}return!0}}function yH(z){var{defineMetadata:w,hasOwnMetadata:j,getOwnMetadata:P,getOwnMetadataKeys:u,deleteMetadata:z0}=z,j0=new D,a={isProviderFor:function(b,x){var v=j0.get(b);if(!c(v)&&v.has(x))return!0;if(u(b,x).length){if(c(v))v=new B,j0.set(b,v);return v.add(x),!0}return!1},OrdinaryDefineOwnMetadata:w,OrdinaryHasOwnMetadata:j,OrdinaryGetOwnMetadata:P,OrdinaryOwnMetadataKeys:u,OrdinaryDeleteMetadata:z0};return a}function t$(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 uH(){var z={},w=[],j=function(){function a(b,x,v){this._index=0,this._keys=b,this._values=x,this._selector=v}return a.prototype["@@iterator"]=function(){return this},a.prototype[H]=function(){return this},a.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}},a.prototype.throw=function(b){if(this._index>=0)this._index=-1,this._keys=w,this._values=w;throw b},a.prototype.return=function(b){if(this._index>=0)this._index=-1,this._keys=w,this._values=w;return{value:b,done:!0}},a}(),P=function(){function a(){this._keys=[],this._values=[],this._cacheKey=z,this._cacheIndex=-2}return Object.defineProperty(a.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),a.prototype.has=function(b){return this._find(b,!1)>=0},a.prototype.get=function(b){var x=this._find(b,!1);return x>=0?this._values[x]:void 0},a.prototype.set=function(b,x){var v=this._find(b,!0);return this._values[v]=x,this},a.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--,P4(b,this._cacheKey))this._cacheKey=z,this._cacheIndex=-2;return!0}return!1},a.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=z,this._cacheIndex=-2},a.prototype.keys=function(){return new j(this._keys,this._values,u)},a.prototype.values=function(){return new j(this._keys,this._values,z0)},a.prototype.entries=function(){return new j(this._keys,this._values,j0)},a.prototype["@@iterator"]=function(){return this.entries()},a.prototype[H]=function(){return this.entries()},a.prototype._find=function(b,x){if(!P4(this._cacheKey,b)){this._cacheIndex=-1;for(var v=0;v<this._keys.length;v++)if(P4(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},a}();return P;function u(a,b){return a}function z0(a,b){return b}function j0(a,b){return[a,b]}}function mH(){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 lH(){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@@"+a();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 z0(b,x){for(var v=0;v<x;++v)b[v]=Math.random()*255|0;return b}function j0(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 z0(x,b);return x}return z0(Array(b),b)}function a(){var b=j0(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 I4(z){return z.__=void 0,delete z.__,z}})})(x3||(x3={}))});function w1($){return`https://veloce-ts.com/problems/${$}`}function N2($,J){if(J)return J;let Q=_B[$]??"unknown-error";return w1(Q)}function M1($,J,Q){if(Q)return Q;return DB[$]??J}function h3($){try{return new URL($.req.url).href}catch{return $.req.path}}function g3($){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 A2($,J,Q,X){let Y=h3($),W={...J,instance:Y};if(X==="legacy")return $.json(g3(W),Q);return new Response(JSON.stringify(W),{status:Q,headers:{"Content-Type":"application/problem+json"}})}var UB="application/problem+json",qB="https://veloce-ts.com/problems",_B,DB;var I$=X0(()=>{_B={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"},DB={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 E0,BB,FB,zB,c8,wB,NB,AB,jB,EB,LB;var T$=X0(()=>{I$();E0=class E0 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=N2($,this.problemType),Q=M1($,this.message,this.title);return{type:J,title:Q,status:$,detail:this.message,...this.details!==void 0?{details:this.details}:{},error:this.message,statusCode:$}}};BB=class BB extends E0{constructor($="Not Found",J){super(404,$,J,{title:"Not Found"});this.name="NotFoundException"}};FB=class FB extends E0{constructor($="Unauthorized",J){super(401,$,J,{title:"Unauthorized"});this.name="UnauthorizedException"}};zB=class zB extends E0{constructor($="Forbidden",J){super(403,$,J,{title:"Forbidden"});this.name="ForbiddenException"}};c8=class c8 extends E0{constructor($="Bad Request",J){super(400,$,J,{title:"Bad Request"});this.name="BadRequestException"}};wB=class wB extends E0{constructor($="Conflict",J){super(409,$,J,{title:"Conflict"});this.name="ConflictException"}};NB=class NB extends E0{constructor($="Gone",J){super(410,$,J,{title:"Gone"});this.name="GoneException"}};AB=class AB extends E0{constructor($="Payload Too Large",J){super(413,$,J,{title:"Payload Too Large"});this.name="PayloadTooLargeException"}};jB=class jB extends E0{constructor($="Unprocessable Entity",J){super(422,$,J,{title:"Unprocessable Entity"});this.name="UnprocessableEntityException"}};EB=class EB extends E0{constructor($="Too Many Requests",J){super(429,$,J,{title:"Too Many Requests"});this.name="TooManyRequestsException"}};LB=class LB extends E0{constructor($="Service Unavailable",J){super(503,$,J,{title:"Service Unavailable"});this.name="ServiceUnavailableException"}}});var W9=($,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 d3=()=>{};var p3=()=>{};var i3;var n3=X0(()=>{i3=Symbol()});async function PB($,J){let Q=await $.formData();if(Q)return KB(Q,J);return{}}function KB($,J){let Q=Object.create(null);if($.forEach((X,Y)=>{if(!(J.all||Y.endsWith("[]")))Q[Y]=X;else IB(Q,Y,X)}),J.dot)Object.entries(Q).forEach(([X,Y])=>{if(X.includes("."))TB(Q,X,Y),delete Q[X]});return Q}var s3=async($,J=Object.create(null))=>{let{all:Q=!1,dot:X=!1}=J,W=($ instanceof M6?$.raw.headers:$.headers).get("Content-Type");if(W?.startsWith("multipart/form-data")||W?.startsWith("application/x-www-form-urlencoded"))return PB($,{all:Q,dot:X});return{}},IB=($,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]},TB=($,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 o3=X0(()=>{H9()});var V9=($)=>{let J=$.split("/");if(J[0]==="")J.shift();return J},r3=($)=>{let{groups:J,path:Q}=bB($),X=V9(Q);return fB(X,J)},bB=($)=>{let J=[];return $=$.replace(/\{[^}]+\}/g,(Q,X)=>{let Y=`@${X}`;return J.push([Y,Q]),Y}),{groups:J,path:$}},fB=($,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 $},P6,a3=($,J)=>{if($==="*")return"*";let Q=$.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(Q){let X=`${$}#${J}`;if(!P6[X])if(Q[2])P6[X]=J&&J[0]!==":"&&J[0]!=="*"?[X,Q[1],new RegExp(`^${Q[2]}(?=/${J})`)]:[$,Q[1],new RegExp(`^${Q[2]}$`)];else P6[X]=[$,Q[1],!0];return P6[X]}return null},f$=($,J)=>{try{return J($)}catch{return $.replace(/(?:%[0-9A-Fa-f]{2})+/g,(Q)=>{try{return J(Q)}catch{return Q}})}},kB=($)=>f$($,decodeURI),U9=($)=>{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 kB(V.includes("%25")?V.replace(/%25/g,"%2525"):V)}else if(Y===63||Y===35)break}return J.slice(Q,X)},t3=($)=>{let J=U9($);return J.length>1&&J.at(-1)==="/"?J.slice(0,-1):J},r1=($,J,...Q)=>{if(Q.length)J=r1(J,...Q);return`${$?.[0]==="/"?"":"/"}${$}${J==="/"?"":`${$?.at(-1)==="/"?"":"/"}${J?.[0]==="/"?J.slice(1):J}`}`},K6=($)=>{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)},G9=($)=>{if(!/[%+]/.test($))return $;if($.indexOf("+")!==-1)$=$.replace(/\+/g," ");return $.indexOf("%")!==-1?f$($,O2):$},e3=($,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 G9($.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=G9(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=G9(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},$Q,JQ=($,J)=>{return e3($,J,!0)},O2;var a1=X0(()=>{P6={},$Q=e3,O2=decodeURIComponent});var QQ=($)=>f$($,O2),M6;var H9=X0(()=>{p3();n3();o3();a1();M6=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)?QQ(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)?QQ(X):X}return $}#Y($){return this.#J[1]?this.#J[1][$]:$}query($){return $Q(this.url,$)}queries($){return JQ(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 s3(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[i3](){return this.#J}get matchedRoutes(){return this.#J[0].map(([[,$]])=>$)}get routePath(){return this.#J[0].map(([[,$]])=>$)[this.routeIndex].path}}});var XQ,xB=($,J)=>{let Q=new String($);return Q.isEscaped=!0,Q.callbacks=J,Q},q9=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)=>q9(V,J,!1,X,Y))).then(()=>Y[0]));if(Q)return xB(await H,W);else return H};var YQ=X0(()=>{XQ={Stringify:1,BeforeStream:2,Stream:3}});var vB="text/plain; charset=UTF-8",_9=($,J)=>{return{"Content-Type":$,...J}},R2=($,J)=>new Response($,J),WQ=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 M6(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||=R2(null,{headers:this.#G??=new Headers})}set res($){if(this.#X&&$){$=R2($.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=R2(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 R2($,{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,_9(vB,Q))};json=($,J,Q)=>{return this.#H(JSON.stringify($),J,_9("application/json",Q))};html=($,J,Q)=>{let X=(Y)=>this.#H(Y,J,_9("text/html; charset=UTF-8",Q));return typeof $==="object"?q9($,XQ.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??=()=>R2(),this.#U(this)}};var HQ=X0(()=>{H9();YQ()});var W0="ALL",GQ="all",VQ,I6="Can not add a route since the matcher is already built.",T6;var t1=X0(()=>{VQ=["get","post","put","delete","options","patch"],T6=class extends Error{}});var UQ="__COMPOSED_HANDLER";var qQ=()=>{};var hB=($)=>{return $.text("404 Not Found",404)},_Q=($,J)=>{if("getResponse"in $){let Q=$.getResponse();return J.newResponse(Q.body,Q)}return console.error($),J.text("Internal Server Error",500)},DQ=class ${get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#$="/";routes=[];constructor(J={}){[...VQ,GQ].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(W0,this.#$,G)}),this};let{strict:X,...Y}=J;Object.assign(this,Y),this.getPath=X??!0?J.getPath??U9:t3}#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=hB;errorHandler=_Q;route(J,Q){let X=this.basePath(J);return Q.routes.map((Y)=>{let W;if(Q.errorHandler===_Q)W=Y.handler;else W=async(H,G)=>(await W9([],Q.errorHandler)(H,()=>Y.handler(H,G))).res,W[UQ]=Y.handler;X.#W(Y.method,Y.path,W)}),this}basePath(J){let Q=this.#J();return Q._basePath=r1(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=r1(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(W0,r1(J,"*"),G),this}#W(J,Q,X){J=J.toUpperCase(),Q=r1(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 WQ(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=W9(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${r1("/",J)}`,Q),X,Y)};fire=()=>{addEventListener("fetch",(J)=>{J.respondWith(this.#X(J.request,J,void 0,J.request.method))})}};var BQ=X0(()=>{d3();HQ();t1();qQ();a1()});function b6($,J){let Q=this.buildAllMatchers(),X=(Y,W)=>{let H=Q[Y]||Q[W0],G=H[2][W];if(G)return G;let V=W.match(H[0]);if(!V)return[[],Z2];let U=V.indexOf("",1);return[H[1][U],V]};return this.match=X,X($,J)}var Z2;var D9=X0(()=>{t1();Z2=[]});function yB($,J){if($.length===1)return J.length===1?$<J?-1:1:-1;if(J.length===1)return 1;if($===S2||$===C2)return 1;else if(J===S2||J===C2)return-1;if($===f6)return 1;else if(J===f6)return-1;return $.length===J.length?$<J?-1:1:J.length-$.length}var f6="[^/]+",S2=".*",C2="(?:|/.*)",e1,gB,FQ=class ${#$;#J;#Q=Object.create(null);insert(J,Q,X,Y,W){if(J.length===0){if(this.#$!==void 0)throw e1;if(W)return;this.#$=Q;return}let[H,...G]=J,V=H==="*"?G.length===0?["","",S2]:["","",f6]:H==="/*"?["","",C2]:H.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),U;if(V){let q=V[1],_=V[2]||f6;if(q&&V[2]){if(_===".*")throw e1;if(_=_.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(_))throw e1}if(U=this.#Q[_],!U){if(Object.keys(this.#Q).some((F)=>F!==S2&&F!==C2))throw e1;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!==S2&&q!==C2))throw e1;if(W)return;U=this.#Q[H]=new $}U.insert(G,Q,X,Y,W)}buildRegExpStr(){let Q=Object.keys(this.#Q).sort(yB).map((X)=>{let Y=this.#Q[X];return(typeof Y.#J==="number"?`(${X})@${Y.#J}`:gB.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 B9=X0(()=>{e1=Symbol(),gB=new Set(".\\+*[^]$()")});var zQ=class{#$={varIndex:0};#J=new FQ;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 wQ=X0(()=>{B9()});function AQ($){return NQ[$]??=new RegExp($==="*"?"":`^${$.replace(/\/\*$|([.\\+*[^\]$()])/g,(J,Q)=>Q?`\\${Q}`:"(?:|/.*)")}$`)}function mB(){NQ=Object.create(null)}function lB($){let J=new zQ,Q=[];if($.length===0)return uB;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)]),Z2];else q++;let A;try{A=J.insert(B,q,F)}catch(Z){throw Z===e1?new T6(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 k$($,J){if(!$)return;for(let Q of Object.keys($).sort((X,Y)=>Y.length-X.length))if(AQ(Q).test(J))return[...$[Q]];return}var uB,NQ,k6=class{name="RegExpRouter";#$;#J;constructor(){this.#$={[W0]:Object.create(null)},this.#J={[W0]:Object.create(null)}}add($,J,Q){let X=this.#$,Y=this.#J;if(!X||!Y)throw Error(I6);if(!X[$])[X,Y].forEach((G)=>{G[$]=Object.create(null),Object.keys(G[W0]).forEach((V)=>{G[$][V]=[...G[W0][V]]})});if(J==="/*")J="*";let W=(J.match(/\/:/g)||[]).length;if(/\*$/.test(J)){let G=AQ(J);if($===W0)Object.keys(X).forEach((V)=>{X[V][J]||=k$(X[V],J)||k$(X[W0],J)||[]});else X[$][J]||=k$(X[$],J)||k$(X[W0],J)||[];Object.keys(X).forEach((V)=>{if($===W0||$===V)Object.keys(X[V]).forEach((U)=>{G.test(U)&&X[V][U].push([Q,W])})}),Object.keys(Y).forEach((V)=>{if($===W0||$===V)Object.keys(Y[V]).forEach((U)=>G.test(U)&&Y[V][U].push([Q,W]))});return}let H=K6(J)||[J];for(let G=0,V=H.length;G<V;G++){let U=H[G];Object.keys(Y).forEach((q)=>{if($===W0||$===q)Y[q][U]||=[...k$(X[q],U)||k$(X[W0],U)||[]],Y[q][U].push([Q,W-V+G+1])})}}match=b6;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,mB(),$}#Q($){let J=[],Q=$===W0;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($!==W0)J.push(...Object.keys(X[W0]).map((W)=>[W,X[W0][W]]))}),!Q)return null;else return lB(J)}};var F9=X0(()=>{t1();a1();D9();B9();wQ();uB=[/^$/,[],Object.create(null)],NQ=Object.create(null)});var cB=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.#$[W0],W={};for(let H in Y[2])W[H]=[Y[2][H][0].slice(),Z2];this.#$[$]=[Y[0],Y[1].map((H)=>Array.isArray(H)?H.slice():0),W]}if(J==="/*"||J==="*"){let Y=[Q,{}];if($===W0)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($===W0)for(let H in this.#$)this.#W(H,J,Q,Y,W);else this.#W($,J,Q,Y,W)}buildAllMatchers(){return this.#$}match=b6};var jQ=X0(()=>{t1();D9();F9()});var EQ=X0(()=>{F9();jQ()});var z9=class{name="SmartRouter";#$=[];#J=[];constructor($){this.#$=$.routers}add($,J,Q){if(!this.#J)throw Error(I6);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 T6)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 LQ=X0(()=>{t1()});var OQ=X0(()=>{LQ()});var M2,dB=($)=>{for(let J in $)return!0;return!1},RQ=class ${#$;#J;#Q;#W=0;#Y=M2;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=r3(Q),H=[];for(let G=0,V=W.length;G<V;G++){let U=W[G],q=W[G+1],_=a3(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[W0],q={};if(U!==void 0){if(U.params=Object.create(null),J.push(U),Y!==M2||W&&W!==M2)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=M2;let W=[this],H=V9(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===M2?{}:{...C.#Y};if(s==="*"){let _0=C.#J["*"];if(_0)this.#X(X,_0,J,C.#Y),_0.#Y=d,B.push(_0);continue}let[J0,Y0,p]=s;if(!_&&!(p instanceof RegExp))continue;let Q0=C.#J[J0];if(p instanceof RegExp){if(U===null){U=Array(V);let A0=Q[0]==="/"?1:0;for(let B0=0;B0<V;B0++)U[B0]=A0,A0+=H[B0].length+1}let _0=Q.substring(U[q]),U0=p.exec(_0);if(U0){if(d[Y0]=U0[0],this.#X(X,Q0,J,C.#Y,d),dB(Q0.#J)){Q0.#Y=d;let A0=U0[0].match(/\//)?.length??0;(G[A0]||=[]).push(Q0)}continue}}if(p===!0||p.test(_))if(d[Y0]=_,F){if(this.#X(X,Q0,J,d,C.#Y),Q0.#J["*"])this.#X(X,Q0.#J["*"],J,d,C.#Y)}else Q0.#Y=d,B.push(Q0)}}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 ZQ=X0(()=>{t1();a1();M2=Object.create(null)});var w9=class{name="TrieRouter";#$;constructor(){this.#$=new RQ}add($,J,Q){let X=K6(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 SQ=X0(()=>{a1();ZQ()});var CQ=X0(()=>{SQ()});var N9;var MQ=X0(()=>{BQ();EQ();OQ();CQ();N9=class extends DQ{constructor($={}){super($);this.router=$.router??new z9({routers:[new k6,new w9]})}}});var PQ=X0(()=>{MQ()});var fQ={};A1(fQ,{TokenRevokedException:()=>bQ,TokenExpiredException:()=>y6,InvalidTokenException:()=>x$,AuthorizationException:()=>R0,AuthenticationException:()=>S0});var S0,R0,y6,x$,bQ;var I1=X0(()=>{T$();I$();S0=class S0 extends E0{constructor($="Authentication required"){super(401,$,void 0,{title:"Authentication Error",problemType:w1("authentication-error")});this.name="AuthenticationException"}};R0=class R0 extends E0{constructor($="Insufficient permissions"){super(403,$,void 0,{title:"Authorization Error",problemType:w1("authorization-error")});this.name="AuthorizationException"}};y6=class y6 extends S0{constructor($="Token has expired"){super($);this.name="TokenExpiredException"}};x$=class x$ extends S0{constructor($="Invalid token"){super($);this.name="InvalidTokenException"}};bQ=class bQ extends S0{constructor($="Token has been revoked"){super($);this.name="TokenRevokedException"}}});var g$=L((C9,yQ)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var c6=o("buffer"),U1=c6.Buffer;function gQ($,J){for(var Q in $)J[Q]=$[Q]}if(U1.from&&U1.alloc&&U1.allocUnsafe&&U1.allocUnsafeSlow)yQ.exports=c6;else gQ(c6,C9),C9.Buffer=$$;function $$($,J,Q){return U1($,J,Q)}$$.prototype=Object.create(U1.prototype);gQ(U1,$$);$$.from=function($,J,Q){if(typeof $==="number")throw TypeError("Argument must not be a number");return U1($,J,Q)};$$.alloc=function($,J,Q){if(typeof $!=="number")throw TypeError("Argument must be a number");var X=U1($);if(J!==void 0)if(typeof Q==="string")X.fill(J,Q);else X.fill(J);else X.fill(0);return X};$$.allocUnsafe=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return U1($)};$$.allocUnsafeSlow=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return c6.SlowBuffer($)}});var M9=L((rK,uQ)=>{var d6=g$().Buffer,qF=o("stream"),_F=o("util");function p6($){if(this.buffer=null,this.writable=!0,this.readable=!0,!$)return this.buffer=d6.alloc(0),this;if(typeof $.pipe==="function")return this.buffer=d6.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 $+")")}_F.inherits(p6,qF);p6.prototype.write=function(J){this.buffer=d6.concat([this.buffer,d6.from(J)]),this.emit("data",J)};p6.prototype.end=function(J){if(J)this.write(J);this.emit("end",J),this.emit("close"),this.writable=!1,this.readable=!1};uQ.exports=p6});var lQ=L((aK,mQ)=>{function P9($){var J=($/8|0)+($%8===0?0:1);return J}var DF={ES256:P9(256),ES384:P9(384),ES512:P9(521)};function BF($){var J=DF[$];if(J)return J;throw Error('Unknown algorithm "'+$+'"')}mQ.exports=BF});var oQ=L((tK,sQ)=>{var i6=g$().Buffer,dQ=lQ(),n6=128,pQ=0,FF=32,zF=16,wF=2,iQ=zF|FF|pQ<<6,s6=wF|pQ<<6;function NF($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function nQ($){if(i6.isBuffer($))return $;else if(typeof $==="string")return i6.from($,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function AF($,J){$=nQ($);var Q=dQ(J),X=Q+1,Y=$.length,W=0;if($[W++]!==iQ)throw Error('Could not find expected "seq"');var H=$[W++];if(H===(n6|1))H=$[W++];if(Y-W<H)throw Error('"seq" specified length of "'+H+'", only "'+(Y-W)+'" remaining');if($[W++]!==s6)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++]!==s6)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=i6.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=NF(B),B}function cQ($,J,Q){var X=0;while(J+X<Q&&$[J+X]===0)++X;var Y=$[J+X]>=n6;if(Y)--X;return X}function jF($,J){$=nQ($);var Q=dQ(J),X=$.length;if(X!==Q*2)throw TypeError('"'+J+'" signatures must be "'+Q*2+'" bytes, saw "'+X+'"');var Y=cQ($,0,Q),W=cQ($,Q,$.length),H=Q-Y,G=Q-W,V=2+H+1+1+G,U=V<n6,q=i6.allocUnsafe((U?2:3)+V),_=0;if(q[_++]=iQ,U)q[_++]=V;else q[_++]=n6|1,q[_++]=V&255;if(q[_++]=s6,q[_++]=H,Y<0)q[_++]=0,_+=$.copy(q,_,0,Q);else _+=$.copy(q,_,Y,Q);if(q[_++]=s6,q[_++]=G,W<0)q[_++]=0,$.copy(q,_,Q);else $.copy(q,_,Q+W);return q}sQ.exports={derToJose:AF,joseToDer:jF}});var aQ=L((eK,rQ)=>{var P2=o("buffer").Buffer,K9=o("buffer").SlowBuffer;rQ.exports=o6;function o6($,J){if(!P2.isBuffer($)||!P2.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}o6.install=function(){P2.prototype.equal=K9.prototype.equal=function(J){return o6(this,J)}};var EF=P2.prototype.equal,LF=K9.prototype.equal;o6.restore=function(){P2.prototype.equal=EF,K9.prototype.equal=LF}});var f9=L(($I,HX)=>{var u$=g$().Buffer,x0=o("crypto"),eQ=oQ(),tQ=o("util"),OF=`"%s" is not a valid algorithm.
|
|
38
|
+
***************************************************************************** */var x3;(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 I4(Object.create(null))}:V?function(){return I4({__proto__:null})}:function(){return I4({})},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:uH(),B=typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:mH(),D=typeof WeakMap==="function"?WeakMap:lH(),A=Y?Symbol.for("@reflect-metadata:registry"):void 0,Z=hH(),C=gH(Z);function T(z,N,j,P){if(!c(j)){if(!E5(z))throw TypeError();if(!F0(N))throw TypeError();if(!F0(P)&&!c(P)&&!G$(P))throw TypeError();if(G$(P))P=void 0;return j=Q1(j),A0(z,N,j,P)}else{if(!E5(z))throw TypeError();if(!L5(N))throw TypeError();return U0(z,N)}}J("decorate",T);function K(z,N){function j(P,u){if(!F0(P))throw TypeError();if(!c(u)&&!xH(u))throw TypeError();i2(z,N,P,u)}return j}J("metadata",K);function y(z,N,j,P){if(!F0(j))throw TypeError();if(!c(P))P=Q1(P);return i2(z,N,j,P)}J("defineMetadata",y);function s(z,N,j){if(!F0(N))throw TypeError();if(!c(j))j=Q1(j);return B0(z,N,j)}J("hasMetadata",s);function d(z,N,j){if(!F0(N))throw TypeError();if(!c(j))j=Q1(j);return y0(z,N,j)}J("hasOwnMetadata",d);function J0(z,N,j){if(!F0(N))throw TypeError();if(!c(j))j=Q1(j);return H$(z,N,j)}J("getMetadata",J0);function Y0(z,N,j){if(!F0(N))throw TypeError();if(!c(j))j=Q1(j);return r$(z,N,j)}J("getOwnMetadata",Y0);function p(z,N){if(!F0(z))throw TypeError();if(!c(N))N=Q1(N);return a$(z,N)}J("getMetadataKeys",p);function Q0(z,N){if(!F0(z))throw TypeError();if(!c(N))N=Q1(N);return n2(z,N)}J("getOwnMetadataKeys",Q0);function _0(z,N,j){if(!F0(N))throw TypeError();if(!c(j))j=Q1(j);if(!F0(N))throw TypeError();if(!c(j))j=Q1(j);var P=t$(N,j,!1);if(c(P))return!1;return P.OrdinaryDeleteMetadata(z,N,j)}J("deleteMetadata",_0);function U0(z,N){for(var j=z.length-1;j>=0;--j){var P=z[j],u=P(N);if(!c(u)&&!G$(u)){if(!L5(u))throw TypeError();N=u}}return N}function A0(z,N,j,P){for(var u=z.length-1;u>=0;--u){var z0=z[u],j0=z0(N,j,P);if(!c(j0)&&!G$(j0)){if(!F0(j0))throw TypeError();P=j0}}return P}function B0(z,N,j){var P=y0(z,N,j);if(P)return!0;var u=K4(N);if(!G$(u))return B0(z,u,j);return!1}function y0(z,N,j){var P=t$(N,j,!1);if(c(P))return!1;return j5(P.OrdinaryHasOwnMetadata(z,N,j))}function H$(z,N,j){var P=y0(z,N,j);if(P)return r$(z,N,j);var u=K4(N);if(!G$(u))return H$(z,u,j);return}function r$(z,N,j){var P=t$(N,j,!1);if(c(P))return;return P.OrdinaryGetOwnMetadata(z,N,j)}function i2(z,N,j,P){var u=t$(j,P,!0);u.OrdinaryDefineOwnMetadata(z,N,j,P)}function a$(z,N){var j=n2(z,N),P=K4(z);if(P===null)return j;var u=a$(P,N);if(u.length<=0)return j;if(j.length<=0)return u;var z0=new B,j0=[];for(var a=0,b=j;a<b.length;a++){var x=b[a],v=z0.has(x);if(!v)z0.add(x),j0.push(x)}for(var g=0,e=u;g<e.length;g++){var x=e[g],v=z0.has(x);if(!v)z0.add(x),j0.push(x)}return j0}function n2(z,N){var j=t$(z,N,!1);if(!j)return[];return j.OrdinaryOwnMetadataKeys(z,N)}function A5(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 G$(z){return z===null}function TH(z){return typeof z==="symbol"}function F0(z){return typeof z==="object"?z!==null:typeof z==="function"}function bH(z,N){switch(A5(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=O5(z,W);if(P!==void 0){var u=P.call(z,j);if(F0(u))throw TypeError();return u}return fH(z,j==="default"?"number":j)}function fH(z,N){if(N==="string"){var j=z.toString;if(V$(j)){var P=j.call(z);if(!F0(P))return P}var u=z.valueOf;if(V$(u)){var P=u.call(z);if(!F0(P))return P}}else{var u=z.valueOf;if(V$(u)){var P=u.call(z);if(!F0(P))return P}var z0=z.toString;if(V$(z0)){var P=z0.call(z);if(!F0(P))return P}}throw TypeError()}function j5(z){return!!z}function kH(z){return""+z}function Q1(z){var N=bH(z,3);if(TH(N))return N;return kH(N)}function E5(z){return Array.isArray?Array.isArray(z):z instanceof Object?z instanceof Array:Object.prototype.toString.call(z)==="[object Array]"}function V$(z){return typeof z==="function"}function L5(z){return typeof z==="function"}function xH(z){switch(A5(z)){case 3:return!0;case 4:return!0;default:return!1}}function P4(z,N){return z===N||z!==z&&N!==N}function O5(z,N){var j=z[N];if(j===void 0||j===null)return;if(!V$(j))throw TypeError();return j}function R5(z){var N=O5(z,H);if(!V$(N))throw TypeError();var j=N.call(z);if(!F0(j))throw TypeError();return j}function Z5(z){return z.value}function S5(z){var N=z.next();return N.done?!1:N}function C5(z){var N=z.return;if(N)N.call(z)}function K4(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 vH(){var z;if(!c(A)&&typeof Q.Reflect<"u"&&!(A in Q.Reflect)&&typeof Q.Reflect.defineMetadata==="function")z=yH(Q.Reflect);var N,j,P,u=new D,z0={registerProvider:j0,getProvider:b,setProvider:v};return z0;function j0(g){if(!Object.isExtensible(z0))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 a(g,e){if(!c(N)){if(N.isProviderFor(g,e))return N;if(!c(j)){if(j.isProviderFor(g,e))return N;if(!c(P)){var G0=R5(P);while(!0){var N0=S5(G0);if(!N0)return;var u0=Z5(N0);if(u0.isProviderFor(g,e))return C5(G0),u0}}}}if(!c(z)&&z.isProviderFor(g,e))return z;return}function b(g,e){var G0=u.get(g),N0;if(!c(G0))N0=G0.get(e);if(!c(N0))return N0;if(N0=a(g,e),!c(N0)){if(c(G0))G0=new F,u.set(g,G0);G0.set(e,N0)}return N0}function x(g){if(c(g))throw TypeError();return N===g||j===g||!c(P)&&P.has(g)}function v(g,e,G0){if(!x(G0))throw Error("Metadata provider not registered.");var N0=b(g,e);if(N0!==G0){if(!c(N0))return!1;var u0=u.get(g);if(c(u0))u0=new F,u.set(g,u0);u0.set(e,G0)}return!0}}function hH(){var z;if(!c(A)&&F0(Q.Reflect)&&Object.isExtensible(Q.Reflect))z=Q.Reflect[A];if(c(z))z=vH();if(!c(A)&&F0(Q.Reflect)&&Object.isExtensible(Q.Reflect))Object.defineProperty(Q.Reflect,A,{enumerable:!1,configurable:!1,writable:!1,value:z});return z}function gH(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:j0,OrdinaryHasOwnMetadata:u,OrdinaryGetOwnMetadata:z0,OrdinaryOwnMetadataKeys:a,OrdinaryDeleteMetadata:b};return Z.registerProvider(j),j;function P(x,v,g){var e=N.get(x),G0=!1;if(c(e)){if(!g)return;e=new F,N.set(x,e),G0=!0}var N0=e.get(v);if(c(N0)){if(!g)return;if(N0=new F,e.set(v,N0),!z.setProvider(x,v,j)){if(e.delete(v),G0)N.delete(x);throw Error("Wrong provider for target.")}}return N0}function u(x,v,g){var e=P(v,g,!1);if(c(e))return!1;return j5(e.has(x))}function z0(x,v,g){var e=P(v,g,!1);if(c(e))return;return e.get(x)}function j0(x,v,g,e){var G0=P(g,e,!0);G0.set(x,v)}function a(x,v){var g=[],e=P(x,v,!1);if(c(e))return g;var G0=e.keys(),N0=R5(G0),u0=0;while(!0){var M5=S5(N0);if(!M5)return g.length=u0,g;var cH=Z5(M5);try{g[u0]=cH}catch(dH){try{C5(N0)}finally{throw dH}}u0++}}function b(x,v,g){var e=P(v,g,!1);if(c(e))return!1;if(!e.delete(x))return!1;if(e.size===0){var G0=N.get(v);if(!c(G0)){if(G0.delete(g),G0.size===0)N.delete(G0)}}return!0}}function yH(z){var{defineMetadata:N,hasOwnMetadata:j,getOwnMetadata:P,getOwnMetadataKeys:u,deleteMetadata:z0}=z,j0=new D,a={isProviderFor:function(b,x){var v=j0.get(b);if(!c(v)&&v.has(x))return!0;if(u(b,x).length){if(c(v))v=new B,j0.set(b,v);return v.add(x),!0}return!1},OrdinaryDefineOwnMetadata:N,OrdinaryHasOwnMetadata:j,OrdinaryGetOwnMetadata:P,OrdinaryOwnMetadataKeys:u,OrdinaryDeleteMetadata:z0};return a}function t$(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 uH(){var z={},N=[],j=function(){function a(b,x,v){this._index=0,this._keys=b,this._values=x,this._selector=v}return a.prototype["@@iterator"]=function(){return this},a.prototype[H]=function(){return this},a.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}},a.prototype.throw=function(b){if(this._index>=0)this._index=-1,this._keys=N,this._values=N;throw b},a.prototype.return=function(b){if(this._index>=0)this._index=-1,this._keys=N,this._values=N;return{value:b,done:!0}},a}(),P=function(){function a(){this._keys=[],this._values=[],this._cacheKey=z,this._cacheIndex=-2}return Object.defineProperty(a.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),a.prototype.has=function(b){return this._find(b,!1)>=0},a.prototype.get=function(b){var x=this._find(b,!1);return x>=0?this._values[x]:void 0},a.prototype.set=function(b,x){var v=this._find(b,!0);return this._values[v]=x,this},a.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--,P4(b,this._cacheKey))this._cacheKey=z,this._cacheIndex=-2;return!0}return!1},a.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=z,this._cacheIndex=-2},a.prototype.keys=function(){return new j(this._keys,this._values,u)},a.prototype.values=function(){return new j(this._keys,this._values,z0)},a.prototype.entries=function(){return new j(this._keys,this._values,j0)},a.prototype["@@iterator"]=function(){return this.entries()},a.prototype[H]=function(){return this.entries()},a.prototype._find=function(b,x){if(!P4(this._cacheKey,b)){this._cacheIndex=-1;for(var v=0;v<this._keys.length;v++)if(P4(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},a}();return P;function u(a,b){return a}function z0(a,b){return b}function j0(a,b){return[a,b]}}function mH(){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 lH(){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@@"+a();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 z0(b,x){for(var v=0;v<x;++v)b[v]=Math.random()*255|0;return b}function j0(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 z0(x,b);return x}return z0(Array(b),b)}function a(){var b=j0(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 I4(z){return z.__=void 0,delete z.__,z}})})(x3||(x3={}))});function N1($){return`https://veloce-ts.com/problems/${$}`}function A2($,J){if(J)return J;let Q=_B[$]??"unknown-error";return N1(Q)}function M1($,J,Q){if(Q)return Q;return DB[$]??J}function h3($){try{return new URL($.req.url).href}catch{return $.req.path}}function g3($){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 j2($,J,Q,X){let Y=h3($),W={...J,instance:Y};if(X==="legacy")return $.json(g3(W),Q);return new Response(JSON.stringify(W),{status:Q,headers:{"Content-Type":"application/problem+json"}})}var UB="application/problem+json",qB="https://veloce-ts.com/problems",_B,DB;var I$=X0(()=>{_B={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"},DB={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 E0,BB,FB,zB,c8,NB,wB,AB,jB,EB,LB;var T$=X0(()=>{I$();E0=class E0 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=A2($,this.problemType),Q=M1($,this.message,this.title);return{type:J,title:Q,status:$,detail:this.message,...this.details!==void 0?{details:this.details}:{},error:this.message,statusCode:$}}};BB=class BB extends E0{constructor($="Not Found",J){super(404,$,J,{title:"Not Found"});this.name="NotFoundException"}};FB=class FB extends E0{constructor($="Unauthorized",J){super(401,$,J,{title:"Unauthorized"});this.name="UnauthorizedException"}};zB=class zB extends E0{constructor($="Forbidden",J){super(403,$,J,{title:"Forbidden"});this.name="ForbiddenException"}};c8=class c8 extends E0{constructor($="Bad Request",J){super(400,$,J,{title:"Bad Request"});this.name="BadRequestException"}};NB=class NB extends E0{constructor($="Conflict",J){super(409,$,J,{title:"Conflict"});this.name="ConflictException"}};wB=class wB extends E0{constructor($="Gone",J){super(410,$,J,{title:"Gone"});this.name="GoneException"}};AB=class AB extends E0{constructor($="Payload Too Large",J){super(413,$,J,{title:"Payload Too Large"});this.name="PayloadTooLargeException"}};jB=class jB extends E0{constructor($="Unprocessable Entity",J){super(422,$,J,{title:"Unprocessable Entity"});this.name="UnprocessableEntityException"}};EB=class EB extends E0{constructor($="Too Many Requests",J){super(429,$,J,{title:"Too Many Requests"});this.name="TooManyRequestsException"}};LB=class LB extends E0{constructor($="Service Unavailable",J){super(503,$,J,{title:"Service Unavailable"});this.name="ServiceUnavailableException"}}});var W9=($,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 d3=()=>{};var p3=()=>{};var i3;var n3=X0(()=>{i3=Symbol()});async function PB($,J){let Q=await $.formData();if(Q)return KB(Q,J);return{}}function KB($,J){let Q=Object.create(null);if($.forEach((X,Y)=>{if(!(J.all||Y.endsWith("[]")))Q[Y]=X;else IB(Q,Y,X)}),J.dot)Object.entries(Q).forEach(([X,Y])=>{if(X.includes("."))TB(Q,X,Y),delete Q[X]});return Q}var s3=async($,J=Object.create(null))=>{let{all:Q=!1,dot:X=!1}=J,W=($ instanceof M6?$.raw.headers:$.headers).get("Content-Type");if(W?.startsWith("multipart/form-data")||W?.startsWith("application/x-www-form-urlencoded"))return PB($,{all:Q,dot:X});return{}},IB=($,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]},TB=($,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 o3=X0(()=>{H9()});var V9=($)=>{let J=$.split("/");if(J[0]==="")J.shift();return J},r3=($)=>{let{groups:J,path:Q}=bB($),X=V9(Q);return fB(X,J)},bB=($)=>{let J=[];return $=$.replace(/\{[^}]+\}/g,(Q,X)=>{let Y=`@${X}`;return J.push([Y,Q]),Y}),{groups:J,path:$}},fB=($,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 $},P6,a3=($,J)=>{if($==="*")return"*";let Q=$.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(Q){let X=`${$}#${J}`;if(!P6[X])if(Q[2])P6[X]=J&&J[0]!==":"&&J[0]!=="*"?[X,Q[1],new RegExp(`^${Q[2]}(?=/${J})`)]:[$,Q[1],new RegExp(`^${Q[2]}$`)];else P6[X]=[$,Q[1],!0];return P6[X]}return null},f$=($,J)=>{try{return J($)}catch{return $.replace(/(?:%[0-9A-Fa-f]{2})+/g,(Q)=>{try{return J(Q)}catch{return Q}})}},kB=($)=>f$($,decodeURI),U9=($)=>{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 kB(V.includes("%25")?V.replace(/%25/g,"%2525"):V)}else if(Y===63||Y===35)break}return J.slice(Q,X)},t3=($)=>{let J=U9($);return J.length>1&&J.at(-1)==="/"?J.slice(0,-1):J},r1=($,J,...Q)=>{if(Q.length)J=r1(J,...Q);return`${$?.[0]==="/"?"":"/"}${$}${J==="/"?"":`${$?.at(-1)==="/"?"":"/"}${J?.[0]==="/"?J.slice(1):J}`}`},K6=($)=>{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)},G9=($)=>{if(!/[%+]/.test($))return $;if($.indexOf("+")!==-1)$=$.replace(/\+/g," ");return $.indexOf("%")!==-1?f$($,R2):$},e3=($,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 G9($.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=G9(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=G9(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},$Q,JQ=($,J)=>{return e3($,J,!0)},R2;var a1=X0(()=>{P6={},$Q=e3,R2=decodeURIComponent});var QQ=($)=>f$($,R2),M6;var H9=X0(()=>{p3();n3();o3();a1();M6=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)?QQ(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)?QQ(X):X}return $}#Y($){return this.#J[1]?this.#J[1][$]:$}query($){return $Q(this.url,$)}queries($){return JQ(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 s3(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[i3](){return this.#J}get matchedRoutes(){return this.#J[0].map(([[,$]])=>$)}get routePath(){return this.#J[0].map(([[,$]])=>$)[this.routeIndex].path}}});var XQ,xB=($,J)=>{let Q=new String($);return Q.isEscaped=!0,Q.callbacks=J,Q},q9=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)=>q9(V,J,!1,X,Y))).then(()=>Y[0]));if(Q)return xB(await H,W);else return H};var YQ=X0(()=>{XQ={Stringify:1,BeforeStream:2,Stream:3}});var vB="text/plain; charset=UTF-8",_9=($,J)=>{return{"Content-Type":$,...J}},Z2=($,J)=>new Response($,J),WQ=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 M6(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||=Z2(null,{headers:this.#G??=new Headers})}set res($){if(this.#X&&$){$=Z2($.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=Z2(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 Z2($,{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,_9(vB,Q))};json=($,J,Q)=>{return this.#H(JSON.stringify($),J,_9("application/json",Q))};html=($,J,Q)=>{let X=(Y)=>this.#H(Y,J,_9("text/html; charset=UTF-8",Q));return typeof $==="object"?q9($,XQ.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??=()=>Z2(),this.#U(this)}};var HQ=X0(()=>{H9();YQ()});var W0="ALL",GQ="all",VQ,I6="Can not add a route since the matcher is already built.",T6;var t1=X0(()=>{VQ=["get","post","put","delete","options","patch"],T6=class extends Error{}});var UQ="__COMPOSED_HANDLER";var qQ=()=>{};var hB=($)=>{return $.text("404 Not Found",404)},_Q=($,J)=>{if("getResponse"in $){let Q=$.getResponse();return J.newResponse(Q.body,Q)}return console.error($),J.text("Internal Server Error",500)},DQ=class ${get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#$="/";routes=[];constructor(J={}){[...VQ,GQ].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(W0,this.#$,G)}),this};let{strict:X,...Y}=J;Object.assign(this,Y),this.getPath=X??!0?J.getPath??U9:t3}#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=hB;errorHandler=_Q;route(J,Q){let X=this.basePath(J);return Q.routes.map((Y)=>{let W;if(Q.errorHandler===_Q)W=Y.handler;else W=async(H,G)=>(await W9([],Q.errorHandler)(H,()=>Y.handler(H,G))).res,W[UQ]=Y.handler;X.#W(Y.method,Y.path,W)}),this}basePath(J){let Q=this.#J();return Q._basePath=r1(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=r1(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(W0,r1(J,"*"),G),this}#W(J,Q,X){J=J.toUpperCase(),Q=r1(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 WQ(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=W9(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${r1("/",J)}`,Q),X,Y)};fire=()=>{addEventListener("fetch",(J)=>{J.respondWith(this.#X(J.request,J,void 0,J.request.method))})}};var BQ=X0(()=>{d3();HQ();t1();qQ();a1()});function b6($,J){let Q=this.buildAllMatchers(),X=(Y,W)=>{let H=Q[Y]||Q[W0],G=H[2][W];if(G)return G;let V=W.match(H[0]);if(!V)return[[],S2];let U=V.indexOf("",1);return[H[1][U],V]};return this.match=X,X($,J)}var S2;var D9=X0(()=>{t1();S2=[]});function yB($,J){if($.length===1)return J.length===1?$<J?-1:1:-1;if(J.length===1)return 1;if($===C2||$===M2)return 1;else if(J===C2||J===M2)return-1;if($===f6)return 1;else if(J===f6)return-1;return $.length===J.length?$<J?-1:1:J.length-$.length}var f6="[^/]+",C2=".*",M2="(?:|/.*)",e1,gB,FQ=class ${#$;#J;#Q=Object.create(null);insert(J,Q,X,Y,W){if(J.length===0){if(this.#$!==void 0)throw e1;if(W)return;this.#$=Q;return}let[H,...G]=J,V=H==="*"?G.length===0?["","",C2]:["","",f6]:H==="/*"?["","",M2]:H.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),U;if(V){let q=V[1],_=V[2]||f6;if(q&&V[2]){if(_===".*")throw e1;if(_=_.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(_))throw e1}if(U=this.#Q[_],!U){if(Object.keys(this.#Q).some((F)=>F!==C2&&F!==M2))throw e1;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!==C2&&q!==M2))throw e1;if(W)return;U=this.#Q[H]=new $}U.insert(G,Q,X,Y,W)}buildRegExpStr(){let Q=Object.keys(this.#Q).sort(yB).map((X)=>{let Y=this.#Q[X];return(typeof Y.#J==="number"?`(${X})@${Y.#J}`:gB.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 B9=X0(()=>{e1=Symbol(),gB=new Set(".\\+*[^]$()")});var zQ=class{#$={varIndex:0};#J=new FQ;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 NQ=X0(()=>{B9()});function AQ($){return wQ[$]??=new RegExp($==="*"?"":`^${$.replace(/\/\*$|([.\\+*[^\]$()])/g,(J,Q)=>Q?`\\${Q}`:"(?:|/.*)")}$`)}function mB(){wQ=Object.create(null)}function lB($){let J=new zQ,Q=[];if($.length===0)return uB;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)]),S2];else q++;let A;try{A=J.insert(B,q,F)}catch(Z){throw Z===e1?new T6(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 k$($,J){if(!$)return;for(let Q of Object.keys($).sort((X,Y)=>Y.length-X.length))if(AQ(Q).test(J))return[...$[Q]];return}var uB,wQ,k6=class{name="RegExpRouter";#$;#J;constructor(){this.#$={[W0]:Object.create(null)},this.#J={[W0]:Object.create(null)}}add($,J,Q){let X=this.#$,Y=this.#J;if(!X||!Y)throw Error(I6);if(!X[$])[X,Y].forEach((G)=>{G[$]=Object.create(null),Object.keys(G[W0]).forEach((V)=>{G[$][V]=[...G[W0][V]]})});if(J==="/*")J="*";let W=(J.match(/\/:/g)||[]).length;if(/\*$/.test(J)){let G=AQ(J);if($===W0)Object.keys(X).forEach((V)=>{X[V][J]||=k$(X[V],J)||k$(X[W0],J)||[]});else X[$][J]||=k$(X[$],J)||k$(X[W0],J)||[];Object.keys(X).forEach((V)=>{if($===W0||$===V)Object.keys(X[V]).forEach((U)=>{G.test(U)&&X[V][U].push([Q,W])})}),Object.keys(Y).forEach((V)=>{if($===W0||$===V)Object.keys(Y[V]).forEach((U)=>G.test(U)&&Y[V][U].push([Q,W]))});return}let H=K6(J)||[J];for(let G=0,V=H.length;G<V;G++){let U=H[G];Object.keys(Y).forEach((q)=>{if($===W0||$===q)Y[q][U]||=[...k$(X[q],U)||k$(X[W0],U)||[]],Y[q][U].push([Q,W-V+G+1])})}}match=b6;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,mB(),$}#Q($){let J=[],Q=$===W0;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($!==W0)J.push(...Object.keys(X[W0]).map((W)=>[W,X[W0][W]]))}),!Q)return null;else return lB(J)}};var F9=X0(()=>{t1();a1();D9();B9();NQ();uB=[/^$/,[],Object.create(null)],wQ=Object.create(null)});var cB=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.#$[W0],W={};for(let H in Y[2])W[H]=[Y[2][H][0].slice(),S2];this.#$[$]=[Y[0],Y[1].map((H)=>Array.isArray(H)?H.slice():0),W]}if(J==="/*"||J==="*"){let Y=[Q,{}];if($===W0)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($===W0)for(let H in this.#$)this.#W(H,J,Q,Y,W);else this.#W($,J,Q,Y,W)}buildAllMatchers(){return this.#$}match=b6};var jQ=X0(()=>{t1();D9();F9()});var EQ=X0(()=>{F9();jQ()});var z9=class{name="SmartRouter";#$=[];#J=[];constructor($){this.#$=$.routers}add($,J,Q){if(!this.#J)throw Error(I6);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 T6)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 LQ=X0(()=>{t1()});var OQ=X0(()=>{LQ()});var P2,dB=($)=>{for(let J in $)return!0;return!1},RQ=class ${#$;#J;#Q;#W=0;#Y=P2;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=r3(Q),H=[];for(let G=0,V=W.length;G<V;G++){let U=W[G],q=W[G+1],_=a3(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[W0],q={};if(U!==void 0){if(U.params=Object.create(null),J.push(U),Y!==P2||W&&W!==P2)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=P2;let W=[this],H=V9(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===P2?{}:{...C.#Y};if(s==="*"){let _0=C.#J["*"];if(_0)this.#X(X,_0,J,C.#Y),_0.#Y=d,B.push(_0);continue}let[J0,Y0,p]=s;if(!_&&!(p instanceof RegExp))continue;let Q0=C.#J[J0];if(p instanceof RegExp){if(U===null){U=Array(V);let A0=Q[0]==="/"?1:0;for(let B0=0;B0<V;B0++)U[B0]=A0,A0+=H[B0].length+1}let _0=Q.substring(U[q]),U0=p.exec(_0);if(U0){if(d[Y0]=U0[0],this.#X(X,Q0,J,C.#Y,d),dB(Q0.#J)){Q0.#Y=d;let A0=U0[0].match(/\//)?.length??0;(G[A0]||=[]).push(Q0)}continue}}if(p===!0||p.test(_))if(d[Y0]=_,F){if(this.#X(X,Q0,J,d,C.#Y),Q0.#J["*"])this.#X(X,Q0.#J["*"],J,d,C.#Y)}else Q0.#Y=d,B.push(Q0)}}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 ZQ=X0(()=>{t1();a1();P2=Object.create(null)});var N9=class{name="TrieRouter";#$;constructor(){this.#$=new RQ}add($,J,Q){let X=K6(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 SQ=X0(()=>{a1();ZQ()});var CQ=X0(()=>{SQ()});var w9;var MQ=X0(()=>{BQ();EQ();OQ();CQ();w9=class extends DQ{constructor($={}){super($);this.router=$.router??new z9({routers:[new k6,new N9]})}}});var PQ=X0(()=>{MQ()});var fQ={};A1(fQ,{TokenRevokedException:()=>bQ,TokenExpiredException:()=>y6,InvalidTokenException:()=>x$,AuthorizationException:()=>R0,AuthenticationException:()=>S0});var S0,R0,y6,x$,bQ;var I1=X0(()=>{T$();I$();S0=class S0 extends E0{constructor($="Authentication required"){super(401,$,void 0,{title:"Authentication Error",problemType:N1("authentication-error")});this.name="AuthenticationException"}};R0=class R0 extends E0{constructor($="Insufficient permissions"){super(403,$,void 0,{title:"Authorization Error",problemType:N1("authorization-error")});this.name="AuthorizationException"}};y6=class y6 extends S0{constructor($="Token has expired"){super($);this.name="TokenExpiredException"}};x$=class x$ extends S0{constructor($="Invalid token"){super($);this.name="InvalidTokenException"}};bQ=class bQ extends S0{constructor($="Token has been revoked"){super($);this.name="TokenRevokedException"}}});var g$=L((C9,yQ)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var c6=o("buffer"),U1=c6.Buffer;function gQ($,J){for(var Q in $)J[Q]=$[Q]}if(U1.from&&U1.alloc&&U1.allocUnsafe&&U1.allocUnsafeSlow)yQ.exports=c6;else gQ(c6,C9),C9.Buffer=$$;function $$($,J,Q){return U1($,J,Q)}$$.prototype=Object.create(U1.prototype);gQ(U1,$$);$$.from=function($,J,Q){if(typeof $==="number")throw TypeError("Argument must not be a number");return U1($,J,Q)};$$.alloc=function($,J,Q){if(typeof $!=="number")throw TypeError("Argument must be a number");var X=U1($);if(J!==void 0)if(typeof Q==="string")X.fill(J,Q);else X.fill(J);else X.fill(0);return X};$$.allocUnsafe=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return U1($)};$$.allocUnsafeSlow=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return c6.SlowBuffer($)}});var M9=L((rK,uQ)=>{var d6=g$().Buffer,qF=o("stream"),_F=o("util");function p6($){if(this.buffer=null,this.writable=!0,this.readable=!0,!$)return this.buffer=d6.alloc(0),this;if(typeof $.pipe==="function")return this.buffer=d6.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 $+")")}_F.inherits(p6,qF);p6.prototype.write=function(J){this.buffer=d6.concat([this.buffer,d6.from(J)]),this.emit("data",J)};p6.prototype.end=function(J){if(J)this.write(J);this.emit("end",J),this.emit("close"),this.writable=!1,this.readable=!1};uQ.exports=p6});var lQ=L((aK,mQ)=>{function P9($){var J=($/8|0)+($%8===0?0:1);return J}var DF={ES256:P9(256),ES384:P9(384),ES512:P9(521)};function BF($){var J=DF[$];if(J)return J;throw Error('Unknown algorithm "'+$+'"')}mQ.exports=BF});var oQ=L((tK,sQ)=>{var i6=g$().Buffer,dQ=lQ(),n6=128,pQ=0,FF=32,zF=16,NF=2,iQ=zF|FF|pQ<<6,s6=NF|pQ<<6;function wF($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function nQ($){if(i6.isBuffer($))return $;else if(typeof $==="string")return i6.from($,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function AF($,J){$=nQ($);var Q=dQ(J),X=Q+1,Y=$.length,W=0;if($[W++]!==iQ)throw Error('Could not find expected "seq"');var H=$[W++];if(H===(n6|1))H=$[W++];if(Y-W<H)throw Error('"seq" specified length of "'+H+'", only "'+(Y-W)+'" remaining');if($[W++]!==s6)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++]!==s6)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=i6.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=wF(B),B}function cQ($,J,Q){var X=0;while(J+X<Q&&$[J+X]===0)++X;var Y=$[J+X]>=n6;if(Y)--X;return X}function jF($,J){$=nQ($);var Q=dQ(J),X=$.length;if(X!==Q*2)throw TypeError('"'+J+'" signatures must be "'+Q*2+'" bytes, saw "'+X+'"');var Y=cQ($,0,Q),W=cQ($,Q,$.length),H=Q-Y,G=Q-W,V=2+H+1+1+G,U=V<n6,q=i6.allocUnsafe((U?2:3)+V),_=0;if(q[_++]=iQ,U)q[_++]=V;else q[_++]=n6|1,q[_++]=V&255;if(q[_++]=s6,q[_++]=H,Y<0)q[_++]=0,_+=$.copy(q,_,0,Q);else _+=$.copy(q,_,Y,Q);if(q[_++]=s6,q[_++]=G,W<0)q[_++]=0,$.copy(q,_,Q);else $.copy(q,_,Q+W);return q}sQ.exports={derToJose:AF,joseToDer:jF}});var aQ=L((eK,rQ)=>{var K2=o("buffer").Buffer,K9=o("buffer").SlowBuffer;rQ.exports=o6;function o6($,J){if(!K2.isBuffer($)||!K2.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}o6.install=function(){K2.prototype.equal=K9.prototype.equal=function(J){return o6(this,J)}};var EF=K2.prototype.equal,LF=K9.prototype.equal;o6.restore=function(){K2.prototype.equal=EF,K9.prototype.equal=LF}});var f9=L(($I,HX)=>{var u$=g$().Buffer,x0=o("crypto"),eQ=oQ(),tQ=o("util"),OF=`"%s" is not a valid algorithm.
|
|
39
39
|
Supported algorithms are:
|
|
40
|
-
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,K2="secret must be a string or buffer",y$="key must be a string or a buffer",RF="key must be a string, a buffer or an object",T9=typeof x0.createPublicKey==="function";if(T9)y$+=" or a KeyObject",K2+="or a KeyObject";function $X($){if(u$.isBuffer($))return;if(typeof $==="string")return;if(!T9)throw a0(y$);if(typeof $!=="object")throw a0(y$);if(typeof $.type!=="string")throw a0(y$);if(typeof $.asymmetricKeyType!=="string")throw a0(y$);if(typeof $.export!=="function")throw a0(y$)}function JX($){if(u$.isBuffer($))return;if(typeof $==="string")return;if(typeof $==="object")return;throw a0(RF)}function ZF($){if(u$.isBuffer($))return;if(typeof $==="string")return $;if(!T9)throw a0(K2);if(typeof $!=="object")throw a0(K2);if($.type!=="secret")throw a0(K2);if(typeof $.export!=="function")throw a0(K2)}function b9($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function QX($){$=$.toString();var J=4-$.length%4;if(J!==4)for(var Q=0;Q<J;++Q)$+="=";return $.replace(/\-/g,"+").replace(/_/g,"/")}function a0($){var J=[].slice.call(arguments,1),Q=tQ.format.bind(tQ,$).apply(null,J);return TypeError(Q)}function SF($){return u$.isBuffer($)||typeof $==="string"}function I2($){if(!SF($))$=JSON.stringify($);return $}function XX($){return function(Q,X){ZF(X),Q=I2(Q);var Y=x0.createHmac("sha"+$,X),W=(Y.update(Q),Y.digest("base64"));return b9(W)}}var I9,CF="timingSafeEqual"in x0?function(J,Q){if(J.byteLength!==Q.byteLength)return!1;return x0.timingSafeEqual(J,Q)}:function(J,Q){if(!I9)I9=aQ();return I9(J,Q)};function MF($){return function(Q,X,Y){var W=XX($)(Q,Y);return CF(u$.from(X),u$.from(W))}}function YX($){return function(Q,X){JX(X),Q=I2(Q);var Y=x0.createSign("RSA-SHA"+$),W=(Y.update(Q),Y.sign(X,"base64"));return b9(W)}}function WX($){return function(Q,X,Y){$X(Y),Q=I2(Q),X=QX(X);var W=x0.createVerify("RSA-SHA"+$);return W.update(Q),W.verify(Y,X,"base64")}}function PF($){return function(Q,X){JX(X),Q=I2(Q);var Y=x0.createSign("RSA-SHA"+$),W=(Y.update(Q),Y.sign({key:X,padding:x0.constants.RSA_PKCS1_PSS_PADDING,saltLength:x0.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return b9(W)}}function KF($){return function(Q,X,Y){$X(Y),Q=I2(Q),X=QX(X);var W=x0.createVerify("RSA-SHA"+$);return W.update(Q),W.verify({key:Y,padding:x0.constants.RSA_PKCS1_PSS_PADDING,saltLength:x0.constants.RSA_PSS_SALTLEN_DIGEST},X,"base64")}}function IF($){var J=YX($);return function(){var X=J.apply(null,arguments);return X=eQ.derToJose(X,"ES"+$),X}}function TF($){var J=WX($);return function(X,Y,W){Y=eQ.joseToDer(Y,"ES"+$).toString("base64");var H=J(X,Y,W);return H}}function bF(){return function(){return""}}function fF(){return function(J,Q){return Q===""}}HX.exports=function(J){var Q={hs:XX,rs:YX,ps:PF,es:IF,none:bF},X={hs:MF,rs:WX,ps:KF,es:TF,none:fF},Y=J.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!Y)throw a0(OF,J);var W=(Y[1]||Y[3]).toLowerCase(),H=Y[2];return{sign:Q[W](H),verify:X[W](H)}}});var k9=L((JI,GX)=>{var kF=o("buffer").Buffer;GX.exports=function(J){if(typeof J==="string")return J;if(typeof J==="number"||kF.isBuffer(J))return J.toString();return JSON.stringify(J)}});var BX=L((QI,DX)=>{var xF=g$().Buffer,VX=M9(),vF=f9(),hF=o("stream"),UX=k9(),x9=o("util");function qX($,J){return xF.from($,J).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function gF($,J,Q){Q=Q||"utf8";var X=qX(UX($),"binary"),Y=qX(UX(J),Q);return x9.format("%s.%s",X,Y)}function _X($){var{header:J,payload:Q}=$,X=$.secret||$.privateKey,Y=$.encoding,W=vF(J.alg),H=gF(J,Q,Y),G=W.sign(H,X);return x9.format("%s.%s",H,G)}function r6($){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 VX(J);this.readable=!0,this.header=$.header,this.encoding=$.encoding,this.secret=this.privateKey=this.key=Q,this.payload=new VX($.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))}x9.inherits(r6,hF);r6.prototype.sign=function(){try{var J=_X({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")}};r6.sign=_X;DX.exports=r6});var RX=L((XI,OX)=>{var zX=g$().Buffer,FX=M9(),yF=f9(),uF=o("stream"),wX=k9(),mF=o("util"),lF=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function cF($){return Object.prototype.toString.call($)==="[object Object]"}function dF($){if(cF($))return $;try{return JSON.parse($)}catch(J){return}}function NX($){var J=$.split(".",1)[0];return dF(zX.from(J,"base64").toString("binary"))}function pF($){return $.split(".",2).join(".")}function AX($){return $.split(".")[2]}function iF($,J){J=J||"utf8";var Q=$.split(".")[1];return zX.from(Q,"base64").toString(J)}function jX($){return lF.test($)&&!!NX($)}function EX($,J,Q){if(!J){var X=Error("Missing algorithm parameter for jws.verify");throw X.code="MISSING_ALGORITHM",X}$=wX($);var Y=AX($),W=pF($),H=yF(J);return H.verify(W,Y,Q)}function LX($,J){if(J=J||{},$=wX($),!jX($))return null;var Q=NX($);if(!Q)return null;var X=iF($);if(Q.typ==="JWT"||J.json)X=JSON.parse(X,J.encoding);return{header:Q,payload:X,signature:AX($)}}function m$($){$=$||{};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 FX(J);this.readable=!0,this.algorithm=$.algorithm,this.encoding=$.encoding,this.secret=this.publicKey=this.key=Q,this.signature=new FX($.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))}mF.inherits(m$,uF);m$.prototype.verify=function(){try{var J=EX(this.signature.buffer,this.algorithm,this.key.buffer),Q=LX(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")}};m$.decode=LX;m$.isValid=jX;m$.verify=EX;OX.exports=m$});var t6=L((sF)=>{var ZX=BX(),a6=RX(),nF=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];sF.ALGORITHMS=nF;sF.sign=ZX.sign;sF.verify=a6.verify;sF.decode=a6.decode;sF.isValid=a6.isValid;sF.createSign=function(J){return new ZX(J)};sF.createVerify=function(J){return new a6(J)}});var v9=L((WI,SX)=>{var Qz=t6();SX.exports=function($,J){J=J||{};var Q=Qz.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 T2=L((HI,CX)=>{var e6=function($,J){if(Error.call(this,$),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=$,J)this.inner=J};e6.prototype=Object.create(Error.prototype);e6.prototype.constructor=e6;CX.exports=e6});var h9=L((GI,PX)=>{var MX=T2(),$4=function($,J){MX.call(this,$),this.name="NotBeforeError",this.date=J};$4.prototype=Object.create(MX.prototype);$4.prototype.constructor=$4;PX.exports=$4});var g9=L((VI,IX)=>{var KX=T2(),J4=function($,J){KX.call(this,$),this.name="TokenExpiredError",this.expiredAt=J};J4.prototype=Object.create(KX.prototype);J4.prototype.constructor=J4;IX.exports=J4});var bX=L((UI,TX)=>{var l$=1000,c$=l$*60,d$=c$*60,J$=d$*24,Xz=J$*7,Yz=J$*365.25;TX.exports=function($,J){J=J||{};var Q=typeof $;if(Q==="string"&&$.length>0)return Wz($);else if(Q==="number"&&isFinite($))return J.long?Gz($):Hz($);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify($))};function Wz($){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*Yz;case"weeks":case"week":case"w":return Q*Xz;case"days":case"day":case"d":return Q*J$;case"hours":case"hour":case"hrs":case"hr":case"h":return Q*d$;case"minutes":case"minute":case"mins":case"min":case"m":return Q*c$;case"seconds":case"second":case"secs":case"sec":case"s":return Q*l$;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return Q;default:return}}function Hz($){var J=Math.abs($);if(J>=J$)return Math.round($/J$)+"d";if(J>=d$)return Math.round($/d$)+"h";if(J>=c$)return Math.round($/c$)+"m";if(J>=l$)return Math.round($/l$)+"s";return $+"ms"}function Gz($){var J=Math.abs($);if(J>=J$)return Q4($,J,J$,"day");if(J>=d$)return Q4($,J,d$,"hour");if(J>=c$)return Q4($,J,c$,"minute");if(J>=l$)return Q4($,J,l$,"second");return $+" ms"}function Q4($,J,Q,X){var Y=J>=Q*1.5;return Math.round($/Q)+" "+X+(Y?"s":"")}});var y9=L((qI,fX)=>{var Vz=bX();fX.exports=function($,J){var Q=J||Math.floor(Date.now()/1000);if(typeof $==="string"){var X=Vz($);if(typeof X>"u")return;return Math.floor(Q+X/1000)}else if(typeof $==="number")return Q+$;else return}});var b2=L((_I,kX)=>{var Uz=Number.MAX_SAFE_INTEGER||9007199254740991,qz=["major","premajor","minor","preminor","patch","prepatch","prerelease"];kX.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Uz,RELEASE_TYPES:qz,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var f2=L((DI,xX)=>{var _z=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...$)=>console.error("SEMVER",...$):()=>{};xX.exports=_z});var p$=L((q1,vX)=>{var{MAX_SAFE_COMPONENT_LENGTH:u9,MAX_SAFE_BUILD_LENGTH:Dz,MAX_LENGTH:Bz}=b2(),Fz=f2();q1=vX.exports={};var zz=q1.re=[],wz=q1.safeRe=[],f=q1.src=[],Nz=q1.safeSrc=[],k=q1.t={},Az=0,m9="[a-zA-Z0-9-]",jz=[["\\s",1],["\\d",Bz],[m9,Dz]],Ez=($)=>{for(let[J,Q]of jz)$=$.split(`${J}*`).join(`${J}{0,${Q}}`).split(`${J}+`).join(`${J}{1,${Q}}`);return $},i=($,J,Q)=>{let X=Ez(J),Y=Az++;Fz($,Y,J),k[$]=Y,f[Y]=J,Nz[Y]=X,zz[Y]=new RegExp(J,Q?"g":void 0),wz[Y]=new RegExp(X,Q?"g":void 0)};i("NUMERICIDENTIFIER","0|[1-9]\\d*");i("NUMERICIDENTIFIERLOOSE","\\d+");i("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${m9}*`);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",`${m9}+`);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,${u9}})(?:\\.(\\d{1,${u9}}))?(?:\\.(\\d{1,${u9}}))?`);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);q1.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);q1.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);q1.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 X4=L((BI,hX)=>{var Lz=Object.freeze({loose:!0}),Oz=Object.freeze({}),Rz=($)=>{if(!$)return Oz;if(typeof $!=="object")return Lz;return $};hX.exports=Rz});var l9=L((FI,uX)=>{var gX=/^[0-9]+$/,yX=($,J)=>{if(typeof $==="number"&&typeof J==="number")return $===J?0:$<J?-1:1;let Q=gX.test($),X=gX.test(J);if(Q&&X)$=+$,J=+J;return $===J?0:Q&&!X?-1:X&&!Q?1:$<J?-1:1},Zz=($,J)=>yX(J,$);uX.exports={compareIdentifiers:yX,rcompareIdentifiers:Zz}});var C0=L((zI,lX)=>{var Y4=f2(),{MAX_LENGTH:mX,MAX_SAFE_INTEGER:W4}=b2(),{safeRe:H4,t:G4}=p$(),Sz=X4(),{compareIdentifiers:c9}=l9();class t0{constructor($,J){if(J=Sz(J),$ instanceof t0)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>mX)throw TypeError(`version is longer than ${mX} characters`);Y4("SemVer",$,J),this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease;let Q=$.trim().match(J.loose?H4[G4.LOOSE]:H4[G4.FULL]);if(!Q)throw TypeError(`Invalid Version: ${$}`);if(this.raw=$,this.major=+Q[1],this.minor=+Q[2],this.patch=+Q[3],this.major>W4||this.major<0)throw TypeError("Invalid major version");if(this.minor>W4||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>W4||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<W4)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(Y4("SemVer.compare",this.version,this.options,$),!($ instanceof t0)){if(typeof $==="string"&&$===this.version)return 0;$=new t0($,this.options)}if($.version===this.version)return 0;return this.compareMain($)||this.comparePre($)}compareMain($){if(!($ instanceof t0))$=new t0($,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 t0))$=new t0($,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(Y4("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 c9(Q,X)}while(++J)}compareBuild($){if(!($ instanceof t0))$=new t0($,this.options);let J=0;do{let Q=this.build[J],X=$.build[J];if(Y4("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 c9(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?H4[G4.PRERELEASELOOSE]:H4[G4.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(c9(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}}lX.exports=t0});var Q$=L((wI,dX)=>{var cX=C0(),Cz=($,J,Q=!1)=>{if($ instanceof cX)return $;try{return new cX($,J)}catch(X){if(!Q)return null;throw X}};dX.exports=Cz});var iX=L((NI,pX)=>{var Mz=Q$(),Pz=($,J)=>{let Q=Mz($,J);return Q?Q.version:null};pX.exports=Pz});var sX=L((AI,nX)=>{var Kz=Q$(),Iz=($,J)=>{let Q=Kz($.trim().replace(/^[=v]+/,""),J);return Q?Q.version:null};nX.exports=Iz});var aX=L((jI,rX)=>{var oX=C0(),Tz=($,J,Q,X,Y)=>{if(typeof Q==="string")Y=X,X=Q,Q=void 0;try{return new oX($ instanceof oX?$.version:$,Q).inc(J,X,Y).version}catch(W){return null}};rX.exports=Tz});var $Y=L((EI,eX)=>{var tX=Q$(),bz=($,J)=>{let Q=tX($,null,!0),X=tX(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"};eX.exports=bz});var QY=L((LI,JY)=>{var fz=C0(),kz=($,J)=>new fz($,J).major;JY.exports=kz});var YY=L((OI,XY)=>{var xz=C0(),vz=($,J)=>new xz($,J).minor;XY.exports=vz});var HY=L((RI,WY)=>{var hz=C0(),gz=($,J)=>new hz($,J).patch;WY.exports=gz});var VY=L((ZI,GY)=>{var yz=Q$(),uz=($,J)=>{let Q=yz($,J);return Q&&Q.prerelease.length?Q.prerelease:null};GY.exports=uz});var v0=L((SI,qY)=>{var UY=C0(),mz=($,J,Q)=>new UY($,Q).compare(new UY(J,Q));qY.exports=mz});var DY=L((CI,_Y)=>{var lz=v0(),cz=($,J,Q)=>lz(J,$,Q);_Y.exports=cz});var FY=L((MI,BY)=>{var dz=v0(),pz=($,J)=>dz($,J,!0);BY.exports=pz});var V4=L((PI,wY)=>{var zY=C0(),iz=($,J,Q)=>{let X=new zY($,Q),Y=new zY(J,Q);return X.compare(Y)||X.compareBuild(Y)};wY.exports=iz});var AY=L((KI,NY)=>{var nz=V4(),sz=($,J)=>$.sort((Q,X)=>nz(Q,X,J));NY.exports=sz});var EY=L((II,jY)=>{var oz=V4(),rz=($,J)=>$.sort((Q,X)=>oz(X,Q,J));jY.exports=rz});var k2=L((TI,LY)=>{var az=v0(),tz=($,J,Q)=>az($,J,Q)>0;LY.exports=tz});var U4=L((bI,OY)=>{var ez=v0(),$w=($,J,Q)=>ez($,J,Q)<0;OY.exports=$w});var d9=L((fI,RY)=>{var Jw=v0(),Qw=($,J,Q)=>Jw($,J,Q)===0;RY.exports=Qw});var p9=L((kI,ZY)=>{var Xw=v0(),Yw=($,J,Q)=>Xw($,J,Q)!==0;ZY.exports=Yw});var q4=L((xI,SY)=>{var Ww=v0(),Hw=($,J,Q)=>Ww($,J,Q)>=0;SY.exports=Hw});var _4=L((vI,CY)=>{var Gw=v0(),Vw=($,J,Q)=>Gw($,J,Q)<=0;CY.exports=Vw});var i9=L((hI,MY)=>{var Uw=d9(),qw=p9(),_w=k2(),Dw=q4(),Bw=U4(),Fw=_4(),zw=($,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 Uw($,Q,X);case"!=":return qw($,Q,X);case">":return _w($,Q,X);case">=":return Dw($,Q,X);case"<":return Bw($,Q,X);case"<=":return Fw($,Q,X);default:throw TypeError(`Invalid operator: ${J}`)}};MY.exports=zw});var KY=L((gI,PY)=>{var ww=C0(),Nw=Q$(),{safeRe:D4,t:B4}=p$(),Aw=($,J)=>{if($ instanceof ww)return $;if(typeof $==="number")$=String($);if(typeof $!=="string")return null;J=J||{};let Q=null;if(!J.rtl)Q=$.match(J.includePrerelease?D4[B4.COERCEFULL]:D4[B4.COERCE]);else{let V=J.includePrerelease?D4[B4.COERCERTLFULL]:D4[B4.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 Nw(`${X}.${Y}.${W}${H}${G}`,J)};PY.exports=Aw});var bY=L((yI,TY)=>{class IY{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}}TY.exports=IY});var h0=L((uI,vY)=>{var jw=/\s+/g;class x2{constructor($,J){if(J=Lw(J),$ instanceof x2)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else return new x2($.raw,J);if($ instanceof n9)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(jw," "),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)=>!kY(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&&Pw(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&&Cw)|(this.options.loose&&Mw))+":"+$,X=fY.get(Q);if(X)return X;let Y=this.options.loose,W=Y?K0[M0.HYPHENRANGELOOSE]:K0[M0.HYPHENRANGE];$=$.replace(W,gw(this.options.includePrerelease)),V0("hyphen replace",$),$=$.replace(K0[M0.COMPARATORTRIM],Rw),V0("comparator trim",$),$=$.replace(K0[M0.TILDETRIM],Zw),V0("tilde trim",$),$=$.replace(K0[M0.CARETTRIM],Sw),V0("caret trim",$);let H=$.split(" ").map((q)=>Kw(q,this.options)).join(" ").split(/\s+/).map((q)=>hw(q,this.options));if(Y)H=H.filter((q)=>{return V0("loose invalid filter",q,this.options),!!q.match(K0[M0.COMPARATORLOOSE])});V0("range list",H);let G=new Map,V=H.map((q)=>new n9(q,this.options));for(let q of V){if(kY(q))return[q];G.set(q.value,q)}if(G.size>1&&G.has(""))G.delete("");let U=[...G.values()];return fY.set(Q,U),U}intersects($,J){if(!($ instanceof x2))throw TypeError("a Range is required");return this.set.some((Q)=>{return xY(Q,J)&&$.set.some((X)=>{return xY(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(yw(this.set[J],$,this.options))return!0;return!1}}vY.exports=x2;var Ew=bY(),fY=new Ew,Lw=X4(),n9=v2(),V0=f2(),Ow=C0(),{safeRe:K0,t:M0,comparatorTrimReplace:Rw,tildeTrimReplace:Zw,caretTrimReplace:Sw}=p$(),{FLAG_INCLUDE_PRERELEASE:Cw,FLAG_LOOSE:Mw}=b2(),kY=($)=>$.value==="<0.0.0-0",Pw=($)=>$.value==="",xY=($,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},Kw=($,J)=>{return $=$.replace(K0[M0.BUILD],""),V0("comp",$,J),$=bw($,J),V0("caret",$),$=Iw($,J),V0("tildes",$),$=kw($,J),V0("xrange",$),$=vw($,J),V0("stars",$),$},I0=($)=>!$||$.toLowerCase()==="x"||$==="*",Iw=($,J)=>{return $.trim().split(/\s+/).map((Q)=>Tw(Q,J)).join(" ")},Tw=($,J)=>{let Q=J.loose?K0[M0.TILDELOOSE]:K0[M0.TILDE];return $.replace(Q,(X,Y,W,H,G)=>{V0("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)V0("replaceTilde pr",G),V=`>=${Y}.${W}.${H}-${G} <${Y}.${+W+1}.0-0`;else V=`>=${Y}.${W}.${H} <${Y}.${+W+1}.0-0`;return V0("tilde return",V),V})},bw=($,J)=>{return $.trim().split(/\s+/).map((Q)=>fw(Q,J)).join(" ")},fw=($,J)=>{V0("caret",$,J);let Q=J.loose?K0[M0.CARETLOOSE]:K0[M0.CARET],X=J.includePrerelease?"-0":"";return $.replace(Q,(Y,W,H,G,V)=>{V0("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(V0("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(V0("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 V0("caret return",U),U})},kw=($,J)=>{return V0("replaceXRanges",$,J),$.split(/\s+/).map((Q)=>xw(Q,J)).join(" ")},xw=($,J)=>{$=$.trim();let Q=J.loose?K0[M0.XRANGELOOSE]:K0[M0.XRANGE];return $.replace(Q,(X,Y,W,H,G,V)=>{V0("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 V0("xRange return",X),X})},vw=($,J)=>{return V0("replaceStars",$,J),$.trim().replace(K0[M0.STAR],"")},hw=($,J)=>{return V0("replaceGTE0",$,J),$.trim().replace(K0[J.includePrerelease?M0.GTE0PRE:M0.GTE0],"")},gw=($)=>(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()},yw=($,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(V0($[X].semver),$[X].semver===n9.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 v2=L((mI,lY)=>{var h2=Symbol("SemVer ANY");class F4{static get ANY(){return h2}constructor($,J){if(J=hY(J),$ instanceof F4)if($.loose===!!J.loose)return $;else $=$.value;if($=$.trim().split(/\s+/).join(" "),o9("comparator",$,J),this.options=J,this.loose=!!J.loose,this.parse($),this.semver===h2)this.value="";else this.value=this.operator+this.semver.version;o9("comp",this)}parse($){let J=this.options.loose?gY[yY.COMPARATORLOOSE]:gY[yY.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=h2;else this.semver=new uY(Q[2],this.options.loose)}toString(){return this.value}test($){if(o9("Comparator.test",$,this.options.loose),this.semver===h2||$===h2)return!0;if(typeof $==="string")try{$=new uY($,this.options)}catch(J){return!1}return s9($,this.operator,this.semver,this.options)}intersects($,J){if(!($ instanceof F4))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new mY($.value,J).test(this.value)}else if($.operator===""){if($.value==="")return!0;return new mY(this.value,J).test($.semver)}if(J=hY(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(s9(this.semver,"<",$.semver,J)&&this.operator.startsWith(">")&&$.operator.startsWith("<"))return!0;if(s9(this.semver,">",$.semver,J)&&this.operator.startsWith("<")&&$.operator.startsWith(">"))return!0;return!1}}lY.exports=F4;var hY=X4(),{safeRe:gY,t:yY}=p$(),s9=i9(),o9=f2(),uY=C0(),mY=h0()});var g2=L((lI,cY)=>{var uw=h0(),mw=($,J,Q)=>{try{J=new uw(J,Q)}catch(X){return!1}return J.test($)};cY.exports=mw});var pY=L((cI,dY)=>{var lw=h0(),cw=($,J)=>new lw($,J).set.map((Q)=>Q.map((X)=>X.value).join(" ").trim().split(" "));dY.exports=cw});var nY=L((dI,iY)=>{var dw=C0(),pw=h0(),iw=($,J,Q)=>{let X=null,Y=null,W=null;try{W=new pw(J,Q)}catch(H){return null}return $.forEach((H)=>{if(W.test(H)){if(!X||Y.compare(H)===-1)X=H,Y=new dw(X,Q)}}),X};iY.exports=iw});var oY=L((pI,sY)=>{var nw=C0(),sw=h0(),ow=($,J,Q)=>{let X=null,Y=null,W=null;try{W=new sw(J,Q)}catch(H){return null}return $.forEach((H)=>{if(W.test(H)){if(!X||Y.compare(H)===1)X=H,Y=new nw(X,Q)}}),X};sY.exports=ow});var tY=L((iI,aY)=>{var r9=C0(),rw=h0(),rY=k2(),aw=($,J)=>{$=new rw($,J);let Q=new r9("0.0.0");if($.test(Q))return Q;if(Q=new r9("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 r9(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||rY(G,W))W=G;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${H.operator}`)}}),W&&(!Q||rY(Q,W)))Q=W}if(Q&&$.test(Q))return Q;return null};aY.exports=aw});var $W=L((nI,eY)=>{var tw=h0(),ew=($,J)=>{try{return new tw($,J).range||"*"}catch(Q){return null}};eY.exports=ew});var z4=L((sI,YW)=>{var $N=C0(),XW=v2(),{ANY:JN}=XW,QN=h0(),XN=g2(),JW=k2(),QW=U4(),YN=_4(),WN=q4(),HN=($,J,Q,X)=>{$=new $N($,X),J=new QN(J,X);let Y,W,H,G,V;switch(Q){case">":Y=JW,W=YN,H=QW,G=">",V=">=";break;case"<":Y=QW,W=WN,H=JW,G="<",V="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(XN($,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===JN)B=new XW(">=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};YW.exports=HN});var HW=L((oI,WW)=>{var GN=z4(),VN=($,J,Q)=>GN($,J,">",Q);WW.exports=VN});var VW=L((rI,GW)=>{var UN=z4(),qN=($,J,Q)=>UN($,J,"<",Q);GW.exports=qN});var _W=L((aI,qW)=>{var UW=h0(),_N=($,J,Q)=>{return $=new UW($,Q),J=new UW(J,Q),$.intersects(J,Q)};qW.exports=_N});var BW=L((tI,DW)=>{var DN=g2(),BN=v0();DW.exports=($,J,Q)=>{let X=[],Y=null,W=null,H=$.sort((q,_)=>BN(q,_,Q));for(let q of H)if(DN(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 jW=L((eI,AW)=>{var FW=h0(),t9=v2(),{ANY:a9}=t9,y2=g2(),e9=v0(),FN=($,J,Q={})=>{if($===J)return!0;$=new FW($,Q),J=new FW(J,Q);let X=!1;$:for(let Y of $.set){for(let W of J.set){let H=wN(Y,W,Q);if(X=X||H!==null,H)continue $}if(X)return!1}return!0},zN=[new t9(">=0.0.0-0")],zW=[new t9(">=0.0.0")],wN=($,J,Q)=>{if($===J)return!0;if($.length===1&&$[0].semver===a9)if(J.length===1&&J[0].semver===a9)return!0;else if(Q.includePrerelease)$=zN;else $=zW;if(J.length===1&&J[0].semver===a9)if(Q.includePrerelease)return!0;else J=zW;let X=new Set,Y,W;for(let B of $)if(B.operator===">"||B.operator===">=")Y=wW(Y,B,Q);else if(B.operator==="<"||B.operator==="<=")W=NW(W,B,Q);else X.add(B.semver);if(X.size>1)return null;let H;if(Y&&W){if(H=e9(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&&!y2(B,String(Y),Q))return null;if(W&&!y2(B,String(W),Q))return null;for(let D of J)if(!y2(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=wW(Y,B,Q),G===B&&G!==Y)return!1}else if(Y.operator===">="&&!y2(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=NW(W,B,Q),V===B&&V!==W)return!1}else if(W.operator==="<="&&!y2(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},wW=($,J,Q)=>{if(!$)return J;let X=e9($.semver,J.semver,Q);return X>0?$:X<0?J:J.operator===">"&&$.operator===">="?J:$},NW=($,J,Q)=>{if(!$)return J;let X=e9($.semver,J.semver,Q);return X<0?$:X>0?J:J.operator==="<"&&$.operator==="<="?J:$};AW.exports=FN});var w4=L(($T,OW)=>{var $5=p$(),EW=b2(),NN=C0(),LW=l9(),AN=Q$(),jN=iX(),EN=sX(),LN=aX(),ON=$Y(),RN=QY(),ZN=YY(),SN=HY(),CN=VY(),MN=v0(),PN=DY(),KN=FY(),IN=V4(),TN=AY(),bN=EY(),fN=k2(),kN=U4(),xN=d9(),vN=p9(),hN=q4(),gN=_4(),yN=i9(),uN=KY(),mN=v2(),lN=h0(),cN=g2(),dN=pY(),pN=nY(),iN=oY(),nN=tY(),sN=$W(),oN=z4(),rN=HW(),aN=VW(),tN=_W(),eN=BW(),$A=jW();OW.exports={parse:AN,valid:jN,clean:EN,inc:LN,diff:ON,major:RN,minor:ZN,patch:SN,prerelease:CN,compare:MN,rcompare:PN,compareLoose:KN,compareBuild:IN,sort:TN,rsort:bN,gt:fN,lt:kN,eq:xN,neq:vN,gte:hN,lte:gN,cmp:yN,coerce:uN,Comparator:mN,Range:lN,satisfies:cN,toComparators:dN,maxSatisfying:pN,minSatisfying:iN,minVersion:nN,validRange:sN,outside:oN,gtr:rN,ltr:aN,intersects:tN,simplifyRange:eN,subset:$A,SemVer:NN,re:$5.re,src:$5.src,tokens:$5.t,SEMVER_SPEC_VERSION:EW.SEMVER_SPEC_VERSION,RELEASE_TYPES:EW.RELEASE_TYPES,compareIdentifiers:LW.compareIdentifiers,rcompareIdentifiers:LW.rcompareIdentifiers}});var ZW=L((JT,RW)=>{var JA=w4();RW.exports=JA.satisfies(process.version,">=15.7.0")});var CW=L((QT,SW)=>{var QA=w4();SW.exports=QA.satisfies(process.version,">=16.9.0")});var J5=L((XT,MW)=>{var XA=ZW(),YA=CW(),WA={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},HA={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};MW.exports=function($,J){if(!$||!J)return;let Q=J.asymmetricKeyType;if(!Q)return;let X=WA[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(XA)switch(Q){case"ec":let Y=J.asymmetricKeyDetails.namedCurve,W=HA[$];if(Y!==W)throw Error(`"alg" parameter "${$}" requires curve "${W}".`);break;case"rsa-pss":if(YA){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 Q5=L((YT,PW)=>{var GA=w4();PW.exports=GA.satisfies(process.version,"^6.12.0 || >=8.0.0")});var TW=L((WT,IW)=>{var H0=T2(),VA=h9(),KW=g9(),UA=v9(),qA=y9(),_A=J5(),DA=Q5(),BA=t6(),{KeyObject:FA,createSecretKey:zA,createPublicKey:wA}=o("crypto"),X5=["RS256","RS384","RS512"],NA=["ES256","ES384","ES512"],Y5=["RS256","RS384","RS512"],AA=["HS256","HS384","HS512"];if(DA)X5.splice(X5.length,0,"PS256","PS384","PS512"),Y5.splice(Y5.length,0,"PS256","PS384","PS512");IW.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 H0("clockTimestamp must be a number"));if(Q.nonce!==void 0&&(typeof Q.nonce!=="string"||Q.nonce.trim()===""))return Y(new H0("nonce must be a non-empty string"));if(Q.allowInvalidAsymmetricKeyTypes!==void 0&&typeof Q.allowInvalidAsymmetricKeyTypes!=="boolean")return Y(new H0("allowInvalidAsymmetricKeyTypes must be a boolean"));let W=Q.clockTimestamp||Math.floor(Date.now()/1000);if(!$)return Y(new H0("jwt must be provided"));if(typeof $!=="string")return Y(new H0("jwt must be a string"));let H=$.split(".");if(H.length!==3)return Y(new H0("jwt malformed"));let G;try{G=UA($,{complete:!0})}catch(q){return Y(q)}if(!G)return Y(new H0("invalid token"));let V=G.header,U;if(typeof J==="function"){if(!X)return Y(new H0("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 H0("error in secret or public key callback: "+q.message));let F=H[2].trim()!=="";if(!F&&_)return Y(new H0("jwt signature is required"));if(F&&!_)return Y(new H0("secret or public key must be provided"));if(!F&&!Q.algorithms)return Y(new H0('please specify "none" in "algorithms" to verify unsigned tokens'));if(_!=null&&!(_ instanceof FA))try{_=wA(_)}catch(A){try{_=zA(typeof _==="string"?Buffer.from(_):_)}catch(Z){return Y(new H0("secretOrPublicKey is not valid key material"))}}if(!Q.algorithms)if(_.type==="secret")Q.algorithms=AA;else if(["rsa","rsa-pss"].includes(_.asymmetricKeyType))Q.algorithms=Y5;else if(_.asymmetricKeyType==="ec")Q.algorithms=NA;else Q.algorithms=X5;if(Q.algorithms.indexOf(G.header.alg)===-1)return Y(new H0("invalid algorithm"));if(V.alg.startsWith("HS")&&_.type!=="secret")return Y(new H0(`secretOrPublicKey must be a symmetric key when using ${V.alg}`));else if(/^(?:RS|PS|ES)/.test(V.alg)&&_.type!=="public")return Y(new H0(`secretOrPublicKey must be an asymmetric key when using ${V.alg}`));if(!Q.allowInvalidAsymmetricKeyTypes)try{_A(V.alg,_)}catch(A){return Y(A)}let B;try{B=BA.verify($,G.header.alg,_)}catch(A){return Y(A)}if(!B)return Y(new H0("invalid signature"));let D=G.payload;if(typeof D.nbf<"u"&&!Q.ignoreNotBefore){if(typeof D.nbf!=="number")return Y(new H0("invalid nbf value"));if(D.nbf>W+(Q.clockTolerance||0))return Y(new VA("jwt not active",new Date(D.nbf*1000)))}if(typeof D.exp<"u"&&!Q.ignoreExpiration){if(typeof D.exp!=="number")return Y(new H0("invalid exp value"));if(W>=D.exp+(Q.clockTolerance||0))return Y(new KW("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 H0("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 H0("jwt issuer invalid. expected: "+Q.issuer))}if(Q.subject){if(D.sub!==Q.subject)return Y(new H0("jwt subject invalid. expected: "+Q.subject))}if(Q.jwtid){if(D.jti!==Q.jwtid)return Y(new H0("jwt jwtid invalid. expected: "+Q.jwtid))}if(Q.nonce){if(D.nonce!==Q.nonce)return Y(new H0("jwt nonce invalid. expected: "+Q.nonce))}if(Q.maxAge){if(typeof D.iat!=="number")return Y(new H0("iat required when maxAge is specified"));let A=qA(Q.maxAge,D.iat);if(typeof A>"u")return Y(new H0('"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 KW("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 hW=L((HT,vW)=>{var bW=1/0,kW=9007199254740991,jA=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,fW=NaN,EA="[object Arguments]",LA="[object Function]",OA="[object GeneratorFunction]",RA="[object String]",ZA="[object Symbol]",SA=/^\s+|\s+$/g,CA=/^[-+]0x[0-9a-f]+$/i,MA=/^0b[01]+$/i,PA=/^0o[0-7]+$/i,KA=/^(?:0|[1-9]\d*)$/,IA=parseInt;function TA($,J){var Q=-1,X=$?$.length:0,Y=Array(X);while(++Q<X)Y[Q]=J($[Q],Q,$);return Y}function bA($,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 fA($,J,Q){if(J!==J)return bA($,kA,Q);var X=Q-1,Y=$.length;while(++X<Y)if($[X]===J)return X;return-1}function kA($){return $!==$}function xA($,J){var Q=-1,X=Array($);while(++Q<$)X[Q]=J(Q);return X}function vA($,J){return TA(J,function(Q){return $[Q]})}function hA($,J){return function(Q){return $(J(Q))}}var N4=Object.prototype,H5=N4.hasOwnProperty,A4=N4.toString,gA=N4.propertyIsEnumerable,yA=hA(Object.keys,Object),uA=Math.max;function mA($,J){var Q=xW($)||iA($)?xA($.length,String):[],X=Q.length,Y=!!X;for(var W in $)if((J||H5.call($,W))&&!(Y&&(W=="length"||cA(W,X))))Q.push(W);return Q}function lA($){if(!dA($))return yA($);var J=[];for(var Q in Object($))if(H5.call($,Q)&&Q!="constructor")J.push(Q);return J}function cA($,J){return J=J==null?kW:J,!!J&&(typeof $=="number"||KA.test($))&&($>-1&&$%1==0&&$<J)}function dA($){var J=$&&$.constructor,Q=typeof J=="function"&&J.prototype||N4;return $===Q}function pA($,J,Q,X){$=G5($)?$:Qj($),Q=Q&&!X?eA(Q):0;var Y=$.length;if(Q<0)Q=uA(Y+Q,0);return rA($)?Q<=Y&&$.indexOf(J,Q)>-1:!!Y&&fA($,J,Q)>-1}function iA($){return nA($)&&H5.call($,"callee")&&(!gA.call($,"callee")||A4.call($)==EA)}var xW=Array.isArray;function G5($){return $!=null&&oA($.length)&&!sA($)}function nA($){return V5($)&&G5($)}function sA($){var J=W5($)?A4.call($):"";return J==LA||J==OA}function oA($){return typeof $=="number"&&$>-1&&$%1==0&&$<=kW}function W5($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function V5($){return!!$&&typeof $=="object"}function rA($){return typeof $=="string"||!xW($)&&V5($)&&A4.call($)==RA}function aA($){return typeof $=="symbol"||V5($)&&A4.call($)==ZA}function tA($){if(!$)return $===0?$:0;if($=$j($),$===bW||$===-bW){var J=$<0?-1:1;return J*jA}return $===$?$:0}function eA($){var J=tA($),Q=J%1;return J===J?Q?J-Q:J:0}function $j($){if(typeof $=="number")return $;if(aA($))return fW;if(W5($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=W5(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(SA,"");var Q=MA.test($);return Q||PA.test($)?IA($.slice(2),Q?2:8):CA.test($)?fW:+$}function Jj($){return G5($)?mA($):lA($)}function Qj($){return $?vA($,Jj($)):[]}vW.exports=pA});var yW=L((GT,gW)=>{var Xj="[object Boolean]",Yj=Object.prototype,Wj=Yj.toString;function Hj($){return $===!0||$===!1||Gj($)&&Wj.call($)==Xj}function Gj($){return!!$&&typeof $=="object"}gW.exports=Hj});var dW=L((VT,cW)=>{var uW=1/0,Vj=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,mW=NaN,Uj="[object Symbol]",qj=/^\s+|\s+$/g,_j=/^[-+]0x[0-9a-f]+$/i,Dj=/^0b[01]+$/i,Bj=/^0o[0-7]+$/i,Fj=parseInt,zj=Object.prototype,wj=zj.toString;function Nj($){return typeof $=="number"&&$==Lj($)}function lW($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function Aj($){return!!$&&typeof $=="object"}function jj($){return typeof $=="symbol"||Aj($)&&wj.call($)==Uj}function Ej($){if(!$)return $===0?$:0;if($=Oj($),$===uW||$===-uW){var J=$<0?-1:1;return J*Vj}return $===$?$:0}function Lj($){var J=Ej($),Q=J%1;return J===J?Q?J-Q:J:0}function Oj($){if(typeof $=="number")return $;if(jj($))return mW;if(lW($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=lW(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(qj,"");var Q=Dj.test($);return Q||Bj.test($)?Fj($.slice(2),Q?2:8):_j.test($)?mW:+$}cW.exports=Nj});var iW=L((UT,pW)=>{var Rj="[object Number]",Zj=Object.prototype,Sj=Zj.toString;function Cj($){return!!$&&typeof $=="object"}function Mj($){return typeof $=="number"||Cj($)&&Sj.call($)==Rj}pW.exports=Mj});var rW=L((qT,oW)=>{var Pj="[object Object]";function Kj($){var J=!1;if($!=null&&typeof $.toString!="function")try{J=!!($+"")}catch(Q){}return J}function Ij($,J){return function(Q){return $(J(Q))}}var Tj=Function.prototype,nW=Object.prototype,sW=Tj.toString,bj=nW.hasOwnProperty,fj=sW.call(Object),kj=nW.toString,xj=Ij(Object.getPrototypeOf,Object);function vj($){return!!$&&typeof $=="object"}function hj($){if(!vj($)||kj.call($)!=Pj||Kj($))return!1;var J=xj($);if(J===null)return!0;var Q=bj.call(J,"constructor")&&J.constructor;return typeof Q=="function"&&Q instanceof Q&&sW.call(Q)==fj}oW.exports=hj});var tW=L((_T,aW)=>{var gj="[object String]",yj=Object.prototype,uj=yj.toString,mj=Array.isArray;function lj($){return!!$&&typeof $=="object"}function cj($){return typeof $=="string"||!mj($)&&lj($)&&uj.call($)==gj}aW.exports=cj});var XH=L((DT,QH)=>{var dj="Expected a function",eW=1/0,pj=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,$H=NaN,ij="[object Symbol]",nj=/^\s+|\s+$/g,sj=/^[-+]0x[0-9a-f]+$/i,oj=/^0b[01]+$/i,rj=/^0o[0-7]+$/i,aj=parseInt,tj=Object.prototype,ej=tj.toString;function $E($,J){var Q;if(typeof J!="function")throw TypeError(dj);return $=WE($),function(){if(--$>0)Q=J.apply(this,arguments);if($<=1)J=void 0;return Q}}function JE($){return $E(2,$)}function JH($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function QE($){return!!$&&typeof $=="object"}function XE($){return typeof $=="symbol"||QE($)&&ej.call($)==ij}function YE($){if(!$)return $===0?$:0;if($=HE($),$===eW||$===-eW){var J=$<0?-1:1;return J*pj}return $===$?$:0}function WE($){var J=YE($),Q=J%1;return J===J?Q?J-Q:J:0}function HE($){if(typeof $=="number")return $;if(XE($))return $H;if(JH($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=JH(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(nj,"");var Q=oj.test($);return Q||rj.test($)?aj($.slice(2),Q?2:8):sj.test($)?$H:+$}QH.exports=JE});var DH=L((BT,_H)=>{var YH=y9(),GE=Q5(),VE=J5(),WH=t6(),UE=hW(),j4=yW(),HH=dW(),U5=iW(),VH=rW(),T1=tW(),qE=XH(),{KeyObject:_E,createSecretKey:DE,createPrivateKey:BE}=o("crypto"),UH=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(GE)UH.splice(3,0,"PS256","PS384","PS512");var FE={expiresIn:{isValid:function($){return HH($)||T1($)&&$},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function($){return HH($)||T1($)&&$},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function($){return T1($)||Array.isArray($)},message:'"audience" must be a string or array'},algorithm:{isValid:UE.bind(null,UH),message:'"algorithm" must be a valid string enum value'},header:{isValid:VH,message:'"header" must be an object'},encoding:{isValid:T1,message:'"encoding" must be a string'},issuer:{isValid:T1,message:'"issuer" must be a string'},subject:{isValid:T1,message:'"subject" must be a string'},jwtid:{isValid:T1,message:'"jwtid" must be a string'},noTimestamp:{isValid:j4,message:'"noTimestamp" must be a boolean'},keyid:{isValid:T1,message:'"keyid" must be a string'},mutatePayload:{isValid:j4,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:j4,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:j4,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},zE={iat:{isValid:U5,message:'"iat" should be a number of seconds'},exp:{isValid:U5,message:'"exp" should be a number of seconds'},nbf:{isValid:U5,message:'"nbf" should be a number of seconds'}};function qH($,J,Q,X){if(!VH(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 wE($){return qH(FE,!1,$,"options")}function NE($){return qH(zE,!0,$,"payload")}var GH={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},AE=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];_H.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 _E))try{J=BE(J)}catch(U){try{J=DE(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{NE($)}catch(U){return H(U)}if(!Q.mutatePayload)$=Object.assign({},$)}else{let U=AE.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{wE(Q)}catch(U){return H(U)}if(!Q.allowInvalidAsymmetricKeyTypes)try{VE(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=YH(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=YH(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(GH).forEach(function(U){let q=GH[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&&qE(X),WH.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=WH.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 FH=L((FT,BH)=>{BH.exports={decode:v9(),verify:TW(),sign:DH(),JsonWebTokenError:T2(),NotBeforeError:h9(),TokenExpiredError:g9()}});var SH={};A1(SH,{setGlobalTransactionManager:()=>J1,getGlobalTransactionManager:()=>x1,InMemoryTransactionManager:()=>n$,BaseTransactionManager:()=>_1});class _1{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 J1($){Z4=$}function x1(){if(!Z4)Z4=new n$;return Z4}var n$,Z4=null;var g0=X0(()=>{n$=class n$ extends _1{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 eH="veloce:corsHeaders";function g1($,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 x4($){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 $2($){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 v4($){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 Y2;function u_(){if(Y2!==void 0)return Y2;try{Y2=kJ()}catch{Y2=null}return Y2}class xJ{logger;constructor($){let J=u_(),Q=!0;if(!J){this.logger=new W1($);return}this.logger=J({level:$?.level||"debug"})}trace($,J){if(this.logger instanceof W1){this.logger.trace($,J);return}this.logger.trace(J||{},$)}debug($,J){if(this.logger instanceof W1){this.logger.debug($,J);return}this.logger.debug(J||{},$)}info($,J){if(this.logger instanceof W1){this.logger.info($,J);return}this.logger.info(J||{},$)}warn($,J){if(this.logger instanceof W1){this.logger.warn($,J);return}this.logger.warn(J||{},$)}error($,J,Q){if(this.logger instanceof W1){this.logger.error($,J,Q);return}this.logger.error({err:J,...Q},$)}fatal($,J,Q){if(this.logger instanceof W1){this.logger.fatal($,J,Q);return}this.logger.fatal({err:J,...Q},$)}child($){if(this.logger instanceof W1)return this.logger.child($);return new K8(this.logger.child($))}}class K8{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 K8(this.logger.child($))}}class W1{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 W1({level:this.level},{...this.ctx,...$})}}function vJ($){return new xJ($)}var W2=null;function $O($){return W2=vJ($),W2}function c0(){if(!W2)W2=vJ({pretty:!0,level:"debug"});return W2}function D$($){return c0().child($)}function XO(){return async($,J)=>{let Q=D$({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 YO(){return async($,J)=>{try{await J()}catch(Q){throw D$({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 m_($={}){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=s2(W,{requestId:G,timeout:J}),U=Q?c0().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=o2(W);U.info("Request completed",{status:W.res.status,duration:`${q}ms`})}}catch(q){if(U){let _=o2(W);U.error("Request failed",q,{duration:`${_}ms`})}throw q}finally{r2(W)}}}function l_(){return async($,J)=>{let Q=$.req.header("x-request-id")||s2($).requestId;$.header("x-request-id",Q);try{await J()}finally{r2($)}}}H2();function c_($){let{ttl:J,key:Q,prefix:X,includeQuery:Y=!1,varyByHeaders:W,condition:H,store:G,onlySuccess:V=!0}=$,U=B$(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 d_($,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 cJ=Symbol("Let zodToJsonSchema decide on which parser to use");var lJ={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"},dJ=($)=>typeof $==="string"?{...lJ,name:$}:{...lJ,...$};var pJ=($)=>{let J=dJ($),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 b8($,J,Q,X){if(!X?.errorMessages)return;if(Q)$.errorMessage={...$.errorMessage,[J]:Q}}function $0($,J,Q,X,Y){$[J]=Q,b8($,J,X,Y)}var w6=($,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={};A1(N,{void:()=>PD,util:()=>t,unknown:()=>CD,union:()=>bD,undefined:()=>RD,tuple:()=>xD,transformer:()=>pD,symbol:()=>OD,string:()=>$3,strictObject:()=>TD,setErrorMap:()=>n_,set:()=>gD,record:()=>vD,quotelessJson:()=>p_,promise:()=>dD,preprocess:()=>sD,pipeline:()=>oD,ostring:()=>rD,optional:()=>iD,onumber:()=>aD,oboolean:()=>tD,objectUtil:()=>f8,object:()=>ID,number:()=>J3,nullable:()=>nD,null:()=>ZD,never:()=>MD,nativeEnum:()=>cD,nan:()=>jD,map:()=>hD,makeIssue:()=>G2,literal:()=>mD,lazy:()=>uD,late:()=>ND,isValid:()=>L1,isDirty:()=>A6,isAsync:()=>z$,isAborted:()=>N6,intersection:()=>kD,instanceof:()=>AD,getParsedType:()=>H1,getErrorMap:()=>F$,function:()=>yD,enum:()=>lD,effect:()=>pD,discriminatedUnion:()=>fD,defaultErrorMap:()=>D1,datetimeRegex:()=>aJ,date:()=>LD,custom:()=>eJ,coerce:()=>eD,boolean:()=>Q3,bigint:()=>ED,array:()=>KD,any:()=>SD,addIssueToContext:()=>I,ZodVoid:()=>U2,ZodUnknown:()=>O1,ZodUnion:()=>L$,ZodUndefined:()=>j$,ZodType:()=>r,ZodTuple:()=>V1,ZodTransformer:()=>s0,ZodSymbol:()=>V2,ZodString:()=>d0,ZodSet:()=>i1,ZodSchema:()=>r,ZodRecord:()=>q2,ZodReadonly:()=>P$,ZodPromise:()=>n1,ZodPipeline:()=>B2,ZodParsedType:()=>M,ZodOptional:()=>i0,ZodObject:()=>D0,ZodNumber:()=>R1,ZodNullable:()=>F1,ZodNull:()=>E$,ZodNever:()=>G1,ZodNativeEnum:()=>S$,ZodNaN:()=>D2,ZodMap:()=>_2,ZodLiteral:()=>Z$,ZodLazy:()=>R$,ZodIssueCode:()=>O,ZodIntersection:()=>O$,ZodFunction:()=>N$,ZodFirstPartyTypeKind:()=>R,ZodError:()=>L0,ZodEnum:()=>S1,ZodEffects:()=>s0,ZodDiscriminatedUnion:()=>j6,ZodDefault:()=>C$,ZodDate:()=>d1,ZodCatch:()=>M$,ZodBranded:()=>E6,ZodBoolean:()=>A$,ZodBigInt:()=>Z1,ZodArray:()=>p0,ZodAny:()=>p1,Schema:()=>r,ParseStatus:()=>O0,OK:()=>Z0,NEVER:()=>$B,INVALID:()=>m,EMPTY_PATH:()=>s_,DIRTY:()=>c1,BRAND:()=>wD});var t;(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}})(t||(t={}));var f8;(function($){$.mergeShapes=(J,Q)=>{return{...J,...Q}}})(f8||(f8={}));var M=t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),H1=($)=>{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=t.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"]),p_=($)=>{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,t.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 i_=($,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,t.jsonStringifyReplacer)}`;break;case O.unrecognized_keys:Q=`Unrecognized key(s) in object: ${t.joinValues($.keys,", ")}`;break;case O.invalid_union:Q="Invalid input";break;case O.invalid_union_discriminator:Q=`Invalid discriminator value. Expected ${t.joinValues($.options)}`;break;case O.invalid_enum_value:Q=`Invalid enum value. Expected ${t.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 t.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,t.assertNever($)}return{message:Q}},D1=i_;var iJ=D1;function n_($){iJ=$}function F$(){return iJ}var G2=($)=>{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}},s_=[];function I($,J){let Q=F$(),X=G2({issueData:J,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,Q,Q===D1?void 0:D1].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"}),c1=($)=>({status:"dirty",value:$}),Z0=($)=>({status:"valid",value:$}),N6=($)=>$.status==="aborted",A6=($)=>$.status==="dirty",L1=($)=>$.status==="valid",z$=($)=>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 n0{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 nJ=($,J)=>{if(L1(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 r{get description(){return this._def.description}_getType($){return H1($.data)}_getOrReturnCtx($,J){return J||{common:$.parent.common,data:$.data,parsedType:H1($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new O0,ctx:{common:$.parent.common,data:$.data,parsedType:H1($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let J=this._parse($);if(z$(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:H1($)},X=this._parseSync({data:$,path:Q.path,parent:Q});return nJ(Q,X)}"~validate"($){let J={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:H1($)};if(!this["~standard"].async)try{let Q=this._parseSync({data:$,path:[],parent:J});return L1(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)=>L1(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:H1($)},X=this._parse({data:$,path:Q.path,parent:Q}),Y=await(z$(X)?X:Promise.resolve(X));return nJ(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 s0({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 i0.create(this,this._def)}nullable(){return F1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return p0.create(this)}promise(){return n1.create(this,this._def)}or($){return L$.create([this,$],this._def)}and($){return O$.create(this,$,this._def)}transform($){return new s0({...n(this._def),schema:this,typeName:R.ZodEffects,effect:{type:"transform",transform:$}})}default($){let J=typeof $==="function"?$:()=>$;return new C$({...n(this._def),innerType:this,defaultValue:J,typeName:R.ZodDefault})}brand(){return new E6({typeName:R.ZodBranded,type:this,...n(this._def)})}catch($){let J=typeof $==="function"?$:()=>$;return new M$({...n(this._def),innerType:this,catchValue:J,typeName:R.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return B2.create(this,$)}readonly(){return P$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var o_=/^c[^\s-]{8,}$/i,r_=/^[0-9a-z]+$/,a_=/^[0-9A-HJKMNP-TV-Z]{26}$/i,t_=/^[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,e_=/^[a-z0-9_-]{21}$/i,$D=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,JD=/^[-+]?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)?)??$/,QD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,XD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",k8,YD=/^(?:(?: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])$/,WD=/^(?:(?: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])$/,HD=/^(([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]))$/,GD=/^(([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])$/,VD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,UD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,oJ="((\\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])))",qD=new RegExp(`^${oJ}$`);function rJ($){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 _D($){return new RegExp(`^${rJ($)}$`)}function aJ($){let J=`${oJ}T${rJ($)}`,Q=[];if(Q.push($.local?"Z?":"Z"),$.offset)Q.push("([+-]\\d{2}:?\\d{2})");return J=`${J}(${Q.join("|")})`,new RegExp(`^${J}$`)}function DD($,J){if((J==="v4"||!J)&&YD.test($))return!0;if((J==="v6"||!J)&&HD.test($))return!0;return!1}function BD($,J){if(!$D.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 FD($,J){if((J==="v4"||!J)&&WD.test($))return!0;if((J==="v6"||!J)&&GD.test($))return!0;return!1}class d0 extends r{_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(!QD.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(!k8)k8=new RegExp(XD,"u");if(!k8.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(!t_.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(!e_.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(!o_.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(!r_.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(!a_.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(!aJ(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(!qD.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(!_D(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(!JD.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(!DD($.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(!BD($.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(!FD($.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(!VD.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(!UD.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"base64url",code:O.invalid_string,message:Y.message}),Q.dirty()}else t.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 d0({...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 d0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new d0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new d0({...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 $}}d0.create=($)=>{return new d0({checks:[],typeName:R.ZodString,coerce:$?.coerce??!1,...n($)})};function zD($,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 R1 extends r{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(!t.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(zD($.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 t.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 R1({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:h.toString(X)}]})}_addCheck($){return new R1({...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"&&t.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($)}}R1.create=($)=>{return new R1({checks:[],typeName:R.ZodNumber,coerce:$?.coerce||!1,...n($)})};class Z1 extends r{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 t.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 Z1({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:h.toString(X)}]})}_addCheck($){return new Z1({...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 $}}Z1.create=($)=>{return new Z1({checks:[],typeName:R.ZodBigInt,coerce:$?.coerce??!1,...n($)})};class A$ extends r{_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 Z0($.data)}}A$.create=($)=>{return new A$({typeName:R.ZodBoolean,coerce:$?.coerce||!1,...n($)})};class d1 extends r{_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 t.assertNever(Y);return{status:Q.value,value:new Date($.data.getTime())}}_addCheck($){return new d1({...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}}d1.create=($)=>{return new d1({checks:[],coerce:$?.coerce||!1,typeName:R.ZodDate,...n($)})};class V2 extends r{_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 Z0($.data)}}V2.create=($)=>{return new V2({typeName:R.ZodSymbol,...n($)})};class j$ extends r{_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 Z0($.data)}}j$.create=($)=>{return new j$({typeName:R.ZodUndefined,...n($)})};class E$ extends r{_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 Z0($.data)}}E$.create=($)=>{return new E$({typeName:R.ZodNull,...n($)})};class p1 extends r{constructor(){super(...arguments);this._any=!0}_parse($){return Z0($.data)}}p1.create=($)=>{return new p1({typeName:R.ZodAny,...n($)})};class O1 extends r{constructor(){super(...arguments);this._unknown=!0}_parse($){return Z0($.data)}}O1.create=($)=>{return new O1({typeName:R.ZodUnknown,...n($)})};class G1 extends r{_parse($){let J=this._getOrReturnCtx($);return I(J,{code:O.invalid_type,expected:M.never,received:J.parsedType}),m}}G1.create=($)=>{return new G1({typeName:R.ZodNever,...n($)})};class U2 extends r{_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 Z0($.data)}}U2.create=($)=>{return new U2({typeName:R.ZodVoid,...n($)})};class p0 extends r{_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 n0(J,W,J.path,H))})).then((W)=>{return O0.mergeArray(Q,W)});let Y=[...J.data].map((W,H)=>{return X.type._parseSync(new n0(J,W,J.path,H))});return O0.mergeArray(Q,Y)}get element(){return this._def.type}min($,J){return new p0({...this._def,minLength:{value:$,message:h.toString(J)}})}max($,J){return new p0({...this._def,maxLength:{value:$,message:h.toString(J)}})}length($,J){return new p0({...this._def,exactLength:{value:$,message:h.toString(J)}})}nonempty($){return this.min(1,$)}}p0.create=($,J)=>{return new p0({type:$,minLength:null,maxLength:null,exactLength:null,typeName:R.ZodArray,...n(J)})};function w$($){if($ instanceof D0){let J={};for(let Q in $.shape){let X=$.shape[Q];J[Q]=i0.create(w$(X))}return new D0({...$._def,shape:()=>J})}else if($ instanceof p0)return new p0({...$._def,type:w$($.element)});else if($ instanceof i0)return i0.create(w$($.unwrap()));else if($ instanceof F1)return F1.create(w$($.unwrap()));else if($ instanceof V1)return V1.create($.items.map((J)=>w$(J)));else return $}class D0 extends r{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=t.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 G1&&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 n0(X,q,X.path,V)),alwaysSet:V in X.data})}if(this._def.catchall instanceof G1){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 n0(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 D0({...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 D0({...this._def,unknownKeys:"strip"})}passthrough(){return new D0({...this._def,unknownKeys:"passthrough"})}extend($){return new D0({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new D0({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:R.ZodObject})}setKey($,J){return this.augment({[$]:J})}catchall($){return new D0({...this._def,catchall:$})}pick($){let J={};for(let Q of t.objectKeys($))if($[Q]&&this.shape[Q])J[Q]=this.shape[Q];return new D0({...this._def,shape:()=>J})}omit($){let J={};for(let Q of t.objectKeys(this.shape))if(!$[Q])J[Q]=this.shape[Q];return new D0({...this._def,shape:()=>J})}deepPartial(){return w$(this)}partial($){let J={};for(let Q of t.objectKeys(this.shape)){let X=this.shape[Q];if($&&!$[Q])J[Q]=X;else J[Q]=X.optional()}return new D0({...this._def,shape:()=>J})}required($){let J={};for(let Q of t.objectKeys(this.shape))if($&&!$[Q])J[Q]=this.shape[Q];else{let Y=this.shape[Q];while(Y instanceof i0)Y=Y._def.innerType;J[Q]=Y}return new D0({...this._def,shape:()=>J})}keyof(){return tJ(t.objectKeys(this.shape))}}D0.create=($,J)=>{return new D0({shape:()=>$,unknownKeys:"strip",catchall:G1.create(),typeName:R.ZodObject,...n(J)})};D0.strictCreate=($,J)=>{return new D0({shape:()=>$,unknownKeys:"strict",catchall:G1.create(),typeName:R.ZodObject,...n(J)})};D0.lazycreate=($,J)=>{return new D0({shape:$,unknownKeys:"strip",catchall:G1.create(),typeName:R.ZodObject,...n(J)})};class L$ extends r{_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}}L$.create=($,J)=>{return new L$({options:$,typeName:R.ZodUnion,...n(J)})};var B1=($)=>{if($ instanceof R$)return B1($.schema);else if($ instanceof s0)return B1($.innerType());else if($ instanceof Z$)return[$.value];else if($ instanceof S1)return $.options;else if($ instanceof S$)return t.objectValues($.enum);else if($ instanceof C$)return B1($._def.innerType);else if($ instanceof j$)return[void 0];else if($ instanceof E$)return[null];else if($ instanceof i0)return[void 0,...B1($.unwrap())];else if($ instanceof F1)return[null,...B1($.unwrap())];else if($ instanceof E6)return B1($.unwrap());else if($ instanceof P$)return B1($.unwrap());else if($ instanceof M$)return B1($._def.innerType);else return[]};class j6 extends r{_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=B1(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 j6({typeName:R.ZodDiscriminatedUnion,discriminator:$,options:J,optionsMap:X,...n(Q)})}}function x8($,J){let Q=H1($),X=H1(J);if($===J)return{valid:!0,data:$};else if(Q===M.object&&X===M.object){let Y=t.objectKeys(J),W=t.objectKeys($).filter((G)=>Y.indexOf(G)!==-1),H={...$,...J};for(let G of W){let V=x8($[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=x8(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 O$ extends r{_parse($){let{status:J,ctx:Q}=this._processInputParams($),X=(Y,W)=>{if(N6(Y)||N6(W))return m;let H=x8(Y.value,W.value);if(!H.valid)return I(Q,{code:O.invalid_intersection_types}),m;if(A6(Y)||A6(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}))}}O$.create=($,J,Q)=>{return new O$({left:$,right:J,typeName:R.ZodIntersection,...n(Q)})};class V1 extends r{_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 n0(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 V1({...this._def,rest:$})}}V1.create=($,J)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new V1({items:$,typeName:R.ZodTuple,rest:null,...n(J)})};class q2 extends r{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 n0(Q,H,Q.path,H)),value:W._parse(new n0(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 r)return new q2({keyType:$,valueType:J,typeName:R.ZodRecord,...n(Q)});return new q2({keyType:d0.create(),valueType:$,typeName:R.ZodRecord,...n(J)})}}class _2 extends r{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 n0(Q,H,Q.path,[V,"key"])),value:Y._parse(new n0(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}}}}_2.create=($,J,Q)=>{return new _2({valueType:J,keyType:$,typeName:R.ZodMap,...n(Q)})};class i1 extends r{_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 n0(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 i1({...this._def,minSize:{value:$,message:h.toString(J)}})}max($,J){return new i1({...this._def,maxSize:{value:$,message:h.toString(J)}})}size($,J){return this.min($,J).max($,J)}nonempty($){return this.min(1,$)}}i1.create=($,J)=>{return new i1({valueType:$,minSize:null,maxSize:null,typeName:R.ZodSet,...n(J)})};class N$ extends r{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 G2({data:H,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,F$(),D1].filter((V)=>!!V),issueData:{code:O.invalid_arguments,argumentsError:G}})}function X(H,G){return G2({data:H,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,F$(),D1].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 n1){let H=this;return Z0(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 Z0(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 N$({...this._def,args:V1.create($).rest(O1.create())})}returns($){return new N$({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,J,Q){return new N$({args:$?$:V1.create([]).rest(O1.create()),returns:J||O1.create(),typeName:R.ZodFunction,...n(Q)})}}class R$ extends r{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})}}R$.create=($,J)=>{return new R$({getter:$,typeName:R.ZodLazy,...n(J)})};class Z$ extends r{_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}}Z$.create=($,J)=>{return new Z$({value:$,typeName:R.ZodLiteral,...n(J)})};function tJ($,J){return new S1({values:$,typeName:R.ZodEnum,...n(J)})}class S1 extends r{_parse($){if(typeof $.data!=="string"){let J=this._getOrReturnCtx($),Q=this._def.values;return I(J,{expected:t.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 Z0($.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 S1.create($,{...this._def,...J})}exclude($,J=this._def){return S1.create(this.options.filter((Q)=>!$.includes(Q)),{...this._def,...J})}}S1.create=tJ;class S$ extends r{_parse($){let J=t.getValidEnumValues(this._def.values),Q=this._getOrReturnCtx($);if(Q.parsedType!==M.string&&Q.parsedType!==M.number){let X=t.objectValues(J);return I(Q,{expected:t.joinValues(X),received:Q.parsedType,code:O.invalid_type}),m}if(!this._cache)this._cache=new Set(t.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let X=t.objectValues(J);return I(Q,{received:Q.data,code:O.invalid_enum_value,options:X}),m}return Z0($.data)}get enum(){return this._def.values}}S$.create=($,J)=>{return new S$({values:$,typeName:R.ZodNativeEnum,...n(J)})};class n1 extends r{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 Z0(Q.then((X)=>{return this._def.type.parseAsync(X,{path:J.path,errorMap:J.common.contextualErrorMap})}))}}n1.create=($,J)=>{return new n1({type:$,typeName:R.ZodPromise,...n(J)})};class s0 extends r{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 c1(G.value);if(J.value==="dirty")return c1(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 c1(H.value);if(J.value==="dirty")return c1(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(!L1(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(!L1(W))return m;return Promise.resolve(X.transform(W.value,Y)).then((H)=>({status:J.value,value:H}))});t.assertNever(X)}}s0.create=($,J,Q)=>{return new s0({schema:$,typeName:R.ZodEffects,effect:J,...n(Q)})};s0.createWithPreprocess=($,J,Q)=>{return new s0({schema:J,effect:{type:"preprocess",transform:$},typeName:R.ZodEffects,...n(Q)})};class i0 extends r{_parse($){if(this._getType($)===M.undefined)return Z0(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}i0.create=($,J)=>{return new i0({innerType:$,typeName:R.ZodOptional,...n(J)})};class F1 extends r{_parse($){if(this._getType($)===M.null)return Z0(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}F1.create=($,J)=>{return new F1({innerType:$,typeName:R.ZodNullable,...n(J)})};class C$ extends r{_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}}C$.create=($,J)=>{return new C$({innerType:$,typeName:R.ZodDefault,defaultValue:typeof J.default==="function"?J.default:()=>J.default,...n(J)})};class M$ extends r{_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(z$(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}}M$.create=($,J)=>{return new M$({innerType:$,typeName:R.ZodCatch,catchValue:typeof J.catch==="function"?J.catch:()=>J.catch,...n(J)})};class D2 extends r{_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}}}D2.create=($)=>{return new D2({typeName:R.ZodNaN,...n($)})};var wD=Symbol("zod_brand");class E6 extends r{_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 B2 extends r{_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(),c1(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 B2({in:$,out:J,typeName:R.ZodPipeline})}}class P$ extends r{_parse($){let J=this._def.innerType._parse($),Q=(X)=>{if(L1(X))X.value=Object.freeze(X.value);return X};return z$(J)?J.then((X)=>Q(X)):Q(J)}unwrap(){return this._def.innerType}}P$.create=($,J)=>{return new P$({innerType:$,typeName:R.ZodReadonly,...n(J)})};function sJ($,J){let Q=typeof $==="function"?$(J):typeof $==="string"?{message:$}:$;return typeof Q==="string"?{message:Q}:Q}function eJ($,J={},Q){if($)return p1.create().superRefine((X,Y)=>{let W=$(X);if(W instanceof Promise)return W.then((H)=>{if(!H){let G=sJ(J,X),V=G.fatal??Q??!0;Y.addIssue({code:"custom",...G,fatal:V})}});if(!W){let H=sJ(J,X),G=H.fatal??Q??!0;Y.addIssue({code:"custom",...H,fatal:G})}return});return p1.create()}var ND={object:D0.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 AD=($,J={message:`Input not instance of ${$.name}`})=>eJ((Q)=>Q instanceof $,J),$3=d0.create,J3=R1.create,jD=D2.create,ED=Z1.create,Q3=A$.create,LD=d1.create,OD=V2.create,RD=j$.create,ZD=E$.create,SD=p1.create,CD=O1.create,MD=G1.create,PD=U2.create,KD=p0.create,ID=D0.create,TD=D0.strictCreate,bD=L$.create,fD=j6.create,kD=O$.create,xD=V1.create,vD=q2.create,hD=_2.create,gD=i1.create,yD=N$.create,uD=R$.create,mD=Z$.create,lD=S1.create,cD=S$.create,dD=n1.create,pD=s0.create,iD=i0.create,nD=F1.create,sD=s0.createWithPreprocess,oD=B2.create,rD=()=>$3().optional(),aD=()=>J3().optional(),tD=()=>Q3().optional(),eD={string:($)=>d0.create({...$,coerce:!0}),number:($)=>R1.create({...$,coerce:!0}),boolean:($)=>A$.create({...$,coerce:!0}),bigint:($)=>Z1.create({...$,coerce:!0}),date:($)=>d1.create({...$,coerce:!0})};var $B=m;function q0($){if($.target!=="openAi")return{};let J=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?w6(J,$.currentPath):J.join("/")}}function X3($,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)$0(Q,"minItems",$.minLength.value,$.minLength.message,J);if($.maxLength)$0(Q,"maxItems",$.maxLength.value,$.maxLength.message,J);if($.exactLength)$0(Q,"minItems",$.exactLength.value,$.exactLength.message,J),$0(Q,"maxItems",$.exactLength.value,$.exactLength.message,J);return Q}function Y3($,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)$0(Q,"minimum",X.value,X.message,J);else $0(Q,"exclusiveMinimum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMinimum=!0;$0(Q,"minimum",X.value,X.message,J)}break;case"max":if(J.target==="jsonSchema7")if(X.inclusive)$0(Q,"maximum",X.value,X.message,J);else $0(Q,"exclusiveMaximum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMaximum=!0;$0(Q,"maximum",X.value,X.message,J)}break;case"multipleOf":$0(Q,"multipleOf",X.value,X.message,J);break}return Q}function W3(){return{type:"boolean"}}function L6($,J){return l($.type._def,J)}var H3=($,J)=>{return l($.innerType._def,J)};function v8($,J,Q){let X=Q??J.dateStrategy;if(Array.isArray(X))return{anyOf:X.map((Y,W)=>v8($,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 JB($,J)}}var JB=($,J)=>{let Q={type:"integer",format:"unix-time"};if(J.target==="openApi3")return Q;for(let X of $.checks)switch(X.kind){case"min":$0(Q,"minimum",X.value,X.message,J);break;case"max":$0(Q,"maximum",X.value,X.message,J);break}return Q};function G3($,J){return{...l($.innerType._def,J),default:$.defaultValue()}}function V3($,J){return J.effectStrategy==="input"?l($.schema._def,J):q0(J)}function U3($){return{type:"string",enum:Array.from($.values)}}var QB=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function q3($,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(QB(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 _3($,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 h8=void 0,o0={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(h8===void 0)h8=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return h8},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 O6($,J){let Q={type:"string"};if($.checks)for(let X of $.checks)switch(X.kind){case"min":$0(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,X.value):X.value,X.message,J);break;case"max":$0(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":r0(Q,"email",X.message,J);break;case"format:idn-email":r0(Q,"idn-email",X.message,J);break;case"pattern:zod":P0(Q,o0.email,X.message,J);break}break;case"url":r0(Q,"uri",X.message,J);break;case"uuid":r0(Q,"uuid",X.message,J);break;case"regex":P0(Q,X.regex,X.message,J);break;case"cuid":P0(Q,o0.cuid,X.message,J);break;case"cuid2":P0(Q,o0.cuid2,X.message,J);break;case"startsWith":P0(Q,RegExp(`^${g8(X.value,J)}`),X.message,J);break;case"endsWith":P0(Q,RegExp(`${g8(X.value,J)}$`),X.message,J);break;case"datetime":r0(Q,"date-time",X.message,J);break;case"date":r0(Q,"date",X.message,J);break;case"time":r0(Q,"time",X.message,J);break;case"duration":r0(Q,"duration",X.message,J);break;case"length":$0(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,X.value):X.value,X.message,J),$0(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,X.value):X.value,X.message,J);break;case"includes":{P0(Q,RegExp(g8(X.value,J)),X.message,J);break}case"ip":{if(X.version!=="v6")r0(Q,"ipv4",X.message,J);if(X.version!=="v4")r0(Q,"ipv6",X.message,J);break}case"base64url":P0(Q,o0.base64url,X.message,J);break;case"jwt":P0(Q,o0.jwt,X.message,J);break;case"cidr":{if(X.version!=="v6")P0(Q,o0.ipv4Cidr,X.message,J);if(X.version!=="v4")P0(Q,o0.ipv6Cidr,X.message,J);break}case"emoji":P0(Q,o0.emoji(),X.message,J);break;case"ulid":{P0(Q,o0.ulid,X.message,J);break}case"base64":{switch(J.base64Strategy){case"format:binary":{r0(Q,"binary",X.message,J);break}case"contentEncoding:base64":{$0(Q,"contentEncoding","base64",X.message,J);break}case"pattern:zod":{P0(Q,o0.base64,X.message,J);break}}break}case"nanoid":P0(Q,o0.nanoid,X.message,J);case"toLowerCase":case"toUpperCase":case"trim":break;default:((Y)=>{})(X)}return Q}function g8($,J){return J.patternStrategy==="escape"?YB($):$}var XB=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function YB($){let J="";for(let Q=0;Q<$.length;Q++){if(!XB.has($[Q]))J+="\\";J+=$[Q]}return J}function r0($,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 $0($,"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:D3(J,X),...Q&&X.errorMessages&&{errorMessage:{pattern:Q}}})}else $0($,"pattern",D3(J,X),Q,X)}function D3($,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
|
+
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,I2="secret must be a string or buffer",y$="key must be a string or a buffer",RF="key must be a string, a buffer or an object",T9=typeof x0.createPublicKey==="function";if(T9)y$+=" or a KeyObject",I2+="or a KeyObject";function $X($){if(u$.isBuffer($))return;if(typeof $==="string")return;if(!T9)throw a0(y$);if(typeof $!=="object")throw a0(y$);if(typeof $.type!=="string")throw a0(y$);if(typeof $.asymmetricKeyType!=="string")throw a0(y$);if(typeof $.export!=="function")throw a0(y$)}function JX($){if(u$.isBuffer($))return;if(typeof $==="string")return;if(typeof $==="object")return;throw a0(RF)}function ZF($){if(u$.isBuffer($))return;if(typeof $==="string")return $;if(!T9)throw a0(I2);if(typeof $!=="object")throw a0(I2);if($.type!=="secret")throw a0(I2);if(typeof $.export!=="function")throw a0(I2)}function b9($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function QX($){$=$.toString();var J=4-$.length%4;if(J!==4)for(var Q=0;Q<J;++Q)$+="=";return $.replace(/\-/g,"+").replace(/_/g,"/")}function a0($){var J=[].slice.call(arguments,1),Q=tQ.format.bind(tQ,$).apply(null,J);return TypeError(Q)}function SF($){return u$.isBuffer($)||typeof $==="string"}function T2($){if(!SF($))$=JSON.stringify($);return $}function XX($){return function(Q,X){ZF(X),Q=T2(Q);var Y=x0.createHmac("sha"+$,X),W=(Y.update(Q),Y.digest("base64"));return b9(W)}}var I9,CF="timingSafeEqual"in x0?function(J,Q){if(J.byteLength!==Q.byteLength)return!1;return x0.timingSafeEqual(J,Q)}:function(J,Q){if(!I9)I9=aQ();return I9(J,Q)};function MF($){return function(Q,X,Y){var W=XX($)(Q,Y);return CF(u$.from(X),u$.from(W))}}function YX($){return function(Q,X){JX(X),Q=T2(Q);var Y=x0.createSign("RSA-SHA"+$),W=(Y.update(Q),Y.sign(X,"base64"));return b9(W)}}function WX($){return function(Q,X,Y){$X(Y),Q=T2(Q),X=QX(X);var W=x0.createVerify("RSA-SHA"+$);return W.update(Q),W.verify(Y,X,"base64")}}function PF($){return function(Q,X){JX(X),Q=T2(Q);var Y=x0.createSign("RSA-SHA"+$),W=(Y.update(Q),Y.sign({key:X,padding:x0.constants.RSA_PKCS1_PSS_PADDING,saltLength:x0.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return b9(W)}}function KF($){return function(Q,X,Y){$X(Y),Q=T2(Q),X=QX(X);var W=x0.createVerify("RSA-SHA"+$);return W.update(Q),W.verify({key:Y,padding:x0.constants.RSA_PKCS1_PSS_PADDING,saltLength:x0.constants.RSA_PSS_SALTLEN_DIGEST},X,"base64")}}function IF($){var J=YX($);return function(){var X=J.apply(null,arguments);return X=eQ.derToJose(X,"ES"+$),X}}function TF($){var J=WX($);return function(X,Y,W){Y=eQ.joseToDer(Y,"ES"+$).toString("base64");var H=J(X,Y,W);return H}}function bF(){return function(){return""}}function fF(){return function(J,Q){return Q===""}}HX.exports=function(J){var Q={hs:XX,rs:YX,ps:PF,es:IF,none:bF},X={hs:MF,rs:WX,ps:KF,es:TF,none:fF},Y=J.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!Y)throw a0(OF,J);var W=(Y[1]||Y[3]).toLowerCase(),H=Y[2];return{sign:Q[W](H),verify:X[W](H)}}});var k9=L((JI,GX)=>{var kF=o("buffer").Buffer;GX.exports=function(J){if(typeof J==="string")return J;if(typeof J==="number"||kF.isBuffer(J))return J.toString();return JSON.stringify(J)}});var BX=L((QI,DX)=>{var xF=g$().Buffer,VX=M9(),vF=f9(),hF=o("stream"),UX=k9(),x9=o("util");function qX($,J){return xF.from($,J).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function gF($,J,Q){Q=Q||"utf8";var X=qX(UX($),"binary"),Y=qX(UX(J),Q);return x9.format("%s.%s",X,Y)}function _X($){var{header:J,payload:Q}=$,X=$.secret||$.privateKey,Y=$.encoding,W=vF(J.alg),H=gF(J,Q,Y),G=W.sign(H,X);return x9.format("%s.%s",H,G)}function r6($){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 VX(J);this.readable=!0,this.header=$.header,this.encoding=$.encoding,this.secret=this.privateKey=this.key=Q,this.payload=new VX($.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))}x9.inherits(r6,hF);r6.prototype.sign=function(){try{var J=_X({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")}};r6.sign=_X;DX.exports=r6});var RX=L((XI,OX)=>{var zX=g$().Buffer,FX=M9(),yF=f9(),uF=o("stream"),NX=k9(),mF=o("util"),lF=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function cF($){return Object.prototype.toString.call($)==="[object Object]"}function dF($){if(cF($))return $;try{return JSON.parse($)}catch(J){return}}function wX($){var J=$.split(".",1)[0];return dF(zX.from(J,"base64").toString("binary"))}function pF($){return $.split(".",2).join(".")}function AX($){return $.split(".")[2]}function iF($,J){J=J||"utf8";var Q=$.split(".")[1];return zX.from(Q,"base64").toString(J)}function jX($){return lF.test($)&&!!wX($)}function EX($,J,Q){if(!J){var X=Error("Missing algorithm parameter for jws.verify");throw X.code="MISSING_ALGORITHM",X}$=NX($);var Y=AX($),W=pF($),H=yF(J);return H.verify(W,Y,Q)}function LX($,J){if(J=J||{},$=NX($),!jX($))return null;var Q=wX($);if(!Q)return null;var X=iF($);if(Q.typ==="JWT"||J.json)X=JSON.parse(X,J.encoding);return{header:Q,payload:X,signature:AX($)}}function m$($){$=$||{};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 FX(J);this.readable=!0,this.algorithm=$.algorithm,this.encoding=$.encoding,this.secret=this.publicKey=this.key=Q,this.signature=new FX($.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))}mF.inherits(m$,uF);m$.prototype.verify=function(){try{var J=EX(this.signature.buffer,this.algorithm,this.key.buffer),Q=LX(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")}};m$.decode=LX;m$.isValid=jX;m$.verify=EX;OX.exports=m$});var t6=L((sF)=>{var ZX=BX(),a6=RX(),nF=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];sF.ALGORITHMS=nF;sF.sign=ZX.sign;sF.verify=a6.verify;sF.decode=a6.decode;sF.isValid=a6.isValid;sF.createSign=function(J){return new ZX(J)};sF.createVerify=function(J){return new a6(J)}});var v9=L((WI,SX)=>{var Qz=t6();SX.exports=function($,J){J=J||{};var Q=Qz.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 b2=L((HI,CX)=>{var e6=function($,J){if(Error.call(this,$),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=$,J)this.inner=J};e6.prototype=Object.create(Error.prototype);e6.prototype.constructor=e6;CX.exports=e6});var h9=L((GI,PX)=>{var MX=b2(),$4=function($,J){MX.call(this,$),this.name="NotBeforeError",this.date=J};$4.prototype=Object.create(MX.prototype);$4.prototype.constructor=$4;PX.exports=$4});var g9=L((VI,IX)=>{var KX=b2(),J4=function($,J){KX.call(this,$),this.name="TokenExpiredError",this.expiredAt=J};J4.prototype=Object.create(KX.prototype);J4.prototype.constructor=J4;IX.exports=J4});var bX=L((UI,TX)=>{var l$=1000,c$=l$*60,d$=c$*60,J$=d$*24,Xz=J$*7,Yz=J$*365.25;TX.exports=function($,J){J=J||{};var Q=typeof $;if(Q==="string"&&$.length>0)return Wz($);else if(Q==="number"&&isFinite($))return J.long?Gz($):Hz($);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify($))};function Wz($){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*Yz;case"weeks":case"week":case"w":return Q*Xz;case"days":case"day":case"d":return Q*J$;case"hours":case"hour":case"hrs":case"hr":case"h":return Q*d$;case"minutes":case"minute":case"mins":case"min":case"m":return Q*c$;case"seconds":case"second":case"secs":case"sec":case"s":return Q*l$;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return Q;default:return}}function Hz($){var J=Math.abs($);if(J>=J$)return Math.round($/J$)+"d";if(J>=d$)return Math.round($/d$)+"h";if(J>=c$)return Math.round($/c$)+"m";if(J>=l$)return Math.round($/l$)+"s";return $+"ms"}function Gz($){var J=Math.abs($);if(J>=J$)return Q4($,J,J$,"day");if(J>=d$)return Q4($,J,d$,"hour");if(J>=c$)return Q4($,J,c$,"minute");if(J>=l$)return Q4($,J,l$,"second");return $+" ms"}function Q4($,J,Q,X){var Y=J>=Q*1.5;return Math.round($/Q)+" "+X+(Y?"s":"")}});var y9=L((qI,fX)=>{var Vz=bX();fX.exports=function($,J){var Q=J||Math.floor(Date.now()/1000);if(typeof $==="string"){var X=Vz($);if(typeof X>"u")return;return Math.floor(Q+X/1000)}else if(typeof $==="number")return Q+$;else return}});var f2=L((_I,kX)=>{var Uz=Number.MAX_SAFE_INTEGER||9007199254740991,qz=["major","premajor","minor","preminor","patch","prepatch","prerelease"];kX.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Uz,RELEASE_TYPES:qz,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var k2=L((DI,xX)=>{var _z=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...$)=>console.error("SEMVER",...$):()=>{};xX.exports=_z});var p$=L((q1,vX)=>{var{MAX_SAFE_COMPONENT_LENGTH:u9,MAX_SAFE_BUILD_LENGTH:Dz,MAX_LENGTH:Bz}=f2(),Fz=k2();q1=vX.exports={};var zz=q1.re=[],Nz=q1.safeRe=[],f=q1.src=[],wz=q1.safeSrc=[],k=q1.t={},Az=0,m9="[a-zA-Z0-9-]",jz=[["\\s",1],["\\d",Bz],[m9,Dz]],Ez=($)=>{for(let[J,Q]of jz)$=$.split(`${J}*`).join(`${J}{0,${Q}}`).split(`${J}+`).join(`${J}{1,${Q}}`);return $},i=($,J,Q)=>{let X=Ez(J),Y=Az++;Fz($,Y,J),k[$]=Y,f[Y]=J,wz[Y]=X,zz[Y]=new RegExp(J,Q?"g":void 0),Nz[Y]=new RegExp(X,Q?"g":void 0)};i("NUMERICIDENTIFIER","0|[1-9]\\d*");i("NUMERICIDENTIFIERLOOSE","\\d+");i("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${m9}*`);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",`${m9}+`);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,${u9}})(?:\\.(\\d{1,${u9}}))?(?:\\.(\\d{1,${u9}}))?`);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);q1.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);q1.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);q1.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 X4=L((BI,hX)=>{var Lz=Object.freeze({loose:!0}),Oz=Object.freeze({}),Rz=($)=>{if(!$)return Oz;if(typeof $!=="object")return Lz;return $};hX.exports=Rz});var l9=L((FI,uX)=>{var gX=/^[0-9]+$/,yX=($,J)=>{if(typeof $==="number"&&typeof J==="number")return $===J?0:$<J?-1:1;let Q=gX.test($),X=gX.test(J);if(Q&&X)$=+$,J=+J;return $===J?0:Q&&!X?-1:X&&!Q?1:$<J?-1:1},Zz=($,J)=>yX(J,$);uX.exports={compareIdentifiers:yX,rcompareIdentifiers:Zz}});var C0=L((zI,lX)=>{var Y4=k2(),{MAX_LENGTH:mX,MAX_SAFE_INTEGER:W4}=f2(),{safeRe:H4,t:G4}=p$(),Sz=X4(),{compareIdentifiers:c9}=l9();class t0{constructor($,J){if(J=Sz(J),$ instanceof t0)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>mX)throw TypeError(`version is longer than ${mX} characters`);Y4("SemVer",$,J),this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease;let Q=$.trim().match(J.loose?H4[G4.LOOSE]:H4[G4.FULL]);if(!Q)throw TypeError(`Invalid Version: ${$}`);if(this.raw=$,this.major=+Q[1],this.minor=+Q[2],this.patch=+Q[3],this.major>W4||this.major<0)throw TypeError("Invalid major version");if(this.minor>W4||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>W4||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<W4)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(Y4("SemVer.compare",this.version,this.options,$),!($ instanceof t0)){if(typeof $==="string"&&$===this.version)return 0;$=new t0($,this.options)}if($.version===this.version)return 0;return this.compareMain($)||this.comparePre($)}compareMain($){if(!($ instanceof t0))$=new t0($,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 t0))$=new t0($,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(Y4("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 c9(Q,X)}while(++J)}compareBuild($){if(!($ instanceof t0))$=new t0($,this.options);let J=0;do{let Q=this.build[J],X=$.build[J];if(Y4("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 c9(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?H4[G4.PRERELEASELOOSE]:H4[G4.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(c9(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}}lX.exports=t0});var Q$=L((NI,dX)=>{var cX=C0(),Cz=($,J,Q=!1)=>{if($ instanceof cX)return $;try{return new cX($,J)}catch(X){if(!Q)return null;throw X}};dX.exports=Cz});var iX=L((wI,pX)=>{var Mz=Q$(),Pz=($,J)=>{let Q=Mz($,J);return Q?Q.version:null};pX.exports=Pz});var sX=L((AI,nX)=>{var Kz=Q$(),Iz=($,J)=>{let Q=Kz($.trim().replace(/^[=v]+/,""),J);return Q?Q.version:null};nX.exports=Iz});var aX=L((jI,rX)=>{var oX=C0(),Tz=($,J,Q,X,Y)=>{if(typeof Q==="string")Y=X,X=Q,Q=void 0;try{return new oX($ instanceof oX?$.version:$,Q).inc(J,X,Y).version}catch(W){return null}};rX.exports=Tz});var $Y=L((EI,eX)=>{var tX=Q$(),bz=($,J)=>{let Q=tX($,null,!0),X=tX(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"};eX.exports=bz});var QY=L((LI,JY)=>{var fz=C0(),kz=($,J)=>new fz($,J).major;JY.exports=kz});var YY=L((OI,XY)=>{var xz=C0(),vz=($,J)=>new xz($,J).minor;XY.exports=vz});var HY=L((RI,WY)=>{var hz=C0(),gz=($,J)=>new hz($,J).patch;WY.exports=gz});var VY=L((ZI,GY)=>{var yz=Q$(),uz=($,J)=>{let Q=yz($,J);return Q&&Q.prerelease.length?Q.prerelease:null};GY.exports=uz});var v0=L((SI,qY)=>{var UY=C0(),mz=($,J,Q)=>new UY($,Q).compare(new UY(J,Q));qY.exports=mz});var DY=L((CI,_Y)=>{var lz=v0(),cz=($,J,Q)=>lz(J,$,Q);_Y.exports=cz});var FY=L((MI,BY)=>{var dz=v0(),pz=($,J)=>dz($,J,!0);BY.exports=pz});var V4=L((PI,NY)=>{var zY=C0(),iz=($,J,Q)=>{let X=new zY($,Q),Y=new zY(J,Q);return X.compare(Y)||X.compareBuild(Y)};NY.exports=iz});var AY=L((KI,wY)=>{var nz=V4(),sz=($,J)=>$.sort((Q,X)=>nz(Q,X,J));wY.exports=sz});var EY=L((II,jY)=>{var oz=V4(),rz=($,J)=>$.sort((Q,X)=>oz(X,Q,J));jY.exports=rz});var x2=L((TI,LY)=>{var az=v0(),tz=($,J,Q)=>az($,J,Q)>0;LY.exports=tz});var U4=L((bI,OY)=>{var ez=v0(),$N=($,J,Q)=>ez($,J,Q)<0;OY.exports=$N});var d9=L((fI,RY)=>{var JN=v0(),QN=($,J,Q)=>JN($,J,Q)===0;RY.exports=QN});var p9=L((kI,ZY)=>{var XN=v0(),YN=($,J,Q)=>XN($,J,Q)!==0;ZY.exports=YN});var q4=L((xI,SY)=>{var WN=v0(),HN=($,J,Q)=>WN($,J,Q)>=0;SY.exports=HN});var _4=L((vI,CY)=>{var GN=v0(),VN=($,J,Q)=>GN($,J,Q)<=0;CY.exports=VN});var i9=L((hI,MY)=>{var UN=d9(),qN=p9(),_N=x2(),DN=q4(),BN=U4(),FN=_4(),zN=($,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 UN($,Q,X);case"!=":return qN($,Q,X);case">":return _N($,Q,X);case">=":return DN($,Q,X);case"<":return BN($,Q,X);case"<=":return FN($,Q,X);default:throw TypeError(`Invalid operator: ${J}`)}};MY.exports=zN});var KY=L((gI,PY)=>{var NN=C0(),wN=Q$(),{safeRe:D4,t:B4}=p$(),AN=($,J)=>{if($ instanceof NN)return $;if(typeof $==="number")$=String($);if(typeof $!=="string")return null;J=J||{};let Q=null;if(!J.rtl)Q=$.match(J.includePrerelease?D4[B4.COERCEFULL]:D4[B4.COERCE]);else{let V=J.includePrerelease?D4[B4.COERCERTLFULL]:D4[B4.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 wN(`${X}.${Y}.${W}${H}${G}`,J)};PY.exports=AN});var bY=L((yI,TY)=>{class IY{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}}TY.exports=IY});var h0=L((uI,vY)=>{var jN=/\s+/g;class v2{constructor($,J){if(J=LN(J),$ instanceof v2)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else return new v2($.raw,J);if($ instanceof n9)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(jN," "),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)=>!kY(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&&PN(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&&CN)|(this.options.loose&&MN))+":"+$,X=fY.get(Q);if(X)return X;let Y=this.options.loose,W=Y?K0[M0.HYPHENRANGELOOSE]:K0[M0.HYPHENRANGE];$=$.replace(W,gN(this.options.includePrerelease)),V0("hyphen replace",$),$=$.replace(K0[M0.COMPARATORTRIM],RN),V0("comparator trim",$),$=$.replace(K0[M0.TILDETRIM],ZN),V0("tilde trim",$),$=$.replace(K0[M0.CARETTRIM],SN),V0("caret trim",$);let H=$.split(" ").map((q)=>KN(q,this.options)).join(" ").split(/\s+/).map((q)=>hN(q,this.options));if(Y)H=H.filter((q)=>{return V0("loose invalid filter",q,this.options),!!q.match(K0[M0.COMPARATORLOOSE])});V0("range list",H);let G=new Map,V=H.map((q)=>new n9(q,this.options));for(let q of V){if(kY(q))return[q];G.set(q.value,q)}if(G.size>1&&G.has(""))G.delete("");let U=[...G.values()];return fY.set(Q,U),U}intersects($,J){if(!($ instanceof v2))throw TypeError("a Range is required");return this.set.some((Q)=>{return xY(Q,J)&&$.set.some((X)=>{return xY(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(yN(this.set[J],$,this.options))return!0;return!1}}vY.exports=v2;var EN=bY(),fY=new EN,LN=X4(),n9=h2(),V0=k2(),ON=C0(),{safeRe:K0,t:M0,comparatorTrimReplace:RN,tildeTrimReplace:ZN,caretTrimReplace:SN}=p$(),{FLAG_INCLUDE_PRERELEASE:CN,FLAG_LOOSE:MN}=f2(),kY=($)=>$.value==="<0.0.0-0",PN=($)=>$.value==="",xY=($,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},KN=($,J)=>{return $=$.replace(K0[M0.BUILD],""),V0("comp",$,J),$=bN($,J),V0("caret",$),$=IN($,J),V0("tildes",$),$=kN($,J),V0("xrange",$),$=vN($,J),V0("stars",$),$},I0=($)=>!$||$.toLowerCase()==="x"||$==="*",IN=($,J)=>{return $.trim().split(/\s+/).map((Q)=>TN(Q,J)).join(" ")},TN=($,J)=>{let Q=J.loose?K0[M0.TILDELOOSE]:K0[M0.TILDE];return $.replace(Q,(X,Y,W,H,G)=>{V0("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)V0("replaceTilde pr",G),V=`>=${Y}.${W}.${H}-${G} <${Y}.${+W+1}.0-0`;else V=`>=${Y}.${W}.${H} <${Y}.${+W+1}.0-0`;return V0("tilde return",V),V})},bN=($,J)=>{return $.trim().split(/\s+/).map((Q)=>fN(Q,J)).join(" ")},fN=($,J)=>{V0("caret",$,J);let Q=J.loose?K0[M0.CARETLOOSE]:K0[M0.CARET],X=J.includePrerelease?"-0":"";return $.replace(Q,(Y,W,H,G,V)=>{V0("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(V0("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(V0("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 V0("caret return",U),U})},kN=($,J)=>{return V0("replaceXRanges",$,J),$.split(/\s+/).map((Q)=>xN(Q,J)).join(" ")},xN=($,J)=>{$=$.trim();let Q=J.loose?K0[M0.XRANGELOOSE]:K0[M0.XRANGE];return $.replace(Q,(X,Y,W,H,G,V)=>{V0("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 V0("xRange return",X),X})},vN=($,J)=>{return V0("replaceStars",$,J),$.trim().replace(K0[M0.STAR],"")},hN=($,J)=>{return V0("replaceGTE0",$,J),$.trim().replace(K0[J.includePrerelease?M0.GTE0PRE:M0.GTE0],"")},gN=($)=>(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()},yN=($,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(V0($[X].semver),$[X].semver===n9.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 h2=L((mI,lY)=>{var g2=Symbol("SemVer ANY");class F4{static get ANY(){return g2}constructor($,J){if(J=hY(J),$ instanceof F4)if($.loose===!!J.loose)return $;else $=$.value;if($=$.trim().split(/\s+/).join(" "),o9("comparator",$,J),this.options=J,this.loose=!!J.loose,this.parse($),this.semver===g2)this.value="";else this.value=this.operator+this.semver.version;o9("comp",this)}parse($){let J=this.options.loose?gY[yY.COMPARATORLOOSE]:gY[yY.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=g2;else this.semver=new uY(Q[2],this.options.loose)}toString(){return this.value}test($){if(o9("Comparator.test",$,this.options.loose),this.semver===g2||$===g2)return!0;if(typeof $==="string")try{$=new uY($,this.options)}catch(J){return!1}return s9($,this.operator,this.semver,this.options)}intersects($,J){if(!($ instanceof F4))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new mY($.value,J).test(this.value)}else if($.operator===""){if($.value==="")return!0;return new mY(this.value,J).test($.semver)}if(J=hY(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(s9(this.semver,"<",$.semver,J)&&this.operator.startsWith(">")&&$.operator.startsWith("<"))return!0;if(s9(this.semver,">",$.semver,J)&&this.operator.startsWith("<")&&$.operator.startsWith(">"))return!0;return!1}}lY.exports=F4;var hY=X4(),{safeRe:gY,t:yY}=p$(),s9=i9(),o9=k2(),uY=C0(),mY=h0()});var y2=L((lI,cY)=>{var uN=h0(),mN=($,J,Q)=>{try{J=new uN(J,Q)}catch(X){return!1}return J.test($)};cY.exports=mN});var pY=L((cI,dY)=>{var lN=h0(),cN=($,J)=>new lN($,J).set.map((Q)=>Q.map((X)=>X.value).join(" ").trim().split(" "));dY.exports=cN});var nY=L((dI,iY)=>{var dN=C0(),pN=h0(),iN=($,J,Q)=>{let X=null,Y=null,W=null;try{W=new pN(J,Q)}catch(H){return null}return $.forEach((H)=>{if(W.test(H)){if(!X||Y.compare(H)===-1)X=H,Y=new dN(X,Q)}}),X};iY.exports=iN});var oY=L((pI,sY)=>{var nN=C0(),sN=h0(),oN=($,J,Q)=>{let X=null,Y=null,W=null;try{W=new sN(J,Q)}catch(H){return null}return $.forEach((H)=>{if(W.test(H)){if(!X||Y.compare(H)===1)X=H,Y=new nN(X,Q)}}),X};sY.exports=oN});var tY=L((iI,aY)=>{var r9=C0(),rN=h0(),rY=x2(),aN=($,J)=>{$=new rN($,J);let Q=new r9("0.0.0");if($.test(Q))return Q;if(Q=new r9("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 r9(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||rY(G,W))W=G;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${H.operator}`)}}),W&&(!Q||rY(Q,W)))Q=W}if(Q&&$.test(Q))return Q;return null};aY.exports=aN});var $W=L((nI,eY)=>{var tN=h0(),eN=($,J)=>{try{return new tN($,J).range||"*"}catch(Q){return null}};eY.exports=eN});var z4=L((sI,YW)=>{var $w=C0(),XW=h2(),{ANY:Jw}=XW,Qw=h0(),Xw=y2(),JW=x2(),QW=U4(),Yw=_4(),Ww=q4(),Hw=($,J,Q,X)=>{$=new $w($,X),J=new Qw(J,X);let Y,W,H,G,V;switch(Q){case">":Y=JW,W=Yw,H=QW,G=">",V=">=";break;case"<":Y=QW,W=Ww,H=JW,G="<",V="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(Xw($,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===Jw)B=new XW(">=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};YW.exports=Hw});var HW=L((oI,WW)=>{var Gw=z4(),Vw=($,J,Q)=>Gw($,J,">",Q);WW.exports=Vw});var VW=L((rI,GW)=>{var Uw=z4(),qw=($,J,Q)=>Uw($,J,"<",Q);GW.exports=qw});var _W=L((aI,qW)=>{var UW=h0(),_w=($,J,Q)=>{return $=new UW($,Q),J=new UW(J,Q),$.intersects(J,Q)};qW.exports=_w});var BW=L((tI,DW)=>{var Dw=y2(),Bw=v0();DW.exports=($,J,Q)=>{let X=[],Y=null,W=null,H=$.sort((q,_)=>Bw(q,_,Q));for(let q of H)if(Dw(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 jW=L((eI,AW)=>{var FW=h0(),t9=h2(),{ANY:a9}=t9,u2=y2(),e9=v0(),Fw=($,J,Q={})=>{if($===J)return!0;$=new FW($,Q),J=new FW(J,Q);let X=!1;$:for(let Y of $.set){for(let W of J.set){let H=Nw(Y,W,Q);if(X=X||H!==null,H)continue $}if(X)return!1}return!0},zw=[new t9(">=0.0.0-0")],zW=[new t9(">=0.0.0")],Nw=($,J,Q)=>{if($===J)return!0;if($.length===1&&$[0].semver===a9)if(J.length===1&&J[0].semver===a9)return!0;else if(Q.includePrerelease)$=zw;else $=zW;if(J.length===1&&J[0].semver===a9)if(Q.includePrerelease)return!0;else J=zW;let X=new Set,Y,W;for(let B of $)if(B.operator===">"||B.operator===">=")Y=NW(Y,B,Q);else if(B.operator==="<"||B.operator==="<=")W=wW(W,B,Q);else X.add(B.semver);if(X.size>1)return null;let H;if(Y&&W){if(H=e9(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&&!u2(B,String(Y),Q))return null;if(W&&!u2(B,String(W),Q))return null;for(let D of J)if(!u2(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=NW(Y,B,Q),G===B&&G!==Y)return!1}else if(Y.operator===">="&&!u2(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=wW(W,B,Q),V===B&&V!==W)return!1}else if(W.operator==="<="&&!u2(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},NW=($,J,Q)=>{if(!$)return J;let X=e9($.semver,J.semver,Q);return X>0?$:X<0?J:J.operator===">"&&$.operator===">="?J:$},wW=($,J,Q)=>{if(!$)return J;let X=e9($.semver,J.semver,Q);return X<0?$:X>0?J:J.operator==="<"&&$.operator==="<="?J:$};AW.exports=Fw});var N4=L(($T,OW)=>{var $5=p$(),EW=f2(),ww=C0(),LW=l9(),Aw=Q$(),jw=iX(),Ew=sX(),Lw=aX(),Ow=$Y(),Rw=QY(),Zw=YY(),Sw=HY(),Cw=VY(),Mw=v0(),Pw=DY(),Kw=FY(),Iw=V4(),Tw=AY(),bw=EY(),fw=x2(),kw=U4(),xw=d9(),vw=p9(),hw=q4(),gw=_4(),yw=i9(),uw=KY(),mw=h2(),lw=h0(),cw=y2(),dw=pY(),pw=nY(),iw=oY(),nw=tY(),sw=$W(),ow=z4(),rw=HW(),aw=VW(),tw=_W(),ew=BW(),$A=jW();OW.exports={parse:Aw,valid:jw,clean:Ew,inc:Lw,diff:Ow,major:Rw,minor:Zw,patch:Sw,prerelease:Cw,compare:Mw,rcompare:Pw,compareLoose:Kw,compareBuild:Iw,sort:Tw,rsort:bw,gt:fw,lt:kw,eq:xw,neq:vw,gte:hw,lte:gw,cmp:yw,coerce:uw,Comparator:mw,Range:lw,satisfies:cw,toComparators:dw,maxSatisfying:pw,minSatisfying:iw,minVersion:nw,validRange:sw,outside:ow,gtr:rw,ltr:aw,intersects:tw,simplifyRange:ew,subset:$A,SemVer:ww,re:$5.re,src:$5.src,tokens:$5.t,SEMVER_SPEC_VERSION:EW.SEMVER_SPEC_VERSION,RELEASE_TYPES:EW.RELEASE_TYPES,compareIdentifiers:LW.compareIdentifiers,rcompareIdentifiers:LW.rcompareIdentifiers}});var ZW=L((JT,RW)=>{var JA=N4();RW.exports=JA.satisfies(process.version,">=15.7.0")});var CW=L((QT,SW)=>{var QA=N4();SW.exports=QA.satisfies(process.version,">=16.9.0")});var J5=L((XT,MW)=>{var XA=ZW(),YA=CW(),WA={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},HA={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};MW.exports=function($,J){if(!$||!J)return;let Q=J.asymmetricKeyType;if(!Q)return;let X=WA[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(XA)switch(Q){case"ec":let Y=J.asymmetricKeyDetails.namedCurve,W=HA[$];if(Y!==W)throw Error(`"alg" parameter "${$}" requires curve "${W}".`);break;case"rsa-pss":if(YA){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 Q5=L((YT,PW)=>{var GA=N4();PW.exports=GA.satisfies(process.version,"^6.12.0 || >=8.0.0")});var TW=L((WT,IW)=>{var H0=b2(),VA=h9(),KW=g9(),UA=v9(),qA=y9(),_A=J5(),DA=Q5(),BA=t6(),{KeyObject:FA,createSecretKey:zA,createPublicKey:NA}=o("crypto"),X5=["RS256","RS384","RS512"],wA=["ES256","ES384","ES512"],Y5=["RS256","RS384","RS512"],AA=["HS256","HS384","HS512"];if(DA)X5.splice(X5.length,0,"PS256","PS384","PS512"),Y5.splice(Y5.length,0,"PS256","PS384","PS512");IW.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 H0("clockTimestamp must be a number"));if(Q.nonce!==void 0&&(typeof Q.nonce!=="string"||Q.nonce.trim()===""))return Y(new H0("nonce must be a non-empty string"));if(Q.allowInvalidAsymmetricKeyTypes!==void 0&&typeof Q.allowInvalidAsymmetricKeyTypes!=="boolean")return Y(new H0("allowInvalidAsymmetricKeyTypes must be a boolean"));let W=Q.clockTimestamp||Math.floor(Date.now()/1000);if(!$)return Y(new H0("jwt must be provided"));if(typeof $!=="string")return Y(new H0("jwt must be a string"));let H=$.split(".");if(H.length!==3)return Y(new H0("jwt malformed"));let G;try{G=UA($,{complete:!0})}catch(q){return Y(q)}if(!G)return Y(new H0("invalid token"));let V=G.header,U;if(typeof J==="function"){if(!X)return Y(new H0("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 H0("error in secret or public key callback: "+q.message));let F=H[2].trim()!=="";if(!F&&_)return Y(new H0("jwt signature is required"));if(F&&!_)return Y(new H0("secret or public key must be provided"));if(!F&&!Q.algorithms)return Y(new H0('please specify "none" in "algorithms" to verify unsigned tokens'));if(_!=null&&!(_ instanceof FA))try{_=NA(_)}catch(A){try{_=zA(typeof _==="string"?Buffer.from(_):_)}catch(Z){return Y(new H0("secretOrPublicKey is not valid key material"))}}if(!Q.algorithms)if(_.type==="secret")Q.algorithms=AA;else if(["rsa","rsa-pss"].includes(_.asymmetricKeyType))Q.algorithms=Y5;else if(_.asymmetricKeyType==="ec")Q.algorithms=wA;else Q.algorithms=X5;if(Q.algorithms.indexOf(G.header.alg)===-1)return Y(new H0("invalid algorithm"));if(V.alg.startsWith("HS")&&_.type!=="secret")return Y(new H0(`secretOrPublicKey must be a symmetric key when using ${V.alg}`));else if(/^(?:RS|PS|ES)/.test(V.alg)&&_.type!=="public")return Y(new H0(`secretOrPublicKey must be an asymmetric key when using ${V.alg}`));if(!Q.allowInvalidAsymmetricKeyTypes)try{_A(V.alg,_)}catch(A){return Y(A)}let B;try{B=BA.verify($,G.header.alg,_)}catch(A){return Y(A)}if(!B)return Y(new H0("invalid signature"));let D=G.payload;if(typeof D.nbf<"u"&&!Q.ignoreNotBefore){if(typeof D.nbf!=="number")return Y(new H0("invalid nbf value"));if(D.nbf>W+(Q.clockTolerance||0))return Y(new VA("jwt not active",new Date(D.nbf*1000)))}if(typeof D.exp<"u"&&!Q.ignoreExpiration){if(typeof D.exp!=="number")return Y(new H0("invalid exp value"));if(W>=D.exp+(Q.clockTolerance||0))return Y(new KW("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 H0("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 H0("jwt issuer invalid. expected: "+Q.issuer))}if(Q.subject){if(D.sub!==Q.subject)return Y(new H0("jwt subject invalid. expected: "+Q.subject))}if(Q.jwtid){if(D.jti!==Q.jwtid)return Y(new H0("jwt jwtid invalid. expected: "+Q.jwtid))}if(Q.nonce){if(D.nonce!==Q.nonce)return Y(new H0("jwt nonce invalid. expected: "+Q.nonce))}if(Q.maxAge){if(typeof D.iat!=="number")return Y(new H0("iat required when maxAge is specified"));let A=qA(Q.maxAge,D.iat);if(typeof A>"u")return Y(new H0('"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 KW("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 hW=L((HT,vW)=>{var bW=1/0,kW=9007199254740991,jA=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,fW=NaN,EA="[object Arguments]",LA="[object Function]",OA="[object GeneratorFunction]",RA="[object String]",ZA="[object Symbol]",SA=/^\s+|\s+$/g,CA=/^[-+]0x[0-9a-f]+$/i,MA=/^0b[01]+$/i,PA=/^0o[0-7]+$/i,KA=/^(?:0|[1-9]\d*)$/,IA=parseInt;function TA($,J){var Q=-1,X=$?$.length:0,Y=Array(X);while(++Q<X)Y[Q]=J($[Q],Q,$);return Y}function bA($,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 fA($,J,Q){if(J!==J)return bA($,kA,Q);var X=Q-1,Y=$.length;while(++X<Y)if($[X]===J)return X;return-1}function kA($){return $!==$}function xA($,J){var Q=-1,X=Array($);while(++Q<$)X[Q]=J(Q);return X}function vA($,J){return TA(J,function(Q){return $[Q]})}function hA($,J){return function(Q){return $(J(Q))}}var w4=Object.prototype,H5=w4.hasOwnProperty,A4=w4.toString,gA=w4.propertyIsEnumerable,yA=hA(Object.keys,Object),uA=Math.max;function mA($,J){var Q=xW($)||iA($)?xA($.length,String):[],X=Q.length,Y=!!X;for(var W in $)if((J||H5.call($,W))&&!(Y&&(W=="length"||cA(W,X))))Q.push(W);return Q}function lA($){if(!dA($))return yA($);var J=[];for(var Q in Object($))if(H5.call($,Q)&&Q!="constructor")J.push(Q);return J}function cA($,J){return J=J==null?kW:J,!!J&&(typeof $=="number"||KA.test($))&&($>-1&&$%1==0&&$<J)}function dA($){var J=$&&$.constructor,Q=typeof J=="function"&&J.prototype||w4;return $===Q}function pA($,J,Q,X){$=G5($)?$:Qj($),Q=Q&&!X?eA(Q):0;var Y=$.length;if(Q<0)Q=uA(Y+Q,0);return rA($)?Q<=Y&&$.indexOf(J,Q)>-1:!!Y&&fA($,J,Q)>-1}function iA($){return nA($)&&H5.call($,"callee")&&(!gA.call($,"callee")||A4.call($)==EA)}var xW=Array.isArray;function G5($){return $!=null&&oA($.length)&&!sA($)}function nA($){return V5($)&&G5($)}function sA($){var J=W5($)?A4.call($):"";return J==LA||J==OA}function oA($){return typeof $=="number"&&$>-1&&$%1==0&&$<=kW}function W5($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function V5($){return!!$&&typeof $=="object"}function rA($){return typeof $=="string"||!xW($)&&V5($)&&A4.call($)==RA}function aA($){return typeof $=="symbol"||V5($)&&A4.call($)==ZA}function tA($){if(!$)return $===0?$:0;if($=$j($),$===bW||$===-bW){var J=$<0?-1:1;return J*jA}return $===$?$:0}function eA($){var J=tA($),Q=J%1;return J===J?Q?J-Q:J:0}function $j($){if(typeof $=="number")return $;if(aA($))return fW;if(W5($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=W5(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(SA,"");var Q=MA.test($);return Q||PA.test($)?IA($.slice(2),Q?2:8):CA.test($)?fW:+$}function Jj($){return G5($)?mA($):lA($)}function Qj($){return $?vA($,Jj($)):[]}vW.exports=pA});var yW=L((GT,gW)=>{var Xj="[object Boolean]",Yj=Object.prototype,Wj=Yj.toString;function Hj($){return $===!0||$===!1||Gj($)&&Wj.call($)==Xj}function Gj($){return!!$&&typeof $=="object"}gW.exports=Hj});var dW=L((VT,cW)=>{var uW=1/0,Vj=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,mW=NaN,Uj="[object Symbol]",qj=/^\s+|\s+$/g,_j=/^[-+]0x[0-9a-f]+$/i,Dj=/^0b[01]+$/i,Bj=/^0o[0-7]+$/i,Fj=parseInt,zj=Object.prototype,Nj=zj.toString;function wj($){return typeof $=="number"&&$==Lj($)}function lW($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function Aj($){return!!$&&typeof $=="object"}function jj($){return typeof $=="symbol"||Aj($)&&Nj.call($)==Uj}function Ej($){if(!$)return $===0?$:0;if($=Oj($),$===uW||$===-uW){var J=$<0?-1:1;return J*Vj}return $===$?$:0}function Lj($){var J=Ej($),Q=J%1;return J===J?Q?J-Q:J:0}function Oj($){if(typeof $=="number")return $;if(jj($))return mW;if(lW($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=lW(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(qj,"");var Q=Dj.test($);return Q||Bj.test($)?Fj($.slice(2),Q?2:8):_j.test($)?mW:+$}cW.exports=wj});var iW=L((UT,pW)=>{var Rj="[object Number]",Zj=Object.prototype,Sj=Zj.toString;function Cj($){return!!$&&typeof $=="object"}function Mj($){return typeof $=="number"||Cj($)&&Sj.call($)==Rj}pW.exports=Mj});var rW=L((qT,oW)=>{var Pj="[object Object]";function Kj($){var J=!1;if($!=null&&typeof $.toString!="function")try{J=!!($+"")}catch(Q){}return J}function Ij($,J){return function(Q){return $(J(Q))}}var Tj=Function.prototype,nW=Object.prototype,sW=Tj.toString,bj=nW.hasOwnProperty,fj=sW.call(Object),kj=nW.toString,xj=Ij(Object.getPrototypeOf,Object);function vj($){return!!$&&typeof $=="object"}function hj($){if(!vj($)||kj.call($)!=Pj||Kj($))return!1;var J=xj($);if(J===null)return!0;var Q=bj.call(J,"constructor")&&J.constructor;return typeof Q=="function"&&Q instanceof Q&&sW.call(Q)==fj}oW.exports=hj});var tW=L((_T,aW)=>{var gj="[object String]",yj=Object.prototype,uj=yj.toString,mj=Array.isArray;function lj($){return!!$&&typeof $=="object"}function cj($){return typeof $=="string"||!mj($)&&lj($)&&uj.call($)==gj}aW.exports=cj});var XH=L((DT,QH)=>{var dj="Expected a function",eW=1/0,pj=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,$H=NaN,ij="[object Symbol]",nj=/^\s+|\s+$/g,sj=/^[-+]0x[0-9a-f]+$/i,oj=/^0b[01]+$/i,rj=/^0o[0-7]+$/i,aj=parseInt,tj=Object.prototype,ej=tj.toString;function $E($,J){var Q;if(typeof J!="function")throw TypeError(dj);return $=WE($),function(){if(--$>0)Q=J.apply(this,arguments);if($<=1)J=void 0;return Q}}function JE($){return $E(2,$)}function JH($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function QE($){return!!$&&typeof $=="object"}function XE($){return typeof $=="symbol"||QE($)&&ej.call($)==ij}function YE($){if(!$)return $===0?$:0;if($=HE($),$===eW||$===-eW){var J=$<0?-1:1;return J*pj}return $===$?$:0}function WE($){var J=YE($),Q=J%1;return J===J?Q?J-Q:J:0}function HE($){if(typeof $=="number")return $;if(XE($))return $H;if(JH($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=JH(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(nj,"");var Q=oj.test($);return Q||rj.test($)?aj($.slice(2),Q?2:8):sj.test($)?$H:+$}QH.exports=JE});var DH=L((BT,_H)=>{var YH=y9(),GE=Q5(),VE=J5(),WH=t6(),UE=hW(),j4=yW(),HH=dW(),U5=iW(),VH=rW(),T1=tW(),qE=XH(),{KeyObject:_E,createSecretKey:DE,createPrivateKey:BE}=o("crypto"),UH=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(GE)UH.splice(3,0,"PS256","PS384","PS512");var FE={expiresIn:{isValid:function($){return HH($)||T1($)&&$},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function($){return HH($)||T1($)&&$},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function($){return T1($)||Array.isArray($)},message:'"audience" must be a string or array'},algorithm:{isValid:UE.bind(null,UH),message:'"algorithm" must be a valid string enum value'},header:{isValid:VH,message:'"header" must be an object'},encoding:{isValid:T1,message:'"encoding" must be a string'},issuer:{isValid:T1,message:'"issuer" must be a string'},subject:{isValid:T1,message:'"subject" must be a string'},jwtid:{isValid:T1,message:'"jwtid" must be a string'},noTimestamp:{isValid:j4,message:'"noTimestamp" must be a boolean'},keyid:{isValid:T1,message:'"keyid" must be a string'},mutatePayload:{isValid:j4,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:j4,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:j4,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},zE={iat:{isValid:U5,message:'"iat" should be a number of seconds'},exp:{isValid:U5,message:'"exp" should be a number of seconds'},nbf:{isValid:U5,message:'"nbf" should be a number of seconds'}};function qH($,J,Q,X){if(!VH(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 NE($){return qH(FE,!1,$,"options")}function wE($){return qH(zE,!0,$,"payload")}var GH={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},AE=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];_H.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 _E))try{J=BE(J)}catch(U){try{J=DE(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{wE($)}catch(U){return H(U)}if(!Q.mutatePayload)$=Object.assign({},$)}else{let U=AE.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{NE(Q)}catch(U){return H(U)}if(!Q.allowInvalidAsymmetricKeyTypes)try{VE(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=YH(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=YH(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(GH).forEach(function(U){let q=GH[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&&qE(X),WH.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=WH.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 FH=L((FT,BH)=>{BH.exports={decode:v9(),verify:TW(),sign:DH(),JsonWebTokenError:b2(),NotBeforeError:h9(),TokenExpiredError:g9()}});var SH={};A1(SH,{setGlobalTransactionManager:()=>J1,getGlobalTransactionManager:()=>x1,InMemoryTransactionManager:()=>n$,BaseTransactionManager:()=>_1});class _1{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 J1($){Z4=$}function x1(){if(!Z4)Z4=new n$;return Z4}var n$,Z4=null;var g0=X0(()=>{n$=class n$ extends _1{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 eH="veloce:corsHeaders";function g1($,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 x4($){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 $2($){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 v4($){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 Y2;function u_(){if(Y2!==void 0)return Y2;try{Y2=kJ()}catch{Y2=null}return Y2}class xJ{logger;constructor($){let J=u_(),Q=!0;if(!J){this.logger=new W1($);return}this.logger=J({level:$?.level||"debug"})}trace($,J){if(this.logger instanceof W1){this.logger.trace($,J);return}this.logger.trace(J||{},$)}debug($,J){if(this.logger instanceof W1){this.logger.debug($,J);return}this.logger.debug(J||{},$)}info($,J){if(this.logger instanceof W1){this.logger.info($,J);return}this.logger.info(J||{},$)}warn($,J){if(this.logger instanceof W1){this.logger.warn($,J);return}this.logger.warn(J||{},$)}error($,J,Q){if(this.logger instanceof W1){this.logger.error($,J,Q);return}this.logger.error({err:J,...Q},$)}fatal($,J,Q){if(this.logger instanceof W1){this.logger.fatal($,J,Q);return}this.logger.fatal({err:J,...Q},$)}child($){if(this.logger instanceof W1)return this.logger.child($);return new K8(this.logger.child($))}}class K8{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 K8(this.logger.child($))}}class W1{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 W1({level:this.level},{...this.ctx,...$})}}function vJ($){return new xJ($)}var W2=null;function $O($){return W2=vJ($),W2}function c0(){if(!W2)W2=vJ({pretty:!0,level:"debug"});return W2}function D$($){return c0().child($)}function XO(){return async($,J)=>{let Q=D$({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 YO(){return async($,J)=>{try{await J()}catch(Q){throw D$({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 m_($={}){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=o2(W,{requestId:G,timeout:J}),U=Q?c0().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=r2(W);U.info("Request completed",{status:W.res.status,duration:`${q}ms`})}}catch(q){if(U){let _=r2(W);U.error("Request failed",q,{duration:`${_}ms`})}throw q}finally{a2(W)}}}function l_(){return async($,J)=>{let Q=$.req.header("x-request-id")||o2($).requestId;$.header("x-request-id",Q);try{await J()}finally{a2($)}}}H2();function c_($){let{ttl:J,key:Q,prefix:X,includeQuery:Y=!1,varyByHeaders:W,condition:H,store:G,onlySuccess:V=!0}=$,U=B$(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 d_($,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 cJ=Symbol("Let zodToJsonSchema decide on which parser to use");var lJ={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"},dJ=($)=>typeof $==="string"?{...lJ,name:$}:{...lJ,...$};var pJ=($)=>{let J=dJ($),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 b8($,J,Q,X){if(!X?.errorMessages)return;if(Q)$.errorMessage={...$.errorMessage,[J]:Q}}function $0($,J,Q,X,Y){$[J]=Q,b8($,J,X,Y)}var w6=($,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={};A1(w,{void:()=>PD,util:()=>t,unknown:()=>CD,union:()=>bD,undefined:()=>RD,tuple:()=>xD,transformer:()=>pD,symbol:()=>OD,string:()=>$3,strictObject:()=>TD,setErrorMap:()=>n_,set:()=>gD,record:()=>vD,quotelessJson:()=>p_,promise:()=>dD,preprocess:()=>sD,pipeline:()=>oD,ostring:()=>rD,optional:()=>iD,onumber:()=>aD,oboolean:()=>tD,objectUtil:()=>f8,object:()=>ID,number:()=>J3,nullable:()=>nD,null:()=>ZD,never:()=>MD,nativeEnum:()=>cD,nan:()=>jD,map:()=>hD,makeIssue:()=>G2,literal:()=>mD,lazy:()=>uD,late:()=>wD,isValid:()=>L1,isDirty:()=>j6,isAsync:()=>z$,isAborted:()=>A6,intersection:()=>kD,instanceof:()=>AD,getParsedType:()=>H1,getErrorMap:()=>F$,function:()=>yD,enum:()=>lD,effect:()=>pD,discriminatedUnion:()=>fD,defaultErrorMap:()=>D1,datetimeRegex:()=>aJ,date:()=>LD,custom:()=>eJ,coerce:()=>eD,boolean:()=>Q3,bigint:()=>ED,array:()=>KD,any:()=>SD,addIssueToContext:()=>I,ZodVoid:()=>U2,ZodUnknown:()=>O1,ZodUnion:()=>L$,ZodUndefined:()=>j$,ZodType:()=>r,ZodTuple:()=>V1,ZodTransformer:()=>s0,ZodSymbol:()=>V2,ZodString:()=>d0,ZodSet:()=>i1,ZodSchema:()=>r,ZodRecord:()=>q2,ZodReadonly:()=>P$,ZodPromise:()=>n1,ZodPipeline:()=>B2,ZodParsedType:()=>M,ZodOptional:()=>i0,ZodObject:()=>D0,ZodNumber:()=>R1,ZodNullable:()=>F1,ZodNull:()=>E$,ZodNever:()=>G1,ZodNativeEnum:()=>S$,ZodNaN:()=>D2,ZodMap:()=>_2,ZodLiteral:()=>Z$,ZodLazy:()=>R$,ZodIssueCode:()=>O,ZodIntersection:()=>O$,ZodFunction:()=>w$,ZodFirstPartyTypeKind:()=>R,ZodError:()=>L0,ZodEnum:()=>S1,ZodEffects:()=>s0,ZodDiscriminatedUnion:()=>E6,ZodDefault:()=>C$,ZodDate:()=>d1,ZodCatch:()=>M$,ZodBranded:()=>L6,ZodBoolean:()=>A$,ZodBigInt:()=>Z1,ZodArray:()=>p0,ZodAny:()=>p1,Schema:()=>r,ParseStatus:()=>O0,OK:()=>Z0,NEVER:()=>$B,INVALID:()=>m,EMPTY_PATH:()=>s_,DIRTY:()=>c1,BRAND:()=>ND});var t;(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}})(t||(t={}));var f8;(function($){$.mergeShapes=(J,Q)=>{return{...J,...Q}}})(f8||(f8={}));var M=t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),H1=($)=>{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=t.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"]),p_=($)=>{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,t.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 i_=($,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,t.jsonStringifyReplacer)}`;break;case O.unrecognized_keys:Q=`Unrecognized key(s) in object: ${t.joinValues($.keys,", ")}`;break;case O.invalid_union:Q="Invalid input";break;case O.invalid_union_discriminator:Q=`Invalid discriminator value. Expected ${t.joinValues($.options)}`;break;case O.invalid_enum_value:Q=`Invalid enum value. Expected ${t.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 t.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,t.assertNever($)}return{message:Q}},D1=i_;var iJ=D1;function n_($){iJ=$}function F$(){return iJ}var G2=($)=>{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}},s_=[];function I($,J){let Q=F$(),X=G2({issueData:J,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,Q,Q===D1?void 0:D1].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"}),c1=($)=>({status:"dirty",value:$}),Z0=($)=>({status:"valid",value:$}),A6=($)=>$.status==="aborted",j6=($)=>$.status==="dirty",L1=($)=>$.status==="valid",z$=($)=>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 n0{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 nJ=($,J)=>{if(L1(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 r{get description(){return this._def.description}_getType($){return H1($.data)}_getOrReturnCtx($,J){return J||{common:$.parent.common,data:$.data,parsedType:H1($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new O0,ctx:{common:$.parent.common,data:$.data,parsedType:H1($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let J=this._parse($);if(z$(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:H1($)},X=this._parseSync({data:$,path:Q.path,parent:Q});return nJ(Q,X)}"~validate"($){let J={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:H1($)};if(!this["~standard"].async)try{let Q=this._parseSync({data:$,path:[],parent:J});return L1(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)=>L1(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:H1($)},X=this._parse({data:$,path:Q.path,parent:Q}),Y=await(z$(X)?X:Promise.resolve(X));return nJ(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 s0({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 i0.create(this,this._def)}nullable(){return F1.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return p0.create(this)}promise(){return n1.create(this,this._def)}or($){return L$.create([this,$],this._def)}and($){return O$.create(this,$,this._def)}transform($){return new s0({...n(this._def),schema:this,typeName:R.ZodEffects,effect:{type:"transform",transform:$}})}default($){let J=typeof $==="function"?$:()=>$;return new C$({...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 M$({...n(this._def),innerType:this,catchValue:J,typeName:R.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return B2.create(this,$)}readonly(){return P$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var o_=/^c[^\s-]{8,}$/i,r_=/^[0-9a-z]+$/,a_=/^[0-9A-HJKMNP-TV-Z]{26}$/i,t_=/^[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,e_=/^[a-z0-9_-]{21}$/i,$D=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,JD=/^[-+]?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)?)??$/,QD=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,XD="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",k8,YD=/^(?:(?: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])$/,WD=/^(?:(?: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])$/,HD=/^(([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]))$/,GD=/^(([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])$/,VD=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,UD=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,oJ="((\\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])))",qD=new RegExp(`^${oJ}$`);function rJ($){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 _D($){return new RegExp(`^${rJ($)}$`)}function aJ($){let J=`${oJ}T${rJ($)}`,Q=[];if(Q.push($.local?"Z?":"Z"),$.offset)Q.push("([+-]\\d{2}:?\\d{2})");return J=`${J}(${Q.join("|")})`,new RegExp(`^${J}$`)}function DD($,J){if((J==="v4"||!J)&&YD.test($))return!0;if((J==="v6"||!J)&&HD.test($))return!0;return!1}function BD($,J){if(!$D.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 FD($,J){if((J==="v4"||!J)&&WD.test($))return!0;if((J==="v6"||!J)&&GD.test($))return!0;return!1}class d0 extends r{_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(!QD.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(!k8)k8=new RegExp(XD,"u");if(!k8.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(!t_.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(!e_.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(!o_.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(!r_.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(!a_.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(!aJ(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(!qD.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(!_D(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(!JD.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(!DD($.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(!BD($.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(!FD($.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(!VD.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(!UD.test($.data))X=this._getOrReturnCtx($,X),I(X,{validation:"base64url",code:O.invalid_string,message:Y.message}),Q.dirty()}else t.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 d0({...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 d0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new d0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new d0({...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 $}}d0.create=($)=>{return new d0({checks:[],typeName:R.ZodString,coerce:$?.coerce??!1,...n($)})};function zD($,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 R1 extends r{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(!t.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(zD($.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 t.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 R1({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:h.toString(X)}]})}_addCheck($){return new R1({...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"&&t.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($)}}R1.create=($)=>{return new R1({checks:[],typeName:R.ZodNumber,coerce:$?.coerce||!1,...n($)})};class Z1 extends r{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 t.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 Z1({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:h.toString(X)}]})}_addCheck($){return new Z1({...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 $}}Z1.create=($)=>{return new Z1({checks:[],typeName:R.ZodBigInt,coerce:$?.coerce??!1,...n($)})};class A$ extends r{_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 Z0($.data)}}A$.create=($)=>{return new A$({typeName:R.ZodBoolean,coerce:$?.coerce||!1,...n($)})};class d1 extends r{_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 t.assertNever(Y);return{status:Q.value,value:new Date($.data.getTime())}}_addCheck($){return new d1({...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}}d1.create=($)=>{return new d1({checks:[],coerce:$?.coerce||!1,typeName:R.ZodDate,...n($)})};class V2 extends r{_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 Z0($.data)}}V2.create=($)=>{return new V2({typeName:R.ZodSymbol,...n($)})};class j$ extends r{_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 Z0($.data)}}j$.create=($)=>{return new j$({typeName:R.ZodUndefined,...n($)})};class E$ extends r{_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 Z0($.data)}}E$.create=($)=>{return new E$({typeName:R.ZodNull,...n($)})};class p1 extends r{constructor(){super(...arguments);this._any=!0}_parse($){return Z0($.data)}}p1.create=($)=>{return new p1({typeName:R.ZodAny,...n($)})};class O1 extends r{constructor(){super(...arguments);this._unknown=!0}_parse($){return Z0($.data)}}O1.create=($)=>{return new O1({typeName:R.ZodUnknown,...n($)})};class G1 extends r{_parse($){let J=this._getOrReturnCtx($);return I(J,{code:O.invalid_type,expected:M.never,received:J.parsedType}),m}}G1.create=($)=>{return new G1({typeName:R.ZodNever,...n($)})};class U2 extends r{_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 Z0($.data)}}U2.create=($)=>{return new U2({typeName:R.ZodVoid,...n($)})};class p0 extends r{_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 n0(J,W,J.path,H))})).then((W)=>{return O0.mergeArray(Q,W)});let Y=[...J.data].map((W,H)=>{return X.type._parseSync(new n0(J,W,J.path,H))});return O0.mergeArray(Q,Y)}get element(){return this._def.type}min($,J){return new p0({...this._def,minLength:{value:$,message:h.toString(J)}})}max($,J){return new p0({...this._def,maxLength:{value:$,message:h.toString(J)}})}length($,J){return new p0({...this._def,exactLength:{value:$,message:h.toString(J)}})}nonempty($){return this.min(1,$)}}p0.create=($,J)=>{return new p0({type:$,minLength:null,maxLength:null,exactLength:null,typeName:R.ZodArray,...n(J)})};function N$($){if($ instanceof D0){let J={};for(let Q in $.shape){let X=$.shape[Q];J[Q]=i0.create(N$(X))}return new D0({...$._def,shape:()=>J})}else if($ instanceof p0)return new p0({...$._def,type:N$($.element)});else if($ instanceof i0)return i0.create(N$($.unwrap()));else if($ instanceof F1)return F1.create(N$($.unwrap()));else if($ instanceof V1)return V1.create($.items.map((J)=>N$(J)));else return $}class D0 extends r{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=t.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 G1&&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 n0(X,q,X.path,V)),alwaysSet:V in X.data})}if(this._def.catchall instanceof G1){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 n0(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 D0({...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 D0({...this._def,unknownKeys:"strip"})}passthrough(){return new D0({...this._def,unknownKeys:"passthrough"})}extend($){return new D0({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new D0({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:R.ZodObject})}setKey($,J){return this.augment({[$]:J})}catchall($){return new D0({...this._def,catchall:$})}pick($){let J={};for(let Q of t.objectKeys($))if($[Q]&&this.shape[Q])J[Q]=this.shape[Q];return new D0({...this._def,shape:()=>J})}omit($){let J={};for(let Q of t.objectKeys(this.shape))if(!$[Q])J[Q]=this.shape[Q];return new D0({...this._def,shape:()=>J})}deepPartial(){return N$(this)}partial($){let J={};for(let Q of t.objectKeys(this.shape)){let X=this.shape[Q];if($&&!$[Q])J[Q]=X;else J[Q]=X.optional()}return new D0({...this._def,shape:()=>J})}required($){let J={};for(let Q of t.objectKeys(this.shape))if($&&!$[Q])J[Q]=this.shape[Q];else{let Y=this.shape[Q];while(Y instanceof i0)Y=Y._def.innerType;J[Q]=Y}return new D0({...this._def,shape:()=>J})}keyof(){return tJ(t.objectKeys(this.shape))}}D0.create=($,J)=>{return new D0({shape:()=>$,unknownKeys:"strip",catchall:G1.create(),typeName:R.ZodObject,...n(J)})};D0.strictCreate=($,J)=>{return new D0({shape:()=>$,unknownKeys:"strict",catchall:G1.create(),typeName:R.ZodObject,...n(J)})};D0.lazycreate=($,J)=>{return new D0({shape:$,unknownKeys:"strip",catchall:G1.create(),typeName:R.ZodObject,...n(J)})};class L$ extends r{_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}}L$.create=($,J)=>{return new L$({options:$,typeName:R.ZodUnion,...n(J)})};var B1=($)=>{if($ instanceof R$)return B1($.schema);else if($ instanceof s0)return B1($.innerType());else if($ instanceof Z$)return[$.value];else if($ instanceof S1)return $.options;else if($ instanceof S$)return t.objectValues($.enum);else if($ instanceof C$)return B1($._def.innerType);else if($ instanceof j$)return[void 0];else if($ instanceof E$)return[null];else if($ instanceof i0)return[void 0,...B1($.unwrap())];else if($ instanceof F1)return[null,...B1($.unwrap())];else if($ instanceof L6)return B1($.unwrap());else if($ instanceof P$)return B1($.unwrap());else if($ instanceof M$)return B1($._def.innerType);else return[]};class E6 extends r{_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=B1(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 E6({typeName:R.ZodDiscriminatedUnion,discriminator:$,options:J,optionsMap:X,...n(Q)})}}function x8($,J){let Q=H1($),X=H1(J);if($===J)return{valid:!0,data:$};else if(Q===M.object&&X===M.object){let Y=t.objectKeys(J),W=t.objectKeys($).filter((G)=>Y.indexOf(G)!==-1),H={...$,...J};for(let G of W){let V=x8($[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=x8(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 O$ extends r{_parse($){let{status:J,ctx:Q}=this._processInputParams($),X=(Y,W)=>{if(A6(Y)||A6(W))return m;let H=x8(Y.value,W.value);if(!H.valid)return I(Q,{code:O.invalid_intersection_types}),m;if(j6(Y)||j6(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}))}}O$.create=($,J,Q)=>{return new O$({left:$,right:J,typeName:R.ZodIntersection,...n(Q)})};class V1 extends r{_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 n0(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 V1({...this._def,rest:$})}}V1.create=($,J)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new V1({items:$,typeName:R.ZodTuple,rest:null,...n(J)})};class q2 extends r{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 n0(Q,H,Q.path,H)),value:W._parse(new n0(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 r)return new q2({keyType:$,valueType:J,typeName:R.ZodRecord,...n(Q)});return new q2({keyType:d0.create(),valueType:$,typeName:R.ZodRecord,...n(J)})}}class _2 extends r{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 n0(Q,H,Q.path,[V,"key"])),value:Y._parse(new n0(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}}}}_2.create=($,J,Q)=>{return new _2({valueType:J,keyType:$,typeName:R.ZodMap,...n(Q)})};class i1 extends r{_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 n0(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 i1({...this._def,minSize:{value:$,message:h.toString(J)}})}max($,J){return new i1({...this._def,maxSize:{value:$,message:h.toString(J)}})}size($,J){return this.min($,J).max($,J)}nonempty($){return this.min(1,$)}}i1.create=($,J)=>{return new i1({valueType:$,minSize:null,maxSize:null,typeName:R.ZodSet,...n(J)})};class w$ extends r{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 G2({data:H,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,F$(),D1].filter((V)=>!!V),issueData:{code:O.invalid_arguments,argumentsError:G}})}function X(H,G){return G2({data:H,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,F$(),D1].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 n1){let H=this;return Z0(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 Z0(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 w$({...this._def,args:V1.create($).rest(O1.create())})}returns($){return new w$({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,J,Q){return new w$({args:$?$:V1.create([]).rest(O1.create()),returns:J||O1.create(),typeName:R.ZodFunction,...n(Q)})}}class R$ extends r{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})}}R$.create=($,J)=>{return new R$({getter:$,typeName:R.ZodLazy,...n(J)})};class Z$ extends r{_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}}Z$.create=($,J)=>{return new Z$({value:$,typeName:R.ZodLiteral,...n(J)})};function tJ($,J){return new S1({values:$,typeName:R.ZodEnum,...n(J)})}class S1 extends r{_parse($){if(typeof $.data!=="string"){let J=this._getOrReturnCtx($),Q=this._def.values;return I(J,{expected:t.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 Z0($.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 S1.create($,{...this._def,...J})}exclude($,J=this._def){return S1.create(this.options.filter((Q)=>!$.includes(Q)),{...this._def,...J})}}S1.create=tJ;class S$ extends r{_parse($){let J=t.getValidEnumValues(this._def.values),Q=this._getOrReturnCtx($);if(Q.parsedType!==M.string&&Q.parsedType!==M.number){let X=t.objectValues(J);return I(Q,{expected:t.joinValues(X),received:Q.parsedType,code:O.invalid_type}),m}if(!this._cache)this._cache=new Set(t.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let X=t.objectValues(J);return I(Q,{received:Q.data,code:O.invalid_enum_value,options:X}),m}return Z0($.data)}get enum(){return this._def.values}}S$.create=($,J)=>{return new S$({values:$,typeName:R.ZodNativeEnum,...n(J)})};class n1 extends r{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 Z0(Q.then((X)=>{return this._def.type.parseAsync(X,{path:J.path,errorMap:J.common.contextualErrorMap})}))}}n1.create=($,J)=>{return new n1({type:$,typeName:R.ZodPromise,...n(J)})};class s0 extends r{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 c1(G.value);if(J.value==="dirty")return c1(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 c1(H.value);if(J.value==="dirty")return c1(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(!L1(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(!L1(W))return m;return Promise.resolve(X.transform(W.value,Y)).then((H)=>({status:J.value,value:H}))});t.assertNever(X)}}s0.create=($,J,Q)=>{return new s0({schema:$,typeName:R.ZodEffects,effect:J,...n(Q)})};s0.createWithPreprocess=($,J,Q)=>{return new s0({schema:J,effect:{type:"preprocess",transform:$},typeName:R.ZodEffects,...n(Q)})};class i0 extends r{_parse($){if(this._getType($)===M.undefined)return Z0(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}i0.create=($,J)=>{return new i0({innerType:$,typeName:R.ZodOptional,...n(J)})};class F1 extends r{_parse($){if(this._getType($)===M.null)return Z0(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}F1.create=($,J)=>{return new F1({innerType:$,typeName:R.ZodNullable,...n(J)})};class C$ extends r{_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}}C$.create=($,J)=>{return new C$({innerType:$,typeName:R.ZodDefault,defaultValue:typeof J.default==="function"?J.default:()=>J.default,...n(J)})};class M$ extends r{_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(z$(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}}M$.create=($,J)=>{return new M$({innerType:$,typeName:R.ZodCatch,catchValue:typeof J.catch==="function"?J.catch:()=>J.catch,...n(J)})};class D2 extends r{_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}}}D2.create=($)=>{return new D2({typeName:R.ZodNaN,...n($)})};var ND=Symbol("zod_brand");class L6 extends r{_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 B2 extends r{_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(),c1(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 B2({in:$,out:J,typeName:R.ZodPipeline})}}class P$ extends r{_parse($){let J=this._def.innerType._parse($),Q=(X)=>{if(L1(X))X.value=Object.freeze(X.value);return X};return z$(J)?J.then((X)=>Q(X)):Q(J)}unwrap(){return this._def.innerType}}P$.create=($,J)=>{return new P$({innerType:$,typeName:R.ZodReadonly,...n(J)})};function sJ($,J){let Q=typeof $==="function"?$(J):typeof $==="string"?{message:$}:$;return typeof Q==="string"?{message:Q}:Q}function eJ($,J={},Q){if($)return p1.create().superRefine((X,Y)=>{let W=$(X);if(W instanceof Promise)return W.then((H)=>{if(!H){let G=sJ(J,X),V=G.fatal??Q??!0;Y.addIssue({code:"custom",...G,fatal:V})}});if(!W){let H=sJ(J,X),G=H.fatal??Q??!0;Y.addIssue({code:"custom",...H,fatal:G})}return});return p1.create()}var wD={object:D0.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 AD=($,J={message:`Input not instance of ${$.name}`})=>eJ((Q)=>Q instanceof $,J),$3=d0.create,J3=R1.create,jD=D2.create,ED=Z1.create,Q3=A$.create,LD=d1.create,OD=V2.create,RD=j$.create,ZD=E$.create,SD=p1.create,CD=O1.create,MD=G1.create,PD=U2.create,KD=p0.create,ID=D0.create,TD=D0.strictCreate,bD=L$.create,fD=E6.create,kD=O$.create,xD=V1.create,vD=q2.create,hD=_2.create,gD=i1.create,yD=w$.create,uD=R$.create,mD=Z$.create,lD=S1.create,cD=S$.create,dD=n1.create,pD=s0.create,iD=i0.create,nD=F1.create,sD=s0.createWithPreprocess,oD=B2.create,rD=()=>$3().optional(),aD=()=>J3().optional(),tD=()=>Q3().optional(),eD={string:($)=>d0.create({...$,coerce:!0}),number:($)=>R1.create({...$,coerce:!0}),boolean:($)=>A$.create({...$,coerce:!0}),bigint:($)=>Z1.create({...$,coerce:!0}),date:($)=>d1.create({...$,coerce:!0})};var $B=m;function q0($){if($.target!=="openAi")return{};let J=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?w6(J,$.currentPath):J.join("/")}}function X3($,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)$0(Q,"minItems",$.minLength.value,$.minLength.message,J);if($.maxLength)$0(Q,"maxItems",$.maxLength.value,$.maxLength.message,J);if($.exactLength)$0(Q,"minItems",$.exactLength.value,$.exactLength.message,J),$0(Q,"maxItems",$.exactLength.value,$.exactLength.message,J);return Q}function Y3($,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)$0(Q,"minimum",X.value,X.message,J);else $0(Q,"exclusiveMinimum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMinimum=!0;$0(Q,"minimum",X.value,X.message,J)}break;case"max":if(J.target==="jsonSchema7")if(X.inclusive)$0(Q,"maximum",X.value,X.message,J);else $0(Q,"exclusiveMaximum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMaximum=!0;$0(Q,"maximum",X.value,X.message,J)}break;case"multipleOf":$0(Q,"multipleOf",X.value,X.message,J);break}return Q}function W3(){return{type:"boolean"}}function O6($,J){return l($.type._def,J)}var H3=($,J)=>{return l($.innerType._def,J)};function v8($,J,Q){let X=Q??J.dateStrategy;if(Array.isArray(X))return{anyOf:X.map((Y,W)=>v8($,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 JB($,J)}}var JB=($,J)=>{let Q={type:"integer",format:"unix-time"};if(J.target==="openApi3")return Q;for(let X of $.checks)switch(X.kind){case"min":$0(Q,"minimum",X.value,X.message,J);break;case"max":$0(Q,"maximum",X.value,X.message,J);break}return Q};function G3($,J){return{...l($.innerType._def,J),default:$.defaultValue()}}function V3($,J){return J.effectStrategy==="input"?l($.schema._def,J):q0(J)}function U3($){return{type:"string",enum:Array.from($.values)}}var QB=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function q3($,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(QB(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 _3($,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 h8=void 0,o0={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(h8===void 0)h8=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return h8},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 R6($,J){let Q={type:"string"};if($.checks)for(let X of $.checks)switch(X.kind){case"min":$0(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,X.value):X.value,X.message,J);break;case"max":$0(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":r0(Q,"email",X.message,J);break;case"format:idn-email":r0(Q,"idn-email",X.message,J);break;case"pattern:zod":P0(Q,o0.email,X.message,J);break}break;case"url":r0(Q,"uri",X.message,J);break;case"uuid":r0(Q,"uuid",X.message,J);break;case"regex":P0(Q,X.regex,X.message,J);break;case"cuid":P0(Q,o0.cuid,X.message,J);break;case"cuid2":P0(Q,o0.cuid2,X.message,J);break;case"startsWith":P0(Q,RegExp(`^${g8(X.value,J)}`),X.message,J);break;case"endsWith":P0(Q,RegExp(`${g8(X.value,J)}$`),X.message,J);break;case"datetime":r0(Q,"date-time",X.message,J);break;case"date":r0(Q,"date",X.message,J);break;case"time":r0(Q,"time",X.message,J);break;case"duration":r0(Q,"duration",X.message,J);break;case"length":$0(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,X.value):X.value,X.message,J),$0(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,X.value):X.value,X.message,J);break;case"includes":{P0(Q,RegExp(g8(X.value,J)),X.message,J);break}case"ip":{if(X.version!=="v6")r0(Q,"ipv4",X.message,J);if(X.version!=="v4")r0(Q,"ipv6",X.message,J);break}case"base64url":P0(Q,o0.base64url,X.message,J);break;case"jwt":P0(Q,o0.jwt,X.message,J);break;case"cidr":{if(X.version!=="v6")P0(Q,o0.ipv4Cidr,X.message,J);if(X.version!=="v4")P0(Q,o0.ipv6Cidr,X.message,J);break}case"emoji":P0(Q,o0.emoji(),X.message,J);break;case"ulid":{P0(Q,o0.ulid,X.message,J);break}case"base64":{switch(J.base64Strategy){case"format:binary":{r0(Q,"binary",X.message,J);break}case"contentEncoding:base64":{$0(Q,"contentEncoding","base64",X.message,J);break}case"pattern:zod":{P0(Q,o0.base64,X.message,J);break}}break}case"nanoid":P0(Q,o0.nanoid,X.message,J);case"toLowerCase":case"toUpperCase":case"trim":break;default:((Y)=>{})(X)}return Q}function g8($,J){return J.patternStrategy==="escape"?YB($):$}var XB=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function YB($){let J="";for(let Q=0;Q<$.length;Q++){if(!XB.has($[Q]))J+="\\";J+=$[Q]}return J}function r0($,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 $0($,"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:D3(J,X),...Q&&X.errorMessages&&{errorMessage:{pattern:Q}}})}else $0($,"pattern",D3(J,X),Q,X)}function D3($,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
|
|
41
41
|
]))`;continue}else if(X[V]==="$"){Y+=`($|(?=[\r
|
|
42
42
|
]))`;continue}}if(Q.s&&X[V]==="."){Y+=H?`${X[V]}\r
|
|
43
43
|
`:`[${X[V]}\r
|
|
44
|
-
]`;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 R6($,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]})??q0(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}=O6($.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}=L6($.keyType._def,J);return{...Q,propertyNames:Y}}return Q}function B3($,J){if(J.mapStrategy==="record")return R6($,J);let Q=l($.keyType._def,{...J,currentPath:[...J.currentPath,"items","items","0"]})||q0(J),X=l($.valueType._def,{...J,currentPath:[...J.currentPath,"items","items","1"]})||q0(J);return{type:"array",maxItems:125,items:{type:"array",items:[Q,X],minItems:2,maxItems:2}}}function F3($){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 z3($){return $.target==="openAi"?void 0:{not:q0({...$,currentPath:[...$.currentPath,"not"]})}}function w3($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var F2={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function A3($,J){if(J.target==="openApi3")return N3($,J);let Q=$.options instanceof Map?Array.from($.options.values()):$.options;if(Q.every((X)=>(X._def.typeName in F2)&&(!X._def.checks||!X._def.checks.length))){let X=Q.reduce((Y,W)=>{let H=F2[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 N3($,J)}var N3=($,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 j3($,J){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(J.target==="openApi3")return{type:F2[$.innerType._def.typeName],nullable:!0};return{type:[F2[$.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 E3($,J){let Q={type:"number"};if(!$.checks)return Q;for(let X of $.checks)switch(X.kind){case"int":Q.type="integer",b8(Q,"type",X.message,J);break;case"min":if(J.target==="jsonSchema7")if(X.inclusive)$0(Q,"minimum",X.value,X.message,J);else $0(Q,"exclusiveMinimum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMinimum=!0;$0(Q,"minimum",X.value,X.message,J)}break;case"max":if(J.target==="jsonSchema7")if(X.inclusive)$0(Q,"maximum",X.value,X.message,J);else $0(Q,"exclusiveMaximum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMaximum=!0;$0(Q,"maximum",X.value,X.message,J)}break;case"multipleOf":$0(Q,"multipleOf",X.value,X.message,J);break}return Q}function L3($,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=HB(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=WB($,J);if(H!==void 0)X.additionalProperties=H;return X}function WB($,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 HB($){try{return $.isOptional()}catch{return!0}}var O3=($,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:q0(J)},Q]}:q0(J)};var R3=($,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 Z3($,J){return l($.type._def,J)}function S3($,J){let X={type:"array",uniqueItems:!0,items:l($.valueType._def,{...J,currentPath:[...J.currentPath,"items"]})};if($.minSize)$0(X,"minItems",$.minSize.value,$.minSize.message,J);if($.maxSize)$0(X,"maxItems",$.maxSize.value,$.maxSize.message,J);return X}function C3($,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 M3($){return{not:q0($)}}function P3($){return q0($)}var K3=($,J)=>{return l($.innerType._def,J)};var I3=($,J,Q)=>{switch(J){case R.ZodString:return O6($,Q);case R.ZodNumber:return E3($,Q);case R.ZodObject:return L3($,Q);case R.ZodBigInt:return Y3($,Q);case R.ZodBoolean:return W3();case R.ZodDate:return v8($,Q);case R.ZodUndefined:return M3(Q);case R.ZodNull:return w3(Q);case R.ZodArray:return X3($,Q);case R.ZodUnion:case R.ZodDiscriminatedUnion:return A3($,Q);case R.ZodIntersection:return q3($,Q);case R.ZodTuple:return C3($,Q);case R.ZodRecord:return R6($,Q);case R.ZodLiteral:return _3($,Q);case R.ZodEnum:return U3($);case R.ZodNativeEnum:return F3($);case R.ZodNullable:return j3($,Q);case R.ZodOptional:return O3($,Q);case R.ZodMap:return B3($,Q);case R.ZodSet:return S3($,Q);case R.ZodLazy:return()=>$.getter()._def;case R.ZodPromise:return Z3($,Q);case R.ZodNaN:case R.ZodNever:return z3(Q);case R.ZodEffects:return V3($,Q);case R.ZodAny:return q0(Q);case R.ZodUnknown:return P3(Q);case R.ZodDefault:return G3($,Q);case R.ZodBranded:return L6($,Q);case R.ZodReadonly:return K3($,Q);case R.ZodCatch:return H3($,Q);case R.ZodPipeline:return R3($,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!==cJ)return G}if(X&&!Q){let G=GB(X,J);if(G!==void 0)return G}let Y={def:$,path:J.currentPath,jsonSchema:void 0};J.seen.set($,Y);let W=I3($,$.typeName,J),H=typeof W==="function"?l(W(),J):W;if(H)VB($,J,H);if(J.postProcess){let G=J.postProcess(H,$,J);return Y.jsonSchema=H,G}return Y.jsonSchema=H,H}var GB=($,J)=>{switch(J.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:w6(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`),q0(J);return J.$refStrategy==="seen"?q0(J):void 0}}},VB=($,J,Q)=>{if($.description){if(Q.description=$.description,J.markdownDescription)Q.markdownDescription=$.description}return Q};var Z6=($,J)=>{let Q=pJ(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)??q0(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)??q0(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 T3=new WeakMap,b3=0;class s1{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=Z6($,{target:"openApi3",$refStrategy:"none"});if(J&&typeof J==="object")delete J.$schema;return J}convertToReusableSchema($,J){let Q=T3.get($);if(Q&&this.generatedSchemas.has(Q))return{$ref:`#/components/schemas/${Q}`};let X=J||Q||this.generateSchemaName();T3.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${++b3}`}static resetCounter(){b3=0}}function f3($,J){if(J)return new s1(J).convert($);try{let Q=Z6($,{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 C1{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 \u2014 include as: Authorization: Bearer <token>"}}},tags:[]};this.converter=new s1(J);let Q=new Set;for(let X of $){let Y=C1.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(C1.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(C1.isSecured($)&&!X["401"])X["401"]={description:"Unauthorized \u2014 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 s1(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"}}class k3{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 C1(J,this.options).generate()}renderSwaggerUI(){return`<!DOCTYPE html>
|
|
44
|
+
]`;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 Z6($,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]})??q0(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}=R6($.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}=O6($.keyType._def,J);return{...Q,propertyNames:Y}}return Q}function B3($,J){if(J.mapStrategy==="record")return Z6($,J);let Q=l($.keyType._def,{...J,currentPath:[...J.currentPath,"items","items","0"]})||q0(J),X=l($.valueType._def,{...J,currentPath:[...J.currentPath,"items","items","1"]})||q0(J);return{type:"array",maxItems:125,items:{type:"array",items:[Q,X],minItems:2,maxItems:2}}}function F3($){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 z3($){return $.target==="openAi"?void 0:{not:q0({...$,currentPath:[...$.currentPath,"not"]})}}function N3($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var F2={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function A3($,J){if(J.target==="openApi3")return w3($,J);let Q=$.options instanceof Map?Array.from($.options.values()):$.options;if(Q.every((X)=>(X._def.typeName in F2)&&(!X._def.checks||!X._def.checks.length))){let X=Q.reduce((Y,W)=>{let H=F2[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 w3($,J)}var w3=($,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 j3($,J){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(J.target==="openApi3")return{type:F2[$.innerType._def.typeName],nullable:!0};return{type:[F2[$.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 E3($,J){let Q={type:"number"};if(!$.checks)return Q;for(let X of $.checks)switch(X.kind){case"int":Q.type="integer",b8(Q,"type",X.message,J);break;case"min":if(J.target==="jsonSchema7")if(X.inclusive)$0(Q,"minimum",X.value,X.message,J);else $0(Q,"exclusiveMinimum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMinimum=!0;$0(Q,"minimum",X.value,X.message,J)}break;case"max":if(J.target==="jsonSchema7")if(X.inclusive)$0(Q,"maximum",X.value,X.message,J);else $0(Q,"exclusiveMaximum",X.value,X.message,J);else{if(!X.inclusive)Q.exclusiveMaximum=!0;$0(Q,"maximum",X.value,X.message,J)}break;case"multipleOf":$0(Q,"multipleOf",X.value,X.message,J);break}return Q}function L3($,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=HB(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=WB($,J);if(H!==void 0)X.additionalProperties=H;return X}function WB($,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 HB($){try{return $.isOptional()}catch{return!0}}var O3=($,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:q0(J)},Q]}:q0(J)};var R3=($,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 Z3($,J){return l($.type._def,J)}function S3($,J){let X={type:"array",uniqueItems:!0,items:l($.valueType._def,{...J,currentPath:[...J.currentPath,"items"]})};if($.minSize)$0(X,"minItems",$.minSize.value,$.minSize.message,J);if($.maxSize)$0(X,"maxItems",$.maxSize.value,$.maxSize.message,J);return X}function C3($,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 M3($){return{not:q0($)}}function P3($){return q0($)}var K3=($,J)=>{return l($.innerType._def,J)};var I3=($,J,Q)=>{switch(J){case R.ZodString:return R6($,Q);case R.ZodNumber:return E3($,Q);case R.ZodObject:return L3($,Q);case R.ZodBigInt:return Y3($,Q);case R.ZodBoolean:return W3();case R.ZodDate:return v8($,Q);case R.ZodUndefined:return M3(Q);case R.ZodNull:return N3(Q);case R.ZodArray:return X3($,Q);case R.ZodUnion:case R.ZodDiscriminatedUnion:return A3($,Q);case R.ZodIntersection:return q3($,Q);case R.ZodTuple:return C3($,Q);case R.ZodRecord:return Z6($,Q);case R.ZodLiteral:return _3($,Q);case R.ZodEnum:return U3($);case R.ZodNativeEnum:return F3($);case R.ZodNullable:return j3($,Q);case R.ZodOptional:return O3($,Q);case R.ZodMap:return B3($,Q);case R.ZodSet:return S3($,Q);case R.ZodLazy:return()=>$.getter()._def;case R.ZodPromise:return Z3($,Q);case R.ZodNaN:case R.ZodNever:return z3(Q);case R.ZodEffects:return V3($,Q);case R.ZodAny:return q0(Q);case R.ZodUnknown:return P3(Q);case R.ZodDefault:return G3($,Q);case R.ZodBranded:return O6($,Q);case R.ZodReadonly:return K3($,Q);case R.ZodCatch:return H3($,Q);case R.ZodPipeline:return R3($,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!==cJ)return G}if(X&&!Q){let G=GB(X,J);if(G!==void 0)return G}let Y={def:$,path:J.currentPath,jsonSchema:void 0};J.seen.set($,Y);let W=I3($,$.typeName,J),H=typeof W==="function"?l(W(),J):W;if(H)VB($,J,H);if(J.postProcess){let G=J.postProcess(H,$,J);return Y.jsonSchema=H,G}return Y.jsonSchema=H,H}var GB=($,J)=>{switch(J.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:w6(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`),q0(J);return J.$refStrategy==="seen"?q0(J):void 0}}},VB=($,J,Q)=>{if($.description){if(Q.description=$.description,J.markdownDescription)Q.markdownDescription=$.description}return Q};var S6=($,J)=>{let Q=pJ(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)??q0(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)??q0(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 T3=new WeakMap,b3=0;class s1{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=S6($,{target:"openApi3",$refStrategy:"none"});if(J&&typeof J==="object")delete J.$schema;return J}convertToReusableSchema($,J){let Q=T3.get($);if(Q&&this.generatedSchemas.has(Q))return{$ref:`#/components/schemas/${Q}`};let X=J||Q||this.generateSchemaName();T3.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${++b3}`}static resetCounter(){b3=0}}function f3($,J){if(J)return new s1(J).convert($);try{let Q=S6($,{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 C1{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 \u2014 include as: Authorization: Bearer <token>"}}},tags:[]};this.converter=new s1(J);let Q=new Set;for(let X of $){let Y=C1.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(C1.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(C1.isSecured($)&&!X["401"])X["401"]={description:"Unauthorized \u2014 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 s1(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"}}class k3{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 C1(J,this.options).generate()}renderSwaggerUI(){return`<!DOCTYPE html>
|
|
45
45
|
<html lang="en">
|
|
46
46
|
<head>
|
|
47
47
|
<meta charset="UTF-8">
|
|
@@ -76,13 +76,13 @@ and limitations under the License.
|
|
|
76
76
|
};
|
|
77
77
|
</script>
|
|
78
78
|
</body>
|
|
79
|
-
</html>`}}class
|
|
79
|
+
</html>`}}class z2{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 C6{connections=new Map;rooms=new Map;connectionsByRoom=new Map;handleConnection($,J){let Q=new z2($,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 z2($,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 y8{name="websocket";version="1.0.0";manager;constructor(){this.manager=new C6}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 XC=v1(o1(),1),u8=Symbol("graphql:resolver"),K$=Symbol("graphql:field"),N2=Symbol("graphql:args");function YC($){return(J)=>{let Q={target:J,name:$||J.name};Reflect.defineMetadata(u8,Q,J)}}function WC($,J){return m8("query",$,J)}function HC($,J){return m8("mutation",$,J)}function GC($,J){return m8("subscription",$,J)}function m8($,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(K$,X.constructor)||[];H.push(W),Reflect.defineMetadata(K$,H,X.constructor),Reflect.defineMetadata(K$,W,X,Y)}}function VC($,J,Q){return(X,Y,W)=>{if(!Y)return;let H=Reflect.getMetadata(N2,X,Y)||[],G={index:W,name:$,schema:J,description:Q?.description,defaultValue:Q?.defaultValue,nullable:Q?.nullable};H[W]=G,Reflect.defineMetadata(N2,H,X,Y)}}function UC(){return($,J,Q)=>{if(!J)return;let X=Reflect.getMetadata(N2,$,J)||[],Y={index:Q,name:"__context__",nullable:!1};X[Q]=Y,Reflect.defineMetadata(N2,X,$,J)}}function qC($){return Reflect.getMetadata(u8,$)}function _C($){return Reflect.getMetadata(K$,$)||[]}function DC($,J){return Reflect.getMetadata(K$,$,J)}function l8($,J){return Reflect.getMetadata(N2,$,J)||[]}function BC($){return Reflect.hasMetadata(u8,$)}function FC($,J){return Reflect.hasMetadata(K$,$,J)}function z1($){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`[${z1($._def.type)}]`;if(J==="ZodObject")return"JSON";if(J==="ZodOptional")return z1($._def.innerType);if(J==="ZodNullable")return z1($._def.innerType);if(J==="ZodDefault")return z1($._def.innerType);if(J==="ZodEnum")return"String";if(J==="ZodUnion"){let Q=$._def.options;if(Q&&Q.length>0)return z1(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 w2($){let J=$._def.typeName;if(J==="ZodOptional"||J==="ZodNullable")return!0;if(J==="ZodDefault")return w2($._def.innerType);return!1}function v3($){let J=$._def.typeName;if(J==="ZodDefault")return $._def.defaultValue();if(J==="ZodOptional"||J==="ZodNullable"){let Q=$._def.innerType;if(Q)return v3(Q)}return}function NC($,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=z1(G),q=w2(G)?V:`${V}!`;Y.push(` ${W}: ${q}`)}return`type ${$} {
|
|
80
80
|
${Y.join(`
|
|
81
81
|
`)}
|
|
82
|
-
}`}function
|
|
82
|
+
}`}function wC($,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=z1(G),U=w2(G),q=v3(G),_=U?V:`${V}!`;if(q!==void 0){let F=JSON.stringify(q);_+=` = ${F}`}Y.push(` ${W}: ${_}`)}return`input ${$} {
|
|
83
83
|
${Y.join(`
|
|
84
84
|
`)}
|
|
85
|
-
}`}T$();I$();function OB($){if($.length===0)return"(root)";return $.reduce((J,Q,X)=>{if(typeof Q==="number")return`${J}[${Q}]`;return X===0?Q:`${J}.${Q}`},"")}class P1 extends E0{zodError;constructor($){super(422,"One or more fields did not pass validation.",void 0,{problemType:
|
|
85
|
+
}`}T$();I$();function OB($){if($.length===0)return"(root)";return $.reduce((J,Q,X)=>{if(typeof Q==="number")return`${J}[${Q}]`;return X===0?Q:`${J}.${Q}`},"")}class P1 extends E0{zodError;constructor($){super(422,"One or more fields did not pass validation.",void 0,{problemType:N1("validation-error"),title:"Validation Error"});this.zodError=$;this.name="ValidationException"}toJSON(){if(!this.zodError?.errors||!Array.isArray(this.zodError.errors))return{type:N1("validation-error"),title:M1(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:OB(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=M1(J,this.message,"Validation Error");return{type:N1("validation-error"),title:Q,status:J,detail:this.message,violations:$,details:$,error:"Validation Error",statusCode:J}}}class b${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 P1(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 P1(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 d8{metadata;container;validationEngine;customTypes=new Map;constructor($,J){this.metadata=$;this.container=J;this.validationEngine=new b$}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(`
|
|
86
86
|
|
|
87
87
|
`)+`
|
|
88
88
|
|
|
@@ -143,16 +143,16 @@ ${Y.join(`
|
|
|
143
143
|
</script>
|
|
144
144
|
</body>
|
|
145
145
|
</html>
|
|
146
|
-
`.trim()}getSchema(){return this.schema}}function p8($,J){try{Object.defineProperty($,"name",{value:J,configurable:!0,enumerable:!1,writable:!1})}catch{$.__veloceCheckerName=J}}function j2($){let J=$;return $.name||J.__veloceCheckerName||"unknown"}class u3{name="health";version="1.0.0";options;startTime;logger=c0().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[j2(W)]=H,H.status==="unhealthy")X=!1}catch(H){let G=H instanceof Error?H.message:"Unknown error";Q[j2(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=j2(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[j2(H)]=G,G.status==="unhealthy")X=!1}catch(G){X=!1;let V=G instanceof Error?G.message:"Unknown error";Y[j2(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 RB={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 p8(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 p8(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 p8(Q,"disk"),Q}};var iC=v1(o1(),1);var dC=v1(o1(),1),i8=Symbol("route:metadata"),n8=Symbol("controller:metadata"),m3=Symbol("parameter:metadata"),l3=Symbol("dependency:metadata"),s8=Symbol("websocket:metadata"),c3=Symbol("websocket:handler:metadata"),o8=Symbol("graphql:resolver"),E2=Symbol("graphql:field"),r8=Symbol("auth:metadata"),a8=Symbol("oauth:metadata"),t8=Symbol("roles:metadata"),e8=Symbol("permissions:metadata"),$9=Symbol("minimum-role:metadata"),J9=Symbol("resource-permission:metadata"),Q9=Symbol("session:metadata"),X9=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(i8,Y,$,J)}static defineParameter($,J,Q,X){let Y=this.getParameterMetadata($,J)||[];Y[Q]=X,Reflect.defineMetadata(m3,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(l3,Y,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,dependencies:Y})}static defineController($,J){Reflect.defineMetadata(n8,J,$)}static getRouteMetadata($,J){return Reflect.getMetadata(i8,$,J)}static getParameterMetadata($,J){return Reflect.getMetadata(m3,$,J)}static getDependencyMetadata($,J){return Reflect.getMetadata(l3,$,J)}static getControllerMetadata($){return Reflect.getMetadata(n8,$)}static hasControllerMetadata($){return Reflect.hasMetadata(n8,$)}static hasRouteMetadata($,J){return Reflect.hasMetadata(i8,$,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(s8,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(c3,Q,$,J)}static getWebSocketMetadata($){return Reflect.getMetadata(s8,$)}static getWebSocketHandlerMetadata($,J){return Reflect.getMetadata(c3,$,J)}static hasWebSocketMetadata($){return Reflect.hasMetadata(s8,$)}static defineGraphQLResolver($,J){Reflect.defineMetadata(o8,J,$)}static defineGraphQLField($,J,Q){Reflect.defineMetadata(E2,Q,$,J);let X=this.getGraphQLFieldsMetadata($.constructor)||[];X.push(Q),Reflect.defineMetadata(E2,X,$.constructor)}static getGraphQLResolverMetadata($){return Reflect.getMetadata(o8,$)}static getGraphQLFieldsMetadata($){return Reflect.getMetadata(E2,$)||[]}static getGraphQLFieldMetadata($,J){return Reflect.getMetadata(E2,$,J)}static hasGraphQLResolverMetadata($){return Reflect.hasMetadata(o8,$)}static hasGraphQLFieldMetadata($,J){return Reflect.hasMetadata(E2,$,J)}static defineAuth($,J,Q){Reflect.defineMetadata(r8,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,auth:Q})}static getAuthMetadata($,J){return Reflect.getMetadata(r8,$,J)}static hasAuthMetadata($,J){return Reflect.hasMetadata(r8,$,J)}static defineOAuth($,J,Q){Reflect.defineMetadata(a8,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,oauth:Q})}static getOAuthMetadata($,J){return Reflect.getMetadata(a8,$,J)}static hasOAuthMetadata($,J){return Reflect.hasMetadata(a8,$,J)}static defineRoles($,J,Q){Reflect.defineMetadata(t8,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,roles:Q})}static definePermissions($,J,Q){Reflect.defineMetadata(e8,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,permissions:Q})}static defineMinimumRole($,J,Q){Reflect.defineMetadata($9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,minimumRole:Q})}static getRolesMetadata($,J){return Reflect.getMetadata(t8,$,J)}static getPermissionsMetadata($,J){return Reflect.getMetadata(e8,$,J)}static getMinimumRoleMetadata($,J){return Reflect.getMetadata($9,$,J)}static hasRolesMetadata($,J){return Reflect.hasMetadata(t8,$,J)}static hasPermissionsMetadata($,J){return Reflect.hasMetadata(e8,$,J)}static hasMinimumRoleMetadata($,J){return Reflect.hasMetadata($9,$,J)}static defineResourcePermission($,J,Q){Reflect.defineMetadata(J9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,resourcePermission:Q})}static getResourcePermissionMetadata($,J){return Reflect.getMetadata(J9,$,J)}static hasResourcePermissionMetadata($,J){return Reflect.hasMetadata(J9,$,J)}static defineSession($,J,Q){Reflect.defineMetadata(Q9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,session:Q})}static defineCSRF($,J,Q){Reflect.defineMetadata(X9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,csrf:Q})}static getSessionMetadata($,J){return Reflect.getMetadata(Q9,$,J)}static getCSRFMetadata($,J){return Reflect.getMetadata(X9,$,J)}static hasSessionMetadata($,J){return Reflect.hasMetadata(Q9,$,J)}static hasCSRFMetadata($,J){return Reflect.hasMetadata(X9,$,J)}}function ZB($){return(J)=>{S.defineWebSocket(J,{path:$})}}function SB(){return($,J)=>{S.defineWebSocketHandler($,J,{type:"connect",method:J})}}function CB($){return(J,Q)=>{S.defineWebSocketHandler(J,Q,{type:"message",method:Q,schema:$})}}function MB(){return($,J)=>{S.defineWebSocketHandler($,J,{type:"disconnect",method:J})}}class Y9{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
|
+
`.trim()}getSchema(){return this.schema}}function p8($,J){try{Object.defineProperty($,"name",{value:J,configurable:!0,enumerable:!1,writable:!1})}catch{$.__veloceCheckerName=J}}function E2($){let J=$;return $.name||J.__veloceCheckerName||"unknown"}class u3{name="health";version="1.0.0";options;startTime;logger=c0().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[E2(W)]=H,H.status==="unhealthy")X=!1}catch(H){let G=H instanceof Error?H.message:"Unknown error";Q[E2(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=E2(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[E2(H)]=G,G.status==="unhealthy")X=!1}catch(G){X=!1;let V=G instanceof Error?G.message:"Unknown error";Y[E2(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 RB={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 p8(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 p8(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 p8(Q,"disk"),Q}};var iC=v1(o1(),1);var dC=v1(o1(),1),i8=Symbol("route:metadata"),n8=Symbol("controller:metadata"),m3=Symbol("parameter:metadata"),l3=Symbol("dependency:metadata"),s8=Symbol("websocket:metadata"),c3=Symbol("websocket:handler:metadata"),o8=Symbol("graphql:resolver"),L2=Symbol("graphql:field"),r8=Symbol("auth:metadata"),a8=Symbol("oauth:metadata"),t8=Symbol("roles:metadata"),e8=Symbol("permissions:metadata"),$9=Symbol("minimum-role:metadata"),J9=Symbol("resource-permission:metadata"),Q9=Symbol("session:metadata"),X9=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(i8,Y,$,J)}static defineParameter($,J,Q,X){let Y=this.getParameterMetadata($,J)||[];Y[Q]=X,Reflect.defineMetadata(m3,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(l3,Y,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,dependencies:Y})}static defineController($,J){Reflect.defineMetadata(n8,J,$)}static getRouteMetadata($,J){return Reflect.getMetadata(i8,$,J)}static getParameterMetadata($,J){return Reflect.getMetadata(m3,$,J)}static getDependencyMetadata($,J){return Reflect.getMetadata(l3,$,J)}static getControllerMetadata($){return Reflect.getMetadata(n8,$)}static hasControllerMetadata($){return Reflect.hasMetadata(n8,$)}static hasRouteMetadata($,J){return Reflect.hasMetadata(i8,$,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(s8,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(c3,Q,$,J)}static getWebSocketMetadata($){return Reflect.getMetadata(s8,$)}static getWebSocketHandlerMetadata($,J){return Reflect.getMetadata(c3,$,J)}static hasWebSocketMetadata($){return Reflect.hasMetadata(s8,$)}static defineGraphQLResolver($,J){Reflect.defineMetadata(o8,J,$)}static defineGraphQLField($,J,Q){Reflect.defineMetadata(L2,Q,$,J);let X=this.getGraphQLFieldsMetadata($.constructor)||[];X.push(Q),Reflect.defineMetadata(L2,X,$.constructor)}static getGraphQLResolverMetadata($){return Reflect.getMetadata(o8,$)}static getGraphQLFieldsMetadata($){return Reflect.getMetadata(L2,$)||[]}static getGraphQLFieldMetadata($,J){return Reflect.getMetadata(L2,$,J)}static hasGraphQLResolverMetadata($){return Reflect.hasMetadata(o8,$)}static hasGraphQLFieldMetadata($,J){return Reflect.hasMetadata(L2,$,J)}static defineAuth($,J,Q){Reflect.defineMetadata(r8,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,auth:Q})}static getAuthMetadata($,J){return Reflect.getMetadata(r8,$,J)}static hasAuthMetadata($,J){return Reflect.hasMetadata(r8,$,J)}static defineOAuth($,J,Q){Reflect.defineMetadata(a8,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,oauth:Q})}static getOAuthMetadata($,J){return Reflect.getMetadata(a8,$,J)}static hasOAuthMetadata($,J){return Reflect.hasMetadata(a8,$,J)}static defineRoles($,J,Q){Reflect.defineMetadata(t8,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,roles:Q})}static definePermissions($,J,Q){Reflect.defineMetadata(e8,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,permissions:Q})}static defineMinimumRole($,J,Q){Reflect.defineMetadata($9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,minimumRole:Q})}static getRolesMetadata($,J){return Reflect.getMetadata(t8,$,J)}static getPermissionsMetadata($,J){return Reflect.getMetadata(e8,$,J)}static getMinimumRoleMetadata($,J){return Reflect.getMetadata($9,$,J)}static hasRolesMetadata($,J){return Reflect.hasMetadata(t8,$,J)}static hasPermissionsMetadata($,J){return Reflect.hasMetadata(e8,$,J)}static hasMinimumRoleMetadata($,J){return Reflect.hasMetadata($9,$,J)}static defineResourcePermission($,J,Q){Reflect.defineMetadata(J9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,resourcePermission:Q})}static getResourcePermissionMetadata($,J){return Reflect.getMetadata(J9,$,J)}static hasResourcePermissionMetadata($,J){return Reflect.hasMetadata(J9,$,J)}static defineSession($,J,Q){Reflect.defineMetadata(Q9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,session:Q})}static defineCSRF($,J,Q){Reflect.defineMetadata(X9,Q,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,csrf:Q})}static getSessionMetadata($,J){return Reflect.getMetadata(Q9,$,J)}static getCSRFMetadata($,J){return Reflect.getMetadata(X9,$,J)}static hasSessionMetadata($,J){return Reflect.hasMetadata(Q9,$,J)}static hasCSRFMetadata($,J){return Reflect.hasMetadata(X9,$,J)}}function ZB($){return(J)=>{S.defineWebSocket(J,{path:$})}}function SB(){return($,J)=>{S.defineWebSocketHandler($,J,{type:"connect",method:J})}}function CB($){return(J,Q)=>{S.defineWebSocketHandler(J,Q,{type:"message",method:Q,schema:$})}}function MB(){return($,J)=>{S.defineWebSocketHandler($,J,{type:"disconnect",method:J})}}class Y9{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}.
|
|
147
147
|
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)}.
|
|
148
148
|
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.
|
|
149
|
-
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
|
|
149
|
+
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 O2{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 \u2014 server returned HTTP ${Q.status}.
|
|
150
150
|
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.
|
|
151
151
|
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 \u2014 HTTP ${Y.status}.
|
|
152
|
-
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 Y9({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(L2.prototype);return $.hono=this.hono,$.defaultHeaders={...this.defaultHeaders},$}}PQ();class x6{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}}}a1();var IQ=/^[\w!#$%&'*.^`|~+-]+$/,pB=/^[ !#-:<-[\]-~]*$/,KQ=($)=>{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)},A9=($,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=KQ(Y.substring(0,W));if(J&&J!==H||!IQ.test(H))continue;let G=KQ(Y.substring(W+1));if(G.startsWith('"')&&G.endsWith('"'))G=G.slice(1,-1);if(pB.test(G)){if(X[H]=G.indexOf("%")!==-1?f$(G,O2):G,J)break}}return X};var iB=($,J,Q={})=>{if(!IQ.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},v6=($,J,Q)=>{return J=encodeURIComponent(J),iB($,J,Q)};var h6=($,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 A9(X,W)[W]}if(!X)return{};return A9(X)};var nB=($,J,Q)=>{let X;if(Q?.prefix==="secure")X=v6("__Secure-"+$,J,{path:"/",...Q,secure:!0});else if(Q?.prefix==="host")X=v6("__Host-"+$,J,{...Q,path:"/",secure:!0,domain:void 0});else X=v6($,J,{path:"/",...Q});return X},g6=($,J,Q,X)=>{let Y=nB(J,Q,X);$.header("Set-Cookie",Y,{append:!0})};class TQ{static json($,J=200,Q){return new j9($,J,Q)}static html($,J=200){return new E9($,J)}static file($,J){return new O9($,J)}static stream($,J){return new R9($,J)}static redirect($,J=302){return new L9($,J)}}class j9{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 E9{content;status;constructor($,J=200){this.content=$;this.status=J}toHonoResponse($){return $.html(this.content,this.status)}}class L9{url;status;constructor($,J=302){this.url=$;this.status=J}toHonoResponse($){return $.redirect(this.url,this.status)}}class O9{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 R9{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 Z9{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 TQ)return J;if(J instanceof j9)return J.toHonoResponse($);if(J instanceof E9)return J.toHonoResponse($);if(J instanceof O9)return J.toHonoResponse($);if(J instanceof R9)return J.toHonoResponse($);if(J instanceof L9)return J.toHonoResponse($);if(J&&typeof J.toHonoResponse==="function")return J.toHonoResponse($);return $.json(J)}}class K1{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?K1.handlerIds.get(J)??K1.assignHandlerId(J):null})}static handlerIds=new WeakMap;static nextHandlerId=0;static assignHandlerId($){let J=++K1.nextHandlerId;return K1.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))}}T$();class u6{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=K1.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(() => (H2(),T8)),{parseTTL:_}=await Promise.resolve().then(() => I8);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(() => I8),_=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(() => (H2(),T8));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 Z9.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 c8(`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=h6($,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(() => (I1(),fQ));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(() => h4);Y=G($);break;case"abort-signal":let{getAbortSignal:V}=await Promise.resolve().then(() => h4);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}}T$();I$();class m6{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 g1(J,Q)}catch(Q){if(this.isDevelopment)console.error("Custom error handler failed:",Q)}if($ instanceof P1)return g1(J,this.handleValidationException($,J));if($.name==="ZodError"&&Array.isArray($.issues)){let Q=new P1($);return g1(J,this.handleValidationException(Q,J))}if($ instanceof E0)return g1(J,this.handleHTTPException($,J));return g1(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 A2(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{c0().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{c0().warn("HTTP Client Error",X)}catch{console.warn("HTTP Exception:",X)}}let Q=$.toJSON();return A2(J,Q,$.statusCode,this.format)}handleGenericError($,J){let Q={name:$.name,message:$.message,path:J.req.path,method:J.req.method,stack:$.stack};try{c0().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:N2(X),title:M1(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
|
+
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 Y9({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(O2.prototype);return $.hono=this.hono,$.defaultHeaders={...this.defaultHeaders},$}}PQ();class x6{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}}}a1();var IQ=/^[\w!#$%&'*.^`|~+-]+$/,pB=/^[ !#-:<-[\]-~]*$/,KQ=($)=>{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)},A9=($,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=KQ(Y.substring(0,W));if(J&&J!==H||!IQ.test(H))continue;let G=KQ(Y.substring(W+1));if(G.startsWith('"')&&G.endsWith('"'))G=G.slice(1,-1);if(pB.test(G)){if(X[H]=G.indexOf("%")!==-1?f$(G,R2):G,J)break}}return X};var iB=($,J,Q={})=>{if(!IQ.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},v6=($,J,Q)=>{return J=encodeURIComponent(J),iB($,J,Q)};var h6=($,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 A9(X,W)[W]}if(!X)return{};return A9(X)};var nB=($,J,Q)=>{let X;if(Q?.prefix==="secure")X=v6("__Secure-"+$,J,{path:"/",...Q,secure:!0});else if(Q?.prefix==="host")X=v6("__Host-"+$,J,{...Q,path:"/",secure:!0,domain:void 0});else X=v6($,J,{path:"/",...Q});return X},g6=($,J,Q,X)=>{let Y=nB(J,Q,X);$.header("Set-Cookie",Y,{append:!0})};class TQ{static json($,J=200,Q){return new j9($,J,Q)}static html($,J=200){return new E9($,J)}static file($,J){return new O9($,J)}static stream($,J){return new R9($,J)}static redirect($,J=302){return new L9($,J)}}class j9{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 E9{content;status;constructor($,J=200){this.content=$;this.status=J}toHonoResponse($){return $.html(this.content,this.status)}}class L9{url;status;constructor($,J=302){this.url=$;this.status=J}toHonoResponse($){return $.redirect(this.url,this.status)}}class O9{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 R9{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 Z9{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 TQ)return J;if(J instanceof j9)return J.toHonoResponse($);if(J instanceof E9)return J.toHonoResponse($);if(J instanceof O9)return J.toHonoResponse($);if(J instanceof R9)return J.toHonoResponse($);if(J instanceof L9)return J.toHonoResponse($);if(J&&typeof J.toHonoResponse==="function")return J.toHonoResponse($);return $.json(J)}}class K1{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?K1.handlerIds.get(J)??K1.assignHandlerId(J):null})}static handlerIds=new WeakMap;static nextHandlerId=0;static assignHandlerId($){let J=++K1.nextHandlerId;return K1.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))}}T$();class u6{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=K1.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(() => (H2(),T8)),{parseTTL:_}=await Promise.resolve().then(() => I8);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(() => I8),_=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(() => (H2(),T8));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 Z9.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 c8(`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=h6($,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(() => (I1(),fQ));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(() => h4);Y=G($);break;case"abort-signal":let{getAbortSignal:V}=await Promise.resolve().then(() => h4);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}}T$();I$();class m6{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 g1(J,Q)}catch(Q){if(this.isDevelopment)console.error("Custom error handler failed:",Q)}if($ instanceof P1)return g1(J,this.handleValidationException($,J));if($.name==="ZodError"&&Array.isArray($.issues)){let Q=new P1($);return g1(J,this.handleValidationException(Q,J))}if($ instanceof E0)return g1(J,this.handleHTTPException($,J));return g1(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 j2(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{c0().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{c0().warn("HTTP Client Error",X)}catch{console.warn("HTTP Exception:",X)}}let Q=$.toJSON();return j2(J,Q,$.statusCode,this.format)}handleGenericError($,J){let Q={name:$.name,message:$.message,path:J.req.path,method:J.req.method,stack:$.stack};try{c0().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:A2(X),title:M1(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(`
|
|
153
153
|
`).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(`
|
|
154
|
-
`).map((G)=>G.trim())}return J.json(H,X)}return A2(J,W,X,this.format)}isDevelopmentMode(){return this.isDevelopment}setDevelopmentMode($){this.isDevelopment=$}}class l6{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 v${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 N9,this.metadata=new S,this.container=new x6,this.validator=new b$,this.errorHandler=new m6(void 0,{errorResponseFormat:this.config.errorResponseFormat}),this.pluginManager=new l6,this.compiler=new u6(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 xQ(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:kQ,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=x4($);this.use(J)}useRateLimit($){let J=$2($);this.use(J)}useCompression($){let J=v4($);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=c0().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}=T4(f4);return new J(this.hono)}case"express":{let{ExpressAdapter:J}=(k4(),T4(b5));return new J(this)}case"native":{let{HonoAdapter:J}=T4(f4);return new J(this.hono)}default:throw Error(`Unknown adapter type: ${$}. Supported adapters: 'hono', 'express', 'native'`)}}}class kQ{}class xQ{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 vQ($){let J={docs:!1,cors:!1,...$};return new v$(J)}function sB($,J,Q,X){let Y=$.getContainer(),W=typeof Q==="function"?Q:()=>Q;Y.register(J,{scope:X?.scope||"singleton",factory:W})}function hQ($){return new L2($)}async function oB($,J){let Q=vQ(J);await $(Q),await Q.compile();let X=hQ(Q);return{app:Q,client:X}}function rB($){$.getContainer().clear()}var ak=v1(o1(),1);function wK($="",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 h$($){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 NK=h$("GET"),AK=h$("POST"),jK=h$("PUT"),EK=h$("DELETE"),LK=h$("PATCH"),OK=h$("ALL");function RK($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,statusCode:$})}}function ZK($,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 SK($,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 CK($){let J=$2($);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 aB($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"body",schema:$,required:!0};S.defineParameter(J,Q,X,Y)}}function tB($){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 eB($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"param",name:$,required:!0};S.defineParameter(J,Q,X,Y)}}function $F($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"header",name:$,required:!1};S.defineParameter(J,Q,X,Y)}}function JF($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"cookie",name:$,required:!1};S.defineParameter(J,Q,X,Y)}}function QF(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"request",required:!0};S.defineParameter($,J,Q,X)}}function XF(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"context",required:!0};S.defineParameter($,J,Q,X)}}function YF(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"request-id",required:!1};S.defineParameter($,J,Q,X)}}function WF(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"abort-signal",required:!1};S.defineParameter($,J,Q,X)}}function TK($,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 bK($,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 xK(...$){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 gK($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,summary:$}})}}function yK($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,description:$}})}}function uK($){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 mK(...$){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 lK(){return($,J)=>{let Q=S.getRouteMetadata($,J);S.defineRoute($,J,{...Q,docs:{...Q?.docs,deprecated:!0}})}}function cK($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,...$}})}}function dK($){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 HF($){return(J,Q)=>{Reflect.defineMetadata("cache:options",$,J,Q);let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,cache:$})}}function GF($){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 S9=Symbol("veloce:db");function VF($,J,Q=S9){$.getContainer().register(Q,{scope:"singleton",factory:()=>J})}function UF($=S9){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$();k4();T$();I1();var b1=v1(FH(),1);class q5{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=b1.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=b1.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 b1.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=b1.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 b1.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 wT=N.object({sub:N.string(),iat:N.number().optional(),exp:N.number().optional(),iss:N.string().optional(),aud:N.string().optional()}).passthrough(),NT=N.object({username:N.string().min(1),password:N.string().min(1)}),AT=N.object({refreshToken:N.string().min(1)});I1();class E4{config;userProvider;jwtProvider;constructor($,J){this.config=$;this.userProvider=J;this.jwtProvider=new q5($)}async login($,J){let Q=await this.userProvider.findByCredentials($,J);if(!Q)throw new S0("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 x$(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 S0("User not found");return Q}catch(J){if(J instanceof Error){if(J.message.includes("expired"))throw new y6;throw new x$(J.message)}throw new x$("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 jE{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 u2{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 zH(){let $=new u2;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 MT=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()}),PT=N.object({userId:N.string(),roles:N.array(N.string())}),KT=N.object({userId:N.string(),permission:N.string()});class m2{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 bT($){return(J,Q)=>{let X={required:!$?.optional,config:$};S.defineAuth(J,Q,X)}}function fT(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"current-user",required:!1})}}function kT(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"token",required:!1})}}function wH($){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 NH($){return $.get("auth.token")||null}function xT($){return $.get("auth.authenticated")===!0}function vT($){return $.get("auth.error")||null}I1();function EE($){return(J,Q)=>{let Y={config:Array.isArray($)?{roles:$,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...$}};S.defineRoles(J,Q,Y)}}function LE($){return(J,Q)=>{let Y={config:Array.isArray($)?{permissions:$,requireAll:!1}:{requireAll:!1,...$}};S.definePermissions(J,Q,Y)}}function AH($){return EE([$])}function cT($){return LE([$])}function dT(){return AH("admin")}function pT(){return AH("super-admin")}function iT($){return(J,Q)=>{S.defineMinimumRole(J,Q,{roleName:$})}}function jH($){return async(J,Q)=>{J.set("rbac",$),await Q()}}class L4{rbac;constructor($){this.rbac=$}checkRoles($,J){let Q=N1($);if(!Q)throw new R0("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 R0(`Access denied. Required ${H} of roles: ${J.roles.join(", ")}`)}}checkPermissions($,J){let Q=N1($);if(!Q)throw new R0("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)=>m2.hasPermission(W,G));else H=J.permissions.some((G)=>m2.hasPermission(W,G));if(!H){let G=J.requireAll?"all":"any";throw new R0(`Access denied. Required ${G} of permissions: ${J.permissions.join(", ")}`)}}checkMinimumRole($,J){let Q=N1($);if(!Q)throw new R0("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 R0(`Access denied. Minimum role level required: ${J} (level ${H})`)}}function OE($){return $.get("rbac")||null}function EH($){return N1($)?.roles||[]}function RE($){let J=OE($),Q=EH($);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 nT($,J){return EH($).includes(J)}function sT($,J){let Q=RE($);return m2.hasPermission(Q,J)}I1();class ZE{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=zH();else this.rbac=new u2;if($.roles)this.rbac.defineRoles($.roles);this.guard=new L4(this.rbac)}async install($){let J=jH(this.rbac);if($.use(J),$.getContainer().register(u2,{factory:()=>this.rbac,scope:"singleton"}),$.getContainer().register(L4,{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 R0("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}}I1();class SE{config;name="auth";version="1.0.0";authService;compileExtended=!1;constructor($){this.config=$;this.authService=new E4($.jwt,$.userProvider)}async install($){let J=wH(this.authService.getJWTProvider());if($.use(J),$.getContainer().register(E4,{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 S0(F)}if(G?.roles?.length){if(!this.authService.hasRoles(q,G.roles))throw new R0(`Required roles: ${G.roles.join(", ")}`)}if(G?.permissions?.length){if(!this.authService.hasPermissions(q,G.permissions))throw new R0(`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 S0(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 S0(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=NH(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 S0(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=N1(Q);if(!X)throw new S0("Not authenticated");return{success:!0,user:X}}})}getAuthService(){return this.authService}}class O4{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 CE extends O4{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 ME extends O4{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 PE extends O4{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 KE{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 IE{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 Db=N.object({code:N.string(),state:N.string(),error:N.string().optional(),error_description:N.string().optional()}),Bb=N.object({accessToken:N.string(),refreshToken:N.string().optional(),expiresIn:N.number().optional(),tokenType:N.string(),scope:N.string().optional()}),TE=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 bE($){return(J,Q)=>{let X={provider:$.provider,config:$};S.defineOAuth(J,Q,X)}}function fE(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"oauth-user",required:!0})}}function kE(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"oauth-token",required:!0})}}function xE($){return $.get("oauth.user")||null}function vE($){return $.get("oauth.token")||null}function hE($){return $.get("oauth.authenticated")===!0}function gE($){return $.get("oauth.provider")||null}class yE{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 uE{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 LH{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 mE{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 lE=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()}),Ab=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()}),jb=N.object({userId:N.string(),data:N.record(N.any()).optional(),maxAge:N.number().optional(),ipAddress:N.string().optional(),userAgent:N.string().optional()}),Eb=N.object({data:N.record(N.any())});I1();function cE($={}){return(J,Q)=>{let X={config:$};S.defineSession(J,Q,X)}}function dE(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"current-session",required:!0})}}function Sb($){return(J,Q,X)=>{if(Q)S.defineParameter(J,Q,X,{index:X,type:"session-data",required:!1,metadata:{key:$}})}}function pE(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"csrf-token",required:!0})}}function iE(){return($,J)=>{S.defineCSRF($,J,{required:!0})}}function nE($,J){return async(Q,X)=>{let Y=$.getConfig(),W=h6(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 OH{sessionManager;csrfProtection;constructor($,J){this.sessionManager=$;this.csrfProtection=J}checkSession($,J){let Q=e0($);if(J.required&&!Q)throw new S0("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 R0("CSRF token required");if(!this.csrfProtection.validateToken(J.id,Q))throw new R0("Invalid CSRF token")}async createSession($,J,Q={}){let X=l2($);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 g6($,X.getConfig().name,H.id,G),$.set("session",H),H}async updateSession($,J){let Q=e0($),X=l2($);if(!Q||!X)return null;let Y=await X.updateSession(Q.id,J);if(Y)$.set("session",Y);return Y}async destroySession($){let J=e0($),Q=l2($);if(!J||!Q)return;await Q.destroySession(J.id);let X=Q.getConfig();if(g6($,X.name,"",{...Q.getCookieOptions(),maxAge:0}),$.set("session",null),this.csrfProtection)this.csrfProtection.removeToken(J.id)}async regenerateSession($){let J=e0($),Q=l2($);if(!J||!Q)return null;let X=await Q.regenerateSession(J.id);if(X){let Y=Q.getCookieOptions();if(g6($,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=e0($);if(!J||!this.csrfProtection)return null;return this.csrfProtection.generateToken(J.id)}}function e0($){return $.get("session")||null}function l2($){return $.get("sessionManager")||null}function sE($){return $.get("csrfProtection")||null}function oE($,J){let Q=e0($);if(!Q)return null;if(J)return Q.data[J];return Q.data}function rE($){return e0($)!==null}function aE($){return e0($)?.userId||null}function tE($,J,Q){let X=e0($);if(X)X.data[J]=Q,$.set("session",X)}function eE($,J){let Q=e0($);if(Q&&J in Q.data)delete Q.data[J],$.set("session",Q)}class X${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 f1 extends X${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 X${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 $1 extends X${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 i${static instance;constructor(){}static getInstance(){if(!i$.instance)i$.instance=new i$;return i$.instance}createRepository($,J){switch($){case"prisma":return new f1(J);case"typeorm":return new k1(J);case"drizzle":return new $1(J);default:throw Error(`Unsupported repository type: ${$}`)}}createPrismaRepository($){return new f1($)}createTypeORMRepository($){return new k1($)}createDrizzleRepository($){return new $1($)}}class R4{repositories=new Map;factory;constructor(){this.factory=i$.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 tb($,J,Q){return(X,Y)=>{let W={type:"generic-repository",name:$,ormType:J,options:Q};Reflect.defineMetadata("inject",W,X,Y)}}function eb($){return class extends ${repositories=new R4;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 $L{repositories=new R4;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 $f=new R4;class _5{executor;operators;selectFields;whereConditions=[];orderByClause;limitCount;offsetCount;groupByFields;havingConditions=[];joins=[];constructor($,J=new RH){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 RH{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 JL{static create($){return new _5($)}static createWithOperators($,J){return new _5($,J)}}class Y${static calculateMeta($,J,Q){if(Q<=0)throw Error("Limit must be greater than 0");let X=Math.ceil($/Q),Y=Y$.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 ZH{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 QL{baseQuery;options={};constructor($={}){this.baseQuery=$;this.options={...$}}offset($,J){return Y$.validatePagination($,J),this.options.pagination={page:$,limit:J,offset:Y$.calculateOffset($,J)},this}cursor($,J,Q="id"){if(J<1||J>1000)throw Error("Limit must be between 1 and 1000");let X=ZH.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 Yf($=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);Y$.validatePagination(V,U),G.pagination={page:V,limit:U,offset:Y$.calculateOffset(V,U)}}return await W.apply(this,H)},Y}}function Wf($,J,Q,X){let Y=Y$.calculateMeta(J,Q,X);return{data:$,meta:Y}}function Hf($,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 XL{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}}g0();g0();var Vf=v1(o1(),1);function YL($,J){return(Q)=>{let X={entity:$,connection:J,transactional:!1};Reflect.defineMetadata("repository",X,Q)}}function WL($){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 x1().handleTransactional(this,Q,H,Y,H.find((V)=>V&&typeof V==="object"&&V.req&&V.res))},X}}function HL($){return(J)=>{let Q={tableName:$||J.name.toLowerCase()};Reflect.defineMetadata("entity",Q,J)}}function GL($){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)}}g0();class W${static instance;constructor(){}static getInstance(){if(!W$.instance)W$.instance=new W$;return W$.instance}async intercept($,J,Q,X,Y){let W=x1();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 CH(){return async($,J)=>{let Q=W$.getInstance();$.set("transactionInterceptor",Q),$.set("transactionContext",$),await J()}}function VL($){return $.get("transactionInterceptor")||W$.getInstance()}function Bf($,J){return VL($).createTransactionalProxy(J,$)}var UL;((H)=>{H.REQUIRED="REQUIRED";H.REQUIRES_NEW="REQUIRES_NEW";H.SUPPORTS="SUPPORTS";H.NOT_SUPPORTED="NOT_SUPPORTED";H.MANDATORY="MANDATORY";H.NEVER="NEVER"})(UL||={});class qL{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 s$($){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(() => (g0(),SH));return await G().handleTransactional(this,Q,H,Y,H.find((U)=>U&&typeof U==="object"&&U.req&&U.res))},X}}function zf($){return s$({...$,propagation:"REQUIRED"})}function wf($){return s$({...$,propagation:"REQUIRES_NEW"})}function Nf($){return s$({...$,propagation:"SUPPORTS"})}function Af($){return s$({...$,propagation:"NOT_SUPPORTED"})}function jf($){return s$({...$,propagation:"MANDATORY"})}function Ef($){return s$({...$,propagation:"NEVER"})}var _L;((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"})(_L||={});class MH{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 Of(){return($,J)=>{Reflect.defineMetadata("transaction-event","begin",$,J)}}function Rf(){return($,J)=>{Reflect.defineMetadata("transaction-event","commit",$,J)}}function Zf(){return($,J)=>{Reflect.defineMetadata("transaction-event","rollback",$,J)}}class D5{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 B5{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 o$=new MH;g0();class PH{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(CH()),this.setupEventListeners(),this.registerTransactionUtilities($),console.log("\u2705 Transaction plugin installed successfully")}setupTransactionManager(){if(this.config.customTransactionManager)J1(this.config.customTransactionManager);else J1(new n$)}setupEventListeners(){if(this.config.enableLogging){let $=new D5;o$.addListener($)}if(this.config.enableMetrics)this.metricsListener=new B5,o$.addListener(this.metricsListener)}registerTransactionUtilities($){let J=$.getContainer();class Q{}class X{}class Y{}if(J.register(Q,{scope:"singleton",factory:()=>o$}),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=x1(),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($){o$.addListener($)}removeEventListener($){o$.removeListener($)}}function Kf($){return new PH($)}class DL{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 BL{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 c2{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(`
|
|
155
|
-
`),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($)}}}g0();class S4 extends _1{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}}g0();import
|
|
154
|
+
`).map((G)=>G.trim())}return J.json(H,X)}return j2(J,W,X,this.format)}isDevelopmentMode(){return this.isDevelopment}setDevelopmentMode($){this.isDevelopment=$}}class l6{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 v${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 w9,this.metadata=new S,this.container=new x6,this.validator=new b$,this.errorHandler=new m6(void 0,{errorResponseFormat:this.config.errorResponseFormat}),this.pluginManager=new l6,this.compiler=new u6(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 xQ(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:kQ,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=x4($);this.use(J)}useRateLimit($){let J=$2($);this.use(J)}useCompression($){let J=v4($);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=c0().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}=T4(f4);return new J(this.hono)}case"express":{let{ExpressAdapter:J}=(k4(),T4(b5));return new J(this)}case"native":{let{HonoAdapter:J}=T4(f4);return new J(this.hono)}default:throw Error(`Unknown adapter type: ${$}. Supported adapters: 'hono', 'express', 'native'`)}}}class kQ{}class xQ{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 vQ($){let J={docs:!1,cors:!1,...$};return new v$(J)}function sB($,J,Q,X){let Y=$.getContainer(),W=typeof Q==="function"?Q:()=>Q;Y.register(J,{scope:X?.scope||"singleton",factory:W})}function hQ($){return new O2($)}async function oB($,J){let Q=vQ(J);await $(Q),await Q.compile();let X=hQ(Q);return{app:Q,client:X}}function rB($){$.getContainer().clear()}var ak=v1(o1(),1);function NK($="",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 h$($){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 wK=h$("GET"),AK=h$("POST"),jK=h$("PUT"),EK=h$("DELETE"),LK=h$("PATCH"),OK=h$("ALL");function RK($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,statusCode:$})}}function ZK($,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 SK($,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 CK($){let J=$2($);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 aB($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"body",schema:$,required:!0};S.defineParameter(J,Q,X,Y)}}function tB($){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 eB($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"param",name:$,required:!0};S.defineParameter(J,Q,X,Y)}}function $F($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"header",name:$,required:!1};S.defineParameter(J,Q,X,Y)}}function JF($){return(J,Q,X)=>{if(!Q)return;let Y={index:X,type:"cookie",name:$,required:!1};S.defineParameter(J,Q,X,Y)}}function QF(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"request",required:!0};S.defineParameter($,J,Q,X)}}function XF(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"context",required:!0};S.defineParameter($,J,Q,X)}}function YF(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"request-id",required:!1};S.defineParameter($,J,Q,X)}}function WF(){return($,J,Q)=>{if(!J)return;let X={index:Q,type:"abort-signal",required:!1};S.defineParameter($,J,Q,X)}}function TK($,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 bK($,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 xK(...$){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 gK($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,summary:$}})}}function yK($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,description:$}})}}function uK($){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 mK(...$){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 lK(){return($,J)=>{let Q=S.getRouteMetadata($,J);S.defineRoute($,J,{...Q,docs:{...Q?.docs,deprecated:!0}})}}function cK($){return(J,Q)=>{let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,docs:{...X?.docs,...$}})}}function dK($){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 HF($){return(J,Q)=>{Reflect.defineMetadata("cache:options",$,J,Q);let X=S.getRouteMetadata(J,Q);S.defineRoute(J,Q,{...X,cache:$})}}function GF($){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 S9=Symbol("veloce:db");function VF($,J,Q=S9){$.getContainer().register(Q,{scope:"singleton",factory:()=>J})}function UF($=S9){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$();k4();T$();I1();var b1=v1(FH(),1);class q5{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=b1.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=b1.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 b1.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=b1.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 b1.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 NT=w.object({sub:w.string(),iat:w.number().optional(),exp:w.number().optional(),iss:w.string().optional(),aud:w.string().optional()}).passthrough(),wT=w.object({username:w.string().min(1),password:w.string().min(1)}),AT=w.object({refreshToken:w.string().min(1)});I1();class E4{config;userProvider;jwtProvider;constructor($,J){this.config=$;this.userProvider=J;this.jwtProvider=new q5($)}async login($,J){let Q=await this.userProvider.findByCredentials($,J);if(!Q)throw new S0("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 x$(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 S0("User not found");return Q}catch(J){if(J instanceof Error){if(J.message.includes("expired"))throw new y6;throw new x$(J.message)}throw new x$("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 jE{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 m2{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 zH(){let $=new m2;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 MT=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()}),PT=w.object({userId:w.string(),roles:w.array(w.string())}),KT=w.object({userId:w.string(),permission:w.string()});class l2{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 bT($){return(J,Q)=>{let X={required:!$?.optional,config:$};S.defineAuth(J,Q,X)}}function fT(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"current-user",required:!1})}}function kT(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"token",required:!1})}}function NH($){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 wH($){return $.get("auth.token")||null}function xT($){return $.get("auth.authenticated")===!0}function vT($){return $.get("auth.error")||null}I1();function EE($){return(J,Q)=>{let Y={config:Array.isArray($)?{roles:$,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...$}};S.defineRoles(J,Q,Y)}}function LE($){return(J,Q)=>{let Y={config:Array.isArray($)?{permissions:$,requireAll:!1}:{requireAll:!1,...$}};S.definePermissions(J,Q,Y)}}function AH($){return EE([$])}function cT($){return LE([$])}function dT(){return AH("admin")}function pT(){return AH("super-admin")}function iT($){return(J,Q)=>{S.defineMinimumRole(J,Q,{roleName:$})}}function jH($){return async(J,Q)=>{J.set("rbac",$),await Q()}}class L4{rbac;constructor($){this.rbac=$}checkRoles($,J){let Q=w1($);if(!Q)throw new R0("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 R0(`Access denied. Required ${H} of roles: ${J.roles.join(", ")}`)}}checkPermissions($,J){let Q=w1($);if(!Q)throw new R0("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)=>l2.hasPermission(W,G));else H=J.permissions.some((G)=>l2.hasPermission(W,G));if(!H){let G=J.requireAll?"all":"any";throw new R0(`Access denied. Required ${G} of permissions: ${J.permissions.join(", ")}`)}}checkMinimumRole($,J){let Q=w1($);if(!Q)throw new R0("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 R0(`Access denied. Minimum role level required: ${J} (level ${H})`)}}function OE($){return $.get("rbac")||null}function EH($){return w1($)?.roles||[]}function RE($){let J=OE($),Q=EH($);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 nT($,J){return EH($).includes(J)}function sT($,J){let Q=RE($);return l2.hasPermission(Q,J)}I1();class ZE{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=zH();else this.rbac=new m2;if($.roles)this.rbac.defineRoles($.roles);this.guard=new L4(this.rbac)}async install($){let J=jH(this.rbac);if($.use(J),$.getContainer().register(m2,{factory:()=>this.rbac,scope:"singleton"}),$.getContainer().register(L4,{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 R0("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}}I1();class SE{config;name="auth";version="1.0.0";authService;compileExtended=!1;constructor($){this.config=$;this.authService=new E4($.jwt,$.userProvider)}async install($){let J=NH(this.authService.getJWTProvider());if($.use(J),$.getContainer().register(E4,{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 S0(F)}if(G?.roles?.length){if(!this.authService.hasRoles(q,G.roles))throw new R0(`Required roles: ${G.roles.join(", ")}`)}if(G?.permissions?.length){if(!this.authService.hasPermissions(q,G.permissions))throw new R0(`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 S0(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 S0(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=wH(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 S0(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=w1(Q);if(!X)throw new S0("Not authenticated");return{success:!0,user:X}}})}getAuthService(){return this.authService}}class O4{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 CE extends O4{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 ME extends O4{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 PE extends O4{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 KE{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 IE{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 Db=w.object({code:w.string(),state:w.string(),error:w.string().optional(),error_description:w.string().optional()}),Bb=w.object({accessToken:w.string(),refreshToken:w.string().optional(),expiresIn:w.number().optional(),tokenType:w.string(),scope:w.string().optional()}),TE=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 bE($){return(J,Q)=>{let X={provider:$.provider,config:$};S.defineOAuth(J,Q,X)}}function fE(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"oauth-user",required:!0})}}function kE(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"oauth-token",required:!0})}}function xE($){return $.get("oauth.user")||null}function vE($){return $.get("oauth.token")||null}function hE($){return $.get("oauth.authenticated")===!0}function gE($){return $.get("oauth.provider")||null}class yE{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 uE{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 LH{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 mE{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 lE=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()}),Ab=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()}),jb=w.object({userId:w.string(),data:w.record(w.any()).optional(),maxAge:w.number().optional(),ipAddress:w.string().optional(),userAgent:w.string().optional()}),Eb=w.object({data:w.record(w.any())});I1();function cE($={}){return(J,Q)=>{let X={config:$};S.defineSession(J,Q,X)}}function dE(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"current-session",required:!0})}}function Sb($){return(J,Q,X)=>{if(Q)S.defineParameter(J,Q,X,{index:X,type:"session-data",required:!1,metadata:{key:$}})}}function pE(){return($,J,Q)=>{if(J)S.defineParameter($,J,Q,{index:Q,type:"csrf-token",required:!0})}}function iE(){return($,J)=>{S.defineCSRF($,J,{required:!0})}}function nE($,J){return async(Q,X)=>{let Y=$.getConfig(),W=h6(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 OH{sessionManager;csrfProtection;constructor($,J){this.sessionManager=$;this.csrfProtection=J}checkSession($,J){let Q=e0($);if(J.required&&!Q)throw new S0("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 R0("CSRF token required");if(!this.csrfProtection.validateToken(J.id,Q))throw new R0("Invalid CSRF token")}async createSession($,J,Q={}){let X=c2($);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 g6($,X.getConfig().name,H.id,G),$.set("session",H),H}async updateSession($,J){let Q=e0($),X=c2($);if(!Q||!X)return null;let Y=await X.updateSession(Q.id,J);if(Y)$.set("session",Y);return Y}async destroySession($){let J=e0($),Q=c2($);if(!J||!Q)return;await Q.destroySession(J.id);let X=Q.getConfig();if(g6($,X.name,"",{...Q.getCookieOptions(),maxAge:0}),$.set("session",null),this.csrfProtection)this.csrfProtection.removeToken(J.id)}async regenerateSession($){let J=e0($),Q=c2($);if(!J||!Q)return null;let X=await Q.regenerateSession(J.id);if(X){let Y=Q.getCookieOptions();if(g6($,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=e0($);if(!J||!this.csrfProtection)return null;return this.csrfProtection.generateToken(J.id)}}function e0($){return $.get("session")||null}function c2($){return $.get("sessionManager")||null}function sE($){return $.get("csrfProtection")||null}function oE($,J){let Q=e0($);if(!Q)return null;if(J)return Q.data[J];return Q.data}function rE($){return e0($)!==null}function aE($){return e0($)?.userId||null}function tE($,J,Q){let X=e0($);if(X)X.data[J]=Q,$.set("session",X)}function eE($,J){let Q=e0($);if(Q&&J in Q.data)delete Q.data[J],$.set("session",Q)}class X${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 f1 extends X${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 X${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 $1 extends X${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 i${static instance;constructor(){}static getInstance(){if(!i$.instance)i$.instance=new i$;return i$.instance}createRepository($,J){switch($){case"prisma":return new f1(J);case"typeorm":return new k1(J);case"drizzle":return new $1(J);default:throw Error(`Unsupported repository type: ${$}`)}}createPrismaRepository($){return new f1($)}createTypeORMRepository($){return new k1($)}createDrizzleRepository($){return new $1($)}}class R4{repositories=new Map;factory;constructor(){this.factory=i$.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 tb($,J,Q){return(X,Y)=>{let W={type:"generic-repository",name:$,ormType:J,options:Q};Reflect.defineMetadata("inject",W,X,Y)}}function eb($){return class extends ${repositories=new R4;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 $L{repositories=new R4;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 $f=new R4;class _5{executor;operators;selectFields;whereConditions=[];orderByClause;limitCount;offsetCount;groupByFields;havingConditions=[];joins=[];constructor($,J=new RH){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 RH{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 JL{static create($){return new _5($)}static createWithOperators($,J){return new _5($,J)}}class Y${static calculateMeta($,J,Q){if(Q<=0)throw Error("Limit must be greater than 0");let X=Math.ceil($/Q),Y=Y$.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 ZH{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 QL{baseQuery;options={};constructor($={}){this.baseQuery=$;this.options={...$}}offset($,J){return Y$.validatePagination($,J),this.options.pagination={page:$,limit:J,offset:Y$.calculateOffset($,J)},this}cursor($,J,Q="id"){if(J<1||J>1000)throw Error("Limit must be between 1 and 1000");let X=ZH.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 Yf($=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);Y$.validatePagination(V,U),G.pagination={page:V,limit:U,offset:Y$.calculateOffset(V,U)}}return await W.apply(this,H)},Y}}function Wf($,J,Q,X){let Y=Y$.calculateMeta(J,Q,X);return{data:$,meta:Y}}function Hf($,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 XL{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}}g0();g0();var Vf=v1(o1(),1);function YL($,J){return(Q)=>{let X={entity:$,connection:J,transactional:!1};Reflect.defineMetadata("repository",X,Q)}}function WL($){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 x1().handleTransactional(this,Q,H,Y,H.find((V)=>V&&typeof V==="object"&&V.req&&V.res))},X}}function HL($){return(J)=>{let Q={tableName:$||J.name.toLowerCase()};Reflect.defineMetadata("entity",Q,J)}}function GL($){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)}}g0();class W${static instance;constructor(){}static getInstance(){if(!W$.instance)W$.instance=new W$;return W$.instance}async intercept($,J,Q,X,Y){let W=x1();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 CH(){return async($,J)=>{let Q=W$.getInstance();$.set("transactionInterceptor",Q),$.set("transactionContext",$),await J()}}function VL($){return $.get("transactionInterceptor")||W$.getInstance()}function Bf($,J){return VL($).createTransactionalProxy(J,$)}var UL;((H)=>{H.REQUIRED="REQUIRED";H.REQUIRES_NEW="REQUIRES_NEW";H.SUPPORTS="SUPPORTS";H.NOT_SUPPORTED="NOT_SUPPORTED";H.MANDATORY="MANDATORY";H.NEVER="NEVER"})(UL||={});class qL{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 s$($){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(() => (g0(),SH));return await G().handleTransactional(this,Q,H,Y,H.find((U)=>U&&typeof U==="object"&&U.req&&U.res))},X}}function zf($){return s$({...$,propagation:"REQUIRED"})}function Nf($){return s$({...$,propagation:"REQUIRES_NEW"})}function wf($){return s$({...$,propagation:"SUPPORTS"})}function Af($){return s$({...$,propagation:"NOT_SUPPORTED"})}function jf($){return s$({...$,propagation:"MANDATORY"})}function Ef($){return s$({...$,propagation:"NEVER"})}var _L;((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"})(_L||={});class MH{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 Of(){return($,J)=>{Reflect.defineMetadata("transaction-event","begin",$,J)}}function Rf(){return($,J)=>{Reflect.defineMetadata("transaction-event","commit",$,J)}}function Zf(){return($,J)=>{Reflect.defineMetadata("transaction-event","rollback",$,J)}}class D5{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 B5{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 o$=new MH;g0();class PH{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(CH()),this.setupEventListeners(),this.registerTransactionUtilities($),console.log("\u2705 Transaction plugin installed successfully")}setupTransactionManager(){if(this.config.customTransactionManager)J1(this.config.customTransactionManager);else J1(new n$)}setupEventListeners(){if(this.config.enableLogging){let $=new D5;o$.addListener($)}if(this.config.enableMetrics)this.metricsListener=new B5,o$.addListener(this.metricsListener)}registerTransactionUtilities($){let J=$.getContainer();class Q{}class X{}class Y{}if(J.register(Q,{scope:"singleton",factory:()=>o$}),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=x1(),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($){o$.addListener($)}removeEventListener($){o$.removeListener($)}}function Kf($){return new PH($)}class DL{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 BL{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 d2{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(`
|
|
155
|
+
`),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($)}}}g0();class S4 extends _1{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}}g0();import p2 from"fs";import FL from"path";class F5{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 d2,this.transactionManager=new S4($)}async install($){if(await this.client.$connect(),J1(this.transactionManager),this.config.generateZodSchemas&&this.config.schemaPath)await this.parseAndGenerateSchemas();this.registerRepositoryFactory($),this.registerShutdownHook($),console.log("\u2705 Prisma plugin installed successfully")}async parseAndGenerateSchemas(){try{if(!p2.existsSync(this.config.schemaPath)){console.warn(`\u26A0\uFE0F Prisma schema not found at ${this.config.schemaPath}`);return}let $=p2.readFileSync(this.config.schemaPath,"utf-8"),J=d2.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("\u274C Failed to parse Prisma schema:",$)}}async generateZodSchemaFile(){let $=FL.dirname(this.config.outputPath);if(!p2.existsSync($))p2.mkdirSync($,{recursive:!0});let J=`// Auto-generated Zod schemas from Prisma schema
|
|
156
156
|
`;J+=`// Do not edit this file manually
|
|
157
157
|
|
|
158
158
|
`,J+=`import { z } from 'zod';
|
|
@@ -166,6 +166,6 @@ Body: ${Y.text}`);let W={};if($.username)W.username=$.username;if($.email)W.emai
|
|
|
166
166
|
`,J+=`export type ${Q}Create = z.infer<typeof ${Q}CreateSchema>;
|
|
167
167
|
`,J+=`export type ${Q}Update = z.infer<typeof ${Q}UpdateSchema>;
|
|
168
168
|
|
|
169
|
-
`}d2.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 f1({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 f1({client:this.client,delegate:Q,model:$,zodSchema:J})}getClient(){return this.client}getTransactionManager(){return this.transactionManager}}function zL($,J){return new F5($,J)}g0();class C4 extends _1{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}}g0();class z5{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 C4($)}async install($){if(!this.dataSource.isInitialized)await this.dataSource.initialize();J1(this.transactionManager),this.extractEntityMetadata(),this.registerRepositoryFactory($),this.registerMigrationUtilities($),this.registerShutdownHook($),console.log("\u2705 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("\u274C 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("\u2705 Migrations executed successfully")},revert:async()=>{if(this.dataSource.undoLastMigration)await this.dataSource.undoLastMigration(),console.log("\u2705 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("\u2705 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("\u2705 Migrations executed successfully");else console.warn("\u26A0\uFE0F Migration support not available")}async revertMigration(){if(this.dataSource.undoLastMigration)await this.dataSource.undoLastMigration(),console.log("\u2705 Last migration reverted successfully");else console.warn("\u26A0\uFE0F Migration revert not available")}async synchronize(){if(this.config.synchronize&&this.dataSource.synchronize)await this.dataSource.synchronize(),console.log("\u2705 Database schema synchronized");else console.warn("\u26A0\uFE0F Schema synchronization is disabled or not available")}async dropSchema(){if(this.config.dropSchema&&this.dataSource.dropDatabase)await this.dataSource.dropDatabase(),console.log("\u2705 Database schema dropped");else console.warn("\u26A0\uFE0F Schema dropping is disabled or not available")}}function wL($,J){return new z5($,J)}class KH{}var Wk=v1(o1(),1);function NL($){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)}}g0();class M4 extends _1{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}}g0();class w5{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 IH{name="drizzle";version="1.0.0";database;config;transactionManager;schemaConverter;tables=new Map;tableMetadata=new Map;logger=D$({component:"DrizzlePlugin"});constructor($,J){this.database=$,this.config={logger:!1,mode:"default",...J},this.transactionManager=new M4($),this.schemaConverter=new w5}async install($){try{if(this.logger.info("Installing Drizzle ORM plugin..."),J1(this.transactionManager),this.logger.debug("Global transaction manager configured"),this.config.schema)this.registerSchema(this.config.schema);this.registerRepositoryFactory($),this.registerDatabaseUtilities($),this.logger.info("\u2705 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 $1({database:this.database,table:Y,zodSchema:X||this.tableMetadata.get(Q)?.zodSchema})},createFromTable:(Q,X)=>{return new $1({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=D$({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("\u2705 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 $1({database:this.database,table:Q,zodSchema:J||this.tableMetadata.get($)?.zodSchema})}createRepositoryFromTable($,J){return new $1({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 N5{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 AL($,J){return new N5($,J)}H2();export{f3 as zodToJsonSchema,z1 as zodToGraphQLType,wC as zodObjectToGraphQLType,NC as zodObjectToGraphQLInput,N as z,eb as withRepositoryMixin,CH as transactionMiddleware,g3 as toLegacyErrorBody,oB as setupTestApp,tE as setSessionData,XG as setRequestMetadata,k5 as setRequestContext,J1 as setGlobalTransactionManager,gJ as setCache,A2 as sendErrorResponse,N2 as resolveProblemType,M1 as resolveProblemTitle,XO as requestLoggingMiddleware,eE as removeSessionData,VF as registerDrizzle,w1 as problemTypeUri,B$ as parseTTL,Hf as parseCursorQuery,Wf as paginate,sB as mockDependency,g1 as mergeVeloceCorsHeaders,rE as isSessionAuthenticated,hE as isOAuthAuthenticated,w2 as isNullable,xT as isAuthenticated,uJ as invalidateCache,s2 as initializeRequestContext,$O as initializeLogger,BC as hasResolverMetadata,FC as hasFieldMetadata,o$ as globalTransactionEventManager,$f as globalRepositoryRegistry,EH as getUserRoles,RE as getUserPermissions,VL as getTransactionInterceptor,NH as getToken,aE as getSessionUserId,l2 as getSessionManager,oE as getSessionData,qC as getResolverMetadata,YG as getRequestMetadata,$G as getRequestId,o2 as getRequestDuration,j1 as getRequestContext,OE as getRBACManager,xE as getOAuthUser,vE as getOAuthToken,gE as getOAuthProvider,c0 as getLogger,x1 as getGlobalTransactionManager,_C as getFieldsMetadata,DC as getFieldMetadata,v3 as getDefaultValue,N1 as getCurrentUser,e0 as getCurrentSession,hJ as getCache,sE as getCSRFProtection,vT as getAuthError,l8 as getArgumentsMetadata,JG as getAbortSignal,f5 as generateRequestId,YO as errorLoggingMiddleware,yJ as deleteCache,wL as createTypeORMPlugin,Bf as createTransactionalProxy,Kf as createTransactionPlugin,hQ as createTestClient,vQ as createTestApp,l_ as createSimpleRequestIdMiddleware,nE as createSessionMiddleware,m_ as createRequestContextMiddleware,AL as createRedisCacheStore,$2 as createRateLimitMiddleware,jH as createRBACMiddleware,zL as createPrismaPlugin,vJ as createLogger,zH as createDefaultRBAC,x4 as createCorsMiddleware,v4 as createCompressionMiddleware,D$ as createChildLogger,c_ as createCacheMiddleware,d_ as createCacheInvalidationMiddleware,wH as createAuthMiddleware,rB as clearMocks,mJ as clearCache,r2 as cleanupRequestContext,nT as checkUserRole,sT as checkUserPermission,h3 as buildProblemInstance,QG as abortRequest,s1 as ZodToJsonSchemaConverter,y8 as WebSocketPlugin,C6 as WebSocketManager,S6 as WebSocketConnection,ZB as WebSocket,v$ as VeloceTS,v$ as Veloce,P1 as ValidationException,b$ as ValidationEngine,eH as VELOCE_CORS_HEADERS_KEY,xK as UseMiddleware,jB as UnprocessableEntityException,FB as UnauthorizedException,C4 as TypeORMTransactionManager,k1 as TypeORMRepository,z5 as TypeORMPlugin,NL as TypeORMEntity,s$ as TransactionalWithPropagation,WL as Transactional,BL as TransactionTemplate,DL as TransactionService,qL as TransactionPropagationManager,UL as TransactionPropagation,PH as TransactionPlugin,B5 as TransactionMetricsListener,D5 as TransactionLoggingListener,W$ as TransactionInterceptor,_L as TransactionEventType,MH as TransactionEventManager,EB as TooManyRequestsException,bQ as TokenRevokedException,wT as TokenPayloadSchema,y6 as TokenExpiredException,kT as Token,SK as Timeout,Y9 as TestResponse,L2 as TestClient,mK as Tags,uK as Tag,Nf as Supports,pT as SuperAdminOnly,gK as Summary,GC as Subscription,R9 as StreamResponse,LH as SessionManager,OH as SessionGuard,lE as SessionDataSchema,cE as Session,LB as ServiceUnavailableException,u6 as RouterCompiler,EE as Roles,MT as RoleSchema,PT as RoleAssignmentSchema,Z9 as ResponseSerializer,ZK as ResponseSchema,TQ as Response,YC as Resolver,wf as RequiresNew,zf as Required,AH as RequireRole,cT as RequirePermission,iE as RequireCSRF,YF as RequestId,QF as Req,$L as RepositoryService,R4 as RepositoryRegistry,i$ as RepositoryFactory,YL as Repository,AT as RefreshRequestSchema,N5 as RedisCacheStore,L9 as RedirectResponse,CK as RateLimit,ZE as RBACPlugin,u2 as RBACManager,L4 as RBACGuard,JL as QueryBuilderFactory,_5 as QueryBuilder,tB as Query,jK as Put,c2 as PrismaZodSchemaGenerator,S4 as PrismaTransactionManager,f1 as PrismaRepository,F5 as PrismaPlugin,AK as Post,l6 as PluginManager,LE as Permissions,m2 as PermissionMatcher,KT as PermissionCheckSchema,AB as PayloadTooLargeException,LK as Patch,eB as Param,XL as PaginationTransformer,Y$ as PaginationHelper,QL as PaginationBuilder,Yf as Paginated,UB as PROBLEM_JSON_MEDIA_TYPE,k3 as OpenAPIPlugin,C1 as OpenAPIGenerator,Zf as OnTransactionRollback,Rf as OnTransactionCommit,Of as OnTransactionBegin,CB as OnMessage,MB as OnDisconnect,SB as OnConnect,TE as OAuthUserSchema,fE as OAuthUser,kE as OAuthToken,bE as OAuth,Af as NotSupported,BB as NotFoundException,Ef as Never,HC as Mutation,iT as MinimumRole,KH as Migration,S as MetadataRegistry,K1 as MetadataCompiler,z6 as MemoryCacheStore,jf as Mandatory,NT as LoginRequestSchema,q5 as JWTProvider,j9 as JSONResponse,x$ as InvalidTokenException,UF as InjectDB,bK as Inject,jE as InMemoryUserProvider,n$ as InMemoryTransactionManager,RK as HttpCode,b4 as HonoAdapter,RB as HealthCheckers,u3 as HealthCheckPlugin,$F as Header,E0 as HTTPException,E9 as HTMLResponse,GC as GraphQLSubscription,d8 as GraphQLSchemaBuilder,WC as GraphQLQuery,y3 as GraphQLPlugin,HC as GraphQLMutation,UC as GraphQLCtx,NB as GoneException,NK as Get,tb as GenericRepository,GC as GQLSubscription,WC as GQLQuery,HC as GQLMutation,UC as GQLContext,zB as ForbiddenException,O9 as FileResponse,v$ as FastAPITS,n2 as ExpressAdapter,m6 as ErrorHandler,HL as Entity,w5 as DrizzleZodSchemaConverter,M4 as DrizzleTransactionManager,$1 as DrizzleRepository,IH as DrizzlePlugin,yK as Description,lK as Deprecated,TK as Depends,EK as Delete,RH as DefaultQueryOperators,x6 as DIContainer,qB as DEFAULT_PROBLEM_TYPE_BASE,S9 as DB_TOKEN,ZH as CursorPaginationHelper,fT as CurrentUser,dE as CurrentSession,XF as Ctx,JF as Cookie,wK as Controller,wB as ConflictException,GL as Column,k0 as CacheManager,GF as CacheInvalidate,HF as Cache,pE as CSRFToken,aB as Body,_1 as BaseTransactionManager,X$ as BaseRepository,c8 as BadRequestException,R0 as AuthorizationException,S0 as AuthenticationException,E4 as AuthService,SE as AuthPlugin,bT as Auth,VC as Arg,dK as ApiResponse,cK as ApiDoc,OK as All,dT as AdminOnly,WF as AbortSignal};
|
|
169
|
+
`}p2.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 f1({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 f1({client:this.client,delegate:Q,model:$,zodSchema:J})}getClient(){return this.client}getTransactionManager(){return this.transactionManager}}function zL($,J){return new F5($,J)}g0();class C4 extends _1{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}}g0();class z5{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 C4($)}async install($){if(!this.dataSource.isInitialized)await this.dataSource.initialize();J1(this.transactionManager),this.extractEntityMetadata(),this.registerRepositoryFactory($),this.registerMigrationUtilities($),this.registerShutdownHook($),console.log("\u2705 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("\u274C 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("\u2705 Migrations executed successfully")},revert:async()=>{if(this.dataSource.undoLastMigration)await this.dataSource.undoLastMigration(),console.log("\u2705 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("\u2705 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("\u2705 Migrations executed successfully");else console.warn("\u26A0\uFE0F Migration support not available")}async revertMigration(){if(this.dataSource.undoLastMigration)await this.dataSource.undoLastMigration(),console.log("\u2705 Last migration reverted successfully");else console.warn("\u26A0\uFE0F Migration revert not available")}async synchronize(){if(this.config.synchronize&&this.dataSource.synchronize)await this.dataSource.synchronize(),console.log("\u2705 Database schema synchronized");else console.warn("\u26A0\uFE0F Schema synchronization is disabled or not available")}async dropSchema(){if(this.config.dropSchema&&this.dataSource.dropDatabase)await this.dataSource.dropDatabase(),console.log("\u2705 Database schema dropped");else console.warn("\u26A0\uFE0F Schema dropping is disabled or not available")}}function NL($,J){return new z5($,J)}class KH{}var Wk=v1(o1(),1);function wL($){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)}}g0();class M4 extends _1{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}}g0();class N5{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 IH{name="drizzle";version="1.0.0";database;config;transactionManager;schemaConverter;tables=new Map;tableMetadata=new Map;logger=D$({component:"DrizzlePlugin"});constructor($,J){this.database=$,this.config={logger:!1,mode:"default",...J},this.transactionManager=new M4($),this.schemaConverter=new N5}async install($){try{if(this.logger.info("Installing Drizzle ORM plugin..."),J1(this.transactionManager),this.logger.debug("Global transaction manager configured"),this.config.schema)this.registerSchema(this.config.schema);this.registerRepositoryFactory($),this.registerDatabaseUtilities($),this.logger.info("\u2705 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 $1({database:this.database,table:Y,zodSchema:X||this.tableMetadata.get(Q)?.zodSchema})},createFromTable:(Q,X)=>{return new $1({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=D$({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("\u2705 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 $1({database:this.database,table:Q,zodSchema:J||this.tableMetadata.get($)?.zodSchema})}createRepositoryFromTable($,J){return new $1({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 w5{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 AL($,J){return new w5($,J)}H2();export{f3 as zodToJsonSchema,z1 as zodToGraphQLType,NC as zodObjectToGraphQLType,wC as zodObjectToGraphQLInput,w as z,eb as withRepositoryMixin,CH as transactionMiddleware,g3 as toLegacyErrorBody,oB as setupTestApp,tE as setSessionData,XG as setRequestMetadata,k5 as setRequestContext,J1 as setGlobalTransactionManager,gJ as setCache,j2 as sendErrorResponse,A2 as resolveProblemType,M1 as resolveProblemTitle,XO as requestLoggingMiddleware,eE as removeSessionData,VF as registerDrizzle,N1 as problemTypeUri,B$ as parseTTL,Hf as parseCursorQuery,Wf as paginate,sB as mockDependency,g1 as mergeVeloceCorsHeaders,rE as isSessionAuthenticated,hE as isOAuthAuthenticated,w2 as isNullable,xT as isAuthenticated,uJ as invalidateCache,o2 as initializeRequestContext,$O as initializeLogger,BC as hasResolverMetadata,FC as hasFieldMetadata,o$ as globalTransactionEventManager,$f as globalRepositoryRegistry,EH as getUserRoles,RE as getUserPermissions,VL as getTransactionInterceptor,wH as getToken,aE as getSessionUserId,c2 as getSessionManager,oE as getSessionData,qC as getResolverMetadata,YG as getRequestMetadata,$G as getRequestId,r2 as getRequestDuration,j1 as getRequestContext,OE as getRBACManager,xE as getOAuthUser,vE as getOAuthToken,gE as getOAuthProvider,c0 as getLogger,x1 as getGlobalTransactionManager,_C as getFieldsMetadata,DC as getFieldMetadata,v3 as getDefaultValue,w1 as getCurrentUser,e0 as getCurrentSession,hJ as getCache,sE as getCSRFProtection,vT as getAuthError,l8 as getArgumentsMetadata,JG as getAbortSignal,f5 as generateRequestId,YO as errorLoggingMiddleware,yJ as deleteCache,NL as createTypeORMPlugin,Bf as createTransactionalProxy,Kf as createTransactionPlugin,hQ as createTestClient,vQ as createTestApp,l_ as createSimpleRequestIdMiddleware,nE as createSessionMiddleware,m_ as createRequestContextMiddleware,AL as createRedisCacheStore,$2 as createRateLimitMiddleware,jH as createRBACMiddleware,zL as createPrismaPlugin,vJ as createLogger,zH as createDefaultRBAC,x4 as createCorsMiddleware,v4 as createCompressionMiddleware,D$ as createChildLogger,c_ as createCacheMiddleware,d_ as createCacheInvalidationMiddleware,NH as createAuthMiddleware,rB as clearMocks,mJ as clearCache,a2 as cleanupRequestContext,nT as checkUserRole,sT as checkUserPermission,h3 as buildProblemInstance,QG as abortRequest,s1 as ZodToJsonSchemaConverter,y8 as WebSocketPlugin,C6 as WebSocketManager,z2 as WebSocketConnection,ZB as WebSocket,v$ as VeloceTS,v$ as Veloce,P1 as ValidationException,b$ as ValidationEngine,eH as VELOCE_CORS_HEADERS_KEY,xK as UseMiddleware,jB as UnprocessableEntityException,FB as UnauthorizedException,C4 as TypeORMTransactionManager,k1 as TypeORMRepository,z5 as TypeORMPlugin,wL as TypeORMEntity,s$ as TransactionalWithPropagation,WL as Transactional,BL as TransactionTemplate,DL as TransactionService,qL as TransactionPropagationManager,UL as TransactionPropagation,PH as TransactionPlugin,B5 as TransactionMetricsListener,D5 as TransactionLoggingListener,W$ as TransactionInterceptor,_L as TransactionEventType,MH as TransactionEventManager,EB as TooManyRequestsException,bQ as TokenRevokedException,NT as TokenPayloadSchema,y6 as TokenExpiredException,kT as Token,SK as Timeout,Y9 as TestResponse,O2 as TestClient,mK as Tags,uK as Tag,wf as Supports,pT as SuperAdminOnly,gK as Summary,GC as Subscription,R9 as StreamResponse,LH as SessionManager,OH as SessionGuard,lE as SessionDataSchema,cE as Session,LB as ServiceUnavailableException,u6 as RouterCompiler,EE as Roles,MT as RoleSchema,PT as RoleAssignmentSchema,Z9 as ResponseSerializer,ZK as ResponseSchema,TQ as Response,YC as Resolver,Nf as RequiresNew,zf as Required,AH as RequireRole,cT as RequirePermission,iE as RequireCSRF,YF as RequestId,QF as Req,$L as RepositoryService,R4 as RepositoryRegistry,i$ as RepositoryFactory,YL as Repository,AT as RefreshRequestSchema,w5 as RedisCacheStore,L9 as RedirectResponse,CK as RateLimit,ZE as RBACPlugin,m2 as RBACManager,L4 as RBACGuard,JL as QueryBuilderFactory,_5 as QueryBuilder,tB as Query,jK as Put,d2 as PrismaZodSchemaGenerator,S4 as PrismaTransactionManager,f1 as PrismaRepository,F5 as PrismaPlugin,AK as Post,l6 as PluginManager,LE as Permissions,l2 as PermissionMatcher,KT as PermissionCheckSchema,AB as PayloadTooLargeException,LK as Patch,eB as Param,XL as PaginationTransformer,Y$ as PaginationHelper,QL as PaginationBuilder,Yf as Paginated,UB as PROBLEM_JSON_MEDIA_TYPE,k3 as OpenAPIPlugin,C1 as OpenAPIGenerator,Zf as OnTransactionRollback,Rf as OnTransactionCommit,Of as OnTransactionBegin,CB as OnMessage,MB as OnDisconnect,SB as OnConnect,TE as OAuthUserSchema,fE as OAuthUser,kE as OAuthToken,bE as OAuth,Af as NotSupported,BB as NotFoundException,Ef as Never,HC as Mutation,iT as MinimumRole,KH as Migration,S as MetadataRegistry,K1 as MetadataCompiler,N6 as MemoryCacheStore,jf as Mandatory,wT as LoginRequestSchema,q5 as JWTProvider,j9 as JSONResponse,x$ as InvalidTokenException,UF as InjectDB,bK as Inject,jE as InMemoryUserProvider,n$ as InMemoryTransactionManager,RK as HttpCode,b4 as HonoAdapter,RB as HealthCheckers,u3 as HealthCheckPlugin,$F as Header,E0 as HTTPException,E9 as HTMLResponse,GC as GraphQLSubscription,d8 as GraphQLSchemaBuilder,WC as GraphQLQuery,y3 as GraphQLPlugin,HC as GraphQLMutation,UC as GraphQLCtx,wB as GoneException,wK as Get,tb as GenericRepository,GC as GQLSubscription,WC as GQLQuery,HC as GQLMutation,UC as GQLContext,zB as ForbiddenException,O9 as FileResponse,v$ as FastAPITS,s2 as ExpressAdapter,m6 as ErrorHandler,HL as Entity,N5 as DrizzleZodSchemaConverter,M4 as DrizzleTransactionManager,$1 as DrizzleRepository,IH as DrizzlePlugin,yK as Description,lK as Deprecated,TK as Depends,EK as Delete,RH as DefaultQueryOperators,x6 as DIContainer,qB as DEFAULT_PROBLEM_TYPE_BASE,S9 as DB_TOKEN,ZH as CursorPaginationHelper,fT as CurrentUser,dE as CurrentSession,XF as Ctx,JF as Cookie,NK as Controller,NB as ConflictException,GL as Column,k0 as CacheManager,GF as CacheInvalidate,HF as Cache,pE as CSRFToken,aB as Body,_1 as BaseTransactionManager,X$ as BaseRepository,c8 as BadRequestException,R0 as AuthorizationException,S0 as AuthenticationException,E4 as AuthService,SE as AuthPlugin,bT as Auth,VC as Arg,dK as ApiResponse,cK as ApiDoc,OK as All,dT as AdminOnly,WF as AbortSignal};
|
|
170
170
|
|
|
171
|
-
//# debugId=
|
|
171
|
+
//# debugId=477A5359B872BD4964756E2164756E21
|