veloce-ts 0.2.6 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +501 -240
- package/README.md +141 -1
- package/dist/cjs/src/cli/index.js +125 -74
- package/dist/cjs/src/cli/index.js.map +4 -4
- package/dist/cjs/src/index.js +66 -25
- package/dist/cjs/src/index.js.map +112 -10
- package/dist/cjs/src/middleware/index.js +28 -2
- package/dist/cjs/src/middleware/index.js.map +79 -4
- package/dist/cjs/src/plugins/index.js +49 -23
- package/dist/cjs/src/plugins/index.js.map +74 -4
- package/dist/cjs/src/testing/index.js +30 -4
- package/dist/cjs/src/testing/index.js.map +80 -7
- package/dist/cjs/src/websocket/index.js +3 -3
- package/dist/cjs/src/websocket/index.js.map +1 -1
- package/dist/esm/src/cli/index.js +561 -22
- package/dist/esm/src/cli/index.js.map +8 -4
- package/dist/esm/src/docs/index.js +6 -6
- package/dist/esm/src/docs/index.js.map +10 -3
- package/dist/esm/src/errors/index.js +3 -2
- package/dist/esm/src/errors/index.js.map +7 -3
- package/dist/esm/src/graphql/index.js +82 -2
- package/dist/esm/src/graphql/index.js.map +18 -3
- package/dist/esm/src/index.js +165 -3
- package/dist/esm/src/index.js.map +202 -6
- package/dist/esm/src/middleware/index.js +28 -2
- package/dist/esm/src/middleware/index.js.map +81 -3
- package/dist/esm/src/plugins/index.js +113 -3
- package/dist/esm/src/plugins/index.js.map +131 -4
- package/dist/esm/src/testing/index.js +42 -2
- package/dist/esm/src/testing/index.js.map +97 -7
- package/dist/esm/src/types/index.js +2 -2
- package/dist/esm/src/types/index.js.map +10 -3
- package/dist/esm/src/validation/index.js +2 -2
- package/dist/esm/src/validation/index.js.map +13 -3
- package/dist/esm/src/websocket/index.js +15 -2
- package/dist/esm/src/websocket/index.js.map +9 -4
- package/dist/types/adapters/base.d.ts +10 -2
- package/dist/types/adapters/base.d.ts.map +1 -1
- package/dist/types/adapters/hono.d.ts +2 -2
- package/dist/types/adapters/hono.d.ts.map +1 -1
- package/dist/types/auth/permissions.d.ts +10 -10
- package/dist/types/auth/session.d.ts +2 -2
- package/dist/types/cache/index.d.ts +9 -0
- package/dist/types/cache/index.d.ts.map +1 -0
- package/dist/types/cache/manager.d.ts +75 -0
- package/dist/types/cache/manager.d.ts.map +1 -0
- package/dist/types/cache/memory-store.d.ts +55 -0
- package/dist/types/cache/memory-store.d.ts.map +1 -0
- package/dist/types/cache/redis-store.d.ts +55 -0
- package/dist/types/cache/redis-store.d.ts.map +1 -0
- package/dist/types/cache/types.d.ts +92 -0
- package/dist/types/cache/types.d.ts.map +1 -0
- package/dist/types/cli/commands/new.d.ts.map +1 -1
- package/dist/types/context/request-context.d.ts +66 -0
- package/dist/types/context/request-context.d.ts.map +1 -0
- package/dist/types/core/application.d.ts +11 -0
- package/dist/types/core/application.d.ts.map +1 -1
- package/dist/types/core/router-compiler.d.ts +1 -1
- package/dist/types/core/router-compiler.d.ts.map +1 -1
- package/dist/types/decorators/cache.d.ts +56 -0
- package/dist/types/decorators/cache.d.ts.map +1 -0
- package/dist/types/decorators/params.d.ts +24 -0
- package/dist/types/decorators/params.d.ts.map +1 -1
- package/dist/types/dependencies/container.d.ts +1 -1
- package/dist/types/dependencies/container.d.ts.map +1 -1
- package/dist/types/index.d.ts +7 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/logging/index.d.ts +10 -0
- package/dist/types/logging/index.d.ts.map +1 -0
- package/dist/types/logging/logger.d.ts +25 -0
- package/dist/types/logging/logger.d.ts.map +1 -0
- package/dist/types/logging/middleware.d.ts +15 -0
- package/dist/types/logging/middleware.d.ts.map +1 -0
- package/dist/types/logging/types.d.ts +22 -0
- package/dist/types/logging/types.d.ts.map +1 -0
- package/dist/types/middleware/cache.d.ts +54 -0
- package/dist/types/middleware/cache.d.ts.map +1 -0
- package/dist/types/middleware/index.d.ts +3 -0
- package/dist/types/middleware/index.d.ts.map +1 -1
- package/dist/types/middleware/request-context.d.ts +55 -0
- package/dist/types/middleware/request-context.d.ts.map +1 -0
- package/dist/types/orm/base-repository.d.ts +77 -0
- package/dist/types/orm/base-repository.d.ts.map +1 -0
- package/dist/types/orm/decorators.d.ts +35 -0
- package/dist/types/orm/decorators.d.ts.map +1 -0
- package/dist/types/orm/drizzle/index.d.ts +6 -0
- package/dist/types/orm/drizzle/index.d.ts.map +1 -0
- package/dist/types/orm/drizzle/plugin.d.ts +165 -0
- package/dist/types/orm/drizzle/plugin.d.ts.map +1 -0
- package/dist/types/orm/drizzle/repository.d.ts +61 -0
- package/dist/types/orm/drizzle/repository.d.ts.map +1 -0
- package/dist/types/orm/drizzle/schema-converter.d.ts +53 -0
- package/dist/types/orm/drizzle/schema-converter.d.ts.map +1 -0
- package/dist/types/orm/drizzle/transaction-manager.d.ts +58 -0
- package/dist/types/orm/drizzle/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/drizzle/types.d.ts +121 -0
- package/dist/types/orm/drizzle/types.d.ts.map +1 -0
- package/dist/types/orm/index.d.ts +16 -0
- package/dist/types/orm/index.d.ts.map +1 -0
- package/dist/types/orm/pagination.d.ts +147 -0
- package/dist/types/orm/pagination.d.ts.map +1 -0
- package/dist/types/orm/prisma/index.d.ts +6 -0
- package/dist/types/orm/prisma/index.d.ts.map +1 -0
- package/dist/types/orm/prisma/plugin.d.ts +68 -0
- package/dist/types/orm/prisma/plugin.d.ts.map +1 -0
- package/dist/types/orm/prisma/repository.d.ts +70 -0
- package/dist/types/orm/prisma/repository.d.ts.map +1 -0
- package/dist/types/orm/prisma/schema-generator.d.ts +45 -0
- package/dist/types/orm/prisma/schema-generator.d.ts.map +1 -0
- package/dist/types/orm/prisma/transaction-manager.d.ts +32 -0
- package/dist/types/orm/prisma/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/prisma/types.d.ts +67 -0
- package/dist/types/orm/prisma/types.d.ts.map +1 -0
- package/dist/types/orm/query-builder.d.ts +129 -0
- package/dist/types/orm/query-builder.d.ts.map +1 -0
- package/dist/types/orm/repository-factory.d.ts +130 -0
- package/dist/types/orm/repository-factory.d.ts.map +1 -0
- package/dist/types/orm/transaction-events.d.ts +122 -0
- package/dist/types/orm/transaction-events.d.ts.map +1 -0
- package/dist/types/orm/transaction-interceptor.d.ts +30 -0
- package/dist/types/orm/transaction-interceptor.d.ts.map +1 -0
- package/dist/types/orm/transaction-manager.d.ts +64 -0
- package/dist/types/orm/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/transaction-plugin.d.ts +117 -0
- package/dist/types/orm/transaction-plugin.d.ts.map +1 -0
- package/dist/types/orm/transaction-propagation.d.ts +49 -0
- package/dist/types/orm/transaction-propagation.d.ts.map +1 -0
- package/dist/types/orm/typeorm/decorators.d.ts +40 -0
- package/dist/types/orm/typeorm/decorators.d.ts.map +1 -0
- package/dist/types/orm/typeorm/index.d.ts +6 -0
- package/dist/types/orm/typeorm/index.d.ts.map +1 -0
- package/dist/types/orm/typeorm/plugin.d.ts +100 -0
- package/dist/types/orm/typeorm/plugin.d.ts.map +1 -0
- package/dist/types/orm/typeorm/repository.d.ts +58 -0
- package/dist/types/orm/typeorm/repository.d.ts.map +1 -0
- package/dist/types/orm/typeorm/transaction-manager.d.ts +48 -0
- package/dist/types/orm/typeorm/transaction-manager.d.ts.map +1 -0
- package/dist/types/orm/typeorm/types.d.ts +139 -0
- package/dist/types/orm/typeorm/types.d.ts.map +1 -0
- package/dist/types/plugins/health.d.ts +75 -0
- package/dist/types/plugins/health.d.ts.map +1 -0
- package/dist/types/plugins/index.d.ts +2 -0
- package/dist/types/plugins/index.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +15 -2
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/websocket/index.d.ts +1 -1
- package/dist/types/websocket/index.d.ts.map +1 -1
- package/package.json +22 -2
- package/dist/esm/chunk-2100y16g.js +0 -5
- package/dist/esm/chunk-2100y16g.js.map +0 -10
- package/dist/esm/chunk-5q75d71c.js +0 -4
- package/dist/esm/chunk-5q75d71c.js.map +0 -16
- package/dist/esm/chunk-8dpc6an2.js +0 -7
- package/dist/esm/chunk-8dpc6an2.js.map +0 -10
- package/dist/esm/chunk-9v7atckx.js +0 -5
- package/dist/esm/chunk-9v7atckx.js.map +0 -10
- package/dist/esm/chunk-bvstdn0t.js +0 -60
- package/dist/esm/chunk-bvstdn0t.js.map +0 -10
- package/dist/esm/chunk-ctwpr5gr.js +0 -430
- package/dist/esm/chunk-ctwpr5gr.js.map +0 -10
- package/dist/esm/chunk-dtw2tbsd.js +0 -5
- package/dist/esm/chunk-dtw2tbsd.js.map +0 -12
- package/dist/esm/chunk-ef0vfd27.js +0 -72
- package/dist/esm/chunk-ef0vfd27.js.map +0 -13
- package/dist/esm/chunk-k66rn4fj.js +0 -18
- package/dist/esm/chunk-k66rn4fj.js.map +0 -10
- package/dist/esm/chunk-mky5qqg0.js +0 -5
- package/dist/esm/chunk-mky5qqg0.js.map +0 -10
- package/dist/esm/chunk-mznkhz9c.js +0 -5
- package/dist/esm/chunk-mznkhz9c.js.map +0 -12
- package/dist/esm/chunk-s5z0wb7e.js +0 -5
- package/dist/esm/chunk-s5z0wb7e.js.map +0 -10
- package/dist/esm/chunk-vh4sxcpe.js +0 -6
- package/dist/esm/chunk-vh4sxcpe.js.map +0 -10
- package/dist/esm/chunk-xa333k40.js +0 -7
- package/dist/esm/chunk-xa333k40.js.map +0 -10
- package/dist/esm/chunk-y262e56g.js +0 -5
- package/dist/esm/chunk-y262e56g.js.map +0 -9
- package/dist/esm/chunk-yq3gf9ts.js +0 -5
- package/dist/esm/chunk-yq3gf9ts.js.map +0 -10
package/dist/esm/src/index.js
CHANGED
|
@@ -1,6 +1,168 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
|
|
2
|
+
var HU=Object.create;var{getPrototypeOf:JU,defineProperty:$4,getOwnPropertyNames:M7,getOwnPropertyDescriptor:QU}=Object,S7=Object.prototype.hasOwnProperty;var f0=($,H,J)=>{J=$!=null?HU(JU($)):{};let Q=H||!$||!$.__esModule?$4(J,"default",{value:$,enumerable:!0}):J;for(let X of M7($))if(!S7.call(Q,X))$4(Q,X,{get:()=>$[X],enumerable:!0});return Q},L7=new WeakMap,s2=($)=>{var H=L7.get($),J;if(H)return H;if(H=$4({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function")M7($).map((Q)=>!S7.call(H,Q)&&$4(H,Q,{get:()=>$[Q],enumerable:!(J=QU($,Q))||J.enumerable}));return L7.set($,H),H},N=($,H)=>()=>(H||$((H={exports:{}}).exports,H),H.exports);var A0=($,H)=>{for(var J in H)$4($,J,{get:H[J],enumerable:!0,configurable:!0,set:(Q)=>H[J]=()=>Q})};var s4=($,H)=>()=>($&&(H=$($=0)),H);var a=import.meta.require;var t2={};A0(t2,{setRequestMetadata:()=>GU,setRequestContext:()=>P7,initializeRequestContext:()=>o4,getRequestMetadata:()=>qU,getRequestId:()=>XU,getRequestDuration:()=>r4,getRequestContext:()=>R0,getAbortSignal:()=>YU,generateRequestId:()=>C7,cleanupRequestContext:()=>a4,abortRequest:()=>WU});function C7(){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 R0($){return $.get("veloce:request-context")||null}function P7($,H){$.set("veloce:request-context",H)}function o4($,H){let J=H?.requestId||C7(),Q=new AbortController,X={requestId:J,startTime:Date.now(),abortSignal:Q.signal,abortController:Q,timeout:H?.timeout,metadata:{}};if(H?.timeout&&H.timeout>0)X.timeoutId=setTimeout(()=>{Q.abort()},H.timeout);return P7($,X),X}function XU($){return R0($)?.requestId||null}function YU($){return R0($)?.abortSignal||null}function WU($){let H=R0($);if(H?.abortController&&!H.abortSignal.aborted)H.abortController.abort()}function GU($,H,J){let Q=R0($);if(Q)Q.metadata[H]=J}function qU($,H){return R0($)?.metadata[H]}function r4($){let H=R0($);if(!H)return null;return Date.now()-H.startTime}function a4($){let H=R0($);if(H?.timeoutId)clearTimeout(H.timeoutId)}var $8=N((CC,T7)=>{var H4=($)=>{return $&&typeof $.message==="string"},e2=($)=>{if(!$)return;let H=$.cause;if(typeof H==="function"){let J=$.cause();return H4(J)?J:void 0}else return H4(H)?H:void 0},K7=($,H)=>{if(!H4($))return"";let J=$.stack||"";if(H.has($))return J+`
|
|
3
|
+
causes have become circular...`;let Q=e2($);if(Q)return H.add($),J+`
|
|
4
|
+
caused by: `+K7(Q,H);else return J},UU=($)=>K7($,new Set),I7=($,H,J)=>{if(!H4($))return"";let Q=J?"":$.message||"";if(H.has($))return Q+": ...";let X=e2($);if(X){H.add($);let Y=typeof $.cause==="function";return Q+(Y?"":": ")+I7(X,H,Y)}else return Q},BU=($)=>I7($,new Set);T7.exports={isErrorLike:H4,getErrorCause:e2,stackWithCauses:UU,messageWithCauses:BU}});var H8=N((PC,b7)=>{var wU=Symbol("circular-ref-tag"),t4=Symbol("pino-raw-err-ref"),x7=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[t4]},set:function($){this[t4]=$}}});Object.defineProperty(x7,t4,{writable:!0,value:{}});b7.exports={pinoErrProto:x7,pinoErrorSymbols:{seen:wU,rawSymbol:t4}}});var h7=N((KC,k7)=>{k7.exports=Q8;var{messageWithCauses:DU,stackWithCauses:VU,isErrorLike:f7}=$8(),{pinoErrProto:_U,pinoErrorSymbols:FU}=H8(),{seen:J8}=FU,{toString:zU}=Object.prototype;function Q8($){if(!f7($))return $;$[J8]=void 0;let H=Object.create(_U);if(H.type=zU.call($.constructor)==="[object Function]"?$.constructor.name:$.name,H.message=DU($),H.stack=VU($),Array.isArray($.errors))H.aggregateErrors=$.errors.map((J)=>Q8(J));for(let J in $)if(H[J]===void 0){let Q=$[J];if(f7(Q)){if(J!=="cause"&&!Object.prototype.hasOwnProperty.call(Q,J8))H[J]=Q8(Q)}else H[J]=Q}return delete $[J8],H.raw=$,H}});var g7=N((IC,v7)=>{v7.exports=$9;var{isErrorLike:X8}=$8(),{pinoErrProto:NU,pinoErrorSymbols:AU}=H8(),{seen:e4}=AU,{toString:RU}=Object.prototype;function $9($){if(!X8($))return $;$[e4]=void 0;let H=Object.create(NU);if(H.type=RU.call($.constructor)==="[object Function]"?$.constructor.name:$.name,H.message=$.message,H.stack=$.stack,Array.isArray($.errors))H.aggregateErrors=$.errors.map((J)=>$9(J));if(X8($.cause)&&!Object.prototype.hasOwnProperty.call($.cause,e4))H.cause=$9($.cause);for(let J in $)if(H[J]===void 0){let Q=$[J];if(X8(Q)){if(!Object.prototype.hasOwnProperty.call(Q,e4))H[J]=$9(Q)}else H[J]=Q}return delete $[e4],H.raw=$,H}});var d7=N((TC,m7)=>{m7.exports={mapHttpRequest:EU,reqSerializer:u7};var Y8=Symbol("pino-raw-req-ref"),y7=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[Y8]},set:function($){this[Y8]=$}}});Object.defineProperty(y7,Y8,{writable:!0,value:{}});function u7($){let H=$.info||$.socket,J=Object.create(y7);if(J.id=typeof $.id==="function"?$.id():$.id||($.info?$.info.id:void 0),J.method=$.method,$.originalUrl)J.url=$.originalUrl;else{let Q=$.path;J.url=typeof Q==="string"?Q:$.url?$.url.path||$.url:void 0}if($.query)J.query=$.query;if($.params)J.params=$.params;return J.headers=$.headers,J.remoteAddress=H&&H.remoteAddress,J.remotePort=H&&H.remotePort,J.raw=$.raw||$,J}function EU($){return{req:u7($)}}});var n7=N((xC,p7)=>{p7.exports={mapHttpResponse:jU,resSerializer:l7};var W8=Symbol("pino-raw-res-ref"),c7=Object.create({},{statusCode:{enumerable:!0,writable:!0,value:0},headers:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[W8]},set:function($){this[W8]=$}}});Object.defineProperty(c7,W8,{writable:!0,value:{}});function l7($){let H=Object.create(c7);return H.statusCode=$.headersSent?$.statusCode:null,H.headers=$.getHeaders?$.getHeaders():$._headers,H.raw=$,H}function jU($){return{res:l7($)}}});var q8=N((bC,i7)=>{var G8=h7(),OU=g7(),H9=d7(),J9=n7();i7.exports={err:G8,errWithCause:OU,mapHttpRequest:H9.mapHttpRequest,mapHttpResponse:J9.mapHttpResponse,req:H9.reqSerializer,res:J9.resSerializer,wrapErrorSerializer:function(H){if(H===G8)return H;return function(Q){return H(G8(Q))}},wrapRequestSerializer:function(H){if(H===H9.reqSerializer)return H;return function(Q){return H(H9.reqSerializer(Q))}},wrapResponseSerializer:function(H){if(H===J9.resSerializer)return H;return function(Q){return H(J9.resSerializer(Q))}}}});var U8=N((fC,s7)=>{function ZU($,H){return H}s7.exports=function(){let H=Error.prepareStackTrace;Error.prepareStackTrace=ZU;let J=Error().stack;if(Error.prepareStackTrace=H,!Array.isArray(J))return;let Q=J.slice(2),X=[];for(let Y of Q){if(!Y)continue;X.push(Y.getFileName())}return X}});var $3=N((kC,e7)=>{function B8($){if($===null||typeof $!=="object")return $;if($ instanceof Date)return new Date($.getTime());if($ instanceof Array){let H=[];for(let J=0;J<$.length;J++)H[J]=B8($[J]);return H}if(typeof $==="object"){let H=Object.create(Object.getPrototypeOf($));for(let J in $)if(Object.prototype.hasOwnProperty.call($,J))H[J]=B8($[J]);return H}return $}function o7($){let H=[],J="",Q=!1,X=!1,Y="";for(let W=0;W<$.length;W++){let G=$[W];if(!Q&&G==="."){if(J)H.push(J),J=""}else if(G==="["){if(J)H.push(J),J="";Q=!0}else if(G==="]"&&Q)H.push(J),J="",Q=!1,X=!1;else if((G==='"'||G==="'")&&Q)if(!X)X=!0,Y=G;else if(G===Y)X=!1,Y="";else J+=G;else J+=G}if(J)H.push(J);return H}function r7($,H,J){let Q=$;for(let Y=0;Y<H.length-1;Y++){let W=H[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=H[H.length-1];if(X==="*"){if(Array.isArray(Q))for(let Y=0;Y<Q.length;Y++)Q[Y]=J;else if(typeof Q==="object"&&Q!==null){for(let Y in Q)if(Object.prototype.hasOwnProperty.call(Q,Y))Q[Y]=J}}else if(typeof Q==="object"&&Q!==null&&X in Q&&Object.prototype.hasOwnProperty.call(Q,X))Q[X]=J;return!0}function a7($,H){let J=$;for(let X=0;X<H.length-1;X++){let Y=H[X];if(typeof J!=="object"||J===null||!(Y in J))return!1;if(typeof J[Y]!=="object"||J[Y]===null)return!1;J=J[Y]}let Q=H[H.length-1];if(Q==="*"){if(Array.isArray(J))for(let X=0;X<J.length;X++)J[X]=void 0;else if(typeof J==="object"&&J!==null){for(let X in J)if(Object.prototype.hasOwnProperty.call(J,X))delete J[X]}}else if(typeof J==="object"&&J!==null&&Q in J&&Object.prototype.hasOwnProperty.call(J,Q))delete J[Q];return!0}var Q9=Symbol("PATH_NOT_FOUND");function LU($,H){let J=$;for(let Q of H){if(J===null||J===void 0)return Q9;if(typeof J!=="object"||J===null)return Q9;if(!(Q in J))return Q9;J=J[Q]}return J}function MU($,H){let J=$;for(let Q of H){if(J===null||J===void 0)return;if(typeof J!=="object"||J===null)return;J=J[Q]}return J}function SU($,H,J,Q=!1){for(let X of H){let Y=o7(X);if(Y.includes("*"))t7($,Y,J,X,Q);else if(Q)a7($,Y);else{let W=LU($,Y);if(W===Q9)continue;let G=typeof J==="function"?J(W,Y):J;r7($,Y,G)}}}function t7($,H,J,Q,X=!1){let Y=H.indexOf("*");if(Y===H.length-1){let W=H.slice(0,-1),G=$;for(let q of W){if(G===null||G===void 0)return;if(typeof G!=="object"||G===null)return;G=G[q]}if(Array.isArray(G))if(X)for(let q=0;q<G.length;q++)G[q]=void 0;else for(let q=0;q<G.length;q++){let U=[...W,q.toString()],B=typeof J==="function"?J(G[q],U):J;G[q]=B}else if(typeof G==="object"&&G!==null)if(X){let q=[];for(let U in G)if(Object.prototype.hasOwnProperty.call(G,U))q.push(U);for(let U of q)delete G[U]}else for(let q in G){let U=[...W,q],B=typeof J==="function"?J(G[q],U):J;G[q]=B}}else CU($,H,J,Y,Q,X)}function CU($,H,J,Q,X,Y=!1){let W=H.slice(0,Q),G=H.slice(Q+1),q=[];function U(B,w){if(w===W.length){if(Array.isArray(B))for(let _=0;_<B.length;_++)q[w]=_.toString(),U(B[_],w+1);else if(typeof B==="object"&&B!==null)for(let _ in B)q[w]=_,U(B[_],w+1)}else if(w<W.length){let _=W[w];if(B&&typeof B==="object"&&B!==null&&_ in B)q[w]=_,U(B[_],w+1)}else if(G.includes("*"))t7(B,G,typeof J==="function"?(V,D)=>{let A=[...q.slice(0,w),...D];return J(V,A)}:J,X,Y);else if(Y)a7(B,G);else{let _=typeof J==="function"?J(MU(B,G),[...q.slice(0,w),...G]):J;r7(B,G,_)}}if(W.length===0)U($,0);else{let B=$;for(let w=0;w<W.length;w++){let _=W[w];if(B===null||B===void 0)return;if(typeof B!=="object"||B===null)return;B=B[_],q[w]=_}if(B!==null&&B!==void 0)U(B,W.length)}}function PU($){if($.length===0)return null;let H=new Map;for(let J of $){let Q=o7(J),X=H;for(let Y=0;Y<Q.length;Y++){let W=Q[Y];if(!X.has(W))X.set(W,new Map);X=X.get(W)}}return H}function KU($,H){if(!H)return $;function J(Q,X,Y=0){if(!X||X.size===0)return Q;if(Q===null||typeof Q!=="object")return Q;if(Q instanceof Date)return new Date(Q.getTime());if(Array.isArray(Q)){let G=[];for(let q=0;q<Q.length;q++){let U=q.toString();if(X.has(U)||X.has("*"))G[q]=J(Q[q],X.get(U)||X.get("*"));else G[q]=Q[q]}return G}let W=Object.create(Object.getPrototypeOf(Q));for(let G in Q)if(Object.prototype.hasOwnProperty.call(Q,G))if(X.has(G)||X.has("*"))W[G]=J(Q[G],X.get(G)||X.get("*"));else W[G]=Q[G];return W}return J($,H)}function IU($){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 H=0,J=!1,Q="";for(let X=0;X<$.length;X++){let Y=$[X];if((Y==='"'||Y==="'")&&H>0){if(!J)J=!0,Q=Y;else if(Y===Q)J=!1,Q=""}else if(Y==="["&&!J)H++;else if(Y==="]"&&!J){if(H--,H<0)throw Error(`Invalid redaction path (${$})`)}}if(H!==0)throw Error(`Invalid redaction path (${$})`)}function TU($){if(!Array.isArray($))throw TypeError("paths must be an array");for(let H of $)IU(H)}function xU($={}){let{paths:H=[],censor:J="[REDACTED]",serialize:Q=JSON.stringify,strict:X=!0,remove:Y=!1}=$;TU(H);let W=PU(H);return function(q){if(X&&(q===null||typeof q!=="object")){if(q===null||q===void 0)return Q?Q(q):q;if(typeof q!=="object")return Q?Q(q):q}let U=KU(q,W),B=q,w=J;if(typeof J==="function")w=J;if(SU(U,H,w,Y),Q===!1)return U.restore=function(){return B8(B)},U;if(typeof Q==="function")return Q(U);return JSON.stringify(U)}}e7.exports=xU});var G$=N((hC,H3)=>{var bU=Symbol("pino.setLevel"),fU=Symbol("pino.getLevel"),kU=Symbol("pino.levelVal"),hU=Symbol("pino.levelComp"),vU=Symbol("pino.useLevelLabels"),gU=Symbol("pino.useOnlyCustomLevels"),yU=Symbol("pino.mixin"),uU=Symbol("pino.lsCache"),mU=Symbol("pino.chindings"),dU=Symbol("pino.asJson"),cU=Symbol("pino.write"),lU=Symbol("pino.redactFmt"),pU=Symbol("pino.time"),nU=Symbol("pino.timeSliceIndex"),iU=Symbol("pino.stream"),sU=Symbol("pino.stringify"),oU=Symbol("pino.stringifySafe"),rU=Symbol("pino.stringifiers"),aU=Symbol("pino.end"),tU=Symbol("pino.formatOpts"),eU=Symbol("pino.messageKey"),$B=Symbol("pino.errorKey"),HB=Symbol("pino.nestedKey"),JB=Symbol("pino.nestedKeyStr"),QB=Symbol("pino.mixinMergeStrategy"),XB=Symbol("pino.msgPrefix"),YB=Symbol("pino.wildcardFirst"),WB=Symbol.for("pino.serializers"),GB=Symbol.for("pino.formatters"),qB=Symbol.for("pino.hooks"),UB=Symbol.for("pino.metadata");H3.exports={setLevelSym:bU,getLevelSym:fU,levelValSym:kU,levelCompSym:hU,useLevelLabelsSym:vU,mixinSym:yU,lsCacheSym:uU,chindingsSym:mU,asJsonSym:dU,writeSym:cU,serializersSym:WB,redactFmtSym:lU,timeSym:pU,timeSliceIndexSym:nU,streamSym:iU,stringifySym:sU,stringifySafeSym:oU,stringifiersSym:rU,endSym:aU,formatOptsSym:tU,messageKeySym:eU,errorKeySym:$B,nestedKeySym:HB,wildcardFirstSym:YB,needsMetadataGsym:UB,useOnlyCustomLevelsSym:gU,formattersSym:GB,hooksSym:qB,nestedKeyStrSym:JB,mixinMergeStrategySym:QB,msgPrefixSym:XB}});var D8=N((vC,Q3)=>{var J3=$3(),{redactFmtSym:BB,wildcardFirstSym:X9}=G$(),w8=/[^.[\]]+|\[([^[\]]*?)\]/g;function wB($,H){let{paths:J,censor:Q,remove:X}=DB($),Y=J.reduce((q,U)=>{w8.lastIndex=0;let B=w8.exec(U),w=w8.exec(U),_=B[1]!==void 0?B[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/,"$1"):B[0];if(_==="*")_=X9;if(w===null)return q[_]=null,q;if(q[_]===null)return q;let{index:V}=w,D=`${U.substr(V,U.length-1)}`;if(q[_]=q[_]||[],_!==X9&&q[_].length===0)q[_].push(...q[X9]||[]);if(_===X9)Object.keys(q).forEach(function(A){if(q[A])q[A].push(D)});return q[_].push(D),q},{}),W={[BB]:J3({paths:J,censor:Q,serialize:H,strict:!1,remove:X})},G=(...q)=>{return typeof Q==="function"?H(Q(...q)):H(Q)};return[...Object.keys(Y),...Object.getOwnPropertySymbols(Y)].reduce((q,U)=>{if(Y[U]===null)q[U]=(B)=>G(B,[U]);else{let B=typeof Q==="function"?(w,_)=>{return Q(w,[U,..._])}:Q;q[U]=J3({paths:Y[U],censor:B,serialize:H,strict:!1,remove:X})}return q},W)}function DB($){if(Array.isArray($))return $={paths:$,censor:"[Redacted]"},$;let{paths:H,censor:J="[Redacted]",remove:Q}=$;if(Array.isArray(H)===!1)throw Error("pino \u2013 redact must contain an array of strings");if(Q===!0)J=void 0;return{paths:H,censor:J,remove:Q}}Q3.exports=wB});var W3=N((gC,Y3)=>{var VB=()=>"",_B=()=>`,"time":${Date.now()}`,FB=()=>`,"time":${Math.round(Date.now()/1000)}`,zB=()=>`,"time":"${new Date(Date.now()).toISOString()}"`,NB=1000000n,X3=1000000000n,AB=BigInt(Date.now())*NB,RB=process.hrtime.bigint(),EB=()=>{let $=process.hrtime.bigint()-RB,H=AB+$,J=H/X3,Q=H%X3,X=Number(J*1000n+Q/1000000n),Y=new Date(X),W=Y.getUTCFullYear(),G=(Y.getUTCMonth()+1).toString().padStart(2,"0"),q=Y.getUTCDate().toString().padStart(2,"0"),U=Y.getUTCHours().toString().padStart(2,"0"),B=Y.getUTCMinutes().toString().padStart(2,"0"),w=Y.getUTCSeconds().toString().padStart(2,"0");return`,"time":"${W}-${G}-${q}T${U}:${B}:${w}.${Q.toString().padStart(9,"0")}Z"`};Y3.exports={nullTime:VB,epochTime:_B,unixTime:FB,isoTime:zB,isoTimeNano:EB}});var q3=N((yC,G3)=>{function jB($){try{return JSON.stringify($)}catch(H){return'"[Circular]"'}}G3.exports=OB;function OB($,H,J){var Q=J&&J.stringify||jB,X=1;if(typeof $==="object"&&$!==null){var Y=H.length+X;if(Y===1)return $;var W=Array(Y);W[0]=Q($);for(var G=1;G<Y;G++)W[G]=Q(H[G]);return W.join(" ")}if(typeof $!=="string")return $;var q=H.length;if(q===0)return $;var U="",B=1-X,w=-1,_=$&&$.length||0;for(var V=0;V<_;){if($.charCodeAt(V)===37&&V+1<_){switch(w=w>-1?w:0,$.charCodeAt(V+1)){case 100:case 102:if(B>=q)break;if(H[B]==null)break;if(w<V)U+=$.slice(w,V);U+=Number(H[B]),w=V+2,V++;break;case 105:if(B>=q)break;if(H[B]==null)break;if(w<V)U+=$.slice(w,V);U+=Math.floor(Number(H[B])),w=V+2,V++;break;case 79:case 111:case 106:if(B>=q)break;if(H[B]===void 0)break;if(w<V)U+=$.slice(w,V);var D=typeof H[B];if(D==="string"){U+="'"+H[B]+"'",w=V+2,V++;break}if(D==="function"){U+=H[B].name||"<anonymous>",w=V+2,V++;break}U+=Q(H[B]),w=V+2,V++;break;case 115:if(B>=q)break;if(w<V)U+=$.slice(w,V);U+=String(H[B]),w=V+2,V++;break;case 37:if(w<V)U+=$.slice(w,V);U+="%",w=V+2,V++,B--;break}++B}++V}if(w===-1)return $;else if(w<_)U+=$.slice(w);return U}});var _8=N((uC,V8)=>{if(typeof SharedArrayBuffer<"u"&&typeof Atomics<"u"){let H=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")}Atomics.wait($,0,0,Number(J))},$=new Int32Array(new SharedArrayBuffer(4));V8.exports=H}else{let $=function(H){if((H>0&&H<1/0)===!1){if(typeof H!=="number"&&typeof H!=="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 Q=Date.now()+Number(H);while(Q>Date.now());};V8.exports=$}});var N8=N((mC,V3)=>{var N1=a("fs"),ZB=a("events"),LB=a("util").inherits,U3=a("path"),z8=_8(),MB=a("assert"),Y9=Buffer.allocUnsafe(0),[SB,CB]=(process.versions.node||"0.0").split(".").map(Number),PB=SB>=22&&CB>=7;function B3($,H){H._opening=!0,H._writing=!0,H._asyncDrainScheduled=!1;function J(Y,W){if(Y){if(H._reopening=!1,H._writing=!1,H._opening=!1,H.sync)process.nextTick(()=>{if(H.listenerCount("error")>0)H.emit("error",Y)});else H.emit("error",Y);return}let G=H._reopening;if(H.fd=W,H.file=$,H._reopening=!1,H._opening=!1,H._writing=!1,H.sync)process.nextTick(()=>H.emit("ready"));else H.emit("ready");if(H.destroyed)return;if(!H._writing&&H._len>H.minLength||H._flushPending)H._actualWrite();else if(G)process.nextTick(()=>H.emit("drain"))}let Q=H.append?"a":"w",X=H.mode;if(H.sync)try{if(H.mkdir)N1.mkdirSync(U3.dirname($),{recursive:!0});let Y=N1.openSync($,Q,X);J(null,Y)}catch(Y){throw J(Y),Y}else if(H.mkdir)N1.mkdir(U3.dirname($),{recursive:!0},(Y)=>{if(Y)return J(Y);N1.open($,Q,X,J)});else N1.open($,Q,X,J)}function u1($){if(!(this instanceof u1))return new u1($);let{fd:H,dest:J,minLength:Q,maxLength:X,maxWrite:Y,periodicFlush:W,sync:G,append:q=!0,mkdir:U,retryEAGAIN:B,fsync:w,contentMode:_,mode:V}=$||{};H=H||J,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(Q||0,16387),this.file=null,this.destroyed=!1,this.minLength=Q||0,this.maxLength=X||0,this.maxWrite=Y||16384,this._periodicFlush=W||0,this._periodicFlushTimer=void 0,this.sync=G||!1,this.writable=!0,this._fsync=w||!1,this.append=q||!1,this.mode=V,this.retryEAGAIN=B||(()=>!0),this.mkdir=U||!1;let D,A;if(_==="buffer")this._writingBuf=Y9,this.write=TB,this.flush=bB,this.flushSync=kB,this._actualWrite=vB,D=()=>N1.writeSync(this.fd,this._writingBuf),A=()=>N1.write(this.fd,this._writingBuf,this.release);else if(_===void 0||_==="utf8")this._writingBuf="",this.write=IB,this.flush=xB,this.flushSync=fB,this._actualWrite=hB,D=()=>N1.writeSync(this.fd,this._writingBuf,"utf8"),A=()=>N1.write(this.fd,this._writingBuf,"utf8",this.release);else throw Error(`SonicBoom supports "utf8" and "buffer", but passed ${_}`);if(typeof H==="number")this.fd=H,process.nextTick(()=>this.emit("ready"));else if(typeof H==="string")B3(H,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=(E,Z)=>{if(E){if((E.code==="EAGAIN"||E.code==="EBUSY")&&this.retryEAGAIN(E,this._writingBuf.length,this._len-this._writingBuf.length))if(this.sync)try{z8(100),this.release(void 0,0)}catch(x){this.release(x)}else setTimeout(A,100);else this._writing=!1,this.emit("error",E);return}this.emit("write",Z);let M=F8(this._writingBuf,this._len,Z);if(this._len=M.len,this._writingBuf=M.writingBuf,this._writingBuf.length){if(!this.sync){A();return}try{do{let x=D(),v=F8(this._writingBuf,this._len,x);this._len=v.len,this._writingBuf=v.writingBuf}while(this._writingBuf.length)}catch(x){this.release(x);return}}if(this._fsync)N1.fsyncSync(this.fd);let L=this._len;if(this._reopening)this._writing=!1,this._reopening=!1,this.reopen();else if(L>this.minLength)this._actualWrite();else if(this._ending)if(L>0)this._actualWrite();else this._writing=!1,W9(this);else if(this._writing=!1,this.sync){if(!this._asyncDrainScheduled)this._asyncDrainScheduled=!0,process.nextTick(KB,this)}else this.emit("drain")},this.on("newListener",function(E){if(E==="drain")this._asyncDrainScheduled=!1}),this._periodicFlush!==0)this._periodicFlushTimer=setInterval(()=>this.flush(null),this._periodicFlush),this._periodicFlushTimer.unref()}function F8($,H,J){if(typeof $==="string"&&Buffer.byteLength($)!==J)J=Buffer.from($).subarray(0,J).toString().length;return H=Math.max(H-J,0),$=$.slice(J),{writingBuf:$,len:H}}function KB($){if(!($.listenerCount("drain")>0))return;$._asyncDrainScheduled=!1,$.emit("drain")}LB(u1,ZB);function w3($,H){if($.length===0)return Y9;if($.length===1)return $[0];return Buffer.concat($,H)}function IB($){if(this.destroyed)throw Error("SonicBoom destroyed");let H=this._len+$.length,J=this._bufs;if(this.maxLength&&H>this.maxLength)return this.emit("drop",$),this._len<this._hwm;if(J.length===0||J[J.length-1].length+$.length>this.maxWrite)J.push(""+$);else J[J.length-1]+=$;if(this._len=H,!this._writing&&this._len>=this.minLength)this._actualWrite();return this._len<this._hwm}function TB($){if(this.destroyed)throw Error("SonicBoom destroyed");let H=this._len+$.length,J=this._bufs,Q=this._lens;if(this.maxLength&&H>this.maxLength)return this.emit("drop",$),this._len<this._hwm;if(J.length===0||Q[Q.length-1]+$.length>this.maxWrite)J.push([$]),Q.push($.length);else J[J.length-1].push($),Q[Q.length-1]+=$.length;if(this._len=H,!this._writing&&this._len>=this.minLength)this._actualWrite();return this._len<this._hwm}function D3($){this._flushPending=!0;let H=()=>{if(!this._fsync)try{N1.fsync(this.fd,(Q)=>{this._flushPending=!1,$(Q)})}catch(Q){$(Q)}else this._flushPending=!1,$();this.off("error",J)},J=(Q)=>{this._flushPending=!1,$(Q),this.off("drain",H)};this.once("drain",H),this.once("error",J)}function xB($){if($!=null&&typeof $!=="function")throw Error("flush cb must be a function");if(this.destroyed){let H=Error("SonicBoom destroyed");if($){$(H);return}throw H}if(this.minLength<=0){$?.();return}if($)D3.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push("");this._actualWrite()}function bB($){if($!=null&&typeof $!=="function")throw Error("flush cb must be a function");if(this.destroyed){let H=Error("SonicBoom destroyed");if($){$(H);return}throw H}if(this.minLength<=0){$?.();return}if($)D3.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push([]),this._lens.push(0);this._actualWrite()}u1.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 H=this.fd;this.once("ready",()=>{if(H!==this.fd)N1.close(H,(J)=>{if(J)return this.emit("error",J)})}),B3(this.file,this)};u1.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 W9(this)};function fB(){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 H=N1.writeSync(this.fd,$,"utf8"),J=F8($,this._len,H);if($=J.writingBuf,this._len=J.len,$.length<=0)this._bufs.shift()}catch(H){if((H.code==="EAGAIN"||H.code==="EBUSY")&&!this.retryEAGAIN(H,$.length,this._len-$.length))throw H;z8(100)}}try{N1.fsyncSync(this.fd)}catch{}}function kB(){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=Y9;let $=Y9;while(this._bufs.length||$.length){if($.length<=0)$=w3(this._bufs[0],this._lens[0]);try{let H=N1.writeSync(this.fd,$);if($=$.subarray(H),this._len=Math.max(this._len-H,0),$.length<=0)this._bufs.shift(),this._lens.shift()}catch(H){if((H.code==="EAGAIN"||H.code==="EBUSY")&&!this.retryEAGAIN(H,$.length,this._len-$.length))throw H;z8(100)}}}u1.prototype.destroy=function(){if(this.destroyed)return;W9(this)};function hB(){let $=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf||this._bufs.shift()||"",this.sync)try{let H=N1.writeSync(this.fd,this._writingBuf,"utf8");$(null,H)}catch(H){$(H)}else N1.write(this.fd,this._writingBuf,"utf8",$)}function vB(){let $=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:w3(this._bufs.shift(),this._lens.shift()),this.sync)try{let H=N1.writeSync(this.fd,this._writingBuf);$(null,H)}catch(H){$(H)}else{if(PB)this._writingBuf=Buffer.from(this._writingBuf);N1.write(this.fd,this._writingBuf,$)}}function W9($){if($.fd===-1){$.once("ready",W9.bind(null,$));return}if($._periodicFlushTimer!==void 0)clearInterval($._periodicFlushTimer);$.destroyed=!0,$._bufs=[],$._lens=[],MB(typeof $.fd==="number",`sonic.fd must be a number, got ${typeof $.fd}`);try{N1.fsync($.fd,H)}catch{}function H(){if($.fd!==1&&$.fd!==2)N1.close($.fd,J);else J()}function J(Q){if(Q){$.emit("error",Q);return}if($._ending&&!$._writing)$.emit("finish");$.emit("close")}}u1.SonicBoom=u1;u1.default=u1;V3.exports=u1});var G9=N((dC,A3)=>{var m1={exit:[],beforeExit:[]},_3={exit:uB,beforeExit:mB},q$;function gB(){if(q$===void 0)q$=new FinalizationRegistry(dB)}function yB($){if(m1[$].length>0)return;process.on($,_3[$])}function F3($){if(m1[$].length>0)return;if(process.removeListener($,_3[$]),m1.exit.length===0&&m1.beforeExit.length===0)q$=void 0}function uB(){z3("exit")}function mB(){z3("beforeExit")}function z3($){for(let H of m1[$]){let J=H.deref(),Q=H.fn;if(J!==void 0)Q(J,$)}m1[$]=[]}function dB($){for(let H of["exit","beforeExit"]){let J=m1[H].indexOf($);m1[H].splice(J,J+1),F3(H)}}function N3($,H,J){if(H===void 0)throw Error("the object can't be undefined");yB($);let Q=new WeakRef(H);Q.fn=J,gB(),q$.register(H,Q),m1[$].push(Q)}function cB($,H){N3("exit",$,H)}function lB($,H){N3("beforeExit",$,H)}function pB($){if(q$===void 0)return;q$.unregister($);for(let H of["exit","beforeExit"])m1[H]=m1[H].filter((J)=>{let Q=J.deref();return Q&&Q!==$}),F3(H)}A3.exports={register:cB,registerBeforeExit:lB,unregister:pB}});var R3=N((cC,nB)=>{nB.exports={name:"thread-stream",version:"3.1.0",description:"A streaming way to send data to a Node.js Worker Thread",main:"index.js",types:"index.d.ts",dependencies:{"real-require":"^0.2.0"},devDependencies:{"@types/node":"^20.1.0","@types/tap":"^15.0.0","@yao-pkg/pkg":"^5.11.5",desm:"^1.3.0",fastbench:"^1.0.1",husky:"^9.0.6","pino-elasticsearch":"^8.0.0","sonic-boom":"^4.0.1",standard:"^17.0.0",tap:"^16.2.0","ts-node":"^10.8.0",typescript:"^5.3.2","why-is-node-running":"^2.2.2"},scripts:{build:"tsc --noEmit",test:'standard && npm run build && npm run transpile && tap "test/**/*.test.*js" && tap --ts test/*.test.*ts',"test:ci":"standard && npm run transpile && npm run test:ci:js && npm run test:ci:ts","test:ci:js":'tap --no-check-coverage --timeout=120 --coverage-report=lcovonly "test/**/*.test.*js"',"test:ci:ts":'tap --ts --no-check-coverage --coverage-report=lcovonly "test/**/*.test.*ts"',"test:yarn":'npm run transpile && tap "test/**/*.test.js" --no-check-coverage',transpile:"sh ./test/ts/transpile.sh",prepare:"husky install"},standard:{ignore:["test/ts/**/*","test/syntax-error.mjs"]},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 j3=N((lC,E3)=>{function iB($,H,J,Q,X){let Y=Date.now()+Q,W=Atomics.load($,H);if(W===J){X(null,"ok");return}let G=W,q=(U)=>{if(Date.now()>Y)X(null,"timed-out");else setTimeout(()=>{if(G=W,W=Atomics.load($,H),W===G)q(U>=1000?1000:U*2);else if(W===J)X(null,"ok");else X(null,"not-equal")},U)};q(1)}function sB($,H,J,Q,X){let Y=Date.now()+Q,W=Atomics.load($,H);if(W!==J){X(null,"ok");return}let G=(q)=>{if(Date.now()>Y)X(null,"timed-out");else setTimeout(()=>{if(W=Atomics.load($,H),W!==J)X(null,"ok");else G(q>=1000?1000:q*2)},q)};G(1)}E3.exports={wait:iB,waitDiff:sB}});var Z3=N((pC,O3)=>{O3.exports={WRITE_INDEX:4,READ_INDEX:8}});var K3=N((nC,P3)=>{var __dirname="C:\\Users\\mejia\\Desktop\\prueba-real\\fastTS\\node_modules\\thread-stream",{version:oB}=R3(),{EventEmitter:rB}=a("events"),{Worker:aB}=a("worker_threads"),{join:tB}=a("path"),{pathToFileURL:eB}=a("url"),{wait:$w}=j3(),{WRITE_INDEX:T1,READ_INDEX:J0}=Z3(),Hw=a("buffer"),Jw=a("assert"),O=Symbol("kImpl"),Qw=Hw.constants.MAX_STRING_LENGTH;class U9{constructor($){this._value=$}deref(){return this._value}}class R8{register(){}unregister(){}}var Xw=process.env.NODE_V8_COVERAGE?R8:global.FinalizationRegistry||R8,Yw=process.env.NODE_V8_COVERAGE?U9:global.WeakRef||U9,L3=new Xw(($)=>{if($.exited)return;$.terminate()});function Ww($,H){let{filename:J,workerData:Q}=H,Y=("__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{})["thread-stream-worker"]||tB(__dirname,"lib","worker.js"),W=new aB(Y,{...H.workerOpts,trackUnmanagedFds:!1,workerData:{filename:J.indexOf("file://")===0?J:eB(J).href,dataBuf:$[O].dataBuf,stateBuf:$[O].stateBuf,workerData:{$context:{threadStreamVersion:oB},...Q}}});return W.stream=new U9($),W.on("message",Gw),W.on("exit",S3),L3.register($,W),W}function M3($){if(Jw(!$[O].sync),$[O].needDrain)$[O].needDrain=!1,$.emit("drain")}function q9($){let H=Atomics.load($[O].state,T1),J=$[O].data.length-H;if(J>0){if($[O].buf.length===0){if($[O].flushing=!1,$[O].ending)O8($);else if($[O].needDrain)process.nextTick(M3,$);return}let Q=$[O].buf.slice(0,J),X=Buffer.byteLength(Q);if(X<=J)$[O].buf=$[O].buf.slice(J),B9($,Q,q9.bind(null,$));else $.flush(()=>{if($.destroyed)return;Atomics.store($[O].state,J0,0),Atomics.store($[O].state,T1,0);while(X>$[O].data.length)J=J/2,Q=$[O].buf.slice(0,J),X=Buffer.byteLength(Q);$[O].buf=$[O].buf.slice(J),B9($,Q,q9.bind(null,$))})}else if(J===0){if(H===0&&$[O].buf.length===0)return;$.flush(()=>{Atomics.store($[O].state,J0,0),Atomics.store($[O].state,T1,0),q9($)})}else Q0($,Error("overwritten"))}function Gw($){let H=this.stream.deref();if(H===void 0){this.exited=!0,this.terminate();return}switch($.code){case"READY":this.stream=new Yw(H),H.flush(()=>{H[O].ready=!0,H.emit("ready")});break;case"ERROR":Q0(H,$.err);break;case"EVENT":if(Array.isArray($.args))H.emit($.name,...$.args);else H.emit($.name,$.args);break;case"WARNING":process.emitWarning($.err);break;default:Q0(H,Error("this should not happen: "+$.code))}}function S3($){let H=this.stream.deref();if(H===void 0)return;L3.unregister(H),H.worker.exited=!0,H.worker.off("exit",S3),Q0(H,$!==0?Error("the worker thread exited"):null)}class C3 extends rB{constructor($={}){super();if($.bufferSize<4)throw Error("bufferSize must at least fit a 4-byte utf-8 char");this[O]={},this[O].stateBuf=new SharedArrayBuffer(128),this[O].state=new Int32Array(this[O].stateBuf),this[O].dataBuf=new SharedArrayBuffer($.bufferSize||4194304),this[O].data=Buffer.from(this[O].dataBuf),this[O].sync=$.sync||!1,this[O].ending=!1,this[O].ended=!1,this[O].needDrain=!1,this[O].destroyed=!1,this[O].flushing=!1,this[O].ready=!1,this[O].finished=!1,this[O].errored=null,this[O].closed=!1,this[O].buf="",this.worker=Ww(this,$),this.on("message",(H,J)=>{this.worker.postMessage(H,J)})}write($){if(this[O].destroyed)return E8(this,Error("the worker has exited")),!1;if(this[O].ending)return E8(this,Error("the worker is ending")),!1;if(this[O].flushing&&this[O].buf.length+$.length>=Qw)try{A8(this),this[O].flushing=!0}catch(H){return Q0(this,H),!1}if(this[O].buf+=$,this[O].sync)try{return A8(this),!0}catch(H){return Q0(this,H),!1}if(!this[O].flushing)this[O].flushing=!0,setImmediate(q9,this);return this[O].needDrain=this[O].data.length-this[O].buf.length-Atomics.load(this[O].state,T1)<=0,!this[O].needDrain}end(){if(this[O].destroyed)return;this[O].ending=!0,O8(this)}flush($){if(this[O].destroyed){if(typeof $==="function")process.nextTick($,Error("the worker has exited"));return}let H=Atomics.load(this[O].state,T1);$w(this[O].state,J0,H,1/0,(J,Q)=>{if(J){Q0(this,J),process.nextTick($,J);return}if(Q==="not-equal"){this.flush($);return}process.nextTick($)})}flushSync(){if(this[O].destroyed)return;A8(this),j8(this)}unref(){this.worker.unref()}ref(){this.worker.ref()}get ready(){return this[O].ready}get destroyed(){return this[O].destroyed}get closed(){return this[O].closed}get writable(){return!this[O].destroyed&&!this[O].ending}get writableEnded(){return this[O].ending}get writableFinished(){return this[O].finished}get writableNeedDrain(){return this[O].needDrain}get writableObjectMode(){return!1}get writableErrored(){return this[O].errored}}function E8($,H){setImmediate(()=>{$.emit("error",H)})}function Q0($,H){if($[O].destroyed)return;if($[O].destroyed=!0,H)$[O].errored=H,E8($,H);if(!$.worker.exited)$.worker.terminate().catch(()=>{}).then(()=>{$[O].closed=!0,$.emit("close")});else setImmediate(()=>{$[O].closed=!0,$.emit("close")})}function B9($,H,J){let Q=Atomics.load($[O].state,T1),X=Buffer.byteLength(H);return $[O].data.write(H,Q),Atomics.store($[O].state,T1,Q+X),Atomics.notify($[O].state,T1),J(),!0}function O8($){if($[O].ended||!$[O].ending||$[O].flushing)return;$[O].ended=!0;try{$.flushSync();let H=Atomics.load($[O].state,J0);Atomics.store($[O].state,T1,-1),Atomics.notify($[O].state,T1);let J=0;while(H!==-1){if(Atomics.wait($[O].state,J0,H,1000),H=Atomics.load($[O].state,J0),H===-2){Q0($,Error("end() failed"));return}if(++J===10){Q0($,Error("end() took too long (10s)"));return}}process.nextTick(()=>{$[O].finished=!0,$.emit("finish")})}catch(H){Q0($,H)}}function A8($){let H=()=>{if($[O].ending)O8($);else if($[O].needDrain)process.nextTick(M3,$)};$[O].flushing=!1;while($[O].buf.length!==0){let J=Atomics.load($[O].state,T1),Q=$[O].data.length-J;if(Q===0){j8($),Atomics.store($[O].state,J0,0),Atomics.store($[O].state,T1,0);continue}else if(Q<0)throw Error("overwritten");let X=$[O].buf.slice(0,Q),Y=Buffer.byteLength(X);if(Y<=Q)$[O].buf=$[O].buf.slice(Q),B9($,X,H);else{j8($),Atomics.store($[O].state,J0,0),Atomics.store($[O].state,T1,0);while(Y>$[O].buf.length)Q=Q/2,X=$[O].buf.slice(0,Q),Y=Buffer.byteLength(X);$[O].buf=$[O].buf.slice(Q),B9($,X,H)}}}function j8($){if($[O].flushing)throw Error("unable to flush while flushing");let H=Atomics.load($[O].state,T1),J=0;while(!0){let Q=Atomics.load($[O].state,J0);if(Q===-2)throw Error("_flushSync failed");if(Q!==H)Atomics.wait($[O].state,J0,Q,1000);else break;if(++J===10)throw Error("_flushSync took too long (10s)")}}P3.exports=C3});var M8=N((iC,I3)=>{var __dirname="C:\\Users\\mejia\\Desktop\\prueba-real\\fastTS\\node_modules\\pino\\lib",{createRequire:qw}=a("module"),Uw=U8(),{join:Z8,isAbsolute:Bw,sep:ww}=a("path"),Dw=_8(),L8=G9(),Vw=K3();function _w($){L8.register($,zw),L8.registerBeforeExit($,Nw),$.on("close",function(){L8.unregister($)})}function Fw($,H,J,Q){let X=new Vw({filename:$,workerData:H,workerOpts:J,sync:Q});X.on("ready",Y),X.on("close",function(){process.removeListener("exit",W)}),process.on("exit",W);function Y(){if(process.removeListener("exit",W),X.unref(),J.autoEnd!==!1)_w(X)}function W(){if(X.closed)return;X.flushSync(),Dw(100),X.end()}return X}function zw($){$.ref(),$.flushSync(),$.end(),$.once("close",function(){$.unref()})}function Nw($){$.flushSync()}function Aw($){let{pipeline:H,targets:J,levels:Q,dedupe:X,worker:Y={},caller:W=Uw(),sync:G=!1}=$,q={...$.options},U=typeof W==="string"?[W]:W,B="__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{},w=$.target;if(w&&J)throw Error("only one of target or targets can be specified");if(J)w=B["pino-worker"]||Z8(__dirname,"worker.js"),q.targets=J.filter((V)=>V.target).map((V)=>{return{...V,target:_(V.target)}}),q.pipelines=J.filter((V)=>V.pipeline).map((V)=>{return V.pipeline.map((D)=>{return{...D,level:V.level,target:_(D.target)}})});else if(H)w=B["pino-worker"]||Z8(__dirname,"worker.js"),q.pipelines=[H.map((V)=>{return{...V,target:_(V.target)}})];if(Q)q.levels=Q;if(X)q.dedupe=X;return q.pinoWillSendConfig=!0,Fw(_(w),q,Y,G);function _(V){if(V=B[V]||V,Bw(V)||V.indexOf("file://")===0)return V;if(V==="pino/file")return Z8(__dirname,"..","file.js");let D;for(let A of U)try{let E=A==="node:repl"?process.cwd()+ww:A;D=qw(E).resolve(V);break}catch(E){continue}if(!D)throw Error(`unable to determine transport target for "${V}"`);return D}}I3.exports=Aw});var V9=N((sC,c3)=>{var Rw=a("diagnostics_channel"),T3=q3(),{mapHttpRequest:Ew,mapHttpResponse:jw}=q8(),C8=N8(),x3=G9(),{lsCacheSym:Ow,chindingsSym:v3,writeSym:b3,serializersSym:g3,formatOptsSym:f3,endSym:Zw,stringifiersSym:y3,stringifySym:u3,stringifySafeSym:P8,wildcardFirstSym:m3,nestedKeySym:Lw,formattersSym:d3,messageKeySym:Mw,errorKeySym:Sw,nestedKeyStrSym:Cw,msgPrefixSym:w9}=G$(),{isMainThread:Pw}=a("worker_threads"),Kw=M8(),k3=Rw.tracingChannel("pino_asJson");function U$(){}function Iw($,H){if(!H)return J;return function(...X){H.call(this,X,J,$)};function J(Q,...X){if(typeof Q==="object"){let Y=Q;if(Q!==null){if(Q.method&&Q.headers&&Q.socket)Q=Ew(Q);else if(typeof Q.setHeader==="function")Q=jw(Q)}let W;if(Y===null&&X.length===0)W=[null];else Y=X.shift(),W=X;if(typeof this[w9]==="string"&&Y!==void 0&&Y!==null)Y=this[w9]+Y;this[b3](Q,T3(Y,W,this[f3]),$)}else{let Y=Q===void 0?X.shift():Q;if(typeof this[w9]==="string"&&Y!==void 0&&Y!==null)Y=this[w9]+Y;this[b3](null,T3(Y,X,this[f3]),$)}}}function S8($){let H="",J=0,Q=!1,X=255,Y=$.length;if(Y>100)return JSON.stringify($);for(var W=0;W<Y&&X>=32;W++)if(X=$.charCodeAt(W),X===34||X===92)H+=$.slice(J,W)+"\\",J=W,Q=!0;if(!Q)H=$;else H+=$.slice(J);return X<32?JSON.stringify($):'"'+H+'"'}function Tw($,H,J,Q){if(k3.hasSubscribers===!1)return h3.call(this,$,H,J,Q);let X={instance:this,arguments};return k3.traceSync(h3,X,this,$,H,J,Q)}function h3($,H,J,Q){let X=this[u3],Y=this[P8],W=this[y3],G=this[Zw],q=this[v3],U=this[g3],B=this[d3],w=this[Mw],_=this[Sw],V=this[Ow][J]+Q;V=V+q;let D;if(B.log)$=B.log($);let A=W[m3],E="";for(let M in $)if(D=$[M],Object.prototype.hasOwnProperty.call($,M)&&D!==void 0){if(U[M])D=U[M](D);else if(M===_&&U.err)D=U.err(D);let L=W[M]||A;switch(typeof D){case"undefined":case"function":continue;case"number":if(Number.isFinite(D)===!1)D=null;case"boolean":if(L)D=L(D);break;case"string":D=(L||S8)(D);break;default:D=(L||X)(D,Y)}if(D===void 0)continue;let x=S8(M);E+=","+x+":"+D}let Z="";if(H!==void 0){D=U[w]?U[w](H):H;let M=W[w]||A;switch(typeof D){case"function":break;case"number":if(Number.isFinite(D)===!1)D=null;case"boolean":if(M)D=M(D);Z=',"'+w+'":'+D;break;case"string":D=(M||S8)(D),Z=',"'+w+'":'+D;break;default:D=(M||X)(D,Y),Z=',"'+w+'":'+D}}if(this[Lw]&&E)return V+this[Cw]+E.slice(1)+"}"+Z+G;else return V+E+Z+G}function xw($,H){let J,Q=$[v3],X=$[u3],Y=$[P8],W=$[y3],G=W[m3],q=$[g3],U=$[d3].bindings;H=U(H);for(let B in H)if(J=H[B],((B.length<5||B!=="level"&&B!=="serializers"&&B!=="formatters"&&B!=="customLevels")&&H.hasOwnProperty(B)&&J!==void 0)===!0){if(J=q[B]?q[B](J):J,J=(W[B]||G||X)(J,Y),J===void 0)continue;Q+=',"'+B+'":'+J}return Q}function bw($){return $.write!==$.constructor.prototype.write}function D9($){let H=new C8($);if(H.on("error",J),!$.sync&&Pw)x3.register(H,fw),H.on("close",function(){x3.unregister(H)});return H;function J(Q){if(Q.code==="EPIPE"){H.write=U$,H.end=U$,H.flushSync=U$,H.destroy=U$;return}H.removeListener("error",J),H.emit("error",Q)}}function fw($,H){if($.destroyed)return;if(H==="beforeExit")$.flush(),$.on("drain",function(){$.end()});else $.flushSync()}function kw($){return function(J,Q,X={},Y){if(typeof X==="string")Y=D9({dest:X}),X={};else if(typeof Y==="string"){if(X&&X.transport)throw Error("only one of option.transport or stream can be specified");Y=D9({dest:Y})}else if(X instanceof C8||X.writable||X._writableState)Y=X,X={};else if(X.transport){if(X.transport instanceof C8||X.transport.writable||X.transport._writableState)throw Error("option.transport do not allow stream, please pass to option directly. e.g. pino(transport)");if(X.transport.targets&&X.transport.targets.length&&X.formatters&&typeof X.formatters.level==="function")throw Error("option.transport.targets do not allow custom level formatters");let q;if(X.customLevels)q=X.useOnlyCustomLevels?X.customLevels:Object.assign({},X.levels,X.customLevels);Y=Kw({caller:Q,...X.transport,levels:q})}if(X=Object.assign({},$,X),X.serializers=Object.assign({},$.serializers,X.serializers),X.formatters=Object.assign({},$.formatters,X.formatters),X.prettyPrint)throw Error("prettyPrint option is no longer supported, see the pino-pretty package (https://github.com/pinojs/pino-pretty)");let{enabled:W,onChild:G}=X;if(W===!1)X.level="silent";if(!G)X.onChild=U$;if(!Y)if(!bw(process.stdout))Y=D9({fd:process.stdout.fd||1});else Y=process.stdout;return{opts:X,stream:Y}}}function hw($,H){try{return JSON.stringify($)}catch(J){try{return(H||this[P8])($)}catch(Q){return'"[unable to serialize, circular reference is too complex to analyze]"'}}}function vw($,H,J){return{level:$,bindings:H,log:J}}function gw($){let H=Number($);if(typeof $==="string"&&Number.isFinite(H))return H;if($===void 0)return 1;return $}c3.exports={noop:U$,buildSafeSonicBoom:D9,asChindings:xw,asJson:Tw,genLog:Iw,createArgsNormalizer:kw,stringify:hw,buildFormatters:vw,normalizeDestFileDescriptor:gw}});var _9=N((oC,l3)=>{var yw={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},uw={ASC:"ASC",DESC:"DESC"};l3.exports={DEFAULT_LEVELS:yw,SORTING_ORDER:uw}});var T8=N((rC,s3)=>{var{lsCacheSym:mw,levelValSym:K8,useOnlyCustomLevelsSym:dw,streamSym:cw,formattersSym:lw,hooksSym:pw,levelCompSym:p3}=G$(),{noop:nw,genLog:k0}=V9(),{DEFAULT_LEVELS:X0,SORTING_ORDER:n3}=_9(),i3={fatal:($)=>{let H=k0(X0.fatal,$);return function(...J){let Q=this[cw];if(H.call(this,...J),typeof Q.flushSync==="function")try{Q.flushSync()}catch(X){}}},error:($)=>k0(X0.error,$),warn:($)=>k0(X0.warn,$),info:($)=>k0(X0.info,$),debug:($)=>k0(X0.debug,$),trace:($)=>k0(X0.trace,$)},I8=Object.keys(X0).reduce(($,H)=>{return $[X0[H]]=H,$},{}),iw=Object.keys(I8).reduce(($,H)=>{return $[H]='{"level":'+Number(H),$},{});function sw($){let H=$[lw].level,{labels:J}=$.levels,Q={};for(let X in J){let Y=H(J[X],Number(X));Q[X]=JSON.stringify(Y).slice(0,-1)}return $[mw]=Q,$}function ow($,H){if(H)return!1;switch($){case"fatal":case"error":case"warn":case"info":case"debug":case"trace":return!0;default:return!1}}function rw($){let{labels:H,values:J}=this.levels;if(typeof $==="number"){if(H[$]===void 0)throw Error("unknown level value"+$);$=H[$]}if(J[$]===void 0)throw Error("unknown level "+$);let Q=this[K8],X=this[K8]=J[$],Y=this[dw],W=this[p3],G=this[pw].logMethod;for(let q in J){if(W(J[q],X)===!1){this[q]=nw;continue}this[q]=ow(q,Y)?i3[q](G):k0(J[q],G)}this.emit("level-change",$,X,H[Q],Q,this)}function aw($){let{levels:H,levelVal:J}=this;return H&&H.labels?H.labels[J]:""}function tw($){let{values:H}=this.levels,J=H[$];return J!==void 0&&this[p3](J,this[K8])}function ew($,H,J){if($===n3.DESC)return H<=J;return H>=J}function $D($){if(typeof $==="string")return ew.bind(null,$);return $}function HD($=null,H=!1){let J=$?Object.keys($).reduce((Y,W)=>{return Y[$[W]]=W,Y},{}):null,Q=Object.assign(Object.create(Object.prototype,{Infinity:{value:"silent"}}),H?null:I8,J),X=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),H?null:X0,$);return{labels:Q,values:X}}function JD($,H,J){if(typeof $==="number"){if(![].concat(Object.keys(H||{}).map((Y)=>H[Y]),J?[]:Object.keys(I8).map((Y)=>+Y),1/0).includes($))throw Error(`default level:${$} must be included in custom levels`);return}let Q=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),J?null:X0,H);if(!($ in Q))throw Error(`default level:${$} must be included in custom levels`)}function QD($,H){let{labels:J,values:Q}=$;for(let X in H){if(X in Q)throw Error("levels cannot be overridden");if(H[X]in J)throw Error("pre-existing level values cannot be used for new levels")}}function XD($){if(typeof $==="function")return;if(typeof $==="string"&&Object.values(n3).includes($))return;throw Error('Levels comparison should be one of "ASC", "DESC" or "function" type')}s3.exports={initialLsCache:iw,genLsCache:sw,levelMethods:i3,getLevel:aw,setLevel:rw,isLevelEnabled:tw,mappings:HD,assertNoLevelCollisions:QD,assertDefaultLevelFound:JD,genLevelComparison:$D,assertLevelComparison:XD}});var x8=N((aC,o3)=>{o3.exports={version:"10.1.0"}});var QH=N((tC,JH)=>{var{EventEmitter:YD}=a("events"),{lsCacheSym:WD,levelValSym:GD,setLevelSym:f8,getLevelSym:r3,chindingsSym:z9,mixinSym:qD,asJsonSym:t3,writeSym:UD,mixinMergeStrategySym:BD,timeSym:wD,timeSliceIndexSym:DD,streamSym:e3,serializersSym:h0,formattersSym:J4,errorKeySym:VD,messageKeySym:_D,useOnlyCustomLevelsSym:FD,needsMetadataGsym:zD,redactFmtSym:ND,stringifySym:AD,formatOptsSym:RD,stringifiersSym:ED,msgPrefixSym:k8,hooksSym:jD}=G$(),{getLevel:OD,setLevel:ZD,isLevelEnabled:LD,mappings:MD,initialLsCache:SD,genLsCache:CD,assertNoLevelCollisions:PD}=T8(),{asChindings:h8,asJson:KD,buildFormatters:b8,stringify:a3,noop:$H}=V9(),{version:ID}=x8(),TD=D8(),xD=class{},HH={constructor:xD,child:bD,bindings:fD,setBindings:kD,flush:gD,isLevelEnabled:LD,version:ID,get level(){return this[r3]()},set level($){this[f8]($)},get levelVal(){return this[GD]},set levelVal($){throw Error("levelVal is read-only")},get msgPrefix(){return this[k8]},get[Symbol.toStringTag](){return"Pino"},[WD]:SD,[UD]:vD,[t3]:KD,[r3]:OD,[f8]:ZD};Object.setPrototypeOf(HH,YD.prototype);JH.exports=function(){return Object.create(HH)};var F9=($)=>$;function bD($,H){if(!$)throw Error("missing bindings for child Pino");let J=this[h0],Q=this[J4],X=Object.create(this);if(H==null){if(X[J4].bindings!==F9)X[J4]=b8(Q.level,F9,Q.log);if(X[z9]=h8(X,$),this.onChild!==$H)this.onChild(X);return X}if(H.hasOwnProperty("serializers")===!0){X[h0]=Object.create(null);for(let U in J)X[h0][U]=J[U];let G=Object.getOwnPropertySymbols(J);for(var Y=0;Y<G.length;Y++){let U=G[Y];X[h0][U]=J[U]}for(let U in H.serializers)X[h0][U]=H.serializers[U];let q=Object.getOwnPropertySymbols(H.serializers);for(var W=0;W<q.length;W++){let U=q[W];X[h0][U]=H.serializers[U]}}else X[h0]=J;if(H.hasOwnProperty("formatters")){let{level:G,bindings:q,log:U}=H.formatters;X[J4]=b8(G||Q.level,q||F9,U||Q.log)}else X[J4]=b8(Q.level,F9,Q.log);if(H.hasOwnProperty("customLevels")===!0)PD(this.levels,H.customLevels),X.levels=MD(H.customLevels,X[FD]),CD(X);if(typeof H.redact==="object"&&H.redact!==null||Array.isArray(H.redact)){X.redact=H.redact;let G=TD(X.redact,a3),q={stringify:G[ND]};X[AD]=a3,X[ED]=G,X[RD]=q}if(typeof H.msgPrefix==="string")X[k8]=(this[k8]||"")+H.msgPrefix;if(X[z9]=h8(X,$),H.level!==void 0&&H.level!==this.level||H.hasOwnProperty("customLevels")){let G=H.level||this.level;X[f8](G)}return this.onChild(X),X}function fD(){let H=`{${this[z9].substr(1)}}`,J=JSON.parse(H);return delete J.pid,delete J.hostname,J}function kD($){let H=h8(this,$);this[z9]=H}function hD($,H){return Object.assign(H,$)}function vD($,H,J){let Q=this[wD](),X=this[qD],Y=this[VD],W=this[_D],G=this[BD]||hD,q,U=this[jD].streamWrite;if($===void 0||$===null)q={};else if($ instanceof Error){if(q={[Y]:$},H===void 0)H=$.message}else if(q=$,H===void 0&&$[W]===void 0&&$[Y])H=$[Y].message;if(X)q=G(q,X(q,J,this));let B=this[t3](q,H,J,Q),w=this[e3];if(w[zD]===!0)w.lastLevel=J,w.lastObj=q,w.lastMsg=H,w.lastTime=Q.slice(this[DD]),w.lastLogger=this;w.write(U?U(B):B)}function gD($){if($!=null&&typeof $!=="function")throw Error("callback must be a function");let H=this[e3];if(typeof H.flush==="function")H.flush($||$H);else if($)$()}});var GH=N((eC,WH)=>{var{hasOwnProperty:Q4}=Object.prototype,g0=y8();g0.configure=y8;g0.stringify=g0;g0.default=g0;eC.stringify=g0;eC.configure=y8;WH.exports=g0;var yD=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function E0($){if($.length<5000&&!yD.test($))return`"${$}"`;return JSON.stringify($)}function v8($,H){if($.length>200||H)return $.sort(H);for(let J=1;J<$.length;J++){let Q=$[J],X=J;while(X!==0&&$[X-1]>Q)$[X]=$[X-1],X--;$[X]=Q}return $}var uD=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function g8($){return uD.call($)!==void 0&&$.length!==0}function XH($,H,J){if($.length<J)J=$.length;let Q=H===","?"":" ",X=`"0":${Q}${$[0]}`;for(let Y=1;Y<J;Y++)X+=`${H}"${Y}":${Q}${$[Y]}`;return X}function mD($){if(Q4.call($,"circularValue")){let H=$.circularValue;if(typeof H==="string")return`"${H}"`;if(H==null)return H;if(H===Error||H===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 dD($){let H;if(Q4.call($,"deterministic")){if(H=$.deterministic,typeof H!=="boolean"&&typeof H!=="function")throw TypeError('The "deterministic" argument must be of type boolean or comparator function')}return H===void 0?!0:H}function cD($,H){let J;if(Q4.call($,H)){if(J=$[H],typeof J!=="boolean")throw TypeError(`The "${H}" argument must be of type boolean`)}return J===void 0?!0:J}function YH($,H){let J;if(Q4.call($,H)){if(J=$[H],typeof J!=="number")throw TypeError(`The "${H}" argument must be of type number`);if(!Number.isInteger(J))throw TypeError(`The "${H}" argument must be an integer`);if(J<1)throw RangeError(`The "${H}" argument must be >= 1`)}return J===void 0?1/0:J}function v0($){if($===1)return"1 item";return`${$} items`}function lD($){let H=new Set;for(let J of $)if(typeof J==="string"||typeof J==="number")H.add(String(J));return H}function pD($){if(Q4.call($,"strict")){let H=$.strict;if(typeof H!=="boolean")throw TypeError('The "strict" argument must be of type boolean');if(H)return(J)=>{let Q=`Object can not safely be stringified. Received type ${typeof J}`;if(typeof J!=="function")Q+=` (${J.toString()})`;throw Error(Q)}}}function y8($){$={...$};let H=pD($);if(H){if($.bigint===void 0)$.bigint=!1;if(!("circularValue"in $))$.circularValue=Error}let J=mD($),Q=cD($,"bigint"),X=dD($),Y=typeof X==="function"?X:void 0,W=YH($,"maximumDepth"),G=YH($,"maximumBreadth");function q(V,D,A,E,Z,M){let L=D[V];if(typeof L==="object"&&L!==null&&typeof L.toJSON==="function")L=L.toJSON(V);switch(L=E.call(D,V,L),typeof L){case"string":return E0(L);case"object":{if(L===null)return"null";if(A.indexOf(L)!==-1)return J;let x="",v=",",l=M;if(Array.isArray(L)){if(L.length===0)return"[]";if(W<A.length+1)return'"[Array]"';if(A.push(L),Z!=="")M+=Z,x+=`
|
|
5
|
+
${M}`,v=`,
|
|
6
|
+
${M}`;let X1=Math.min(L.length,G),I=0;for(;I<X1-1;I++){let E1=q(String(I),L,A,E,Z,M);x+=E1!==void 0?E1:"null",x+=v}let R1=q(String(I),L,A,E,Z,M);if(x+=R1!==void 0?R1:"null",L.length-1>G){let E1=L.length-G-1;x+=`${v}"... ${v0(E1)} not stringified"`}if(Z!=="")x+=`
|
|
7
|
+
${l}`;return A.pop(),`[${x}]`}let i=Object.keys(L),J1=i.length;if(J1===0)return"{}";if(W<A.length+1)return'"[Object]"';let m="",W1="";if(Z!=="")M+=Z,v=`,
|
|
8
|
+
${M}`,m=" ";let G1=Math.min(J1,G);if(X&&!g8(L))i=v8(i,Y);A.push(L);for(let X1=0;X1<G1;X1++){let I=i[X1],R1=q(I,L,A,E,Z,M);if(R1!==void 0)x+=`${W1}${E0(I)}:${m}${R1}`,W1=v}if(J1>G){let X1=J1-G;x+=`${W1}"...":${m}"${v0(X1)} not stringified"`,W1=v}if(Z!==""&&W1.length>1)x=`
|
|
9
|
+
${M}${x}
|
|
10
|
+
${l}`;return A.pop(),`{${x}}`}case"number":return isFinite(L)?String(L):H?H(L):"null";case"boolean":return L===!0?"true":"false";case"undefined":return;case"bigint":if(Q)return String(L);default:return H?H(L):void 0}}function U(V,D,A,E,Z,M){if(typeof D==="object"&&D!==null&&typeof D.toJSON==="function")D=D.toJSON(V);switch(typeof D){case"string":return E0(D);case"object":{if(D===null)return"null";if(A.indexOf(D)!==-1)return J;let L=M,x="",v=",";if(Array.isArray(D)){if(D.length===0)return"[]";if(W<A.length+1)return'"[Array]"';if(A.push(D),Z!=="")M+=Z,x+=`
|
|
11
|
+
${M}`,v=`,
|
|
12
|
+
${M}`;let J1=Math.min(D.length,G),m=0;for(;m<J1-1;m++){let G1=U(String(m),D[m],A,E,Z,M);x+=G1!==void 0?G1:"null",x+=v}let W1=U(String(m),D[m],A,E,Z,M);if(x+=W1!==void 0?W1:"null",D.length-1>G){let G1=D.length-G-1;x+=`${v}"... ${v0(G1)} not stringified"`}if(Z!=="")x+=`
|
|
13
|
+
${L}`;return A.pop(),`[${x}]`}A.push(D);let l="";if(Z!=="")M+=Z,v=`,
|
|
14
|
+
${M}`,l=" ";let i="";for(let J1 of E){let m=U(J1,D[J1],A,E,Z,M);if(m!==void 0)x+=`${i}${E0(J1)}:${l}${m}`,i=v}if(Z!==""&&i.length>1)x=`
|
|
15
|
+
${M}${x}
|
|
16
|
+
${L}`;return A.pop(),`{${x}}`}case"number":return isFinite(D)?String(D):H?H(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(Q)return String(D);default:return H?H(D):void 0}}function B(V,D,A,E,Z){switch(typeof D){case"string":return E0(D);case"object":{if(D===null)return"null";if(typeof D.toJSON==="function"){if(D=D.toJSON(V),typeof D!=="object")return B(V,D,A,E,Z);if(D===null)return"null"}if(A.indexOf(D)!==-1)return J;let M=Z;if(Array.isArray(D)){if(D.length===0)return"[]";if(W<A.length+1)return'"[Array]"';A.push(D),Z+=E;let m=`
|
|
17
|
+
${Z}`,W1=`,
|
|
18
|
+
${Z}`,G1=Math.min(D.length,G),X1=0;for(;X1<G1-1;X1++){let R1=B(String(X1),D[X1],A,E,Z);m+=R1!==void 0?R1:"null",m+=W1}let I=B(String(X1),D[X1],A,E,Z);if(m+=I!==void 0?I:"null",D.length-1>G){let R1=D.length-G-1;m+=`${W1}"... ${v0(R1)} not stringified"`}return m+=`
|
|
19
|
+
${M}`,A.pop(),`[${m}]`}let L=Object.keys(D),x=L.length;if(x===0)return"{}";if(W<A.length+1)return'"[Object]"';Z+=E;let v=`,
|
|
20
|
+
${Z}`,l="",i="",J1=Math.min(x,G);if(g8(D))l+=XH(D,v,G),L=L.slice(D.length),J1-=D.length,i=v;if(X)L=v8(L,Y);A.push(D);for(let m=0;m<J1;m++){let W1=L[m],G1=B(W1,D[W1],A,E,Z);if(G1!==void 0)l+=`${i}${E0(W1)}: ${G1}`,i=v}if(x>G){let m=x-G;l+=`${i}"...": "${v0(m)} not stringified"`,i=v}if(i!=="")l=`
|
|
21
|
+
${Z}${l}
|
|
22
|
+
${M}`;return A.pop(),`{${l}}`}case"number":return isFinite(D)?String(D):H?H(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(Q)return String(D);default:return H?H(D):void 0}}function w(V,D,A){switch(typeof D){case"string":return E0(D);case"object":{if(D===null)return"null";if(typeof D.toJSON==="function"){if(D=D.toJSON(V),typeof D!=="object")return w(V,D,A);if(D===null)return"null"}if(A.indexOf(D)!==-1)return J;let E="",Z=D.length!==void 0;if(Z&&Array.isArray(D)){if(D.length===0)return"[]";if(W<A.length+1)return'"[Array]"';A.push(D);let l=Math.min(D.length,G),i=0;for(;i<l-1;i++){let m=w(String(i),D[i],A);E+=m!==void 0?m:"null",E+=","}let J1=w(String(i),D[i],A);if(E+=J1!==void 0?J1:"null",D.length-1>G){let m=D.length-G-1;E+=`,"... ${v0(m)} not stringified"`}return A.pop(),`[${E}]`}let M=Object.keys(D),L=M.length;if(L===0)return"{}";if(W<A.length+1)return'"[Object]"';let x="",v=Math.min(L,G);if(Z&&g8(D))E+=XH(D,",",G),M=M.slice(D.length),v-=D.length,x=",";if(X)M=v8(M,Y);A.push(D);for(let l=0;l<v;l++){let i=M[l],J1=w(i,D[i],A);if(J1!==void 0)E+=`${x}${E0(i)}:${J1}`,x=","}if(L>G){let l=L-G;E+=`${x}"...":"${v0(l)} not stringified"`}return A.pop(),`{${E}}`}case"number":return isFinite(D)?String(D):H?H(D):"null";case"boolean":return D===!0?"true":"false";case"undefined":return;case"bigint":if(Q)return String(D);default:return H?H(D):void 0}}function _(V,D,A){if(arguments.length>1){let E="";if(typeof A==="number")E=" ".repeat(Math.min(A,10));else if(typeof A==="string")E=A.slice(0,10);if(D!=null){if(typeof D==="function")return q("",{"":V},[],D,E,"");if(Array.isArray(D))return U("",V,[],lD(D),E,"")}if(E.length!==0)return B("",V,[],E,"")}return w("",V,[])}return _}});var wH=N(($P,BH)=>{var u8=Symbol.for("pino.metadata"),{DEFAULT_LEVELS:UH}=_9(),sD=UH.info;function oD($,H){$=$||[],H=H||{dedupe:!1};let J=Object.create(UH);if(J.silent=1/0,H.levels&&typeof H.levels==="object")Object.keys(H.levels).forEach((w)=>{J[w]=H.levels[w]});let Q={write:X,add:G,remove:q,emit:Y,flushSync:W,end:U,minLevel:0,lastId:0,streams:[],clone:B,[u8]:!0,streamLevels:J};if(Array.isArray($))$.forEach(G,Q);else G.call(Q,$);return $=null,Q;function X(w){let _,V=this.lastLevel,{streams:D}=this,A=0,E;for(let Z=rD(D.length,H.dedupe);tD(Z,D.length,H.dedupe);Z=aD(Z,H.dedupe))if(_=D[Z],_.level<=V){if(A!==0&&A!==_.level)break;if(E=_.stream,E[u8]){let{lastTime:M,lastMsg:L,lastObj:x,lastLogger:v}=this;E.lastLevel=V,E.lastTime=M,E.lastMsg=L,E.lastObj=x,E.lastLogger=v}if(E.write(w),H.dedupe)A=_.level}else if(!H.dedupe)break}function Y(...w){for(let{stream:_}of this.streams)if(typeof _.emit==="function")_.emit(...w)}function W(){for(let{stream:w}of this.streams)if(typeof w.flushSync==="function")w.flushSync()}function G(w){if(!w)return Q;let _=typeof w.write==="function"||w.stream,V=w.write?w:w.stream;if(!_)throw Error("stream object needs to implement either StreamEntry or DestinationStream interface");let{streams:D,streamLevels:A}=this,E;if(typeof w.levelVal==="number")E=w.levelVal;else if(typeof w.level==="string")E=A[w.level];else if(typeof w.level==="number")E=w.level;else E=sD;let Z={stream:V,level:E,levelVal:void 0,id:++Q.lastId};return D.unshift(Z),D.sort(qH),this.minLevel=D[0].level,Q}function q(w){let{streams:_}=this,V=_.findIndex((D)=>D.id===w);if(V>=0)_.splice(V,1),_.sort(qH),this.minLevel=_.length>0?_[0].level:-1;return Q}function U(){for(let{stream:w}of this.streams){if(typeof w.flushSync==="function")w.flushSync();w.end()}}function B(w){let _=Array(this.streams.length);for(let V=0;V<_.length;V++)_[V]={level:w,stream:this.streams[V].stream};return{write:X,add:G,remove:q,minLevel:w,streams:_,clone:B,emit:Y,flushSync:W,[u8]:!0}}}function qH($,H){return $.level-H.level}function rD($,H){return H?$-1:0}function aD($,H){return H?$-1:$+1}function tD($,H,J){return J?$>=0:$<H}BH.exports=oD});var MH=N((HP,x1)=>{var eD=a("os"),RH=q8(),$V=U8(),HV=D8(),EH=W3(),JV=QH(),jH=G$(),{configure:QV}=GH(),{assertDefaultLevelFound:XV,mappings:OH,genLsCache:YV,genLevelComparison:WV,assertLevelComparison:GV}=T8(),{DEFAULT_LEVELS:ZH,SORTING_ORDER:qV}=_9(),{createArgsNormalizer:UV,asChindings:BV,buildSafeSonicBoom:DH,buildFormatters:wV,stringify:m8,normalizeDestFileDescriptor:VH,noop:DV}=V9(),{version:VV}=x8(),{chindingsSym:_H,redactFmtSym:_V,serializersSym:FH,timeSym:FV,timeSliceIndexSym:zV,streamSym:NV,stringifySym:zH,stringifySafeSym:d8,stringifiersSym:NH,setLevelSym:AV,endSym:RV,formatOptsSym:EV,messageKeySym:jV,errorKeySym:OV,nestedKeySym:ZV,mixinSym:LV,levelCompSym:MV,useOnlyCustomLevelsSym:SV,formattersSym:AH,hooksSym:CV,nestedKeyStrSym:PV,mixinMergeStrategySym:KV,msgPrefixSym:IV}=jH,{epochTime:LH,nullTime:TV}=EH,{pid:xV}=process,bV=eD.hostname(),fV=RH.err,kV={level:"info",levelComparison:qV.ASC,levels:ZH,messageKey:"msg",errorKey:"err",nestedKey:null,enabled:!0,base:{pid:xV,hostname:bV},serializers:Object.assign(Object.create(null),{err:fV}),formatters:Object.assign(Object.create(null),{bindings($){return $},level($,H){return{level:H}}}),hooks:{logMethod:void 0,streamWrite:void 0},timestamp:LH,name:void 0,redact:null,customLevels:null,useOnlyCustomLevels:!1,depthLimit:5,edgeLimit:100},hV=UV(kV),vV=Object.assign(Object.create(null),RH);function c8(...$){let H={},{opts:J,stream:Q}=hV(H,$V(),...$);if(J.level&&typeof J.level==="string"&&ZH[J.level.toLowerCase()]!==void 0)J.level=J.level.toLowerCase();let{redact:X,crlf:Y,serializers:W,timestamp:G,messageKey:q,errorKey:U,nestedKey:B,base:w,name:_,level:V,customLevels:D,levelComparison:A,mixin:E,mixinMergeStrategy:Z,useOnlyCustomLevels:M,formatters:L,hooks:x,depthLimit:v,edgeLimit:l,onChild:i,msgPrefix:J1}=J,m=QV({maximumDepth:v,maximumBreadth:l}),W1=wV(L.level,L.bindings,L.log),G1=m8.bind({[d8]:m}),X1=X?HV(X,G1):{},I=X?{stringify:X1[_V]}:{stringify:G1},R1="}"+(Y?`\r
|
|
23
|
+
`:`
|
|
24
|
+
`),E1=BV.bind(null,{[_H]:"",[FH]:W,[NH]:X1,[zH]:m8,[d8]:m,[AH]:W1}),$0="";if(w!==null)if(_===void 0)$0=E1(w);else $0=E1(Object.assign({},w,{name:_}));let a$=G instanceof Function?G:G?LH:TV,n4=a$().indexOf(":")+1;if(M&&!D)throw Error("customLevels is required if useOnlyCustomLevels is set true");if(E&&typeof E!=="function")throw Error(`Unknown mixin type "${typeof E}" - expected "function"`);if(J1&&typeof J1!=="string")throw Error(`Unknown msgPrefix type "${typeof J1}" - expected "string"`);XV(V,D,M);let t$=OH(D,M);if(typeof Q.emit==="function")Q.emit("message",{code:"PINO_CONFIG",config:{levels:t$,messageKey:q,errorKey:U}});GV(A);let i4=WV(A);return Object.assign(H,{levels:t$,[MV]:i4,[SV]:M,[NV]:Q,[FV]:a$,[zV]:n4,[zH]:m8,[d8]:m,[NH]:X1,[RV]:R1,[EV]:I,[jV]:q,[OV]:U,[ZV]:B,[PV]:B?`,${JSON.stringify(B)}:{`:"",[FH]:W,[LV]:E,[KV]:Z,[_H]:$0,[AH]:W1,[CV]:x,silent:DV,onChild:i,[IV]:J1}),Object.setPrototypeOf(H,JV()),YV(H),H[AV](V),H}x1.exports=c8;x1.exports.destination=($=process.stdout.fd)=>{if(typeof $==="object")return $.dest=VH($.dest||process.stdout.fd),DH($);else return DH({dest:VH($),minLength:0})};x1.exports.transport=M8();x1.exports.multistream=wH();x1.exports.levels=OH();x1.exports.stdSerializers=vV;x1.exports.stdTimeFunctions=Object.assign({},EH);x1.exports.symbols=jH;x1.exports.version=VV;x1.exports.default=c8;x1.exports.pino=c8});var p8=N((xH)=>{Object.defineProperty(xH,"__esModule",{value:!0});var gV=a("tty");function yV($){if($&&$.__esModule)return $;var H=Object.create(null);if($)Object.keys($).forEach(function(J){if(J!=="default"){var Q=Object.getOwnPropertyDescriptor($,J);Object.defineProperty(H,J,Q.get?Q:{enumerable:!0,get:function(){return $[J]}})}});return H.default=$,Object.freeze(H)}var l8=yV(gV),{env:j0={},argv:CH=[],platform:uV=""}=typeof process>"u"?{}:process,mV="NO_COLOR"in j0||CH.includes("--no-color"),dV="FORCE_COLOR"in j0||CH.includes("--color"),cV=uV==="win32",PH=j0.TERM==="dumb",lV=l8&&l8.isatty&&l8.isatty(1)&&j0.TERM&&!PH,pV="CI"in j0&&(("GITHUB_ACTIONS"in j0)||("GITLAB_CI"in j0)||("CIRCLECI"in j0)),KH=!mV&&(dV||cV&&!PH||lV||pV),IH=($,H,J,Q,X=H.substring(0,$)+Q,Y=H.substring($+J.length),W=Y.indexOf(J))=>X+(W<0?Y:IH(W,Y,J,Q)),nV=($,H,J,Q,X)=>$<0?J+H+Q:J+IH($,H,Q,X)+Q,iV=($,H,J=$,Q=$.length+1)=>(X)=>X||!(X===""||X===void 0)?nV((""+X).indexOf(H,Q),X,$,H,J):"",t=($,H,J)=>iV(`\x1B[${$}m`,`\x1B[${H}m`,J),SH={reset:t(0,0),bold:t(1,22,"\x1B[22m\x1B[1m"),dim:t(2,22,"\x1B[22m\x1B[2m"),italic:t(3,23),underline:t(4,24),inverse:t(7,27),hidden:t(8,28),strikethrough:t(9,29),black:t(30,39),red:t(31,39),green:t(32,39),yellow:t(33,39),blue:t(34,39),magenta:t(35,39),cyan:t(36,39),white:t(37,39),gray:t(90,39),bgBlack:t(40,49),bgRed:t(41,49),bgGreen:t(42,49),bgYellow:t(43,49),bgBlue:t(44,49),bgMagenta:t(45,49),bgCyan:t(46,49),bgWhite:t(47,49),blackBright:t(90,39),redBright:t(91,39),greenBright:t(92,39),yellowBright:t(93,39),blueBright:t(94,39),magentaBright:t(95,39),cyanBright:t(96,39),whiteBright:t(97,39),bgBlackBright:t(100,49),bgRedBright:t(101,49),bgGreenBright:t(102,49),bgYellowBright:t(103,49),bgBlueBright:t(104,49),bgMagentaBright:t(105,49),bgCyanBright:t(106,49),bgWhiteBright:t(107,49)},TH=({useColor:$=KH}={})=>$?SH:Object.keys(SH).reduce((H,J)=>({...H,[J]:String}),{}),{reset:sV,bold:oV,dim:rV,italic:aV,underline:tV,inverse:eV,hidden:$_,strikethrough:H_,black:J_,red:Q_,green:X_,yellow:Y_,blue:W_,magenta:G_,cyan:q_,white:U_,gray:B_,bgBlack:w_,bgRed:D_,bgGreen:V_,bgYellow:__,bgBlue:F_,bgMagenta:z_,bgCyan:N_,bgWhite:A_,blackBright:R_,redBright:E_,greenBright:j_,yellowBright:O_,blueBright:Z_,magentaBright:L_,cyanBright:M_,whiteBright:S_,bgBlackBright:C_,bgRedBright:P_,bgGreenBright:K_,bgYellowBright:I_,bgBlueBright:T_,bgMagentaBright:x_,bgCyanBright:b_,bgWhiteBright:f_}=TH();xH.bgBlack=w_;xH.bgBlackBright=C_;xH.bgBlue=F_;xH.bgBlueBright=T_;xH.bgCyan=N_;xH.bgCyanBright=b_;xH.bgGreen=V_;xH.bgGreenBright=K_;xH.bgMagenta=z_;xH.bgMagentaBright=x_;xH.bgRed=D_;xH.bgRedBright=P_;xH.bgWhite=A_;xH.bgWhiteBright=f_;xH.bgYellow=__;xH.bgYellowBright=I_;xH.black=J_;xH.blackBright=R_;xH.blue=W_;xH.blueBright=Z_;xH.bold=oV;xH.createColors=TH;xH.cyan=q_;xH.cyanBright=M_;xH.dim=rV;xH.gray=B_;xH.green=X_;xH.greenBright=j_;xH.hidden=$_;xH.inverse=eV;xH.isColorSupported=KH;xH.italic=aV;xH.magenta=G_;xH.magentaBright=L_;xH.red=Q_;xH.redBright=E_;xH.reset=sV;xH.strikethrough=H_;xH.underline=tV;xH.white=U_;xH.whiteBright=S_;xH.yellow=Y_;xH.yellowBright=O_});var kH=N((QP,fH)=>{fH.exports=bH;function bH($,H){if($&&H)return bH($)(H);if(typeof $!=="function")throw TypeError("need wrapper function");return Object.keys($).forEach(function(Q){J[Q]=$[Q]}),J;function J(){var Q=Array(arguments.length);for(var X=0;X<Q.length;X++)Q[X]=arguments[X];var Y=$.apply(this,Q),W=Q[Q.length-1];if(typeof Y==="function"&&Y!==W)Object.keys(W).forEach(function(G){Y[G]=W[G]});return Y}}});var i8=N((XP,n8)=>{var hH=kH();n8.exports=hH(N9);n8.exports.strict=hH(vH);N9.proto=N9(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return N9(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return vH(this)},configurable:!0})});function N9($){var H=function(){if(H.called)return H.value;return H.called=!0,H.value=$.apply(this,arguments)};return H.called=!1,H}function vH($){var H=function(){if(H.called)throw Error(H.onceError);return H.called=!0,H.value=$.apply(this,arguments)},J=$.name||"Function wrapped with `once`";return H.onceError=J+" shouldn't be called more than once",H.called=!1,H}});var uH=N((YP,yH)=>{var LF=i8(),MF=function(){},SF=global.Bare?queueMicrotask:process.nextTick.bind(process),CF=function($){return $.setHeader&&typeof $.abort==="function"},PF=function($){return $.stdio&&Array.isArray($.stdio)&&$.stdio.length===3},gH=function($,H,J){if(typeof H==="function")return gH($,null,H);if(!H)H={};J=LF(J||MF);var{_writableState:Q,_readableState:X}=$,Y=H.readable||H.readable!==!1&&$.readable,W=H.writable||H.writable!==!1&&$.writable,G=!1,q=function(){if(!$.writable)U()},U=function(){if(W=!1,!Y)J.call($)},B=function(){if(Y=!1,!W)J.call($)},w=function(E){J.call($,E?Error("exited with error code: "+E):null)},_=function(E){J.call($,E)},V=function(){SF(D)},D=function(){if(G)return;if(Y&&!(X&&(X.ended&&!X.destroyed)))return J.call($,Error("premature close"));if(W&&!(Q&&(Q.ended&&!Q.destroyed)))return J.call($,Error("premature close"))},A=function(){$.req.on("finish",U)};if(CF($))if($.on("complete",U),$.on("abort",V),$.req)A();else $.on("request",A);else if(W&&!Q)$.on("end",q),$.on("close",q);if(PF($))$.on("exit",w);if($.on("end",B),$.on("finish",U),H.error!==!1)$.on("error",_);return $.on("close",V),function(){if(G=!0,$.removeListener("complete",U),$.removeListener("abort",V),$.removeListener("request",A),$.req)$.req.removeListener("finish",U);$.removeListener("end",q),$.removeListener("close",q),$.removeListener("finish",U),$.removeListener("exit",w),$.removeListener("end",B),$.removeListener("error",_),$.removeListener("close",V)}};yH.exports=gH});var cH=N((WP,dH)=>{var KF=i8(),IF=uH(),A9;try{A9=a("fs")}catch($){}var X4=function(){},TF=typeof process>"u"?!1:/^v?\.0/.test(process.version),R9=function($){return typeof $==="function"},xF=function($){if(!TF)return!1;if(!A9)return!1;return($ instanceof(A9.ReadStream||X4)||$ instanceof(A9.WriteStream||X4))&&R9($.close)},bF=function($){return $.setHeader&&R9($.abort)},fF=function($,H,J,Q){Q=KF(Q);var X=!1;$.on("close",function(){X=!0}),IF($,{readable:H,writable:J},function(W){if(W)return Q(W);X=!0,Q()});var Y=!1;return function(W){if(X)return;if(Y)return;if(Y=!0,xF($))return $.close(X4);if(bF($))return $.abort();if(R9($.destroy))return $.destroy();Q(W||Error("stream was destroyed"))}},mH=function($){$()},kF=function($,H){return $.pipe(H)},hF=function(){var $=Array.prototype.slice.call(arguments),H=R9($[$.length-1]||X4)&&$.pop()||X4;if(Array.isArray($[0]))$=$[0];if($.length<2)throw Error("pump requires two streams per minimum");var J,Q=$.map(function(X,Y){var W=Y<$.length-1,G=Y>0;return fF(X,W,G,function(q){if(!J)J=q;if(q)Q.forEach(mH);if(W)return;Q.forEach(mH),H(J)})});return $.reduce(kF)};dH.exports=hF});var iH=N((GP,nH)=>{var{Transform:vF}=a("stream"),{StringDecoder:gF}=a("string_decoder"),O0=Symbol("last"),E9=Symbol("decoder");function yF($,H,J){let Q;if(this.overflow){if(Q=this[E9].write($).split(this.matcher),Q.length===1)return J();Q.shift(),this.overflow=!1}else this[O0]+=this[E9].write($),Q=this[O0].split(this.matcher);this[O0]=Q.pop();for(let X=0;X<Q.length;X++)try{pH(this,this.mapper(Q[X]))}catch(Y){return J(Y)}if(this.overflow=this[O0].length>this.maxLength,this.overflow&&!this.skipOverflow){J(Error("maximum buffer reached"));return}J()}function uF($){if(this[O0]+=this[E9].end(),this[O0])try{pH(this,this.mapper(this[O0]))}catch(H){return $(H)}$()}function pH($,H){if(H!==void 0)$.push(H)}function lH($){return $}function mF($,H,J){switch($=$||/\r?\n/,H=H||lH,J=J||{},arguments.length){case 1:if(typeof $==="function")H=$,$=/\r?\n/;else if(typeof $==="object"&&!($ instanceof RegExp)&&!$[Symbol.split])J=$,$=/\r?\n/;break;case 2:if(typeof $==="function")J=H,H=$,$=/\r?\n/;else if(typeof H==="object")J=H,H=lH}J=Object.assign({},J),J.autoDestroy=!0,J.transform=yF,J.flush=uF,J.readableObjectMode=!0;let Q=new vF(J);return Q[O0]="",Q[E9]=new gF("utf8"),Q.matcher=$,Q.mapper=H,Q.maxLength=J.maxLength,Q.skipOverflow=J.skipOverflow||!1,Q.overflow=!1,Q._destroy=function(X,Y){this._writableState.errorEmitted=!1,Y(X)},Q}nH.exports=mF});var tH=N((qP,aH)=>{var sH=Symbol.for("pino.metadata"),dF=iH(),{Duplex:cF}=a("stream"),{parentPort:oH,workerData:rH}=a("worker_threads");function lF(){let $,H,J=new Promise((Q,X)=>{$=Q,H=X});return J.resolve=$,J.reject=H,J}aH.exports=function(H,J={}){let Q=J.expectPinoConfig===!0&&rH?.workerData?.pinoWillSendConfig===!0,X=J.parse==="lines",Y=typeof J.parseLine==="function"?J.parseLine:JSON.parse,W=J.close||pF,G=dF(function(U){let B;try{B=Y(U)}catch(w){this.emit("unknown",U,w);return}if(B===null){this.emit("unknown",U,"Null value ignored");return}if(typeof B!=="object")B={data:B,time:Date.now()};if(G[sH])G.lastTime=B.time,G.lastLevel=B.level,G.lastObj=B;if(X)return U;return B},{autoDestroy:!0});if(G._destroy=function(U,B){let w=W(U,B);if(w&&typeof w.then==="function")w.then(B,B)},J.expectPinoConfig===!0&&rH?.workerData?.pinoWillSendConfig!==!0)setImmediate(()=>{G.emit("error",Error("This transport is not compatible with the current version of pino. Please upgrade pino to the latest version."))});if(J.metadata!==!1)G[sH]=!0,G.lastTime=0,G.lastLevel=0,G.lastObj=null;if(Q){let U={},B=lF();return oH.on("message",function w(_){if(_.code==="PINO_CONFIG")U=_.config,B.resolve(),oH.off("message",w)}),Object.defineProperties(G,{levels:{get(){return U.levels}},messageKey:{get(){return U.messageKey}},errorKey:{get(){return U.errorKey}}}),B.then(q)}return q();function q(){let U=H(G);if(U&&typeof U.catch==="function")U.catch((B)=>{G.destroy(B)}),U=null;else if(J.enablePipelining&&U)return cF.from({writable:G,readable:U});return G}};function pF($,H){process.nextTick(H,$)}});var V0=N((UP,eH)=>{eH.exports={DATE_FORMAT:"yyyy-mm-dd HH:MM:ss.l o",DATE_FORMAT_SIMPLE:"HH:MM:ss.l",ERROR_LIKE_KEYS:["err","error"],MESSAGE_KEY:"msg",LEVEL_KEY:"level",LEVEL_LABEL:"levelLabel",TIMESTAMP_KEY:"time",LEVELS:{default:"USERLVL",60:"FATAL",50:"ERROR",40:"WARN",30:"INFO",20:"DEBUG",10:"TRACE"},LEVEL_NAMES:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},LOGGER_KEYS:["pid","hostname","name","level","time","timestamp","caller"]}});var j9=N((BP,JJ)=>{JJ.exports=nF;var{LEVELS:$J,LEVEL_NAMES:HJ}=V0();function nF($,H,J){let Q=$?H||$J:Object.assign({},$J,H),X=$?J||HJ:Object.assign({},HJ,J);return function(Y){let W="default";if(Number.isInteger(+Y))W=Object.prototype.hasOwnProperty.call(Q,Y)?Y:W;else W=Object.prototype.hasOwnProperty.call(X,Y.toLowerCase())?X[Y.toLowerCase()]:W;return[Q[W],W]}}});var a8=N((wP,WJ)=>{var Y0=($)=>$,O9={default:Y0,60:Y0,50:Y0,40:Y0,30:Y0,20:Y0,10:Y0,message:Y0,greyMessage:Y0,property:Y0},{createColors:QJ}=p8(),iF=j9(),W4=QJ({useColor:!0}),{white:s8,bgRed:sF,red:oF,yellow:rF,green:aF,blue:tF,gray:o8,cyan:XJ,magenta:YJ}=W4,Y4={default:s8,60:sF,50:oF,40:rF,30:aF,20:tF,10:o8,message:XJ,greyMessage:o8,property:YJ};function eF($){return $.reduce(function(H,[J,Q]){return H[J]=typeof W4[Q]==="function"?W4[Q]:s8,H},{default:s8,message:XJ,greyMessage:o8,property:YJ})}function r8($){return function(H,J,{customLevels:Q,customLevelNames:X}={}){let[Y,W]=iF($,Q,X)(H);return Object.prototype.hasOwnProperty.call(J,W)?J[W](Y):J.default(Y)}}function $z($){let H=r8($),J=function(Q,X){return H(Q,O9,X)};return J.message=O9.message,J.greyMessage=O9.greyMessage,J.property=O9.property,J.colors=QJ({useColor:!1}),J}function Hz($){let H=r8($),J=function(Q,X){return H(Q,Y4,X)};return J.message=Y4.message,J.property=Y4.property,J.greyMessage=Y4.greyMessage,J.colors=W4,J}function Jz($,H){let J=eF($),Q=H?J:Object.assign({},Y4,J),X=r8(H),Y=function(W,G){return X(W,Q,G)};return Y.colors=W4,Y.message=Y.message||Q.message,Y.property=Y.property||Q.property,Y.greyMessage=Y.greyMessage||Q.greyMessage,Y}WJ.exports=function(H=!1,J,Q){if(H&&J!==void 0)return Jz(J,Q);else if(H)return Hz(Q);return $z(Q)}});var t8=N((DP,GJ)=>{GJ.exports=function(){}});var UJ=N((VP,qJ)=>{qJ.exports=Yz;var{isMainThread:Qz}=a("worker_threads"),Xz=N8(),Z9=t8();function Yz($){let H=new Xz($);if(H.on("error",J),!$.sync&&Qz)Wz(H);return H;function J(Q){if(Q.code==="EPIPE"){H.write=Z9,H.end=Z9,H.flushSync=Z9,H.destroy=Z9;return}H.removeListener("error",J)}}function Wz($){if(global.WeakRef&&global.WeakMap&&global.FinalizationRegistry){let H=G9();H.register($,Gz),$.on("close",function(){H.unregister($)})}}function Gz($,H){if($.destroyed)return;if(H==="beforeExit")$.flush(),$.on("drain",function(){$.end()});else $.flushSync()}});var L9=N((_P,BJ)=>{BJ.exports=qz;function qz($){return $ instanceof Date&&!Number.isNaN($.getTime())}});var e8=N((FP,wJ)=>{wJ.exports=Bz;var Uz=L9();function Bz($){let H=new Date($);if(Uz(H))return H;return H=new Date(+$),H}});var M9=N((zP,DJ)=>{DJ.exports=wz;function wz($){let H=[],J=!1,Q="";for(let X=0;X<$.length;X++){let Y=$.charAt(X);if(Y==="\\"){J=!0;continue}if(J){J=!1,Q+=Y;continue}if(Y==="."){H.push(Q),Q="";continue}Q+=Y}if(Q.length)H.push(Q);return H}});var B$=N((NP,VJ)=>{VJ.exports=Vz;var Dz=M9();function Vz($,H){let J=Array.isArray(H)?H:Dz(H);for(let Q of J){if(!Object.prototype.hasOwnProperty.call($,Q))return;$=$[Q]}return $}});var $6=N((AP,_J)=>{_J.exports=zz;var _z=B$(),Fz=M9();function zz($,H){let J=Fz(H),Q=J.pop();if($=_z($,J),$!==null&&typeof $==="object"&&Object.prototype.hasOwnProperty.call($,Q))delete $[Q]}});var SJ=N((MJ)=>{Object.defineProperty(MJ,"__esModule",{value:!0});var Nz=Function.prototype.toString,H6=Object.create,Az=Object.prototype.toString,Rz=function(){function $(){this._keys=[],this._values=[]}return $.prototype.has=function(H){return!!~this._keys.indexOf(H)},$.prototype.get=function(H){return this._values[this._keys.indexOf(H)]},$.prototype.set=function(H,J){this._keys.push(H),this._values.push(J)},$}();function Ez(){return new Rz}function jz(){return new WeakMap}var Oz=typeof WeakMap<"u"?jz:Ez;function Q6($){if(!$)return H6(null);var H=$.constructor;if(H===Object)return $===Object.prototype?{}:H6($);if(H&&~Nz.call(H).indexOf("[native code]"))try{return new H}catch(J){}return H6($)}function Zz($){var H="";if($.global)H+="g";if($.ignoreCase)H+="i";if($.multiline)H+="m";if($.unicode)H+="u";if($.sticky)H+="y";return H}function Lz($){return $.flags}var Mz=/test/g.flags==="g"?Lz:Zz;function FJ($){var H=Az.call($);return H.substring(8,H.length-1)}function Sz($){return $[Symbol.toStringTag]||FJ($)}var Cz=typeof Symbol<"u"?Sz:FJ,Pz=Object.defineProperty,Kz=Object.getOwnPropertyDescriptor,zJ=Object.getOwnPropertyNames,X6=Object.getOwnPropertySymbols,NJ=Object.prototype,AJ=NJ.hasOwnProperty,Iz=NJ.propertyIsEnumerable,RJ=typeof X6==="function";function Tz($){return zJ($).concat(X6($))}var xz=RJ?Tz:zJ;function C9($,H,J){var Q=xz($);for(var X=0,Y=Q.length,W=void 0,G=void 0;X<Y;++X){if(W=Q[X],W==="callee"||W==="caller")continue;if(G=Kz($,W),!G){H[W]=J.copier($[W],J);continue}if(!G.get&&!G.set)G.value=J.copier(G.value,J);try{Pz(H,W,G)}catch(q){H[W]=G.value}}return H}function bz($,H){var J=new H.Constructor;H.cache.set($,J);for(var Q=0,X=$.length;Q<X;++Q)J[Q]=H.copier($[Q],H);return J}function fz($,H){var J=new H.Constructor;return H.cache.set($,J),C9($,J,H)}function EJ($,H){return $.slice(0)}function kz($,H){return $.slice(0,$.size,$.type)}function hz($,H){return new H.Constructor(EJ($.buffer))}function vz($,H){return new H.Constructor($.getTime())}function jJ($,H){var J=new H.Constructor;return H.cache.set($,J),$.forEach(function(Q,X){J.set(X,H.copier(Q,H))}),J}function gz($,H){return C9($,jJ($,H),H)}function yz($,H){var J=Q6(H.prototype);H.cache.set($,J);for(var Q in $)if(AJ.call($,Q))J[Q]=H.copier($[Q],H);return J}function uz($,H){var J=Q6(H.prototype);H.cache.set($,J);for(var Q in $)if(AJ.call($,Q))J[Q]=H.copier($[Q],H);var X=X6($);for(var Y=0,W=X.length,G=void 0;Y<W;++Y)if(G=X[Y],Iz.call($,G))J[G]=H.copier($[G],H);return J}var mz=RJ?uz:yz;function dz($,H){var J=Q6(H.prototype);return H.cache.set($,J),C9($,J,H)}function J6($,H){return new H.Constructor($.valueOf())}function cz($,H){var J=new H.Constructor($.source,Mz($));return J.lastIndex=$.lastIndex,J}function S9($,H){return $}function OJ($,H){var J=new H.Constructor;return H.cache.set($,J),$.forEach(function(Q){J.add(H.copier(Q,H))}),J}function lz($,H){return C9($,OJ($,H),H)}var pz=Array.isArray,Y6=Object.assign,nz=Object.getPrototypeOf||function($){return $.__proto__},ZJ={array:bz,arrayBuffer:EJ,blob:kz,dataView:hz,date:vz,error:S9,map:jJ,object:mz,regExp:cz,set:OJ},iz=Y6({},ZJ,{array:fz,map:gz,object:dz,set:lz});function sz($){return{Arguments:$.object,Array:$.array,ArrayBuffer:$.arrayBuffer,Blob:$.blob,Boolean:J6,DataView:$.dataView,Date:$.date,Error:$.error,Float32Array:$.arrayBuffer,Float64Array:$.arrayBuffer,Int8Array:$.arrayBuffer,Int16Array:$.arrayBuffer,Int32Array:$.arrayBuffer,Map:$.map,Number:J6,Object:$.object,Promise:S9,RegExp:$.regExp,Set:$.set,String:J6,WeakMap:S9,WeakSet:S9,Uint8Array:$.arrayBuffer,Uint8ClampedArray:$.arrayBuffer,Uint16Array:$.arrayBuffer,Uint32Array:$.arrayBuffer,Uint64Array:$.arrayBuffer}}function W6($){var H=Y6({},ZJ,$),J=sz(H),Q=J.Array,X=J.Object;function Y(W,G){if(G.prototype=G.Constructor=void 0,!W||typeof W!=="object")return W;if(G.cache.has(W))return G.cache.get(W);if(G.prototype=nz(W),G.Constructor=G.prototype&&G.prototype.constructor,!G.Constructor||G.Constructor===Object)return X(W,G);if(pz(W))return Q(W,G);var q=J[Cz(W)];if(q)return q(W,G);return typeof W.then==="function"?W:X(W,G)}return function(G){return Y(G,{Constructor:void 0,cache:Oz(),copier:Y,prototype:void 0})}}function LJ($){return W6(Y6({},iz,$))}var oz=LJ({}),rz=W6({});MJ.copyStrict=oz;MJ.createCopier=W6;MJ.createStrictCopier=LJ;MJ.default=rz});var G6=N((EP,CJ)=>{CJ.exports=XN;var{createCopier:HN}=SJ(),JN=HN({}),QN=$6();function XN({log:$,context:H}){let{ignoreKeys:J,includeKeys:Q}=H,X=JN($);if(Q){let Y={};return Q.forEach((W)=>{Y[W]=X[W]}),Y}return J.forEach((Y)=>{QN(X,Y)}),X}});var KJ=N((q6,PJ)=>{function w$($){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol")w$=function(J){return typeof J};else w$=function(J){return J&&typeof Symbol==="function"&&J.constructor===Symbol&&J!==Symbol.prototype?"symbol":typeof J};return w$($)}(function($){var H=arguments,J=function(){var q=/d{1,4}|D{3,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|W{1,2}|[LlopSZN]|"[^"]*"|'[^']*'/g,U=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,B=/[^-+\dA-Z]/g;return function(w,_,V,D){if(H.length===1&&G(w)==="string"&&!/\d/.test(w))_=w,w=void 0;if(w=w||w===0?w:new Date,!(w instanceof Date))w=new Date(w);if(isNaN(w))throw TypeError("Invalid date");_=String(J.masks[_]||_||J.masks.default);var A=_.slice(0,4);if(A==="UTC:"||A==="GMT:"){if(_=_.slice(4),V=!0,A==="GMT:")D=!0}var E=function(){return V?"getUTC":"get"},Z=function(){return w[E()+"Date"]()},M=function(){return w[E()+"Day"]()},L=function(){return w[E()+"Month"]()},x=function(){return w[E()+"FullYear"]()},v=function(){return w[E()+"Hours"]()},l=function(){return w[E()+"Minutes"]()},i=function(){return w[E()+"Seconds"]()},J1=function(){return w[E()+"Milliseconds"]()},m=function(){return V?0:w.getTimezoneOffset()},W1=function(){return Y(w)},G1=function(){return W(w)},X1={d:function(){return Z()},dd:function(){return Q(Z())},ddd:function(){return J.i18n.dayNames[M()]},DDD:function(){return X({y:x(),m:L(),d:Z(),_:E(),dayName:J.i18n.dayNames[M()],short:!0})},dddd:function(){return J.i18n.dayNames[M()+7]},DDDD:function(){return X({y:x(),m:L(),d:Z(),_:E(),dayName:J.i18n.dayNames[M()+7]})},m:function(){return L()+1},mm:function(){return Q(L()+1)},mmm:function(){return J.i18n.monthNames[L()]},mmmm:function(){return J.i18n.monthNames[L()+12]},yy:function(){return String(x()).slice(2)},yyyy:function(){return Q(x(),4)},h:function(){return v()%12||12},hh:function(){return Q(v()%12||12)},H:function(){return v()},HH:function(){return Q(v())},M:function(){return l()},MM:function(){return Q(l())},s:function(){return i()},ss:function(){return Q(i())},l:function(){return Q(J1(),3)},L:function(){return Q(Math.floor(J1()/10))},t:function(){return v()<12?J.i18n.timeNames[0]:J.i18n.timeNames[1]},tt:function(){return v()<12?J.i18n.timeNames[2]:J.i18n.timeNames[3]},T:function(){return v()<12?J.i18n.timeNames[4]:J.i18n.timeNames[5]},TT:function(){return v()<12?J.i18n.timeNames[6]:J.i18n.timeNames[7]},Z:function(){return D?"GMT":V?"UTC":(String(w).match(U)||[""]).pop().replace(B,"").replace(/GMT\+0000/g,"UTC")},o:function(){return(m()>0?"-":"+")+Q(Math.floor(Math.abs(m())/60)*100+Math.abs(m())%60,4)},p:function(){return(m()>0?"-":"+")+Q(Math.floor(Math.abs(m())/60),2)+":"+Q(Math.floor(Math.abs(m())%60),2)},S:function(){return["th","st","nd","rd"][Z()%10>3?0:(Z()%100-Z()%10!=10)*Z()%10]},W:function(){return W1()},WW:function(){return Q(W1())},N:function(){return G1()}};return _.replace(q,function(I){if(I in X1)return X1[I]();return I.slice(1,I.length-1)})}}();J.masks={default:"ddd mmm dd yyyy HH:MM:ss",shortDate:"m/d/yy",paddedShortDate:"mm/dd/yyyy",mediumDate:"mmm d, yyyy",longDate:"mmmm d, yyyy",fullDate:"dddd, mmmm d, yyyy",shortTime:"h:MM TT",mediumTime:"h:MM:ss TT",longTime:"h:MM:ss TT Z",isoDate:"yyyy-mm-dd",isoTime:"HH:MM:ss",isoDateTime:"yyyy-mm-dd'T'HH:MM:sso",isoUtcDateTime:"UTC:yyyy-mm-dd'T'HH:MM:ss'Z'",expiresHeaderFormat:"ddd, dd mmm yyyy HH:MM:ss Z"},J.i18n={dayNames:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],monthNames:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","January","February","March","April","May","June","July","August","September","October","November","December"],timeNames:["a","p","am","pm","A","P","AM","PM"]};var Q=function(U,B){U=String(U),B=B||2;while(U.length<B)U="0"+U;return U},X=function(U){var{y:B,m:w,d:_,_:V,dayName:D,short:A}=U,E=A===void 0?!1:A,Z=new Date,M=new Date;M.setDate(M[V+"Date"]()-1);var L=new Date;L.setDate(L[V+"Date"]()+1);var x=function(){return Z[V+"Date"]()},v=function(){return Z[V+"Month"]()},l=function(){return Z[V+"FullYear"]()},i=function(){return M[V+"Date"]()},J1=function(){return M[V+"Month"]()},m=function(){return M[V+"FullYear"]()},W1=function(){return L[V+"Date"]()},G1=function(){return L[V+"Month"]()},X1=function(){return L[V+"FullYear"]()};if(l()===B&&v()===w&&x()===_)return E?"Tdy":"Today";else if(m()===B&&J1()===w&&i()===_)return E?"Ysd":"Yesterday";else if(X1()===B&&G1()===w&&W1()===_)return E?"Tmw":"Tomorrow";return D},Y=function(U){var B=new Date(U.getFullYear(),U.getMonth(),U.getDate());B.setDate(B.getDate()-(B.getDay()+6)%7+3);var w=new Date(B.getFullYear(),0,4);w.setDate(w.getDate()-(w.getDay()+6)%7+3);var _=B.getTimezoneOffset()-w.getTimezoneOffset();B.setHours(B.getHours()-_);var V=(B-w)/604800000;return 1+Math.floor(V)},W=function(U){var B=U.getDay();if(B===0)B=7;return B},G=function(U){if(U===null)return"null";if(U===void 0)return"undefined";if(w$(U)!=="object")return w$(U);if(Array.isArray(U))return"array";return{}.toString.call(U).slice(8,-1).toLowerCase()};if(typeof define==="function"&&define.amd)define(function(){return J});else if((typeof q6>"u"?"undefined":w$(q6))==="object")PJ.exports=J;else $.dateFormat=J})(void 0)});var U6=N((jP,IJ)=>{IJ.exports=UN;var{DATE_FORMAT:YN,DATE_FORMAT_SIMPLE:WN}=V0(),G4=KJ(),GN=e8(),qN=L9();function UN($,H=!1){if(H===!1)return $;let J=GN($);if(!qN(J))return $;if(H===!0)return G4(J,WN);let Q=H.toUpperCase();if(Q==="SYS:STANDARD")return G4(J,YN);let X=Q.substr(0,4);if(X==="SYS:"||X==="UTC:"){if(X==="UTC:")return G4(J,H);return G4(J,H.slice(4))}return G4(J,`UTC:${H}`)}});var B6=N((OP,TJ)=>{TJ.exports=BN;function BN($){if(!$)return{};if(typeof $==="string")return $.split(",").reduce((H,J,Q)=>{let[X,Y=Q]=J.split(":");return H[X.toLowerCase()]=Y,H},{});else if(Object.prototype.toString.call($)==="[object Object]")return Object.keys($).reduce((H,J)=>{return H[J.toLowerCase()]=$[J],H},{});else return{}}});var w6=N((ZP,xJ)=>{xJ.exports=wN;function wN($){if(!$)return{};if(typeof $==="string")return $.split(",").reduce((H,J,Q)=>{let[X,Y=Q]=J.split(":");return H[Y]=X.toUpperCase(),H},{default:"USERLVL"});else if(Object.prototype.toString.call($)==="[object Object]")return Object.keys($).reduce((H,J)=>{return H[$[J]]=J.toUpperCase(),H},{default:"USERLVL"});else return{}}});var D6=N((LP,bJ)=>{bJ.exports=VN;var DN=B$();function VN($,H){return $=$.replace(/{if (.*?)}(.*?){end}/g,J),$=$.replace(/{if (.*?)}/g,""),$=$.replace(/{end}/g,""),$.replace(/\s+/g," ").trim();function J(Q,X,Y){let W=DN(H,X);if(W&&Y.includes(X))return Y.replace(new RegExp("{"+X+"}","g"),W);else return""}}});var P9=N((MP,fJ)=>{fJ.exports=_N;function _N($){return Object.prototype.toString.apply($)==="[object Object]"}});var q4=N((SP,kJ)=>{kJ.exports=FN;function FN({input:$,ident:H=" ",eol:J=`
|
|
25
|
+
`}){let Q=$.split(/\r?\n/);for(let X=1;X<Q.length;X+=1)Q[X]=H+Q[X];return Q.join(J)}});var yJ=N((CP,gJ)=>{gJ.exports=RN;var{LEVEL_NAMES:hJ}=V0(),vJ=a8(),zN=w6(),NN=B6(),AN=j9();function RN($){let H=$.crlf?`\r
|
|
26
|
+
`:`
|
|
27
|
+
`,J=" ",{customPrettifiers:Q,errorLikeObjectKeys:X,hideObject:Y,levelFirst:W,levelKey:G,levelLabel:q,messageFormat:U,messageKey:B,minimumLevel:w,singleLine:_,timestampKey:V,translateTime:D}=$,A=$.errorProps.split(","),E=typeof $.useOnlyCustomProps==="boolean"?$.useOnlyCustomProps:$.useOnlyCustomProps==="true",Z=zN($.customLevels),M=NN($.customLevels),L=AN(E,Z,M),x;if($.customColors)if(typeof $.customColors==="string")x=$.customColors.split(",").reduce((W1,G1)=>{let[X1,I]=G1.split(":"),E1=(E?$.customLevels:M[X1]!==void 0)?M[X1]:hJ[X1],$0=E1!==void 0?E1:X1;return W1.push([$0,I]),W1},[]);else if(typeof $.customColors==="object")x=Object.keys($.customColors).reduce((W1,G1)=>{let[X1,I]=[G1,$.customColors[G1]],E1=(E?$.customLevels:M[X1]!==void 0)?M[X1]:hJ[X1],$0=E1!==void 0?E1:X1;return W1.push([$0,I]),W1},[]);else throw Error("options.customColors must be of type string or object.");let v={customLevels:Z,customLevelNames:M};if(E===!0&&!$.customLevels)v.customLevels=void 0,v.customLevelNames=void 0;let l=$.include!==void 0?new Set($.include.split(",")):void 0,i=!l&&$.ignore?new Set($.ignore.split(",")):void 0,J1=vJ($.colorize,x,E),m=$.colorizeObjects?J1:vJ(!1,[],!1);return{EOL:H,IDENT:" ",colorizer:J1,customColors:x,customLevelNames:M,customLevels:Z,customPrettifiers:Q,customProperties:v,errorLikeObjectKeys:X,errorProps:A,getLevelLabelData:L,hideObject:Y,ignoreKeys:i,includeKeys:l,levelFirst:W,levelKey:G,levelLabel:q,messageFormat:U,messageKey:B,minimumLevel:w,objectColorizer:m,singleLine:_,timestampKey:V,translateTime:D,useOnlyCustomProps:E}}});var pJ=N((PP,lJ)=>{lJ.exports=U4;U4.default=U4;U4.stable=dJ;U4.stableStringify=dJ;var K9="[...]",uJ="[Circular]",u0=[],y0=[];function mJ(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function U4($,H,J,Q){if(typeof Q>"u")Q=mJ();V6($,"",0,[],void 0,0,Q);var X;try{if(y0.length===0)X=JSON.stringify($,H,J);else X=JSON.stringify($,cJ(H),J)}catch(W){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{while(u0.length!==0){var Y=u0.pop();if(Y.length===4)Object.defineProperty(Y[0],Y[1],Y[3]);else Y[0][Y[1]]=Y[2]}}return X}function D$($,H,J,Q){var X=Object.getOwnPropertyDescriptor(Q,J);if(X.get!==void 0)if(X.configurable)Object.defineProperty(Q,J,{value:$}),u0.push([Q,J,H,X]);else y0.push([H,J,$]);else Q[J]=$,u0.push([Q,J,H])}function V6($,H,J,Q,X,Y,W){Y+=1;var G;if(typeof $==="object"&&$!==null){for(G=0;G<Q.length;G++)if(Q[G]===$){D$(uJ,$,H,X);return}if(typeof W.depthLimit<"u"&&Y>W.depthLimit){D$(K9,$,H,X);return}if(typeof W.edgesLimit<"u"&&J+1>W.edgesLimit){D$(K9,$,H,X);return}if(Q.push($),Array.isArray($))for(G=0;G<$.length;G++)V6($[G],G,G,Q,$,Y,W);else{var q=Object.keys($);for(G=0;G<q.length;G++){var U=q[G];V6($[U],U,G,Q,$,Y,W)}}Q.pop()}}function EN($,H){if($<H)return-1;if($>H)return 1;return 0}function dJ($,H,J,Q){if(typeof Q>"u")Q=mJ();var X=_6($,"",0,[],void 0,0,Q)||$,Y;try{if(y0.length===0)Y=JSON.stringify(X,H,J);else Y=JSON.stringify(X,cJ(H),J)}catch(G){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{while(u0.length!==0){var W=u0.pop();if(W.length===4)Object.defineProperty(W[0],W[1],W[3]);else W[0][W[1]]=W[2]}}return Y}function _6($,H,J,Q,X,Y,W){Y+=1;var G;if(typeof $==="object"&&$!==null){for(G=0;G<Q.length;G++)if(Q[G]===$){D$(uJ,$,H,X);return}try{if(typeof $.toJSON==="function")return}catch(w){return}if(typeof W.depthLimit<"u"&&Y>W.depthLimit){D$(K9,$,H,X);return}if(typeof W.edgesLimit<"u"&&J+1>W.edgesLimit){D$(K9,$,H,X);return}if(Q.push($),Array.isArray($))for(G=0;G<$.length;G++)_6($[G],G,G,Q,$,Y,W);else{var q={},U=Object.keys($).sort(EN);for(G=0;G<U.length;G++){var B=U[G];_6($[B],B,G,Q,$,Y,W),q[B]=$[B]}if(typeof X<"u")u0.push([X,H,$]),X[H]=q;else return q}Q.pop()}}function cJ($){return $=typeof $<"u"?$:function(H,J){return J},function(H,J){if(y0.length>0)for(var Q=0;Q<y0.length;Q++){var X=y0[Q];if(X[1]===H&&X[0]===J){J=X[2],y0.splice(Q,1);break}}return $.call(this,H,J)}}});var F6=N((KP,nJ)=>{nJ.exports=ON;var jN=q4();function ON({keyName:$,lines:H,eol:J,ident:Q}){let X="",Y=jN({input:H,ident:Q,eol:J}),W=`${Q}${$}: ${Y}${J}`.split(J);for(let G=0;G<W.length;G+=1){if(G!==0)X+=J;let q=W[G];if(/^\s*"stack"/.test(q)){let U=/^(\s*"stack":)\s*(".*"),?$/.exec(q);if(U&&U.length===3){let B=/^\s*/.exec(q)[0].length+4,w=" ".repeat(B),_=U[2];X+=U[1]+J+w+JSON.parse(_).replace(/\n/g,J+w)}else X+=q}else X+=q}return X}});var I9=N((IP,iJ)=>{iJ.exports=SN;var{LOGGER_KEYS:ZN}=V0(),z6=pJ(),LN=q4(),MN=F6();function SN({log:$,excludeLoggerKeys:H=!0,skipKeys:J=[],context:Q}){let{EOL:X,IDENT:Y,customPrettifiers:W,errorLikeObjectKeys:G,objectColorizer:q,singleLine:U,colorizer:B}=Q,w=[].concat(J);if(H===!0)Array.prototype.push.apply(w,ZN);let _="",{plain:V,errors:D}=Object.entries($).reduce(({plain:A,errors:E},[Z,M])=>{if(w.includes(Z)===!1){let L=typeof W[Z]==="function"?W[Z](M,Z,$,{colors:B.colors}):M;if(G.includes(Z))E[Z]=L;else A[Z]=L}return{plain:A,errors:E}},{plain:{},errors:{}});if(U){if(Object.keys(V).length>0)_+=q.greyMessage(z6(V));_+=X,_=_.replace(/\\\\/gi,"\\")}else Object.entries(V).forEach(([A,E])=>{let Z=typeof W[A]==="function"?E:z6(E,null,2);if(Z===void 0)return;Z=Z.replace(/\\\\/gi,"\\");let M=LN({input:Z,ident:Y,eol:X});_+=`${Y}${q.property(A)}:${M.startsWith(X)?"":" "}${M}${X}`});return Object.entries(D).forEach(([A,E])=>{let Z=typeof W[A]==="function"?E:z6(E,null,2);if(Z===void 0)return;_+=MN({keyName:A,lines:Z,eol:X,ident:Y})}),_}});var N6=N((TP,sJ)=>{sJ.exports=TN;var{LOGGER_KEYS:CN}=V0(),PN=P9(),KN=q4(),IN=I9();function TN({log:$,context:H}){let{EOL:J,IDENT:Q,errorProps:X,messageKey:Y}=H,W=$.stack,G=KN({input:W,ident:Q,eol:J}),q=`${Q}${G}${J}`;if(X.length>0){let U=CN.concat(Y,"type","stack"),B;if(X[0]==="*")B=Object.keys($).filter((w)=>U.includes(w)===!1);else B=X.filter((w)=>U.includes(w)===!1);for(let w=0;w<B.length;w+=1){let _=B[w];if(_ in $===!1)continue;if(PN($[_])){let V=IN({log:$[_],excludeLoggerKeys:!1,context:{...H,IDENT:Q+Q}});q=`${q}${Q}${_}: {${J}${V}${Q}}${J}`;continue}q=`${q}${Q}${_}: ${$[_]}${J}`}}return q}});var A6=N((xP,oJ)=>{oJ.exports=bN;var xN=B$();function bN({log:$,context:H}){let{colorizer:J,customLevels:Q,customLevelNames:X,levelKey:Y,getLevelLabelData:W}=H,G=H.customPrettifiers?.level,q=xN($,Y);if(q===void 0)return;let U=J(q,{customLevels:Q,customLevelNames:X});if(G){let[B]=W(q);return G(q,Y,$,{label:B,labelColorized:U,colors:J.colors})}return U}});var R6=N((bP,aJ)=>{aJ.exports=hN;var{LEVELS:fN}=V0(),rJ=B$(),kN=D6();function hN({log:$,context:H}){let{colorizer:J,customLevels:Q,levelKey:X,levelLabel:Y,messageFormat:W,messageKey:G,useOnlyCustomProps:q}=H;if(W&&typeof W==="string"){let U=kN(W,$),B=String(U).replace(/{([^{}]+)}/g,function(w,_){let V;if(_===Y&&(V=rJ($,X))!==void 0)return(q?Q===void 0:Q[V]===void 0)?fN[V]:Q[V];return rJ($,_)||""});return J.message(B)}if(W&&typeof W==="function"){let U=W($,G,Y,{colors:J.colors});return J.message(U)}if(G in $===!1)return;if(typeof $[G]!=="string"&&typeof $[G]!=="number"&&typeof $[G]!=="boolean")return;return J.message($[G])}});var E6=N((fP,tJ)=>{tJ.exports=vN;function vN({log:$,context:H}){let{customPrettifiers:J,colorizer:Q}=H,X="";if($.name||$.pid||$.hostname){if(X+="(",$.name)X+=J.name?J.name($.name,"name",$,{colors:Q.colors}):$.name;if($.pid){let Y=J.pid?J.pid($.pid,"pid",$,{colors:Q.colors}):$.pid;if($.name&&$.pid)X+="/"+Y;else X+=Y}if($.hostname){let Y=J.hostname?J.hostname($.hostname,"hostname",$,{colors:Q.colors}):$.hostname;X+=`${X==="("?"on":" on"} ${Y}`}X+=")"}if($.caller){let Y=J.caller?J.caller($.caller,"caller",$,{colors:Q.colors}):$.caller;X+=`${X===""?"":" "}<${Y}>`}if(X==="")return;else return X}});var j6=N((kP,eJ)=>{eJ.exports=yN;var gN=U6();function yN({log:$,context:H}){let{timestampKey:J,translateTime:Q}=H,X=H.customPrettifiers?.time,Y=null;if(J in $)Y=$[J];else if("timestamp"in $)Y=$.timestamp;if(Y===null)return;let W=Q?gN(Y,Q):Y;return X?X(W):`[${W}]`}});var HQ=N((hP,$Q)=>{$Q.exports={buildSafeSonicBoom:UJ(),createDate:e8(),deleteLogProperty:$6(),filterLog:G6(),formatTime:U6(),getPropertyValue:B$(),handleCustomLevelsNamesOpts:B6(),handleCustomLevelsOpts:w6(),interpretConditionals:D6(),isObject:P9(),isValidDate:L9(),joinLinesWithIndentation:q4(),noop:t8(),parseFactoryOptions:yJ(),prettifyErrorLog:N6(),prettifyError:F6(),prettifyLevel:A6(),prettifyMessage:R6(),prettifyMetadata:E6(),prettifyObject:I9(),prettifyTime:j6(),splitPropertyKey:M9(),getLevelLabelData:j9()}});var WQ=N((vP,V$)=>{var uN=typeof Buffer<"u",JQ=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,QQ=/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/;function XQ($,H,J){if(J==null){if(H!==null&&typeof H==="object")J=H,H=void 0}if(uN&&Buffer.isBuffer($))$=$.toString();if($&&$.charCodeAt(0)===65279)$=$.slice(1);let Q=JSON.parse($,H);if(Q===null||typeof Q!=="object")return Q;let X=J&&J.protoAction||"error",Y=J&&J.constructorAction||"error";if(X==="ignore"&&Y==="ignore")return Q;if(X!=="ignore"&&Y!=="ignore"){if(JQ.test($)===!1&&QQ.test($)===!1)return Q}else if(X!=="ignore"&&Y==="ignore"){if(JQ.test($)===!1)return Q}else if(QQ.test($)===!1)return Q;return YQ(Q,{protoAction:X,constructorAction:Y,safe:J&&J.safe})}function YQ($,{protoAction:H="error",constructorAction:J="error",safe:Q}={}){let X=[$];while(X.length){let Y=X;X=[];for(let W of Y){if(H!=="ignore"&&Object.prototype.hasOwnProperty.call(W,"__proto__")){if(Q===!0)return null;else if(H==="error")throw SyntaxError("Object contains forbidden prototype property");delete W.__proto__}if(J!=="ignore"&&Object.prototype.hasOwnProperty.call(W,"constructor")&&W.constructor!==null&&typeof W.constructor==="object"&&Object.prototype.hasOwnProperty.call(W.constructor,"prototype")){if(Q===!0)return null;else if(J==="error")throw SyntaxError("Object contains forbidden prototype property");delete W.constructor}for(let G in W){let q=W[G];if(q&&typeof q==="object")X.push(q)}}}return $}function O6($,H,J){let{stackTraceLimit:Q}=Error;Error.stackTraceLimit=0;try{return XQ($,H,J)}finally{Error.stackTraceLimit=Q}}function mN($,H){let{stackTraceLimit:J}=Error;Error.stackTraceLimit=0;try{return XQ($,H,{safe:!0})}catch{return}finally{Error.stackTraceLimit=J}}V$.exports=O6;V$.exports.default=O6;V$.exports.parse=O6;V$.exports.safeParse=mN;V$.exports.scan=YQ});var UQ=N((gP,qQ)=>{qQ.exports=eN;var dN=WQ(),GQ=P9(),cN=N6(),lN=A6(),pN=R6(),nN=E6(),iN=I9(),sN=j6(),oN=G6(),{LEVELS:rN,LEVEL_KEY:aN,LEVEL_NAMES:Z6}=V0(),tN=($)=>{try{return{value:dN.parse($,{protoAction:"remove"})}}catch(H){return{err:H}}};function eN($){let H;if(!GQ($)){let G=tN($);if(G.err||!GQ(G.value))return $+this.EOL;H=G.value}else H=$;if(this.minimumLevel){let G;if(this.useOnlyCustomProps)G=this.customLevels;else G=this.customLevelNames[this.minimumLevel]!==void 0;let q;if(G)q=this.customLevelNames[this.minimumLevel];else q=Z6[this.minimumLevel];if(!q)q=typeof this.minimumLevel==="string"?Z6[this.minimumLevel]:Z6[rN[this.minimumLevel].toLowerCase()];if(H[this.levelKey===void 0?aN:this.levelKey]<q)return}let J=pN({log:H,context:this.context});if(this.ignoreKeys||this.includeKeys)H=oN({log:H,context:this.context});let Q=lN({log:H,context:{...this.context,...this.context.customProperties}}),X=nN({log:H,context:this.context}),Y=sN({log:H,context:this.context}),W="";if(this.levelFirst&&Q)W=`${Q}`;if(Y&&W==="")W=`${Y}`;else if(Y)W=`${W} ${Y}`;if(!this.levelFirst&&Q)if(W.length>0)W=`${W} ${Q}`;else W=Q;if(X)if(W.length>0)W=`${W} ${X}:`;else W=X;if(W.endsWith(":")===!1&&W!=="")W+=":";if(J!==void 0)if(W.length>0)W=`${W} ${J}`;else W=J;if(W.length>0&&!this.singleLine)W+=this.EOL;if(H.type==="Error"&&typeof H.stack==="string"){let G=cN({log:H,context:this.context});if(this.singleLine)W+=this.EOL;W+=G}else if(this.hideObject===!1){let G=[this.messageKey,this.levelKey,this.timestampKey].map((U)=>U.replaceAll(/\\/g,"")).filter((U)=>{return typeof H[U]==="string"||typeof H[U]==="number"||typeof H[U]==="boolean"}),q=iN({log:H,skipKeys:G,context:this.context});if(this.singleLine&&!/^\s$/.test(q))W+=" ";W+=q}return W}});var DQ=N((yP,Z0)=>{var{isColorSupported:BQ}=p8(),$A=cH(),{Transform:HA}=a("stream"),JA=tH(),QA=a8(),{ERROR_LIKE_KEYS:wQ,LEVEL_KEY:XA,LEVEL_LABEL:YA,MESSAGE_KEY:WA,TIMESTAMP_KEY:GA}=V0(),{buildSafeSonicBoom:qA,parseFactoryOptions:UA}=HQ(),BA=UQ(),wA={colorize:BQ,colorizeObjects:!0,crlf:!1,customColors:null,customLevels:null,customPrettifiers:{},errorLikeObjectKeys:wQ,errorProps:"",hideObject:!1,ignore:"hostname",include:void 0,levelFirst:!1,levelKey:XA,levelLabel:YA,messageFormat:null,messageKey:WA,minimumLevel:void 0,outputStream:process.stdout,singleLine:!1,timestampKey:GA,translateTime:!0,useOnlyCustomProps:!0};function L6($){let H=UA(Object.assign({},wA,$));return BA.bind({...H,context:H})}function T9($={}){let H=L6($),J;return JA(function(Q){Q.on("message",function Y(W){if(!W||W.code!=="PINO_CONFIG")return;Object.assign($,{messageKey:W.config.messageKey,errorLikeObjectKeys:Array.from(new Set([...$.errorLikeObjectKeys||wQ,W.config.errorKey])),customLevels:W.config.levels.values}),H=L6($),Q.off("message",Y)});let X=new HA({objectMode:!0,autoDestroy:!0,transform(Y,W,G){let q=H(Y);G(null,q)}});if(typeof $.destination==="object"&&typeof $.destination.write==="function")J=$.destination;else J=qA({dest:$.destination||1,append:$.append,mkdir:$.mkdir,sync:$.sync});return Q.on("unknown",function(Y){J.write(Y+`
|
|
28
|
+
`)}),$A(Q,X,J),X},{parse:"lines",close(Q,X){J.on("close",()=>{X(Q)})}})}Z0.exports=T9;Z0.exports.build=T9;Z0.exports.PinoPretty=T9;Z0.exports.prettyFactory=L6;Z0.exports.colorizerFactory=QA;Z0.exports.isColorSupported=BQ;Z0.exports.default=T9});var C6={};A0(C6,{parseTTL:()=>F$});function F$($){if(typeof $==="number")return $;let H=$.match(/^(\d+)([smhd])$/);if(!H)throw Error(`Invalid TTL format: ${$}. Use format like '5s', '5m', '5h', '5d' or a number`);let J=parseInt(H[1],10),Q=H[2];switch(Q){case"s":return J;case"m":return J*60;case"h":return J*3600;case"d":return J*86400;default:throw Error(`Unknown TTL unit: ${Q}`)}}class x9{cache=new Map;cleanupInterval;maxSize;constructor($={}){this.maxSize=$.maxSize||1000;let H=$.cleanupInterval??60000;if(H>0)this.cleanupInterval=setInterval(()=>{this.cleanup()},H)}async get($){let H=this.cache.get($);if(!H)return null;if(H.expiresAt>0&&Date.now()>H.expiresAt)return this.cache.delete($),null;return H.data}async set($,H,J=0){if(this.cache.size>=this.maxSize&&!this.cache.has($))this.removeOldest();let Q=Date.now(),X={data:H,createdAt:Q,expiresAt:J>0?Q+J*1000:0};this.cache.set($,X)}async delete($){return this.cache.delete($)}async has($){let H=this.cache.get($);if(!H)return!1;if(H.expiresAt>0&&Date.now()>H.expiresAt)return this.cache.delete($),!1;return!0}async clear(){this.cache.clear()}async deletePattern($){let H=this.patternToRegex($),J=0;for(let Q of this.cache.keys())if(H.test(Q))this.cache.delete(Q),J++;return J}async keys($){let H=Array.from(this.cache.keys());if(!$)return H;let J=this.patternToRegex($);return H.filter((Q)=>J.test(Q))}getStats(){return{size:this.cache.size,maxSize:this.maxSize}}cleanup(){let $=Date.now();for(let[H,J]of this.cache.entries())if(J.expiresAt>0&&$>J.expiresAt)this.cache.delete(H)}removeOldest(){let $=null,H=1/0;for(let[J,Q]of this.cache.entries())if(Q.createdAt<H)H=Q.createdAt,$=J;if($)this.cache.delete($)}patternToRegex($){let J=$.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return new RegExp(`^${J}$`)}destroy(){if(this.cleanupInterval)clearInterval(this.cleanupInterval)}}var P6={};A0(P6,{setCache:()=>NQ,invalidateCache:()=>RQ,getCache:()=>zQ,deleteCache:()=>AQ,clearCache:()=>EQ,CacheManager:()=>b1});async function zQ($){return await b1.get($)}async function NQ($,H,J){await b1.set($,H,J)}async function AQ($){return await b1.delete($)}async function RQ($){return await b1.invalidate($)}async function EQ(){await b1.clear()}var b1;var w4=s4(()=>{b1=class b1{static defaultStore=new x9;static stores=new Map;static setDefaultStore($){this.defaultStore=$}static getDefaultStore(){return this.defaultStore}static registerStore($,H){this.stores.set($,H)}static getStore($){return this.stores.get($)}static generateKey($,H,J,Q,X){let Y=[];if(X?.prefix)Y.push(X.prefix);if(X?.key){let W=X.key;if(J)for(let[G,q]of Object.entries(J))W=W.replace(`{${G}}`,String(q));Y.push(W)}else if(Y.push($.toLowerCase()),Y.push(H.replace(/\//g,":")),J&&Object.keys(J).length>0)Y.push(JSON.stringify(J));if(X?.includeQuery&&Q&&Object.keys(Q).length>0){let W=Object.keys(Q).sort().reduce((G,q)=>{return G[q]=Q[q],G},{});Y.push(JSON.stringify(W))}return Y.join(":")}static async get($,H){return await(H||this.defaultStore).get($)}static async set($,H,J,Q){let X=Q||this.defaultStore,Y=J?F$(J):0;await X.set($,H,Y)}static async delete($,H){return await(H||this.defaultStore).delete($)}static async invalidate($,H){return await(H||this.defaultStore).deletePattern($)}static async clear($){await($||this.defaultStore).clear()}}});var s0=N(()=>{/*! *****************************************************************************
|
|
29
|
+
Copyright (C) Microsoft. All rights reserved.
|
|
30
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
|
31
|
+
this file except in compliance with the License. You may obtain a copy of the
|
|
32
|
+
License at http://www.apache.org/licenses/LICENSE-2.0
|
|
33
|
+
|
|
34
|
+
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
35
|
+
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
|
|
36
|
+
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
|
|
37
|
+
MERCHANTABLITY OR NON-INFRINGEMENT.
|
|
38
|
+
|
|
39
|
+
See the Apache Version 2.0 License for specific language governing permissions
|
|
40
|
+
and limitations under the License.
|
|
41
|
+
***************************************************************************** */var _X;(function($){(function(H){var J=typeof globalThis==="object"?globalThis:typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:G(),Q=X($);if(typeof J.Reflect<"u")Q=X(J.Reflect,Q);if(H(Q,J),typeof J.Reflect>"u")J.Reflect=$;function X(q,U){return function(B,w){if(Object.defineProperty(q,B,{configurable:!0,writable:!0,value:w}),U)U(B,w)}}function Y(){try{return Function("return this;")()}catch(q){}}function W(){try{return(0,eval)("(function() { return this; })()")}catch(q){}}function G(){return Y()||W()}})(function(H,J){var Q=Object.prototype.hasOwnProperty,X=typeof Symbol==="function",Y=X&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",W=X&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",G=typeof Object.create==="function",q={__proto__:[]}instanceof Array,U=!G&&!q,B={create:G?function(){return i2(Object.create(null))}:q?function(){return i2({__proto__:null})}:function(){return i2({})},has:U?function(F,z){return Q.call(F,z)}:function(F,z){return z in F},get:U?function(F,z){return Q.call(F,z)?F[z]:void 0}:function(F,z){return F[z]}},w=Object.getPrototypeOf(Function),_=typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:rq(),V=typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:aq(),D=typeof WeakMap==="function"?WeakMap:tq(),A=X?Symbol.for("@reflect-metadata:registry"):void 0,E=iq(),Z=sq(E);function M(F,z,j,K){if(!s(j)){if(!z7(F))throw TypeError();if(!_1(z))throw TypeError();if(!_1(K)&&!s(K)&&!Y$(K))throw TypeError();if(Y$(K))K=void 0;return j=H0(j),I(F,z,j,K)}else{if(!z7(F))throw TypeError();if(!N7(z))throw TypeError();return X1(F,z)}}H("decorate",M);function L(F,z){function j(K,c){if(!_1(K))throw TypeError();if(!s(c)&&!pq(c))throw TypeError();n4(F,z,K,c)}return j}H("metadata",L);function x(F,z,j,K){if(!_1(j))throw TypeError();if(!s(K))K=H0(K);return n4(F,z,j,K)}H("defineMetadata",x);function v(F,z,j){if(!_1(z))throw TypeError();if(!s(j))j=H0(j);return R1(F,z,j)}H("hasMetadata",v);function l(F,z,j){if(!_1(z))throw TypeError();if(!s(j))j=H0(j);return E1(F,z,j)}H("hasOwnMetadata",l);function i(F,z,j){if(!_1(z))throw TypeError();if(!s(j))j=H0(j);return $0(F,z,j)}H("getMetadata",i);function J1(F,z,j){if(!_1(z))throw TypeError();if(!s(j))j=H0(j);return a$(F,z,j)}H("getOwnMetadata",J1);function m(F,z){if(!_1(F))throw TypeError();if(!s(z))z=H0(z);return t$(F,z)}H("getMetadataKeys",m);function W1(F,z){if(!_1(F))throw TypeError();if(!s(z))z=H0(z);return i4(F,z)}H("getOwnMetadataKeys",W1);function G1(F,z,j){if(!_1(z))throw TypeError();if(!s(j))j=H0(j);if(!_1(z))throw TypeError();if(!s(j))j=H0(j);var K=e$(z,j,!1);if(s(K))return!1;return K.OrdinaryDeleteMetadata(F,z,j)}H("deleteMetadata",G1);function X1(F,z){for(var j=F.length-1;j>=0;--j){var K=F[j],c=K(z);if(!s(c)&&!Y$(c)){if(!N7(c))throw TypeError();z=c}}return z}function I(F,z,j,K){for(var c=F.length-1;c>=0;--c){var F1=F[c],A1=F1(z,j,K);if(!s(A1)&&!Y$(A1)){if(!_1(A1))throw TypeError();K=A1}}return K}function R1(F,z,j){var K=E1(F,z,j);if(K)return!0;var c=n2(z);if(!Y$(c))return R1(F,c,j);return!1}function E1(F,z,j){var K=e$(z,j,!1);if(s(K))return!1;return F7(K.OrdinaryHasOwnMetadata(F,z,j))}function $0(F,z,j){var K=E1(F,z,j);if(K)return a$(F,z,j);var c=n2(z);if(!Y$(c))return $0(F,c,j);return}function a$(F,z,j){var K=e$(z,j,!1);if(s(K))return;return K.OrdinaryGetOwnMetadata(F,z,j)}function n4(F,z,j,K){var c=e$(j,K,!0);c.OrdinaryDefineOwnMetadata(F,z,j,K)}function t$(F,z){var j=i4(F,z),K=n2(F);if(K===null)return j;var c=t$(K,z);if(c.length<=0)return j;if(j.length<=0)return c;var F1=new V,A1=[];for(var $1=0,b=j;$1<b.length;$1++){var h=b[$1],g=F1.has(h);if(!g)F1.add(h),A1.push(h)}for(var u=0,Q1=c;u<Q1.length;u++){var h=Q1[u],g=F1.has(h);if(!g)F1.add(h),A1.push(h)}return A1}function i4(F,z){var j=e$(F,z,!1);if(!j)return[];return j.OrdinaryOwnMetadataKeys(F,z)}function _7(F){if(F===null)return 1;switch(typeof F){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return F===null?1:6;default:return 6}}function s(F){return F===void 0}function Y$(F){return F===null}function mq(F){return typeof F==="symbol"}function _1(F){return typeof F==="object"?F!==null:typeof F==="function"}function dq(F,z){switch(_7(F)){case 0:return F;case 1:return F;case 2:return F;case 3:return F;case 4:return F;case 5:return F}var j=z===3?"string":z===5?"number":"default",K=A7(F,Y);if(K!==void 0){var c=K.call(F,j);if(_1(c))throw TypeError();return c}return cq(F,j==="default"?"number":j)}function cq(F,z){if(z==="string"){var j=F.toString;if(W$(j)){var K=j.call(F);if(!_1(K))return K}var c=F.valueOf;if(W$(c)){var K=c.call(F);if(!_1(K))return K}}else{var c=F.valueOf;if(W$(c)){var K=c.call(F);if(!_1(K))return K}var F1=F.toString;if(W$(F1)){var K=F1.call(F);if(!_1(K))return K}}throw TypeError()}function F7(F){return!!F}function lq(F){return""+F}function H0(F){var z=dq(F,3);if(mq(z))return z;return lq(z)}function z7(F){return Array.isArray?Array.isArray(F):F instanceof Object?F instanceof Array:Object.prototype.toString.call(F)==="[object Array]"}function W$(F){return typeof F==="function"}function N7(F){return typeof F==="function"}function pq(F){switch(_7(F)){case 3:return!0;case 4:return!0;default:return!1}}function p2(F,z){return F===z||F!==F&&z!==z}function A7(F,z){var j=F[z];if(j===void 0||j===null)return;if(!W$(j))throw TypeError();return j}function R7(F){var z=A7(F,W);if(!W$(z))throw TypeError();var j=z.call(F);if(!_1(j))throw TypeError();return j}function E7(F){return F.value}function j7(F){var z=F.next();return z.done?!1:z}function O7(F){var z=F.return;if(z)z.call(F)}function n2(F){var z=Object.getPrototypeOf(F);if(typeof F!=="function"||F===w)return z;if(z!==w)return z;var j=F.prototype,K=j&&Object.getPrototypeOf(j);if(K==null||K===Object.prototype)return z;var c=K.constructor;if(typeof c!=="function")return z;if(c===F)return z;return c}function nq(){var F;if(!s(A)&&typeof J.Reflect<"u"&&!(A in J.Reflect)&&typeof J.Reflect.defineMetadata==="function")F=oq(J.Reflect);var z,j,K,c=new D,F1={registerProvider:A1,getProvider:b,setProvider:g};return F1;function A1(u){if(!Object.isExtensible(F1))throw Error("Cannot add provider to a frozen registry.");switch(!0){case F===u:break;case s(z):z=u;break;case z===u:break;case s(j):j=u;break;case j===u:break;default:if(K===void 0)K=new V;K.add(u);break}}function $1(u,Q1){if(!s(z)){if(z.isProviderFor(u,Q1))return z;if(!s(j)){if(j.isProviderFor(u,Q1))return z;if(!s(K)){var U1=R7(K);while(!0){var z1=j7(U1);if(!z1)return;var y1=E7(z1);if(y1.isProviderFor(u,Q1))return O7(U1),y1}}}}if(!s(F)&&F.isProviderFor(u,Q1))return F;return}function b(u,Q1){var U1=c.get(u),z1;if(!s(U1))z1=U1.get(Q1);if(!s(z1))return z1;if(z1=$1(u,Q1),!s(z1)){if(s(U1))U1=new _,c.set(u,U1);U1.set(Q1,z1)}return z1}function h(u){if(s(u))throw TypeError();return z===u||j===u||!s(K)&&K.has(u)}function g(u,Q1,U1){if(!h(U1))throw Error("Metadata provider not registered.");var z1=b(u,Q1);if(z1!==U1){if(!s(z1))return!1;var y1=c.get(u);if(s(y1))y1=new _,c.set(u,y1);y1.set(Q1,U1)}return!0}}function iq(){var F;if(!s(A)&&_1(J.Reflect)&&Object.isExtensible(J.Reflect))F=J.Reflect[A];if(s(F))F=nq();if(!s(A)&&_1(J.Reflect)&&Object.isExtensible(J.Reflect))Object.defineProperty(J.Reflect,A,{enumerable:!1,configurable:!1,writable:!1,value:F});return F}function sq(F){var z=new D,j={isProviderFor:function(h,g){var u=z.get(h);if(s(u))return!1;return u.has(g)},OrdinaryDefineOwnMetadata:A1,OrdinaryHasOwnMetadata:c,OrdinaryGetOwnMetadata:F1,OrdinaryOwnMetadataKeys:$1,OrdinaryDeleteMetadata:b};return E.registerProvider(j),j;function K(h,g,u){var Q1=z.get(h),U1=!1;if(s(Q1)){if(!u)return;Q1=new _,z.set(h,Q1),U1=!0}var z1=Q1.get(g);if(s(z1)){if(!u)return;if(z1=new _,Q1.set(g,z1),!F.setProvider(h,g,j)){if(Q1.delete(g),U1)z.delete(h);throw Error("Wrong provider for target.")}}return z1}function c(h,g,u){var Q1=K(g,u,!1);if(s(Q1))return!1;return F7(Q1.has(h))}function F1(h,g,u){var Q1=K(g,u,!1);if(s(Q1))return;return Q1.get(h)}function A1(h,g,u,Q1){var U1=K(u,Q1,!0);U1.set(h,g)}function $1(h,g){var u=[],Q1=K(h,g,!1);if(s(Q1))return u;var U1=Q1.keys(),z1=R7(U1),y1=0;while(!0){var Z7=j7(z1);if(!Z7)return u.length=y1,u;var eq=E7(Z7);try{u[y1]=eq}catch($U){try{O7(z1)}finally{throw $U}}y1++}}function b(h,g,u){var Q1=K(g,u,!1);if(s(Q1))return!1;if(!Q1.delete(h))return!1;if(Q1.size===0){var U1=z.get(g);if(!s(U1)){if(U1.delete(u),U1.size===0)z.delete(U1)}}return!0}}function oq(F){var{defineMetadata:z,hasOwnMetadata:j,getOwnMetadata:K,getOwnMetadataKeys:c,deleteMetadata:F1}=F,A1=new D,$1={isProviderFor:function(b,h){var g=A1.get(b);if(!s(g)&&g.has(h))return!0;if(c(b,h).length){if(s(g))g=new V,A1.set(b,g);return g.add(h),!0}return!1},OrdinaryDefineOwnMetadata:z,OrdinaryHasOwnMetadata:j,OrdinaryGetOwnMetadata:K,OrdinaryOwnMetadataKeys:c,OrdinaryDeleteMetadata:F1};return $1}function e$(F,z,j){var K=E.getProvider(F,z);if(!s(K))return K;if(j){if(E.setProvider(F,z,Z))return Z;throw Error("Illegal state.")}return}function rq(){var F={},z=[],j=function(){function $1(b,h,g){this._index=0,this._keys=b,this._values=h,this._selector=g}return $1.prototype["@@iterator"]=function(){return this},$1.prototype[W]=function(){return this},$1.prototype.next=function(){var b=this._index;if(b>=0&&b<this._keys.length){var h=this._selector(this._keys[b],this._values[b]);if(b+1>=this._keys.length)this._index=-1,this._keys=z,this._values=z;else this._index++;return{value:h,done:!1}}return{value:void 0,done:!0}},$1.prototype.throw=function(b){if(this._index>=0)this._index=-1,this._keys=z,this._values=z;throw b},$1.prototype.return=function(b){if(this._index>=0)this._index=-1,this._keys=z,this._values=z;return{value:b,done:!0}},$1}(),K=function(){function $1(){this._keys=[],this._values=[],this._cacheKey=F,this._cacheIndex=-2}return Object.defineProperty($1.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),$1.prototype.has=function(b){return this._find(b,!1)>=0},$1.prototype.get=function(b){var h=this._find(b,!1);return h>=0?this._values[h]:void 0},$1.prototype.set=function(b,h){var g=this._find(b,!0);return this._values[g]=h,this},$1.prototype.delete=function(b){var h=this._find(b,!1);if(h>=0){var g=this._keys.length;for(var u=h+1;u<g;u++)this._keys[u-1]=this._keys[u],this._values[u-1]=this._values[u];if(this._keys.length--,this._values.length--,p2(b,this._cacheKey))this._cacheKey=F,this._cacheIndex=-2;return!0}return!1},$1.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=F,this._cacheIndex=-2},$1.prototype.keys=function(){return new j(this._keys,this._values,c)},$1.prototype.values=function(){return new j(this._keys,this._values,F1)},$1.prototype.entries=function(){return new j(this._keys,this._values,A1)},$1.prototype["@@iterator"]=function(){return this.entries()},$1.prototype[W]=function(){return this.entries()},$1.prototype._find=function(b,h){if(!p2(this._cacheKey,b)){this._cacheIndex=-1;for(var g=0;g<this._keys.length;g++)if(p2(this._keys[g],b)){this._cacheIndex=g;break}}if(this._cacheIndex<0&&h)this._cacheIndex=this._keys.length,this._keys.push(b),this._values.push(void 0);return this._cacheIndex},$1}();return K;function c($1,b){return $1}function F1($1,b){return b}function A1($1,b){return[$1,b]}}function aq(){var F=function(){function z(){this._map=new _}return Object.defineProperty(z.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),z.prototype.has=function(j){return this._map.has(j)},z.prototype.add=function(j){return this._map.set(j,j),this},z.prototype.delete=function(j){return this._map.delete(j)},z.prototype.clear=function(){this._map.clear()},z.prototype.keys=function(){return this._map.keys()},z.prototype.values=function(){return this._map.keys()},z.prototype.entries=function(){return this._map.entries()},z.prototype["@@iterator"]=function(){return this.keys()},z.prototype[W]=function(){return this.keys()},z}();return F}function tq(){var F=16,z=B.create(),j=K();return function(){function b(){this._key=K()}return b.prototype.has=function(h){var g=c(h,!1);return g!==void 0?B.has(g,this._key):!1},b.prototype.get=function(h){var g=c(h,!1);return g!==void 0?B.get(g,this._key):void 0},b.prototype.set=function(h,g){var u=c(h,!0);return u[this._key]=g,this},b.prototype.delete=function(h){var g=c(h,!1);return g!==void 0?delete g[this._key]:!1},b.prototype.clear=function(){this._key=K()},b}();function K(){var b;do b="@@WeakMap@@"+$1();while(B.has(z,b));return z[b]=!0,b}function c(b,h){if(!Q.call(b,j)){if(!h)return;Object.defineProperty(b,j,{value:B.create()})}return b[j]}function F1(b,h){for(var g=0;g<h;++g)b[g]=Math.random()*255|0;return b}function A1(b){if(typeof Uint8Array==="function"){var h=new Uint8Array(b);if(typeof crypto<"u")crypto.getRandomValues(h);else if(typeof msCrypto<"u")msCrypto.getRandomValues(h);else F1(h,b);return h}return F1(Array(b),b)}function $1(){var b=A1(F);b[6]=b[6]&79|64,b[8]=b[8]&191|128;var h="";for(var g=0;g<F;++g){var u=b[g];if(g===4||g===6||g===8)h+="-";if(u<16)h+="0";h+=u.toString(16).toLowerCase()}return h}}function i2(F){return F.__=void 0,delete F.__,F}})})(_X||(_X={}))});var f1,kR,hR,vR,u6;var x$=s4(()=>{f1=class f1 extends Error{statusCode;details;constructor($,H,J){super(H);this.statusCode=$;this.details=J;if(this.name="HTTPException",Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}};kR=class kR extends f1{constructor($="Not Found",H){super(404,$,H);this.name="NotFoundException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}};hR=class hR extends f1{constructor($="Unauthorized",H){super(401,$,H);this.name="UnauthorizedException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}};vR=class vR extends f1{constructor($="Forbidden",H){super(403,$,H);this.name="ForbiddenException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}};u6=class u6 extends f1{constructor($="Bad Request",H){super(400,$,H);this.name="BadRequestException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}});var dX={};A0(dX,{TokenRevokedException:()=>mX,TokenExpiredException:()=>Q2,InvalidTokenException:()=>h$,AuthorizationException:()=>P1,AuthenticationException:()=>L1});var L1,P1,Q2,h$,mX;var t0=s4(()=>{x$();L1=class L1 extends f1{constructor($="Authentication required"){super(401,$);this.name="AuthenticationException"}toJSON(){return{error:"Authentication Error",message:this.message,statusCode:401}}};P1=class P1 extends f1{constructor($="Insufficient permissions"){super(403,$);this.name="AuthorizationException"}toJSON(){return{error:"Authorization Error",message:this.message,statusCode:403}}};Q2=class Q2 extends L1{constructor($="Token has expired"){super($);this.name="TokenExpiredException"}};h$=class h$ extends L1{constructor($="Invalid token"){super($);this.name="InvalidTokenException"}};mX=class mX extends L1{constructor($="Token has been revoked"){super($);this.name="TokenRevokedException"}}});var E5={};A0(E5,{HonoAdapter:()=>R5});class R5{hono;name="hono";runtime;constructor($){this.hono=$;this.runtime=qE()}listen($,H){switch(this.runtime){case"bun":return this.listenBun($,H);case"deno":return this.listenDeno($,H);case"node":return this.listenNode($,H);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($,H){let J=Bun.serve({port:$,fetch:this.hono.fetch});if(H)H();return{port:$,close:async()=>{J.stop()},...J}}listenDeno($,H){let J=new AbortController;return Deno.serve({port:$,signal:J.signal,onListen:H},this.hono.fetch),{port:$,close:async()=>{J.abort()}}}listenNode($,H){try{let{serve:J}=(()=>{throw new Error("Cannot require module "+"@hono/node-server");})(),Q=J({fetch:this.hono.fetch,port:$},H);return{port:$,close:async()=>{return new Promise((X)=>{Q.close(()=>X())})},...Q}}catch(J){throw Error("Node.js adapter requires @hono/node-server package. Install it with: npm install @hono/node-server")}}}var qE=()=>{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 cX={};A0(cX,{ExpressAdapter:()=>j5});class j5{app;name="express";express;constructor($){this.app=$;try{let H=(()=>{throw new Error("Cannot require module "+"express");})();this.express=H(),this.setupBridge()}catch(H){throw Error("Express adapter requires express package. Install it with: npm install express")}}setupBridge(){let $=this.app.getHono();this.express.use(async(H,J)=>{try{let Q=this.createWebRequest(H),X=await $.fetch(Q);await this.sendExpressResponse(J,X)}catch(Q){J.status(500).json({error:"Internal Server Error",message:Q instanceof Error?Q.message:"Unknown error"})}})}createWebRequest($){let H=$.protocol||"http",J=$.get("host")||"localhost",Q=`${H}://${J}${$.originalUrl||$.url}`,X=new Headers;for(let[W,G]of Object.entries($.headers))if(typeof G==="string")X.set(W,G);else if(Array.isArray(G))G.forEach((q)=>X.append(W,q));let Y={method:$.method,headers:X};if($.method!=="GET"&&$.method!=="HEAD"){if($.body)Y.body=JSON.stringify($.body),X.set("content-type","application/json")}return new Request(Q,Y)}async sendExpressResponse($,H){if($.status(H.status),H.headers.forEach((J,Q)=>{$.setHeader(Q,J)}),H.body){let J=H.headers.get("content-type")||"";if(J.includes("application/json")){let Q=await H.json();$.json(Q)}else if(J.includes("text/")){let Q=await H.text();$.send(Q)}else{let Q=await H.arrayBuffer();$.send(Buffer.from(Q))}}else $.end()}listen($,H){return this.express.listen($,H)}getHandler(){return this.express}getExpressApp(){return this.express}}var y$=N((O5,oX)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var G2=a("buffer"),U0=G2.Buffer;function sX($,H){for(var J in $)H[J]=$[J]}if(U0.from&&U0.alloc&&U0.allocUnsafe&&U0.allocUnsafeSlow)oX.exports=G2;else sX(G2,O5),O5.Buffer=e0;function e0($,H,J){return U0($,H,J)}e0.prototype=Object.create(U0.prototype);sX(U0,e0);e0.from=function($,H,J){if(typeof $==="number")throw TypeError("Argument must not be a number");return U0($,H,J)};e0.alloc=function($,H,J){if(typeof $!=="number")throw TypeError("Argument must be a number");var Q=U0($);if(H!==void 0)if(typeof J==="string")Q.fill(H,J);else Q.fill(H);else Q.fill(0);return Q};e0.allocUnsafe=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return U0($)};e0.allocUnsafeSlow=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return G2.SlowBuffer($)}});var Z5=N((Xh,rX)=>{var q2=y$().Buffer,OE=a("stream"),ZE=a("util");function U2($){if(this.buffer=null,this.writable=!0,this.readable=!0,!$)return this.buffer=q2.alloc(0),this;if(typeof $.pipe==="function")return this.buffer=q2.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 $+")")}ZE.inherits(U2,OE);U2.prototype.write=function(H){this.buffer=q2.concat([this.buffer,q2.from(H)]),this.emit("data",H)};U2.prototype.end=function(H){if(H)this.write(H);this.emit("end",H),this.emit("close"),this.writable=!1,this.readable=!1};rX.exports=U2});var tX=N((Yh,aX)=>{function L5($){var H=($/8|0)+($%8===0?0:1);return H}var LE={ES256:L5(256),ES384:L5(384),ES512:L5(521)};function ME($){var H=LE[$];if(H)return H;throw Error('Unknown algorithm "'+$+'"')}aX.exports=ME});var YY=N((Wh,XY)=>{var B2=y$().Buffer,$Y=tX(),w2=128,HY=0,SE=32,CE=16,PE=2,JY=CE|SE|HY<<6,D2=PE|HY<<6;function KE($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function QY($){if(B2.isBuffer($))return $;else if(typeof $==="string")return B2.from($,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function IE($,H){$=QY($);var J=$Y(H),Q=J+1,X=$.length,Y=0;if($[Y++]!==JY)throw Error('Could not find expected "seq"');var W=$[Y++];if(W===(w2|1))W=$[Y++];if(X-Y<W)throw Error('"seq" specified length of "'+W+'", only "'+(X-Y)+'" remaining');if($[Y++]!==D2)throw Error('Could not find expected "int" for "r"');var G=$[Y++];if(X-Y-2<G)throw Error('"r" specified length of "'+G+'", only "'+(X-Y-2)+'" available');if(Q<G)throw Error('"r" specified length of "'+G+'", max of "'+Q+'" is acceptable');var q=Y;if(Y+=G,$[Y++]!==D2)throw Error('Could not find expected "int" for "s"');var U=$[Y++];if(X-Y!==U)throw Error('"s" specified length of "'+U+'", expected "'+(X-Y)+'"');if(Q<U)throw Error('"s" specified length of "'+U+'", max of "'+Q+'" is acceptable');var B=Y;if(Y+=U,Y!==X)throw Error('Expected to consume entire buffer, but "'+(X-Y)+'" bytes remain');var w=J-G,_=J-U,V=B2.allocUnsafe(w+G+_+U);for(Y=0;Y<w;++Y)V[Y]=0;$.copy(V,Y,q+Math.max(-w,0),q+G),Y=J;for(var D=Y;Y<D+_;++Y)V[Y]=0;return $.copy(V,Y,B+Math.max(-_,0),B+U),V=V.toString("base64"),V=KE(V),V}function eX($,H,J){var Q=0;while(H+Q<J&&$[H+Q]===0)++Q;var X=$[H+Q]>=w2;if(X)--Q;return Q}function TE($,H){$=QY($);var J=$Y(H),Q=$.length;if(Q!==J*2)throw TypeError('"'+H+'" signatures must be "'+J*2+'" bytes, saw "'+Q+'"');var X=eX($,0,J),Y=eX($,J,$.length),W=J-X,G=J-Y,q=2+W+1+1+G,U=q<w2,B=B2.allocUnsafe((U?2:3)+q),w=0;if(B[w++]=JY,U)B[w++]=q;else B[w++]=w2|1,B[w++]=q&255;if(B[w++]=D2,B[w++]=W,X<0)B[w++]=0,w+=$.copy(B,w,0,J);else w+=$.copy(B,w,X,J);if(B[w++]=D2,B[w++]=G,Y<0)B[w++]=0,$.copy(B,w,J);else $.copy(B,w,J+Y);return B}XY.exports={derToJose:IE,joseToDer:TE}});var GY=N((Gh,WY)=>{var P4=a("buffer").Buffer,M5=a("buffer").SlowBuffer;WY.exports=V2;function V2($,H){if(!P4.isBuffer($)||!P4.isBuffer(H))return!1;if($.length!==H.length)return!1;var J=0;for(var Q=0;Q<$.length;Q++)J|=$[Q]^H[Q];return J===0}V2.install=function(){P4.prototype.equal=M5.prototype.equal=function(H){return V2(this,H)}};var xE=P4.prototype.equal,bE=M5.prototype.equal;V2.restore=function(){P4.prototype.equal=xE,M5.prototype.equal=bE}});var K5=N((qh,zY)=>{var m$=y$().Buffer,k1=a("crypto"),UY=YY(),qY=a("util"),fE=`"%s" is not a valid algorithm.
|
|
3
42
|
Supported algorithms are:
|
|
4
|
-
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,$6="secret must be a string or buffer",i="key must be a string or a buffer",n9="key must be a string, a buffer or an object",Z0=typeof M.createPublicKey==="function";if(Z0)i+=" or a KeyObject",$6+="or a KeyObject";function q8(q){if(s.isBuffer(q))return;if(typeof q==="string")return;if(!Z0)throw k(i);if(typeof q!=="object")throw k(i);if(typeof q.type!=="string")throw k(i);if(typeof q.asymmetricKeyType!=="string")throw k(i);if(typeof q.export!=="function")throw k(i)}function $8(q){if(s.isBuffer(q))return;if(typeof q==="string")return;if(typeof q==="object")return;throw k(n9)}function i9(q){if(s.isBuffer(q))return;if(typeof q==="string")return q;if(!Z0)throw k($6);if(typeof q!=="object")throw k($6);if(q.type!=="secret")throw k($6);if(typeof q.export!=="function")throw k($6)}function Q0(q){return q.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Z8(q){q=q.toString();var $=4-q.length%4;if($!==4)for(var Z=0;Z<$;++Z)q+="=";return q.replace(/\-/g,"+").replace(/_/g,"/")}function k(q){var $=[].slice.call(arguments,1),Z=o0.format.bind(o0,q).apply(null,$);return TypeError(Z)}function s9(q){return s.isBuffer(q)||typeof q==="string"}function Z6(q){if(!s9(q))q=JSON.stringify(q);return q}function Q8(q){return function(Z,Q){i9(Q),Z=Z6(Z);var J=M.createHmac("sha"+q,Q),W=(J.update(Z),J.digest("base64"));return Q0(W)}}var $0,r9="timingSafeEqual"in M?function($,Z){if($.byteLength!==Z.byteLength)return!1;return M.timingSafeEqual($,Z)}:function($,Z){if(!$0)$0=a0();return $0($,Z)};function t9(q){return function(Z,Q,J){var W=Q8(q)(Z,J);return r9(s.from(Q),s.from(W))}}function J8(q){return function(Z,Q){$8(Q),Z=Z6(Z);var J=M.createSign("RSA-SHA"+q),W=(J.update(Z),J.sign(Q,"base64"));return Q0(W)}}function W8(q){return function(Z,Q,J){q8(J),Z=Z6(Z),Q=Z8(Q);var W=M.createVerify("RSA-SHA"+q);return W.update(Z),W.verify(J,Q,"base64")}}function a9(q){return function(Z,Q){$8(Q),Z=Z6(Z);var J=M.createSign("RSA-SHA"+q),W=(J.update(Z),J.sign({key:Q,padding:M.constants.RSA_PKCS1_PSS_PADDING,saltLength:M.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Q0(W)}}function o9(q){return function(Z,Q,J){q8(J),Z=Z6(Z),Q=Z8(Q);var W=M.createVerify("RSA-SHA"+q);return W.update(Z),W.verify({key:J,padding:M.constants.RSA_PKCS1_PSS_PADDING,saltLength:M.constants.RSA_PSS_SALTLEN_DIGEST},Q,"base64")}}function e9(q){var $=J8(q);return function(){var Q=$.apply(null,arguments);return Q=e0.derToJose(Q,"ES"+q),Q}}function qq(q){var $=W8(q);return function(Q,J,W){J=e0.joseToDer(J,"ES"+q).toString("base64");var H=$(Q,J,W);return H}}function $q(){return function(){return""}}function Zq(){return function($,Z){return Z===""}}H8.exports=function($){var Z={hs:Q8,rs:J8,ps:a9,es:e9,none:$q},Q={hs:t9,rs:W8,ps:o9,es:qq,none:Zq},J=$.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);if(!J)throw k(p9,$);var W=(J[1]||J[3]).toLowerCase(),H=J[2];return{sign:Z[W](H),verify:Q[W](H)}}});var W0=D((q7,Y8)=>{var Qq=x("buffer").Buffer;Y8.exports=function($){if(typeof $==="string")return $;if(typeof $==="number"||Qq.isBuffer($))return $.toString();return JSON.stringify($)}});var D8=D(($7,G8)=>{var Jq=n().Buffer,F8=o6(),Wq=J0(),Hq=x("stream"),X8=W0(),H0=x("util");function U8(q,$){return Jq.from(q,$).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Yq(q,$,Z){Z=Z||"utf8";var Q=U8(X8(q),"binary"),J=U8(X8($),Z);return H0.format("%s.%s",Q,J)}function V8(q){var{header:$,payload:Z}=q,Q=q.secret||q.privateKey,J=q.encoding,W=Wq($.alg),H=Yq($,Z,J),Y=W.sign(H,Q);return H0.format("%s.%s",H,Y)}function O6(q){var $=q.secret||q.privateKey||q.key,Z=new F8($);this.readable=!0,this.header=q.header,this.encoding=q.encoding,this.secret=this.privateKey=this.key=Z,this.payload=new F8(q.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))}H0.inherits(O6,Hq);O6.prototype.sign=function(){try{var $=V8({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",$),this.emit("data",$),this.emit("end"),this.readable=!1,$}catch(Z){this.readable=!1,this.emit("error",Z),this.emit("close")}};O6.sign=V8;G8.exports=O6});var S8=D((Z7,O8)=>{var B8=n().Buffer,w8=o6(),Fq=J0(),Xq=x("stream"),z8=W0(),Uq=x("util"),Vq=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function Gq(q){return Object.prototype.toString.call(q)==="[object Object]"}function Dq(q){if(Gq(q))return q;try{return JSON.parse(q)}catch($){return}}function L8(q){var $=q.split(".",1)[0];return Dq(B8.from($,"base64").toString("binary"))}function wq(q){return q.split(".",2).join(".")}function C8(q){return q.split(".")[2]}function Bq(q,$){$=$||"utf8";var Z=q.split(".")[1];return B8.from(Z,"base64").toString($)}function _8(q){return Vq.test(q)&&!!L8(q)}function N8(q,$,Z){if(!$){var Q=Error("Missing algorithm parameter for jws.verify");throw Q.code="MISSING_ALGORITHM",Q}q=z8(q);var J=C8(q),W=wq(q),H=Fq($);return H.verify(W,J,Z)}function j8(q,$){if($=$||{},q=z8(q),!_8(q))return null;var Z=L8(q);if(!Z)return null;var Q=Bq(q);if(Z.typ==="JWT"||$.json)Q=JSON.parse(Q,$.encoding);return{header:Z,payload:Q,signature:C8(q)}}function r(q){q=q||{};var $=q.secret||q.publicKey||q.key,Z=new w8($);this.readable=!0,this.algorithm=q.algorithm,this.encoding=q.encoding,this.secret=this.publicKey=this.key=Z,this.signature=new w8(q.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))}Uq.inherits(r,Xq);r.prototype.verify=function(){try{var $=N8(this.signature.buffer,this.algorithm,this.key.buffer),Z=j8(this.signature.buffer,this.encoding);return this.emit("done",$,Z),this.emit("data",$),this.emit("end"),this.readable=!1,$}catch(Q){this.readable=!1,this.emit("error",Q),this.emit("close")}};r.decode=j8;r.isValid=_8;r.verify=N8;O8.exports=r});var E6=D((Lq)=>{var E8=D8(),S6=S8(),zq=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Lq.ALGORITHMS=zq;Lq.sign=E8.sign;Lq.verify=S6.verify;Lq.decode=S6.decode;Lq.isValid=S6.isValid;Lq.createSign=function($){return new E8($)};Lq.createVerify=function($){return new S6($)}});var Y0=D((J7,A8)=>{var Aq=E6();A8.exports=function(q,$){$=$||{};var Z=Aq.decode(q,$);if(!Z)return null;var Q=Z.payload;if(typeof Q==="string")try{var J=JSON.parse(Q);if(J!==null&&typeof J==="object")Q=J}catch(W){}if($.complete===!0)return{header:Z.header,payload:Q,signature:Z.signature};return Q}});var Q6=D((W7,K8)=>{var A6=function(q,$){if(Error.call(this,q),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=q,$)this.inner=$};A6.prototype=Object.create(Error.prototype);A6.prototype.constructor=A6;K8.exports=A6});var F0=D((H7,x8)=>{var R8=Q6(),K6=function(q,$){R8.call(this,q),this.name="NotBeforeError",this.date=$};K6.prototype=Object.create(R8.prototype);K6.prototype.constructor=K6;x8.exports=K6});var X0=D((Y7,M8)=>{var P8=Q6(),R6=function(q,$){P8.call(this,q),this.name="TokenExpiredError",this.expiredAt=$};R6.prototype=Object.create(P8.prototype);R6.prototype.constructor=R6;M8.exports=R6});var I8=D((F7,T8)=>{var t=1000,a=t*60,o=a*60,m=o*24,Kq=m*7,Rq=m*365.25;T8.exports=function(q,$){$=$||{};var Z=typeof q;if(Z==="string"&&q.length>0)return xq(q);else if(Z==="number"&&isFinite(q))return $.long?Mq(q):Pq(q);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify(q))};function xq(q){if(q=String(q),q.length>100)return;var $=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(q);if(!$)return;var Z=parseFloat($[1]),Q=($[2]||"ms").toLowerCase();switch(Q){case"years":case"year":case"yrs":case"yr":case"y":return Z*Rq;case"weeks":case"week":case"w":return Z*Kq;case"days":case"day":case"d":return Z*m;case"hours":case"hour":case"hrs":case"hr":case"h":return Z*o;case"minutes":case"minute":case"mins":case"min":case"m":return Z*a;case"seconds":case"second":case"secs":case"sec":case"s":return Z*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return Z;default:return}}function Pq(q){var $=Math.abs(q);if($>=m)return Math.round(q/m)+"d";if($>=o)return Math.round(q/o)+"h";if($>=a)return Math.round(q/a)+"m";if($>=t)return Math.round(q/t)+"s";return q+"ms"}function Mq(q){var $=Math.abs(q);if($>=m)return x6(q,$,m,"day");if($>=o)return x6(q,$,o,"hour");if($>=a)return x6(q,$,a,"minute");if($>=t)return x6(q,$,t,"second");return q+" ms"}function x6(q,$,Z,Q){var J=$>=Z*1.5;return Math.round(q/Z)+" "+Q+(J?"s":"")}});var U0=D((X7,k8)=>{var Tq=I8();k8.exports=function(q,$){var Z=$||Math.floor(Date.now()/1000);if(typeof q==="string"){var Q=Tq(q);if(typeof Q>"u")return;return Math.floor(Z+Q/1000)}else if(typeof q==="number")return Z+q;else return}});var J6=D((U7,b8)=>{var Iq=Number.MAX_SAFE_INTEGER||9007199254740991,kq=["major","premajor","minor","preminor","patch","prepatch","prerelease"];b8.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:Iq,RELEASE_TYPES:kq,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var W6=D((V7,h8)=>{var bq=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...q)=>console.error("SEMVER",...q):()=>{};h8.exports=bq});var e=D((v,f8)=>{var{MAX_SAFE_COMPONENT_LENGTH:V0,MAX_SAFE_BUILD_LENGTH:hq,MAX_LENGTH:fq}=J6(),yq=W6();v=f8.exports={};var vq=v.re=[],gq=v.safeRe=[],w=v.src=[],uq=v.safeSrc=[],B=v.t={},dq=0,G0="[a-zA-Z0-9-]",mq=[["\\s",1],["\\d",fq],[G0,hq]],cq=(q)=>{for(let[$,Z]of mq)q=q.split(`${$}*`).join(`${$}{0,${Z}}`).split(`${$}+`).join(`${$}{1,${Z}}`);return q},L=(q,$,Z)=>{let Q=cq($),J=dq++;yq(q,J,$),B[q]=J,w[J]=$,uq[J]=Q,vq[J]=new RegExp($,Z?"g":void 0),gq[J]=new RegExp(Q,Z?"g":void 0)};L("NUMERICIDENTIFIER","0|[1-9]\\d*");L("NUMERICIDENTIFIERLOOSE","\\d+");L("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${G0}*`);L("MAINVERSION",`(${w[B.NUMERICIDENTIFIER]})\\.(${w[B.NUMERICIDENTIFIER]})\\.(${w[B.NUMERICIDENTIFIER]})`);L("MAINVERSIONLOOSE",`(${w[B.NUMERICIDENTIFIERLOOSE]})\\.(${w[B.NUMERICIDENTIFIERLOOSE]})\\.(${w[B.NUMERICIDENTIFIERLOOSE]})`);L("PRERELEASEIDENTIFIER",`(?:${w[B.NONNUMERICIDENTIFIER]}|${w[B.NUMERICIDENTIFIER]})`);L("PRERELEASEIDENTIFIERLOOSE",`(?:${w[B.NONNUMERICIDENTIFIER]}|${w[B.NUMERICIDENTIFIERLOOSE]})`);L("PRERELEASE",`(?:-(${w[B.PRERELEASEIDENTIFIER]}(?:\\.${w[B.PRERELEASEIDENTIFIER]})*))`);L("PRERELEASELOOSE",`(?:-?(${w[B.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${w[B.PRERELEASEIDENTIFIERLOOSE]})*))`);L("BUILDIDENTIFIER",`${G0}+`);L("BUILD",`(?:\\+(${w[B.BUILDIDENTIFIER]}(?:\\.${w[B.BUILDIDENTIFIER]})*))`);L("FULLPLAIN",`v?${w[B.MAINVERSION]}${w[B.PRERELEASE]}?${w[B.BUILD]}?`);L("FULL",`^${w[B.FULLPLAIN]}$`);L("LOOSEPLAIN",`[v=\\s]*${w[B.MAINVERSIONLOOSE]}${w[B.PRERELEASELOOSE]}?${w[B.BUILD]}?`);L("LOOSE",`^${w[B.LOOSEPLAIN]}$`);L("GTLT","((?:<|>)?=?)");L("XRANGEIDENTIFIERLOOSE",`${w[B.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);L("XRANGEIDENTIFIER",`${w[B.NUMERICIDENTIFIER]}|x|X|\\*`);L("XRANGEPLAIN",`[v=\\s]*(${w[B.XRANGEIDENTIFIER]})(?:\\.(${w[B.XRANGEIDENTIFIER]})(?:\\.(${w[B.XRANGEIDENTIFIER]})(?:${w[B.PRERELEASE]})?${w[B.BUILD]}?)?)?`);L("XRANGEPLAINLOOSE",`[v=\\s]*(${w[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w[B.XRANGEIDENTIFIERLOOSE]})(?:\\.(${w[B.XRANGEIDENTIFIERLOOSE]})(?:${w[B.PRERELEASELOOSE]})?${w[B.BUILD]}?)?)?`);L("XRANGE",`^${w[B.GTLT]}\\s*${w[B.XRANGEPLAIN]}$`);L("XRANGELOOSE",`^${w[B.GTLT]}\\s*${w[B.XRANGEPLAINLOOSE]}$`);L("COERCEPLAIN",`(^|[^\\d])(\\d{1,${V0}})(?:\\.(\\d{1,${V0}}))?(?:\\.(\\d{1,${V0}}))?`);L("COERCE",`${w[B.COERCEPLAIN]}(?:$|[^\\d])`);L("COERCEFULL",w[B.COERCEPLAIN]+`(?:${w[B.PRERELEASE]})?(?:${w[B.BUILD]})?(?:$|[^\\d])`);L("COERCERTL",w[B.COERCE],!0);L("COERCERTLFULL",w[B.COERCEFULL],!0);L("LONETILDE","(?:~>?)");L("TILDETRIM",`(\\s*)${w[B.LONETILDE]}\\s+`,!0);v.tildeTrimReplace="$1~";L("TILDE",`^${w[B.LONETILDE]}${w[B.XRANGEPLAIN]}$`);L("TILDELOOSE",`^${w[B.LONETILDE]}${w[B.XRANGEPLAINLOOSE]}$`);L("LONECARET","(?:\\^)");L("CARETTRIM",`(\\s*)${w[B.LONECARET]}\\s+`,!0);v.caretTrimReplace="$1^";L("CARET",`^${w[B.LONECARET]}${w[B.XRANGEPLAIN]}$`);L("CARETLOOSE",`^${w[B.LONECARET]}${w[B.XRANGEPLAINLOOSE]}$`);L("COMPARATORLOOSE",`^${w[B.GTLT]}\\s*(${w[B.LOOSEPLAIN]})$|^$`);L("COMPARATOR",`^${w[B.GTLT]}\\s*(${w[B.FULLPLAIN]})$|^$`);L("COMPARATORTRIM",`(\\s*)${w[B.GTLT]}\\s*(${w[B.LOOSEPLAIN]}|${w[B.XRANGEPLAIN]})`,!0);v.comparatorTrimReplace="$1$2$3";L("HYPHENRANGE",`^\\s*(${w[B.XRANGEPLAIN]})\\s+-\\s+(${w[B.XRANGEPLAIN]})\\s*$`);L("HYPHENRANGELOOSE",`^\\s*(${w[B.XRANGEPLAINLOOSE]})\\s+-\\s+(${w[B.XRANGEPLAINLOOSE]})\\s*$`);L("STAR","(<|>)?=?\\s*\\*");L("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");L("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var P6=D((G7,y8)=>{var lq=Object.freeze({loose:!0}),pq=Object.freeze({}),nq=(q)=>{if(!q)return pq;if(typeof q!=="object")return lq;return q};y8.exports=nq});var D0=D((D7,u8)=>{var v8=/^[0-9]+$/,g8=(q,$)=>{if(typeof q==="number"&&typeof $==="number")return q===$?0:q<$?-1:1;let Z=v8.test(q),Q=v8.test($);if(Z&&Q)q=+q,$=+$;return q===$?0:Z&&!Q?-1:Q&&!Z?1:q<$?-1:1},iq=(q,$)=>g8($,q);u8.exports={compareIdentifiers:g8,rcompareIdentifiers:iq}});var S=D((w7,m8)=>{var M6=W6(),{MAX_LENGTH:d8,MAX_SAFE_INTEGER:T6}=J6(),{safeRe:I6,t:k6}=e(),sq=P6(),{compareIdentifiers:w0}=D0();class b{constructor(q,$){if($=sq($),q instanceof b)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else q=q.version;else if(typeof q!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof q}".`);if(q.length>d8)throw TypeError(`version is longer than ${d8} characters`);M6("SemVer",q,$),this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease;let Z=q.trim().match($.loose?I6[k6.LOOSE]:I6[k6.FULL]);if(!Z)throw TypeError(`Invalid Version: ${q}`);if(this.raw=q,this.major=+Z[1],this.minor=+Z[2],this.patch=+Z[3],this.major>T6||this.major<0)throw TypeError("Invalid major version");if(this.minor>T6||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>T6||this.patch<0)throw TypeError("Invalid patch version");if(!Z[4])this.prerelease=[];else this.prerelease=Z[4].split(".").map((Q)=>{if(/^[0-9]+$/.test(Q)){let J=+Q;if(J>=0&&J<T6)return J}return Q});this.build=Z[5]?Z[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(q){if(M6("SemVer.compare",this.version,this.options,q),!(q instanceof b)){if(typeof q==="string"&&q===this.version)return 0;q=new b(q,this.options)}if(q.version===this.version)return 0;return this.compareMain(q)||this.comparePre(q)}compareMain(q){if(!(q instanceof b))q=new b(q,this.options);if(this.major<q.major)return-1;if(this.major>q.major)return 1;if(this.minor<q.minor)return-1;if(this.minor>q.minor)return 1;if(this.patch<q.patch)return-1;if(this.patch>q.patch)return 1;return 0}comparePre(q){if(!(q instanceof b))q=new b(q,this.options);if(this.prerelease.length&&!q.prerelease.length)return-1;else if(!this.prerelease.length&&q.prerelease.length)return 1;else if(!this.prerelease.length&&!q.prerelease.length)return 0;let $=0;do{let Z=this.prerelease[$],Q=q.prerelease[$];if(M6("prerelease compare",$,Z,Q),Z===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(Z===void 0)return-1;else if(Z===Q)continue;else return w0(Z,Q)}while(++$)}compareBuild(q){if(!(q instanceof b))q=new b(q,this.options);let $=0;do{let Z=this.build[$],Q=q.build[$];if(M6("build compare",$,Z,Q),Z===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(Z===void 0)return-1;else if(Z===Q)continue;else return w0(Z,Q)}while(++$)}inc(q,$,Z){if(q.startsWith("pre")){if(!$&&Z===!1)throw Error("invalid increment argument: identifier is empty");if($){let Q=`-${$}`.match(this.options.loose?I6[k6.PRERELEASELOOSE]:I6[k6.PRERELEASE]);if(!Q||Q[1]!==$)throw Error(`invalid identifier: ${$}`)}}switch(q){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",$,Z);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",$,Z);break;case"prepatch":this.prerelease.length=0,this.inc("patch",$,Z),this.inc("pre",$,Z);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",$,Z);this.inc("pre",$,Z);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 Q=Number(Z)?1:0;if(this.prerelease.length===0)this.prerelease=[Q];else{let J=this.prerelease.length;while(--J>=0)if(typeof this.prerelease[J]==="number")this.prerelease[J]++,J=-2;if(J===-1){if($===this.prerelease.join(".")&&Z===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(Q)}}if($){let J=[$,Q];if(Z===!1)J=[$];if(w0(this.prerelease[0],$)===0){if(isNaN(this.prerelease[1]))this.prerelease=J}else this.prerelease=J}break}default:throw Error(`invalid increment argument: ${q}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}m8.exports=b});var c=D((B7,l8)=>{var c8=S(),rq=(q,$,Z=!1)=>{if(q instanceof c8)return q;try{return new c8(q,$)}catch(Q){if(!Z)return null;throw Q}};l8.exports=rq});var n8=D((z7,p8)=>{var tq=c(),aq=(q,$)=>{let Z=tq(q,$);return Z?Z.version:null};p8.exports=aq});var s8=D((L7,i8)=>{var oq=c(),eq=(q,$)=>{let Z=oq(q.trim().replace(/^[=v]+/,""),$);return Z?Z.version:null};i8.exports=eq});var a8=D((C7,t8)=>{var r8=S(),q$=(q,$,Z,Q,J)=>{if(typeof Z==="string")J=Q,Q=Z,Z=void 0;try{return new r8(q instanceof r8?q.version:q,Z).inc($,Q,J).version}catch(W){return null}};t8.exports=q$});var q1=D((_7,e8)=>{var o8=c(),$$=(q,$)=>{let Z=o8(q,null,!0),Q=o8($,null,!0),J=Z.compare(Q);if(J===0)return null;let W=J>0,H=W?Z:Q,Y=W?Q:Z,V=!!H.prerelease.length;if(!!Y.prerelease.length&&!V){if(!Y.patch&&!Y.minor)return"major";if(Y.compareMain(H)===0){if(Y.minor&&!Y.patch)return"minor";return"patch"}}let U=V?"pre":"";if(Z.major!==Q.major)return U+"major";if(Z.minor!==Q.minor)return U+"minor";if(Z.patch!==Q.patch)return U+"patch";return"prerelease"};e8.exports=$$});var Z1=D((N7,$1)=>{var Z$=S(),Q$=(q,$)=>new Z$(q,$).major;$1.exports=Q$});var J1=D((j7,Q1)=>{var J$=S(),W$=(q,$)=>new J$(q,$).minor;Q1.exports=W$});var H1=D((O7,W1)=>{var H$=S(),Y$=(q,$)=>new H$(q,$).patch;W1.exports=Y$});var F1=D((S7,Y1)=>{var F$=c(),X$=(q,$)=>{let Z=F$(q,$);return Z&&Z.prerelease.length?Z.prerelease:null};Y1.exports=X$});var T=D((E7,U1)=>{var X1=S(),U$=(q,$,Z)=>new X1(q,Z).compare(new X1($,Z));U1.exports=U$});var G1=D((A7,V1)=>{var V$=T(),G$=(q,$,Z)=>V$($,q,Z);V1.exports=G$});var w1=D((K7,D1)=>{var D$=T(),w$=(q,$)=>D$(q,$,!0);D1.exports=w$});var b6=D((R7,z1)=>{var B1=S(),B$=(q,$,Z)=>{let Q=new B1(q,Z),J=new B1($,Z);return Q.compare(J)||Q.compareBuild(J)};z1.exports=B$});var C1=D((x7,L1)=>{var z$=b6(),L$=(q,$)=>q.sort((Z,Q)=>z$(Z,Q,$));L1.exports=L$});var N1=D((P7,_1)=>{var C$=b6(),_$=(q,$)=>q.sort((Z,Q)=>C$(Q,Z,$));_1.exports=_$});var H6=D((M7,j1)=>{var N$=T(),j$=(q,$,Z)=>N$(q,$,Z)>0;j1.exports=j$});var h6=D((T7,O1)=>{var O$=T(),S$=(q,$,Z)=>O$(q,$,Z)<0;O1.exports=S$});var B0=D((I7,S1)=>{var E$=T(),A$=(q,$,Z)=>E$(q,$,Z)===0;S1.exports=A$});var z0=D((k7,E1)=>{var K$=T(),R$=(q,$,Z)=>K$(q,$,Z)!==0;E1.exports=R$});var f6=D((b7,A1)=>{var x$=T(),P$=(q,$,Z)=>x$(q,$,Z)>=0;A1.exports=P$});var y6=D((h7,K1)=>{var M$=T(),T$=(q,$,Z)=>M$(q,$,Z)<=0;K1.exports=T$});var L0=D((f7,R1)=>{var I$=B0(),k$=z0(),b$=H6(),h$=f6(),f$=h6(),y$=y6(),v$=(q,$,Z,Q)=>{switch($){case"===":if(typeof q==="object")q=q.version;if(typeof Z==="object")Z=Z.version;return q===Z;case"!==":if(typeof q==="object")q=q.version;if(typeof Z==="object")Z=Z.version;return q!==Z;case"":case"=":case"==":return I$(q,Z,Q);case"!=":return k$(q,Z,Q);case">":return b$(q,Z,Q);case">=":return h$(q,Z,Q);case"<":return f$(q,Z,Q);case"<=":return y$(q,Z,Q);default:throw TypeError(`Invalid operator: ${$}`)}};R1.exports=v$});var P1=D((y7,x1)=>{var g$=S(),u$=c(),{safeRe:v6,t:g6}=e(),d$=(q,$)=>{if(q instanceof g$)return q;if(typeof q==="number")q=String(q);if(typeof q!=="string")return null;$=$||{};let Z=null;if(!$.rtl)Z=q.match($.includePrerelease?v6[g6.COERCEFULL]:v6[g6.COERCE]);else{let V=$.includePrerelease?v6[g6.COERCERTLFULL]:v6[g6.COERCERTL],F;while((F=V.exec(q))&&(!Z||Z.index+Z[0].length!==q.length)){if(!Z||F.index+F[0].length!==Z.index+Z[0].length)Z=F;V.lastIndex=F.index+F[1].length+F[2].length}V.lastIndex=-1}if(Z===null)return null;let Q=Z[2],J=Z[3]||"0",W=Z[4]||"0",H=$.includePrerelease&&Z[5]?`-${Z[5]}`:"",Y=$.includePrerelease&&Z[6]?`+${Z[6]}`:"";return u$(`${Q}.${J}.${W}${H}${Y}`,$)};x1.exports=d$});var I1=D((v7,T1)=>{class M1{constructor(){this.max=1000,this.map=new Map}get(q){let $=this.map.get(q);if($===void 0)return;else return this.map.delete(q),this.map.set(q,$),$}delete(q){return this.map.delete(q)}set(q,$){if(!this.delete(q)&&$!==void 0){if(this.map.size>=this.max){let Q=this.map.keys().next().value;this.delete(Q)}this.map.set(q,$)}return this}}T1.exports=M1});var I=D((g7,f1)=>{var m$=/\s+/g;class Y6{constructor(q,$){if($=l$($),q instanceof Y6)if(q.loose===!!$.loose&&q.includePrerelease===!!$.includePrerelease)return q;else return new Y6(q.raw,$);if(q instanceof C0)return this.raw=q.value,this.set=[[q]],this.formatted=void 0,this;if(this.options=$,this.loose=!!$.loose,this.includePrerelease=!!$.includePrerelease,this.raw=q.trim().replace(m$," "),this.set=this.raw.split("||").map((Z)=>this.parseRange(Z.trim())).filter((Z)=>Z.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Z=this.set[0];if(this.set=this.set.filter((Q)=>!b1(Q[0])),this.set.length===0)this.set=[Z];else if(this.set.length>1){for(let Q of this.set)if(Q.length===1&&a$(Q[0])){this.set=[Q];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let q=0;q<this.set.length;q++){if(q>0)this.formatted+="||";let $=this.set[q];for(let Z=0;Z<$.length;Z++){if(Z>0)this.formatted+=" ";this.formatted+=$[Z].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(q){let Z=((this.options.includePrerelease&&r$)|(this.options.loose&&t$))+":"+q,Q=k1.get(Z);if(Q)return Q;let J=this.options.loose,W=J?A[E.HYPHENRANGELOOSE]:A[E.HYPHENRANGE];q=q.replace(W,YZ(this.options.includePrerelease)),j("hyphen replace",q),q=q.replace(A[E.COMPARATORTRIM],n$),j("comparator trim",q),q=q.replace(A[E.TILDETRIM],i$),j("tilde trim",q),q=q.replace(A[E.CARETTRIM],s$),j("caret trim",q);let H=q.split(" ").map((U)=>o$(U,this.options)).join(" ").split(/\s+/).map((U)=>HZ(U,this.options));if(J)H=H.filter((U)=>{return j("loose invalid filter",U,this.options),!!U.match(A[E.COMPARATORLOOSE])});j("range list",H);let Y=new Map,V=H.map((U)=>new C0(U,this.options));for(let U of V){if(b1(U))return[U];Y.set(U.value,U)}if(Y.size>1&&Y.has(""))Y.delete("");let F=[...Y.values()];return k1.set(Z,F),F}intersects(q,$){if(!(q instanceof Y6))throw TypeError("a Range is required");return this.set.some((Z)=>{return h1(Z,$)&&q.set.some((Q)=>{return h1(Q,$)&&Z.every((J)=>{return Q.every((W)=>{return J.intersects(W,$)})})})})}test(q){if(!q)return!1;if(typeof q==="string")try{q=new p$(q,this.options)}catch($){return!1}for(let $=0;$<this.set.length;$++)if(FZ(this.set[$],q,this.options))return!0;return!1}}f1.exports=Y6;var c$=I1(),k1=new c$,l$=P6(),C0=F6(),j=W6(),p$=S(),{safeRe:A,t:E,comparatorTrimReplace:n$,tildeTrimReplace:i$,caretTrimReplace:s$}=e(),{FLAG_INCLUDE_PRERELEASE:r$,FLAG_LOOSE:t$}=J6(),b1=(q)=>q.value==="<0.0.0-0",a$=(q)=>q.value==="",h1=(q,$)=>{let Z=!0,Q=q.slice(),J=Q.pop();while(Z&&Q.length)Z=Q.every((W)=>{return J.intersects(W,$)}),J=Q.pop();return Z},o$=(q,$)=>{return q=q.replace(A[E.BUILD],""),j("comp",q,$),q=$Z(q,$),j("caret",q),q=e$(q,$),j("tildes",q),q=QZ(q,$),j("xrange",q),q=WZ(q,$),j("stars",q),q},K=(q)=>!q||q.toLowerCase()==="x"||q==="*",e$=(q,$)=>{return q.trim().split(/\s+/).map((Z)=>qZ(Z,$)).join(" ")},qZ=(q,$)=>{let Z=$.loose?A[E.TILDELOOSE]:A[E.TILDE];return q.replace(Z,(Q,J,W,H,Y)=>{j("tilde",q,Q,J,W,H,Y);let V;if(K(J))V="";else if(K(W))V=`>=${J}.0.0 <${+J+1}.0.0-0`;else if(K(H))V=`>=${J}.${W}.0 <${J}.${+W+1}.0-0`;else if(Y)j("replaceTilde pr",Y),V=`>=${J}.${W}.${H}-${Y} <${J}.${+W+1}.0-0`;else V=`>=${J}.${W}.${H} <${J}.${+W+1}.0-0`;return j("tilde return",V),V})},$Z=(q,$)=>{return q.trim().split(/\s+/).map((Z)=>ZZ(Z,$)).join(" ")},ZZ=(q,$)=>{j("caret",q,$);let Z=$.loose?A[E.CARETLOOSE]:A[E.CARET],Q=$.includePrerelease?"-0":"";return q.replace(Z,(J,W,H,Y,V)=>{j("caret",q,J,W,H,Y,V);let F;if(K(W))F="";else if(K(H))F=`>=${W}.0.0${Q} <${+W+1}.0.0-0`;else if(K(Y))if(W==="0")F=`>=${W}.${H}.0${Q} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.0${Q} <${+W+1}.0.0-0`;else if(V)if(j("replaceCaret pr",V),W==="0")if(H==="0")F=`>=${W}.${H}.${Y}-${V} <${W}.${H}.${+Y+1}-0`;else F=`>=${W}.${H}.${Y}-${V} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.${Y}-${V} <${+W+1}.0.0-0`;else if(j("no pr"),W==="0")if(H==="0")F=`>=${W}.${H}.${Y}${Q} <${W}.${H}.${+Y+1}-0`;else F=`>=${W}.${H}.${Y}${Q} <${W}.${+H+1}.0-0`;else F=`>=${W}.${H}.${Y} <${+W+1}.0.0-0`;return j("caret return",F),F})},QZ=(q,$)=>{return j("replaceXRanges",q,$),q.split(/\s+/).map((Z)=>JZ(Z,$)).join(" ")},JZ=(q,$)=>{q=q.trim();let Z=$.loose?A[E.XRANGELOOSE]:A[E.XRANGE];return q.replace(Z,(Q,J,W,H,Y,V)=>{j("xRange",q,Q,J,W,H,Y,V);let F=K(W),U=F||K(H),G=U||K(Y),_=G;if(J==="="&&_)J="";if(V=$.includePrerelease?"-0":"",F)if(J===">"||J==="<")Q="<0.0.0-0";else Q="*";else if(J&&_){if(U)H=0;if(Y=0,J===">")if(J=">=",U)W=+W+1,H=0,Y=0;else H=+H+1,Y=0;else if(J==="<=")if(J="<",U)W=+W+1;else H=+H+1;if(J==="<")V="-0";Q=`${J+W}.${H}.${Y}${V}`}else if(U)Q=`>=${W}.0.0${V} <${+W+1}.0.0-0`;else if(G)Q=`>=${W}.${H}.0${V} <${W}.${+H+1}.0-0`;return j("xRange return",Q),Q})},WZ=(q,$)=>{return j("replaceStars",q,$),q.trim().replace(A[E.STAR],"")},HZ=(q,$)=>{return j("replaceGTE0",q,$),q.trim().replace(A[$.includePrerelease?E.GTE0PRE:E.GTE0],"")},YZ=(q)=>($,Z,Q,J,W,H,Y,V,F,U,G,_)=>{if(K(Q))Z="";else if(K(J))Z=`>=${Q}.0.0${q?"-0":""}`;else if(K(W))Z=`>=${Q}.${J}.0${q?"-0":""}`;else if(H)Z=`>=${Z}`;else Z=`>=${Z}${q?"-0":""}`;if(K(F))V="";else if(K(U))V=`<${+F+1}.0.0-0`;else if(K(G))V=`<${F}.${+U+1}.0-0`;else if(_)V=`<=${F}.${U}.${G}-${_}`;else if(q)V=`<${F}.${U}.${+G+1}-0`;else V=`<=${V}`;return`${Z} ${V}`.trim()},FZ=(q,$,Z)=>{for(let Q=0;Q<q.length;Q++)if(!q[Q].test($))return!1;if($.prerelease.length&&!Z.includePrerelease){for(let Q=0;Q<q.length;Q++){if(j(q[Q].semver),q[Q].semver===C0.ANY)continue;if(q[Q].semver.prerelease.length>0){let J=q[Q].semver;if(J.major===$.major&&J.minor===$.minor&&J.patch===$.patch)return!0}}return!1}return!0}});var F6=D((u7,m1)=>{var X6=Symbol("SemVer ANY");class u6{static get ANY(){return X6}constructor(q,$){if($=y1($),q instanceof u6)if(q.loose===!!$.loose)return q;else q=q.value;if(q=q.trim().split(/\s+/).join(" "),N0("comparator",q,$),this.options=$,this.loose=!!$.loose,this.parse(q),this.semver===X6)this.value="";else this.value=this.operator+this.semver.version;N0("comp",this)}parse(q){let $=this.options.loose?v1[g1.COMPARATORLOOSE]:v1[g1.COMPARATOR],Z=q.match($);if(!Z)throw TypeError(`Invalid comparator: ${q}`);if(this.operator=Z[1]!==void 0?Z[1]:"",this.operator==="=")this.operator="";if(!Z[2])this.semver=X6;else this.semver=new u1(Z[2],this.options.loose)}toString(){return this.value}test(q){if(N0("Comparator.test",q,this.options.loose),this.semver===X6||q===X6)return!0;if(typeof q==="string")try{q=new u1(q,this.options)}catch($){return!1}return _0(q,this.operator,this.semver,this.options)}intersects(q,$){if(!(q instanceof u6))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new d1(q.value,$).test(this.value)}else if(q.operator===""){if(q.value==="")return!0;return new d1(this.value,$).test(q.semver)}if($=y1($),$.includePrerelease&&(this.value==="<0.0.0-0"||q.value==="<0.0.0-0"))return!1;if(!$.includePrerelease&&(this.value.startsWith("<0.0.0")||q.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&q.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&q.operator.startsWith("<"))return!0;if(this.semver.version===q.semver.version&&this.operator.includes("=")&&q.operator.includes("="))return!0;if(_0(this.semver,"<",q.semver,$)&&this.operator.startsWith(">")&&q.operator.startsWith("<"))return!0;if(_0(this.semver,">",q.semver,$)&&this.operator.startsWith("<")&&q.operator.startsWith(">"))return!0;return!1}}m1.exports=u6;var y1=P6(),{safeRe:v1,t:g1}=e(),_0=L0(),N0=W6(),u1=S(),d1=I()});var U6=D((d7,c1)=>{var XZ=I(),UZ=(q,$,Z)=>{try{$=new XZ($,Z)}catch(Q){return!1}return $.test(q)};c1.exports=UZ});var p1=D((m7,l1)=>{var VZ=I(),GZ=(q,$)=>new VZ(q,$).set.map((Z)=>Z.map((Q)=>Q.value).join(" ").trim().split(" "));l1.exports=GZ});var i1=D((c7,n1)=>{var DZ=S(),wZ=I(),BZ=(q,$,Z)=>{let Q=null,J=null,W=null;try{W=new wZ($,Z)}catch(H){return null}return q.forEach((H)=>{if(W.test(H)){if(!Q||J.compare(H)===-1)Q=H,J=new DZ(Q,Z)}}),Q};n1.exports=BZ});var r1=D((l7,s1)=>{var zZ=S(),LZ=I(),CZ=(q,$,Z)=>{let Q=null,J=null,W=null;try{W=new LZ($,Z)}catch(H){return null}return q.forEach((H)=>{if(W.test(H)){if(!Q||J.compare(H)===1)Q=H,J=new zZ(Q,Z)}}),Q};s1.exports=CZ});var o1=D((p7,a1)=>{var j0=S(),_Z=I(),t1=H6(),NZ=(q,$)=>{q=new _Z(q,$);let Z=new j0("0.0.0");if(q.test(Z))return Z;if(Z=new j0("0.0.0-0"),q.test(Z))return Z;Z=null;for(let Q=0;Q<q.set.length;++Q){let J=q.set[Q],W=null;if(J.forEach((H)=>{let Y=new j0(H.semver.version);switch(H.operator){case">":if(Y.prerelease.length===0)Y.patch++;else Y.prerelease.push(0);Y.raw=Y.format();case"":case">=":if(!W||t1(Y,W))W=Y;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${H.operator}`)}}),W&&(!Z||t1(Z,W)))Z=W}if(Z&&q.test(Z))return Z;return null};a1.exports=NZ});var q4=D((n7,e1)=>{var jZ=I(),OZ=(q,$)=>{try{return new jZ(q,$).range||"*"}catch(Z){return null}};e1.exports=OZ});var d6=D((i7,J4)=>{var SZ=S(),Q4=F6(),{ANY:EZ}=Q4,AZ=I(),KZ=U6(),$4=H6(),Z4=h6(),RZ=y6(),xZ=f6(),PZ=(q,$,Z,Q)=>{q=new SZ(q,Q),$=new AZ($,Q);let J,W,H,Y,V;switch(Z){case">":J=$4,W=RZ,H=Z4,Y=">",V=">=";break;case"<":J=Z4,W=xZ,H=$4,Y="<",V="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(KZ(q,$,Q))return!1;for(let F=0;F<$.set.length;++F){let U=$.set[F],G=null,_=null;if(U.forEach((z)=>{if(z.semver===EZ)z=new Q4(">=0.0.0");if(G=G||z,_=_||z,J(z.semver,G.semver,Q))G=z;else if(H(z.semver,_.semver,Q))_=z}),G.operator===Y||G.operator===V)return!1;if((!_.operator||_.operator===Y)&&W(q,_.semver))return!1;else if(_.operator===V&&H(q,_.semver))return!1}return!0};J4.exports=PZ});var H4=D((s7,W4)=>{var MZ=d6(),TZ=(q,$,Z)=>MZ(q,$,">",Z);W4.exports=TZ});var F4=D((r7,Y4)=>{var IZ=d6(),kZ=(q,$,Z)=>IZ(q,$,"<",Z);Y4.exports=kZ});var V4=D((t7,U4)=>{var X4=I(),bZ=(q,$,Z)=>{return q=new X4(q,Z),$=new X4($,Z),q.intersects($,Z)};U4.exports=bZ});var D4=D((a7,G4)=>{var hZ=U6(),fZ=T();G4.exports=(q,$,Z)=>{let Q=[],J=null,W=null,H=q.sort((U,G)=>fZ(U,G,Z));for(let U of H)if(hZ(U,$,Z)){if(W=U,!J)J=U}else{if(W)Q.push([J,W]);W=null,J=null}if(J)Q.push([J,null]);let Y=[];for(let[U,G]of Q)if(U===G)Y.push(U);else if(!G&&U===H[0])Y.push("*");else if(!G)Y.push(`>=${U}`);else if(U===H[0])Y.push(`<=${G}`);else Y.push(`${U} - ${G}`);let V=Y.join(" || "),F=typeof $.raw==="string"?$.raw:String($);return V.length<F.length?V:$}});var _4=D((o7,C4)=>{var w4=I(),S0=F6(),{ANY:O0}=S0,V6=U6(),E0=T(),yZ=(q,$,Z={})=>{if(q===$)return!0;q=new w4(q,Z),$=new w4($,Z);let Q=!1;q:for(let J of q.set){for(let W of $.set){let H=gZ(J,W,Z);if(Q=Q||H!==null,H)continue q}if(Q)return!1}return!0},vZ=[new S0(">=0.0.0-0")],B4=[new S0(">=0.0.0")],gZ=(q,$,Z)=>{if(q===$)return!0;if(q.length===1&&q[0].semver===O0)if($.length===1&&$[0].semver===O0)return!0;else if(Z.includePrerelease)q=vZ;else q=B4;if($.length===1&&$[0].semver===O0)if(Z.includePrerelease)return!0;else $=B4;let Q=new Set,J,W;for(let z of q)if(z.operator===">"||z.operator===">=")J=z4(J,z,Z);else if(z.operator==="<"||z.operator==="<=")W=L4(W,z,Z);else Q.add(z.semver);if(Q.size>1)return null;let H;if(J&&W){if(H=E0(J.semver,W.semver,Z),H>0)return null;else if(H===0&&(J.operator!==">="||W.operator!=="<="))return null}for(let z of Q){if(J&&!V6(z,String(J),Z))return null;if(W&&!V6(z,String(W),Z))return null;for(let O of $)if(!V6(z,String(O),Z))return!1;return!0}let Y,V,F,U,G=W&&!Z.includePrerelease&&W.semver.prerelease.length?W.semver:!1,_=J&&!Z.includePrerelease&&J.semver.prerelease.length?J.semver:!1;if(G&&G.prerelease.length===1&&W.operator==="<"&&G.prerelease[0]===0)G=!1;for(let z of $){if(U=U||z.operator===">"||z.operator===">=",F=F||z.operator==="<"||z.operator==="<=",J){if(_){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===_.major&&z.semver.minor===_.minor&&z.semver.patch===_.patch)_=!1}if(z.operator===">"||z.operator===">="){if(Y=z4(J,z,Z),Y===z&&Y!==J)return!1}else if(J.operator===">="&&!V6(J.semver,String(z),Z))return!1}if(W){if(G){if(z.semver.prerelease&&z.semver.prerelease.length&&z.semver.major===G.major&&z.semver.minor===G.minor&&z.semver.patch===G.patch)G=!1}if(z.operator==="<"||z.operator==="<="){if(V=L4(W,z,Z),V===z&&V!==W)return!1}else if(W.operator==="<="&&!V6(W.semver,String(z),Z))return!1}if(!z.operator&&(W||J)&&H!==0)return!1}if(J&&F&&!W&&H!==0)return!1;if(W&&U&&!J&&H!==0)return!1;if(_||G)return!1;return!0},z4=(q,$,Z)=>{if(!q)return $;let Q=E0(q.semver,$.semver,Z);return Q>0?q:Q<0?$:$.operator===">"&&q.operator===">="?$:q},L4=(q,$,Z)=>{if(!q)return $;let Q=E0(q.semver,$.semver,Z);return Q<0?q:Q>0?$:$.operator==="<"&&q.operator==="<="?$:q};C4.exports=yZ});var m6=D((e7,O4)=>{var A0=e(),N4=J6(),uZ=S(),j4=D0(),dZ=c(),mZ=n8(),cZ=s8(),lZ=a8(),pZ=q1(),nZ=Z1(),iZ=J1(),sZ=H1(),rZ=F1(),tZ=T(),aZ=G1(),oZ=w1(),eZ=b6(),qQ=C1(),$Q=N1(),ZQ=H6(),QQ=h6(),JQ=B0(),WQ=z0(),HQ=f6(),YQ=y6(),FQ=L0(),XQ=P1(),UQ=F6(),VQ=I(),GQ=U6(),DQ=p1(),wQ=i1(),BQ=r1(),zQ=o1(),LQ=q4(),CQ=d6(),_Q=H4(),NQ=F4(),jQ=V4(),OQ=D4(),SQ=_4();O4.exports={parse:dZ,valid:mZ,clean:cZ,inc:lZ,diff:pZ,major:nZ,minor:iZ,patch:sZ,prerelease:rZ,compare:tZ,rcompare:aZ,compareLoose:oZ,compareBuild:eZ,sort:qQ,rsort:$Q,gt:ZQ,lt:QQ,eq:JQ,neq:WQ,gte:HQ,lte:YQ,cmp:FQ,coerce:XQ,Comparator:UQ,Range:VQ,satisfies:GQ,toComparators:DQ,maxSatisfying:wQ,minSatisfying:BQ,minVersion:zQ,validRange:LQ,outside:CQ,gtr:_Q,ltr:NQ,intersects:jQ,simplifyRange:OQ,subset:SQ,SemVer:uZ,re:A0.re,src:A0.src,tokens:A0.t,SEMVER_SPEC_VERSION:N4.SEMVER_SPEC_VERSION,RELEASE_TYPES:N4.RELEASE_TYPES,compareIdentifiers:j4.compareIdentifiers,rcompareIdentifiers:j4.rcompareIdentifiers}});var E4=D((qW,S4)=>{var EQ=m6();S4.exports=EQ.satisfies(process.version,">=15.7.0")});var K4=D(($W,A4)=>{var AQ=m6();A4.exports=AQ.satisfies(process.version,">=16.9.0")});var K0=D((ZW,R4)=>{var KQ=E4(),RQ=K4(),xQ={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},PQ={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};R4.exports=function(q,$){if(!q||!$)return;let Z=$.asymmetricKeyType;if(!Z)return;let Q=xQ[Z];if(!Q)throw Error(`Unknown key type "${Z}".`);if(!Q.includes(q))throw Error(`"alg" parameter for "${Z}" key type must be one of: ${Q.join(", ")}.`);if(KQ)switch(Z){case"ec":let J=$.asymmetricKeyDetails.namedCurve,W=PQ[q];if(J!==W)throw Error(`"alg" parameter "${q}" requires curve "${W}".`);break;case"rsa-pss":if(RQ){let H=parseInt(q.slice(-3),10),{hashAlgorithm:Y,mgf1HashAlgorithm:V,saltLength:F}=$.asymmetricKeyDetails;if(Y!==`sha${H}`||V!==Y)throw Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${q}.`);if(F!==void 0&&F>H>>3)throw Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${q}.`)}break}}});var R0=D((QW,x4)=>{var MQ=m6();x4.exports=MQ.satisfies(process.version,"^6.12.0 || >=8.0.0")});var T4=D((JW,M4)=>{var N=Q6(),TQ=F0(),P4=X0(),IQ=Y0(),kQ=U0(),bQ=K0(),hQ=R0(),fQ=E6(),{KeyObject:yQ,createSecretKey:vQ,createPublicKey:gQ}=x("crypto"),x0=["RS256","RS384","RS512"],uQ=["ES256","ES384","ES512"],P0=["RS256","RS384","RS512"],dQ=["HS256","HS384","HS512"];if(hQ)x0.splice(x0.length,0,"PS256","PS384","PS512"),P0.splice(P0.length,0,"PS256","PS384","PS512");M4.exports=function(q,$,Z,Q){if(typeof Z==="function"&&!Q)Q=Z,Z={};if(!Z)Z={};Z=Object.assign({},Z);let J;if(Q)J=Q;else J=function(U,G){if(U)throw U;return G};if(Z.clockTimestamp&&typeof Z.clockTimestamp!=="number")return J(new N("clockTimestamp must be a number"));if(Z.nonce!==void 0&&(typeof Z.nonce!=="string"||Z.nonce.trim()===""))return J(new N("nonce must be a non-empty string"));if(Z.allowInvalidAsymmetricKeyTypes!==void 0&&typeof Z.allowInvalidAsymmetricKeyTypes!=="boolean")return J(new N("allowInvalidAsymmetricKeyTypes must be a boolean"));let W=Z.clockTimestamp||Math.floor(Date.now()/1000);if(!q)return J(new N("jwt must be provided"));if(typeof q!=="string")return J(new N("jwt must be a string"));let H=q.split(".");if(H.length!==3)return J(new N("jwt malformed"));let Y;try{Y=IQ(q,{complete:!0})}catch(U){return J(U)}if(!Y)return J(new N("invalid token"));let V=Y.header,F;if(typeof $==="function"){if(!Q)return J(new N("verify must be called asynchronous if secret or public key is provided as a callback"));F=$}else F=function(U,G){return G(null,$)};return F(V,function(U,G){if(U)return J(new N("error in secret or public key callback: "+U.message));let _=H[2].trim()!=="";if(!_&&G)return J(new N("jwt signature is required"));if(_&&!G)return J(new N("secret or public key must be provided"));if(!_&&!Z.algorithms)return J(new N('please specify "none" in "algorithms" to verify unsigned tokens'));if(G!=null&&!(G instanceof yQ))try{G=gQ(G)}catch(R){try{G=vQ(typeof G==="string"?Buffer.from(G):G)}catch(K9){return J(new N("secretOrPublicKey is not valid key material"))}}if(!Z.algorithms)if(G.type==="secret")Z.algorithms=dQ;else if(["rsa","rsa-pss"].includes(G.asymmetricKeyType))Z.algorithms=P0;else if(G.asymmetricKeyType==="ec")Z.algorithms=uQ;else Z.algorithms=x0;if(Z.algorithms.indexOf(Y.header.alg)===-1)return J(new N("invalid algorithm"));if(V.alg.startsWith("HS")&&G.type!=="secret")return J(new N(`secretOrPublicKey must be a symmetric key when using ${V.alg}`));else if(/^(?:RS|PS|ES)/.test(V.alg)&&G.type!=="public")return J(new N(`secretOrPublicKey must be an asymmetric key when using ${V.alg}`));if(!Z.allowInvalidAsymmetricKeyTypes)try{bQ(V.alg,G)}catch(R){return J(R)}let z;try{z=fQ.verify(q,Y.header.alg,G)}catch(R){return J(R)}if(!z)return J(new N("invalid signature"));let O=Y.payload;if(typeof O.nbf<"u"&&!Z.ignoreNotBefore){if(typeof O.nbf!=="number")return J(new N("invalid nbf value"));if(O.nbf>W+(Z.clockTolerance||0))return J(new TQ("jwt not active",new Date(O.nbf*1000)))}if(typeof O.exp<"u"&&!Z.ignoreExpiration){if(typeof O.exp!=="number")return J(new N("invalid exp value"));if(W>=O.exp+(Z.clockTolerance||0))return J(new P4("jwt expired",new Date(O.exp*1000)))}if(Z.audience){let R=Array.isArray(Z.audience)?Z.audience:[Z.audience];if(!(Array.isArray(O.aud)?O.aud:[O.aud]).some(function(y0){return R.some(function(t6){return t6 instanceof RegExp?t6.test(y0):t6===y0})}))return J(new N("jwt audience invalid. expected: "+R.join(" or ")))}if(Z.issuer){if(typeof Z.issuer==="string"&&O.iss!==Z.issuer||Array.isArray(Z.issuer)&&Z.issuer.indexOf(O.iss)===-1)return J(new N("jwt issuer invalid. expected: "+Z.issuer))}if(Z.subject){if(O.sub!==Z.subject)return J(new N("jwt subject invalid. expected: "+Z.subject))}if(Z.jwtid){if(O.jti!==Z.jwtid)return J(new N("jwt jwtid invalid. expected: "+Z.jwtid))}if(Z.nonce){if(O.nonce!==Z.nonce)return J(new N("jwt nonce invalid. expected: "+Z.nonce))}if(Z.maxAge){if(typeof O.iat!=="number")return J(new N("iat required when maxAge is specified"));let R=kQ(Z.maxAge,O.iat);if(typeof R>"u")return J(new N('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(W>=R+(Z.clockTolerance||0))return J(new P4("maxAge exceeded",new Date(R*1000)))}if(Z.complete===!0){let R=Y.signature;return J(null,{header:V,payload:O,signature:R})}return J(null,O)})}});var y4=D((WW,f4)=>{var I4=1/0,b4=9007199254740991,mQ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,k4=NaN,cQ="[object Arguments]",lQ="[object Function]",pQ="[object GeneratorFunction]",nQ="[object String]",iQ="[object Symbol]",sQ=/^\s+|\s+$/g,rQ=/^[-+]0x[0-9a-f]+$/i,tQ=/^0b[01]+$/i,aQ=/^0o[0-7]+$/i,oQ=/^(?:0|[1-9]\d*)$/,eQ=parseInt;function q5(q,$){var Z=-1,Q=q?q.length:0,J=Array(Q);while(++Z<Q)J[Z]=$(q[Z],Z,q);return J}function $5(q,$,Z,Q){var J=q.length,W=Z+(Q?1:-1);while(Q?W--:++W<J)if($(q[W],W,q))return W;return-1}function Z5(q,$,Z){if($!==$)return $5(q,Q5,Z);var Q=Z-1,J=q.length;while(++Q<J)if(q[Q]===$)return Q;return-1}function Q5(q){return q!==q}function J5(q,$){var Z=-1,Q=Array(q);while(++Z<q)Q[Z]=$(Z);return Q}function W5(q,$){return q5($,function(Z){return q[Z]})}function H5(q,$){return function(Z){return q($(Z))}}var c6=Object.prototype,T0=c6.hasOwnProperty,l6=c6.toString,Y5=c6.propertyIsEnumerable,F5=H5(Object.keys,Object),X5=Math.max;function U5(q,$){var Z=h4(q)||B5(q)?J5(q.length,String):[],Q=Z.length,J=!!Q;for(var W in q)if(($||T0.call(q,W))&&!(J&&(W=="length"||G5(W,Q))))Z.push(W);return Z}function V5(q){if(!D5(q))return F5(q);var $=[];for(var Z in Object(q))if(T0.call(q,Z)&&Z!="constructor")$.push(Z);return $}function G5(q,$){return $=$==null?b4:$,!!$&&(typeof q=="number"||oQ.test(q))&&(q>-1&&q%1==0&&q<$)}function D5(q){var $=q&&q.constructor,Z=typeof $=="function"&&$.prototype||c6;return q===Z}function w5(q,$,Z,Q){q=I0(q)?q:A5(q),Z=Z&&!Q?O5(Z):0;var J=q.length;if(Z<0)Z=X5(J+Z,0);return _5(q)?Z<=J&&q.indexOf($,Z)>-1:!!J&&Z5(q,$,Z)>-1}function B5(q){return z5(q)&&T0.call(q,"callee")&&(!Y5.call(q,"callee")||l6.call(q)==cQ)}var h4=Array.isArray;function I0(q){return q!=null&&C5(q.length)&&!L5(q)}function z5(q){return k0(q)&&I0(q)}function L5(q){var $=M0(q)?l6.call(q):"";return $==lQ||$==pQ}function C5(q){return typeof q=="number"&&q>-1&&q%1==0&&q<=b4}function M0(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function k0(q){return!!q&&typeof q=="object"}function _5(q){return typeof q=="string"||!h4(q)&&k0(q)&&l6.call(q)==nQ}function N5(q){return typeof q=="symbol"||k0(q)&&l6.call(q)==iQ}function j5(q){if(!q)return q===0?q:0;if(q=S5(q),q===I4||q===-I4){var $=q<0?-1:1;return $*mQ}return q===q?q:0}function O5(q){var $=j5(q),Z=$%1;return $===$?Z?$-Z:$:0}function S5(q){if(typeof q=="number")return q;if(N5(q))return k4;if(M0(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=M0($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(sQ,"");var Z=tQ.test(q);return Z||aQ.test(q)?eQ(q.slice(2),Z?2:8):rQ.test(q)?k4:+q}function E5(q){return I0(q)?U5(q):V5(q)}function A5(q){return q?W5(q,E5(q)):[]}f4.exports=w5});var g4=D((HW,v4)=>{var K5="[object Boolean]",R5=Object.prototype,x5=R5.toString;function P5(q){return q===!0||q===!1||M5(q)&&x5.call(q)==K5}function M5(q){return!!q&&typeof q=="object"}v4.exports=P5});var l4=D((YW,c4)=>{var u4=1/0,T5=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,d4=NaN,I5="[object Symbol]",k5=/^\s+|\s+$/g,b5=/^[-+]0x[0-9a-f]+$/i,h5=/^0b[01]+$/i,f5=/^0o[0-7]+$/i,y5=parseInt,v5=Object.prototype,g5=v5.toString;function u5(q){return typeof q=="number"&&q==l5(q)}function m4(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function d5(q){return!!q&&typeof q=="object"}function m5(q){return typeof q=="symbol"||d5(q)&&g5.call(q)==I5}function c5(q){if(!q)return q===0?q:0;if(q=p5(q),q===u4||q===-u4){var $=q<0?-1:1;return $*T5}return q===q?q:0}function l5(q){var $=c5(q),Z=$%1;return $===$?Z?$-Z:$:0}function p5(q){if(typeof q=="number")return q;if(m5(q))return d4;if(m4(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=m4($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(k5,"");var Z=h5.test(q);return Z||f5.test(q)?y5(q.slice(2),Z?2:8):b5.test(q)?d4:+q}c4.exports=u5});var n4=D((FW,p4)=>{var n5="[object Number]",i5=Object.prototype,s5=i5.toString;function r5(q){return!!q&&typeof q=="object"}function t5(q){return typeof q=="number"||r5(q)&&s5.call(q)==n5}p4.exports=t5});var t4=D((XW,r4)=>{var a5="[object Object]";function o5(q){var $=!1;if(q!=null&&typeof q.toString!="function")try{$=!!(q+"")}catch(Z){}return $}function e5(q,$){return function(Z){return q($(Z))}}var qJ=Function.prototype,i4=Object.prototype,s4=qJ.toString,$J=i4.hasOwnProperty,ZJ=s4.call(Object),QJ=i4.toString,JJ=e5(Object.getPrototypeOf,Object);function WJ(q){return!!q&&typeof q=="object"}function HJ(q){if(!WJ(q)||QJ.call(q)!=a5||o5(q))return!1;var $=JJ(q);if($===null)return!0;var Z=$J.call($,"constructor")&&$.constructor;return typeof Z=="function"&&Z instanceof Z&&s4.call(Z)==ZJ}r4.exports=HJ});var o4=D((UW,a4)=>{var YJ="[object String]",FJ=Object.prototype,XJ=FJ.toString,UJ=Array.isArray;function VJ(q){return!!q&&typeof q=="object"}function GJ(q){return typeof q=="string"||!UJ(q)&&VJ(q)&&XJ.call(q)==YJ}a4.exports=GJ});var Q9=D((VW,Z9)=>{var DJ="Expected a function",e4=1/0,wJ=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,q9=NaN,BJ="[object Symbol]",zJ=/^\s+|\s+$/g,LJ=/^[-+]0x[0-9a-f]+$/i,CJ=/^0b[01]+$/i,_J=/^0o[0-7]+$/i,NJ=parseInt,jJ=Object.prototype,OJ=jJ.toString;function SJ(q,$){var Z;if(typeof $!="function")throw TypeError(DJ);return q=xJ(q),function(){if(--q>0)Z=$.apply(this,arguments);if(q<=1)$=void 0;return Z}}function EJ(q){return SJ(2,q)}function $9(q){var $=typeof q;return!!q&&($=="object"||$=="function")}function AJ(q){return!!q&&typeof q=="object"}function KJ(q){return typeof q=="symbol"||AJ(q)&&OJ.call(q)==BJ}function RJ(q){if(!q)return q===0?q:0;if(q=PJ(q),q===e4||q===-e4){var $=q<0?-1:1;return $*wJ}return q===q?q:0}function xJ(q){var $=RJ(q),Z=$%1;return $===$?Z?$-Z:$:0}function PJ(q){if(typeof q=="number")return q;if(KJ(q))return q9;if($9(q)){var $=typeof q.valueOf=="function"?q.valueOf():q;q=$9($)?$+"":$}if(typeof q!="string")return q===0?q:+q;q=q.replace(zJ,"");var Z=CJ.test(q);return Z||_J.test(q)?NJ(q.slice(2),Z?2:8):LJ.test(q)?q9:+q}Z9.exports=EJ});var G9=D((GW,V9)=>{var J9=U0(),MJ=R0(),TJ=K0(),W9=E6(),IJ=y4(),p6=g4(),H9=l4(),b0=n4(),F9=t4(),g=o4(),kJ=Q9(),{KeyObject:bJ,createSecretKey:hJ,createPrivateKey:fJ}=x("crypto"),X9=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(MJ)X9.splice(3,0,"PS256","PS384","PS512");var yJ={expiresIn:{isValid:function(q){return H9(q)||g(q)&&q},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function(q){return H9(q)||g(q)&&q},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function(q){return g(q)||Array.isArray(q)},message:'"audience" must be a string or array'},algorithm:{isValid:IJ.bind(null,X9),message:'"algorithm" must be a valid string enum value'},header:{isValid:F9,message:'"header" must be an object'},encoding:{isValid:g,message:'"encoding" must be a string'},issuer:{isValid:g,message:'"issuer" must be a string'},subject:{isValid:g,message:'"subject" must be a string'},jwtid:{isValid:g,message:'"jwtid" must be a string'},noTimestamp:{isValid:p6,message:'"noTimestamp" must be a boolean'},keyid:{isValid:g,message:'"keyid" must be a string'},mutatePayload:{isValid:p6,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:p6,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:p6,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},vJ={iat:{isValid:b0,message:'"iat" should be a number of seconds'},exp:{isValid:b0,message:'"exp" should be a number of seconds'},nbf:{isValid:b0,message:'"nbf" should be a number of seconds'}};function U9(q,$,Z,Q){if(!F9(Z))throw Error('Expected "'+Q+'" to be a plain object.');Object.keys(Z).forEach(function(J){let W=q[J];if(!W){if(!$)throw Error('"'+J+'" is not allowed in "'+Q+'"');return}if(!W.isValid(Z[J]))throw Error(W.message)})}function gJ(q){return U9(yJ,!1,q,"options")}function uJ(q){return U9(vJ,!0,q,"payload")}var Y9={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},dJ=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];V9.exports=function(q,$,Z,Q){if(typeof Z==="function")Q=Z,Z={};else Z=Z||{};let J=typeof q==="object"&&!Buffer.isBuffer(q),W=Object.assign({alg:Z.algorithm||"HS256",typ:J?"JWT":void 0,kid:Z.keyid},Z.header);function H(F){if(Q)return Q(F);throw F}if(!$&&Z.algorithm!=="none")return H(Error("secretOrPrivateKey must have a value"));if($!=null&&!($ instanceof bJ))try{$=fJ($)}catch(F){try{$=hJ(typeof $==="string"?Buffer.from($):$)}catch(U){return H(Error("secretOrPrivateKey is not valid key material"))}}if(W.alg.startsWith("HS")&&$.type!=="secret")return H(Error(`secretOrPrivateKey must be a symmetric key when using ${W.alg}`));else if(/^(?:RS|PS|ES)/.test(W.alg)){if($.type!=="private")return H(Error(`secretOrPrivateKey must be an asymmetric key when using ${W.alg}`));if(!Z.allowInsecureKeySizes&&!W.alg.startsWith("ES")&&$.asymmetricKeyDetails!==void 0&&$.asymmetricKeyDetails.modulusLength<2048)return H(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`))}if(typeof q>"u")return H(Error("payload is required"));else if(J){try{uJ(q)}catch(F){return H(F)}if(!Z.mutatePayload)q=Object.assign({},q)}else{let F=dJ.filter(function(U){return typeof Z[U]<"u"});if(F.length>0)return H(Error("invalid "+F.join(",")+" option for "+typeof q+" payload"))}if(typeof q.exp<"u"&&typeof Z.expiresIn<"u")return H(Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof q.nbf<"u"&&typeof Z.notBefore<"u")return H(Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{gJ(Z)}catch(F){return H(F)}if(!Z.allowInvalidAsymmetricKeyTypes)try{TJ(W.alg,$)}catch(F){return H(F)}let Y=q.iat||Math.floor(Date.now()/1000);if(Z.noTimestamp)delete q.iat;else if(J)q.iat=Y;if(typeof Z.notBefore<"u"){try{q.nbf=J9(Z.notBefore,Y)}catch(F){return H(F)}if(typeof q.nbf>"u")return H(Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof Z.expiresIn<"u"&&typeof q==="object"){try{q.exp=J9(Z.expiresIn,Y)}catch(F){return H(F)}if(typeof q.exp>"u")return H(Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(Y9).forEach(function(F){let U=Y9[F];if(typeof Z[F]<"u"){if(typeof q[U]<"u")return H(Error('Bad "options.'+F+'" option. The payload already has an "'+U+'" property.'));q[U]=Z[F]}});let V=Z.encoding||"utf8";if(typeof Q==="function")Q=Q&&kJ(Q),W9.createSign({header:W,privateKey:$,payload:q,encoding:V}).once("error",Q).once("done",function(F){if(!Z.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&F.length<256)return Q(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`));Q(null,F)});else{let F=W9.sign({header:W,payload:q,secret:$,encoding:V});if(!Z.allowInsecureKeySizes&&/^(?:RS|PS)/.test(W.alg)&&F.length<256)throw Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${W.alg}`);return F}}});var w9=D((DW,D9)=>{D9.exports={decode:Y0(),verify:T4(),sign:G9(),JsonWebTokenError:Q6(),NotBeforeError:F0(),TokenExpiredError:X0()}});var SH=B9(B2(),1);function M2(q="",$){return(Z)=>{let Q=q.trim();if(Q&&!Q.startsWith("/"))Q="/"+Q;if(Q.endsWith("/"))Q=Q.slice(0,-1);C.defineController(Z,{prefix:Q,middleware:$?.middleware||[]})}}function p(q){return($="")=>{return(Z,Q)=>{let J=$.trim();if(J&&!J.startsWith("/"))J="/"+J;let W=Reflect.getMetadata("route:middleware",Z,Q)||[];C.defineRoute(Z,Q,{method:q,path:J,middleware:W,parameters:[],dependencies:[],responses:[]})}}}var T2=p("GET"),I2=p("POST"),k2=p("PUT"),b2=p("DELETE"),h2=p("PATCH"),f2=p("ALL");function R9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"body",schema:q,required:!0};C.defineParameter($,Z,Q,J)}}function x9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"query",required:!1};if(typeof q==="string")J.name=q;else if(q)J.schema=q;C.defineParameter($,Z,Q,J)}}function P9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"param",name:q,required:!0};C.defineParameter($,Z,Q,J)}}function M9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"header",name:q,required:!1};C.defineParameter($,Z,Q,J)}}function T9(q){return($,Z,Q)=>{if(!Z)return;let J={index:Q,type:"cookie",name:q,required:!1};C.defineParameter($,Z,Q,J)}}function I9(){return(q,$,Z)=>{if(!$)return;let Q={index:Z,type:"context",required:!0};C.defineParameter(q,$,Z,Q)}}function d2(q,$="request"){return(Z,Q,J)=>{if(Q===void 0)throw Error("@Depends decorator can only be used on method parameters, not constructor parameters");C.defineDependency(Z,Q,J,{index:J,provider:q,scope:$})}}function c2(...q){return($,Z)=>{let Q=Reflect.getMetadata("route:middleware",$,Z)||[];Reflect.defineMetadata("route:middleware",[...Q,...q],$,Z)}}function n2(q){return($,Z)=>{let Q=C.getRouteMetadata($,Z);C.defineRoute($,Z,{...Q,docs:{...Q?.docs,...q}})}}function i2(q){return($,Z)=>{let Q=C.getRouteMetadata($,Z),J=Q?.responses||[],W=J.findIndex((Y)=>Y.statusCode===q.statusCode),H;if(W>=0)H=[...J],H[W]=q;else H=[...J,q];C.defineRoute($,Z,{...Q,responses:H})}}var u=B9(w9(),1);class h0{config;blacklistedTokens=new Set;constructor(q){this.config=q;if(!q.secret)throw Error("JWT secret is required")}generateTokens(q){let $=Math.floor(Date.now()/1000),Z=this.parseExpiration(this.config.expiresIn||"1h"),Q={sub:q.sub,...q,iat:$,exp:$+Z,iss:this.config.issuer,aud:this.config.audience},J=u.sign(Q,this.config.secret,{algorithm:this.config.algorithm||"HS256"}),W={sub:q.sub,type:"refresh",iat:$,exp:$+this.parseExpiration(this.config.refreshExpiresIn||"7d"),iss:this.config.issuer,aud:this.config.audience},H=u.sign(W,this.config.refreshSecret||this.config.secret,{algorithm:this.config.algorithm||"HS256"});return{accessToken:J,refreshToken:H,expiresIn:Z}}verifyAccessToken(q){if(this.isBlacklisted(q))throw Error("Token has been revoked");try{return u.verify(q,this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience})}catch($){if($ instanceof Error)throw Error(`Invalid token: ${$.message}`);throw Error("Invalid token")}}verifyRefreshToken(q){if(this.isBlacklisted(q))throw Error("Refresh token has been revoked");try{let $=u.verify(q,this.config.refreshSecret||this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience});if($.type!=="refresh")throw Error("Invalid refresh token type");return $}catch($){if($ instanceof Error)throw Error(`Invalid refresh token: ${$.message}`);throw Error("Invalid refresh token")}}refreshAccessToken(q){let $=this.verifyRefreshToken(q);return this.blacklistToken(q),this.generateTokens({sub:$.sub,...Object.fromEntries(Object.entries($).filter(([Z])=>!["iat","exp","iss","aud","type"].includes(Z)))})}decodeToken(q){try{return u.decode(q)}catch{return null}}blacklistToken(q){this.blacklistedTokens.add(q)}isBlacklisted(q){return this.blacklistedTokens.has(q)}cleanupBlacklist(){let q=Math.floor(Date.now()/1000);for(let $ of this.blacklistedTokens){let Z=this.decodeToken($);if(Z&&Z.exp&&Z.exp<q)this.blacklistedTokens.delete($)}}parseExpiration(q){if(typeof q==="number")return q;let $={s:1,m:60,h:3600,d:86400,w:604800},Z=q.match(/^(\d+)([smhdw])$/);if(!Z)throw Error(`Invalid expiration format: ${q}`);let[,Q,J]=Z;return parseInt(Q)*$[J]}}var BW=X.object({sub:X.string(),iat:X.number().optional(),exp:X.number().optional(),iss:X.string().optional(),aud:X.string().optional()}).passthrough(),zW=X.object({username:X.string().min(1),password:X.string().min(1)}),LW=X.object({refreshToken:X.string().min(1)});class i6{config;userProvider;jwtProvider;constructor(q,$){this.config=q;this.userProvider=$;this.jwtProvider=new h0(q)}async login(q,$){let Z=await this.userProvider.findByCredentials(q,$);if(!Z)throw new h("Invalid credentials");let Q=this.jwtProvider.generateTokens({sub:Z.id,username:Z.username,email:Z.email,roles:Z.roles||[],permissions:Z.permissions||[]});return{user:Z,tokens:Q}}async refresh(q){try{return this.jwtProvider.refreshAccessToken(q)}catch($){throw new n6($ instanceof Error?$.message:"Invalid refresh token")}}async logout(q,$){if(this.jwtProvider.blacklistToken(q),$)this.jwtProvider.blacklistToken($)}async verifyToken(q){try{let $=this.jwtProvider.verifyAccessToken(q),Z=await this.userProvider.findById($.sub);if(!Z)throw new h("User not found");return Z}catch($){if($ instanceof Error){if($.message.includes("expired"))throw new z9;throw new n6($.message)}throw new n6("Token verification failed")}}getUserFromToken(q){return this.jwtProvider.verifyAccessToken(q)}hasRoles(q,$){let Z=q.roles||[];return $.every((Q)=>Z.includes(Q))}hasPermissions(q,$){let Z=q.permissions||[];return $.every((Q)=>Z.includes(Q))}async register(q){let $=await this.userProvider.hashPassword(q.password),Z={id:crypto.randomUUID(),username:q.username,email:q.email,roles:q.roles||["user"]},Q=this.jwtProvider.generateTokens({sub:Z.id,username:Z.username,email:Z.email,roles:Z.roles});return{user:Z,tokens:Q}}cleanup(){this.jwtProvider.cleanupBlacklist()}getJWTProvider(){return this.jwtProvider}}class mJ{users=new Map;async findByCredentials(q,$){for(let[Z,Q]of this.users)if(Q.username===q){if(await this.verifyPassword($,Q.passwordHash)){let{passwordHash:W,...H}=Q;return H}}return null}async findById(q){let $=this.users.get(q);if($){let{passwordHash:Z,...Q}=$;return Q}return null}async hashPassword(q){return Buffer.from(q).toString("base64")}async verifyPassword(q,$){return await this.hashPassword(q)===$}async createUser(q){let $=crypto.randomUUID(),Z=await this.hashPassword(q.password),Q={id:$,username:q.username,email:q.email,roles:q.roles||["user"],passwordHash:Z};this.users.set($,Q);let{passwordHash:J,...W}=Q;return W}}class G6{roles=new Map;hierarchy=new Map;compiledPermissions=new Map;defineRole(q){if(this.roles.set(q.name,q),q.inherits&&q.inherits.length>0)this.hierarchy.set(q.name,q.inherits);this.compiledPermissions.clear()}defineRoles(q){for(let $ of q)this.defineRole($)}getRolePermissions(q){if(this.compiledPermissions.has(q))return Array.from(this.compiledPermissions.get(q));let $=new Set;return this.collectPermissions(q,$,new Set),this.compiledPermissions.set(q,$),Array.from($)}roleHasPermission(q,$){return this.getRolePermissions(q).includes($)}userHasPermission(q,$){for(let Z of q)if(this.roleHasPermission(Z,$))return!0;return!1}userHasRoles(q,$){return $.every((Z)=>q.includes(Z))}userHasAnyRole(q,$){return $.some((Z)=>q.includes(Z))}getRolesWithPermission(q){let $=[];for(let Z of this.roles.keys())if(this.roleHasPermission(Z,q))$.push(Z);return $}getRoleHierarchy(q){let $=[];return this.collectParentRoles(q,$,new Set),$}roleInheritsFrom(q,$){return this.getRoleHierarchy(q).includes($)}getAllRoles(){return Array.from(this.roles.values())}getRole(q){return this.roles.get(q)}roleExists(q){return this.roles.has(q)}validateRoles(q){let $=[],Z=[];for(let Q of q)if(this.roleExists(Q))$.push(Q);else Z.push(Q);return{valid:$,invalid:Z}}getEffectiveRoles(q){let $=new Set;for(let Z of q)$.add(Z),this.getRoleHierarchy(Z).forEach((J)=>$.add(J));return Array.from($)}compareRoleLevels(q,$){let Z=this.getRole(q),Q=this.getRole($),J=Z?.level??0,W=Q?.level??0;return J-W}getHighestRoleLevel(q){let $=0;for(let Z of q){let Q=this.getRole(Z);if(Q&&Q.level&&Q.level>$)$=Q.level}return $}collectPermissions(q,$,Z){if(Z.has(q))throw Error(`Circular role inheritance detected: ${q}`);Z.add(q);let Q=this.roles.get(q);if(!Q)throw Error(`Role not found: ${q}`);Q.permissions.forEach((W)=>$.add(W));let J=this.hierarchy.get(q)||[];for(let W of J)this.collectPermissions(W,$,new Set(Z))}collectParentRoles(q,$,Z){if(Z.has(q))return;Z.add(q);let Q=this.hierarchy.get(q)||[];for(let J of Q)$.push(J),this.collectParentRoles(J,$,Z)}}function L9(){let q=new G6;return q.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}]),q}var KW=X.object({name:X.string().min(1),description:X.string().optional(),permissions:X.array(X.string()),inherits:X.array(X.string()).optional(),level:X.number().optional()}),RW=X.object({userId:X.string(),roles:X.array(X.string())}),xW=X.object({userId:X.string(),permission:X.string()});class D6{static matches(q,$){if($==="*")return!0;if($.endsWith("*")){let Z=$.slice(0,-1);return q.startsWith(Z)}return q===$}static hasPermission(q,$){return q.some((Z)=>this.matches($,Z))}static filterByPattern(q,$){return q.filter((Z)=>this.matches(Z,$))}}function TW(q){return($,Z)=>{let Q={required:!q?.optional,config:q};C.defineAuth($,Z,Q)}}function IW(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"current-user",required:!1})}}function kW(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"token",required:!1})}}function C9(q){return async($,Z)=>{let Q=$.req.header("Authorization");if(!Q||!Q.startsWith("Bearer "))$.set("auth.error","Missing or invalid Authorization header"),$.set("auth.authenticated",!1);else{let J=Q.substring(7);try{let W=q.verifyAccessToken(J);$.set("auth.user",W),$.set("auth.token",J),$.set("auth.authenticated",!0)}catch(W){$.set("auth.error",W instanceof Error?W.message:"Authentication failed"),$.set("auth.authenticated",!1)}}await Z()}}function l(q){return q.get("auth.user")||null}function _9(q){return q.get("auth.token")||null}function bW(q){return q.get("auth.authenticated")===!0}function hW(q){return q.get("auth.error")||null}function cJ(q){return($,Z)=>{let J={config:Array.isArray(q)?{roles:q,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...q}};C.defineRoles($,Z,J)}}function lJ(q){return($,Z)=>{let J={config:Array.isArray(q)?{permissions:q,requireAll:!1}:{requireAll:!1,...q}};C.definePermissions($,Z,J)}}function N9(q){return cJ([q])}function mW(q){return lJ([q])}function cW(){return N9("admin")}function lW(){return N9("super-admin")}function pW(q){return($,Z)=>{C.defineMinimumRole($,Z,{roleName:q})}}function j9(q){return async($,Z)=>{$.set("rbac",q),await Z()}}class s6{rbac;constructor(q){this.rbac=q}checkRoles(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for role check");let Q=Z.roles||[],J=$.allowInherited?this.rbac.getEffectiveRoles(Q):Q,W;if($.requireAll)W=$.roles.every((H)=>J.includes(H));else W=$.roles.some((H)=>J.includes(H));if(!W){let H=$.requireAll?"all":"any";throw new P(`Access denied. Required ${H} of roles: ${$.roles.join(", ")}`)}}checkPermissions(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for permission check");let Q=Z.roles||[],J=new Set;for(let Y of Q)this.rbac.getRolePermissions(Y).forEach((F)=>J.add(F));let W=Array.from(J),H;if($.requireAll)H=$.permissions.every((Y)=>D6.hasPermission(W,Y));else H=$.permissions.some((Y)=>D6.hasPermission(W,Y));if(!H){let Y=$.requireAll?"all":"any";throw new P(`Access denied. Required ${Y} of permissions: ${$.permissions.join(", ")}`)}}checkMinimumRole(q,$){let Z=l(q);if(!Z)throw new P("Authentication required for role level check");let Q=Z.roles||[],J=this.rbac.getHighestRoleLevel(Q),W=this.rbac.getRole($);if(!W)throw Error(`Required role not found: ${$}`);let H=W.level||0;if(J<H)throw new P(`Access denied. Minimum role level required: ${$} (level ${H})`)}}function pJ(q){return q.get("rbac")||null}function O9(q){return l(q)?.roles||[]}function nJ(q){let $=pJ(q),Z=O9(q);if(!$)return[];let Q=new Set;for(let J of Z)$.getRolePermissions(J).forEach((H)=>Q.add(H));return Array.from(Q)}function nW(q,$){return O9(q).includes($)}function iW(q,$){let Z=nJ(q);return D6.hasPermission(Z,$)}class iJ{config;name="rbac";version="1.0.0";dependencies=["auth"];rbac;guard;constructor(q={}){this.config=q;if(q.rbac)this.rbac=q.rbac;else if(q.useDefaults!==!1)this.rbac=L9();else this.rbac=new G6;if(q.roles)this.rbac.defineRoles(q.roles);this.guard=new s6(this.rbac)}async install(q){let $=j9(this.rbac);if(q.use($),q.getContainer().register(G6,{factory:()=>this.rbac,scope:"singleton"}),q.getContainer().register(s6,{factory:()=>this.guard,scope:"singleton"}),this.extendRouterCompiler(q),this.config.enableManagementRoutes!==!1)this.addManagementRoutes(q)}extendRouterCompiler(q){let $=q.compile.bind(q);q.compile=async()=>{await $();let Z=q.getMetadata().getRoutes();for(let Q of Z)if(Q.roles||Q.permissions||Q.minimumRole)this.addRBACGuards(q,Q)}}addRBACGuards(q,$){}addManagementRoutes(q){let $=this.config.routes||{};q.get($.roles||"/rbac/roles",{handler:(Z)=>{let Q=this.rbac.getAllRoles();return Z.json({success:!0,roles:Q.map((J)=>({name:J.name,description:J.description,permissions:J.permissions,inherits:J.inherits,level:J.level}))})}}),q.get("/rbac/roles/:roleName",{handler:(Z)=>{let Q=Z.req.param("roleName"),J=this.rbac.getRole(Q);if(!J)return Z.json({error:"Role not found"},404);let W=this.rbac.getRolePermissions(Q),H=this.rbac.getRoleHierarchy(Q);return Z.json({success:!0,role:{...J,effectivePermissions:W,hierarchy:H}})}}),q.get("/rbac/roles/:roleName/permissions",{handler:(Z)=>{let Q=Z.req.param("roleName");if(!this.rbac.roleExists(Q))return Z.json({error:"Role not found"},404);let J=this.rbac.getRolePermissions(Q);return Z.json({success:!0,role:Q,permissions:J})}}),q.post("/rbac/check-permission",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J,permission:W}=Q;if(!Array.isArray(J)||!W)return Z.json({error:"Invalid request body"},400);let H=this.rbac.userHasPermission(J,W);return Z.json({success:!0,hasPermission:H,roles:J,permission:W})}}),q.post("/rbac/check-roles",{handler:async(Z)=>{let Q=await Z.req.json(),{userRoles:J,requiredRoles:W,requireAll:H=!1}=Q;if(!Array.isArray(J)||!Array.isArray(W))return Z.json({error:"Invalid request body"},400);let Y=H?this.rbac.userHasRoles(J,W):this.rbac.userHasAnyRole(J,W);return Z.json({success:!0,hasRoles:Y,userRoles:J,requiredRoles:W,requireAll:H})}}),q.post("/rbac/effective-roles",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J}=Q;if(!Array.isArray(J))return Z.json({error:"Invalid request body"},400);let W=this.rbac.getEffectiveRoles(J);return Z.json({success:!0,inputRoles:J,effectiveRoles:W})}}),q.post("/rbac/user-permissions",{handler:async(Z)=>{let Q=await Z.req.json(),{roles:J}=Q;if(!Array.isArray(J))return Z.json({error:"Invalid request body"},400);let W=new Set;for(let H of J)if(this.rbac.roleExists(H))this.rbac.getRolePermissions(H).forEach((V)=>W.add(V));return Z.json({success:!0,roles:J,permissions:Array.from(W)})}})}getRBACManager(){return this.rbac}getGuard(){return this.guard}}class sJ{config;name="auth";version="1.0.0";authService;constructor(q){this.config=q;this.authService=new i6(q.jwt,q.userProvider)}async install(q){let $=C9(this.authService.getJWTProvider());if(q.use($),q.getContainer().register(i6,{factory:()=>this.authService,scope:"singleton"}),this.config.enableDefaultRoutes!==!1)this.addDefaultRoutes(q);this.extendRouterCompiler(q)}extendRouterCompiler(q){q.use(async(Z,Q)=>{Z.set("authService",this.authService),await Q()});let $=q.compile.bind(q);q.compile=async()=>{await $();let Z=q.getHono(),Q=q.getMetadata().getRoutes();for(let J of Q){let W=C.getAuthMetadata(J.target.prototype,J.propertyKey);if(J.auth?.required||W?.required){console.log("Adding auth middleware for route:",J.path,J.method);let Y=J.auth?.config||W?.config;Z.use(J.path,async(V,F)=>{if(console.log("Auth middleware executing for:",V.req.path,V.req.method,"target:",J.path,J.method),V.req.method!==J.method)return console.log("Method mismatch, skipping auth check"),F();console.log("Checking authentication...");let U=V.get("auth.user"),G=V.get("auth.error");if(!U){let _=G||"Authentication required";throw console.log("No user found, throwing auth exception"),new h(_)}if(Y?.roles?.length){if(!this.authService.hasRoles(U,Y.roles))throw new P(`Required roles: ${Y.roles.join(", ")}`)}if(Y?.permissions?.length){if(!this.authService.hasPermissions(U,Y.permissions))throw new P(`Required permissions: ${Y.permissions.join(", ")}`)}await F()})}}}}buildPath(q){return q.path}pathMatches(q,$){let Z=q.replace(/:([^/]+)/g,"([^/]+)");return new RegExp(`^${Z}$`).test($)}addDefaultRoutes(q){let $=this.config.routes||{};if(q.post($.login||"/auth/login",{handler:async(Z)=>{let Q=await Z.req.json(),{username:J,password:W}=Q;try{let H=await this.authService.login(J,W);return{success:!0,user:H.user,tokens:H.tokens}}catch(H){throw new h(H instanceof Error?H.message:"Login failed")}},schema:{body:X.object({username:X.string().min(1),password:X.string().min(1)})}}),q.post($.refresh||"/auth/refresh",{handler:async(Z)=>{let Q=await Z.req.json(),{refreshToken:J}=Q;try{return{success:!0,tokens:await this.authService.refresh(J)}}catch(W){throw new h(W instanceof Error?W.message:"Token refresh failed")}},schema:{body:X.object({refreshToken:X.string().min(1)})}}),q.post($.logout||"/auth/logout",{handler:async(Z)=>{let Q=_9(Z),J=await Z.req.json(),{refreshToken:W}=J;if(Q)await this.authService.logout(Q,W);return{success:!0,message:"Logged out successfully"}},schema:{body:X.object({refreshToken:X.string().optional()})}}),"createUser"in this.config.userProvider)q.post($.register||"/auth/register",{handler:async(Z)=>{let Q=await Z.req.json(),{username:J,password:W,email:H}=Q;try{let Y=await this.authService.register({username:J,password:W,email:H});return{success:!0,user:Y.user,tokens:Y.tokens}}catch(Y){throw new h(Y instanceof Error?Y.message:"Registration failed")}},schema:{body:X.object({username:X.string().min(1),password:X.string().min(6),email:X.string().email().optional()})}});q.get("/auth/me",{handler:async(Z)=>{let Q=l(Z);if(!Q)throw new h("Not authenticated");return{success:!0,user:Q}}})}getAuthService(){return this.authService}}var XH=X.object({code:X.string(),state:X.string(),error:X.string().optional(),error_description:X.string().optional()}),UH=X.object({accessToken:X.string(),refreshToken:X.string().optional(),expiresIn:X.number().optional(),tokenType:X.string(),scope:X.string().optional()}),rJ=X.object({id:X.string(),email:X.string().optional(),name:X.string().optional(),username:X.string().optional(),avatar:X.string().optional(),provider:X.string()}).passthrough();function tJ(q){return($,Z)=>{let Q={provider:q.provider,config:q};C.defineOAuth($,Z,Q)}}function aJ(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"oauth-user",required:!0})}}function oJ(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"oauth-token",required:!0})}}function eJ(q){return q.get("oauth.user")||null}function q2(q){return q.get("oauth.token")||null}function $2(q){return q.get("oauth.authenticated")===!0}function Z2(q){return q.get("oauth.provider")||null}class S9{store;config;constructor(q,$){this.store=q;this.config={name:"sessionId",maxAge:86400000,secure:!1,httpOnly:!0,sameSite:"lax",path:"/",rolling:!1,genid:()=>crypto.randomUUID(),...$,domain:$.domain}}async createSession(q,$={},Z){let Q=this.config.genid(),J=new Date,W=Z?.maxAge||this.config.maxAge,H={id:Q,userId:q,data:$,createdAt:J,updatedAt:J,expiresAt:new Date(J.getTime()+W),ipAddress:Z?.ipAddress,userAgent:Z?.userAgent,csrfToken:this.generateCSRFToken()};return await this.store.set(Q,H),H}async getSession(q){return await this.store.get(q)}async updateSession(q,$){let Z=await this.store.get(q);if(!Z)return null;if(Z.data={...Z.data,...$},Z.updatedAt=new Date,this.config.rolling)Z.expiresAt=new Date(Date.now()+this.config.maxAge);return await this.store.set(q,Z),Z}async touchSession(q){if(this.config.rolling){let $=await this.store.get(q);if($)$.updatedAt=new Date,$.expiresAt=new Date(Date.now()+this.config.maxAge),await this.store.set(q,$)}else await this.store.touch(q)}async destroySession(q){await this.store.destroy(q)}async regenerateSession(q){let $=await this.store.get(q);if(!$)return null;let Z=this.config.genid(),Q={...$,id:Z,updatedAt:new Date,csrfToken:this.generateCSRFToken()};return await this.store.set(Z,Q),await this.store.destroy(q),Q}async getUserSessions(q){return(await this.store.all()).filter((Z)=>Z.userId===q)}async destroyUserSessions(q){let $=await this.getUserSessions(q);for(let Z of $)await this.store.destroy(Z.id)}validateCSRFToken(q,$){return q.csrfToken===$}generateCSRFToken(){return crypto.randomUUID()}getCookieOptions(){let q={maxAge:this.config.maxAge,secure:this.config.secure,httpOnly:this.config.httpOnly,sameSite:this.config.sameSite,path:this.config.path};if(this.config.domain)q.domain=this.config.domain;return q}getConfig(){return{...this.config}}getStore(){return this.store}}var Q2=X.object({id:X.string(),userId:X.string(),data:X.record(X.any()),createdAt:X.date(),updatedAt:X.date(),expiresAt:X.date().optional(),ipAddress:X.string().optional(),userAgent:X.string().optional(),csrfToken:X.string().optional()}),BH=X.object({name:X.string().optional(),secret:X.string(),maxAge:X.number().optional(),secure:X.boolean().optional(),httpOnly:X.boolean().optional(),sameSite:X.enum(["strict","lax","none"]).optional(),domain:X.string().optional(),path:X.string().optional(),rolling:X.boolean().optional()}),zH=X.object({userId:X.string(),data:X.record(X.any()).optional(),maxAge:X.number().optional(),ipAddress:X.string().optional(),userAgent:X.string().optional()}),LH=X.object({data:X.record(X.any())});function J2(q={}){return($,Z)=>{let Q={config:q};C.defineSession($,Z,Q)}}function W2(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"current-session",required:!0})}}function H2(){return(q,$,Z)=>{if($)C.defineParameter(q,$,Z,{index:Z,type:"csrf-token",required:!0})}}function Y2(){return(q,$)=>{C.defineCSRF(q,$,{required:!0})}}function F2(q,$){return async(Z,Q)=>{let J=q.getConfig(),W=E9(Z,J.name),H=null;if(W){if(H=await q.getSession(W),H)await q.touchSession(W)}Z.set("session",H),Z.set("sessionManager",q),Z.set("csrfProtection",$),await Q()}}class A9{sessionManager;csrfProtection;constructor(q,$){this.sessionManager=q;this.csrfProtection=$}checkSession(q,$){let Z=f(q);if($.required&&!Z)throw new h("Session required");if(Z&&$.csrf)this.checkCSRF(q,Z)}checkCSRF(q,$){if(!this.csrfProtection)throw Error("CSRF protection not configured");let Z=q.req.header("X-CSRF-Token")||q.req.query("_csrf");if(!Z)throw new P("CSRF token required");if(!this.csrfProtection.validateToken($.id,Z))throw new P("Invalid CSRF token")}async createSession(q,$,Z={}){let Q=w6(q);if(!Q)throw Error("Session manager not available");let J=q.req.header("X-Forwarded-For")||q.req.header("X-Real-IP")||"unknown",W=q.req.header("User-Agent")||"unknown",H=await Q.createSession($,Z,{ipAddress:J,userAgent:W}),Y=Q.getCookieOptions();return r6(q,Q.getConfig().name,H.id,Y),q.set("session",H),H}async updateSession(q,$){let Z=f(q),Q=w6(q);if(!Z||!Q)return null;let J=await Q.updateSession(Z.id,$);if(J)q.set("session",J);return J}async destroySession(q){let $=f(q),Z=w6(q);if(!$||!Z)return;await Z.destroySession($.id);let Q=Z.getConfig();if(r6(q,Q.name,"",{...Z.getCookieOptions(),maxAge:0}),q.set("session",null),this.csrfProtection)this.csrfProtection.removeToken($.id)}async regenerateSession(q){let $=f(q),Z=w6(q);if(!$||!Z)return null;let Q=await Z.regenerateSession($.id);if(Q){let J=Z.getCookieOptions();if(r6(q,Z.getConfig().name,Q.id,J),q.set("session",Q),this.csrfProtection)this.csrfProtection.removeToken($.id),this.csrfProtection.generateToken(Q.id)}return Q}generateCSRFToken(q){let $=f(q);if(!$||!this.csrfProtection)return null;return this.csrfProtection.generateToken($.id)}}function f(q){return q.get("session")||null}function w6(q){return q.get("sessionManager")||null}function X2(q){return q.get("csrfProtection")||null}function U2(q,$){let Z=f(q);if(!Z)return null;if($)return Z.data[$];return Z.data}function V2(q){return f(q)!==null}function G2(q){return f(q)?.userId||null}function D2(q,$,Z){let Q=f(q);if(Q)Q.data[$]=Z,q.set("session",Q)}function w2(q,$){let Z=f(q);if(Z&&$ in Z.data)delete Z.data[$],q.set("session",Z)}export{K2 as zodToJsonSchema,t3 as zodToGraphQLType,e3 as zodObjectToGraphQLType,qY as zodObjectToGraphQLInput,X as z,YY as setupTestApp,D2 as setSessionData,w2 as removeSessionData,WY as mockDependency,V2 as isSessionAuthenticated,$2 as isOAuthAuthenticated,a3 as isNullable,bW as isAuthenticated,l3 as hasResolverMetadata,p3 as hasFieldMetadata,O9 as getUserRoles,nJ as getUserPermissions,_9 as getToken,G2 as getSessionUserId,w6 as getSessionManager,U2 as getSessionData,u3 as getResolverMetadata,pJ as getRBACManager,eJ as getOAuthUser,q2 as getOAuthToken,Z2 as getOAuthProvider,d3 as getFieldsMetadata,m3 as getFieldMetadata,o3 as getDefaultValue,l as getCurrentUser,f as getCurrentSession,X2 as getCSRFProtection,hW as getAuthError,c3 as getArgumentsMetadata,HY as createTestClient,JY as createTestApp,F2 as createSessionMiddleware,x3 as createRateLimitMiddleware,j9 as createRBACMiddleware,L9 as createDefaultRBAC,R3 as createCorsMiddleware,P3 as createCompressionMiddleware,C9 as createAuthMiddleware,FY as clearMocks,nW as checkUserRole,iW as checkUserPermission,A2 as ZodToJsonSchemaConverter,r3 as WebSocketPlugin,s3 as WebSocketManager,i3 as WebSocketConnection,M3 as WebSocket,f0 as VeloceTS,f0 as Veloce,_2 as ValidationException,N2 as ValidationEngine,c2 as UseMiddleware,S3 as UnauthorizedException,K3 as TokenRevokedException,BW as TokenPayloadSchema,z9 as TokenExpiredException,kW as Token,QY as TestClient,lW as SuperAdminOnly,y3 as Subscription,_3 as StreamResponse,S9 as SessionManager,A9 as SessionGuard,Q2 as SessionDataSchema,J2 as Session,C2 as RouterCompiler,cJ as Roles,KW as RoleSchema,RW as RoleAssignmentSchema,N3 as ResponseSerializer,w3 as Response,b3 as Resolver,N9 as RequireRole,mW as RequirePermission,Y2 as RequireCSRF,LW as RefreshRequestSchema,L3 as RedirectResponse,iJ as RBACPlugin,G6 as RBACManager,s6 as RBACGuard,x9 as Query,k2 as Put,I2 as Post,O2 as PluginManager,lJ as Permissions,D6 as PermissionMatcher,xW as PermissionCheckSchema,h2 as Patch,P9 as Param,n3 as OpenAPIPlugin,R2 as OpenAPIGenerator,I3 as OnMessage,k3 as OnDisconnect,T3 as OnConnect,rJ as OAuthUserSchema,aJ as OAuthUser,oJ as OAuthToken,tJ as OAuth,O3 as NotFoundException,f3 as Mutation,pW as MinimumRole,C as MetadataRegistry,L2 as MetadataCompiler,zW as LoginRequestSchema,h0 as JWTProvider,B3 as JSONResponse,n6 as InvalidTokenException,mJ as InMemoryUserProvider,S2 as HonoAdapter,M9 as Header,j3 as HTTPException,z3 as HTMLResponse,y3 as GraphQLSubscription,$Y as GraphQLSchemaBuilder,h3 as GraphQLQuery,ZY as GraphQLPlugin,f3 as GraphQLMutation,g3 as GraphQLCtx,T2 as Get,y3 as GQLSubscription,h3 as GQLQuery,f3 as GQLMutation,g3 as GQLContext,E3 as ForbiddenException,C3 as FileResponse,f0 as FastAPITS,E2 as ExpressAdapter,j2 as ErrorHandler,d2 as Depends,b2 as Delete,z2 as DIContainer,IW as CurrentUser,W2 as CurrentSession,I9 as Ctx,T9 as Cookie,M2 as Controller,H2 as CSRFToken,R9 as Body,A3 as BadRequestException,P as AuthorizationException,h as AuthenticationException,i6 as AuthService,sJ as AuthPlugin,TW as Auth,v3 as Arg,i2 as ApiResponse,n2 as ApiDoc,f2 as All,cW as AdminOnly};
|
|
43
|
+
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,K4="secret must be a string or buffer",u$="key must be a string or a buffer",kE="key must be a string, a buffer or an object",C5=typeof k1.createPublicKey==="function";if(C5)u$+=" or a KeyObject",K4+="or a KeyObject";function BY($){if(m$.isBuffer($))return;if(typeof $==="string")return;if(!C5)throw o1(u$);if(typeof $!=="object")throw o1(u$);if(typeof $.type!=="string")throw o1(u$);if(typeof $.asymmetricKeyType!=="string")throw o1(u$);if(typeof $.export!=="function")throw o1(u$)}function wY($){if(m$.isBuffer($))return;if(typeof $==="string")return;if(typeof $==="object")return;throw o1(kE)}function hE($){if(m$.isBuffer($))return;if(typeof $==="string")return $;if(!C5)throw o1(K4);if(typeof $!=="object")throw o1(K4);if($.type!=="secret")throw o1(K4);if(typeof $.export!=="function")throw o1(K4)}function P5($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function DY($){$=$.toString();var H=4-$.length%4;if(H!==4)for(var J=0;J<H;++J)$+="=";return $.replace(/\-/g,"+").replace(/_/g,"/")}function o1($){var H=[].slice.call(arguments,1),J=qY.format.bind(qY,$).apply(null,H);return TypeError(J)}function vE($){return m$.isBuffer($)||typeof $==="string"}function I4($){if(!vE($))$=JSON.stringify($);return $}function VY($){return function(J,Q){hE(Q),J=I4(J);var X=k1.createHmac("sha"+$,Q),Y=(X.update(J),X.digest("base64"));return P5(Y)}}var S5,gE="timingSafeEqual"in k1?function(H,J){if(H.byteLength!==J.byteLength)return!1;return k1.timingSafeEqual(H,J)}:function(H,J){if(!S5)S5=GY();return S5(H,J)};function yE($){return function(J,Q,X){var Y=VY($)(J,X);return gE(m$.from(Q),m$.from(Y))}}function _Y($){return function(J,Q){wY(Q),J=I4(J);var X=k1.createSign("RSA-SHA"+$),Y=(X.update(J),X.sign(Q,"base64"));return P5(Y)}}function FY($){return function(J,Q,X){BY(X),J=I4(J),Q=DY(Q);var Y=k1.createVerify("RSA-SHA"+$);return Y.update(J),Y.verify(X,Q,"base64")}}function uE($){return function(J,Q){wY(Q),J=I4(J);var X=k1.createSign("RSA-SHA"+$),Y=(X.update(J),X.sign({key:Q,padding:k1.constants.RSA_PKCS1_PSS_PADDING,saltLength:k1.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return P5(Y)}}function mE($){return function(J,Q,X){BY(X),J=I4(J),Q=DY(Q);var Y=k1.createVerify("RSA-SHA"+$);return Y.update(J),Y.verify({key:X,padding:k1.constants.RSA_PKCS1_PSS_PADDING,saltLength:k1.constants.RSA_PSS_SALTLEN_DIGEST},Q,"base64")}}function dE($){var H=_Y($);return function(){var Q=H.apply(null,arguments);return Q=UY.derToJose(Q,"ES"+$),Q}}function cE($){var H=FY($);return function(Q,X,Y){X=UY.joseToDer(X,"ES"+$).toString("base64");var W=H(Q,X,Y);return W}}function lE(){return function(){return""}}function pE(){return function(H,J){return J===""}}zY.exports=function(H){var J={hs:VY,rs:_Y,ps:uE,es:dE,none:lE},Q={hs:yE,rs:FY,ps:mE,es:cE,none:pE},X=H.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);if(!X)throw o1(fE,H);var Y=(X[1]||X[3]).toLowerCase(),W=X[2];return{sign:J[Y](W),verify:Q[Y](W)}}});var I5=N((Uh,NY)=>{var nE=a("buffer").Buffer;NY.exports=function(H){if(typeof H==="string")return H;if(typeof H==="number"||nE.isBuffer(H))return H.toString();return JSON.stringify(H)}});var ZY=N((Bh,OY)=>{var iE=y$().Buffer,AY=Z5(),sE=K5(),oE=a("stream"),RY=I5(),T5=a("util");function EY($,H){return iE.from($,H).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function rE($,H,J){J=J||"utf8";var Q=EY(RY($),"binary"),X=EY(RY(H),J);return T5.format("%s.%s",Q,X)}function jY($){var{header:H,payload:J}=$,Q=$.secret||$.privateKey,X=$.encoding,Y=sE(H.alg),W=rE(H,J,X),G=Y.sign(W,Q);return T5.format("%s.%s",W,G)}function _2($){var H=$.secret||$.privateKey||$.key,J=new AY(H);this.readable=!0,this.header=$.header,this.encoding=$.encoding,this.secret=this.privateKey=this.key=J,this.payload=new AY($.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))}T5.inherits(_2,oE);_2.prototype.sign=function(){try{var H=jY({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",H),this.emit("data",H),this.emit("end"),this.readable=!1,H}catch(J){this.readable=!1,this.emit("error",J),this.emit("close")}};_2.sign=jY;OY.exports=_2});var bY=N((wh,xY)=>{var MY=y$().Buffer,LY=Z5(),aE=K5(),tE=a("stream"),SY=I5(),eE=a("util"),$j=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function Hj($){return Object.prototype.toString.call($)==="[object Object]"}function Jj($){if(Hj($))return $;try{return JSON.parse($)}catch(H){return}}function CY($){var H=$.split(".",1)[0];return Jj(MY.from(H,"base64").toString("binary"))}function Qj($){return $.split(".",2).join(".")}function PY($){return $.split(".")[2]}function Xj($,H){H=H||"utf8";var J=$.split(".")[1];return MY.from(J,"base64").toString(H)}function KY($){return $j.test($)&&!!CY($)}function IY($,H,J){if(!H){var Q=Error("Missing algorithm parameter for jws.verify");throw Q.code="MISSING_ALGORITHM",Q}$=SY($);var X=PY($),Y=Qj($),W=aE(H);return W.verify(Y,X,J)}function TY($,H){if(H=H||{},$=SY($),!KY($))return null;var J=CY($);if(!J)return null;var Q=Xj($);if(J.typ==="JWT"||H.json)Q=JSON.parse(Q,H.encoding);return{header:J,payload:Q,signature:PY($)}}function d$($){$=$||{};var H=$.secret||$.publicKey||$.key,J=new LY(H);this.readable=!0,this.algorithm=$.algorithm,this.encoding=$.encoding,this.secret=this.publicKey=this.key=J,this.signature=new LY($.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))}eE.inherits(d$,tE);d$.prototype.verify=function(){try{var H=IY(this.signature.buffer,this.algorithm,this.key.buffer),J=TY(this.signature.buffer,this.encoding);return this.emit("done",H,J),this.emit("data",H),this.emit("end"),this.readable=!1,H}catch(Q){this.readable=!1,this.emit("error",Q),this.emit("close")}};d$.decode=TY;d$.isValid=KY;d$.verify=IY;xY.exports=d$});var z2=N((Wj)=>{var fY=ZY(),F2=bY(),Yj=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];Wj.ALGORITHMS=Yj;Wj.sign=fY.sign;Wj.verify=F2.verify;Wj.decode=F2.decode;Wj.isValid=F2.isValid;Wj.createSign=function(H){return new fY(H)};Wj.createVerify=function(H){return new F2(H)}});var x5=N((Vh,kY)=>{var _j=z2();kY.exports=function($,H){H=H||{};var J=_j.decode($,H);if(!J)return null;var Q=J.payload;if(typeof Q==="string")try{var X=JSON.parse(Q);if(X!==null&&typeof X==="object")Q=X}catch(Y){}if(H.complete===!0)return{header:J.header,payload:Q,signature:J.signature};return Q}});var T4=N((_h,hY)=>{var N2=function($,H){if(Error.call(this,$),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=$,H)this.inner=H};N2.prototype=Object.create(Error.prototype);N2.prototype.constructor=N2;hY.exports=N2});var b5=N((Fh,gY)=>{var vY=T4(),A2=function($,H){vY.call(this,$),this.name="NotBeforeError",this.date=H};A2.prototype=Object.create(vY.prototype);A2.prototype.constructor=A2;gY.exports=A2});var f5=N((zh,uY)=>{var yY=T4(),R2=function($,H){yY.call(this,$),this.name="TokenExpiredError",this.expiredAt=H};R2.prototype=Object.create(yY.prototype);R2.prototype.constructor=R2;uY.exports=R2});var dY=N((Nh,mY)=>{var c$=1000,l$=c$*60,p$=l$*60,$$=p$*24,Fj=$$*7,zj=$$*365.25;mY.exports=function($,H){H=H||{};var J=typeof $;if(J==="string"&&$.length>0)return Nj($);else if(J==="number"&&isFinite($))return H.long?Rj($):Aj($);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify($))};function Nj($){if($=String($),$.length>100)return;var H=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec($);if(!H)return;var J=parseFloat(H[1]),Q=(H[2]||"ms").toLowerCase();switch(Q){case"years":case"year":case"yrs":case"yr":case"y":return J*zj;case"weeks":case"week":case"w":return J*Fj;case"days":case"day":case"d":return J*$$;case"hours":case"hour":case"hrs":case"hr":case"h":return J*p$;case"minutes":case"minute":case"mins":case"min":case"m":return J*l$;case"seconds":case"second":case"secs":case"sec":case"s":return J*c$;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return J;default:return}}function Aj($){var H=Math.abs($);if(H>=$$)return Math.round($/$$)+"d";if(H>=p$)return Math.round($/p$)+"h";if(H>=l$)return Math.round($/l$)+"m";if(H>=c$)return Math.round($/c$)+"s";return $+"ms"}function Rj($){var H=Math.abs($);if(H>=$$)return E2($,H,$$,"day");if(H>=p$)return E2($,H,p$,"hour");if(H>=l$)return E2($,H,l$,"minute");if(H>=c$)return E2($,H,c$,"second");return $+" ms"}function E2($,H,J,Q){var X=H>=J*1.5;return Math.round($/J)+" "+Q+(X?"s":"")}});var k5=N((Ah,cY)=>{var Ej=dY();cY.exports=function($,H){var J=H||Math.floor(Date.now()/1000);if(typeof $==="string"){var Q=Ej($);if(typeof Q>"u")return;return Math.floor(J+Q/1000)}else if(typeof $==="number")return J+$;else return}});var x4=N((Rh,lY)=>{var jj=Number.MAX_SAFE_INTEGER||9007199254740991,Oj=["major","premajor","minor","preminor","patch","prepatch","prerelease"];lY.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:jj,RELEASE_TYPES:Oj,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var b4=N((Eh,pY)=>{var Zj=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...$)=>console.error("SEMVER",...$):()=>{};pY.exports=Zj});var n$=N((B0,nY)=>{var{MAX_SAFE_COMPONENT_LENGTH:h5,MAX_SAFE_BUILD_LENGTH:Lj,MAX_LENGTH:Mj}=x4(),Sj=b4();B0=nY.exports={};var Cj=B0.re=[],Pj=B0.safeRe=[],f=B0.src=[],Kj=B0.safeSrc=[],k=B0.t={},Ij=0,v5="[a-zA-Z0-9-]",Tj=[["\\s",1],["\\d",Mj],[v5,Lj]],xj=($)=>{for(let[H,J]of Tj)$=$.split(`${H}*`).join(`${H}{0,${J}}`).split(`${H}+`).join(`${H}{1,${J}}`);return $},o=($,H,J)=>{let Q=xj(H),X=Ij++;Sj($,X,H),k[$]=X,f[X]=H,Kj[X]=Q,Cj[X]=new RegExp(H,J?"g":void 0),Pj[X]=new RegExp(Q,J?"g":void 0)};o("NUMERICIDENTIFIER","0|[1-9]\\d*");o("NUMERICIDENTIFIERLOOSE","\\d+");o("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${v5}*`);o("MAINVERSION",`(${f[k.NUMERICIDENTIFIER]})\\.(${f[k.NUMERICIDENTIFIER]})\\.(${f[k.NUMERICIDENTIFIER]})`);o("MAINVERSIONLOOSE",`(${f[k.NUMERICIDENTIFIERLOOSE]})\\.(${f[k.NUMERICIDENTIFIERLOOSE]})\\.(${f[k.NUMERICIDENTIFIERLOOSE]})`);o("PRERELEASEIDENTIFIER",`(?:${f[k.NONNUMERICIDENTIFIER]}|${f[k.NUMERICIDENTIFIER]})`);o("PRERELEASEIDENTIFIERLOOSE",`(?:${f[k.NONNUMERICIDENTIFIER]}|${f[k.NUMERICIDENTIFIERLOOSE]})`);o("PRERELEASE",`(?:-(${f[k.PRERELEASEIDENTIFIER]}(?:\\.${f[k.PRERELEASEIDENTIFIER]})*))`);o("PRERELEASELOOSE",`(?:-?(${f[k.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${f[k.PRERELEASEIDENTIFIERLOOSE]})*))`);o("BUILDIDENTIFIER",`${v5}+`);o("BUILD",`(?:\\+(${f[k.BUILDIDENTIFIER]}(?:\\.${f[k.BUILDIDENTIFIER]})*))`);o("FULLPLAIN",`v?${f[k.MAINVERSION]}${f[k.PRERELEASE]}?${f[k.BUILD]}?`);o("FULL",`^${f[k.FULLPLAIN]}$`);o("LOOSEPLAIN",`[v=\\s]*${f[k.MAINVERSIONLOOSE]}${f[k.PRERELEASELOOSE]}?${f[k.BUILD]}?`);o("LOOSE",`^${f[k.LOOSEPLAIN]}$`);o("GTLT","((?:<|>)?=?)");o("XRANGEIDENTIFIERLOOSE",`${f[k.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);o("XRANGEIDENTIFIER",`${f[k.NUMERICIDENTIFIER]}|x|X|\\*`);o("XRANGEPLAIN",`[v=\\s]*(${f[k.XRANGEIDENTIFIER]})(?:\\.(${f[k.XRANGEIDENTIFIER]})(?:\\.(${f[k.XRANGEIDENTIFIER]})(?:${f[k.PRERELEASE]})?${f[k.BUILD]}?)?)?`);o("XRANGEPLAINLOOSE",`[v=\\s]*(${f[k.XRANGEIDENTIFIERLOOSE]})(?:\\.(${f[k.XRANGEIDENTIFIERLOOSE]})(?:\\.(${f[k.XRANGEIDENTIFIERLOOSE]})(?:${f[k.PRERELEASELOOSE]})?${f[k.BUILD]}?)?)?`);o("XRANGE",`^${f[k.GTLT]}\\s*${f[k.XRANGEPLAIN]}$`);o("XRANGELOOSE",`^${f[k.GTLT]}\\s*${f[k.XRANGEPLAINLOOSE]}$`);o("COERCEPLAIN",`(^|[^\\d])(\\d{1,${h5}})(?:\\.(\\d{1,${h5}}))?(?:\\.(\\d{1,${h5}}))?`);o("COERCE",`${f[k.COERCEPLAIN]}(?:$|[^\\d])`);o("COERCEFULL",f[k.COERCEPLAIN]+`(?:${f[k.PRERELEASE]})?(?:${f[k.BUILD]})?(?:$|[^\\d])`);o("COERCERTL",f[k.COERCE],!0);o("COERCERTLFULL",f[k.COERCEFULL],!0);o("LONETILDE","(?:~>?)");o("TILDETRIM",`(\\s*)${f[k.LONETILDE]}\\s+`,!0);B0.tildeTrimReplace="$1~";o("TILDE",`^${f[k.LONETILDE]}${f[k.XRANGEPLAIN]}$`);o("TILDELOOSE",`^${f[k.LONETILDE]}${f[k.XRANGEPLAINLOOSE]}$`);o("LONECARET","(?:\\^)");o("CARETTRIM",`(\\s*)${f[k.LONECARET]}\\s+`,!0);B0.caretTrimReplace="$1^";o("CARET",`^${f[k.LONECARET]}${f[k.XRANGEPLAIN]}$`);o("CARETLOOSE",`^${f[k.LONECARET]}${f[k.XRANGEPLAINLOOSE]}$`);o("COMPARATORLOOSE",`^${f[k.GTLT]}\\s*(${f[k.LOOSEPLAIN]})$|^$`);o("COMPARATOR",`^${f[k.GTLT]}\\s*(${f[k.FULLPLAIN]})$|^$`);o("COMPARATORTRIM",`(\\s*)${f[k.GTLT]}\\s*(${f[k.LOOSEPLAIN]}|${f[k.XRANGEPLAIN]})`,!0);B0.comparatorTrimReplace="$1$2$3";o("HYPHENRANGE",`^\\s*(${f[k.XRANGEPLAIN]})\\s+-\\s+(${f[k.XRANGEPLAIN]})\\s*$`);o("HYPHENRANGELOOSE",`^\\s*(${f[k.XRANGEPLAINLOOSE]})\\s+-\\s+(${f[k.XRANGEPLAINLOOSE]})\\s*$`);o("STAR","(<|>)?=?\\s*\\*");o("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");o("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var j2=N((jh,iY)=>{var bj=Object.freeze({loose:!0}),fj=Object.freeze({}),kj=($)=>{if(!$)return fj;if(typeof $!=="object")return bj;return $};iY.exports=kj});var g5=N((Oh,rY)=>{var sY=/^[0-9]+$/,oY=($,H)=>{if(typeof $==="number"&&typeof H==="number")return $===H?0:$<H?-1:1;let J=sY.test($),Q=sY.test(H);if(J&&Q)$=+$,H=+H;return $===H?0:J&&!Q?-1:Q&&!J?1:$<H?-1:1},hj=($,H)=>oY(H,$);rY.exports={compareIdentifiers:oY,rcompareIdentifiers:hj}});var M1=N((Zh,tY)=>{var O2=b4(),{MAX_LENGTH:aY,MAX_SAFE_INTEGER:Z2}=x4(),{safeRe:L2,t:M2}=n$(),vj=j2(),{compareIdentifiers:y5}=g5();class r1{constructor($,H){if(H=vj(H),$ instanceof r1)if($.loose===!!H.loose&&$.includePrerelease===!!H.includePrerelease)return $;else $=$.version;else if(typeof $!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof $}".`);if($.length>aY)throw TypeError(`version is longer than ${aY} characters`);O2("SemVer",$,H),this.options=H,this.loose=!!H.loose,this.includePrerelease=!!H.includePrerelease;let J=$.trim().match(H.loose?L2[M2.LOOSE]:L2[M2.FULL]);if(!J)throw TypeError(`Invalid Version: ${$}`);if(this.raw=$,this.major=+J[1],this.minor=+J[2],this.patch=+J[3],this.major>Z2||this.major<0)throw TypeError("Invalid major version");if(this.minor>Z2||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>Z2||this.patch<0)throw TypeError("Invalid patch version");if(!J[4])this.prerelease=[];else this.prerelease=J[4].split(".").map((Q)=>{if(/^[0-9]+$/.test(Q)){let X=+Q;if(X>=0&&X<Z2)return X}return Q});this.build=J[5]?J[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(O2("SemVer.compare",this.version,this.options,$),!($ instanceof r1)){if(typeof $==="string"&&$===this.version)return 0;$=new r1($,this.options)}if($.version===this.version)return 0;return this.compareMain($)||this.comparePre($)}compareMain($){if(!($ instanceof r1))$=new r1($,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 r1))$=new r1($,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 H=0;do{let J=this.prerelease[H],Q=$.prerelease[H];if(O2("prerelease compare",H,J,Q),J===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(J===void 0)return-1;else if(J===Q)continue;else return y5(J,Q)}while(++H)}compareBuild($){if(!($ instanceof r1))$=new r1($,this.options);let H=0;do{let J=this.build[H],Q=$.build[H];if(O2("build compare",H,J,Q),J===void 0&&Q===void 0)return 0;else if(Q===void 0)return 1;else if(J===void 0)return-1;else if(J===Q)continue;else return y5(J,Q)}while(++H)}inc($,H,J){if($.startsWith("pre")){if(!H&&J===!1)throw Error("invalid increment argument: identifier is empty");if(H){let Q=`-${H}`.match(this.options.loose?L2[M2.PRERELEASELOOSE]:L2[M2.PRERELEASE]);if(!Q||Q[1]!==H)throw Error(`invalid identifier: ${H}`)}}switch($){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",H,J);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",H,J);break;case"prepatch":this.prerelease.length=0,this.inc("patch",H,J),this.inc("pre",H,J);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",H,J);this.inc("pre",H,J);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 Q=Number(J)?1:0;if(this.prerelease.length===0)this.prerelease=[Q];else{let X=this.prerelease.length;while(--X>=0)if(typeof this.prerelease[X]==="number")this.prerelease[X]++,X=-2;if(X===-1){if(H===this.prerelease.join(".")&&J===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(Q)}}if(H){let X=[H,Q];if(J===!1)X=[H];if(y5(this.prerelease[0],H)===0){if(isNaN(this.prerelease[1]))this.prerelease=X}else this.prerelease=X}break}default:throw Error(`invalid increment argument: ${$}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}tY.exports=r1});var H$=N((Lh,$W)=>{var eY=M1(),gj=($,H,J=!1)=>{if($ instanceof eY)return $;try{return new eY($,H)}catch(Q){if(!J)return null;throw Q}};$W.exports=gj});var JW=N((Mh,HW)=>{var yj=H$(),uj=($,H)=>{let J=yj($,H);return J?J.version:null};HW.exports=uj});var XW=N((Sh,QW)=>{var mj=H$(),dj=($,H)=>{let J=mj($.trim().replace(/^[=v]+/,""),H);return J?J.version:null};QW.exports=dj});var GW=N((Ch,WW)=>{var YW=M1(),cj=($,H,J,Q,X)=>{if(typeof J==="string")X=Q,Q=J,J=void 0;try{return new YW($ instanceof YW?$.version:$,J).inc(H,Q,X).version}catch(Y){return null}};WW.exports=cj});var BW=N((Ph,UW)=>{var qW=H$(),lj=($,H)=>{let J=qW($,null,!0),Q=qW(H,null,!0),X=J.compare(Q);if(X===0)return null;let Y=X>0,W=Y?J:Q,G=Y?Q:J,q=!!W.prerelease.length;if(!!G.prerelease.length&&!q){if(!G.patch&&!G.minor)return"major";if(G.compareMain(W)===0){if(G.minor&&!G.patch)return"minor";return"patch"}}let B=q?"pre":"";if(J.major!==Q.major)return B+"major";if(J.minor!==Q.minor)return B+"minor";if(J.patch!==Q.patch)return B+"patch";return"prerelease"};UW.exports=lj});var DW=N((Kh,wW)=>{var pj=M1(),nj=($,H)=>new pj($,H).major;wW.exports=nj});var _W=N((Ih,VW)=>{var ij=M1(),sj=($,H)=>new ij($,H).minor;VW.exports=sj});var zW=N((Th,FW)=>{var oj=M1(),rj=($,H)=>new oj($,H).patch;FW.exports=rj});var AW=N((xh,NW)=>{var aj=H$(),tj=($,H)=>{let J=aj($,H);return J&&J.prerelease.length?J.prerelease:null};NW.exports=tj});var h1=N((bh,EW)=>{var RW=M1(),ej=($,H,J)=>new RW($,J).compare(new RW(H,J));EW.exports=ej});var OW=N((fh,jW)=>{var $O=h1(),HO=($,H,J)=>$O(H,$,J);jW.exports=HO});var LW=N((kh,ZW)=>{var JO=h1(),QO=($,H)=>JO($,H,!0);ZW.exports=QO});var S2=N((hh,SW)=>{var MW=M1(),XO=($,H,J)=>{let Q=new MW($,J),X=new MW(H,J);return Q.compare(X)||Q.compareBuild(X)};SW.exports=XO});var PW=N((vh,CW)=>{var YO=S2(),WO=($,H)=>$.sort((J,Q)=>YO(J,Q,H));CW.exports=WO});var IW=N((gh,KW)=>{var GO=S2(),qO=($,H)=>$.sort((J,Q)=>GO(Q,J,H));KW.exports=qO});var f4=N((yh,TW)=>{var UO=h1(),BO=($,H,J)=>UO($,H,J)>0;TW.exports=BO});var C2=N((uh,xW)=>{var wO=h1(),DO=($,H,J)=>wO($,H,J)<0;xW.exports=DO});var u5=N((mh,bW)=>{var VO=h1(),_O=($,H,J)=>VO($,H,J)===0;bW.exports=_O});var m5=N((dh,fW)=>{var FO=h1(),zO=($,H,J)=>FO($,H,J)!==0;fW.exports=zO});var P2=N((ch,kW)=>{var NO=h1(),AO=($,H,J)=>NO($,H,J)>=0;kW.exports=AO});var K2=N((lh,hW)=>{var RO=h1(),EO=($,H,J)=>RO($,H,J)<=0;hW.exports=EO});var d5=N((ph,vW)=>{var jO=u5(),OO=m5(),ZO=f4(),LO=P2(),MO=C2(),SO=K2(),CO=($,H,J,Q)=>{switch(H){case"===":if(typeof $==="object")$=$.version;if(typeof J==="object")J=J.version;return $===J;case"!==":if(typeof $==="object")$=$.version;if(typeof J==="object")J=J.version;return $!==J;case"":case"=":case"==":return jO($,J,Q);case"!=":return OO($,J,Q);case">":return ZO($,J,Q);case">=":return LO($,J,Q);case"<":return MO($,J,Q);case"<=":return SO($,J,Q);default:throw TypeError(`Invalid operator: ${H}`)}};vW.exports=CO});var yW=N((nh,gW)=>{var PO=M1(),KO=H$(),{safeRe:I2,t:T2}=n$(),IO=($,H)=>{if($ instanceof PO)return $;if(typeof $==="number")$=String($);if(typeof $!=="string")return null;H=H||{};let J=null;if(!H.rtl)J=$.match(H.includePrerelease?I2[T2.COERCEFULL]:I2[T2.COERCE]);else{let q=H.includePrerelease?I2[T2.COERCERTLFULL]:I2[T2.COERCERTL],U;while((U=q.exec($))&&(!J||J.index+J[0].length!==$.length)){if(!J||U.index+U[0].length!==J.index+J[0].length)J=U;q.lastIndex=U.index+U[1].length+U[2].length}q.lastIndex=-1}if(J===null)return null;let Q=J[2],X=J[3]||"0",Y=J[4]||"0",W=H.includePrerelease&&J[5]?`-${J[5]}`:"",G=H.includePrerelease&&J[6]?`+${J[6]}`:"";return KO(`${Q}.${X}.${Y}${W}${G}`,H)};gW.exports=IO});var dW=N((ih,mW)=>{class uW{constructor(){this.max=1000,this.map=new Map}get($){let H=this.map.get($);if(H===void 0)return;else return this.map.delete($),this.map.set($,H),H}delete($){return this.map.delete($)}set($,H){if(!this.delete($)&&H!==void 0){if(this.map.size>=this.max){let Q=this.map.keys().next().value;this.delete(Q)}this.map.set($,H)}return this}}mW.exports=uW});var v1=N((sh,nW)=>{var TO=/\s+/g;class k4{constructor($,H){if(H=bO(H),$ instanceof k4)if($.loose===!!H.loose&&$.includePrerelease===!!H.includePrerelease)return $;else return new k4($.raw,H);if($ instanceof c5)return this.raw=$.value,this.set=[[$]],this.formatted=void 0,this;if(this.options=H,this.loose=!!H.loose,this.includePrerelease=!!H.includePrerelease,this.raw=$.trim().replace(TO," "),this.set=this.raw.split("||").map((J)=>this.parseRange(J.trim())).filter((J)=>J.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let J=this.set[0];if(this.set=this.set.filter((Q)=>!lW(Q[0])),this.set.length===0)this.set=[J];else if(this.set.length>1){for(let Q of this.set)if(Q.length===1&&uO(Q[0])){this.set=[Q];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 H=this.set[$];for(let J=0;J<H.length;J++){if(J>0)this.formatted+=" ";this.formatted+=H[J].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange($){let J=((this.options.includePrerelease&&gO)|(this.options.loose&&yO))+":"+$,Q=cW.get(J);if(Q)return Q;let X=this.options.loose,Y=X?K1[S1.HYPHENRANGELOOSE]:K1[S1.HYPHENRANGE];$=$.replace(Y,rO(this.options.includePrerelease)),B1("hyphen replace",$),$=$.replace(K1[S1.COMPARATORTRIM],kO),B1("comparator trim",$),$=$.replace(K1[S1.TILDETRIM],hO),B1("tilde trim",$),$=$.replace(K1[S1.CARETTRIM],vO),B1("caret trim",$);let W=$.split(" ").map((B)=>mO(B,this.options)).join(" ").split(/\s+/).map((B)=>oO(B,this.options));if(X)W=W.filter((B)=>{return B1("loose invalid filter",B,this.options),!!B.match(K1[S1.COMPARATORLOOSE])});B1("range list",W);let G=new Map,q=W.map((B)=>new c5(B,this.options));for(let B of q){if(lW(B))return[B];G.set(B.value,B)}if(G.size>1&&G.has(""))G.delete("");let U=[...G.values()];return cW.set(J,U),U}intersects($,H){if(!($ instanceof k4))throw TypeError("a Range is required");return this.set.some((J)=>{return pW(J,H)&&$.set.some((Q)=>{return pW(Q,H)&&J.every((X)=>{return Q.every((Y)=>{return X.intersects(Y,H)})})})})}test($){if(!$)return!1;if(typeof $==="string")try{$=new fO($,this.options)}catch(H){return!1}for(let H=0;H<this.set.length;H++)if(aO(this.set[H],$,this.options))return!0;return!1}}nW.exports=k4;var xO=dW(),cW=new xO,bO=j2(),c5=h4(),B1=b4(),fO=M1(),{safeRe:K1,t:S1,comparatorTrimReplace:kO,tildeTrimReplace:hO,caretTrimReplace:vO}=n$(),{FLAG_INCLUDE_PRERELEASE:gO,FLAG_LOOSE:yO}=x4(),lW=($)=>$.value==="<0.0.0-0",uO=($)=>$.value==="",pW=($,H)=>{let J=!0,Q=$.slice(),X=Q.pop();while(J&&Q.length)J=Q.every((Y)=>{return X.intersects(Y,H)}),X=Q.pop();return J},mO=($,H)=>{return $=$.replace(K1[S1.BUILD],""),B1("comp",$,H),$=lO($,H),B1("caret",$),$=dO($,H),B1("tildes",$),$=nO($,H),B1("xrange",$),$=sO($,H),B1("stars",$),$},I1=($)=>!$||$.toLowerCase()==="x"||$==="*",dO=($,H)=>{return $.trim().split(/\s+/).map((J)=>cO(J,H)).join(" ")},cO=($,H)=>{let J=H.loose?K1[S1.TILDELOOSE]:K1[S1.TILDE];return $.replace(J,(Q,X,Y,W,G)=>{B1("tilde",$,Q,X,Y,W,G);let q;if(I1(X))q="";else if(I1(Y))q=`>=${X}.0.0 <${+X+1}.0.0-0`;else if(I1(W))q=`>=${X}.${Y}.0 <${X}.${+Y+1}.0-0`;else if(G)B1("replaceTilde pr",G),q=`>=${X}.${Y}.${W}-${G} <${X}.${+Y+1}.0-0`;else q=`>=${X}.${Y}.${W} <${X}.${+Y+1}.0-0`;return B1("tilde return",q),q})},lO=($,H)=>{return $.trim().split(/\s+/).map((J)=>pO(J,H)).join(" ")},pO=($,H)=>{B1("caret",$,H);let J=H.loose?K1[S1.CARETLOOSE]:K1[S1.CARET],Q=H.includePrerelease?"-0":"";return $.replace(J,(X,Y,W,G,q)=>{B1("caret",$,X,Y,W,G,q);let U;if(I1(Y))U="";else if(I1(W))U=`>=${Y}.0.0${Q} <${+Y+1}.0.0-0`;else if(I1(G))if(Y==="0")U=`>=${Y}.${W}.0${Q} <${Y}.${+W+1}.0-0`;else U=`>=${Y}.${W}.0${Q} <${+Y+1}.0.0-0`;else if(q)if(B1("replaceCaret pr",q),Y==="0")if(W==="0")U=`>=${Y}.${W}.${G}-${q} <${Y}.${W}.${+G+1}-0`;else U=`>=${Y}.${W}.${G}-${q} <${Y}.${+W+1}.0-0`;else U=`>=${Y}.${W}.${G}-${q} <${+Y+1}.0.0-0`;else if(B1("no pr"),Y==="0")if(W==="0")U=`>=${Y}.${W}.${G}${Q} <${Y}.${W}.${+G+1}-0`;else U=`>=${Y}.${W}.${G}${Q} <${Y}.${+W+1}.0-0`;else U=`>=${Y}.${W}.${G} <${+Y+1}.0.0-0`;return B1("caret return",U),U})},nO=($,H)=>{return B1("replaceXRanges",$,H),$.split(/\s+/).map((J)=>iO(J,H)).join(" ")},iO=($,H)=>{$=$.trim();let J=H.loose?K1[S1.XRANGELOOSE]:K1[S1.XRANGE];return $.replace(J,(Q,X,Y,W,G,q)=>{B1("xRange",$,Q,X,Y,W,G,q);let U=I1(Y),B=U||I1(W),w=B||I1(G),_=w;if(X==="="&&_)X="";if(q=H.includePrerelease?"-0":"",U)if(X===">"||X==="<")Q="<0.0.0-0";else Q="*";else if(X&&_){if(B)W=0;if(G=0,X===">")if(X=">=",B)Y=+Y+1,W=0,G=0;else W=+W+1,G=0;else if(X==="<=")if(X="<",B)Y=+Y+1;else W=+W+1;if(X==="<")q="-0";Q=`${X+Y}.${W}.${G}${q}`}else if(B)Q=`>=${Y}.0.0${q} <${+Y+1}.0.0-0`;else if(w)Q=`>=${Y}.${W}.0${q} <${Y}.${+W+1}.0-0`;return B1("xRange return",Q),Q})},sO=($,H)=>{return B1("replaceStars",$,H),$.trim().replace(K1[S1.STAR],"")},oO=($,H)=>{return B1("replaceGTE0",$,H),$.trim().replace(K1[H.includePrerelease?S1.GTE0PRE:S1.GTE0],"")},rO=($)=>(H,J,Q,X,Y,W,G,q,U,B,w,_)=>{if(I1(Q))J="";else if(I1(X))J=`>=${Q}.0.0${$?"-0":""}`;else if(I1(Y))J=`>=${Q}.${X}.0${$?"-0":""}`;else if(W)J=`>=${J}`;else J=`>=${J}${$?"-0":""}`;if(I1(U))q="";else if(I1(B))q=`<${+U+1}.0.0-0`;else if(I1(w))q=`<${U}.${+B+1}.0-0`;else if(_)q=`<=${U}.${B}.${w}-${_}`;else if($)q=`<${U}.${B}.${+w+1}-0`;else q=`<=${q}`;return`${J} ${q}`.trim()},aO=($,H,J)=>{for(let Q=0;Q<$.length;Q++)if(!$[Q].test(H))return!1;if(H.prerelease.length&&!J.includePrerelease){for(let Q=0;Q<$.length;Q++){if(B1($[Q].semver),$[Q].semver===c5.ANY)continue;if($[Q].semver.prerelease.length>0){let X=$[Q].semver;if(X.major===H.major&&X.minor===H.minor&&X.patch===H.patch)return!0}}return!1}return!0}});var h4=N((oh,tW)=>{var v4=Symbol("SemVer ANY");class x2{static get ANY(){return v4}constructor($,H){if(H=iW(H),$ instanceof x2)if($.loose===!!H.loose)return $;else $=$.value;if($=$.trim().split(/\s+/).join(" "),p5("comparator",$,H),this.options=H,this.loose=!!H.loose,this.parse($),this.semver===v4)this.value="";else this.value=this.operator+this.semver.version;p5("comp",this)}parse($){let H=this.options.loose?sW[oW.COMPARATORLOOSE]:sW[oW.COMPARATOR],J=$.match(H);if(!J)throw TypeError(`Invalid comparator: ${$}`);if(this.operator=J[1]!==void 0?J[1]:"",this.operator==="=")this.operator="";if(!J[2])this.semver=v4;else this.semver=new rW(J[2],this.options.loose)}toString(){return this.value}test($){if(p5("Comparator.test",$,this.options.loose),this.semver===v4||$===v4)return!0;if(typeof $==="string")try{$=new rW($,this.options)}catch(H){return!1}return l5($,this.operator,this.semver,this.options)}intersects($,H){if(!($ instanceof x2))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new aW($.value,H).test(this.value)}else if($.operator===""){if($.value==="")return!0;return new aW(this.value,H).test($.semver)}if(H=iW(H),H.includePrerelease&&(this.value==="<0.0.0-0"||$.value==="<0.0.0-0"))return!1;if(!H.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(l5(this.semver,"<",$.semver,H)&&this.operator.startsWith(">")&&$.operator.startsWith("<"))return!0;if(l5(this.semver,">",$.semver,H)&&this.operator.startsWith("<")&&$.operator.startsWith(">"))return!0;return!1}}tW.exports=x2;var iW=j2(),{safeRe:sW,t:oW}=n$(),l5=d5(),p5=b4(),rW=M1(),aW=v1()});var g4=N((rh,eW)=>{var tO=v1(),eO=($,H,J)=>{try{H=new tO(H,J)}catch(Q){return!1}return H.test($)};eW.exports=eO});var HG=N((ah,$G)=>{var $Z=v1(),HZ=($,H)=>new $Z($,H).set.map((J)=>J.map((Q)=>Q.value).join(" ").trim().split(" "));$G.exports=HZ});var QG=N((th,JG)=>{var JZ=M1(),QZ=v1(),XZ=($,H,J)=>{let Q=null,X=null,Y=null;try{Y=new QZ(H,J)}catch(W){return null}return $.forEach((W)=>{if(Y.test(W)){if(!Q||X.compare(W)===-1)Q=W,X=new JZ(Q,J)}}),Q};JG.exports=XZ});var YG=N((eh,XG)=>{var YZ=M1(),WZ=v1(),GZ=($,H,J)=>{let Q=null,X=null,Y=null;try{Y=new WZ(H,J)}catch(W){return null}return $.forEach((W)=>{if(Y.test(W)){if(!Q||X.compare(W)===1)Q=W,X=new YZ(Q,J)}}),Q};XG.exports=GZ});var qG=N(($v,GG)=>{var n5=M1(),qZ=v1(),WG=f4(),UZ=($,H)=>{$=new qZ($,H);let J=new n5("0.0.0");if($.test(J))return J;if(J=new n5("0.0.0-0"),$.test(J))return J;J=null;for(let Q=0;Q<$.set.length;++Q){let X=$.set[Q],Y=null;if(X.forEach((W)=>{let G=new n5(W.semver.version);switch(W.operator){case">":if(G.prerelease.length===0)G.patch++;else G.prerelease.push(0);G.raw=G.format();case"":case">=":if(!Y||WG(G,Y))Y=G;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${W.operator}`)}}),Y&&(!J||WG(J,Y)))J=Y}if(J&&$.test(J))return J;return null};GG.exports=UZ});var BG=N((Hv,UG)=>{var BZ=v1(),wZ=($,H)=>{try{return new BZ($,H).range||"*"}catch(J){return null}};UG.exports=wZ});var b2=N((Jv,_G)=>{var DZ=M1(),VG=h4(),{ANY:VZ}=VG,_Z=v1(),FZ=g4(),wG=f4(),DG=C2(),zZ=K2(),NZ=P2(),AZ=($,H,J,Q)=>{$=new DZ($,Q),H=new _Z(H,Q);let X,Y,W,G,q;switch(J){case">":X=wG,Y=zZ,W=DG,G=">",q=">=";break;case"<":X=DG,Y=NZ,W=wG,G="<",q="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(FZ($,H,Q))return!1;for(let U=0;U<H.set.length;++U){let B=H.set[U],w=null,_=null;if(B.forEach((V)=>{if(V.semver===VZ)V=new VG(">=0.0.0");if(w=w||V,_=_||V,X(V.semver,w.semver,Q))w=V;else if(W(V.semver,_.semver,Q))_=V}),w.operator===G||w.operator===q)return!1;if((!_.operator||_.operator===G)&&Y($,_.semver))return!1;else if(_.operator===q&&W($,_.semver))return!1}return!0};_G.exports=AZ});var zG=N((Qv,FG)=>{var RZ=b2(),EZ=($,H,J)=>RZ($,H,">",J);FG.exports=EZ});var AG=N((Xv,NG)=>{var jZ=b2(),OZ=($,H,J)=>jZ($,H,"<",J);NG.exports=OZ});var jG=N((Yv,EG)=>{var RG=v1(),ZZ=($,H,J)=>{return $=new RG($,J),H=new RG(H,J),$.intersects(H,J)};EG.exports=ZZ});var ZG=N((Wv,OG)=>{var LZ=g4(),MZ=h1();OG.exports=($,H,J)=>{let Q=[],X=null,Y=null,W=$.sort((B,w)=>MZ(B,w,J));for(let B of W)if(LZ(B,H,J)){if(Y=B,!X)X=B}else{if(Y)Q.push([X,Y]);Y=null,X=null}if(X)Q.push([X,null]);let G=[];for(let[B,w]of Q)if(B===w)G.push(B);else if(!w&&B===W[0])G.push("*");else if(!w)G.push(`>=${B}`);else if(B===W[0])G.push(`<=${w}`);else G.push(`${B} - ${w}`);let q=G.join(" || "),U=typeof H.raw==="string"?H.raw:String(H);return q.length<U.length?q:H}});var KG=N((Gv,PG)=>{var LG=v1(),s5=h4(),{ANY:i5}=s5,y4=g4(),o5=h1(),SZ=($,H,J={})=>{if($===H)return!0;$=new LG($,J),H=new LG(H,J);let Q=!1;$:for(let X of $.set){for(let Y of H.set){let W=PZ(X,Y,J);if(Q=Q||W!==null,W)continue $}if(Q)return!1}return!0},CZ=[new s5(">=0.0.0-0")],MG=[new s5(">=0.0.0")],PZ=($,H,J)=>{if($===H)return!0;if($.length===1&&$[0].semver===i5)if(H.length===1&&H[0].semver===i5)return!0;else if(J.includePrerelease)$=CZ;else $=MG;if(H.length===1&&H[0].semver===i5)if(J.includePrerelease)return!0;else H=MG;let Q=new Set,X,Y;for(let V of $)if(V.operator===">"||V.operator===">=")X=SG(X,V,J);else if(V.operator==="<"||V.operator==="<=")Y=CG(Y,V,J);else Q.add(V.semver);if(Q.size>1)return null;let W;if(X&&Y){if(W=o5(X.semver,Y.semver,J),W>0)return null;else if(W===0&&(X.operator!==">="||Y.operator!=="<="))return null}for(let V of Q){if(X&&!y4(V,String(X),J))return null;if(Y&&!y4(V,String(Y),J))return null;for(let D of H)if(!y4(V,String(D),J))return!1;return!0}let G,q,U,B,w=Y&&!J.includePrerelease&&Y.semver.prerelease.length?Y.semver:!1,_=X&&!J.includePrerelease&&X.semver.prerelease.length?X.semver:!1;if(w&&w.prerelease.length===1&&Y.operator==="<"&&w.prerelease[0]===0)w=!1;for(let V of H){if(B=B||V.operator===">"||V.operator===">=",U=U||V.operator==="<"||V.operator==="<=",X){if(_){if(V.semver.prerelease&&V.semver.prerelease.length&&V.semver.major===_.major&&V.semver.minor===_.minor&&V.semver.patch===_.patch)_=!1}if(V.operator===">"||V.operator===">="){if(G=SG(X,V,J),G===V&&G!==X)return!1}else if(X.operator===">="&&!y4(X.semver,String(V),J))return!1}if(Y){if(w){if(V.semver.prerelease&&V.semver.prerelease.length&&V.semver.major===w.major&&V.semver.minor===w.minor&&V.semver.patch===w.patch)w=!1}if(V.operator==="<"||V.operator==="<="){if(q=CG(Y,V,J),q===V&&q!==Y)return!1}else if(Y.operator==="<="&&!y4(Y.semver,String(V),J))return!1}if(!V.operator&&(Y||X)&&W!==0)return!1}if(X&&U&&!Y&&W!==0)return!1;if(Y&&B&&!X&&W!==0)return!1;if(_||w)return!1;return!0},SG=($,H,J)=>{if(!$)return H;let Q=o5($.semver,H.semver,J);return Q>0?$:Q<0?H:H.operator===">"&&$.operator===">="?H:$},CG=($,H,J)=>{if(!$)return H;let Q=o5($.semver,H.semver,J);return Q<0?$:Q>0?H:H.operator==="<"&&$.operator==="<="?H:$};PG.exports=SZ});var f2=N((qv,xG)=>{var r5=n$(),IG=x4(),KZ=M1(),TG=g5(),IZ=H$(),TZ=JW(),xZ=XW(),bZ=GW(),fZ=BW(),kZ=DW(),hZ=_W(),vZ=zW(),gZ=AW(),yZ=h1(),uZ=OW(),mZ=LW(),dZ=S2(),cZ=PW(),lZ=IW(),pZ=f4(),nZ=C2(),iZ=u5(),sZ=m5(),oZ=P2(),rZ=K2(),aZ=d5(),tZ=yW(),eZ=h4(),$L=v1(),HL=g4(),JL=HG(),QL=QG(),XL=YG(),YL=qG(),WL=BG(),GL=b2(),qL=zG(),UL=AG(),BL=jG(),wL=ZG(),DL=KG();xG.exports={parse:IZ,valid:TZ,clean:xZ,inc:bZ,diff:fZ,major:kZ,minor:hZ,patch:vZ,prerelease:gZ,compare:yZ,rcompare:uZ,compareLoose:mZ,compareBuild:dZ,sort:cZ,rsort:lZ,gt:pZ,lt:nZ,eq:iZ,neq:sZ,gte:oZ,lte:rZ,cmp:aZ,coerce:tZ,Comparator:eZ,Range:$L,satisfies:HL,toComparators:JL,maxSatisfying:QL,minSatisfying:XL,minVersion:YL,validRange:WL,outside:GL,gtr:qL,ltr:UL,intersects:BL,simplifyRange:wL,subset:DL,SemVer:KZ,re:r5.re,src:r5.src,tokens:r5.t,SEMVER_SPEC_VERSION:IG.SEMVER_SPEC_VERSION,RELEASE_TYPES:IG.RELEASE_TYPES,compareIdentifiers:TG.compareIdentifiers,rcompareIdentifiers:TG.rcompareIdentifiers}});var fG=N((Uv,bG)=>{var VL=f2();bG.exports=VL.satisfies(process.version,">=15.7.0")});var hG=N((Bv,kG)=>{var _L=f2();kG.exports=_L.satisfies(process.version,">=16.9.0")});var a5=N((wv,vG)=>{var FL=fG(),zL=hG(),NL={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},AL={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};vG.exports=function($,H){if(!$||!H)return;let J=H.asymmetricKeyType;if(!J)return;let Q=NL[J];if(!Q)throw Error(`Unknown key type "${J}".`);if(!Q.includes($))throw Error(`"alg" parameter for "${J}" key type must be one of: ${Q.join(", ")}.`);if(FL)switch(J){case"ec":let X=H.asymmetricKeyDetails.namedCurve,Y=AL[$];if(X!==Y)throw Error(`"alg" parameter "${$}" requires curve "${Y}".`);break;case"rsa-pss":if(zL){let W=parseInt($.slice(-3),10),{hashAlgorithm:G,mgf1HashAlgorithm:q,saltLength:U}=H.asymmetricKeyDetails;if(G!==`sha${W}`||q!==G)throw Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${$}.`);if(U!==void 0&&U>W>>3)throw Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${$}.`)}break}}});var t5=N((Dv,gG)=>{var RL=f2();gG.exports=RL.satisfies(process.version,"^6.12.0 || >=8.0.0")});var mG=N((Vv,uG)=>{var q1=T4(),EL=b5(),yG=f5(),jL=x5(),OL=k5(),ZL=a5(),LL=t5(),ML=z2(),{KeyObject:SL,createSecretKey:CL,createPublicKey:PL}=a("crypto"),e5=["RS256","RS384","RS512"],KL=["ES256","ES384","ES512"],$7=["RS256","RS384","RS512"],IL=["HS256","HS384","HS512"];if(LL)e5.splice(e5.length,0,"PS256","PS384","PS512"),$7.splice($7.length,0,"PS256","PS384","PS512");uG.exports=function($,H,J,Q){if(typeof J==="function"&&!Q)Q=J,J={};if(!J)J={};J=Object.assign({},J);let X;if(Q)X=Q;else X=function(B,w){if(B)throw B;return w};if(J.clockTimestamp&&typeof J.clockTimestamp!=="number")return X(new q1("clockTimestamp must be a number"));if(J.nonce!==void 0&&(typeof J.nonce!=="string"||J.nonce.trim()===""))return X(new q1("nonce must be a non-empty string"));if(J.allowInvalidAsymmetricKeyTypes!==void 0&&typeof J.allowInvalidAsymmetricKeyTypes!=="boolean")return X(new q1("allowInvalidAsymmetricKeyTypes must be a boolean"));let Y=J.clockTimestamp||Math.floor(Date.now()/1000);if(!$)return X(new q1("jwt must be provided"));if(typeof $!=="string")return X(new q1("jwt must be a string"));let W=$.split(".");if(W.length!==3)return X(new q1("jwt malformed"));let G;try{G=jL($,{complete:!0})}catch(B){return X(B)}if(!G)return X(new q1("invalid token"));let q=G.header,U;if(typeof H==="function"){if(!Q)return X(new q1("verify must be called asynchronous if secret or public key is provided as a callback"));U=H}else U=function(B,w){return w(null,H)};return U(q,function(B,w){if(B)return X(new q1("error in secret or public key callback: "+B.message));let _=W[2].trim()!=="";if(!_&&w)return X(new q1("jwt signature is required"));if(_&&!w)return X(new q1("secret or public key must be provided"));if(!_&&!J.algorithms)return X(new q1('please specify "none" in "algorithms" to verify unsigned tokens'));if(w!=null&&!(w instanceof SL))try{w=PL(w)}catch(A){try{w=CL(typeof w==="string"?Buffer.from(w):w)}catch(E){return X(new q1("secretOrPublicKey is not valid key material"))}}if(!J.algorithms)if(w.type==="secret")J.algorithms=IL;else if(["rsa","rsa-pss"].includes(w.asymmetricKeyType))J.algorithms=$7;else if(w.asymmetricKeyType==="ec")J.algorithms=KL;else J.algorithms=e5;if(J.algorithms.indexOf(G.header.alg)===-1)return X(new q1("invalid algorithm"));if(q.alg.startsWith("HS")&&w.type!=="secret")return X(new q1(`secretOrPublicKey must be a symmetric key when using ${q.alg}`));else if(/^(?:RS|PS|ES)/.test(q.alg)&&w.type!=="public")return X(new q1(`secretOrPublicKey must be an asymmetric key when using ${q.alg}`));if(!J.allowInvalidAsymmetricKeyTypes)try{ZL(q.alg,w)}catch(A){return X(A)}let V;try{V=ML.verify($,G.header.alg,w)}catch(A){return X(A)}if(!V)return X(new q1("invalid signature"));let D=G.payload;if(typeof D.nbf<"u"&&!J.ignoreNotBefore){if(typeof D.nbf!=="number")return X(new q1("invalid nbf value"));if(D.nbf>Y+(J.clockTolerance||0))return X(new EL("jwt not active",new Date(D.nbf*1000)))}if(typeof D.exp<"u"&&!J.ignoreExpiration){if(typeof D.exp!=="number")return X(new q1("invalid exp value"));if(Y>=D.exp+(J.clockTolerance||0))return X(new yG("jwt expired",new Date(D.exp*1000)))}if(J.audience){let A=Array.isArray(J.audience)?J.audience:[J.audience];if(!(Array.isArray(D.aud)?D.aud:[D.aud]).some(function(M){return A.some(function(L){return L instanceof RegExp?L.test(M):L===M})}))return X(new q1("jwt audience invalid. expected: "+A.join(" or ")))}if(J.issuer){if(typeof J.issuer==="string"&&D.iss!==J.issuer||Array.isArray(J.issuer)&&J.issuer.indexOf(D.iss)===-1)return X(new q1("jwt issuer invalid. expected: "+J.issuer))}if(J.subject){if(D.sub!==J.subject)return X(new q1("jwt subject invalid. expected: "+J.subject))}if(J.jwtid){if(D.jti!==J.jwtid)return X(new q1("jwt jwtid invalid. expected: "+J.jwtid))}if(J.nonce){if(D.nonce!==J.nonce)return X(new q1("jwt nonce invalid. expected: "+J.nonce))}if(J.maxAge){if(typeof D.iat!=="number")return X(new q1("iat required when maxAge is specified"));let A=OL(J.maxAge,D.iat);if(typeof A>"u")return X(new q1('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(Y>=A+(J.clockTolerance||0))return X(new yG("maxAge exceeded",new Date(A*1000)))}if(J.complete===!0){let A=G.signature;return X(null,{header:q,payload:D,signature:A})}return X(null,D)})}});var iG=N((_v,nG)=>{var dG=1/0,lG=9007199254740991,TL=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,cG=NaN,xL="[object Arguments]",bL="[object Function]",fL="[object GeneratorFunction]",kL="[object String]",hL="[object Symbol]",vL=/^\s+|\s+$/g,gL=/^[-+]0x[0-9a-f]+$/i,yL=/^0b[01]+$/i,uL=/^0o[0-7]+$/i,mL=/^(?:0|[1-9]\d*)$/,dL=parseInt;function cL($,H){var J=-1,Q=$?$.length:0,X=Array(Q);while(++J<Q)X[J]=H($[J],J,$);return X}function lL($,H,J,Q){var X=$.length,Y=J+(Q?1:-1);while(Q?Y--:++Y<X)if(H($[Y],Y,$))return Y;return-1}function pL($,H,J){if(H!==H)return lL($,nL,J);var Q=J-1,X=$.length;while(++Q<X)if($[Q]===H)return Q;return-1}function nL($){return $!==$}function iL($,H){var J=-1,Q=Array($);while(++J<$)Q[J]=H(J);return Q}function sL($,H){return cL(H,function(J){return $[J]})}function oL($,H){return function(J){return $(H(J))}}var k2=Object.prototype,J7=k2.hasOwnProperty,h2=k2.toString,rL=k2.propertyIsEnumerable,aL=oL(Object.keys,Object),tL=Math.max;function eL($,H){var J=pG($)||XM($)?iL($.length,String):[],Q=J.length,X=!!Q;for(var Y in $)if((H||J7.call($,Y))&&!(X&&(Y=="length"||HM(Y,Q))))J.push(Y);return J}function $M($){if(!JM($))return aL($);var H=[];for(var J in Object($))if(J7.call($,J)&&J!="constructor")H.push(J);return H}function HM($,H){return H=H==null?lG:H,!!H&&(typeof $=="number"||mL.test($))&&($>-1&&$%1==0&&$<H)}function JM($){var H=$&&$.constructor,J=typeof H=="function"&&H.prototype||k2;return $===J}function QM($,H,J,Q){$=Q7($)?$:_M($),J=J&&!Q?wM(J):0;var X=$.length;if(J<0)J=tL(X+J,0);return qM($)?J<=X&&$.indexOf(H,J)>-1:!!X&&pL($,H,J)>-1}function XM($){return YM($)&&J7.call($,"callee")&&(!rL.call($,"callee")||h2.call($)==xL)}var pG=Array.isArray;function Q7($){return $!=null&&GM($.length)&&!WM($)}function YM($){return X7($)&&Q7($)}function WM($){var H=H7($)?h2.call($):"";return H==bL||H==fL}function GM($){return typeof $=="number"&&$>-1&&$%1==0&&$<=lG}function H7($){var H=typeof $;return!!$&&(H=="object"||H=="function")}function X7($){return!!$&&typeof $=="object"}function qM($){return typeof $=="string"||!pG($)&&X7($)&&h2.call($)==kL}function UM($){return typeof $=="symbol"||X7($)&&h2.call($)==hL}function BM($){if(!$)return $===0?$:0;if($=DM($),$===dG||$===-dG){var H=$<0?-1:1;return H*TL}return $===$?$:0}function wM($){var H=BM($),J=H%1;return H===H?J?H-J:H:0}function DM($){if(typeof $=="number")return $;if(UM($))return cG;if(H7($)){var H=typeof $.valueOf=="function"?$.valueOf():$;$=H7(H)?H+"":H}if(typeof $!="string")return $===0?$:+$;$=$.replace(vL,"");var J=yL.test($);return J||uL.test($)?dL($.slice(2),J?2:8):gL.test($)?cG:+$}function VM($){return Q7($)?eL($):$M($)}function _M($){return $?sL($,VM($)):[]}nG.exports=QM});var oG=N((Fv,sG)=>{var FM="[object Boolean]",zM=Object.prototype,NM=zM.toString;function AM($){return $===!0||$===!1||RM($)&&NM.call($)==FM}function RM($){return!!$&&typeof $=="object"}sG.exports=AM});var $q=N((zv,eG)=>{var rG=1/0,EM=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,aG=NaN,jM="[object Symbol]",OM=/^\s+|\s+$/g,ZM=/^[-+]0x[0-9a-f]+$/i,LM=/^0b[01]+$/i,MM=/^0o[0-7]+$/i,SM=parseInt,CM=Object.prototype,PM=CM.toString;function KM($){return typeof $=="number"&&$==bM($)}function tG($){var H=typeof $;return!!$&&(H=="object"||H=="function")}function IM($){return!!$&&typeof $=="object"}function TM($){return typeof $=="symbol"||IM($)&&PM.call($)==jM}function xM($){if(!$)return $===0?$:0;if($=fM($),$===rG||$===-rG){var H=$<0?-1:1;return H*EM}return $===$?$:0}function bM($){var H=xM($),J=H%1;return H===H?J?H-J:H:0}function fM($){if(typeof $=="number")return $;if(TM($))return aG;if(tG($)){var H=typeof $.valueOf=="function"?$.valueOf():$;$=tG(H)?H+"":H}if(typeof $!="string")return $===0?$:+$;$=$.replace(OM,"");var J=LM.test($);return J||MM.test($)?SM($.slice(2),J?2:8):ZM.test($)?aG:+$}eG.exports=KM});var Jq=N((Nv,Hq)=>{var kM="[object Number]",hM=Object.prototype,vM=hM.toString;function gM($){return!!$&&typeof $=="object"}function yM($){return typeof $=="number"||gM($)&&vM.call($)==kM}Hq.exports=yM});var Wq=N((Av,Yq)=>{var uM="[object Object]";function mM($){var H=!1;if($!=null&&typeof $.toString!="function")try{H=!!($+"")}catch(J){}return H}function dM($,H){return function(J){return $(H(J))}}var cM=Function.prototype,Qq=Object.prototype,Xq=cM.toString,lM=Qq.hasOwnProperty,pM=Xq.call(Object),nM=Qq.toString,iM=dM(Object.getPrototypeOf,Object);function sM($){return!!$&&typeof $=="object"}function oM($){if(!sM($)||nM.call($)!=uM||mM($))return!1;var H=iM($);if(H===null)return!0;var J=lM.call(H,"constructor")&&H.constructor;return typeof J=="function"&&J instanceof J&&Xq.call(J)==pM}Yq.exports=oM});var qq=N((Rv,Gq)=>{var rM="[object String]",aM=Object.prototype,tM=aM.toString,eM=Array.isArray;function $S($){return!!$&&typeof $=="object"}function HS($){return typeof $=="string"||!eM($)&&$S($)&&tM.call($)==rM}Gq.exports=HS});var Vq=N((Ev,Dq)=>{var JS="Expected a function",Uq=1/0,QS=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,Bq=NaN,XS="[object Symbol]",YS=/^\s+|\s+$/g,WS=/^[-+]0x[0-9a-f]+$/i,GS=/^0b[01]+$/i,qS=/^0o[0-7]+$/i,US=parseInt,BS=Object.prototype,wS=BS.toString;function DS($,H){var J;if(typeof H!="function")throw TypeError(JS);return $=NS($),function(){if(--$>0)J=H.apply(this,arguments);if($<=1)H=void 0;return J}}function VS($){return DS(2,$)}function wq($){var H=typeof $;return!!$&&(H=="object"||H=="function")}function _S($){return!!$&&typeof $=="object"}function FS($){return typeof $=="symbol"||_S($)&&wS.call($)==XS}function zS($){if(!$)return $===0?$:0;if($=AS($),$===Uq||$===-Uq){var H=$<0?-1:1;return H*QS}return $===$?$:0}function NS($){var H=zS($),J=H%1;return H===H?J?H-J:H:0}function AS($){if(typeof $=="number")return $;if(FS($))return Bq;if(wq($)){var H=typeof $.valueOf=="function"?$.valueOf():$;$=wq(H)?H+"":H}if(typeof $!="string")return $===0?$:+$;$=$.replace(YS,"");var J=GS.test($);return J||qS.test($)?US($.slice(2),J?2:8):WS.test($)?Bq:+$}Dq.exports=VS});var Oq=N((jv,jq)=>{var _q=k5(),RS=t5(),ES=a5(),Fq=z2(),jS=iG(),v2=oG(),zq=$q(),Y7=Jq(),Aq=Wq(),K0=qq(),OS=Vq(),{KeyObject:ZS,createSecretKey:LS,createPrivateKey:MS}=a("crypto"),Rq=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(RS)Rq.splice(3,0,"PS256","PS384","PS512");var SS={expiresIn:{isValid:function($){return zq($)||K0($)&&$},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function($){return zq($)||K0($)&&$},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function($){return K0($)||Array.isArray($)},message:'"audience" must be a string or array'},algorithm:{isValid:jS.bind(null,Rq),message:'"algorithm" must be a valid string enum value'},header:{isValid:Aq,message:'"header" must be an object'},encoding:{isValid:K0,message:'"encoding" must be a string'},issuer:{isValid:K0,message:'"issuer" must be a string'},subject:{isValid:K0,message:'"subject" must be a string'},jwtid:{isValid:K0,message:'"jwtid" must be a string'},noTimestamp:{isValid:v2,message:'"noTimestamp" must be a boolean'},keyid:{isValid:K0,message:'"keyid" must be a string'},mutatePayload:{isValid:v2,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:v2,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:v2,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},CS={iat:{isValid:Y7,message:'"iat" should be a number of seconds'},exp:{isValid:Y7,message:'"exp" should be a number of seconds'},nbf:{isValid:Y7,message:'"nbf" should be a number of seconds'}};function Eq($,H,J,Q){if(!Aq(J))throw Error('Expected "'+Q+'" to be a plain object.');Object.keys(J).forEach(function(X){let Y=$[X];if(!Y){if(!H)throw Error('"'+X+'" is not allowed in "'+Q+'"');return}if(!Y.isValid(J[X]))throw Error(Y.message)})}function PS($){return Eq(SS,!1,$,"options")}function KS($){return Eq(CS,!0,$,"payload")}var Nq={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},IS=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];jq.exports=function($,H,J,Q){if(typeof J==="function")Q=J,J={};else J=J||{};let X=typeof $==="object"&&!Buffer.isBuffer($),Y=Object.assign({alg:J.algorithm||"HS256",typ:X?"JWT":void 0,kid:J.keyid},J.header);function W(U){if(Q)return Q(U);throw U}if(!H&&J.algorithm!=="none")return W(Error("secretOrPrivateKey must have a value"));if(H!=null&&!(H instanceof ZS))try{H=MS(H)}catch(U){try{H=LS(typeof H==="string"?Buffer.from(H):H)}catch(B){return W(Error("secretOrPrivateKey is not valid key material"))}}if(Y.alg.startsWith("HS")&&H.type!=="secret")return W(Error(`secretOrPrivateKey must be a symmetric key when using ${Y.alg}`));else if(/^(?:RS|PS|ES)/.test(Y.alg)){if(H.type!=="private")return W(Error(`secretOrPrivateKey must be an asymmetric key when using ${Y.alg}`));if(!J.allowInsecureKeySizes&&!Y.alg.startsWith("ES")&&H.asymmetricKeyDetails!==void 0&&H.asymmetricKeyDetails.modulusLength<2048)return W(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${Y.alg}`))}if(typeof $>"u")return W(Error("payload is required"));else if(X){try{KS($)}catch(U){return W(U)}if(!J.mutatePayload)$=Object.assign({},$)}else{let U=IS.filter(function(B){return typeof J[B]<"u"});if(U.length>0)return W(Error("invalid "+U.join(",")+" option for "+typeof $+" payload"))}if(typeof $.exp<"u"&&typeof J.expiresIn<"u")return W(Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof $.nbf<"u"&&typeof J.notBefore<"u")return W(Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{PS(J)}catch(U){return W(U)}if(!J.allowInvalidAsymmetricKeyTypes)try{ES(Y.alg,H)}catch(U){return W(U)}let G=$.iat||Math.floor(Date.now()/1000);if(J.noTimestamp)delete $.iat;else if(X)$.iat=G;if(typeof J.notBefore<"u"){try{$.nbf=_q(J.notBefore,G)}catch(U){return W(U)}if(typeof $.nbf>"u")return W(Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof J.expiresIn<"u"&&typeof $==="object"){try{$.exp=_q(J.expiresIn,G)}catch(U){return W(U)}if(typeof $.exp>"u")return W(Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(Nq).forEach(function(U){let B=Nq[U];if(typeof J[U]<"u"){if(typeof $[B]<"u")return W(Error('Bad "options.'+U+'" option. The payload already has an "'+B+'" property.'));$[B]=J[U]}});let q=J.encoding||"utf8";if(typeof Q==="function")Q=Q&&OS(Q),Fq.createSign({header:Y,privateKey:H,payload:$,encoding:q}).once("error",Q).once("done",function(U){if(!J.allowInsecureKeySizes&&/^(?:RS|PS)/.test(Y.alg)&&U.length<256)return Q(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${Y.alg}`));Q(null,U)});else{let U=Fq.sign({header:Y,payload:$,secret:H,encoding:q});if(!J.allowInsecureKeySizes&&/^(?:RS|PS)/.test(Y.alg)&&U.length<256)throw Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${Y.alg}`);return U}}});var Lq=N((Ov,Zq)=>{Zq.exports={decode:x5(),verify:mG(),sign:Oq(),JsonWebTokenError:T4(),NotBeforeError:b5(),TokenExpiredError:f5()}});var kq={};A0(kq,{setGlobalTransactionManager:()=>e1,getGlobalTransactionManager:()=>b0,InMemoryTransactionManager:()=>s$,BaseTransactionManager:()=>w0});class w0{activeTransactions=new Map;requestTransactions=new WeakMap;isActive($){return this.activeTransactions.has($.id)}setRollbackOnly($){$.rollbackOnly=!0}createTransactionContext($){let H={id:crypto.randomUUID(),startTime:new Date,isolation:$?.isolation,timeout:$?.timeout,readOnly:$?.readOnly,savepoints:[],rollbackOnly:!1};return this.activeTransactions.set(H.id,H),H}removeTransactionContext($){this.activeTransactions.delete($.id)}getRequestTransaction($){return this.requestTransactions.get($)}setRequestTransaction($,H){this.requestTransactions.set($,H)}clearRequestTransaction($){this.requestTransactions.delete($)}async handleTransactional($,H,J,Q,X){let Y=Reflect.getMetadata("transactional",$,H);if(!Y)return Q.apply($,J);let W=X?this.getRequestTransaction(X):null;switch(Y.propagation||"REQUIRED"){case"REQUIRED":return W?this.executeInExistingTransaction(W,$,J,Q,Y):this.executeInNewTransaction($,J,Q,Y,X);case"REQUIRES_NEW":return this.executeInNewTransaction($,J,Q,Y,X);case"SUPPORTS":return W?this.executeInExistingTransaction(W,$,J,Q,Y):Q.apply($,J);case"NOT_SUPPORTED":return Q.apply($,J);case"MANDATORY":if(!W)throw Error("Transaction is mandatory but no existing transaction found");return this.executeInExistingTransaction(W,$,J,Q,Y);case"NEVER":if(W)throw Error("Transaction is not allowed but existing transaction found");return Q.apply($,J);default:return W?this.executeInExistingTransaction(W,$,J,Q,Y):this.executeInNewTransaction($,J,Q,Y,X)}}async executeInNewTransaction($,H,J,Q,X){let Y=await this.begin(Q);if(X)this.setRequestTransaction(X,Y);try{let W=await J.apply($,H);if(Y.rollbackOnly)throw await this.rollback(Y),Error("Transaction marked for rollback");return await this.commit(Y),W}catch(W){throw await this.rollback(Y),W}finally{if(X)this.clearRequestTransaction(X);this.removeTransactionContext(Y)}}async executeInExistingTransaction($,H,J,Q,X){return this.handleNestedTransaction($,H,J,Q)}async handleNestedTransaction($,H,J,Q){let X=`sp_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;try{return await this.savepoint($,X),await Q.apply(H,J)}catch(Y){throw await this.rollbackToSavepoint($,X),Y}}}function e1($){m2=$}function b0(){if(!m2)m2=new s$;return m2}var s$,m2=null;var g1=s4(()=>{s$=class s$ extends w0{transactions=new Map;currentTransactionId=null;async begin($){let H=this.createTransactionContext($);return this.transactions.set(H.id,{operations:[],committed:!1,rolledBack:!1}),this.currentTransactionId=H.id,H}async commit($){let H=this.transactions.get($.id);if(!H)throw Error(`Transaction ${$.id} not found`);if(H.rolledBack)throw Error(`Transaction ${$.id} already rolled back`);if(H.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 H=this.transactions.get($.id);if(!H)throw Error(`Transaction ${$.id} not found`);if(H.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($,H){$.savepoints.push(H);let J=this.transactions.get($.id);if(J)J.savepoints=J.savepoints||[],J.savepoints.push(H)}async rollbackToSavepoint($,H){let J=$.savepoints.indexOf(H);if(J===-1)throw Error(`Savepoint ${H} not found`);$.savepoints=$.savepoints.slice(0,J+1);let Q=this.transactions.get($.id);if(Q&&Q.savepoints)Q.savepoints=Q.savepoints.slice(0,J+1)}}});function o2($){let{origin:H="*",methods:J=["GET","POST","PUT","DELETE","PATCH","OPTIONS"],allowedHeaders:Q=["Content-Type","Authorization"],exposedHeaders:X=[],credentials:Y=!1,maxAge:W=86400}=$||{};return async(G,q)=>{let U=G.req.header("origin"),B=G.req.method,w=null;if(typeof H==="string")w=H;else if(Array.isArray(H)){if(U&&H.includes(U))w=U}else if(typeof H==="function"){if(U&&H(U))w=U}if(w)G.header("Access-Control-Allow-Origin",w);if(Y)G.header("Access-Control-Allow-Credentials","true");if(X.length>0)G.header("Access-Control-Expose-Headers",X.join(", "));if(B==="OPTIONS")return G.header("Access-Control-Allow-Methods",J.join(", ")),G.header("Access-Control-Allow-Headers",Q.join(", ")),G.header("Access-Control-Max-Age",W.toString()),G.body(null,204);await q()}}function r2($){let{windowMs:H=60000,max:J=100,keyGenerator:Q=(W)=>{return W.req.header("x-forwarded-for")||W.req.header("x-real-ip")||"unknown"}}=$,X=new Map,Y=setInterval(()=>{let W=Date.now();for(let[G,q]of X.entries())if(W>q.resetTime)X.delete(G)},H);if(typeof process<"u"&&process.on)process.on("exit",()=>clearInterval(Y));return async(W,G)=>{let q=Q(W),U=Date.now(),B=X.get(q);if(!B||U>B.resetTime)X.set(q,{count:1,resetTime:U+H}),W.header("X-RateLimit-Limit",J.toString()),W.header("X-RateLimit-Remaining",(J-1).toString()),W.header("X-RateLimit-Reset",new Date(U+H).toISOString()),await G();else if(B.count<J)B.count++,W.header("X-RateLimit-Limit",J.toString()),W.header("X-RateLimit-Remaining",(J-B.count).toString()),W.header("X-RateLimit-Reset",new Date(B.resetTime).toISOString()),await G();else{let w=Math.ceil((B.resetTime-U)/1000);return W.header("X-RateLimit-Limit",J.toString()),W.header("X-RateLimit-Remaining","0"),W.header("X-RateLimit-Reset",new Date(B.resetTime).toISOString()),W.header("Retry-After",w.toString()),W.json({error:"Too Many Requests",message:`Rate limit exceeded. Please try again in ${w} seconds.`,retryAfter:w},429)}}}function a2($){let{threshold:H=1024,level:J=6}=$||{};return async(Q,X)=>{await X();let Y=Q.res;if(!Y)return;let W=Y.headers.get("content-type")||"",G=Y.headers.get("content-length"),q=Q.req.header("accept-encoding")||"";if(!["text/","application/json","application/javascript","application/xml","application/x-www-form-urlencoded"].some((D)=>W.toLowerCase().includes(D)))return;if(G&&parseInt(G)<H)return;if(Y.headers.get("content-encoding"))return;let w=await Y.arrayBuffer();if(w.byteLength<H)return;let _=null,V=null;if(q.includes("br")&&typeof CompressionStream<"u")try{let D=new CompressionStream("deflate"),A=D.writable.getWriter();A.write(new Uint8Array(w)),A.close();let E=D.readable.getReader(),Z=[];while(!0){let{done:v,value:l}=await E.read();if(v)break;Z.push(l)}let M=Z.reduce((v,l)=>v+l.length,0),L=new Uint8Array(M),x=0;for(let v of Z)L.set(v,x),x+=v.length;_=L,V="deflate"}catch(D){_=null}if(!_&&q.includes("gzip")&&typeof CompressionStream<"u")try{let D=new CompressionStream("gzip"),A=D.writable.getWriter();A.write(new Uint8Array(w)),A.close();let E=D.readable.getReader(),Z=[];while(!0){let{done:v,value:l}=await E.read();if(v)break;Z.push(l)}let M=Z.reduce((v,l)=>v+l.length,0),L=new Uint8Array(M),x=0;for(let v of Z)L.set(v,x),x+=v.length;_=L,V="gzip"}catch(D){_=null}if(_&&V&&_.byteLength<w.byteLength){let D=new Headers(Y.headers);return D.set("content-encoding",V),D.set("content-length",_.byteLength.toString()),D.delete("content-length"),new Response(_,{status:Y.status,statusText:Y.statusText,headers:D})}}}var M6,VQ;function DA(){if(!M6)M6=MH(),VQ=DQ();return{pino:M6,pinoPretty:VQ}}class _Q{logger;constructor($){let{pino:H}=DA(),J=!0,Q=$?.pretty!==void 0?$.pretty:!0;this.logger=H({level:$?.level||"debug",transport:Q?{target:"pino-pretty",options:{colorize:!0,translateTime:"SYS:HH:MM:ss",ignore:"pid,hostname",singleLine:!1}}:void 0})}trace($,H){this.logger.trace(H||{},$)}debug($,H){this.logger.debug(H||{},$)}info($,H){this.logger.info(H||{},$)}warn($,H){this.logger.warn(H||{},$)}error($,H,J){this.logger.error({err:H,...J},$)}fatal($,H,J){this.logger.fatal({err:H,...J},$)}child($){return new S6(this.logger.child($))}}class S6{logger;constructor($){this.logger=$}trace($,H){this.logger.trace(H||{},$)}debug($,H){this.logger.debug(H||{},$)}info($,H){this.logger.info(H||{},$)}warn($,H){this.logger.warn(H||{},$)}error($,H,J){this.logger.error({err:H,...J},$)}fatal($,H,J){this.logger.fatal({err:H,...J},$)}child($){return new S6(this.logger.child($))}}function FQ($){return new _Q($)}var B4=null;function uP($){return B4=FQ($),B4}function m0(){if(!B4)B4=FQ({pretty:!0,level:"debug"});return B4}function _$($){return m0().child($)}function cP(){return async($,H)=>{let J=_$({context:"request",method:$.req.method,path:$.req.path,ip:$.req.header("x-forwarded-for")||$.req.header("x-real-ip")||"unknown"}),Q=Date.now();J.info("Incoming request");try{await H();let X=Date.now()-Q;J.info("Request completed",{status:$.res.status,duration:`${X}ms`})}catch(X){let Y=Date.now()-Q;throw J.error("Request failed",X,{status:X.status||500,duration:`${Y}ms`}),X}}}function lP(){return async($,H)=>{try{await H()}catch(J){throw _$({context:"error"}).error("Unhandled error",J,{method:$.req.method,path:$.req.path,query:$.req.query(),headers:Object.fromEntries(new Map($.req.raw.headers))}),J}}}function VA($={}){let{timeout:H,logging:J=!0,requestIdGenerator:Q,logHeaders:X=[]}=$;return async(Y,W)=>{let G=Q?.()||Y.req.header("x-request-id")||void 0,q=o4(Y,{requestId:G,timeout:H}),U=J?m0().child({requestId:q.requestId}):null;if(U){let B={method:Y.req.method,path:Y.req.path,url:Y.req.url};if(X.length>0){B.headers={};for(let w of X){let _=Y.req.header(w);if(_)B.headers[w]=_}}U.info("Request started",B)}try{if(Y.header("x-request-id",q.requestId),await W(),U){let B=r4(Y);U.info("Request completed",{status:Y.res.status,duration:`${B}ms`})}}catch(B){if(U){let w=r4(Y);U.error("Request failed",B,{duration:`${w}ms`})}throw B}finally{a4(Y)}}}function _A(){return async($,H)=>{let J=$.req.header("x-request-id")||o4($).requestId;$.header("x-request-id",J);try{await H()}finally{a4($)}}}w4();function FA($){let{ttl:H,key:J,prefix:Q,includeQuery:X=!1,varyByHeaders:Y,condition:W,store:G,onlySuccess:q=!0}=$,U=F$(H);return async(B,w)=>{let _=B.req.method,V=B.req.path,D=B.req.param(),A=X?B.req.query():void 0,E="";if(Y&&Y.length>0)E=`:${Y.map((l)=>`${l}:${B.req.header(l)||""}`).join("|")}`;let Z=b1.generateKey(_,V,D,A,{key:J,prefix:Q,includeQuery:X})+E,M=G||b1.getDefaultStore(),L=await M.get(Z);if(L!==null)return B.header("X-Cache","HIT"),B.json(L);B.header("X-Cache","MISS"),await w();let x=B.res;if(q&&x.status>=300)return;try{let l=await x.clone().json();if(W&&!W(l))return;await M.set(Z,l,U)}catch{}}}function zA($,H){let J=Array.isArray($)?$:[$];return async(Q,X)=>{await X();let Y=H||b1.getDefaultStore();for(let W of J){let G=W,q=Q.req.param();if(q)for(let[U,B]of Object.entries(q))G=G.replace(`{${U}}`,String(B));await Y.deletePattern(G)}}}var OQ=Symbol("Let zodToJsonSchema decide on which parser to use");var jQ={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"},ZQ=($)=>typeof $==="string"?{...jQ,name:$}:{...jQ,...$};var LQ=($)=>{let H=ZQ($),J=H.name!==void 0?[...H.basePath,H.definitionPath,H.name]:H.basePath;return{...H,flags:{hasReferencedOpenAiAnyType:!1},currentPath:J,propertyPath:void 0,seen:new Map(Object.entries(H.definitions).map(([Q,X])=>[X._def,{def:X._def,path:[...H.basePath,H.definitionPath,Q],jsonSchema:void 0}]))}};function K6($,H,J,Q){if(!Q?.errorMessages)return;if(J)$.errorMessage={...$.errorMessage,[H]:J}}function Y1($,H,J,Q,X){$[H]=J,K6($,H,Q,X)}var b9=($,H)=>{let J=0;for(;J<$.length&&J<H.length;J++)if($[J]!==H[J])break;return[($.length-J).toString(),...H.slice(J)].join("/")};var R={};A0(R,{void:()=>$R,util:()=>H1,unknown:()=>tA,union:()=>XR,undefined:()=>oA,tuple:()=>GR,transformer:()=>NR,symbol:()=>sA,string:()=>bQ,strictObject:()=>QR,setErrorMap:()=>RA,set:()=>BR,record:()=>qR,quotelessJson:()=>NA,promise:()=>zR,preprocess:()=>ER,pipeline:()=>jR,ostring:()=>OR,optional:()=>AR,onumber:()=>ZR,oboolean:()=>LR,objectUtil:()=>I6,object:()=>JR,number:()=>fQ,nullable:()=>RR,null:()=>rA,never:()=>eA,nativeEnum:()=>FR,nan:()=>pA,map:()=>UR,makeIssue:()=>D4,literal:()=>VR,lazy:()=>DR,late:()=>cA,isValid:()=>L0,isDirty:()=>k9,isAsync:()=>N$,isAborted:()=>f9,intersection:()=>WR,instanceof:()=>lA,getParsedType:()=>W0,getErrorMap:()=>z$,function:()=>wR,enum:()=>_R,effect:()=>NR,discriminatedUnion:()=>YR,defaultErrorMap:()=>_0,datetimeRegex:()=>IQ,date:()=>iA,custom:()=>xQ,coerce:()=>MR,boolean:()=>kQ,bigint:()=>nA,array:()=>HR,any:()=>aA,addIssueToContext:()=>T,ZodVoid:()=>_4,ZodUnknown:()=>M0,ZodUnion:()=>Z$,ZodUndefined:()=>j$,ZodType:()=>e,ZodTuple:()=>q0,ZodTransformer:()=>n1,ZodSymbol:()=>V4,ZodString:()=>d1,ZodSet:()=>p0,ZodSchema:()=>e,ZodRecord:()=>F4,ZodReadonly:()=>I$,ZodPromise:()=>n0,ZodPipeline:()=>A4,ZodParsedType:()=>P,ZodOptional:()=>l1,ZodObject:()=>D1,ZodNumber:()=>S0,ZodNullable:()=>z0,ZodNull:()=>O$,ZodNever:()=>G0,ZodNativeEnum:()=>C$,ZodNaN:()=>N4,ZodMap:()=>z4,ZodLiteral:()=>S$,ZodLazy:()=>M$,ZodIssueCode:()=>S,ZodIntersection:()=>L$,ZodFunction:()=>R$,ZodFirstPartyTypeKind:()=>C,ZodError:()=>j1,ZodEnum:()=>P0,ZodEffects:()=>n1,ZodDiscriminatedUnion:()=>h9,ZodDefault:()=>P$,ZodDate:()=>c0,ZodCatch:()=>K$,ZodBranded:()=>v9,ZodBoolean:()=>E$,ZodBigInt:()=>C0,ZodArray:()=>c1,ZodAny:()=>l0,Schema:()=>e,ParseStatus:()=>O1,OK:()=>Z1,NEVER:()=>SR,INVALID:()=>p,EMPTY_PATH:()=>EA,DIRTY:()=>d0,BRAND:()=>dA});var H1;(function($){$.assertEqual=(X)=>{};function H(X){}$.assertIs=H;function J(X){throw Error()}$.assertNever=J,$.arrayToEnum=(X)=>{let Y={};for(let W of X)Y[W]=W;return Y},$.getValidEnumValues=(X)=>{let Y=$.objectKeys(X).filter((G)=>typeof X[X[G]]!=="number"),W={};for(let G of Y)W[G]=X[G];return $.objectValues(W)},$.objectValues=(X)=>{return $.objectKeys(X).map(function(Y){return X[Y]})},$.objectKeys=typeof Object.keys==="function"?(X)=>Object.keys(X):(X)=>{let Y=[];for(let W in X)if(Object.prototype.hasOwnProperty.call(X,W))Y.push(W);return Y},$.find=(X,Y)=>{for(let W of X)if(Y(W))return W;return},$.isInteger=typeof Number.isInteger==="function"?(X)=>Number.isInteger(X):(X)=>typeof X==="number"&&Number.isFinite(X)&&Math.floor(X)===X;function Q(X,Y=" | "){return X.map((W)=>typeof W==="string"?`'${W}'`:W).join(Y)}$.joinValues=Q,$.jsonStringifyReplacer=(X,Y)=>{if(typeof Y==="bigint")return Y.toString();return Y}})(H1||(H1={}));var I6;(function($){$.mergeShapes=(H,J)=>{return{...H,...J}}})(I6||(I6={}));var P=H1.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),W0=($)=>{switch(typeof $){case"undefined":return P.undefined;case"string":return P.string;case"number":return Number.isNaN($)?P.nan:P.number;case"boolean":return P.boolean;case"function":return P.function;case"bigint":return P.bigint;case"symbol":return P.symbol;case"object":if(Array.isArray($))return P.array;if($===null)return P.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return P.promise;if(typeof Map<"u"&&$ instanceof Map)return P.map;if(typeof Set<"u"&&$ instanceof Set)return P.set;if(typeof Date<"u"&&$ instanceof Date)return P.date;return P.object;default:return P.unknown}};var S=H1.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"]),NA=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class j1 extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(J)=>{this.issues=[...this.issues,J]},this.addIssues=(J=[])=>{this.issues=[...this.issues,...J]};let H=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,H);else this.__proto__=H;this.name="ZodError",this.issues=$}format($){let H=$||function(X){return X.message},J={_errors:[]},Q=(X)=>{for(let Y of X.issues)if(Y.code==="invalid_union")Y.unionErrors.map(Q);else if(Y.code==="invalid_return_type")Q(Y.returnTypeError);else if(Y.code==="invalid_arguments")Q(Y.argumentsError);else if(Y.path.length===0)J._errors.push(H(Y));else{let W=J,G=0;while(G<Y.path.length){let q=Y.path[G];if(G!==Y.path.length-1)W[q]=W[q]||{_errors:[]};else W[q]=W[q]||{_errors:[]},W[q]._errors.push(H(Y));W=W[q],G++}}};return Q(this),J}static assert($){if(!($ instanceof j1))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,H1.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(H)=>H.message){let H={},J=[];for(let Q of this.issues)if(Q.path.length>0){let X=Q.path[0];H[X]=H[X]||[],H[X].push($(Q))}else J.push($(Q));return{formErrors:J,fieldErrors:H}}get formErrors(){return this.flatten()}}j1.create=($)=>{return new j1($)};var AA=($,H)=>{let J;switch($.code){case S.invalid_type:if($.received===P.undefined)J="Required";else J=`Expected ${$.expected}, received ${$.received}`;break;case S.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify($.expected,H1.jsonStringifyReplacer)}`;break;case S.unrecognized_keys:J=`Unrecognized key(s) in object: ${H1.joinValues($.keys,", ")}`;break;case S.invalid_union:J="Invalid input";break;case S.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${H1.joinValues($.options)}`;break;case S.invalid_enum_value:J=`Invalid enum value. Expected ${H1.joinValues($.options)}, received '${$.received}'`;break;case S.invalid_arguments:J="Invalid function arguments";break;case S.invalid_return_type:J="Invalid function return type";break;case S.invalid_date:J="Invalid date";break;case S.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(J=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")J=`${J} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)J=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)J=`Invalid input: must end with "${$.validation.endsWith}"`;else H1.assertNever($.validation);else if($.validation!=="regex")J=`Invalid ${$.validation}`;else J="Invalid";break;case S.too_small:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else J="Invalid input";break;case S.too_big:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")J=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else J="Invalid input";break;case S.custom:J="Invalid input";break;case S.invalid_intersection_types:J="Intersection results could not be merged";break;case S.not_multiple_of:J=`Number must be a multiple of ${$.multipleOf}`;break;case S.not_finite:J="Number must be finite";break;default:J=H.defaultError,H1.assertNever($)}return{message:J}},_0=AA;var MQ=_0;function RA($){MQ=$}function z$(){return MQ}var D4=($)=>{let{data:H,path:J,errorMaps:Q,issueData:X}=$,Y=[...J,...X.path||[]],W={...X,path:Y};if(X.message!==void 0)return{...X,path:Y,message:X.message};let G="",q=Q.filter((U)=>!!U).slice().reverse();for(let U of q)G=U(W,{data:H,defaultError:G}).message;return{...X,path:Y,message:G}},EA=[];function T($,H){let J=z$(),Q=D4({issueData:H,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,J,J===_0?void 0:_0].filter((X)=>!!X)});$.common.issues.push(Q)}class O1{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,H){let J=[];for(let Q of H){if(Q.status==="aborted")return p;if(Q.status==="dirty")$.dirty();J.push(Q.value)}return{status:$.value,value:J}}static async mergeObjectAsync($,H){let J=[];for(let Q of H){let X=await Q.key,Y=await Q.value;J.push({key:X,value:Y})}return O1.mergeObjectSync($,J)}static mergeObjectSync($,H){let J={};for(let Q of H){let{key:X,value:Y}=Q;if(X.status==="aborted")return p;if(Y.status==="aborted")return p;if(X.status==="dirty")$.dirty();if(Y.status==="dirty")$.dirty();if(X.value!=="__proto__"&&(typeof Y.value<"u"||Q.alwaysSet))J[X.value]=Y.value}return{status:$.value,value:J}}}var p=Object.freeze({status:"aborted"}),d0=($)=>({status:"dirty",value:$}),Z1=($)=>({status:"valid",value:$}),f9=($)=>$.status==="aborted",k9=($)=>$.status==="dirty",L0=($)=>$.status==="valid",N$=($)=>typeof Promise<"u"&&$ instanceof Promise;var y;(function($){$.errToObj=(H)=>typeof H==="string"?{message:H}:H||{},$.toString=(H)=>typeof H==="string"?H:H?.message})(y||(y={}));class p1{constructor($,H,J,Q){this._cachedPath=[],this.parent=$,this.data=H,this._path=J,this._key=Q}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var SQ=($,H)=>{if(L0(H))return{success:!0,data:H.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let J=new j1($.common.issues);return this._error=J,this._error}}}};function r($){if(!$)return{};let{errorMap:H,invalid_type_error:J,required_error:Q,description:X}=$;if(H&&(J||Q))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(H)return{errorMap:H,description:X};return{errorMap:(W,G)=>{let{message:q}=$;if(W.code==="invalid_enum_value")return{message:q??G.defaultError};if(typeof G.data>"u")return{message:q??Q??G.defaultError};if(W.code!=="invalid_type")return{message:G.defaultError};return{message:q??J??G.defaultError}},description:X}}class e{get description(){return this._def.description}_getType($){return W0($.data)}_getOrReturnCtx($,H){return H||{common:$.parent.common,data:$.data,parsedType:W0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new O1,ctx:{common:$.parent.common,data:$.data,parsedType:W0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let H=this._parse($);if(N$(H))throw Error("Synchronous parse encountered promise.");return H}_parseAsync($){let H=this._parse($);return Promise.resolve(H)}parse($,H){let J=this.safeParse($,H);if(J.success)return J.data;throw J.error}safeParse($,H){let J={common:{issues:[],async:H?.async??!1,contextualErrorMap:H?.errorMap},path:H?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:W0($)},Q=this._parseSync({data:$,path:J.path,parent:J});return SQ(J,Q)}"~validate"($){let H={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:W0($)};if(!this["~standard"].async)try{let J=this._parseSync({data:$,path:[],parent:H});return L0(J)?{value:J.value}:{issues:H.common.issues}}catch(J){if(J?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;H.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:H}).then((J)=>L0(J)?{value:J.value}:{issues:H.common.issues})}async parseAsync($,H){let J=await this.safeParseAsync($,H);if(J.success)return J.data;throw J.error}async safeParseAsync($,H){let J={common:{issues:[],contextualErrorMap:H?.errorMap,async:!0},path:H?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:W0($)},Q=this._parse({data:$,path:J.path,parent:J}),X=await(N$(Q)?Q:Promise.resolve(Q));return SQ(J,X)}refine($,H){let J=(Q)=>{if(typeof H==="string"||typeof H>"u")return{message:H};else if(typeof H==="function")return H(Q);else return H};return this._refinement((Q,X)=>{let Y=$(Q),W=()=>X.addIssue({code:S.custom,...J(Q)});if(typeof Promise<"u"&&Y instanceof Promise)return Y.then((G)=>{if(!G)return W(),!1;else return!0});if(!Y)return W(),!1;else return!0})}refinement($,H){return this._refinement((J,Q)=>{if(!$(J))return Q.addIssue(typeof H==="function"?H(J,Q):H),!1;else return!0})}_refinement($){return new n1({schema:this,typeName:C.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:(H)=>this["~validate"](H)}}optional(){return l1.create(this,this._def)}nullable(){return z0.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return c1.create(this)}promise(){return n0.create(this,this._def)}or($){return Z$.create([this,$],this._def)}and($){return L$.create(this,$,this._def)}transform($){return new n1({...r(this._def),schema:this,typeName:C.ZodEffects,effect:{type:"transform",transform:$}})}default($){let H=typeof $==="function"?$:()=>$;return new P$({...r(this._def),innerType:this,defaultValue:H,typeName:C.ZodDefault})}brand(){return new v9({typeName:C.ZodBranded,type:this,...r(this._def)})}catch($){let H=typeof $==="function"?$:()=>$;return new K$({...r(this._def),innerType:this,catchValue:H,typeName:C.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return A4.create(this,$)}readonly(){return I$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var jA=/^c[^\s-]{8,}$/i,OA=/^[0-9a-z]+$/,ZA=/^[0-9A-HJKMNP-TV-Z]{26}$/i,LA=/^[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,MA=/^[a-z0-9_-]{21}$/i,SA=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,CA=/^[-+]?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)?)??$/,PA=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,KA="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",T6,IA=/^(?:(?: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])$/,TA=/^(?:(?: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])$/,xA=/^(([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]))$/,bA=/^(([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])$/,fA=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,kA=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,PQ="((\\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])))",hA=new RegExp(`^${PQ}$`);function KQ($){let H="[0-5]\\d";if($.precision)H=`${H}\\.\\d{${$.precision}}`;else if($.precision==null)H=`${H}(\\.\\d+)?`;let J=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${H})${J}`}function vA($){return new RegExp(`^${KQ($)}$`)}function IQ($){let H=`${PQ}T${KQ($)}`,J=[];if(J.push($.local?"Z?":"Z"),$.offset)J.push("([+-]\\d{2}:?\\d{2})");return H=`${H}(${J.join("|")})`,new RegExp(`^${H}$`)}function gA($,H){if((H==="v4"||!H)&&IA.test($))return!0;if((H==="v6"||!H)&&xA.test($))return!0;return!1}function yA($,H){if(!SA.test($))return!1;try{let[J]=$.split(".");if(!J)return!1;let Q=J.replace(/-/g,"+").replace(/_/g,"/").padEnd(J.length+(4-J.length%4)%4,"="),X=JSON.parse(atob(Q));if(typeof X!=="object"||X===null)return!1;if("typ"in X&&X?.typ!=="JWT")return!1;if(!X.alg)return!1;if(H&&X.alg!==H)return!1;return!0}catch{return!1}}function uA($,H){if((H==="v4"||!H)&&TA.test($))return!0;if((H==="v6"||!H)&&bA.test($))return!0;return!1}class d1 extends e{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==P.string){let X=this._getOrReturnCtx($);return T(X,{code:S.invalid_type,expected:P.string,received:X.parsedType}),p}let J=new O1,Q=void 0;for(let X of this._def.checks)if(X.kind==="min"){if($.data.length<X.value)Q=this._getOrReturnCtx($,Q),T(Q,{code:S.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),J.dirty()}else if(X.kind==="max"){if($.data.length>X.value)Q=this._getOrReturnCtx($,Q),T(Q,{code:S.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!1,message:X.message}),J.dirty()}else if(X.kind==="length"){let Y=$.data.length>X.value,W=$.data.length<X.value;if(Y||W){if(Q=this._getOrReturnCtx($,Q),Y)T(Q,{code:S.too_big,maximum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});else if(W)T(Q,{code:S.too_small,minimum:X.value,type:"string",inclusive:!0,exact:!0,message:X.message});J.dirty()}}else if(X.kind==="email"){if(!PA.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"email",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="emoji"){if(!T6)T6=new RegExp(KA,"u");if(!T6.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"emoji",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="uuid"){if(!LA.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"uuid",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="nanoid"){if(!MA.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"nanoid",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cuid"){if(!jA.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"cuid",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cuid2"){if(!OA.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"cuid2",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="ulid"){if(!ZA.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"ulid",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="url")try{new URL($.data)}catch{Q=this._getOrReturnCtx($,Q),T(Q,{validation:"url",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="regex"){if(X.regex.lastIndex=0,!X.regex.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"regex",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="trim")$.data=$.data.trim();else if(X.kind==="includes"){if(!$.data.includes(X.value,X.position))Q=this._getOrReturnCtx($,Q),T(Q,{code:S.invalid_string,validation:{includes:X.value,position:X.position},message:X.message}),J.dirty()}else if(X.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(X.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(X.kind==="startsWith"){if(!$.data.startsWith(X.value))Q=this._getOrReturnCtx($,Q),T(Q,{code:S.invalid_string,validation:{startsWith:X.value},message:X.message}),J.dirty()}else if(X.kind==="endsWith"){if(!$.data.endsWith(X.value))Q=this._getOrReturnCtx($,Q),T(Q,{code:S.invalid_string,validation:{endsWith:X.value},message:X.message}),J.dirty()}else if(X.kind==="datetime"){if(!IQ(X).test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{code:S.invalid_string,validation:"datetime",message:X.message}),J.dirty()}else if(X.kind==="date"){if(!hA.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{code:S.invalid_string,validation:"date",message:X.message}),J.dirty()}else if(X.kind==="time"){if(!vA(X).test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{code:S.invalid_string,validation:"time",message:X.message}),J.dirty()}else if(X.kind==="duration"){if(!CA.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"duration",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="ip"){if(!gA($.data,X.version))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"ip",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="jwt"){if(!yA($.data,X.alg))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"jwt",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="cidr"){if(!uA($.data,X.version))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"cidr",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="base64"){if(!fA.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"base64",code:S.invalid_string,message:X.message}),J.dirty()}else if(X.kind==="base64url"){if(!kA.test($.data))Q=this._getOrReturnCtx($,Q),T(Q,{validation:"base64url",code:S.invalid_string,message:X.message}),J.dirty()}else H1.assertNever(X);return{status:J.value,value:$.data}}_regex($,H,J){return this.refinement((Q)=>$.test(Q),{validation:H,code:S.invalid_string,...y.errToObj(J)})}_addCheck($){return new d1({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...y.errToObj($)})}url($){return this._addCheck({kind:"url",...y.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...y.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...y.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...y.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...y.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...y.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...y.errToObj($)})}base64($){return this._addCheck({kind:"base64",...y.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...y.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...y.errToObj($)})}ip($){return this._addCheck({kind:"ip",...y.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...y.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,...y.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,...y.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...y.errToObj($)})}regex($,H){return this._addCheck({kind:"regex",regex:$,...y.errToObj(H)})}includes($,H){return this._addCheck({kind:"includes",value:$,position:H?.position,...y.errToObj(H?.message)})}startsWith($,H){return this._addCheck({kind:"startsWith",value:$,...y.errToObj(H)})}endsWith($,H){return this._addCheck({kind:"endsWith",value:$,...y.errToObj(H)})}min($,H){return this._addCheck({kind:"min",value:$,...y.errToObj(H)})}max($,H){return this._addCheck({kind:"max",value:$,...y.errToObj(H)})}length($,H){return this._addCheck({kind:"length",value:$,...y.errToObj(H)})}nonempty($){return this.min(1,y.errToObj($))}trim(){return new d1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new d1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new d1({...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 H of this._def.checks)if(H.kind==="min"){if($===null||H.value>$)$=H.value}return $}get maxLength(){let $=null;for(let H of this._def.checks)if(H.kind==="max"){if($===null||H.value<$)$=H.value}return $}}d1.create=($)=>{return new d1({checks:[],typeName:C.ZodString,coerce:$?.coerce??!1,...r($)})};function mA($,H){let J=($.toString().split(".")[1]||"").length,Q=(H.toString().split(".")[1]||"").length,X=J>Q?J:Q,Y=Number.parseInt($.toFixed(X).replace(".","")),W=Number.parseInt(H.toFixed(X).replace(".",""));return Y%W/10**X}class S0 extends e{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($)!==P.number){let X=this._getOrReturnCtx($);return T(X,{code:S.invalid_type,expected:P.number,received:X.parsedType}),p}let J=void 0,Q=new O1;for(let X of this._def.checks)if(X.kind==="int"){if(!H1.isInteger($.data))J=this._getOrReturnCtx($,J),T(J,{code:S.invalid_type,expected:"integer",received:"float",message:X.message}),Q.dirty()}else if(X.kind==="min"){if(X.inclusive?$.data<X.value:$.data<=X.value)J=this._getOrReturnCtx($,J),T(J,{code:S.too_small,minimum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),Q.dirty()}else if(X.kind==="max"){if(X.inclusive?$.data>X.value:$.data>=X.value)J=this._getOrReturnCtx($,J),T(J,{code:S.too_big,maximum:X.value,type:"number",inclusive:X.inclusive,exact:!1,message:X.message}),Q.dirty()}else if(X.kind==="multipleOf"){if(mA($.data,X.value)!==0)J=this._getOrReturnCtx($,J),T(J,{code:S.not_multiple_of,multipleOf:X.value,message:X.message}),Q.dirty()}else if(X.kind==="finite"){if(!Number.isFinite($.data))J=this._getOrReturnCtx($,J),T(J,{code:S.not_finite,message:X.message}),Q.dirty()}else H1.assertNever(X);return{status:Q.value,value:$.data}}gte($,H){return this.setLimit("min",$,!0,y.toString(H))}gt($,H){return this.setLimit("min",$,!1,y.toString(H))}lte($,H){return this.setLimit("max",$,!0,y.toString(H))}lt($,H){return this.setLimit("max",$,!1,y.toString(H))}setLimit($,H,J,Q){return new S0({...this._def,checks:[...this._def.checks,{kind:$,value:H,inclusive:J,message:y.toString(Q)}]})}_addCheck($){return new S0({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:y.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:y.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:y.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:y.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:y.toString($)})}multipleOf($,H){return this._addCheck({kind:"multipleOf",value:$,message:y.toString(H)})}finite($){return this._addCheck({kind:"finite",message:y.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:y.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:y.toString($)})}get minValue(){let $=null;for(let H of this._def.checks)if(H.kind==="min"){if($===null||H.value>$)$=H.value}return $}get maxValue(){let $=null;for(let H of this._def.checks)if(H.kind==="max"){if($===null||H.value<$)$=H.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&H1.isInteger($.value))}get isFinite(){let $=null,H=null;for(let J of this._def.checks)if(J.kind==="finite"||J.kind==="int"||J.kind==="multipleOf")return!0;else if(J.kind==="min"){if(H===null||J.value>H)H=J.value}else if(J.kind==="max"){if($===null||J.value<$)$=J.value}return Number.isFinite(H)&&Number.isFinite($)}}S0.create=($)=>{return new S0({checks:[],typeName:C.ZodNumber,coerce:$?.coerce||!1,...r($)})};class C0 extends e{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($)!==P.bigint)return this._getInvalidInput($);let J=void 0,Q=new O1;for(let X of this._def.checks)if(X.kind==="min"){if(X.inclusive?$.data<X.value:$.data<=X.value)J=this._getOrReturnCtx($,J),T(J,{code:S.too_small,type:"bigint",minimum:X.value,inclusive:X.inclusive,message:X.message}),Q.dirty()}else if(X.kind==="max"){if(X.inclusive?$.data>X.value:$.data>=X.value)J=this._getOrReturnCtx($,J),T(J,{code:S.too_big,type:"bigint",maximum:X.value,inclusive:X.inclusive,message:X.message}),Q.dirty()}else if(X.kind==="multipleOf"){if($.data%X.value!==BigInt(0))J=this._getOrReturnCtx($,J),T(J,{code:S.not_multiple_of,multipleOf:X.value,message:X.message}),Q.dirty()}else H1.assertNever(X);return{status:Q.value,value:$.data}}_getInvalidInput($){let H=this._getOrReturnCtx($);return T(H,{code:S.invalid_type,expected:P.bigint,received:H.parsedType}),p}gte($,H){return this.setLimit("min",$,!0,y.toString(H))}gt($,H){return this.setLimit("min",$,!1,y.toString(H))}lte($,H){return this.setLimit("max",$,!0,y.toString(H))}lt($,H){return this.setLimit("max",$,!1,y.toString(H))}setLimit($,H,J,Q){return new C0({...this._def,checks:[...this._def.checks,{kind:$,value:H,inclusive:J,message:y.toString(Q)}]})}_addCheck($){return new C0({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:y.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:y.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:y.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:y.toString($)})}multipleOf($,H){return this._addCheck({kind:"multipleOf",value:$,message:y.toString(H)})}get minValue(){let $=null;for(let H of this._def.checks)if(H.kind==="min"){if($===null||H.value>$)$=H.value}return $}get maxValue(){let $=null;for(let H of this._def.checks)if(H.kind==="max"){if($===null||H.value<$)$=H.value}return $}}C0.create=($)=>{return new C0({checks:[],typeName:C.ZodBigInt,coerce:$?.coerce??!1,...r($)})};class E$ extends e{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==P.boolean){let J=this._getOrReturnCtx($);return T(J,{code:S.invalid_type,expected:P.boolean,received:J.parsedType}),p}return Z1($.data)}}E$.create=($)=>{return new E$({typeName:C.ZodBoolean,coerce:$?.coerce||!1,...r($)})};class c0 extends e{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==P.date){let X=this._getOrReturnCtx($);return T(X,{code:S.invalid_type,expected:P.date,received:X.parsedType}),p}if(Number.isNaN($.data.getTime())){let X=this._getOrReturnCtx($);return T(X,{code:S.invalid_date}),p}let J=new O1,Q=void 0;for(let X of this._def.checks)if(X.kind==="min"){if($.data.getTime()<X.value)Q=this._getOrReturnCtx($,Q),T(Q,{code:S.too_small,message:X.message,inclusive:!0,exact:!1,minimum:X.value,type:"date"}),J.dirty()}else if(X.kind==="max"){if($.data.getTime()>X.value)Q=this._getOrReturnCtx($,Q),T(Q,{code:S.too_big,message:X.message,inclusive:!0,exact:!1,maximum:X.value,type:"date"}),J.dirty()}else H1.assertNever(X);return{status:J.value,value:new Date($.data.getTime())}}_addCheck($){return new c0({...this._def,checks:[...this._def.checks,$]})}min($,H){return this._addCheck({kind:"min",value:$.getTime(),message:y.toString(H)})}max($,H){return this._addCheck({kind:"max",value:$.getTime(),message:y.toString(H)})}get minDate(){let $=null;for(let H of this._def.checks)if(H.kind==="min"){if($===null||H.value>$)$=H.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let H of this._def.checks)if(H.kind==="max"){if($===null||H.value<$)$=H.value}return $!=null?new Date($):null}}c0.create=($)=>{return new c0({checks:[],coerce:$?.coerce||!1,typeName:C.ZodDate,...r($)})};class V4 extends e{_parse($){if(this._getType($)!==P.symbol){let J=this._getOrReturnCtx($);return T(J,{code:S.invalid_type,expected:P.symbol,received:J.parsedType}),p}return Z1($.data)}}V4.create=($)=>{return new V4({typeName:C.ZodSymbol,...r($)})};class j$ extends e{_parse($){if(this._getType($)!==P.undefined){let J=this._getOrReturnCtx($);return T(J,{code:S.invalid_type,expected:P.undefined,received:J.parsedType}),p}return Z1($.data)}}j$.create=($)=>{return new j$({typeName:C.ZodUndefined,...r($)})};class O$ extends e{_parse($){if(this._getType($)!==P.null){let J=this._getOrReturnCtx($);return T(J,{code:S.invalid_type,expected:P.null,received:J.parsedType}),p}return Z1($.data)}}O$.create=($)=>{return new O$({typeName:C.ZodNull,...r($)})};class l0 extends e{constructor(){super(...arguments);this._any=!0}_parse($){return Z1($.data)}}l0.create=($)=>{return new l0({typeName:C.ZodAny,...r($)})};class M0 extends e{constructor(){super(...arguments);this._unknown=!0}_parse($){return Z1($.data)}}M0.create=($)=>{return new M0({typeName:C.ZodUnknown,...r($)})};class G0 extends e{_parse($){let H=this._getOrReturnCtx($);return T(H,{code:S.invalid_type,expected:P.never,received:H.parsedType}),p}}G0.create=($)=>{return new G0({typeName:C.ZodNever,...r($)})};class _4 extends e{_parse($){if(this._getType($)!==P.undefined){let J=this._getOrReturnCtx($);return T(J,{code:S.invalid_type,expected:P.void,received:J.parsedType}),p}return Z1($.data)}}_4.create=($)=>{return new _4({typeName:C.ZodVoid,...r($)})};class c1 extends e{_parse($){let{ctx:H,status:J}=this._processInputParams($),Q=this._def;if(H.parsedType!==P.array)return T(H,{code:S.invalid_type,expected:P.array,received:H.parsedType}),p;if(Q.exactLength!==null){let Y=H.data.length>Q.exactLength.value,W=H.data.length<Q.exactLength.value;if(Y||W)T(H,{code:Y?S.too_big:S.too_small,minimum:W?Q.exactLength.value:void 0,maximum:Y?Q.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:Q.exactLength.message}),J.dirty()}if(Q.minLength!==null){if(H.data.length<Q.minLength.value)T(H,{code:S.too_small,minimum:Q.minLength.value,type:"array",inclusive:!0,exact:!1,message:Q.minLength.message}),J.dirty()}if(Q.maxLength!==null){if(H.data.length>Q.maxLength.value)T(H,{code:S.too_big,maximum:Q.maxLength.value,type:"array",inclusive:!0,exact:!1,message:Q.maxLength.message}),J.dirty()}if(H.common.async)return Promise.all([...H.data].map((Y,W)=>{return Q.type._parseAsync(new p1(H,Y,H.path,W))})).then((Y)=>{return O1.mergeArray(J,Y)});let X=[...H.data].map((Y,W)=>{return Q.type._parseSync(new p1(H,Y,H.path,W))});return O1.mergeArray(J,X)}get element(){return this._def.type}min($,H){return new c1({...this._def,minLength:{value:$,message:y.toString(H)}})}max($,H){return new c1({...this._def,maxLength:{value:$,message:y.toString(H)}})}length($,H){return new c1({...this._def,exactLength:{value:$,message:y.toString(H)}})}nonempty($){return this.min(1,$)}}c1.create=($,H)=>{return new c1({type:$,minLength:null,maxLength:null,exactLength:null,typeName:C.ZodArray,...r(H)})};function A$($){if($ instanceof D1){let H={};for(let J in $.shape){let Q=$.shape[J];H[J]=l1.create(A$(Q))}return new D1({...$._def,shape:()=>H})}else if($ instanceof c1)return new c1({...$._def,type:A$($.element)});else if($ instanceof l1)return l1.create(A$($.unwrap()));else if($ instanceof z0)return z0.create(A$($.unwrap()));else if($ instanceof q0)return q0.create($.items.map((H)=>A$(H)));else return $}class D1 extends e{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(),H=H1.objectKeys($);return this._cached={shape:$,keys:H},this._cached}_parse($){if(this._getType($)!==P.object){let q=this._getOrReturnCtx($);return T(q,{code:S.invalid_type,expected:P.object,received:q.parsedType}),p}let{status:J,ctx:Q}=this._processInputParams($),{shape:X,keys:Y}=this._getCached(),W=[];if(!(this._def.catchall instanceof G0&&this._def.unknownKeys==="strip")){for(let q in Q.data)if(!Y.includes(q))W.push(q)}let G=[];for(let q of Y){let U=X[q],B=Q.data[q];G.push({key:{status:"valid",value:q},value:U._parse(new p1(Q,B,Q.path,q)),alwaysSet:q in Q.data})}if(this._def.catchall instanceof G0){let q=this._def.unknownKeys;if(q==="passthrough")for(let U of W)G.push({key:{status:"valid",value:U},value:{status:"valid",value:Q.data[U]}});else if(q==="strict"){if(W.length>0)T(Q,{code:S.unrecognized_keys,keys:W}),J.dirty()}else if(q==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let q=this._def.catchall;for(let U of W){let B=Q.data[U];G.push({key:{status:"valid",value:U},value:q._parse(new p1(Q,B,Q.path,U)),alwaysSet:U in Q.data})}}if(Q.common.async)return Promise.resolve().then(async()=>{let q=[];for(let U of G){let B=await U.key,w=await U.value;q.push({key:B,value:w,alwaysSet:U.alwaysSet})}return q}).then((q)=>{return O1.mergeObjectSync(J,q)});else return O1.mergeObjectSync(J,G)}get shape(){return this._def.shape()}strict($){return y.errToObj,new D1({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(H,J)=>{let Q=this._def.errorMap?.(H,J).message??J.defaultError;if(H.code==="unrecognized_keys")return{message:y.errToObj($).message??Q};return{message:Q}}}:{}})}strip(){return new D1({...this._def,unknownKeys:"strip"})}passthrough(){return new D1({...this._def,unknownKeys:"passthrough"})}extend($){return new D1({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new D1({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:C.ZodObject})}setKey($,H){return this.augment({[$]:H})}catchall($){return new D1({...this._def,catchall:$})}pick($){let H={};for(let J of H1.objectKeys($))if($[J]&&this.shape[J])H[J]=this.shape[J];return new D1({...this._def,shape:()=>H})}omit($){let H={};for(let J of H1.objectKeys(this.shape))if(!$[J])H[J]=this.shape[J];return new D1({...this._def,shape:()=>H})}deepPartial(){return A$(this)}partial($){let H={};for(let J of H1.objectKeys(this.shape)){let Q=this.shape[J];if($&&!$[J])H[J]=Q;else H[J]=Q.optional()}return new D1({...this._def,shape:()=>H})}required($){let H={};for(let J of H1.objectKeys(this.shape))if($&&!$[J])H[J]=this.shape[J];else{let X=this.shape[J];while(X instanceof l1)X=X._def.innerType;H[J]=X}return new D1({...this._def,shape:()=>H})}keyof(){return TQ(H1.objectKeys(this.shape))}}D1.create=($,H)=>{return new D1({shape:()=>$,unknownKeys:"strip",catchall:G0.create(),typeName:C.ZodObject,...r(H)})};D1.strictCreate=($,H)=>{return new D1({shape:()=>$,unknownKeys:"strict",catchall:G0.create(),typeName:C.ZodObject,...r(H)})};D1.lazycreate=($,H)=>{return new D1({shape:$,unknownKeys:"strip",catchall:G0.create(),typeName:C.ZodObject,...r(H)})};class Z$ extends e{_parse($){let{ctx:H}=this._processInputParams($),J=this._def.options;function Q(X){for(let W of X)if(W.result.status==="valid")return W.result;for(let W of X)if(W.result.status==="dirty")return H.common.issues.push(...W.ctx.common.issues),W.result;let Y=X.map((W)=>new j1(W.ctx.common.issues));return T(H,{code:S.invalid_union,unionErrors:Y}),p}if(H.common.async)return Promise.all(J.map(async(X)=>{let Y={...H,common:{...H.common,issues:[]},parent:null};return{result:await X._parseAsync({data:H.data,path:H.path,parent:Y}),ctx:Y}})).then(Q);else{let X=void 0,Y=[];for(let G of J){let q={...H,common:{...H.common,issues:[]},parent:null},U=G._parseSync({data:H.data,path:H.path,parent:q});if(U.status==="valid")return U;else if(U.status==="dirty"&&!X)X={result:U,ctx:q};if(q.common.issues.length)Y.push(q.common.issues)}if(X)return H.common.issues.push(...X.ctx.common.issues),X.result;let W=Y.map((G)=>new j1(G));return T(H,{code:S.invalid_union,unionErrors:W}),p}}get options(){return this._def.options}}Z$.create=($,H)=>{return new Z$({options:$,typeName:C.ZodUnion,...r(H)})};var F0=($)=>{if($ instanceof M$)return F0($.schema);else if($ instanceof n1)return F0($.innerType());else if($ instanceof S$)return[$.value];else if($ instanceof P0)return $.options;else if($ instanceof C$)return H1.objectValues($.enum);else if($ instanceof P$)return F0($._def.innerType);else if($ instanceof j$)return[void 0];else if($ instanceof O$)return[null];else if($ instanceof l1)return[void 0,...F0($.unwrap())];else if($ instanceof z0)return[null,...F0($.unwrap())];else if($ instanceof v9)return F0($.unwrap());else if($ instanceof I$)return F0($.unwrap());else if($ instanceof K$)return F0($._def.innerType);else return[]};class h9 extends e{_parse($){let{ctx:H}=this._processInputParams($);if(H.parsedType!==P.object)return T(H,{code:S.invalid_type,expected:P.object,received:H.parsedType}),p;let J=this.discriminator,Q=H.data[J],X=this.optionsMap.get(Q);if(!X)return T(H,{code:S.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),p;if(H.common.async)return X._parseAsync({data:H.data,path:H.path,parent:H});else return X._parseSync({data:H.data,path:H.path,parent:H})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,H,J){let Q=new Map;for(let X of H){let Y=F0(X.shape[$]);if(!Y.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let W of Y){if(Q.has(W))throw Error(`Discriminator property ${String($)} has duplicate value ${String(W)}`);Q.set(W,X)}}return new h9({typeName:C.ZodDiscriminatedUnion,discriminator:$,options:H,optionsMap:Q,...r(J)})}}function x6($,H){let J=W0($),Q=W0(H);if($===H)return{valid:!0,data:$};else if(J===P.object&&Q===P.object){let X=H1.objectKeys(H),Y=H1.objectKeys($).filter((G)=>X.indexOf(G)!==-1),W={...$,...H};for(let G of Y){let q=x6($[G],H[G]);if(!q.valid)return{valid:!1};W[G]=q.data}return{valid:!0,data:W}}else if(J===P.array&&Q===P.array){if($.length!==H.length)return{valid:!1};let X=[];for(let Y=0;Y<$.length;Y++){let W=$[Y],G=H[Y],q=x6(W,G);if(!q.valid)return{valid:!1};X.push(q.data)}return{valid:!0,data:X}}else if(J===P.date&&Q===P.date&&+$===+H)return{valid:!0,data:$};else return{valid:!1}}class L$ extends e{_parse($){let{status:H,ctx:J}=this._processInputParams($),Q=(X,Y)=>{if(f9(X)||f9(Y))return p;let W=x6(X.value,Y.value);if(!W.valid)return T(J,{code:S.invalid_intersection_types}),p;if(k9(X)||k9(Y))H.dirty();return{status:H.value,value:W.data}};if(J.common.async)return Promise.all([this._def.left._parseAsync({data:J.data,path:J.path,parent:J}),this._def.right._parseAsync({data:J.data,path:J.path,parent:J})]).then(([X,Y])=>Q(X,Y));else return Q(this._def.left._parseSync({data:J.data,path:J.path,parent:J}),this._def.right._parseSync({data:J.data,path:J.path,parent:J}))}}L$.create=($,H,J)=>{return new L$({left:$,right:H,typeName:C.ZodIntersection,...r(J)})};class q0 extends e{_parse($){let{status:H,ctx:J}=this._processInputParams($);if(J.parsedType!==P.array)return T(J,{code:S.invalid_type,expected:P.array,received:J.parsedType}),p;if(J.data.length<this._def.items.length)return T(J,{code:S.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),p;if(!this._def.rest&&J.data.length>this._def.items.length)T(J,{code:S.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),H.dirty();let X=[...J.data].map((Y,W)=>{let G=this._def.items[W]||this._def.rest;if(!G)return null;return G._parse(new p1(J,Y,J.path,W))}).filter((Y)=>!!Y);if(J.common.async)return Promise.all(X).then((Y)=>{return O1.mergeArray(H,Y)});else return O1.mergeArray(H,X)}get items(){return this._def.items}rest($){return new q0({...this._def,rest:$})}}q0.create=($,H)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new q0({items:$,typeName:C.ZodTuple,rest:null,...r(H)})};class F4 extends e{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:H,ctx:J}=this._processInputParams($);if(J.parsedType!==P.object)return T(J,{code:S.invalid_type,expected:P.object,received:J.parsedType}),p;let Q=[],X=this._def.keyType,Y=this._def.valueType;for(let W in J.data)Q.push({key:X._parse(new p1(J,W,J.path,W)),value:Y._parse(new p1(J,J.data[W],J.path,W)),alwaysSet:W in J.data});if(J.common.async)return O1.mergeObjectAsync(H,Q);else return O1.mergeObjectSync(H,Q)}get element(){return this._def.valueType}static create($,H,J){if(H instanceof e)return new F4({keyType:$,valueType:H,typeName:C.ZodRecord,...r(J)});return new F4({keyType:d1.create(),valueType:$,typeName:C.ZodRecord,...r(H)})}}class z4 extends e{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:H,ctx:J}=this._processInputParams($);if(J.parsedType!==P.map)return T(J,{code:S.invalid_type,expected:P.map,received:J.parsedType}),p;let Q=this._def.keyType,X=this._def.valueType,Y=[...J.data.entries()].map(([W,G],q)=>{return{key:Q._parse(new p1(J,W,J.path,[q,"key"])),value:X._parse(new p1(J,G,J.path,[q,"value"]))}});if(J.common.async){let W=new Map;return Promise.resolve().then(async()=>{for(let G of Y){let q=await G.key,U=await G.value;if(q.status==="aborted"||U.status==="aborted")return p;if(q.status==="dirty"||U.status==="dirty")H.dirty();W.set(q.value,U.value)}return{status:H.value,value:W}})}else{let W=new Map;for(let G of Y){let{key:q,value:U}=G;if(q.status==="aborted"||U.status==="aborted")return p;if(q.status==="dirty"||U.status==="dirty")H.dirty();W.set(q.value,U.value)}return{status:H.value,value:W}}}}z4.create=($,H,J)=>{return new z4({valueType:H,keyType:$,typeName:C.ZodMap,...r(J)})};class p0 extends e{_parse($){let{status:H,ctx:J}=this._processInputParams($);if(J.parsedType!==P.set)return T(J,{code:S.invalid_type,expected:P.set,received:J.parsedType}),p;let Q=this._def;if(Q.minSize!==null){if(J.data.size<Q.minSize.value)T(J,{code:S.too_small,minimum:Q.minSize.value,type:"set",inclusive:!0,exact:!1,message:Q.minSize.message}),H.dirty()}if(Q.maxSize!==null){if(J.data.size>Q.maxSize.value)T(J,{code:S.too_big,maximum:Q.maxSize.value,type:"set",inclusive:!0,exact:!1,message:Q.maxSize.message}),H.dirty()}let X=this._def.valueType;function Y(G){let q=new Set;for(let U of G){if(U.status==="aborted")return p;if(U.status==="dirty")H.dirty();q.add(U.value)}return{status:H.value,value:q}}let W=[...J.data.values()].map((G,q)=>X._parse(new p1(J,G,J.path,q)));if(J.common.async)return Promise.all(W).then((G)=>Y(G));else return Y(W)}min($,H){return new p0({...this._def,minSize:{value:$,message:y.toString(H)}})}max($,H){return new p0({...this._def,maxSize:{value:$,message:y.toString(H)}})}size($,H){return this.min($,H).max($,H)}nonempty($){return this.min(1,$)}}p0.create=($,H)=>{return new p0({valueType:$,minSize:null,maxSize:null,typeName:C.ZodSet,...r(H)})};class R$ extends e{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:H}=this._processInputParams($);if(H.parsedType!==P.function)return T(H,{code:S.invalid_type,expected:P.function,received:H.parsedType}),p;function J(W,G){return D4({data:W,path:H.path,errorMaps:[H.common.contextualErrorMap,H.schemaErrorMap,z$(),_0].filter((q)=>!!q),issueData:{code:S.invalid_arguments,argumentsError:G}})}function Q(W,G){return D4({data:W,path:H.path,errorMaps:[H.common.contextualErrorMap,H.schemaErrorMap,z$(),_0].filter((q)=>!!q),issueData:{code:S.invalid_return_type,returnTypeError:G}})}let X={errorMap:H.common.contextualErrorMap},Y=H.data;if(this._def.returns instanceof n0){let W=this;return Z1(async function(...G){let q=new j1([]),U=await W._def.args.parseAsync(G,X).catch((_)=>{throw q.addIssue(J(G,_)),q}),B=await Reflect.apply(Y,this,U);return await W._def.returns._def.type.parseAsync(B,X).catch((_)=>{throw q.addIssue(Q(B,_)),q})})}else{let W=this;return Z1(function(...G){let q=W._def.args.safeParse(G,X);if(!q.success)throw new j1([J(G,q.error)]);let U=Reflect.apply(Y,this,q.data),B=W._def.returns.safeParse(U,X);if(!B.success)throw new j1([Q(U,B.error)]);return B.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new R$({...this._def,args:q0.create($).rest(M0.create())})}returns($){return new R$({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,H,J){return new R$({args:$?$:q0.create([]).rest(M0.create()),returns:H||M0.create(),typeName:C.ZodFunction,...r(J)})}}class M$ extends e{get schema(){return this._def.getter()}_parse($){let{ctx:H}=this._processInputParams($);return this._def.getter()._parse({data:H.data,path:H.path,parent:H})}}M$.create=($,H)=>{return new M$({getter:$,typeName:C.ZodLazy,...r(H)})};class S$ extends e{_parse($){if($.data!==this._def.value){let H=this._getOrReturnCtx($);return T(H,{received:H.data,code:S.invalid_literal,expected:this._def.value}),p}return{status:"valid",value:$.data}}get value(){return this._def.value}}S$.create=($,H)=>{return new S$({value:$,typeName:C.ZodLiteral,...r(H)})};function TQ($,H){return new P0({values:$,typeName:C.ZodEnum,...r(H)})}class P0 extends e{_parse($){if(typeof $.data!=="string"){let H=this._getOrReturnCtx($),J=this._def.values;return T(H,{expected:H1.joinValues(J),received:H.parsedType,code:S.invalid_type}),p}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let H=this._getOrReturnCtx($),J=this._def.values;return T(H,{received:H.data,code:S.invalid_enum_value,options:J}),p}return Z1($.data)}get options(){return this._def.values}get enum(){let $={};for(let H of this._def.values)$[H]=H;return $}get Values(){let $={};for(let H of this._def.values)$[H]=H;return $}get Enum(){let $={};for(let H of this._def.values)$[H]=H;return $}extract($,H=this._def){return P0.create($,{...this._def,...H})}exclude($,H=this._def){return P0.create(this.options.filter((J)=>!$.includes(J)),{...this._def,...H})}}P0.create=TQ;class C$ extends e{_parse($){let H=H1.getValidEnumValues(this._def.values),J=this._getOrReturnCtx($);if(J.parsedType!==P.string&&J.parsedType!==P.number){let Q=H1.objectValues(H);return T(J,{expected:H1.joinValues(Q),received:J.parsedType,code:S.invalid_type}),p}if(!this._cache)this._cache=new Set(H1.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let Q=H1.objectValues(H);return T(J,{received:J.data,code:S.invalid_enum_value,options:Q}),p}return Z1($.data)}get enum(){return this._def.values}}C$.create=($,H)=>{return new C$({values:$,typeName:C.ZodNativeEnum,...r(H)})};class n0 extends e{unwrap(){return this._def.type}_parse($){let{ctx:H}=this._processInputParams($);if(H.parsedType!==P.promise&&H.common.async===!1)return T(H,{code:S.invalid_type,expected:P.promise,received:H.parsedType}),p;let J=H.parsedType===P.promise?H.data:Promise.resolve(H.data);return Z1(J.then((Q)=>{return this._def.type.parseAsync(Q,{path:H.path,errorMap:H.common.contextualErrorMap})}))}}n0.create=($,H)=>{return new n0({type:$,typeName:C.ZodPromise,...r(H)})};class n1 extends e{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===C.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:H,ctx:J}=this._processInputParams($),Q=this._def.effect||null,X={addIssue:(Y)=>{if(T(J,Y),Y.fatal)H.abort();else H.dirty()},get path(){return J.path}};if(X.addIssue=X.addIssue.bind(X),Q.type==="preprocess"){let Y=Q.transform(J.data,X);if(J.common.async)return Promise.resolve(Y).then(async(W)=>{if(H.value==="aborted")return p;let G=await this._def.schema._parseAsync({data:W,path:J.path,parent:J});if(G.status==="aborted")return p;if(G.status==="dirty")return d0(G.value);if(H.value==="dirty")return d0(G.value);return G});else{if(H.value==="aborted")return p;let W=this._def.schema._parseSync({data:Y,path:J.path,parent:J});if(W.status==="aborted")return p;if(W.status==="dirty")return d0(W.value);if(H.value==="dirty")return d0(W.value);return W}}if(Q.type==="refinement"){let Y=(W)=>{let G=Q.refinement(W,X);if(J.common.async)return Promise.resolve(G);if(G instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return W};if(J.common.async===!1){let W=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(W.status==="aborted")return p;if(W.status==="dirty")H.dirty();return Y(W.value),{status:H.value,value:W.value}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((W)=>{if(W.status==="aborted")return p;if(W.status==="dirty")H.dirty();return Y(W.value).then(()=>{return{status:H.value,value:W.value}})})}if(Q.type==="transform")if(J.common.async===!1){let Y=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(!L0(Y))return p;let W=Q.transform(Y.value,X);if(W instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:H.value,value:W}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((Y)=>{if(!L0(Y))return p;return Promise.resolve(Q.transform(Y.value,X)).then((W)=>({status:H.value,value:W}))});H1.assertNever(Q)}}n1.create=($,H,J)=>{return new n1({schema:$,typeName:C.ZodEffects,effect:H,...r(J)})};n1.createWithPreprocess=($,H,J)=>{return new n1({schema:H,effect:{type:"preprocess",transform:$},typeName:C.ZodEffects,...r(J)})};class l1 extends e{_parse($){if(this._getType($)===P.undefined)return Z1(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}l1.create=($,H)=>{return new l1({innerType:$,typeName:C.ZodOptional,...r(H)})};class z0 extends e{_parse($){if(this._getType($)===P.null)return Z1(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}z0.create=($,H)=>{return new z0({innerType:$,typeName:C.ZodNullable,...r(H)})};class P$ extends e{_parse($){let{ctx:H}=this._processInputParams($),J=H.data;if(H.parsedType===P.undefined)J=this._def.defaultValue();return this._def.innerType._parse({data:J,path:H.path,parent:H})}removeDefault(){return this._def.innerType}}P$.create=($,H)=>{return new P$({innerType:$,typeName:C.ZodDefault,defaultValue:typeof H.default==="function"?H.default:()=>H.default,...r(H)})};class K$ extends e{_parse($){let{ctx:H}=this._processInputParams($),J={...H,common:{...H.common,issues:[]}},Q=this._def.innerType._parse({data:J.data,path:J.path,parent:{...J}});if(N$(Q))return Q.then((X)=>{return{status:"valid",value:X.status==="valid"?X.value:this._def.catchValue({get error(){return new j1(J.common.issues)},input:J.data})}});else return{status:"valid",value:Q.status==="valid"?Q.value:this._def.catchValue({get error(){return new j1(J.common.issues)},input:J.data})}}removeCatch(){return this._def.innerType}}K$.create=($,H)=>{return new K$({innerType:$,typeName:C.ZodCatch,catchValue:typeof H.catch==="function"?H.catch:()=>H.catch,...r(H)})};class N4 extends e{_parse($){if(this._getType($)!==P.nan){let J=this._getOrReturnCtx($);return T(J,{code:S.invalid_type,expected:P.nan,received:J.parsedType}),p}return{status:"valid",value:$.data}}}N4.create=($)=>{return new N4({typeName:C.ZodNaN,...r($)})};var dA=Symbol("zod_brand");class v9 extends e{_parse($){let{ctx:H}=this._processInputParams($),J=H.data;return this._def.type._parse({data:J,path:H.path,parent:H})}unwrap(){return this._def.type}}class A4 extends e{_parse($){let{status:H,ctx:J}=this._processInputParams($);if(J.common.async)return(async()=>{let X=await this._def.in._parseAsync({data:J.data,path:J.path,parent:J});if(X.status==="aborted")return p;if(X.status==="dirty")return H.dirty(),d0(X.value);else return this._def.out._parseAsync({data:X.value,path:J.path,parent:J})})();else{let Q=this._def.in._parseSync({data:J.data,path:J.path,parent:J});if(Q.status==="aborted")return p;if(Q.status==="dirty")return H.dirty(),{status:"dirty",value:Q.value};else return this._def.out._parseSync({data:Q.value,path:J.path,parent:J})}}static create($,H){return new A4({in:$,out:H,typeName:C.ZodPipeline})}}class I$ extends e{_parse($){let H=this._def.innerType._parse($),J=(Q)=>{if(L0(Q))Q.value=Object.freeze(Q.value);return Q};return N$(H)?H.then((Q)=>J(Q)):J(H)}unwrap(){return this._def.innerType}}I$.create=($,H)=>{return new I$({innerType:$,typeName:C.ZodReadonly,...r(H)})};function CQ($,H){let J=typeof $==="function"?$(H):typeof $==="string"?{message:$}:$;return typeof J==="string"?{message:J}:J}function xQ($,H={},J){if($)return l0.create().superRefine((Q,X)=>{let Y=$(Q);if(Y instanceof Promise)return Y.then((W)=>{if(!W){let G=CQ(H,Q),q=G.fatal??J??!0;X.addIssue({code:"custom",...G,fatal:q})}});if(!Y){let W=CQ(H,Q),G=W.fatal??J??!0;X.addIssue({code:"custom",...W,fatal:G})}return});return l0.create()}var cA={object:D1.lazycreate},C;(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"})(C||(C={}));var lA=($,H={message:`Input not instance of ${$.name}`})=>xQ((J)=>J instanceof $,H),bQ=d1.create,fQ=S0.create,pA=N4.create,nA=C0.create,kQ=E$.create,iA=c0.create,sA=V4.create,oA=j$.create,rA=O$.create,aA=l0.create,tA=M0.create,eA=G0.create,$R=_4.create,HR=c1.create,JR=D1.create,QR=D1.strictCreate,XR=Z$.create,YR=h9.create,WR=L$.create,GR=q0.create,qR=F4.create,UR=z4.create,BR=p0.create,wR=R$.create,DR=M$.create,VR=S$.create,_R=P0.create,FR=C$.create,zR=n0.create,NR=n1.create,AR=l1.create,RR=z0.create,ER=n1.createWithPreprocess,jR=A4.create,OR=()=>bQ().optional(),ZR=()=>fQ().optional(),LR=()=>kQ().optional(),MR={string:($)=>d1.create({...$,coerce:!0}),number:($)=>S0.create({...$,coerce:!0}),boolean:($)=>E$.create({...$,coerce:!0}),bigint:($)=>C0.create({...$,coerce:!0}),date:($)=>c0.create({...$,coerce:!0})};var SR=p;function w1($){if($.target!=="openAi")return{};let H=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?b9(H,$.currentPath):H.join("/")}}function hQ($,H){let J={type:"array"};if($.type?._def&&$.type?._def?.typeName!==C.ZodAny)J.items=n($.type._def,{...H,currentPath:[...H.currentPath,"items"]});if($.minLength)Y1(J,"minItems",$.minLength.value,$.minLength.message,H);if($.maxLength)Y1(J,"maxItems",$.maxLength.value,$.maxLength.message,H);if($.exactLength)Y1(J,"minItems",$.exactLength.value,$.exactLength.message,H),Y1(J,"maxItems",$.exactLength.value,$.exactLength.message,H);return J}function vQ($,H){let J={type:"integer",format:"int64"};if(!$.checks)return J;for(let Q of $.checks)switch(Q.kind){case"min":if(H.target==="jsonSchema7")if(Q.inclusive)Y1(J,"minimum",Q.value,Q.message,H);else Y1(J,"exclusiveMinimum",Q.value,Q.message,H);else{if(!Q.inclusive)J.exclusiveMinimum=!0;Y1(J,"minimum",Q.value,Q.message,H)}break;case"max":if(H.target==="jsonSchema7")if(Q.inclusive)Y1(J,"maximum",Q.value,Q.message,H);else Y1(J,"exclusiveMaximum",Q.value,Q.message,H);else{if(!Q.inclusive)J.exclusiveMaximum=!0;Y1(J,"maximum",Q.value,Q.message,H)}break;case"multipleOf":Y1(J,"multipleOf",Q.value,Q.message,H);break}return J}function gQ(){return{type:"boolean"}}function g9($,H){return n($.type._def,H)}var yQ=($,H)=>{return n($.innerType._def,H)};function b6($,H,J){let Q=J??H.dateStrategy;if(Array.isArray(Q))return{anyOf:Q.map((X,Y)=>b6($,H,X))};switch(Q){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return CR($,H)}}var CR=($,H)=>{let J={type:"integer",format:"unix-time"};if(H.target==="openApi3")return J;for(let Q of $.checks)switch(Q.kind){case"min":Y1(J,"minimum",Q.value,Q.message,H);break;case"max":Y1(J,"maximum",Q.value,Q.message,H);break}return J};function uQ($,H){return{...n($.innerType._def,H),default:$.defaultValue()}}function mQ($,H){return H.effectStrategy==="input"?n($.schema._def,H):w1(H)}function dQ($){return{type:"string",enum:Array.from($.values)}}var PR=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function cQ($,H){let J=[n($.left._def,{...H,currentPath:[...H.currentPath,"allOf","0"]}),n($.right._def,{...H,currentPath:[...H.currentPath,"allOf","1"]})].filter((Y)=>!!Y),Q=H.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,X=[];return J.forEach((Y)=>{if(PR(Y)){if(X.push(...Y.allOf),Y.unevaluatedProperties===void 0)Q=void 0}else{let W=Y;if("additionalProperties"in Y&&Y.additionalProperties===!1){let{additionalProperties:G,...q}=Y;W=q}else Q=void 0;X.push(W)}}),X.length?{allOf:X,...Q}:void 0}function lQ($,H){let J=typeof $.value;if(J!=="bigint"&&J!=="number"&&J!=="boolean"&&J!=="string")return{type:Array.isArray($.value)?"array":"object"};if(H.target==="openApi3")return{type:J==="bigint"?"integer":J,enum:[$.value]};return{type:J==="bigint"?"integer":J,const:$.value}}var f6=void 0,i1={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(f6===void 0)f6=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return f6},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 y9($,H){let J={type:"string"};if($.checks)for(let Q of $.checks)switch(Q.kind){case"min":Y1(J,"minLength",typeof J.minLength==="number"?Math.max(J.minLength,Q.value):Q.value,Q.message,H);break;case"max":Y1(J,"maxLength",typeof J.maxLength==="number"?Math.min(J.maxLength,Q.value):Q.value,Q.message,H);break;case"email":switch(H.emailStrategy){case"format:email":s1(J,"email",Q.message,H);break;case"format:idn-email":s1(J,"idn-email",Q.message,H);break;case"pattern:zod":C1(J,i1.email,Q.message,H);break}break;case"url":s1(J,"uri",Q.message,H);break;case"uuid":s1(J,"uuid",Q.message,H);break;case"regex":C1(J,Q.regex,Q.message,H);break;case"cuid":C1(J,i1.cuid,Q.message,H);break;case"cuid2":C1(J,i1.cuid2,Q.message,H);break;case"startsWith":C1(J,RegExp(`^${k6(Q.value,H)}`),Q.message,H);break;case"endsWith":C1(J,RegExp(`${k6(Q.value,H)}$`),Q.message,H);break;case"datetime":s1(J,"date-time",Q.message,H);break;case"date":s1(J,"date",Q.message,H);break;case"time":s1(J,"time",Q.message,H);break;case"duration":s1(J,"duration",Q.message,H);break;case"length":Y1(J,"minLength",typeof J.minLength==="number"?Math.max(J.minLength,Q.value):Q.value,Q.message,H),Y1(J,"maxLength",typeof J.maxLength==="number"?Math.min(J.maxLength,Q.value):Q.value,Q.message,H);break;case"includes":{C1(J,RegExp(k6(Q.value,H)),Q.message,H);break}case"ip":{if(Q.version!=="v6")s1(J,"ipv4",Q.message,H);if(Q.version!=="v4")s1(J,"ipv6",Q.message,H);break}case"base64url":C1(J,i1.base64url,Q.message,H);break;case"jwt":C1(J,i1.jwt,Q.message,H);break;case"cidr":{if(Q.version!=="v6")C1(J,i1.ipv4Cidr,Q.message,H);if(Q.version!=="v4")C1(J,i1.ipv6Cidr,Q.message,H);break}case"emoji":C1(J,i1.emoji(),Q.message,H);break;case"ulid":{C1(J,i1.ulid,Q.message,H);break}case"base64":{switch(H.base64Strategy){case"format:binary":{s1(J,"binary",Q.message,H);break}case"contentEncoding:base64":{Y1(J,"contentEncoding","base64",Q.message,H);break}case"pattern:zod":{C1(J,i1.base64,Q.message,H);break}}break}case"nanoid":C1(J,i1.nanoid,Q.message,H);case"toLowerCase":case"toUpperCase":case"trim":break;default:((X)=>{})(Q)}return J}function k6($,H){return H.patternStrategy==="escape"?IR($):$}var KR=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function IR($){let H="";for(let J=0;J<$.length;J++){if(!KR.has($[J]))H+="\\";H+=$[J]}return H}function s1($,H,J,Q){if($.format||$.anyOf?.some((X)=>X.format)){if(!$.anyOf)$.anyOf=[];if($.format){if($.anyOf.push({format:$.format,...$.errorMessage&&Q.errorMessages&&{errorMessage:{format:$.errorMessage.format}}}),delete $.format,$.errorMessage){if(delete $.errorMessage.format,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.anyOf.push({format:H,...J&&Q.errorMessages&&{errorMessage:{format:J}}})}else Y1($,"format",H,J,Q)}function C1($,H,J,Q){if($.pattern||$.allOf?.some((X)=>X.pattern)){if(!$.allOf)$.allOf=[];if($.pattern){if($.allOf.push({pattern:$.pattern,...$.errorMessage&&Q.errorMessages&&{errorMessage:{pattern:$.errorMessage.pattern}}}),delete $.pattern,$.errorMessage){if(delete $.errorMessage.pattern,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.allOf.push({pattern:pQ(H,Q),...J&&Q.errorMessages&&{errorMessage:{pattern:J}}})}else Y1($,"pattern",pQ(H,Q),J,Q)}function pQ($,H){if(!H.applyRegexFlags||!$.flags)return $.source;let J={i:$.flags.includes("i"),m:$.flags.includes("m"),s:$.flags.includes("s")},Q=J.i?$.source.toLowerCase():$.source,X="",Y=!1,W=!1,G=!1;for(let q=0;q<Q.length;q++){if(Y){X+=Q[q],Y=!1;continue}if(J.i){if(W){if(Q[q].match(/[a-z]/)){if(G)X+=Q[q],X+=`${Q[q-2]}-${Q[q]}`.toUpperCase(),G=!1;else if(Q[q+1]==="-"&&Q[q+2]?.match(/[a-z]/))X+=Q[q],G=!0;else X+=`${Q[q]}${Q[q].toUpperCase()}`;continue}}else if(Q[q].match(/[a-z]/)){X+=`[${Q[q]}${Q[q].toUpperCase()}]`;continue}}if(J.m){if(Q[q]==="^"){X+=`(^|(?<=[\r
|
|
44
|
+
]))`;continue}else if(Q[q]==="$"){X+=`($|(?=[\r
|
|
45
|
+
]))`;continue}}if(J.s&&Q[q]==="."){X+=W?`${Q[q]}\r
|
|
46
|
+
`:`[${Q[q]}\r
|
|
47
|
+
]`;continue}if(X+=Q[q],Q[q]==="\\")Y=!0;else if(W&&Q[q]==="]")W=!1;else if(!W&&Q[q]==="[")W=!0}try{new RegExp(X)}catch{return console.warn(`Could not convert regex pattern at ${H.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),$.source}return X}function u9($,H){if(H.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(H.target==="openApi3"&&$.keyType?._def.typeName===C.ZodEnum)return{type:"object",required:$.keyType._def.values,properties:$.keyType._def.values.reduce((Q,X)=>({...Q,[X]:n($.valueType._def,{...H,currentPath:[...H.currentPath,"properties",X]})??w1(H)}),{}),additionalProperties:H.rejectedAdditionalProperties};let J={type:"object",additionalProperties:n($.valueType._def,{...H,currentPath:[...H.currentPath,"additionalProperties"]})??H.allowedAdditionalProperties};if(H.target==="openApi3")return J;if($.keyType?._def.typeName===C.ZodString&&$.keyType._def.checks?.length){let{type:Q,...X}=y9($.keyType._def,H);return{...J,propertyNames:X}}else if($.keyType?._def.typeName===C.ZodEnum)return{...J,propertyNames:{enum:$.keyType._def.values}};else if($.keyType?._def.typeName===C.ZodBranded&&$.keyType._def.type._def.typeName===C.ZodString&&$.keyType._def.type._def.checks?.length){let{type:Q,...X}=g9($.keyType._def,H);return{...J,propertyNames:X}}return J}function nQ($,H){if(H.mapStrategy==="record")return u9($,H);let J=n($.keyType._def,{...H,currentPath:[...H.currentPath,"items","items","0"]})||w1(H),Q=n($.valueType._def,{...H,currentPath:[...H.currentPath,"items","items","1"]})||w1(H);return{type:"array",maxItems:125,items:{type:"array",items:[J,Q],minItems:2,maxItems:2}}}function iQ($){let H=$.values,Q=Object.keys($.values).filter((Y)=>{return typeof H[H[Y]]!=="number"}).map((Y)=>H[Y]),X=Array.from(new Set(Q.map((Y)=>typeof Y)));return{type:X.length===1?X[0]==="string"?"string":"number":["string","number"],enum:Q}}function sQ($){return $.target==="openAi"?void 0:{not:w1({...$,currentPath:[...$.currentPath,"not"]})}}function oQ($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var R4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function aQ($,H){if(H.target==="openApi3")return rQ($,H);let J=$.options instanceof Map?Array.from($.options.values()):$.options;if(J.every((Q)=>(Q._def.typeName in R4)&&(!Q._def.checks||!Q._def.checks.length))){let Q=J.reduce((X,Y)=>{let W=R4[Y._def.typeName];return W&&!X.includes(W)?[...X,W]:X},[]);return{type:Q.length>1?Q:Q[0]}}else if(J.every((Q)=>Q._def.typeName==="ZodLiteral"&&!Q.description)){let Q=J.reduce((X,Y)=>{let W=typeof Y._def.value;switch(W){case"string":case"number":case"boolean":return[...X,W];case"bigint":return[...X,"integer"];case"object":if(Y._def.value===null)return[...X,"null"];case"symbol":case"undefined":case"function":default:return X}},[]);if(Q.length===J.length){let X=Q.filter((Y,W,G)=>G.indexOf(Y)===W);return{type:X.length>1?X:X[0],enum:J.reduce((Y,W)=>{return Y.includes(W._def.value)?Y:[...Y,W._def.value]},[])}}}else if(J.every((Q)=>Q._def.typeName==="ZodEnum"))return{type:"string",enum:J.reduce((Q,X)=>[...Q,...X._def.values.filter((Y)=>!Q.includes(Y))],[])};return rQ($,H)}var rQ=($,H)=>{let J=($.options instanceof Map?Array.from($.options.values()):$.options).map((Q,X)=>n(Q._def,{...H,currentPath:[...H.currentPath,"anyOf",`${X}`]})).filter((Q)=>!!Q&&(!H.strictUnions||typeof Q==="object"&&Object.keys(Q).length>0));return J.length?{anyOf:J}:void 0};function tQ($,H){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(H.target==="openApi3")return{type:R4[$.innerType._def.typeName],nullable:!0};return{type:[R4[$.innerType._def.typeName],"null"]}}if(H.target==="openApi3"){let Q=n($.innerType._def,{...H,currentPath:[...H.currentPath]});if(Q&&"$ref"in Q)return{allOf:[Q],nullable:!0};return Q&&{...Q,nullable:!0}}let J=n($.innerType._def,{...H,currentPath:[...H.currentPath,"anyOf","0"]});return J&&{anyOf:[J,{type:"null"}]}}function eQ($,H){let J={type:"number"};if(!$.checks)return J;for(let Q of $.checks)switch(Q.kind){case"int":J.type="integer",K6(J,"type",Q.message,H);break;case"min":if(H.target==="jsonSchema7")if(Q.inclusive)Y1(J,"minimum",Q.value,Q.message,H);else Y1(J,"exclusiveMinimum",Q.value,Q.message,H);else{if(!Q.inclusive)J.exclusiveMinimum=!0;Y1(J,"minimum",Q.value,Q.message,H)}break;case"max":if(H.target==="jsonSchema7")if(Q.inclusive)Y1(J,"maximum",Q.value,Q.message,H);else Y1(J,"exclusiveMaximum",Q.value,Q.message,H);else{if(!Q.inclusive)J.exclusiveMaximum=!0;Y1(J,"maximum",Q.value,Q.message,H)}break;case"multipleOf":Y1(J,"multipleOf",Q.value,Q.message,H);break}return J}function $X($,H){let J=H.target==="openAi",Q={type:"object",properties:{}},X=[],Y=$.shape();for(let G in Y){let q=Y[G];if(q===void 0||q._def===void 0)continue;let U=xR(q);if(U&&J){if(q._def.typeName==="ZodOptional")q=q._def.innerType;if(!q.isNullable())q=q.nullable();U=!1}let B=n(q._def,{...H,currentPath:[...H.currentPath,"properties",G],propertyPath:[...H.currentPath,"properties",G]});if(B===void 0)continue;if(Q.properties[G]=B,!U)X.push(G)}if(X.length)Q.required=X;let W=TR($,H);if(W!==void 0)Q.additionalProperties=W;return Q}function TR($,H){if($.catchall._def.typeName!=="ZodNever")return n($.catchall._def,{...H,currentPath:[...H.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return H.allowedAdditionalProperties;case"strict":return H.rejectedAdditionalProperties;case"strip":return H.removeAdditionalStrategy==="strict"?H.allowedAdditionalProperties:H.rejectedAdditionalProperties}}function xR($){try{return $.isOptional()}catch{return!0}}var HX=($,H)=>{if(H.currentPath.toString()===H.propertyPath?.toString())return n($.innerType._def,H);let J=n($.innerType._def,{...H,currentPath:[...H.currentPath,"anyOf","1"]});return J?{anyOf:[{not:w1(H)},J]}:w1(H)};var JX=($,H)=>{if(H.pipeStrategy==="input")return n($.in._def,H);else if(H.pipeStrategy==="output")return n($.out._def,H);let J=n($.in._def,{...H,currentPath:[...H.currentPath,"allOf","0"]}),Q=n($.out._def,{...H,currentPath:[...H.currentPath,"allOf",J?"1":"0"]});return{allOf:[J,Q].filter((X)=>X!==void 0)}};function QX($,H){return n($.type._def,H)}function XX($,H){let Q={type:"array",uniqueItems:!0,items:n($.valueType._def,{...H,currentPath:[...H.currentPath,"items"]})};if($.minSize)Y1(Q,"minItems",$.minSize.value,$.minSize.message,H);if($.maxSize)Y1(Q,"maxItems",$.maxSize.value,$.maxSize.message,H);return Q}function YX($,H){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((J,Q)=>n(J._def,{...H,currentPath:[...H.currentPath,"items",`${Q}`]})).reduce((J,Q)=>Q===void 0?J:[...J,Q],[]),additionalItems:n($.rest._def,{...H,currentPath:[...H.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((J,Q)=>n(J._def,{...H,currentPath:[...H.currentPath,"items",`${Q}`]})).reduce((J,Q)=>Q===void 0?J:[...J,Q],[])}}function WX($){return{not:w1($)}}function GX($){return w1($)}var qX=($,H)=>{return n($.innerType._def,H)};var UX=($,H,J)=>{switch(H){case C.ZodString:return y9($,J);case C.ZodNumber:return eQ($,J);case C.ZodObject:return $X($,J);case C.ZodBigInt:return vQ($,J);case C.ZodBoolean:return gQ();case C.ZodDate:return b6($,J);case C.ZodUndefined:return WX(J);case C.ZodNull:return oQ(J);case C.ZodArray:return hQ($,J);case C.ZodUnion:case C.ZodDiscriminatedUnion:return aQ($,J);case C.ZodIntersection:return cQ($,J);case C.ZodTuple:return YX($,J);case C.ZodRecord:return u9($,J);case C.ZodLiteral:return lQ($,J);case C.ZodEnum:return dQ($);case C.ZodNativeEnum:return iQ($);case C.ZodNullable:return tQ($,J);case C.ZodOptional:return HX($,J);case C.ZodMap:return nQ($,J);case C.ZodSet:return XX($,J);case C.ZodLazy:return()=>$.getter()._def;case C.ZodPromise:return QX($,J);case C.ZodNaN:case C.ZodNever:return sQ(J);case C.ZodEffects:return mQ($,J);case C.ZodAny:return w1(J);case C.ZodUnknown:return GX(J);case C.ZodDefault:return uQ($,J);case C.ZodBranded:return g9($,J);case C.ZodReadonly:return qX($,J);case C.ZodCatch:return yQ($,J);case C.ZodPipeline:return JX($,J);case C.ZodFunction:case C.ZodVoid:case C.ZodSymbol:return;default:return((Q)=>{return})(H)}};function n($,H,J=!1){let Q=H.seen.get($);if(H.override){let G=H.override?.($,H,Q,J);if(G!==OQ)return G}if(Q&&!J){let G=bR(Q,H);if(G!==void 0)return G}let X={def:$,path:H.currentPath,jsonSchema:void 0};H.seen.set($,X);let Y=UX($,$.typeName,H),W=typeof Y==="function"?n(Y(),H):Y;if(W)fR($,H,W);if(H.postProcess){let G=H.postProcess(W,$,H);return X.jsonSchema=W,G}return X.jsonSchema=W,W}var bR=($,H)=>{switch(H.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:b9(H.currentPath,$.path)};case"none":case"seen":{if($.path.length<H.currentPath.length&&$.path.every((J,Q)=>H.currentPath[Q]===J))return console.warn(`Recursive reference detected at ${H.currentPath.join("/")}! Defaulting to any`),w1(H);return H.$refStrategy==="seen"?w1(H):void 0}}},fR=($,H,J)=>{if($.description){if(J.description=$.description,H.markdownDescription)J.markdownDescription=$.description}return J};var m9=($,H)=>{let J=LQ(H),Q=typeof H==="object"&&H.definitions?Object.entries(H.definitions).reduce((q,[U,B])=>({...q,[U]:n(B._def,{...J,currentPath:[...J.basePath,J.definitionPath,U]},!0)??w1(J)}),{}):void 0,X=typeof H==="string"?H:H?.nameStrategy==="title"?void 0:H?.name,Y=n($._def,X===void 0?J:{...J,currentPath:[...J.basePath,J.definitionPath,X]},!1)??w1(J),W=typeof H==="object"&&H.name!==void 0&&H.nameStrategy==="title"?H.name:void 0;if(W!==void 0)Y.title=W;if(J.flags.hasReferencedOpenAiAnyType){if(!Q)Q={};if(!Q[J.openAiAnyTypeName])Q[J.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:J.$refStrategy==="relative"?"1":[...J.basePath,J.definitionPath,J.openAiAnyTypeName].join("/")}}}let G=X===void 0?Q?{...Y,[J.definitionPath]:Q}:Y:{$ref:[...J.$refStrategy==="relative"?[]:J.basePath,J.definitionPath,X].join("/"),[J.definitionPath]:{...Q,[X]:Y}};if(J.target==="jsonSchema7")G.$schema="http://json-schema.org/draft-07/schema#";else if(J.target==="jsonSchema2019-09"||J.target==="openAi")G.$schema="https://json-schema.org/draft/2019-09/schema#";if(J.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 BX=new WeakMap,wX=0;class i0{spec;generatedSchemas=new Set;constructor($){this.spec=$}convert($,H){try{if(H?.reusable||this.shouldBeReusable($))return this.convertToReusableSchema($,H?.name);return this.convertInline($)}catch(J){return console.warn("Failed to convert Zod schema to JSON Schema:",J),{type:"object"}}}convertInline($){let H=m9($,{target:"openApi3",$refStrategy:"none"});if(H&&typeof H==="object")delete H.$schema;return H}convertToReusableSchema($,H){let J=BX.get($);if(J&&this.generatedSchemas.has(J))return{$ref:`#/components/schemas/${J}`};let Q=H||J||this.generateSchemaName();BX.set($,Q),this.generatedSchemas.add(Q);let X=this.convertInline($);if(!this.spec.components)this.spec.components={schemas:{}};if(!this.spec.components.schemas)this.spec.components.schemas={};return this.spec.components.schemas[Q]=X,{$ref:`#/components/schemas/${Q}`}}shouldBeReusable($){let H=this.convertInline($);if(H.type==="object"&&H.properties)return Object.keys(H.properties).length>2;if(H.type==="array"&&H.items){let J=H.items;if(J.type==="object"&&J.properties)return!0}if(H.anyOf||H.oneOf||H.allOf)return!0;return!1}generateSchemaName(){return`Schema${++wX}`}static resetCounter(){wX=0}}function DX($,H){if(H)return new i0(H).convert($);try{let J=m9($,{target:"openApi3",$refStrategy:"none"});if(J&&typeof J==="object")delete J.$schema;return J}catch(J){return console.warn("Failed to convert Zod schema to JSON Schema:",J),{type:"object"}}}class E4{metadata;options;converter;constructor($,H){this.metadata=$;this.options={title:H?.title||"Veloce-TS API",version:H?.version||"1.0.0",description:H?.description||"API built with Veloce-TS",path:H?.path||"/openapi.json",docsPath:H?.docsPath||"/docs",docs:H?.docs!==!1}}generate(){let $=this.metadata.getRoutes(),H={openapi:"3.0.0",info:{title:this.options.title,version:this.options.version,description:this.options.description},paths:{},components:{schemas:{}}};this.converter=new i0(H);for(let J of $)this.addRouteToSpec(H,J);return H}addRouteToSpec($,H){let J=this.convertPathToOpenAPI(H.path),Q=H.method.toLowerCase();if(Q==="all"||Q==="options")return;if(!$.paths[J])$.paths[J]={};let X={summary:H.docs?.summary,description:H.docs?.description,tags:H.docs?.tags||[],deprecated:H.docs?.deprecated||!1,parameters:this.extractParameters(H,$),responses:this.extractResponses(H,$)},Y=this.extractRequestBody(H,$);if(Y)X.requestBody=Y;if(X.parameters.length===0)delete X.parameters;if(X.tags.length===0)delete X.tags;$.paths[J][Q]=X}extractParameters($,H){let J=[];for(let Q of $.parameters)if(Q.type==="query"||Q.type==="param"||Q.type==="header"||Q.type==="cookie"){let X=this.parameterToOpenAPI(Q,$.path,H);if(X)J.push(X)}return J}extractRequestBody($,H){let J=$.parameters.find((Q)=>Q.type==="body");if(!J||!J.schema)return null;return{required:J.required,content:{"application/json":{schema:this.zodToOpenAPISchema(J.schema,H)}}}}extractResponses($,H){let J={};if($.responses&&$.responses.length>0)for(let Q of $.responses)J[Q.statusCode.toString()]={description:Q.description||this.getDefaultResponseDescription(Q.statusCode),content:Q.schema?{"application/json":{schema:this.zodToOpenAPISchema(Q.schema,H)}}:void 0};else J["200"]={description:"Successful response",content:{"application/json":{schema:{type:"object"}}}};if(!J["422"])J["422"]={description:"Validation error",content:{"application/json":{schema:{type:"object",properties:{error:{type:"string"},details:{type:"array",items:{type:"object",properties:{path:{type:"string"},message:{type:"string"},code:{type:"string"}}}}}}}}};return J}convertPathToOpenAPI($){return $.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"{$1}")}parameterToOpenAPI($,H,J){let Q,X;switch($.type){case"query":Q="query",X=$.name||"query";break;case"param":if(Q="path",$.name)X=$.name;else{let W=H.match(/:([a-zA-Z_][a-zA-Z0-9_]*)/);X=W?W[1]:"id"}break;case"header":Q="header",X=$.name||"X-Custom-Header";break;case"cookie":Q="cookie",X=$.name||"session";break;default:return null}return{name:X,in:Q,required:$.required||Q==="path",schema:$.schema?this.zodToOpenAPISchema($.schema,J):{type:"string"}}}zodToOpenAPISchema($,H){if(!this.converter)this.converter=new i0(H);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 VX{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 H=$.getConfig();if(H.title)this.options.title=H.title;if(H.version)this.options.version=H.version;if(H.description)this.options.description=H.description;$.get(this.options.path,{handler:async()=>{return this.generateSpec($)},docs:{summary:"Get OpenAPI specification",description:"Returns the OpenAPI 3.0 specification for this API",tags:["Documentation"]}})}generateSpec($){let H=$.getMetadata();return new E4(H,this.options).generate()}renderSwaggerUI(){return`<!DOCTYPE html>
|
|
48
|
+
<html lang="en">
|
|
49
|
+
<head>
|
|
50
|
+
<meta charset="UTF-8">
|
|
51
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
52
|
+
<title>${this.options.title} - API Documentation</title>
|
|
53
|
+
<link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist@5.9.0/swagger-ui.css" />
|
|
54
|
+
<style>
|
|
55
|
+
body {
|
|
56
|
+
margin: 0;
|
|
57
|
+
padding: 0;
|
|
58
|
+
}
|
|
59
|
+
</style>
|
|
60
|
+
</head>
|
|
61
|
+
<body>
|
|
62
|
+
<div id="swagger-ui"></div>
|
|
63
|
+
<script src="https://unpkg.com/swagger-ui-dist@5.9.0/swagger-ui-bundle.js" crossorigin></script>
|
|
64
|
+
<script src="https://unpkg.com/swagger-ui-dist@5.9.0/swagger-ui-standalone-preset.js" crossorigin></script>
|
|
65
|
+
<script>
|
|
66
|
+
window.onload = function() {
|
|
67
|
+
window.ui = SwaggerUIBundle({
|
|
68
|
+
url: '${this.options.path}',
|
|
69
|
+
dom_id: '#swagger-ui',
|
|
70
|
+
deepLinking: true,
|
|
71
|
+
presets: [
|
|
72
|
+
SwaggerUIBundle.presets.apis,
|
|
73
|
+
SwaggerUIStandalonePreset
|
|
74
|
+
],
|
|
75
|
+
plugins: [
|
|
76
|
+
SwaggerUIBundle.plugins.DownloadUrl
|
|
77
|
+
],
|
|
78
|
+
layout: "StandaloneLayout"
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
</script>
|
|
82
|
+
</body>
|
|
83
|
+
</html>`}}class d9{manager;id;_ws;constructor($,H,J){this.manager=H;this._ws=$,this.id=J||crypto.randomUUID()}send($){if(!this._ws||this._ws.readyState!==WebSocket.OPEN)return;let H=typeof $==="string"?$:JSON.stringify($);this._ws.send(H)}broadcast($,H){this.manager.broadcast($,H)}join($){this.manager.joinRoom(this.id,$)}leave($){this.manager.leaveRoom(this.id,$)}close($,H){if(this._ws&&this._ws.readyState===WebSocket.OPEN)this._ws.close($,H)}get native(){return this._ws}get isOpen(){return this._ws!==null&&this._ws.readyState===WebSocket.OPEN}_markClosed(){this._ws=null}}class c9{connections=new Map;rooms=new Map;connectionsByRoom=new Map;handleConnection($,H){let J=new d9($,this);if(this.connections.set(J.id,J),H.onConnect)this.executeHandler(H,H.onConnect,J);return $.addEventListener("message",async(Q)=>{await this.handleMessage(Q,J,H)}),$.addEventListener("close",()=>{this.handleDisconnect(J,H)}),$.addEventListener("error",(Q)=>{console.error(`WebSocket error for connection ${J.id}:`,Q)}),J}async handleMessage($,H,J){if(!J.onMessage)return;let Q;try{if(Q=typeof $.data==="string"?JSON.parse($.data):$.data,J.messageSchema)Q=await J.messageSchema.parseAsync(Q);await this.executeHandler(J,J.onMessage,H,Q)}catch(X){H.send({error:"Invalid message format",details:X instanceof Error?X.message:"Unknown error"})}}handleDisconnect($,H){if(Array.from(this.connectionsByRoom.entries()).forEach(([J,Q])=>{if(Q.delete($),Q.size===0)this.connectionsByRoom.delete(J)}),Array.from(this.rooms.entries()).forEach(([J,Q])=>{if(Q.delete($.id),Q.size===0)this.rooms.delete(J)}),this.connections.delete($.id),$._markClosed(),H.onDisconnect)this.executeHandler(H,H.onDisconnect,$)}async executeHandler($,H,J,Q){try{let X=new $.target,Y=X[H];if(typeof Y==="function")if(Q!==void 0)await Y.call(X,J,Q);else await Y.call(X,J)}catch(X){console.error(`Error executing WebSocket handler ${H}:`,X)}}broadcast($,H){let J=H?this.getConnectionsInRoom(H):Array.from(this.connections.values()),Q=typeof $==="string"?$:JSON.stringify($);for(let X of J)if(X.isOpen)X.send(Q)}joinRoom($,H){let J=this.connections.get($);if(!J)return;if(!this.rooms.has(H))this.rooms.set(H,new Set);if(this.rooms.get(H).add($),!this.connectionsByRoom.has(H))this.connectionsByRoom.set(H,new Set);this.connectionsByRoom.get(H).add(J)}leaveRoom($,H){let J=this.connections.get($);if(!J)return;let Q=this.rooms.get(H);if(Q){if(Q.delete($),Q.size===0)this.rooms.delete(H)}let X=this.connectionsByRoom.get(H);if(X){if(X.delete(J),X.size===0)this.connectionsByRoom.delete(H)}}getConnectionsInRoom($){let H=this.connectionsByRoom.get($);return H?Array.from(H):[]}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 h6{name="websocket";version="1.0.0";manager;constructor(){this.manager=new c9}async install($){let J=$.getMetadata().getWebSockets();for(let Q of J)this.registerWebSocket($,Q)}registerWebSocket($,H){$.getHono().get(H.path,async(Q)=>{if(Q.req.header("upgrade")?.toLowerCase()!=="websocket")return Q.text("Expected WebSocket upgrade",426);return this.handleUpgrade(Q,H)})}handleUpgrade($,H){if(typeof Bun<"u")return this.handleBunUpgrade($,H);else if(typeof globalThis.Deno<"u")return this.handleDenoUpgrade($,H);else return this.handleNodeUpgrade($,H)}handleBunUpgrade($,H){if(!$.env?.upgrade?.($.req.raw))return $.text("WebSocket upgrade failed",500);return new Response(null,{status:101})}handleDenoUpgrade($,H){let J=globalThis.Deno,{socket:Q,response:X}=J.upgradeWebSocket($.req.raw);return Q.onopen=()=>{this.manager.handleConnection(Q,H)},X}handleNodeUpgrade($,H){return $.text("WebSocket support requires Bun or Deno runtime",501)}getManager(){return this.manager}broadcast($,H){this.manager.broadcast($,H)}getConnectionCount(){return this.manager.getConnectionCount()}getRooms(){return this.manager.getRooms()}}var px=f0(s0(),1),v6=Symbol("graphql:resolver"),T$=Symbol("graphql:field"),j4=Symbol("graphql:args");function nx($){return(H)=>{let J={target:H,name:$||H.name};Reflect.defineMetadata(v6,J,H)}}function ix($,H){return g6("query",$,H)}function sx($,H){return g6("mutation",$,H)}function ox($,H){return g6("subscription",$,H)}function g6($,H,J){return(Q,X)=>{let Y={target:Q.constructor,propertyKey:X,type:$,name:H||X,description:J?.description,deprecated:J?.deprecated,deprecationReason:J?.deprecationReason},W=Reflect.getMetadata(T$,Q.constructor)||[];W.push(Y),Reflect.defineMetadata(T$,W,Q.constructor),Reflect.defineMetadata(T$,Y,Q,X)}}function rx($,H,J){return(Q,X,Y)=>{if(!X)return;let W=Reflect.getMetadata(j4,Q,X)||[],G={index:Y,name:$,schema:H,description:J?.description,defaultValue:J?.defaultValue,nullable:J?.nullable};W[Y]=G,Reflect.defineMetadata(j4,W,Q,X)}}function ax(){return($,H,J)=>{if(!H)return;let Q=Reflect.getMetadata(j4,$,H)||[],X={index:J,name:"__context__",nullable:!1};Q[J]=X,Reflect.defineMetadata(j4,Q,$,H)}}function tx($){return Reflect.getMetadata(v6,$)}function ex($){return Reflect.getMetadata(T$,$)||[]}function $b($,H){return Reflect.getMetadata(T$,$,H)}function y6($,H){return Reflect.getMetadata(j4,$,H)||[]}function Hb($){return Reflect.hasMetadata(v6,$)}function Jb($,H){return Reflect.hasMetadata(T$,$,H)}function N0($){let H=$._def.typeName;if(H==="ZodString")return"String";if(H==="ZodNumber"){if($._def.checks?.some((Q)=>Q.kind==="int"))return"Int";return"Float"}if(H==="ZodBoolean")return"Boolean";if(H==="ZodArray")return`[${N0($._def.type)}]`;if(H==="ZodObject")return"JSON";if(H==="ZodOptional")return N0($._def.innerType);if(H==="ZodNullable")return N0($._def.innerType);if(H==="ZodDefault")return N0($._def.innerType);if(H==="ZodEnum")return"String";if(H==="ZodUnion"){let J=$._def.options;if(J&&J.length>0)return N0(J[0])}if(H==="ZodLiteral"){let J=$._def.value;if(typeof J==="string")return"String";if(typeof J==="number")return"Float";if(typeof J==="boolean")return"Boolean"}if(H==="ZodDate")return"String";return"String"}function O4($){let H=$._def.typeName;if(H==="ZodOptional"||H==="ZodNullable")return!0;if(H==="ZodDefault")return O4($._def.innerType);return!1}function FX($){let H=$._def.typeName;if(H==="ZodDefault")return $._def.defaultValue();if(H==="ZodOptional"||H==="ZodNullable"){let J=$._def.innerType;if(J)return FX(J)}return}function Xb($,H){if(H._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let Q=H._def.shape(),X=[];for(let[Y,W]of Object.entries(Q)){let G=W,q=N0(G),B=O4(G)?q:`${q}!`;X.push(` ${Y}: ${B}`)}return`type ${$} {
|
|
84
|
+
${X.join(`
|
|
85
|
+
`)}
|
|
86
|
+
}`}function Yb($,H){if(H._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let Q=H._def.shape(),X=[];for(let[Y,W]of Object.entries(Q)){let G=W,q=N0(G),U=O4(G),B=FX(G),w=U?q:`${q}!`;if(B!==void 0){let _=JSON.stringify(B);w+=` = ${_}`}X.push(` ${Y}: ${w}`)}return`input ${$} {
|
|
87
|
+
${X.join(`
|
|
88
|
+
`)}
|
|
89
|
+
}`}x$();class o0 extends f1{zodError;constructor($){super(422,"Validation failed");this.zodError=$;this.name="ValidationException"}toJSON(){return{error:"Validation Error",statusCode:this.statusCode,details:this.zodError.errors.map(($)=>({path:$.path.join("."),message:$.message,code:$.code}))}}}class b${schemaCache=new WeakMap;stats={hits:0,misses:0,validations:0};async validate($,H){this.stats.validations++;try{let J=this.schemaCache.get(H);if(!J)this.stats.misses++,J={schema:H,resultCache:new WeakMap},this.schemaCache.set(H,J);else this.stats.hits++;return await J.schema.parseAsync($)}catch(J){if(J instanceof j1)throw new o0(J);throw J}}validateSync($,H){this.stats.validations++;try{let J=this.schemaCache.get(H);if(!J)this.stats.misses++,J={schema:H,resultCache:new WeakMap},this.schemaCache.set(H,J);else this.stats.hits++;return J.schema.parse($)}catch(J){if(J instanceof j1)throw new o0(J);throw J}}getCacheStats(){let $=this.stats.validations>0?this.stats.hits/this.stats.validations*100:0;return{...this.stats,hitRate:Math.round($*100)/100}}resetStats(){this.stats={hits:0,misses:0,validations:0}}clearCache(){this.schemaCache=new WeakMap,this.resetStats()}}class m6{metadata;container;validationEngine;customTypes=new Map;constructor($,H){this.metadata=$;this.container=H;this.validationEngine=new b$}build(){let $=this.metadata.getGraphQLResolvers(),H=[],J=[],Q=[],X=[];for(let G of $){let q=this.metadata.getGraphQLFieldsByResolver(G.target);for(let U of q){let B=this.buildFieldDefinition(U);switch(U.type){case"query":H.push(B);break;case"mutation":J.push(B);break;case"subscription":Q.push(B);break}}}let Y="";if(this.customTypes.size>0)Y+=Array.from(this.customTypes.values()).join(`
|
|
90
|
+
|
|
91
|
+
`)+`
|
|
92
|
+
|
|
93
|
+
`;if(H.length>0)Y+=`type Query {
|
|
94
|
+
`,Y+=H.map((G)=>` ${G}`).join(`
|
|
95
|
+
`),Y+=`
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
`;if(J.length>0)Y+=`type Mutation {
|
|
99
|
+
`,Y+=J.map((G)=>` ${G}`).join(`
|
|
100
|
+
`),Y+=`
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
`;if(Q.length>0)Y+=`type Subscription {
|
|
104
|
+
`,Y+=Q.map((G)=>` ${G}`).join(`
|
|
105
|
+
`),Y+=`
|
|
106
|
+
}
|
|
107
|
+
`;let W=this.buildResolvers();return{typeDefs:Y.trim(),resolvers:W}}buildFieldDefinition($){let H=y6($.target.prototype,$.propertyKey),J=[];for(let W of H){if(W.name==="__context__")continue;let G="String";if(W.schema){if(G=N0(W.schema),!O4(W.schema)&&!W.nullable)G+="!"}let q=`${W.name}: ${G}`;if(W.defaultValue!==void 0)q+=` = ${JSON.stringify(W.defaultValue)}`;J.push(q)}let Q=J.length>0?`(${J.join(", ")})`:"",X="String",Y=`${$.name}${Q}: ${X}`;if($.deprecated){let W=$.deprecationReason||"No longer supported";Y+=` @deprecated(reason: "${W}")`}return Y}buildResolvers(){let $=this.metadata.getGraphQLResolvers(),H={Query:{},Mutation:{},Subscription:{}};for(let J of $){let Q=this.metadata.getGraphQLFieldsByResolver(J.target);for(let X of Q){let Y=this.createResolverFunction(J.target,X);switch(X.type){case"query":H.Query[X.name]=Y;break;case"mutation":H.Mutation[X.name]=Y;break;case"subscription":H.Subscription[X.name]=Y;break}}}return H}createResolverFunction($,H){return async(J,Q,X,Y)=>{try{let W=y6($.prototype,H.propertyKey),G=[];for(let B of W)if(B.name==="__context__")G[B.index]=X;else{let w=Q[B.name];if(w===void 0&&B.defaultValue!==void 0)w=B.defaultValue;if(B.schema)w=await this.validationEngine.validate(w,B.schema);G[B.index]=w}return await(await this.container.resolve($,{scope:"request",context:X.request}))[H.propertyKey](...G)}catch(W){throw W}}}}class zX{name="graphql";version="1.0.0";options;schema;constructor($){this.options={path:$?.path||"/graphql",playgroundPath:$?.playgroundPath||"/graphql/playground",playground:$?.playground!==!1,context:$?.context||((H)=>({request:H}))}}async install($){let H=$.getMetadata(),J=$.getContainer(),Q=new m6(H,J);if(this.schema=Q.build(),$.post(this.options.path,{handler:async(X)=>{return this.handleGraphQLRequest(X)},docs:{summary:"GraphQL endpoint",description:"Execute GraphQL queries and mutations",tags:["GraphQL"]}}),$.get(this.options.path,{handler:async(X)=>{let Y=X.req.query("query"),W=X.req.query("variables"),G=X.req.query("operationName");if(!Y)return X.json({error:"Query parameter is required"},400);return this.executeGraphQL(X,{query:Y,variables:W?JSON.parse(W):void 0,operationName:G})},docs:{summary:"GraphQL endpoint (GET)",description:"Execute GraphQL queries via GET request",tags:["GraphQL"]}}),this.options.playground)$.get(this.options.playgroundPath,{handler:async(X)=>{return X.html(this.renderPlayground())},docs:{summary:"GraphQL Playground",description:"Interactive GraphQL IDE",tags:["GraphQL"]}})}async handleGraphQLRequest($){try{let H=await $.req.json();return this.executeGraphQL($,H)}catch(H){return $.json({errors:[{message:"Invalid JSON in request body",extensions:{code:"BAD_REQUEST"}}]},400)}}async executeGraphQL($,H){if(!this.schema)return $.json({errors:[{message:"GraphQL schema not initialized",extensions:{code:"INTERNAL_SERVER_ERROR"}}]},500);try{let{query:J,variables:Q,operationName:X}=H,Y=await this.options.context($),W=await this.executeOperation(J,Q,Y,X);return $.json(W)}catch(J){return $.json({errors:[{message:J.message||"Internal server error",extensions:{code:"INTERNAL_SERVER_ERROR",...{stack:J.stack}}}]},500)}}async executeOperation($,H,J,Q){return{data:null,errors:[{message:"GraphQL execution not fully implemented. Use a GraphQL library like graphql-js for full support.",extensions:{code:"NOT_IMPLEMENTED"}}]}}renderPlayground(){return`
|
|
108
|
+
<!DOCTYPE html>
|
|
109
|
+
<html lang="en">
|
|
110
|
+
<head>
|
|
111
|
+
<meta charset="UTF-8">
|
|
112
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
113
|
+
<title>GraphQL Playground</title>
|
|
114
|
+
<link rel="stylesheet" href="https://unpkg.com/graphql-playground-react/build/static/css/index.css" />
|
|
115
|
+
<link rel="shortcut icon" href="https://unpkg.com/graphql-playground-react/build/favicon.png" />
|
|
116
|
+
<script src="https://unpkg.com/graphql-playground-react/build/static/js/middleware.js"></script>
|
|
117
|
+
<style>
|
|
118
|
+
body {
|
|
119
|
+
margin: 0;
|
|
120
|
+
padding: 0;
|
|
121
|
+
font-family: 'Open Sans', sans-serif;
|
|
122
|
+
overflow: hidden;
|
|
123
|
+
}
|
|
124
|
+
#root {
|
|
125
|
+
height: 100vh;
|
|
126
|
+
}
|
|
127
|
+
</style>
|
|
128
|
+
</head>
|
|
129
|
+
<body>
|
|
130
|
+
<div id="root"></div>
|
|
131
|
+
<script>
|
|
132
|
+
window.addEventListener('load', function (event) {
|
|
133
|
+
GraphQLPlayground.init(document.getElementById('root'), {
|
|
134
|
+
endpoint: '${this.options.path}',
|
|
135
|
+
settings: {
|
|
136
|
+
'editor.theme': 'light',
|
|
137
|
+
'editor.cursorShape': 'line',
|
|
138
|
+
'editor.reuseHeaders': true,
|
|
139
|
+
'tracing.hideTracingResponse': true,
|
|
140
|
+
'queryPlan.hideQueryPlanResponse': true,
|
|
141
|
+
'editor.fontSize': 14,
|
|
142
|
+
'editor.fontFamily': "'Source Code Pro', 'Consolas', 'Inconsolata', 'Droid Sans Mono', 'Monaco', monospace",
|
|
143
|
+
'request.credentials': 'include'
|
|
144
|
+
}
|
|
145
|
+
})
|
|
146
|
+
})
|
|
147
|
+
</script>
|
|
148
|
+
</body>
|
|
149
|
+
</html>
|
|
150
|
+
`.trim()}getSchema(){return this.schema}}class NX{name="health";version="1.0.0";options;startTime;logger=m0().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(H)=>{return this.handleHealth(H)},docs:{summary:"Health Check",description:"Comprehensive health check endpoint",tags:["Health"]}}),$.get(this.options.readyPath,{handler:async(H)=>{return this.handleReady(H)},docs:{summary:"Readiness Check",description:"Check if the application is ready to serve traffic",tags:["Health"]}}),$.get(this.options.livePath,{handler:async(H)=>{return this.handleLive(H)},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 H=Date.now()-this.startTime,J={},Q=!0;for(let Y of this.options.checks)try{let W=await Promise.resolve(Y());if(J[Y.name||"unknown"]=W,W.status==="unhealthy")Q=!1}catch(W){let G=W instanceof Error?W.message:"Unknown error";J[Y.name||"unknown"]={status:"unhealthy",message:G},Q=!1}let X={status:Q?"healthy":"unhealthy",timestamp:new Date().toISOString(),uptime:H,checks:Object.keys(J).length>0?J:void 0};return $.json(X,Q?200:503)}async handleReady($){let H=Date.now()-this.startTime,J=this.options.checks.filter((W)=>W.name?.includes("database")||W.name?.includes("cache")||W.name?.includes("ready")),Q=!0,X={};for(let W of J)try{let G=await Promise.resolve(W());if(X[W.name||"unknown"]=G,G.status==="unhealthy")Q=!1}catch(G){Q=!1;let q=G instanceof Error?G.message:"Unknown error";X[W.name||"unknown"]={status:"unhealthy",message:q}}let Y={status:Q?"ready":"not_ready",timestamp:new Date().toISOString(),uptime:H,checks:Object.keys(X).length>0?X:void 0};return $.json(Y,Q?200:503)}handleLive($){let H=Date.now()-this.startTime;return $.json({status:"alive",timestamp:new Date().toISOString(),uptime:H},200)}}var gR={alwaysHealthy(){return{status:"healthy",message:"OK"}},database($){let H=async()=>{try{let J=await Promise.resolve($());return{status:J?"healthy":"unhealthy",message:J?"Database connection OK":"Database connection failed"}}catch(J){return{status:"unhealthy",message:J instanceof Error?J.message:"Database check failed"}}};return H.name="database",H},memory($=512){let H=()=>{if(typeof process>"u"||!process.memoryUsage)return{status:"healthy",message:"Memory check not available"};let Q=process.memoryUsage().heapUsed/1024/1024;return{status:Q<$?"healthy":"unhealthy",message:`Heap usage: ${Q.toFixed(2)}MB / ${$}MB`,heapUsedMB:Q.toFixed(2),maxUsageMB:$}};return H.name="memory",H},disk($=90){let H=()=>{return{status:"healthy",message:"Disk check not implemented (requires additional dependencies)"}};return H.name="disk",H}};var Kb=f0(s0(),1);var Cb=f0(s0(),1),d6=Symbol("route:metadata"),c6=Symbol("controller:metadata"),AX=Symbol("parameter:metadata"),RX=Symbol("dependency:metadata"),l6=Symbol("websocket:metadata"),EX=Symbol("websocket:handler:metadata"),p6=Symbol("graphql:resolver"),Z4=Symbol("graphql:field"),n6=Symbol("auth:metadata"),i6=Symbol("oauth:metadata"),s6=Symbol("roles:metadata"),o6=Symbol("permissions:metadata"),r6=Symbol("minimum-role:metadata"),a6=Symbol("resource-permission:metadata"),t6=Symbol("session:metadata"),e6=Symbol("csrf:metadata");class d{routes=new Map;controllers=new Map;routesByController=new Map;websockets=new Map;graphqlResolvers=new Map;graphqlFields=new Map;registerRoute($){let H=this.getRouteKey($.target,$.propertyKey);if(this.routes.set(H,$),!this.routesByController.has($.target))this.routesByController.set($.target,[]);this.routesByController.get($.target).push($)}registerController($,H){this.controllers.set($,H)}getRoutes(){return Array.from(this.routes.values())}getRoute($,H){let J=this.getRouteKey($,H);return this.routes.get(J)}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 H=this.getRouteKey($.target,$.propertyKey);this.graphqlFields.set(H,$)}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((H)=>H.target===$)}clear(){this.routes.clear(),this.controllers.clear(),this.routesByController.clear(),this.websockets.clear(),this.graphqlResolvers.clear(),this.graphqlFields.clear()}getRouteKey($,H){return`${$.name}:${H}`}static defineRoute($,H,J){let Q=this.getRouteMetadata($,H),X={...Q,...J,target:$.constructor,propertyKey:H,middleware:[...Q?.middleware||[],...J.middleware||[]],parameters:J.parameters||Q?.parameters||[],dependencies:J.dependencies||Q?.dependencies||[],responses:J.responses||Q?.responses||[],auth:J.auth||Q?.auth,oauth:J.oauth||Q?.oauth,roles:J.roles||Q?.roles,permissions:J.permissions||Q?.permissions,minimumRole:J.minimumRole||Q?.minimumRole,resourcePermission:J.resourcePermission||Q?.resourcePermission,session:J.session||Q?.session,csrf:J.csrf||Q?.csrf};Reflect.defineMetadata(d6,X,$,H)}static defineParameter($,H,J,Q){let X=this.getParameterMetadata($,H)||[];X[J]=Q,Reflect.defineMetadata(AX,X,$,H);let Y=this.getRouteMetadata($,H);this.defineRoute($,H,{...Y,parameters:X})}static defineDependency($,H,J,Q){let X=this.getDependencyMetadata($,H)||[];X[J]=Q,Reflect.defineMetadata(RX,X,$,H);let Y=this.getRouteMetadata($,H);this.defineRoute($,H,{...Y,dependencies:X})}static defineController($,H){Reflect.defineMetadata(c6,H,$)}static getRouteMetadata($,H){return Reflect.getMetadata(d6,$,H)}static getParameterMetadata($,H){return Reflect.getMetadata(AX,$,H)}static getDependencyMetadata($,H){return Reflect.getMetadata(RX,$,H)}static getControllerMetadata($){return Reflect.getMetadata(c6,$)}static hasControllerMetadata($){return Reflect.hasMetadata(c6,$)}static hasRouteMetadata($,H){return Reflect.hasMetadata(d6,$,H)}static getRouteMethods($){let H=$.prototype,J=[],Q=Object.getOwnPropertyNames(H);for(let X of Q){if(X==="constructor")continue;if(this.hasRouteMetadata(H,X))J.push(X)}return J}static defineWebSocket($,H){let Q={...this.getWebSocketMetadata($),...H,target:$};Reflect.defineMetadata(l6,Q,$)}static defineWebSocketHandler($,H,J){let Q=this.getWebSocketMetadata($.constructor)||{};switch(J.type){case"connect":Q.onConnect=H;break;case"message":Q.onMessage=H,Q.messageSchema=J.schema;break;case"disconnect":Q.onDisconnect=H;break}this.defineWebSocket($.constructor,Q),Reflect.defineMetadata(EX,J,$,H)}static getWebSocketMetadata($){return Reflect.getMetadata(l6,$)}static getWebSocketHandlerMetadata($,H){return Reflect.getMetadata(EX,$,H)}static hasWebSocketMetadata($){return Reflect.hasMetadata(l6,$)}static defineGraphQLResolver($,H){Reflect.defineMetadata(p6,H,$)}static defineGraphQLField($,H,J){Reflect.defineMetadata(Z4,J,$,H);let Q=this.getGraphQLFieldsMetadata($.constructor)||[];Q.push(J),Reflect.defineMetadata(Z4,Q,$.constructor)}static getGraphQLResolverMetadata($){return Reflect.getMetadata(p6,$)}static getGraphQLFieldsMetadata($){return Reflect.getMetadata(Z4,$)||[]}static getGraphQLFieldMetadata($,H){return Reflect.getMetadata(Z4,$,H)}static hasGraphQLResolverMetadata($){return Reflect.hasMetadata(p6,$)}static hasGraphQLFieldMetadata($,H){return Reflect.hasMetadata(Z4,$,H)}static defineAuth($,H,J){Reflect.defineMetadata(n6,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,auth:J})}static getAuthMetadata($,H){return Reflect.getMetadata(n6,$,H)}static hasAuthMetadata($,H){return Reflect.hasMetadata(n6,$,H)}static defineOAuth($,H,J){Reflect.defineMetadata(i6,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,oauth:J})}static getOAuthMetadata($,H){return Reflect.getMetadata(i6,$,H)}static hasOAuthMetadata($,H){return Reflect.hasMetadata(i6,$,H)}static defineRoles($,H,J){Reflect.defineMetadata(s6,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,roles:J})}static definePermissions($,H,J){Reflect.defineMetadata(o6,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,permissions:J})}static defineMinimumRole($,H,J){Reflect.defineMetadata(r6,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,minimumRole:J})}static getRolesMetadata($,H){return Reflect.getMetadata(s6,$,H)}static getPermissionsMetadata($,H){return Reflect.getMetadata(o6,$,H)}static getMinimumRoleMetadata($,H){return Reflect.getMetadata(r6,$,H)}static hasRolesMetadata($,H){return Reflect.hasMetadata(s6,$,H)}static hasPermissionsMetadata($,H){return Reflect.hasMetadata(o6,$,H)}static hasMinimumRoleMetadata($,H){return Reflect.hasMetadata(r6,$,H)}static defineResourcePermission($,H,J){Reflect.defineMetadata(a6,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,resourcePermission:J})}static getResourcePermissionMetadata($,H){return Reflect.getMetadata(a6,$,H)}static hasResourcePermissionMetadata($,H){return Reflect.hasMetadata(a6,$,H)}static defineSession($,H,J){Reflect.defineMetadata(t6,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,session:J})}static defineCSRF($,H,J){Reflect.defineMetadata(e6,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,csrf:J})}static getSessionMetadata($,H){return Reflect.getMetadata(t6,$,H)}static getCSRFMetadata($,H){return Reflect.getMetadata(e6,$,H)}static hasSessionMetadata($,H){return Reflect.hasMetadata(t6,$,H)}static hasCSRFMetadata($,H){return Reflect.hasMetadata(e6,$,H)}}function yR($){return(H)=>{d.defineWebSocket(H,{path:$})}}function uR(){return($,H)=>{d.defineWebSocketHandler($,H,{type:"connect",method:H})}}function mR($){return(H,J)=>{d.defineWebSocketHandler(H,J,{type:"message",method:J,schema:$})}}function dR(){return($,H)=>{d.defineWebSocketHandler($,H,{type:"disconnect",method:H})}}class l9{hono;constructor($){this.hono=$.getHono()}async get($,H){return this.request("GET",$,H)}async post($,H){return this.request("POST",$,H)}async put($,H){return this.request("PUT",$,H)}async delete($,H){return this.request("DELETE",$,H)}async patch($,H){return this.request("PATCH",$,H)}async request($,H,J){let Q=this.buildUrl(H,J?.query),X={method:$,headers:this.buildHeaders(J)};if(J?.body!==void 0)X.body=J.body;else if(J?.json!==void 0)X.body=JSON.stringify(J.json);let Y=await this.hono.request(Q,X),W=await Y.text(),G;try{G=JSON.parse(W)}catch{G=W}return{status:Y.status,headers:Y.headers,body:G,text:W,json:async()=>JSON.parse(W),ok:Y.ok}}buildUrl($,H){if(!H||Object.keys(H).length===0)return $;let J=new URLSearchParams(H).toString();return`${$}?${J}`}buildHeaders($){let H={...$?.headers};if($?.json!==void 0&&!H["Content-Type"])H["Content-Type"]="application/json";return H}}var $5=($,H,J)=>{return(Q,X)=>{let Y=-1;return W(0);async function W(G){if(G<=Y)throw Error("next() called multiple times");Y=G;let q,U=!1,B;if($[G])B=$[G][0][0],Q.req.routeIndex=G;else B=G===$.length&&X||void 0;if(B)try{q=await B(Q,()=>W(G+1))}catch(w){if(w instanceof Error&&H)Q.error=w,q=await H(w,Q),U=!0;else throw w}else if(Q.finalized===!1&&J)q=await J(Q);if(q&&(Q.finalized===!1||U))Q.res=q;return Q}}};var jX=Symbol();var OX=async($,H=Object.create(null))=>{let{all:J=!1,dot:Q=!1}=H,Y=($ instanceof p9?$.raw.headers:$.headers).get("Content-Type");if(Y?.startsWith("multipart/form-data")||Y?.startsWith("application/x-www-form-urlencoded"))return cR($,{all:J,dot:Q});return{}};async function cR($,H){let J=await $.formData();if(J)return lR(J,H);return{}}function lR($,H){let J=Object.create(null);if($.forEach((Q,X)=>{if(!(H.all||X.endsWith("[]")))J[X]=Q;else pR(J,X,Q)}),H.dot)Object.entries(J).forEach(([Q,X])=>{if(Q.includes("."))nR(J,Q,X),delete J[Q]});return J}var pR=($,H,J)=>{if($[H]!==void 0)if(Array.isArray($[H]))$[H].push(J);else $[H]=[$[H],J];else if(!H.endsWith("[]"))$[H]=J;else $[H]=[J]},nR=($,H,J)=>{let Q=$,X=H.split(".");X.forEach((Y,W)=>{if(W===X.length-1)Q[Y]=J;else{if(!Q[Y]||typeof Q[Y]!=="object"||Array.isArray(Q[Y])||Q[Y]instanceof File)Q[Y]=Object.create(null);Q=Q[Y]}})};var J5=($)=>{let H=$.split("/");if(H[0]==="")H.shift();return H},ZX=($)=>{let{groups:H,path:J}=iR($),Q=J5(J);return sR(Q,H)},iR=($)=>{let H=[];return $=$.replace(/\{[^}]+\}/g,(J,Q)=>{let X=`@${Q}`;return H.push([X,J]),X}),{groups:H,path:$}},sR=($,H)=>{for(let J=H.length-1;J>=0;J--){let[Q]=H[J];for(let X=$.length-1;X>=0;X--)if($[X].includes(Q)){$[X]=$[X].replace(Q,H[J][1]);break}}return $},n9={},LX=($,H)=>{if($==="*")return"*";let J=$.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(J){let Q=`${$}#${H}`;if(!n9[Q])if(J[2])n9[Q]=H&&H[0]!==":"&&H[0]!=="*"?[Q,J[1],new RegExp(`^${J[2]}(?=/${H})`)]:[$,J[1],new RegExp(`^${J[2]}$`)];else n9[Q]=[$,J[1],!0];return n9[Q]}return null},f$=($,H)=>{try{return H($)}catch{return $.replace(/(?:%[0-9A-Fa-f]{2})+/g,(J)=>{try{return H(J)}catch{return J}})}},oR=($)=>f$($,decodeURI),Q5=($)=>{let H=$.url,J=H.indexOf("/",H.indexOf(":")+4),Q=J;for(;Q<H.length;Q++){let X=H.charCodeAt(Q);if(X===37){let Y=H.indexOf("?",Q),W=H.slice(J,Y===-1?void 0:Y);return oR(W.includes("%25")?W.replace(/%25/g,"%2525"):W)}else if(X===63)break}return H.slice(J,Q)};var MX=($)=>{let H=Q5($);return H.length>1&&H.at(-1)==="/"?H.slice(0,-1):H},r0=($,H,...J)=>{if(J.length)H=r0(H,...J);return`${$?.[0]==="/"?"":"/"}${$}${H==="/"?"":`${$?.at(-1)==="/"?"":"/"}${H?.[0]==="/"?H.slice(1):H}`}`},i9=($)=>{if($.charCodeAt($.length-1)!==63||!$.includes(":"))return null;let H=$.split("/"),J=[],Q="";return H.forEach((X)=>{if(X!==""&&!/\:/.test(X))Q+="/"+X;else if(/\:/.test(X))if(/\?/.test(X)){if(J.length===0&&Q==="")J.push("/");else J.push(Q);let Y=X.replace("?","");Q+="/"+Y,J.push(Q)}else Q+="/"+X}),J.filter((X,Y,W)=>W.indexOf(X)===Y)},H5=($)=>{if(!/[%+]/.test($))return $;if($.indexOf("+")!==-1)$=$.replace(/\+/g," ");return $.indexOf("%")!==-1?f$($,L4):$},SX=($,H,J)=>{let Q;if(!J&&H&&!/[%+]/.test(H)){let W=$.indexOf(`?${H}`,8);if(W===-1)W=$.indexOf(`&${H}`,8);while(W!==-1){let G=$.charCodeAt(W+H.length+1);if(G===61){let q=W+H.length+2,U=$.indexOf("&",q);return H5($.slice(q,U===-1?void 0:U))}else if(G==38||isNaN(G))return"";W=$.indexOf(`&${H}`,W+1)}if(Q=/[%+]/.test($),!Q)return}let X={};Q??=/[%+]/.test($);let Y=$.indexOf("?",8);while(Y!==-1){let W=$.indexOf("&",Y+1),G=$.indexOf("=",Y);if(G>W&&W!==-1)G=-1;let q=$.slice(Y+1,G===-1?W===-1?void 0:W:G);if(Q)q=H5(q);if(Y=W,q==="")continue;let U;if(G===-1)U="";else if(U=$.slice(G+1,W===-1?void 0:W),Q)U=H5(U);if(J){if(!(X[q]&&Array.isArray(X[q])))X[q]=[];X[q].push(U)}else X[q]??=U}return H?X[H]:X},CX=SX,PX=($,H)=>{return SX($,H,!0)},L4=decodeURIComponent;var KX=($)=>f$($,L4),p9=class{raw;#H;#$;routeIndex=0;path;bodyCache={};constructor($,H="/",J=[[]]){this.raw=$,this.path=H,this.#$=J,this.#H={}}param($){return $?this.#J($):this.#Y()}#J($){let H=this.#$[0][this.routeIndex][1][$],J=this.#X(H);return J&&/\%/.test(J)?KX(J):J}#Y(){let $={},H=Object.keys(this.#$[0][this.routeIndex][1]);for(let J of H){let Q=this.#X(this.#$[0][this.routeIndex][1][J]);if(Q!==void 0)$[J]=/\%/.test(Q)?KX(Q):Q}return $}#X($){return this.#$[1]?this.#$[1][$]:$}query($){return CX(this.url,$)}queries($){return PX(this.url,$)}header($){if($)return this.raw.headers.get($)??void 0;let H={};return this.raw.headers.forEach((J,Q)=>{H[Q]=J}),H}async parseBody($){return this.bodyCache.parsedBody??=await OX(this,$)}#Q=($)=>{let{bodyCache:H,raw:J}=this,Q=H[$];if(Q)return Q;let X=Object.keys(H)[0];if(X)return H[X].then((Y)=>{if(X==="json")Y=JSON.stringify(Y);return new Response(Y)[$]()});return H[$]=J[$]()};json(){return this.#Q("text").then(($)=>JSON.parse($))}text(){return this.#Q("text")}arrayBuffer(){return this.#Q("arrayBuffer")}blob(){return this.#Q("blob")}formData(){return this.#Q("formData")}addValidatedData($,H){this.#H[$]=H}valid($){return this.#H[$]}get url(){return this.raw.url}get method(){return this.raw.method}get[jX](){return this.#$}get matchedRoutes(){return this.#$[0].map(([[,$]])=>$)}get routePath(){return this.#$[0].map(([[,$]])=>$)[this.routeIndex].path}};var IX={Stringify:1,BeforeStream:2,Stream:3},rR=($,H)=>{let J=new String($);return J.isEscaped=!0,J.callbacks=H,J};var X5=async($,H,J,Q,X)=>{if(typeof $==="object"&&!($ instanceof String)){if(!($ instanceof Promise))$=$.toString();if($ instanceof Promise)$=await $}let Y=$.callbacks;if(!Y?.length)return Promise.resolve($);if(X)X[0]+=$;else X=[$];let W=Promise.all(Y.map((G)=>G({phase:H,buffer:X,context:Q}))).then((G)=>Promise.all(G.filter(Boolean).map((q)=>X5(q,H,!1,Q,X))).then(()=>X[0]));if(J)return rR(await W,Y);else return W};var aR="text/plain; charset=UTF-8",Y5=($,H)=>{return{"Content-Type":$,...H}},TX=class{#H;#$;env={};#J;finalized=!1;error;#Y;#X;#Q;#B;#q;#U;#G;#w;#D;constructor($,H){if(this.#H=$,H)this.#X=H.executionCtx,this.env=H.env,this.#U=H.notFoundHandler,this.#D=H.path,this.#w=H.matchResult}get req(){return this.#$??=new p9(this.#H,this.#D,this.#w),this.#$}get event(){if(this.#X&&"respondWith"in this.#X)return this.#X;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#X)return this.#X;else throw Error("This context has no ExecutionContext")}get res(){return this.#Q||=new Response(null,{headers:this.#G??=new Headers})}set res($){if(this.#Q&&$){$=new Response($.body,$);for(let[H,J]of this.#Q.headers.entries()){if(H==="content-type")continue;if(H==="set-cookie"){let Q=this.#Q.headers.getSetCookie();$.headers.delete("set-cookie");for(let X of Q)$.headers.append("set-cookie",X)}else $.headers.set(H,J)}}this.#Q=$,this.finalized=!0}render=(...$)=>{return this.#q??=(H)=>this.html(H),this.#q(...$)};setLayout=($)=>this.#B=$;getLayout=()=>this.#B;setRenderer=($)=>{this.#q=$};header=($,H,J)=>{if(this.finalized)this.#Q=new Response(this.#Q.body,this.#Q);let Q=this.#Q?this.#Q.headers:this.#G??=new Headers;if(H===void 0)Q.delete($);else if(J?.append)Q.append($,H);else Q.set($,H)};status=($)=>{this.#Y=$};set=($,H)=>{this.#J??=new Map,this.#J.set($,H)};get=($)=>{return this.#J?this.#J.get($):void 0};get var(){if(!this.#J)return{};return Object.fromEntries(this.#J)}#W($,H,J){let Q=this.#Q?new Headers(this.#Q.headers):this.#G??new Headers;if(typeof H==="object"&&"headers"in H){let Y=H.headers instanceof Headers?H.headers:new Headers(H.headers);for(let[W,G]of Y)if(W.toLowerCase()==="set-cookie")Q.append(W,G);else Q.set(W,G)}if(J)for(let[Y,W]of Object.entries(J))if(typeof W==="string")Q.set(Y,W);else{Q.delete(Y);for(let G of W)Q.append(Y,G)}let X=typeof H==="number"?H:H?.status??this.#Y;return new Response($,{status:X,headers:Q})}newResponse=(...$)=>this.#W(...$);body=($,H,J)=>this.#W($,H,J);text=($,H,J)=>{return!this.#G&&!this.#Y&&!H&&!J&&!this.finalized?new Response($):this.#W($,H,Y5(aR,J))};json=($,H,J)=>{return this.#W(JSON.stringify($),H,Y5("application/json",J))};html=($,H,J)=>{let Q=(X)=>this.#W(X,H,Y5("text/html; charset=UTF-8",J));return typeof $==="object"?X5($,IX.Stringify,!1,{}).then(Q):Q($)};redirect=($,H)=>{let J=String($);return this.header("Location",!/[^\x00-\xFF]/.test(J)?J:encodeURI(J)),this.newResponse(null,H??302)};notFound=()=>{return this.#U??=()=>new Response,this.#U(this)}};var V1="ALL",xX="all",bX=["get","post","put","delete","options","patch"],s9="Can not add a route since the matcher is already built.",o9=class extends Error{};var fX="__COMPOSED_HANDLER";var tR=($)=>{return $.text("404 Not Found",404)},kX=($,H)=>{if("getResponse"in $){let J=$.getResponse();return H.newResponse(J.body,J)}return console.error($),H.text("Internal Server Error",500)},W5=class{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#H="/";routes=[];constructor($={}){[...bX,xX].forEach((X)=>{this[X]=(Y,...W)=>{if(typeof Y==="string")this.#H=Y;else this.#Y(X,this.#H,Y);return W.forEach((G)=>{this.#Y(X,this.#H,G)}),this}}),this.on=(X,Y,...W)=>{for(let G of[Y].flat()){this.#H=G;for(let q of[X].flat())W.map((U)=>{this.#Y(q.toUpperCase(),this.#H,U)})}return this},this.use=(X,...Y)=>{if(typeof X==="string")this.#H=X;else this.#H="*",Y.unshift(X);return Y.forEach((W)=>{this.#Y(V1,this.#H,W)}),this};let{strict:J,...Q}=$;Object.assign(this,Q),this.getPath=J??!0?$.getPath??Q5:MX}#$(){let $=new W5({router:this.router,getPath:this.getPath});return $.errorHandler=this.errorHandler,$.#J=this.#J,$.routes=this.routes,$}#J=tR;errorHandler=kX;route($,H){let J=this.basePath($);return H.routes.map((Q)=>{let X;if(H.errorHandler===kX)X=Q.handler;else X=async(Y,W)=>(await $5([],H.errorHandler)(Y,()=>Q.handler(Y,W))).res,X[fX]=Q.handler;J.#Y(Q.method,Q.path,X)}),this}basePath($){let H=this.#$();return H._basePath=r0(this._basePath,$),H}onError=($)=>{return this.errorHandler=$,this};notFound=($)=>{return this.#J=$,this};mount($,H,J){let Q,X;if(J)if(typeof J==="function")X=J;else if(X=J.optionHandler,J.replaceRequest===!1)Q=(G)=>G;else Q=J.replaceRequest;let Y=X?(G)=>{let q=X(G);return Array.isArray(q)?q:[q]}:(G)=>{let q=void 0;try{q=G.executionCtx}catch{}return[G.env,q]};Q||=(()=>{let G=r0(this._basePath,$),q=G==="/"?0:G.length;return(U)=>{let B=new URL(U.url);return B.pathname=B.pathname.slice(q)||"/",new Request(B,U)}})();let W=async(G,q)=>{let U=await H(Q(G.req.raw),...Y(G));if(U)return U;await q()};return this.#Y(V1,r0($,"*"),W),this}#Y($,H,J){$=$.toUpperCase(),H=r0(this._basePath,H);let Q={basePath:this._basePath,path:H,method:$,handler:J};this.router.add($,H,[J,Q]),this.routes.push(Q)}#X($,H){if($ instanceof Error)return this.errorHandler($,H);throw $}#Q($,H,J,Q){if(Q==="HEAD")return(async()=>new Response(null,await this.#Q($,H,J,"GET")))();let X=this.getPath($,{env:J}),Y=this.router.match(Q,X),W=new TX($,{path:X,matchResult:Y,env:J,executionCtx:H,notFoundHandler:this.#J});if(Y[0].length===1){let q;try{q=Y[0][0][0][0](W,async()=>{W.res=await this.#J(W)})}catch(U){return this.#X(U,W)}return q instanceof Promise?q.then((U)=>U||(W.finalized?W.res:this.#J(W))).catch((U)=>this.#X(U,W)):q??this.#J(W)}let G=$5(Y[0],this.errorHandler,this.#J);return(async()=>{try{let q=await G(W);if(!q.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return q.res}catch(q){return this.#X(q,W)}})()}fetch=($,...H)=>{return this.#Q($,H[1],H[0],$.method)};request=($,H,J,Q)=>{if($ instanceof Request)return this.fetch(H?new Request($,H):$,J,Q);return $=$.toString(),this.fetch(new Request(/^https?:\/\//.test($)?$:`http://localhost${r0("/",$)}`,H),J,Q)};fire=()=>{addEventListener("fetch",($)=>{$.respondWith(this.#Q($.request,$,void 0,$.request.method))})}};var r9="[^/]+",M4=".*",S4="(?:|/.*)",a0=Symbol(),eR=new Set(".\\+*[^]$()");function $E($,H){if($.length===1)return H.length===1?$<H?-1:1:-1;if(H.length===1)return 1;if($===M4||$===S4)return 1;else if(H===M4||H===S4)return-1;if($===r9)return 1;else if(H===r9)return-1;return $.length===H.length?$<H?-1:1:H.length-$.length}var a9=class{#H;#$;#J=Object.create(null);insert($,H,J,Q,X){if($.length===0){if(this.#H!==void 0)throw a0;if(X)return;this.#H=H;return}let[Y,...W]=$,G=Y==="*"?W.length===0?["","",M4]:["","",r9]:Y==="/*"?["","",S4]:Y.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),q;if(G){let U=G[1],B=G[2]||r9;if(U&&G[2]){if(B===".*")throw a0;if(B=B.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(B))throw a0}if(q=this.#J[B],!q){if(Object.keys(this.#J).some((w)=>w!==M4&&w!==S4))throw a0;if(X)return;if(q=this.#J[B]=new a9,U!=="")q.#$=Q.varIndex++}if(!X&&U!=="")J.push([U,q.#$])}else if(q=this.#J[Y],!q){if(Object.keys(this.#J).some((U)=>U.length>1&&U!==M4&&U!==S4))throw a0;if(X)return;q=this.#J[Y]=new a9}q.insert(W,H,J,Q,X)}buildRegExpStr(){let H=Object.keys(this.#J).sort($E).map((J)=>{let Q=this.#J[J];return(typeof Q.#$==="number"?`(${J})@${Q.#$}`:eR.has(J)?`\\${J}`:J)+Q.buildRegExpStr()});if(typeof this.#H==="number")H.unshift(`#${this.#H}`);if(H.length===0)return"";if(H.length===1)return H[0];return"(?:"+H.join("|")+")"}};var hX=class{#H={varIndex:0};#$=new a9;insert($,H,J){let Q=[],X=[];for(let W=0;;){let G=!1;if($=$.replace(/\{[^}]+\}/g,(q)=>{let U=`@\\${W}`;return X[W]=[U,q],W++,G=!0,U}),!G)break}let Y=$.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let W=X.length-1;W>=0;W--){let[G]=X[W];for(let q=Y.length-1;q>=0;q--)if(Y[q].indexOf(G)!==-1){Y[q]=Y[q].replace(G,X[W][1]);break}}return this.#$.insert(Y,H,Q,this.#H,J),Q}buildRegExp(){let $=this.#$.buildRegExpStr();if($==="")return[/^$/,[],[]];let H=0,J=[],Q=[];return $=$.replace(/#(\d+)|@(\d+)|\.\*\$/g,(X,Y,W)=>{if(Y!==void 0)return J[++H]=Number(Y),"$()";if(W!==void 0)return Q[Number(W)]=++H,"";return""}),[new RegExp(`^${$}`),J,Q]}};var vX=[],HE=[/^$/,[],Object.create(null)],gX=Object.create(null);function yX($){return gX[$]??=new RegExp($==="*"?"":`^${$.replace(/\/\*$|([.\\+*[^\]$()])/g,(H,J)=>J?`\\${J}`:"(?:|/.*)")}$`)}function JE(){gX=Object.create(null)}function QE($){let H=new hX,J=[];if($.length===0)return HE;let Q=$.map((U)=>[!/\*|\/:/.test(U[0]),...U]).sort(([U,B],[w,_])=>U?1:w?-1:B.length-_.length),X=Object.create(null);for(let U=0,B=-1,w=Q.length;U<w;U++){let[_,V,D]=Q[U];if(_)X[V]=[D.map(([E])=>[E,Object.create(null)]),vX];else B++;let A;try{A=H.insert(V,B,_)}catch(E){throw E===a0?new o9(V):E}if(_)continue;J[B]=D.map(([E,Z])=>{let M=Object.create(null);Z-=1;for(;Z>=0;Z--){let[L,x]=A[Z];M[L]=x}return[E,M]})}let[Y,W,G]=H.buildRegExp();for(let U=0,B=J.length;U<B;U++)for(let w=0,_=J[U].length;w<_;w++){let V=J[U][w]?.[1];if(!V)continue;let D=Object.keys(V);for(let A=0,E=D.length;A<E;A++)V[D[A]]=G[V[D[A]]]}let q=[];for(let U in W)q[U]=J[W[U]];return[Y,q,X]}function k$($,H){if(!$)return;for(let J of Object.keys($).sort((Q,X)=>X.length-Q.length))if(yX(J).test(H))return[...$[J]];return}var G5=class{name="RegExpRouter";#H;#$;constructor(){this.#H={[V1]:Object.create(null)},this.#$={[V1]:Object.create(null)}}add($,H,J){let Q=this.#H,X=this.#$;if(!Q||!X)throw Error(s9);if(!Q[$])[Q,X].forEach((G)=>{G[$]=Object.create(null),Object.keys(G[V1]).forEach((q)=>{G[$][q]=[...G[V1][q]]})});if(H==="/*")H="*";let Y=(H.match(/\/:/g)||[]).length;if(/\*$/.test(H)){let G=yX(H);if($===V1)Object.keys(Q).forEach((q)=>{Q[q][H]||=k$(Q[q],H)||k$(Q[V1],H)||[]});else Q[$][H]||=k$(Q[$],H)||k$(Q[V1],H)||[];Object.keys(Q).forEach((q)=>{if($===V1||$===q)Object.keys(Q[q]).forEach((U)=>{G.test(U)&&Q[q][U].push([J,Y])})}),Object.keys(X).forEach((q)=>{if($===V1||$===q)Object.keys(X[q]).forEach((U)=>G.test(U)&&X[q][U].push([J,Y]))});return}let W=i9(H)||[H];for(let G=0,q=W.length;G<q;G++){let U=W[G];Object.keys(X).forEach((B)=>{if($===V1||$===B)X[B][U]||=[...k$(Q[B],U)||k$(Q[V1],U)||[]],X[B][U].push([J,Y-q+G+1])})}}match($,H){JE();let J=this.#J();return this.match=(Q,X)=>{let Y=J[Q]||J[V1],W=Y[2][X];if(W)return W;let G=X.match(Y[0]);if(!G)return[[],vX];let q=G.indexOf("",1);return[Y[1][q],G]},this.match($,H)}#J(){let $=Object.create(null);return Object.keys(this.#$).concat(Object.keys(this.#H)).forEach((H)=>{$[H]||=this.#Y(H)}),this.#H=this.#$=void 0,$}#Y($){let H=[],J=$===V1;if([this.#H,this.#$].forEach((Q)=>{let X=Q[$]?Object.keys(Q[$]).map((Y)=>[Y,Q[$][Y]]):[];if(X.length!==0)J||=!0,H.push(...X);else if($!==V1)H.push(...Object.keys(Q[V1]).map((Y)=>[Y,Q[V1][Y]]))}),!J)return null;else return QE(H)}};var q5=class{name="SmartRouter";#H=[];#$=[];constructor($){this.#H=$.routers}add($,H,J){if(!this.#$)throw Error(s9);this.#$.push([$,H,J])}match($,H){if(!this.#$)throw Error("Fatal error");let J=this.#H,Q=this.#$,X=J.length,Y=0,W;for(;Y<X;Y++){let G=J[Y];try{for(let q=0,U=Q.length;q<U;q++)G.add(...Q[q]);W=G.match($,H)}catch(q){if(q instanceof o9)continue;throw q}this.match=G.match.bind(G),this.#H=[G],this.#$=void 0;break}if(Y===X)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,W}get activeRouter(){if(this.#$||this.#H.length!==1)throw Error("No active router has been determined yet.");return this.#H[0]}};var C4=Object.create(null),U5=class{#H;#$;#J;#Y=0;#X=C4;constructor($,H,J){if(this.#$=J||Object.create(null),this.#H=[],$&&H){let Q=Object.create(null);Q[$]={handler:H,possibleKeys:[],score:0},this.#H=[Q]}this.#J=[]}insert($,H,J){this.#Y=++this.#Y;let Q=this,X=ZX(H),Y=[];for(let W=0,G=X.length;W<G;W++){let q=X[W],U=X[W+1],B=LX(q,U),w=Array.isArray(B)?B[0]:q;if(w in Q.#$){if(Q=Q.#$[w],B)Y.push(B[1]);continue}if(Q.#$[w]=new U5,B)Q.#J.push(B),Y.push(B[1]);Q=Q.#$[w]}return Q.#H.push({[$]:{handler:J,possibleKeys:Y.filter((W,G,q)=>q.indexOf(W)===G),score:this.#Y}}),Q}#Q($,H,J,Q){let X=[];for(let Y=0,W=$.#H.length;Y<W;Y++){let G=$.#H[Y],q=G[H]||G[V1],U={};if(q!==void 0){if(q.params=Object.create(null),X.push(q),J!==C4||Q&&Q!==C4)for(let B=0,w=q.possibleKeys.length;B<w;B++){let _=q.possibleKeys[B],V=U[q.score];q.params[_]=Q?.[_]&&!V?Q[_]:J[_]??Q?.[_],U[q.score]=!0}}}return X}search($,H){let J=[];this.#X=C4;let X=[this],Y=J5(H),W=[];for(let G=0,q=Y.length;G<q;G++){let U=Y[G],B=G===q-1,w=[];for(let _=0,V=X.length;_<V;_++){let D=X[_],A=D.#$[U];if(A)if(A.#X=D.#X,B){if(A.#$["*"])J.push(...this.#Q(A.#$["*"],$,D.#X));J.push(...this.#Q(A,$,D.#X))}else w.push(A);for(let E=0,Z=D.#J.length;E<Z;E++){let M=D.#J[E],L=D.#X===C4?{}:{...D.#X};if(M==="*"){let m=D.#$["*"];if(m)J.push(...this.#Q(m,$,D.#X)),m.#X=L,w.push(m);continue}let[x,v,l]=M;if(!U&&!(l instanceof RegExp))continue;let i=D.#$[x],J1=Y.slice(G).join("/");if(l instanceof RegExp){let m=l.exec(J1);if(m){if(L[v]=m[0],J.push(...this.#Q(i,$,D.#X,L)),Object.keys(i.#$).length){i.#X=L;let W1=m[0].match(/\//)?.length??0;(W[W1]||=[]).push(i)}continue}}if(l===!0||l.test(U))if(L[v]=U,B){if(J.push(...this.#Q(i,$,L,D.#X)),i.#$["*"])J.push(...this.#Q(i.#$["*"],$,L,D.#X))}else i.#X=L,w.push(i)}}X=w.concat(W.shift()??[])}if(J.length>1)J.sort((G,q)=>{return G.score-q.score});return[J.map(({handler:G,params:q})=>[G,q])]}};var B5=class{name="TrieRouter";#H;constructor(){this.#H=new U5}add($,H,J){let Q=i9(H);if(Q){for(let X=0,Y=Q.length;X<Y;X++)this.#H.insert($,Q[X],J);return}this.#H.insert($,H,J)}match($,H){return this.#H.search($,H)}};var w5=class extends W5{constructor($={}){super($);this.router=$.router??new q5({routers:[new G5,new B5]})}};class t9{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($,H){this.providers.set($,H||{scope:"transient"})}async resolve($,H){let J=this.providers.get($)||{scope:H?.scope||"transient"},Q=H?.scope||J.scope||"transient";if(Q==="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 X=await this.create($,J,H?.context);return this.singletons.set($,X),X}finally{this.resolutionStack.delete($)}}if(Q==="request"&&H?.context){let X=this.requestScoped.get(H.context);if(X?.has($))return this.stats.requestHits++,X.get($);if(this.stats.requestMisses++,!X)X=new Map,this.requestScoped.set(H.context,X);if(this.resolutionStack.has($))throw Error(`Circular dependency detected: ${this.buildCircularDependencyMessage($)}`);this.resolutionStack.add($);try{let Y=await this.create($,J,H.context);return X.set($,Y),Y}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($,J,H?.context)}finally{this.resolutionStack.delete($)}}buildCircularDependencyMessage($){let H=Array.from(this.resolutionStack),J=this.getProviderName($);return H.map((X)=>this.getProviderName(X)).join(" -> ")+" -> "+J}async create($,H,J){if(H.factory)return H.factory();if(typeof $==="function")if($.prototype&&$.prototype.constructor===$){let Q=new $;return await this.resolveNestedDependencies(Q,J),Q}else{let Q=$();return Q instanceof Promise?await Q:Q}throw Error("Invalid provider type")}async resolveNestedDependencies($,H){}getProviderName($){if(typeof $==="string")return $;else if(typeof $==="symbol")return $.toString();let H=this.providerNameCache.get($);if(H)return H;let J;if(typeof $==="function")if($.name)J=$.name;else J=$.toString().substring(0,50);else J=String($);if(typeof $==="object"||typeof $==="function")this.providerNameCache.set($,J);return J}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,H=$>0?this.stats.singletonHits/$*100:0,J=this.stats.requestHits+this.stats.requestMisses,Q=J>0?this.stats.requestHits/J*100:0;return{singletonHits:this.stats.singletonHits,singletonMisses:this.stats.singletonMisses,singletonHitRate:Math.round(H*100)/100,requestHits:this.stats.requestHits,requestMisses:this.stats.requestMisses,requestHitRate:Math.round(Q*100)/100,transientCreations:this.stats.transientCreations}}resetStats(){this.stats={singletonHits:0,singletonMisses:0,requestHits:0,requestMisses:0,transientCreations:0}}}var XE=/^[\w!#$%&'*.^`|~+-]+$/,YE=/^[ !#-:<-[\]-~]*$/,D5=($,H)=>{if(H&&$.indexOf(H)===-1)return{};let J=$.trim().split(";"),Q={};for(let X of J){X=X.trim();let Y=X.indexOf("=");if(Y===-1)continue;let W=X.substring(0,Y).trim();if(H&&H!==W||!XE.test(W))continue;let G=X.substring(Y+1).trim();if(G.startsWith('"')&&G.endsWith('"'))G=G.slice(1,-1);if(YE.test(G)){if(Q[W]=G.indexOf("%")!==-1?f$(G,L4):G,H)break}}return Q};var WE=($,H,J={})=>{let Q=`${$}=${H}`;if($.startsWith("__Secure-")&&!J.secure)throw Error("__Secure- Cookie must have Secure attributes");if($.startsWith("__Host-")){if(!J.secure)throw Error("__Host- Cookie must have Secure attributes");if(J.path!=="/")throw Error('__Host- Cookie must have Path attributes with "/"');if(J.domain)throw Error("__Host- Cookie must not have Domain attributes")}if(J&&typeof J.maxAge==="number"&&J.maxAge>=0){if(J.maxAge>34560000)throw Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");Q+=`; Max-Age=${J.maxAge|0}`}if(J.domain&&J.prefix!=="host")Q+=`; Domain=${J.domain}`;if(J.path)Q+=`; Path=${J.path}`;if(J.expires){if(J.expires.getTime()-Date.now()>34560000000)throw Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");Q+=`; Expires=${J.expires.toUTCString()}`}if(J.httpOnly)Q+="; HttpOnly";if(J.secure)Q+="; Secure";if(J.sameSite)Q+=`; SameSite=${J.sameSite.charAt(0).toUpperCase()+J.sameSite.slice(1)}`;if(J.priority)Q+=`; Priority=${J.priority.charAt(0).toUpperCase()+J.priority.slice(1)}`;if(J.partitioned){if(!J.secure)throw Error("Partitioned Cookie must have Secure attributes");Q+="; Partitioned"}return Q},e9=($,H,J)=>{return H=encodeURIComponent(H),WE($,H,J)};var $2=($,H,J)=>{let Q=$.req.raw.headers.get("Cookie");if(typeof H==="string"){if(!Q)return;let Y=H;if(J==="secure")Y="__Secure-"+H;else if(J==="host")Y="__Host-"+H;return D5(Q,Y)[Y]}if(!Q)return{};return D5(Q)};var GE=($,H,J)=>{let Q;if(J?.prefix==="secure")Q=e9("__Secure-"+$,H,{path:"/",...J,secure:!0});else if(J?.prefix==="host")Q=e9("__Host-"+$,H,{...J,path:"/",secure:!0,domain:void 0});else Q=e9($,H,{path:"/",...J});return Q},H2=($,H,J,Q)=>{let X=GE(H,J,Q);$.header("Set-Cookie",X,{append:!0})};class uX{static json($,H=200,J){return new V5($,H,J)}static html($,H=200){return new _5($,H)}static file($,H){return new z5($,H)}static stream($,H){return new N5($,H)}static redirect($,H=302){return new F5($,H)}}class V5{data;status;headers;constructor($,H=200,J={}){this.data=$;this.status=H;this.headers=J}toHonoResponse($){return $.json(this.data,this.status,this.headers)}}class _5{content;status;constructor($,H=200){this.content=$;this.status=H}toHonoResponse($){return $.html(this.content,this.status)}}class F5{url;status;constructor($,H=302){this.url=$;this.status=H}toHonoResponse($){return $.redirect(this.url,this.status)}}class z5{path;options;constructor($,H){this.path=$;this.options=H}async toHonoResponse($){try{let H=typeof Bun<"u"?Bun.file(this.path):await this.readFileNode(this.path),Q={"Content-Type":this.options?.contentType||this.guessContentType(this.path)};if(this.options?.download||this.options?.filename){let X=this.options?.filename||this.path.split("/").pop()||"download",Y=this.options?.download?"attachment":"inline";Q["Content-Disposition"]=`${Y}; filename="${X}"`}if(typeof Bun<"u"&&H instanceof Blob)return $.body(H,200,Q);else return $.body(H,200,Q)}catch(H){return $.json({error:"File not found",message:H instanceof Error?H.message:"Unknown error"},404)}}async readFileNode($){throw Error("File reading in Node.js requires fs module - use Bun runtime or implement adapter")}guessContentType($){let H=$.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"}[H||""]||"application/octet-stream"}}class N5{stream;options;constructor($,H){this.stream=$;this.options=H}toHonoResponse($){let H={"Content-Type":this.options?.contentType||"application/octet-stream",...this.options?.headers};return $.body(this.stream,200,H)}}class A5{static serialize($,H){if(H===null||H===void 0)return $.body(null,204);if(H instanceof uX)return H;if(H instanceof V5)return H.toHonoResponse($);if(H instanceof _5)return H.toHonoResponse($);if(H instanceof z5)return H.toHonoResponse($);if(H instanceof N5)return H.toHonoResponse($);if(H instanceof F5)return H.toHonoResponse($);if(H&&typeof H.toHonoResponse==="function")return H.toHonoResponse($);return $.json(H)}}class J2{static compile($){let H=this.compilePathRegex($.path),J=this.resolveParameterOrder($.parameters),Q=this.resolveDependencyOrder($.dependencies),X=this.calculateMaxArgumentIndex($.parameters,$.dependencies),Y=this.computeParameterFlags($.parameters);return{...$,pathRegex:H,parameterOrder:J,dependencyOrder:Q,maxArgumentIndex:X,...Y}}static compilePathRegex($){let H=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return H=H.replace(/\\\{([^}]+)\\\}/g,"(?<$1>[^/]+)"),H=H.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"(?<$1>[^/]+)"),H=`^${H}$`,new RegExp(H)}static resolveParameterOrder($){if(!$||$.length===0)return[];return $.map((H)=>H.index).filter((H)=>H!==void 0).sort((H,J)=>H-J)}static resolveDependencyOrder($){if(!$||$.length===0)return[];return $.map((H)=>H.index).filter((H)=>H!==void 0).sort((H,J)=>H-J)}static calculateMaxArgumentIndex($,H){let J=-1;if($&&$.length>0){let Q=Math.max(...$.map((X)=>X.index));J=Math.max(J,Q)}if(H&&H.length>0){let Q=Math.max(...H.map((X)=>X.index));J=Math.max(J,Q)}return J}static computeParameterFlags($){if(!$||$.length===0)return{hasBody:!1,hasQuery:!1,hasParams:!1,hasHeaders:!1,hasCookies:!1,hasDependencies:!1};return{hasBody:$.some((H)=>H.type==="body"),hasQuery:$.some((H)=>H.type==="query"),hasParams:$.some((H)=>H.type==="param"),hasHeaders:$.some((H)=>H.type==="header"),hasCookies:$.some((H)=>H.type==="cookie"),hasDependencies:!1}}static compileAll($){return $.map((H)=>this.compile(H))}}x$();class X2{app;metadata;container;validator;errorHandler;compiledRoutes=new Map;constructor($,H,J,Q,X){this.app=$;this.metadata=H;this.container=J;this.validator=Q;this.errorHandler=X}compile(){let $=this.metadata.getRoutes(),H=J2.compileAll($);for(let J of H){let Q=`${J.target.name}:${J.propertyKey}`;this.compiledRoutes.set(Q,J);let X=this.createHandler(J),Y=this.normalizePath(J.path),W=J.method.toLowerCase();if(J.middleware&&J.middleware.length>0)this.app[W](Y,...J.middleware,X);else this.app[W](Y,X)}}normalizePath($){if(!$.startsWith("/"))$="/"+$;if($=$.replace(/\{([^}]+)\}/g,":$1"),$.length>1&&$.endsWith("/"))$=$.slice(0,-1);return $}createHandler($){return async(H)=>{try{H.set("routeMetadata",$);let J=$.cache,Q=null,X=null;if(J){let{CacheManager:B}=await Promise.resolve().then(() => (w4(),P6)),{parseTTL:w}=await Promise.resolve().then(() => C6);X=B;let _=H.req.param(),V=J.includeQuery?H.req.query():void 0;Q=B.generateKey($.method,$.path,_,V,J);let D=await B.get(Q,J.store);if(D!==null)return H.header("X-Cache","HIT"),this.serializeResponse(H,D);H.header("X-Cache","MISS")}let Y=await this.extractParameters(H,$.parameters),W=await this.resolveDependencies(H,$.dependencies),G=this.mergeArguments(Y,W,$.parameters,$.maxArgumentIndex),q;if($.handler)q=await $.handler(H,...G);else{let B=await this.container.resolve($.target,{scope:"transient",context:H});if(typeof B[$.propertyKey]!=="function")throw Error(`Method ${$.propertyKey} not found on controller ${$.target.name}`);q=await B[$.propertyKey](...G)}if(J&&Q&&X){if(!J.condition||J.condition(q)){let{parseTTL:B}=await Promise.resolve().then(() => C6),w=B(J.ttl);await X.set(Q,q,w,J.store)}}let U=$.cacheInvalidate;if(U&&Array.isArray(U)){if(!X){let{CacheManager:w}=await Promise.resolve().then(() => (w4(),P6));X=w}let B=H.req.param();for(let w of U){let _=w;if(B)for(let[V,D]of Object.entries(B))_=_.replace(`{${V}}`,String(D));await X.invalidate(_)}}return this.serializeResponse(H,q)}catch(J){return await this.handleError(H,J)}}}serializeResponse($,H){return A5.serialize($,H)}getRouteMetadataForContext($){return $.get("routeMetadata")||null}isAuthRequired($){if($.auth?.required)return!0;return $.parameters.some((H)=>H.type==="current-user")}async handleError($,H){return await this.errorHandler.handle(H,$)}async extractParameters($,H){let J=[];for(let Q of H){if(!Q)continue;let X;switch(Q.type){case"body":try{X=await $.req.json()}catch(U){X=null}break;case"query":if(Q.name)X=$.req.query(Q.name);else X=$.req.query();if(Q.schema&&X!==void 0)try{X=Q.schema.parse(X)}catch(U){throw new u6(`Invalid query parameter: ${U}`)}break;case"param":if(Q.name)X=$.req.param(Q.name);else X=$.req.param();break;case"header":if(Q.name)X=$.req.header(Q.name);else{let U={};$.req.raw.headers.forEach((B,w)=>{U[w]=B}),X=U}break;case"cookie":if(Q.name)X=$2($,Q.name);else{let U=$.req.header("cookie");if(U)X=Object.fromEntries(U.split(";").map((B)=>{let[w,..._]=B.trim().split("=");return[w,_.join("=")]}));else X={}}break;case"request":X=$.req;break;case"response":case"context":X=$;break;case"current-user":X=$.get("auth.user")||null;let Y=this.getRouteMetadataForContext($);if(Y&&this.isAuthRequired(Y)){if(!X){let U=$.get("auth.error")||"Authentication required",{AuthenticationException:B}=await Promise.resolve().then(() => (t0(),dX));throw new B(U)}}break;case"token":X=$.get("auth.token")||null;break;case"oauth-user":X=$.get("oauth.user")||null;break;case"oauth-token":X=$.get("oauth.token")||null;break;case"current-session":X=$.get("session")||null;break;case"session-data":let W=$.get("session");if(W&&Q.metadata?.key)X=W.data[Q.metadata.key];else if(W)X=W.data;else X=null;break;case"csrf-token":X=$.get("csrf.token")||null;break;case"filtered-resource":X=$.get("filtered.resource")||null;break;case"filtered-attributes":X=$.get("filtered.attributes")||[];break;case"request-id":let{getRequestId:G}=await Promise.resolve().then(() => t2);X=G($);break;case"abort-signal":let{getAbortSignal:q}=await Promise.resolve().then(() => t2);X=q($);break;default:X=void 0}if(Q.schema)try{X=await this.validator.validate(X,Q.schema)}catch(Y){throw Y}J[Q.index]=X}return J}mergeArguments($,H,J,Q){let Y=J.filter((U)=>U!==void 0&&U.index!==void 0).map((U)=>U.index),W=Y.length>0?Math.max(...Y):-1,G=Q!==void 0&&Q>=0?Q:Math.max(W,$.length-1,H.length-1,0);if(!Number.isFinite(G)||G<0)G=0;let q=Array(G+1);for(let U=0;U<=G;U++)if($[U]!==void 0)q[U]=$[U];else if(H[U]!==void 0)q[U]=H[U];return q}async resolveDependencies($,H){let J=[];for(let Q of H){if(!Q)continue;try{let X=await this.container.resolve(Q.provider,{scope:Q.scope,context:$});J[Q.index]=X}catch(X){throw Error(`Failed to resolve dependency at index ${Q.index}: ${X instanceof Error?X.message:"Unknown error"}`)}}return J}}x$();class Y2{customHandler;isDevelopment;constructor($){this.customHandler=$,this.isDevelopment=!0}setCustomHandler($){this.customHandler=$}async handle($,H){if(console.log("ErrorHandler.handle called with:",$.constructor.name,$.message),this.customHandler)try{return await this.customHandler($,H)}catch(J){console.error("Custom error handler failed:",J)}if($ instanceof o0)return console.log("Handling as ValidationException"),this.handleValidationException($,H);if($ instanceof f1)return console.log("Handling as HTTPException"),this.handleHTTPException($,H);return console.log("Handling as generic error"),this.handleGenericError($,H)}handleValidationException($,H){let J=$.toJSON();if(this.isDevelopment)console.error("Validation Error:",{path:H.req.path,method:H.req.method,details:J.details});return H.json(J,$.statusCode)}handleHTTPException($,H){let J=$.toJSON();if($.statusCode>=500)console.error("HTTP Exception:",{name:$.name,statusCode:$.statusCode,message:$.message,path:H.req.path,method:H.req.method,...this.isDevelopment&&$.stack?{stack:$.stack}:{}});else if(this.isDevelopment)console.warn("HTTP Exception:",{name:$.name,statusCode:$.statusCode,message:$.message,path:H.req.path,method:H.req.method});return H.json(J,$.statusCode)}handleGenericError($,H){console.error("Internal Server Error:",{name:$.name,message:$.message,path:H.req.path,method:H.req.method,stack:$.stack});let J={error:"Internal Server Error",statusCode:500};if(this.isDevelopment){if(J.message=$.message,J.name=$.name,$.stack)J.stack=$.stack.split(`
|
|
151
|
+
`).map((Q)=>Q.trim())}else J.message="An unexpected error occurred";return H.json(J,500)}isDevelopmentMode(){return this.isDevelopment}setDevelopmentMode($){this.isDevelopment=$}}class W2{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 H=this.resolveInstallOrder();for(let J of H)await this.plugins.get(J).install($),this.installed.add(J)}isInstalled($){return this.installed.has($)}getPlugin($){return this.plugins.get($)}getPluginNames(){return Array.from(this.plugins.keys())}resolveInstallOrder(){let $=new Set,H=new Set,J=[],Q=(X,Y=[])=>{if(H.has(X)){let G=[...Y,X].join(" -> ");throw Error(`Circular dependency detected in plugins: ${G}`)}if($.has(X))return;H.add(X);let W=this.plugins.get(X);if(!W)throw Error(`Plugin "${X}" is not registered`);if(W.dependencies)for(let G of W.dependencies){if(!this.plugins.has(G))throw Error(`Plugin "${X}" depends on "${G}" which is not registered`);Q(G,[...Y,X])}H.delete(X),$.add(X),J.push(X)};for(let X of this.plugins.keys())Q(X);return J}}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 w5,this.metadata=new d,this.container=new t9,this.validator=new b$,this.errorHandler=new Y2,this.pluginManager=new W2,this.compiler=new X2(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 H=d.getControllerMetadata($);if(H)this.metadata.registerController($,H);let J=d.getRouteMethods($);for(let Q of J){let X=d.getRouteMetadata($.prototype,Q),Y=d.getParameterMetadata($.prototype,Q),W=d.getDependencyMetadata($.prototype,Q);if(X&&X.method&&X.path!==void 0){let G=H?.prefix||"",q=this.normalizePath(G,X.path);this.metadata.registerRoute({target:$,propertyKey:Q,method:X.method,path:q,middleware:[...H?.middleware||[],...X.middleware||[]],parameters:Y||X.parameters||[],dependencies:W||X.dependencies||[],responses:X.responses||[],docs:X.docs})}}}get($,H){this.registerFunctionalRoute("GET",$,H)}post($,H){this.registerFunctionalRoute("POST",$,H)}put($,H){this.registerFunctionalRoute("PUT",$,H)}delete($,H){this.registerFunctionalRoute("DELETE",$,H)}patch($,H){this.registerFunctionalRoute("PATCH",$,H)}route($){return new pX(this,$)}group($,H){let J=this.groupPrefix;this.groupPrefix=this.normalizePath(this.groupPrefix,$),H(),this.groupPrefix=J}registerFunctionalRoute($,H,J){let Q=this.normalizePath(this.groupPrefix,H),X={target:lX,propertyKey:`${$.toLowerCase()}_${Q}`,method:$,path:Q,middleware:J.middleware||[],parameters:this.extractParametersFromSchema(J.schema),dependencies:[],responses:J.responses||[],docs:J.docs,handler:J.handler};this.metadata.registerRoute(X)}extractParametersFromSchema($){let H=[],J=0;if($?.body)H.push({index:J++,type:"body",schema:$.body,required:!0});if($?.query)H.push({index:J++,type:"query",schema:$.query,required:!1});if($?.params)H.push({index:J++,type:"param",schema:$.params,required:!0});if($?.headers)H.push({index:J++,type:"header",schema:$.headers,required:!1});return H}use($){this.globalMiddleware.push($),this.hono.use("*",$)}useCors($){let H=o2($);this.use(H)}useRateLimit($){let H=r2($);this.use(H)}useCompression($){let H=a2($);this.use(H)}usePlugin($){this.pluginManager.register($)}getPluginManager(){return this.pluginManager}onError($){this.errorHandler.setCustomHandler($)}getErrorHandler(){return this.errorHandler}normalizePath(...$){let H=$.filter((J)=>J!=="").join("/").replace(/\/+/g,"/").replace(/\/$/,"");return H.startsWith("/")?H:`/${H}`}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;async listen($,H){if(!this.compiled)await this.compile();let J=this.createAdapter();return this.serverInstance=J.listen($,H),this.setupGracefulShutdown(),this.serverInstance}setupGracefulShutdown(){if(typeof process>"u")return;let $=async(H)=>{let J=m0().child({component:"app"});if(J.info(`Received ${H}, starting graceful shutdown...`),this.serverInstance&&typeof this.serverInstance.close==="function")try{await Promise.resolve(this.serverInstance.close()),J.info("Server closed gracefully")}catch(Q){J.error("Error during shutdown",Q)}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:H}=s2(E5);return new H(this.hono)}case"express":{let{ExpressAdapter:H}=s2(cX);return new H(this)}case"native":{let{HonoAdapter:H}=s2(E5);return new H(this.hono)}default:throw Error(`Unknown adapter type: ${$}. Supported adapters: 'hono', 'express', 'native'`)}}}class lX{}class pX{app;path;constructor($,H){this.app=$;this.path=H}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 nX($){let H={docs:!1,cors:!1,...$};return new v$(H)}function UE($,H,J,Q){let X=$.getContainer(),Y=typeof J==="function"?J:()=>J;X.register(H,{scope:Q?.scope||"singleton",factory:Y})}function iX($){return new l9($)}async function BE($,H){let J=nX(H);await $(J),await J.compile();let Q=iX(J);return{app:J,client:Q}}function wE($){$.getContainer().clear()}var eu=f0(s0(),1);function vk($="",H){return(J)=>{let Q=$.trim();if(Q&&!Q.startsWith("/"))Q="/"+Q;if(Q.endsWith("/"))Q=Q.slice(0,-1);d.defineController(J,{prefix:Q,middleware:H?.middleware||[]})}}function g$($){return(H="")=>{return(J,Q)=>{let X=H.trim();if(X&&!X.startsWith("/"))X="/"+X;let Y=Reflect.getMetadata("route:middleware",J,Q)||[];d.defineRoute(J,Q,{method:$,path:X,middleware:Y,parameters:[],dependencies:[],responses:[]})}}}var gk=g$("GET"),yk=g$("POST"),uk=g$("PUT"),mk=g$("DELETE"),dk=g$("PATCH"),ck=g$("ALL");function DE($){return(H,J,Q)=>{if(!J)return;let X={index:Q,type:"body",schema:$,required:!0};d.defineParameter(H,J,Q,X)}}function VE($){return(H,J,Q)=>{if(!J)return;let X={index:Q,type:"query",required:!1};if(typeof $==="string")X.name=$;else if($)X.schema=$;d.defineParameter(H,J,Q,X)}}function _E($){return(H,J,Q)=>{if(!J)return;let X={index:Q,type:"param",name:$,required:!0};d.defineParameter(H,J,Q,X)}}function FE($){return(H,J,Q)=>{if(!J)return;let X={index:Q,type:"header",name:$,required:!1};d.defineParameter(H,J,Q,X)}}function zE($){return(H,J,Q)=>{if(!J)return;let X={index:Q,type:"cookie",name:$,required:!1};d.defineParameter(H,J,Q,X)}}function NE(){return($,H,J)=>{if(!H)return;let Q={index:J,type:"context",required:!0};d.defineParameter($,H,J,Q)}}function AE(){return($,H,J)=>{if(!H)return;let Q={index:J,type:"request-id",required:!1};d.defineParameter($,H,J,Q)}}function RE(){return($,H,J)=>{if(!H)return;let Q={index:J,type:"abort-signal",required:!1};d.defineParameter($,H,J,Q)}}function sk($,H="request"){return(J,Q,X)=>{if(Q===void 0)throw Error("@Depends decorator can only be used on method parameters, not constructor parameters");d.defineDependency(J,Q,X,{index:X,provider:$,scope:H})}}function rk(...$){return(H,J)=>{let Q=Reflect.getMetadata("route:middleware",H,J)||[];Reflect.defineMetadata("route:middleware",[...Q,...$],H,J)}}function ek($){return(H,J)=>{let Q=d.getRouteMetadata(H,J);d.defineRoute(H,J,{...Q,docs:{...Q?.docs,...$}})}}function $h($){return(H,J)=>{let Q=d.getRouteMetadata(H,J),X=Q?.responses||[],Y=X.findIndex((G)=>G.statusCode===$.statusCode),W;if(Y>=0)W=[...X],W[Y]=$;else W=[...X,$];d.defineRoute(H,J,{...Q,responses:W})}}function EE($){return(H,J)=>{Reflect.defineMetadata("cache:options",$,H,J);let Q=d.getRouteMetadata(H,J);if(Q)d.defineRoute(H,J,{...Q,cache:$})}}function jE($){return(H,J)=>{let Q=Array.isArray($)?$:[$];Reflect.defineMetadata("cache:invalidate",Q,H,J);let X=d.getRouteMetadata(H,J);if(X)d.defineRoute(H,J,{...X,cacheInvalidate:Q})}}x$();t0();var I0=f0(Lq(),1);class W7{config;blacklistedTokens=new Set;constructor($){this.config=$;if(!$.secret)throw Error("JWT secret is required")}generateTokens($){let H=Math.floor(Date.now()/1000),J=this.parseExpiration(this.config.expiresIn||"1h"),Q={sub:$.sub,...$,iat:H,exp:H+J,iss:this.config.issuer,aud:this.config.audience},X=I0.sign(Q,this.config.secret,{algorithm:this.config.algorithm||"HS256"}),Y={sub:$.sub,type:"refresh",iat:H,exp:H+this.parseExpiration(this.config.refreshExpiresIn||"7d"),iss:this.config.issuer,aud:this.config.audience},W=I0.sign(Y,this.config.refreshSecret||this.config.secret,{algorithm:this.config.algorithm||"HS256"});return{accessToken:X,refreshToken:W,expiresIn:J}}verifyAccessToken($){if(this.isBlacklisted($))throw Error("Token has been revoked");try{return I0.verify($,this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience})}catch(H){if(H instanceof Error)throw Error(`Invalid token: ${H.message}`);throw Error("Invalid token")}}verifyRefreshToken($){if(this.isBlacklisted($))throw Error("Refresh token has been revoked");try{let H=I0.verify($,this.config.refreshSecret||this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience});if(H.type!=="refresh")throw Error("Invalid refresh token type");return H}catch(H){if(H instanceof Error)throw Error(`Invalid refresh token: ${H.message}`);throw Error("Invalid refresh token")}}refreshAccessToken($){let H=this.verifyRefreshToken($);return this.blacklistToken($),this.generateTokens({sub:H.sub,...Object.fromEntries(Object.entries(H).filter(([J])=>!["iat","exp","iss","aud","type"].includes(J)))})}decodeToken($){try{return I0.decode($)}catch{return null}}blacklistToken($){this.blacklistedTokens.add($)}isBlacklisted($){return this.blacklistedTokens.has($)}cleanupBlacklist(){let $=Math.floor(Date.now()/1000);for(let H of this.blacklistedTokens){let J=this.decodeToken(H);if(J&&J.exp&&J.exp<$)this.blacklistedTokens.delete(H)}}parseExpiration($){if(typeof $==="number")return $;let H={s:1,m:60,h:3600,d:86400,w:604800},J=$.match(/^(\d+)([smhdw])$/);if(!J)throw Error(`Invalid expiration format: ${$}`);let[,Q,X]=J;return parseInt(Q)*H[X]}}var Lv=R.object({sub:R.string(),iat:R.number().optional(),exp:R.number().optional(),iss:R.string().optional(),aud:R.string().optional()}).passthrough(),Mv=R.object({username:R.string().min(1),password:R.string().min(1)}),Sv=R.object({refreshToken:R.string().min(1)});t0();class g2{config;userProvider;jwtProvider;constructor($,H){this.config=$;this.userProvider=H;this.jwtProvider=new W7($)}async login($,H){let J=await this.userProvider.findByCredentials($,H);if(!J)throw new L1("Invalid credentials");let Q=this.jwtProvider.generateTokens({sub:J.id,username:J.username,email:J.email,roles:J.roles||[],permissions:J.permissions||[]});return{user:J,tokens:Q}}async refresh($){try{return this.jwtProvider.refreshAccessToken($)}catch(H){throw new h$(H instanceof Error?H.message:"Invalid refresh token")}}async logout($,H){if(this.jwtProvider.blacklistToken($),H)this.jwtProvider.blacklistToken(H)}async verifyToken($){try{let H=this.jwtProvider.verifyAccessToken($),J=await this.userProvider.findById(H.sub);if(!J)throw new L1("User not found");return J}catch(H){if(H instanceof Error){if(H.message.includes("expired"))throw new Q2;throw new h$(H.message)}throw new h$("Token verification failed")}}getUserFromToken($){return this.jwtProvider.verifyAccessToken($)}hasRoles($,H){let J=$.roles||[];return H.every((Q)=>J.includes(Q))}hasPermissions($,H){let J=$.permissions||[];return H.every((Q)=>J.includes(Q))}async register($){let H=await this.userProvider.hashPassword($.password),J={id:crypto.randomUUID(),username:$.username,email:$.email,roles:$.roles||["user"]},Q=this.jwtProvider.generateTokens({sub:J.id,username:J.username,email:J.email,roles:J.roles});return{user:J,tokens:Q}}cleanup(){this.jwtProvider.cleanupBlacklist()}getJWTProvider(){return this.jwtProvider}}class TS{users=new Map;async findByCredentials($,H){for(let[J,Q]of this.users)if(Q.username===$){if(await this.verifyPassword(H,Q.passwordHash)){let{passwordHash:Y,...W}=Q;return W}}return null}async findById($){let H=this.users.get($);if(H){let{passwordHash:J,...Q}=H;return Q}return null}async hashPassword($){return Buffer.from($).toString("base64")}async verifyPassword($,H){return await this.hashPassword($)===H}async createUser($){let H=crypto.randomUUID(),J=await this.hashPassword($.password),Q={id:H,username:$.username,email:$.email,roles:$.roles||["user"],passwordHash:J};this.users.set(H,Q);let{passwordHash:X,...Y}=Q;return Y}}class u4{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 H of $)this.defineRole(H)}getRolePermissions($){if(this.compiledPermissions.has($))return Array.from(this.compiledPermissions.get($));let H=new Set;return this.collectPermissions($,H,new Set),this.compiledPermissions.set($,H),Array.from(H)}roleHasPermission($,H){return this.getRolePermissions($).includes(H)}userHasPermission($,H){for(let J of $)if(this.roleHasPermission(J,H))return!0;return!1}userHasRoles($,H){return H.every((J)=>$.includes(J))}userHasAnyRole($,H){return H.some((J)=>$.includes(J))}getRolesWithPermission($){let H=[];for(let J of this.roles.keys())if(this.roleHasPermission(J,$))H.push(J);return H}getRoleHierarchy($){let H=[];return this.collectParentRoles($,H,new Set),H}roleInheritsFrom($,H){return this.getRoleHierarchy($).includes(H)}getAllRoles(){return Array.from(this.roles.values())}getRole($){return this.roles.get($)}roleExists($){return this.roles.has($)}validateRoles($){let H=[],J=[];for(let Q of $)if(this.roleExists(Q))H.push(Q);else J.push(Q);return{valid:H,invalid:J}}getEffectiveRoles($){let H=new Set;for(let J of $)H.add(J),this.getRoleHierarchy(J).forEach((X)=>H.add(X));return Array.from(H)}compareRoleLevels($,H){let J=this.getRole($),Q=this.getRole(H),X=J?.level??0,Y=Q?.level??0;return X-Y}getHighestRoleLevel($){let H=0;for(let J of $){let Q=this.getRole(J);if(Q&&Q.level&&Q.level>H)H=Q.level}return H}collectPermissions($,H,J){if(J.has($))throw Error(`Circular role inheritance detected: ${$}`);J.add($);let Q=this.roles.get($);if(!Q)throw Error(`Role not found: ${$}`);Q.permissions.forEach((Y)=>H.add(Y));let X=this.hierarchy.get($)||[];for(let Y of X)this.collectPermissions(Y,H,new Set(J))}collectParentRoles($,H,J){if(J.has($))return;J.add($);let Q=this.hierarchy.get($)||[];for(let X of Q)H.push(X),this.collectParentRoles(X,H,J)}}function Mq(){let $=new u4;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 kv=R.object({name:R.string().min(1),description:R.string().optional(),permissions:R.array(R.string()),inherits:R.array(R.string()).optional(),level:R.number().optional()}),hv=R.object({userId:R.string(),roles:R.array(R.string())}),vv=R.object({userId:R.string(),permission:R.string()});class m4{static matches($,H){if(H==="*")return!0;if(H.endsWith("*")){let J=H.slice(0,-1);return $.startsWith(J)}return $===H}static hasPermission($,H){return $.some((J)=>this.matches(H,J))}static filterByPattern($,H){return $.filter((J)=>this.matches(J,H))}}function uv($){return(H,J)=>{let Q={required:!$?.optional,config:$};d.defineAuth(H,J,Q)}}function mv(){return($,H,J)=>{if(H)d.defineParameter($,H,J,{index:J,type:"current-user",required:!1})}}function dv(){return($,H,J)=>{if(H)d.defineParameter($,H,J,{index:J,type:"token",required:!1})}}function Sq($){return async(H,J)=>{let Q=H.req.header("Authorization");if(!Q||!Q.startsWith("Bearer "))H.set("auth.error","Missing or invalid Authorization header"),H.set("auth.authenticated",!1);else{let X=Q.substring(7);try{let Y=$.verifyAccessToken(X);H.set("auth.user",Y),H.set("auth.token",X),H.set("auth.authenticated",!0)}catch(Y){H.set("auth.error",Y instanceof Error?Y.message:"Authentication failed"),H.set("auth.authenticated",!1)}}await J()}}function J$($){return $.get("auth.user")||null}function Cq($){return $.get("auth.token")||null}function cv($){return $.get("auth.authenticated")===!0}function lv($){return $.get("auth.error")||null}t0();function xS($){return(H,J)=>{let X={config:Array.isArray($)?{roles:$,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...$}};d.defineRoles(H,J,X)}}function bS($){return(H,J)=>{let X={config:Array.isArray($)?{permissions:$,requireAll:!1}:{requireAll:!1,...$}};d.definePermissions(H,J,X)}}function Pq($){return xS([$])}function av($){return bS([$])}function tv(){return Pq("admin")}function ev(){return Pq("super-admin")}function $g($){return(H,J)=>{d.defineMinimumRole(H,J,{roleName:$})}}function Kq($){return async(H,J)=>{H.set("rbac",$),await J()}}class y2{rbac;constructor($){this.rbac=$}checkRoles($,H){let J=J$($);if(!J)throw new P1("Authentication required for role check");let Q=J.roles||[],X=H.allowInherited?this.rbac.getEffectiveRoles(Q):Q,Y;if(H.requireAll)Y=H.roles.every((W)=>X.includes(W));else Y=H.roles.some((W)=>X.includes(W));if(!Y){let W=H.requireAll?"all":"any";throw new P1(`Access denied. Required ${W} of roles: ${H.roles.join(", ")}`)}}checkPermissions($,H){let J=J$($);if(!J)throw new P1("Authentication required for permission check");let Q=J.roles||[],X=new Set;for(let G of Q)this.rbac.getRolePermissions(G).forEach((U)=>X.add(U));let Y=Array.from(X),W;if(H.requireAll)W=H.permissions.every((G)=>m4.hasPermission(Y,G));else W=H.permissions.some((G)=>m4.hasPermission(Y,G));if(!W){let G=H.requireAll?"all":"any";throw new P1(`Access denied. Required ${G} of permissions: ${H.permissions.join(", ")}`)}}checkMinimumRole($,H){let J=J$($);if(!J)throw new P1("Authentication required for role level check");let Q=J.roles||[],X=this.rbac.getHighestRoleLevel(Q),Y=this.rbac.getRole(H);if(!Y)throw Error(`Required role not found: ${H}`);let W=Y.level||0;if(X<W)throw new P1(`Access denied. Minimum role level required: ${H} (level ${W})`)}}function fS($){return $.get("rbac")||null}function Iq($){return J$($)?.roles||[]}function kS($){let H=fS($),J=Iq($);if(!H)return[];let Q=new Set;for(let X of J)H.getRolePermissions(X).forEach((W)=>Q.add(W));return Array.from(Q)}function Hg($,H){return Iq($).includes(H)}function Jg($,H){let J=kS($);return m4.hasPermission(J,H)}class hS{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=Mq();else this.rbac=new u4;if($.roles)this.rbac.defineRoles($.roles);this.guard=new y2(this.rbac)}async install($){let H=Kq(this.rbac);if($.use(H),$.getContainer().register(u4,{factory:()=>this.rbac,scope:"singleton"}),$.getContainer().register(y2,{factory:()=>this.guard,scope:"singleton"}),this.extendRouterCompiler($),this.config.enableManagementRoutes!==!1)this.addManagementRoutes($)}extendRouterCompiler($){let H=$.compile.bind($);$.compile=async()=>{await H();let J=$.getMetadata().getRoutes();for(let Q of J)if(Q.roles||Q.permissions||Q.minimumRole)this.addRBACGuards($,Q)}}addRBACGuards($,H){}addManagementRoutes($){let H=this.config.routes||{};$.get(H.roles||"/rbac/roles",{handler:(J)=>{let Q=this.rbac.getAllRoles();return J.json({success:!0,roles:Q.map((X)=>({name:X.name,description:X.description,permissions:X.permissions,inherits:X.inherits,level:X.level}))})}}),$.get("/rbac/roles/:roleName",{handler:(J)=>{let Q=J.req.param("roleName"),X=this.rbac.getRole(Q);if(!X)return J.json({error:"Role not found"},404);let Y=this.rbac.getRolePermissions(Q),W=this.rbac.getRoleHierarchy(Q);return J.json({success:!0,role:{...X,effectivePermissions:Y,hierarchy:W}})}}),$.get("/rbac/roles/:roleName/permissions",{handler:(J)=>{let Q=J.req.param("roleName");if(!this.rbac.roleExists(Q))return J.json({error:"Role not found"},404);let X=this.rbac.getRolePermissions(Q);return J.json({success:!0,role:Q,permissions:X})}}),$.post("/rbac/check-permission",{handler:async(J)=>{let Q=await J.req.json(),{roles:X,permission:Y}=Q;if(!Array.isArray(X)||!Y)return J.json({error:"Invalid request body"},400);let W=this.rbac.userHasPermission(X,Y);return J.json({success:!0,hasPermission:W,roles:X,permission:Y})}}),$.post("/rbac/check-roles",{handler:async(J)=>{let Q=await J.req.json(),{userRoles:X,requiredRoles:Y,requireAll:W=!1}=Q;if(!Array.isArray(X)||!Array.isArray(Y))return J.json({error:"Invalid request body"},400);let G=W?this.rbac.userHasRoles(X,Y):this.rbac.userHasAnyRole(X,Y);return J.json({success:!0,hasRoles:G,userRoles:X,requiredRoles:Y,requireAll:W})}}),$.post("/rbac/effective-roles",{handler:async(J)=>{let Q=await J.req.json(),{roles:X}=Q;if(!Array.isArray(X))return J.json({error:"Invalid request body"},400);let Y=this.rbac.getEffectiveRoles(X);return J.json({success:!0,inputRoles:X,effectiveRoles:Y})}}),$.post("/rbac/user-permissions",{handler:async(J)=>{let Q=await J.req.json(),{roles:X}=Q;if(!Array.isArray(X))return J.json({error:"Invalid request body"},400);let Y=new Set;for(let W of X)if(this.rbac.roleExists(W))this.rbac.getRolePermissions(W).forEach((q)=>Y.add(q));return J.json({success:!0,roles:X,permissions:Array.from(Y)})}})}getRBACManager(){return this.rbac}getGuard(){return this.guard}}t0();class vS{config;name="auth";version="1.0.0";authService;constructor($){this.config=$;this.authService=new g2($.jwt,$.userProvider)}async install($){let H=Sq(this.authService.getJWTProvider());if($.use(H),$.getContainer().register(g2,{factory:()=>this.authService,scope:"singleton"}),this.config.enableDefaultRoutes!==!1)this.addDefaultRoutes($);this.extendRouterCompiler($)}extendRouterCompiler($){$.use(async(J,Q)=>{J.set("authService",this.authService),await Q()});let H=$.compile.bind($);$.compile=async()=>{await H();let J=$.getHono(),Q=$.getMetadata().getRoutes();for(let X of Q){let Y=d.getAuthMetadata(X.target.prototype,X.propertyKey);if(X.auth?.required||Y?.required){console.log("Adding auth middleware for route:",X.path,X.method);let G=X.auth?.config||Y?.config;J.use(X.path,async(q,U)=>{if(console.log("Auth middleware executing for:",q.req.path,q.req.method,"target:",X.path,X.method),q.req.method!==X.method)return console.log("Method mismatch, skipping auth check"),U();console.log("Checking authentication...");let B=q.get("auth.user"),w=q.get("auth.error");if(!B){let _=w||"Authentication required";throw console.log("No user found, throwing auth exception"),new L1(_)}if(G?.roles?.length){if(!this.authService.hasRoles(B,G.roles))throw new P1(`Required roles: ${G.roles.join(", ")}`)}if(G?.permissions?.length){if(!this.authService.hasPermissions(B,G.permissions))throw new P1(`Required permissions: ${G.permissions.join(", ")}`)}await U()})}}}}buildPath($){return $.path}pathMatches($,H){let J=$.replace(/:([^/]+)/g,"([^/]+)");return new RegExp(`^${J}$`).test(H)}addDefaultRoutes($){let H=this.config.routes||{};if($.post(H.login||"/auth/login",{handler:async(J)=>{let Q=await J.req.json(),{username:X,password:Y}=Q;try{let W=await this.authService.login(X,Y);return{success:!0,user:W.user,tokens:W.tokens}}catch(W){throw new L1(W instanceof Error?W.message:"Login failed")}},schema:{body:R.object({username:R.string().min(1),password:R.string().min(1)})}}),$.post(H.refresh||"/auth/refresh",{handler:async(J)=>{let Q=await J.req.json(),{refreshToken:X}=Q;try{return{success:!0,tokens:await this.authService.refresh(X)}}catch(Y){throw new L1(Y instanceof Error?Y.message:"Token refresh failed")}},schema:{body:R.object({refreshToken:R.string().min(1)})}}),$.post(H.logout||"/auth/logout",{handler:async(J)=>{let Q=Cq(J),X=await J.req.json(),{refreshToken:Y}=X;if(Q)await this.authService.logout(Q,Y);return{success:!0,message:"Logged out successfully"}},schema:{body:R.object({refreshToken:R.string().optional()})}}),"createUser"in this.config.userProvider)$.post(H.register||"/auth/register",{handler:async(J)=>{let Q=await J.req.json(),{username:X,password:Y,email:W}=Q;try{let G=await this.authService.register({username:X,password:Y,email:W});return{success:!0,user:G.user,tokens:G.tokens}}catch(G){throw new L1(G instanceof Error?G.message:"Registration failed")}},schema:{body:R.object({username:R.string().min(1),password:R.string().min(6),email:R.string().email().optional()})}});$.get("/auth/me",{handler:async(J)=>{let Q=J$(J);if(!Q)throw new L1("Not authenticated");return{success:!0,user:Q}}})}getAuthService(){return this.authService}}var Ag=R.object({code:R.string(),state:R.string(),error:R.string().optional(),error_description:R.string().optional()}),Rg=R.object({accessToken:R.string(),refreshToken:R.string().optional(),expiresIn:R.number().optional(),tokenType:R.string(),scope:R.string().optional()}),gS=R.object({id:R.string(),email:R.string().optional(),name:R.string().optional(),username:R.string().optional(),avatar:R.string().optional(),provider:R.string()}).passthrough();function yS($){return(H,J)=>{let Q={provider:$.provider,config:$};d.defineOAuth(H,J,Q)}}function uS(){return($,H,J)=>{if(H)d.defineParameter($,H,J,{index:J,type:"oauth-user",required:!0})}}function mS(){return($,H,J)=>{if(H)d.defineParameter($,H,J,{index:J,type:"oauth-token",required:!0})}}function dS($){return $.get("oauth.user")||null}function cS($){return $.get("oauth.token")||null}function lS($){return $.get("oauth.authenticated")===!0}function pS($){return $.get("oauth.provider")||null}class Tq{store;config;constructor($,H){this.store=$;this.config={name:"sessionId",maxAge:86400000,secure:!1,httpOnly:!0,sameSite:"lax",path:"/",rolling:!1,genid:()=>crypto.randomUUID(),...H,domain:H.domain}}async createSession($,H={},J){let Q=this.config.genid(),X=new Date,Y=J?.maxAge||this.config.maxAge,W={id:Q,userId:$,data:H,createdAt:X,updatedAt:X,expiresAt:new Date(X.getTime()+Y),ipAddress:J?.ipAddress,userAgent:J?.userAgent,csrfToken:this.generateCSRFToken()};return await this.store.set(Q,W),W}async getSession($){return await this.store.get($)}async updateSession($,H){let J=await this.store.get($);if(!J)return null;if(J.data={...J.data,...H},J.updatedAt=new Date,this.config.rolling)J.expiresAt=new Date(Date.now()+this.config.maxAge);return await this.store.set($,J),J}async touchSession($){if(this.config.rolling){let H=await this.store.get($);if(H)H.updatedAt=new Date,H.expiresAt=new Date(Date.now()+this.config.maxAge),await this.store.set($,H)}else await this.store.touch($)}async destroySession($){await this.store.destroy($)}async regenerateSession($){let H=await this.store.get($);if(!H)return null;let J=this.config.genid(),Q={...H,id:J,updatedAt:new Date,csrfToken:this.generateCSRFToken()};return await this.store.set(J,Q),await this.store.destroy($),Q}async getUserSessions($){return(await this.store.all()).filter((J)=>J.userId===$)}async destroyUserSessions($){let H=await this.getUserSessions($);for(let J of H)await this.store.destroy(J.id)}validateCSRFToken($,H){return $.csrfToken===H}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}}var nS=R.object({id:R.string(),userId:R.string(),data:R.record(R.any()),createdAt:R.date(),updatedAt:R.date(),expiresAt:R.date().optional(),ipAddress:R.string().optional(),userAgent:R.string().optional(),csrfToken:R.string().optional()}),Lg=R.object({name:R.string().optional(),secret:R.string(),maxAge:R.number().optional(),secure:R.boolean().optional(),httpOnly:R.boolean().optional(),sameSite:R.enum(["strict","lax","none"]).optional(),domain:R.string().optional(),path:R.string().optional(),rolling:R.boolean().optional()}),Mg=R.object({userId:R.string(),data:R.record(R.any()).optional(),maxAge:R.number().optional(),ipAddress:R.string().optional(),userAgent:R.string().optional()}),Sg=R.object({data:R.record(R.any())});t0();function iS($={}){return(H,J)=>{let Q={config:$};d.defineSession(H,J,Q)}}function sS(){return($,H,J)=>{if(H)d.defineParameter($,H,J,{index:J,type:"current-session",required:!0})}}function oS(){return($,H,J)=>{if(H)d.defineParameter($,H,J,{index:J,type:"csrf-token",required:!0})}}function rS(){return($,H)=>{d.defineCSRF($,H,{required:!0})}}function aS($,H){return async(J,Q)=>{let X=$.getConfig(),Y=$2(J,X.name),W=null;if(Y){if(W=await $.getSession(Y),W)await $.touchSession(Y)}J.set("session",W),J.set("sessionManager",$),J.set("csrfProtection",H),await Q()}}class xq{sessionManager;csrfProtection;constructor($,H){this.sessionManager=$;this.csrfProtection=H}checkSession($,H){let J=a1($);if(H.required&&!J)throw new L1("Session required");if(J&&H.csrf)this.checkCSRF($,J)}checkCSRF($,H){if(!this.csrfProtection)throw Error("CSRF protection not configured");let J=$.req.header("X-CSRF-Token")||$.req.query("_csrf");if(!J)throw new P1("CSRF token required");if(!this.csrfProtection.validateToken(H.id,J))throw new P1("Invalid CSRF token")}async createSession($,H,J={}){let Q=d4($);if(!Q)throw Error("Session manager not available");let X=$.req.header("X-Forwarded-For")||$.req.header("X-Real-IP")||"unknown",Y=$.req.header("User-Agent")||"unknown",W=await Q.createSession(H,J,{ipAddress:X,userAgent:Y}),G=Q.getCookieOptions();return H2($,Q.getConfig().name,W.id,G),$.set("session",W),W}async updateSession($,H){let J=a1($),Q=d4($);if(!J||!Q)return null;let X=await Q.updateSession(J.id,H);if(X)$.set("session",X);return X}async destroySession($){let H=a1($),J=d4($);if(!H||!J)return;await J.destroySession(H.id);let Q=J.getConfig();if(H2($,Q.name,"",{...J.getCookieOptions(),maxAge:0}),$.set("session",null),this.csrfProtection)this.csrfProtection.removeToken(H.id)}async regenerateSession($){let H=a1($),J=d4($);if(!H||!J)return null;let Q=await J.regenerateSession(H.id);if(Q){let X=J.getCookieOptions();if(H2($,J.getConfig().name,Q.id,X),$.set("session",Q),this.csrfProtection)this.csrfProtection.removeToken(H.id),this.csrfProtection.generateToken(Q.id)}return Q}generateCSRFToken($){let H=a1($);if(!H||!this.csrfProtection)return null;return this.csrfProtection.generateToken(H.id)}}function a1($){return $.get("session")||null}function d4($){return $.get("sessionManager")||null}function tS($){return $.get("csrfProtection")||null}function eS($,H){let J=a1($);if(!J)return null;if(H)return J.data[H];return J.data}function $C($){return a1($)!==null}function HC($){return a1($)?.userId||null}function JC($,H,J){let Q=a1($);if(Q)Q.data[H]=J,$.set("session",Q)}function QC($,H){let J=a1($);if(J&&H in J.data)delete J.data[H],$.set("session",J)}class Q${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 H=[];for(let J of $)H.push(await this.create(J));return H}async updateMany($,H){let J=await this.findMany({where:$}),Q=0;for(let X of J){let Y=X.id;if(Y)await this.update(Y,H),Q++}return Q}async deleteMany($){let H=await this.findMany({where:$}),J=0;for(let Q of H){let X=Q.id;if(X&&await this.delete(X))J++}return J}async findPaginated($){let{pagination:H,...J}=$,{page:Q,limit:X}=H,Y=(Q-1)*X,W=await this.count(J.where),G=await this.findMany({...J,pagination:{...H,offset:Y}}),q=Math.ceil(W/X);return{data:G,total:W,page:Q,limit:X,totalPages:q,hasNext:Q<q,hasPrev:Q>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((H,J)=>{return H[J.field]=J.direction,H},{});return{[$.field]:$.direction}}buildPaginationClause($){if(!$)return{};let H={};if($.limit)H.take=$.limit;if($.offset)H.skip=$.offset;return H}}class T0 extends Q${client;delegate;modelName;constructor($){super($.zodSchema);this.client=$.client,this.delegate=$.delegate,this.modelName=$.model}async create($){let H=this.validatePartial($),J=await this.delegate.create({data:H});return this.validate(J)}async findById($){let H=await this.delegate.findUnique({where:{id:$}});return H?this.validate(H):null}async findOne($){let H=this.buildPrismaFindOptions($),J=await this.delegate.findFirst(H);return J?this.validate(J):null}async findMany($){let H=this.buildPrismaFindOptions($||{});return(await this.delegate.findMany(H)).map((Q)=>this.validate(Q))}async update($,H){let J=this.validatePartial(H),Q=await this.delegate.update({where:{id:$},data:J});return this.validate(Q)}async delete($){try{return await this.delegate.delete({where:{id:$}}),!0}catch(H){return!1}}async createMany($){let H=$.map((Q)=>this.validatePartial(Q));await this.delegate.create({data:H,skipDuplicates:!0});let J=[];for(let Q of H){let X=await this.create(Q);J.push(X)}return J}async updateMany($,H){let J=this.validatePartial(H);return(await this.delegate.updateMany({where:this.buildWhereClause($),data:J})).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:H,...J}=$,{page:Q,limit:X}=H,Y=(Q-1)*X,W=this.buildPrismaFindOptions(J),[G,q]=await Promise.all([this.delegate.count({where:W.where}),this.delegate.findMany({...W,skip:Y,take:X})]),U=q.map((w)=>this.validate(w)),B=Math.ceil(G/X);return{data:U,total:G,page:Q,limit:X,totalPages:B,hasNext:Q<B,hasPrev:Q>1}}async withTransaction($){return await this.client.$transaction(async(H)=>{let J=new this.constructor({client:H,delegate:H[this.modelName.toLowerCase()],model:this.modelName,zodSchema:this.schema});return await $(J)})}buildPrismaFindOptions($){let H={};if($.where)H.where=this.buildWhereClause($.where);if($.orderBy)H.orderBy=this.buildOrderByClause($.orderBy);if($.pagination){let J=this.buildPaginationClause($.pagination);Object.assign(H,J)}if($.include)H.include=$.include.reduce((J,Q)=>{return J[Q]=!0,J},{});if($.select)H.select=$.select.reduce((J,Q)=>{return J[Q]=!0,J},{});return H}buildWhereClause($){let H={};for(let[J,Q]of Object.entries($))if(Q===null||Q===void 0)H[J]=null;else if(typeof Q==="object"&&!Array.isArray(Q))H[J]=Q;else if(Array.isArray(Q))H[J]={in:Q};else H[J]=Q;return H}buildOrderByClause($){if(Array.isArray($))return $.map((H)=>({[H.field]:H.direction}));return{[$.field]:$.direction}}buildPaginationClause($){let H={};if($.limit)H.take=$.limit;if($.offset)H.skip=$.offset;return H}async aggregate($){let H={};if($.where)H.where=this.buildWhereClause($.where);if($._count)H._count=$._count;if($._avg)H._avg=$._avg;if($._sum)H._sum=$._sum;if($._min)H._min=$._min;if($._max)H._max=$._max;return await this.delegate.aggregate(H)}async groupBy($){let H={by:$.by};if($.where)H.where=this.buildWhereClause($.where);if($.having)H.having=this.buildWhereClause($.having);if($.orderBy)H.orderBy=this.buildOrderByClause($.orderBy);if($._count)H._count=$._count;if($._avg)H._avg=$._avg;if($._sum)H._sum=$._sum;if($._min)H._min=$._min;if($._max)H._max=$._max;return await this.delegate.groupBy(H)}}class x0 extends Q${dataSource;repository;entity;constructor($){super($.zodSchema);this.dataSource=$.dataSource,this.repository=$.repository,this.entity=$.entity}async create($){let H=this.validatePartial($),J=this.repository.create(H),Q=await this.repository.save(J);return this.validate(Q)}async findById($){let H=await this.repository.findOneBy({id:$});return H?this.validate(H):null}async findOne($){let H=this.buildTypeORMFindOptions($),J=await this.repository.findOne(H);return J?this.validate(J):null}async findMany($){let H=this.buildTypeORMFindOptions($||{});return(await this.repository.find(H)).map((Q)=>this.validate(Q))}async update($,H){let J=this.validatePartial(H),Q=await this.repository.findOneBy({id:$});if(!Q)throw Error(`Entity with id ${$} not found`);let X=this.repository.merge(Q,J),Y=await this.repository.save(X);return this.validate(Y)}async delete($){return((await this.repository.delete({id:$})).affected||0)>0}async createMany($){let J=$.map((X)=>this.validatePartial(X)).map((X)=>this.repository.create(X));return(await this.repository.save(J)).map((X)=>this.validate(X))}async updateMany($,H){let J=this.validatePartial(H),Q=this.buildWhereClause($);return(await this.repository.update(Q,J)).affected||0}async deleteMany($){let H=this.buildWhereClause($);return(await this.repository.delete(H)).affected||0}async count($){let H=$?{where:this.buildWhereClause($)}:{};return await this.repository.count(H)}async exists($){return await this.repository.count({where:this.buildWhereClause($),take:1})>0}async findPaginated($){let{pagination:H,...J}=$,{page:Q,limit:X}=H,Y=(Q-1)*X,W=this.buildTypeORMFindOptions(J);W.skip=Y,W.take=X;let[G,q]=await this.repository.createQueryBuilder("entity").where(W.where||{}).orderBy(W.order||{}).skip(Y).take(X).getManyAndCount(),U=G.map((w)=>this.validate(w)),B=Math.ceil(q/X);return{data:U,total:q,page:Q,limit:X,totalPages:B,hasNext:Q<B,hasPrev:Q>1}}async withTransaction($){return await this.dataSource.transaction(async(H)=>{let J=H.getRepository?H.getRepository(this.entity):this.repository,Q=new this.constructor({dataSource:this.dataSource,repository:J,entity:this.entity,zodSchema:this.schema});return await $(Q)})}buildTypeORMFindOptions($){let H={};if($.where)H.where=this.buildWhereClause($.where);if($.orderBy)H.order=this.buildOrderByClause($.orderBy);if($.pagination){if($.pagination.limit)H.take=$.pagination.limit;if($.pagination.offset)H.skip=$.pagination.offset}if($.include)H.relations=$.include;if($.select)H.select=$.select.reduce((J,Q)=>{return J[Q]=!0,J},{});return H}buildWhereClause($){let H={};for(let[J,Q]of Object.entries($))if(Q===null||Q===void 0)H[J]=null;else if(typeof Q==="object"&&!Array.isArray(Q))if("gt"in Q)H[J]={$gt:Q.gt};else if("gte"in Q)H[J]={$gte:Q.gte};else if("lt"in Q)H[J]={$lt:Q.lt};else if("lte"in Q)H[J]={$lte:Q.lte};else if("like"in Q)H[J]={$like:Q.like};else if("in"in Q)H[J]={$in:Q.in};else H[J]=Q;else if(Array.isArray(Q))H[J]={$in:Q};else H[J]=Q;return H}buildOrderByClause($){if(Array.isArray($))return $.reduce((H,J)=>{return H[J.field]=J.direction.toUpperCase(),H},{});return{[$.field]:$.direction.toUpperCase()}}createQueryBuilder($){return this.repository.createQueryBuilder($)}async query($,H){return await this.dataSource.manager.query($,H)}async softDelete($){try{if(this.dataSource.getMetadata(this.entity).columns.some((Q)=>Q.propertyName==="deletedAt"))return((await this.repository.update({id:$},{deletedAt:new Date})).affected||0)>0;else return await this.delete($)}catch(H){return!1}}async restore($){try{return((await this.repository.update({id:$},{deletedAt:null})).affected||0)>0}catch(H){return!1}}async findWithRelations($,H){let J=await this.repository.findOne({where:{id:$},relations:H});return J?this.validate(J):null}async bulkInsert($){let H=$.map((X)=>this.validatePartial(X)),Q=this.repository.createQueryBuilder().insert();if(Q)await Q.into(this.entity).values(H).execute();else await this.createMany($)}async upsert($,H){let J=this.validatePartial($);try{let Q=this.repository.create(J),X=await this.repository.save(Q);return this.validate(X)}catch(Q){let X=H.reduce((W,G)=>{if(G in J)W[G]=J[G];return W},{}),Y=await this.repository.findOneBy(X);if(Y){let W=this.repository.merge(Y,J),G=await this.repository.save(W);return this.validate(G)}throw Q}}}class t1 extends Q${database;table;operators;constructor($){super($.zodSchema);this.database=$.database,this.table=$.table,this.operators=this.initializeOperators()}initializeOperators(){return{eq:($,H)=>({type:"eq",column:$,value:H}),ne:($,H)=>({type:"ne",column:$,value:H}),gt:($,H)=>({type:"gt",column:$,value:H}),gte:($,H)=>({type:"gte",column:$,value:H}),lt:($,H)=>({type:"lt",column:$,value:H}),lte:($,H)=>({type:"lte",column:$,value:H}),like:($,H)=>({type:"like",column:$,value:H}),ilike:($,H)=>({type:"ilike",column:$,value:H}),inArray:($,H)=>({type:"in",column:$,values:H}),notInArray:($,H)=>({type:"notIn",column:$,values:H}),isNull:($)=>({type:"isNull",column:$}),isNotNull:($)=>({type:"isNotNull",column:$}),between:($,H,J)=>({type:"between",column:$,min:H,max:J}),and:(...$)=>({type:"and",conditions:$}),or:(...$)=>({type:"or",conditions:$}),not:($)=>({type:"not",condition:$})}}async create($){let H=this.validatePartial($),J=await this.database.insert(this.table).values(H).returning().execute();return this.validate(J[0])}async findById($){let H=this.getPrimaryKeyColumn(),J=await this.database.select().from(this.table).where(this.operators.eq(H,$)).execute();return J.length>0?this.validate(J[0]):null}async findOne($){let H=this.database.select().from(this.table);if($.where)H=H.where(this.buildWhereClause($.where));if($.orderBy)H=H.orderBy(...this.buildOrderByClause($.orderBy));H=H.limit(1);let J=await H.execute();return J.length>0?this.validate(J[0]):null}async findMany($){let H=this.database.select().from(this.table);if($?.where)H=H.where(this.buildWhereClause($.where));if($?.orderBy)H=H.orderBy(...this.buildOrderByClause($.orderBy));if($?.pagination){if($.pagination.limit)H=H.limit($.pagination.limit);if($.pagination.offset)H=H.offset($.pagination.offset)}return(await H.execute()).map((Q)=>this.validate(Q))}async update($,H){let J=this.validatePartial(H),Q=this.getPrimaryKeyColumn(),X=await this.database.update(this.table).set(J).where(this.operators.eq(Q,$)).returning().execute();if(X.length===0)throw Error(`Entity with id ${$} not found`);return this.validate(X[0])}async delete($){let H=this.getPrimaryKeyColumn();return(await this.database.delete(this.table).where(this.operators.eq(H,$)).execute()).rowsAffected>0}async createMany($){let H=$.map((Q)=>this.validatePartial(Q));return(await this.database.insert(this.table).values(H).returning().execute()).map((Q)=>this.validate(Q))}async updateMany($,H){let J=this.validatePartial(H),Q=this.buildWhereClause($);return(await this.database.update(this.table).set(J).where(Q).execute()).rowsAffected}async deleteMany($){let H=this.buildWhereClause($);return(await this.database.delete(this.table).where(H).execute()).rowsAffected}async count($){let H=this.database.select({count:"COUNT(*)"}).from(this.table);if($)H=H.where(this.buildWhereClause($));return(await H.execute())[0]?.count||0}async exists($){return await this.count($)>0}async findPaginated($){let{pagination:H,...J}=$,{page:Q,limit:X}=H,Y=(Q-1)*X,W=this.database.select().from(this.table),G=this.database.select({count:"COUNT(*)"}).from(this.table);if(J.where){let V=this.buildWhereClause(J.where);W=W.where(V),G=G.where(V)}if(J.orderBy)W=W.orderBy(...this.buildOrderByClause(J.orderBy));W=W.limit(X).offset(Y);let[q,U]=await Promise.all([W.execute(),G.execute()]),B=U[0]?.count||0,w=q.map((V)=>this.validate(V)),_=Math.ceil(B/X);return{data:w,total:B,page:Q,limit:X,totalPages:_,hasNext:Q<_,hasPrev:Q>1}}async withTransaction($){return await this.database.transaction(async(H)=>{let J=new this.constructor({database:H,table:this.table,zodSchema:this.schema});return await $(J)})}buildWhereClause($){let H=[];for(let[J,Q]of Object.entries($)){let X=this.getColumn(J);if(Q===null||Q===void 0)H.push(this.operators.isNull(X));else if(typeof Q==="object"&&!Array.isArray(Q))if("gt"in Q)H.push(this.operators.gt(X,Q.gt));else if("gte"in Q)H.push(this.operators.gte(X,Q.gte));else if("lt"in Q)H.push(this.operators.lt(X,Q.lt));else if("lte"in Q)H.push(this.operators.lte(X,Q.lte));else if("like"in Q)H.push(this.operators.like(X,Q.like));else if("ilike"in Q)H.push(this.operators.ilike(X,Q.ilike));else if("in"in Q)H.push(this.operators.inArray(X,Q.in));else if("notIn"in Q)H.push(this.operators.notInArray(X,Q.notIn));else if("between"in Q&&Array.isArray(Q.between)&&Q.between.length===2)H.push(this.operators.between(X,Q.between[0],Q.between[1]));else H.push(this.operators.eq(X,Q));else if(Array.isArray(Q))H.push(this.operators.inArray(X,Q));else H.push(this.operators.eq(X,Q))}return H.length===1?H[0]:this.operators.and(...H)}buildOrderByClause($){if(Array.isArray($))return $.map((J)=>{let Q=this.getColumn(J.field);return J.direction==="desc"?{column:Q,direction:"desc"}:Q});let H=this.getColumn($.field);return $.direction==="desc"?[{column:H,direction:"desc"}]:[H]}getPrimaryKeyColumn(){for(let[$,H]of Object.entries(this.table._.columns))if(H._.isPrimaryKey)return this.table[$];return this.table.id||this.table._.columns.id}getColumn($){return this.table[$]||this.table._.columns[$]}async rawQuery($,H){return await this.database.execute({sql:$,params:H})}async upsert($,H){let J=this.validatePartial($),Q=H.map((Y)=>this.getColumn(Y)),X=await this.database.insert(this.table).values(J).onConflictDoUpdate({target:Q,set:J}).returning().execute();return this.validate(X[0])}async bulkUpsert($,H){let J=$.map((Y)=>this.validatePartial(Y)),Q=H.map((Y)=>this.getColumn(Y));return(await this.database.insert(this.table).values(J).onConflictDoUpdate({target:Q,set:J[0]}).returning().execute()).map((Y)=>this.validate(Y))}async findWithSelect($,H){let J=H.reduce((X,Y)=>{return X[Y]=this.getColumn(Y),X},{}),Q=this.database.select(J).from(this.table);if($.where)Q=Q.where(this.buildWhereClause($.where));if($.orderBy)Q=Q.orderBy(...this.buildOrderByClause($.orderBy));if($.pagination){if($.pagination.limit)Q=Q.limit($.pagination.limit);if($.pagination.offset)Q=Q.offset($.pagination.offset)}return await Q.execute()}async aggregate($){let H={};if($.count)H.count="COUNT(*)";if($.sum)for(let Q of $.sum)H[`sum_${Q}`]=`SUM(${Q})`;if($.avg)for(let Q of $.avg)H[`avg_${Q}`]=`AVG(${Q})`;if($.min)for(let Q of $.min)H[`min_${Q}`]=`MIN(${Q})`;if($.max)for(let Q of $.max)H[`max_${Q}`]=`MAX(${Q})`;let J=this.database.select(H).from(this.table);if($.where)J=J.where(this.buildWhereClause($.where));if($.groupBy){let Q=$.groupBy.map((X)=>this.getColumn(X));J=J.groupBy(...Q)}if($.having)J=J.having(this.buildWhereClause($.having));return await J.execute()}}class i${static instance;constructor(){}static getInstance(){if(!i$.instance)i$.instance=new i$;return i$.instance}createRepository($,H){switch($){case"prisma":return new T0(H);case"typeorm":return new x0(H);case"drizzle":return new t1(H);default:throw Error(`Unsupported repository type: ${$}`)}}createPrismaRepository($){return new T0($)}createTypeORMRepository($){return new x0($)}createDrizzleRepository($){return new t1($)}}class u2{repositories=new Map;factory;constructor(){this.factory=i$.getInstance()}register($,H){this.repositories.set($,H)}get($){return this.repositories.get($)}createAndRegister($,H,J){let Q=this.factory.createRepository(H,J);return this.register($,Q),Q}remove($){return this.repositories.delete($)}getNames(){return Array.from(this.repositories.keys())}clear(){this.repositories.clear()}size(){return this.repositories.size}}function Qy($,H,J){return(Q,X)=>{let Y={type:"generic-repository",name:$,ormType:H,options:J};Reflect.defineMetadata("inject",Y,Q,X)}}function Xy($){return class extends ${repositories=new u2;getRepository(H){return this.repositories.get(H)}createRepository(H,J,Q){return this.repositories.createAndRegister(H,J,Q)}async withRepositories(H,J){let Q=new Map;for(let Y of H){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)}}}class XC{repositories=new u2;constructor(){this.initializeRepositories()}getRepository($){let H=this.repositories.get($);if(!H)throw Error(`Repository '${$}' not found`);return H}async executeInTransaction($,H){let J=new Map;for(let X of $){let Y=this.repositories.get(X);if(Y)J.set(X,Y)}let Q=J.values().next().value;if(Q&&typeof Q.withTransaction==="function")return await Q.withTransaction(async()=>{return await H(J)});return await H(J)}}var Yy=new u2;class G7{executor;operators;selectFields;whereConditions=[];orderByClause;limitCount;offsetCount;groupByFields;havingConditions=[];joins=[];constructor($,H=new bq){this.executor=$;this.operators=H}select($){return this.selectFields=$,this}where($){let H=this.buildFilterCondition($);return this.whereConditions.push(H),this}orderBy($){return this.orderByClause=$,this}limit($){return this.limitCount=$,this}offset($){return this.offsetCount=$,this}groupBy($){return this.groupByFields=$,this}having($){let H=this.buildFilterCondition($);return this.havingConditions.push(H),this}join($,H){return this.joins.push({type:"JOIN",table:$,condition:H}),this}leftJoin($,H){return this.joins.push({type:"LEFT JOIN",table:$,condition:H}),this}rightJoin($,H){return this.joins.push({type:"RIGHT JOIN",table:$,condition:H}),this}innerJoin($,H){return this.joins.push({type:"INNER JOIN",table:$,condition:H}),this}async execute(){let $=this.buildQuery();return await this.executor.execute($)}async first(){let $=this.limitCount;this.limit(1);let H=await this.execute();return this.limitCount=$,H.length>0?H[0]:null}async count(){let $=this.buildCountQuery();return await this.executor.count($)}async exists(){return await this.count()>0}buildFilterCondition($){let H=[];for(let[J,Q]of Object.entries($))if(Q===null||Q===void 0)H.push({type:"isNull",field:J});else if(typeof Q==="object"&&!Array.isArray(Q))for(let[X,Y]of Object.entries(Q))switch(X){case"eq":H.push({type:"eq",field:J,value:Y});break;case"ne":H.push({type:"ne",field:J,value:Y});break;case"gt":H.push({type:"gt",field:J,value:Y});break;case"gte":H.push({type:"gte",field:J,value:Y});break;case"lt":H.push({type:"lt",field:J,value:Y});break;case"lte":H.push({type:"lte",field:J,value:Y});break;case"like":H.push({type:"like",field:J,pattern:Y});break;case"ilike":H.push({type:"ilike",field:J,pattern:Y});break;case"in":H.push({type:"in",field:J,values:Y});break;case"notIn":H.push({type:"notIn",field:J,values:Y});break;case"between":if(Array.isArray(Y)&&Y.length===2)H.push({type:"between",field:J,min:Y[0],max:Y[1]});break}else if(Array.isArray(Q))H.push({type:"in",field:J,values:Q});else H.push({type:"eq",field:J,value:Q});return H.length===1?H[0]:{type:"and",conditions:H}}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 bq{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($,H){return{type:"between",min:$,max:H}}isNull(){return{type:"isNull"}}isNotNull(){return{type:"isNotNull"}}and(...$){return{type:"and",conditions:$}}or(...$){return{type:"or",conditions:$}}not($){return{type:"not",condition:$}}}class YC{static create($){return new G7($)}static createWithOperators($,H){return new G7($,H)}}class c4{static calculateMeta($,H,J){let Q=Math.ceil($/J);return{total:$,page:H,limit:J,totalPages:Q,hasNext:H<Q,hasPrev:H>1,firstPage:1,lastPage:Q}}static calculateOffset($,H){return($-1)*H}static calculatePage($,H){return Math.floor($/H)+1}static validatePagination($,H){if($<1)throw Error("Page must be greater than 0");if(H<1)throw Error("Limit must be greater than 0");if(H>1000)throw Error("Limit cannot exceed 1000")}static createPaginatedResult($,H,J,Q){let X=this.calculateMeta(H,J,Q);return{data:$,total:X.total,page:X.page,limit:X.limit,totalPages:X.totalPages,hasNext:X.hasNext,hasPrev:X.hasPrev}}static extractPaginationFromQuery($){let H=parseInt($.page)||1,J=parseInt($.limit)||10;return this.validatePagination(H,J),{page:H,limit:J}}}class fq{static encodeCursor($){return Buffer.from(JSON.stringify($)).toString("base64")}static decodeCursor($){try{return JSON.parse(Buffer.from($,"base64").toString())}catch(H){throw Error("Invalid cursor format")}}static createCursor($,H="id"){let J=$[H];if(J===void 0||J===null)throw Error(`Cursor field '${H}' not found in entity`);return this.encodeCursor({[H]:J})}static extractCursorValue($,H="id"){return this.decodeCursor($)[H]}static createCursorPaginatedResult($,H,J="id"){let Q=$.length>H,X=!1,Y=Q?$.slice(0,H):$,W,G;if(Y.length>0){if(Q)W=this.createCursor(Y[Y.length-1],J)}return{data:Y,nextCursor:W,prevCursor:G,hasNext:Q,hasPrev:!1,limit:H}}}class WC{baseQuery;options={};constructor($={}){this.baseQuery=$;this.options={...$}}offset($,H){return c4.validatePagination($,H),this.options.pagination={page:$,limit:H,offset:c4.calculateOffset($,H)},this}cursor($,H,J="id"){if(H<1||H>1000)throw Error("Limit must be between 1 and 1000");let Q=fq.extractCursorValue($,J);return this.options.where={...this.options.where,[J]:{gt:Q}},this.options.pagination={limit:H},this}orderBy($,H="asc"){return this.options.orderBy={field:$,direction:H},this}orderByMultiple($){return this.options.orderBy=$.map((H)=>({field:H.field,direction:H.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 Uy($=10,H=100){return function(J,Q,X){let Y=X.value;return X.value=async function(...W){let G=W[W.length-1];if(G&&typeof G==="object"&&(("page"in G)||("limit"in G))){let q=G.page||1,U=Math.min(G.limit||$,H);c4.validatePagination(q,U),G.pagination={page:q,limit:U,offset:c4.calculateOffset(q,U)}}return await Y.apply(this,W)},X}}class GC{static toApiResponse($,H){return{data:$.data,meta:{total:$.total,page:$.page,limit:$.limit,totalPages:$.totalPages},links:{first:H?`${H}?page=1&limit=${$.limit}`:null,last:H?`${H}?page=${$.totalPages}&limit=${$.limit}`:null,prev:$.hasPrev&&H?`${H}?page=${$.page-1}&limit=${$.limit}`:null,next:$.hasNext&&H?`${H}?page=${$.page+1}&limit=${$.limit}`:null}}}static toCursorApiResponse($,H){let J={data:$.data,meta:{limit:$.limit,hasNext:$.hasNext,hasPrev:$.hasPrev},cursors:{next:$.nextCursor,prev:$.prevCursor}};if(H)J.links={next:$.nextCursor?`${H}?cursor=${$.nextCursor}&limit=${$.limit}`:null,prev:$.prevCursor?`${H}?cursor=${$.prevCursor}&limit=${$.limit}`:null};return J}}g1();g1();var wy=f0(s0(),1);function qC($,H){return(J)=>{let Q={entity:$,connection:H,transactional:!1};Reflect.defineMetadata("repository",Q,J)}}function UC($){return(H,J,Q)=>{let X=Q.value,Y={isolation:$?.isolation||"READ_COMMITTED",timeout:$?.timeout||30000,readOnly:$?.readOnly||!1,propagation:$?.propagation||"REQUIRED"};return Reflect.defineMetadata("transactional",Y,H,J),Q.value=async function(...W){return await b0().handleTransactional(this,J,W,X,W.find((q)=>q&&typeof q==="object"&&q.req&&q.res))},Q}}function BC($){return(H)=>{let J={tableName:$||H.name.toLowerCase()};Reflect.defineMetadata("entity",J,H)}}function wC($){return(H,J)=>{let Q={name:$?.name||J.toString(),type:$?.type||"string",nullable:$?.nullable||!1,unique:$?.unique||!1,primary:$?.primary||!1};Reflect.defineMetadata("column",Q,H,J)}}g1();class X${static instance;constructor(){}static getInstance(){if(!X$.instance)X$.instance=new X$;return X$.instance}async intercept($,H,J,Q,X){let Y=b0();if(Reflect.getMetadata("transactional",$,H))return await Y.handleTransactional($,H,J,Q,X);return await Q.apply($,J)}createTransactionalProxy($,H){return new Proxy($,{get:(J,Q)=>{let X=J[Q];if(typeof X==="function")return async(...Y)=>{return await this.intercept(J,Q,Y,X.bind(J),H)};return X}})}}function hq(){return async($,H)=>{let J=X$.getInstance();$.set("transactionInterceptor",J),$.set("transactionContext",$),await H()}}function DC($){return $.get("transactionInterceptor")||X$.getInstance()}function zy($,H){return DC($).createTransactionalProxy(H,$)}var VC;((W)=>{W.REQUIRED="REQUIRED";W.REQUIRES_NEW="REQUIRES_NEW";W.SUPPORTS="SUPPORTS";W.NOT_SUPPORTED="NOT_SUPPORTED";W.MANDATORY="MANDATORY";W.NEVER="NEVER"})(VC||={});class _C{shouldStartNewTransaction($,H){switch($){case"REQUIRED":return!H;case"REQUIRES_NEW":return!0;case"SUPPORTS":return!1;case"NOT_SUPPORTED":return!1;case"MANDATORY":if(!H)throw Error("Transaction is mandatory but no existing transaction found");return!1;case"NEVER":if(H)throw Error("Transaction is not allowed but existing transaction found");return!1;default:return!H}}shouldSuspendTransaction($,H){return $==="NOT_SUPPORTED"&&!!H}shouldExecuteInTransaction($,H){switch($){case"REQUIRED":case"REQUIRES_NEW":case"MANDATORY":return!0;case"SUPPORTS":return!!H;case"NOT_SUPPORTED":case"NEVER":return!1;default:return!0}}shouldRollbackForError($,H){if(H.noRollbackFor){for(let J of H.noRollbackFor)if($ instanceof J)return!1}if(H.rollbackFor){for(let J of H.rollbackFor)if($ instanceof J)return!0;return!1}return!0}}function o$($){return(H,J,Q)=>{let X=Q.value,Y={isolation:$?.isolation||"READ_COMMITTED",timeout:$?.timeout||30000,readOnly:$?.readOnly||!1,propagation:$?.propagation||"REQUIRED",rollbackFor:$?.rollbackFor,noRollbackFor:$?.noRollbackFor};return Reflect.defineMetadata("transactional",Y,H,J),Q.value=async function(...W){let{getGlobalTransactionManager:G}=await Promise.resolve().then(() => (g1(),kq));return await G().handleTransactional(this,J,W,X,W.find((U)=>U&&typeof U==="object"&&U.req&&U.res))},Q}}function Ay($){return o$({...$,propagation:"REQUIRED"})}function Ry($){return o$({...$,propagation:"REQUIRES_NEW"})}function Ey($){return o$({...$,propagation:"SUPPORTS"})}function jy($){return o$({...$,propagation:"NOT_SUPPORTED"})}function Oy($){return o$({...$,propagation:"MANDATORY"})}function Zy($){return o$({...$,propagation:"NEVER"})}var FC;((B)=>{B.BEFORE_BEGIN="BEFORE_BEGIN";B.AFTER_BEGIN="AFTER_BEGIN";B.BEFORE_COMMIT="BEFORE_COMMIT";B.AFTER_COMMIT="AFTER_COMMIT";B.BEFORE_ROLLBACK="BEFORE_ROLLBACK";B.AFTER_ROLLBACK="AFTER_ROLLBACK";B.BEFORE_SAVEPOINT="BEFORE_SAVEPOINT";B.AFTER_SAVEPOINT="AFTER_SAVEPOINT";B.BEFORE_ROLLBACK_TO_SAVEPOINT="BEFORE_ROLLBACK_TO_SAVEPOINT";B.AFTER_ROLLBACK_TO_SAVEPOINT="AFTER_ROLLBACK_TO_SAVEPOINT"})(FC||={});class vq{listeners=[];beginListeners=[];commitListeners=[];rollbackListeners=[];savepointListeners=[];addListener($){this.listeners.push($)}removeListener($){let H=this.listeners.indexOf($);if(H>-1)this.listeners.splice(H,1)}addBeginListener($){this.beginListeners.push($)}addCommitListener($){this.commitListeners.push($)}addRollbackListener($){this.rollbackListeners.push($)}addSavepointListener($){this.savepointListeners.push($)}async emitEvent($){for(let H of this.listeners)try{await H.onTransactionEvent($)}catch(J){console.error("Error in transaction event listener:",J)}await this.emitSpecificEvent($)}async emitSpecificEvent($){switch($.type){case"BEFORE_BEGIN":for(let H of this.beginListeners)if(H.onBeforeBegin)try{await H.onBeforeBegin($.context)}catch(J){console.error("Error in before begin listener:",J)}break;case"AFTER_BEGIN":for(let H of this.beginListeners)if(H.onAfterBegin)try{await H.onAfterBegin($.context)}catch(J){console.error("Error in after begin listener:",J)}break;case"BEFORE_COMMIT":for(let H of this.commitListeners)if(H.onBeforeCommit)try{await H.onBeforeCommit($.context)}catch(J){console.error("Error in before commit listener:",J)}break;case"AFTER_COMMIT":for(let H of this.commitListeners)if(H.onAfterCommit)try{await H.onAfterCommit($.context)}catch(J){console.error("Error in after commit listener:",J)}break;case"BEFORE_ROLLBACK":for(let H of this.rollbackListeners)if(H.onBeforeRollback)try{await H.onBeforeRollback($.context,$.error)}catch(J){console.error("Error in before rollback listener:",J)}break;case"AFTER_ROLLBACK":for(let H of this.rollbackListeners)if(H.onAfterRollback)try{await H.onAfterRollback($.context,$.error)}catch(J){console.error("Error in after rollback listener:",J)}break;case"BEFORE_SAVEPOINT":for(let H of this.savepointListeners)if(H.onBeforeSavepoint)try{await H.onBeforeSavepoint($.context,$.metadata?.name)}catch(J){console.error("Error in before savepoint listener:",J)}break;case"AFTER_SAVEPOINT":for(let H of this.savepointListeners)if(H.onAfterSavepoint)try{await H.onAfterSavepoint($.context,$.metadata?.name)}catch(J){console.error("Error in after savepoint listener:",J)}break;case"BEFORE_ROLLBACK_TO_SAVEPOINT":for(let H of this.savepointListeners)if(H.onBeforeRollbackToSavepoint)try{await H.onBeforeRollbackToSavepoint($.context,$.metadata?.name)}catch(J){console.error("Error in before rollback to savepoint listener:",J)}break;case"AFTER_ROLLBACK_TO_SAVEPOINT":for(let H of this.savepointListeners)if(H.onAfterRollbackToSavepoint)try{await H.onAfterRollbackToSavepoint($.context,$.metadata?.name)}catch(J){console.error("Error in after rollback to savepoint listener:",J)}break}}clearAllListeners(){this.listeners=[],this.beginListeners=[],this.commitListeners=[],this.rollbackListeners=[],this.savepointListeners=[]}}function My(){return($,H)=>{Reflect.defineMetadata("transaction-event","begin",$,H)}}function Sy(){return($,H)=>{Reflect.defineMetadata("transaction-event","commit",$,H)}}function Cy(){return($,H)=>{Reflect.defineMetadata("transaction-event","rollback",$,H)}}class q7{logger;constructor($=console.log){this.logger=$}async onTransactionEvent($){let H=`Transaction ${$.type}: ${$.context.id}`,J={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(H,J)}}class U7{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 H=Date.now()-$.startTime.getTime();this.metrics.totalDuration+=H,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 r$=new vq;g1();class gq{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(hq()),this.setupEventListeners(),this.registerTransactionUtilities($),console.log("\u2705 Transaction plugin installed successfully")}setupTransactionManager(){if(this.config.customTransactionManager)e1(this.config.customTransactionManager);else e1(new s$)}setupEventListeners(){if(this.config.enableLogging){let $=new q7;r$.addListener($)}if(this.config.enableMetrics)this.metricsListener=new U7,r$.addListener(this.metricsListener)}registerTransactionUtilities($){let H=$.getContainer();class J{}class Q{}class X{}if(H.register(J,{scope:"singleton",factory:()=>r$}),this.metricsListener)H.register(Q,{scope:"singleton",factory:()=>({getMetrics:()=>this.metricsListener.getMetrics(),resetMetrics:()=>this.metricsListener.resetMetrics()})});H.register(X,{scope:"singleton",factory:()=>({executeInTransaction:async(Y)=>{let W=b0(),G=await W.begin();try{let q=await Y();if(G.rollbackOnly)throw await W.rollback(G),Error("Transaction marked for rollback");return await W.commit(G),q}catch(q){throw await W.rollback(G),q}},getCurrentTransaction:()=>{return null},isInTransaction:()=>{return!1}})})}getMetrics(){return this.metricsListener?.getMetrics()}resetMetrics(){this.metricsListener?.resetMetrics()}addEventListener($){r$.addListener($)}removeEventListener($){r$.removeListener($)}}function xy($){return new gq($)}class zC{transactionManager;constructor($){this.transactionManager=$}async executeInTransaction($){let H=await this.transactionManager.begin();try{let J=await $();if(H.rollbackOnly)throw await this.transactionManager.rollback(H),Error("Transaction marked for rollback");return await this.transactionManager.commit(H),J}catch(J){throw await this.transactionManager.rollback(H),J}}async createSavepoint($){}async rollbackToSavepoint($){}setRollbackOnly(){}isInTransaction(){return!1}}class NC{transactionManager;defaultOptions;constructor($,H){this.transactionManager=$;this.defaultOptions=H}async execute($,H){let J={...this.defaultOptions,...H},Q=await this.transactionManager.begin(J);try{let X=await $();if(Q.rollbackOnly)throw await this.transactionManager.rollback(Q),Error("Transaction marked for rollback");return await this.transactionManager.commit(Q),X}catch(X){throw await this.transactionManager.rollback(Q),X}}async executeReadOnly($){return this.execute($,{readOnly:!0})}async executeWithIsolation($,H){return this.execute($,{isolation:H})}}class l4{modelSchemas=new Map;generateModelSchema($){if(this.modelSchemas.has($.name))return this.modelSchemas.get($.name);let H={};for(let Q of $.fields)H[Q.name]=this.generateFieldSchema(Q);let J=R.object(H);return this.modelSchemas.set($.name,J),J}generateFieldSchema($){let H=this.getBaseSchema($.type);if($.isList)H=R.array(H);if($.isOptional)H=H.optional();if($.isUnique)H=H.describe(`Unique field: ${$.name}`);return H}getBaseSchema($){switch($.toLowerCase()){case"string":return R.string();case"int":case"integer":return R.number().int();case"float":case"decimal":return R.number();case"boolean":case"bool":return R.boolean();case"datetime":case"timestamp":return R.date();case"json":return R.record(R.any());case"bytes":return R.instanceof(Buffer);case"bigint":return R.bigint();default:return R.string()}}generateCreateSchema($){let H={};for(let J of $.fields){if(J.isId&&J.hasDefaultValue)continue;if(J.name==="createdAt"||J.name==="updatedAt")continue;H[J.name]=this.generateFieldSchema(J)}return R.object(H)}generateUpdateSchema($){let H={};for(let J of $.fields){if(J.isId)continue;if(J.name==="updatedAt")continue;let Q=this.generateFieldSchema(J);if(!Q.isOptional())Q=Q.optional();H[J.name]=Q}return R.object(H)}static parsePrismaSchema($){let H=[],J=$.split(`
|
|
152
|
+
`),Q=null,X=!1;for(let Y of J){let W=Y.trim();if(W.startsWith("model ")){Q={name:W.split(" ")[1],fields:[],relations:[]},X=!0;continue}if(W==="}"&&X&&Q){H.push(Q),Q=null,X=!1;continue}if(X&&Q&&W&&!W.startsWith("//")){let G=this.parseField(W);if(G)Q.fields.push(G)}}return H}static parseField($){let H=$.trim().split(/\s+/);if(H.length<2)return null;let J=H[0],Q=H[1],X=Q.includes("?"),Y=Q.includes("[]"),W=Q.replace("?","").replace("[]",""),G=$.includes("@")?$.split("@").slice(1):[],q=G.some((w)=>w.startsWith("id")),U=G.some((w)=>w.startsWith("unique")),B=G.some((w)=>w.startsWith("default"));return{name:J,type:W,isOptional:X,isList:Y,isId:q,isUnique:U,hasDefaultValue:B}}generateAllSchemas($){return{base:this.generateModelSchema($),create:this.generateCreateSchema($),update:this.generateUpdateSchema($)}}}g1();class d2 extends w0{client;prismaTransactions=new Map;constructor($){super();this.client=$}async begin($){let H=this.createTransactionContext($);return this.prismaTransactions.set(H.id,{options:$,startTime:H.startTime}),H}async commit($){this.prismaTransactions.delete($.id),this.removeTransactionContext($)}async rollback($){this.prismaTransactions.delete($.id),this.removeTransactionContext($)}async savepoint($,H){$.savepoints.push(H);let J=this.prismaTransactions.get($.id);if(J)J.savepoints=J.savepoints||[],J.savepoints.push(H)}async rollbackToSavepoint($,H){let J=$.savepoints.indexOf(H);if(J===-1)throw Error(`Savepoint ${H} not found`);$.savepoints=$.savepoints.slice(0,J+1);let Q=this.prismaTransactions.get($.id);if(Q&&Q.savepoints)Q.savepoints=Q.savepoints.slice(0,J+1)}async executeInTransaction($,H){let J={};if(H?.timeout)J.timeout=H.timeout;if(H?.isolation){let Q={READ_UNCOMMITTED:"ReadUncommitted",READ_COMMITTED:"ReadCommitted",REPEATABLE_READ:"RepeatableRead",SERIALIZABLE:"Serializable"};J.isolationLevel=Q[H.isolation]}return await this.client.$transaction($,J)}async handleTransactional($,H,J,Q,X){let Y=Reflect.getMetadata("transactional",$,H);if(!Y)return Q.apply($,J);if(X?this.getRequestTransaction(X):null)return Q.apply($,J);return await this.executeInTransaction(async(G)=>{let q=await this.begin(Y);if(X)this.setRequestTransaction(X,q);try{let U=await this.injectTransactionClient($,J,Q,G);if(q.rollbackOnly)throw Error("Transaction marked for rollback");return U}catch(U){throw this.setRollbackOnly(q),U}finally{if(X)this.clearRequestTransaction(X);await this.commit(q)}},Y)}async injectTransactionClient($,H,J,Q){if($.repositories){let X={...$.repositories};try{for(let[Y,W]of Object.entries($.repositories))if(W&&typeof W==="object"&&"client"in W){W.client=Q;let G=W.modelName;if(G&&Q[G.toLowerCase()])W.delegate=Q[G.toLowerCase()]}return await J.apply($,H)}finally{$.repositories=X}}return await J.apply($,H)}createTransactionalRepository($,H){let J=new $(H);if(J&&typeof J==="object"&&"withTransaction"in J){let Q=J.withTransaction;J.withTransaction=async(X)=>{return await this.executeInTransaction(async(Y)=>{let W=new $({...H,client:Y,delegate:Y[H.model.toLowerCase()]});return await X(W)})}}return J}}g1();import p4 from"fs";import AC from"path";class B7{name="prisma";version="1.0.0";client;config;schemaGenerator;transactionManager;models=new Map;constructor($,H){this.client=$,this.config={generateZodSchemas:!0,schemaPath:"./prisma/schema.prisma",outputPath:"./src/generated/zod-schemas.ts",...H},this.schemaGenerator=new l4,this.transactionManager=new d2($)}async install($){if(await this.client.$connect(),e1(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(!p4.existsSync(this.config.schemaPath)){console.warn(`\u26A0\uFE0F Prisma schema not found at ${this.config.schemaPath}`);return}let $=p4.readFileSync(this.config.schemaPath,"utf-8"),H=l4.parsePrismaSchema($);for(let J of H){this.models.set(J.name,J);let Q=this.schemaGenerator.generateAllSchemas(J);J.zodSchema=Q.base}if(this.config.outputPath)await this.generateZodSchemaFile();console.log(`\uD83D\uDCDD Generated Zod schemas for ${H.length} models`)}catch($){console.error("\u274C Failed to parse Prisma schema:",$)}}async generateZodSchemaFile(){let $=AC.dirname(this.config.outputPath);if(!p4.existsSync($))p4.mkdirSync($,{recursive:!0});let H=`// Auto-generated Zod schemas from Prisma schema
|
|
153
|
+
`;H+=`// Do not edit this file manually
|
|
154
|
+
|
|
155
|
+
`,H+=`import { z } from 'zod';
|
|
156
|
+
|
|
157
|
+
`;for(let[J,Q]of this.models){let X=this.schemaGenerator.generateAllSchemas(Q);H+=`// ${J} schemas
|
|
158
|
+
`,H+=`export const ${J}Schema = ${this.zodSchemaToString(X.base)};
|
|
159
|
+
`,H+=`export const ${J}CreateSchema = ${this.zodSchemaToString(X.create)};
|
|
160
|
+
`,H+=`export const ${J}UpdateSchema = ${this.zodSchemaToString(X.update)};
|
|
161
|
+
|
|
162
|
+
`,H+=`export type ${J} = z.infer<typeof ${J}Schema>;
|
|
163
|
+
`,H+=`export type ${J}Create = z.infer<typeof ${J}CreateSchema>;
|
|
164
|
+
`,H+=`export type ${J}Update = z.infer<typeof ${J}UpdateSchema>;
|
|
165
|
+
|
|
166
|
+
`}p4.writeFileSync(this.config.outputPath,H)}zodSchemaToString($){return"z.object({})"}registerRepositoryFactory($){let H=$.getContainer();class J{}class Q{}H.register(J,{scope:"singleton",factory:()=>({create:(X,Y)=>{let W=this.client[X.toLowerCase()];if(!W)throw Error(`Model ${X} not found in Prisma client`);return new T0({client:this.client,delegate:W,model:X,zodSchema:Y})}})}),H.register(Q,{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($,H){let J=this.client[$.toLowerCase()];if(!J)throw Error(`Model ${$} not found in Prisma client`);return new T0({client:this.client,delegate:J,model:$,zodSchema:H})}getClient(){return this.client}getTransactionManager(){return this.transactionManager}}function RC($,H){return new B7($,H)}g1();class c2 extends w0{dataSource;activeQueryRunners=new Map;constructor($){super();this.dataSource=$}async begin($){let H=this.createTransactionContext($),J=this.dataSource.createQueryRunner();return await J.connect(),await J.startTransaction(),this.activeQueryRunners.set(H.id,J),H}async commit($){let H=this.activeQueryRunners.get($.id);if(!H)throw Error(`Transaction ${$.id} not found`);try{if($.rollbackOnly)await H.rollbackTransaction();else await H.commitTransaction()}finally{await H.release(),this.activeQueryRunners.delete($.id),this.removeTransactionContext($)}}async rollback($){let H=this.activeQueryRunners.get($.id);if(!H)throw Error(`Transaction ${$.id} not found`);try{if(H.isTransactionActive)await H.rollbackTransaction()}finally{await H.release(),this.activeQueryRunners.delete($.id),this.removeTransactionContext($)}}async savepoint($,H){let J=this.activeQueryRunners.get($.id);if(!J)throw Error(`Transaction ${$.id} not found`);await J.manager.query(`SAVEPOINT ${H}`),$.savepoints.push(H)}async rollbackToSavepoint($,H){let J=this.activeQueryRunners.get($.id);if(!J)throw Error(`Transaction ${$.id} not found`);let Q=$.savepoints.indexOf(H);if(Q===-1)throw Error(`Savepoint ${H} not found`);await J.manager.query(`ROLLBACK TO SAVEPOINT ${H}`),$.savepoints=$.savepoints.slice(0,Q+1)}async executeInTransaction($,H){return await this.dataSource.transaction(async(J)=>{return await $(J)})}async handleTransactional($,H,J,Q,X){let Y=Reflect.getMetadata("transactional",$,H);if(!Y)return Q.apply($,J);let W=X?this.getRequestTransaction(X):null;if(W)return this.handleNestedTransaction(W,$,J,Q);return await this.executeInTransaction(async(G)=>{let q=await this.begin(Y);if(X)this.setRequestTransaction(X,q);try{let U=await this.injectTransactionManager($,J,Q,G);if(q.rollbackOnly)throw Error("Transaction marked for rollback");return U}catch(U){throw this.setRollbackOnly(q),U}finally{if(X)this.clearRequestTransaction(X);this.removeTransactionContext(q)}},Y)}async handleNestedTransaction($,H,J,Q){let X=`sp_${Date.now()}_${Math.random().toString(36).substring(2,11)}`;try{return await this.savepoint($,X),await Q.apply(H,J)}catch(Y){throw await this.rollbackToSavepoint($,X),Y}}async injectTransactionManager($,H,J,Q){if($.repositories){let X={...$.repositories};try{for(let[Y,W]of Object.entries($.repositories))if(W&&typeof W==="object"&&"dataSource"in W){let G=W.entity,q=Q.getRepository?Q.getRepository(G):W.repository;$.repositories[Y]=new W.constructor({dataSource:W.dataSource,repository:q,entity:G,zodSchema:W.schema})}return await J.apply($,H)}finally{$.repositories=X}}return await J.apply($,H)}createTransactionalRepository($,H){let J=new $(H);if(J&&typeof J==="object"&&"withTransaction"in J){let Q=J.withTransaction;J.withTransaction=async(X)=>{return await this.executeInTransaction(async(Y)=>{let W=Y.getRepository?Y.getRepository(H.entity):H.repository,G=new $({...H,repository:W});return await X(G)})}}return J}getQueryRunner($){return this.activeQueryRunners.get($.id)}isTransactionActive($){let H=this.activeQueryRunners.get($.id);return H?H.isTransactionActive:!1}getDataSource(){return this.dataSource}}g1();class w7{name="typeorm";version="1.0.0";dataSource;config;transactionManager;entities=new Map;constructor($,H){this.dataSource=$,this.config={synchronize:!1,logging:!1,migrationsRun:!1,dropSchema:!1,cache:!1,...H},this.transactionManager=new c2($)}async install($){if(!this.dataSource.isInitialized)await this.dataSource.initialize();e1(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 H of $){let J={name:H.name,tableName:H.tableName,columns:H.columns?.map((Q)=>({propertyName:Q.propertyName,type:Q.type,isPrimary:Q.isPrimary,isGenerated:Q.isGenerated,isNullable:Q.isNullable,isUnique:Q.isUnique,length:Q.length,default:Q.default}))||[],relations:H.relations?.map((Q)=>({propertyName:Q.propertyName,type:Q.relationType,target:Q.inverseEntityMetadata?.name||"unknown",inverseSide:Q.inverseSidePropertyPath,joinColumn:Q.joinColumns?.[0]?.databaseName,joinTable:Q.joinTableName}))||[]};this.entities.set(H.name,J)}console.log(`\uD83D\uDCDD Extracted metadata for ${this.entities.size} entities`)}catch($){console.error("\u274C Failed to extract entity metadata:",$)}}registerRepositoryFactory($){let H=$.getContainer();class J{}class Q{}class X{}class Y{}H.register(J,{scope:"singleton",factory:()=>({create:(W,G)=>{let q=this.dataSource.getRepository(W);return new x0({dataSource:this.dataSource,repository:q,entity:W,zodSchema:G})}})}),H.register(Q,{scope:"singleton",factory:()=>this.dataSource}),H.register(X,{scope:"request",factory:()=>this.dataSource.manager}),H.register(Y,{scope:"singleton",factory:()=>this.transactionManager})}registerMigrationUtilities($){let H=$.getContainer();class J{}class Q{}H.register(J,{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(X)=>{console.log(`\uD83D\uDCDD Generate migration: ${X}`)}})}),H.register(Q,{scope:"singleton",factory:()=>({seed:async(X)=>{for(let Y of X)if(typeof Y.run==="function")await Y.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($,H){let J=this.dataSource.getRepository($);return new x0({dataSource:this.dataSource,repository:J,entity:$,zodSchema:H})}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 EC($,H){return new w7($,H)}class yq{}var Gu=f0(s0(),1);function jC($){return(H)=>{let J={name:$?.name||H.name,tableName:$?.tableName||H.name.toLowerCase(),schema:$?.schema,database:$?.database,synchronize:$?.synchronize};Reflect.defineMetadata("typeorm:entity",J,H)}}g1();class l2 extends w0{database;drizzleTransactions=new Map;constructor($){super();this.database=$}async begin($){let H=this.createTransactionContext($);return this.drizzleTransactions.set(H.id,{options:$,startTime:H.startTime}),H}async commit($){this.drizzleTransactions.delete($.id),this.removeTransactionContext($)}async rollback($){this.drizzleTransactions.delete($.id),this.removeTransactionContext($)}async savepoint($,H){$.savepoints.push(H);let J=this.drizzleTransactions.get($.id);if(J)J.savepoints=J.savepoints||[],J.savepoints.push(H)}async rollbackToSavepoint($,H){let J=$.savepoints.indexOf(H);if(J===-1)throw Error(`Savepoint ${H} not found`);$.savepoints=$.savepoints.slice(0,J+1);let Q=this.drizzleTransactions.get($.id);if(Q&&Q.savepoints)Q.savepoints=Q.savepoints.slice(0,J+1)}async executeInTransaction($,H){return await this.database.transaction(async(J)=>{return await $(J)})}async handleTransactional($,H,J,Q,X){let Y=Reflect.getMetadata("transactional",$,H);if(!Y)return Q.apply($,J);if(X?this.getRequestTransaction(X):null)return Q.apply($,J);return await this.executeInTransaction(async(G)=>{let q=await this.begin(Y);if(X)this.setRequestTransaction(X,q);try{let U=await this.injectTransactionDatabase($,J,Q,G);if(q.rollbackOnly)throw Error("Transaction marked for rollback");return U}catch(U){throw this.setRollbackOnly(q),U}finally{if(X)this.clearRequestTransaction(X);await this.commit(q)}},Y)}async injectTransactionDatabase($,H,J,Q){if($.repositories){let X={...$.repositories};try{for(let[Y,W]of Object.entries($.repositories))if(W&&typeof W==="object"&&"database"in W){let{table:G,schema:q}=W;$.repositories[Y]=new W.constructor({database:Q,table:G,zodSchema:q})}return await J.apply($,H)}finally{$.repositories=X}}return await J.apply($,H)}createTransactionalRepository($,H){let J=new $(H);if(J&&typeof J==="object"&&"withTransaction"in J){let Q=J.withTransaction;J.withTransaction=async(X)=>{return await this.executeInTransaction(async(Y)=>{let W=new $({...H,database:Y});return await X(W)})}}return J}async batch($){return await this.executeInTransaction(async(H)=>{let J=[];for(let Q of $){let X=await Q();J.push(X)}return J})}async executeWithRetry($,H={}){let{maxRetries:J=3,retryDelay:Q=1000,retryCondition:X=(W)=>W.code==="SERIALIZATION_FAILURE"||W.code==="DEADLOCK_DETECTED"}=H,Y;for(let W=0;W<=J;W++)try{return await this.executeInTransaction($)}catch(G){if(Y=G,W===J||!X(G))throw G;await new Promise((q)=>setTimeout(q,Q*Math.pow(2,W)))}throw Y}getDatabase(){return this.database}isInTransaction(){return this.drizzleTransactions.size>0}getActiveTransactionCount(){return this.drizzleTransactions.size}}g1();class D7{tableSchemas=new Map;convertTableToZod($){let H=$._.name;if(this.tableSchemas.has(H))return this.tableSchemas.get(H);let J={};for(let[X,Y]of Object.entries($._.columns))J[X]=this.convertColumnToZod(Y);let Q=R.object(J);return this.tableSchemas.set(H,Q),Q}convertColumnToZod($){let H=this.getBaseZodSchema($);if(!$._.notNull)H=H.nullable();if($._.hasDefault||!$._.notNull)H=H.optional();return H}getBaseZodSchema($){let H=$._.dataType.toLowerCase(),J=$._.columnType.toLowerCase();if($._.enumValues&&$._.enumValues.length>0)return R.enum($._.enumValues);switch(J){case"serial":case"bigserial":return R.number().int().positive();case"boolean":return R.boolean();case"date":return R.date();case"timestamp":case"timestamptz":return R.date();case"json":case"jsonb":return R.record(R.any());case"uuid":return R.string().uuid();case"text":case"varchar":case"char":return R.string();case"integer":case"int":case"int4":return R.number().int();case"bigint":case"int8":return R.bigint();case"smallint":case"int2":return R.number().int().min(-32768).max(32767);case"real":case"float4":return R.number();case"double precision":case"float8":return R.number();case"decimal":case"numeric":return R.number();case"bytea":return R.instanceof(Buffer);default:return this.getBaseZodSchemaByDataType(H)}}getBaseZodSchemaByDataType($){switch($){case"string":case"text":return R.string();case"number":case"integer":return R.number();case"boolean":return R.boolean();case"date":return R.date();case"json":return R.record(R.any());case"buffer":return R.instanceof(Buffer);case"bigint":return R.bigint();default:return R.string()}}generateCreateSchema($){let H={};for(let[J,Q]of Object.entries($._.columns)){if(Q._.isPrimaryKey&&Q._.hasDefault)continue;if(Q._.columnType.includes("serial"))continue;H[J]=this.convertColumnToZod(Q)}return R.object(H)}generateUpdateSchema($){let H={};for(let[J,Q]of Object.entries($._.columns)){if(Q._.isPrimaryKey)continue;let X=this.convertColumnToZod(Q);if(!X.isOptional())X=X.optional();H[J]=X}return R.object(H)}extractTableMetadata($){let H=[];for(let[J,Q]of Object.entries($._.columns))H.push({name:J,dataType:Q._.dataType,isPrimaryKey:Q._.isPrimaryKey,isNotNull:Q._.notNull,hasDefault:Q._.hasDefault,isUnique:Q._.isUnique,isAutoIncrement:Q._.columnType.includes("serial"),enumValues:Q._.enumValues});return{name:$._.name,schema:$._.schema,columns:H,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 uq{name="drizzle";version="1.0.0";database;config;transactionManager;schemaConverter;tables=new Map;tableMetadata=new Map;logger=_$({component:"DrizzlePlugin"});constructor($,H){this.database=$,this.config={logger:!1,mode:"default",...H},this.transactionManager=new l2($),this.schemaConverter=new D7}async install($){try{if(this.logger.info("Installing Drizzle ORM plugin..."),e1(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(H){let J=H instanceof Error?H:Error(String(H));throw this.logger.error("Failed to install Drizzle plugin",J),Error(`Drizzle plugin installation failed: ${J.message}`)}}registerSchema($){let H=0,J=0;for(let[Q,X]of Object.entries($))if(this.isValidDrizzleTable(X))try{this.tables.set(Q,X);let Y=this.schemaConverter.extractTableMetadata(X);this.tableMetadata.set(Q,Y),H++,this.logger.debug(`Registered table: ${Q}`)}catch(Y){let W=Y instanceof Error?Y:Error(String(Y));this.logger.error(`Failed to register table ${Q}`,W,{tableName:Q}),J++}else this.logger.debug(`Skipped invalid table: ${Q}`),J++;this.logger.info(`\uD83D\uDCDD Registered ${H} Drizzle table(s)${J>0?` (${J} skipped)`:""}`)}isValidDrizzleTable($){if(!$||typeof $!=="object")return!1;let H=$;if(!H._||typeof H._!=="object")return!1;if(typeof H._.name!=="string"||H._.name.trim().length===0)return!1;if(!H._.columns||typeof H._.columns!=="object")return!1;if(Object.keys(H._.columns).length===0)return this.logger.warn(`Table ${H._.name} has no columns defined`),!1;return!0}registerRepositoryFactory($){let H=$.getContainer();H.register("DrizzleRepositoryFactory",{scope:"singleton",factory:()=>({create:(J,Q)=>{let X=this.tables.get(J);if(!X)throw Error(`Table ${J} not found in Drizzle schema`);return new t1({database:this.database,table:X,zodSchema:Q||this.tableMetadata.get(J)?.zodSchema})},createFromTable:(J,Q)=>{return new t1({database:this.database,table:J,zodSchema:Q})}})}),H.register("DrizzleDatabase",{scope:"singleton",factory:()=>this.database}),H.register("TransactionManager",{scope:"singleton",factory:()=>this.transactionManager}),H.register("DrizzleSchemaConverter",{scope:"singleton",factory:()=>this.schemaConverter})}registerDatabaseUtilities($){let H=$.getContainer();H.register("QueryBuilder",{scope:"request",factory:()=>({select:(J)=>this.database.select(J),insert:(J)=>this.database.insert(J),update:(J)=>this.database.update(J),delete:(J)=>this.database.delete(J),raw:(J,Q)=>this.database.execute({sql:J,params:Q})})}),H.register("Seeder",{scope:"singleton",factory:()=>({seed:async(J)=>{let Q=_$({component:"Seeder"});try{Q.info(`Running ${J.length} seeder(s)...`),await this.transactionManager.executeInTransaction(async(X)=>{for(let Y of J)if(typeof Y.run==="function")Q.debug(`Running seeder: ${Y.constructor.name}`),await Y.run(X);else Q.warn(`Skipping invalid seeder (no run method): ${Y.constructor.name}`)}),Q.info("\u2705 Database seeded successfully")}catch(X){let Y=X instanceof Error?X:Error(String(X));throw Q.error("Failed to seed database",Y),Error(`Database seeding failed: ${Y.message}`)}}})})}getTable($){return this.tables.get($)}getTables(){return this.tables}getTableMetadata($){return this.tableMetadata.get($)}getAllTableMetadata(){return this.tableMetadata}createRepository($,H){let J=this.tables.get($);if(!J)throw Error(`Table ${$} not found in Drizzle schema`);return new t1({database:this.database,table:J,zodSchema:H||this.tableMetadata.get($)?.zodSchema})}createRepositoryFromTable($,H){return new t1({database:this.database,table:$,zodSchema:H})}getDatabase(){return this.database}getTransactionManager(){return this.transactionManager}getSchemaConverter(){return this.schemaConverter}addTable($,H){if(!this.isValidDrizzleTable(H))throw Error(`Invalid Drizzle table: ${$}`);this.tables.set($,H);let J=this.schemaConverter.extractTableMetadata(H);this.tableMetadata.set($,J),this.logger.debug(`Added table dynamically: ${$}`)}removeTable($){let H=this.tables.has($);if(this.tables.delete($),this.tableMetadata.delete($),H)this.logger.debug(`Removed table: ${$}`);return H}generateZodSchemas(){let $={};for(let[H,J]of this.tables){let Q=this.schemaConverter.generateAllSchemas(J);$[H]=Q}return $}async executeRaw($,H){try{return this.logger.debug("Executing raw SQL query"),await this.database.execute({sql:$,params:H})}catch(J){let Q=J instanceof Error?J:Error(String(J));throw this.logger.error("Raw SQL query failed",Q),Error(`SQL execution failed: ${Q.message}`)}}async executeInTransaction($){try{return await this.transactionManager.executeInTransaction($)}catch(H){let J=H instanceof Error?H:Error(String(H));throw this.logger.error("Transaction failed",J),H}}}class V7{client;prefix;constructor($,H={}){this.client=$,this.prefix=H.prefix||"cache:"}async get($){let H=this.getFullKey($),J=await this.client.get(H);if(!J)return null;try{return JSON.parse(J)}catch{return J}}async set($,H,J=0){let Q=this.getFullKey($),X=JSON.stringify(H);if(J>0)await this.client.setex(Q,J,X);else await this.client.set(Q,X)}async delete($){let H=this.getFullKey($);return await this.client.del(H)>0}async has($){let H=this.getFullKey($);return await this.client.exists(H)>0}async clear(){let $=await this.keys("*");if($.length>0)await Promise.all($.map((H)=>this.delete(H)))}async deletePattern($){let H=await this.keys($);if(H.length===0)return 0;return await Promise.all(H.map((J)=>this.delete(J))),H.length}async keys($="*"){let H=this.getFullKey($);return(await this.client.keys(H)).map((Q)=>Q.substring(this.prefix.length))}getFullKey($){return`${this.prefix}${$}`}}function OC($,H){return new V7($,H)}w4();export{DX as zodToJsonSchema,N0 as zodToGraphQLType,Xb as zodObjectToGraphQLType,Yb as zodObjectToGraphQLInput,R as z,Xy as withRepositoryMixin,hq as transactionMiddleware,BE as setupTestApp,JC as setSessionData,GU as setRequestMetadata,P7 as setRequestContext,e1 as setGlobalTransactionManager,NQ as setCache,cP as requestLoggingMiddleware,QC as removeSessionData,F$ as parseTTL,UE as mockDependency,$C as isSessionAuthenticated,lS as isOAuthAuthenticated,O4 as isNullable,cv as isAuthenticated,RQ as invalidateCache,o4 as initializeRequestContext,uP as initializeLogger,Hb as hasResolverMetadata,Jb as hasFieldMetadata,r$ as globalTransactionEventManager,Yy as globalRepositoryRegistry,Iq as getUserRoles,kS as getUserPermissions,DC as getTransactionInterceptor,Cq as getToken,HC as getSessionUserId,d4 as getSessionManager,eS as getSessionData,tx as getResolverMetadata,qU as getRequestMetadata,XU as getRequestId,r4 as getRequestDuration,R0 as getRequestContext,fS as getRBACManager,dS as getOAuthUser,cS as getOAuthToken,pS as getOAuthProvider,m0 as getLogger,b0 as getGlobalTransactionManager,ex as getFieldsMetadata,$b as getFieldMetadata,FX as getDefaultValue,J$ as getCurrentUser,a1 as getCurrentSession,zQ as getCache,tS as getCSRFProtection,lv as getAuthError,y6 as getArgumentsMetadata,YU as getAbortSignal,C7 as generateRequestId,lP as errorLoggingMiddleware,AQ as deleteCache,EC as createTypeORMPlugin,zy as createTransactionalProxy,xy as createTransactionPlugin,iX as createTestClient,nX as createTestApp,_A as createSimpleRequestIdMiddleware,aS as createSessionMiddleware,VA as createRequestContextMiddleware,OC as createRedisCacheStore,r2 as createRateLimitMiddleware,Kq as createRBACMiddleware,RC as createPrismaPlugin,FQ as createLogger,Mq as createDefaultRBAC,o2 as createCorsMiddleware,a2 as createCompressionMiddleware,_$ as createChildLogger,FA as createCacheMiddleware,zA as createCacheInvalidationMiddleware,Sq as createAuthMiddleware,wE as clearMocks,EQ as clearCache,a4 as cleanupRequestContext,Hg as checkUserRole,Jg as checkUserPermission,WU as abortRequest,i0 as ZodToJsonSchemaConverter,h6 as WebSocketPlugin,c9 as WebSocketManager,d9 as WebSocketConnection,yR as WebSocket,v$ as VeloceTS,v$ as Veloce,o0 as ValidationException,b$ as ValidationEngine,rk as UseMiddleware,hR as UnauthorizedException,c2 as TypeORMTransactionManager,x0 as TypeORMRepository,w7 as TypeORMPlugin,jC as TypeORMEntity,o$ as TransactionalWithPropagation,UC as Transactional,NC as TransactionTemplate,zC as TransactionService,_C as TransactionPropagationManager,VC as TransactionPropagation,gq as TransactionPlugin,U7 as TransactionMetricsListener,q7 as TransactionLoggingListener,X$ as TransactionInterceptor,FC as TransactionEventType,vq as TransactionEventManager,mX as TokenRevokedException,Lv as TokenPayloadSchema,Q2 as TokenExpiredException,dv as Token,l9 as TestClient,Ey as Supports,ev as SuperAdminOnly,ox as Subscription,N5 as StreamResponse,Tq as SessionManager,xq as SessionGuard,nS as SessionDataSchema,iS as Session,X2 as RouterCompiler,xS as Roles,kv as RoleSchema,hv as RoleAssignmentSchema,A5 as ResponseSerializer,uX as Response,nx as Resolver,Ry as RequiresNew,Ay as Required,Pq as RequireRole,av as RequirePermission,rS as RequireCSRF,AE as RequestId,XC as RepositoryService,u2 as RepositoryRegistry,i$ as RepositoryFactory,qC as Repository,Sv as RefreshRequestSchema,V7 as RedisCacheStore,F5 as RedirectResponse,hS as RBACPlugin,u4 as RBACManager,y2 as RBACGuard,YC as QueryBuilderFactory,G7 as QueryBuilder,VE as Query,uk as Put,l4 as PrismaZodSchemaGenerator,d2 as PrismaTransactionManager,T0 as PrismaRepository,B7 as PrismaPlugin,yk as Post,W2 as PluginManager,bS as Permissions,m4 as PermissionMatcher,vv as PermissionCheckSchema,dk as Patch,_E as Param,GC as PaginationTransformer,c4 as PaginationHelper,WC as PaginationBuilder,Uy as Paginated,VX as OpenAPIPlugin,E4 as OpenAPIGenerator,Cy as OnTransactionRollback,Sy as OnTransactionCommit,My as OnTransactionBegin,mR as OnMessage,dR as OnDisconnect,uR as OnConnect,gS as OAuthUserSchema,uS as OAuthUser,mS as OAuthToken,yS as OAuth,jy as NotSupported,kR as NotFoundException,Zy as Never,sx as Mutation,$g as MinimumRole,yq as Migration,d as MetadataRegistry,J2 as MetadataCompiler,x9 as MemoryCacheStore,Oy as Mandatory,Mv as LoginRequestSchema,W7 as JWTProvider,V5 as JSONResponse,h$ as InvalidTokenException,TS as InMemoryUserProvider,s$ as InMemoryTransactionManager,R5 as HonoAdapter,gR as HealthCheckers,NX as HealthCheckPlugin,FE as Header,f1 as HTTPException,_5 as HTMLResponse,ox as GraphQLSubscription,m6 as GraphQLSchemaBuilder,ix as GraphQLQuery,zX as GraphQLPlugin,sx as GraphQLMutation,ax as GraphQLCtx,gk as Get,Qy as GenericRepository,ox as GQLSubscription,ix as GQLQuery,sx as GQLMutation,ax as GQLContext,vR as ForbiddenException,z5 as FileResponse,v$ as FastAPITS,j5 as ExpressAdapter,Y2 as ErrorHandler,BC as Entity,D7 as DrizzleZodSchemaConverter,l2 as DrizzleTransactionManager,t1 as DrizzleRepository,uq as DrizzlePlugin,sk as Depends,mk as Delete,bq as DefaultQueryOperators,t9 as DIContainer,fq as CursorPaginationHelper,mv as CurrentUser,sS as CurrentSession,NE as Ctx,zE as Cookie,vk as Controller,wC as Column,b1 as CacheManager,jE as CacheInvalidate,EE as Cache,oS as CSRFToken,DE as Body,w0 as BaseTransactionManager,Q$ as BaseRepository,u6 as BadRequestException,P1 as AuthorizationException,L1 as AuthenticationException,g2 as AuthService,vS as AuthPlugin,uv as Auth,rx as Arg,$h as ApiResponse,ek as ApiDoc,ck as All,tv as AdminOnly,RE as AbortSignal};
|
|
5
167
|
|
|
6
|
-
//# debugId=
|
|
168
|
+
//# debugId=9AEB40598A2CD5F364756E2164756E21
|