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.
Files changed (180) hide show
  1. package/CHANGELOG.md +501 -240
  2. package/README.md +141 -1
  3. package/dist/cjs/src/cli/index.js +125 -74
  4. package/dist/cjs/src/cli/index.js.map +4 -4
  5. package/dist/cjs/src/index.js +66 -25
  6. package/dist/cjs/src/index.js.map +112 -10
  7. package/dist/cjs/src/middleware/index.js +28 -2
  8. package/dist/cjs/src/middleware/index.js.map +79 -4
  9. package/dist/cjs/src/plugins/index.js +49 -23
  10. package/dist/cjs/src/plugins/index.js.map +74 -4
  11. package/dist/cjs/src/testing/index.js +30 -4
  12. package/dist/cjs/src/testing/index.js.map +80 -7
  13. package/dist/cjs/src/websocket/index.js +3 -3
  14. package/dist/cjs/src/websocket/index.js.map +1 -1
  15. package/dist/esm/src/cli/index.js +561 -22
  16. package/dist/esm/src/cli/index.js.map +8 -4
  17. package/dist/esm/src/docs/index.js +6 -6
  18. package/dist/esm/src/docs/index.js.map +10 -3
  19. package/dist/esm/src/errors/index.js +3 -2
  20. package/dist/esm/src/errors/index.js.map +7 -3
  21. package/dist/esm/src/graphql/index.js +82 -2
  22. package/dist/esm/src/graphql/index.js.map +18 -3
  23. package/dist/esm/src/index.js +165 -3
  24. package/dist/esm/src/index.js.map +202 -6
  25. package/dist/esm/src/middleware/index.js +28 -2
  26. package/dist/esm/src/middleware/index.js.map +81 -3
  27. package/dist/esm/src/plugins/index.js +113 -3
  28. package/dist/esm/src/plugins/index.js.map +131 -4
  29. package/dist/esm/src/testing/index.js +42 -2
  30. package/dist/esm/src/testing/index.js.map +97 -7
  31. package/dist/esm/src/types/index.js +2 -2
  32. package/dist/esm/src/types/index.js.map +10 -3
  33. package/dist/esm/src/validation/index.js +2 -2
  34. package/dist/esm/src/validation/index.js.map +13 -3
  35. package/dist/esm/src/websocket/index.js +15 -2
  36. package/dist/esm/src/websocket/index.js.map +9 -4
  37. package/dist/types/adapters/base.d.ts +10 -2
  38. package/dist/types/adapters/base.d.ts.map +1 -1
  39. package/dist/types/adapters/hono.d.ts +2 -2
  40. package/dist/types/adapters/hono.d.ts.map +1 -1
  41. package/dist/types/auth/permissions.d.ts +10 -10
  42. package/dist/types/auth/session.d.ts +2 -2
  43. package/dist/types/cache/index.d.ts +9 -0
  44. package/dist/types/cache/index.d.ts.map +1 -0
  45. package/dist/types/cache/manager.d.ts +75 -0
  46. package/dist/types/cache/manager.d.ts.map +1 -0
  47. package/dist/types/cache/memory-store.d.ts +55 -0
  48. package/dist/types/cache/memory-store.d.ts.map +1 -0
  49. package/dist/types/cache/redis-store.d.ts +55 -0
  50. package/dist/types/cache/redis-store.d.ts.map +1 -0
  51. package/dist/types/cache/types.d.ts +92 -0
  52. package/dist/types/cache/types.d.ts.map +1 -0
  53. package/dist/types/cli/commands/new.d.ts.map +1 -1
  54. package/dist/types/context/request-context.d.ts +66 -0
  55. package/dist/types/context/request-context.d.ts.map +1 -0
  56. package/dist/types/core/application.d.ts +11 -0
  57. package/dist/types/core/application.d.ts.map +1 -1
  58. package/dist/types/core/router-compiler.d.ts +1 -1
  59. package/dist/types/core/router-compiler.d.ts.map +1 -1
  60. package/dist/types/decorators/cache.d.ts +56 -0
  61. package/dist/types/decorators/cache.d.ts.map +1 -0
  62. package/dist/types/decorators/params.d.ts +24 -0
  63. package/dist/types/decorators/params.d.ts.map +1 -1
  64. package/dist/types/dependencies/container.d.ts +1 -1
  65. package/dist/types/dependencies/container.d.ts.map +1 -1
  66. package/dist/types/index.d.ts +7 -1
  67. package/dist/types/index.d.ts.map +1 -1
  68. package/dist/types/logging/index.d.ts +10 -0
  69. package/dist/types/logging/index.d.ts.map +1 -0
  70. package/dist/types/logging/logger.d.ts +25 -0
  71. package/dist/types/logging/logger.d.ts.map +1 -0
  72. package/dist/types/logging/middleware.d.ts +15 -0
  73. package/dist/types/logging/middleware.d.ts.map +1 -0
  74. package/dist/types/logging/types.d.ts +22 -0
  75. package/dist/types/logging/types.d.ts.map +1 -0
  76. package/dist/types/middleware/cache.d.ts +54 -0
  77. package/dist/types/middleware/cache.d.ts.map +1 -0
  78. package/dist/types/middleware/index.d.ts +3 -0
  79. package/dist/types/middleware/index.d.ts.map +1 -1
  80. package/dist/types/middleware/request-context.d.ts +55 -0
  81. package/dist/types/middleware/request-context.d.ts.map +1 -0
  82. package/dist/types/orm/base-repository.d.ts +77 -0
  83. package/dist/types/orm/base-repository.d.ts.map +1 -0
  84. package/dist/types/orm/decorators.d.ts +35 -0
  85. package/dist/types/orm/decorators.d.ts.map +1 -0
  86. package/dist/types/orm/drizzle/index.d.ts +6 -0
  87. package/dist/types/orm/drizzle/index.d.ts.map +1 -0
  88. package/dist/types/orm/drizzle/plugin.d.ts +165 -0
  89. package/dist/types/orm/drizzle/plugin.d.ts.map +1 -0
  90. package/dist/types/orm/drizzle/repository.d.ts +61 -0
  91. package/dist/types/orm/drizzle/repository.d.ts.map +1 -0
  92. package/dist/types/orm/drizzle/schema-converter.d.ts +53 -0
  93. package/dist/types/orm/drizzle/schema-converter.d.ts.map +1 -0
  94. package/dist/types/orm/drizzle/transaction-manager.d.ts +58 -0
  95. package/dist/types/orm/drizzle/transaction-manager.d.ts.map +1 -0
  96. package/dist/types/orm/drizzle/types.d.ts +121 -0
  97. package/dist/types/orm/drizzle/types.d.ts.map +1 -0
  98. package/dist/types/orm/index.d.ts +16 -0
  99. package/dist/types/orm/index.d.ts.map +1 -0
  100. package/dist/types/orm/pagination.d.ts +147 -0
  101. package/dist/types/orm/pagination.d.ts.map +1 -0
  102. package/dist/types/orm/prisma/index.d.ts +6 -0
  103. package/dist/types/orm/prisma/index.d.ts.map +1 -0
  104. package/dist/types/orm/prisma/plugin.d.ts +68 -0
  105. package/dist/types/orm/prisma/plugin.d.ts.map +1 -0
  106. package/dist/types/orm/prisma/repository.d.ts +70 -0
  107. package/dist/types/orm/prisma/repository.d.ts.map +1 -0
  108. package/dist/types/orm/prisma/schema-generator.d.ts +45 -0
  109. package/dist/types/orm/prisma/schema-generator.d.ts.map +1 -0
  110. package/dist/types/orm/prisma/transaction-manager.d.ts +32 -0
  111. package/dist/types/orm/prisma/transaction-manager.d.ts.map +1 -0
  112. package/dist/types/orm/prisma/types.d.ts +67 -0
  113. package/dist/types/orm/prisma/types.d.ts.map +1 -0
  114. package/dist/types/orm/query-builder.d.ts +129 -0
  115. package/dist/types/orm/query-builder.d.ts.map +1 -0
  116. package/dist/types/orm/repository-factory.d.ts +130 -0
  117. package/dist/types/orm/repository-factory.d.ts.map +1 -0
  118. package/dist/types/orm/transaction-events.d.ts +122 -0
  119. package/dist/types/orm/transaction-events.d.ts.map +1 -0
  120. package/dist/types/orm/transaction-interceptor.d.ts +30 -0
  121. package/dist/types/orm/transaction-interceptor.d.ts.map +1 -0
  122. package/dist/types/orm/transaction-manager.d.ts +64 -0
  123. package/dist/types/orm/transaction-manager.d.ts.map +1 -0
  124. package/dist/types/orm/transaction-plugin.d.ts +117 -0
  125. package/dist/types/orm/transaction-plugin.d.ts.map +1 -0
  126. package/dist/types/orm/transaction-propagation.d.ts +49 -0
  127. package/dist/types/orm/transaction-propagation.d.ts.map +1 -0
  128. package/dist/types/orm/typeorm/decorators.d.ts +40 -0
  129. package/dist/types/orm/typeorm/decorators.d.ts.map +1 -0
  130. package/dist/types/orm/typeorm/index.d.ts +6 -0
  131. package/dist/types/orm/typeorm/index.d.ts.map +1 -0
  132. package/dist/types/orm/typeorm/plugin.d.ts +100 -0
  133. package/dist/types/orm/typeorm/plugin.d.ts.map +1 -0
  134. package/dist/types/orm/typeorm/repository.d.ts +58 -0
  135. package/dist/types/orm/typeorm/repository.d.ts.map +1 -0
  136. package/dist/types/orm/typeorm/transaction-manager.d.ts +48 -0
  137. package/dist/types/orm/typeorm/transaction-manager.d.ts.map +1 -0
  138. package/dist/types/orm/typeorm/types.d.ts +139 -0
  139. package/dist/types/orm/typeorm/types.d.ts.map +1 -0
  140. package/dist/types/plugins/health.d.ts +75 -0
  141. package/dist/types/plugins/health.d.ts.map +1 -0
  142. package/dist/types/plugins/index.d.ts +2 -0
  143. package/dist/types/plugins/index.d.ts.map +1 -1
  144. package/dist/types/types/index.d.ts +15 -2
  145. package/dist/types/types/index.d.ts.map +1 -1
  146. package/dist/types/websocket/index.d.ts +1 -1
  147. package/dist/types/websocket/index.d.ts.map +1 -1
  148. package/package.json +22 -2
  149. package/dist/esm/chunk-2100y16g.js +0 -5
  150. package/dist/esm/chunk-2100y16g.js.map +0 -10
  151. package/dist/esm/chunk-5q75d71c.js +0 -4
  152. package/dist/esm/chunk-5q75d71c.js.map +0 -16
  153. package/dist/esm/chunk-8dpc6an2.js +0 -7
  154. package/dist/esm/chunk-8dpc6an2.js.map +0 -10
  155. package/dist/esm/chunk-9v7atckx.js +0 -5
  156. package/dist/esm/chunk-9v7atckx.js.map +0 -10
  157. package/dist/esm/chunk-bvstdn0t.js +0 -60
  158. package/dist/esm/chunk-bvstdn0t.js.map +0 -10
  159. package/dist/esm/chunk-ctwpr5gr.js +0 -430
  160. package/dist/esm/chunk-ctwpr5gr.js.map +0 -10
  161. package/dist/esm/chunk-dtw2tbsd.js +0 -5
  162. package/dist/esm/chunk-dtw2tbsd.js.map +0 -12
  163. package/dist/esm/chunk-ef0vfd27.js +0 -72
  164. package/dist/esm/chunk-ef0vfd27.js.map +0 -13
  165. package/dist/esm/chunk-k66rn4fj.js +0 -18
  166. package/dist/esm/chunk-k66rn4fj.js.map +0 -10
  167. package/dist/esm/chunk-mky5qqg0.js +0 -5
  168. package/dist/esm/chunk-mky5qqg0.js.map +0 -10
  169. package/dist/esm/chunk-mznkhz9c.js +0 -5
  170. package/dist/esm/chunk-mznkhz9c.js.map +0 -12
  171. package/dist/esm/chunk-s5z0wb7e.js +0 -5
  172. package/dist/esm/chunk-s5z0wb7e.js.map +0 -10
  173. package/dist/esm/chunk-vh4sxcpe.js +0 -6
  174. package/dist/esm/chunk-vh4sxcpe.js.map +0 -10
  175. package/dist/esm/chunk-xa333k40.js +0 -7
  176. package/dist/esm/chunk-xa333k40.js.map +0 -10
  177. package/dist/esm/chunk-y262e56g.js +0 -5
  178. package/dist/esm/chunk-y262e56g.js.map +0 -9
  179. package/dist/esm/chunk-yq3gf9ts.js +0 -5
  180. package/dist/esm/chunk-yq3gf9ts.js.map +0 -10
@@ -1,4 +1,30 @@
1
- var SW=Object.create;var{getPrototypeOf:AW,defineProperty:H$,getOwnPropertyNames:Y2,getOwnPropertyDescriptor:EW}=Object,G2=Object.prototype.hasOwnProperty;var X$=($,J,Q)=>{Q=$!=null?SW(AW($)):{};let W=J||!$||!$.__esModule?H$(Q,"default",{value:$,enumerable:!0}):Q;for(let H of Y2($))if(!G2.call(W,H))H$(W,H,{get:()=>$[H],enumerable:!0});return W},q2=new WeakMap,M0=($)=>{var J=q2.get($),Q;if(J)return J;if(J=H$({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function")Y2($).map((W)=>!G2.call(J,W)&&H$(J,W,{get:()=>$[W],enumerable:!(Q=EW($,W))||Q.enumerable}));return q2.set($,J),J},A=($,J)=>()=>(J||$((J={exports:{}}).exports,J),J.exports);var L0=($,J)=>{for(var Q in J)H$($,Q,{get:J[Q],enumerable:!0,configurable:!0,set:(W)=>J[Q]=()=>W})};var B2=($,J)=>()=>($&&(J=$($=0)),J);var N$=A(()=>{/*! *****************************************************************************
1
+ var vB=Object.create;var{getPrototypeOf:gB,defineProperty:F4,getOwnPropertyNames:A3,getOwnPropertyDescriptor:yB}=Object,R3=Object.prototype.hasOwnProperty;var F0=($,H,J)=>{J=$!=null?vB(gB($)):{};let Q=H||!$||!$.__esModule?F4(J,"default",{value:$,enumerable:!0}):J;for(let X of A3($))if(!R3.call(Q,X))F4(Q,X,{get:()=>$[X],enumerable:!0});return Q},N3=new WeakMap,l1=($)=>{var H=N3.get($),J;if(H)return H;if(H=F4({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function")A3($).map((Q)=>!R3.call(H,Q)&&F4(H,Q,{get:()=>$[Q],enumerable:!(J=yB($,Q))||J.enumerable}));return N3.set($,H),H},N=($,H)=>()=>(H||$((H={exports:{}}).exports,H),H.exports);var L1=($,H)=>{for(var J in H)F4($,J,{get:H[J],enumerable:!0,configurable:!0,set:(Q)=>H[J]=()=>Q})};var Z9=($,H)=>()=>($&&(H=$($=0)),H);var K8={};L1(K8,{setRequestMetadata:()=>Z3,setRequestContext:()=>P8,initializeRequestContext:()=>R4,getRequestMetadata:()=>L3,getRequestId:()=>E3,getRequestDuration:()=>E4,getRequestContext:()=>N0,getAbortSignal:()=>j3,generateRequestId:()=>C8,cleanupRequestContext:()=>j4,abortRequest:()=>O3});function C8(){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 N0($){return $.get("veloce:request-context")||null}function P8($,H){$.set("veloce:request-context",H)}function R4($,H){let J=H?.requestId||C8(),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 P8($,X),X}function E3($){return N0($)?.requestId||null}function j3($){return N0($)?.abortSignal||null}function O3($){let H=N0($);if(H?.abortController&&!H.abortSignal.aborted)H.abortController.abort()}function Z3($,H,J){let Q=N0($);if(Q)Q.metadata[H]=J}function L3($,H){return N0($)?.metadata[H]}function E4($){let H=N0($);if(!H)return null;return Date.now()-H.startTime}function j4($){let H=N0($);if(H?.timeoutId)clearTimeout(H.timeoutId)}var T8=N((gC,C3)=>{var O4=($)=>{return $&&typeof $.message==="string"},I8=($)=>{if(!$)return;let H=$.cause;if(typeof H==="function"){let J=$.cause();return O4(J)?J:void 0}else return O4(H)?H:void 0},M3=($,H)=>{if(!O4($))return"";let J=$.stack||"";if(H.has($))return J+`
2
+ causes have become circular...`;let Q=I8($);if(Q)return H.add($),J+`
3
+ caused by: `+M3(Q,H);else return J},uB=($)=>M3($,new Set),S3=($,H,J)=>{if(!O4($))return"";let Q=J?"":$.message||"";if(H.has($))return Q+": ...";let X=I8($);if(X){H.add($);let Y=typeof $.cause==="function";return Q+(Y?"":": ")+S3(X,H,Y)}else return Q},mB=($)=>S3($,new Set);C3.exports={isErrorLike:O4,getErrorCause:I8,stackWithCauses:uB,messageWithCauses:mB}});var b8=N((yC,K3)=>{var dB=Symbol("circular-ref-tag"),L9=Symbol("pino-raw-err-ref"),P3=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[L9]},set:function($){this[L9]=$}}});Object.defineProperty(P3,L9,{writable:!0,value:{}});K3.exports={pinoErrProto:P3,pinoErrorSymbols:{seen:dB,rawSymbol:L9}}});var b3=N((uC,T3)=>{T3.exports=x8;var{messageWithCauses:cB,stackWithCauses:lB,isErrorLike:I3}=T8(),{pinoErrProto:pB,pinoErrorSymbols:nB}=b8(),{seen:f8}=nB,{toString:iB}=Object.prototype;function x8($){if(!I3($))return $;$[f8]=void 0;let H=Object.create(pB);if(H.type=iB.call($.constructor)==="[object Function]"?$.constructor.name:$.name,H.message=cB($),H.stack=lB($),Array.isArray($.errors))H.aggregateErrors=$.errors.map((J)=>x8(J));for(let J in $)if(H[J]===void 0){let Q=$[J];if(I3(Q)){if(J!=="cause"&&!Object.prototype.hasOwnProperty.call(Q,f8))H[J]=x8(Q)}else H[J]=Q}return delete $[f8],H.raw=$,H}});var x3=N((mC,f3)=>{f3.exports=S9;var{isErrorLike:k8}=T8(),{pinoErrProto:sB,pinoErrorSymbols:oB}=b8(),{seen:M9}=oB,{toString:rB}=Object.prototype;function S9($){if(!k8($))return $;$[M9]=void 0;let H=Object.create(sB);if(H.type=rB.call($.constructor)==="[object Function]"?$.constructor.name:$.name,H.message=$.message,H.stack=$.stack,Array.isArray($.errors))H.aggregateErrors=$.errors.map((J)=>S9(J));if(k8($.cause)&&!Object.prototype.hasOwnProperty.call($.cause,M9))H.cause=S9($.cause);for(let J in $)if(H[J]===void 0){let Q=$[J];if(k8(Q)){if(!Object.prototype.hasOwnProperty.call(Q,M9))H[J]=S9(Q)}else H[J]=Q}return delete $[M9],H.raw=$,H}});var g3=N((dC,v3)=>{v3.exports={mapHttpRequest:aB,reqSerializer:h3};var h8=Symbol("pino-raw-req-ref"),k3=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[h8]},set:function($){this[h8]=$}}});Object.defineProperty(k3,h8,{writable:!0,value:{}});function h3($){let H=$.info||$.socket,J=Object.create(k3);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 aB($){return{req:h3($)}}});var d3=N((cC,m3)=>{m3.exports={mapHttpResponse:tB,resSerializer:u3};var v8=Symbol("pino-raw-res-ref"),y3=Object.create({},{statusCode:{enumerable:!0,writable:!0,value:0},headers:{enumerable:!0,writable:!0,value:""},raw:{enumerable:!1,get:function(){return this[v8]},set:function($){this[v8]=$}}});Object.defineProperty(y3,v8,{writable:!0,value:{}});function u3($){let H=Object.create(y3);return H.statusCode=$.headersSent?$.statusCode:null,H.headers=$.getHeaders?$.getHeaders():$._headers,H.raw=$,H}function tB($){return{res:u3($)}}});var y8=N((lC,c3)=>{var g8=b3(),eB=x3(),C9=g3(),P9=d3();c3.exports={err:g8,errWithCause:eB,mapHttpRequest:C9.mapHttpRequest,mapHttpResponse:P9.mapHttpResponse,req:C9.reqSerializer,res:P9.resSerializer,wrapErrorSerializer:function(H){if(H===g8)return H;return function(Q){return H(g8(Q))}},wrapRequestSerializer:function(H){if(H===C9.reqSerializer)return H;return function(Q){return H(C9.reqSerializer(Q))}},wrapResponseSerializer:function(H){if(H===P9.resSerializer)return H;return function(Q){return H(P9.resSerializer(Q))}}}});var u8=N((pC,l3)=>{function $w($,H){return H}l3.exports=function(){let H=Error.prepareStackTrace;Error.prepareStackTrace=$w;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 r3=N((nC,o3)=>{function m8($){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]=m8($[J]);return H}if(typeof $==="object"){let H=Object.create(Object.getPrototypeOf($));for(let J in $)if(Object.prototype.hasOwnProperty.call($,J))H[J]=m8($[J]);return H}return $}function p3($){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 n3($,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 i3($,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 K9=Symbol("PATH_NOT_FOUND");function Hw($,H){let J=$;for(let Q of H){if(J===null||J===void 0)return K9;if(typeof J!=="object"||J===null)return K9;if(!(Q in J))return K9;J=J[Q]}return J}function Jw($,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 Qw($,H,J,Q=!1){for(let X of H){let Y=p3(X);if(Y.includes("*"))s3($,Y,J,X,Q);else if(Q)i3($,Y);else{let W=Hw($,Y);if(W===K9)continue;let G=typeof J==="function"?J(W,Y):J;n3($,Y,G)}}}function s3($,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 Xw($,H,J,Y,Q,X)}function Xw($,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("*"))s3(B,G,typeof J==="function"?(V,D)=>{let A=[...q.slice(0,w),...D];return J(V,A)}:J,X,Y);else if(Y)i3(B,G);else{let _=typeof J==="function"?J(Jw(B,G),[...q.slice(0,w),...G]):J;n3(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 Yw($){if($.length===0)return null;let H=new Map;for(let J of $){let Q=p3(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 Ww($,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 Gw($){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 qw($){if(!Array.isArray($))throw TypeError("paths must be an array");for(let H of $)Gw(H)}function Uw($={}){let{paths:H=[],censor:J="[REDACTED]",serialize:Q=JSON.stringify,strict:X=!0,remove:Y=!1}=$;qw(H);let W=Yw(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=Ww(q,W),B=q,w=J;if(typeof J==="function")w=J;if(Qw(U,H,w,Y),Q===!1)return U.restore=function(){return m8(B)},U;if(typeof Q==="function")return Q(U);return JSON.stringify(U)}}o3.exports=Uw});var E$=N((iC,a3)=>{var Bw=Symbol("pino.setLevel"),ww=Symbol("pino.getLevel"),Dw=Symbol("pino.levelVal"),Vw=Symbol("pino.levelComp"),_w=Symbol("pino.useLevelLabels"),Fw=Symbol("pino.useOnlyCustomLevels"),zw=Symbol("pino.mixin"),Nw=Symbol("pino.lsCache"),Aw=Symbol("pino.chindings"),Rw=Symbol("pino.asJson"),Ew=Symbol("pino.write"),jw=Symbol("pino.redactFmt"),Ow=Symbol("pino.time"),Zw=Symbol("pino.timeSliceIndex"),Lw=Symbol("pino.stream"),Mw=Symbol("pino.stringify"),Sw=Symbol("pino.stringifySafe"),Cw=Symbol("pino.stringifiers"),Pw=Symbol("pino.end"),Kw=Symbol("pino.formatOpts"),Iw=Symbol("pino.messageKey"),Tw=Symbol("pino.errorKey"),bw=Symbol("pino.nestedKey"),fw=Symbol("pino.nestedKeyStr"),xw=Symbol("pino.mixinMergeStrategy"),kw=Symbol("pino.msgPrefix"),hw=Symbol("pino.wildcardFirst"),vw=Symbol.for("pino.serializers"),gw=Symbol.for("pino.formatters"),yw=Symbol.for("pino.hooks"),uw=Symbol.for("pino.metadata");a3.exports={setLevelSym:Bw,getLevelSym:ww,levelValSym:Dw,levelCompSym:Vw,useLevelLabelsSym:_w,mixinSym:zw,lsCacheSym:Nw,chindingsSym:Aw,asJsonSym:Rw,writeSym:Ew,serializersSym:vw,redactFmtSym:jw,timeSym:Ow,timeSliceIndexSym:Zw,streamSym:Lw,stringifySym:Mw,stringifySafeSym:Sw,stringifiersSym:Cw,endSym:Pw,formatOptsSym:Kw,messageKeySym:Iw,errorKeySym:Tw,nestedKeySym:bw,wildcardFirstSym:hw,needsMetadataGsym:uw,useOnlyCustomLevelsSym:Fw,formattersSym:gw,hooksSym:yw,nestedKeyStrSym:fw,mixinMergeStrategySym:xw,msgPrefixSym:kw}});var c8=N((sC,e3)=>{var t3=r3(),{redactFmtSym:mw,wildcardFirstSym:I9}=E$(),d8=/[^.[\]]+|\[([^[\]]*?)\]/g;function dw($,H){let{paths:J,censor:Q,remove:X}=cw($),Y=J.reduce((q,U)=>{d8.lastIndex=0;let B=d8.exec(U),w=d8.exec(U),_=B[1]!==void 0?B[1].replace(/^(?:"|'|`)(.*)(?:"|'|`)$/,"$1"):B[0];if(_==="*")_=I9;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[_]||[],_!==I9&&q[_].length===0)q[_].push(...q[I9]||[]);if(_===I9)Object.keys(q).forEach(function(A){if(q[A])q[A].push(D)});return q[_].push(D),q},{}),W={[mw]:t3({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]=t3({paths:Y[U],censor:B,serialize:H,strict:!1,remove:X})}return q},W)}function cw($){if(Array.isArray($))return $={paths:$,censor:"[Redacted]"},$;let{paths:H,censor:J="[Redacted]",remove:Q}=$;if(Array.isArray(H)===!1)throw Error("pino – redact must contain an array of strings");if(Q===!0)J=void 0;return{paths:H,censor:J,remove:Q}}e3.exports=dw});var JH=N((oC,HH)=>{var lw=()=>"",pw=()=>`,"time":${Date.now()}`,nw=()=>`,"time":${Math.round(Date.now()/1000)}`,iw=()=>`,"time":"${new Date(Date.now()).toISOString()}"`,sw=1000000n,$H=1000000000n,ow=BigInt(Date.now())*sw,rw=process.hrtime.bigint(),aw=()=>{let $=process.hrtime.bigint()-rw,H=ow+$,J=H/$H,Q=H%$H,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"`};HH.exports={nullTime:lw,epochTime:pw,unixTime:nw,isoTime:iw,isoTimeNano:aw}});var XH=N((rC,QH)=>{function tw($){try{return JSON.stringify($)}catch(H){return'"[Circular]"'}}QH.exports=ew;function ew($,H,J){var Q=J&&J.stringify||tw,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 p8=N((aC,l8)=>{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));l8.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());};l8.exports=$}});var s8=N((tC,UH)=>{var N1=require("fs"),$D=require("events"),HD=require("util").inherits,YH=require("path"),i8=p8(),JD=require("assert"),T9=Buffer.allocUnsafe(0),[QD,XD]=(process.versions.node||"0.0").split(".").map(Number),YD=QD>=22&&XD>=7;function WH($,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(YH.dirname($),{recursive:!0});let Y=N1.openSync($,Q,X);J(null,Y)}catch(Y){throw J(Y),Y}else if(H.mkdir)N1.mkdir(YH.dirname($),{recursive:!0},(Y)=>{if(Y)return J(Y);N1.open($,Q,X,J)});else N1.open($,Q,X,J)}function p1($){if(!(this instanceof p1))return new p1($);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=T9,this.write=qD,this.flush=BD,this.flushSync=DD,this._actualWrite=_D,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=GD,this.flush=UD,this.flushSync=wD,this._actualWrite=VD,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")WH(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{i8(100),this.release(void 0,0)}catch(b){this.release(b)}else setTimeout(A,100);else this._writing=!1,this.emit("error",E);return}this.emit("write",Z);let M=n8(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 b=D(),v=n8(this._writingBuf,this._len,b);this._len=v.len,this._writingBuf=v.writingBuf}while(this._writingBuf.length)}catch(b){this.release(b);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,b9(this);else if(this._writing=!1,this.sync){if(!this._asyncDrainScheduled)this._asyncDrainScheduled=!0,process.nextTick(WD,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 n8($,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 WD($){if(!($.listenerCount("drain")>0))return;$._asyncDrainScheduled=!1,$.emit("drain")}HD(p1,$D);function GH($,H){if($.length===0)return T9;if($.length===1)return $[0];return Buffer.concat($,H)}function GD($){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 qD($){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 qH($){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 UD($){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($)qH.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push("");this._actualWrite()}function BD($){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($)qH.call(this,$);if(this._writing)return;if(this._bufs.length===0)this._bufs.push([]),this._lens.push(0);this._actualWrite()}p1.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)})}),WH(this.file,this)};p1.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 b9(this)};function wD(){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=n8($,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;i8(100)}}try{N1.fsyncSync(this.fd)}catch{}}function DD(){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=T9;let $=T9;while(this._bufs.length||$.length){if($.length<=0)$=GH(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;i8(100)}}}p1.prototype.destroy=function(){if(this.destroyed)return;b9(this)};function VD(){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 _D(){let $=this.release;if(this._writing=!0,this._writingBuf=this._writingBuf.length?this._writingBuf:GH(this._bufs.shift(),this._lens.shift()),this.sync)try{let H=N1.writeSync(this.fd,this._writingBuf);$(null,H)}catch(H){$(H)}else{if(YD)this._writingBuf=Buffer.from(this._writingBuf);N1.write(this.fd,this._writingBuf,$)}}function b9($){if($.fd===-1){$.once("ready",b9.bind(null,$));return}if($._periodicFlushTimer!==void 0)clearInterval($._periodicFlushTimer);$.destroyed=!0,$._bufs=[],$._lens=[],JD(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")}}p1.SonicBoom=p1;p1.default=p1;UH.exports=p1});var f9=N((eC,_H)=>{var n1={exit:[],beforeExit:[]},BH={exit:ND,beforeExit:AD},j$;function FD(){if(j$===void 0)j$=new FinalizationRegistry(RD)}function zD($){if(n1[$].length>0)return;process.on($,BH[$])}function wH($){if(n1[$].length>0)return;if(process.removeListener($,BH[$]),n1.exit.length===0&&n1.beforeExit.length===0)j$=void 0}function ND(){DH("exit")}function AD(){DH("beforeExit")}function DH($){for(let H of n1[$]){let J=H.deref(),Q=H.fn;if(J!==void 0)Q(J,$)}n1[$]=[]}function RD($){for(let H of["exit","beforeExit"]){let J=n1[H].indexOf($);n1[H].splice(J,J+1),wH(H)}}function VH($,H,J){if(H===void 0)throw Error("the object can't be undefined");zD($);let Q=new WeakRef(H);Q.fn=J,FD(),j$.register(H,Q),n1[$].push(Q)}function ED($,H){VH("exit",$,H)}function jD($,H){VH("beforeExit",$,H)}function OD($){if(j$===void 0)return;j$.unregister($);for(let H of["exit","beforeExit"])n1[H]=n1[H].filter((J)=>{let Q=J.deref();return Q&&Q!==$}),wH(H)}_H.exports={register:ED,registerBeforeExit:jD,unregister:OD}});var FH=N(($P,ZD)=>{ZD.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 NH=N((HP,zH)=>{function LD($,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 MD($,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)}zH.exports={wait:LD,waitDiff:MD}});var RH=N((JP,AH)=>{AH.exports={WRITE_INDEX:4,READ_INDEX:8}});var MH=N((QP,LH)=>{var __dirname="C:\\Users\\mejia\\Desktop\\prueba-real\\fastTS\\node_modules\\thread-stream",{version:SD}=FH(),{EventEmitter:CD}=require("events"),{Worker:PD}=require("worker_threads"),{join:KD}=require("path"),{pathToFileURL:ID}=require("url"),{wait:TD}=NH(),{WRITE_INDEX:b1,READ_INDEX:W0}=RH(),bD=require("buffer"),fD=require("assert"),O=Symbol("kImpl"),xD=bD.constants.MAX_STRING_LENGTH;class k9{constructor($){this._value=$}deref(){return this._value}}class r8{register(){}unregister(){}}var kD=process.env.NODE_V8_COVERAGE?r8:global.FinalizationRegistry||r8,hD=process.env.NODE_V8_COVERAGE?k9:global.WeakRef||k9,EH=new kD(($)=>{if($.exited)return;$.terminate()});function vD($,H){let{filename:J,workerData:Q}=H,Y=("__bundlerPathsOverrides"in globalThis?globalThis.__bundlerPathsOverrides:{})["thread-stream-worker"]||KD(__dirname,"lib","worker.js"),W=new PD(Y,{...H.workerOpts,trackUnmanagedFds:!1,workerData:{filename:J.indexOf("file://")===0?J:ID(J).href,dataBuf:$[O].dataBuf,stateBuf:$[O].stateBuf,workerData:{$context:{threadStreamVersion:SD},...Q}}});return W.stream=new k9($),W.on("message",gD),W.on("exit",OH),EH.register($,W),W}function jH($){if(fD(!$[O].sync),$[O].needDrain)$[O].needDrain=!1,$.emit("drain")}function x9($){let H=Atomics.load($[O].state,b1),J=$[O].data.length-H;if(J>0){if($[O].buf.length===0){if($[O].flushing=!1,$[O].ending)e8($);else if($[O].needDrain)process.nextTick(jH,$);return}let Q=$[O].buf.slice(0,J),X=Buffer.byteLength(Q);if(X<=J)$[O].buf=$[O].buf.slice(J),h9($,Q,x9.bind(null,$));else $.flush(()=>{if($.destroyed)return;Atomics.store($[O].state,W0,0),Atomics.store($[O].state,b1,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),h9($,Q,x9.bind(null,$))})}else if(J===0){if(H===0&&$[O].buf.length===0)return;$.flush(()=>{Atomics.store($[O].state,W0,0),Atomics.store($[O].state,b1,0),x9($)})}else G0($,Error("overwritten"))}function gD($){let H=this.stream.deref();if(H===void 0){this.exited=!0,this.terminate();return}switch($.code){case"READY":this.stream=new hD(H),H.flush(()=>{H[O].ready=!0,H.emit("ready")});break;case"ERROR":G0(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:G0(H,Error("this should not happen: "+$.code))}}function OH($){let H=this.stream.deref();if(H===void 0)return;EH.unregister(H),H.worker.exited=!0,H.worker.off("exit",OH),G0(H,$!==0?Error("the worker thread exited"):null)}class ZH extends CD{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=vD(this,$),this.on("message",(H,J)=>{this.worker.postMessage(H,J)})}write($){if(this[O].destroyed)return a8(this,Error("the worker has exited")),!1;if(this[O].ending)return a8(this,Error("the worker is ending")),!1;if(this[O].flushing&&this[O].buf.length+$.length>=xD)try{o8(this),this[O].flushing=!0}catch(H){return G0(this,H),!1}if(this[O].buf+=$,this[O].sync)try{return o8(this),!0}catch(H){return G0(this,H),!1}if(!this[O].flushing)this[O].flushing=!0,setImmediate(x9,this);return this[O].needDrain=this[O].data.length-this[O].buf.length-Atomics.load(this[O].state,b1)<=0,!this[O].needDrain}end(){if(this[O].destroyed)return;this[O].ending=!0,e8(this)}flush($){if(this[O].destroyed){if(typeof $==="function")process.nextTick($,Error("the worker has exited"));return}let H=Atomics.load(this[O].state,b1);TD(this[O].state,W0,H,1/0,(J,Q)=>{if(J){G0(this,J),process.nextTick($,J);return}if(Q==="not-equal"){this.flush($);return}process.nextTick($)})}flushSync(){if(this[O].destroyed)return;o8(this),t8(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 a8($,H){setImmediate(()=>{$.emit("error",H)})}function G0($,H){if($[O].destroyed)return;if($[O].destroyed=!0,H)$[O].errored=H,a8($,H);if(!$.worker.exited)$.worker.terminate().catch(()=>{}).then(()=>{$[O].closed=!0,$.emit("close")});else setImmediate(()=>{$[O].closed=!0,$.emit("close")})}function h9($,H,J){let Q=Atomics.load($[O].state,b1),X=Buffer.byteLength(H);return $[O].data.write(H,Q),Atomics.store($[O].state,b1,Q+X),Atomics.notify($[O].state,b1),J(),!0}function e8($){if($[O].ended||!$[O].ending||$[O].flushing)return;$[O].ended=!0;try{$.flushSync();let H=Atomics.load($[O].state,W0);Atomics.store($[O].state,b1,-1),Atomics.notify($[O].state,b1);let J=0;while(H!==-1){if(Atomics.wait($[O].state,W0,H,1000),H=Atomics.load($[O].state,W0),H===-2){G0($,Error("end() failed"));return}if(++J===10){G0($,Error("end() took too long (10s)"));return}}process.nextTick(()=>{$[O].finished=!0,$.emit("finish")})}catch(H){G0($,H)}}function o8($){let H=()=>{if($[O].ending)e8($);else if($[O].needDrain)process.nextTick(jH,$)};$[O].flushing=!1;while($[O].buf.length!==0){let J=Atomics.load($[O].state,b1),Q=$[O].data.length-J;if(Q===0){t8($),Atomics.store($[O].state,W0,0),Atomics.store($[O].state,b1,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),h9($,X,H);else{t8($),Atomics.store($[O].state,W0,0),Atomics.store($[O].state,b1,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),h9($,X,H)}}}function t8($){if($[O].flushing)throw Error("unable to flush while flushing");let H=Atomics.load($[O].state,b1),J=0;while(!0){let Q=Atomics.load($[O].state,W0);if(Q===-2)throw Error("_flushSync failed");if(Q!==H)Atomics.wait($[O].state,W0,Q,1000);else break;if(++J===10)throw Error("_flushSync took too long (10s)")}}LH.exports=ZH});var J6=N((XP,SH)=>{var __dirname="C:\\Users\\mejia\\Desktop\\prueba-real\\fastTS\\node_modules\\pino\\lib",{createRequire:yD}=require("module"),uD=u8(),{join:$6,isAbsolute:mD,sep:dD}=require("node:path"),cD=p8(),H6=f9(),lD=MH();function pD($){H6.register($,iD),H6.registerBeforeExit($,sD),$.on("close",function(){H6.unregister($)})}function nD($,H,J,Q){let X=new lD({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)pD(X)}function W(){if(X.closed)return;X.flushSync(),cD(100),X.end()}return X}function iD($){$.ref(),$.flushSync(),$.end(),$.once("close",function(){$.unref()})}function sD($){$.flushSync()}function oD($){let{pipeline:H,targets:J,levels:Q,dedupe:X,worker:Y={},caller:W=uD(),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"]||$6(__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"]||$6(__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,nD(_(w),q,Y,G);function _(V){if(V=B[V]||V,mD(V)||V.indexOf("file://")===0)return V;if(V==="pino/file")return $6(__dirname,"..","file.js");let D;for(let A of U)try{let E=A==="node:repl"?process.cwd()+dD:A;D=yD(E).resolve(V);break}catch(E){continue}if(!D)throw Error(`unable to determine transport target for "${V}"`);return D}}SH.exports=oD});var y9=N((YP,yH)=>{var rD=require("node:diagnostics_channel"),CH=XH(),{mapHttpRequest:aD,mapHttpResponse:tD}=y8(),X6=s8(),PH=f9(),{lsCacheSym:eD,chindingsSym:fH,writeSym:KH,serializersSym:xH,formatOptsSym:IH,endSym:$V,stringifiersSym:kH,stringifySym:hH,stringifySafeSym:Y6,wildcardFirstSym:vH,nestedKeySym:HV,formattersSym:gH,messageKeySym:JV,errorKeySym:QV,nestedKeyStrSym:XV,msgPrefixSym:v9}=E$(),{isMainThread:YV}=require("worker_threads"),WV=J6(),TH=rD.tracingChannel("pino_asJson");function O$(){}function GV($,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=aD(Q);else if(typeof Q.setHeader==="function")Q=tD(Q)}let W;if(Y===null&&X.length===0)W=[null];else Y=X.shift(),W=X;if(typeof this[v9]==="string"&&Y!==void 0&&Y!==null)Y=this[v9]+Y;this[KH](Q,CH(Y,W,this[IH]),$)}else{let Y=Q===void 0?X.shift():Q;if(typeof this[v9]==="string"&&Y!==void 0&&Y!==null)Y=this[v9]+Y;this[KH](null,CH(Y,X,this[IH]),$)}}}function Q6($){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 qV($,H,J,Q){if(TH.hasSubscribers===!1)return bH.call(this,$,H,J,Q);let X={instance:this,arguments};return TH.traceSync(bH,X,this,$,H,J,Q)}function bH($,H,J,Q){let X=this[hH],Y=this[Y6],W=this[kH],G=this[$V],q=this[fH],U=this[xH],B=this[gH],w=this[JV],_=this[QV],V=this[eD][J]+Q;V=V+q;let D;if(B.log)$=B.log($);let A=W[vH],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||Q6)(D);break;default:D=(L||X)(D,Y)}if(D===void 0)continue;let b=Q6(M);E+=","+b+":"+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||Q6)(D),Z=',"'+w+'":'+D;break;default:D=(M||X)(D,Y),Z=',"'+w+'":'+D}}if(this[HV]&&E)return V+this[XV]+E.slice(1)+"}"+Z+G;else return V+E+Z+G}function UV($,H){let J,Q=$[fH],X=$[hH],Y=$[Y6],W=$[kH],G=W[vH],q=$[xH],U=$[gH].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 BV($){return $.write!==$.constructor.prototype.write}function g9($){let H=new X6($);if(H.on("error",J),!$.sync&&YV)PH.register(H,wV),H.on("close",function(){PH.unregister(H)});return H;function J(Q){if(Q.code==="EPIPE"){H.write=O$,H.end=O$,H.flushSync=O$,H.destroy=O$;return}H.removeListener("error",J),H.emit("error",Q)}}function wV($,H){if($.destroyed)return;if(H==="beforeExit")$.flush(),$.on("drain",function(){$.end()});else $.flushSync()}function DV($){return function(J,Q,X={},Y){if(typeof X==="string")Y=g9({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=g9({dest:Y})}else if(X instanceof X6||X.writable||X._writableState)Y=X,X={};else if(X.transport){if(X.transport instanceof X6||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=WV({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=O$;if(!Y)if(!BV(process.stdout))Y=g9({fd:process.stdout.fd||1});else Y=process.stdout;return{opts:X,stream:Y}}}function VV($,H){try{return JSON.stringify($)}catch(J){try{return(H||this[Y6])($)}catch(Q){return'"[unable to serialize, circular reference is too complex to analyze]"'}}}function _V($,H,J){return{level:$,bindings:H,log:J}}function FV($){let H=Number($);if(typeof $==="string"&&Number.isFinite(H))return H;if($===void 0)return 1;return $}yH.exports={noop:O$,buildSafeSonicBoom:g9,asChindings:UV,asJson:qV,genLog:GV,createArgsNormalizer:DV,stringify:VV,buildFormatters:_V,normalizeDestFileDescriptor:FV}});var u9=N((WP,uH)=>{var zV={trace:10,debug:20,info:30,warn:40,error:50,fatal:60},NV={ASC:"ASC",DESC:"DESC"};uH.exports={DEFAULT_LEVELS:zV,SORTING_ORDER:NV}});var q6=N((GP,lH)=>{var{lsCacheSym:AV,levelValSym:W6,useOnlyCustomLevelsSym:RV,streamSym:EV,formattersSym:jV,hooksSym:OV,levelCompSym:mH}=E$(),{noop:ZV,genLog:c0}=y9(),{DEFAULT_LEVELS:q0,SORTING_ORDER:dH}=u9(),cH={fatal:($)=>{let H=c0(q0.fatal,$);return function(...J){let Q=this[EV];if(H.call(this,...J),typeof Q.flushSync==="function")try{Q.flushSync()}catch(X){}}},error:($)=>c0(q0.error,$),warn:($)=>c0(q0.warn,$),info:($)=>c0(q0.info,$),debug:($)=>c0(q0.debug,$),trace:($)=>c0(q0.trace,$)},G6=Object.keys(q0).reduce(($,H)=>{return $[q0[H]]=H,$},{}),LV=Object.keys(G6).reduce(($,H)=>{return $[H]='{"level":'+Number(H),$},{});function MV($){let H=$[jV].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 $[AV]=Q,$}function SV($,H){if(H)return!1;switch($){case"fatal":case"error":case"warn":case"info":case"debug":case"trace":return!0;default:return!1}}function CV($){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[W6],X=this[W6]=J[$],Y=this[RV],W=this[mH],G=this[OV].logMethod;for(let q in J){if(W(J[q],X)===!1){this[q]=ZV;continue}this[q]=SV(q,Y)?cH[q](G):c0(J[q],G)}this.emit("level-change",$,X,H[Q],Q,this)}function PV($){let{levels:H,levelVal:J}=this;return H&&H.labels?H.labels[J]:""}function KV($){let{values:H}=this.levels,J=H[$];return J!==void 0&&this[mH](J,this[W6])}function IV($,H,J){if($===dH.DESC)return H<=J;return H>=J}function TV($){if(typeof $==="string")return IV.bind(null,$);return $}function bV($=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:G6,J),X=Object.assign(Object.create(Object.prototype,{silent:{value:1/0}}),H?null:q0,$);return{labels:Q,values:X}}function fV($,H,J){if(typeof $==="number"){if(![].concat(Object.keys(H||{}).map((Y)=>H[Y]),J?[]:Object.keys(G6).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:q0,H);if(!($ in Q))throw Error(`default level:${$} must be included in custom levels`)}function xV($,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 kV($){if(typeof $==="function")return;if(typeof $==="string"&&Object.values(dH).includes($))return;throw Error('Levels comparison should be one of "ASC", "DESC" or "function" type')}lH.exports={initialLsCache:LV,genLsCache:MV,levelMethods:cH,getLevel:PV,setLevel:CV,isLevelEnabled:KV,mappings:bV,assertNoLevelCollisions:xV,assertDefaultLevelFound:fV,genLevelComparison:TV,assertLevelComparison:kV}});var U6=N((qP,pH)=>{pH.exports={version:"10.1.0"}});var eH=N((UP,tH)=>{var{EventEmitter:hV}=require("node:events"),{lsCacheSym:vV,levelValSym:gV,setLevelSym:w6,getLevelSym:nH,chindingsSym:d9,mixinSym:yV,asJsonSym:sH,writeSym:uV,mixinMergeStrategySym:mV,timeSym:dV,timeSliceIndexSym:cV,streamSym:oH,serializersSym:l0,formattersSym:Z4,errorKeySym:lV,messageKeySym:pV,useOnlyCustomLevelsSym:nV,needsMetadataGsym:iV,redactFmtSym:sV,stringifySym:oV,formatOptsSym:rV,stringifiersSym:aV,msgPrefixSym:D6,hooksSym:tV}=E$(),{getLevel:eV,setLevel:$_,isLevelEnabled:H_,mappings:J_,initialLsCache:Q_,genLsCache:X_,assertNoLevelCollisions:Y_}=q6(),{asChindings:V6,asJson:W_,buildFormatters:B6,stringify:iH,noop:rH}=y9(),{version:G_}=U6(),q_=c8(),U_=class{},aH={constructor:U_,child:B_,bindings:w_,setBindings:D_,flush:F_,isLevelEnabled:H_,version:G_,get level(){return this[nH]()},set level($){this[w6]($)},get levelVal(){return this[gV]},set levelVal($){throw Error("levelVal is read-only")},get msgPrefix(){return this[D6]},get[Symbol.toStringTag](){return"Pino"},[vV]:Q_,[uV]:__,[sH]:W_,[nH]:eV,[w6]:$_};Object.setPrototypeOf(aH,hV.prototype);tH.exports=function(){return Object.create(aH)};var m9=($)=>$;function B_($,H){if(!$)throw Error("missing bindings for child Pino");let J=this[l0],Q=this[Z4],X=Object.create(this);if(H==null){if(X[Z4].bindings!==m9)X[Z4]=B6(Q.level,m9,Q.log);if(X[d9]=V6(X,$),this.onChild!==rH)this.onChild(X);return X}if(H.hasOwnProperty("serializers")===!0){X[l0]=Object.create(null);for(let U in J)X[l0][U]=J[U];let G=Object.getOwnPropertySymbols(J);for(var Y=0;Y<G.length;Y++){let U=G[Y];X[l0][U]=J[U]}for(let U in H.serializers)X[l0][U]=H.serializers[U];let q=Object.getOwnPropertySymbols(H.serializers);for(var W=0;W<q.length;W++){let U=q[W];X[l0][U]=H.serializers[U]}}else X[l0]=J;if(H.hasOwnProperty("formatters")){let{level:G,bindings:q,log:U}=H.formatters;X[Z4]=B6(G||Q.level,q||m9,U||Q.log)}else X[Z4]=B6(Q.level,m9,Q.log);if(H.hasOwnProperty("customLevels")===!0)Y_(this.levels,H.customLevels),X.levels=J_(H.customLevels,X[nV]),X_(X);if(typeof H.redact==="object"&&H.redact!==null||Array.isArray(H.redact)){X.redact=H.redact;let G=q_(X.redact,iH),q={stringify:G[sV]};X[oV]=iH,X[aV]=G,X[rV]=q}if(typeof H.msgPrefix==="string")X[D6]=(this[D6]||"")+H.msgPrefix;if(X[d9]=V6(X,$),H.level!==void 0&&H.level!==this.level||H.hasOwnProperty("customLevels")){let G=H.level||this.level;X[w6](G)}return this.onChild(X),X}function w_(){let H=`{${this[d9].substr(1)}}`,J=JSON.parse(H);return delete J.pid,delete J.hostname,J}function D_($){let H=V6(this,$);this[d9]=H}function V_($,H){return Object.assign(H,$)}function __($,H,J){let Q=this[dV](),X=this[yV],Y=this[lV],W=this[pV],G=this[mV]||V_,q,U=this[tV].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[sH](q,H,J,Q),w=this[oH];if(w[iV]===!0)w.lastLevel=J,w.lastObj=q,w.lastMsg=H,w.lastTime=Q.slice(this[cV]),w.lastLogger=this;w.write(U?U(B):B)}function F_($){if($!=null&&typeof $!=="function")throw Error("callback must be a function");let H=this[oH];if(typeof H.flush==="function")H.flush($||rH);else if($)$()}});var QJ=N((N6,JJ)=>{var{hasOwnProperty:L4}=Object.prototype,n0=z6();n0.configure=z6;n0.stringify=n0;n0.default=n0;N6.stringify=n0;N6.configure=z6;JJ.exports=n0;var z_=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function S0($){if($.length<5000&&!z_.test($))return`"${$}"`;return JSON.stringify($)}function _6($,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 N_=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function F6($){return N_.call($)!==void 0&&$.length!==0}function $J($,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 A_($){if(L4.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 R_($){let H;if(L4.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 E_($,H){let J;if(L4.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 HJ($,H){let J;if(L4.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 p0($){if($===1)return"1 item";return`${$} items`}function j_($){let H=new Set;for(let J of $)if(typeof J==="string"||typeof J==="number")H.add(String(J));return H}function O_($){if(L4.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 z6($){$={...$};let H=O_($);if(H){if($.bigint===void 0)$.bigint=!1;if(!("circularValue"in $))$.circularValue=Error}let J=A_($),Q=E_($,"bigint"),X=R_($),Y=typeof X==="function"?X:void 0,W=HJ($,"maximumDepth"),G=HJ($,"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 S0(L);case"object":{if(L===null)return"null";if(A.indexOf(L)!==-1)return J;let b="",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,b+=`
4
+ ${M}`,v=`,
5
+ ${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);b+=E1!==void 0?E1:"null",b+=v}let R1=q(String(I),L,A,E,Z,M);if(b+=R1!==void 0?R1:"null",L.length-1>G){let E1=L.length-G-1;b+=`${v}"... ${p0(E1)} not stringified"`}if(Z!=="")b+=`
6
+ ${l}`;return A.pop(),`[${b}]`}let i=Object.keys(L),J1=i.length;if(J1===0)return"{}";if(W<A.length+1)return'"[Object]"';let d="",W1="";if(Z!=="")M+=Z,v=`,
7
+ ${M}`,d=" ";let G1=Math.min(J1,G);if(X&&!F6(L))i=_6(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)b+=`${W1}${S0(I)}:${d}${R1}`,W1=v}if(J1>G){let X1=J1-G;b+=`${W1}"...":${d}"${p0(X1)} not stringified"`,W1=v}if(Z!==""&&W1.length>1)b=`
8
+ ${M}${b}
9
+ ${l}`;return A.pop(),`{${b}}`}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 S0(D);case"object":{if(D===null)return"null";if(A.indexOf(D)!==-1)return J;let L=M,b="",v=",";if(Array.isArray(D)){if(D.length===0)return"[]";if(W<A.length+1)return'"[Array]"';if(A.push(D),Z!=="")M+=Z,b+=`
10
+ ${M}`,v=`,
11
+ ${M}`;let J1=Math.min(D.length,G),d=0;for(;d<J1-1;d++){let G1=U(String(d),D[d],A,E,Z,M);b+=G1!==void 0?G1:"null",b+=v}let W1=U(String(d),D[d],A,E,Z,M);if(b+=W1!==void 0?W1:"null",D.length-1>G){let G1=D.length-G-1;b+=`${v}"... ${p0(G1)} not stringified"`}if(Z!=="")b+=`
12
+ ${L}`;return A.pop(),`[${b}]`}A.push(D);let l="";if(Z!=="")M+=Z,v=`,
13
+ ${M}`,l=" ";let i="";for(let J1 of E){let d=U(J1,D[J1],A,E,Z,M);if(d!==void 0)b+=`${i}${S0(J1)}:${l}${d}`,i=v}if(Z!==""&&i.length>1)b=`
14
+ ${M}${b}
15
+ ${L}`;return A.pop(),`{${b}}`}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 S0(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 d=`
16
+ ${Z}`,W1=`,
17
+ ${Z}`,G1=Math.min(D.length,G),X1=0;for(;X1<G1-1;X1++){let R1=B(String(X1),D[X1],A,E,Z);d+=R1!==void 0?R1:"null",d+=W1}let I=B(String(X1),D[X1],A,E,Z);if(d+=I!==void 0?I:"null",D.length-1>G){let R1=D.length-G-1;d+=`${W1}"... ${p0(R1)} not stringified"`}return d+=`
18
+ ${M}`,A.pop(),`[${d}]`}let L=Object.keys(D),b=L.length;if(b===0)return"{}";if(W<A.length+1)return'"[Object]"';Z+=E;let v=`,
19
+ ${Z}`,l="",i="",J1=Math.min(b,G);if(F6(D))l+=$J(D,v,G),L=L.slice(D.length),J1-=D.length,i=v;if(X)L=_6(L,Y);A.push(D);for(let d=0;d<J1;d++){let W1=L[d],G1=B(W1,D[W1],A,E,Z);if(G1!==void 0)l+=`${i}${S0(W1)}: ${G1}`,i=v}if(b>G){let d=b-G;l+=`${i}"...": "${p0(d)} not stringified"`,i=v}if(i!=="")l=`
20
+ ${Z}${l}
21
+ ${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 S0(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 d=w(String(i),D[i],A);E+=d!==void 0?d:"null",E+=","}let J1=w(String(i),D[i],A);if(E+=J1!==void 0?J1:"null",D.length-1>G){let d=D.length-G-1;E+=`,"... ${p0(d)} 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 b="",v=Math.min(L,G);if(Z&&F6(D))E+=$J(D,",",G),M=M.slice(D.length),v-=D.length,b=",";if(X)M=_6(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+=`${b}${S0(i)}:${J1}`,b=","}if(L>G){let l=L-G;E+=`${b}"...":"${p0(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,[],j_(D),E,"")}if(E.length!==0)return B("",V,[],E,"")}return w("",V,[])}return _}});var GJ=N((BP,WJ)=>{var A6=Symbol.for("pino.metadata"),{DEFAULT_LEVELS:YJ}=u9(),Z_=YJ.info;function L_($,H){$=$||[],H=H||{dedupe:!1};let J=Object.create(YJ);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,[A6]:!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=M_(D.length,H.dedupe);C_(Z,D.length,H.dedupe);Z=S_(Z,H.dedupe))if(_=D[Z],_.level<=V){if(A!==0&&A!==_.level)break;if(E=_.stream,E[A6]){let{lastTime:M,lastMsg:L,lastObj:b,lastLogger:v}=this;E.lastLevel=V,E.lastTime=M,E.lastMsg=L,E.lastObj=b,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=Z_;let Z={stream:V,level:E,levelVal:void 0,id:++Q.lastId};return D.unshift(Z),D.sort(XJ),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(XJ),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,[A6]:!0}}}function XJ($,H){return $.level-H.level}function M_($,H){return H?$-1:0}function S_($,H){return H?$-1:$+1}function C_($,H,J){return J?$>=0:$<H}WJ.exports=L_});var jJ=N((wP,k1)=>{var P_=require("node:os"),FJ=y8(),K_=u8(),I_=c8(),zJ=JH(),T_=eH(),NJ=E$(),{configure:b_}=QJ(),{assertDefaultLevelFound:f_,mappings:AJ,genLsCache:x_,genLevelComparison:k_,assertLevelComparison:h_}=q6(),{DEFAULT_LEVELS:RJ,SORTING_ORDER:v_}=u9(),{createArgsNormalizer:g_,asChindings:y_,buildSafeSonicBoom:qJ,buildFormatters:u_,stringify:R6,normalizeDestFileDescriptor:UJ,noop:m_}=y9(),{version:d_}=U6(),{chindingsSym:BJ,redactFmtSym:c_,serializersSym:wJ,timeSym:l_,timeSliceIndexSym:p_,streamSym:n_,stringifySym:DJ,stringifySafeSym:E6,stringifiersSym:VJ,setLevelSym:i_,endSym:s_,formatOptsSym:o_,messageKeySym:r_,errorKeySym:a_,nestedKeySym:t_,mixinSym:e_,levelCompSym:$F,useOnlyCustomLevelsSym:HF,formattersSym:_J,hooksSym:JF,nestedKeyStrSym:QF,mixinMergeStrategySym:XF,msgPrefixSym:YF}=NJ,{epochTime:EJ,nullTime:WF}=zJ,{pid:GF}=process,qF=P_.hostname(),UF=FJ.err,BF={level:"info",levelComparison:v_.ASC,levels:RJ,messageKey:"msg",errorKey:"err",nestedKey:null,enabled:!0,base:{pid:GF,hostname:qF},serializers:Object.assign(Object.create(null),{err:UF}),formatters:Object.assign(Object.create(null),{bindings($){return $},level($,H){return{level:H}}}),hooks:{logMethod:void 0,streamWrite:void 0},timestamp:EJ,name:void 0,redact:null,customLevels:null,useOnlyCustomLevels:!1,depthLimit:5,edgeLimit:100},wF=g_(BF),DF=Object.assign(Object.create(null),FJ);function j6(...$){let H={},{opts:J,stream:Q}=wF(H,K_(),...$);if(J.level&&typeof J.level==="string"&&RJ[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:b,depthLimit:v,edgeLimit:l,onChild:i,msgPrefix:J1}=J,d=b_({maximumDepth:v,maximumBreadth:l}),W1=u_(L.level,L.bindings,L.log),G1=R6.bind({[E6]:d}),X1=X?I_(X,G1):{},I=X?{stringify:X1[c_]}:{stringify:G1},R1="}"+(Y?`\r
22
+ `:`
23
+ `),E1=y_.bind(null,{[BJ]:"",[wJ]:W,[VJ]:X1,[DJ]:R6,[E6]:d,[_J]:W1}),X0="";if(w!==null)if(_===void 0)X0=E1(w);else X0=E1(Object.assign({},w,{name:_}));let D4=G instanceof Function?G:G?EJ:WF,j9=D4().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"`);f_(V,D,M);let V4=AJ(D,M);if(typeof Q.emit==="function")Q.emit("message",{code:"PINO_CONFIG",config:{levels:V4,messageKey:q,errorKey:U}});h_(A);let O9=k_(A);return Object.assign(H,{levels:V4,[$F]:O9,[HF]:M,[n_]:Q,[l_]:D4,[p_]:j9,[DJ]:R6,[E6]:d,[VJ]:X1,[s_]:R1,[o_]:I,[r_]:q,[a_]:U,[t_]:B,[QF]:B?`,${JSON.stringify(B)}:{`:"",[wJ]:W,[e_]:E,[XF]:Z,[BJ]:X0,[_J]:W1,[JF]:b,silent:m_,onChild:i,[YF]:J1}),Object.setPrototypeOf(H,T_()),x_(H),H[i_](V),H}k1.exports=j6;k1.exports.destination=($=process.stdout.fd)=>{if(typeof $==="object")return $.dest=UJ($.dest||process.stdout.fd),qJ($);else return qJ({dest:UJ($),minLength:0})};k1.exports.transport=J6();k1.exports.multistream=GJ();k1.exports.levels=AJ();k1.exports.stdSerializers=DF;k1.exports.stdTimeFunctions=Object.assign({},zJ);k1.exports.symbols=NJ;k1.exports.version=d_;k1.exports.default=j6;k1.exports.pino=j6});var Z6=N((o)=>{Object.defineProperty(o,"__esModule",{value:!0});var VF=require("tty");function _F($){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 O6=_F(VF),{env:C0={},argv:ZJ=[],platform:FF=""}=typeof process>"u"?{}:process,zF="NO_COLOR"in C0||ZJ.includes("--no-color"),NF="FORCE_COLOR"in C0||ZJ.includes("--color"),AF=FF==="win32",LJ=C0.TERM==="dumb",RF=O6&&O6.isatty&&O6.isatty(1)&&C0.TERM&&!LJ,EF="CI"in C0&&(("GITHUB_ACTIONS"in C0)||("GITLAB_CI"in C0)||("CIRCLECI"in C0)),MJ=!zF&&(NF||AF&&!LJ||RF||EF),SJ=($,H,J,Q,X=H.substring(0,$)+Q,Y=H.substring($+J.length),W=Y.indexOf(J))=>X+(W<0?Y:SJ(W,Y,J,Q)),jF=($,H,J,Q,X)=>$<0?J+H+Q:J+SJ($,H,Q,X)+Q,OF=($,H,J=$,Q=$.length+1)=>(X)=>X||!(X===""||X===void 0)?jF((""+X).indexOf(H,Q),X,$,H,J):"",t=($,H,J)=>OF(`\x1B[${$}m`,`\x1B[${H}m`,J),OJ={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)},CJ=({useColor:$=MJ}={})=>$?OJ:Object.keys(OJ).reduce((H,J)=>({...H,[J]:String}),{}),{reset:ZF,bold:LF,dim:MF,italic:SF,underline:CF,inverse:PF,hidden:KF,strikethrough:IF,black:TF,red:bF,green:fF,yellow:xF,blue:kF,magenta:hF,cyan:vF,white:gF,gray:yF,bgBlack:uF,bgRed:mF,bgGreen:dF,bgYellow:cF,bgBlue:lF,bgMagenta:pF,bgCyan:nF,bgWhite:iF,blackBright:sF,redBright:oF,greenBright:rF,yellowBright:aF,blueBright:tF,magentaBright:eF,cyanBright:$z,whiteBright:Hz,bgBlackBright:Jz,bgRedBright:Qz,bgGreenBright:Xz,bgYellowBright:Yz,bgBlueBright:Wz,bgMagentaBright:Gz,bgCyanBright:qz,bgWhiteBright:Uz}=CJ();o.bgBlack=uF;o.bgBlackBright=Jz;o.bgBlue=lF;o.bgBlueBright=Wz;o.bgCyan=nF;o.bgCyanBright=qz;o.bgGreen=dF;o.bgGreenBright=Xz;o.bgMagenta=pF;o.bgMagentaBright=Gz;o.bgRed=mF;o.bgRedBright=Qz;o.bgWhite=iF;o.bgWhiteBright=Uz;o.bgYellow=cF;o.bgYellowBright=Yz;o.black=TF;o.blackBright=sF;o.blue=kF;o.blueBright=tF;o.bold=LF;o.createColors=CJ;o.cyan=vF;o.cyanBright=$z;o.dim=MF;o.gray=yF;o.green=fF;o.greenBright=rF;o.hidden=KF;o.inverse=PF;o.isColorSupported=MJ;o.italic=SF;o.magenta=hF;o.magentaBright=eF;o.red=bF;o.redBright=oF;o.reset=ZF;o.strikethrough=IF;o.underline=CF;o.white=gF;o.whiteBright=Hz;o.yellow=xF;o.yellowBright=aF});var IJ=N((VP,KJ)=>{KJ.exports=PJ;function PJ($,H){if($&&H)return PJ($)(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 M6=N((_P,L6)=>{var TJ=IJ();L6.exports=TJ(c9);L6.exports.strict=TJ(bJ);c9.proto=c9(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return c9(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return bJ(this)},configurable:!0})});function c9($){var H=function(){if(H.called)return H.value;return H.called=!0,H.value=$.apply(this,arguments)};return H.called=!1,H}function bJ($){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 kJ=N((FP,xJ)=>{var Bz=M6(),wz=function(){},Dz=global.Bare?queueMicrotask:process.nextTick.bind(process),Vz=function($){return $.setHeader&&typeof $.abort==="function"},_z=function($){return $.stdio&&Array.isArray($.stdio)&&$.stdio.length===3},fJ=function($,H,J){if(typeof H==="function")return fJ($,null,H);if(!H)H={};J=Bz(J||wz);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(){Dz(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(Vz($))if($.on("complete",U),$.on("abort",V),$.req)A();else $.on("request",A);else if(W&&!Q)$.on("end",q),$.on("close",q);if(_z($))$.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)}};xJ.exports=fJ});var gJ=N((zP,vJ)=>{var Fz=M6(),zz=kJ(),l9;try{l9=require("fs")}catch($){}var M4=function(){},Nz=typeof process>"u"?!1:/^v?\.0/.test(process.version),p9=function($){return typeof $==="function"},Az=function($){if(!Nz)return!1;if(!l9)return!1;return($ instanceof(l9.ReadStream||M4)||$ instanceof(l9.WriteStream||M4))&&p9($.close)},Rz=function($){return $.setHeader&&p9($.abort)},Ez=function($,H,J,Q){Q=Fz(Q);var X=!1;$.on("close",function(){X=!0}),zz($,{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,Az($))return $.close(M4);if(Rz($))return $.abort();if(p9($.destroy))return $.destroy();Q(W||Error("stream was destroyed"))}},hJ=function($){$()},jz=function($,H){return $.pipe(H)},Oz=function(){var $=Array.prototype.slice.call(arguments),H=p9($[$.length-1]||M4)&&$.pop()||M4;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 Ez(X,W,G,function(q){if(!J)J=q;if(q)Q.forEach(hJ);if(W)return;Q.forEach(hJ),H(J)})});return $.reduce(jz)};vJ.exports=Oz});var dJ=N((NP,mJ)=>{var{Transform:Zz}=require("stream"),{StringDecoder:Lz}=require("string_decoder"),P0=Symbol("last"),n9=Symbol("decoder");function Mz($,H,J){let Q;if(this.overflow){if(Q=this[n9].write($).split(this.matcher),Q.length===1)return J();Q.shift(),this.overflow=!1}else this[P0]+=this[n9].write($),Q=this[P0].split(this.matcher);this[P0]=Q.pop();for(let X=0;X<Q.length;X++)try{uJ(this,this.mapper(Q[X]))}catch(Y){return J(Y)}if(this.overflow=this[P0].length>this.maxLength,this.overflow&&!this.skipOverflow){J(Error("maximum buffer reached"));return}J()}function Sz($){if(this[P0]+=this[n9].end(),this[P0])try{uJ(this,this.mapper(this[P0]))}catch(H){return $(H)}$()}function uJ($,H){if(H!==void 0)$.push(H)}function yJ($){return $}function Cz($,H,J){switch($=$||/\r?\n/,H=H||yJ,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=yJ}J=Object.assign({},J),J.autoDestroy=!0,J.transform=Mz,J.flush=Sz,J.readableObjectMode=!0;let Q=new Zz(J);return Q[P0]="",Q[n9]=new Lz("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}mJ.exports=Cz});var iJ=N((AP,nJ)=>{var cJ=Symbol.for("pino.metadata"),Pz=dJ(),{Duplex:Kz}=require("stream"),{parentPort:lJ,workerData:pJ}=require("worker_threads");function Iz(){let $,H,J=new Promise((Q,X)=>{$=Q,H=X});return J.resolve=$,J.reject=H,J}nJ.exports=function(H,J={}){let Q=J.expectPinoConfig===!0&&pJ?.workerData?.pinoWillSendConfig===!0,X=J.parse==="lines",Y=typeof J.parseLine==="function"?J.parseLine:JSON.parse,W=J.close||Tz,G=Pz(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[cJ])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&&pJ?.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[cJ]=!0,G.lastTime=0,G.lastLevel=0,G.lastObj=null;if(Q){let U={},B=Iz();return lJ.on("message",function w(_){if(_.code==="PINO_CONFIG")U=_.config,B.resolve(),lJ.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 Kz.from({writable:G,readable:U});return G}};function Tz($,H){process.nextTick(H,$)}});var A0=N((RP,sJ)=>{sJ.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 i9=N((EP,aJ)=>{aJ.exports=bz;var{LEVELS:oJ,LEVEL_NAMES:rJ}=A0();function bz($,H,J){let Q=$?H||oJ:Object.assign({},oJ,H),X=$?J||rJ:Object.assign({},rJ,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 K6=N((jP,HQ)=>{var U0=($)=>$,s9={default:U0,60:U0,50:U0,40:U0,30:U0,20:U0,10:U0,message:U0,greyMessage:U0,property:U0},{createColors:tJ}=Z6(),fz=i9(),C4=tJ({useColor:!0}),{white:S6,bgRed:xz,red:kz,yellow:hz,green:vz,blue:gz,gray:C6,cyan:eJ,magenta:$Q}=C4,S4={default:S6,60:xz,50:kz,40:hz,30:vz,20:gz,10:C6,message:eJ,greyMessage:C6,property:$Q};function yz($){return $.reduce(function(H,[J,Q]){return H[J]=typeof C4[Q]==="function"?C4[Q]:S6,H},{default:S6,message:eJ,greyMessage:C6,property:$Q})}function P6($){return function(H,J,{customLevels:Q,customLevelNames:X}={}){let[Y,W]=fz($,Q,X)(H);return Object.prototype.hasOwnProperty.call(J,W)?J[W](Y):J.default(Y)}}function uz($){let H=P6($),J=function(Q,X){return H(Q,s9,X)};return J.message=s9.message,J.greyMessage=s9.greyMessage,J.property=s9.property,J.colors=tJ({useColor:!1}),J}function mz($){let H=P6($),J=function(Q,X){return H(Q,S4,X)};return J.message=S4.message,J.property=S4.property,J.greyMessage=S4.greyMessage,J.colors=C4,J}function dz($,H){let J=yz($),Q=H?J:Object.assign({},S4,J),X=P6(H),Y=function(W,G){return X(W,Q,G)};return Y.colors=C4,Y.message=Y.message||Q.message,Y.property=Y.property||Q.property,Y.greyMessage=Y.greyMessage||Q.greyMessage,Y}HQ.exports=function(H=!1,J,Q){if(H&&J!==void 0)return dz(J,Q);else if(H)return mz(Q);return uz(Q)}});var I6=N((OP,JQ)=>{JQ.exports=function(){}});var XQ=N((ZP,QQ)=>{QQ.exports=pz;var{isMainThread:cz}=require("node:worker_threads"),lz=s8(),o9=I6();function pz($){let H=new lz($);if(H.on("error",J),!$.sync&&cz)nz(H);return H;function J(Q){if(Q.code==="EPIPE"){H.write=o9,H.end=o9,H.flushSync=o9,H.destroy=o9;return}H.removeListener("error",J)}}function nz($){if(global.WeakRef&&global.WeakMap&&global.FinalizationRegistry){let H=f9();H.register($,iz),$.on("close",function(){H.unregister($)})}}function iz($,H){if($.destroyed)return;if(H==="beforeExit")$.flush(),$.on("drain",function(){$.end()});else $.flushSync()}});var r9=N((LP,YQ)=>{YQ.exports=sz;function sz($){return $ instanceof Date&&!Number.isNaN($.getTime())}});var T6=N((MP,WQ)=>{WQ.exports=rz;var oz=r9();function rz($){let H=new Date($);if(oz(H))return H;return H=new Date(+$),H}});var a9=N((SP,GQ)=>{GQ.exports=az;function az($){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 Z$=N((CP,qQ)=>{qQ.exports=ez;var tz=a9();function ez($,H){let J=Array.isArray(H)?H:tz(H);for(let Q of J){if(!Object.prototype.hasOwnProperty.call($,Q))return;$=$[Q]}return $}});var b6=N((PP,UQ)=>{UQ.exports=JN;var $N=Z$(),HN=a9();function JN($,H){let J=HN(H),Q=J.pop();if($=$N($,J),$!==null&&typeof $==="object"&&Object.prototype.hasOwnProperty.call($,Q))delete $[Q]}});var EQ=N((L$)=>{Object.defineProperty(L$,"__esModule",{value:!0});var QN=Function.prototype.toString,f6=Object.create,XN=Object.prototype.toString,YN=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 WN(){return new YN}function GN(){return new WeakMap}var qN=typeof WeakMap<"u"?GN:WN;function k6($){if(!$)return f6(null);var H=$.constructor;if(H===Object)return $===Object.prototype?{}:f6($);if(H&&~QN.call(H).indexOf("[native code]"))try{return new H}catch(J){}return f6($)}function UN($){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 BN($){return $.flags}var wN=/test/g.flags==="g"?BN:UN;function BQ($){var H=XN.call($);return H.substring(8,H.length-1)}function DN($){return $[Symbol.toStringTag]||BQ($)}var VN=typeof Symbol<"u"?DN:BQ,_N=Object.defineProperty,FN=Object.getOwnPropertyDescriptor,wQ=Object.getOwnPropertyNames,h6=Object.getOwnPropertySymbols,DQ=Object.prototype,VQ=DQ.hasOwnProperty,zN=DQ.propertyIsEnumerable,_Q=typeof h6==="function";function NN($){return wQ($).concat(h6($))}var AN=_Q?NN:wQ;function e9($,H,J){var Q=AN($);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=FN($,W),!G){H[W]=J.copier($[W],J);continue}if(!G.get&&!G.set)G.value=J.copier(G.value,J);try{_N(H,W,G)}catch(q){H[W]=G.value}}return H}function RN($,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 EN($,H){var J=new H.Constructor;return H.cache.set($,J),e9($,J,H)}function FQ($,H){return $.slice(0)}function jN($,H){return $.slice(0,$.size,$.type)}function ON($,H){return new H.Constructor(FQ($.buffer))}function ZN($,H){return new H.Constructor($.getTime())}function zQ($,H){var J=new H.Constructor;return H.cache.set($,J),$.forEach(function(Q,X){J.set(X,H.copier(Q,H))}),J}function LN($,H){return e9($,zQ($,H),H)}function MN($,H){var J=k6(H.prototype);H.cache.set($,J);for(var Q in $)if(VQ.call($,Q))J[Q]=H.copier($[Q],H);return J}function SN($,H){var J=k6(H.prototype);H.cache.set($,J);for(var Q in $)if(VQ.call($,Q))J[Q]=H.copier($[Q],H);var X=h6($);for(var Y=0,W=X.length,G=void 0;Y<W;++Y)if(G=X[Y],zN.call($,G))J[G]=H.copier($[G],H);return J}var CN=_Q?SN:MN;function PN($,H){var J=k6(H.prototype);return H.cache.set($,J),e9($,J,H)}function x6($,H){return new H.Constructor($.valueOf())}function KN($,H){var J=new H.Constructor($.source,wN($));return J.lastIndex=$.lastIndex,J}function t9($,H){return $}function NQ($,H){var J=new H.Constructor;return H.cache.set($,J),$.forEach(function(Q){J.add(H.copier(Q,H))}),J}function IN($,H){return e9($,NQ($,H),H)}var TN=Array.isArray,v6=Object.assign,bN=Object.getPrototypeOf||function($){return $.__proto__},AQ={array:RN,arrayBuffer:FQ,blob:jN,dataView:ON,date:ZN,error:t9,map:zQ,object:CN,regExp:KN,set:NQ},fN=v6({},AQ,{array:EN,map:LN,object:PN,set:IN});function xN($){return{Arguments:$.object,Array:$.array,ArrayBuffer:$.arrayBuffer,Blob:$.blob,Boolean:x6,DataView:$.dataView,Date:$.date,Error:$.error,Float32Array:$.arrayBuffer,Float64Array:$.arrayBuffer,Int8Array:$.arrayBuffer,Int16Array:$.arrayBuffer,Int32Array:$.arrayBuffer,Map:$.map,Number:x6,Object:$.object,Promise:t9,RegExp:$.regExp,Set:$.set,String:x6,WeakMap:t9,WeakSet:t9,Uint8Array:$.arrayBuffer,Uint8ClampedArray:$.arrayBuffer,Uint16Array:$.arrayBuffer,Uint32Array:$.arrayBuffer,Uint64Array:$.arrayBuffer}}function g6($){var H=v6({},AQ,$),J=xN(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=bN(W),G.Constructor=G.prototype&&G.prototype.constructor,!G.Constructor||G.Constructor===Object)return X(W,G);if(TN(W))return Q(W,G);var q=J[VN(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:qN(),copier:Y,prototype:void 0})}}function RQ($){return g6(v6({},fN,$))}var kN=RQ({}),hN=g6({});L$.copyStrict=kN;L$.createCopier=g6;L$.createStrictCopier=RQ;L$.default=hN});var y6=N((IP,jQ)=>{jQ.exports=uN;var{createCopier:vN}=EQ(),gN=vN({}),yN=b6();function uN({log:$,context:H}){let{ignoreKeys:J,includeKeys:Q}=H,X=gN($);if(Q){let Y={};return Q.forEach((W)=>{Y[W]=X[W]}),Y}return J.forEach((Y)=>{yN(X,Y)}),X}});var ZQ=N((u6,OQ)=>{function M$($){if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol")M$=function(J){return typeof J};else M$=function(J){return J&&typeof Symbol==="function"&&J.constructor===Symbol&&J!==Symbol.prototype?"symbol":typeof J};return M$($)}(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"]()},b=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"]()},d=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:b(),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:b(),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(b()).slice(2)},yyyy:function(){return Q(b(),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(d()>0?"-":"+")+Q(Math.floor(Math.abs(d())/60)*100+Math.abs(d())%60,4)},p:function(){return(d()>0?"-":"+")+Q(Math.floor(Math.abs(d())/60),2)+":"+Q(Math.floor(Math.abs(d())%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 b=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"]()},d=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&&b()===_)return E?"Tdy":"Today";else if(d()===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(M$(U)!=="object")return M$(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 u6>"u"?"undefined":M$(u6))==="object")OQ.exports=J;else $.dateFormat=J})(void 0)});var m6=N((TP,LQ)=>{LQ.exports=pN;var{DATE_FORMAT:mN,DATE_FORMAT_SIMPLE:dN}=A0(),P4=ZQ(),cN=T6(),lN=r9();function pN($,H=!1){if(H===!1)return $;let J=cN($);if(!lN(J))return $;if(H===!0)return P4(J,dN);let Q=H.toUpperCase();if(Q==="SYS:STANDARD")return P4(J,mN);let X=Q.substr(0,4);if(X==="SYS:"||X==="UTC:"){if(X==="UTC:")return P4(J,H);return P4(J,H.slice(4))}return P4(J,`UTC:${H}`)}});var d6=N((bP,MQ)=>{MQ.exports=nN;function nN($){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 c6=N((fP,SQ)=>{SQ.exports=iN;function iN($){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 l6=N((xP,CQ)=>{CQ.exports=oN;var sN=Z$();function oN($,H){return $=$.replace(/{if (.*?)}(.*?){end}/g,J),$=$.replace(/{if (.*?)}/g,""),$=$.replace(/{end}/g,""),$.replace(/\s+/g," ").trim();function J(Q,X,Y){let W=sN(H,X);if(W&&Y.includes(X))return Y.replace(new RegExp("{"+X+"}","g"),W);else return""}}});var $2=N((kP,PQ)=>{PQ.exports=rN;function rN($){return Object.prototype.toString.apply($)==="[object Object]"}});var K4=N((hP,KQ)=>{KQ.exports=aN;function aN({input:$,ident:H=" ",eol:J=`
24
+ `}){let Q=$.split(/\r?\n/);for(let X=1;X<Q.length;X+=1)Q[X]=H+Q[X];return Q.join(J)}});var fQ=N((vP,bQ)=>{bQ.exports=HA;var{LEVEL_NAMES:IQ}=A0(),TQ=K6(),tN=c6(),eN=d6(),$A=i9();function HA($){let H=$.crlf?`\r
25
+ `:`
26
+ `,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=tN($.customLevels),M=eN($.customLevels),L=$A(E,Z,M),b;if($.customColors)if(typeof $.customColors==="string")b=$.customColors.split(",").reduce((W1,G1)=>{let[X1,I]=G1.split(":"),E1=(E?$.customLevels:M[X1]!==void 0)?M[X1]:IQ[X1],X0=E1!==void 0?E1:X1;return W1.push([X0,I]),W1},[]);else if(typeof $.customColors==="object")b=Object.keys($.customColors).reduce((W1,G1)=>{let[X1,I]=[G1,$.customColors[G1]],E1=(E?$.customLevels:M[X1]!==void 0)?M[X1]:IQ[X1],X0=E1!==void 0?E1:X1;return W1.push([X0,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=TQ($.colorize,b,E),d=$.colorizeObjects?J1:TQ(!1,[],!1);return{EOL:H,IDENT:" ",colorizer:J1,customColors:b,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:d,singleLine:_,timestampKey:V,translateTime:D,useOnlyCustomProps:E}}});var yQ=N((gP,gQ)=>{gQ.exports=I4;I4.default=I4;I4.stable=hQ;I4.stableStringify=hQ;var H2="[...]",xQ="[Circular]",s0=[],i0=[];function kQ(){return{depthLimit:Number.MAX_SAFE_INTEGER,edgesLimit:Number.MAX_SAFE_INTEGER}}function I4($,H,J,Q){if(typeof Q>"u")Q=kQ();p6($,"",0,[],void 0,0,Q);var X;try{if(i0.length===0)X=JSON.stringify($,H,J);else X=JSON.stringify($,vQ(H),J)}catch(W){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{while(s0.length!==0){var Y=s0.pop();if(Y.length===4)Object.defineProperty(Y[0],Y[1],Y[3]);else Y[0][Y[1]]=Y[2]}}return X}function S$($,H,J,Q){var X=Object.getOwnPropertyDescriptor(Q,J);if(X.get!==void 0)if(X.configurable)Object.defineProperty(Q,J,{value:$}),s0.push([Q,J,H,X]);else i0.push([H,J,$]);else Q[J]=$,s0.push([Q,J,H])}function p6($,H,J,Q,X,Y,W){Y+=1;var G;if(typeof $==="object"&&$!==null){for(G=0;G<Q.length;G++)if(Q[G]===$){S$(xQ,$,H,X);return}if(typeof W.depthLimit<"u"&&Y>W.depthLimit){S$(H2,$,H,X);return}if(typeof W.edgesLimit<"u"&&J+1>W.edgesLimit){S$(H2,$,H,X);return}if(Q.push($),Array.isArray($))for(G=0;G<$.length;G++)p6($[G],G,G,Q,$,Y,W);else{var q=Object.keys($);for(G=0;G<q.length;G++){var U=q[G];p6($[U],U,G,Q,$,Y,W)}}Q.pop()}}function JA($,H){if($<H)return-1;if($>H)return 1;return 0}function hQ($,H,J,Q){if(typeof Q>"u")Q=kQ();var X=n6($,"",0,[],void 0,0,Q)||$,Y;try{if(i0.length===0)Y=JSON.stringify(X,H,J);else Y=JSON.stringify(X,vQ(H),J)}catch(G){return JSON.stringify("[unable to serialize, circular reference is too complex to analyze]")}finally{while(s0.length!==0){var W=s0.pop();if(W.length===4)Object.defineProperty(W[0],W[1],W[3]);else W[0][W[1]]=W[2]}}return Y}function n6($,H,J,Q,X,Y,W){Y+=1;var G;if(typeof $==="object"&&$!==null){for(G=0;G<Q.length;G++)if(Q[G]===$){S$(xQ,$,H,X);return}try{if(typeof $.toJSON==="function")return}catch(w){return}if(typeof W.depthLimit<"u"&&Y>W.depthLimit){S$(H2,$,H,X);return}if(typeof W.edgesLimit<"u"&&J+1>W.edgesLimit){S$(H2,$,H,X);return}if(Q.push($),Array.isArray($))for(G=0;G<$.length;G++)n6($[G],G,G,Q,$,Y,W);else{var q={},U=Object.keys($).sort(JA);for(G=0;G<U.length;G++){var B=U[G];n6($[B],B,G,Q,$,Y,W),q[B]=$[B]}if(typeof X<"u")s0.push([X,H,$]),X[H]=q;else return q}Q.pop()}}function vQ($){return $=typeof $<"u"?$:function(H,J){return J},function(H,J){if(i0.length>0)for(var Q=0;Q<i0.length;Q++){var X=i0[Q];if(X[1]===H&&X[0]===J){J=X[2],i0.splice(Q,1);break}}return $.call(this,H,J)}}});var i6=N((yP,uQ)=>{uQ.exports=XA;var QA=K4();function XA({keyName:$,lines:H,eol:J,ident:Q}){let X="",Y=QA({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 J2=N((uP,mQ)=>{mQ.exports=qA;var{LOGGER_KEYS:YA}=A0(),s6=yQ(),WA=K4(),GA=i6();function qA({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,YA);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(s6(V));_+=X,_=_.replace(/\\\\/gi,"\\")}else Object.entries(V).forEach(([A,E])=>{let Z=typeof W[A]==="function"?E:s6(E,null,2);if(Z===void 0)return;Z=Z.replace(/\\\\/gi,"\\");let M=WA({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:s6(E,null,2);if(Z===void 0)return;_+=GA({keyName:A,lines:Z,eol:X,ident:Y})}),_}});var o6=N((mP,dQ)=>{dQ.exports=VA;var{LOGGER_KEYS:UA}=A0(),BA=$2(),wA=K4(),DA=J2();function VA({log:$,context:H}){let{EOL:J,IDENT:Q,errorProps:X,messageKey:Y}=H,W=$.stack,G=wA({input:W,ident:Q,eol:J}),q=`${Q}${G}${J}`;if(X.length>0){let U=UA.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(BA($[_])){let V=DA({log:$[_],excludeLoggerKeys:!1,context:{...H,IDENT:Q+Q}});q=`${q}${Q}${_}: {${J}${V}${Q}}${J}`;continue}q=`${q}${Q}${_}: ${$[_]}${J}`}}return q}});var r6=N((dP,cQ)=>{cQ.exports=FA;var _A=Z$();function FA({log:$,context:H}){let{colorizer:J,customLevels:Q,customLevelNames:X,levelKey:Y,getLevelLabelData:W}=H,G=H.customPrettifiers?.level,q=_A($,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 a6=N((cP,pQ)=>{pQ.exports=AA;var{LEVELS:zA}=A0(),lQ=Z$(),NA=l6();function AA({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=NA(W,$),B=String(U).replace(/{([^{}]+)}/g,function(w,_){let V;if(_===Y&&(V=lQ($,X))!==void 0)return(q?Q===void 0:Q[V]===void 0)?zA[V]:Q[V];return lQ($,_)||""});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 t6=N((lP,nQ)=>{nQ.exports=RA;function RA({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 e6=N((pP,iQ)=>{iQ.exports=jA;var EA=m6();function jA({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?EA(Y,Q):Y;return X?X(W):`[${W}]`}});var oQ=N((nP,sQ)=>{sQ.exports={buildSafeSonicBoom:XQ(),createDate:T6(),deleteLogProperty:b6(),filterLog:y6(),formatTime:m6(),getPropertyValue:Z$(),handleCustomLevelsNamesOpts:d6(),handleCustomLevelsOpts:c6(),interpretConditionals:l6(),isObject:$2(),isValidDate:r9(),joinLinesWithIndentation:K4(),noop:I6(),parseFactoryOptions:fQ(),prettifyErrorLog:o6(),prettifyError:i6(),prettifyLevel:r6(),prettifyMessage:a6(),prettifyMetadata:t6(),prettifyObject:J2(),prettifyTime:e6(),splitPropertyKey:a9(),getLevelLabelData:i9()}});var $X=N((iP,C$)=>{var OA=typeof Buffer<"u",rQ=/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*:/,aQ=/"(?: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 tQ($,H,J){if(J==null){if(H!==null&&typeof H==="object")J=H,H=void 0}if(OA&&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(rQ.test($)===!1&&aQ.test($)===!1)return Q}else if(X!=="ignore"&&Y==="ignore"){if(rQ.test($)===!1)return Q}else if(aQ.test($)===!1)return Q;return eQ(Q,{protoAction:X,constructorAction:Y,safe:J&&J.safe})}function eQ($,{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 $5($,H,J){let{stackTraceLimit:Q}=Error;Error.stackTraceLimit=0;try{return tQ($,H,J)}finally{Error.stackTraceLimit=Q}}function ZA($,H){let{stackTraceLimit:J}=Error;Error.stackTraceLimit=0;try{return tQ($,H,{safe:!0})}catch{return}finally{Error.stackTraceLimit=J}}C$.exports=$5;C$.exports.default=$5;C$.exports.parse=$5;C$.exports.safeParse=ZA;C$.exports.scan=eQ});var QX=N((sP,JX)=>{JX.exports=kA;var LA=$X(),HX=$2(),MA=o6(),SA=r6(),CA=a6(),PA=t6(),KA=J2(),IA=e6(),TA=y6(),{LEVELS:bA,LEVEL_KEY:fA,LEVEL_NAMES:H5}=A0(),xA=($)=>{try{return{value:LA.parse($,{protoAction:"remove"})}}catch(H){return{err:H}}};function kA($){let H;if(!HX($)){let G=xA($);if(G.err||!HX(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=H5[this.minimumLevel];if(!q)q=typeof this.minimumLevel==="string"?H5[this.minimumLevel]:H5[bA[this.minimumLevel].toLowerCase()];if(H[this.levelKey===void 0?fA:this.levelKey]<q)return}let J=CA({log:H,context:this.context});if(this.ignoreKeys||this.includeKeys)H=TA({log:H,context:this.context});let Q=SA({log:H,context:{...this.context,...this.context.customProperties}}),X=PA({log:H,context:this.context}),Y=IA({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=MA({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=KA({log:H,skipKeys:G,context:this.context});if(this.singleLine&&!/^\s$/.test(q))W+=" ";W+=q}return W}});var WX=N((oP,K0)=>{var{isColorSupported:XX}=Z6(),hA=gJ(),{Transform:vA}=require("node:stream"),gA=iJ(),yA=K6(),{ERROR_LIKE_KEYS:YX,LEVEL_KEY:uA,LEVEL_LABEL:mA,MESSAGE_KEY:dA,TIMESTAMP_KEY:cA}=A0(),{buildSafeSonicBoom:lA,parseFactoryOptions:pA}=oQ(),nA=QX(),iA={colorize:XX,colorizeObjects:!0,crlf:!1,customColors:null,customLevels:null,customPrettifiers:{},errorLikeObjectKeys:YX,errorProps:"",hideObject:!1,ignore:"hostname",include:void 0,levelFirst:!1,levelKey:uA,levelLabel:mA,messageFormat:null,messageKey:dA,minimumLevel:void 0,outputStream:process.stdout,singleLine:!1,timestampKey:cA,translateTime:!0,useOnlyCustomProps:!0};function J5($){let H=pA(Object.assign({},iA,$));return nA.bind({...H,context:H})}function Q2($={}){let H=J5($),J;return gA(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||YX,W.config.errorKey])),customLevels:W.config.levels.values}),H=J5($),Q.off("message",Y)});let X=new vA({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=lA({dest:$.destination||1,append:$.append,mkdir:$.mkdir,sync:$.sync});return Q.on("unknown",function(Y){J.write(Y+`
27
+ `)}),hA(Q,X,J),X},{parse:"lines",close(Q,X){J.on("close",()=>{X(Q)})}})}K0.exports=Q2;K0.exports.build=Q2;K0.exports.PinoPretty=Q2;K0.exports.prettyFactory=J5;K0.exports.colorizerFactory=yA;K0.exports.isColorSupported=XX;K0.exports.default=Q2});var q5={};L1(q5,{parseTTL:()=>r0});function r0($){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 b4{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 _5={};L1(_5,{setCache:()=>B5,invalidateCache:()=>D5,getCache:()=>U5,deleteCache:()=>w5,clearCache:()=>V5,CacheManager:()=>f1});async function U5($){return await f1.get($)}async function B5($,H,J){await f1.set($,H,J)}async function w5($){return await f1.delete($)}async function D5($){return await f1.invalidate($)}async function V5(){await f1.clear()}var f1;var f4=Z9(()=>{f1=class f1{static defaultStore=new b4;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?r0(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 Q$=N(()=>{/*! *****************************************************************************
2
28
  Copyright (C) Microsoft. All rights reserved.
3
29
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
30
  this file except in compliance with the License. You may obtain a copy of the
@@ -11,13 +37,13 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
11
37
 
12
38
  See the Apache Version 2.0 License for specific language governing permissions
13
39
  and limitations under the License.
14
- ***************************************************************************** */var J9;(function($){(function(J){var Q=typeof globalThis==="object"?globalThis:typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Y(),W=H($);if(typeof Q.Reflect<"u")W=H(Q.Reflect,W);if(J(W,Q),typeof Q.Reflect>"u")Q.Reflect=$;function H(G,B){return function(w,_){if(Object.defineProperty(G,w,{configurable:!0,writable:!0,value:_}),B)B(w,_)}}function X(){try{return Function("return this;")()}catch(G){}}function q(){try{return(0,eval)("(function() { return this; })()")}catch(G){}}function Y(){return X()||q()}})(function(J,Q){var W=Object.prototype.hasOwnProperty,H=typeof Symbol==="function",X=H&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",q=H&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",Y=typeof Object.create==="function",G={__proto__:[]}instanceof Array,B=!Y&&!G,w={create:Y?function(){return B4(Object.create(null))}:G?function(){return B4({__proto__:null})}:function(){return B4({})},has:B?function(D,U){return W.call(D,U)}:function(D,U){return U in D},get:B?function(D,U){return W.call(D,U)?D[U]:void 0}:function(D,U){return D[U]}},_=Object.getPrototypeOf(Function),R=typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:FW(),S=typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:zW(),P=typeof WeakMap==="function"?WeakMap:NW(),h=H?Symbol.for("@reflect-metadata:registry"):void 0,o=UW(),W0=_W(o);function z0(D,U,V,j){if(!v(V)){if(!a8(D))throw TypeError();if(!e(U))throw TypeError();if(!e(j)&&!v(j)&&!S1(j))throw TypeError();if(S1(j))j=void 0;return V=g0(V),XW(D,U,V,j)}else{if(!a8(D))throw TypeError();if(!e8(U))throw TypeError();return HW(D,U)}}J("decorate",z0);function t(D,U){function V(j,K){if(!e(j))throw TypeError();if(!v(K)&&!wW(K))throw TypeError();p8(D,U,j,K)}return V}J("metadata",t);function R0(D,U,V,j){if(!e(V))throw TypeError();if(!v(j))j=g0(j);return p8(D,U,V,j)}J("defineMetadata",R0);function H0(D,U,V){if(!e(U))throw TypeError();if(!v(V))V=g0(V);return n8(D,U,V)}J("hasMetadata",H0);function U0(D,U,V){if(!e(U))throw TypeError();if(!v(V))V=g0(V);return q4(D,U,V)}J("hasOwnMetadata",U0);function C0(D,U,V){if(!e(U))throw TypeError();if(!v(V))V=g0(V);return d8(D,U,V)}J("getMetadata",C0);function H4(D,U,V){if(!e(U))throw TypeError();if(!v(V))V=g0(V);return i8(D,U,V)}J("getOwnMetadata",H4);function h0(D,U){if(!e(D))throw TypeError();if(!v(U))U=g0(U);return s8(D,U)}J("getMetadataKeys",h0);function X4(D,U){if(!e(D))throw TypeError();if(!v(U))U=g0(U);return o8(D,U)}J("getOwnMetadataKeys",X4);function c8(D,U,V){if(!e(U))throw TypeError();if(!v(V))V=g0(V);if(!e(U))throw TypeError();if(!v(V))V=g0(V);var j=W$(U,V,!1);if(v(j))return!1;return j.OrdinaryDeleteMetadata(D,U,V)}J("deleteMetadata",c8);function HW(D,U){for(var V=D.length-1;V>=0;--V){var j=D[V],K=j(U);if(!v(K)&&!S1(K)){if(!e8(K))throw TypeError();U=K}}return U}function XW(D,U,V,j){for(var K=D.length-1;K>=0;--K){var $0=D[K],Q0=$0(U,V,j);if(!v(Q0)&&!S1(Q0)){if(!e(Q0))throw TypeError();j=Q0}}return j}function n8(D,U,V){var j=q4(D,U,V);if(j)return!0;var K=G4(U);if(!S1(K))return n8(D,K,V);return!1}function q4(D,U,V){var j=W$(U,V,!1);if(v(j))return!1;return t8(j.OrdinaryHasOwnMetadata(D,U,V))}function d8(D,U,V){var j=q4(D,U,V);if(j)return i8(D,U,V);var K=G4(U);if(!S1(K))return d8(D,K,V);return}function i8(D,U,V){var j=W$(U,V,!1);if(v(j))return;return j.OrdinaryGetOwnMetadata(D,U,V)}function p8(D,U,V,j){var K=W$(V,j,!0);K.OrdinaryDefineOwnMetadata(D,U,V,j)}function s8(D,U){var V=o8(D,U),j=G4(D);if(j===null)return V;var K=s8(j,U);if(K.length<=0)return V;if(V.length<=0)return K;var $0=new S,Q0=[];for(var l=0,C=V;l<C.length;l++){var b=C[l],Z=$0.has(b);if(!Z)$0.add(b),Q0.push(b)}for(var k=0,c=K;k<c.length;k++){var b=c[k],Z=$0.has(b);if(!Z)$0.add(b),Q0.push(b)}return Q0}function o8(D,U){var V=W$(D,U,!1);if(!V)return[];return V.OrdinaryOwnMetadataKeys(D,U)}function r8(D){if(D===null)return 1;switch(typeof D){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return D===null?1:6;default:return 6}}function v(D){return D===void 0}function S1(D){return D===null}function qW(D){return typeof D==="symbol"}function e(D){return typeof D==="object"?D!==null:typeof D==="function"}function YW(D,U){switch(r8(D)){case 0:return D;case 1:return D;case 2:return D;case 3:return D;case 4:return D;case 5:return D}var V=U===3?"string":U===5?"number":"default",j=$2(D,X);if(j!==void 0){var K=j.call(D,V);if(e(K))throw TypeError();return K}return GW(D,V==="default"?"number":V)}function GW(D,U){if(U==="string"){var V=D.toString;if(A1(V)){var j=V.call(D);if(!e(j))return j}var K=D.valueOf;if(A1(K)){var j=K.call(D);if(!e(j))return j}}else{var K=D.valueOf;if(A1(K)){var j=K.call(D);if(!e(j))return j}var $0=D.toString;if(A1($0)){var j=$0.call(D);if(!e(j))return j}}throw TypeError()}function t8(D){return!!D}function BW(D){return""+D}function g0(D){var U=YW(D,3);if(qW(U))return U;return BW(U)}function a8(D){return Array.isArray?Array.isArray(D):D instanceof Object?D instanceof Array:Object.prototype.toString.call(D)==="[object Array]"}function A1(D){return typeof D==="function"}function e8(D){return typeof D==="function"}function wW(D){switch(r8(D)){case 3:return!0;case 4:return!0;default:return!1}}function Y4(D,U){return D===U||D!==D&&U!==U}function $2(D,U){var V=D[U];if(V===void 0||V===null)return;if(!A1(V))throw TypeError();return V}function J2(D){var U=$2(D,q);if(!A1(U))throw TypeError();var V=U.call(D);if(!e(V))throw TypeError();return V}function Q2(D){return D.value}function W2(D){var U=D.next();return U.done?!1:U}function H2(D){var U=D.return;if(U)U.call(D)}function G4(D){var U=Object.getPrototypeOf(D);if(typeof D!=="function"||D===_)return U;if(U!==_)return U;var V=D.prototype,j=V&&Object.getPrototypeOf(V);if(j==null||j===Object.prototype)return U;var K=j.constructor;if(typeof K!=="function")return U;if(K===D)return U;return K}function DW(){var D;if(!v(h)&&typeof Q.Reflect<"u"&&!(h in Q.Reflect)&&typeof Q.Reflect.defineMetadata==="function")D=VW(Q.Reflect);var U,V,j,K=new P,$0={registerProvider:Q0,getProvider:C,setProvider:Z};return $0;function Q0(k){if(!Object.isExtensible($0))throw Error("Cannot add provider to a frozen registry.");switch(!0){case D===k:break;case v(U):U=k;break;case U===k:break;case v(V):V=k;break;case V===k:break;default:if(j===void 0)j=new S;j.add(k);break}}function l(k,c){if(!v(U)){if(U.isProviderFor(k,c))return U;if(!v(V)){if(V.isProviderFor(k,c))return U;if(!v(j)){var i=J2(j);while(!0){var J0=W2(i);if(!J0)return;var O0=Q2(J0);if(O0.isProviderFor(k,c))return H2(i),O0}}}}if(!v(D)&&D.isProviderFor(k,c))return D;return}function C(k,c){var i=K.get(k),J0;if(!v(i))J0=i.get(c);if(!v(J0))return J0;if(J0=l(k,c),!v(J0)){if(v(i))i=new R,K.set(k,i);i.set(c,J0)}return J0}function b(k){if(v(k))throw TypeError();return U===k||V===k||!v(j)&&j.has(k)}function Z(k,c,i){if(!b(i))throw Error("Metadata provider not registered.");var J0=C(k,c);if(J0!==i){if(!v(J0))return!1;var O0=K.get(k);if(v(O0))O0=new R,K.set(k,O0);O0.set(c,i)}return!0}}function UW(){var D;if(!v(h)&&e(Q.Reflect)&&Object.isExtensible(Q.Reflect))D=Q.Reflect[h];if(v(D))D=DW();if(!v(h)&&e(Q.Reflect)&&Object.isExtensible(Q.Reflect))Object.defineProperty(Q.Reflect,h,{enumerable:!1,configurable:!1,writable:!1,value:D});return D}function _W(D){var U=new P,V={isProviderFor:function(b,Z){var k=U.get(b);if(v(k))return!1;return k.has(Z)},OrdinaryDefineOwnMetadata:Q0,OrdinaryHasOwnMetadata:K,OrdinaryGetOwnMetadata:$0,OrdinaryOwnMetadataKeys:l,OrdinaryDeleteMetadata:C};return o.registerProvider(V),V;function j(b,Z,k){var c=U.get(b),i=!1;if(v(c)){if(!k)return;c=new R,U.set(b,c),i=!0}var J0=c.get(Z);if(v(J0)){if(!k)return;if(J0=new R,c.set(Z,J0),!D.setProvider(b,Z,V)){if(c.delete(Z),i)U.delete(b);throw Error("Wrong provider for target.")}}return J0}function K(b,Z,k){var c=j(Z,k,!1);if(v(c))return!1;return t8(c.has(b))}function $0(b,Z,k){var c=j(Z,k,!1);if(v(c))return;return c.get(b)}function Q0(b,Z,k,c){var i=j(k,c,!0);i.set(b,Z)}function l(b,Z){var k=[],c=j(b,Z,!1);if(v(c))return k;var i=c.keys(),J0=J2(i),O0=0;while(!0){var X2=W2(J0);if(!X2)return k.length=O0,k;var LW=Q2(X2);try{k[O0]=LW}catch(jW){try{H2(J0)}finally{throw jW}}O0++}}function C(b,Z,k){var c=j(Z,k,!1);if(v(c))return!1;if(!c.delete(b))return!1;if(c.size===0){var i=U.get(Z);if(!v(i)){if(i.delete(k),i.size===0)U.delete(i)}}return!0}}function VW(D){var{defineMetadata:U,hasOwnMetadata:V,getOwnMetadata:j,getOwnMetadataKeys:K,deleteMetadata:$0}=D,Q0=new P,l={isProviderFor:function(C,b){var Z=Q0.get(C);if(!v(Z)&&Z.has(b))return!0;if(K(C,b).length){if(v(Z))Z=new S,Q0.set(C,Z);return Z.add(b),!0}return!1},OrdinaryDefineOwnMetadata:U,OrdinaryHasOwnMetadata:V,OrdinaryGetOwnMetadata:j,OrdinaryOwnMetadataKeys:K,OrdinaryDeleteMetadata:$0};return l}function W$(D,U,V){var j=o.getProvider(D,U);if(!v(j))return j;if(V){if(o.setProvider(D,U,W0))return W0;throw Error("Illegal state.")}return}function FW(){var D={},U=[],V=function(){function l(C,b,Z){this._index=0,this._keys=C,this._values=b,this._selector=Z}return l.prototype["@@iterator"]=function(){return this},l.prototype[q]=function(){return this},l.prototype.next=function(){var C=this._index;if(C>=0&&C<this._keys.length){var b=this._selector(this._keys[C],this._values[C]);if(C+1>=this._keys.length)this._index=-1,this._keys=U,this._values=U;else this._index++;return{value:b,done:!1}}return{value:void 0,done:!0}},l.prototype.throw=function(C){if(this._index>=0)this._index=-1,this._keys=U,this._values=U;throw C},l.prototype.return=function(C){if(this._index>=0)this._index=-1,this._keys=U,this._values=U;return{value:C,done:!0}},l}(),j=function(){function l(){this._keys=[],this._values=[],this._cacheKey=D,this._cacheIndex=-2}return Object.defineProperty(l.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),l.prototype.has=function(C){return this._find(C,!1)>=0},l.prototype.get=function(C){var b=this._find(C,!1);return b>=0?this._values[b]:void 0},l.prototype.set=function(C,b){var Z=this._find(C,!0);return this._values[Z]=b,this},l.prototype.delete=function(C){var b=this._find(C,!1);if(b>=0){var Z=this._keys.length;for(var k=b+1;k<Z;k++)this._keys[k-1]=this._keys[k],this._values[k-1]=this._values[k];if(this._keys.length--,this._values.length--,Y4(C,this._cacheKey))this._cacheKey=D,this._cacheIndex=-2;return!0}return!1},l.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=D,this._cacheIndex=-2},l.prototype.keys=function(){return new V(this._keys,this._values,K)},l.prototype.values=function(){return new V(this._keys,this._values,$0)},l.prototype.entries=function(){return new V(this._keys,this._values,Q0)},l.prototype["@@iterator"]=function(){return this.entries()},l.prototype[q]=function(){return this.entries()},l.prototype._find=function(C,b){if(!Y4(this._cacheKey,C)){this._cacheIndex=-1;for(var Z=0;Z<this._keys.length;Z++)if(Y4(this._keys[Z],C)){this._cacheIndex=Z;break}}if(this._cacheIndex<0&&b)this._cacheIndex=this._keys.length,this._keys.push(C),this._values.push(void 0);return this._cacheIndex},l}();return j;function K(l,C){return l}function $0(l,C){return C}function Q0(l,C){return[l,C]}}function zW(){var D=function(){function U(){this._map=new R}return Object.defineProperty(U.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),U.prototype.has=function(V){return this._map.has(V)},U.prototype.add=function(V){return this._map.set(V,V),this},U.prototype.delete=function(V){return this._map.delete(V)},U.prototype.clear=function(){this._map.clear()},U.prototype.keys=function(){return this._map.keys()},U.prototype.values=function(){return this._map.keys()},U.prototype.entries=function(){return this._map.entries()},U.prototype["@@iterator"]=function(){return this.keys()},U.prototype[q]=function(){return this.keys()},U}();return D}function NW(){var D=16,U=w.create(),V=j();return function(){function C(){this._key=j()}return C.prototype.has=function(b){var Z=K(b,!1);return Z!==void 0?w.has(Z,this._key):!1},C.prototype.get=function(b){var Z=K(b,!1);return Z!==void 0?w.get(Z,this._key):void 0},C.prototype.set=function(b,Z){var k=K(b,!0);return k[this._key]=Z,this},C.prototype.delete=function(b){var Z=K(b,!1);return Z!==void 0?delete Z[this._key]:!1},C.prototype.clear=function(){this._key=j()},C}();function j(){var C;do C="@@WeakMap@@"+l();while(w.has(U,C));return U[C]=!0,C}function K(C,b){if(!W.call(C,V)){if(!b)return;Object.defineProperty(C,V,{value:w.create()})}return C[V]}function $0(C,b){for(var Z=0;Z<b;++Z)C[Z]=Math.random()*255|0;return C}function Q0(C){if(typeof Uint8Array==="function"){var b=new Uint8Array(C);if(typeof crypto<"u")crypto.getRandomValues(b);else if(typeof msCrypto<"u")msCrypto.getRandomValues(b);else $0(b,C);return b}return $0(Array(C),C)}function l(){var C=Q0(D);C[6]=C[6]&79|64,C[8]=C[8]&191|128;var b="";for(var Z=0;Z<D;++Z){var k=C[Z];if(Z===4||Z===6||Z===8)b+="-";if(k<16)b+="0";b+=k.toString(16).toLowerCase()}return b}}function B4(D){return D.__=void 0,delete D.__,D}})})(J9||(J9={}))});var N0,F9,z9,N9,X6;var l1=B2(()=>{N0=class N0 extends Error{statusCode;details;constructor($,J,Q){super(J);this.statusCode=$;this.details=Q;if(this.name="HTTPException",Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}};F9=class F9 extends N0{constructor($="Not Found",J){super(404,$,J);this.name="NotFoundException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}};z9=class z9 extends N0{constructor($="Unauthorized",J){super(401,$,J);this.name="UnauthorizedException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}};N9=class N9 extends N0{constructor($="Forbidden",J){super(403,$,J);this.name="ForbiddenException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}};X6=class X6 extends N0{constructor($="Bad Request",J){super(400,$,J);this.name="BadRequestException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}});var n9={};L0(n9,{TokenRevokedException:()=>d4,TokenExpiredException:()=>Z$,InvalidTokenException:()=>V1,AuthorizationException:()=>B0,AuthenticationException:()=>Y0});var Y0,B0,Z$,V1,d4;var F1=B2(()=>{l1();Y0=class Y0 extends N0{constructor($="Authentication required"){super(401,$);this.name="AuthenticationException"}toJSON(){return{error:"Authentication Error",message:this.message,statusCode:401}}};B0=class B0 extends N0{constructor($="Insufficient permissions"){super(403,$);this.name="AuthorizationException"}toJSON(){return{error:"Authorization Error",message:this.message,statusCode:403}}};Z$=class Z$ extends Y0{constructor($="Token has expired"){super($);this.name="TokenExpiredException"}};V1=class V1 extends Y0{constructor($="Invalid token"){super($);this.name="InvalidTokenException"}};d4=class d4 extends Y0{constructor($="Token has been revoked"){super($);this.name="TokenRevokedException"}}});var p4={};L0(p4,{HonoAdapter:()=>E6});class E6{hono;name="hono";runtime;constructor($){this.hono=$;this.runtime=UX()}listen($,J){switch(this.runtime){case"bun":return this.listenBun($,J);case"deno":return this.listenDeno($,J);case"node":return this.listenNode($,J);case"workerd":throw Error("Cloudflare Workers do not support listen(). Deploy using wrangler or export the handler with getHandler().");default:throw Error(`Unsupported runtime: ${this.runtime}. FastAPI-TS supports Bun, Node.js, Deno, and Cloudflare Workers.`)}}getHandler(){return this.hono.fetch}getRuntime(){return this.runtime}listenBun($,J){let Q=Bun.serve({port:$,fetch:this.hono.fetch});if(J)J();return Q}listenDeno($,J){let Q=new AbortController;return Deno.serve({port:$,signal:Q.signal,onListen:J},this.hono.fetch),{port:$,close:()=>Q.abort()}}listenNode($,J){try{let{serve:Q}=(()=>{throw new Error("Cannot require module "+"@hono/node-server");})();return Q({fetch:this.hono.fetch,port:$},J)}catch(Q){throw Error("Node.js adapter requires @hono/node-server package. Install it with: npm install @hono/node-server")}}}var UX=()=>{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 d9={};L0(d9,{ExpressAdapter:()=>R6});class R6{app;name="express";express;constructor($){this.app=$;try{let J=(()=>{throw new Error("Cannot require module "+"express");})();this.express=J(),this.setupBridge()}catch(J){throw Error("Express adapter requires express package. Install it with: npm install express")}}setupBridge(){let $=this.app.getHono();this.express.use(async(J,Q)=>{try{let W=this.createWebRequest(J),H=await $.fetch(W);await this.sendExpressResponse(Q,H)}catch(W){Q.status(500).json({error:"Internal Server Error",message:W instanceof Error?W.message:"Unknown error"})}})}createWebRequest($){let J=$.protocol||"http",Q=$.get("host")||"localhost",W=`${J}://${Q}${$.originalUrl||$.url}`,H=new Headers;for(let[q,Y]of Object.entries($.headers))if(typeof Y==="string")H.set(q,Y);else if(Array.isArray(Y))Y.forEach((G)=>H.append(q,G));let X={method:$.method,headers:H};if($.method!=="GET"&&$.method!=="HEAD"){if($.body)X.body=JSON.stringify($.body),H.set("content-type","application/json")}return new Request(W,X)}async sendExpressResponse($,J){if($.status(J.status),J.headers.forEach((Q,W)=>{$.setHeader(W,Q)}),J.body){let Q=J.headers.get("content-type")||"";if(Q.includes("application/json")){let W=await J.json();$.json(W)}else if(Q.includes("text/")){let W=await J.text();$.send(W)}else{let W=await J.arrayBuffer();$.send(Buffer.from(W))}}else $.end()}listen($,J){return this.express.listen($,J)}getHandler(){return this.express}getExpressApp(){return this.express}}var i1=A((t4,J5)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var M6=require("buffer"),m0=M6.Buffer;function $5($,J){for(var Q in $)J[Q]=$[Q]}if(m0.from&&m0.alloc&&m0.allocUnsafe&&m0.allocUnsafeSlow)J5.exports=M6;else $5(M6,t4),t4.Buffer=N1;function N1($,J,Q){return m0($,J,Q)}N1.prototype=Object.create(m0.prototype);$5(m0,N1);N1.from=function($,J,Q){if(typeof $==="number")throw TypeError("Argument must not be a number");return m0($,J,Q)};N1.alloc=function($,J,Q){if(typeof $!=="number")throw TypeError("Argument must be a number");var W=m0($);if(J!==void 0)if(typeof Q==="string")W.fill(J,Q);else W.fill(J);else W.fill(0);return W};N1.allocUnsafe=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return m0($)};N1.allocUnsafeSlow=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return M6.SlowBuffer($)}});var a4=A((qN,Q5)=>{var b6=i1().Buffer,OX=require("stream"),MX=require("util");function P6($){if(this.buffer=null,this.writable=!0,this.readable=!0,!$)return this.buffer=b6.alloc(0),this;if(typeof $.pipe==="function")return this.buffer=b6.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 $+")")}MX.inherits(P6,OX);P6.prototype.write=function(J){this.buffer=b6.concat([this.buffer,b6.from(J)]),this.emit("data",J)};P6.prototype.end=function(J){if(J)this.write(J);this.emit("end",J),this.emit("close"),this.writable=!1,this.readable=!1};Q5.exports=P6});var H5=A((YN,W5)=>{function e4($){var J=($/8|0)+($%8===0?0:1);return J}var bX={ES256:e4(256),ES384:e4(384),ES512:e4(521)};function PX($){var J=bX[$];if(J)return J;throw Error('Unknown algorithm "'+$+'"')}W5.exports=PX});var D5=A((GN,w5)=>{var Z6=i1().Buffer,q5=H5(),I6=128,Y5=0,ZX=32,IX=16,kX=2,G5=IX|ZX|Y5<<6,k6=kX|Y5<<6;function KX($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function B5($){if(Z6.isBuffer($))return $;else if(typeof $==="string")return Z6.from($,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function fX($,J){$=B5($);var Q=q5(J),W=Q+1,H=$.length,X=0;if($[X++]!==G5)throw Error('Could not find expected "seq"');var q=$[X++];if(q===(I6|1))q=$[X++];if(H-X<q)throw Error('"seq" specified length of "'+q+'", only "'+(H-X)+'" remaining');if($[X++]!==k6)throw Error('Could not find expected "int" for "r"');var Y=$[X++];if(H-X-2<Y)throw Error('"r" specified length of "'+Y+'", only "'+(H-X-2)+'" available');if(W<Y)throw Error('"r" specified length of "'+Y+'", max of "'+W+'" is acceptable');var G=X;if(X+=Y,$[X++]!==k6)throw Error('Could not find expected "int" for "s"');var B=$[X++];if(H-X!==B)throw Error('"s" specified length of "'+B+'", expected "'+(H-X)+'"');if(W<B)throw Error('"s" specified length of "'+B+'", max of "'+W+'" is acceptable');var w=X;if(X+=B,X!==H)throw Error('Expected to consume entire buffer, but "'+(H-X)+'" bytes remain');var _=Q-Y,R=Q-B,S=Z6.allocUnsafe(_+Y+R+B);for(X=0;X<_;++X)S[X]=0;$.copy(S,X,G+Math.max(-_,0),G+Y),X=Q;for(var P=X;X<P+R;++X)S[X]=0;return $.copy(S,X,w+Math.max(-R,0),w+B),S=S.toString("base64"),S=KX(S),S}function X5($,J,Q){var W=0;while(J+W<Q&&$[J+W]===0)++W;var H=$[J+W]>=I6;if(H)--W;return W}function TX($,J){$=B5($);var Q=q5(J),W=$.length;if(W!==Q*2)throw TypeError('"'+J+'" signatures must be "'+Q*2+'" bytes, saw "'+W+'"');var H=X5($,0,Q),X=X5($,Q,$.length),q=Q-H,Y=Q-X,G=2+q+1+1+Y,B=G<I6,w=Z6.allocUnsafe((B?2:3)+G),_=0;if(w[_++]=G5,B)w[_++]=G;else w[_++]=I6|1,w[_++]=G&255;if(w[_++]=k6,w[_++]=q,H<0)w[_++]=0,_+=$.copy(w,_,0,Q);else _+=$.copy(w,_,H,Q);if(w[_++]=k6,w[_++]=Y,X<0)w[_++]=0,$.copy(w,_,Q);else $.copy(w,_,Q+X);return w}w5.exports={derToJose:fX,joseToDer:TX}});var _5=A((BN,U5)=>{var f$=require("buffer").Buffer,$8=require("buffer").SlowBuffer;U5.exports=K6;function K6($,J){if(!f$.isBuffer($)||!f$.isBuffer(J))return!1;if($.length!==J.length)return!1;var Q=0;for(var W=0;W<$.length;W++)Q|=$[W]^J[W];return Q===0}K6.install=function(){f$.prototype.equal=$8.prototype.equal=function(J){return K6(this,J)}};var xX=f$.prototype.equal,vX=$8.prototype.equal;K6.restore=function(){f$.prototype.equal=xX,$8.prototype.equal=vX}});var H8=A((wN,E5)=>{var s1=i1().Buffer,j0=require("crypto"),F5=D5(),V5=require("util"),hX=`"%s" is not a valid algorithm.
40
+ ***************************************************************************** */var $Y;(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 S8(Object.create(null))}:q?function(){return S8({__proto__:null})}:function(){return S8({})},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:bB(),V=typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:fB(),D=typeof WeakMap==="function"?WeakMap:xB(),A=X?Symbol.for("@reflect-metadata:registry"):void 0,E=KB(),Z=IB(E);function M(F,z,j,K){if(!s(j)){if(!U3(F))throw TypeError();if(!_1(z))throw TypeError();if(!_1(K)&&!s(K)&&!A$(K))throw TypeError();if(A$(K))K=void 0;return j=Y0(j),I(F,z,j,K)}else{if(!U3(F))throw TypeError();if(!B3(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)&&!CB(c))throw TypeError();j9(F,z,K,c)}return j}H("metadata",L);function b(F,z,j,K){if(!_1(j))throw TypeError();if(!s(K))K=Y0(K);return j9(F,z,j,K)}H("defineMetadata",b);function v(F,z,j){if(!_1(z))throw TypeError();if(!s(j))j=Y0(j);return R1(F,z,j)}H("hasMetadata",v);function l(F,z,j){if(!_1(z))throw TypeError();if(!s(j))j=Y0(j);return E1(F,z,j)}H("hasOwnMetadata",l);function i(F,z,j){if(!_1(z))throw TypeError();if(!s(j))j=Y0(j);return X0(F,z,j)}H("getMetadata",i);function J1(F,z,j){if(!_1(z))throw TypeError();if(!s(j))j=Y0(j);return D4(F,z,j)}H("getOwnMetadata",J1);function d(F,z){if(!_1(F))throw TypeError();if(!s(z))z=Y0(z);return V4(F,z)}H("getMetadataKeys",d);function W1(F,z){if(!_1(F))throw TypeError();if(!s(z))z=Y0(z);return O9(F,z)}H("getOwnMetadataKeys",W1);function G1(F,z,j){if(!_1(z))throw TypeError();if(!s(j))j=Y0(j);if(!_1(z))throw TypeError();if(!s(j))j=Y0(j);var K=_4(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)&&!A$(c)){if(!B3(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)&&!A$(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=M8(z);if(!A$(c))return R1(F,c,j);return!1}function E1(F,z,j){var K=_4(z,j,!1);if(s(K))return!1;return q3(K.OrdinaryHasOwnMetadata(F,z,j))}function X0(F,z,j){var K=E1(F,z,j);if(K)return D4(F,z,j);var c=M8(z);if(!A$(c))return X0(F,c,j);return}function D4(F,z,j){var K=_4(z,j,!1);if(s(K))return;return K.OrdinaryGetOwnMetadata(F,z,j)}function j9(F,z,j,K){var c=_4(j,K,!0);c.OrdinaryDefineOwnMetadata(F,z,j,K)}function V4(F,z){var j=O9(F,z),K=M8(F);if(K===null)return j;var c=V4(K,z);if(c.length<=0)return j;if(j.length<=0)return c;var F1=new V,A1=[];for(var $1=0,f=j;$1<f.length;$1++){var h=f[$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 O9(F,z){var j=_4(F,z,!1);if(!j)return[];return j.OrdinaryOwnMetadataKeys(F,z)}function G3(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 A$(F){return F===null}function ZB(F){return typeof F==="symbol"}function _1(F){return typeof F==="object"?F!==null:typeof F==="function"}function LB(F,z){switch(G3(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=w3(F,Y);if(K!==void 0){var c=K.call(F,j);if(_1(c))throw TypeError();return c}return MB(F,j==="default"?"number":j)}function MB(F,z){if(z==="string"){var j=F.toString;if(R$(j)){var K=j.call(F);if(!_1(K))return K}var c=F.valueOf;if(R$(c)){var K=c.call(F);if(!_1(K))return K}}else{var c=F.valueOf;if(R$(c)){var K=c.call(F);if(!_1(K))return K}var F1=F.toString;if(R$(F1)){var K=F1.call(F);if(!_1(K))return K}}throw TypeError()}function q3(F){return!!F}function SB(F){return""+F}function Y0(F){var z=LB(F,3);if(ZB(z))return z;return SB(z)}function U3(F){return Array.isArray?Array.isArray(F):F instanceof Object?F instanceof Array:Object.prototype.toString.call(F)==="[object Array]"}function R$(F){return typeof F==="function"}function B3(F){return typeof F==="function"}function CB(F){switch(G3(F)){case 3:return!0;case 4:return!0;default:return!1}}function L8(F,z){return F===z||F!==F&&z!==z}function w3(F,z){var j=F[z];if(j===void 0||j===null)return;if(!R$(j))throw TypeError();return j}function D3(F){var z=w3(F,W);if(!R$(z))throw TypeError();var j=z.call(F);if(!_1(j))throw TypeError();return j}function V3(F){return F.value}function _3(F){var z=F.next();return z.done?!1:z}function F3(F){var z=F.return;if(z)z.call(F)}function M8(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 PB(){var F;if(!s(A)&&typeof J.Reflect<"u"&&!(A in J.Reflect)&&typeof J.Reflect.defineMetadata==="function")F=TB(J.Reflect);var z,j,K,c=new D,F1={registerProvider:A1,getProvider:f,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=D3(K);while(!0){var z1=_3(U1);if(!z1)return;var c1=V3(z1);if(c1.isProviderFor(u,Q1))return F3(U1),c1}}}}if(!s(F)&&F.isProviderFor(u,Q1))return F;return}function f(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=f(u,Q1);if(z1!==U1){if(!s(z1))return!1;var c1=c.get(u);if(s(c1))c1=new _,c.set(u,c1);c1.set(Q1,U1)}return!0}}function KB(){var F;if(!s(A)&&_1(J.Reflect)&&Object.isExtensible(J.Reflect))F=J.Reflect[A];if(s(F))F=PB();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 IB(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:f};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 q3(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=D3(U1),c1=0;while(!0){var z3=_3(z1);if(!z3)return u.length=c1,u;var kB=V3(z3);try{u[c1]=kB}catch(hB){try{F3(z1)}finally{throw hB}}c1++}}function f(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 TB(F){var{defineMetadata:z,hasOwnMetadata:j,getOwnMetadata:K,getOwnMetadataKeys:c,deleteMetadata:F1}=F,A1=new D,$1={isProviderFor:function(f,h){var g=A1.get(f);if(!s(g)&&g.has(h))return!0;if(c(f,h).length){if(s(g))g=new V,A1.set(f,g);return g.add(h),!0}return!1},OrdinaryDefineOwnMetadata:z,OrdinaryHasOwnMetadata:j,OrdinaryGetOwnMetadata:K,OrdinaryOwnMetadataKeys:c,OrdinaryDeleteMetadata:F1};return $1}function _4(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 bB(){var F={},z=[],j=function(){function $1(f,h,g){this._index=0,this._keys=f,this._values=h,this._selector=g}return $1.prototype["@@iterator"]=function(){return this},$1.prototype[W]=function(){return this},$1.prototype.next=function(){var f=this._index;if(f>=0&&f<this._keys.length){var h=this._selector(this._keys[f],this._values[f]);if(f+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(f){if(this._index>=0)this._index=-1,this._keys=z,this._values=z;throw f},$1.prototype.return=function(f){if(this._index>=0)this._index=-1,this._keys=z,this._values=z;return{value:f,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(f){return this._find(f,!1)>=0},$1.prototype.get=function(f){var h=this._find(f,!1);return h>=0?this._values[h]:void 0},$1.prototype.set=function(f,h){var g=this._find(f,!0);return this._values[g]=h,this},$1.prototype.delete=function(f){var h=this._find(f,!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--,L8(f,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(f,h){if(!L8(this._cacheKey,f)){this._cacheIndex=-1;for(var g=0;g<this._keys.length;g++)if(L8(this._keys[g],f)){this._cacheIndex=g;break}}if(this._cacheIndex<0&&h)this._cacheIndex=this._keys.length,this._keys.push(f),this._values.push(void 0);return this._cacheIndex},$1}();return K;function c($1,f){return $1}function F1($1,f){return f}function A1($1,f){return[$1,f]}}function fB(){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 xB(){var F=16,z=B.create(),j=K();return function(){function f(){this._key=K()}return f.prototype.has=function(h){var g=c(h,!1);return g!==void 0?B.has(g,this._key):!1},f.prototype.get=function(h){var g=c(h,!1);return g!==void 0?B.get(g,this._key):void 0},f.prototype.set=function(h,g){var u=c(h,!0);return u[this._key]=g,this},f.prototype.delete=function(h){var g=c(h,!1);return g!==void 0?delete g[this._key]:!1},f.prototype.clear=function(){this._key=K()},f}();function K(){var f;do f="@@WeakMap@@"+$1();while(B.has(z,f));return z[f]=!0,f}function c(f,h){if(!Q.call(f,j)){if(!h)return;Object.defineProperty(f,j,{value:B.create()})}return f[j]}function F1(f,h){for(var g=0;g<h;++g)f[g]=Math.random()*255|0;return f}function A1(f){if(typeof Uint8Array==="function"){var h=new Uint8Array(f);if(typeof crypto<"u")crypto.getRandomValues(h);else if(typeof msCrypto<"u")msCrypto.getRandomValues(h);else F1(h,f);return h}return F1(Array(f),f)}function $1(){var f=A1(F);f[6]=f[6]&79|64,f[8]=f[8]&191|128;var h="";for(var g=0;g<F;++g){var u=f[g];if(g===4||g===6||g===8)h+="-";if(u<16)h+="0";h+=u.toString(16).toLowerCase()}return h}}function S8(F){return F.__=void 0,delete F.__,F}})})($Y||($Y={}))});var x1,_Y,FY,zY,z2;var i$=Z9(()=>{x1=class x1 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}}}};_Y=class _Y extends x1{constructor($="Not Found",H){super(404,$,H);this.name="NotFoundException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}};FY=class FY extends x1{constructor($="Unauthorized",H){super(401,$,H);this.name="UnauthorizedException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}};zY=class zY extends x1{constructor($="Forbidden",H){super(403,$,H);this.name="ForbiddenException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}};z2=class z2 extends x1{constructor($="Bad Request",H){super(400,$,H);this.name="BadRequestException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}});var yY={};L1(yY,{TokenRevokedException:()=>Q7,TokenExpiredException:()=>e4,InvalidTokenException:()=>q$,AuthorizationException:()=>S1,AuthenticationException:()=>Z1});var Z1,S1,e4,q$,Q7;var U$=Z9(()=>{i$();Z1=class Z1 extends x1{constructor($="Authentication required"){super(401,$);this.name="AuthenticationException"}toJSON(){return{error:"Authentication Error",message:this.message,statusCode:401}}};S1=class S1 extends x1{constructor($="Insufficient permissions"){super(403,$);this.name="AuthorizationException"}toJSON(){return{error:"Authorization Error",message:this.message,statusCode:403}}};e4=class e4 extends Z1{constructor($="Token has expired"){super($);this.name="TokenExpiredException"}};q$=class q$ extends Z1{constructor($="Invalid token"){super($);this.name="InvalidTokenException"}};Q7=class Q7 extends Z1{constructor($="Token has been revoked"){super($);this.name="TokenRevokedException"}}});var X7={};L1(X7,{HonoAdapter:()=>x2});class x2{hono;name="hono";runtime;constructor($){this.hono=$;this.runtime=mE()}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 mE=()=>{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 uY={};L1(uY,{ExpressAdapter:()=>k2});class k2{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 t$=N((q7,$W)=>{/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */var g2=require("buffer"),V0=g2.Buffer;function eY($,H){for(var J in $)H[J]=$[J]}if(V0.from&&V0.alloc&&V0.allocUnsafe&&V0.allocUnsafeSlow)$W.exports=g2;else eY(g2,q7),q7.Buffer=w$;function w$($,H,J){return V0($,H,J)}w$.prototype=Object.create(V0.prototype);eY(V0,w$);w$.from=function($,H,J){if(typeof $==="number")throw TypeError("Argument must not be a number");return V0($,H,J)};w$.alloc=function($,H,J){if(typeof $!=="number")throw TypeError("Argument must be a number");var Q=V0($);if(H!==void 0)if(typeof J==="string")Q.fill(H,J);else Q.fill(H);else Q.fill(0);return Q};w$.allocUnsafe=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return V0($)};w$.allocUnsafeSlow=function($){if(typeof $!=="number")throw TypeError("Argument must be a number");return g2.SlowBuffer($)}});var U7=N((xk,HW)=>{var y2=t$().Buffer,$j=require("stream"),Hj=require("util");function u2($){if(this.buffer=null,this.writable=!0,this.readable=!0,!$)return this.buffer=y2.alloc(0),this;if(typeof $.pipe==="function")return this.buffer=y2.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 $+")")}Hj.inherits(u2,$j);u2.prototype.write=function(H){this.buffer=y2.concat([this.buffer,y2.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};HW.exports=u2});var QW=N((kk,JW)=>{function B7($){var H=($/8|0)+($%8===0?0:1);return H}var Jj={ES256:B7(256),ES384:B7(384),ES512:B7(521)};function Qj($){var H=Jj[$];if(H)return H;throw Error('Unknown algorithm "'+$+'"')}JW.exports=Qj});var BW=N((hk,UW)=>{var m2=t$().Buffer,YW=QW(),d2=128,WW=0,Xj=32,Yj=16,Wj=2,GW=Yj|Xj|WW<<6,c2=Wj|WW<<6;function Gj($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function qW($){if(m2.isBuffer($))return $;else if(typeof $==="string")return m2.from($,"base64");throw TypeError("ECDSA signature must be a Base64 string or a Buffer")}function qj($,H){$=qW($);var J=YW(H),Q=J+1,X=$.length,Y=0;if($[Y++]!==GW)throw Error('Could not find expected "seq"');var W=$[Y++];if(W===(d2|1))W=$[Y++];if(X-Y<W)throw Error('"seq" specified length of "'+W+'", only "'+(X-Y)+'" remaining');if($[Y++]!==c2)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++]!==c2)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=m2.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=Gj(V),V}function XW($,H,J){var Q=0;while(H+Q<J&&$[H+Q]===0)++Q;var X=$[H+Q]>=d2;if(X)--Q;return Q}function Uj($,H){$=qW($);var J=YW(H),Q=$.length;if(Q!==J*2)throw TypeError('"'+H+'" signatures must be "'+J*2+'" bytes, saw "'+Q+'"');var X=XW($,0,J),Y=XW($,J,$.length),W=J-X,G=J-Y,q=2+W+1+1+G,U=q<d2,B=m2.allocUnsafe((U?2:3)+q),w=0;if(B[w++]=GW,U)B[w++]=q;else B[w++]=d2|1,B[w++]=q&255;if(B[w++]=c2,B[w++]=W,X<0)B[w++]=0,w+=$.copy(B,w,0,J);else w+=$.copy(B,w,X,J);if(B[w++]=c2,B[w++]=G,Y<0)B[w++]=0,$.copy(B,w,J);else $.copy(B,w,J+Y);return B}UW.exports={derToJose:qj,joseToDer:Uj}});var DW=N((vk,wW)=>{var Q9=require("buffer").Buffer,w7=require("buffer").SlowBuffer;wW.exports=l2;function l2($,H){if(!Q9.isBuffer($)||!Q9.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}l2.install=function(){Q9.prototype.equal=w7.prototype.equal=function(H){return l2(this,H)}};var Bj=Q9.prototype.equal,wj=w7.prototype.equal;l2.restore=function(){Q9.prototype.equal=Bj,w7.prototype.equal=wj}});var F7=N((gk,jW)=>{var $4=t$().Buffer,h1=require("crypto"),_W=BW(),VW=require("util"),Dj=`"%s" is not a valid algorithm.
15
41
  Supported algorithms are:
16
- "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,T$="secret must be a string or buffer",p1="key must be a string or a buffer",gX="key must be a string, a buffer or an object",Q8=typeof j0.createPublicKey==="function";if(Q8)p1+=" or a KeyObject",T$+="or a KeyObject";function z5($){if(s1.isBuffer($))return;if(typeof $==="string")return;if(!Q8)throw x0(p1);if(typeof $!=="object")throw x0(p1);if(typeof $.type!=="string")throw x0(p1);if(typeof $.asymmetricKeyType!=="string")throw x0(p1);if(typeof $.export!=="function")throw x0(p1)}function N5($){if(s1.isBuffer($))return;if(typeof $==="string")return;if(typeof $==="object")return;throw x0(gX)}function yX($){if(s1.isBuffer($))return;if(typeof $==="string")return $;if(!Q8)throw x0(T$);if(typeof $!=="object")throw x0(T$);if($.type!=="secret")throw x0(T$);if(typeof $.export!=="function")throw x0(T$)}function W8($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function L5($){$=$.toString();var J=4-$.length%4;if(J!==4)for(var Q=0;Q<J;++Q)$+="=";return $.replace(/\-/g,"+").replace(/_/g,"/")}function x0($){var J=[].slice.call(arguments,1),Q=V5.format.bind(V5,$).apply(null,J);return TypeError(Q)}function uX($){return s1.isBuffer($)||typeof $==="string"}function x$($){if(!uX($))$=JSON.stringify($);return $}function j5($){return function(Q,W){yX(W),Q=x$(Q);var H=j0.createHmac("sha"+$,W),X=(H.update(Q),H.digest("base64"));return W8(X)}}var J8,lX="timingSafeEqual"in j0?function(J,Q){if(J.byteLength!==Q.byteLength)return!1;return j0.timingSafeEqual(J,Q)}:function(J,Q){if(!J8)J8=_5();return J8(J,Q)};function mX($){return function(Q,W,H){var X=j5($)(Q,H);return lX(s1.from(W),s1.from(X))}}function S5($){return function(Q,W){N5(W),Q=x$(Q);var H=j0.createSign("RSA-SHA"+$),X=(H.update(Q),H.sign(W,"base64"));return W8(X)}}function A5($){return function(Q,W,H){z5(H),Q=x$(Q),W=L5(W);var X=j0.createVerify("RSA-SHA"+$);return X.update(Q),X.verify(H,W,"base64")}}function cX($){return function(Q,W){N5(W),Q=x$(Q);var H=j0.createSign("RSA-SHA"+$),X=(H.update(Q),H.sign({key:W,padding:j0.constants.RSA_PKCS1_PSS_PADDING,saltLength:j0.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return W8(X)}}function nX($){return function(Q,W,H){z5(H),Q=x$(Q),W=L5(W);var X=j0.createVerify("RSA-SHA"+$);return X.update(Q),X.verify({key:H,padding:j0.constants.RSA_PKCS1_PSS_PADDING,saltLength:j0.constants.RSA_PSS_SALTLEN_DIGEST},W,"base64")}}function dX($){var J=S5($);return function(){var W=J.apply(null,arguments);return W=F5.derToJose(W,"ES"+$),W}}function iX($){var J=A5($);return function(W,H,X){H=F5.joseToDer(H,"ES"+$).toString("base64");var q=J(W,H,X);return q}}function pX(){return function(){return""}}function sX(){return function(J,Q){return Q===""}}E5.exports=function(J){var Q={hs:j5,rs:S5,ps:cX,es:dX,none:pX},W={hs:mX,rs:A5,ps:nX,es:iX,none:sX},H=J.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);if(!H)throw x0(hX,J);var X=(H[1]||H[3]).toLowerCase(),q=H[2];return{sign:Q[X](q),verify:W[X](q)}}});var X8=A((DN,R5)=>{var oX=require("buffer").Buffer;R5.exports=function(J){if(typeof J==="string")return J;if(typeof J==="number"||oX.isBuffer(J))return J.toString();return JSON.stringify(J)}});var Z5=A((UN,P5)=>{var rX=i1().Buffer,C5=a4(),tX=H8(),aX=require("stream"),O5=X8(),q8=require("util");function M5($,J){return rX.from($,J).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function eX($,J,Q){Q=Q||"utf8";var W=M5(O5($),"binary"),H=M5(O5(J),Q);return q8.format("%s.%s",W,H)}function b5($){var{header:J,payload:Q}=$,W=$.secret||$.privateKey,H=$.encoding,X=tX(J.alg),q=eX(J,Q,H),Y=X.sign(q,W);return q8.format("%s.%s",q,Y)}function f6($){var J=$.secret||$.privateKey||$.key,Q=new C5(J);this.readable=!0,this.header=$.header,this.encoding=$.encoding,this.secret=this.privateKey=this.key=Q,this.payload=new C5($.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))}q8.inherits(f6,aX);f6.prototype.sign=function(){try{var J=b5({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",J),this.emit("data",J),this.emit("end"),this.readable=!1,J}catch(Q){this.readable=!1,this.emit("error",Q),this.emit("close")}};f6.sign=b5;P5.exports=f6});var y5=A((_N,g5)=>{var k5=i1().Buffer,I5=a4(),$q=H8(),Jq=require("stream"),K5=X8(),Qq=require("util"),Wq=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function Hq($){return Object.prototype.toString.call($)==="[object Object]"}function Xq($){if(Hq($))return $;try{return JSON.parse($)}catch(J){return}}function f5($){var J=$.split(".",1)[0];return Xq(k5.from(J,"base64").toString("binary"))}function qq($){return $.split(".",2).join(".")}function T5($){return $.split(".")[2]}function Yq($,J){J=J||"utf8";var Q=$.split(".")[1];return k5.from(Q,"base64").toString(J)}function x5($){return Wq.test($)&&!!f5($)}function v5($,J,Q){if(!J){var W=Error("Missing algorithm parameter for jws.verify");throw W.code="MISSING_ALGORITHM",W}$=K5($);var H=T5($),X=qq($),q=$q(J);return q.verify(X,H,Q)}function h5($,J){if(J=J||{},$=K5($),!x5($))return null;var Q=f5($);if(!Q)return null;var W=Yq($);if(Q.typ==="JWT"||J.json)W=JSON.parse(W,J.encoding);return{header:Q,payload:W,signature:T5($)}}function o1($){$=$||{};var J=$.secret||$.publicKey||$.key,Q=new I5(J);this.readable=!0,this.algorithm=$.algorithm,this.encoding=$.encoding,this.secret=this.publicKey=this.key=Q,this.signature=new I5($.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))}Qq.inherits(o1,Jq);o1.prototype.verify=function(){try{var J=v5(this.signature.buffer,this.algorithm,this.key.buffer),Q=h5(this.signature.buffer,this.encoding);return this.emit("done",J,Q),this.emit("data",J),this.emit("end"),this.readable=!1,J}catch(W){this.readable=!1,this.emit("error",W),this.emit("close")}};o1.decode=h5;o1.isValid=x5;o1.verify=v5;g5.exports=o1});var x6=A(($1)=>{var u5=Z5(),T6=y5(),Gq=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];$1.ALGORITHMS=Gq;$1.sign=u5.sign;$1.verify=T6.verify;$1.decode=T6.decode;$1.isValid=T6.isValid;$1.createSign=function(J){return new u5(J)};$1.createVerify=function(J){return new T6(J)}});var Y8=A((FN,l5)=>{var Bq=x6();l5.exports=function($,J){J=J||{};var Q=Bq.decode($,J);if(!Q)return null;var W=Q.payload;if(typeof W==="string")try{var H=JSON.parse(W);if(H!==null&&typeof H==="object")W=H}catch(X){}if(J.complete===!0)return{header:Q.header,payload:W,signature:Q.signature};return W}});var v$=A((zN,m5)=>{var v6=function($,J){if(Error.call(this,$),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=$,J)this.inner=J};v6.prototype=Object.create(Error.prototype);v6.prototype.constructor=v6;m5.exports=v6});var G8=A((NN,n5)=>{var c5=v$(),h6=function($,J){c5.call(this,$),this.name="NotBeforeError",this.date=J};h6.prototype=Object.create(c5.prototype);h6.prototype.constructor=h6;n5.exports=h6});var B8=A((LN,i5)=>{var d5=v$(),g6=function($,J){d5.call(this,$),this.name="TokenExpiredError",this.expiredAt=J};g6.prototype=Object.create(d5.prototype);g6.prototype.constructor=g6;i5.exports=g6});var s5=A((jN,p5)=>{var r1=1000,t1=r1*60,a1=t1*60,L1=a1*24,wq=L1*7,Dq=L1*365.25;p5.exports=function($,J){J=J||{};var Q=typeof $;if(Q==="string"&&$.length>0)return Uq($);else if(Q==="number"&&isFinite($))return J.long?Vq($):_q($);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify($))};function Uq($){if($=String($),$.length>100)return;var J=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec($);if(!J)return;var Q=parseFloat(J[1]),W=(J[2]||"ms").toLowerCase();switch(W){case"years":case"year":case"yrs":case"yr":case"y":return Q*Dq;case"weeks":case"week":case"w":return Q*wq;case"days":case"day":case"d":return Q*L1;case"hours":case"hour":case"hrs":case"hr":case"h":return Q*a1;case"minutes":case"minute":case"mins":case"min":case"m":return Q*t1;case"seconds":case"second":case"secs":case"sec":case"s":return Q*r1;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return Q;default:return}}function _q($){var J=Math.abs($);if(J>=L1)return Math.round($/L1)+"d";if(J>=a1)return Math.round($/a1)+"h";if(J>=t1)return Math.round($/t1)+"m";if(J>=r1)return Math.round($/r1)+"s";return $+"ms"}function Vq($){var J=Math.abs($);if(J>=L1)return y6($,J,L1,"day");if(J>=a1)return y6($,J,a1,"hour");if(J>=t1)return y6($,J,t1,"minute");if(J>=r1)return y6($,J,r1,"second");return $+" ms"}function y6($,J,Q,W){var H=J>=Q*1.5;return Math.round($/Q)+" "+W+(H?"s":"")}});var w8=A((SN,o5)=>{var Fq=s5();o5.exports=function($,J){var Q=J||Math.floor(Date.now()/1000);if(typeof $==="string"){var W=Fq($);if(typeof W>"u")return;return Math.floor(Q+W/1000)}else if(typeof $==="number")return Q+$;else return}});var h$=A((AN,r5)=>{var zq=Number.MAX_SAFE_INTEGER||9007199254740991,Nq=["major","premajor","minor","preminor","patch","prepatch","prerelease"];r5.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:zq,RELEASE_TYPES:Nq,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var g$=A((EN,t5)=>{var Lq=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...$)=>console.error("SEMVER",...$):()=>{};t5.exports=Lq});var e1=A((c0,a5)=>{var{MAX_SAFE_COMPONENT_LENGTH:D8,MAX_SAFE_BUILD_LENGTH:jq,MAX_LENGTH:Sq}=h$(),Aq=g$();c0=a5.exports={};var Eq=c0.re=[],Rq=c0.safeRe=[],O=c0.src=[],Cq=c0.safeSrc=[],M=c0.t={},Oq=0,U8="[a-zA-Z0-9-]",Mq=[["\\s",1],["\\d",Sq],[U8,jq]],bq=($)=>{for(let[J,Q]of Mq)$=$.split(`${J}*`).join(`${J}{0,${Q}}`).split(`${J}+`).join(`${J}{1,${Q}}`);return $},g=($,J,Q)=>{let W=bq(J),H=Oq++;Aq($,H,J),M[$]=H,O[H]=J,Cq[H]=W,Eq[H]=new RegExp(J,Q?"g":void 0),Rq[H]=new RegExp(W,Q?"g":void 0)};g("NUMERICIDENTIFIER","0|[1-9]\\d*");g("NUMERICIDENTIFIERLOOSE","\\d+");g("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${U8}*`);g("MAINVERSION",`(${O[M.NUMERICIDENTIFIER]})\\.(${O[M.NUMERICIDENTIFIER]})\\.(${O[M.NUMERICIDENTIFIER]})`);g("MAINVERSIONLOOSE",`(${O[M.NUMERICIDENTIFIERLOOSE]})\\.(${O[M.NUMERICIDENTIFIERLOOSE]})\\.(${O[M.NUMERICIDENTIFIERLOOSE]})`);g("PRERELEASEIDENTIFIER",`(?:${O[M.NONNUMERICIDENTIFIER]}|${O[M.NUMERICIDENTIFIER]})`);g("PRERELEASEIDENTIFIERLOOSE",`(?:${O[M.NONNUMERICIDENTIFIER]}|${O[M.NUMERICIDENTIFIERLOOSE]})`);g("PRERELEASE",`(?:-(${O[M.PRERELEASEIDENTIFIER]}(?:\\.${O[M.PRERELEASEIDENTIFIER]})*))`);g("PRERELEASELOOSE",`(?:-?(${O[M.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${O[M.PRERELEASEIDENTIFIERLOOSE]})*))`);g("BUILDIDENTIFIER",`${U8}+`);g("BUILD",`(?:\\+(${O[M.BUILDIDENTIFIER]}(?:\\.${O[M.BUILDIDENTIFIER]})*))`);g("FULLPLAIN",`v?${O[M.MAINVERSION]}${O[M.PRERELEASE]}?${O[M.BUILD]}?`);g("FULL",`^${O[M.FULLPLAIN]}$`);g("LOOSEPLAIN",`[v=\\s]*${O[M.MAINVERSIONLOOSE]}${O[M.PRERELEASELOOSE]}?${O[M.BUILD]}?`);g("LOOSE",`^${O[M.LOOSEPLAIN]}$`);g("GTLT","((?:<|>)?=?)");g("XRANGEIDENTIFIERLOOSE",`${O[M.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);g("XRANGEIDENTIFIER",`${O[M.NUMERICIDENTIFIER]}|x|X|\\*`);g("XRANGEPLAIN",`[v=\\s]*(${O[M.XRANGEIDENTIFIER]})(?:\\.(${O[M.XRANGEIDENTIFIER]})(?:\\.(${O[M.XRANGEIDENTIFIER]})(?:${O[M.PRERELEASE]})?${O[M.BUILD]}?)?)?`);g("XRANGEPLAINLOOSE",`[v=\\s]*(${O[M.XRANGEIDENTIFIERLOOSE]})(?:\\.(${O[M.XRANGEIDENTIFIERLOOSE]})(?:\\.(${O[M.XRANGEIDENTIFIERLOOSE]})(?:${O[M.PRERELEASELOOSE]})?${O[M.BUILD]}?)?)?`);g("XRANGE",`^${O[M.GTLT]}\\s*${O[M.XRANGEPLAIN]}$`);g("XRANGELOOSE",`^${O[M.GTLT]}\\s*${O[M.XRANGEPLAINLOOSE]}$`);g("COERCEPLAIN",`(^|[^\\d])(\\d{1,${D8}})(?:\\.(\\d{1,${D8}}))?(?:\\.(\\d{1,${D8}}))?`);g("COERCE",`${O[M.COERCEPLAIN]}(?:$|[^\\d])`);g("COERCEFULL",O[M.COERCEPLAIN]+`(?:${O[M.PRERELEASE]})?(?:${O[M.BUILD]})?(?:$|[^\\d])`);g("COERCERTL",O[M.COERCE],!0);g("COERCERTLFULL",O[M.COERCEFULL],!0);g("LONETILDE","(?:~>?)");g("TILDETRIM",`(\\s*)${O[M.LONETILDE]}\\s+`,!0);c0.tildeTrimReplace="$1~";g("TILDE",`^${O[M.LONETILDE]}${O[M.XRANGEPLAIN]}$`);g("TILDELOOSE",`^${O[M.LONETILDE]}${O[M.XRANGEPLAINLOOSE]}$`);g("LONECARET","(?:\\^)");g("CARETTRIM",`(\\s*)${O[M.LONECARET]}\\s+`,!0);c0.caretTrimReplace="$1^";g("CARET",`^${O[M.LONECARET]}${O[M.XRANGEPLAIN]}$`);g("CARETLOOSE",`^${O[M.LONECARET]}${O[M.XRANGEPLAINLOOSE]}$`);g("COMPARATORLOOSE",`^${O[M.GTLT]}\\s*(${O[M.LOOSEPLAIN]})$|^$`);g("COMPARATOR",`^${O[M.GTLT]}\\s*(${O[M.FULLPLAIN]})$|^$`);g("COMPARATORTRIM",`(\\s*)${O[M.GTLT]}\\s*(${O[M.LOOSEPLAIN]}|${O[M.XRANGEPLAIN]})`,!0);c0.comparatorTrimReplace="$1$2$3";g("HYPHENRANGE",`^\\s*(${O[M.XRANGEPLAIN]})\\s+-\\s+(${O[M.XRANGEPLAIN]})\\s*$`);g("HYPHENRANGELOOSE",`^\\s*(${O[M.XRANGEPLAINLOOSE]})\\s+-\\s+(${O[M.XRANGEPLAINLOOSE]})\\s*$`);g("STAR","(<|>)?=?\\s*\\*");g("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");g("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var u6=A((RN,e5)=>{var Pq=Object.freeze({loose:!0}),Zq=Object.freeze({}),Iq=($)=>{if(!$)return Zq;if(typeof $!=="object")return Pq;return $};e5.exports=Iq});var _8=A((CN,QJ)=>{var $J=/^[0-9]+$/,JJ=($,J)=>{if(typeof $==="number"&&typeof J==="number")return $===J?0:$<J?-1:1;let Q=$J.test($),W=$J.test(J);if(Q&&W)$=+$,J=+J;return $===J?0:Q&&!W?-1:W&&!Q?1:$<J?-1:1},kq=($,J)=>JJ(J,$);QJ.exports={compareIdentifiers:JJ,rcompareIdentifiers:kq}});var w0=A((ON,HJ)=>{var l6=g$(),{MAX_LENGTH:WJ,MAX_SAFE_INTEGER:m6}=h$(),{safeRe:c6,t:n6}=e1(),Kq=u6(),{compareIdentifiers:V8}=_8();class v0{constructor($,J){if(J=Kq(J),$ instanceof v0)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else $=$.version;else if(typeof $!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof $}".`);if($.length>WJ)throw TypeError(`version is longer than ${WJ} characters`);l6("SemVer",$,J),this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease;let Q=$.trim().match(J.loose?c6[n6.LOOSE]:c6[n6.FULL]);if(!Q)throw TypeError(`Invalid Version: ${$}`);if(this.raw=$,this.major=+Q[1],this.minor=+Q[2],this.patch=+Q[3],this.major>m6||this.major<0)throw TypeError("Invalid major version");if(this.minor>m6||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>m6||this.patch<0)throw TypeError("Invalid patch version");if(!Q[4])this.prerelease=[];else this.prerelease=Q[4].split(".").map((W)=>{if(/^[0-9]+$/.test(W)){let H=+W;if(H>=0&&H<m6)return H}return W});this.build=Q[5]?Q[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare($){if(l6("SemVer.compare",this.version,this.options,$),!($ instanceof v0)){if(typeof $==="string"&&$===this.version)return 0;$=new v0($,this.options)}if($.version===this.version)return 0;return this.compareMain($)||this.comparePre($)}compareMain($){if(!($ instanceof v0))$=new v0($,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 v0))$=new v0($,this.options);if(this.prerelease.length&&!$.prerelease.length)return-1;else if(!this.prerelease.length&&$.prerelease.length)return 1;else if(!this.prerelease.length&&!$.prerelease.length)return 0;let J=0;do{let Q=this.prerelease[J],W=$.prerelease[J];if(l6("prerelease compare",J,Q,W),Q===void 0&&W===void 0)return 0;else if(W===void 0)return 1;else if(Q===void 0)return-1;else if(Q===W)continue;else return V8(Q,W)}while(++J)}compareBuild($){if(!($ instanceof v0))$=new v0($,this.options);let J=0;do{let Q=this.build[J],W=$.build[J];if(l6("build compare",J,Q,W),Q===void 0&&W===void 0)return 0;else if(W===void 0)return 1;else if(Q===void 0)return-1;else if(Q===W)continue;else return V8(Q,W)}while(++J)}inc($,J,Q){if($.startsWith("pre")){if(!J&&Q===!1)throw Error("invalid increment argument: identifier is empty");if(J){let W=`-${J}`.match(this.options.loose?c6[n6.PRERELEASELOOSE]:c6[n6.PRERELEASE]);if(!W||W[1]!==J)throw Error(`invalid identifier: ${J}`)}}switch($){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",J,Q);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",J,Q);break;case"prepatch":this.prerelease.length=0,this.inc("patch",J,Q),this.inc("pre",J,Q);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",J,Q);this.inc("pre",J,Q);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let W=Number(Q)?1:0;if(this.prerelease.length===0)this.prerelease=[W];else{let H=this.prerelease.length;while(--H>=0)if(typeof this.prerelease[H]==="number")this.prerelease[H]++,H=-2;if(H===-1){if(J===this.prerelease.join(".")&&Q===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(W)}}if(J){let H=[J,W];if(Q===!1)H=[J];if(V8(this.prerelease[0],J)===0){if(isNaN(this.prerelease[1]))this.prerelease=H}else this.prerelease=H}break}default:throw Error(`invalid increment argument: ${$}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}HJ.exports=v0});var j1=A((MN,qJ)=>{var XJ=w0(),fq=($,J,Q=!1)=>{if($ instanceof XJ)return $;try{return new XJ($,J)}catch(W){if(!Q)return null;throw W}};qJ.exports=fq});var GJ=A((bN,YJ)=>{var Tq=j1(),xq=($,J)=>{let Q=Tq($,J);return Q?Q.version:null};YJ.exports=xq});var wJ=A((PN,BJ)=>{var vq=j1(),hq=($,J)=>{let Q=vq($.trim().replace(/^[=v]+/,""),J);return Q?Q.version:null};BJ.exports=hq});var _J=A((ZN,UJ)=>{var DJ=w0(),gq=($,J,Q,W,H)=>{if(typeof Q==="string")H=W,W=Q,Q=void 0;try{return new DJ($ instanceof DJ?$.version:$,Q).inc(J,W,H).version}catch(X){return null}};UJ.exports=gq});var zJ=A((IN,FJ)=>{var VJ=j1(),yq=($,J)=>{let Q=VJ($,null,!0),W=VJ(J,null,!0),H=Q.compare(W);if(H===0)return null;let X=H>0,q=X?Q:W,Y=X?W:Q,G=!!q.prerelease.length;if(!!Y.prerelease.length&&!G){if(!Y.patch&&!Y.minor)return"major";if(Y.compareMain(q)===0){if(Y.minor&&!Y.patch)return"minor";return"patch"}}let w=G?"pre":"";if(Q.major!==W.major)return w+"major";if(Q.minor!==W.minor)return w+"minor";if(Q.patch!==W.patch)return w+"patch";return"prerelease"};FJ.exports=yq});var LJ=A((kN,NJ)=>{var uq=w0(),lq=($,J)=>new uq($,J).major;NJ.exports=lq});var SJ=A((KN,jJ)=>{var mq=w0(),cq=($,J)=>new mq($,J).minor;jJ.exports=cq});var EJ=A((fN,AJ)=>{var nq=w0(),dq=($,J)=>new nq($,J).patch;AJ.exports=dq});var CJ=A((TN,RJ)=>{var iq=j1(),pq=($,J)=>{let Q=iq($,J);return Q&&Q.prerelease.length?Q.prerelease:null};RJ.exports=pq});var S0=A((xN,MJ)=>{var OJ=w0(),sq=($,J,Q)=>new OJ($,Q).compare(new OJ(J,Q));MJ.exports=sq});var PJ=A((vN,bJ)=>{var oq=S0(),rq=($,J,Q)=>oq(J,$,Q);bJ.exports=rq});var IJ=A((hN,ZJ)=>{var tq=S0(),aq=($,J)=>tq($,J,!0);ZJ.exports=aq});var d6=A((gN,KJ)=>{var kJ=w0(),eq=($,J,Q)=>{let W=new kJ($,Q),H=new kJ(J,Q);return W.compare(H)||W.compareBuild(H)};KJ.exports=eq});var TJ=A((yN,fJ)=>{var $3=d6(),J3=($,J)=>$.sort((Q,W)=>$3(Q,W,J));fJ.exports=J3});var vJ=A((uN,xJ)=>{var Q3=d6(),W3=($,J)=>$.sort((Q,W)=>Q3(W,Q,J));xJ.exports=W3});var y$=A((lN,hJ)=>{var H3=S0(),X3=($,J,Q)=>H3($,J,Q)>0;hJ.exports=X3});var i6=A((mN,gJ)=>{var q3=S0(),Y3=($,J,Q)=>q3($,J,Q)<0;gJ.exports=Y3});var F8=A((cN,yJ)=>{var G3=S0(),B3=($,J,Q)=>G3($,J,Q)===0;yJ.exports=B3});var z8=A((nN,uJ)=>{var w3=S0(),D3=($,J,Q)=>w3($,J,Q)!==0;uJ.exports=D3});var p6=A((dN,lJ)=>{var U3=S0(),_3=($,J,Q)=>U3($,J,Q)>=0;lJ.exports=_3});var s6=A((iN,mJ)=>{var V3=S0(),F3=($,J,Q)=>V3($,J,Q)<=0;mJ.exports=F3});var N8=A((pN,cJ)=>{var z3=F8(),N3=z8(),L3=y$(),j3=p6(),S3=i6(),A3=s6(),E3=($,J,Q,W)=>{switch(J){case"===":if(typeof $==="object")$=$.version;if(typeof Q==="object")Q=Q.version;return $===Q;case"!==":if(typeof $==="object")$=$.version;if(typeof Q==="object")Q=Q.version;return $!==Q;case"":case"=":case"==":return z3($,Q,W);case"!=":return N3($,Q,W);case">":return L3($,Q,W);case">=":return j3($,Q,W);case"<":return S3($,Q,W);case"<=":return A3($,Q,W);default:throw TypeError(`Invalid operator: ${J}`)}};cJ.exports=E3});var dJ=A((sN,nJ)=>{var R3=w0(),C3=j1(),{safeRe:o6,t:r6}=e1(),O3=($,J)=>{if($ instanceof R3)return $;if(typeof $==="number")$=String($);if(typeof $!=="string")return null;J=J||{};let Q=null;if(!J.rtl)Q=$.match(J.includePrerelease?o6[r6.COERCEFULL]:o6[r6.COERCE]);else{let G=J.includePrerelease?o6[r6.COERCERTLFULL]:o6[r6.COERCERTL],B;while((B=G.exec($))&&(!Q||Q.index+Q[0].length!==$.length)){if(!Q||B.index+B[0].length!==Q.index+Q[0].length)Q=B;G.lastIndex=B.index+B[1].length+B[2].length}G.lastIndex=-1}if(Q===null)return null;let W=Q[2],H=Q[3]||"0",X=Q[4]||"0",q=J.includePrerelease&&Q[5]?`-${Q[5]}`:"",Y=J.includePrerelease&&Q[6]?`+${Q[6]}`:"";return C3(`${W}.${H}.${X}${q}${Y}`,J)};nJ.exports=O3});var sJ=A((oN,pJ)=>{class iJ{constructor(){this.max=1000,this.map=new Map}get($){let J=this.map.get($);if(J===void 0)return;else return this.map.delete($),this.map.set($,J),J}delete($){return this.map.delete($)}set($,J){if(!this.delete($)&&J!==void 0){if(this.map.size>=this.max){let W=this.map.keys().next().value;this.delete(W)}this.map.set($,J)}return this}}pJ.exports=iJ});var A0=A((rN,aJ)=>{var M3=/\s+/g;class u${constructor($,J){if(J=P3(J),$ instanceof u$)if($.loose===!!J.loose&&$.includePrerelease===!!J.includePrerelease)return $;else return new u$($.raw,J);if($ instanceof L8)return this.raw=$.value,this.set=[[$]],this.formatted=void 0,this;if(this.options=J,this.loose=!!J.loose,this.includePrerelease=!!J.includePrerelease,this.raw=$.trim().replace(M3," "),this.set=this.raw.split("||").map((Q)=>this.parseRange(Q.trim())).filter((Q)=>Q.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Q=this.set[0];if(this.set=this.set.filter((W)=>!rJ(W[0])),this.set.length===0)this.set=[Q];else if(this.set.length>1){for(let W of this.set)if(W.length===1&&x3(W[0])){this.set=[W];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let $=0;$<this.set.length;$++){if($>0)this.formatted+="||";let J=this.set[$];for(let Q=0;Q<J.length;Q++){if(Q>0)this.formatted+=" ";this.formatted+=J[Q].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange($){let Q=((this.options.includePrerelease&&f3)|(this.options.loose&&T3))+":"+$,W=oJ.get(Q);if(W)return W;let H=this.options.loose,X=H?V0[D0.HYPHENRANGELOOSE]:V0[D0.HYPHENRANGE];$=$.replace(X,d3(this.options.includePrerelease)),p("hyphen replace",$),$=$.replace(V0[D0.COMPARATORTRIM],I3),p("comparator trim",$),$=$.replace(V0[D0.TILDETRIM],k3),p("tilde trim",$),$=$.replace(V0[D0.CARETTRIM],K3),p("caret trim",$);let q=$.split(" ").map((w)=>v3(w,this.options)).join(" ").split(/\s+/).map((w)=>n3(w,this.options));if(H)q=q.filter((w)=>{return p("loose invalid filter",w,this.options),!!w.match(V0[D0.COMPARATORLOOSE])});p("range list",q);let Y=new Map,G=q.map((w)=>new L8(w,this.options));for(let w of G){if(rJ(w))return[w];Y.set(w.value,w)}if(Y.size>1&&Y.has(""))Y.delete("");let B=[...Y.values()];return oJ.set(Q,B),B}intersects($,J){if(!($ instanceof u$))throw TypeError("a Range is required");return this.set.some((Q)=>{return tJ(Q,J)&&$.set.some((W)=>{return tJ(W,J)&&Q.every((H)=>{return W.every((X)=>{return H.intersects(X,J)})})})})}test($){if(!$)return!1;if(typeof $==="string")try{$=new Z3($,this.options)}catch(J){return!1}for(let J=0;J<this.set.length;J++)if(i3(this.set[J],$,this.options))return!0;return!1}}aJ.exports=u$;var b3=sJ(),oJ=new b3,P3=u6(),L8=l$(),p=g$(),Z3=w0(),{safeRe:V0,t:D0,comparatorTrimReplace:I3,tildeTrimReplace:k3,caretTrimReplace:K3}=e1(),{FLAG_INCLUDE_PRERELEASE:f3,FLAG_LOOSE:T3}=h$(),rJ=($)=>$.value==="<0.0.0-0",x3=($)=>$.value==="",tJ=($,J)=>{let Q=!0,W=$.slice(),H=W.pop();while(Q&&W.length)Q=W.every((X)=>{return H.intersects(X,J)}),H=W.pop();return Q},v3=($,J)=>{return $=$.replace(V0[D0.BUILD],""),p("comp",$,J),$=y3($,J),p("caret",$),$=h3($,J),p("tildes",$),$=l3($,J),p("xrange",$),$=c3($,J),p("stars",$),$},F0=($)=>!$||$.toLowerCase()==="x"||$==="*",h3=($,J)=>{return $.trim().split(/\s+/).map((Q)=>g3(Q,J)).join(" ")},g3=($,J)=>{let Q=J.loose?V0[D0.TILDELOOSE]:V0[D0.TILDE];return $.replace(Q,(W,H,X,q,Y)=>{p("tilde",$,W,H,X,q,Y);let G;if(F0(H))G="";else if(F0(X))G=`>=${H}.0.0 <${+H+1}.0.0-0`;else if(F0(q))G=`>=${H}.${X}.0 <${H}.${+X+1}.0-0`;else if(Y)p("replaceTilde pr",Y),G=`>=${H}.${X}.${q}-${Y} <${H}.${+X+1}.0-0`;else G=`>=${H}.${X}.${q} <${H}.${+X+1}.0-0`;return p("tilde return",G),G})},y3=($,J)=>{return $.trim().split(/\s+/).map((Q)=>u3(Q,J)).join(" ")},u3=($,J)=>{p("caret",$,J);let Q=J.loose?V0[D0.CARETLOOSE]:V0[D0.CARET],W=J.includePrerelease?"-0":"";return $.replace(Q,(H,X,q,Y,G)=>{p("caret",$,H,X,q,Y,G);let B;if(F0(X))B="";else if(F0(q))B=`>=${X}.0.0${W} <${+X+1}.0.0-0`;else if(F0(Y))if(X==="0")B=`>=${X}.${q}.0${W} <${X}.${+q+1}.0-0`;else B=`>=${X}.${q}.0${W} <${+X+1}.0.0-0`;else if(G)if(p("replaceCaret pr",G),X==="0")if(q==="0")B=`>=${X}.${q}.${Y}-${G} <${X}.${q}.${+Y+1}-0`;else B=`>=${X}.${q}.${Y}-${G} <${X}.${+q+1}.0-0`;else B=`>=${X}.${q}.${Y}-${G} <${+X+1}.0.0-0`;else if(p("no pr"),X==="0")if(q==="0")B=`>=${X}.${q}.${Y}${W} <${X}.${q}.${+Y+1}-0`;else B=`>=${X}.${q}.${Y}${W} <${X}.${+q+1}.0-0`;else B=`>=${X}.${q}.${Y} <${+X+1}.0.0-0`;return p("caret return",B),B})},l3=($,J)=>{return p("replaceXRanges",$,J),$.split(/\s+/).map((Q)=>m3(Q,J)).join(" ")},m3=($,J)=>{$=$.trim();let Q=J.loose?V0[D0.XRANGELOOSE]:V0[D0.XRANGE];return $.replace(Q,(W,H,X,q,Y,G)=>{p("xRange",$,W,H,X,q,Y,G);let B=F0(X),w=B||F0(q),_=w||F0(Y),R=_;if(H==="="&&R)H="";if(G=J.includePrerelease?"-0":"",B)if(H===">"||H==="<")W="<0.0.0-0";else W="*";else if(H&&R){if(w)q=0;if(Y=0,H===">")if(H=">=",w)X=+X+1,q=0,Y=0;else q=+q+1,Y=0;else if(H==="<=")if(H="<",w)X=+X+1;else q=+q+1;if(H==="<")G="-0";W=`${H+X}.${q}.${Y}${G}`}else if(w)W=`>=${X}.0.0${G} <${+X+1}.0.0-0`;else if(_)W=`>=${X}.${q}.0${G} <${X}.${+q+1}.0-0`;return p("xRange return",W),W})},c3=($,J)=>{return p("replaceStars",$,J),$.trim().replace(V0[D0.STAR],"")},n3=($,J)=>{return p("replaceGTE0",$,J),$.trim().replace(V0[J.includePrerelease?D0.GTE0PRE:D0.GTE0],"")},d3=($)=>(J,Q,W,H,X,q,Y,G,B,w,_,R)=>{if(F0(W))Q="";else if(F0(H))Q=`>=${W}.0.0${$?"-0":""}`;else if(F0(X))Q=`>=${W}.${H}.0${$?"-0":""}`;else if(q)Q=`>=${Q}`;else Q=`>=${Q}${$?"-0":""}`;if(F0(B))G="";else if(F0(w))G=`<${+B+1}.0.0-0`;else if(F0(_))G=`<${B}.${+w+1}.0-0`;else if(R)G=`<=${B}.${w}.${_}-${R}`;else if($)G=`<${B}.${w}.${+_+1}-0`;else G=`<=${G}`;return`${Q} ${G}`.trim()},i3=($,J,Q)=>{for(let W=0;W<$.length;W++)if(!$[W].test(J))return!1;if(J.prerelease.length&&!Q.includePrerelease){for(let W=0;W<$.length;W++){if(p($[W].semver),$[W].semver===L8.ANY)continue;if($[W].semver.prerelease.length>0){let H=$[W].semver;if(H.major===J.major&&H.minor===J.minor&&H.patch===J.patch)return!0}}return!1}return!0}});var l$=A((tN,H7)=>{var m$=Symbol("SemVer ANY");class t6{static get ANY(){return m$}constructor($,J){if(J=eJ(J),$ instanceof t6)if($.loose===!!J.loose)return $;else $=$.value;if($=$.trim().split(/\s+/).join(" "),S8("comparator",$,J),this.options=J,this.loose=!!J.loose,this.parse($),this.semver===m$)this.value="";else this.value=this.operator+this.semver.version;S8("comp",this)}parse($){let J=this.options.loose?$7[J7.COMPARATORLOOSE]:$7[J7.COMPARATOR],Q=$.match(J);if(!Q)throw TypeError(`Invalid comparator: ${$}`);if(this.operator=Q[1]!==void 0?Q[1]:"",this.operator==="=")this.operator="";if(!Q[2])this.semver=m$;else this.semver=new Q7(Q[2],this.options.loose)}toString(){return this.value}test($){if(S8("Comparator.test",$,this.options.loose),this.semver===m$||$===m$)return!0;if(typeof $==="string")try{$=new Q7($,this.options)}catch(J){return!1}return j8($,this.operator,this.semver,this.options)}intersects($,J){if(!($ instanceof t6))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new W7($.value,J).test(this.value)}else if($.operator===""){if($.value==="")return!0;return new W7(this.value,J).test($.semver)}if(J=eJ(J),J.includePrerelease&&(this.value==="<0.0.0-0"||$.value==="<0.0.0-0"))return!1;if(!J.includePrerelease&&(this.value.startsWith("<0.0.0")||$.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&$.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&$.operator.startsWith("<"))return!0;if(this.semver.version===$.semver.version&&this.operator.includes("=")&&$.operator.includes("="))return!0;if(j8(this.semver,"<",$.semver,J)&&this.operator.startsWith(">")&&$.operator.startsWith("<"))return!0;if(j8(this.semver,">",$.semver,J)&&this.operator.startsWith("<")&&$.operator.startsWith(">"))return!0;return!1}}H7.exports=t6;var eJ=u6(),{safeRe:$7,t:J7}=e1(),j8=N8(),S8=g$(),Q7=w0(),W7=A0()});var c$=A((aN,X7)=>{var p3=A0(),s3=($,J,Q)=>{try{J=new p3(J,Q)}catch(W){return!1}return J.test($)};X7.exports=s3});var Y7=A((eN,q7)=>{var o3=A0(),r3=($,J)=>new o3($,J).set.map((Q)=>Q.map((W)=>W.value).join(" ").trim().split(" "));q7.exports=r3});var B7=A(($L,G7)=>{var t3=w0(),a3=A0(),e3=($,J,Q)=>{let W=null,H=null,X=null;try{X=new a3(J,Q)}catch(q){return null}return $.forEach((q)=>{if(X.test(q)){if(!W||H.compare(q)===-1)W=q,H=new t3(W,Q)}}),W};G7.exports=e3});var D7=A((JL,w7)=>{var $Y=w0(),JY=A0(),QY=($,J,Q)=>{let W=null,H=null,X=null;try{X=new JY(J,Q)}catch(q){return null}return $.forEach((q)=>{if(X.test(q)){if(!W||H.compare(q)===1)W=q,H=new $Y(W,Q)}}),W};w7.exports=QY});var V7=A((QL,_7)=>{var A8=w0(),WY=A0(),U7=y$(),HY=($,J)=>{$=new WY($,J);let Q=new A8("0.0.0");if($.test(Q))return Q;if(Q=new A8("0.0.0-0"),$.test(Q))return Q;Q=null;for(let W=0;W<$.set.length;++W){let H=$.set[W],X=null;if(H.forEach((q)=>{let Y=new A8(q.semver.version);switch(q.operator){case">":if(Y.prerelease.length===0)Y.patch++;else Y.prerelease.push(0);Y.raw=Y.format();case"":case">=":if(!X||U7(Y,X))X=Y;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${q.operator}`)}}),X&&(!Q||U7(Q,X)))Q=X}if(Q&&$.test(Q))return Q;return null};_7.exports=HY});var z7=A((WL,F7)=>{var XY=A0(),qY=($,J)=>{try{return new XY($,J).range||"*"}catch(Q){return null}};F7.exports=qY});var a6=A((HL,S7)=>{var YY=w0(),j7=l$(),{ANY:GY}=j7,BY=A0(),wY=c$(),N7=y$(),L7=i6(),DY=s6(),UY=p6(),_Y=($,J,Q,W)=>{$=new YY($,W),J=new BY(J,W);let H,X,q,Y,G;switch(Q){case">":H=N7,X=DY,q=L7,Y=">",G=">=";break;case"<":H=L7,X=UY,q=N7,Y="<",G="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(wY($,J,W))return!1;for(let B=0;B<J.set.length;++B){let w=J.set[B],_=null,R=null;if(w.forEach((S)=>{if(S.semver===GY)S=new j7(">=0.0.0");if(_=_||S,R=R||S,H(S.semver,_.semver,W))_=S;else if(q(S.semver,R.semver,W))R=S}),_.operator===Y||_.operator===G)return!1;if((!R.operator||R.operator===Y)&&X($,R.semver))return!1;else if(R.operator===G&&q($,R.semver))return!1}return!0};S7.exports=_Y});var E7=A((XL,A7)=>{var VY=a6(),FY=($,J,Q)=>VY($,J,">",Q);A7.exports=FY});var C7=A((qL,R7)=>{var zY=a6(),NY=($,J,Q)=>zY($,J,"<",Q);R7.exports=NY});var b7=A((YL,M7)=>{var O7=A0(),LY=($,J,Q)=>{return $=new O7($,Q),J=new O7(J,Q),$.intersects(J,Q)};M7.exports=LY});var Z7=A((GL,P7)=>{var jY=c$(),SY=S0();P7.exports=($,J,Q)=>{let W=[],H=null,X=null,q=$.sort((w,_)=>SY(w,_,Q));for(let w of q)if(jY(w,J,Q)){if(X=w,!H)H=w}else{if(X)W.push([H,X]);X=null,H=null}if(H)W.push([H,null]);let Y=[];for(let[w,_]of W)if(w===_)Y.push(w);else if(!_&&w===q[0])Y.push("*");else if(!_)Y.push(`>=${w}`);else if(w===q[0])Y.push(`<=${_}`);else Y.push(`${w} - ${_}`);let G=Y.join(" || "),B=typeof J.raw==="string"?J.raw:String(J);return G.length<B.length?G:J}});var x7=A((BL,T7)=>{var I7=A0(),R8=l$(),{ANY:E8}=R8,n$=c$(),C8=S0(),AY=($,J,Q={})=>{if($===J)return!0;$=new I7($,Q),J=new I7(J,Q);let W=!1;$:for(let H of $.set){for(let X of J.set){let q=RY(H,X,Q);if(W=W||q!==null,q)continue $}if(W)return!1}return!0},EY=[new R8(">=0.0.0-0")],k7=[new R8(">=0.0.0")],RY=($,J,Q)=>{if($===J)return!0;if($.length===1&&$[0].semver===E8)if(J.length===1&&J[0].semver===E8)return!0;else if(Q.includePrerelease)$=EY;else $=k7;if(J.length===1&&J[0].semver===E8)if(Q.includePrerelease)return!0;else J=k7;let W=new Set,H,X;for(let S of $)if(S.operator===">"||S.operator===">=")H=K7(H,S,Q);else if(S.operator==="<"||S.operator==="<=")X=f7(X,S,Q);else W.add(S.semver);if(W.size>1)return null;let q;if(H&&X){if(q=C8(H.semver,X.semver,Q),q>0)return null;else if(q===0&&(H.operator!==">="||X.operator!=="<="))return null}for(let S of W){if(H&&!n$(S,String(H),Q))return null;if(X&&!n$(S,String(X),Q))return null;for(let P of J)if(!n$(S,String(P),Q))return!1;return!0}let Y,G,B,w,_=X&&!Q.includePrerelease&&X.semver.prerelease.length?X.semver:!1,R=H&&!Q.includePrerelease&&H.semver.prerelease.length?H.semver:!1;if(_&&_.prerelease.length===1&&X.operator==="<"&&_.prerelease[0]===0)_=!1;for(let S of J){if(w=w||S.operator===">"||S.operator===">=",B=B||S.operator==="<"||S.operator==="<=",H){if(R){if(S.semver.prerelease&&S.semver.prerelease.length&&S.semver.major===R.major&&S.semver.minor===R.minor&&S.semver.patch===R.patch)R=!1}if(S.operator===">"||S.operator===">="){if(Y=K7(H,S,Q),Y===S&&Y!==H)return!1}else if(H.operator===">="&&!n$(H.semver,String(S),Q))return!1}if(X){if(_){if(S.semver.prerelease&&S.semver.prerelease.length&&S.semver.major===_.major&&S.semver.minor===_.minor&&S.semver.patch===_.patch)_=!1}if(S.operator==="<"||S.operator==="<="){if(G=f7(X,S,Q),G===S&&G!==X)return!1}else if(X.operator==="<="&&!n$(X.semver,String(S),Q))return!1}if(!S.operator&&(X||H)&&q!==0)return!1}if(H&&B&&!X&&q!==0)return!1;if(X&&w&&!H&&q!==0)return!1;if(R||_)return!1;return!0},K7=($,J,Q)=>{if(!$)return J;let W=C8($.semver,J.semver,Q);return W>0?$:W<0?J:J.operator===">"&&$.operator===">="?J:$},f7=($,J,Q)=>{if(!$)return J;let W=C8($.semver,J.semver,Q);return W<0?$:W>0?J:J.operator==="<"&&$.operator==="<="?J:$};T7.exports=AY});var e6=A((wL,g7)=>{var O8=e1(),v7=h$(),CY=w0(),h7=_8(),OY=j1(),MY=GJ(),bY=wJ(),PY=_J(),ZY=zJ(),IY=LJ(),kY=SJ(),KY=EJ(),fY=CJ(),TY=S0(),xY=PJ(),vY=IJ(),hY=d6(),gY=TJ(),yY=vJ(),uY=y$(),lY=i6(),mY=F8(),cY=z8(),nY=p6(),dY=s6(),iY=N8(),pY=dJ(),sY=l$(),oY=A0(),rY=c$(),tY=Y7(),aY=B7(),eY=D7(),$G=V7(),JG=z7(),QG=a6(),WG=E7(),HG=C7(),XG=b7(),qG=Z7(),YG=x7();g7.exports={parse:OY,valid:MY,clean:bY,inc:PY,diff:ZY,major:IY,minor:kY,patch:KY,prerelease:fY,compare:TY,rcompare:xY,compareLoose:vY,compareBuild:hY,sort:gY,rsort:yY,gt:uY,lt:lY,eq:mY,neq:cY,gte:nY,lte:dY,cmp:iY,coerce:pY,Comparator:sY,Range:oY,satisfies:rY,toComparators:tY,maxSatisfying:aY,minSatisfying:eY,minVersion:$G,validRange:JG,outside:QG,gtr:WG,ltr:HG,intersects:XG,simplifyRange:qG,subset:YG,SemVer:CY,re:O8.re,src:O8.src,tokens:O8.t,SEMVER_SPEC_VERSION:v7.SEMVER_SPEC_VERSION,RELEASE_TYPES:v7.RELEASE_TYPES,compareIdentifiers:h7.compareIdentifiers,rcompareIdentifiers:h7.rcompareIdentifiers}});var u7=A((DL,y7)=>{var GG=e6();y7.exports=GG.satisfies(process.version,">=15.7.0")});var m7=A((UL,l7)=>{var BG=e6();l7.exports=BG.satisfies(process.version,">=16.9.0")});var M8=A((_L,c7)=>{var wG=u7(),DG=m7(),UG={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},_G={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};c7.exports=function($,J){if(!$||!J)return;let Q=J.asymmetricKeyType;if(!Q)return;let W=UG[Q];if(!W)throw Error(`Unknown key type "${Q}".`);if(!W.includes($))throw Error(`"alg" parameter for "${Q}" key type must be one of: ${W.join(", ")}.`);if(wG)switch(Q){case"ec":let H=J.asymmetricKeyDetails.namedCurve,X=_G[$];if(H!==X)throw Error(`"alg" parameter "${$}" requires curve "${X}".`);break;case"rsa-pss":if(DG){let q=parseInt($.slice(-3),10),{hashAlgorithm:Y,mgf1HashAlgorithm:G,saltLength:B}=J.asymmetricKeyDetails;if(Y!==`sha${q}`||G!==Y)throw Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${$}.`);if(B!==void 0&&B>q>>3)throw Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${$}.`)}break}}});var b8=A((VL,n7)=>{var VG=e6();n7.exports=VG.satisfies(process.version,"^6.12.0 || >=8.0.0")});var p7=A((FL,i7)=>{var d=v$(),FG=G8(),d7=B8(),zG=Y8(),NG=w8(),LG=M8(),jG=b8(),SG=x6(),{KeyObject:AG,createSecretKey:EG,createPublicKey:RG}=require("crypto"),P8=["RS256","RS384","RS512"],CG=["ES256","ES384","ES512"],Z8=["RS256","RS384","RS512"],OG=["HS256","HS384","HS512"];if(jG)P8.splice(P8.length,0,"PS256","PS384","PS512"),Z8.splice(Z8.length,0,"PS256","PS384","PS512");i7.exports=function($,J,Q,W){if(typeof Q==="function"&&!W)W=Q,Q={};if(!Q)Q={};Q=Object.assign({},Q);let H;if(W)H=W;else H=function(w,_){if(w)throw w;return _};if(Q.clockTimestamp&&typeof Q.clockTimestamp!=="number")return H(new d("clockTimestamp must be a number"));if(Q.nonce!==void 0&&(typeof Q.nonce!=="string"||Q.nonce.trim()===""))return H(new d("nonce must be a non-empty string"));if(Q.allowInvalidAsymmetricKeyTypes!==void 0&&typeof Q.allowInvalidAsymmetricKeyTypes!=="boolean")return H(new d("allowInvalidAsymmetricKeyTypes must be a boolean"));let X=Q.clockTimestamp||Math.floor(Date.now()/1000);if(!$)return H(new d("jwt must be provided"));if(typeof $!=="string")return H(new d("jwt must be a string"));let q=$.split(".");if(q.length!==3)return H(new d("jwt malformed"));let Y;try{Y=zG($,{complete:!0})}catch(w){return H(w)}if(!Y)return H(new d("invalid token"));let G=Y.header,B;if(typeof J==="function"){if(!W)return H(new d("verify must be called asynchronous if secret or public key is provided as a callback"));B=J}else B=function(w,_){return _(null,J)};return B(G,function(w,_){if(w)return H(new d("error in secret or public key callback: "+w.message));let R=q[2].trim()!=="";if(!R&&_)return H(new d("jwt signature is required"));if(R&&!_)return H(new d("secret or public key must be provided"));if(!R&&!Q.algorithms)return H(new d('please specify "none" in "algorithms" to verify unsigned tokens'));if(_!=null&&!(_ instanceof AG))try{_=RG(_)}catch(h){try{_=EG(typeof _==="string"?Buffer.from(_):_)}catch(o){return H(new d("secretOrPublicKey is not valid key material"))}}if(!Q.algorithms)if(_.type==="secret")Q.algorithms=OG;else if(["rsa","rsa-pss"].includes(_.asymmetricKeyType))Q.algorithms=Z8;else if(_.asymmetricKeyType==="ec")Q.algorithms=CG;else Q.algorithms=P8;if(Q.algorithms.indexOf(Y.header.alg)===-1)return H(new d("invalid algorithm"));if(G.alg.startsWith("HS")&&_.type!=="secret")return H(new d(`secretOrPublicKey must be a symmetric key when using ${G.alg}`));else if(/^(?:RS|PS|ES)/.test(G.alg)&&_.type!=="public")return H(new d(`secretOrPublicKey must be an asymmetric key when using ${G.alg}`));if(!Q.allowInvalidAsymmetricKeyTypes)try{LG(G.alg,_)}catch(h){return H(h)}let S;try{S=SG.verify($,Y.header.alg,_)}catch(h){return H(h)}if(!S)return H(new d("invalid signature"));let P=Y.payload;if(typeof P.nbf<"u"&&!Q.ignoreNotBefore){if(typeof P.nbf!=="number")return H(new d("invalid nbf value"));if(P.nbf>X+(Q.clockTolerance||0))return H(new FG("jwt not active",new Date(P.nbf*1000)))}if(typeof P.exp<"u"&&!Q.ignoreExpiration){if(typeof P.exp!=="number")return H(new d("invalid exp value"));if(X>=P.exp+(Q.clockTolerance||0))return H(new d7("jwt expired",new Date(P.exp*1000)))}if(Q.audience){let h=Array.isArray(Q.audience)?Q.audience:[Q.audience];if(!(Array.isArray(P.aud)?P.aud:[P.aud]).some(function(z0){return h.some(function(t){return t instanceof RegExp?t.test(z0):t===z0})}))return H(new d("jwt audience invalid. expected: "+h.join(" or ")))}if(Q.issuer){if(typeof Q.issuer==="string"&&P.iss!==Q.issuer||Array.isArray(Q.issuer)&&Q.issuer.indexOf(P.iss)===-1)return H(new d("jwt issuer invalid. expected: "+Q.issuer))}if(Q.subject){if(P.sub!==Q.subject)return H(new d("jwt subject invalid. expected: "+Q.subject))}if(Q.jwtid){if(P.jti!==Q.jwtid)return H(new d("jwt jwtid invalid. expected: "+Q.jwtid))}if(Q.nonce){if(P.nonce!==Q.nonce)return H(new d("jwt nonce invalid. expected: "+Q.nonce))}if(Q.maxAge){if(typeof P.iat!=="number")return H(new d("iat required when maxAge is specified"));let h=NG(Q.maxAge,P.iat);if(typeof h>"u")return H(new d('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(X>=h+(Q.clockTolerance||0))return H(new d7("maxAge exceeded",new Date(h*1000)))}if(Q.complete===!0){let h=Y.signature;return H(null,{header:G,payload:P,signature:h})}return H(null,P)})}});var e7=A((zL,a7)=>{var s7=1/0,r7=9007199254740991,MG=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,o7=NaN,bG="[object Arguments]",PG="[object Function]",ZG="[object GeneratorFunction]",IG="[object String]",kG="[object Symbol]",KG=/^\s+|\s+$/g,fG=/^[-+]0x[0-9a-f]+$/i,TG=/^0b[01]+$/i,xG=/^0o[0-7]+$/i,vG=/^(?:0|[1-9]\d*)$/,hG=parseInt;function gG($,J){var Q=-1,W=$?$.length:0,H=Array(W);while(++Q<W)H[Q]=J($[Q],Q,$);return H}function yG($,J,Q,W){var H=$.length,X=Q+(W?1:-1);while(W?X--:++X<H)if(J($[X],X,$))return X;return-1}function uG($,J,Q){if(J!==J)return yG($,lG,Q);var W=Q-1,H=$.length;while(++W<H)if($[W]===J)return W;return-1}function lG($){return $!==$}function mG($,J){var Q=-1,W=Array($);while(++Q<$)W[Q]=J(Q);return W}function cG($,J){return gG(J,function(Q){return $[Q]})}function nG($,J){return function(Q){return $(J(Q))}}var $4=Object.prototype,k8=$4.hasOwnProperty,J4=$4.toString,dG=$4.propertyIsEnumerable,iG=nG(Object.keys,Object),pG=Math.max;function sG($,J){var Q=t7($)||eG($)?mG($.length,String):[],W=Q.length,H=!!W;for(var X in $)if((J||k8.call($,X))&&!(H&&(X=="length"||rG(X,W))))Q.push(X);return Q}function oG($){if(!tG($))return iG($);var J=[];for(var Q in Object($))if(k8.call($,Q)&&Q!="constructor")J.push(Q);return J}function rG($,J){return J=J==null?r7:J,!!J&&(typeof $=="number"||vG.test($))&&($>-1&&$%1==0&&$<J)}function tG($){var J=$&&$.constructor,Q=typeof J=="function"&&J.prototype||$4;return $===Q}function aG($,J,Q,W){$=K8($)?$:BB($),Q=Q&&!W?qB(Q):0;var H=$.length;if(Q<0)Q=pG(H+Q,0);return WB($)?Q<=H&&$.indexOf(J,Q)>-1:!!H&&uG($,J,Q)>-1}function eG($){return $B($)&&k8.call($,"callee")&&(!dG.call($,"callee")||J4.call($)==bG)}var t7=Array.isArray;function K8($){return $!=null&&QB($.length)&&!JB($)}function $B($){return f8($)&&K8($)}function JB($){var J=I8($)?J4.call($):"";return J==PG||J==ZG}function QB($){return typeof $=="number"&&$>-1&&$%1==0&&$<=r7}function I8($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function f8($){return!!$&&typeof $=="object"}function WB($){return typeof $=="string"||!t7($)&&f8($)&&J4.call($)==IG}function HB($){return typeof $=="symbol"||f8($)&&J4.call($)==kG}function XB($){if(!$)return $===0?$:0;if($=YB($),$===s7||$===-s7){var J=$<0?-1:1;return J*MG}return $===$?$:0}function qB($){var J=XB($),Q=J%1;return J===J?Q?J-Q:J:0}function YB($){if(typeof $=="number")return $;if(HB($))return o7;if(I8($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=I8(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(KG,"");var Q=TG.test($);return Q||xG.test($)?hG($.slice(2),Q?2:8):fG.test($)?o7:+$}function GB($){return K8($)?sG($):oG($)}function BB($){return $?cG($,GB($)):[]}a7.exports=aG});var JQ=A((NL,$Q)=>{var wB="[object Boolean]",DB=Object.prototype,UB=DB.toString;function _B($){return $===!0||$===!1||VB($)&&UB.call($)==wB}function VB($){return!!$&&typeof $=="object"}$Q.exports=_B});var qQ=A((LL,XQ)=>{var QQ=1/0,FB=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,WQ=NaN,zB="[object Symbol]",NB=/^\s+|\s+$/g,LB=/^[-+]0x[0-9a-f]+$/i,jB=/^0b[01]+$/i,SB=/^0o[0-7]+$/i,AB=parseInt,EB=Object.prototype,RB=EB.toString;function CB($){return typeof $=="number"&&$==PB($)}function HQ($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function OB($){return!!$&&typeof $=="object"}function MB($){return typeof $=="symbol"||OB($)&&RB.call($)==zB}function bB($){if(!$)return $===0?$:0;if($=ZB($),$===QQ||$===-QQ){var J=$<0?-1:1;return J*FB}return $===$?$:0}function PB($){var J=bB($),Q=J%1;return J===J?Q?J-Q:J:0}function ZB($){if(typeof $=="number")return $;if(MB($))return WQ;if(HQ($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=HQ(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace(NB,"");var Q=jB.test($);return Q||SB.test($)?AB($.slice(2),Q?2:8):LB.test($)?WQ:+$}XQ.exports=CB});var GQ=A((jL,YQ)=>{var IB="[object Number]",kB=Object.prototype,KB=kB.toString;function fB($){return!!$&&typeof $=="object"}function TB($){return typeof $=="number"||fB($)&&KB.call($)==IB}YQ.exports=TB});var UQ=A((SL,DQ)=>{var xB="[object Object]";function vB($){var J=!1;if($!=null&&typeof $.toString!="function")try{J=!!($+"")}catch(Q){}return J}function hB($,J){return function(Q){return $(J(Q))}}var gB=Function.prototype,BQ=Object.prototype,wQ=gB.toString,yB=BQ.hasOwnProperty,uB=wQ.call(Object),lB=BQ.toString,mB=hB(Object.getPrototypeOf,Object);function cB($){return!!$&&typeof $=="object"}function nB($){if(!cB($)||lB.call($)!=xB||vB($))return!1;var J=mB($);if(J===null)return!0;var Q=yB.call(J,"constructor")&&J.constructor;return typeof Q=="function"&&Q instanceof Q&&wQ.call(Q)==uB}DQ.exports=nB});var VQ=A((AL,_Q)=>{var dB="[object String]",iB=Object.prototype,pB=iB.toString,sB=Array.isArray;function oB($){return!!$&&typeof $=="object"}function rB($){return typeof $=="string"||!sB($)&&oB($)&&pB.call($)==dB}_Q.exports=rB});var jQ=A((EL,LQ)=>{var tB="Expected a function",FQ=1/0,aB=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,zQ=NaN,eB="[object Symbol]",$w=/^\s+|\s+$/g,Jw=/^[-+]0x[0-9a-f]+$/i,Qw=/^0b[01]+$/i,Ww=/^0o[0-7]+$/i,Hw=parseInt,Xw=Object.prototype,qw=Xw.toString;function Yw($,J){var Q;if(typeof J!="function")throw TypeError(tB);return $=Uw($),function(){if(--$>0)Q=J.apply(this,arguments);if($<=1)J=void 0;return Q}}function Gw($){return Yw(2,$)}function NQ($){var J=typeof $;return!!$&&(J=="object"||J=="function")}function Bw($){return!!$&&typeof $=="object"}function ww($){return typeof $=="symbol"||Bw($)&&qw.call($)==eB}function Dw($){if(!$)return $===0?$:0;if($=_w($),$===FQ||$===-FQ){var J=$<0?-1:1;return J*aB}return $===$?$:0}function Uw($){var J=Dw($),Q=J%1;return J===J?Q?J-Q:J:0}function _w($){if(typeof $=="number")return $;if(ww($))return zQ;if(NQ($)){var J=typeof $.valueOf=="function"?$.valueOf():$;$=NQ(J)?J+"":J}if(typeof $!="string")return $===0?$:+$;$=$.replace($w,"");var Q=Qw.test($);return Q||Ww.test($)?Hw($.slice(2),Q?2:8):Jw.test($)?zQ:+$}LQ.exports=Gw});var PQ=A((RL,bQ)=>{var SQ=w8(),Vw=b8(),Fw=M8(),AQ=x6(),zw=e7(),Q4=JQ(),EQ=qQ(),T8=GQ(),CQ=UQ(),J1=VQ(),Nw=jQ(),{KeyObject:Lw,createSecretKey:jw,createPrivateKey:Sw}=require("crypto"),OQ=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(Vw)OQ.splice(3,0,"PS256","PS384","PS512");var Aw={expiresIn:{isValid:function($){return EQ($)||J1($)&&$},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function($){return EQ($)||J1($)&&$},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function($){return J1($)||Array.isArray($)},message:'"audience" must be a string or array'},algorithm:{isValid:zw.bind(null,OQ),message:'"algorithm" must be a valid string enum value'},header:{isValid:CQ,message:'"header" must be an object'},encoding:{isValid:J1,message:'"encoding" must be a string'},issuer:{isValid:J1,message:'"issuer" must be a string'},subject:{isValid:J1,message:'"subject" must be a string'},jwtid:{isValid:J1,message:'"jwtid" must be a string'},noTimestamp:{isValid:Q4,message:'"noTimestamp" must be a boolean'},keyid:{isValid:J1,message:'"keyid" must be a string'},mutatePayload:{isValid:Q4,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:Q4,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:Q4,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},Ew={iat:{isValid:T8,message:'"iat" should be a number of seconds'},exp:{isValid:T8,message:'"exp" should be a number of seconds'},nbf:{isValid:T8,message:'"nbf" should be a number of seconds'}};function MQ($,J,Q,W){if(!CQ(Q))throw Error('Expected "'+W+'" to be a plain object.');Object.keys(Q).forEach(function(H){let X=$[H];if(!X){if(!J)throw Error('"'+H+'" is not allowed in "'+W+'"');return}if(!X.isValid(Q[H]))throw Error(X.message)})}function Rw($){return MQ(Aw,!1,$,"options")}function Cw($){return MQ(Ew,!0,$,"payload")}var RQ={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},Ow=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];bQ.exports=function($,J,Q,W){if(typeof Q==="function")W=Q,Q={};else Q=Q||{};let H=typeof $==="object"&&!Buffer.isBuffer($),X=Object.assign({alg:Q.algorithm||"HS256",typ:H?"JWT":void 0,kid:Q.keyid},Q.header);function q(B){if(W)return W(B);throw B}if(!J&&Q.algorithm!=="none")return q(Error("secretOrPrivateKey must have a value"));if(J!=null&&!(J instanceof Lw))try{J=Sw(J)}catch(B){try{J=jw(typeof J==="string"?Buffer.from(J):J)}catch(w){return q(Error("secretOrPrivateKey is not valid key material"))}}if(X.alg.startsWith("HS")&&J.type!=="secret")return q(Error(`secretOrPrivateKey must be a symmetric key when using ${X.alg}`));else if(/^(?:RS|PS|ES)/.test(X.alg)){if(J.type!=="private")return q(Error(`secretOrPrivateKey must be an asymmetric key when using ${X.alg}`));if(!Q.allowInsecureKeySizes&&!X.alg.startsWith("ES")&&J.asymmetricKeyDetails!==void 0&&J.asymmetricKeyDetails.modulusLength<2048)return q(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${X.alg}`))}if(typeof $>"u")return q(Error("payload is required"));else if(H){try{Cw($)}catch(B){return q(B)}if(!Q.mutatePayload)$=Object.assign({},$)}else{let B=Ow.filter(function(w){return typeof Q[w]<"u"});if(B.length>0)return q(Error("invalid "+B.join(",")+" option for "+typeof $+" payload"))}if(typeof $.exp<"u"&&typeof Q.expiresIn<"u")return q(Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof $.nbf<"u"&&typeof Q.notBefore<"u")return q(Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{Rw(Q)}catch(B){return q(B)}if(!Q.allowInvalidAsymmetricKeyTypes)try{Fw(X.alg,J)}catch(B){return q(B)}let Y=$.iat||Math.floor(Date.now()/1000);if(Q.noTimestamp)delete $.iat;else if(H)$.iat=Y;if(typeof Q.notBefore<"u"){try{$.nbf=SQ(Q.notBefore,Y)}catch(B){return q(B)}if(typeof $.nbf>"u")return q(Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof Q.expiresIn<"u"&&typeof $==="object"){try{$.exp=SQ(Q.expiresIn,Y)}catch(B){return q(B)}if(typeof $.exp>"u")return q(Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(RQ).forEach(function(B){let w=RQ[B];if(typeof Q[B]<"u"){if(typeof $[w]<"u")return q(Error('Bad "options.'+B+'" option. The payload already has an "'+w+'" property.'));$[w]=Q[B]}});let G=Q.encoding||"utf8";if(typeof W==="function")W=W&&Nw(W),AQ.createSign({header:X,privateKey:J,payload:$,encoding:G}).once("error",W).once("done",function(B){if(!Q.allowInsecureKeySizes&&/^(?:RS|PS)/.test(X.alg)&&B.length<256)return W(Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${X.alg}`));W(null,B)});else{let B=AQ.sign({header:X,payload:$,secret:J,encoding:G});if(!Q.allowInsecureKeySizes&&/^(?:RS|PS)/.test(X.alg)&&B.length<256)throw Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${X.alg}`);return B}}});var IQ=A((CL,ZQ)=>{ZQ.exports={decode:Y8(),verify:p7(),sign:PQ(),JsonWebTokenError:v$(),NotBeforeError:G8(),TokenExpiredError:B8()}});var RW={};L0(RW,{createRateLimitMiddleware:()=>Y$,createCorsMiddleware:()=>q$,createCompressionMiddleware:()=>G$});module.exports=M0(RW);function q$($){let{origin:J="*",methods:Q=["GET","POST","PUT","DELETE","PATCH","OPTIONS"],allowedHeaders:W=["Content-Type","Authorization"],exposedHeaders:H=[],credentials:X=!1,maxAge:q=86400}=$||{};return async(Y,G)=>{let B=Y.req.header("origin"),w=Y.req.method,_=null;if(typeof J==="string")_=J;else if(Array.isArray(J)){if(B&&J.includes(B))_=B}else if(typeof J==="function"){if(B&&J(B))_=B}if(_)Y.header("Access-Control-Allow-Origin",_);if(X)Y.header("Access-Control-Allow-Credentials","true");if(H.length>0)Y.header("Access-Control-Expose-Headers",H.join(", "));if(w==="OPTIONS")return Y.header("Access-Control-Allow-Methods",Q.join(", ")),Y.header("Access-Control-Allow-Headers",W.join(", ")),Y.header("Access-Control-Max-Age",q.toString()),Y.body(null,204);await G()}}function Y$($){let{windowMs:J=60000,max:Q=100,keyGenerator:W=(q)=>{return q.req.header("x-forwarded-for")||q.req.header("x-real-ip")||"unknown"}}=$,H=new Map,X=setInterval(()=>{let q=Date.now();for(let[Y,G]of H.entries())if(q>G.resetTime)H.delete(Y)},J);if(typeof process<"u"&&process.on)process.on("exit",()=>clearInterval(X));return async(q,Y)=>{let G=W(q),B=Date.now(),w=H.get(G);if(!w||B>w.resetTime)H.set(G,{count:1,resetTime:B+J}),q.header("X-RateLimit-Limit",Q.toString()),q.header("X-RateLimit-Remaining",(Q-1).toString()),q.header("X-RateLimit-Reset",new Date(B+J).toISOString()),await Y();else if(w.count<Q)w.count++,q.header("X-RateLimit-Limit",Q.toString()),q.header("X-RateLimit-Remaining",(Q-w.count).toString()),q.header("X-RateLimit-Reset",new Date(w.resetTime).toISOString()),await Y();else{let _=Math.ceil((w.resetTime-B)/1000);return q.header("X-RateLimit-Limit",Q.toString()),q.header("X-RateLimit-Remaining","0"),q.header("X-RateLimit-Reset",new Date(w.resetTime).toISOString()),q.header("Retry-After",_.toString()),q.json({error:"Too Many Requests",message:`Rate limit exceeded. Please try again in ${_} seconds.`,retryAfter:_},429)}}}function G$($){let{threshold:J=1024,level:Q=6}=$||{};return async(W,H)=>{await H();let X=W.res;if(!X)return;let q=X.headers.get("content-type")||"",Y=X.headers.get("content-length"),G=W.req.header("accept-encoding")||"";if(!["text/","application/json","application/javascript","application/xml","application/x-www-form-urlencoded"].some((P)=>q.toLowerCase().includes(P)))return;if(Y&&parseInt(Y)<J)return;if(X.headers.get("content-encoding"))return;let _=await X.arrayBuffer();if(_.byteLength<J)return;let R=null,S=null;if(G.includes("br")&&typeof CompressionStream<"u")try{let P=new CompressionStream("deflate"),h=P.writable.getWriter();h.write(new Uint8Array(_)),h.close();let o=P.readable.getReader(),W0=[];while(!0){let{done:H0,value:U0}=await o.read();if(H0)break;W0.push(U0)}let z0=W0.reduce((H0,U0)=>H0+U0.length,0),t=new Uint8Array(z0),R0=0;for(let H0 of W0)t.set(H0,R0),R0+=H0.length;R=t,S="deflate"}catch(P){R=null}if(!R&&G.includes("gzip")&&typeof CompressionStream<"u")try{let P=new CompressionStream("gzip"),h=P.writable.getWriter();h.write(new Uint8Array(_)),h.close();let o=P.readable.getReader(),W0=[];while(!0){let{done:H0,value:U0}=await o.read();if(H0)break;W0.push(U0)}let z0=W0.reduce((H0,U0)=>H0+U0.length,0),t=new Uint8Array(z0),R0=0;for(let H0 of W0)t.set(H0,R0),R0+=H0.length;R=t,S="gzip"}catch(P){R=null}if(R&&S&&R.byteLength<_.byteLength){let P=new Headers(X.headers);return P.set("content-encoding",S),P.set("content-length",R.byteLength.toString()),P.delete("content-length"),new Response(R,{status:X.status,statusText:X.statusText,headers:P})}}}var mH={};L0(mH,{zodToJsonSchema:()=>Q6,ZodToJsonSchemaConverter:()=>p0,OpenAPIGenerator:()=>B1});module.exports=M0(mH);var D2=Symbol("Let zodToJsonSchema decide on which parser to use");var w2={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"},U2=($)=>typeof $==="string"?{...w2,name:$}:{...w2,...$};var _2=($)=>{let J=U2($),Q=J.name!==void 0?[...J.basePath,J.definitionPath,J.name]:J.basePath;return{...J,flags:{hasReferencedOpenAiAnyType:!1},currentPath:Q,propertyPath:void 0,seen:new Map(Object.entries(J.definitions).map(([W,H])=>[H._def,{def:H._def,path:[...J.basePath,J.definitionPath,W],jsonSchema:void 0}]))}};function w4($,J,Q,W){if(!W?.errorMessages)return;if(Q)$.errorMessage={...$.errorMessage,[J]:Q}}function n($,J,Q,W,H){$[J]=Q,w4($,J,W,H)}var p$=($,J)=>{let Q=0;for(;Q<$.length&&Q<J.length;Q++)if($[Q]!==J[Q])break;return[($.length-Q).toString(),...J.slice(Q)].join("/")};var z={};L0(z,{void:()=>YH,util:()=>m,unknown:()=>XH,union:()=>DH,undefined:()=>QH,tuple:()=>VH,transformer:()=>CH,symbol:()=>JH,string:()=>E2,strictObject:()=>wH,setErrorMap:()=>MW,set:()=>NH,record:()=>FH,quotelessJson:()=>CW,promise:()=>RH,preprocess:()=>bH,pipeline:()=>PH,ostring:()=>ZH,optional:()=>OH,onumber:()=>IH,oboolean:()=>kH,objectUtil:()=>D4,object:()=>BH,number:()=>R2,nullable:()=>MH,null:()=>WH,never:()=>qH,nativeEnum:()=>EH,nan:()=>aW,map:()=>zH,makeIssue:()=>B$,literal:()=>SH,lazy:()=>jH,late:()=>rW,isValid:()=>s0,isDirty:()=>o$,isAsync:()=>R1,isAborted:()=>s$,intersection:()=>_H,instanceof:()=>tW,getParsedType:()=>y0,getErrorMap:()=>E1,function:()=>LH,enum:()=>AH,effect:()=>CH,discriminatedUnion:()=>UH,defaultErrorMap:()=>n0,datetimeRegex:()=>j2,date:()=>$H,custom:()=>A2,coerce:()=>KH,boolean:()=>C2,bigint:()=>eW,array:()=>GH,any:()=>HH,addIssueToContext:()=>E,ZodVoid:()=>D$,ZodUnknown:()=>o0,ZodUnion:()=>Z1,ZodUndefined:()=>b1,ZodType:()=>u,ZodTuple:()=>l0,ZodTransformer:()=>k0,ZodSymbol:()=>w$,ZodString:()=>b0,ZodSet:()=>Y1,ZodSchema:()=>u,ZodRecord:()=>U$,ZodReadonly:()=>v1,ZodPromise:()=>G1,ZodPipeline:()=>F$,ZodParsedType:()=>L,ZodOptional:()=>Z0,ZodObject:()=>r,ZodNumber:()=>r0,ZodNullable:()=>i0,ZodNull:()=>P1,ZodNever:()=>u0,ZodNativeEnum:()=>f1,ZodNaN:()=>V$,ZodMap:()=>_$,ZodLiteral:()=>K1,ZodLazy:()=>k1,ZodIssueCode:()=>F,ZodIntersection:()=>I1,ZodFunction:()=>O1,ZodFirstPartyTypeKind:()=>N,ZodError:()=>X0,ZodEnum:()=>a0,ZodEffects:()=>k0,ZodDiscriminatedUnion:()=>r$,ZodDefault:()=>T1,ZodDate:()=>X1,ZodCatch:()=>x1,ZodBranded:()=>t$,ZodBoolean:()=>M1,ZodBigInt:()=>t0,ZodArray:()=>P0,ZodAny:()=>q1,Schema:()=>u,ParseStatus:()=>q0,OK:()=>G0,NEVER:()=>fH,INVALID:()=>f,EMPTY_PATH:()=>bW,DIRTY:()=>H1,BRAND:()=>oW});var m;(function($){$.assertEqual=(H)=>{};function J(H){}$.assertIs=J;function Q(H){throw Error()}$.assertNever=Q,$.arrayToEnum=(H)=>{let X={};for(let q of H)X[q]=q;return X},$.getValidEnumValues=(H)=>{let X=$.objectKeys(H).filter((Y)=>typeof H[H[Y]]!=="number"),q={};for(let Y of X)q[Y]=H[Y];return $.objectValues(q)},$.objectValues=(H)=>{return $.objectKeys(H).map(function(X){return H[X]})},$.objectKeys=typeof Object.keys==="function"?(H)=>Object.keys(H):(H)=>{let X=[];for(let q in H)if(Object.prototype.hasOwnProperty.call(H,q))X.push(q);return X},$.find=(H,X)=>{for(let q of H)if(X(q))return q;return},$.isInteger=typeof Number.isInteger==="function"?(H)=>Number.isInteger(H):(H)=>typeof H==="number"&&Number.isFinite(H)&&Math.floor(H)===H;function W(H,X=" | "){return H.map((q)=>typeof q==="string"?`'${q}'`:q).join(X)}$.joinValues=W,$.jsonStringifyReplacer=(H,X)=>{if(typeof X==="bigint")return X.toString();return X}})(m||(m={}));var D4;(function($){$.mergeShapes=(J,Q)=>{return{...J,...Q}}})(D4||(D4={}));var L=m.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),y0=($)=>{switch(typeof $){case"undefined":return L.undefined;case"string":return L.string;case"number":return Number.isNaN($)?L.nan:L.number;case"boolean":return L.boolean;case"function":return L.function;case"bigint":return L.bigint;case"symbol":return L.symbol;case"object":if(Array.isArray($))return L.array;if($===null)return L.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return L.promise;if(typeof Map<"u"&&$ instanceof Map)return L.map;if(typeof Set<"u"&&$ instanceof Set)return L.set;if(typeof Date<"u"&&$ instanceof Date)return L.date;return L.object;default:return L.unknown}};var F=m.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"]),CW=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class X0 extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(Q)=>{this.issues=[...this.issues,Q]},this.addIssues=(Q=[])=>{this.issues=[...this.issues,...Q]};let J=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,J);else this.__proto__=J;this.name="ZodError",this.issues=$}format($){let J=$||function(H){return H.message},Q={_errors:[]},W=(H)=>{for(let X of H.issues)if(X.code==="invalid_union")X.unionErrors.map(W);else if(X.code==="invalid_return_type")W(X.returnTypeError);else if(X.code==="invalid_arguments")W(X.argumentsError);else if(X.path.length===0)Q._errors.push(J(X));else{let q=Q,Y=0;while(Y<X.path.length){let G=X.path[Y];if(Y!==X.path.length-1)q[G]=q[G]||{_errors:[]};else q[G]=q[G]||{_errors:[]},q[G]._errors.push(J(X));q=q[G],Y++}}};return W(this),Q}static assert($){if(!($ instanceof X0))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,m.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(J)=>J.message){let J={},Q=[];for(let W of this.issues)if(W.path.length>0){let H=W.path[0];J[H]=J[H]||[],J[H].push($(W))}else Q.push($(W));return{formErrors:Q,fieldErrors:J}}get formErrors(){return this.flatten()}}X0.create=($)=>{return new X0($)};var OW=($,J)=>{let Q;switch($.code){case F.invalid_type:if($.received===L.undefined)Q="Required";else Q=`Expected ${$.expected}, received ${$.received}`;break;case F.invalid_literal:Q=`Invalid literal value, expected ${JSON.stringify($.expected,m.jsonStringifyReplacer)}`;break;case F.unrecognized_keys:Q=`Unrecognized key(s) in object: ${m.joinValues($.keys,", ")}`;break;case F.invalid_union:Q="Invalid input";break;case F.invalid_union_discriminator:Q=`Invalid discriminator value. Expected ${m.joinValues($.options)}`;break;case F.invalid_enum_value:Q=`Invalid enum value. Expected ${m.joinValues($.options)}, received '${$.received}'`;break;case F.invalid_arguments:Q="Invalid function arguments";break;case F.invalid_return_type:Q="Invalid function return type";break;case F.invalid_date:Q="Invalid date";break;case F.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(Q=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")Q=`${Q} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)Q=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)Q=`Invalid input: must end with "${$.validation.endsWith}"`;else m.assertNever($.validation);else if($.validation!=="regex")Q=`Invalid ${$.validation}`;else Q="Invalid";break;case F.too_small:if($.type==="array")Q=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")Q=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")Q=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")Q=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")Q=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else Q="Invalid input";break;case F.too_big:if($.type==="array")Q=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")Q=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")Q=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")Q=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")Q=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else Q="Invalid input";break;case F.custom:Q="Invalid input";break;case F.invalid_intersection_types:Q="Intersection results could not be merged";break;case F.not_multiple_of:Q=`Number must be a multiple of ${$.multipleOf}`;break;case F.not_finite:Q="Number must be finite";break;default:Q=J.defaultError,m.assertNever($)}return{message:Q}},n0=OW;var V2=n0;function MW($){V2=$}function E1(){return V2}var B$=($)=>{let{data:J,path:Q,errorMaps:W,issueData:H}=$,X=[...Q,...H.path||[]],q={...H,path:X};if(H.message!==void 0)return{...H,path:X,message:H.message};let Y="",G=W.filter((B)=>!!B).slice().reverse();for(let B of G)Y=B(q,{data:J,defaultError:Y}).message;return{...H,path:X,message:Y}},bW=[];function E($,J){let Q=E1(),W=B$({issueData:J,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,Q,Q===n0?void 0:n0].filter((H)=>!!H)});$.common.issues.push(W)}class q0{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,J){let Q=[];for(let W of J){if(W.status==="aborted")return f;if(W.status==="dirty")$.dirty();Q.push(W.value)}return{status:$.value,value:Q}}static async mergeObjectAsync($,J){let Q=[];for(let W of J){let H=await W.key,X=await W.value;Q.push({key:H,value:X})}return q0.mergeObjectSync($,Q)}static mergeObjectSync($,J){let Q={};for(let W of J){let{key:H,value:X}=W;if(H.status==="aborted")return f;if(X.status==="aborted")return f;if(H.status==="dirty")$.dirty();if(X.status==="dirty")$.dirty();if(H.value!=="__proto__"&&(typeof X.value<"u"||W.alwaysSet))Q[H.value]=X.value}return{status:$.value,value:Q}}}var f=Object.freeze({status:"aborted"}),H1=($)=>({status:"dirty",value:$}),G0=($)=>({status:"valid",value:$}),s$=($)=>$.status==="aborted",o$=($)=>$.status==="dirty",s0=($)=>$.status==="valid",R1=($)=>typeof Promise<"u"&&$ instanceof Promise;var I;(function($){$.errToObj=(J)=>typeof J==="string"?{message:J}:J||{},$.toString=(J)=>typeof J==="string"?J:J?.message})(I||(I={}));class I0{constructor($,J,Q,W){this._cachedPath=[],this.parent=$,this.data=J,this._path=Q,this._key=W}get path(){if(!this._cachedPath.length)if(Array.isArray(this._key))this._cachedPath.push(...this._path,...this._key);else this._cachedPath.push(...this._path,this._key);return this._cachedPath}}var F2=($,J)=>{if(s0(J))return{success:!0,data:J.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let Q=new X0($.common.issues);return this._error=Q,this._error}}}};function y($){if(!$)return{};let{errorMap:J,invalid_type_error:Q,required_error:W,description:H}=$;if(J&&(Q||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(J)return{errorMap:J,description:H};return{errorMap:(q,Y)=>{let{message:G}=$;if(q.code==="invalid_enum_value")return{message:G??Y.defaultError};if(typeof Y.data>"u")return{message:G??W??Y.defaultError};if(q.code!=="invalid_type")return{message:Y.defaultError};return{message:G??Q??Y.defaultError}},description:H}}class u{get description(){return this._def.description}_getType($){return y0($.data)}_getOrReturnCtx($,J){return J||{common:$.parent.common,data:$.data,parsedType:y0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new q0,ctx:{common:$.parent.common,data:$.data,parsedType:y0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let J=this._parse($);if(R1(J))throw Error("Synchronous parse encountered promise.");return J}_parseAsync($){let J=this._parse($);return Promise.resolve(J)}parse($,J){let Q=this.safeParse($,J);if(Q.success)return Q.data;throw Q.error}safeParse($,J){let Q={common:{issues:[],async:J?.async??!1,contextualErrorMap:J?.errorMap},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:y0($)},W=this._parseSync({data:$,path:Q.path,parent:Q});return F2(Q,W)}"~validate"($){let J={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:y0($)};if(!this["~standard"].async)try{let Q=this._parseSync({data:$,path:[],parent:J});return s0(Q)?{value:Q.value}:{issues:J.common.issues}}catch(Q){if(Q?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;J.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:J}).then((Q)=>s0(Q)?{value:Q.value}:{issues:J.common.issues})}async parseAsync($,J){let Q=await this.safeParseAsync($,J);if(Q.success)return Q.data;throw Q.error}async safeParseAsync($,J){let Q={common:{issues:[],contextualErrorMap:J?.errorMap,async:!0},path:J?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:y0($)},W=this._parse({data:$,path:Q.path,parent:Q}),H=await(R1(W)?W:Promise.resolve(W));return F2(Q,H)}refine($,J){let Q=(W)=>{if(typeof J==="string"||typeof J>"u")return{message:J};else if(typeof J==="function")return J(W);else return J};return this._refinement((W,H)=>{let X=$(W),q=()=>H.addIssue({code:F.custom,...Q(W)});if(typeof Promise<"u"&&X instanceof Promise)return X.then((Y)=>{if(!Y)return q(),!1;else return!0});if(!X)return q(),!1;else return!0})}refinement($,J){return this._refinement((Q,W)=>{if(!$(Q))return W.addIssue(typeof J==="function"?J(Q,W):J),!1;else return!0})}_refinement($){return new k0({schema:this,typeName:N.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(J)=>this["~validate"](J)}}optional(){return Z0.create(this,this._def)}nullable(){return i0.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return P0.create(this)}promise(){return G1.create(this,this._def)}or($){return Z1.create([this,$],this._def)}and($){return I1.create(this,$,this._def)}transform($){return new k0({...y(this._def),schema:this,typeName:N.ZodEffects,effect:{type:"transform",transform:$}})}default($){let J=typeof $==="function"?$:()=>$;return new T1({...y(this._def),innerType:this,defaultValue:J,typeName:N.ZodDefault})}brand(){return new t$({typeName:N.ZodBranded,type:this,...y(this._def)})}catch($){let J=typeof $==="function"?$:()=>$;return new x1({...y(this._def),innerType:this,catchValue:J,typeName:N.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return F$.create(this,$)}readonly(){return v1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var PW=/^c[^\s-]{8,}$/i,ZW=/^[0-9a-z]+$/,IW=/^[0-9A-HJKMNP-TV-Z]{26}$/i,kW=/^[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,KW=/^[a-z0-9_-]{21}$/i,fW=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,TW=/^[-+]?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)?)??$/,xW=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,vW="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",U4,hW=/^(?:(?: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])$/,gW=/^(?:(?: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])$/,yW=/^(([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]))$/,uW=/^(([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])$/,lW=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,mW=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,N2="((\\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])))",cW=new RegExp(`^${N2}$`);function L2($){let J="[0-5]\\d";if($.precision)J=`${J}\\.\\d{${$.precision}}`;else if($.precision==null)J=`${J}(\\.\\d+)?`;let Q=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${J})${Q}`}function nW($){return new RegExp(`^${L2($)}$`)}function j2($){let J=`${N2}T${L2($)}`,Q=[];if(Q.push($.local?"Z?":"Z"),$.offset)Q.push("([+-]\\d{2}:?\\d{2})");return J=`${J}(${Q.join("|")})`,new RegExp(`^${J}$`)}function dW($,J){if((J==="v4"||!J)&&hW.test($))return!0;if((J==="v6"||!J)&&yW.test($))return!0;return!1}function iW($,J){if(!fW.test($))return!1;try{let[Q]=$.split(".");if(!Q)return!1;let W=Q.replace(/-/g,"+").replace(/_/g,"/").padEnd(Q.length+(4-Q.length%4)%4,"="),H=JSON.parse(atob(W));if(typeof H!=="object"||H===null)return!1;if("typ"in H&&H?.typ!=="JWT")return!1;if(!H.alg)return!1;if(J&&H.alg!==J)return!1;return!0}catch{return!1}}function pW($,J){if((J==="v4"||!J)&&gW.test($))return!0;if((J==="v6"||!J)&&uW.test($))return!0;return!1}class b0 extends u{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==L.string){let H=this._getOrReturnCtx($);return E(H,{code:F.invalid_type,expected:L.string,received:H.parsedType}),f}let Q=new q0,W=void 0;for(let H of this._def.checks)if(H.kind==="min"){if($.data.length<H.value)W=this._getOrReturnCtx($,W),E(W,{code:F.too_small,minimum:H.value,type:"string",inclusive:!0,exact:!1,message:H.message}),Q.dirty()}else if(H.kind==="max"){if($.data.length>H.value)W=this._getOrReturnCtx($,W),E(W,{code:F.too_big,maximum:H.value,type:"string",inclusive:!0,exact:!1,message:H.message}),Q.dirty()}else if(H.kind==="length"){let X=$.data.length>H.value,q=$.data.length<H.value;if(X||q){if(W=this._getOrReturnCtx($,W),X)E(W,{code:F.too_big,maximum:H.value,type:"string",inclusive:!0,exact:!0,message:H.message});else if(q)E(W,{code:F.too_small,minimum:H.value,type:"string",inclusive:!0,exact:!0,message:H.message});Q.dirty()}}else if(H.kind==="email"){if(!xW.test($.data))W=this._getOrReturnCtx($,W),E(W,{validation:"email",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="emoji"){if(!U4)U4=new RegExp(vW,"u");if(!U4.test($.data))W=this._getOrReturnCtx($,W),E(W,{validation:"emoji",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="uuid"){if(!kW.test($.data))W=this._getOrReturnCtx($,W),E(W,{validation:"uuid",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="nanoid"){if(!KW.test($.data))W=this._getOrReturnCtx($,W),E(W,{validation:"nanoid",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="cuid"){if(!PW.test($.data))W=this._getOrReturnCtx($,W),E(W,{validation:"cuid",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="cuid2"){if(!ZW.test($.data))W=this._getOrReturnCtx($,W),E(W,{validation:"cuid2",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="ulid"){if(!IW.test($.data))W=this._getOrReturnCtx($,W),E(W,{validation:"ulid",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),E(W,{validation:"url",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="regex"){if(H.regex.lastIndex=0,!H.regex.test($.data))W=this._getOrReturnCtx($,W),E(W,{validation:"regex",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="trim")$.data=$.data.trim();else if(H.kind==="includes"){if(!$.data.includes(H.value,H.position))W=this._getOrReturnCtx($,W),E(W,{code:F.invalid_string,validation:{includes:H.value,position:H.position},message:H.message}),Q.dirty()}else if(H.kind==="toLowerCase")$.data=$.data.toLowerCase();else if(H.kind==="toUpperCase")$.data=$.data.toUpperCase();else if(H.kind==="startsWith"){if(!$.data.startsWith(H.value))W=this._getOrReturnCtx($,W),E(W,{code:F.invalid_string,validation:{startsWith:H.value},message:H.message}),Q.dirty()}else if(H.kind==="endsWith"){if(!$.data.endsWith(H.value))W=this._getOrReturnCtx($,W),E(W,{code:F.invalid_string,validation:{endsWith:H.value},message:H.message}),Q.dirty()}else if(H.kind==="datetime"){if(!j2(H).test($.data))W=this._getOrReturnCtx($,W),E(W,{code:F.invalid_string,validation:"datetime",message:H.message}),Q.dirty()}else if(H.kind==="date"){if(!cW.test($.data))W=this._getOrReturnCtx($,W),E(W,{code:F.invalid_string,validation:"date",message:H.message}),Q.dirty()}else if(H.kind==="time"){if(!nW(H).test($.data))W=this._getOrReturnCtx($,W),E(W,{code:F.invalid_string,validation:"time",message:H.message}),Q.dirty()}else if(H.kind==="duration"){if(!TW.test($.data))W=this._getOrReturnCtx($,W),E(W,{validation:"duration",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="ip"){if(!dW($.data,H.version))W=this._getOrReturnCtx($,W),E(W,{validation:"ip",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="jwt"){if(!iW($.data,H.alg))W=this._getOrReturnCtx($,W),E(W,{validation:"jwt",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="cidr"){if(!pW($.data,H.version))W=this._getOrReturnCtx($,W),E(W,{validation:"cidr",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="base64"){if(!lW.test($.data))W=this._getOrReturnCtx($,W),E(W,{validation:"base64",code:F.invalid_string,message:H.message}),Q.dirty()}else if(H.kind==="base64url"){if(!mW.test($.data))W=this._getOrReturnCtx($,W),E(W,{validation:"base64url",code:F.invalid_string,message:H.message}),Q.dirty()}else m.assertNever(H);return{status:Q.value,value:$.data}}_regex($,J,Q){return this.refinement((W)=>$.test(W),{validation:J,code:F.invalid_string,...I.errToObj(Q)})}_addCheck($){return new b0({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...I.errToObj($)})}url($){return this._addCheck({kind:"url",...I.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...I.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...I.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...I.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...I.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...I.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...I.errToObj($)})}base64($){return this._addCheck({kind:"base64",...I.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...I.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...I.errToObj($)})}ip($){return this._addCheck({kind:"ip",...I.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...I.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,...I.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,...I.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...I.errToObj($)})}regex($,J){return this._addCheck({kind:"regex",regex:$,...I.errToObj(J)})}includes($,J){return this._addCheck({kind:"includes",value:$,position:J?.position,...I.errToObj(J?.message)})}startsWith($,J){return this._addCheck({kind:"startsWith",value:$,...I.errToObj(J)})}endsWith($,J){return this._addCheck({kind:"endsWith",value:$,...I.errToObj(J)})}min($,J){return this._addCheck({kind:"min",value:$,...I.errToObj(J)})}max($,J){return this._addCheck({kind:"max",value:$,...I.errToObj(J)})}length($,J){return this._addCheck({kind:"length",value:$,...I.errToObj(J)})}nonempty($){return this.min(1,I.errToObj($))}trim(){return new b0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new b0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new b0({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxLength(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}}b0.create=($)=>{return new b0({checks:[],typeName:N.ZodString,coerce:$?.coerce??!1,...y($)})};function sW($,J){let Q=($.toString().split(".")[1]||"").length,W=(J.toString().split(".")[1]||"").length,H=Q>W?Q:W,X=Number.parseInt($.toFixed(H).replace(".","")),q=Number.parseInt(J.toFixed(H).replace(".",""));return X%q/10**H}class r0 extends u{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($)!==L.number){let H=this._getOrReturnCtx($);return E(H,{code:F.invalid_type,expected:L.number,received:H.parsedType}),f}let Q=void 0,W=new q0;for(let H of this._def.checks)if(H.kind==="int"){if(!m.isInteger($.data))Q=this._getOrReturnCtx($,Q),E(Q,{code:F.invalid_type,expected:"integer",received:"float",message:H.message}),W.dirty()}else if(H.kind==="min"){if(H.inclusive?$.data<H.value:$.data<=H.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:F.too_small,minimum:H.value,type:"number",inclusive:H.inclusive,exact:!1,message:H.message}),W.dirty()}else if(H.kind==="max"){if(H.inclusive?$.data>H.value:$.data>=H.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:F.too_big,maximum:H.value,type:"number",inclusive:H.inclusive,exact:!1,message:H.message}),W.dirty()}else if(H.kind==="multipleOf"){if(sW($.data,H.value)!==0)Q=this._getOrReturnCtx($,Q),E(Q,{code:F.not_multiple_of,multipleOf:H.value,message:H.message}),W.dirty()}else if(H.kind==="finite"){if(!Number.isFinite($.data))Q=this._getOrReturnCtx($,Q),E(Q,{code:F.not_finite,message:H.message}),W.dirty()}else m.assertNever(H);return{status:W.value,value:$.data}}gte($,J){return this.setLimit("min",$,!0,I.toString(J))}gt($,J){return this.setLimit("min",$,!1,I.toString(J))}lte($,J){return this.setLimit("max",$,!0,I.toString(J))}lt($,J){return this.setLimit("max",$,!1,I.toString(J))}setLimit($,J,Q,W){return new r0({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:I.toString(W)}]})}_addCheck($){return new r0({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:I.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:I.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:I.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:I.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:I.toString($)})}multipleOf($,J){return this._addCheck({kind:"multipleOf",value:$,message:I.toString(J)})}finite($){return this._addCheck({kind:"finite",message:I.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:I.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:I.toString($)})}get minValue(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxValue(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&m.isInteger($.value))}get isFinite(){let $=null,J=null;for(let Q of this._def.checks)if(Q.kind==="finite"||Q.kind==="int"||Q.kind==="multipleOf")return!0;else if(Q.kind==="min"){if(J===null||Q.value>J)J=Q.value}else if(Q.kind==="max"){if($===null||Q.value<$)$=Q.value}return Number.isFinite(J)&&Number.isFinite($)}}r0.create=($)=>{return new r0({checks:[],typeName:N.ZodNumber,coerce:$?.coerce||!1,...y($)})};class t0 extends u{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($)!==L.bigint)return this._getInvalidInput($);let Q=void 0,W=new q0;for(let H of this._def.checks)if(H.kind==="min"){if(H.inclusive?$.data<H.value:$.data<=H.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:F.too_small,type:"bigint",minimum:H.value,inclusive:H.inclusive,message:H.message}),W.dirty()}else if(H.kind==="max"){if(H.inclusive?$.data>H.value:$.data>=H.value)Q=this._getOrReturnCtx($,Q),E(Q,{code:F.too_big,type:"bigint",maximum:H.value,inclusive:H.inclusive,message:H.message}),W.dirty()}else if(H.kind==="multipleOf"){if($.data%H.value!==BigInt(0))Q=this._getOrReturnCtx($,Q),E(Q,{code:F.not_multiple_of,multipleOf:H.value,message:H.message}),W.dirty()}else m.assertNever(H);return{status:W.value,value:$.data}}_getInvalidInput($){let J=this._getOrReturnCtx($);return E(J,{code:F.invalid_type,expected:L.bigint,received:J.parsedType}),f}gte($,J){return this.setLimit("min",$,!0,I.toString(J))}gt($,J){return this.setLimit("min",$,!1,I.toString(J))}lte($,J){return this.setLimit("max",$,!0,I.toString(J))}lt($,J){return this.setLimit("max",$,!1,I.toString(J))}setLimit($,J,Q,W){return new t0({...this._def,checks:[...this._def.checks,{kind:$,value:J,inclusive:Q,message:I.toString(W)}]})}_addCheck($){return new t0({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:I.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:I.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:I.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:I.toString($)})}multipleOf($,J){return this._addCheck({kind:"multipleOf",value:$,message:I.toString(J)})}get minValue(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $}get maxValue(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $}}t0.create=($)=>{return new t0({checks:[],typeName:N.ZodBigInt,coerce:$?.coerce??!1,...y($)})};class M1 extends u{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==L.boolean){let Q=this._getOrReturnCtx($);return E(Q,{code:F.invalid_type,expected:L.boolean,received:Q.parsedType}),f}return G0($.data)}}M1.create=($)=>{return new M1({typeName:N.ZodBoolean,coerce:$?.coerce||!1,...y($)})};class X1 extends u{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==L.date){let H=this._getOrReturnCtx($);return E(H,{code:F.invalid_type,expected:L.date,received:H.parsedType}),f}if(Number.isNaN($.data.getTime())){let H=this._getOrReturnCtx($);return E(H,{code:F.invalid_date}),f}let Q=new q0,W=void 0;for(let H of this._def.checks)if(H.kind==="min"){if($.data.getTime()<H.value)W=this._getOrReturnCtx($,W),E(W,{code:F.too_small,message:H.message,inclusive:!0,exact:!1,minimum:H.value,type:"date"}),Q.dirty()}else if(H.kind==="max"){if($.data.getTime()>H.value)W=this._getOrReturnCtx($,W),E(W,{code:F.too_big,message:H.message,inclusive:!0,exact:!1,maximum:H.value,type:"date"}),Q.dirty()}else m.assertNever(H);return{status:Q.value,value:new Date($.data.getTime())}}_addCheck($){return new X1({...this._def,checks:[...this._def.checks,$]})}min($,J){return this._addCheck({kind:"min",value:$.getTime(),message:I.toString(J)})}max($,J){return this._addCheck({kind:"max",value:$.getTime(),message:I.toString(J)})}get minDate(){let $=null;for(let J of this._def.checks)if(J.kind==="min"){if($===null||J.value>$)$=J.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let J of this._def.checks)if(J.kind==="max"){if($===null||J.value<$)$=J.value}return $!=null?new Date($):null}}X1.create=($)=>{return new X1({checks:[],coerce:$?.coerce||!1,typeName:N.ZodDate,...y($)})};class w$ extends u{_parse($){if(this._getType($)!==L.symbol){let Q=this._getOrReturnCtx($);return E(Q,{code:F.invalid_type,expected:L.symbol,received:Q.parsedType}),f}return G0($.data)}}w$.create=($)=>{return new w$({typeName:N.ZodSymbol,...y($)})};class b1 extends u{_parse($){if(this._getType($)!==L.undefined){let Q=this._getOrReturnCtx($);return E(Q,{code:F.invalid_type,expected:L.undefined,received:Q.parsedType}),f}return G0($.data)}}b1.create=($)=>{return new b1({typeName:N.ZodUndefined,...y($)})};class P1 extends u{_parse($){if(this._getType($)!==L.null){let Q=this._getOrReturnCtx($);return E(Q,{code:F.invalid_type,expected:L.null,received:Q.parsedType}),f}return G0($.data)}}P1.create=($)=>{return new P1({typeName:N.ZodNull,...y($)})};class q1 extends u{constructor(){super(...arguments);this._any=!0}_parse($){return G0($.data)}}q1.create=($)=>{return new q1({typeName:N.ZodAny,...y($)})};class o0 extends u{constructor(){super(...arguments);this._unknown=!0}_parse($){return G0($.data)}}o0.create=($)=>{return new o0({typeName:N.ZodUnknown,...y($)})};class u0 extends u{_parse($){let J=this._getOrReturnCtx($);return E(J,{code:F.invalid_type,expected:L.never,received:J.parsedType}),f}}u0.create=($)=>{return new u0({typeName:N.ZodNever,...y($)})};class D$ extends u{_parse($){if(this._getType($)!==L.undefined){let Q=this._getOrReturnCtx($);return E(Q,{code:F.invalid_type,expected:L.void,received:Q.parsedType}),f}return G0($.data)}}D$.create=($)=>{return new D$({typeName:N.ZodVoid,...y($)})};class P0 extends u{_parse($){let{ctx:J,status:Q}=this._processInputParams($),W=this._def;if(J.parsedType!==L.array)return E(J,{code:F.invalid_type,expected:L.array,received:J.parsedType}),f;if(W.exactLength!==null){let X=J.data.length>W.exactLength.value,q=J.data.length<W.exactLength.value;if(X||q)E(J,{code:X?F.too_big:F.too_small,minimum:q?W.exactLength.value:void 0,maximum:X?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),Q.dirty()}if(W.minLength!==null){if(J.data.length<W.minLength.value)E(J,{code:F.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),Q.dirty()}if(W.maxLength!==null){if(J.data.length>W.maxLength.value)E(J,{code:F.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),Q.dirty()}if(J.common.async)return Promise.all([...J.data].map((X,q)=>{return W.type._parseAsync(new I0(J,X,J.path,q))})).then((X)=>{return q0.mergeArray(Q,X)});let H=[...J.data].map((X,q)=>{return W.type._parseSync(new I0(J,X,J.path,q))});return q0.mergeArray(Q,H)}get element(){return this._def.type}min($,J){return new P0({...this._def,minLength:{value:$,message:I.toString(J)}})}max($,J){return new P0({...this._def,maxLength:{value:$,message:I.toString(J)}})}length($,J){return new P0({...this._def,exactLength:{value:$,message:I.toString(J)}})}nonempty($){return this.min(1,$)}}P0.create=($,J)=>{return new P0({type:$,minLength:null,maxLength:null,exactLength:null,typeName:N.ZodArray,...y(J)})};function C1($){if($ instanceof r){let J={};for(let Q in $.shape){let W=$.shape[Q];J[Q]=Z0.create(C1(W))}return new r({...$._def,shape:()=>J})}else if($ instanceof P0)return new P0({...$._def,type:C1($.element)});else if($ instanceof Z0)return Z0.create(C1($.unwrap()));else if($ instanceof i0)return i0.create(C1($.unwrap()));else if($ instanceof l0)return l0.create($.items.map((J)=>C1(J)));else return $}class r extends u{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),J=m.objectKeys($);return this._cached={shape:$,keys:J},this._cached}_parse($){if(this._getType($)!==L.object){let G=this._getOrReturnCtx($);return E(G,{code:F.invalid_type,expected:L.object,received:G.parsedType}),f}let{status:Q,ctx:W}=this._processInputParams($),{shape:H,keys:X}=this._getCached(),q=[];if(!(this._def.catchall instanceof u0&&this._def.unknownKeys==="strip")){for(let G in W.data)if(!X.includes(G))q.push(G)}let Y=[];for(let G of X){let B=H[G],w=W.data[G];Y.push({key:{status:"valid",value:G},value:B._parse(new I0(W,w,W.path,G)),alwaysSet:G in W.data})}if(this._def.catchall instanceof u0){let G=this._def.unknownKeys;if(G==="passthrough")for(let B of q)Y.push({key:{status:"valid",value:B},value:{status:"valid",value:W.data[B]}});else if(G==="strict"){if(q.length>0)E(W,{code:F.unrecognized_keys,keys:q}),Q.dirty()}else if(G==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let G=this._def.catchall;for(let B of q){let w=W.data[B];Y.push({key:{status:"valid",value:B},value:G._parse(new I0(W,w,W.path,B)),alwaysSet:B in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let G=[];for(let B of Y){let w=await B.key,_=await B.value;G.push({key:w,value:_,alwaysSet:B.alwaysSet})}return G}).then((G)=>{return q0.mergeObjectSync(Q,G)});else return q0.mergeObjectSync(Q,Y)}get shape(){return this._def.shape()}strict($){return I.errToObj,new r({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(J,Q)=>{let W=this._def.errorMap?.(J,Q).message??Q.defaultError;if(J.code==="unrecognized_keys")return{message:I.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new r({...this._def,unknownKeys:"strip"})}passthrough(){return new r({...this._def,unknownKeys:"passthrough"})}extend($){return new r({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new r({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:N.ZodObject})}setKey($,J){return this.augment({[$]:J})}catchall($){return new r({...this._def,catchall:$})}pick($){let J={};for(let Q of m.objectKeys($))if($[Q]&&this.shape[Q])J[Q]=this.shape[Q];return new r({...this._def,shape:()=>J})}omit($){let J={};for(let Q of m.objectKeys(this.shape))if(!$[Q])J[Q]=this.shape[Q];return new r({...this._def,shape:()=>J})}deepPartial(){return C1(this)}partial($){let J={};for(let Q of m.objectKeys(this.shape)){let W=this.shape[Q];if($&&!$[Q])J[Q]=W;else J[Q]=W.optional()}return new r({...this._def,shape:()=>J})}required($){let J={};for(let Q of m.objectKeys(this.shape))if($&&!$[Q])J[Q]=this.shape[Q];else{let H=this.shape[Q];while(H instanceof Z0)H=H._def.innerType;J[Q]=H}return new r({...this._def,shape:()=>J})}keyof(){return S2(m.objectKeys(this.shape))}}r.create=($,J)=>{return new r({shape:()=>$,unknownKeys:"strip",catchall:u0.create(),typeName:N.ZodObject,...y(J)})};r.strictCreate=($,J)=>{return new r({shape:()=>$,unknownKeys:"strict",catchall:u0.create(),typeName:N.ZodObject,...y(J)})};r.lazycreate=($,J)=>{return new r({shape:$,unknownKeys:"strip",catchall:u0.create(),typeName:N.ZodObject,...y(J)})};class Z1 extends u{_parse($){let{ctx:J}=this._processInputParams($),Q=this._def.options;function W(H){for(let q of H)if(q.result.status==="valid")return q.result;for(let q of H)if(q.result.status==="dirty")return J.common.issues.push(...q.ctx.common.issues),q.result;let X=H.map((q)=>new X0(q.ctx.common.issues));return E(J,{code:F.invalid_union,unionErrors:X}),f}if(J.common.async)return Promise.all(Q.map(async(H)=>{let X={...J,common:{...J.common,issues:[]},parent:null};return{result:await H._parseAsync({data:J.data,path:J.path,parent:X}),ctx:X}})).then(W);else{let H=void 0,X=[];for(let Y of Q){let G={...J,common:{...J.common,issues:[]},parent:null},B=Y._parseSync({data:J.data,path:J.path,parent:G});if(B.status==="valid")return B;else if(B.status==="dirty"&&!H)H={result:B,ctx:G};if(G.common.issues.length)X.push(G.common.issues)}if(H)return J.common.issues.push(...H.ctx.common.issues),H.result;let q=X.map((Y)=>new X0(Y));return E(J,{code:F.invalid_union,unionErrors:q}),f}}get options(){return this._def.options}}Z1.create=($,J)=>{return new Z1({options:$,typeName:N.ZodUnion,...y(J)})};var d0=($)=>{if($ instanceof k1)return d0($.schema);else if($ instanceof k0)return d0($.innerType());else if($ instanceof K1)return[$.value];else if($ instanceof a0)return $.options;else if($ instanceof f1)return m.objectValues($.enum);else if($ instanceof T1)return d0($._def.innerType);else if($ instanceof b1)return[void 0];else if($ instanceof P1)return[null];else if($ instanceof Z0)return[void 0,...d0($.unwrap())];else if($ instanceof i0)return[null,...d0($.unwrap())];else if($ instanceof t$)return d0($.unwrap());else if($ instanceof v1)return d0($.unwrap());else if($ instanceof x1)return d0($._def.innerType);else return[]};class r$ extends u{_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==L.object)return E(J,{code:F.invalid_type,expected:L.object,received:J.parsedType}),f;let Q=this.discriminator,W=J.data[Q],H=this.optionsMap.get(W);if(!H)return E(J,{code:F.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[Q]}),f;if(J.common.async)return H._parseAsync({data:J.data,path:J.path,parent:J});else return H._parseSync({data:J.data,path:J.path,parent:J})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,J,Q){let W=new Map;for(let H of J){let X=d0(H.shape[$]);if(!X.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let q of X){if(W.has(q))throw Error(`Discriminator property ${String($)} has duplicate value ${String(q)}`);W.set(q,H)}}return new r$({typeName:N.ZodDiscriminatedUnion,discriminator:$,options:J,optionsMap:W,...y(Q)})}}function _4($,J){let Q=y0($),W=y0(J);if($===J)return{valid:!0,data:$};else if(Q===L.object&&W===L.object){let H=m.objectKeys(J),X=m.objectKeys($).filter((Y)=>H.indexOf(Y)!==-1),q={...$,...J};for(let Y of X){let G=_4($[Y],J[Y]);if(!G.valid)return{valid:!1};q[Y]=G.data}return{valid:!0,data:q}}else if(Q===L.array&&W===L.array){if($.length!==J.length)return{valid:!1};let H=[];for(let X=0;X<$.length;X++){let q=$[X],Y=J[X],G=_4(q,Y);if(!G.valid)return{valid:!1};H.push(G.data)}return{valid:!0,data:H}}else if(Q===L.date&&W===L.date&&+$===+J)return{valid:!0,data:$};else return{valid:!1}}class I1 extends u{_parse($){let{status:J,ctx:Q}=this._processInputParams($),W=(H,X)=>{if(s$(H)||s$(X))return f;let q=_4(H.value,X.value);if(!q.valid)return E(Q,{code:F.invalid_intersection_types}),f;if(o$(H)||o$(X))J.dirty();return{status:J.value,value:q.data}};if(Q.common.async)return Promise.all([this._def.left._parseAsync({data:Q.data,path:Q.path,parent:Q}),this._def.right._parseAsync({data:Q.data,path:Q.path,parent:Q})]).then(([H,X])=>W(H,X));else return W(this._def.left._parseSync({data:Q.data,path:Q.path,parent:Q}),this._def.right._parseSync({data:Q.data,path:Q.path,parent:Q}))}}I1.create=($,J,Q)=>{return new I1({left:$,right:J,typeName:N.ZodIntersection,...y(Q)})};class l0 extends u{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==L.array)return E(Q,{code:F.invalid_type,expected:L.array,received:Q.parsedType}),f;if(Q.data.length<this._def.items.length)return E(Q,{code:F.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),f;if(!this._def.rest&&Q.data.length>this._def.items.length)E(Q,{code:F.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),J.dirty();let H=[...Q.data].map((X,q)=>{let Y=this._def.items[q]||this._def.rest;if(!Y)return null;return Y._parse(new I0(Q,X,Q.path,q))}).filter((X)=>!!X);if(Q.common.async)return Promise.all(H).then((X)=>{return q0.mergeArray(J,X)});else return q0.mergeArray(J,H)}get items(){return this._def.items}rest($){return new l0({...this._def,rest:$})}}l0.create=($,J)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new l0({items:$,typeName:N.ZodTuple,rest:null,...y(J)})};class U$ extends u{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==L.object)return E(Q,{code:F.invalid_type,expected:L.object,received:Q.parsedType}),f;let W=[],H=this._def.keyType,X=this._def.valueType;for(let q in Q.data)W.push({key:H._parse(new I0(Q,q,Q.path,q)),value:X._parse(new I0(Q,Q.data[q],Q.path,q)),alwaysSet:q in Q.data});if(Q.common.async)return q0.mergeObjectAsync(J,W);else return q0.mergeObjectSync(J,W)}get element(){return this._def.valueType}static create($,J,Q){if(J instanceof u)return new U$({keyType:$,valueType:J,typeName:N.ZodRecord,...y(Q)});return new U$({keyType:b0.create(),valueType:$,typeName:N.ZodRecord,...y(J)})}}class _$ extends u{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==L.map)return E(Q,{code:F.invalid_type,expected:L.map,received:Q.parsedType}),f;let W=this._def.keyType,H=this._def.valueType,X=[...Q.data.entries()].map(([q,Y],G)=>{return{key:W._parse(new I0(Q,q,Q.path,[G,"key"])),value:H._parse(new I0(Q,Y,Q.path,[G,"value"]))}});if(Q.common.async){let q=new Map;return Promise.resolve().then(async()=>{for(let Y of X){let G=await Y.key,B=await Y.value;if(G.status==="aborted"||B.status==="aborted")return f;if(G.status==="dirty"||B.status==="dirty")J.dirty();q.set(G.value,B.value)}return{status:J.value,value:q}})}else{let q=new Map;for(let Y of X){let{key:G,value:B}=Y;if(G.status==="aborted"||B.status==="aborted")return f;if(G.status==="dirty"||B.status==="dirty")J.dirty();q.set(G.value,B.value)}return{status:J.value,value:q}}}}_$.create=($,J,Q)=>{return new _$({valueType:J,keyType:$,typeName:N.ZodMap,...y(Q)})};class Y1 extends u{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.parsedType!==L.set)return E(Q,{code:F.invalid_type,expected:L.set,received:Q.parsedType}),f;let W=this._def;if(W.minSize!==null){if(Q.data.size<W.minSize.value)E(Q,{code:F.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),J.dirty()}if(W.maxSize!==null){if(Q.data.size>W.maxSize.value)E(Q,{code:F.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),J.dirty()}let H=this._def.valueType;function X(Y){let G=new Set;for(let B of Y){if(B.status==="aborted")return f;if(B.status==="dirty")J.dirty();G.add(B.value)}return{status:J.value,value:G}}let q=[...Q.data.values()].map((Y,G)=>H._parse(new I0(Q,Y,Q.path,G)));if(Q.common.async)return Promise.all(q).then((Y)=>X(Y));else return X(q)}min($,J){return new Y1({...this._def,minSize:{value:$,message:I.toString(J)}})}max($,J){return new Y1({...this._def,maxSize:{value:$,message:I.toString(J)}})}size($,J){return this.min($,J).max($,J)}nonempty($){return this.min(1,$)}}Y1.create=($,J)=>{return new Y1({valueType:$,minSize:null,maxSize:null,typeName:N.ZodSet,...y(J)})};class O1 extends u{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==L.function)return E(J,{code:F.invalid_type,expected:L.function,received:J.parsedType}),f;function Q(q,Y){return B$({data:q,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,E1(),n0].filter((G)=>!!G),issueData:{code:F.invalid_arguments,argumentsError:Y}})}function W(q,Y){return B$({data:q,path:J.path,errorMaps:[J.common.contextualErrorMap,J.schemaErrorMap,E1(),n0].filter((G)=>!!G),issueData:{code:F.invalid_return_type,returnTypeError:Y}})}let H={errorMap:J.common.contextualErrorMap},X=J.data;if(this._def.returns instanceof G1){let q=this;return G0(async function(...Y){let G=new X0([]),B=await q._def.args.parseAsync(Y,H).catch((R)=>{throw G.addIssue(Q(Y,R)),G}),w=await Reflect.apply(X,this,B);return await q._def.returns._def.type.parseAsync(w,H).catch((R)=>{throw G.addIssue(W(w,R)),G})})}else{let q=this;return G0(function(...Y){let G=q._def.args.safeParse(Y,H);if(!G.success)throw new X0([Q(Y,G.error)]);let B=Reflect.apply(X,this,G.data),w=q._def.returns.safeParse(B,H);if(!w.success)throw new X0([W(B,w.error)]);return w.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new O1({...this._def,args:l0.create($).rest(o0.create())})}returns($){return new O1({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,J,Q){return new O1({args:$?$:l0.create([]).rest(o0.create()),returns:J||o0.create(),typeName:N.ZodFunction,...y(Q)})}}class k1 extends u{get schema(){return this._def.getter()}_parse($){let{ctx:J}=this._processInputParams($);return this._def.getter()._parse({data:J.data,path:J.path,parent:J})}}k1.create=($,J)=>{return new k1({getter:$,typeName:N.ZodLazy,...y(J)})};class K1 extends u{_parse($){if($.data!==this._def.value){let J=this._getOrReturnCtx($);return E(J,{received:J.data,code:F.invalid_literal,expected:this._def.value}),f}return{status:"valid",value:$.data}}get value(){return this._def.value}}K1.create=($,J)=>{return new K1({value:$,typeName:N.ZodLiteral,...y(J)})};function S2($,J){return new a0({values:$,typeName:N.ZodEnum,...y(J)})}class a0 extends u{_parse($){if(typeof $.data!=="string"){let J=this._getOrReturnCtx($),Q=this._def.values;return E(J,{expected:m.joinValues(Q),received:J.parsedType,code:F.invalid_type}),f}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let J=this._getOrReturnCtx($),Q=this._def.values;return E(J,{received:J.data,code:F.invalid_enum_value,options:Q}),f}return G0($.data)}get options(){return this._def.values}get enum(){let $={};for(let J of this._def.values)$[J]=J;return $}get Values(){let $={};for(let J of this._def.values)$[J]=J;return $}get Enum(){let $={};for(let J of this._def.values)$[J]=J;return $}extract($,J=this._def){return a0.create($,{...this._def,...J})}exclude($,J=this._def){return a0.create(this.options.filter((Q)=>!$.includes(Q)),{...this._def,...J})}}a0.create=S2;class f1 extends u{_parse($){let J=m.getValidEnumValues(this._def.values),Q=this._getOrReturnCtx($);if(Q.parsedType!==L.string&&Q.parsedType!==L.number){let W=m.objectValues(J);return E(Q,{expected:m.joinValues(W),received:Q.parsedType,code:F.invalid_type}),f}if(!this._cache)this._cache=new Set(m.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=m.objectValues(J);return E(Q,{received:Q.data,code:F.invalid_enum_value,options:W}),f}return G0($.data)}get enum(){return this._def.values}}f1.create=($,J)=>{return new f1({values:$,typeName:N.ZodNativeEnum,...y(J)})};class G1 extends u{unwrap(){return this._def.type}_parse($){let{ctx:J}=this._processInputParams($);if(J.parsedType!==L.promise&&J.common.async===!1)return E(J,{code:F.invalid_type,expected:L.promise,received:J.parsedType}),f;let Q=J.parsedType===L.promise?J.data:Promise.resolve(J.data);return G0(Q.then((W)=>{return this._def.type.parseAsync(W,{path:J.path,errorMap:J.common.contextualErrorMap})}))}}G1.create=($,J)=>{return new G1({type:$,typeName:N.ZodPromise,...y(J)})};class k0 extends u{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===N.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:J,ctx:Q}=this._processInputParams($),W=this._def.effect||null,H={addIssue:(X)=>{if(E(Q,X),X.fatal)J.abort();else J.dirty()},get path(){return Q.path}};if(H.addIssue=H.addIssue.bind(H),W.type==="preprocess"){let X=W.transform(Q.data,H);if(Q.common.async)return Promise.resolve(X).then(async(q)=>{if(J.value==="aborted")return f;let Y=await this._def.schema._parseAsync({data:q,path:Q.path,parent:Q});if(Y.status==="aborted")return f;if(Y.status==="dirty")return H1(Y.value);if(J.value==="dirty")return H1(Y.value);return Y});else{if(J.value==="aborted")return f;let q=this._def.schema._parseSync({data:X,path:Q.path,parent:Q});if(q.status==="aborted")return f;if(q.status==="dirty")return H1(q.value);if(J.value==="dirty")return H1(q.value);return q}}if(W.type==="refinement"){let X=(q)=>{let Y=W.refinement(q,H);if(Q.common.async)return Promise.resolve(Y);if(Y instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return q};if(Q.common.async===!1){let q=this._def.schema._parseSync({data:Q.data,path:Q.path,parent:Q});if(q.status==="aborted")return f;if(q.status==="dirty")J.dirty();return X(q.value),{status:J.value,value:q.value}}else return this._def.schema._parseAsync({data:Q.data,path:Q.path,parent:Q}).then((q)=>{if(q.status==="aborted")return f;if(q.status==="dirty")J.dirty();return X(q.value).then(()=>{return{status:J.value,value:q.value}})})}if(W.type==="transform")if(Q.common.async===!1){let X=this._def.schema._parseSync({data:Q.data,path:Q.path,parent:Q});if(!s0(X))return f;let q=W.transform(X.value,H);if(q instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:J.value,value:q}}else return this._def.schema._parseAsync({data:Q.data,path:Q.path,parent:Q}).then((X)=>{if(!s0(X))return f;return Promise.resolve(W.transform(X.value,H)).then((q)=>({status:J.value,value:q}))});m.assertNever(W)}}k0.create=($,J,Q)=>{return new k0({schema:$,typeName:N.ZodEffects,effect:J,...y(Q)})};k0.createWithPreprocess=($,J,Q)=>{return new k0({schema:J,effect:{type:"preprocess",transform:$},typeName:N.ZodEffects,...y(Q)})};class Z0 extends u{_parse($){if(this._getType($)===L.undefined)return G0(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}Z0.create=($,J)=>{return new Z0({innerType:$,typeName:N.ZodOptional,...y(J)})};class i0 extends u{_parse($){if(this._getType($)===L.null)return G0(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}i0.create=($,J)=>{return new i0({innerType:$,typeName:N.ZodNullable,...y(J)})};class T1 extends u{_parse($){let{ctx:J}=this._processInputParams($),Q=J.data;if(J.parsedType===L.undefined)Q=this._def.defaultValue();return this._def.innerType._parse({data:Q,path:J.path,parent:J})}removeDefault(){return this._def.innerType}}T1.create=($,J)=>{return new T1({innerType:$,typeName:N.ZodDefault,defaultValue:typeof J.default==="function"?J.default:()=>J.default,...y(J)})};class x1 extends u{_parse($){let{ctx:J}=this._processInputParams($),Q={...J,common:{...J.common,issues:[]}},W=this._def.innerType._parse({data:Q.data,path:Q.path,parent:{...Q}});if(R1(W))return W.then((H)=>{return{status:"valid",value:H.status==="valid"?H.value:this._def.catchValue({get error(){return new X0(Q.common.issues)},input:Q.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new X0(Q.common.issues)},input:Q.data})}}removeCatch(){return this._def.innerType}}x1.create=($,J)=>{return new x1({innerType:$,typeName:N.ZodCatch,catchValue:typeof J.catch==="function"?J.catch:()=>J.catch,...y(J)})};class V$ extends u{_parse($){if(this._getType($)!==L.nan){let Q=this._getOrReturnCtx($);return E(Q,{code:F.invalid_type,expected:L.nan,received:Q.parsedType}),f}return{status:"valid",value:$.data}}}V$.create=($)=>{return new V$({typeName:N.ZodNaN,...y($)})};var oW=Symbol("zod_brand");class t$ extends u{_parse($){let{ctx:J}=this._processInputParams($),Q=J.data;return this._def.type._parse({data:Q,path:J.path,parent:J})}unwrap(){return this._def.type}}class F$ extends u{_parse($){let{status:J,ctx:Q}=this._processInputParams($);if(Q.common.async)return(async()=>{let H=await this._def.in._parseAsync({data:Q.data,path:Q.path,parent:Q});if(H.status==="aborted")return f;if(H.status==="dirty")return J.dirty(),H1(H.value);else return this._def.out._parseAsync({data:H.value,path:Q.path,parent:Q})})();else{let W=this._def.in._parseSync({data:Q.data,path:Q.path,parent:Q});if(W.status==="aborted")return f;if(W.status==="dirty")return J.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:Q.path,parent:Q})}}static create($,J){return new F$({in:$,out:J,typeName:N.ZodPipeline})}}class v1 extends u{_parse($){let J=this._def.innerType._parse($),Q=(W)=>{if(s0(W))W.value=Object.freeze(W.value);return W};return R1(J)?J.then((W)=>Q(W)):Q(J)}unwrap(){return this._def.innerType}}v1.create=($,J)=>{return new v1({innerType:$,typeName:N.ZodReadonly,...y(J)})};function z2($,J){let Q=typeof $==="function"?$(J):typeof $==="string"?{message:$}:$;return typeof Q==="string"?{message:Q}:Q}function A2($,J={},Q){if($)return q1.create().superRefine((W,H)=>{let X=$(W);if(X instanceof Promise)return X.then((q)=>{if(!q){let Y=z2(J,W),G=Y.fatal??Q??!0;H.addIssue({code:"custom",...Y,fatal:G})}});if(!X){let q=z2(J,W),Y=q.fatal??Q??!0;H.addIssue({code:"custom",...q,fatal:Y})}return});return q1.create()}var rW={object:r.lazycreate},N;(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"})(N||(N={}));var tW=($,J={message:`Input not instance of ${$.name}`})=>A2((Q)=>Q instanceof $,J),E2=b0.create,R2=r0.create,aW=V$.create,eW=t0.create,C2=M1.create,$H=X1.create,JH=w$.create,QH=b1.create,WH=P1.create,HH=q1.create,XH=o0.create,qH=u0.create,YH=D$.create,GH=P0.create,BH=r.create,wH=r.strictCreate,DH=Z1.create,UH=r$.create,_H=I1.create,VH=l0.create,FH=U$.create,zH=_$.create,NH=Y1.create,LH=O1.create,jH=k1.create,SH=K1.create,AH=a0.create,EH=f1.create,RH=G1.create,CH=k0.create,OH=Z0.create,MH=i0.create,bH=k0.createWithPreprocess,PH=F$.create,ZH=()=>E2().optional(),IH=()=>R2().optional(),kH=()=>C2().optional(),KH={string:($)=>b0.create({...$,coerce:!0}),number:($)=>r0.create({...$,coerce:!0}),boolean:($)=>M1.create({...$,coerce:!0}),bigint:($)=>t0.create({...$,coerce:!0}),date:($)=>X1.create({...$,coerce:!0})};var fH=f;function s($){if($.target!=="openAi")return{};let J=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?p$(J,$.currentPath):J.join("/")}}function O2($,J){let Q={type:"array"};if($.type?._def&&$.type?._def?.typeName!==N.ZodAny)Q.items=x($.type._def,{...J,currentPath:[...J.currentPath,"items"]});if($.minLength)n(Q,"minItems",$.minLength.value,$.minLength.message,J);if($.maxLength)n(Q,"maxItems",$.maxLength.value,$.maxLength.message,J);if($.exactLength)n(Q,"minItems",$.exactLength.value,$.exactLength.message,J),n(Q,"maxItems",$.exactLength.value,$.exactLength.message,J);return Q}function M2($,J){let Q={type:"integer",format:"int64"};if(!$.checks)return Q;for(let W of $.checks)switch(W.kind){case"min":if(J.target==="jsonSchema7")if(W.inclusive)n(Q,"minimum",W.value,W.message,J);else n(Q,"exclusiveMinimum",W.value,W.message,J);else{if(!W.inclusive)Q.exclusiveMinimum=!0;n(Q,"minimum",W.value,W.message,J)}break;case"max":if(J.target==="jsonSchema7")if(W.inclusive)n(Q,"maximum",W.value,W.message,J);else n(Q,"exclusiveMaximum",W.value,W.message,J);else{if(!W.inclusive)Q.exclusiveMaximum=!0;n(Q,"maximum",W.value,W.message,J)}break;case"multipleOf":n(Q,"multipleOf",W.value,W.message,J);break}return Q}function b2(){return{type:"boolean"}}function a$($,J){return x($.type._def,J)}var P2=($,J)=>{return x($.innerType._def,J)};function V4($,J,Q){let W=Q??J.dateStrategy;if(Array.isArray(W))return{anyOf:W.map((H,X)=>V4($,J,H))};switch(W){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return TH($,J)}}var TH=($,J)=>{let Q={type:"integer",format:"unix-time"};if(J.target==="openApi3")return Q;for(let W of $.checks)switch(W.kind){case"min":n(Q,"minimum",W.value,W.message,J);break;case"max":n(Q,"maximum",W.value,W.message,J);break}return Q};function Z2($,J){return{...x($.innerType._def,J),default:$.defaultValue()}}function I2($,J){return J.effectStrategy==="input"?x($.schema._def,J):s(J)}function k2($){return{type:"string",enum:Array.from($.values)}}var xH=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function K2($,J){let Q=[x($.left._def,{...J,currentPath:[...J.currentPath,"allOf","0"]}),x($.right._def,{...J,currentPath:[...J.currentPath,"allOf","1"]})].filter((X)=>!!X),W=J.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,H=[];return Q.forEach((X)=>{if(xH(X)){if(H.push(...X.allOf),X.unevaluatedProperties===void 0)W=void 0}else{let q=X;if("additionalProperties"in X&&X.additionalProperties===!1){let{additionalProperties:Y,...G}=X;q=G}else W=void 0;H.push(q)}}),H.length?{allOf:H,...W}:void 0}function f2($,J){let Q=typeof $.value;if(Q!=="bigint"&&Q!=="number"&&Q!=="boolean"&&Q!=="string")return{type:Array.isArray($.value)?"array":"object"};if(J.target==="openApi3")return{type:Q==="bigint"?"integer":Q,enum:[$.value]};return{type:Q==="bigint"?"integer":Q,const:$.value}}var F4=void 0,K0={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(F4===void 0)F4=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return F4},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 e$($,J){let Q={type:"string"};if($.checks)for(let W of $.checks)switch(W.kind){case"min":n(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,W.value):W.value,W.message,J);break;case"max":n(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,W.value):W.value,W.message,J);break;case"email":switch(J.emailStrategy){case"format:email":f0(Q,"email",W.message,J);break;case"format:idn-email":f0(Q,"idn-email",W.message,J);break;case"pattern:zod":_0(Q,K0.email,W.message,J);break}break;case"url":f0(Q,"uri",W.message,J);break;case"uuid":f0(Q,"uuid",W.message,J);break;case"regex":_0(Q,W.regex,W.message,J);break;case"cuid":_0(Q,K0.cuid,W.message,J);break;case"cuid2":_0(Q,K0.cuid2,W.message,J);break;case"startsWith":_0(Q,RegExp(`^${z4(W.value,J)}`),W.message,J);break;case"endsWith":_0(Q,RegExp(`${z4(W.value,J)}$`),W.message,J);break;case"datetime":f0(Q,"date-time",W.message,J);break;case"date":f0(Q,"date",W.message,J);break;case"time":f0(Q,"time",W.message,J);break;case"duration":f0(Q,"duration",W.message,J);break;case"length":n(Q,"minLength",typeof Q.minLength==="number"?Math.max(Q.minLength,W.value):W.value,W.message,J),n(Q,"maxLength",typeof Q.maxLength==="number"?Math.min(Q.maxLength,W.value):W.value,W.message,J);break;case"includes":{_0(Q,RegExp(z4(W.value,J)),W.message,J);break}case"ip":{if(W.version!=="v6")f0(Q,"ipv4",W.message,J);if(W.version!=="v4")f0(Q,"ipv6",W.message,J);break}case"base64url":_0(Q,K0.base64url,W.message,J);break;case"jwt":_0(Q,K0.jwt,W.message,J);break;case"cidr":{if(W.version!=="v6")_0(Q,K0.ipv4Cidr,W.message,J);if(W.version!=="v4")_0(Q,K0.ipv6Cidr,W.message,J);break}case"emoji":_0(Q,K0.emoji(),W.message,J);break;case"ulid":{_0(Q,K0.ulid,W.message,J);break}case"base64":{switch(J.base64Strategy){case"format:binary":{f0(Q,"binary",W.message,J);break}case"contentEncoding:base64":{n(Q,"contentEncoding","base64",W.message,J);break}case"pattern:zod":{_0(Q,K0.base64,W.message,J);break}}break}case"nanoid":_0(Q,K0.nanoid,W.message,J);case"toLowerCase":case"toUpperCase":case"trim":break;default:((H)=>{})(W)}return Q}function z4($,J){return J.patternStrategy==="escape"?hH($):$}var vH=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function hH($){let J="";for(let Q=0;Q<$.length;Q++){if(!vH.has($[Q]))J+="\\";J+=$[Q]}return J}function f0($,J,Q,W){if($.format||$.anyOf?.some((H)=>H.format)){if(!$.anyOf)$.anyOf=[];if($.format){if($.anyOf.push({format:$.format,...$.errorMessage&&W.errorMessages&&{errorMessage:{format:$.errorMessage.format}}}),delete $.format,$.errorMessage){if(delete $.errorMessage.format,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.anyOf.push({format:J,...Q&&W.errorMessages&&{errorMessage:{format:Q}}})}else n($,"format",J,Q,W)}function _0($,J,Q,W){if($.pattern||$.allOf?.some((H)=>H.pattern)){if(!$.allOf)$.allOf=[];if($.pattern){if($.allOf.push({pattern:$.pattern,...$.errorMessage&&W.errorMessages&&{errorMessage:{pattern:$.errorMessage.pattern}}}),delete $.pattern,$.errorMessage){if(delete $.errorMessage.pattern,Object.keys($.errorMessage).length===0)delete $.errorMessage}}$.allOf.push({pattern:T2(J,W),...Q&&W.errorMessages&&{errorMessage:{pattern:Q}}})}else n($,"pattern",T2(J,W),Q,W)}function T2($,J){if(!J.applyRegexFlags||!$.flags)return $.source;let Q={i:$.flags.includes("i"),m:$.flags.includes("m"),s:$.flags.includes("s")},W=Q.i?$.source.toLowerCase():$.source,H="",X=!1,q=!1,Y=!1;for(let G=0;G<W.length;G++){if(X){H+=W[G],X=!1;continue}if(Q.i){if(q){if(W[G].match(/[a-z]/)){if(Y)H+=W[G],H+=`${W[G-2]}-${W[G]}`.toUpperCase(),Y=!1;else if(W[G+1]==="-"&&W[G+2]?.match(/[a-z]/))H+=W[G],Y=!0;else H+=`${W[G]}${W[G].toUpperCase()}`;continue}}else if(W[G].match(/[a-z]/)){H+=`[${W[G]}${W[G].toUpperCase()}]`;continue}}if(Q.m){if(W[G]==="^"){H+=`(^|(?<=[\r
17
- ]))`;continue}else if(W[G]==="$"){H+=`($|(?=[\r
18
- ]))`;continue}}if(Q.s&&W[G]==="."){H+=q?`${W[G]}\r
19
- `:`[${W[G]}\r
20
- ]`;continue}if(H+=W[G],W[G]==="\\")X=!0;else if(q&&W[G]==="]")q=!1;else if(!q&&W[G]==="[")q=!0}try{new RegExp(H)}catch{return console.warn(`Could not convert regex pattern at ${J.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),$.source}return H}function $6($,J){if(J.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(J.target==="openApi3"&&$.keyType?._def.typeName===N.ZodEnum)return{type:"object",required:$.keyType._def.values,properties:$.keyType._def.values.reduce((W,H)=>({...W,[H]:x($.valueType._def,{...J,currentPath:[...J.currentPath,"properties",H]})??s(J)}),{}),additionalProperties:J.rejectedAdditionalProperties};let Q={type:"object",additionalProperties:x($.valueType._def,{...J,currentPath:[...J.currentPath,"additionalProperties"]})??J.allowedAdditionalProperties};if(J.target==="openApi3")return Q;if($.keyType?._def.typeName===N.ZodString&&$.keyType._def.checks?.length){let{type:W,...H}=e$($.keyType._def,J);return{...Q,propertyNames:H}}else if($.keyType?._def.typeName===N.ZodEnum)return{...Q,propertyNames:{enum:$.keyType._def.values}};else if($.keyType?._def.typeName===N.ZodBranded&&$.keyType._def.type._def.typeName===N.ZodString&&$.keyType._def.type._def.checks?.length){let{type:W,...H}=a$($.keyType._def,J);return{...Q,propertyNames:H}}return Q}function x2($,J){if(J.mapStrategy==="record")return $6($,J);let Q=x($.keyType._def,{...J,currentPath:[...J.currentPath,"items","items","0"]})||s(J),W=x($.valueType._def,{...J,currentPath:[...J.currentPath,"items","items","1"]})||s(J);return{type:"array",maxItems:125,items:{type:"array",items:[Q,W],minItems:2,maxItems:2}}}function v2($){let J=$.values,W=Object.keys($.values).filter((X)=>{return typeof J[J[X]]!=="number"}).map((X)=>J[X]),H=Array.from(new Set(W.map((X)=>typeof X)));return{type:H.length===1?H[0]==="string"?"string":"number":["string","number"],enum:W}}function h2($){return $.target==="openAi"?void 0:{not:s({...$,currentPath:[...$.currentPath,"not"]})}}function g2($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var z$={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function u2($,J){if(J.target==="openApi3")return y2($,J);let Q=$.options instanceof Map?Array.from($.options.values()):$.options;if(Q.every((W)=>(W._def.typeName in z$)&&(!W._def.checks||!W._def.checks.length))){let W=Q.reduce((H,X)=>{let q=z$[X._def.typeName];return q&&!H.includes(q)?[...H,q]:H},[]);return{type:W.length>1?W:W[0]}}else if(Q.every((W)=>W._def.typeName==="ZodLiteral"&&!W.description)){let W=Q.reduce((H,X)=>{let q=typeof X._def.value;switch(q){case"string":case"number":case"boolean":return[...H,q];case"bigint":return[...H,"integer"];case"object":if(X._def.value===null)return[...H,"null"];case"symbol":case"undefined":case"function":default:return H}},[]);if(W.length===Q.length){let H=W.filter((X,q,Y)=>Y.indexOf(X)===q);return{type:H.length>1?H:H[0],enum:Q.reduce((X,q)=>{return X.includes(q._def.value)?X:[...X,q._def.value]},[])}}}else if(Q.every((W)=>W._def.typeName==="ZodEnum"))return{type:"string",enum:Q.reduce((W,H)=>[...W,...H._def.values.filter((X)=>!W.includes(X))],[])};return y2($,J)}var y2=($,J)=>{let Q=($.options instanceof Map?Array.from($.options.values()):$.options).map((W,H)=>x(W._def,{...J,currentPath:[...J.currentPath,"anyOf",`${H}`]})).filter((W)=>!!W&&(!J.strictUnions||typeof W==="object"&&Object.keys(W).length>0));return Q.length?{anyOf:Q}:void 0};function l2($,J){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(J.target==="openApi3")return{type:z$[$.innerType._def.typeName],nullable:!0};return{type:[z$[$.innerType._def.typeName],"null"]}}if(J.target==="openApi3"){let W=x($.innerType._def,{...J,currentPath:[...J.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let Q=x($.innerType._def,{...J,currentPath:[...J.currentPath,"anyOf","0"]});return Q&&{anyOf:[Q,{type:"null"}]}}function m2($,J){let Q={type:"number"};if(!$.checks)return Q;for(let W of $.checks)switch(W.kind){case"int":Q.type="integer",w4(Q,"type",W.message,J);break;case"min":if(J.target==="jsonSchema7")if(W.inclusive)n(Q,"minimum",W.value,W.message,J);else n(Q,"exclusiveMinimum",W.value,W.message,J);else{if(!W.inclusive)Q.exclusiveMinimum=!0;n(Q,"minimum",W.value,W.message,J)}break;case"max":if(J.target==="jsonSchema7")if(W.inclusive)n(Q,"maximum",W.value,W.message,J);else n(Q,"exclusiveMaximum",W.value,W.message,J);else{if(!W.inclusive)Q.exclusiveMaximum=!0;n(Q,"maximum",W.value,W.message,J)}break;case"multipleOf":n(Q,"multipleOf",W.value,W.message,J);break}return Q}function c2($,J){let Q=J.target==="openAi",W={type:"object",properties:{}},H=[],X=$.shape();for(let Y in X){let G=X[Y];if(G===void 0||G._def===void 0)continue;let B=yH(G);if(B&&Q){if(G._def.typeName==="ZodOptional")G=G._def.innerType;if(!G.isNullable())G=G.nullable();B=!1}let w=x(G._def,{...J,currentPath:[...J.currentPath,"properties",Y],propertyPath:[...J.currentPath,"properties",Y]});if(w===void 0)continue;if(W.properties[Y]=w,!B)H.push(Y)}if(H.length)W.required=H;let q=gH($,J);if(q!==void 0)W.additionalProperties=q;return W}function gH($,J){if($.catchall._def.typeName!=="ZodNever")return x($.catchall._def,{...J,currentPath:[...J.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return J.allowedAdditionalProperties;case"strict":return J.rejectedAdditionalProperties;case"strip":return J.removeAdditionalStrategy==="strict"?J.allowedAdditionalProperties:J.rejectedAdditionalProperties}}function yH($){try{return $.isOptional()}catch{return!0}}var n2=($,J)=>{if(J.currentPath.toString()===J.propertyPath?.toString())return x($.innerType._def,J);let Q=x($.innerType._def,{...J,currentPath:[...J.currentPath,"anyOf","1"]});return Q?{anyOf:[{not:s(J)},Q]}:s(J)};var d2=($,J)=>{if(J.pipeStrategy==="input")return x($.in._def,J);else if(J.pipeStrategy==="output")return x($.out._def,J);let Q=x($.in._def,{...J,currentPath:[...J.currentPath,"allOf","0"]}),W=x($.out._def,{...J,currentPath:[...J.currentPath,"allOf",Q?"1":"0"]});return{allOf:[Q,W].filter((H)=>H!==void 0)}};function i2($,J){return x($.type._def,J)}function p2($,J){let W={type:"array",uniqueItems:!0,items:x($.valueType._def,{...J,currentPath:[...J.currentPath,"items"]})};if($.minSize)n(W,"minItems",$.minSize.value,$.minSize.message,J);if($.maxSize)n(W,"maxItems",$.maxSize.value,$.maxSize.message,J);return W}function s2($,J){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((Q,W)=>x(Q._def,{...J,currentPath:[...J.currentPath,"items",`${W}`]})).reduce((Q,W)=>W===void 0?Q:[...Q,W],[]),additionalItems:x($.rest._def,{...J,currentPath:[...J.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((Q,W)=>x(Q._def,{...J,currentPath:[...J.currentPath,"items",`${W}`]})).reduce((Q,W)=>W===void 0?Q:[...Q,W],[])}}function o2($){return{not:s($)}}function r2($){return s($)}var t2=($,J)=>{return x($.innerType._def,J)};var a2=($,J,Q)=>{switch(J){case N.ZodString:return e$($,Q);case N.ZodNumber:return m2($,Q);case N.ZodObject:return c2($,Q);case N.ZodBigInt:return M2($,Q);case N.ZodBoolean:return b2();case N.ZodDate:return V4($,Q);case N.ZodUndefined:return o2(Q);case N.ZodNull:return g2(Q);case N.ZodArray:return O2($,Q);case N.ZodUnion:case N.ZodDiscriminatedUnion:return u2($,Q);case N.ZodIntersection:return K2($,Q);case N.ZodTuple:return s2($,Q);case N.ZodRecord:return $6($,Q);case N.ZodLiteral:return f2($,Q);case N.ZodEnum:return k2($);case N.ZodNativeEnum:return v2($);case N.ZodNullable:return l2($,Q);case N.ZodOptional:return n2($,Q);case N.ZodMap:return x2($,Q);case N.ZodSet:return p2($,Q);case N.ZodLazy:return()=>$.getter()._def;case N.ZodPromise:return i2($,Q);case N.ZodNaN:case N.ZodNever:return h2(Q);case N.ZodEffects:return I2($,Q);case N.ZodAny:return s(Q);case N.ZodUnknown:return r2(Q);case N.ZodDefault:return Z2($,Q);case N.ZodBranded:return a$($,Q);case N.ZodReadonly:return t2($,Q);case N.ZodCatch:return P2($,Q);case N.ZodPipeline:return d2($,Q);case N.ZodFunction:case N.ZodVoid:case N.ZodSymbol:return;default:return((W)=>{return})(J)}};function x($,J,Q=!1){let W=J.seen.get($);if(J.override){let Y=J.override?.($,J,W,Q);if(Y!==D2)return Y}if(W&&!Q){let Y=uH(W,J);if(Y!==void 0)return Y}let H={def:$,path:J.currentPath,jsonSchema:void 0};J.seen.set($,H);let X=a2($,$.typeName,J),q=typeof X==="function"?x(X(),J):X;if(q)lH($,J,q);if(J.postProcess){let Y=J.postProcess(q,$,J);return H.jsonSchema=q,Y}return H.jsonSchema=q,q}var uH=($,J)=>{switch(J.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:p$(J.currentPath,$.path)};case"none":case"seen":{if($.path.length<J.currentPath.length&&$.path.every((Q,W)=>J.currentPath[W]===Q))return console.warn(`Recursive reference detected at ${J.currentPath.join("/")}! Defaulting to any`),s(J);return J.$refStrategy==="seen"?s(J):void 0}}},lH=($,J,Q)=>{if($.description){if(Q.description=$.description,J.markdownDescription)Q.markdownDescription=$.description}return Q};var J6=($,J)=>{let Q=_2(J),W=typeof J==="object"&&J.definitions?Object.entries(J.definitions).reduce((G,[B,w])=>({...G,[B]:x(w._def,{...Q,currentPath:[...Q.basePath,Q.definitionPath,B]},!0)??s(Q)}),{}):void 0,H=typeof J==="string"?J:J?.nameStrategy==="title"?void 0:J?.name,X=x($._def,H===void 0?Q:{...Q,currentPath:[...Q.basePath,Q.definitionPath,H]},!1)??s(Q),q=typeof J==="object"&&J.name!==void 0&&J.nameStrategy==="title"?J.name:void 0;if(q!==void 0)X.title=q;if(Q.flags.hasReferencedOpenAiAnyType){if(!W)W={};if(!W[Q.openAiAnyTypeName])W[Q.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:Q.$refStrategy==="relative"?"1":[...Q.basePath,Q.definitionPath,Q.openAiAnyTypeName].join("/")}}}let Y=H===void 0?W?{...X,[Q.definitionPath]:W}:X:{$ref:[...Q.$refStrategy==="relative"?[]:Q.basePath,Q.definitionPath,H].join("/"),[Q.definitionPath]:{...W,[H]:X}};if(Q.target==="jsonSchema7")Y.$schema="http://json-schema.org/draft-07/schema#";else if(Q.target==="jsonSchema2019-09"||Q.target==="openAi")Y.$schema="https://json-schema.org/draft/2019-09/schema#";if(Q.target==="openAi"&&(("anyOf"in Y)||("oneOf"in Y)||("allOf"in Y)||("type"in Y)&&Array.isArray(Y.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return Y};var e2=new WeakMap,$9=0;class p0{spec;generatedSchemas=new Set;constructor($){this.spec=$}convert($,J){try{if(J?.reusable||this.shouldBeReusable($))return this.convertToReusableSchema($,J?.name);return this.convertInline($)}catch(Q){return console.warn("Failed to convert Zod schema to JSON Schema:",Q),{type:"object"}}}convertInline($){let J=J6($,{target:"openApi3",$refStrategy:"none"});if(J&&typeof J==="object")delete J.$schema;return J}convertToReusableSchema($,J){let Q=e2.get($);if(Q&&this.generatedSchemas.has(Q))return{$ref:`#/components/schemas/${Q}`};let W=J||Q||this.generateSchemaName();e2.set($,W),this.generatedSchemas.add(W);let H=this.convertInline($);if(!this.spec.components)this.spec.components={schemas:{}};if(!this.spec.components.schemas)this.spec.components.schemas={};return this.spec.components.schemas[W]=H,{$ref:`#/components/schemas/${W}`}}shouldBeReusable($){let J=this.convertInline($);if(J.type==="object"&&J.properties)return Object.keys(J.properties).length>2;if(J.type==="array"&&J.items){let Q=J.items;if(Q.type==="object"&&Q.properties)return!0}if(J.anyOf||J.oneOf||J.allOf)return!0;return!1}generateSchemaName(){return`Schema${++$9}`}static resetCounter(){$9=0}}function Q6($,J){if(J)return new p0(J).convert($);try{let Q=J6($,{target:"openApi3",$refStrategy:"none"});if(Q&&typeof Q==="object")delete Q.$schema;return Q}catch(Q){return console.warn("Failed to convert Zod schema to JSON Schema:",Q),{type:"object"}}}class B1{metadata;options;converter;constructor($,J){this.metadata=$;this.options={title:J?.title||"Veloce-TS API",version:J?.version||"1.0.0",description:J?.description||"API built with Veloce-TS",path:J?.path||"/openapi.json",docsPath:J?.docsPath||"/docs",docs:J?.docs!==!1}}generate(){let $=this.metadata.getRoutes(),J={openapi:"3.0.0",info:{title:this.options.title,version:this.options.version,description:this.options.description},paths:{},components:{schemas:{}}};this.converter=new p0(J);for(let Q of $)this.addRouteToSpec(J,Q);return J}addRouteToSpec($,J){let Q=this.convertPathToOpenAPI(J.path),W=J.method.toLowerCase();if(W==="all"||W==="options")return;if(!$.paths[Q])$.paths[Q]={};let H={summary:J.docs?.summary,description:J.docs?.description,tags:J.docs?.tags||[],deprecated:J.docs?.deprecated||!1,parameters:this.extractParameters(J,$),responses:this.extractResponses(J,$)},X=this.extractRequestBody(J,$);if(X)H.requestBody=X;if(H.parameters.length===0)delete H.parameters;if(H.tags.length===0)delete H.tags;$.paths[Q][W]=H}extractParameters($,J){let Q=[];for(let W of $.parameters)if(W.type==="query"||W.type==="param"||W.type==="header"||W.type==="cookie"){let H=this.parameterToOpenAPI(W,$.path,J);if(H)Q.push(H)}return Q}extractRequestBody($,J){let Q=$.parameters.find((W)=>W.type==="body");if(!Q||!Q.schema)return null;return{required:Q.required,content:{"application/json":{schema:this.zodToOpenAPISchema(Q.schema,J)}}}}extractResponses($,J){let Q={};if($.responses&&$.responses.length>0)for(let W of $.responses)Q[W.statusCode.toString()]={description:W.description||this.getDefaultResponseDescription(W.statusCode),content:W.schema?{"application/json":{schema:this.zodToOpenAPISchema(W.schema,J)}}:void 0};else Q["200"]={description:"Successful response",content:{"application/json":{schema:{type:"object"}}}};if(!Q["422"])Q["422"]={description:"Validation error",content:{"application/json":{schema:{type:"object",properties:{error:{type:"string"},details:{type:"array",items:{type:"object",properties:{path:{type:"string"},message:{type:"string"},code:{type:"string"}}}}}}}}};return Q}convertPathToOpenAPI($){return $.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"{$1}")}parameterToOpenAPI($,J,Q){let W,H;switch($.type){case"query":W="query",H=$.name||"query";break;case"param":if(W="path",$.name)H=$.name;else{let q=J.match(/:([a-zA-Z_][a-zA-Z0-9_]*)/);H=q?q[1]:"id"}break;case"header":W="header",H=$.name||"X-Custom-Header";break;case"cookie":W="cookie",H=$.name||"session";break;default:return null}return{name:H,in:W,required:$.required||W==="path",schema:$.schema?this.zodToOpenAPISchema($.schema,Q):{type:"string"}}}zodToOpenAPISchema($,J){if(!this.converter)this.converter=new p0(J);return this.converter.convert($)}getDefaultResponseDescription($){return{200:"Successful response",201:"Created",204:"No content",400:"Bad request",401:"Unauthorized",403:"Forbidden",404:"Not found",422:"Validation error",500:"Internal server error"}[$]||"Response"}}var cH={};L0(cH,{WebSocketPlugin:()=>y1,OpenAPIPlugin:()=>W6,GraphQLPlugin:()=>A$});module.exports=M0(cH);class W6{name="openapi";version="1.0.0";options;constructor($){this.options={title:$?.title||"Veloce-TS API",version:$?.version||"1.0.0",description:$?.description||"API built with Veloce-TS",path:$?.path||"/openapi.json",docsPath:$?.docsPath||"/docs",docs:$?.docs!==!1}}async install($){let J=$.getConfig();if(J.title)this.options.title=J.title;if(J.version)this.options.version=J.version;if(J.description)this.options.description=J.description;$.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 J=$.getMetadata();return new B1(J,this.options).generate()}renderSwaggerUI(){return`<!DOCTYPE html>
42
+ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,X9="secret must be a string or buffer",e$="key must be a string or a buffer",Vj="key must be a string, a buffer or an object",V7=typeof h1.createPublicKey==="function";if(V7)e$+=" or a KeyObject",X9+="or a KeyObject";function FW($){if($4.isBuffer($))return;if(typeof $==="string")return;if(!V7)throw H0(e$);if(typeof $!=="object")throw H0(e$);if(typeof $.type!=="string")throw H0(e$);if(typeof $.asymmetricKeyType!=="string")throw H0(e$);if(typeof $.export!=="function")throw H0(e$)}function zW($){if($4.isBuffer($))return;if(typeof $==="string")return;if(typeof $==="object")return;throw H0(Vj)}function _j($){if($4.isBuffer($))return;if(typeof $==="string")return $;if(!V7)throw H0(X9);if(typeof $!=="object")throw H0(X9);if($.type!=="secret")throw H0(X9);if(typeof $.export!=="function")throw H0(X9)}function _7($){return $.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function NW($){$=$.toString();var H=4-$.length%4;if(H!==4)for(var J=0;J<H;++J)$+="=";return $.replace(/\-/g,"+").replace(/_/g,"/")}function H0($){var H=[].slice.call(arguments,1),J=VW.format.bind(VW,$).apply(null,H);return TypeError(J)}function Fj($){return $4.isBuffer($)||typeof $==="string"}function Y9($){if(!Fj($))$=JSON.stringify($);return $}function AW($){return function(J,Q){_j(Q),J=Y9(J);var X=h1.createHmac("sha"+$,Q),Y=(X.update(J),X.digest("base64"));return _7(Y)}}var D7,zj="timingSafeEqual"in h1?function(H,J){if(H.byteLength!==J.byteLength)return!1;return h1.timingSafeEqual(H,J)}:function(H,J){if(!D7)D7=DW();return D7(H,J)};function Nj($){return function(J,Q,X){var Y=AW($)(J,X);return zj($4.from(Q),$4.from(Y))}}function RW($){return function(J,Q){zW(Q),J=Y9(J);var X=h1.createSign("RSA-SHA"+$),Y=(X.update(J),X.sign(Q,"base64"));return _7(Y)}}function EW($){return function(J,Q,X){FW(X),J=Y9(J),Q=NW(Q);var Y=h1.createVerify("RSA-SHA"+$);return Y.update(J),Y.verify(X,Q,"base64")}}function Aj($){return function(J,Q){zW(Q),J=Y9(J);var X=h1.createSign("RSA-SHA"+$),Y=(X.update(J),X.sign({key:Q,padding:h1.constants.RSA_PKCS1_PSS_PADDING,saltLength:h1.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return _7(Y)}}function Rj($){return function(J,Q,X){FW(X),J=Y9(J),Q=NW(Q);var Y=h1.createVerify("RSA-SHA"+$);return Y.update(J),Y.verify({key:X,padding:h1.constants.RSA_PKCS1_PSS_PADDING,saltLength:h1.constants.RSA_PSS_SALTLEN_DIGEST},Q,"base64")}}function Ej($){var H=RW($);return function(){var Q=H.apply(null,arguments);return Q=_W.derToJose(Q,"ES"+$),Q}}function jj($){var H=EW($);return function(Q,X,Y){X=_W.joseToDer(X,"ES"+$).toString("base64");var W=H(Q,X,Y);return W}}function Oj(){return function(){return""}}function Zj(){return function(H,J){return J===""}}jW.exports=function(H){var J={hs:AW,rs:RW,ps:Aj,es:Ej,none:Oj},Q={hs:Nj,rs:EW,ps:Rj,es:jj,none:Zj},X=H.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/i);if(!X)throw H0(Dj,H);var Y=(X[1]||X[3]).toLowerCase(),W=X[2];return{sign:J[Y](W),verify:Q[Y](W)}}});var z7=N((yk,OW)=>{var Lj=require("buffer").Buffer;OW.exports=function(H){if(typeof H==="string")return H;if(typeof H==="number"||Lj.isBuffer(H))return H.toString();return JSON.stringify(H)}});var PW=N((uk,CW)=>{var Mj=t$().Buffer,ZW=U7(),Sj=F7(),Cj=require("stream"),LW=z7(),N7=require("util");function MW($,H){return Mj.from($,H).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function Pj($,H,J){J=J||"utf8";var Q=MW(LW($),"binary"),X=MW(LW(H),J);return N7.format("%s.%s",Q,X)}function SW($){var{header:H,payload:J}=$,Q=$.secret||$.privateKey,X=$.encoding,Y=Sj(H.alg),W=Pj(H,J,X),G=Y.sign(W,Q);return N7.format("%s.%s",W,G)}function p2($){var H=$.secret||$.privateKey||$.key,J=new ZW(H);this.readable=!0,this.header=$.header,this.encoding=$.encoding,this.secret=this.privateKey=this.key=J,this.payload=new ZW($.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))}N7.inherits(p2,Cj);p2.prototype.sign=function(){try{var H=SW({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")}};p2.sign=SW;CW.exports=p2});var gW=N((mk,vW)=>{var IW=t$().Buffer,KW=U7(),Kj=F7(),Ij=require("stream"),TW=z7(),Tj=require("util"),bj=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function fj($){return Object.prototype.toString.call($)==="[object Object]"}function xj($){if(fj($))return $;try{return JSON.parse($)}catch(H){return}}function bW($){var H=$.split(".",1)[0];return xj(IW.from(H,"base64").toString("binary"))}function kj($){return $.split(".",2).join(".")}function fW($){return $.split(".")[2]}function hj($,H){H=H||"utf8";var J=$.split(".")[1];return IW.from(J,"base64").toString(H)}function xW($){return bj.test($)&&!!bW($)}function kW($,H,J){if(!H){var Q=Error("Missing algorithm parameter for jws.verify");throw Q.code="MISSING_ALGORITHM",Q}$=TW($);var X=fW($),Y=kj($),W=Kj(H);return W.verify(Y,X,J)}function hW($,H){if(H=H||{},$=TW($),!xW($))return null;var J=bW($);if(!J)return null;var Q=hj($);if(J.typ==="JWT"||H.json)Q=JSON.parse(Q,H.encoding);return{header:J,payload:Q,signature:fW($)}}function H4($){$=$||{};var H=$.secret||$.publicKey||$.key,J=new KW(H);this.readable=!0,this.algorithm=$.algorithm,this.encoding=$.encoding,this.secret=this.publicKey=this.key=J,this.signature=new KW($.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))}Tj.inherits(H4,Ij);H4.prototype.verify=function(){try{var H=kW(this.signature.buffer,this.algorithm,this.key.buffer),J=hW(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")}};H4.decode=hW;H4.isValid=xW;H4.verify=kW;vW.exports=H4});var i2=N((v0)=>{var yW=PW(),n2=gW(),vj=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];v0.ALGORITHMS=vj;v0.sign=yW.sign;v0.verify=n2.verify;v0.decode=n2.decode;v0.isValid=n2.isValid;v0.createSign=function(H){return new yW(H)};v0.createVerify=function(H){return new n2(H)}});var A7=N((ck,uW)=>{var gj=i2();uW.exports=function($,H){H=H||{};var J=gj.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 W9=N((lk,mW)=>{var s2=function($,H){if(Error.call(this,$),Error.captureStackTrace)Error.captureStackTrace(this,this.constructor);if(this.name="JsonWebTokenError",this.message=$,H)this.inner=H};s2.prototype=Object.create(Error.prototype);s2.prototype.constructor=s2;mW.exports=s2});var R7=N((pk,cW)=>{var dW=W9(),o2=function($,H){dW.call(this,$),this.name="NotBeforeError",this.date=H};o2.prototype=Object.create(dW.prototype);o2.prototype.constructor=o2;cW.exports=o2});var E7=N((nk,pW)=>{var lW=W9(),r2=function($,H){lW.call(this,$),this.name="TokenExpiredError",this.expiredAt=H};r2.prototype=Object.create(lW.prototype);r2.prototype.constructor=r2;pW.exports=r2});var iW=N((ik,nW)=>{var J4=1000,Q4=J4*60,X4=Q4*60,D$=X4*24,yj=D$*7,uj=D$*365.25;nW.exports=function($,H){H=H||{};var J=typeof $;if(J==="string"&&$.length>0)return mj($);else if(J==="number"&&isFinite($))return H.long?cj($):dj($);throw Error("val is not a non-empty string or a valid number. val="+JSON.stringify($))};function mj($){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*uj;case"weeks":case"week":case"w":return J*yj;case"days":case"day":case"d":return J*D$;case"hours":case"hour":case"hrs":case"hr":case"h":return J*X4;case"minutes":case"minute":case"mins":case"min":case"m":return J*Q4;case"seconds":case"second":case"secs":case"sec":case"s":return J*J4;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return J;default:return}}function dj($){var H=Math.abs($);if(H>=D$)return Math.round($/D$)+"d";if(H>=X4)return Math.round($/X4)+"h";if(H>=Q4)return Math.round($/Q4)+"m";if(H>=J4)return Math.round($/J4)+"s";return $+"ms"}function cj($){var H=Math.abs($);if(H>=D$)return a2($,H,D$,"day");if(H>=X4)return a2($,H,X4,"hour");if(H>=Q4)return a2($,H,Q4,"minute");if(H>=J4)return a2($,H,J4,"second");return $+" ms"}function a2($,H,J,Q){var X=H>=J*1.5;return Math.round($/J)+" "+Q+(X?"s":"")}});var j7=N((sk,sW)=>{var lj=iW();sW.exports=function($,H){var J=H||Math.floor(Date.now()/1000);if(typeof $==="string"){var Q=lj($);if(typeof Q>"u")return;return Math.floor(J+Q/1000)}else if(typeof $==="number")return J+$;else return}});var G9=N((ok,oW)=>{var pj=Number.MAX_SAFE_INTEGER||9007199254740991,nj=["major","premajor","minor","preminor","patch","prepatch","prerelease"];oW.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:pj,RELEASE_TYPES:nj,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var q9=N((rk,rW)=>{var ij=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...$)=>console.error("SEMVER",...$):()=>{};rW.exports=ij});var Y4=N((_0,aW)=>{var{MAX_SAFE_COMPONENT_LENGTH:O7,MAX_SAFE_BUILD_LENGTH:sj,MAX_LENGTH:oj}=G9(),rj=q9();_0=aW.exports={};var aj=_0.re=[],tj=_0.safeRe=[],x=_0.src=[],ej=_0.safeSrc=[],k=_0.t={},$O=0,Z7="[a-zA-Z0-9-]",HO=[["\\s",1],["\\d",oj],[Z7,sj]],JO=($)=>{for(let[H,J]of HO)$=$.split(`${H}*`).join(`${H}{0,${J}}`).split(`${H}+`).join(`${H}{1,${J}}`);return $},r=($,H,J)=>{let Q=JO(H),X=$O++;rj($,X,H),k[$]=X,x[X]=H,ej[X]=Q,aj[X]=new RegExp(H,J?"g":void 0),tj[X]=new RegExp(Q,J?"g":void 0)};r("NUMERICIDENTIFIER","0|[1-9]\\d*");r("NUMERICIDENTIFIERLOOSE","\\d+");r("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Z7}*`);r("MAINVERSION",`(${x[k.NUMERICIDENTIFIER]})\\.(${x[k.NUMERICIDENTIFIER]})\\.(${x[k.NUMERICIDENTIFIER]})`);r("MAINVERSIONLOOSE",`(${x[k.NUMERICIDENTIFIERLOOSE]})\\.(${x[k.NUMERICIDENTIFIERLOOSE]})\\.(${x[k.NUMERICIDENTIFIERLOOSE]})`);r("PRERELEASEIDENTIFIER",`(?:${x[k.NONNUMERICIDENTIFIER]}|${x[k.NUMERICIDENTIFIER]})`);r("PRERELEASEIDENTIFIERLOOSE",`(?:${x[k.NONNUMERICIDENTIFIER]}|${x[k.NUMERICIDENTIFIERLOOSE]})`);r("PRERELEASE",`(?:-(${x[k.PRERELEASEIDENTIFIER]}(?:\\.${x[k.PRERELEASEIDENTIFIER]})*))`);r("PRERELEASELOOSE",`(?:-?(${x[k.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${x[k.PRERELEASEIDENTIFIERLOOSE]})*))`);r("BUILDIDENTIFIER",`${Z7}+`);r("BUILD",`(?:\\+(${x[k.BUILDIDENTIFIER]}(?:\\.${x[k.BUILDIDENTIFIER]})*))`);r("FULLPLAIN",`v?${x[k.MAINVERSION]}${x[k.PRERELEASE]}?${x[k.BUILD]}?`);r("FULL",`^${x[k.FULLPLAIN]}$`);r("LOOSEPLAIN",`[v=\\s]*${x[k.MAINVERSIONLOOSE]}${x[k.PRERELEASELOOSE]}?${x[k.BUILD]}?`);r("LOOSE",`^${x[k.LOOSEPLAIN]}$`);r("GTLT","((?:<|>)?=?)");r("XRANGEIDENTIFIERLOOSE",`${x[k.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);r("XRANGEIDENTIFIER",`${x[k.NUMERICIDENTIFIER]}|x|X|\\*`);r("XRANGEPLAIN",`[v=\\s]*(${x[k.XRANGEIDENTIFIER]})(?:\\.(${x[k.XRANGEIDENTIFIER]})(?:\\.(${x[k.XRANGEIDENTIFIER]})(?:${x[k.PRERELEASE]})?${x[k.BUILD]}?)?)?`);r("XRANGEPLAINLOOSE",`[v=\\s]*(${x[k.XRANGEIDENTIFIERLOOSE]})(?:\\.(${x[k.XRANGEIDENTIFIERLOOSE]})(?:\\.(${x[k.XRANGEIDENTIFIERLOOSE]})(?:${x[k.PRERELEASELOOSE]})?${x[k.BUILD]}?)?)?`);r("XRANGE",`^${x[k.GTLT]}\\s*${x[k.XRANGEPLAIN]}$`);r("XRANGELOOSE",`^${x[k.GTLT]}\\s*${x[k.XRANGEPLAINLOOSE]}$`);r("COERCEPLAIN",`(^|[^\\d])(\\d{1,${O7}})(?:\\.(\\d{1,${O7}}))?(?:\\.(\\d{1,${O7}}))?`);r("COERCE",`${x[k.COERCEPLAIN]}(?:$|[^\\d])`);r("COERCEFULL",x[k.COERCEPLAIN]+`(?:${x[k.PRERELEASE]})?(?:${x[k.BUILD]})?(?:$|[^\\d])`);r("COERCERTL",x[k.COERCE],!0);r("COERCERTLFULL",x[k.COERCEFULL],!0);r("LONETILDE","(?:~>?)");r("TILDETRIM",`(\\s*)${x[k.LONETILDE]}\\s+`,!0);_0.tildeTrimReplace="$1~";r("TILDE",`^${x[k.LONETILDE]}${x[k.XRANGEPLAIN]}$`);r("TILDELOOSE",`^${x[k.LONETILDE]}${x[k.XRANGEPLAINLOOSE]}$`);r("LONECARET","(?:\\^)");r("CARETTRIM",`(\\s*)${x[k.LONECARET]}\\s+`,!0);_0.caretTrimReplace="$1^";r("CARET",`^${x[k.LONECARET]}${x[k.XRANGEPLAIN]}$`);r("CARETLOOSE",`^${x[k.LONECARET]}${x[k.XRANGEPLAINLOOSE]}$`);r("COMPARATORLOOSE",`^${x[k.GTLT]}\\s*(${x[k.LOOSEPLAIN]})$|^$`);r("COMPARATOR",`^${x[k.GTLT]}\\s*(${x[k.FULLPLAIN]})$|^$`);r("COMPARATORTRIM",`(\\s*)${x[k.GTLT]}\\s*(${x[k.LOOSEPLAIN]}|${x[k.XRANGEPLAIN]})`,!0);_0.comparatorTrimReplace="$1$2$3";r("HYPHENRANGE",`^\\s*(${x[k.XRANGEPLAIN]})\\s+-\\s+(${x[k.XRANGEPLAIN]})\\s*$`);r("HYPHENRANGELOOSE",`^\\s*(${x[k.XRANGEPLAINLOOSE]})\\s+-\\s+(${x[k.XRANGEPLAINLOOSE]})\\s*$`);r("STAR","(<|>)?=?\\s*\\*");r("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");r("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var t2=N((ak,tW)=>{var QO=Object.freeze({loose:!0}),XO=Object.freeze({}),YO=($)=>{if(!$)return XO;if(typeof $!=="object")return QO;return $};tW.exports=YO});var L7=N((tk,HG)=>{var eW=/^[0-9]+$/,$G=($,H)=>{if(typeof $==="number"&&typeof H==="number")return $===H?0:$<H?-1:1;let J=eW.test($),Q=eW.test(H);if(J&&Q)$=+$,H=+H;return $===H?0:J&&!Q?-1:Q&&!J?1:$<H?-1:1},WO=($,H)=>$G(H,$);HG.exports={compareIdentifiers:$G,rcompareIdentifiers:WO}});var C1=N((ek,QG)=>{var e2=q9(),{MAX_LENGTH:JG,MAX_SAFE_INTEGER:$8}=G9(),{safeRe:H8,t:J8}=Y4(),GO=t2(),{compareIdentifiers:M7}=L7();class J0{constructor($,H){if(H=GO(H),$ instanceof J0)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>JG)throw TypeError(`version is longer than ${JG} characters`);e2("SemVer",$,H),this.options=H,this.loose=!!H.loose,this.includePrerelease=!!H.includePrerelease;let J=$.trim().match(H.loose?H8[J8.LOOSE]:H8[J8.FULL]);if(!J)throw TypeError(`Invalid Version: ${$}`);if(this.raw=$,this.major=+J[1],this.minor=+J[2],this.patch=+J[3],this.major>$8||this.major<0)throw TypeError("Invalid major version");if(this.minor>$8||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>$8||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<$8)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(e2("SemVer.compare",this.version,this.options,$),!($ instanceof J0)){if(typeof $==="string"&&$===this.version)return 0;$=new J0($,this.options)}if($.version===this.version)return 0;return this.compareMain($)||this.comparePre($)}compareMain($){if(!($ instanceof J0))$=new J0($,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 J0))$=new J0($,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(e2("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 M7(J,Q)}while(++H)}compareBuild($){if(!($ instanceof J0))$=new J0($,this.options);let H=0;do{let J=this.build[H],Q=$.build[H];if(e2("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 M7(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?H8[J8.PRERELEASELOOSE]:H8[J8.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(M7(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}}QG.exports=J0});var V$=N(($h,YG)=>{var XG=C1(),qO=($,H,J=!1)=>{if($ instanceof XG)return $;try{return new XG($,H)}catch(Q){if(!J)return null;throw Q}};YG.exports=qO});var GG=N((Hh,WG)=>{var UO=V$(),BO=($,H)=>{let J=UO($,H);return J?J.version:null};WG.exports=BO});var UG=N((Jh,qG)=>{var wO=V$(),DO=($,H)=>{let J=wO($.trim().replace(/^[=v]+/,""),H);return J?J.version:null};qG.exports=DO});var DG=N((Qh,wG)=>{var BG=C1(),VO=($,H,J,Q,X)=>{if(typeof J==="string")X=Q,Q=J,J=void 0;try{return new BG($ instanceof BG?$.version:$,J).inc(H,Q,X).version}catch(Y){return null}};wG.exports=VO});var FG=N((Xh,_G)=>{var VG=V$(),_O=($,H)=>{let J=VG($,null,!0),Q=VG(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"};_G.exports=_O});var NG=N((Yh,zG)=>{var FO=C1(),zO=($,H)=>new FO($,H).major;zG.exports=zO});var RG=N((Wh,AG)=>{var NO=C1(),AO=($,H)=>new NO($,H).minor;AG.exports=AO});var jG=N((Gh,EG)=>{var RO=C1(),EO=($,H)=>new RO($,H).patch;EG.exports=EO});var ZG=N((qh,OG)=>{var jO=V$(),OO=($,H)=>{let J=jO($,H);return J&&J.prerelease.length?J.prerelease:null};OG.exports=OO});var v1=N((Uh,MG)=>{var LG=C1(),ZO=($,H,J)=>new LG($,J).compare(new LG(H,J));MG.exports=ZO});var CG=N((Bh,SG)=>{var LO=v1(),MO=($,H,J)=>LO(H,$,J);SG.exports=MO});var KG=N((wh,PG)=>{var SO=v1(),CO=($,H)=>SO($,H,!0);PG.exports=CO});var Q8=N((Dh,TG)=>{var IG=C1(),PO=($,H,J)=>{let Q=new IG($,J),X=new IG(H,J);return Q.compare(X)||Q.compareBuild(X)};TG.exports=PO});var fG=N((Vh,bG)=>{var KO=Q8(),IO=($,H)=>$.sort((J,Q)=>KO(J,Q,H));bG.exports=IO});var kG=N((_h,xG)=>{var TO=Q8(),bO=($,H)=>$.sort((J,Q)=>TO(Q,J,H));xG.exports=bO});var U9=N((Fh,hG)=>{var fO=v1(),xO=($,H,J)=>fO($,H,J)>0;hG.exports=xO});var X8=N((zh,vG)=>{var kO=v1(),hO=($,H,J)=>kO($,H,J)<0;vG.exports=hO});var S7=N((Nh,gG)=>{var vO=v1(),gO=($,H,J)=>vO($,H,J)===0;gG.exports=gO});var C7=N((Ah,yG)=>{var yO=v1(),uO=($,H,J)=>yO($,H,J)!==0;yG.exports=uO});var Y8=N((Rh,uG)=>{var mO=v1(),dO=($,H,J)=>mO($,H,J)>=0;uG.exports=dO});var W8=N((Eh,mG)=>{var cO=v1(),lO=($,H,J)=>cO($,H,J)<=0;mG.exports=lO});var P7=N((jh,dG)=>{var pO=S7(),nO=C7(),iO=U9(),sO=Y8(),oO=X8(),rO=W8(),aO=($,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 pO($,J,Q);case"!=":return nO($,J,Q);case">":return iO($,J,Q);case">=":return sO($,J,Q);case"<":return oO($,J,Q);case"<=":return rO($,J,Q);default:throw TypeError(`Invalid operator: ${H}`)}};dG.exports=aO});var lG=N((Oh,cG)=>{var tO=C1(),eO=V$(),{safeRe:G8,t:q8}=Y4(),$Z=($,H)=>{if($ instanceof tO)return $;if(typeof $==="number")$=String($);if(typeof $!=="string")return null;H=H||{};let J=null;if(!H.rtl)J=$.match(H.includePrerelease?G8[q8.COERCEFULL]:G8[q8.COERCE]);else{let q=H.includePrerelease?G8[q8.COERCERTLFULL]:G8[q8.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 eO(`${Q}.${X}.${Y}${W}${G}`,H)};cG.exports=$Z});var iG=N((Zh,nG)=>{class pG{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}}nG.exports=pG});var g1=N((Lh,aG)=>{var HZ=/\s+/g;class B9{constructor($,H){if(H=QZ(H),$ instanceof B9)if($.loose===!!H.loose&&$.includePrerelease===!!H.includePrerelease)return $;else return new B9($.raw,H);if($ instanceof K7)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(HZ," "),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)=>!oG(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&&BZ(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&&qZ)|(this.options.loose&&UZ))+":"+$,Q=sG.get(J);if(Q)return Q;let X=this.options.loose,Y=X?I1[P1.HYPHENRANGELOOSE]:I1[P1.HYPHENRANGE];$=$.replace(Y,EZ(this.options.includePrerelease)),B1("hyphen replace",$),$=$.replace(I1[P1.COMPARATORTRIM],YZ),B1("comparator trim",$),$=$.replace(I1[P1.TILDETRIM],WZ),B1("tilde trim",$),$=$.replace(I1[P1.CARETTRIM],GZ),B1("caret trim",$);let W=$.split(" ").map((B)=>wZ(B,this.options)).join(" ").split(/\s+/).map((B)=>RZ(B,this.options));if(X)W=W.filter((B)=>{return B1("loose invalid filter",B,this.options),!!B.match(I1[P1.COMPARATORLOOSE])});B1("range list",W);let G=new Map,q=W.map((B)=>new K7(B,this.options));for(let B of q){if(oG(B))return[B];G.set(B.value,B)}if(G.size>1&&G.has(""))G.delete("");let U=[...G.values()];return sG.set(J,U),U}intersects($,H){if(!($ instanceof B9))throw TypeError("a Range is required");return this.set.some((J)=>{return rG(J,H)&&$.set.some((Q)=>{return rG(Q,H)&&J.every((X)=>{return Q.every((Y)=>{return X.intersects(Y,H)})})})})}test($){if(!$)return!1;if(typeof $==="string")try{$=new XZ($,this.options)}catch(H){return!1}for(let H=0;H<this.set.length;H++)if(jZ(this.set[H],$,this.options))return!0;return!1}}aG.exports=B9;var JZ=iG(),sG=new JZ,QZ=t2(),K7=w9(),B1=q9(),XZ=C1(),{safeRe:I1,t:P1,comparatorTrimReplace:YZ,tildeTrimReplace:WZ,caretTrimReplace:GZ}=Y4(),{FLAG_INCLUDE_PRERELEASE:qZ,FLAG_LOOSE:UZ}=G9(),oG=($)=>$.value==="<0.0.0-0",BZ=($)=>$.value==="",rG=($,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},wZ=($,H)=>{return $=$.replace(I1[P1.BUILD],""),B1("comp",$,H),$=_Z($,H),B1("caret",$),$=DZ($,H),B1("tildes",$),$=zZ($,H),B1("xrange",$),$=AZ($,H),B1("stars",$),$},T1=($)=>!$||$.toLowerCase()==="x"||$==="*",DZ=($,H)=>{return $.trim().split(/\s+/).map((J)=>VZ(J,H)).join(" ")},VZ=($,H)=>{let J=H.loose?I1[P1.TILDELOOSE]:I1[P1.TILDE];return $.replace(J,(Q,X,Y,W,G)=>{B1("tilde",$,Q,X,Y,W,G);let q;if(T1(X))q="";else if(T1(Y))q=`>=${X}.0.0 <${+X+1}.0.0-0`;else if(T1(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})},_Z=($,H)=>{return $.trim().split(/\s+/).map((J)=>FZ(J,H)).join(" ")},FZ=($,H)=>{B1("caret",$,H);let J=H.loose?I1[P1.CARETLOOSE]:I1[P1.CARET],Q=H.includePrerelease?"-0":"";return $.replace(J,(X,Y,W,G,q)=>{B1("caret",$,X,Y,W,G,q);let U;if(T1(Y))U="";else if(T1(W))U=`>=${Y}.0.0${Q} <${+Y+1}.0.0-0`;else if(T1(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})},zZ=($,H)=>{return B1("replaceXRanges",$,H),$.split(/\s+/).map((J)=>NZ(J,H)).join(" ")},NZ=($,H)=>{$=$.trim();let J=H.loose?I1[P1.XRANGELOOSE]:I1[P1.XRANGE];return $.replace(J,(Q,X,Y,W,G,q)=>{B1("xRange",$,Q,X,Y,W,G,q);let U=T1(Y),B=U||T1(W),w=B||T1(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})},AZ=($,H)=>{return B1("replaceStars",$,H),$.trim().replace(I1[P1.STAR],"")},RZ=($,H)=>{return B1("replaceGTE0",$,H),$.trim().replace(I1[H.includePrerelease?P1.GTE0PRE:P1.GTE0],"")},EZ=($)=>(H,J,Q,X,Y,W,G,q,U,B,w,_)=>{if(T1(Q))J="";else if(T1(X))J=`>=${Q}.0.0${$?"-0":""}`;else if(T1(Y))J=`>=${Q}.${X}.0${$?"-0":""}`;else if(W)J=`>=${J}`;else J=`>=${J}${$?"-0":""}`;if(T1(U))q="";else if(T1(B))q=`<${+U+1}.0.0-0`;else if(T1(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()},jZ=($,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===K7.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 w9=N((Mh,Qq)=>{var D9=Symbol("SemVer ANY");class U8{static get ANY(){return D9}constructor($,H){if(H=tG(H),$ instanceof U8)if($.loose===!!H.loose)return $;else $=$.value;if($=$.trim().split(/\s+/).join(" "),T7("comparator",$,H),this.options=H,this.loose=!!H.loose,this.parse($),this.semver===D9)this.value="";else this.value=this.operator+this.semver.version;T7("comp",this)}parse($){let H=this.options.loose?eG[$q.COMPARATORLOOSE]:eG[$q.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=D9;else this.semver=new Hq(J[2],this.options.loose)}toString(){return this.value}test($){if(T7("Comparator.test",$,this.options.loose),this.semver===D9||$===D9)return!0;if(typeof $==="string")try{$=new Hq($,this.options)}catch(H){return!1}return I7($,this.operator,this.semver,this.options)}intersects($,H){if(!($ instanceof U8))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new Jq($.value,H).test(this.value)}else if($.operator===""){if($.value==="")return!0;return new Jq(this.value,H).test($.semver)}if(H=tG(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(I7(this.semver,"<",$.semver,H)&&this.operator.startsWith(">")&&$.operator.startsWith("<"))return!0;if(I7(this.semver,">",$.semver,H)&&this.operator.startsWith("<")&&$.operator.startsWith(">"))return!0;return!1}}Qq.exports=U8;var tG=t2(),{safeRe:eG,t:$q}=Y4(),I7=P7(),T7=q9(),Hq=C1(),Jq=g1()});var V9=N((Sh,Xq)=>{var OZ=g1(),ZZ=($,H,J)=>{try{H=new OZ(H,J)}catch(Q){return!1}return H.test($)};Xq.exports=ZZ});var Wq=N((Ch,Yq)=>{var LZ=g1(),MZ=($,H)=>new LZ($,H).set.map((J)=>J.map((Q)=>Q.value).join(" ").trim().split(" "));Yq.exports=MZ});var qq=N((Ph,Gq)=>{var SZ=C1(),CZ=g1(),PZ=($,H,J)=>{let Q=null,X=null,Y=null;try{Y=new CZ(H,J)}catch(W){return null}return $.forEach((W)=>{if(Y.test(W)){if(!Q||X.compare(W)===-1)Q=W,X=new SZ(Q,J)}}),Q};Gq.exports=PZ});var Bq=N((Kh,Uq)=>{var KZ=C1(),IZ=g1(),TZ=($,H,J)=>{let Q=null,X=null,Y=null;try{Y=new IZ(H,J)}catch(W){return null}return $.forEach((W)=>{if(Y.test(W)){if(!Q||X.compare(W)===1)Q=W,X=new KZ(Q,J)}}),Q};Uq.exports=TZ});var Vq=N((Ih,Dq)=>{var b7=C1(),bZ=g1(),wq=U9(),fZ=($,H)=>{$=new bZ($,H);let J=new b7("0.0.0");if($.test(J))return J;if(J=new b7("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 b7(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||wq(G,Y))Y=G;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${W.operator}`)}}),Y&&(!J||wq(J,Y)))J=Y}if(J&&$.test(J))return J;return null};Dq.exports=fZ});var Fq=N((Th,_q)=>{var xZ=g1(),kZ=($,H)=>{try{return new xZ($,H).range||"*"}catch(J){return null}};_q.exports=kZ});var B8=N((bh,Rq)=>{var hZ=C1(),Aq=w9(),{ANY:vZ}=Aq,gZ=g1(),yZ=V9(),zq=U9(),Nq=X8(),uZ=W8(),mZ=Y8(),dZ=($,H,J,Q)=>{$=new hZ($,Q),H=new gZ(H,Q);let X,Y,W,G,q;switch(J){case">":X=zq,Y=uZ,W=Nq,G=">",q=">=";break;case"<":X=Nq,Y=mZ,W=zq,G="<",q="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(yZ($,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 Aq(">=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};Rq.exports=dZ});var jq=N((fh,Eq)=>{var cZ=B8(),lZ=($,H,J)=>cZ($,H,">",J);Eq.exports=lZ});var Zq=N((xh,Oq)=>{var pZ=B8(),nZ=($,H,J)=>pZ($,H,"<",J);Oq.exports=nZ});var Sq=N((kh,Mq)=>{var Lq=g1(),iZ=($,H,J)=>{return $=new Lq($,J),H=new Lq(H,J),$.intersects(H,J)};Mq.exports=iZ});var Pq=N((hh,Cq)=>{var sZ=V9(),oZ=v1();Cq.exports=($,H,J)=>{let Q=[],X=null,Y=null,W=$.sort((B,w)=>oZ(B,w,J));for(let B of W)if(sZ(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 xq=N((vh,fq)=>{var Kq=g1(),x7=w9(),{ANY:f7}=x7,_9=V9(),k7=v1(),rZ=($,H,J={})=>{if($===H)return!0;$=new Kq($,J),H=new Kq(H,J);let Q=!1;$:for(let X of $.set){for(let Y of H.set){let W=tZ(X,Y,J);if(Q=Q||W!==null,W)continue $}if(Q)return!1}return!0},aZ=[new x7(">=0.0.0-0")],Iq=[new x7(">=0.0.0")],tZ=($,H,J)=>{if($===H)return!0;if($.length===1&&$[0].semver===f7)if(H.length===1&&H[0].semver===f7)return!0;else if(J.includePrerelease)$=aZ;else $=Iq;if(H.length===1&&H[0].semver===f7)if(J.includePrerelease)return!0;else H=Iq;let Q=new Set,X,Y;for(let V of $)if(V.operator===">"||V.operator===">=")X=Tq(X,V,J);else if(V.operator==="<"||V.operator==="<=")Y=bq(Y,V,J);else Q.add(V.semver);if(Q.size>1)return null;let W;if(X&&Y){if(W=k7(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&&!_9(V,String(X),J))return null;if(Y&&!_9(V,String(Y),J))return null;for(let D of H)if(!_9(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=Tq(X,V,J),G===V&&G!==X)return!1}else if(X.operator===">="&&!_9(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=bq(Y,V,J),q===V&&q!==Y)return!1}else if(Y.operator==="<="&&!_9(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},Tq=($,H,J)=>{if(!$)return H;let Q=k7($.semver,H.semver,J);return Q>0?$:Q<0?H:H.operator===">"&&$.operator===">="?H:$},bq=($,H,J)=>{if(!$)return H;let Q=k7($.semver,H.semver,J);return Q<0?$:Q>0?H:H.operator==="<"&&$.operator==="<="?H:$};fq.exports=rZ});var w8=N((gh,vq)=>{var h7=Y4(),kq=G9(),eZ=C1(),hq=L7(),$L=V$(),HL=GG(),JL=UG(),QL=DG(),XL=FG(),YL=NG(),WL=RG(),GL=jG(),qL=ZG(),UL=v1(),BL=CG(),wL=KG(),DL=Q8(),VL=fG(),_L=kG(),FL=U9(),zL=X8(),NL=S7(),AL=C7(),RL=Y8(),EL=W8(),jL=P7(),OL=lG(),ZL=w9(),LL=g1(),ML=V9(),SL=Wq(),CL=qq(),PL=Bq(),KL=Vq(),IL=Fq(),TL=B8(),bL=jq(),fL=Zq(),xL=Sq(),kL=Pq(),hL=xq();vq.exports={parse:$L,valid:HL,clean:JL,inc:QL,diff:XL,major:YL,minor:WL,patch:GL,prerelease:qL,compare:UL,rcompare:BL,compareLoose:wL,compareBuild:DL,sort:VL,rsort:_L,gt:FL,lt:zL,eq:NL,neq:AL,gte:RL,lte:EL,cmp:jL,coerce:OL,Comparator:ZL,Range:LL,satisfies:ML,toComparators:SL,maxSatisfying:CL,minSatisfying:PL,minVersion:KL,validRange:IL,outside:TL,gtr:bL,ltr:fL,intersects:xL,simplifyRange:kL,subset:hL,SemVer:eZ,re:h7.re,src:h7.src,tokens:h7.t,SEMVER_SPEC_VERSION:kq.SEMVER_SPEC_VERSION,RELEASE_TYPES:kq.RELEASE_TYPES,compareIdentifiers:hq.compareIdentifiers,rcompareIdentifiers:hq.rcompareIdentifiers}});var yq=N((yh,gq)=>{var vL=w8();gq.exports=vL.satisfies(process.version,">=15.7.0")});var mq=N((uh,uq)=>{var gL=w8();uq.exports=gL.satisfies(process.version,">=16.9.0")});var v7=N((mh,dq)=>{var yL=yq(),uL=mq(),mL={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},dL={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};dq.exports=function($,H){if(!$||!H)return;let J=H.asymmetricKeyType;if(!J)return;let Q=mL[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(yL)switch(J){case"ec":let X=H.asymmetricKeyDetails.namedCurve,Y=dL[$];if(X!==Y)throw Error(`"alg" parameter "${$}" requires curve "${Y}".`);break;case"rsa-pss":if(uL){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 g7=N((dh,cq)=>{var cL=w8();cq.exports=cL.satisfies(process.version,"^6.12.0 || >=8.0.0")});var nq=N((ch,pq)=>{var q1=W9(),lL=R7(),lq=E7(),pL=A7(),nL=j7(),iL=v7(),sL=g7(),oL=i2(),{KeyObject:rL,createSecretKey:aL,createPublicKey:tL}=require("crypto"),y7=["RS256","RS384","RS512"],eL=["ES256","ES384","ES512"],u7=["RS256","RS384","RS512"],$M=["HS256","HS384","HS512"];if(sL)y7.splice(y7.length,0,"PS256","PS384","PS512"),u7.splice(u7.length,0,"PS256","PS384","PS512");pq.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=pL($,{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 rL))try{w=tL(w)}catch(A){try{w=aL(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=$M;else if(["rsa","rsa-pss"].includes(w.asymmetricKeyType))J.algorithms=u7;else if(w.asymmetricKeyType==="ec")J.algorithms=eL;else J.algorithms=y7;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{iL(q.alg,w)}catch(A){return X(A)}let V;try{V=oL.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 lL("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 lq("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=nL(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 lq("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 tq=N((lh,aq)=>{var iq=1/0,oq=9007199254740991,HM=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,sq=NaN,JM="[object Arguments]",QM="[object Function]",XM="[object GeneratorFunction]",YM="[object String]",WM="[object Symbol]",GM=/^\s+|\s+$/g,qM=/^[-+]0x[0-9a-f]+$/i,UM=/^0b[01]+$/i,BM=/^0o[0-7]+$/i,wM=/^(?:0|[1-9]\d*)$/,DM=parseInt;function VM($,H){var J=-1,Q=$?$.length:0,X=Array(Q);while(++J<Q)X[J]=H($[J],J,$);return X}function _M($,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 FM($,H,J){if(H!==H)return _M($,zM,J);var Q=J-1,X=$.length;while(++Q<X)if($[Q]===H)return Q;return-1}function zM($){return $!==$}function NM($,H){var J=-1,Q=Array($);while(++J<$)Q[J]=H(J);return Q}function AM($,H){return VM(H,function(J){return $[J]})}function RM($,H){return function(J){return $(H(J))}}var D8=Object.prototype,d7=D8.hasOwnProperty,V8=D8.toString,EM=D8.propertyIsEnumerable,jM=RM(Object.keys,Object),OM=Math.max;function ZM($,H){var J=rq($)||PM($)?NM($.length,String):[],Q=J.length,X=!!Q;for(var Y in $)if((H||d7.call($,Y))&&!(X&&(Y=="length"||MM(Y,Q))))J.push(Y);return J}function LM($){if(!SM($))return jM($);var H=[];for(var J in Object($))if(d7.call($,J)&&J!="constructor")H.push(J);return H}function MM($,H){return H=H==null?oq:H,!!H&&(typeof $=="number"||wM.test($))&&($>-1&&$%1==0&&$<H)}function SM($){var H=$&&$.constructor,J=typeof H=="function"&&H.prototype||D8;return $===J}function CM($,H,J,Q){$=c7($)?$:gM($),J=J&&!Q?kM(J):0;var X=$.length;if(J<0)J=OM(X+J,0);return bM($)?J<=X&&$.indexOf(H,J)>-1:!!X&&FM($,H,J)>-1}function PM($){return KM($)&&d7.call($,"callee")&&(!EM.call($,"callee")||V8.call($)==JM)}var rq=Array.isArray;function c7($){return $!=null&&TM($.length)&&!IM($)}function KM($){return l7($)&&c7($)}function IM($){var H=m7($)?V8.call($):"";return H==QM||H==XM}function TM($){return typeof $=="number"&&$>-1&&$%1==0&&$<=oq}function m7($){var H=typeof $;return!!$&&(H=="object"||H=="function")}function l7($){return!!$&&typeof $=="object"}function bM($){return typeof $=="string"||!rq($)&&l7($)&&V8.call($)==YM}function fM($){return typeof $=="symbol"||l7($)&&V8.call($)==WM}function xM($){if(!$)return $===0?$:0;if($=hM($),$===iq||$===-iq){var H=$<0?-1:1;return H*HM}return $===$?$:0}function kM($){var H=xM($),J=H%1;return H===H?J?H-J:H:0}function hM($){if(typeof $=="number")return $;if(fM($))return sq;if(m7($)){var H=typeof $.valueOf=="function"?$.valueOf():$;$=m7(H)?H+"":H}if(typeof $!="string")return $===0?$:+$;$=$.replace(GM,"");var J=UM.test($);return J||BM.test($)?DM($.slice(2),J?2:8):qM.test($)?sq:+$}function vM($){return c7($)?ZM($):LM($)}function gM($){return $?AM($,vM($)):[]}aq.exports=CM});var $U=N((ph,eq)=>{var yM="[object Boolean]",uM=Object.prototype,mM=uM.toString;function dM($){return $===!0||$===!1||cM($)&&mM.call($)==yM}function cM($){return!!$&&typeof $=="object"}eq.exports=dM});var YU=N((nh,XU)=>{var HU=1/0,lM=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,JU=NaN,pM="[object Symbol]",nM=/^\s+|\s+$/g,iM=/^[-+]0x[0-9a-f]+$/i,sM=/^0b[01]+$/i,oM=/^0o[0-7]+$/i,rM=parseInt,aM=Object.prototype,tM=aM.toString;function eM($){return typeof $=="number"&&$==QS($)}function QU($){var H=typeof $;return!!$&&(H=="object"||H=="function")}function $S($){return!!$&&typeof $=="object"}function HS($){return typeof $=="symbol"||$S($)&&tM.call($)==pM}function JS($){if(!$)return $===0?$:0;if($=XS($),$===HU||$===-HU){var H=$<0?-1:1;return H*lM}return $===$?$:0}function QS($){var H=JS($),J=H%1;return H===H?J?H-J:H:0}function XS($){if(typeof $=="number")return $;if(HS($))return JU;if(QU($)){var H=typeof $.valueOf=="function"?$.valueOf():$;$=QU(H)?H+"":H}if(typeof $!="string")return $===0?$:+$;$=$.replace(nM,"");var J=sM.test($);return J||oM.test($)?rM($.slice(2),J?2:8):iM.test($)?JU:+$}XU.exports=eM});var GU=N((ih,WU)=>{var YS="[object Number]",WS=Object.prototype,GS=WS.toString;function qS($){return!!$&&typeof $=="object"}function US($){return typeof $=="number"||qS($)&&GS.call($)==YS}WU.exports=US});var wU=N((sh,BU)=>{var BS="[object Object]";function wS($){var H=!1;if($!=null&&typeof $.toString!="function")try{H=!!($+"")}catch(J){}return H}function DS($,H){return function(J){return $(H(J))}}var VS=Function.prototype,qU=Object.prototype,UU=VS.toString,_S=qU.hasOwnProperty,FS=UU.call(Object),zS=qU.toString,NS=DS(Object.getPrototypeOf,Object);function AS($){return!!$&&typeof $=="object"}function RS($){if(!AS($)||zS.call($)!=BS||wS($))return!1;var H=NS($);if(H===null)return!0;var J=_S.call(H,"constructor")&&H.constructor;return typeof J=="function"&&J instanceof J&&UU.call(J)==FS}BU.exports=RS});var VU=N((oh,DU)=>{var ES="[object String]",jS=Object.prototype,OS=jS.toString,ZS=Array.isArray;function LS($){return!!$&&typeof $=="object"}function MS($){return typeof $=="string"||!ZS($)&&LS($)&&OS.call($)==ES}DU.exports=MS});var AU=N((rh,NU)=>{var SS="Expected a function",_U=1/0,CS=179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,FU=NaN,PS="[object Symbol]",KS=/^\s+|\s+$/g,IS=/^[-+]0x[0-9a-f]+$/i,TS=/^0b[01]+$/i,bS=/^0o[0-7]+$/i,fS=parseInt,xS=Object.prototype,kS=xS.toString;function hS($,H){var J;if(typeof H!="function")throw TypeError(SS);return $=mS($),function(){if(--$>0)J=H.apply(this,arguments);if($<=1)H=void 0;return J}}function vS($){return hS(2,$)}function zU($){var H=typeof $;return!!$&&(H=="object"||H=="function")}function gS($){return!!$&&typeof $=="object"}function yS($){return typeof $=="symbol"||gS($)&&kS.call($)==PS}function uS($){if(!$)return $===0?$:0;if($=dS($),$===_U||$===-_U){var H=$<0?-1:1;return H*CS}return $===$?$:0}function mS($){var H=uS($),J=H%1;return H===H?J?H-J:H:0}function dS($){if(typeof $=="number")return $;if(yS($))return FU;if(zU($)){var H=typeof $.valueOf=="function"?$.valueOf():$;$=zU(H)?H+"":H}if(typeof $!="string")return $===0?$:+$;$=$.replace(KS,"");var J=TS.test($);return J||bS.test($)?fS($.slice(2),J?2:8):IS.test($)?FU:+$}NU.exports=vS});var CU=N((ah,SU)=>{var RU=j7(),cS=g7(),lS=v7(),EU=i2(),pS=tq(),_8=$U(),jU=YU(),p7=GU(),ZU=wU(),g0=VU(),nS=AU(),{KeyObject:iS,createSecretKey:sS,createPrivateKey:oS}=require("crypto"),LU=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];if(cS)LU.splice(3,0,"PS256","PS384","PS512");var rS={expiresIn:{isValid:function($){return jU($)||g0($)&&$},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function($){return jU($)||g0($)&&$},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function($){return g0($)||Array.isArray($)},message:'"audience" must be a string or array'},algorithm:{isValid:pS.bind(null,LU),message:'"algorithm" must be a valid string enum value'},header:{isValid:ZU,message:'"header" must be an object'},encoding:{isValid:g0,message:'"encoding" must be a string'},issuer:{isValid:g0,message:'"issuer" must be a string'},subject:{isValid:g0,message:'"subject" must be a string'},jwtid:{isValid:g0,message:'"jwtid" must be a string'},noTimestamp:{isValid:_8,message:'"noTimestamp" must be a boolean'},keyid:{isValid:g0,message:'"keyid" must be a string'},mutatePayload:{isValid:_8,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:_8,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:_8,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},aS={iat:{isValid:p7,message:'"iat" should be a number of seconds'},exp:{isValid:p7,message:'"exp" should be a number of seconds'},nbf:{isValid:p7,message:'"nbf" should be a number of seconds'}};function MU($,H,J,Q){if(!ZU(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 tS($){return MU(rS,!1,$,"options")}function eS($){return MU(aS,!0,$,"payload")}var OU={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},$C=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];SU.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 iS))try{H=oS(H)}catch(U){try{H=sS(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{eS($)}catch(U){return W(U)}if(!J.mutatePayload)$=Object.assign({},$)}else{let U=$C.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{tS(J)}catch(U){return W(U)}if(!J.allowInvalidAsymmetricKeyTypes)try{lS(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=RU(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=RU(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(OU).forEach(function(U){let B=OU[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&&nS(Q),EU.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=EU.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 KU=N((th,PU)=>{PU.exports={decode:A7(),verify:nq(),sign:CU(),JsonWebTokenError:W9(),NotBeforeError:R7(),TokenExpiredError:E7()}});var GB={};L1(GB,{setGlobalTransactionManager:()=>m1,getGlobalTransactionManager:()=>M0,InMemoryTransactionManager:()=>F$,BaseTransactionManager:()=>Q0});class Q0{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 m1($){N8=$}function M0(){if(!N8)N8=new F$;return N8}var F$,N8=null;var d1=Z9(()=>{F$=class F$ extends Q0{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)}}});var tA={};L1(tA,{createSimpleRequestIdMiddleware:()=>G5,createRequestContextMiddleware:()=>W5,createRateLimitMiddleware:()=>N4,createCorsMiddleware:()=>z4,createCompressionMiddleware:()=>A4,createCacheMiddleware:()=>F5,createCacheInvalidationMiddleware:()=>z5});module.exports=l1(tA);function z4($){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 N4($){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 A4($){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),b=0;for(let v of Z)L.set(v,b),b+=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),b=0;for(let v of Z)L.set(v,b),b+=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 Q5,GX;function sA(){if(!Q5)Q5=jJ(),GX=WX();return{pino:Q5,pinoPretty:GX}}class qX{logger;constructor($){let{pino:H}=sA(),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 X5(this.logger.child($))}}class X5{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 X5(this.logger.child($))}}function Y5($){return new qX($)}var T4=null;function oA($){return T4=Y5($),T4}function I0(){if(!T4)T4=Y5({pretty:!0,level:"debug"});return T4}function o0($){return I0().child($)}function rA(){return async($,H)=>{let J=o0({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 aA(){return async($,H)=>{try{await H()}catch(J){throw o0({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 W5($={}){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=R4(Y,{requestId:G,timeout:H}),U=J?I0().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=E4(Y);U.info("Request completed",{status:Y.res.status,duration:`${B}ms`})}}catch(B){if(U){let w=E4(Y);U.error("Request failed",B,{duration:`${w}ms`})}throw B}finally{j4(Y)}}}function G5(){return async($,H)=>{let J=$.req.header("x-request-id")||R4($).requestId;$.header("x-request-id",J);try{await H()}finally{j4($)}}}f4();function F5($){let{ttl:H,key:J,prefix:Q,includeQuery:X=!1,varyByHeaders:Y,condition:W,store:G,onlySuccess:q=!0}=$,U=r0(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=f1.generateKey(_,V,D,A,{key:J,prefix:Q,includeQuery:X})+E,M=G||f1.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 b=B.res;if(q&&b.status>=300)return;try{let l=await b.clone().json();if(W&&!W(l))return;await M.set(Z,l,U)}catch{}}}function z5($,H){let J=Array.isArray($)?$:[$];return async(Q,X)=>{await X();let Y=H||f1.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 NE={};L1(NE,{zodToJsonSchema:()=>V2,ZodToJsonSchemaConverter:()=>O0,OpenAPIGenerator:()=>J$});module.exports=l1(NE);var BX=Symbol("Let zodToJsonSchema decide on which parser to use");var UX={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"},wX=($)=>typeof $==="string"?{...UX,name:$}:{...UX,...$};var DX=($)=>{let H=wX($),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 N5($,H,J,Q){if(!Q?.errorMessages)return;if(J)$.errorMessage={...$.errorMessage,[H]:J}}function Y1($,H,J,Q,X){$[H]=J,N5($,H,Q,X)}var X2=($,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={};L1(R,{void:()=>hR,util:()=>H1,unknown:()=>xR,union:()=>uR,undefined:()=>TR,tuple:()=>cR,transformer:()=>eR,symbol:()=>IR,string:()=>jX,strictObject:()=>yR,setErrorMap:()=>HR,set:()=>nR,record:()=>lR,quotelessJson:()=>eA,promise:()=>tR,preprocess:()=>JE,pipeline:()=>QE,ostring:()=>XE,optional:()=>$E,onumber:()=>YE,oboolean:()=>WE,objectUtil:()=>A5,object:()=>gR,number:()=>OX,nullable:()=>HE,null:()=>bR,never:()=>kR,nativeEnum:()=>aR,nan:()=>CR,map:()=>pR,makeIssue:()=>x4,literal:()=>oR,lazy:()=>sR,late:()=>MR,isValid:()=>T0,isDirty:()=>W2,isAsync:()=>K$,isAborted:()=>Y2,intersection:()=>dR,instanceof:()=>SR,getParsedType:()=>B0,getErrorMap:()=>P$,function:()=>iR,enum:()=>rR,effect:()=>eR,discriminatedUnion:()=>mR,defaultErrorMap:()=>R0,datetimeRegex:()=>AX,date:()=>KR,custom:()=>EX,coerce:()=>GE,boolean:()=>ZX,bigint:()=>PR,array:()=>vR,any:()=>fR,addIssueToContext:()=>T,ZodVoid:()=>h4,ZodUnknown:()=>b0,ZodUnion:()=>k$,ZodUndefined:()=>f$,ZodType:()=>e,ZodTuple:()=>D0,ZodTransformer:()=>a1,ZodSymbol:()=>k4,ZodString:()=>i1,ZodSet:()=>$$,ZodSchema:()=>e,ZodRecord:()=>v4,ZodReadonly:()=>d$,ZodPromise:()=>H$,ZodPipeline:()=>u4,ZodParsedType:()=>P,ZodOptional:()=>o1,ZodObject:()=>D1,ZodNumber:()=>f0,ZodNullable:()=>j0,ZodNull:()=>x$,ZodNever:()=>w0,ZodNativeEnum:()=>y$,ZodNaN:()=>y4,ZodMap:()=>g4,ZodLiteral:()=>g$,ZodLazy:()=>v$,ZodIssueCode:()=>S,ZodIntersection:()=>h$,ZodFunction:()=>T$,ZodFirstPartyTypeKind:()=>C,ZodError:()=>j1,ZodEnum:()=>k0,ZodEffects:()=>a1,ZodDiscriminatedUnion:()=>G2,ZodDefault:()=>u$,ZodDate:()=>t0,ZodCatch:()=>m$,ZodBranded:()=>q2,ZodBoolean:()=>b$,ZodBigInt:()=>x0,ZodArray:()=>s1,ZodAny:()=>e0,Schema:()=>e,ParseStatus:()=>O1,OK:()=>M1,NEVER:()=>qE,INVALID:()=>p,EMPTY_PATH:()=>JR,DIRTY:()=>a0,BRAND:()=>LR});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 A5;(function($){$.mergeShapes=(H,J)=>{return{...H,...J}}})(A5||(A5={}));var P=H1.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),B0=($)=>{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"]),eA=($)=>{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 $R=($,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}},R0=$R;var VX=R0;function HR($){VX=$}function P$(){return VX}var x4=($)=>{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}},JR=[];function T($,H){let J=P$(),Q=x4({issueData:H,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,J,J===R0?void 0:R0].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"}),a0=($)=>({status:"dirty",value:$}),M1=($)=>({status:"valid",value:$}),Y2=($)=>$.status==="aborted",W2=($)=>$.status==="dirty",T0=($)=>$.status==="valid",K$=($)=>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 r1{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 _X=($,H)=>{if(T0(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 a($){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 B0($.data)}_getOrReturnCtx($,H){return H||{common:$.parent.common,data:$.data,parsedType:B0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new O1,ctx:{common:$.parent.common,data:$.data,parsedType:B0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let H=this._parse($);if(K$(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:B0($)},Q=this._parseSync({data:$,path:J.path,parent:J});return _X(J,Q)}"~validate"($){let H={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:B0($)};if(!this["~standard"].async)try{let J=this._parseSync({data:$,path:[],parent:H});return T0(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)=>T0(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:B0($)},Q=this._parse({data:$,path:J.path,parent:J}),X=await(K$(Q)?Q:Promise.resolve(Q));return _X(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 a1({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 o1.create(this,this._def)}nullable(){return j0.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return s1.create(this)}promise(){return H$.create(this,this._def)}or($){return k$.create([this,$],this._def)}and($){return h$.create(this,$,this._def)}transform($){return new a1({...a(this._def),schema:this,typeName:C.ZodEffects,effect:{type:"transform",transform:$}})}default($){let H=typeof $==="function"?$:()=>$;return new u$({...a(this._def),innerType:this,defaultValue:H,typeName:C.ZodDefault})}brand(){return new q2({typeName:C.ZodBranded,type:this,...a(this._def)})}catch($){let H=typeof $==="function"?$:()=>$;return new m$({...a(this._def),innerType:this,catchValue:H,typeName:C.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return u4.create(this,$)}readonly(){return d$.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var QR=/^c[^\s-]{8,}$/i,XR=/^[0-9a-z]+$/,YR=/^[0-9A-HJKMNP-TV-Z]{26}$/i,WR=/^[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,GR=/^[a-z0-9_-]{21}$/i,qR=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,UR=/^[-+]?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)?)??$/,BR=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,wR="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",R5,DR=/^(?:(?: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])$/,VR=/^(?:(?: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])$/,_R=/^(([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]))$/,FR=/^(([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])$/,zR=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,NR=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,zX="((\\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])))",AR=new RegExp(`^${zX}$`);function NX($){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 RR($){return new RegExp(`^${NX($)}$`)}function AX($){let H=`${zX}T${NX($)}`,J=[];if(J.push($.local?"Z?":"Z"),$.offset)J.push("([+-]\\d{2}:?\\d{2})");return H=`${H}(${J.join("|")})`,new RegExp(`^${H}$`)}function ER($,H){if((H==="v4"||!H)&&DR.test($))return!0;if((H==="v6"||!H)&&_R.test($))return!0;return!1}function jR($,H){if(!qR.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 OR($,H){if((H==="v4"||!H)&&VR.test($))return!0;if((H==="v6"||!H)&&FR.test($))return!0;return!1}class i1 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(!BR.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(!R5)R5=new RegExp(wR,"u");if(!R5.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(!WR.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(!GR.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(!QR.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(!XR.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(!YR.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(!AX(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(!AR.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(!RR(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(!UR.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(!ER($.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(!jR($.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(!OR($.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(!zR.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(!NR.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 i1({...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 i1({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new i1({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new i1({...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 $}}i1.create=($)=>{return new i1({checks:[],typeName:C.ZodString,coerce:$?.coerce??!1,...a($)})};function ZR($,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 f0 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(ZR($.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 f0({...this._def,checks:[...this._def.checks,{kind:$,value:H,inclusive:J,message:y.toString(Q)}]})}_addCheck($){return new f0({...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($)}}f0.create=($)=>{return new f0({checks:[],typeName:C.ZodNumber,coerce:$?.coerce||!1,...a($)})};class x0 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 x0({...this._def,checks:[...this._def.checks,{kind:$,value:H,inclusive:J,message:y.toString(Q)}]})}_addCheck($){return new x0({...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 $}}x0.create=($)=>{return new x0({checks:[],typeName:C.ZodBigInt,coerce:$?.coerce??!1,...a($)})};class b$ 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 M1($.data)}}b$.create=($)=>{return new b$({typeName:C.ZodBoolean,coerce:$?.coerce||!1,...a($)})};class t0 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 t0({...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}}t0.create=($)=>{return new t0({checks:[],coerce:$?.coerce||!1,typeName:C.ZodDate,...a($)})};class k4 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 M1($.data)}}k4.create=($)=>{return new k4({typeName:C.ZodSymbol,...a($)})};class f$ 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 M1($.data)}}f$.create=($)=>{return new f$({typeName:C.ZodUndefined,...a($)})};class x$ 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 M1($.data)}}x$.create=($)=>{return new x$({typeName:C.ZodNull,...a($)})};class e0 extends e{constructor(){super(...arguments);this._any=!0}_parse($){return M1($.data)}}e0.create=($)=>{return new e0({typeName:C.ZodAny,...a($)})};class b0 extends e{constructor(){super(...arguments);this._unknown=!0}_parse($){return M1($.data)}}b0.create=($)=>{return new b0({typeName:C.ZodUnknown,...a($)})};class w0 extends e{_parse($){let H=this._getOrReturnCtx($);return T(H,{code:S.invalid_type,expected:P.never,received:H.parsedType}),p}}w0.create=($)=>{return new w0({typeName:C.ZodNever,...a($)})};class h4 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 M1($.data)}}h4.create=($)=>{return new h4({typeName:C.ZodVoid,...a($)})};class s1 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 r1(H,Y,H.path,W))})).then((Y)=>{return O1.mergeArray(J,Y)});let X=[...H.data].map((Y,W)=>{return Q.type._parseSync(new r1(H,Y,H.path,W))});return O1.mergeArray(J,X)}get element(){return this._def.type}min($,H){return new s1({...this._def,minLength:{value:$,message:y.toString(H)}})}max($,H){return new s1({...this._def,maxLength:{value:$,message:y.toString(H)}})}length($,H){return new s1({...this._def,exactLength:{value:$,message:y.toString(H)}})}nonempty($){return this.min(1,$)}}s1.create=($,H)=>{return new s1({type:$,minLength:null,maxLength:null,exactLength:null,typeName:C.ZodArray,...a(H)})};function I$($){if($ instanceof D1){let H={};for(let J in $.shape){let Q=$.shape[J];H[J]=o1.create(I$(Q))}return new D1({...$._def,shape:()=>H})}else if($ instanceof s1)return new s1({...$._def,type:I$($.element)});else if($ instanceof o1)return o1.create(I$($.unwrap()));else if($ instanceof j0)return j0.create(I$($.unwrap()));else if($ instanceof D0)return D0.create($.items.map((H)=>I$(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 w0&&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 r1(Q,B,Q.path,q)),alwaysSet:q in Q.data})}if(this._def.catchall instanceof w0){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 r1(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 I$(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 o1)X=X._def.innerType;H[J]=X}return new D1({...this._def,shape:()=>H})}keyof(){return RX(H1.objectKeys(this.shape))}}D1.create=($,H)=>{return new D1({shape:()=>$,unknownKeys:"strip",catchall:w0.create(),typeName:C.ZodObject,...a(H)})};D1.strictCreate=($,H)=>{return new D1({shape:()=>$,unknownKeys:"strict",catchall:w0.create(),typeName:C.ZodObject,...a(H)})};D1.lazycreate=($,H)=>{return new D1({shape:$,unknownKeys:"strip",catchall:w0.create(),typeName:C.ZodObject,...a(H)})};class k$ 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}}k$.create=($,H)=>{return new k$({options:$,typeName:C.ZodUnion,...a(H)})};var E0=($)=>{if($ instanceof v$)return E0($.schema);else if($ instanceof a1)return E0($.innerType());else if($ instanceof g$)return[$.value];else if($ instanceof k0)return $.options;else if($ instanceof y$)return H1.objectValues($.enum);else if($ instanceof u$)return E0($._def.innerType);else if($ instanceof f$)return[void 0];else if($ instanceof x$)return[null];else if($ instanceof o1)return[void 0,...E0($.unwrap())];else if($ instanceof j0)return[null,...E0($.unwrap())];else if($ instanceof q2)return E0($.unwrap());else if($ instanceof d$)return E0($.unwrap());else if($ instanceof m$)return E0($._def.innerType);else return[]};class G2 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=E0(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 G2({typeName:C.ZodDiscriminatedUnion,discriminator:$,options:H,optionsMap:Q,...a(J)})}}function E5($,H){let J=B0($),Q=B0(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=E5($[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=E5(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 h$ extends e{_parse($){let{status:H,ctx:J}=this._processInputParams($),Q=(X,Y)=>{if(Y2(X)||Y2(Y))return p;let W=E5(X.value,Y.value);if(!W.valid)return T(J,{code:S.invalid_intersection_types}),p;if(W2(X)||W2(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}))}}h$.create=($,H,J)=>{return new h$({left:$,right:H,typeName:C.ZodIntersection,...a(J)})};class D0 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 r1(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 D0({...this._def,rest:$})}}D0.create=($,H)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new D0({items:$,typeName:C.ZodTuple,rest:null,...a(H)})};class v4 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 r1(J,W,J.path,W)),value:Y._parse(new r1(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 v4({keyType:$,valueType:H,typeName:C.ZodRecord,...a(J)});return new v4({keyType:i1.create(),valueType:$,typeName:C.ZodRecord,...a(H)})}}class g4 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 r1(J,W,J.path,[q,"key"])),value:X._parse(new r1(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}}}}g4.create=($,H,J)=>{return new g4({valueType:H,keyType:$,typeName:C.ZodMap,...a(J)})};class $$ 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 r1(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 $$({...this._def,minSize:{value:$,message:y.toString(H)}})}max($,H){return new $$({...this._def,maxSize:{value:$,message:y.toString(H)}})}size($,H){return this.min($,H).max($,H)}nonempty($){return this.min(1,$)}}$$.create=($,H)=>{return new $$({valueType:$,minSize:null,maxSize:null,typeName:C.ZodSet,...a(H)})};class T$ 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 x4({data:W,path:H.path,errorMaps:[H.common.contextualErrorMap,H.schemaErrorMap,P$(),R0].filter((q)=>!!q),issueData:{code:S.invalid_arguments,argumentsError:G}})}function Q(W,G){return x4({data:W,path:H.path,errorMaps:[H.common.contextualErrorMap,H.schemaErrorMap,P$(),R0].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 H$){let W=this;return M1(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 M1(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 T$({...this._def,args:D0.create($).rest(b0.create())})}returns($){return new T$({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,H,J){return new T$({args:$?$:D0.create([]).rest(b0.create()),returns:H||b0.create(),typeName:C.ZodFunction,...a(J)})}}class v$ 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})}}v$.create=($,H)=>{return new v$({getter:$,typeName:C.ZodLazy,...a(H)})};class g$ 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}}g$.create=($,H)=>{return new g$({value:$,typeName:C.ZodLiteral,...a(H)})};function RX($,H){return new k0({values:$,typeName:C.ZodEnum,...a(H)})}class k0 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 M1($.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 k0.create($,{...this._def,...H})}exclude($,H=this._def){return k0.create(this.options.filter((J)=>!$.includes(J)),{...this._def,...H})}}k0.create=RX;class y$ 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 M1($.data)}get enum(){return this._def.values}}y$.create=($,H)=>{return new y$({values:$,typeName:C.ZodNativeEnum,...a(H)})};class H$ 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 M1(J.then((Q)=>{return this._def.type.parseAsync(Q,{path:H.path,errorMap:H.common.contextualErrorMap})}))}}H$.create=($,H)=>{return new H$({type:$,typeName:C.ZodPromise,...a(H)})};class a1 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 a0(G.value);if(H.value==="dirty")return a0(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 a0(W.value);if(H.value==="dirty")return a0(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(!T0(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(!T0(Y))return p;return Promise.resolve(Q.transform(Y.value,X)).then((W)=>({status:H.value,value:W}))});H1.assertNever(Q)}}a1.create=($,H,J)=>{return new a1({schema:$,typeName:C.ZodEffects,effect:H,...a(J)})};a1.createWithPreprocess=($,H,J)=>{return new a1({schema:H,effect:{type:"preprocess",transform:$},typeName:C.ZodEffects,...a(J)})};class o1 extends e{_parse($){if(this._getType($)===P.undefined)return M1(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}o1.create=($,H)=>{return new o1({innerType:$,typeName:C.ZodOptional,...a(H)})};class j0 extends e{_parse($){if(this._getType($)===P.null)return M1(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}j0.create=($,H)=>{return new j0({innerType:$,typeName:C.ZodNullable,...a(H)})};class u$ 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}}u$.create=($,H)=>{return new u$({innerType:$,typeName:C.ZodDefault,defaultValue:typeof H.default==="function"?H.default:()=>H.default,...a(H)})};class m$ 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(K$(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}}m$.create=($,H)=>{return new m$({innerType:$,typeName:C.ZodCatch,catchValue:typeof H.catch==="function"?H.catch:()=>H.catch,...a(H)})};class y4 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}}}y4.create=($)=>{return new y4({typeName:C.ZodNaN,...a($)})};var LR=Symbol("zod_brand");class q2 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 u4 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(),a0(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 u4({in:$,out:H,typeName:C.ZodPipeline})}}class d$ extends e{_parse($){let H=this._def.innerType._parse($),J=(Q)=>{if(T0(Q))Q.value=Object.freeze(Q.value);return Q};return K$(H)?H.then((Q)=>J(Q)):J(H)}unwrap(){return this._def.innerType}}d$.create=($,H)=>{return new d$({innerType:$,typeName:C.ZodReadonly,...a(H)})};function FX($,H){let J=typeof $==="function"?$(H):typeof $==="string"?{message:$}:$;return typeof J==="string"?{message:J}:J}function EX($,H={},J){if($)return e0.create().superRefine((Q,X)=>{let Y=$(Q);if(Y instanceof Promise)return Y.then((W)=>{if(!W){let G=FX(H,Q),q=G.fatal??J??!0;X.addIssue({code:"custom",...G,fatal:q})}});if(!Y){let W=FX(H,Q),G=W.fatal??J??!0;X.addIssue({code:"custom",...W,fatal:G})}return});return e0.create()}var MR={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 SR=($,H={message:`Input not instance of ${$.name}`})=>EX((J)=>J instanceof $,H),jX=i1.create,OX=f0.create,CR=y4.create,PR=x0.create,ZX=b$.create,KR=t0.create,IR=k4.create,TR=f$.create,bR=x$.create,fR=e0.create,xR=b0.create,kR=w0.create,hR=h4.create,vR=s1.create,gR=D1.create,yR=D1.strictCreate,uR=k$.create,mR=G2.create,dR=h$.create,cR=D0.create,lR=v4.create,pR=g4.create,nR=$$.create,iR=T$.create,sR=v$.create,oR=g$.create,rR=k0.create,aR=y$.create,tR=H$.create,eR=a1.create,$E=o1.create,HE=j0.create,JE=a1.createWithPreprocess,QE=u4.create,XE=()=>jX().optional(),YE=()=>OX().optional(),WE=()=>ZX().optional(),GE={string:($)=>i1.create({...$,coerce:!0}),number:($)=>f0.create({...$,coerce:!0}),boolean:($)=>b$.create({...$,coerce:!0}),bigint:($)=>x0.create({...$,coerce:!0}),date:($)=>t0.create({...$,coerce:!0})};var qE=p;function w1($){if($.target!=="openAi")return{};let H=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?X2(H,$.currentPath):H.join("/")}}function LX($,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 MX($,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 SX(){return{type:"boolean"}}function U2($,H){return n($.type._def,H)}var CX=($,H)=>{return n($.innerType._def,H)};function j5($,H,J){let Q=J??H.dateStrategy;if(Array.isArray(Q))return{anyOf:Q.map((X,Y)=>j5($,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 UE($,H)}}var UE=($,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 PX($,H){return{...n($.innerType._def,H),default:$.defaultValue()}}function KX($,H){return H.effectStrategy==="input"?n($.schema._def,H):w1(H)}function IX($){return{type:"string",enum:Array.from($.values)}}var BE=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function TX($,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(BE(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 bX($,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 O5=void 0,t1={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(O5===void 0)O5=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return O5},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 B2($,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":e1(J,"email",Q.message,H);break;case"format:idn-email":e1(J,"idn-email",Q.message,H);break;case"pattern:zod":K1(J,t1.email,Q.message,H);break}break;case"url":e1(J,"uri",Q.message,H);break;case"uuid":e1(J,"uuid",Q.message,H);break;case"regex":K1(J,Q.regex,Q.message,H);break;case"cuid":K1(J,t1.cuid,Q.message,H);break;case"cuid2":K1(J,t1.cuid2,Q.message,H);break;case"startsWith":K1(J,RegExp(`^${Z5(Q.value,H)}`),Q.message,H);break;case"endsWith":K1(J,RegExp(`${Z5(Q.value,H)}$`),Q.message,H);break;case"datetime":e1(J,"date-time",Q.message,H);break;case"date":e1(J,"date",Q.message,H);break;case"time":e1(J,"time",Q.message,H);break;case"duration":e1(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":{K1(J,RegExp(Z5(Q.value,H)),Q.message,H);break}case"ip":{if(Q.version!=="v6")e1(J,"ipv4",Q.message,H);if(Q.version!=="v4")e1(J,"ipv6",Q.message,H);break}case"base64url":K1(J,t1.base64url,Q.message,H);break;case"jwt":K1(J,t1.jwt,Q.message,H);break;case"cidr":{if(Q.version!=="v6")K1(J,t1.ipv4Cidr,Q.message,H);if(Q.version!=="v4")K1(J,t1.ipv6Cidr,Q.message,H);break}case"emoji":K1(J,t1.emoji(),Q.message,H);break;case"ulid":{K1(J,t1.ulid,Q.message,H);break}case"base64":{switch(H.base64Strategy){case"format:binary":{e1(J,"binary",Q.message,H);break}case"contentEncoding:base64":{Y1(J,"contentEncoding","base64",Q.message,H);break}case"pattern:zod":{K1(J,t1.base64,Q.message,H);break}}break}case"nanoid":K1(J,t1.nanoid,Q.message,H);case"toLowerCase":case"toUpperCase":case"trim":break;default:((X)=>{})(Q)}return J}function Z5($,H){return H.patternStrategy==="escape"?DE($):$}var wE=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function DE($){let H="";for(let J=0;J<$.length;J++){if(!wE.has($[J]))H+="\\";H+=$[J]}return H}function e1($,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 K1($,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:fX(H,Q),...J&&Q.errorMessages&&{errorMessage:{pattern:J}}})}else Y1($,"pattern",fX(H,Q),J,Q)}function fX($,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
43
+ ]))`;continue}else if(Q[q]==="$"){X+=`($|(?=[\r
44
+ ]))`;continue}}if(J.s&&Q[q]==="."){X+=W?`${Q[q]}\r
45
+ `:`[${Q[q]}\r
46
+ ]`;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 w2($,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}=B2($.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}=U2($.keyType._def,H);return{...J,propertyNames:X}}return J}function xX($,H){if(H.mapStrategy==="record")return w2($,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 kX($){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 hX($){return $.target==="openAi"?void 0:{not:w1({...$,currentPath:[...$.currentPath,"not"]})}}function vX($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var m4={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function yX($,H){if(H.target==="openApi3")return gX($,H);let J=$.options instanceof Map?Array.from($.options.values()):$.options;if(J.every((Q)=>(Q._def.typeName in m4)&&(!Q._def.checks||!Q._def.checks.length))){let Q=J.reduce((X,Y)=>{let W=m4[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 gX($,H)}var gX=($,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 uX($,H){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(H.target==="openApi3")return{type:m4[$.innerType._def.typeName],nullable:!0};return{type:[m4[$.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 mX($,H){let J={type:"number"};if(!$.checks)return J;for(let Q of $.checks)switch(Q.kind){case"int":J.type="integer",N5(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 dX($,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=_E(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=VE($,H);if(W!==void 0)Q.additionalProperties=W;return Q}function VE($,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 _E($){try{return $.isOptional()}catch{return!0}}var cX=($,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 lX=($,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 pX($,H){return n($.type._def,H)}function nX($,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 iX($,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 sX($){return{not:w1($)}}function oX($){return w1($)}var rX=($,H)=>{return n($.innerType._def,H)};var aX=($,H,J)=>{switch(H){case C.ZodString:return B2($,J);case C.ZodNumber:return mX($,J);case C.ZodObject:return dX($,J);case C.ZodBigInt:return MX($,J);case C.ZodBoolean:return SX();case C.ZodDate:return j5($,J);case C.ZodUndefined:return sX(J);case C.ZodNull:return vX(J);case C.ZodArray:return LX($,J);case C.ZodUnion:case C.ZodDiscriminatedUnion:return yX($,J);case C.ZodIntersection:return TX($,J);case C.ZodTuple:return iX($,J);case C.ZodRecord:return w2($,J);case C.ZodLiteral:return bX($,J);case C.ZodEnum:return IX($);case C.ZodNativeEnum:return kX($);case C.ZodNullable:return uX($,J);case C.ZodOptional:return cX($,J);case C.ZodMap:return xX($,J);case C.ZodSet:return nX($,J);case C.ZodLazy:return()=>$.getter()._def;case C.ZodPromise:return pX($,J);case C.ZodNaN:case C.ZodNever:return hX(J);case C.ZodEffects:return KX($,J);case C.ZodAny:return w1(J);case C.ZodUnknown:return oX(J);case C.ZodDefault:return PX($,J);case C.ZodBranded:return U2($,J);case C.ZodReadonly:return rX($,J);case C.ZodCatch:return CX($,J);case C.ZodPipeline:return lX($,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!==BX)return G}if(Q&&!J){let G=FE(Q,H);if(G!==void 0)return G}let X={def:$,path:H.currentPath,jsonSchema:void 0};H.seen.set($,X);let Y=aX($,$.typeName,H),W=typeof Y==="function"?n(Y(),H):Y;if(W)zE($,H,W);if(H.postProcess){let G=H.postProcess(W,$,H);return X.jsonSchema=W,G}return X.jsonSchema=W,W}var FE=($,H)=>{switch(H.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:X2(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}}},zE=($,H,J)=>{if($.description){if(J.description=$.description,H.markdownDescription)J.markdownDescription=$.description}return J};var D2=($,H)=>{let J=DX(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 tX=new WeakMap,eX=0;class O0{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=D2($,{target:"openApi3",$refStrategy:"none"});if(H&&typeof H==="object")delete H.$schema;return H}convertToReusableSchema($,H){let J=tX.get($);if(J&&this.generatedSchemas.has(J))return{$ref:`#/components/schemas/${J}`};let Q=H||J||this.generateSchemaName();tX.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${++eX}`}static resetCounter(){eX=0}}function V2($,H){if(H)return new O0(H).convert($);try{let J=D2($,{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 J${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 O0(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 O0(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"}}var AE={};L1(AE,{WebSocketPlugin:()=>p$,OpenAPIPlugin:()=>_2,HealthCheckers:()=>S5,HealthCheckPlugin:()=>N2,GraphQLPlugin:()=>p4});module.exports=l1(AE);class _2{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 J$(H,this.options).generate()}renderSwaggerUI(){return`<!DOCTYPE html>
21
47
  <html lang="en">
22
48
  <head>
23
49
  <meta charset="UTF-8">
@@ -53,31 +79,31 @@ and limitations under the License.
53
79
  };
54
80
  </script>
55
81
  </body>
56
- </html>`}}class h1{manager;id;_ws;constructor($,J,Q){this.manager=J;this._ws=$,this.id=Q||crypto.randomUUID()}send($){if(!this._ws||this._ws.readyState!==WebSocket.OPEN)return;let J=typeof $==="string"?$:JSON.stringify($);this._ws.send(J)}broadcast($,J){this.manager.broadcast($,J)}join($){this.manager.joinRoom(this.id,$)}leave($){this.manager.leaveRoom(this.id,$)}close($,J){if(this._ws&&this._ws.readyState===WebSocket.OPEN)this._ws.close($,J)}get native(){return this._ws}get isOpen(){return this._ws!==null&&this._ws.readyState===WebSocket.OPEN}_markClosed(){this._ws=null}}class g1{connections=new Map;rooms=new Map;connectionsByRoom=new Map;handleConnection($,J){let Q=new h1($,this);if(this.connections.set(Q.id,Q),J.onConnect)this.executeHandler(J,J.onConnect,Q);return $.addEventListener("message",async(W)=>{await this.handleMessage(W,Q,J)}),$.addEventListener("close",()=>{this.handleDisconnect(Q,J)}),$.addEventListener("error",(W)=>{console.error(`WebSocket error for connection ${Q.id}:`,W)}),Q}async handleMessage($,J,Q){if(!Q.onMessage)return;let W;try{if(W=typeof $.data==="string"?JSON.parse($.data):$.data,Q.messageSchema)W=await Q.messageSchema.parseAsync(W);await this.executeHandler(Q,Q.onMessage,J,W)}catch(H){J.send({error:"Invalid message format",details:H instanceof Error?H.message:"Unknown error"})}}handleDisconnect($,J){if(Array.from(this.connectionsByRoom.entries()).forEach(([Q,W])=>{if(W.delete($),W.size===0)this.connectionsByRoom.delete(Q)}),Array.from(this.rooms.entries()).forEach(([Q,W])=>{if(W.delete($.id),W.size===0)this.rooms.delete(Q)}),this.connections.delete($.id),$._markClosed(),J.onDisconnect)this.executeHandler(J,J.onDisconnect,$)}async executeHandler($,J,Q,W){try{let H=new $.target,X=H[J];if(typeof X==="function")if(W!==void 0)await X.call(H,Q,W);else await X.call(H,Q)}catch(H){console.error(`Error executing WebSocket handler ${J}:`,H)}}broadcast($,J){let Q=J?this.getConnectionsInRoom(J):Array.from(this.connections.values()),W=typeof $==="string"?$:JSON.stringify($);for(let H of Q)if(H.isOpen)H.send(W)}joinRoom($,J){let Q=this.connections.get($);if(!Q)return;if(!this.rooms.has(J))this.rooms.set(J,new Set);if(this.rooms.get(J).add($),!this.connectionsByRoom.has(J))this.connectionsByRoom.set(J,new Set);this.connectionsByRoom.get(J).add(Q)}leaveRoom($,J){let Q=this.connections.get($);if(!Q)return;let W=this.rooms.get(J);if(W){if(W.delete($),W.size===0)this.rooms.delete(J)}let H=this.connectionsByRoom.get(J);if(H){if(H.delete(Q),H.size===0)this.connectionsByRoom.delete(J)}}getConnectionsInRoom($){let J=this.connectionsByRoom.get($);return J?Array.from(J):[]}getConnection($){return this.connections.get($)}getAllConnections(){return Array.from(this.connections.values())}getConnectionCount(){return this.connections.size}getRooms(){return Array.from(this.rooms.keys())}getRoomSize($){return this.rooms.get($)?.size||0}}class y1{name="websocket";version="1.0.0";manager;constructor(){this.manager=new g1}async install($){let Q=$.getMetadata().getWebSockets();for(let W of Q)this.registerWebSocket($,W)}registerWebSocket($,J){$.getHono().get(J.path,async(W)=>{if(W.req.header("upgrade")?.toLowerCase()!=="websocket")return W.text("Expected WebSocket upgrade",426);return this.handleUpgrade(W,J)})}handleUpgrade($,J){if(typeof Bun<"u")return this.handleBunUpgrade($,J);else if(typeof globalThis.Deno<"u")return this.handleDenoUpgrade($,J);else return this.handleNodeUpgrade($,J)}handleBunUpgrade($,J){if(!$.env?.upgrade?.($.req.raw))return $.text("WebSocket upgrade failed",500);return new Response(null,{status:101})}handleDenoUpgrade($,J){let Q=globalThis.Deno,{socket:W,response:H}=Q.upgradeWebSocket($.req.raw);return W.onopen=()=>{this.manager.handleConnection(W,J)},H}handleNodeUpgrade($,J){return $.text("WebSocket support requires Bun or Deno runtime",501)}getManager(){return this.manager}broadcast($,J){this.manager.broadcast($,J)}getConnectionCount(){return this.manager.getConnectionCount()}getRooms(){return this.manager.getRooms()}}var ZV=X$(N$()),N4=Symbol("graphql:resolver"),u1=Symbol("graphql:field"),L$=Symbol("graphql:args");function Q9($){return(J)=>{let Q={target:J,name:$||J.name};Reflect.defineMetadata(N4,Q,J)}}function W9($,J){return L4("query",$,J)}function H9($,J){return L4("mutation",$,J)}function X9($,J){return L4("subscription",$,J)}function L4($,J,Q){return(W,H)=>{let X={target:W.constructor,propertyKey:H,type:$,name:J||H,description:Q?.description,deprecated:Q?.deprecated,deprecationReason:Q?.deprecationReason},q=Reflect.getMetadata(u1,W.constructor)||[];q.push(X),Reflect.defineMetadata(u1,q,W.constructor),Reflect.defineMetadata(u1,X,W,H)}}function q9($,J,Q){return(W,H,X)=>{if(!H)return;let q=Reflect.getMetadata(L$,W,H)||[],Y={index:X,name:$,schema:J,description:Q?.description,defaultValue:Q?.defaultValue,nullable:Q?.nullable};q[X]=Y,Reflect.defineMetadata(L$,q,W,H)}}function Y9(){return($,J,Q)=>{if(!J)return;let W=Reflect.getMetadata(L$,$,J)||[],H={index:Q,name:"__context__",nullable:!1};W[Q]=H,Reflect.defineMetadata(L$,W,$,J)}}function G9($){return Reflect.getMetadata(N4,$)}function B9($){return Reflect.getMetadata(u1,$)||[]}function w9($,J){return Reflect.getMetadata(u1,$,J)}function j$($,J){return Reflect.getMetadata(L$,$,J)||[]}function D9($){return Reflect.hasMetadata(N4,$)}function U9($,J){return Reflect.hasMetadata(u1,$,J)}function T0($){let J=$._def.typeName;if(J==="ZodString")return"String";if(J==="ZodNumber"){if($._def.checks?.some((W)=>W.kind==="int"))return"Int";return"Float"}if(J==="ZodBoolean")return"Boolean";if(J==="ZodArray")return`[${T0($._def.type)}]`;if(J==="ZodObject")return"JSON";if(J==="ZodOptional")return T0($._def.innerType);if(J==="ZodNullable")return T0($._def.innerType);if(J==="ZodDefault")return T0($._def.innerType);if(J==="ZodEnum")return"String";if(J==="ZodUnion"){let Q=$._def.options;if(Q&&Q.length>0)return T0(Q[0])}if(J==="ZodLiteral"){let Q=$._def.value;if(typeof Q==="string")return"String";if(typeof Q==="number")return"Float";if(typeof Q==="boolean")return"Boolean"}if(J==="ZodDate")return"String";return"String"}function w1($){let J=$._def.typeName;if(J==="ZodOptional"||J==="ZodNullable")return!0;if(J==="ZodDefault")return w1($._def.innerType);return!1}function H6($){let J=$._def.typeName;if(J==="ZodDefault")return $._def.defaultValue();if(J==="ZodOptional"||J==="ZodNullable"){let Q=$._def.innerType;if(Q)return H6(Q)}return}function _9($,J){if(J._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let W=J._def.shape(),H=[];for(let[X,q]of Object.entries(W)){let Y=q,G=T0(Y),w=w1(Y)?G:`${G}!`;H.push(` ${X}: ${w}`)}return`type ${$} {
57
- ${H.join(`
82
+ </html>`}}class c${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 l${connections=new Map;rooms=new Map;connectionsByRoom=new Map;handleConnection($,H){let J=new c$($,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 p${name="websocket";version="1.0.0";manager;constructor(){this.manager=new l$}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 rb=F0(Q$()),L5=Symbol("graphql:resolver"),n$=Symbol("graphql:field"),d4=Symbol("graphql:args");function HY($){return(H)=>{let J={target:H,name:$||H.name};Reflect.defineMetadata(L5,J,H)}}function JY($,H){return M5("query",$,H)}function QY($,H){return M5("mutation",$,H)}function XY($,H){return M5("subscription",$,H)}function M5($,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(n$,Q.constructor)||[];W.push(Y),Reflect.defineMetadata(n$,W,Q.constructor),Reflect.defineMetadata(n$,Y,Q,X)}}function YY($,H,J){return(Q,X,Y)=>{if(!X)return;let W=Reflect.getMetadata(d4,Q,X)||[],G={index:Y,name:$,schema:H,description:J?.description,defaultValue:J?.defaultValue,nullable:J?.nullable};W[Y]=G,Reflect.defineMetadata(d4,W,Q,X)}}function WY(){return($,H,J)=>{if(!H)return;let Q=Reflect.getMetadata(d4,$,H)||[],X={index:J,name:"__context__",nullable:!1};Q[J]=X,Reflect.defineMetadata(d4,Q,$,H)}}function GY($){return Reflect.getMetadata(L5,$)}function qY($){return Reflect.getMetadata(n$,$)||[]}function UY($,H){return Reflect.getMetadata(n$,$,H)}function c4($,H){return Reflect.getMetadata(d4,$,H)||[]}function BY($){return Reflect.hasMetadata(L5,$)}function wY($,H){return Reflect.hasMetadata(n$,$,H)}function $0($){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`[${$0($._def.type)}]`;if(H==="ZodObject")return"JSON";if(H==="ZodOptional")return $0($._def.innerType);if(H==="ZodNullable")return $0($._def.innerType);if(H==="ZodDefault")return $0($._def.innerType);if(H==="ZodEnum")return"String";if(H==="ZodUnion"){let J=$._def.options;if(J&&J.length>0)return $0(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 X$($){let H=$._def.typeName;if(H==="ZodOptional"||H==="ZodNullable")return!0;if(H==="ZodDefault")return X$($._def.innerType);return!1}function F2($){let H=$._def.typeName;if(H==="ZodDefault")return $._def.defaultValue();if(H==="ZodOptional"||H==="ZodNullable"){let J=$._def.innerType;if(J)return F2(J)}return}function DY($,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=$0(G),B=X$(G)?q:`${q}!`;X.push(` ${Y}: ${B}`)}return`type ${$} {
83
+ ${X.join(`
58
84
  `)}
59
- }`}function V9($,J){if(J._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let W=J._def.shape(),H=[];for(let[X,q]of Object.entries(W)){let Y=q,G=T0(Y),B=w1(Y),w=H6(Y),_=B?G:`${G}!`;if(w!==void 0){let R=JSON.stringify(w);_+=` = ${R}`}H.push(` ${X}: ${_}`)}return`input ${$} {
60
- ${H.join(`
85
+ }`}function VY($,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=$0(G),U=X$(G),B=F2(G),w=U?q:`${q}!`;if(B!==void 0){let _=JSON.stringify(B);w+=` = ${_}`}X.push(` ${Y}: ${w}`)}return`input ${$} {
86
+ ${X.join(`
61
87
  `)}
62
- }`}l1();class e0 extends N0{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 D1{schemaCache=new WeakMap;stats={hits:0,misses:0,validations:0};async validate($,J){this.stats.validations++;try{let Q=this.schemaCache.get(J);if(!Q)this.stats.misses++,Q={schema:J,resultCache:new WeakMap},this.schemaCache.set(J,Q);else this.stats.hits++;return await Q.schema.parseAsync($)}catch(Q){if(Q instanceof X0)throw new e0(Q);throw Q}}validateSync($,J){this.stats.validations++;try{let Q=this.schemaCache.get(J);if(!Q)this.stats.misses++,Q={schema:J,resultCache:new WeakMap},this.schemaCache.set(J,Q);else this.stats.hits++;return Q.schema.parse($)}catch(Q){if(Q instanceof X0)throw new e0(Q);throw Q}}getCacheStats(){let $=this.stats.validations>0?this.stats.hits/this.stats.validations*100:0;return{...this.stats,hitRate:Math.round($*100)/100}}resetStats(){this.stats={hits:0,misses:0,validations:0}}clearCache(){this.schemaCache=new WeakMap,this.resetStats()}}class S${metadata;container;validationEngine;customTypes=new Map;constructor($,J){this.metadata=$;this.container=J;this.validationEngine=new D1}build(){let $=this.metadata.getGraphQLResolvers(),J=[],Q=[],W=[],H=[];for(let Y of $){let G=this.metadata.getGraphQLFieldsByResolver(Y.target);for(let B of G){let w=this.buildFieldDefinition(B);switch(B.type){case"query":J.push(w);break;case"mutation":Q.push(w);break;case"subscription":W.push(w);break}}}let X="";if(this.customTypes.size>0)X+=Array.from(this.customTypes.values()).join(`
88
+ }`}i$();class h0 extends x1{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 Y${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 h0(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 h0(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 l4{metadata;container;validationEngine;customTypes=new Map;constructor($,H){this.metadata=$;this.container=H;this.validationEngine=new Y$}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(`
63
89
 
64
90
  `)+`
65
91
 
66
- `;if(J.length>0)X+=`type Query {
67
- `,X+=J.map((Y)=>` ${Y}`).join(`
68
- `),X+=`
92
+ `;if(H.length>0)Y+=`type Query {
93
+ `,Y+=H.map((G)=>` ${G}`).join(`
94
+ `),Y+=`
69
95
  }
70
96
 
71
- `;if(Q.length>0)X+=`type Mutation {
72
- `,X+=Q.map((Y)=>` ${Y}`).join(`
73
- `),X+=`
97
+ `;if(J.length>0)Y+=`type Mutation {
98
+ `,Y+=J.map((G)=>` ${G}`).join(`
99
+ `),Y+=`
74
100
  }
75
101
 
76
- `;if(W.length>0)X+=`type Subscription {
77
- `,X+=W.map((Y)=>` ${Y}`).join(`
78
- `),X+=`
102
+ `;if(Q.length>0)Y+=`type Subscription {
103
+ `,Y+=Q.map((G)=>` ${G}`).join(`
104
+ `),Y+=`
79
105
  }
80
- `;let q=this.buildResolvers();return{typeDefs:X.trim(),resolvers:q}}buildFieldDefinition($){let J=j$($.target.prototype,$.propertyKey),Q=[];for(let q of J){if(q.name==="__context__")continue;let Y="String";if(q.schema){if(Y=T0(q.schema),!w1(q.schema)&&!q.nullable)Y+="!"}let G=`${q.name}: ${Y}`;if(q.defaultValue!==void 0)G+=` = ${JSON.stringify(q.defaultValue)}`;Q.push(G)}let W=Q.length>0?`(${Q.join(", ")})`:"",H="String",X=`${$.name}${W}: ${H}`;if($.deprecated){let q=$.deprecationReason||"No longer supported";X+=` @deprecated(reason: "${q}")`}return X}buildResolvers(){let $=this.metadata.getGraphQLResolvers(),J={Query:{},Mutation:{},Subscription:{}};for(let Q of $){let W=this.metadata.getGraphQLFieldsByResolver(Q.target);for(let H of W){let X=this.createResolverFunction(Q.target,H);switch(H.type){case"query":J.Query[H.name]=X;break;case"mutation":J.Mutation[H.name]=X;break;case"subscription":J.Subscription[H.name]=X;break}}}return J}createResolverFunction($,J){return async(Q,W,H,X)=>{try{let q=j$($.prototype,J.propertyKey),Y=[];for(let w of q)if(w.name==="__context__")Y[w.index]=H;else{let _=W[w.name];if(_===void 0&&w.defaultValue!==void 0)_=w.defaultValue;if(w.schema)_=await this.validationEngine.validate(_,w.schema);Y[w.index]=_}return await(await this.container.resolve($,{scope:"request",context:H.request}))[J.propertyKey](...Y)}catch(q){throw q}}}}class A${name="graphql";version="1.0.0";options;schema;constructor($){this.options={path:$?.path||"/graphql",playgroundPath:$?.playgroundPath||"/graphql/playground",playground:$?.playground!==!1,context:$?.context||((J)=>({request:J}))}}async install($){let J=$.getMetadata(),Q=$.getContainer(),W=new S$(J,Q);if(this.schema=W.build(),$.post(this.options.path,{handler:async(H)=>{return this.handleGraphQLRequest(H)},docs:{summary:"GraphQL endpoint",description:"Execute GraphQL queries and mutations",tags:["GraphQL"]}}),$.get(this.options.path,{handler:async(H)=>{let X=H.req.query("query"),q=H.req.query("variables"),Y=H.req.query("operationName");if(!X)return H.json({error:"Query parameter is required"},400);return this.executeGraphQL(H,{query:X,variables:q?JSON.parse(q):void 0,operationName:Y})},docs:{summary:"GraphQL endpoint (GET)",description:"Execute GraphQL queries via GET request",tags:["GraphQL"]}}),this.options.playground)$.get(this.options.playgroundPath,{handler:async(H)=>{return H.html(this.renderPlayground())},docs:{summary:"GraphQL Playground",description:"Interactive GraphQL IDE",tags:["GraphQL"]}})}async handleGraphQLRequest($){try{let J=await $.req.json();return this.executeGraphQL($,J)}catch(J){return $.json({errors:[{message:"Invalid JSON in request body",extensions:{code:"BAD_REQUEST"}}]},400)}}async executeGraphQL($,J){if(!this.schema)return $.json({errors:[{message:"GraphQL schema not initialized",extensions:{code:"INTERNAL_SERVER_ERROR"}}]},500);try{let{query:Q,variables:W,operationName:H}=J,X=await this.options.context($),q=await this.executeOperation(Q,W,X,H);return $.json(q)}catch(Q){return $.json({errors:[{message:Q.message||"Internal server error",extensions:{code:"INTERNAL_SERVER_ERROR",...{stack:Q.stack}}}]},500)}}async executeOperation($,J,Q,W){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`
106
+ `;let W=this.buildResolvers();return{typeDefs:Y.trim(),resolvers:W}}buildFieldDefinition($){let H=c4($.target.prototype,$.propertyKey),J=[];for(let W of H){if(W.name==="__context__")continue;let G="String";if(W.schema){if(G=$0(W.schema),!X$(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=c4($.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 p4{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 l4(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`
81
107
  <!DOCTYPE html>
82
108
  <html lang="en">
83
109
  <head>
@@ -120,7 +146,22 @@ ${H.join(`
120
146
  </script>
121
147
  </body>
122
148
  </html>
123
- `.trim()}getSchema(){return this.schema}}var nH={};L0(nH,{WebSocketPlugin:()=>y1,WebSocketManager:()=>g1,WebSocketConnection:()=>h1,WebSocket:()=>A9,OnMessage:()=>R9,OnDisconnect:()=>C9,OnConnect:()=>E9});module.exports=M0(nH);var rV=X$(N$());var sV=X$(N$()),j4=Symbol("route:metadata"),S4=Symbol("controller:metadata"),L9=Symbol("parameter:metadata"),j9=Symbol("dependency:metadata"),A4=Symbol("websocket:metadata"),S9=Symbol("websocket:handler:metadata"),E4=Symbol("graphql:resolver"),E$=Symbol("graphql:field"),R4=Symbol("auth:metadata"),C4=Symbol("oauth:metadata"),O4=Symbol("roles:metadata"),M4=Symbol("permissions:metadata"),b4=Symbol("minimum-role:metadata"),P4=Symbol("resource-permission:metadata"),Z4=Symbol("session:metadata"),I4=Symbol("csrf:metadata");class T{routes=new Map;controllers=new Map;routesByController=new Map;websockets=new Map;graphqlResolvers=new Map;graphqlFields=new Map;registerRoute($){let J=this.getRouteKey($.target,$.propertyKey);if(this.routes.set(J,$),!this.routesByController.has($.target))this.routesByController.set($.target,[]);this.routesByController.get($.target).push($)}registerController($,J){this.controllers.set($,J)}getRoutes(){return Array.from(this.routes.values())}getRoute($,J){let Q=this.getRouteKey($,J);return this.routes.get(Q)}getRoutesByController($){return this.routesByController.get($)||[]}getController($){return this.controllers.get($)}getControllers(){return new Map(this.controllers)}registerWebSocket($){this.websockets.set($.target,$)}getWebSockets(){return Array.from(this.websockets.values())}getWebSocket($){return this.websockets.get($)}registerGraphQLResolver($){this.graphqlResolvers.set($.target,$)}registerGraphQLField($){let J=this.getRouteKey($.target,$.propertyKey);this.graphqlFields.set(J,$)}getGraphQLResolvers(){return Array.from(this.graphqlResolvers.values())}getGraphQLResolver($){return this.graphqlResolvers.get($)}getGraphQLFields(){return Array.from(this.graphqlFields.values())}getGraphQLFieldsByResolver($){return Array.from(this.graphqlFields.values()).filter((J)=>J.target===$)}clear(){this.routes.clear(),this.controllers.clear(),this.routesByController.clear(),this.websockets.clear(),this.graphqlResolvers.clear(),this.graphqlFields.clear()}getRouteKey($,J){return`${$.name}:${J}`}static defineRoute($,J,Q){let W=this.getRouteMetadata($,J),H={...W,...Q,target:$.constructor,propertyKey:J,middleware:[...W?.middleware||[],...Q.middleware||[]],parameters:Q.parameters||W?.parameters||[],dependencies:Q.dependencies||W?.dependencies||[],responses:Q.responses||W?.responses||[],auth:Q.auth||W?.auth,oauth:Q.oauth||W?.oauth,roles:Q.roles||W?.roles,permissions:Q.permissions||W?.permissions,minimumRole:Q.minimumRole||W?.minimumRole,resourcePermission:Q.resourcePermission||W?.resourcePermission,session:Q.session||W?.session,csrf:Q.csrf||W?.csrf};Reflect.defineMetadata(j4,H,$,J)}static defineParameter($,J,Q,W){let H=this.getParameterMetadata($,J)||[];H[Q]=W,Reflect.defineMetadata(L9,H,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,parameters:H})}static defineDependency($,J,Q,W){let H=this.getDependencyMetadata($,J)||[];H[Q]=W,Reflect.defineMetadata(j9,H,$,J);let X=this.getRouteMetadata($,J);this.defineRoute($,J,{...X,dependencies:H})}static defineController($,J){Reflect.defineMetadata(S4,J,$)}static getRouteMetadata($,J){return Reflect.getMetadata(j4,$,J)}static getParameterMetadata($,J){return Reflect.getMetadata(L9,$,J)}static getDependencyMetadata($,J){return Reflect.getMetadata(j9,$,J)}static getControllerMetadata($){return Reflect.getMetadata(S4,$)}static hasControllerMetadata($){return Reflect.hasMetadata(S4,$)}static hasRouteMetadata($,J){return Reflect.hasMetadata(j4,$,J)}static getRouteMethods($){let J=$.prototype,Q=[],W=Object.getOwnPropertyNames(J);for(let H of W){if(H==="constructor")continue;if(this.hasRouteMetadata(J,H))Q.push(H)}return Q}static defineWebSocket($,J){let W={...this.getWebSocketMetadata($),...J,target:$};Reflect.defineMetadata(A4,W,$)}static defineWebSocketHandler($,J,Q){let W=this.getWebSocketMetadata($.constructor)||{};switch(Q.type){case"connect":W.onConnect=J;break;case"message":W.onMessage=J,W.messageSchema=Q.schema;break;case"disconnect":W.onDisconnect=J;break}this.defineWebSocket($.constructor,W),Reflect.defineMetadata(S9,Q,$,J)}static getWebSocketMetadata($){return Reflect.getMetadata(A4,$)}static getWebSocketHandlerMetadata($,J){return Reflect.getMetadata(S9,$,J)}static hasWebSocketMetadata($){return Reflect.hasMetadata(A4,$)}static defineGraphQLResolver($,J){Reflect.defineMetadata(E4,J,$)}static defineGraphQLField($,J,Q){Reflect.defineMetadata(E$,Q,$,J);let W=this.getGraphQLFieldsMetadata($.constructor)||[];W.push(Q),Reflect.defineMetadata(E$,W,$.constructor)}static getGraphQLResolverMetadata($){return Reflect.getMetadata(E4,$)}static getGraphQLFieldsMetadata($){return Reflect.getMetadata(E$,$)||[]}static getGraphQLFieldMetadata($,J){return Reflect.getMetadata(E$,$,J)}static hasGraphQLResolverMetadata($){return Reflect.hasMetadata(E4,$)}static hasGraphQLFieldMetadata($,J){return Reflect.hasMetadata(E$,$,J)}static defineAuth($,J,Q){Reflect.defineMetadata(R4,Q,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,auth:Q})}static getAuthMetadata($,J){return Reflect.getMetadata(R4,$,J)}static hasAuthMetadata($,J){return Reflect.hasMetadata(R4,$,J)}static defineOAuth($,J,Q){Reflect.defineMetadata(C4,Q,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,oauth:Q})}static getOAuthMetadata($,J){return Reflect.getMetadata(C4,$,J)}static hasOAuthMetadata($,J){return Reflect.hasMetadata(C4,$,J)}static defineRoles($,J,Q){Reflect.defineMetadata(O4,Q,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,roles:Q})}static definePermissions($,J,Q){Reflect.defineMetadata(M4,Q,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,permissions:Q})}static defineMinimumRole($,J,Q){Reflect.defineMetadata(b4,Q,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,minimumRole:Q})}static getRolesMetadata($,J){return Reflect.getMetadata(O4,$,J)}static getPermissionsMetadata($,J){return Reflect.getMetadata(M4,$,J)}static getMinimumRoleMetadata($,J){return Reflect.getMetadata(b4,$,J)}static hasRolesMetadata($,J){return Reflect.hasMetadata(O4,$,J)}static hasPermissionsMetadata($,J){return Reflect.hasMetadata(M4,$,J)}static hasMinimumRoleMetadata($,J){return Reflect.hasMetadata(b4,$,J)}static defineResourcePermission($,J,Q){Reflect.defineMetadata(P4,Q,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,resourcePermission:Q})}static getResourcePermissionMetadata($,J){return Reflect.getMetadata(P4,$,J)}static hasResourcePermissionMetadata($,J){return Reflect.hasMetadata(P4,$,J)}static defineSession($,J,Q){Reflect.defineMetadata(Z4,Q,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,session:Q})}static defineCSRF($,J,Q){Reflect.defineMetadata(I4,Q,$,J);let W=this.getRouteMetadata($,J);this.defineRoute($,J,{...W,csrf:Q})}static getSessionMetadata($,J){return Reflect.getMetadata(Z4,$,J)}static getCSRFMetadata($,J){return Reflect.getMetadata(I4,$,J)}static hasSessionMetadata($,J){return Reflect.hasMetadata(Z4,$,J)}static hasCSRFMetadata($,J){return Reflect.hasMetadata(I4,$,J)}}function A9($){return(J)=>{T.defineWebSocket(J,{path:$})}}function E9(){return($,J)=>{T.defineWebSocketHandler($,J,{type:"connect",method:J})}}function R9($){return(J,Q)=>{T.defineWebSocketHandler(J,Q,{type:"message",method:Q,schema:$})}}function C9(){return($,J)=>{T.defineWebSocketHandler($,J,{type:"disconnect",method:J})}}var dH={};L0(dH,{zodToGraphQLType:()=>T0,zodObjectToGraphQLType:()=>_9,zodObjectToGraphQLInput:()=>V9,isNullable:()=>w1,hasResolverMetadata:()=>D9,hasFieldMetadata:()=>U9,getResolverMetadata:()=>G9,getFieldsMetadata:()=>B9,getFieldMetadata:()=>w9,getDefaultValue:()=>H6,getArgumentsMetadata:()=>j$,Subscription:()=>X9,Resolver:()=>Q9,Mutation:()=>H9,GraphQLSubscription:()=>X9,GraphQLSchemaBuilder:()=>S$,GraphQLQuery:()=>W9,GraphQLPlugin:()=>A$,GraphQLMutation:()=>H9,GraphQLCtx:()=>Y9,GQLSubscription:()=>X9,GQLQuery:()=>W9,GQLMutation:()=>H9,GQLContext:()=>Y9,Arg:()=>q9});module.exports=M0(dH);var iH={};L0(iH,{z:()=>z});module.exports=M0(iH);var _X={};L0(_X,{setupTestApp:()=>o4,mockDependency:()=>s4,createTestClient:()=>O6,createTestApp:()=>C6,clearMocks:()=>r4,TestClient:()=>m1});module.exports=M0(_X);class m1{hono;constructor($){this.hono=$.getHono()}async get($,J){return this.request("GET",$,J)}async post($,J){return this.request("POST",$,J)}async put($,J){return this.request("PUT",$,J)}async delete($,J){return this.request("DELETE",$,J)}async patch($,J){return this.request("PATCH",$,J)}async request($,J,Q){let W=this.buildUrl(J,Q?.query),H={method:$,headers:this.buildHeaders(Q)};if(Q?.body!==void 0)H.body=Q.body;else if(Q?.json!==void 0)H.body=JSON.stringify(Q.json);let X=await this.hono.request(W,H),q=await X.text(),Y;try{Y=JSON.parse(q)}catch{Y=q}return{status:X.status,headers:X.headers,body:Y,text:q,json:async()=>JSON.parse(q),ok:X.ok}}buildUrl($,J){if(!J||Object.keys(J).length===0)return $;let Q=new URLSearchParams(J).toString();return`${$}?${Q}`}buildHeaders($){let J={...$?.headers};if($?.json!==void 0&&!J["Content-Type"])J["Content-Type"]="application/json";return J}}var k4=($,J,Q)=>{return(W,H)=>{let X=-1;return q(0);async function q(Y){if(Y<=X)throw Error("next() called multiple times");X=Y;let G,B=!1,w;if($[Y])w=$[Y][0][0],W.req.routeIndex=Y;else w=Y===$.length&&H||void 0;if(w)try{G=await w(W,()=>q(Y+1))}catch(_){if(_ instanceof Error&&J)W.error=_,G=await J(_,W),B=!0;else throw _}else if(W.finalized===!1&&Q)G=await Q(W);if(G&&(W.finalized===!1||B))W.res=G;return W}}};var O9=Symbol();var M9=async($,J=Object.create(null))=>{let{all:Q=!1,dot:W=!1}=J,X=($ instanceof q6?$.raw.headers:$.headers).get("Content-Type");if(X?.startsWith("multipart/form-data")||X?.startsWith("application/x-www-form-urlencoded"))return pH($,{all:Q,dot:W});return{}};async function pH($,J){let Q=await $.formData();if(Q)return sH(Q,J);return{}}function sH($,J){let Q=Object.create(null);if($.forEach((W,H)=>{if(!(J.all||H.endsWith("[]")))Q[H]=W;else oH(Q,H,W)}),J.dot)Object.entries(Q).forEach(([W,H])=>{if(W.includes("."))rH(Q,W,H),delete Q[W]});return Q}var oH=($,J,Q)=>{if($[J]!==void 0)if(Array.isArray($[J]))$[J].push(Q);else $[J]=[$[J],Q];else if(!J.endsWith("[]"))$[J]=Q;else $[J]=[Q]},rH=($,J,Q)=>{let W=$,H=J.split(".");H.forEach((X,q)=>{if(q===H.length-1)W[X]=Q;else{if(!W[X]||typeof W[X]!=="object"||Array.isArray(W[X])||W[X]instanceof File)W[X]=Object.create(null);W=W[X]}})};var f4=($)=>{let J=$.split("/");if(J[0]==="")J.shift();return J},b9=($)=>{let{groups:J,path:Q}=tH($),W=f4(Q);return aH(W,J)},tH=($)=>{let J=[];return $=$.replace(/\{[^}]+\}/g,(Q,W)=>{let H=`@${W}`;return J.push([H,Q]),H}),{groups:J,path:$}},aH=($,J)=>{for(let Q=J.length-1;Q>=0;Q--){let[W]=J[Q];for(let H=$.length-1;H>=0;H--)if($[H].includes(W)){$[H]=$[H].replace(W,J[Q][1]);break}}return $},Y6={},P9=($,J)=>{if($==="*")return"*";let Q=$.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(Q){let W=`${$}#${J}`;if(!Y6[W])if(Q[2])Y6[W]=J&&J[0]!==":"&&J[0]!=="*"?[W,Q[1],new RegExp(`^${Q[2]}(?=/${J})`)]:[$,Q[1],new RegExp(`^${Q[2]}$`)];else Y6[W]=[$,Q[1],!0];return Y6[W]}return null},c1=($,J)=>{try{return J($)}catch{return $.replace(/(?:%[0-9A-Fa-f]{2})+/g,(Q)=>{try{return J(Q)}catch{return Q}})}},eH=($)=>c1($,decodeURI),T4=($)=>{let J=$.url,Q=J.indexOf("/",J.indexOf(":")+4),W=Q;for(;W<J.length;W++){let H=J.charCodeAt(W);if(H===37){let X=J.indexOf("?",W),q=J.slice(Q,X===-1?void 0:X);return eH(q.includes("%25")?q.replace(/%25/g,"%2525"):q)}else if(H===63)break}return J.slice(Q,W)};var Z9=($)=>{let J=T4($);return J.length>1&&J.at(-1)==="/"?J.slice(0,-1):J},U1=($,J,...Q)=>{if(Q.length)J=U1(J,...Q);return`${$?.[0]==="/"?"":"/"}${$}${J==="/"?"":`${$?.at(-1)==="/"?"":"/"}${J?.[0]==="/"?J.slice(1):J}`}`},G6=($)=>{if($.charCodeAt($.length-1)!==63||!$.includes(":"))return null;let J=$.split("/"),Q=[],W="";return J.forEach((H)=>{if(H!==""&&!/\:/.test(H))W+="/"+H;else if(/\:/.test(H))if(/\?/.test(H)){if(Q.length===0&&W==="")Q.push("/");else Q.push(W);let X=H.replace("?","");W+="/"+X,Q.push(W)}else W+="/"+H}),Q.filter((H,X,q)=>q.indexOf(H)===X)},K4=($)=>{if(!/[%+]/.test($))return $;if($.indexOf("+")!==-1)$=$.replace(/\+/g," ");return $.indexOf("%")!==-1?c1($,R$):$},I9=($,J,Q)=>{let W;if(!Q&&J&&!/[%+]/.test(J)){let q=$.indexOf(`?${J}`,8);if(q===-1)q=$.indexOf(`&${J}`,8);while(q!==-1){let Y=$.charCodeAt(q+J.length+1);if(Y===61){let G=q+J.length+2,B=$.indexOf("&",G);return K4($.slice(G,B===-1?void 0:B))}else if(Y==38||isNaN(Y))return"";q=$.indexOf(`&${J}`,q+1)}if(W=/[%+]/.test($),!W)return}let H={};W??=/[%+]/.test($);let X=$.indexOf("?",8);while(X!==-1){let q=$.indexOf("&",X+1),Y=$.indexOf("=",X);if(Y>q&&q!==-1)Y=-1;let G=$.slice(X+1,Y===-1?q===-1?void 0:q:Y);if(W)G=K4(G);if(X=q,G==="")continue;let B;if(Y===-1)B="";else if(B=$.slice(Y+1,q===-1?void 0:q),W)B=K4(B);if(Q){if(!(H[G]&&Array.isArray(H[G])))H[G]=[];H[G].push(B)}else H[G]??=B}return J?H[J]:H},k9=I9,K9=($,J)=>{return I9($,J,!0)},R$=decodeURIComponent;var f9=($)=>c1($,R$),q6=class{raw;#J;#$;routeIndex=0;path;bodyCache={};constructor($,J="/",Q=[[]]){this.raw=$,this.path=J,this.#$=Q,this.#J={}}param($){return $?this.#Q($):this.#X()}#Q($){let J=this.#$[0][this.routeIndex][1][$],Q=this.#H(J);return Q&&/\%/.test(Q)?f9(Q):Q}#X(){let $={},J=Object.keys(this.#$[0][this.routeIndex][1]);for(let Q of J){let W=this.#H(this.#$[0][this.routeIndex][1][Q]);if(W!==void 0)$[Q]=/\%/.test(W)?f9(W):W}return $}#H($){return this.#$[1]?this.#$[1][$]:$}query($){return k9(this.url,$)}queries($){return K9(this.url,$)}header($){if($)return this.raw.headers.get($)??void 0;let J={};return this.raw.headers.forEach((Q,W)=>{J[W]=Q}),J}async parseBody($){return this.bodyCache.parsedBody??=await M9(this,$)}#W=($)=>{let{bodyCache:J,raw:Q}=this,W=J[$];if(W)return W;let H=Object.keys(J)[0];if(H)return J[H].then((X)=>{if(H==="json")X=JSON.stringify(X);return new Response(X)[$]()});return J[$]=Q[$]()};json(){return this.#W("text").then(($)=>JSON.parse($))}text(){return this.#W("text")}arrayBuffer(){return this.#W("arrayBuffer")}blob(){return this.#W("blob")}formData(){return this.#W("formData")}addValidatedData($,J){this.#J[$]=J}valid($){return this.#J[$]}get url(){return this.raw.url}get method(){return this.raw.method}get[O9](){return this.#$}get matchedRoutes(){return this.#$[0].map(([[,$]])=>$)}get routePath(){return this.#$[0].map(([[,$]])=>$)[this.routeIndex].path}};var T9={Stringify:1,BeforeStream:2,Stream:3},$X=($,J)=>{let Q=new String($);return Q.isEscaped=!0,Q.callbacks=J,Q};var x4=async($,J,Q,W,H)=>{if(typeof $==="object"&&!($ instanceof String)){if(!($ instanceof Promise))$=$.toString();if($ instanceof Promise)$=await $}let X=$.callbacks;if(!X?.length)return Promise.resolve($);if(H)H[0]+=$;else H=[$];let q=Promise.all(X.map((Y)=>Y({phase:J,buffer:H,context:W}))).then((Y)=>Promise.all(Y.filter(Boolean).map((G)=>x4(G,J,!1,W,H))).then(()=>H[0]));if(Q)return $X(await q,X);else return q};var JX="text/plain; charset=UTF-8",v4=($,J)=>{return{"Content-Type":$,...J}},x9=class{#J;#$;env={};#Q;finalized=!1;error;#X;#H;#W;#w;#G;#B;#Y;#D;#U;constructor($,J){if(this.#J=$,J)this.#H=J.executionCtx,this.env=J.env,this.#B=J.notFoundHandler,this.#U=J.path,this.#D=J.matchResult}get req(){return this.#$??=new q6(this.#J,this.#U,this.#D),this.#$}get event(){if(this.#H&&"respondWith"in this.#H)return this.#H;else throw Error("This context has no FetchEvent")}get executionCtx(){if(this.#H)return this.#H;else throw Error("This context has no ExecutionContext")}get res(){return this.#W||=new Response(null,{headers:this.#Y??=new Headers})}set res($){if(this.#W&&$){$=new Response($.body,$);for(let[J,Q]of this.#W.headers.entries()){if(J==="content-type")continue;if(J==="set-cookie"){let W=this.#W.headers.getSetCookie();$.headers.delete("set-cookie");for(let H of W)$.headers.append("set-cookie",H)}else $.headers.set(J,Q)}}this.#W=$,this.finalized=!0}render=(...$)=>{return this.#G??=(J)=>this.html(J),this.#G(...$)};setLayout=($)=>this.#w=$;getLayout=()=>this.#w;setRenderer=($)=>{this.#G=$};header=($,J,Q)=>{if(this.finalized)this.#W=new Response(this.#W.body,this.#W);let W=this.#W?this.#W.headers:this.#Y??=new Headers;if(J===void 0)W.delete($);else if(Q?.append)W.append($,J);else W.set($,J)};status=($)=>{this.#X=$};set=($,J)=>{this.#Q??=new Map,this.#Q.set($,J)};get=($)=>{return this.#Q?this.#Q.get($):void 0};get var(){if(!this.#Q)return{};return Object.fromEntries(this.#Q)}#q($,J,Q){let W=this.#W?new Headers(this.#W.headers):this.#Y??new Headers;if(typeof J==="object"&&"headers"in J){let X=J.headers instanceof Headers?J.headers:new Headers(J.headers);for(let[q,Y]of X)if(q.toLowerCase()==="set-cookie")W.append(q,Y);else W.set(q,Y)}if(Q)for(let[X,q]of Object.entries(Q))if(typeof q==="string")W.set(X,q);else{W.delete(X);for(let Y of q)W.append(X,Y)}let H=typeof J==="number"?J:J?.status??this.#X;return new Response($,{status:H,headers:W})}newResponse=(...$)=>this.#q(...$);body=($,J,Q)=>this.#q($,J,Q);text=($,J,Q)=>{return!this.#Y&&!this.#X&&!J&&!Q&&!this.finalized?new Response($):this.#q($,J,v4(JX,Q))};json=($,J,Q)=>{return this.#q(JSON.stringify($),J,v4("application/json",Q))};html=($,J,Q)=>{let W=(H)=>this.#q(H,J,v4("text/html; charset=UTF-8",Q));return typeof $==="object"?x4($,T9.Stringify,!1,{}).then(W):W($)};redirect=($,J)=>{let Q=String($);return this.header("Location",!/[^\x00-\xFF]/.test(Q)?Q:encodeURI(Q)),this.newResponse(null,J??302)};notFound=()=>{return this.#B??=()=>new Response,this.#B(this)}};var a="ALL",v9="all",h9=["get","post","put","delete","options","patch"],B6="Can not add a route since the matcher is already built.",w6=class extends Error{};var g9="__COMPOSED_HANDLER";var QX=($)=>{return $.text("404 Not Found",404)},y9=($,J)=>{if("getResponse"in $){let Q=$.getResponse();return J.newResponse(Q.body,Q)}return console.error($),J.text("Internal Server Error",500)},h4=class{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#J="/";routes=[];constructor($={}){[...h9,v9].forEach((H)=>{this[H]=(X,...q)=>{if(typeof X==="string")this.#J=X;else this.#X(H,this.#J,X);return q.forEach((Y)=>{this.#X(H,this.#J,Y)}),this}}),this.on=(H,X,...q)=>{for(let Y of[X].flat()){this.#J=Y;for(let G of[H].flat())q.map((B)=>{this.#X(G.toUpperCase(),this.#J,B)})}return this},this.use=(H,...X)=>{if(typeof H==="string")this.#J=H;else this.#J="*",X.unshift(H);return X.forEach((q)=>{this.#X(a,this.#J,q)}),this};let{strict:Q,...W}=$;Object.assign(this,W),this.getPath=Q??!0?$.getPath??T4:Z9}#$(){let $=new h4({router:this.router,getPath:this.getPath});return $.errorHandler=this.errorHandler,$.#Q=this.#Q,$.routes=this.routes,$}#Q=QX;errorHandler=y9;route($,J){let Q=this.basePath($);return J.routes.map((W)=>{let H;if(J.errorHandler===y9)H=W.handler;else H=async(X,q)=>(await k4([],J.errorHandler)(X,()=>W.handler(X,q))).res,H[g9]=W.handler;Q.#X(W.method,W.path,H)}),this}basePath($){let J=this.#$();return J._basePath=U1(this._basePath,$),J}onError=($)=>{return this.errorHandler=$,this};notFound=($)=>{return this.#Q=$,this};mount($,J,Q){let W,H;if(Q)if(typeof Q==="function")H=Q;else if(H=Q.optionHandler,Q.replaceRequest===!1)W=(Y)=>Y;else W=Q.replaceRequest;let X=H?(Y)=>{let G=H(Y);return Array.isArray(G)?G:[G]}:(Y)=>{let G=void 0;try{G=Y.executionCtx}catch{}return[Y.env,G]};W||=(()=>{let Y=U1(this._basePath,$),G=Y==="/"?0:Y.length;return(B)=>{let w=new URL(B.url);return w.pathname=w.pathname.slice(G)||"/",new Request(w,B)}})();let q=async(Y,G)=>{let B=await J(W(Y.req.raw),...X(Y));if(B)return B;await G()};return this.#X(a,U1($,"*"),q),this}#X($,J,Q){$=$.toUpperCase(),J=U1(this._basePath,J);let W={basePath:this._basePath,path:J,method:$,handler:Q};this.router.add($,J,[Q,W]),this.routes.push(W)}#H($,J){if($ instanceof Error)return this.errorHandler($,J);throw $}#W($,J,Q,W){if(W==="HEAD")return(async()=>new Response(null,await this.#W($,J,Q,"GET")))();let H=this.getPath($,{env:Q}),X=this.router.match(W,H),q=new x9($,{path:H,matchResult:X,env:Q,executionCtx:J,notFoundHandler:this.#Q});if(X[0].length===1){let G;try{G=X[0][0][0][0](q,async()=>{q.res=await this.#Q(q)})}catch(B){return this.#H(B,q)}return G instanceof Promise?G.then((B)=>B||(q.finalized?q.res:this.#Q(q))).catch((B)=>this.#H(B,q)):G??this.#Q(q)}let Y=k4(X[0],this.errorHandler,this.#Q);return(async()=>{try{let G=await Y(q);if(!G.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return G.res}catch(G){return this.#H(G,q)}})()}fetch=($,...J)=>{return this.#W($,J[1],J[0],$.method)};request=($,J,Q,W)=>{if($ instanceof Request)return this.fetch(J?new Request($,J):$,Q,W);return $=$.toString(),this.fetch(new Request(/^https?:\/\//.test($)?$:`http://localhost${U1("/",$)}`,J),Q,W)};fire=()=>{addEventListener("fetch",($)=>{$.respondWith(this.#W($.request,$,void 0,$.request.method))})}};var D6="[^/]+",C$=".*",O$="(?:|/.*)",_1=Symbol(),WX=new Set(".\\+*[^]$()");function HX($,J){if($.length===1)return J.length===1?$<J?-1:1:-1;if(J.length===1)return 1;if($===C$||$===O$)return 1;else if(J===C$||J===O$)return-1;if($===D6)return 1;else if(J===D6)return-1;return $.length===J.length?$<J?-1:1:J.length-$.length}var U6=class{#J;#$;#Q=Object.create(null);insert($,J,Q,W,H){if($.length===0){if(this.#J!==void 0)throw _1;if(H)return;this.#J=J;return}let[X,...q]=$,Y=X==="*"?q.length===0?["","",C$]:["","",D6]:X==="/*"?["","",O$]:X.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),G;if(Y){let B=Y[1],w=Y[2]||D6;if(B&&Y[2]){if(w===".*")throw _1;if(w=w.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(w))throw _1}if(G=this.#Q[w],!G){if(Object.keys(this.#Q).some((_)=>_!==C$&&_!==O$))throw _1;if(H)return;if(G=this.#Q[w]=new U6,B!=="")G.#$=W.varIndex++}if(!H&&B!=="")Q.push([B,G.#$])}else if(G=this.#Q[X],!G){if(Object.keys(this.#Q).some((B)=>B.length>1&&B!==C$&&B!==O$))throw _1;if(H)return;G=this.#Q[X]=new U6}G.insert(q,J,Q,W,H)}buildRegExpStr(){let J=Object.keys(this.#Q).sort(HX).map((Q)=>{let W=this.#Q[Q];return(typeof W.#$==="number"?`(${Q})@${W.#$}`:WX.has(Q)?`\\${Q}`:Q)+W.buildRegExpStr()});if(typeof this.#J==="number")J.unshift(`#${this.#J}`);if(J.length===0)return"";if(J.length===1)return J[0];return"(?:"+J.join("|")+")"}};var u9=class{#J={varIndex:0};#$=new U6;insert($,J,Q){let W=[],H=[];for(let q=0;;){let Y=!1;if($=$.replace(/\{[^}]+\}/g,(G)=>{let B=`@\\${q}`;return H[q]=[B,G],q++,Y=!0,B}),!Y)break}let X=$.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let q=H.length-1;q>=0;q--){let[Y]=H[q];for(let G=X.length-1;G>=0;G--)if(X[G].indexOf(Y)!==-1){X[G]=X[G].replace(Y,H[q][1]);break}}return this.#$.insert(X,J,W,this.#J,Q),W}buildRegExp(){let $=this.#$.buildRegExpStr();if($==="")return[/^$/,[],[]];let J=0,Q=[],W=[];return $=$.replace(/#(\d+)|@(\d+)|\.\*\$/g,(H,X,q)=>{if(X!==void 0)return Q[++J]=Number(X),"$()";if(q!==void 0)return W[Number(q)]=++J,"";return""}),[new RegExp(`^${$}`),Q,W]}};var l9=[],XX=[/^$/,[],Object.create(null)],m9=Object.create(null);function c9($){return m9[$]??=new RegExp($==="*"?"":`^${$.replace(/\/\*$|([.\\+*[^\]$()])/g,(J,Q)=>Q?`\\${Q}`:"(?:|/.*)")}$`)}function qX(){m9=Object.create(null)}function YX($){let J=new u9,Q=[];if($.length===0)return XX;let W=$.map((B)=>[!/\*|\/:/.test(B[0]),...B]).sort(([B,w],[_,R])=>B?1:_?-1:w.length-R.length),H=Object.create(null);for(let B=0,w=-1,_=W.length;B<_;B++){let[R,S,P]=W[B];if(R)H[S]=[P.map(([o])=>[o,Object.create(null)]),l9];else w++;let h;try{h=J.insert(S,w,R)}catch(o){throw o===_1?new w6(S):o}if(R)continue;Q[w]=P.map(([o,W0])=>{let z0=Object.create(null);W0-=1;for(;W0>=0;W0--){let[t,R0]=h[W0];z0[t]=R0}return[o,z0]})}let[X,q,Y]=J.buildRegExp();for(let B=0,w=Q.length;B<w;B++)for(let _=0,R=Q[B].length;_<R;_++){let S=Q[B][_]?.[1];if(!S)continue;let P=Object.keys(S);for(let h=0,o=P.length;h<o;h++)S[P[h]]=Y[S[P[h]]]}let G=[];for(let B in q)G[B]=Q[q[B]];return[X,G,H]}function n1($,J){if(!$)return;for(let Q of Object.keys($).sort((W,H)=>H.length-W.length))if(c9(Q).test(J))return[...$[Q]];return}var g4=class{name="RegExpRouter";#J;#$;constructor(){this.#J={[a]:Object.create(null)},this.#$={[a]:Object.create(null)}}add($,J,Q){let W=this.#J,H=this.#$;if(!W||!H)throw Error(B6);if(!W[$])[W,H].forEach((Y)=>{Y[$]=Object.create(null),Object.keys(Y[a]).forEach((G)=>{Y[$][G]=[...Y[a][G]]})});if(J==="/*")J="*";let X=(J.match(/\/:/g)||[]).length;if(/\*$/.test(J)){let Y=c9(J);if($===a)Object.keys(W).forEach((G)=>{W[G][J]||=n1(W[G],J)||n1(W[a],J)||[]});else W[$][J]||=n1(W[$],J)||n1(W[a],J)||[];Object.keys(W).forEach((G)=>{if($===a||$===G)Object.keys(W[G]).forEach((B)=>{Y.test(B)&&W[G][B].push([Q,X])})}),Object.keys(H).forEach((G)=>{if($===a||$===G)Object.keys(H[G]).forEach((B)=>Y.test(B)&&H[G][B].push([Q,X]))});return}let q=G6(J)||[J];for(let Y=0,G=q.length;Y<G;Y++){let B=q[Y];Object.keys(H).forEach((w)=>{if($===a||$===w)H[w][B]||=[...n1(W[w],B)||n1(W[a],B)||[]],H[w][B].push([Q,X-G+Y+1])})}}match($,J){qX();let Q=this.#Q();return this.match=(W,H)=>{let X=Q[W]||Q[a],q=X[2][H];if(q)return q;let Y=H.match(X[0]);if(!Y)return[[],l9];let G=Y.indexOf("",1);return[X[1][G],Y]},this.match($,J)}#Q(){let $=Object.create(null);return Object.keys(this.#$).concat(Object.keys(this.#J)).forEach((J)=>{$[J]||=this.#X(J)}),this.#J=this.#$=void 0,$}#X($){let J=[],Q=$===a;if([this.#J,this.#$].forEach((W)=>{let H=W[$]?Object.keys(W[$]).map((X)=>[X,W[$][X]]):[];if(H.length!==0)Q||=!0,J.push(...H);else if($!==a)J.push(...Object.keys(W[a]).map((X)=>[X,W[a][X]]))}),!Q)return null;else return YX(J)}};var y4=class{name="SmartRouter";#J=[];#$=[];constructor($){this.#J=$.routers}add($,J,Q){if(!this.#$)throw Error(B6);this.#$.push([$,J,Q])}match($,J){if(!this.#$)throw Error("Fatal error");let Q=this.#J,W=this.#$,H=Q.length,X=0,q;for(;X<H;X++){let Y=Q[X];try{for(let G=0,B=W.length;G<B;G++)Y.add(...W[G]);q=Y.match($,J)}catch(G){if(G instanceof w6)continue;throw G}this.match=Y.match.bind(Y),this.#J=[Y],this.#$=void 0;break}if(X===H)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,q}get activeRouter(){if(this.#$||this.#J.length!==1)throw Error("No active router has been determined yet.");return this.#J[0]}};var M$=Object.create(null),u4=class{#J;#$;#Q;#X=0;#H=M$;constructor($,J,Q){if(this.#$=Q||Object.create(null),this.#J=[],$&&J){let W=Object.create(null);W[$]={handler:J,possibleKeys:[],score:0},this.#J=[W]}this.#Q=[]}insert($,J,Q){this.#X=++this.#X;let W=this,H=b9(J),X=[];for(let q=0,Y=H.length;q<Y;q++){let G=H[q],B=H[q+1],w=P9(G,B),_=Array.isArray(w)?w[0]:G;if(_ in W.#$){if(W=W.#$[_],w)X.push(w[1]);continue}if(W.#$[_]=new u4,w)W.#Q.push(w),X.push(w[1]);W=W.#$[_]}return W.#J.push({[$]:{handler:Q,possibleKeys:X.filter((q,Y,G)=>G.indexOf(q)===Y),score:this.#X}}),W}#W($,J,Q,W){let H=[];for(let X=0,q=$.#J.length;X<q;X++){let Y=$.#J[X],G=Y[J]||Y[a],B={};if(G!==void 0){if(G.params=Object.create(null),H.push(G),Q!==M$||W&&W!==M$)for(let w=0,_=G.possibleKeys.length;w<_;w++){let R=G.possibleKeys[w],S=B[G.score];G.params[R]=W?.[R]&&!S?W[R]:Q[R]??W?.[R],B[G.score]=!0}}}return H}search($,J){let Q=[];this.#H=M$;let H=[this],X=f4(J),q=[];for(let Y=0,G=X.length;Y<G;Y++){let B=X[Y],w=Y===G-1,_=[];for(let R=0,S=H.length;R<S;R++){let P=H[R],h=P.#$[B];if(h)if(h.#H=P.#H,w){if(h.#$["*"])Q.push(...this.#W(h.#$["*"],$,P.#H));Q.push(...this.#W(h,$,P.#H))}else _.push(h);for(let o=0,W0=P.#Q.length;o<W0;o++){let z0=P.#Q[o],t=P.#H===M$?{}:{...P.#H};if(z0==="*"){let h0=P.#$["*"];if(h0)Q.push(...this.#W(h0,$,P.#H)),h0.#H=t,_.push(h0);continue}let[R0,H0,U0]=z0;if(!B&&!(U0 instanceof RegExp))continue;let C0=P.#$[R0],H4=X.slice(Y).join("/");if(U0 instanceof RegExp){let h0=U0.exec(H4);if(h0){if(t[H0]=h0[0],Q.push(...this.#W(C0,$,P.#H,t)),Object.keys(C0.#$).length){C0.#H=t;let X4=h0[0].match(/\//)?.length??0;(q[X4]||=[]).push(C0)}continue}}if(U0===!0||U0.test(B))if(t[H0]=B,w){if(Q.push(...this.#W(C0,$,t,P.#H)),C0.#$["*"])Q.push(...this.#W(C0.#$["*"],$,t,P.#H))}else C0.#H=t,_.push(C0)}}H=_.concat(q.shift()??[])}if(Q.length>1)Q.sort((Y,G)=>{return Y.score-G.score});return[Q.map(({handler:Y,params:G})=>[Y,G])]}};var l4=class{name="TrieRouter";#J;constructor(){this.#J=new u4}add($,J,Q){let W=G6(J);if(W){for(let H=0,X=W.length;H<X;H++)this.#J.insert($,W[H],Q);return}this.#J.insert($,J,Q)}match($,J){return this.#J.search($,J)}};var m4=class extends h4{constructor($={}){super($);this.router=$.router??new y4({routers:[new g4,new l4]})}};class b${singletons=new Map;requestScoped=new WeakMap;providers=new Map;resolutionStack=new Set;providerNameCache=new WeakMap;stats={singletonHits:0,singletonMisses:0,requestHits:0,requestMisses:0,transientCreations:0};register($,J){this.providers.set($,J||{scope:"transient"})}async resolve($,J){let Q=this.providers.get($)||{scope:J?.scope||"transient"},W=J?.scope||Q.scope||"transient";if(W==="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 H=await this.create($,Q,J?.context);return this.singletons.set($,H),H}finally{this.resolutionStack.delete($)}}if(W==="request"&&J?.context){let H=this.requestScoped.get(J.context);if(H?.has($))return this.stats.requestHits++,H.get($);if(this.stats.requestMisses++,!H)H=new Map,this.requestScoped.set(J.context,H);if(this.resolutionStack.has($))throw Error(`Circular dependency detected: ${this.buildCircularDependencyMessage($)}`);this.resolutionStack.add($);try{let X=await this.create($,Q,J.context);return H.set($,X),X}finally{this.resolutionStack.delete($)}}if(this.stats.transientCreations++,this.resolutionStack.has($))throw Error(`Circular dependency detected: ${this.buildCircularDependencyMessage($)}`);this.resolutionStack.add($);try{return await this.create($,Q,J?.context)}finally{this.resolutionStack.delete($)}}buildCircularDependencyMessage($){let J=Array.from(this.resolutionStack),Q=this.getProviderName($);return J.map((H)=>this.getProviderName(H)).join(" -> ")+" -> "+Q}async create($,J,Q){if(J.factory)return J.factory();if(typeof $==="function")if($.prototype&&$.prototype.constructor===$){let W=new $;return await this.resolveNestedDependencies(W,Q),W}else{let W=$();return W instanceof Promise?await W:W}throw Error("Invalid provider type")}async resolveNestedDependencies($,J){}getProviderName($){let J=this.providerNameCache.get($);if(J)return J;let Q;if(typeof $==="function")if($.name)Q=$.name;else Q=$.toString().substring(0,50);else Q=String($);return this.providerNameCache.set($,Q),Q}clear(){this.singletons.clear(),this.providers.clear(),this.resolutionStack.clear(),this.providerNameCache=new WeakMap,this.resetStats()}clearRequestScope($){this.requestScoped.delete($)}getStats(){let $=this.stats.singletonHits+this.stats.singletonMisses,J=$>0?this.stats.singletonHits/$*100:0,Q=this.stats.requestHits+this.stats.requestMisses,W=Q>0?this.stats.requestHits/Q*100:0;return{singletonHits:this.stats.singletonHits,singletonMisses:this.stats.singletonMisses,singletonHitRate:Math.round(J*100)/100,requestHits:this.stats.requestHits,requestMisses:this.stats.requestMisses,requestHitRate:Math.round(W*100)/100,transientCreations:this.stats.transientCreations}}resetStats(){this.stats={singletonHits:0,singletonMisses:0,requestHits:0,requestMisses:0,transientCreations:0}}}var GX=/^[\w!#$%&'*.^`|~+-]+$/,BX=/^[ !#-:<-[\]-~]*$/,c4=($,J)=>{if(J&&$.indexOf(J)===-1)return{};let Q=$.trim().split(";"),W={};for(let H of Q){H=H.trim();let X=H.indexOf("=");if(X===-1)continue;let q=H.substring(0,X).trim();if(J&&J!==q||!GX.test(q))continue;let Y=H.substring(X+1).trim();if(Y.startsWith('"')&&Y.endsWith('"'))Y=Y.slice(1,-1);if(BX.test(Y)){if(W[q]=Y.indexOf("%")!==-1?c1(Y,R$):Y,J)break}}return W};var wX=($,J,Q={})=>{let W=`${$}=${J}`;if($.startsWith("__Secure-")&&!Q.secure)throw Error("__Secure- Cookie must have Secure attributes");if($.startsWith("__Host-")){if(!Q.secure)throw Error("__Host- Cookie must have Secure attributes");if(Q.path!=="/")throw Error('__Host- Cookie must have Path attributes with "/"');if(Q.domain)throw Error("__Host- Cookie must not have Domain attributes")}if(Q&&typeof Q.maxAge==="number"&&Q.maxAge>=0){if(Q.maxAge>34560000)throw Error("Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.");W+=`; Max-Age=${Q.maxAge|0}`}if(Q.domain&&Q.prefix!=="host")W+=`; Domain=${Q.domain}`;if(Q.path)W+=`; Path=${Q.path}`;if(Q.expires){if(Q.expires.getTime()-Date.now()>34560000000)throw Error("Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.");W+=`; Expires=${Q.expires.toUTCString()}`}if(Q.httpOnly)W+="; HttpOnly";if(Q.secure)W+="; Secure";if(Q.sameSite)W+=`; SameSite=${Q.sameSite.charAt(0).toUpperCase()+Q.sameSite.slice(1)}`;if(Q.priority)W+=`; Priority=${Q.priority.charAt(0).toUpperCase()+Q.priority.slice(1)}`;if(Q.partitioned){if(!Q.secure)throw Error("Partitioned Cookie must have Secure attributes");W+="; Partitioned"}return W},_6=($,J,Q)=>{return J=encodeURIComponent(J),wX($,J,Q)};var V6=($,J,Q)=>{let W=$.req.raw.headers.get("Cookie");if(typeof J==="string"){if(!W)return;let X=J;if(Q==="secure")X="__Secure-"+J;else if(Q==="host")X="__Host-"+J;return c4(W,X)[X]}if(!W)return{};return c4(W)};var DX=($,J,Q)=>{let W;if(Q?.prefix==="secure")W=_6("__Secure-"+$,J,{path:"/",...Q,secure:!0});else if(Q?.prefix==="host")W=_6("__Host-"+$,J,{...Q,path:"/",secure:!0,domain:void 0});else W=_6($,J,{path:"/",...Q});return W},F6=($,J,Q,W)=>{let H=DX(J,Q,W);$.header("Set-Cookie",H,{append:!0})};class n4{static json($,J=200,Q){return new z6($,J,Q)}static html($,J=200){return new N6($,J)}static file($,J){return new j6($,J)}static stream($,J){return new S6($,J)}static redirect($,J=302){return new L6($,J)}}class z6{data;status;headers;constructor($,J=200,Q={}){this.data=$;this.status=J;this.headers=Q}toHonoResponse($){return $.json(this.data,this.status,this.headers)}}class N6{content;status;constructor($,J=200){this.content=$;this.status=J}toHonoResponse($){return $.html(this.content,this.status)}}class L6{url;status;constructor($,J=302){this.url=$;this.status=J}toHonoResponse($){return $.redirect(this.url,this.status)}}class j6{path;options;constructor($,J){this.path=$;this.options=J}async toHonoResponse($){try{let J=typeof Bun<"u"?Bun.file(this.path):await this.readFileNode(this.path),W={"Content-Type":this.options?.contentType||this.guessContentType(this.path)};if(this.options?.download||this.options?.filename){let H=this.options?.filename||this.path.split("/").pop()||"download",X=this.options?.download?"attachment":"inline";W["Content-Disposition"]=`${X}; filename="${H}"`}if(typeof Bun<"u"&&J instanceof Blob)return $.body(J,200,W);else return $.body(J,200,W)}catch(J){return $.json({error:"File not found",message:J instanceof Error?J.message:"Unknown error"},404)}}async readFileNode($){throw Error("File reading in Node.js requires fs module - use Bun runtime or implement adapter")}guessContentType($){let J=$.split(".").pop()?.toLowerCase();return{html:"text/html",css:"text/css",js:"application/javascript",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",svg:"image/svg+xml",pdf:"application/pdf",txt:"text/plain",xml:"application/xml"}[J||""]||"application/octet-stream"}}class S6{stream;options;constructor($,J){this.stream=$;this.options=J}toHonoResponse($){let J={"Content-Type":this.options?.contentType||"application/octet-stream",...this.options?.headers};return $.body(this.stream,200,J)}}class A6{static serialize($,J){if(J===null||J===void 0)return $.body(null,204);if(J instanceof n4)return J;if(J instanceof z6)return J.toHonoResponse($);if(J instanceof N6)return J.toHonoResponse($);if(J instanceof j6)return J.toHonoResponse($);if(J instanceof S6)return J.toHonoResponse($);if(J instanceof L6)return J.toHonoResponse($);if(J&&typeof J.toHonoResponse==="function")return J.toHonoResponse($);return $.json(J)}}class P${static compile($){let J=this.compilePathRegex($.path),Q=this.resolveParameterOrder($.parameters),W=this.resolveDependencyOrder($.dependencies),H=this.calculateMaxArgumentIndex($.parameters,$.dependencies),X=this.computeParameterFlags($.parameters);return{...$,pathRegex:J,parameterOrder:Q,dependencyOrder:W,maxArgumentIndex:H,...X}}static compilePathRegex($){let J=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return J=J.replace(/\\\{([^}]+)\\\}/g,"(?<$1>[^/]+)"),J=J.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"(?<$1>[^/]+)"),J=`^${J}$`,new RegExp(J)}static resolveParameterOrder($){if(!$||$.length===0)return[];return $.map((J)=>J.index).filter((J)=>J!==void 0).sort((J,Q)=>J-Q)}static resolveDependencyOrder($){if(!$||$.length===0)return[];return $.map((J)=>J.index).filter((J)=>J!==void 0).sort((J,Q)=>J-Q)}static calculateMaxArgumentIndex($,J){let Q=-1;if($&&$.length>0){let W=Math.max(...$.map((H)=>H.index));Q=Math.max(Q,W)}if(J&&J.length>0){let W=Math.max(...J.map((H)=>H.index));Q=Math.max(Q,W)}return Q}static computeParameterFlags($){if(!$||$.length===0)return{hasBody:!1,hasQuery:!1,hasParams:!1,hasHeaders:!1,hasCookies:!1,hasDependencies:!1};return{hasBody:$.some((J)=>J.type==="body"),hasQuery:$.some((J)=>J.type==="query"),hasParams:$.some((J)=>J.type==="param"),hasHeaders:$.some((J)=>J.type==="header"),hasCookies:$.some((J)=>J.type==="cookie"),hasDependencies:!1}}static compileAll($){return $.map((J)=>this.compile(J))}}l1();class I${app;metadata;container;validator;errorHandler;compiledRoutes=new Map;constructor($,J,Q,W,H){this.app=$;this.metadata=J;this.container=Q;this.validator=W;this.errorHandler=H}compile(){let $=this.metadata.getRoutes(),J=P$.compileAll($);for(let Q of J){let W=`${Q.target.name}:${Q.propertyKey}`;this.compiledRoutes.set(W,Q);let H=this.createHandler(Q),X=this.normalizePath(Q.path),q=Q.method.toLowerCase();if(Q.middleware&&Q.middleware.length>0)this.app[q](X,...Q.middleware,H);else this.app[q](X,H)}}normalizePath($){if(!$.startsWith("/"))$="/"+$;if($=$.replace(/\{([^}]+)\}/g,":$1"),$.length>1&&$.endsWith("/"))$=$.slice(0,-1);return $}createHandler($){return async(J)=>{try{J.set("routeMetadata",$);let Q=await this.extractParameters(J,$.parameters),W=await this.resolveDependencies(J,$.dependencies),H=this.mergeArguments(Q,W,$.parameters,$.maxArgumentIndex),X;if($.handler)X=await $.handler(J,...H);else{let q=await this.container.resolve($.target,{scope:"transient",context:J});if(typeof q[$.propertyKey]!=="function")throw Error(`Method ${$.propertyKey} not found on controller ${$.target.name}`);X=await q[$.propertyKey](...H)}return this.serializeResponse(J,X)}catch(Q){return await this.handleError(J,Q)}}}serializeResponse($,J){return A6.serialize($,J)}getRouteMetadataForContext($){return $.get("routeMetadata")||null}isAuthRequired($){if($.auth?.required)return!0;return $.parameters.some((J)=>J.type==="current-user")}async handleError($,J){return await this.errorHandler.handle(J,$)}async extractParameters($,J){let Q=[];for(let W of J){if(!W)continue;let H;switch(W.type){case"body":try{H=await $.req.json()}catch(Y){H=null}break;case"query":if(W.name)H=$.req.query(W.name);else H=$.req.query();if(W.schema&&H!==void 0)try{H=W.schema.parse(H)}catch(Y){throw new X6(`Invalid query parameter: ${Y}`)}break;case"param":if(W.name)H=$.req.param(W.name);else H=$.req.param();break;case"header":if(W.name)H=$.req.header(W.name);else{let Y={};$.req.raw.headers.forEach((G,B)=>{Y[B]=G}),H=Y}break;case"cookie":if(W.name)H=V6($,W.name);else{let Y=$.req.header("cookie");if(Y)H=Object.fromEntries(Y.split(";").map((G)=>{let[B,...w]=G.trim().split("=");return[B,w.join("=")]}));else H={}}break;case"request":H=$.req;break;case"response":case"context":H=$;break;case"current-user":H=$.get("auth.user")||null;let X=this.getRouteMetadataForContext($);if(X&&this.isAuthRequired(X)){if(!H){let Y=$.get("auth.error")||"Authentication required",{AuthenticationException:G}=await Promise.resolve().then(() => (F1(),n9));throw new G(Y)}}break;case"token":H=$.get("auth.token")||null;break;case"oauth-user":H=$.get("oauth.user")||null;break;case"oauth-token":H=$.get("oauth.token")||null;break;case"current-session":H=$.get("session")||null;break;case"session-data":let q=$.get("session");if(q&&W.metadata?.key)H=q.data[W.metadata.key];else if(q)H=q.data;else H=null;break;case"csrf-token":H=$.get("csrf.token")||null;break;case"filtered-resource":H=$.get("filtered.resource")||null;break;case"filtered-attributes":H=$.get("filtered.attributes")||[];break;default:H=void 0}if(W.schema)try{H=await this.validator.validate(H,W.schema)}catch(X){throw X}Q[W.index]=H}return Q}mergeArguments($,J,Q,W){let X=Q.filter((B)=>B!==void 0&&B.index!==void 0).map((B)=>B.index),q=X.length>0?Math.max(...X):-1,Y=W!==void 0&&W>=0?W:Math.max(q,$.length-1,J.length-1,0);if(!Number.isFinite(Y)||Y<0)Y=0;let G=Array(Y+1);for(let B=0;B<=Y;B++)if($[B]!==void 0)G[B]=$[B];else if(J[B]!==void 0)G[B]=J[B];return G}async resolveDependencies($,J){let Q=[];for(let W of J){if(!W)continue;try{let H=await this.container.resolve(W.provider,{scope:W.scope,context:$});Q[W.index]=H}catch(H){throw Error(`Failed to resolve dependency at index ${W.index}: ${H instanceof Error?H.message:"Unknown error"}`)}}return Q}}l1();class k${customHandler;isDevelopment;constructor($){this.customHandler=$,this.isDevelopment=!0}setCustomHandler($){this.customHandler=$}async handle($,J){if(console.log("ErrorHandler.handle called with:",$.constructor.name,$.message),this.customHandler)try{return await this.customHandler($,J)}catch(Q){console.error("Custom error handler failed:",Q)}if($ instanceof e0)return console.log("Handling as ValidationException"),this.handleValidationException($,J);if($ instanceof N0)return console.log("Handling as HTTPException"),this.handleHTTPException($,J);return console.log("Handling as generic error"),this.handleGenericError($,J)}handleValidationException($,J){let Q=$.toJSON();if(this.isDevelopment)console.error("Validation Error:",{path:J.req.path,method:J.req.method,details:Q.details});return J.json(Q,$.statusCode)}handleHTTPException($,J){let Q=$.toJSON();if($.statusCode>=500)console.error("HTTP Exception:",{name:$.name,statusCode:$.statusCode,message:$.message,path:J.req.path,method:J.req.method,...this.isDevelopment&&$.stack?{stack:$.stack}:{}});else if(this.isDevelopment)console.warn("HTTP Exception:",{name:$.name,statusCode:$.statusCode,message:$.message,path:J.req.path,method:J.req.method});return J.json(Q,$.statusCode)}handleGenericError($,J){console.error("Internal Server Error:",{name:$.name,message:$.message,path:J.req.path,method:J.req.method,stack:$.stack});let Q={error:"Internal Server Error",statusCode:500};if(this.isDevelopment){if(Q.message=$.message,Q.name=$.name,$.stack)Q.stack=$.stack.split(`
124
- `).map((W)=>W.trim())}else Q.message="An unexpected error occurred";return J.json(Q,500)}isDevelopmentMode(){return this.isDevelopment}setDevelopmentMode($){this.isDevelopment=$}}class K${plugins=new Map;installed=new Set;register($){if(this.plugins.has($.name))throw Error(`Plugin "${$.name}" is already registered`);this.plugins.set($.name,$)}async install($){let J=this.resolveInstallOrder();for(let Q of J)await this.plugins.get(Q).install($),this.installed.add(Q)}isInstalled($){return this.installed.has($)}getPlugin($){return this.plugins.get($)}getPluginNames(){return Array.from(this.plugins.keys())}resolveInstallOrder(){let $=new Set,J=new Set,Q=[],W=(H,X=[])=>{if(J.has(H)){let Y=[...X,H].join(" -> ");throw Error(`Circular dependency detected in plugins: ${Y}`)}if($.has(H))return;J.add(H);let q=this.plugins.get(H);if(!q)throw Error(`Plugin "${H}" is not registered`);if(q.dependencies)for(let Y of q.dependencies){if(!this.plugins.has(Y))throw Error(`Plugin "${H}" depends on "${Y}" which is not registered`);W(Y,[...X,H])}J.delete(H),$.add(H),Q.push(H)};for(let H of this.plugins.keys())W(H);return Q}}class z1{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 m4,this.metadata=new T,this.container=new b$,this.validator=new D1,this.errorHandler=new k$,this.pluginManager=new K$,this.compiler=new I$(this.hono,this.metadata,this.container,this.validator,this.errorHandler),this.config.cors)if(this.config.cors===!0)this.useCors();else this.useCors(this.config.cors)}include($){let J=T.getControllerMetadata($);if(J)this.metadata.registerController($,J);let Q=T.getRouteMethods($);for(let W of Q){let H=T.getRouteMetadata($.prototype,W),X=T.getParameterMetadata($.prototype,W),q=T.getDependencyMetadata($.prototype,W);if(H&&H.method&&H.path!==void 0){let Y=J?.prefix||"",G=this.normalizePath(Y,H.path);this.metadata.registerRoute({target:$,propertyKey:W,method:H.method,path:G,middleware:[...J?.middleware||[],...H.middleware||[]],parameters:X||H.parameters||[],dependencies:q||H.dependencies||[],responses:H.responses||[],docs:H.docs})}}}get($,J){this.registerFunctionalRoute("GET",$,J)}post($,J){this.registerFunctionalRoute("POST",$,J)}put($,J){this.registerFunctionalRoute("PUT",$,J)}delete($,J){this.registerFunctionalRoute("DELETE",$,J)}patch($,J){this.registerFunctionalRoute("PATCH",$,J)}route($){return new p9(this,$)}group($,J){let Q=this.groupPrefix;this.groupPrefix=this.normalizePath(this.groupPrefix,$),J(),this.groupPrefix=Q}registerFunctionalRoute($,J,Q){let W=this.normalizePath(this.groupPrefix,J),H={target:i9,propertyKey:`${$.toLowerCase()}_${W}`,method:$,path:W,middleware:Q.middleware||[],parameters:this.extractParametersFromSchema(Q.schema),dependencies:[],responses:Q.responses||[],docs:Q.docs,handler:Q.handler};this.metadata.registerRoute(H)}extractParametersFromSchema($){let J=[],Q=0;if($?.body)J.push({index:Q++,type:"body",schema:$.body,required:!0});if($?.query)J.push({index:Q++,type:"query",schema:$.query,required:!1});if($?.params)J.push({index:Q++,type:"param",schema:$.params,required:!0});if($?.headers)J.push({index:Q++,type:"header",schema:$.headers,required:!1});return J}use($){this.globalMiddleware.push($),this.hono.use("*",$)}useCors($){let J=q$($);this.use(J)}useRateLimit($){let J=Y$($);this.use(J)}useCompression($){let J=G$($);this.use(J)}usePlugin($){this.pluginManager.register($)}getPluginManager(){return this.pluginManager}onError($){this.errorHandler.setCustomHandler($)}getErrorHandler(){return this.errorHandler}normalizePath(...$){let J=$.filter((Q)=>Q!=="").join("/").replace(/\/+/g,"/").replace(/\/$/,"");return J.startsWith("/")?J:`/${J}`}getHono(){return this.hono}getMetadata(){return this.metadata}getContainer(){return this.container}getCompiler(){return this.compiler}getConfig(){return this.config}isCompiled(){return this.compiled}markCompiled(){this.compiled=!0}async compile(){if(this.compiled){console.warn("Routes have already been compiled. Skipping compilation.");return}await this.pluginManager.install(this),this.compiler.compile(),this.compiled=!0}async listen($,J){if(!this.compiled)await this.compile();return this.createAdapter().listen($,J)}createAdapter(){let $=this.config.adapter||"hono";switch($){case"hono":{let{HonoAdapter:J}=M0(p4);return new J(this.hono)}case"express":{let{ExpressAdapter:J}=M0(d9);return new J(this)}case"native":{let{HonoAdapter:J}=M0(p4);return new J(this.hono)}default:throw Error(`Unknown adapter type: ${$}. Supported adapters: 'hono', 'express', 'native'`)}}}class i9{}class p9{app;path;constructor($,J){this.app=$;this.path=J}get($){return this.app.get(this.path,$),this}post($){return this.app.post(this.path,$),this}put($){return this.app.put(this.path,$),this}delete($){return this.app.delete(this.path,$),this}patch($){return this.app.patch(this.path,$),this}}function C6($){let J={docs:!1,cors:!1,...$};return new z1(J)}function s4($,J,Q,W){let H=$.getContainer(),X=typeof Q==="function"?Q:()=>Q;H.register(J,{scope:W?.scope||"singleton",factory:X})}function O6($){return new m1($)}async function o4($,J){let Q=C6(J);await $(Q),await Q.compile();let W=O6(Q);return{app:Q,client:W}}function r4($){$.getContainer().clear()}var cw={};L0(cw,{zodToJsonSchema:()=>Q6,zodToGraphQLType:()=>T0,zodObjectToGraphQLType:()=>_9,zodObjectToGraphQLInput:()=>V9,z:()=>z,setupTestApp:()=>o4,setSessionData:()=>QW,removeSessionData:()=>WW,mockDependency:()=>s4,isSessionAuthenticated:()=>$W,isOAuthAuthenticated:()=>nQ,isNullable:()=>w1,isAuthenticated:()=>xw,hasResolverMetadata:()=>D9,hasFieldMetadata:()=>U9,getUserRoles:()=>u8,getUserPermissions:()=>xQ,getToken:()=>h8,getSessionUserId:()=>JW,getSessionManager:()=>Q$,getSessionData:()=>eQ,getResolverMetadata:()=>G9,getRBACManager:()=>TQ,getOAuthUser:()=>mQ,getOAuthToken:()=>cQ,getOAuthProvider:()=>dQ,getFieldsMetadata:()=>B9,getFieldMetadata:()=>w9,getDefaultValue:()=>H6,getCurrentUser:()=>W1,getCurrentSession:()=>E0,getCSRFProtection:()=>aQ,getAuthError:()=>vw,getArgumentsMetadata:()=>j$,createTestClient:()=>O6,createTestApp:()=>C6,createSessionMiddleware:()=>tQ,createRateLimitMiddleware:()=>Y$,createRBACMiddleware:()=>y8,createDefaultRBAC:()=>x8,createCorsMiddleware:()=>q$,createCompressionMiddleware:()=>G$,createAuthMiddleware:()=>v8,clearMocks:()=>r4,checkUserRole:()=>lw,checkUserPermission:()=>mw,ZodToJsonSchemaConverter:()=>p0,WebSocketPlugin:()=>y1,WebSocketManager:()=>g1,WebSocketConnection:()=>h1,WebSocket:()=>A9,VeloceTS:()=>z1,Veloce:()=>z1,ValidationException:()=>e0,ValidationEngine:()=>D1,UseMiddleware:()=>EX,UnauthorizedException:()=>z9,TokenRevokedException:()=>d4,TokenPayloadSchema:()=>Mw,TokenExpiredException:()=>Z$,Token:()=>Tw,TestClient:()=>m1,SuperAdminOnly:()=>yw,Subscription:()=>X9,StreamResponse:()=>S6,SessionManager:()=>l8,SessionGuard:()=>m8,SessionDataSchema:()=>iQ,Session:()=>pQ,RouterCompiler:()=>I$,Roles:()=>KQ,RoleSchema:()=>Zw,RoleAssignmentSchema:()=>Iw,ResponseSerializer:()=>A6,Response:()=>n4,Resolver:()=>Q9,RequireRole:()=>g8,RequirePermission:()=>hw,RequireCSRF:()=>rQ,RefreshRequestSchema:()=>Pw,RedirectResponse:()=>L6,RBACPlugin:()=>vQ,RBACManager:()=>$$,RBACGuard:()=>i$,Query:()=>o9,Put:()=>NX,Post:()=>zX,PluginManager:()=>K$,Permissions:()=>fQ,PermissionMatcher:()=>J$,PermissionCheckSchema:()=>kw,Patch:()=>jX,Param:()=>r9,OpenAPIPlugin:()=>W6,OpenAPIGenerator:()=>B1,OnMessage:()=>R9,OnDisconnect:()=>C9,OnConnect:()=>E9,OAuthUserSchema:()=>gQ,OAuthUser:()=>uQ,OAuthToken:()=>lQ,OAuth:()=>yQ,NotFoundException:()=>F9,Mutation:()=>H9,MinimumRole:()=>uw,MetadataRegistry:()=>T,MetadataCompiler:()=>P$,LoginRequestSchema:()=>bw,JWTProvider:()=>W4,JSONResponse:()=>z6,InvalidTokenException:()=>V1,InMemoryUserProvider:()=>kQ,HonoAdapter:()=>E6,Header:()=>t9,HTTPException:()=>N0,HTMLResponse:()=>N6,GraphQLSubscription:()=>X9,GraphQLSchemaBuilder:()=>S$,GraphQLQuery:()=>W9,GraphQLPlugin:()=>A$,GraphQLMutation:()=>H9,GraphQLCtx:()=>Y9,Get:()=>FX,GQLSubscription:()=>X9,GQLQuery:()=>W9,GQLMutation:()=>H9,GQLContext:()=>Y9,ForbiddenException:()=>N9,FileResponse:()=>j6,FastAPITS:()=>z1,ExpressAdapter:()=>R6,ErrorHandler:()=>k$,Depends:()=>AX,Delete:()=>LX,DIContainer:()=>b$,CurrentUser:()=>fw,CurrentSession:()=>sQ,Ctx:()=>e9,Cookie:()=>a9,Controller:()=>VX,CSRFToken:()=>oQ,Body:()=>s9,BadRequestException:()=>X6,AuthorizationException:()=>B0,AuthenticationException:()=>Y0,AuthService:()=>d$,AuthPlugin:()=>hQ,Auth:()=>Kw,Arg:()=>q9,ApiResponse:()=>CX,ApiDoc:()=>RX,All:()=>SX,AdminOnly:()=>gw});module.exports=M0(cw);var Nj=X$(N$());function VX($="",J){return(Q)=>{let W=$.trim();if(W&&!W.startsWith("/"))W="/"+W;if(W.endsWith("/"))W=W.slice(0,-1);T.defineController(Q,{prefix:W,middleware:J?.middleware||[]})}}function d1($){return(J="")=>{return(Q,W)=>{let H=J.trim();if(H&&!H.startsWith("/"))H="/"+H;let X=Reflect.getMetadata("route:middleware",Q,W)||[];T.defineRoute(Q,W,{method:$,path:H,middleware:X,parameters:[],dependencies:[],responses:[]})}}}var FX=d1("GET"),zX=d1("POST"),NX=d1("PUT"),LX=d1("DELETE"),jX=d1("PATCH"),SX=d1("ALL");function s9($){return(J,Q,W)=>{if(!Q)return;let H={index:W,type:"body",schema:$,required:!0};T.defineParameter(J,Q,W,H)}}function o9($){return(J,Q,W)=>{if(!Q)return;let H={index:W,type:"query",required:!1};if(typeof $==="string")H.name=$;else if($)H.schema=$;T.defineParameter(J,Q,W,H)}}function r9($){return(J,Q,W)=>{if(!Q)return;let H={index:W,type:"param",name:$,required:!0};T.defineParameter(J,Q,W,H)}}function t9($){return(J,Q,W)=>{if(!Q)return;let H={index:W,type:"header",name:$,required:!1};T.defineParameter(J,Q,W,H)}}function a9($){return(J,Q,W)=>{if(!Q)return;let H={index:W,type:"cookie",name:$,required:!1};T.defineParameter(J,Q,W,H)}}function e9(){return($,J,Q)=>{if(!J)return;let W={index:Q,type:"context",required:!0};T.defineParameter($,J,Q,W)}}function AX($,J="request"){return(Q,W,H)=>{if(W===void 0)throw Error("@Depends decorator can only be used on method parameters, not constructor parameters");T.defineDependency(Q,W,H,{index:H,provider:$,scope:J})}}function EX(...$){return(J,Q)=>{let W=Reflect.getMetadata("route:middleware",J,Q)||[];Reflect.defineMetadata("route:middleware",[...W,...$],J,Q)}}function RX($){return(J,Q)=>{let W=T.getRouteMetadata(J,Q);T.defineRoute(J,Q,{...W,docs:{...W?.docs,...$}})}}function CX($){return(J,Q)=>{let W=T.getRouteMetadata(J,Q),H=W?.responses||[],X=H.findIndex((Y)=>Y.statusCode===$.statusCode),q;if(X>=0)q=[...H],q[X]=$;else q=[...H,$];T.defineRoute(J,Q,{...W,responses:q})}}l1();F1();var Q1=X$(IQ());class W4{config;blacklistedTokens=new Set;constructor($){this.config=$;if(!$.secret)throw Error("JWT secret is required")}generateTokens($){let J=Math.floor(Date.now()/1000),Q=this.parseExpiration(this.config.expiresIn||"1h"),W={sub:$.sub,...$,iat:J,exp:J+Q,iss:this.config.issuer,aud:this.config.audience},H=Q1.sign(W,this.config.secret,{algorithm:this.config.algorithm||"HS256"}),X={sub:$.sub,type:"refresh",iat:J,exp:J+this.parseExpiration(this.config.refreshExpiresIn||"7d"),iss:this.config.issuer,aud:this.config.audience},q=Q1.sign(X,this.config.refreshSecret||this.config.secret,{algorithm:this.config.algorithm||"HS256"});return{accessToken:H,refreshToken:q,expiresIn:Q}}verifyAccessToken($){if(this.isBlacklisted($))throw Error("Token has been revoked");try{return Q1.verify($,this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience})}catch(J){if(J instanceof Error)throw Error(`Invalid token: ${J.message}`);throw Error("Invalid token")}}verifyRefreshToken($){if(this.isBlacklisted($))throw Error("Refresh token has been revoked");try{let J=Q1.verify($,this.config.refreshSecret||this.config.secret,{algorithms:[this.config.algorithm||"HS256"],issuer:this.config.issuer,audience:this.config.audience});if(J.type!=="refresh")throw Error("Invalid refresh token type");return J}catch(J){if(J instanceof Error)throw Error(`Invalid refresh token: ${J.message}`);throw Error("Invalid refresh token")}}refreshAccessToken($){let J=this.verifyRefreshToken($);return this.blacklistToken($),this.generateTokens({sub:J.sub,...Object.fromEntries(Object.entries(J).filter(([Q])=>!["iat","exp","iss","aud","type"].includes(Q)))})}decodeToken($){try{return Q1.decode($)}catch{return null}}blacklistToken($){this.blacklistedTokens.add($)}isBlacklisted($){return this.blacklistedTokens.has($)}cleanupBlacklist(){let $=Math.floor(Date.now()/1000);for(let J of this.blacklistedTokens){let Q=this.decodeToken(J);if(Q&&Q.exp&&Q.exp<$)this.blacklistedTokens.delete(J)}}parseExpiration($){if(typeof $==="number")return $;let J={s:1,m:60,h:3600,d:86400,w:604800},Q=$.match(/^(\d+)([smhdw])$/);if(!Q)throw Error(`Invalid expiration format: ${$}`);let[,W,H]=Q;return parseInt(W)*J[H]}}var Mw=z.object({sub:z.string(),iat:z.number().optional(),exp:z.number().optional(),iss:z.string().optional(),aud:z.string().optional()}).passthrough(),bw=z.object({username:z.string().min(1),password:z.string().min(1)}),Pw=z.object({refreshToken:z.string().min(1)});F1();class d${config;userProvider;jwtProvider;constructor($,J){this.config=$;this.userProvider=J;this.jwtProvider=new W4($)}async login($,J){let Q=await this.userProvider.findByCredentials($,J);if(!Q)throw new Y0("Invalid credentials");let W=this.jwtProvider.generateTokens({sub:Q.id,username:Q.username,email:Q.email,roles:Q.roles||[],permissions:Q.permissions||[]});return{user:Q,tokens:W}}async refresh($){try{return this.jwtProvider.refreshAccessToken($)}catch(J){throw new V1(J instanceof Error?J.message:"Invalid refresh token")}}async logout($,J){if(this.jwtProvider.blacklistToken($),J)this.jwtProvider.blacklistToken(J)}async verifyToken($){try{let J=this.jwtProvider.verifyAccessToken($),Q=await this.userProvider.findById(J.sub);if(!Q)throw new Y0("User not found");return Q}catch(J){if(J instanceof Error){if(J.message.includes("expired"))throw new Z$;throw new V1(J.message)}throw new V1("Token verification failed")}}getUserFromToken($){return this.jwtProvider.verifyAccessToken($)}hasRoles($,J){let Q=$.roles||[];return J.every((W)=>Q.includes(W))}hasPermissions($,J){let Q=$.permissions||[];return J.every((W)=>Q.includes(W))}async register($){let J=await this.userProvider.hashPassword($.password),Q={id:crypto.randomUUID(),username:$.username,email:$.email,roles:$.roles||["user"]},W=this.jwtProvider.generateTokens({sub:Q.id,username:Q.username,email:Q.email,roles:Q.roles});return{user:Q,tokens:W}}cleanup(){this.jwtProvider.cleanupBlacklist()}getJWTProvider(){return this.jwtProvider}}class kQ{users=new Map;async findByCredentials($,J){for(let[Q,W]of this.users)if(W.username===$){if(await this.verifyPassword(J,W.passwordHash)){let{passwordHash:X,...q}=W;return q}}return null}async findById($){let J=this.users.get($);if(J){let{passwordHash:Q,...W}=J;return W}return null}async hashPassword($){return Buffer.from($).toString("base64")}async verifyPassword($,J){return await this.hashPassword($)===J}async createUser($){let J=crypto.randomUUID(),Q=await this.hashPassword($.password),W={id:J,username:$.username,email:$.email,roles:$.roles||["user"],passwordHash:Q};this.users.set(J,W);let{passwordHash:H,...X}=W;return X}}class $${roles=new Map;hierarchy=new Map;compiledPermissions=new Map;defineRole($){if(this.roles.set($.name,$),$.inherits&&$.inherits.length>0)this.hierarchy.set($.name,$.inherits);this.compiledPermissions.clear()}defineRoles($){for(let J of $)this.defineRole(J)}getRolePermissions($){if(this.compiledPermissions.has($))return Array.from(this.compiledPermissions.get($));let J=new Set;return this.collectPermissions($,J,new Set),this.compiledPermissions.set($,J),Array.from(J)}roleHasPermission($,J){return this.getRolePermissions($).includes(J)}userHasPermission($,J){for(let Q of $)if(this.roleHasPermission(Q,J))return!0;return!1}userHasRoles($,J){return J.every((Q)=>$.includes(Q))}userHasAnyRole($,J){return J.some((Q)=>$.includes(Q))}getRolesWithPermission($){let J=[];for(let Q of this.roles.keys())if(this.roleHasPermission(Q,$))J.push(Q);return J}getRoleHierarchy($){let J=[];return this.collectParentRoles($,J,new Set),J}roleInheritsFrom($,J){return this.getRoleHierarchy($).includes(J)}getAllRoles(){return Array.from(this.roles.values())}getRole($){return this.roles.get($)}roleExists($){return this.roles.has($)}validateRoles($){let J=[],Q=[];for(let W of $)if(this.roleExists(W))J.push(W);else Q.push(W);return{valid:J,invalid:Q}}getEffectiveRoles($){let J=new Set;for(let Q of $)J.add(Q),this.getRoleHierarchy(Q).forEach((H)=>J.add(H));return Array.from(J)}compareRoleLevels($,J){let Q=this.getRole($),W=this.getRole(J),H=Q?.level??0,X=W?.level??0;return H-X}getHighestRoleLevel($){let J=0;for(let Q of $){let W=this.getRole(Q);if(W&&W.level&&W.level>J)J=W.level}return J}collectPermissions($,J,Q){if(Q.has($))throw Error(`Circular role inheritance detected: ${$}`);Q.add($);let W=this.roles.get($);if(!W)throw Error(`Role not found: ${$}`);W.permissions.forEach((X)=>J.add(X));let H=this.hierarchy.get($)||[];for(let X of H)this.collectPermissions(X,J,new Set(Q))}collectParentRoles($,J,Q){if(Q.has($))return;Q.add($);let W=this.hierarchy.get($)||[];for(let H of W)J.push(H),this.collectParentRoles(H,J,Q)}}function x8(){let $=new $$;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 Zw=z.object({name:z.string().min(1),description:z.string().optional(),permissions:z.array(z.string()),inherits:z.array(z.string()).optional(),level:z.number().optional()}),Iw=z.object({userId:z.string(),roles:z.array(z.string())}),kw=z.object({userId:z.string(),permission:z.string()});class J${static matches($,J){if(J==="*")return!0;if(J.endsWith("*")){let Q=J.slice(0,-1);return $.startsWith(Q)}return $===J}static hasPermission($,J){return $.some((Q)=>this.matches(J,Q))}static filterByPattern($,J){return $.filter((Q)=>this.matches(Q,J))}}function Kw($){return(J,Q)=>{let W={required:!$?.optional,config:$};T.defineAuth(J,Q,W)}}function fw(){return($,J,Q)=>{if(J)T.defineParameter($,J,Q,{index:Q,type:"current-user",required:!1})}}function Tw(){return($,J,Q)=>{if(J)T.defineParameter($,J,Q,{index:Q,type:"token",required:!1})}}function v8($){return async(J,Q)=>{let W=J.req.header("Authorization");if(!W||!W.startsWith("Bearer "))J.set("auth.error","Missing or invalid Authorization header"),J.set("auth.authenticated",!1);else{let H=W.substring(7);try{let X=$.verifyAccessToken(H);J.set("auth.user",X),J.set("auth.token",H),J.set("auth.authenticated",!0)}catch(X){J.set("auth.error",X instanceof Error?X.message:"Authentication failed"),J.set("auth.authenticated",!1)}}await Q()}}function W1($){return $.get("auth.user")||null}function h8($){return $.get("auth.token")||null}function xw($){return $.get("auth.authenticated")===!0}function vw($){return $.get("auth.error")||null}F1();function KQ($){return(J,Q)=>{let H={config:Array.isArray($)?{roles:$,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...$}};T.defineRoles(J,Q,H)}}function fQ($){return(J,Q)=>{let H={config:Array.isArray($)?{permissions:$,requireAll:!1}:{requireAll:!1,...$}};T.definePermissions(J,Q,H)}}function g8($){return KQ([$])}function hw($){return fQ([$])}function gw(){return g8("admin")}function yw(){return g8("super-admin")}function uw($){return(J,Q)=>{T.defineMinimumRole(J,Q,{roleName:$})}}function y8($){return async(J,Q)=>{J.set("rbac",$),await Q()}}class i${rbac;constructor($){this.rbac=$}checkRoles($,J){let Q=W1($);if(!Q)throw new B0("Authentication required for role check");let W=Q.roles||[],H=J.allowInherited?this.rbac.getEffectiveRoles(W):W,X;if(J.requireAll)X=J.roles.every((q)=>H.includes(q));else X=J.roles.some((q)=>H.includes(q));if(!X){let q=J.requireAll?"all":"any";throw new B0(`Access denied. Required ${q} of roles: ${J.roles.join(", ")}`)}}checkPermissions($,J){let Q=W1($);if(!Q)throw new B0("Authentication required for permission check");let W=Q.roles||[],H=new Set;for(let Y of W)this.rbac.getRolePermissions(Y).forEach((B)=>H.add(B));let X=Array.from(H),q;if(J.requireAll)q=J.permissions.every((Y)=>J$.hasPermission(X,Y));else q=J.permissions.some((Y)=>J$.hasPermission(X,Y));if(!q){let Y=J.requireAll?"all":"any";throw new B0(`Access denied. Required ${Y} of permissions: ${J.permissions.join(", ")}`)}}checkMinimumRole($,J){let Q=W1($);if(!Q)throw new B0("Authentication required for role level check");let W=Q.roles||[],H=this.rbac.getHighestRoleLevel(W),X=this.rbac.getRole(J);if(!X)throw Error(`Required role not found: ${J}`);let q=X.level||0;if(H<q)throw new B0(`Access denied. Minimum role level required: ${J} (level ${q})`)}}function TQ($){return $.get("rbac")||null}function u8($){return W1($)?.roles||[]}function xQ($){let J=TQ($),Q=u8($);if(!J)return[];let W=new Set;for(let H of Q)J.getRolePermissions(H).forEach((q)=>W.add(q));return Array.from(W)}function lw($,J){return u8($).includes(J)}function mw($,J){let Q=xQ($);return J$.hasPermission(Q,J)}class vQ{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=x8();else this.rbac=new $$;if($.roles)this.rbac.defineRoles($.roles);this.guard=new i$(this.rbac)}async install($){let J=y8(this.rbac);if($.use(J),$.getContainer().register($$,{factory:()=>this.rbac,scope:"singleton"}),$.getContainer().register(i$,{factory:()=>this.guard,scope:"singleton"}),this.extendRouterCompiler($),this.config.enableManagementRoutes!==!1)this.addManagementRoutes($)}extendRouterCompiler($){let J=$.compile.bind($);$.compile=async()=>{await J();let Q=$.getMetadata().getRoutes();for(let W of Q)if(W.roles||W.permissions||W.minimumRole)this.addRBACGuards($,W)}}addRBACGuards($,J){}addManagementRoutes($){let J=this.config.routes||{};$.get(J.roles||"/rbac/roles",{handler:(Q)=>{let W=this.rbac.getAllRoles();return Q.json({success:!0,roles:W.map((H)=>({name:H.name,description:H.description,permissions:H.permissions,inherits:H.inherits,level:H.level}))})}}),$.get("/rbac/roles/:roleName",{handler:(Q)=>{let W=Q.req.param("roleName"),H=this.rbac.getRole(W);if(!H)return Q.json({error:"Role not found"},404);let X=this.rbac.getRolePermissions(W),q=this.rbac.getRoleHierarchy(W);return Q.json({success:!0,role:{...H,effectivePermissions:X,hierarchy:q}})}}),$.get("/rbac/roles/:roleName/permissions",{handler:(Q)=>{let W=Q.req.param("roleName");if(!this.rbac.roleExists(W))return Q.json({error:"Role not found"},404);let H=this.rbac.getRolePermissions(W);return Q.json({success:!0,role:W,permissions:H})}}),$.post("/rbac/check-permission",{handler:async(Q)=>{let W=await Q.req.json(),{roles:H,permission:X}=W;if(!Array.isArray(H)||!X)return Q.json({error:"Invalid request body"},400);let q=this.rbac.userHasPermission(H,X);return Q.json({success:!0,hasPermission:q,roles:H,permission:X})}}),$.post("/rbac/check-roles",{handler:async(Q)=>{let W=await Q.req.json(),{userRoles:H,requiredRoles:X,requireAll:q=!1}=W;if(!Array.isArray(H)||!Array.isArray(X))return Q.json({error:"Invalid request body"},400);let Y=q?this.rbac.userHasRoles(H,X):this.rbac.userHasAnyRole(H,X);return Q.json({success:!0,hasRoles:Y,userRoles:H,requiredRoles:X,requireAll:q})}}),$.post("/rbac/effective-roles",{handler:async(Q)=>{let W=await Q.req.json(),{roles:H}=W;if(!Array.isArray(H))return Q.json({error:"Invalid request body"},400);let X=this.rbac.getEffectiveRoles(H);return Q.json({success:!0,inputRoles:H,effectiveRoles:X})}}),$.post("/rbac/user-permissions",{handler:async(Q)=>{let W=await Q.req.json(),{roles:H}=W;if(!Array.isArray(H))return Q.json({error:"Invalid request body"},400);let X=new Set;for(let q of H)if(this.rbac.roleExists(q))this.rbac.getRolePermissions(q).forEach((G)=>X.add(G));return Q.json({success:!0,roles:H,permissions:Array.from(X)})}})}getRBACManager(){return this.rbac}getGuard(){return this.guard}}F1();class hQ{config;name="auth";version="1.0.0";authService;constructor($){this.config=$;this.authService=new d$($.jwt,$.userProvider)}async install($){let J=v8(this.authService.getJWTProvider());if($.use(J),$.getContainer().register(d$,{factory:()=>this.authService,scope:"singleton"}),this.config.enableDefaultRoutes!==!1)this.addDefaultRoutes($);this.extendRouterCompiler($)}extendRouterCompiler($){$.use(async(Q,W)=>{Q.set("authService",this.authService),await W()});let J=$.compile.bind($);$.compile=async()=>{await J();let Q=$.getHono(),W=$.getMetadata().getRoutes();for(let H of W){let X=T.getAuthMetadata(H.target.prototype,H.propertyKey);if(H.auth?.required||X?.required){console.log("Adding auth middleware for route:",H.path,H.method);let Y=H.auth?.config||X?.config;Q.use(H.path,async(G,B)=>{if(console.log("Auth middleware executing for:",G.req.path,G.req.method,"target:",H.path,H.method),G.req.method!==H.method)return console.log("Method mismatch, skipping auth check"),B();console.log("Checking authentication...");let w=G.get("auth.user"),_=G.get("auth.error");if(!w){let R=_||"Authentication required";throw console.log("No user found, throwing auth exception"),new Y0(R)}if(Y?.roles?.length){if(!this.authService.hasRoles(w,Y.roles))throw new B0(`Required roles: ${Y.roles.join(", ")}`)}if(Y?.permissions?.length){if(!this.authService.hasPermissions(w,Y.permissions))throw new B0(`Required permissions: ${Y.permissions.join(", ")}`)}await B()})}}}}buildPath($){return $.path}pathMatches($,J){let Q=$.replace(/:([^/]+)/g,"([^/]+)");return new RegExp(`^${Q}$`).test(J)}addDefaultRoutes($){let J=this.config.routes||{};if($.post(J.login||"/auth/login",{handler:async(Q)=>{let W=await Q.req.json(),{username:H,password:X}=W;try{let q=await this.authService.login(H,X);return{success:!0,user:q.user,tokens:q.tokens}}catch(q){throw new Y0(q instanceof Error?q.message:"Login failed")}},schema:{body:z.object({username:z.string().min(1),password:z.string().min(1)})}}),$.post(J.refresh||"/auth/refresh",{handler:async(Q)=>{let W=await Q.req.json(),{refreshToken:H}=W;try{return{success:!0,tokens:await this.authService.refresh(H)}}catch(X){throw new Y0(X instanceof Error?X.message:"Token refresh failed")}},schema:{body:z.object({refreshToken:z.string().min(1)})}}),$.post(J.logout||"/auth/logout",{handler:async(Q)=>{let W=h8(Q),H=await Q.req.json(),{refreshToken:X}=H;if(W)await this.authService.logout(W,X);return{success:!0,message:"Logged out successfully"}},schema:{body:z.object({refreshToken:z.string().optional()})}}),"createUser"in this.config.userProvider)$.post(J.register||"/auth/register",{handler:async(Q)=>{let W=await Q.req.json(),{username:H,password:X,email:q}=W;try{let Y=await this.authService.register({username:H,password:X,email:q});return{success:!0,user:Y.user,tokens:Y.tokens}}catch(Y){throw new Y0(Y instanceof Error?Y.message:"Registration failed")}},schema:{body:z.object({username:z.string().min(1),password:z.string().min(6),email:z.string().email().optional()})}});$.get("/auth/me",{handler:async(Q)=>{let W=W1(Q);if(!W)throw new Y0("Not authenticated");return{success:!0,user:W}}})}getAuthService(){return this.authService}}var Wj=z.object({code:z.string(),state:z.string(),error:z.string().optional(),error_description:z.string().optional()}),Hj=z.object({accessToken:z.string(),refreshToken:z.string().optional(),expiresIn:z.number().optional(),tokenType:z.string(),scope:z.string().optional()}),gQ=z.object({id:z.string(),email:z.string().optional(),name:z.string().optional(),username:z.string().optional(),avatar:z.string().optional(),provider:z.string()}).passthrough();function yQ($){return(J,Q)=>{let W={provider:$.provider,config:$};T.defineOAuth(J,Q,W)}}function uQ(){return($,J,Q)=>{if(J)T.defineParameter($,J,Q,{index:Q,type:"oauth-user",required:!0})}}function lQ(){return($,J,Q)=>{if(J)T.defineParameter($,J,Q,{index:Q,type:"oauth-token",required:!0})}}function mQ($){return $.get("oauth.user")||null}function cQ($){return $.get("oauth.token")||null}function nQ($){return $.get("oauth.authenticated")===!0}function dQ($){return $.get("oauth.provider")||null}class l8{store;config;constructor($,J){this.store=$;this.config={name:"sessionId",maxAge:86400000,secure:!1,httpOnly:!0,sameSite:"lax",path:"/",rolling:!1,genid:()=>crypto.randomUUID(),...J,domain:J.domain}}async createSession($,J={},Q){let W=this.config.genid(),H=new Date,X=Q?.maxAge||this.config.maxAge,q={id:W,userId:$,data:J,createdAt:H,updatedAt:H,expiresAt:new Date(H.getTime()+X),ipAddress:Q?.ipAddress,userAgent:Q?.userAgent,csrfToken:this.generateCSRFToken()};return await this.store.set(W,q),q}async getSession($){return await this.store.get($)}async updateSession($,J){let Q=await this.store.get($);if(!Q)return null;if(Q.data={...Q.data,...J},Q.updatedAt=new Date,this.config.rolling)Q.expiresAt=new Date(Date.now()+this.config.maxAge);return await this.store.set($,Q),Q}async touchSession($){if(this.config.rolling){let J=await this.store.get($);if(J)J.updatedAt=new Date,J.expiresAt=new Date(Date.now()+this.config.maxAge),await this.store.set($,J)}else await this.store.touch($)}async destroySession($){await this.store.destroy($)}async regenerateSession($){let J=await this.store.get($);if(!J)return null;let Q=this.config.genid(),W={...J,id:Q,updatedAt:new Date,csrfToken:this.generateCSRFToken()};return await this.store.set(Q,W),await this.store.destroy($),W}async getUserSessions($){return(await this.store.all()).filter((Q)=>Q.userId===$)}async destroyUserSessions($){let J=await this.getUserSessions($);for(let Q of J)await this.store.destroy(Q.id)}validateCSRFToken($,J){return $.csrfToken===J}generateCSRFToken(){return crypto.randomUUID()}getCookieOptions(){let $={maxAge:this.config.maxAge,secure:this.config.secure,httpOnly:this.config.httpOnly,sameSite:this.config.sameSite,path:this.config.path};if(this.config.domain)$.domain=this.config.domain;return $}getConfig(){return{...this.config}}getStore(){return this.store}}var iQ=z.object({id:z.string(),userId:z.string(),data:z.record(z.any()),createdAt:z.date(),updatedAt:z.date(),expiresAt:z.date().optional(),ipAddress:z.string().optional(),userAgent:z.string().optional(),csrfToken:z.string().optional()}),Bj=z.object({name:z.string().optional(),secret:z.string(),maxAge:z.number().optional(),secure:z.boolean().optional(),httpOnly:z.boolean().optional(),sameSite:z.enum(["strict","lax","none"]).optional(),domain:z.string().optional(),path:z.string().optional(),rolling:z.boolean().optional()}),wj=z.object({userId:z.string(),data:z.record(z.any()).optional(),maxAge:z.number().optional(),ipAddress:z.string().optional(),userAgent:z.string().optional()}),Dj=z.object({data:z.record(z.any())});F1();function pQ($={}){return(J,Q)=>{let W={config:$};T.defineSession(J,Q,W)}}function sQ(){return($,J,Q)=>{if(J)T.defineParameter($,J,Q,{index:Q,type:"current-session",required:!0})}}function oQ(){return($,J,Q)=>{if(J)T.defineParameter($,J,Q,{index:Q,type:"csrf-token",required:!0})}}function rQ(){return($,J)=>{T.defineCSRF($,J,{required:!0})}}function tQ($,J){return async(Q,W)=>{let H=$.getConfig(),X=V6(Q,H.name),q=null;if(X){if(q=await $.getSession(X),q)await $.touchSession(X)}Q.set("session",q),Q.set("sessionManager",$),Q.set("csrfProtection",J),await W()}}class m8{sessionManager;csrfProtection;constructor($,J){this.sessionManager=$;this.csrfProtection=J}checkSession($,J){let Q=E0($);if(J.required&&!Q)throw new Y0("Session required");if(Q&&J.csrf)this.checkCSRF($,Q)}checkCSRF($,J){if(!this.csrfProtection)throw Error("CSRF protection not configured");let Q=$.req.header("X-CSRF-Token")||$.req.query("_csrf");if(!Q)throw new B0("CSRF token required");if(!this.csrfProtection.validateToken(J.id,Q))throw new B0("Invalid CSRF token")}async createSession($,J,Q={}){let W=Q$($);if(!W)throw Error("Session manager not available");let H=$.req.header("X-Forwarded-For")||$.req.header("X-Real-IP")||"unknown",X=$.req.header("User-Agent")||"unknown",q=await W.createSession(J,Q,{ipAddress:H,userAgent:X}),Y=W.getCookieOptions();return F6($,W.getConfig().name,q.id,Y),$.set("session",q),q}async updateSession($,J){let Q=E0($),W=Q$($);if(!Q||!W)return null;let H=await W.updateSession(Q.id,J);if(H)$.set("session",H);return H}async destroySession($){let J=E0($),Q=Q$($);if(!J||!Q)return;await Q.destroySession(J.id);let W=Q.getConfig();if(F6($,W.name,"",{...Q.getCookieOptions(),maxAge:0}),$.set("session",null),this.csrfProtection)this.csrfProtection.removeToken(J.id)}async regenerateSession($){let J=E0($),Q=Q$($);if(!J||!Q)return null;let W=await Q.regenerateSession(J.id);if(W){let H=Q.getCookieOptions();if(F6($,Q.getConfig().name,W.id,H),$.set("session",W),this.csrfProtection)this.csrfProtection.removeToken(J.id),this.csrfProtection.generateToken(W.id)}return W}generateCSRFToken($){let J=E0($);if(!J||!this.csrfProtection)return null;return this.csrfProtection.generateToken(J.id)}}function E0($){return $.get("session")||null}function Q$($){return $.get("sessionManager")||null}function aQ($){return $.get("csrfProtection")||null}function eQ($,J){let Q=E0($);if(!Q)return null;if(J)return Q.data[J];return Q.data}function $W($){return E0($)!==null}function JW($){return E0($)?.userId||null}function QW($,J,Q){let W=E0($);if(W)W.data[J]=Q,$.set("session",W)}function WW($,J){let Q=E0($);if(Q&&J in Q.data)delete Q.data[J],$.set("session",Q)}
149
+ `.trim()}getSchema(){return this.schema}}class N2{name="health";version="1.0.0";options;startTime;logger=I0().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 S5={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 RE={};L1(RE,{WebSocketPlugin:()=>p$,WebSocketManager:()=>l$,WebSocketConnection:()=>c$,WebSocket:()=>y5,OnMessage:()=>m5,OnDisconnect:()=>d5,OnConnect:()=>u5});module.exports=l1(RE);var Ef=F0(Q$());var Af=F0(Q$()),C5=Symbol("route:metadata"),P5=Symbol("controller:metadata"),NY=Symbol("parameter:metadata"),AY=Symbol("dependency:metadata"),K5=Symbol("websocket:metadata"),RY=Symbol("websocket:handler:metadata"),I5=Symbol("graphql:resolver"),n4=Symbol("graphql:field"),T5=Symbol("auth:metadata"),b5=Symbol("oauth:metadata"),f5=Symbol("roles:metadata"),x5=Symbol("permissions:metadata"),k5=Symbol("minimum-role:metadata"),h5=Symbol("resource-permission:metadata"),v5=Symbol("session:metadata"),g5=Symbol("csrf:metadata");class m{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(C5,X,$,H)}static defineParameter($,H,J,Q){let X=this.getParameterMetadata($,H)||[];X[J]=Q,Reflect.defineMetadata(NY,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(AY,X,$,H);let Y=this.getRouteMetadata($,H);this.defineRoute($,H,{...Y,dependencies:X})}static defineController($,H){Reflect.defineMetadata(P5,H,$)}static getRouteMetadata($,H){return Reflect.getMetadata(C5,$,H)}static getParameterMetadata($,H){return Reflect.getMetadata(NY,$,H)}static getDependencyMetadata($,H){return Reflect.getMetadata(AY,$,H)}static getControllerMetadata($){return Reflect.getMetadata(P5,$)}static hasControllerMetadata($){return Reflect.hasMetadata(P5,$)}static hasRouteMetadata($,H){return Reflect.hasMetadata(C5,$,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(K5,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(RY,J,$,H)}static getWebSocketMetadata($){return Reflect.getMetadata(K5,$)}static getWebSocketHandlerMetadata($,H){return Reflect.getMetadata(RY,$,H)}static hasWebSocketMetadata($){return Reflect.hasMetadata(K5,$)}static defineGraphQLResolver($,H){Reflect.defineMetadata(I5,H,$)}static defineGraphQLField($,H,J){Reflect.defineMetadata(n4,J,$,H);let Q=this.getGraphQLFieldsMetadata($.constructor)||[];Q.push(J),Reflect.defineMetadata(n4,Q,$.constructor)}static getGraphQLResolverMetadata($){return Reflect.getMetadata(I5,$)}static getGraphQLFieldsMetadata($){return Reflect.getMetadata(n4,$)||[]}static getGraphQLFieldMetadata($,H){return Reflect.getMetadata(n4,$,H)}static hasGraphQLResolverMetadata($){return Reflect.hasMetadata(I5,$)}static hasGraphQLFieldMetadata($,H){return Reflect.hasMetadata(n4,$,H)}static defineAuth($,H,J){Reflect.defineMetadata(T5,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,auth:J})}static getAuthMetadata($,H){return Reflect.getMetadata(T5,$,H)}static hasAuthMetadata($,H){return Reflect.hasMetadata(T5,$,H)}static defineOAuth($,H,J){Reflect.defineMetadata(b5,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,oauth:J})}static getOAuthMetadata($,H){return Reflect.getMetadata(b5,$,H)}static hasOAuthMetadata($,H){return Reflect.hasMetadata(b5,$,H)}static defineRoles($,H,J){Reflect.defineMetadata(f5,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,roles:J})}static definePermissions($,H,J){Reflect.defineMetadata(x5,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,permissions:J})}static defineMinimumRole($,H,J){Reflect.defineMetadata(k5,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,minimumRole:J})}static getRolesMetadata($,H){return Reflect.getMetadata(f5,$,H)}static getPermissionsMetadata($,H){return Reflect.getMetadata(x5,$,H)}static getMinimumRoleMetadata($,H){return Reflect.getMetadata(k5,$,H)}static hasRolesMetadata($,H){return Reflect.hasMetadata(f5,$,H)}static hasPermissionsMetadata($,H){return Reflect.hasMetadata(x5,$,H)}static hasMinimumRoleMetadata($,H){return Reflect.hasMetadata(k5,$,H)}static defineResourcePermission($,H,J){Reflect.defineMetadata(h5,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,resourcePermission:J})}static getResourcePermissionMetadata($,H){return Reflect.getMetadata(h5,$,H)}static hasResourcePermissionMetadata($,H){return Reflect.hasMetadata(h5,$,H)}static defineSession($,H,J){Reflect.defineMetadata(v5,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,session:J})}static defineCSRF($,H,J){Reflect.defineMetadata(g5,J,$,H);let Q=this.getRouteMetadata($,H);this.defineRoute($,H,{...Q,csrf:J})}static getSessionMetadata($,H){return Reflect.getMetadata(v5,$,H)}static getCSRFMetadata($,H){return Reflect.getMetadata(g5,$,H)}static hasSessionMetadata($,H){return Reflect.hasMetadata(v5,$,H)}static hasCSRFMetadata($,H){return Reflect.hasMetadata(g5,$,H)}}function y5($){return(H)=>{m.defineWebSocket(H,{path:$})}}function u5(){return($,H)=>{m.defineWebSocketHandler($,H,{type:"connect",method:H})}}function m5($){return(H,J)=>{m.defineWebSocketHandler(H,J,{type:"message",method:J,schema:$})}}function d5(){return($,H)=>{m.defineWebSocketHandler($,H,{type:"disconnect",method:H})}}var EE={};L1(EE,{zodToGraphQLType:()=>$0,zodObjectToGraphQLType:()=>DY,zodObjectToGraphQLInput:()=>VY,isNullable:()=>X$,hasResolverMetadata:()=>BY,hasFieldMetadata:()=>wY,getResolverMetadata:()=>GY,getFieldsMetadata:()=>qY,getFieldMetadata:()=>UY,getDefaultValue:()=>F2,getArgumentsMetadata:()=>c4,Subscription:()=>XY,Resolver:()=>HY,Mutation:()=>QY,GraphQLSubscription:()=>XY,GraphQLSchemaBuilder:()=>l4,GraphQLQuery:()=>JY,GraphQLPlugin:()=>p4,GraphQLMutation:()=>QY,GraphQLCtx:()=>WY,GQLSubscription:()=>XY,GQLQuery:()=>JY,GQLMutation:()=>QY,GQLContext:()=>WY,Arg:()=>YY});module.exports=l1(EE);var jE={};L1(jE,{z:()=>R});module.exports=l1(jE);var dE={};L1(dE,{setupTestApp:()=>W7,mockDependency:()=>Y7,createTestClient:()=>v2,createTestApp:()=>h2,clearMocks:()=>G7,TestClient:()=>s$});module.exports=l1(dE);class s${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 c5=($,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 EY=Symbol();var jY=async($,H=Object.create(null))=>{let{all:J=!1,dot:Q=!1}=H,Y=($ instanceof A2?$.raw.headers:$.headers).get("Content-Type");if(Y?.startsWith("multipart/form-data")||Y?.startsWith("application/x-www-form-urlencoded"))return OE($,{all:J,dot:Q});return{}};async function OE($,H){let J=await $.formData();if(J)return ZE(J,H);return{}}function ZE($,H){let J=Object.create(null);if($.forEach((Q,X)=>{if(!(H.all||X.endsWith("[]")))J[X]=Q;else LE(J,X,Q)}),H.dot)Object.entries(J).forEach(([Q,X])=>{if(Q.includes("."))ME(J,Q,X),delete J[Q]});return J}var LE=($,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]},ME=($,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 p5=($)=>{let H=$.split("/");if(H[0]==="")H.shift();return H},OY=($)=>{let{groups:H,path:J}=SE($),Q=p5(J);return CE(Q,H)},SE=($)=>{let H=[];return $=$.replace(/\{[^}]+\}/g,(J,Q)=>{let X=`@${Q}`;return H.push([X,J]),X}),{groups:H,path:$}},CE=($,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 $},R2={},ZY=($,H)=>{if($==="*")return"*";let J=$.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(J){let Q=`${$}#${H}`;if(!R2[Q])if(J[2])R2[Q]=H&&H[0]!==":"&&H[0]!=="*"?[Q,J[1],new RegExp(`^${J[2]}(?=/${H})`)]:[$,J[1],new RegExp(`^${J[2]}$`)];else R2[Q]=[$,J[1],!0];return R2[Q]}return null},o$=($,H)=>{try{return H($)}catch{return $.replace(/(?:%[0-9A-Fa-f]{2})+/g,(J)=>{try{return H(J)}catch{return J}})}},PE=($)=>o$($,decodeURI),n5=($)=>{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 PE(W.includes("%25")?W.replace(/%25/g,"%2525"):W)}else if(X===63)break}return H.slice(J,Q)};var LY=($)=>{let H=n5($);return H.length>1&&H.at(-1)==="/"?H.slice(0,-1):H},W$=($,H,...J)=>{if(J.length)H=W$(H,...J);return`${$?.[0]==="/"?"":"/"}${$}${H==="/"?"":`${$?.at(-1)==="/"?"":"/"}${H?.[0]==="/"?H.slice(1):H}`}`},E2=($)=>{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)},l5=($)=>{if(!/[%+]/.test($))return $;if($.indexOf("+")!==-1)$=$.replace(/\+/g," ");return $.indexOf("%")!==-1?o$($,i4):$},MY=($,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 l5($.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=l5(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=l5(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},SY=MY,CY=($,H)=>{return MY($,H,!0)},i4=decodeURIComponent;var PY=($)=>o$($,i4),A2=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)?PY(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)?PY(Q):Q}return $}#X($){return this.#$[1]?this.#$[1][$]:$}query($){return SY(this.url,$)}queries($){return CY(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 jY(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[EY](){return this.#$}get matchedRoutes(){return this.#$[0].map(([[,$]])=>$)}get routePath(){return this.#$[0].map(([[,$]])=>$)[this.routeIndex].path}};var KY={Stringify:1,BeforeStream:2,Stream:3},KE=($,H)=>{let J=new String($);return J.isEscaped=!0,J.callbacks=H,J};var i5=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)=>i5(q,H,!1,Q,X))).then(()=>X[0]));if(J)return KE(await W,Y);else return W};var IE="text/plain; charset=UTF-8",s5=($,H)=>{return{"Content-Type":$,...H}},IY=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 A2(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,s5(IE,J))};json=($,H,J)=>{return this.#W(JSON.stringify($),H,s5("application/json",J))};html=($,H,J)=>{let Q=(X)=>this.#W(X,H,s5("text/html; charset=UTF-8",J));return typeof $==="object"?i5($,KY.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",TY="all",bY=["get","post","put","delete","options","patch"],j2="Can not add a route since the matcher is already built.",O2=class extends Error{};var fY="__COMPOSED_HANDLER";var TE=($)=>{return $.text("404 Not Found",404)},xY=($,H)=>{if("getResponse"in $){let J=$.getResponse();return H.newResponse(J.body,J)}return console.error($),H.text("Internal Server Error",500)},o5=class{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#H="/";routes=[];constructor($={}){[...bY,TY].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??n5:LY}#$(){let $=new o5({router:this.router,getPath:this.getPath});return $.errorHandler=this.errorHandler,$.#J=this.#J,$.routes=this.routes,$}#J=TE;errorHandler=xY;route($,H){let J=this.basePath($);return H.routes.map((Q)=>{let X;if(H.errorHandler===xY)X=Q.handler;else X=async(Y,W)=>(await c5([],H.errorHandler)(Y,()=>Q.handler(Y,W))).res,X[fY]=Q.handler;J.#Y(Q.method,Q.path,X)}),this}basePath($){let H=this.#$();return H._basePath=W$(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=W$(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,W$($,"*"),W),this}#Y($,H,J){$=$.toUpperCase(),H=W$(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 IY($,{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=c5(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${W$("/",$)}`,H),J,Q)};fire=()=>{addEventListener("fetch",($)=>{$.respondWith(this.#Q($.request,$,void 0,$.request.method))})}};var Z2="[^/]+",s4=".*",o4="(?:|/.*)",G$=Symbol(),bE=new Set(".\\+*[^]$()");function fE($,H){if($.length===1)return H.length===1?$<H?-1:1:-1;if(H.length===1)return 1;if($===s4||$===o4)return 1;else if(H===s4||H===o4)return-1;if($===Z2)return 1;else if(H===Z2)return-1;return $.length===H.length?$<H?-1:1:H.length-$.length}var L2=class{#H;#$;#J=Object.create(null);insert($,H,J,Q,X){if($.length===0){if(this.#H!==void 0)throw G$;if(X)return;this.#H=H;return}let[Y,...W]=$,G=Y==="*"?W.length===0?["","",s4]:["","",Z2]:Y==="/*"?["","",o4]:Y.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),q;if(G){let U=G[1],B=G[2]||Z2;if(U&&G[2]){if(B===".*")throw G$;if(B=B.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(B))throw G$}if(q=this.#J[B],!q){if(Object.keys(this.#J).some((w)=>w!==s4&&w!==o4))throw G$;if(X)return;if(q=this.#J[B]=new L2,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!==s4&&U!==o4))throw G$;if(X)return;q=this.#J[Y]=new L2}q.insert(W,H,J,Q,X)}buildRegExpStr(){let H=Object.keys(this.#J).sort(fE).map((J)=>{let Q=this.#J[J];return(typeof Q.#$==="number"?`(${J})@${Q.#$}`:bE.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 kY=class{#H={varIndex:0};#$=new L2;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 hY=[],xE=[/^$/,[],Object.create(null)],vY=Object.create(null);function gY($){return vY[$]??=new RegExp($==="*"?"":`^${$.replace(/\/\*$|([.\\+*[^\]$()])/g,(H,J)=>J?`\\${J}`:"(?:|/.*)")}$`)}function kE(){vY=Object.create(null)}function hE($){let H=new kY,J=[];if($.length===0)return xE;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)]),hY];else B++;let A;try{A=H.insert(V,B,_)}catch(E){throw E===G$?new O2(V):E}if(_)continue;J[B]=D.map(([E,Z])=>{let M=Object.create(null);Z-=1;for(;Z>=0;Z--){let[L,b]=A[Z];M[L]=b}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 r$($,H){if(!$)return;for(let J of Object.keys($).sort((Q,X)=>X.length-Q.length))if(gY(J).test(H))return[...$[J]];return}var r5=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(j2);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=gY(H);if($===V1)Object.keys(Q).forEach((q)=>{Q[q][H]||=r$(Q[q],H)||r$(Q[V1],H)||[]});else Q[$][H]||=r$(Q[$],H)||r$(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=E2(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]||=[...r$(Q[B],U)||r$(Q[V1],U)||[]],X[B][U].push([J,Y-q+G+1])})}}match($,H){kE();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[[],hY];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 hE(H)}};var a5=class{name="SmartRouter";#H=[];#$=[];constructor($){this.#H=$.routers}add($,H,J){if(!this.#$)throw Error(j2);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 O2)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 r4=Object.create(null),t5=class{#H;#$;#J;#Y=0;#X=r4;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=OY(H),Y=[];for(let W=0,G=X.length;W<G;W++){let q=X[W],U=X[W+1],B=ZY(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 t5,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!==r4||Q&&Q!==r4)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=r4;let X=[this],Y=p5(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===r4?{}:{...D.#X};if(M==="*"){let d=D.#$["*"];if(d)J.push(...this.#Q(d,$,D.#X)),d.#X=L,w.push(d);continue}let[b,v,l]=M;if(!U&&!(l instanceof RegExp))continue;let i=D.#$[b],J1=Y.slice(G).join("/");if(l instanceof RegExp){let d=l.exec(J1);if(d){if(L[v]=d[0],J.push(...this.#Q(i,$,D.#X,L)),Object.keys(i.#$).length){i.#X=L;let W1=d[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 e5=class{name="TrieRouter";#H;constructor(){this.#H=new t5}add($,H,J){let Q=E2(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 $7=class extends o5{constructor($={}){super($);this.router=$.router??new a5({routers:[new r5,new e5]})}};class a4{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 vE=/^[\w!#$%&'*.^`|~+-]+$/,gE=/^[ !#-:<-[\]-~]*$/,H7=($,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||!vE.test(W))continue;let G=X.substring(Y+1).trim();if(G.startsWith('"')&&G.endsWith('"'))G=G.slice(1,-1);if(gE.test(G)){if(Q[W]=G.indexOf("%")!==-1?o$(G,i4):G,H)break}}return Q};var yE=($,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},M2=($,H,J)=>{return H=encodeURIComponent(H),yE($,H,J)};var S2=($,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 H7(Q,Y)[Y]}if(!Q)return{};return H7(Q)};var uE=($,H,J)=>{let Q;if(J?.prefix==="secure")Q=M2("__Secure-"+$,H,{path:"/",...J,secure:!0});else if(J?.prefix==="host")Q=M2("__Host-"+$,H,{...J,path:"/",secure:!0,domain:void 0});else Q=M2($,H,{path:"/",...J});return Q},C2=($,H,J,Q)=>{let X=uE(H,J,Q);$.header("Set-Cookie",X,{append:!0})};class J7{static json($,H=200,J){return new P2($,H,J)}static html($,H=200){return new K2($,H)}static file($,H){return new T2($,H)}static stream($,H){return new b2($,H)}static redirect($,H=302){return new I2($,H)}}class P2{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 K2{content;status;constructor($,H=200){this.content=$;this.status=H}toHonoResponse($){return $.html(this.content,this.status)}}class I2{url;status;constructor($,H=302){this.url=$;this.status=H}toHonoResponse($){return $.redirect(this.url,this.status)}}class T2{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 b2{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 f2{static serialize($,H){if(H===null||H===void 0)return $.body(null,204);if(H instanceof J7)return H;if(H instanceof P2)return H.toHonoResponse($);if(H instanceof K2)return H.toHonoResponse($);if(H instanceof T2)return H.toHonoResponse($);if(H instanceof b2)return H.toHonoResponse($);if(H instanceof I2)return H.toHonoResponse($);if(H&&typeof H.toHonoResponse==="function")return H.toHonoResponse($);return $.json(H)}}class t4{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))}}i$();class $9{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=t4.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(() => (f4(),_5)),{parseTTL:w}=await Promise.resolve().then(() => q5);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(() => q5),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(() => (f4(),_5));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 f2.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 z2(`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=S2($,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(() => (U$(),yY));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(() => K8);X=G($);break;case"abort-signal":let{getAbortSignal:q}=await Promise.resolve().then(() => K8);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}}i$();class H9{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 h0)return console.log("Handling as ValidationException"),this.handleValidationException($,H);if($ instanceof x1)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(`
150
+ `).map((Q)=>Q.trim())}else J.message="An unexpected error occurred";return H.json(J,500)}isDevelopmentMode(){return this.isDevelopment}setDevelopmentMode($){this.isDevelopment=$}}class J9{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 B${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 $7,this.metadata=new m,this.container=new a4,this.validator=new Y$,this.errorHandler=new H9,this.pluginManager=new J9,this.compiler=new $9(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=m.getControllerMetadata($);if(H)this.metadata.registerController($,H);let J=m.getRouteMethods($);for(let Q of J){let X=m.getRouteMetadata($.prototype,Q),Y=m.getParameterMetadata($.prototype,Q),W=m.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 dY(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:mY,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=z4($);this.use(H)}useRateLimit($){let H=N4($);this.use(H)}useCompression($){let H=A4($);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=I0().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}=l1(X7);return new H(this.hono)}case"express":{let{ExpressAdapter:H}=l1(uY);return new H(this)}case"native":{let{HonoAdapter:H}=l1(X7);return new H(this.hono)}default:throw Error(`Unknown adapter type: ${$}. Supported adapters: 'hono', 'express', 'native'`)}}}class mY{}class dY{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 h2($){let H={docs:!1,cors:!1,...$};return new B$(H)}function Y7($,H,J,Q){let X=$.getContainer(),Y=typeof J==="function"?J:()=>J;X.register(H,{scope:Q?.scope||"singleton",factory:Y})}function v2($){return new s$($)}async function W7($,H){let J=h2(H);await $(J),await J.compile();let Q=v2(J);return{app:J,client:Q}}function G7($){$.getContainer().clear()}var fC={};L1(fC,{zodToJsonSchema:()=>V2,zodToGraphQLType:()=>$0,zodObjectToGraphQLType:()=>DY,zodObjectToGraphQLInput:()=>VY,z:()=>R,withRepositoryMixin:()=>RC,transactionMiddleware:()=>J3,setupTestApp:()=>W7,setSessionData:()=>HB,setRequestMetadata:()=>Z3,setRequestContext:()=>P8,setGlobalTransactionManager:()=>m1,setCache:()=>B5,requestLoggingMiddleware:()=>rA,removeSessionData:()=>JB,parseTTL:()=>r0,mockDependency:()=>Y7,isSessionAuthenticated:()=>eU,isOAuthAuthenticated:()=>cU,isNullable:()=>X$,isAuthenticated:()=>BC,invalidateCache:()=>D5,initializeRequestContext:()=>R4,initializeLogger:()=>oA,hasResolverMetadata:()=>BY,hasFieldMetadata:()=>wY,globalTransactionEventManager:()=>N$,globalRepositoryRegistry:()=>EC,getUserRoles:()=>a7,getUserPermissions:()=>xU,getTransactionInterceptor:()=>DB,getToken:()=>s7,getSessionUserId:()=>$B,getSessionManager:()=>q4,getSessionData:()=>tU,getResolverMetadata:()=>GY,getRequestMetadata:()=>L3,getRequestId:()=>E3,getRequestDuration:()=>E4,getRequestContext:()=>N0,getRBACManager:()=>fU,getOAuthUser:()=>mU,getOAuthToken:()=>dU,getOAuthProvider:()=>lU,getLogger:()=>I0,getGlobalTransactionManager:()=>M0,getFieldsMetadata:()=>qY,getFieldMetadata:()=>UY,getDefaultValue:()=>F2,getCurrentUser:()=>u0,getCurrentSession:()=>y1,getCache:()=>U5,getCSRFProtection:()=>aU,getAuthError:()=>wC,getArgumentsMetadata:()=>c4,getAbortSignal:()=>j3,generateRequestId:()=>C8,errorLoggingMiddleware:()=>aA,deleteCache:()=>w5,createTypeORMPlugin:()=>EB,createTransactionalProxy:()=>OC,createTransactionPlugin:()=>bC,createTestClient:()=>v2,createTestApp:()=>h2,createSimpleRequestIdMiddleware:()=>G5,createSessionMiddleware:()=>rU,createRequestContextMiddleware:()=>W5,createRedisCacheStore:()=>OB,createRateLimitMiddleware:()=>N4,createRBACMiddleware:()=>r7,createPrismaPlugin:()=>RB,createLogger:()=>Y5,createDefaultRBAC:()=>n7,createCorsMiddleware:()=>z4,createCompressionMiddleware:()=>A4,createChildLogger:()=>o0,createCacheMiddleware:()=>F5,createCacheInvalidationMiddleware:()=>z5,createAuthMiddleware:()=>i7,clearMocks:()=>G7,clearCache:()=>V5,cleanupRequestContext:()=>j4,checkUserRole:()=>zC,checkUserPermission:()=>NC,abortRequest:()=>O3,ZodToJsonSchemaConverter:()=>O0,WebSocketPlugin:()=>p$,WebSocketManager:()=>l$,WebSocketConnection:()=>c$,WebSocket:()=>y5,VeloceTS:()=>B$,Veloce:()=>B$,ValidationException:()=>h0,ValidationEngine:()=>Y$,UseMiddleware:()=>aE,UnauthorizedException:()=>FY,TypeORMTransactionManager:()=>R9,TypeORMRepository:()=>L0,TypeORMPlugin:()=>j8,TypeORMEntity:()=>jB,TransactionalWithPropagation:()=>z$,Transactional:()=>UB,TransactionTemplate:()=>NB,TransactionService:()=>zB,TransactionPropagationManager:()=>_B,TransactionPropagation:()=>VB,TransactionPlugin:()=>X3,TransactionMetricsListener:()=>R8,TransactionLoggingListener:()=>A8,TransactionInterceptor:()=>d0,TransactionEventType:()=>FB,TransactionEventManager:()=>Q3,TokenRevokedException:()=>Q7,TokenPayloadSchema:()=>HC,TokenExpiredException:()=>e4,Token:()=>UC,TestClient:()=>s$,Supports:()=>MC,SuperAdminOnly:()=>_C,Subscription:()=>XY,StreamResponse:()=>b2,SessionManager:()=>t7,SessionGuard:()=>e7,SessionDataSchema:()=>pU,Session:()=>nU,RouterCompiler:()=>$9,Roles:()=>TU,RoleSchema:()=>XC,RoleAssignmentSchema:()=>YC,ResponseSerializer:()=>f2,Response:()=>J7,Resolver:()=>HY,RequiresNew:()=>LC,Required:()=>ZC,RequireRole:()=>o7,RequirePermission:()=>DC,RequireCSRF:()=>oU,RequestId:()=>oY,RepositoryService:()=>QB,RepositoryRegistry:()=>N9,RepositoryFactory:()=>_$,Repository:()=>qB,RefreshRequestSchema:()=>QC,RedisCacheStore:()=>Z8,RedirectResponse:()=>I2,RBACPlugin:()=>kU,RBACManager:()=>W4,RBACGuard:()=>z9,QueryBuilderFactory:()=>XB,QueryBuilder:()=>z8,Query:()=>lY,Put:()=>nE,PrismaZodSchemaGenerator:()=>B4,PrismaTransactionManager:()=>A9,PrismaRepository:()=>Z0,PrismaPlugin:()=>E8,Post:()=>pE,PluginManager:()=>J9,Permissions:()=>bU,PermissionMatcher:()=>G4,PermissionCheckSchema:()=>WC,Patch:()=>sE,Param:()=>pY,PaginationTransformer:()=>WB,PaginationHelper:()=>U4,PaginationBuilder:()=>YB,Paginated:()=>jC,OpenAPIPlugin:()=>_2,OpenAPIGenerator:()=>J$,OnTransactionRollback:()=>TC,OnTransactionCommit:()=>IC,OnTransactionBegin:()=>KC,OnMessage:()=>m5,OnDisconnect:()=>d5,OnConnect:()=>u5,OAuthUserSchema:()=>vU,OAuthUser:()=>yU,OAuthToken:()=>uU,OAuth:()=>gU,NotSupported:()=>SC,NotFoundException:()=>_Y,Never:()=>PC,Mutation:()=>QY,MinimumRole:()=>FC,Migration:()=>Y3,MetadataRegistry:()=>m,MetadataCompiler:()=>t4,MemoryCacheStore:()=>b4,Mandatory:()=>CC,LoginRequestSchema:()=>JC,JWTProvider:()=>F8,JSONResponse:()=>P2,InvalidTokenException:()=>q$,InMemoryUserProvider:()=>IU,InMemoryTransactionManager:()=>F$,HonoAdapter:()=>x2,HealthCheckers:()=>S5,HealthCheckPlugin:()=>N2,Header:()=>nY,HTTPException:()=>x1,HTMLResponse:()=>K2,GraphQLSubscription:()=>XY,GraphQLSchemaBuilder:()=>l4,GraphQLQuery:()=>JY,GraphQLPlugin:()=>p4,GraphQLMutation:()=>QY,GraphQLCtx:()=>WY,Get:()=>lE,GenericRepository:()=>AC,GQLSubscription:()=>XY,GQLQuery:()=>JY,GQLMutation:()=>QY,GQLContext:()=>WY,ForbiddenException:()=>zY,FileResponse:()=>T2,FastAPITS:()=>B$,ExpressAdapter:()=>k2,ErrorHandler:()=>H9,Entity:()=>BB,DrizzleZodSchemaConverter:()=>O8,DrizzleTransactionManager:()=>E9,DrizzleRepository:()=>u1,DrizzlePlugin:()=>W3,Depends:()=>rE,Delete:()=>iE,DefaultQueryOperators:()=>$3,DIContainer:()=>a4,CursorPaginationHelper:()=>H3,CurrentUser:()=>qC,CurrentSession:()=>iU,Ctx:()=>sY,Cookie:()=>iY,Controller:()=>cE,Column:()=>wB,CacheManager:()=>f1,CacheInvalidate:()=>tY,Cache:()=>aY,CSRFToken:()=>sU,Body:()=>cY,BaseTransactionManager:()=>Q0,BaseRepository:()=>m0,BadRequestException:()=>z2,AuthorizationException:()=>S1,AuthenticationException:()=>Z1,AuthService:()=>F9,AuthPlugin:()=>hU,Auth:()=>GC,Arg:()=>YY,ApiResponse:()=>eE,ApiDoc:()=>tE,All:()=>oE,AdminOnly:()=>VC,AbortSignal:()=>rY});module.exports=l1(fC);var oy=F0(Q$());function cE($="",H){return(J)=>{let Q=$.trim();if(Q&&!Q.startsWith("/"))Q="/"+Q;if(Q.endsWith("/"))Q=Q.slice(0,-1);m.defineController(J,{prefix:Q,middleware:H?.middleware||[]})}}function a$($){return(H="")=>{return(J,Q)=>{let X=H.trim();if(X&&!X.startsWith("/"))X="/"+X;let Y=Reflect.getMetadata("route:middleware",J,Q)||[];m.defineRoute(J,Q,{method:$,path:X,middleware:Y,parameters:[],dependencies:[],responses:[]})}}}var lE=a$("GET"),pE=a$("POST"),nE=a$("PUT"),iE=a$("DELETE"),sE=a$("PATCH"),oE=a$("ALL");function cY($){return(H,J,Q)=>{if(!J)return;let X={index:Q,type:"body",schema:$,required:!0};m.defineParameter(H,J,Q,X)}}function lY($){return(H,J,Q)=>{if(!J)return;let X={index:Q,type:"query",required:!1};if(typeof $==="string")X.name=$;else if($)X.schema=$;m.defineParameter(H,J,Q,X)}}function pY($){return(H,J,Q)=>{if(!J)return;let X={index:Q,type:"param",name:$,required:!0};m.defineParameter(H,J,Q,X)}}function nY($){return(H,J,Q)=>{if(!J)return;let X={index:Q,type:"header",name:$,required:!1};m.defineParameter(H,J,Q,X)}}function iY($){return(H,J,Q)=>{if(!J)return;let X={index:Q,type:"cookie",name:$,required:!1};m.defineParameter(H,J,Q,X)}}function sY(){return($,H,J)=>{if(!H)return;let Q={index:J,type:"context",required:!0};m.defineParameter($,H,J,Q)}}function oY(){return($,H,J)=>{if(!H)return;let Q={index:J,type:"request-id",required:!1};m.defineParameter($,H,J,Q)}}function rY(){return($,H,J)=>{if(!H)return;let Q={index:J,type:"abort-signal",required:!1};m.defineParameter($,H,J,Q)}}function rE($,H="request"){return(J,Q,X)=>{if(Q===void 0)throw Error("@Depends decorator can only be used on method parameters, not constructor parameters");m.defineDependency(J,Q,X,{index:X,provider:$,scope:H})}}function aE(...$){return(H,J)=>{let Q=Reflect.getMetadata("route:middleware",H,J)||[];Reflect.defineMetadata("route:middleware",[...Q,...$],H,J)}}function tE($){return(H,J)=>{let Q=m.getRouteMetadata(H,J);m.defineRoute(H,J,{...Q,docs:{...Q?.docs,...$}})}}function eE($){return(H,J)=>{let Q=m.getRouteMetadata(H,J),X=Q?.responses||[],Y=X.findIndex((G)=>G.statusCode===$.statusCode),W;if(Y>=0)W=[...X],W[Y]=$;else W=[...X,$];m.defineRoute(H,J,{...Q,responses:W})}}function aY($){return(H,J)=>{Reflect.defineMetadata("cache:options",$,H,J);let Q=m.getRouteMetadata(H,J);if(Q)m.defineRoute(H,J,{...Q,cache:$})}}function tY($){return(H,J)=>{let Q=Array.isArray($)?$:[$];Reflect.defineMetadata("cache:invalidate",Q,H,J);let X=m.getRouteMetadata(H,J);if(X)m.defineRoute(H,J,{...X,cacheInvalidate:Q})}}i$();U$();var y0=F0(KU());class F8{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=y0.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=y0.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 y0.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=y0.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 y0.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 HC=R.object({sub:R.string(),iat:R.number().optional(),exp:R.number().optional(),iss:R.string().optional(),aud:R.string().optional()}).passthrough(),JC=R.object({username:R.string().min(1),password:R.string().min(1)}),QC=R.object({refreshToken:R.string().min(1)});U$();class F9{config;userProvider;jwtProvider;constructor($,H){this.config=$;this.userProvider=H;this.jwtProvider=new F8($)}async login($,H){let J=await this.userProvider.findByCredentials($,H);if(!J)throw new Z1("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 q$(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 Z1("User not found");return J}catch(H){if(H instanceof Error){if(H.message.includes("expired"))throw new e4;throw new q$(H.message)}throw new q$("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 IU{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 W4{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 n7(){let $=new W4;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 XC=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()}),YC=R.object({userId:R.string(),roles:R.array(R.string())}),WC=R.object({userId:R.string(),permission:R.string()});class G4{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 GC($){return(H,J)=>{let Q={required:!$?.optional,config:$};m.defineAuth(H,J,Q)}}function qC(){return($,H,J)=>{if(H)m.defineParameter($,H,J,{index:J,type:"current-user",required:!1})}}function UC(){return($,H,J)=>{if(H)m.defineParameter($,H,J,{index:J,type:"token",required:!1})}}function i7($){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 u0($){return $.get("auth.user")||null}function s7($){return $.get("auth.token")||null}function BC($){return $.get("auth.authenticated")===!0}function wC($){return $.get("auth.error")||null}U$();function TU($){return(H,J)=>{let X={config:Array.isArray($)?{roles:$,requireAll:!1,allowInherited:!0}:{requireAll:!1,allowInherited:!0,...$}};m.defineRoles(H,J,X)}}function bU($){return(H,J)=>{let X={config:Array.isArray($)?{permissions:$,requireAll:!1}:{requireAll:!1,...$}};m.definePermissions(H,J,X)}}function o7($){return TU([$])}function DC($){return bU([$])}function VC(){return o7("admin")}function _C(){return o7("super-admin")}function FC($){return(H,J)=>{m.defineMinimumRole(H,J,{roleName:$})}}function r7($){return async(H,J)=>{H.set("rbac",$),await J()}}class z9{rbac;constructor($){this.rbac=$}checkRoles($,H){let J=u0($);if(!J)throw new S1("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 S1(`Access denied. Required ${W} of roles: ${H.roles.join(", ")}`)}}checkPermissions($,H){let J=u0($);if(!J)throw new S1("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)=>G4.hasPermission(Y,G));else W=H.permissions.some((G)=>G4.hasPermission(Y,G));if(!W){let G=H.requireAll?"all":"any";throw new S1(`Access denied. Required ${G} of permissions: ${H.permissions.join(", ")}`)}}checkMinimumRole($,H){let J=u0($);if(!J)throw new S1("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 S1(`Access denied. Minimum role level required: ${H} (level ${W})`)}}function fU($){return $.get("rbac")||null}function a7($){return u0($)?.roles||[]}function xU($){let H=fU($),J=a7($);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 zC($,H){return a7($).includes(H)}function NC($,H){let J=xU($);return G4.hasPermission(J,H)}class kU{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=n7();else this.rbac=new W4;if($.roles)this.rbac.defineRoles($.roles);this.guard=new z9(this.rbac)}async install($){let H=r7(this.rbac);if($.use(H),$.getContainer().register(W4,{factory:()=>this.rbac,scope:"singleton"}),$.getContainer().register(z9,{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}}U$();class hU{config;name="auth";version="1.0.0";authService;constructor($){this.config=$;this.authService=new F9($.jwt,$.userProvider)}async install($){let H=i7(this.authService.getJWTProvider());if($.use(H),$.getContainer().register(F9,{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=m.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 Z1(_)}if(G?.roles?.length){if(!this.authService.hasRoles(B,G.roles))throw new S1(`Required roles: ${G.roles.join(", ")}`)}if(G?.permissions?.length){if(!this.authService.hasPermissions(B,G.permissions))throw new S1(`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 Z1(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 Z1(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=s7(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 Z1(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=u0(J);if(!Q)throw new Z1("Not authenticated");return{success:!0,user:Q}}})}getAuthService(){return this.authService}}var Tv=R.object({code:R.string(),state:R.string(),error:R.string().optional(),error_description:R.string().optional()}),bv=R.object({accessToken:R.string(),refreshToken:R.string().optional(),expiresIn:R.number().optional(),tokenType:R.string(),scope:R.string().optional()}),vU=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 gU($){return(H,J)=>{let Q={provider:$.provider,config:$};m.defineOAuth(H,J,Q)}}function yU(){return($,H,J)=>{if(H)m.defineParameter($,H,J,{index:J,type:"oauth-user",required:!0})}}function uU(){return($,H,J)=>{if(H)m.defineParameter($,H,J,{index:J,type:"oauth-token",required:!0})}}function mU($){return $.get("oauth.user")||null}function dU($){return $.get("oauth.token")||null}function cU($){return $.get("oauth.authenticated")===!0}function lU($){return $.get("oauth.provider")||null}class t7{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 pU=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()}),vv=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()}),gv=R.object({userId:R.string(),data:R.record(R.any()).optional(),maxAge:R.number().optional(),ipAddress:R.string().optional(),userAgent:R.string().optional()}),yv=R.object({data:R.record(R.any())});U$();function nU($={}){return(H,J)=>{let Q={config:$};m.defineSession(H,J,Q)}}function iU(){return($,H,J)=>{if(H)m.defineParameter($,H,J,{index:J,type:"current-session",required:!0})}}function sU(){return($,H,J)=>{if(H)m.defineParameter($,H,J,{index:J,type:"csrf-token",required:!0})}}function oU(){return($,H)=>{m.defineCSRF($,H,{required:!0})}}function rU($,H){return async(J,Q)=>{let X=$.getConfig(),Y=S2(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 e7{sessionManager;csrfProtection;constructor($,H){this.sessionManager=$;this.csrfProtection=H}checkSession($,H){let J=y1($);if(H.required&&!J)throw new Z1("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 S1("CSRF token required");if(!this.csrfProtection.validateToken(H.id,J))throw new S1("Invalid CSRF token")}async createSession($,H,J={}){let Q=q4($);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 C2($,Q.getConfig().name,W.id,G),$.set("session",W),W}async updateSession($,H){let J=y1($),Q=q4($);if(!J||!Q)return null;let X=await Q.updateSession(J.id,H);if(X)$.set("session",X);return X}async destroySession($){let H=y1($),J=q4($);if(!H||!J)return;await J.destroySession(H.id);let Q=J.getConfig();if(C2($,Q.name,"",{...J.getCookieOptions(),maxAge:0}),$.set("session",null),this.csrfProtection)this.csrfProtection.removeToken(H.id)}async regenerateSession($){let H=y1($),J=q4($);if(!H||!J)return null;let Q=await J.regenerateSession(H.id);if(Q){let X=J.getCookieOptions();if(C2($,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=y1($);if(!H||!this.csrfProtection)return null;return this.csrfProtection.generateToken(H.id)}}function y1($){return $.get("session")||null}function q4($){return $.get("sessionManager")||null}function aU($){return $.get("csrfProtection")||null}function tU($,H){let J=y1($);if(!J)return null;if(H)return J.data[H];return J.data}function eU($){return y1($)!==null}function $B($){return y1($)?.userId||null}function HB($,H,J){let Q=y1($);if(Q)Q.data[H]=J,$.set("session",Q)}function JB($,H){let J=y1($);if(J&&H in J.data)delete J.data[H],$.set("session",J)}class m0{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 Z0 extends m0{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 L0 extends m0{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 u1 extends m0{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 _${static instance;constructor(){}static getInstance(){if(!_$.instance)_$.instance=new _$;return _$.instance}createRepository($,H){switch($){case"prisma":return new Z0(H);case"typeorm":return new L0(H);case"drizzle":return new u1(H);default:throw Error(`Unsupported repository type: ${$}`)}}createPrismaRepository($){return new Z0($)}createTypeORMRepository($){return new L0($)}createDrizzleRepository($){return new u1($)}}class N9{repositories=new Map;factory;constructor(){this.factory=_$.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 AC($,H,J){return(Q,X)=>{let Y={type:"generic-repository",name:$,ormType:H,options:J};Reflect.defineMetadata("inject",Y,Q,X)}}function RC($){return class extends ${repositories=new N9;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 QB{repositories=new N9;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 EC=new N9;class z8{executor;operators;selectFields;whereConditions=[];orderByClause;limitCount;offsetCount;groupByFields;havingConditions=[];joins=[];constructor($,H=new $3){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 $3{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 XB{static create($){return new z8($)}static createWithOperators($,H){return new z8($,H)}}class U4{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 H3{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 YB{baseQuery;options={};constructor($={}){this.baseQuery=$;this.options={...$}}offset($,H){return U4.validatePagination($,H),this.options.pagination={page:$,limit:H,offset:U4.calculateOffset($,H)},this}cursor($,H,J="id"){if(H<1||H>1000)throw Error("Limit must be between 1 and 1000");let Q=H3.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 jC($=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);U4.validatePagination(q,U),G.pagination={page:q,limit:U,offset:U4.calculateOffset(q,U)}}return await Y.apply(this,W)},X}}class WB{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}}d1();d1();var Eg=F0(Q$());function qB($,H){return(J)=>{let Q={entity:$,connection:H,transactional:!1};Reflect.defineMetadata("repository",Q,J)}}function UB($){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 M0().handleTransactional(this,J,W,X,W.find((q)=>q&&typeof q==="object"&&q.req&&q.res))},Q}}function BB($){return(H)=>{let J={tableName:$||H.name.toLowerCase()};Reflect.defineMetadata("entity",J,H)}}function wB($){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)}}d1();class d0{static instance;constructor(){}static getInstance(){if(!d0.instance)d0.instance=new d0;return d0.instance}async intercept($,H,J,Q,X){let Y=M0();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 J3(){return async($,H)=>{let J=d0.getInstance();$.set("transactionInterceptor",J),$.set("transactionContext",$),await H()}}function DB($){return $.get("transactionInterceptor")||d0.getInstance()}function OC($,H){return DB($).createTransactionalProxy(H,$)}var VB;((W)=>{W.REQUIRED="REQUIRED";W.REQUIRES_NEW="REQUIRES_NEW";W.SUPPORTS="SUPPORTS";W.NOT_SUPPORTED="NOT_SUPPORTED";W.MANDATORY="MANDATORY";W.NEVER="NEVER"})(VB||={});class _B{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 z$($){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(() => (d1(),GB));return await G().handleTransactional(this,J,W,X,W.find((U)=>U&&typeof U==="object"&&U.req&&U.res))},Q}}function ZC($){return z$({...$,propagation:"REQUIRED"})}function LC($){return z$({...$,propagation:"REQUIRES_NEW"})}function MC($){return z$({...$,propagation:"SUPPORTS"})}function SC($){return z$({...$,propagation:"NOT_SUPPORTED"})}function CC($){return z$({...$,propagation:"MANDATORY"})}function PC($){return z$({...$,propagation:"NEVER"})}var FB;((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"})(FB||={});class Q3{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 KC(){return($,H)=>{Reflect.defineMetadata("transaction-event","begin",$,H)}}function IC(){return($,H)=>{Reflect.defineMetadata("transaction-event","commit",$,H)}}function TC(){return($,H)=>{Reflect.defineMetadata("transaction-event","rollback",$,H)}}class A8{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 R8{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 N$=new Q3;d1();class X3{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(J3()),this.setupEventListeners(),this.registerTransactionUtilities($),console.log("✅ Transaction plugin installed successfully")}setupTransactionManager(){if(this.config.customTransactionManager)m1(this.config.customTransactionManager);else m1(new F$)}setupEventListeners(){if(this.config.enableLogging){let $=new A8;N$.addListener($)}if(this.config.enableMetrics)this.metricsListener=new R8,N$.addListener(this.metricsListener)}registerTransactionUtilities($){let H=$.getContainer();class J{}class Q{}class X{}if(H.register(J,{scope:"singleton",factory:()=>N$}),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=M0(),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($){N$.addListener($)}removeEventListener($){N$.removeListener($)}}function bC($){return new X3($)}class zB{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 NB{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 B4{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(`
151
+ `),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($)}}}d1();class A9 extends Q0{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}}d1();var w4=F0(require("fs")),AB=F0(require("path"));class E8{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 B4,this.transactionManager=new A9($)}async install($){if(await this.client.$connect(),m1(this.transactionManager),this.config.generateZodSchemas&&this.config.schemaPath)await this.parseAndGenerateSchemas();this.registerRepositoryFactory($),this.registerShutdownHook($),console.log("✅ Prisma plugin installed successfully")}async parseAndGenerateSchemas(){try{if(!w4.default.existsSync(this.config.schemaPath)){console.warn(`⚠️ Prisma schema not found at ${this.config.schemaPath}`);return}let $=w4.default.readFileSync(this.config.schemaPath,"utf-8"),H=B4.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("❌ Failed to parse Prisma schema:",$)}}async generateZodSchemaFile(){let $=AB.default.dirname(this.config.outputPath);if(!w4.default.existsSync($))w4.default.mkdirSync($,{recursive:!0});let H=`// Auto-generated Zod schemas from Prisma schema
152
+ `;H+=`// Do not edit this file manually
125
153
 
126
- //# debugId=0BE5D94E12E47CC464756E2164756E21
154
+ `,H+=`import { z } from 'zod';
155
+
156
+ `;for(let[J,Q]of this.models){let X=this.schemaGenerator.generateAllSchemas(Q);H+=`// ${J} schemas
157
+ `,H+=`export const ${J}Schema = ${this.zodSchemaToString(X.base)};
158
+ `,H+=`export const ${J}CreateSchema = ${this.zodSchemaToString(X.create)};
159
+ `,H+=`export const ${J}UpdateSchema = ${this.zodSchemaToString(X.update)};
160
+
161
+ `,H+=`export type ${J} = z.infer<typeof ${J}Schema>;
162
+ `,H+=`export type ${J}Create = z.infer<typeof ${J}CreateSchema>;
163
+ `,H+=`export type ${J}Update = z.infer<typeof ${J}UpdateSchema>;
164
+
165
+ `}w4.default.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 Z0({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 Z0({client:this.client,delegate:J,model:$,zodSchema:H})}getClient(){return this.client}getTransactionManager(){return this.transactionManager}}function RB($,H){return new E8($,H)}d1();class R9 extends Q0{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}}d1();class j8{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 R9($)}async install($){if(!this.dataSource.isInitialized)await this.dataSource.initialize();m1(this.transactionManager),this.extractEntityMetadata(),this.registerRepositoryFactory($),this.registerMigrationUtilities($),this.registerShutdownHook($),console.log("✅ TypeORM plugin installed successfully")}extractEntityMetadata(){try{let $=this.dataSource.entityMetadatas||this.dataSource.manager.connection?.entityMetadatas||[];for(let 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("❌ 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 L0({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("✅ Migrations executed successfully")},revert:async()=>{if(this.dataSource.undoLastMigration)await this.dataSource.undoLastMigration(),console.log("✅ 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("✅ 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 L0({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("✅ Migrations executed successfully");else console.warn("⚠️ Migration support not available")}async revertMigration(){if(this.dataSource.undoLastMigration)await this.dataSource.undoLastMigration(),console.log("✅ Last migration reverted successfully");else console.warn("⚠️ Migration revert not available")}async synchronize(){if(this.config.synchronize&&this.dataSource.synchronize)await this.dataSource.synchronize(),console.log("✅ Database schema synchronized");else console.warn("⚠️ Schema synchronization is disabled or not available")}async dropSchema(){if(this.config.dropSchema&&this.dataSource.dropDatabase)await this.dataSource.dropDatabase(),console.log("✅ Database schema dropped");else console.warn("⚠️ Schema dropping is disabled or not available")}}function EB($,H){return new j8($,H)}class Y3{}var Qy=F0(Q$());function jB($){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)}}d1();class E9 extends Q0{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}}d1();class O8{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 W3{name="drizzle";version="1.0.0";database;config;transactionManager;schemaConverter;tables=new Map;tableMetadata=new Map;logger=o0({component:"DrizzlePlugin"});constructor($,H){this.database=$,this.config={logger:!1,mode:"default",...H},this.transactionManager=new E9($),this.schemaConverter=new O8}async install($){try{if(this.logger.info("Installing Drizzle ORM plugin..."),m1(this.transactionManager),this.logger.debug("Global transaction manager configured"),this.config.schema)this.registerSchema(this.config.schema);this.registerRepositoryFactory($),this.registerDatabaseUtilities($),this.logger.info("✅ Drizzle plugin installed successfully")}catch(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 u1({database:this.database,table:X,zodSchema:Q||this.tableMetadata.get(J)?.zodSchema})},createFromTable:(J,Q)=>{return new u1({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=o0({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("✅ 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 u1({database:this.database,table:J,zodSchema:H||this.tableMetadata.get($)?.zodSchema})}createRepositoryFromTable($,H){return new u1({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 Z8{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 OB($,H){return new Z8($,H)}f4();
166
+
167
+ //# debugId=9A75D5F8512144A964756E2164756E21