veloce-ts 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/LICENSE +21 -0
  3. package/README.md +442 -0
  4. package/bin/veloce.ts +2 -0
  5. package/dist/cjs/src/cli/index.js +425 -0
  6. package/dist/cjs/src/cli/index.js.map +22 -0
  7. package/dist/cjs/src/docs/index.js +7 -0
  8. package/dist/cjs/src/docs/index.js.map +55 -0
  9. package/dist/cjs/src/errors/index.js +4 -0
  10. package/dist/cjs/src/errors/index.js.map +12 -0
  11. package/dist/cjs/src/graphql/index.js +83 -0
  12. package/dist/cjs/src/graphql/index.js.map +24 -0
  13. package/dist/cjs/src/index.js +126 -0
  14. package/dist/cjs/src/index.js.map +108 -0
  15. package/dist/cjs/src/middleware/index.js +3 -0
  16. package/dist/cjs/src/middleware/index.js.map +12 -0
  17. package/dist/cjs/src/plugins/index.js +125 -0
  18. package/dist/cjs/src/plugins/index.js.map +67 -0
  19. package/dist/cjs/src/testing/index.js +17 -0
  20. package/dist/cjs/src/testing/index.js.map +54 -0
  21. package/dist/cjs/src/types/index.js +3 -0
  22. package/dist/cjs/src/types/index.js.map +16 -0
  23. package/dist/cjs/src/validation/index.js +3 -0
  24. package/dist/cjs/src/validation/index.js.map +19 -0
  25. package/dist/cjs/src/websocket/index.js +3 -0
  26. package/dist/cjs/src/websocket/index.js.map +12 -0
  27. package/dist/esm/chunk-0zxhx5b8.js +7 -0
  28. package/dist/esm/chunk-0zxhx5b8.js.map +10 -0
  29. package/dist/esm/chunk-159eqj8q.js +5 -0
  30. package/dist/esm/chunk-159eqj8q.js.map +12 -0
  31. package/dist/esm/chunk-1hqjkm44.js +5 -0
  32. package/dist/esm/chunk-1hqjkm44.js.map +11 -0
  33. package/dist/esm/chunk-2q6s8v3j.js +6 -0
  34. package/dist/esm/chunk-2q6s8v3j.js.map +10 -0
  35. package/dist/esm/chunk-42h6trpf.js +5 -0
  36. package/dist/esm/chunk-42h6trpf.js.map +9 -0
  37. package/dist/esm/chunk-82f2j0k2.js +60 -0
  38. package/dist/esm/chunk-82f2j0k2.js.map +10 -0
  39. package/dist/esm/chunk-8wrnr45g.js +338 -0
  40. package/dist/esm/chunk-8wrnr45g.js.map +10 -0
  41. package/dist/esm/chunk-9p6d0t33.js +5 -0
  42. package/dist/esm/chunk-9p6d0t33.js.map +10 -0
  43. package/dist/esm/chunk-awven6dt.js +4 -0
  44. package/dist/esm/chunk-awven6dt.js.map +16 -0
  45. package/dist/esm/chunk-gv5n8ddb.js +18 -0
  46. package/dist/esm/chunk-gv5n8ddb.js.map +10 -0
  47. package/dist/esm/chunk-pn7z890c.js +72 -0
  48. package/dist/esm/chunk-pn7z890c.js.map +13 -0
  49. package/dist/esm/chunk-qfsjy9bg.js +7 -0
  50. package/dist/esm/chunk-qfsjy9bg.js.map +10 -0
  51. package/dist/esm/chunk-vkkzgaf7.js +5 -0
  52. package/dist/esm/chunk-vkkzgaf7.js.map +12 -0
  53. package/dist/esm/src/cli/index.js +30 -0
  54. package/dist/esm/src/cli/index.js.map +18 -0
  55. package/dist/esm/src/docs/index.js +8 -0
  56. package/dist/esm/src/docs/index.js.map +48 -0
  57. package/dist/esm/src/errors/index.js +4 -0
  58. package/dist/esm/src/errors/index.js.map +9 -0
  59. package/dist/esm/src/graphql/index.js +4 -0
  60. package/dist/esm/src/graphql/index.js.map +9 -0
  61. package/dist/esm/src/index.js +4 -0
  62. package/dist/esm/src/index.js.map +16 -0
  63. package/dist/esm/src/middleware/index.js +4 -0
  64. package/dist/esm/src/middleware/index.js.map +9 -0
  65. package/dist/esm/src/plugins/index.js +42 -0
  66. package/dist/esm/src/plugins/index.js.map +10 -0
  67. package/dist/esm/src/testing/index.js +4 -0
  68. package/dist/esm/src/testing/index.js.map +39 -0
  69. package/dist/esm/src/types/index.js +4 -0
  70. package/dist/esm/src/types/index.js.map +9 -0
  71. package/dist/esm/src/validation/index.js +4 -0
  72. package/dist/esm/src/validation/index.js.map +9 -0
  73. package/dist/esm/src/websocket/index.js +4 -0
  74. package/dist/esm/src/websocket/index.js.map +9 -0
  75. package/dist/types/adapters/base.d.ts +24 -0
  76. package/dist/types/adapters/base.d.ts.map +1 -0
  77. package/dist/types/adapters/express.d.ts +44 -0
  78. package/dist/types/adapters/express.d.ts.map +1 -0
  79. package/dist/types/adapters/hono.d.ts +44 -0
  80. package/dist/types/adapters/hono.d.ts.map +1 -0
  81. package/dist/types/cli/commands/build.d.ts +3 -0
  82. package/dist/types/cli/commands/build.d.ts.map +1 -0
  83. package/dist/types/cli/commands/dev.d.ts +3 -0
  84. package/dist/types/cli/commands/dev.d.ts.map +1 -0
  85. package/dist/types/cli/commands/generate.d.ts +3 -0
  86. package/dist/types/cli/commands/generate.d.ts.map +1 -0
  87. package/dist/types/cli/commands/new.d.ts +3 -0
  88. package/dist/types/cli/commands/new.d.ts.map +1 -0
  89. package/dist/types/cli/index.d.ts +3 -0
  90. package/dist/types/cli/index.d.ts.map +1 -0
  91. package/dist/types/core/application.d.ts +268 -0
  92. package/dist/types/core/application.d.ts.map +1 -0
  93. package/dist/types/core/compiled-metadata.d.ts +58 -0
  94. package/dist/types/core/compiled-metadata.d.ts.map +1 -0
  95. package/dist/types/core/metadata.d.ts +175 -0
  96. package/dist/types/core/metadata.d.ts.map +1 -0
  97. package/dist/types/core/plugin.d.ts +63 -0
  98. package/dist/types/core/plugin.d.ts.map +1 -0
  99. package/dist/types/core/router-compiler.d.ts +61 -0
  100. package/dist/types/core/router-compiler.d.ts.map +1 -0
  101. package/dist/types/decorators/dependencies.d.ts +28 -0
  102. package/dist/types/decorators/dependencies.d.ts.map +1 -0
  103. package/dist/types/decorators/docs.d.ts +38 -0
  104. package/dist/types/decorators/docs.d.ts.map +1 -0
  105. package/dist/types/decorators/graphql.d.ts +126 -0
  106. package/dist/types/decorators/graphql.d.ts.map +1 -0
  107. package/dist/types/decorators/http.d.ts +74 -0
  108. package/dist/types/decorators/http.d.ts.map +1 -0
  109. package/dist/types/decorators/middleware.d.ts +30 -0
  110. package/dist/types/decorators/middleware.d.ts.map +1 -0
  111. package/dist/types/decorators/params.d.ts +82 -0
  112. package/dist/types/decorators/params.d.ts.map +1 -0
  113. package/dist/types/decorators/websocket.d.ts +61 -0
  114. package/dist/types/decorators/websocket.d.ts.map +1 -0
  115. package/dist/types/dependencies/container.d.ts +93 -0
  116. package/dist/types/dependencies/container.d.ts.map +1 -0
  117. package/dist/types/docs/index.d.ts +3 -0
  118. package/dist/types/docs/index.d.ts.map +1 -0
  119. package/dist/types/docs/openapi-generator.d.ts +50 -0
  120. package/dist/types/docs/openapi-generator.d.ts.map +1 -0
  121. package/dist/types/docs/zod-to-json-schema.d.ts +46 -0
  122. package/dist/types/docs/zod-to-json-schema.d.ts.map +1 -0
  123. package/dist/types/errors/exceptions.d.ts +48 -0
  124. package/dist/types/errors/exceptions.d.ts.map +1 -0
  125. package/dist/types/errors/handler.d.ts +61 -0
  126. package/dist/types/errors/handler.d.ts.map +1 -0
  127. package/dist/types/errors/index.d.ts +7 -0
  128. package/dist/types/errors/index.d.ts.map +1 -0
  129. package/dist/types/graphql/index.d.ts +4 -0
  130. package/dist/types/graphql/index.d.ts.map +1 -0
  131. package/dist/types/graphql/plugin.d.ts +60 -0
  132. package/dist/types/graphql/plugin.d.ts.map +1 -0
  133. package/dist/types/graphql/schema-builder.d.ts +46 -0
  134. package/dist/types/graphql/schema-builder.d.ts.map +1 -0
  135. package/dist/types/graphql/zod-to-graphql.d.ts +22 -0
  136. package/dist/types/graphql/zod-to-graphql.d.ts.map +1 -0
  137. package/dist/types/index.d.ts +34 -0
  138. package/dist/types/index.d.ts.map +1 -0
  139. package/dist/types/middleware/compression.d.ts +7 -0
  140. package/dist/types/middleware/compression.d.ts.map +1 -0
  141. package/dist/types/middleware/cors.d.ts +7 -0
  142. package/dist/types/middleware/cors.d.ts.map +1 -0
  143. package/dist/types/middleware/index.d.ts +4 -0
  144. package/dist/types/middleware/index.d.ts.map +1 -0
  145. package/dist/types/middleware/rate-limit.d.ts +7 -0
  146. package/dist/types/middleware/rate-limit.d.ts.map +1 -0
  147. package/dist/types/plugins/index.d.ts +4 -0
  148. package/dist/types/plugins/index.d.ts.map +1 -0
  149. package/dist/types/plugins/openapi.d.ts +23 -0
  150. package/dist/types/plugins/openapi.d.ts.map +1 -0
  151. package/dist/types/responses/response.d.ts +200 -0
  152. package/dist/types/responses/response.d.ts.map +1 -0
  153. package/dist/types/testing/helpers.d.ts +98 -0
  154. package/dist/types/testing/helpers.d.ts.map +1 -0
  155. package/dist/types/testing/index.d.ts +4 -0
  156. package/dist/types/testing/index.d.ts.map +1 -0
  157. package/dist/types/testing/test-client.d.ts +86 -0
  158. package/dist/types/testing/test-client.d.ts.map +1 -0
  159. package/dist/types/types/index.d.ts +232 -0
  160. package/dist/types/types/index.d.ts.map +1 -0
  161. package/dist/types/validation/exceptions.d.ts +25 -0
  162. package/dist/types/validation/exceptions.d.ts.map +1 -0
  163. package/dist/types/validation/index.d.ts +3 -0
  164. package/dist/types/validation/index.d.ts.map +1 -0
  165. package/dist/types/validation/validator.d.ts +54 -0
  166. package/dist/types/validation/validator.d.ts.map +1 -0
  167. package/dist/types/websocket/connection.d.ts +51 -0
  168. package/dist/types/websocket/connection.d.ts.map +1 -0
  169. package/dist/types/websocket/index.d.ts +4 -0
  170. package/dist/types/websocket/index.d.ts.map +1 -0
  171. package/dist/types/websocket/manager.d.ts +82 -0
  172. package/dist/types/websocket/manager.d.ts.map +1 -0
  173. package/dist/types/websocket/plugin.d.ts +51 -0
  174. package/dist/types/websocket/plugin.d.ts.map +1 -0
  175. package/package.json +149 -0
@@ -0,0 +1,126 @@
1
+ var w4=Object.create;var{getPrototypeOf:D4,defineProperty:b1,getOwnPropertyNames:E2,getOwnPropertyDescriptor:G4}=Object,F2=Object.prototype.hasOwnProperty;var n1=($,X,J)=>{J=$!=null?w4(D4($)):{};let W=X||!$||!$.__esModule?b1(J,"default",{value:$,enumerable:!0}):J;for(let H of E2($))if(!F2.call(W,H))b1(W,H,{get:()=>$[H],enumerable:!0});return W},L2=new WeakMap,Q0=($)=>{var X=L2.get($),J;if(X)return X;if(X=b1({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function")E2($).map((W)=>!F2.call(X,W)&&b1(X,W,{get:()=>$[W],enumerable:!(J=G4($,W))||J.enumerable}));return L2.set($,X),X},N4=($,X)=>()=>(X||$((X={exports:{}}).exports,X),X.exports);var Y0=($,X)=>{for(var J in X)b1($,J,{get:X[J],enumerable:!0,configurable:!0,set:(W)=>X[J]=()=>W})};var gX=($,X)=>()=>($&&(X=$($=0)),X);var M1=N4(()=>{/*! *****************************************************************************
2
+ Copyright (C) Microsoft. All rights reserved.
3
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
+ this file except in compliance with the License. You may obtain a copy of the
5
+ License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
8
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
9
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
10
+ MERCHANTABLITY OR NON-INFRINGEMENT.
11
+
12
+ See the Apache Version 2.0 License for specific language governing permissions
13
+ and limitations under the License.
14
+ ***************************************************************************** */var j6;(function($){(function(X){var J=typeof globalThis==="object"?globalThis:typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:Q(),W=H($);if(typeof J.Reflect<"u")W=H(J.Reflect,W);if(X(W,J),typeof J.Reflect>"u")J.Reflect=$;function H(Y,w){return function(N,F){if(Object.defineProperty(Y,N,{configurable:!0,writable:!0,value:F}),w)w(N,F)}}function _(){try{return Function("return this;")()}catch(Y){}}function B(){try{return(0,eval)("(function() { return this; })()")}catch(Y){}}function Q(){return _()||B()}})(function(X,J){var W=Object.prototype.hasOwnProperty,H=typeof Symbol==="function",_=H&&typeof Symbol.toPrimitive<"u"?Symbol.toPrimitive:"@@toPrimitive",B=H&&typeof Symbol.iterator<"u"?Symbol.iterator:"@@iterator",Q=typeof Object.create==="function",Y={__proto__:[]}instanceof Array,w=!Q&&!Y,N={create:Q?function(){return R$(Object.create(null))}:Y?function(){return R$({__proto__:null})}:function(){return R$({})},has:w?function(q,D){return W.call(q,D)}:function(q,D){return D in q},get:w?function(q,D){return W.call(q,D)?q[D]:void 0}:function(q,D){return q[D]}},F=Object.getPrototypeOf(Function),P=typeof Map==="function"&&typeof Map.prototype.entries==="function"?Map:_4(),n=typeof Set==="function"&&typeof Set.prototype.entries==="function"?Set:B4(),k=typeof WeakMap==="function"?WeakMap:Q4(),Z=H?Symbol.for("@reflect-metadata:registry"):void 0,i=J4(),t=W4(i);function W0(q,D,G,V){if(!C(G)){if(!N2(q))throw TypeError();if(!c(D))throw TypeError();if(!c(V)&&!C(V)&&!i0(V))throw TypeError();if(i0(V))V=void 0;return G=S0(G),s6(q,D,G,V)}else{if(!N2(q))throw TypeError();if(!z2(D))throw TypeError();return d6(q,D)}}X("decorate",W0);function s(q,D){function G(V,R){if(!c(V))throw TypeError();if(!C(R)&&!$4(R))throw TypeError();Y2(q,D,V,R)}return G}X("metadata",s);function H0(q,D,G,V){if(!c(G))throw TypeError();if(!C(V))V=S0(V);return Y2(q,D,G,V)}X("defineMetadata",H0);function r(q,D,G){if(!c(D))throw TypeError();if(!C(G))G=S0(G);return _2(q,D,G)}X("hasMetadata",r);function X0(q,D,G){if(!c(D))throw TypeError();if(!C(G))G=S0(G);return E$(q,D,G)}X("hasOwnMetadata",X0);function _0(q,D,G){if(!c(D))throw TypeError();if(!C(G))G=S0(G);return B2(q,D,G)}X("getMetadata",_0);function A$(q,D,G){if(!c(D))throw TypeError();if(!C(G))G=S0(G);return Q2(q,D,G)}X("getOwnMetadata",A$);function V0(q,D){if(!c(q))throw TypeError();if(!C(D))D=S0(D);return q2(q,D)}X("getMetadataKeys",V0);function L$(q,D){if(!c(q))throw TypeError();if(!C(D))D=S0(D);return w2(q,D)}X("getOwnMetadataKeys",L$);function H2(q,D,G){if(!c(D))throw TypeError();if(!C(G))G=S0(G);if(!c(D))throw TypeError();if(!C(G))G=S0(G);var V=j1(D,G,!1);if(C(V))return!1;return V.OrdinaryDeleteMetadata(q,D,G)}X("deleteMetadata",H2);function d6(q,D){for(var G=q.length-1;G>=0;--G){var V=q[G],R=V(D);if(!C(R)&&!i0(R)){if(!z2(R))throw TypeError();D=R}}return D}function s6(q,D,G,V){for(var R=q.length-1;R>=0;--R){var p=q[R],d=p(D,G,V);if(!C(d)&&!i0(d)){if(!c(d))throw TypeError();V=d}}return V}function _2(q,D,G){var V=E$(q,D,G);if(V)return!0;var R=f$(D);if(!i0(R))return _2(q,R,G);return!1}function E$(q,D,G){var V=j1(D,G,!1);if(C(V))return!1;return G2(V.OrdinaryHasOwnMetadata(q,D,G))}function B2(q,D,G){var V=E$(q,D,G);if(V)return Q2(q,D,G);var R=f$(D);if(!i0(R))return B2(q,R,G);return}function Q2(q,D,G){var V=j1(D,G,!1);if(C(V))return;return V.OrdinaryGetOwnMetadata(q,D,G)}function Y2(q,D,G,V){var R=j1(G,V,!0);R.OrdinaryDefineOwnMetadata(q,D,G,V)}function q2(q,D){var G=w2(q,D),V=f$(q);if(V===null)return G;var R=q2(V,D);if(R.length<=0)return G;if(G.length<=0)return R;var p=new n,d=[];for(var K=0,U=G;K<U.length;K++){var A=U[K],L=p.has(A);if(!L)p.add(A),d.push(A)}for(var f=0,h=R;f<h.length;f++){var A=h[f],L=p.has(A);if(!L)p.add(A),d.push(A)}return d}function w2(q,D){var G=j1(q,D,!1);if(!G)return[];return G.OrdinaryOwnMetadataKeys(q,D)}function D2(q){if(q===null)return 1;switch(typeof q){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return q===null?1:6;default:return 6}}function C(q){return q===void 0}function i0(q){return q===null}function r6(q){return typeof q==="symbol"}function c(q){return typeof q==="object"?q!==null:typeof q==="function"}function t6(q,D){switch(D2(q)){case 0:return q;case 1:return q;case 2:return q;case 3:return q;case 4:return q;case 5:return q}var G=D===3?"string":D===5?"number":"default",V=j2(q,_);if(V!==void 0){var R=V.call(q,G);if(c(R))throw TypeError();return R}return a6(q,G==="default"?"number":G)}function a6(q,D){if(D==="string"){var G=q.toString;if(c0(G)){var V=G.call(q);if(!c(V))return V}var R=q.valueOf;if(c0(R)){var V=R.call(q);if(!c(V))return V}}else{var R=q.valueOf;if(c0(R)){var V=R.call(q);if(!c(V))return V}var p=q.toString;if(c0(p)){var V=p.call(q);if(!c(V))return V}}throw TypeError()}function G2(q){return!!q}function e6(q){return""+q}function S0(q){var D=t6(q,3);if(r6(D))return D;return e6(D)}function N2(q){return Array.isArray?Array.isArray(q):q instanceof Object?q instanceof Array:Object.prototype.toString.call(q)==="[object Array]"}function c0(q){return typeof q==="function"}function z2(q){return typeof q==="function"}function $4(q){switch(D2(q)){case 3:return!0;case 4:return!0;default:return!1}}function F$(q,D){return q===D||q!==q&&D!==D}function j2(q,D){var G=q[D];if(G===void 0||G===null)return;if(!c0(G))throw TypeError();return G}function b2(q){var D=j2(q,B);if(!c0(D))throw TypeError();var G=D.call(q);if(!c(G))throw TypeError();return G}function V2(q){return q.value}function S2(q){var D=q.next();return D.done?!1:D}function U2(q){var D=q.return;if(D)D.call(q)}function f$(q){var D=Object.getPrototypeOf(q);if(typeof q!=="function"||q===F)return D;if(D!==F)return D;var G=q.prototype,V=G&&Object.getPrototypeOf(G);if(V==null||V===Object.prototype)return D;var R=V.constructor;if(typeof R!=="function")return D;if(R===q)return D;return R}function X4(){var q;if(!C(Z)&&typeof J.Reflect<"u"&&!(Z in J.Reflect)&&typeof J.Reflect.defineMetadata==="function")q=H4(J.Reflect);var D,G,V,R=new k,p={registerProvider:d,getProvider:U,setProvider:L};return p;function d(f){if(!Object.isExtensible(p))throw Error("Cannot add provider to a frozen registry.");switch(!0){case q===f:break;case C(D):D=f;break;case D===f:break;case C(G):G=f;break;case G===f:break;default:if(V===void 0)V=new n;V.add(f);break}}function K(f,h){if(!C(D)){if(D.isProviderFor(f,h))return D;if(!C(G)){if(G.isProviderFor(f,h))return D;if(!C(V)){var l=b2(V);while(!0){var o=S2(l);if(!o)return;var B0=V2(o);if(B0.isProviderFor(f,h))return U2(l),B0}}}}if(!C(q)&&q.isProviderFor(f,h))return q;return}function U(f,h){var l=R.get(f),o;if(!C(l))o=l.get(h);if(!C(o))return o;if(o=K(f,h),!C(o)){if(C(l))l=new P,R.set(f,l);l.set(h,o)}return o}function A(f){if(C(f))throw TypeError();return D===f||G===f||!C(V)&&V.has(f)}function L(f,h,l){if(!A(l))throw Error("Metadata provider not registered.");var o=U(f,h);if(o!==l){if(!C(o))return!1;var B0=R.get(f);if(C(B0))B0=new P,R.set(f,B0);B0.set(h,l)}return!0}}function J4(){var q;if(!C(Z)&&c(J.Reflect)&&Object.isExtensible(J.Reflect))q=J.Reflect[Z];if(C(q))q=X4();if(!C(Z)&&c(J.Reflect)&&Object.isExtensible(J.Reflect))Object.defineProperty(J.Reflect,Z,{enumerable:!1,configurable:!1,writable:!1,value:q});return q}function W4(q){var D=new k,G={isProviderFor:function(A,L){var f=D.get(A);if(C(f))return!1;return f.has(L)},OrdinaryDefineOwnMetadata:d,OrdinaryHasOwnMetadata:R,OrdinaryGetOwnMetadata:p,OrdinaryOwnMetadataKeys:K,OrdinaryDeleteMetadata:U};return i.registerProvider(G),G;function V(A,L,f){var h=D.get(A),l=!1;if(C(h)){if(!f)return;h=new P,D.set(A,h),l=!0}var o=h.get(L);if(C(o)){if(!f)return;if(o=new P,h.set(L,o),!q.setProvider(A,L,G)){if(h.delete(L),l)D.delete(A);throw Error("Wrong provider for target.")}}return o}function R(A,L,f){var h=V(L,f,!1);if(C(h))return!1;return G2(h.has(A))}function p(A,L,f){var h=V(L,f,!1);if(C(h))return;return h.get(A)}function d(A,L,f,h){var l=V(f,h,!0);l.set(A,L)}function K(A,L){var f=[],h=V(A,L,!1);if(C(h))return f;var l=h.keys(),o=b2(l),B0=0;while(!0){var A2=S2(o);if(!A2)return f.length=B0,f;var Y4=V2(A2);try{f[B0]=Y4}catch(q4){try{U2(o)}finally{throw q4}}B0++}}function U(A,L,f){var h=V(L,f,!1);if(C(h))return!1;if(!h.delete(A))return!1;if(h.size===0){var l=D.get(L);if(!C(l)){if(l.delete(f),l.size===0)D.delete(l)}}return!0}}function H4(q){var{defineMetadata:D,hasOwnMetadata:G,getOwnMetadata:V,getOwnMetadataKeys:R,deleteMetadata:p}=q,d=new k,K={isProviderFor:function(U,A){var L=d.get(U);if(!C(L)&&L.has(A))return!0;if(R(U,A).length){if(C(L))L=new n,d.set(U,L);return L.add(A),!0}return!1},OrdinaryDefineOwnMetadata:D,OrdinaryHasOwnMetadata:G,OrdinaryGetOwnMetadata:V,OrdinaryOwnMetadataKeys:R,OrdinaryDeleteMetadata:p};return K}function j1(q,D,G){var V=i.getProvider(q,D);if(!C(V))return V;if(G){if(i.setProvider(q,D,t))return t;throw Error("Illegal state.")}return}function _4(){var q={},D=[],G=function(){function K(U,A,L){this._index=0,this._keys=U,this._values=A,this._selector=L}return K.prototype["@@iterator"]=function(){return this},K.prototype[B]=function(){return this},K.prototype.next=function(){var U=this._index;if(U>=0&&U<this._keys.length){var A=this._selector(this._keys[U],this._values[U]);if(U+1>=this._keys.length)this._index=-1,this._keys=D,this._values=D;else this._index++;return{value:A,done:!1}}return{value:void 0,done:!0}},K.prototype.throw=function(U){if(this._index>=0)this._index=-1,this._keys=D,this._values=D;throw U},K.prototype.return=function(U){if(this._index>=0)this._index=-1,this._keys=D,this._values=D;return{value:U,done:!0}},K}(),V=function(){function K(){this._keys=[],this._values=[],this._cacheKey=q,this._cacheIndex=-2}return Object.defineProperty(K.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),K.prototype.has=function(U){return this._find(U,!1)>=0},K.prototype.get=function(U){var A=this._find(U,!1);return A>=0?this._values[A]:void 0},K.prototype.set=function(U,A){var L=this._find(U,!0);return this._values[L]=A,this},K.prototype.delete=function(U){var A=this._find(U,!1);if(A>=0){var L=this._keys.length;for(var f=A+1;f<L;f++)this._keys[f-1]=this._keys[f],this._values[f-1]=this._values[f];if(this._keys.length--,this._values.length--,F$(U,this._cacheKey))this._cacheKey=q,this._cacheIndex=-2;return!0}return!1},K.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=q,this._cacheIndex=-2},K.prototype.keys=function(){return new G(this._keys,this._values,R)},K.prototype.values=function(){return new G(this._keys,this._values,p)},K.prototype.entries=function(){return new G(this._keys,this._values,d)},K.prototype["@@iterator"]=function(){return this.entries()},K.prototype[B]=function(){return this.entries()},K.prototype._find=function(U,A){if(!F$(this._cacheKey,U)){this._cacheIndex=-1;for(var L=0;L<this._keys.length;L++)if(F$(this._keys[L],U)){this._cacheIndex=L;break}}if(this._cacheIndex<0&&A)this._cacheIndex=this._keys.length,this._keys.push(U),this._values.push(void 0);return this._cacheIndex},K}();return V;function R(K,U){return K}function p(K,U){return U}function d(K,U){return[K,U]}}function B4(){var q=function(){function D(){this._map=new P}return Object.defineProperty(D.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),D.prototype.has=function(G){return this._map.has(G)},D.prototype.add=function(G){return this._map.set(G,G),this},D.prototype.delete=function(G){return this._map.delete(G)},D.prototype.clear=function(){this._map.clear()},D.prototype.keys=function(){return this._map.keys()},D.prototype.values=function(){return this._map.keys()},D.prototype.entries=function(){return this._map.entries()},D.prototype["@@iterator"]=function(){return this.keys()},D.prototype[B]=function(){return this.keys()},D}();return q}function Q4(){var q=16,D=N.create(),G=V();return function(){function U(){this._key=V()}return U.prototype.has=function(A){var L=R(A,!1);return L!==void 0?N.has(L,this._key):!1},U.prototype.get=function(A){var L=R(A,!1);return L!==void 0?N.get(L,this._key):void 0},U.prototype.set=function(A,L){var f=R(A,!0);return f[this._key]=L,this},U.prototype.delete=function(A){var L=R(A,!1);return L!==void 0?delete L[this._key]:!1},U.prototype.clear=function(){this._key=V()},U}();function V(){var U;do U="@@WeakMap@@"+K();while(N.has(D,U));return D[U]=!0,U}function R(U,A){if(!W.call(U,G)){if(!A)return;Object.defineProperty(U,G,{value:N.create()})}return U[G]}function p(U,A){for(var L=0;L<A;++L)U[L]=Math.random()*255|0;return U}function d(U){if(typeof Uint8Array==="function"){var A=new Uint8Array(U);if(typeof crypto<"u")crypto.getRandomValues(A);else if(typeof msCrypto<"u")msCrypto.getRandomValues(A);else p(A,U);return A}return p(Array(U),U)}function K(){var U=d(q);U[6]=U[6]&79|64,U[8]=U[8]&191|128;var A="";for(var L=0;L<q;++L){var f=U[L];if(L===4||L===6||L===8)A+="-";if(f<16)A+="0";A+=f.toString(16).toLowerCase()}return A}}function R$(q){return q.__=void 0,delete q.__,q}})})(j6||(j6={}))});var $2={};Y0($2,{HonoAdapter:()=>b$});class b${hono;name="hono";runtime;constructor($){this.hono=$;this.runtime=GX()}listen($,X){switch(this.runtime){case"bun":return this.listenBun($,X);case"deno":return this.listenDeno($,X);case"node":return this.listenNode($,X);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($,X){let J=Bun.serve({port:$,fetch:this.hono.fetch});if(X)X();return J}listenDeno($,X){let J=new AbortController;return Deno.serve({port:$,signal:J.signal,onListen:X},this.hono.fetch),{port:$,close:()=>J.abort()}}listenNode($,X){try{let{serve:J}=(()=>{throw new Error("Cannot require module "+"@hono/node-server");})();return J({fetch:this.hono.fetch,port:$},X)}catch(J){throw Error("Node.js adapter requires @hono/node-server package. Install it with: npm install @hono/node-server")}}}var GX=()=>{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 c6={};Y0(c6,{ExpressAdapter:()=>V$});class V${app;name="express";express;constructor($){this.app=$;try{let X=(()=>{throw new Error("Cannot require module "+"express");})();this.express=X(),this.setupBridge()}catch(X){throw Error("Express adapter requires express package. Install it with: npm install express")}}setupBridge(){let $=this.app.getHono();this.express.use(async(X,J)=>{try{let W=this.createWebRequest(X),H=await $.fetch(W);await this.sendExpressResponse(J,H)}catch(W){J.status(500).json({error:"Internal Server Error",message:W instanceof Error?W.message:"Unknown error"})}})}createWebRequest($){let X=$.protocol||"http",J=$.get("host")||"localhost",W=`${X}://${J}${$.originalUrl||$.url}`,H=new Headers;for(let[B,Q]of Object.entries($.headers))if(typeof Q==="string")H.set(B,Q);else if(Array.isArray(Q))Q.forEach((Y)=>H.append(B,Y));let _={method:$.method,headers:H};if($.method!=="GET"&&$.method!=="HEAD"){if($.body)_.body=JSON.stringify($.body),H.set("content-type","application/json")}return new Request(W,_)}async sendExpressResponse($,X){if($.status(X.status),X.headers.forEach((J,W)=>{$.setHeader(W,J)}),X.body){let J=X.headers.get("content-type")||"";if(J.includes("application/json")){let W=await X.json();$.json(W)}else if(J.includes("text/")){let W=await X.text();$.send(W)}else{let W=await X.arrayBuffer();$.send(Buffer.from(W))}}else $.end()}listen($,X){return this.express.listen($,X)}getHandler(){return this.express}getExpressApp(){return this.express}}var z4={};Y0(z4,{createRateLimitMiddleware:()=>S1,createCorsMiddleware:()=>V1,createCompressionMiddleware:()=>U1});module.exports=Q0(z4);function V1($){let{origin:X="*",methods:J=["GET","POST","PUT","DELETE","PATCH","OPTIONS"],allowedHeaders:W=["Content-Type","Authorization"],exposedHeaders:H=[],credentials:_=!1,maxAge:B=86400}=$||{};return async(Q,Y)=>{let w=Q.req.header("origin"),N=Q.req.method,F=null;if(typeof X==="string")F=X;else if(Array.isArray(X)){if(w&&X.includes(w))F=w}else if(typeof X==="function"){if(w&&X(w))F=w}if(F)Q.header("Access-Control-Allow-Origin",F);if(_)Q.header("Access-Control-Allow-Credentials","true");if(H.length>0)Q.header("Access-Control-Expose-Headers",H.join(", "));if(N==="OPTIONS")return Q.header("Access-Control-Allow-Methods",J.join(", ")),Q.header("Access-Control-Allow-Headers",W.join(", ")),Q.header("Access-Control-Max-Age",B.toString()),Q.body(null,204);await Y()}}function S1($){let{windowMs:X=60000,max:J=100,keyGenerator:W=(B)=>{return B.req.header("x-forwarded-for")||B.req.header("x-real-ip")||"unknown"}}=$,H=new Map,_=setInterval(()=>{let B=Date.now();for(let[Q,Y]of H.entries())if(B>Y.resetTime)H.delete(Q)},X);if(typeof process<"u"&&process.on)process.on("exit",()=>clearInterval(_));return async(B,Q)=>{let Y=W(B),w=Date.now(),N=H.get(Y);if(!N||w>N.resetTime)H.set(Y,{count:1,resetTime:w+X}),B.header("X-RateLimit-Limit",J.toString()),B.header("X-RateLimit-Remaining",(J-1).toString()),B.header("X-RateLimit-Reset",new Date(w+X).toISOString()),await Q();else if(N.count<J)N.count++,B.header("X-RateLimit-Limit",J.toString()),B.header("X-RateLimit-Remaining",(J-N.count).toString()),B.header("X-RateLimit-Reset",new Date(N.resetTime).toISOString()),await Q();else{let F=Math.ceil((N.resetTime-w)/1000);return B.header("X-RateLimit-Limit",J.toString()),B.header("X-RateLimit-Remaining","0"),B.header("X-RateLimit-Reset",new Date(N.resetTime).toISOString()),B.header("Retry-After",F.toString()),B.json({error:"Too Many Requests",message:`Rate limit exceeded. Please try again in ${F} seconds.`,retryAfter:F},429)}}}function U1($){let{threshold:X=1024,level:J=6}=$||{};return async(W,H)=>{await H();let _=W.res;if(!_)return;let B=_.headers.get("content-type")||"",Q=_.headers.get("content-length"),Y=W.req.header("accept-encoding")||"";if(!["text/","application/json","application/javascript","application/xml","application/x-www-form-urlencoded"].some((k)=>B.toLowerCase().includes(k)))return;if(Q&&parseInt(Q)<X)return;if(_.headers.get("content-encoding"))return;let F=await _.arrayBuffer();if(F.byteLength<X)return;let P=null,n=null;if(Y.includes("br")&&typeof CompressionStream<"u")try{let k=new CompressionStream("deflate"),Z=k.writable.getWriter();Z.write(new Uint8Array(F)),Z.close();let i=k.readable.getReader(),t=[];while(!0){let{done:r,value:X0}=await i.read();if(r)break;t.push(X0)}let W0=t.reduce((r,X0)=>r+X0.length,0),s=new Uint8Array(W0),H0=0;for(let r of t)s.set(r,H0),H0+=r.length;P=s,n="deflate"}catch(k){P=null}if(!P&&Y.includes("gzip")&&typeof CompressionStream<"u")try{let k=new CompressionStream("gzip"),Z=k.writable.getWriter();Z.write(new Uint8Array(F)),Z.close();let i=k.readable.getReader(),t=[];while(!0){let{done:r,value:X0}=await i.read();if(r)break;t.push(X0)}let W0=t.reduce((r,X0)=>r+X0.length,0),s=new Uint8Array(W0),H0=0;for(let r of t)s.set(r,H0),H0+=r.length;P=s,n="gzip"}catch(k){P=null}if(P&&n&&P.byteLength<F.byteLength){let k=new Headers(_.headers);return k.set("content-encoding",n),k.set("content-length",P.byteLength.toString()),k.delete("content-length"),new Response(P,{status:_.status,statusText:_.statusText,headers:k})}}}var K8={};Y0(K8,{zodToJsonSchema:()=>e1,ZodToJsonSchemaConverter:()=>O0,OpenAPIGenerator:()=>Z0});module.exports=Q0(K8);var R2=Symbol("Let zodToJsonSchema decide on which parser to use");var f2={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"},O2=($)=>typeof $==="string"?{...f2,name:$}:{...f2,...$};var v2=($)=>{let X=O2($),J=X.name!==void 0?[...X.basePath,X.definitionPath,X.name]:X.basePath;return{...X,flags:{hasReferencedOpenAiAnyType:!1},currentPath:J,propertyPath:void 0,seen:new Map(Object.entries(X.definitions).map(([W,H])=>[H._def,{def:H._def,path:[...X.basePath,X.definitionPath,W],jsonSchema:void 0}]))}};function O$($,X,J,W){if(!W?.errorMessages)return;if(J)$.errorMessage={...$.errorMessage,[X]:J}}function x($,X,J,W,H){$[X]=J,O$($,X,W,H)}var i1=($,X)=>{let J=0;for(;J<$.length&&J<X.length;J++)if($[J]!==X[J])break;return[($.length-J).toString(),...X.slice(J)].join("/")};var v1={};Y0(v1,{void:()=>a4,util:()=>T,unknown:()=>r4,union:()=>J8,undefined:()=>o4,tuple:()=>_8,transformer:()=>j8,symbol:()=>p4,string:()=>x2,strictObject:()=>X8,setErrorMap:()=>V4,set:()=>Y8,record:()=>B8,quotelessJson:()=>j4,promise:()=>z8,preprocess:()=>S8,pipeline:()=>U8,ostring:()=>A8,optional:()=>b8,onumber:()=>L8,oboolean:()=>E8,objectUtil:()=>v$,object:()=>$8,number:()=>g2,nullable:()=>V8,null:()=>d4,never:()=>t4,nativeEnum:()=>N8,nan:()=>n4,map:()=>Q8,makeIssue:()=>A1,literal:()=>D8,lazy:()=>w8,late:()=>m4,isValid:()=>v0,isDirty:()=>p1,isAsync:()=>o0,isAborted:()=>c1,intersection:()=>H8,instanceof:()=>y4,getParsedType:()=>U0,getErrorMap:()=>p0,function:()=>q8,enum:()=>G8,effect:()=>j8,discriminatedUnion:()=>W8,defaultErrorMap:()=>F0,datetimeRegex:()=>K2,date:()=>c4,custom:()=>h2,coerce:()=>F8,boolean:()=>Z2,bigint:()=>i4,array:()=>e4,any:()=>s4,addIssueToContext:()=>S,ZodVoid:()=>E1,ZodUnknown:()=>C0,ZodUnion:()=>e0,ZodUndefined:()=>t0,ZodType:()=>I,ZodTuple:()=>L0,ZodTransformer:()=>N0,ZodSymbol:()=>L1,ZodString:()=>q0,ZodSet:()=>x0,ZodSchema:()=>I,ZodRecord:()=>F1,ZodReadonly:()=>B1,ZodPromise:()=>g0,ZodPipeline:()=>O1,ZodParsedType:()=>b,ZodOptional:()=>D0,ZodObject:()=>m,ZodNumber:()=>M0,ZodNullable:()=>R0,ZodNull:()=>a0,ZodNever:()=>A0,ZodNativeEnum:()=>W1,ZodNaN:()=>R1,ZodMap:()=>f1,ZodLiteral:()=>J1,ZodLazy:()=>X1,ZodIssueCode:()=>z,ZodIntersection:()=>$1,ZodFunction:()=>s0,ZodFirstPartyTypeKind:()=>j,ZodError:()=>a,ZodEnum:()=>P0,ZodEffects:()=>N0,ZodDiscriminatedUnion:()=>o1,ZodDefault:()=>H1,ZodDate:()=>T0,ZodCatch:()=>_1,ZodBranded:()=>d1,ZodBoolean:()=>r0,ZodBigInt:()=>k0,ZodArray:()=>w0,ZodAny:()=>h0,Schema:()=>I,ParseStatus:()=>e,OK:()=>$0,NEVER:()=>f8,INVALID:()=>O,EMPTY_PATH:()=>S4,DIRTY:()=>K0,BRAND:()=>u4});var T;(function($){$.assertEqual=(H)=>{};function X(H){}$.assertIs=X;function J(H){throw Error()}$.assertNever=J,$.arrayToEnum=(H)=>{let _={};for(let B of H)_[B]=B;return _},$.getValidEnumValues=(H)=>{let _=$.objectKeys(H).filter((Q)=>typeof H[H[Q]]!=="number"),B={};for(let Q of _)B[Q]=H[Q];return $.objectValues(B)},$.objectValues=(H)=>{return $.objectKeys(H).map(function(_){return H[_]})},$.objectKeys=typeof Object.keys==="function"?(H)=>Object.keys(H):(H)=>{let _=[];for(let B in H)if(Object.prototype.hasOwnProperty.call(H,B))_.push(B);return _},$.find=(H,_)=>{for(let B of H)if(_(B))return B;return},$.isInteger=typeof Number.isInteger==="function"?(H)=>Number.isInteger(H):(H)=>typeof H==="number"&&Number.isFinite(H)&&Math.floor(H)===H;function W(H,_=" | "){return H.map((B)=>typeof B==="string"?`'${B}'`:B).join(_)}$.joinValues=W,$.jsonStringifyReplacer=(H,_)=>{if(typeof _==="bigint")return _.toString();return _}})(T||(T={}));var v$;(function($){$.mergeShapes=(X,J)=>{return{...X,...J}}})(v$||(v$={}));var b=T.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),U0=($)=>{switch(typeof $){case"undefined":return b.undefined;case"string":return b.string;case"number":return Number.isNaN($)?b.nan:b.number;case"boolean":return b.boolean;case"function":return b.function;case"bigint":return b.bigint;case"symbol":return b.symbol;case"object":if(Array.isArray($))return b.array;if($===null)return b.null;if($.then&&typeof $.then==="function"&&$.catch&&typeof $.catch==="function")return b.promise;if(typeof Map<"u"&&$ instanceof Map)return b.map;if(typeof Set<"u"&&$ instanceof Set)return b.set;if(typeof Date<"u"&&$ instanceof Date)return b.date;return b.object;default:return b.unknown}};var z=T.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),j4=($)=>{return JSON.stringify($,null,2).replace(/"([^"]+)":/g,"$1:")};class a extends Error{get errors(){return this.issues}constructor($){super();this.issues=[],this.addIssue=(J)=>{this.issues=[...this.issues,J]},this.addIssues=(J=[])=>{this.issues=[...this.issues,...J]};let X=new.target.prototype;if(Object.setPrototypeOf)Object.setPrototypeOf(this,X);else this.__proto__=X;this.name="ZodError",this.issues=$}format($){let X=$||function(H){return H.message},J={_errors:[]},W=(H)=>{for(let _ of H.issues)if(_.code==="invalid_union")_.unionErrors.map(W);else if(_.code==="invalid_return_type")W(_.returnTypeError);else if(_.code==="invalid_arguments")W(_.argumentsError);else if(_.path.length===0)J._errors.push(X(_));else{let B=J,Q=0;while(Q<_.path.length){let Y=_.path[Q];if(Q!==_.path.length-1)B[Y]=B[Y]||{_errors:[]};else B[Y]=B[Y]||{_errors:[]},B[Y]._errors.push(X(_));B=B[Y],Q++}}};return W(this),J}static assert($){if(!($ instanceof a))throw Error(`Not a ZodError: ${$}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,T.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten($=(X)=>X.message){let X={},J=[];for(let W of this.issues)if(W.path.length>0){let H=W.path[0];X[H]=X[H]||[],X[H].push($(W))}else J.push($(W));return{formErrors:J,fieldErrors:X}}get formErrors(){return this.flatten()}}a.create=($)=>{return new a($)};var b4=($,X)=>{let J;switch($.code){case z.invalid_type:if($.received===b.undefined)J="Required";else J=`Expected ${$.expected}, received ${$.received}`;break;case z.invalid_literal:J=`Invalid literal value, expected ${JSON.stringify($.expected,T.jsonStringifyReplacer)}`;break;case z.unrecognized_keys:J=`Unrecognized key(s) in object: ${T.joinValues($.keys,", ")}`;break;case z.invalid_union:J="Invalid input";break;case z.invalid_union_discriminator:J=`Invalid discriminator value. Expected ${T.joinValues($.options)}`;break;case z.invalid_enum_value:J=`Invalid enum value. Expected ${T.joinValues($.options)}, received '${$.received}'`;break;case z.invalid_arguments:J="Invalid function arguments";break;case z.invalid_return_type:J="Invalid function return type";break;case z.invalid_date:J="Invalid date";break;case z.invalid_string:if(typeof $.validation==="object")if("includes"in $.validation){if(J=`Invalid input: must include "${$.validation.includes}"`,typeof $.validation.position==="number")J=`${J} at one or more positions greater than or equal to ${$.validation.position}`}else if("startsWith"in $.validation)J=`Invalid input: must start with "${$.validation.startsWith}"`;else if("endsWith"in $.validation)J=`Invalid input: must end with "${$.validation.endsWith}"`;else T.assertNever($.validation);else if($.validation!=="regex")J=`Invalid ${$.validation}`;else J="Invalid";break;case z.too_small:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at least":"more than"} ${$.minimum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at least":"over"} ${$.minimum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="bigint")J=`Number must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${$.minimum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly equal to ":$.inclusive?"greater than or equal to ":"greater than "}${new Date(Number($.minimum))}`;else J="Invalid input";break;case z.too_big:if($.type==="array")J=`Array must contain ${$.exact?"exactly":$.inclusive?"at most":"less than"} ${$.maximum} element(s)`;else if($.type==="string")J=`String must contain ${$.exact?"exactly":$.inclusive?"at most":"under"} ${$.maximum} character(s)`;else if($.type==="number")J=`Number must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="bigint")J=`BigInt must be ${$.exact?"exactly":$.inclusive?"less than or equal to":"less than"} ${$.maximum}`;else if($.type==="date")J=`Date must be ${$.exact?"exactly":$.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number($.maximum))}`;else J="Invalid input";break;case z.custom:J="Invalid input";break;case z.invalid_intersection_types:J="Intersection results could not be merged";break;case z.not_multiple_of:J=`Number must be a multiple of ${$.multipleOf}`;break;case z.not_finite:J="Number must be finite";break;default:J=X.defaultError,T.assertNever($)}return{message:J}},F0=b4;var C2=F0;function V4($){C2=$}function p0(){return C2}var A1=($)=>{let{data:X,path:J,errorMaps:W,issueData:H}=$,_=[...J,...H.path||[]],B={...H,path:_};if(H.message!==void 0)return{...H,path:_,message:H.message};let Q="",Y=W.filter((w)=>!!w).slice().reverse();for(let w of Y)Q=w(B,{data:X,defaultError:Q}).message;return{...H,path:_,message:Q}},S4=[];function S($,X){let J=p0(),W=A1({issueData:X,data:$.data,path:$.path,errorMaps:[$.common.contextualErrorMap,$.schemaErrorMap,J,J===F0?void 0:F0].filter((H)=>!!H)});$.common.issues.push(W)}class e{constructor(){this.value="valid"}dirty(){if(this.value==="valid")this.value="dirty"}abort(){if(this.value!=="aborted")this.value="aborted"}static mergeArray($,X){let J=[];for(let W of X){if(W.status==="aborted")return O;if(W.status==="dirty")$.dirty();J.push(W.value)}return{status:$.value,value:J}}static async mergeObjectAsync($,X){let J=[];for(let W of X){let H=await W.key,_=await W.value;J.push({key:H,value:_})}return e.mergeObjectSync($,J)}static mergeObjectSync($,X){let J={};for(let W of X){let{key:H,value:_}=W;if(H.status==="aborted")return O;if(_.status==="aborted")return O;if(H.status==="dirty")$.dirty();if(_.status==="dirty")$.dirty();if(H.value!=="__proto__"&&(typeof _.value<"u"||W.alwaysSet))J[H.value]=_.value}return{status:$.value,value:J}}}var O=Object.freeze({status:"aborted"}),K0=($)=>({status:"dirty",value:$}),$0=($)=>({status:"valid",value:$}),c1=($)=>$.status==="aborted",p1=($)=>$.status==="dirty",v0=($)=>$.status==="valid",o0=($)=>typeof Promise<"u"&&$ instanceof Promise;var E;(function($){$.errToObj=(X)=>typeof X==="string"?{message:X}:X||{},$.toString=(X)=>typeof X==="string"?X:X?.message})(E||(E={}));class G0{constructor($,X,J,W){this._cachedPath=[],this.parent=$,this.data=X,this._path=J,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 M2=($,X)=>{if(v0(X))return{success:!0,data:X.value};else{if(!$.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let J=new a($.common.issues);return this._error=J,this._error}}}};function M($){if(!$)return{};let{errorMap:X,invalid_type_error:J,required_error:W,description:H}=$;if(X&&(J||W))throw Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);if(X)return{errorMap:X,description:H};return{errorMap:(B,Q)=>{let{message:Y}=$;if(B.code==="invalid_enum_value")return{message:Y??Q.defaultError};if(typeof Q.data>"u")return{message:Y??W??Q.defaultError};if(B.code!=="invalid_type")return{message:Q.defaultError};return{message:Y??J??Q.defaultError}},description:H}}class I{get description(){return this._def.description}_getType($){return U0($.data)}_getOrReturnCtx($,X){return X||{common:$.parent.common,data:$.data,parsedType:U0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}_processInputParams($){return{status:new e,ctx:{common:$.parent.common,data:$.data,parsedType:U0($.data),schemaErrorMap:this._def.errorMap,path:$.path,parent:$.parent}}}_parseSync($){let X=this._parse($);if(o0(X))throw Error("Synchronous parse encountered promise.");return X}_parseAsync($){let X=this._parse($);return Promise.resolve(X)}parse($,X){let J=this.safeParse($,X);if(J.success)return J.data;throw J.error}safeParse($,X){let J={common:{issues:[],async:X?.async??!1,contextualErrorMap:X?.errorMap},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:U0($)},W=this._parseSync({data:$,path:J.path,parent:J});return M2(J,W)}"~validate"($){let X={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:U0($)};if(!this["~standard"].async)try{let J=this._parseSync({data:$,path:[],parent:X});return v0(J)?{value:J.value}:{issues:X.common.issues}}catch(J){if(J?.message?.toLowerCase()?.includes("encountered"))this["~standard"].async=!0;X.common={issues:[],async:!0}}return this._parseAsync({data:$,path:[],parent:X}).then((J)=>v0(J)?{value:J.value}:{issues:X.common.issues})}async parseAsync($,X){let J=await this.safeParseAsync($,X);if(J.success)return J.data;throw J.error}async safeParseAsync($,X){let J={common:{issues:[],contextualErrorMap:X?.errorMap,async:!0},path:X?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:$,parsedType:U0($)},W=this._parse({data:$,path:J.path,parent:J}),H=await(o0(W)?W:Promise.resolve(W));return M2(J,H)}refine($,X){let J=(W)=>{if(typeof X==="string"||typeof X>"u")return{message:X};else if(typeof X==="function")return X(W);else return X};return this._refinement((W,H)=>{let _=$(W),B=()=>H.addIssue({code:z.custom,...J(W)});if(typeof Promise<"u"&&_ instanceof Promise)return _.then((Q)=>{if(!Q)return B(),!1;else return!0});if(!_)return B(),!1;else return!0})}refinement($,X){return this._refinement((J,W)=>{if(!$(J))return W.addIssue(typeof X==="function"?X(J,W):X),!1;else return!0})}_refinement($){return new N0({schema:this,typeName:j.ZodEffects,effect:{type:"refinement",refinement:$}})}superRefine($){return this._refinement($)}constructor($){this.spa=this.safeParseAsync,this._def=$,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:(X)=>this["~validate"](X)}}optional(){return D0.create(this,this._def)}nullable(){return R0.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return w0.create(this)}promise(){return g0.create(this,this._def)}or($){return e0.create([this,$],this._def)}and($){return $1.create(this,$,this._def)}transform($){return new N0({...M(this._def),schema:this,typeName:j.ZodEffects,effect:{type:"transform",transform:$}})}default($){let X=typeof $==="function"?$:()=>$;return new H1({...M(this._def),innerType:this,defaultValue:X,typeName:j.ZodDefault})}brand(){return new d1({typeName:j.ZodBranded,type:this,...M(this._def)})}catch($){let X=typeof $==="function"?$:()=>$;return new _1({...M(this._def),innerType:this,catchValue:X,typeName:j.ZodCatch})}describe($){return new this.constructor({...this._def,description:$})}pipe($){return O1.create(this,$)}readonly(){return B1.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}var U4=/^c[^\s-]{8,}$/i,A4=/^[0-9a-z]+$/,L4=/^[0-9A-HJKMNP-TV-Z]{26}$/i,E4=/^[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,F4=/^[a-z0-9_-]{21}$/i,f4=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,R4=/^[-+]?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)?)??$/,O4=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,v4="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",C$,C4=/^(?:(?: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])$/,M4=/^(?:(?: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])$/,k4=/^(([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]))$/,P4=/^(([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])$/,I4=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,K4=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,P2="((\\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])))",T4=new RegExp(`^${P2}$`);function I2($){let X="[0-5]\\d";if($.precision)X=`${X}\\.\\d{${$.precision}}`;else if($.precision==null)X=`${X}(\\.\\d+)?`;let J=$.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${X})${J}`}function h4($){return new RegExp(`^${I2($)}$`)}function K2($){let X=`${P2}T${I2($)}`,J=[];if(J.push($.local?"Z?":"Z"),$.offset)J.push("([+-]\\d{2}:?\\d{2})");return X=`${X}(${J.join("|")})`,new RegExp(`^${X}$`)}function x4($,X){if((X==="v4"||!X)&&C4.test($))return!0;if((X==="v6"||!X)&&k4.test($))return!0;return!1}function g4($,X){if(!f4.test($))return!1;try{let[J]=$.split(".");if(!J)return!1;let W=J.replace(/-/g,"+").replace(/_/g,"/").padEnd(J.length+(4-J.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(X&&H.alg!==X)return!1;return!0}catch{return!1}}function Z4($,X){if((X==="v4"||!X)&&M4.test($))return!0;if((X==="v6"||!X)&&P4.test($))return!0;return!1}class q0 extends I{_parse($){if(this._def.coerce)$.data=String($.data);if(this._getType($)!==b.string){let H=this._getOrReturnCtx($);return S(H,{code:z.invalid_type,expected:b.string,received:H.parsedType}),O}let J=new e,W=void 0;for(let H of this._def.checks)if(H.kind==="min"){if($.data.length<H.value)W=this._getOrReturnCtx($,W),S(W,{code:z.too_small,minimum:H.value,type:"string",inclusive:!0,exact:!1,message:H.message}),J.dirty()}else if(H.kind==="max"){if($.data.length>H.value)W=this._getOrReturnCtx($,W),S(W,{code:z.too_big,maximum:H.value,type:"string",inclusive:!0,exact:!1,message:H.message}),J.dirty()}else if(H.kind==="length"){let _=$.data.length>H.value,B=$.data.length<H.value;if(_||B){if(W=this._getOrReturnCtx($,W),_)S(W,{code:z.too_big,maximum:H.value,type:"string",inclusive:!0,exact:!0,message:H.message});else if(B)S(W,{code:z.too_small,minimum:H.value,type:"string",inclusive:!0,exact:!0,message:H.message});J.dirty()}}else if(H.kind==="email"){if(!O4.test($.data))W=this._getOrReturnCtx($,W),S(W,{validation:"email",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="emoji"){if(!C$)C$=new RegExp(v4,"u");if(!C$.test($.data))W=this._getOrReturnCtx($,W),S(W,{validation:"emoji",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="uuid"){if(!E4.test($.data))W=this._getOrReturnCtx($,W),S(W,{validation:"uuid",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="nanoid"){if(!F4.test($.data))W=this._getOrReturnCtx($,W),S(W,{validation:"nanoid",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="cuid"){if(!U4.test($.data))W=this._getOrReturnCtx($,W),S(W,{validation:"cuid",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="cuid2"){if(!A4.test($.data))W=this._getOrReturnCtx($,W),S(W,{validation:"cuid2",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="ulid"){if(!L4.test($.data))W=this._getOrReturnCtx($,W),S(W,{validation:"ulid",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="url")try{new URL($.data)}catch{W=this._getOrReturnCtx($,W),S(W,{validation:"url",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="regex"){if(H.regex.lastIndex=0,!H.regex.test($.data))W=this._getOrReturnCtx($,W),S(W,{validation:"regex",code:z.invalid_string,message:H.message}),J.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),S(W,{code:z.invalid_string,validation:{includes:H.value,position:H.position},message:H.message}),J.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),S(W,{code:z.invalid_string,validation:{startsWith:H.value},message:H.message}),J.dirty()}else if(H.kind==="endsWith"){if(!$.data.endsWith(H.value))W=this._getOrReturnCtx($,W),S(W,{code:z.invalid_string,validation:{endsWith:H.value},message:H.message}),J.dirty()}else if(H.kind==="datetime"){if(!K2(H).test($.data))W=this._getOrReturnCtx($,W),S(W,{code:z.invalid_string,validation:"datetime",message:H.message}),J.dirty()}else if(H.kind==="date"){if(!T4.test($.data))W=this._getOrReturnCtx($,W),S(W,{code:z.invalid_string,validation:"date",message:H.message}),J.dirty()}else if(H.kind==="time"){if(!h4(H).test($.data))W=this._getOrReturnCtx($,W),S(W,{code:z.invalid_string,validation:"time",message:H.message}),J.dirty()}else if(H.kind==="duration"){if(!R4.test($.data))W=this._getOrReturnCtx($,W),S(W,{validation:"duration",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="ip"){if(!x4($.data,H.version))W=this._getOrReturnCtx($,W),S(W,{validation:"ip",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="jwt"){if(!g4($.data,H.alg))W=this._getOrReturnCtx($,W),S(W,{validation:"jwt",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="cidr"){if(!Z4($.data,H.version))W=this._getOrReturnCtx($,W),S(W,{validation:"cidr",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="base64"){if(!I4.test($.data))W=this._getOrReturnCtx($,W),S(W,{validation:"base64",code:z.invalid_string,message:H.message}),J.dirty()}else if(H.kind==="base64url"){if(!K4.test($.data))W=this._getOrReturnCtx($,W),S(W,{validation:"base64url",code:z.invalid_string,message:H.message}),J.dirty()}else T.assertNever(H);return{status:J.value,value:$.data}}_regex($,X,J){return this.refinement((W)=>$.test(W),{validation:X,code:z.invalid_string,...E.errToObj(J)})}_addCheck($){return new q0({...this._def,checks:[...this._def.checks,$]})}email($){return this._addCheck({kind:"email",...E.errToObj($)})}url($){return this._addCheck({kind:"url",...E.errToObj($)})}emoji($){return this._addCheck({kind:"emoji",...E.errToObj($)})}uuid($){return this._addCheck({kind:"uuid",...E.errToObj($)})}nanoid($){return this._addCheck({kind:"nanoid",...E.errToObj($)})}cuid($){return this._addCheck({kind:"cuid",...E.errToObj($)})}cuid2($){return this._addCheck({kind:"cuid2",...E.errToObj($)})}ulid($){return this._addCheck({kind:"ulid",...E.errToObj($)})}base64($){return this._addCheck({kind:"base64",...E.errToObj($)})}base64url($){return this._addCheck({kind:"base64url",...E.errToObj($)})}jwt($){return this._addCheck({kind:"jwt",...E.errToObj($)})}ip($){return this._addCheck({kind:"ip",...E.errToObj($)})}cidr($){return this._addCheck({kind:"cidr",...E.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,...E.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,...E.errToObj($?.message)})}duration($){return this._addCheck({kind:"duration",...E.errToObj($)})}regex($,X){return this._addCheck({kind:"regex",regex:$,...E.errToObj(X)})}includes($,X){return this._addCheck({kind:"includes",value:$,position:X?.position,...E.errToObj(X?.message)})}startsWith($,X){return this._addCheck({kind:"startsWith",value:$,...E.errToObj(X)})}endsWith($,X){return this._addCheck({kind:"endsWith",value:$,...E.errToObj(X)})}min($,X){return this._addCheck({kind:"min",value:$,...E.errToObj(X)})}max($,X){return this._addCheck({kind:"max",value:$,...E.errToObj(X)})}length($,X){return this._addCheck({kind:"length",value:$,...E.errToObj(X)})}nonempty($){return this.min(1,E.errToObj($))}trim(){return new q0({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new q0({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new q0({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(($)=>$.kind==="datetime")}get isDate(){return!!this._def.checks.find(($)=>$.kind==="date")}get isTime(){return!!this._def.checks.find(($)=>$.kind==="time")}get isDuration(){return!!this._def.checks.find(($)=>$.kind==="duration")}get isEmail(){return!!this._def.checks.find(($)=>$.kind==="email")}get isURL(){return!!this._def.checks.find(($)=>$.kind==="url")}get isEmoji(){return!!this._def.checks.find(($)=>$.kind==="emoji")}get isUUID(){return!!this._def.checks.find(($)=>$.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(($)=>$.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(($)=>$.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(($)=>$.kind==="cuid2")}get isULID(){return!!this._def.checks.find(($)=>$.kind==="ulid")}get isIP(){return!!this._def.checks.find(($)=>$.kind==="ip")}get isCIDR(){return!!this._def.checks.find(($)=>$.kind==="cidr")}get isBase64(){return!!this._def.checks.find(($)=>$.kind==="base64")}get isBase64url(){return!!this._def.checks.find(($)=>$.kind==="base64url")}get minLength(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxLength(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}}q0.create=($)=>{return new q0({checks:[],typeName:j.ZodString,coerce:$?.coerce??!1,...M($)})};function l4($,X){let J=($.toString().split(".")[1]||"").length,W=(X.toString().split(".")[1]||"").length,H=J>W?J:W,_=Number.parseInt($.toFixed(H).replace(".","")),B=Number.parseInt(X.toFixed(H).replace(".",""));return _%B/10**H}class M0 extends I{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($)!==b.number){let H=this._getOrReturnCtx($);return S(H,{code:z.invalid_type,expected:b.number,received:H.parsedType}),O}let J=void 0,W=new e;for(let H of this._def.checks)if(H.kind==="int"){if(!T.isInteger($.data))J=this._getOrReturnCtx($,J),S(J,{code:z.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)J=this._getOrReturnCtx($,J),S(J,{code:z.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)J=this._getOrReturnCtx($,J),S(J,{code:z.too_big,maximum:H.value,type:"number",inclusive:H.inclusive,exact:!1,message:H.message}),W.dirty()}else if(H.kind==="multipleOf"){if(l4($.data,H.value)!==0)J=this._getOrReturnCtx($,J),S(J,{code:z.not_multiple_of,multipleOf:H.value,message:H.message}),W.dirty()}else if(H.kind==="finite"){if(!Number.isFinite($.data))J=this._getOrReturnCtx($,J),S(J,{code:z.not_finite,message:H.message}),W.dirty()}else T.assertNever(H);return{status:W.value,value:$.data}}gte($,X){return this.setLimit("min",$,!0,E.toString(X))}gt($,X){return this.setLimit("min",$,!1,E.toString(X))}lte($,X){return this.setLimit("max",$,!0,E.toString(X))}lt($,X){return this.setLimit("max",$,!1,E.toString(X))}setLimit($,X,J,W){return new M0({...this._def,checks:[...this._def.checks,{kind:$,value:X,inclusive:J,message:E.toString(W)}]})}_addCheck($){return new M0({...this._def,checks:[...this._def.checks,$]})}int($){return this._addCheck({kind:"int",message:E.toString($)})}positive($){return this._addCheck({kind:"min",value:0,inclusive:!1,message:E.toString($)})}negative($){return this._addCheck({kind:"max",value:0,inclusive:!1,message:E.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:0,inclusive:!0,message:E.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:0,inclusive:!0,message:E.toString($)})}multipleOf($,X){return this._addCheck({kind:"multipleOf",value:$,message:E.toString(X)})}finite($){return this._addCheck({kind:"finite",message:E.toString($)})}safe($){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:E.toString($)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:E.toString($)})}get minValue(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxValue(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}get isInt(){return!!this._def.checks.find(($)=>$.kind==="int"||$.kind==="multipleOf"&&T.isInteger($.value))}get isFinite(){let $=null,X=null;for(let J of this._def.checks)if(J.kind==="finite"||J.kind==="int"||J.kind==="multipleOf")return!0;else if(J.kind==="min"){if(X===null||J.value>X)X=J.value}else if(J.kind==="max"){if($===null||J.value<$)$=J.value}return Number.isFinite(X)&&Number.isFinite($)}}M0.create=($)=>{return new M0({checks:[],typeName:j.ZodNumber,coerce:$?.coerce||!1,...M($)})};class k0 extends I{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($)!==b.bigint)return this._getInvalidInput($);let J=void 0,W=new e;for(let H of this._def.checks)if(H.kind==="min"){if(H.inclusive?$.data<H.value:$.data<=H.value)J=this._getOrReturnCtx($,J),S(J,{code:z.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)J=this._getOrReturnCtx($,J),S(J,{code:z.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))J=this._getOrReturnCtx($,J),S(J,{code:z.not_multiple_of,multipleOf:H.value,message:H.message}),W.dirty()}else T.assertNever(H);return{status:W.value,value:$.data}}_getInvalidInput($){let X=this._getOrReturnCtx($);return S(X,{code:z.invalid_type,expected:b.bigint,received:X.parsedType}),O}gte($,X){return this.setLimit("min",$,!0,E.toString(X))}gt($,X){return this.setLimit("min",$,!1,E.toString(X))}lte($,X){return this.setLimit("max",$,!0,E.toString(X))}lt($,X){return this.setLimit("max",$,!1,E.toString(X))}setLimit($,X,J,W){return new k0({...this._def,checks:[...this._def.checks,{kind:$,value:X,inclusive:J,message:E.toString(W)}]})}_addCheck($){return new k0({...this._def,checks:[...this._def.checks,$]})}positive($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:E.toString($)})}negative($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:E.toString($)})}nonpositive($){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:E.toString($)})}nonnegative($){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:E.toString($)})}multipleOf($,X){return this._addCheck({kind:"multipleOf",value:$,message:E.toString(X)})}get minValue(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $}get maxValue(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $}}k0.create=($)=>{return new k0({checks:[],typeName:j.ZodBigInt,coerce:$?.coerce??!1,...M($)})};class r0 extends I{_parse($){if(this._def.coerce)$.data=Boolean($.data);if(this._getType($)!==b.boolean){let J=this._getOrReturnCtx($);return S(J,{code:z.invalid_type,expected:b.boolean,received:J.parsedType}),O}return $0($.data)}}r0.create=($)=>{return new r0({typeName:j.ZodBoolean,coerce:$?.coerce||!1,...M($)})};class T0 extends I{_parse($){if(this._def.coerce)$.data=new Date($.data);if(this._getType($)!==b.date){let H=this._getOrReturnCtx($);return S(H,{code:z.invalid_type,expected:b.date,received:H.parsedType}),O}if(Number.isNaN($.data.getTime())){let H=this._getOrReturnCtx($);return S(H,{code:z.invalid_date}),O}let J=new e,W=void 0;for(let H of this._def.checks)if(H.kind==="min"){if($.data.getTime()<H.value)W=this._getOrReturnCtx($,W),S(W,{code:z.too_small,message:H.message,inclusive:!0,exact:!1,minimum:H.value,type:"date"}),J.dirty()}else if(H.kind==="max"){if($.data.getTime()>H.value)W=this._getOrReturnCtx($,W),S(W,{code:z.too_big,message:H.message,inclusive:!0,exact:!1,maximum:H.value,type:"date"}),J.dirty()}else T.assertNever(H);return{status:J.value,value:new Date($.data.getTime())}}_addCheck($){return new T0({...this._def,checks:[...this._def.checks,$]})}min($,X){return this._addCheck({kind:"min",value:$.getTime(),message:E.toString(X)})}max($,X){return this._addCheck({kind:"max",value:$.getTime(),message:E.toString(X)})}get minDate(){let $=null;for(let X of this._def.checks)if(X.kind==="min"){if($===null||X.value>$)$=X.value}return $!=null?new Date($):null}get maxDate(){let $=null;for(let X of this._def.checks)if(X.kind==="max"){if($===null||X.value<$)$=X.value}return $!=null?new Date($):null}}T0.create=($)=>{return new T0({checks:[],coerce:$?.coerce||!1,typeName:j.ZodDate,...M($)})};class L1 extends I{_parse($){if(this._getType($)!==b.symbol){let J=this._getOrReturnCtx($);return S(J,{code:z.invalid_type,expected:b.symbol,received:J.parsedType}),O}return $0($.data)}}L1.create=($)=>{return new L1({typeName:j.ZodSymbol,...M($)})};class t0 extends I{_parse($){if(this._getType($)!==b.undefined){let J=this._getOrReturnCtx($);return S(J,{code:z.invalid_type,expected:b.undefined,received:J.parsedType}),O}return $0($.data)}}t0.create=($)=>{return new t0({typeName:j.ZodUndefined,...M($)})};class a0 extends I{_parse($){if(this._getType($)!==b.null){let J=this._getOrReturnCtx($);return S(J,{code:z.invalid_type,expected:b.null,received:J.parsedType}),O}return $0($.data)}}a0.create=($)=>{return new a0({typeName:j.ZodNull,...M($)})};class h0 extends I{constructor(){super(...arguments);this._any=!0}_parse($){return $0($.data)}}h0.create=($)=>{return new h0({typeName:j.ZodAny,...M($)})};class C0 extends I{constructor(){super(...arguments);this._unknown=!0}_parse($){return $0($.data)}}C0.create=($)=>{return new C0({typeName:j.ZodUnknown,...M($)})};class A0 extends I{_parse($){let X=this._getOrReturnCtx($);return S(X,{code:z.invalid_type,expected:b.never,received:X.parsedType}),O}}A0.create=($)=>{return new A0({typeName:j.ZodNever,...M($)})};class E1 extends I{_parse($){if(this._getType($)!==b.undefined){let J=this._getOrReturnCtx($);return S(J,{code:z.invalid_type,expected:b.void,received:J.parsedType}),O}return $0($.data)}}E1.create=($)=>{return new E1({typeName:j.ZodVoid,...M($)})};class w0 extends I{_parse($){let{ctx:X,status:J}=this._processInputParams($),W=this._def;if(X.parsedType!==b.array)return S(X,{code:z.invalid_type,expected:b.array,received:X.parsedType}),O;if(W.exactLength!==null){let _=X.data.length>W.exactLength.value,B=X.data.length<W.exactLength.value;if(_||B)S(X,{code:_?z.too_big:z.too_small,minimum:B?W.exactLength.value:void 0,maximum:_?W.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:W.exactLength.message}),J.dirty()}if(W.minLength!==null){if(X.data.length<W.minLength.value)S(X,{code:z.too_small,minimum:W.minLength.value,type:"array",inclusive:!0,exact:!1,message:W.minLength.message}),J.dirty()}if(W.maxLength!==null){if(X.data.length>W.maxLength.value)S(X,{code:z.too_big,maximum:W.maxLength.value,type:"array",inclusive:!0,exact:!1,message:W.maxLength.message}),J.dirty()}if(X.common.async)return Promise.all([...X.data].map((_,B)=>{return W.type._parseAsync(new G0(X,_,X.path,B))})).then((_)=>{return e.mergeArray(J,_)});let H=[...X.data].map((_,B)=>{return W.type._parseSync(new G0(X,_,X.path,B))});return e.mergeArray(J,H)}get element(){return this._def.type}min($,X){return new w0({...this._def,minLength:{value:$,message:E.toString(X)}})}max($,X){return new w0({...this._def,maxLength:{value:$,message:E.toString(X)}})}length($,X){return new w0({...this._def,exactLength:{value:$,message:E.toString(X)}})}nonempty($){return this.min(1,$)}}w0.create=($,X)=>{return new w0({type:$,minLength:null,maxLength:null,exactLength:null,typeName:j.ZodArray,...M(X)})};function d0($){if($ instanceof m){let X={};for(let J in $.shape){let W=$.shape[J];X[J]=D0.create(d0(W))}return new m({...$._def,shape:()=>X})}else if($ instanceof w0)return new w0({...$._def,type:d0($.element)});else if($ instanceof D0)return D0.create(d0($.unwrap()));else if($ instanceof R0)return R0.create(d0($.unwrap()));else if($ instanceof L0)return L0.create($.items.map((X)=>d0(X)));else return $}class m extends I{constructor(){super(...arguments);this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let $=this._def.shape(),X=T.objectKeys($);return this._cached={shape:$,keys:X},this._cached}_parse($){if(this._getType($)!==b.object){let Y=this._getOrReturnCtx($);return S(Y,{code:z.invalid_type,expected:b.object,received:Y.parsedType}),O}let{status:J,ctx:W}=this._processInputParams($),{shape:H,keys:_}=this._getCached(),B=[];if(!(this._def.catchall instanceof A0&&this._def.unknownKeys==="strip")){for(let Y in W.data)if(!_.includes(Y))B.push(Y)}let Q=[];for(let Y of _){let w=H[Y],N=W.data[Y];Q.push({key:{status:"valid",value:Y},value:w._parse(new G0(W,N,W.path,Y)),alwaysSet:Y in W.data})}if(this._def.catchall instanceof A0){let Y=this._def.unknownKeys;if(Y==="passthrough")for(let w of B)Q.push({key:{status:"valid",value:w},value:{status:"valid",value:W.data[w]}});else if(Y==="strict"){if(B.length>0)S(W,{code:z.unrecognized_keys,keys:B}),J.dirty()}else if(Y==="strip");else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let Y=this._def.catchall;for(let w of B){let N=W.data[w];Q.push({key:{status:"valid",value:w},value:Y._parse(new G0(W,N,W.path,w)),alwaysSet:w in W.data})}}if(W.common.async)return Promise.resolve().then(async()=>{let Y=[];for(let w of Q){let N=await w.key,F=await w.value;Y.push({key:N,value:F,alwaysSet:w.alwaysSet})}return Y}).then((Y)=>{return e.mergeObjectSync(J,Y)});else return e.mergeObjectSync(J,Q)}get shape(){return this._def.shape()}strict($){return E.errToObj,new m({...this._def,unknownKeys:"strict",...$!==void 0?{errorMap:(X,J)=>{let W=this._def.errorMap?.(X,J).message??J.defaultError;if(X.code==="unrecognized_keys")return{message:E.errToObj($).message??W};return{message:W}}}:{}})}strip(){return new m({...this._def,unknownKeys:"strip"})}passthrough(){return new m({...this._def,unknownKeys:"passthrough"})}extend($){return new m({...this._def,shape:()=>({...this._def.shape(),...$})})}merge($){return new m({unknownKeys:$._def.unknownKeys,catchall:$._def.catchall,shape:()=>({...this._def.shape(),...$._def.shape()}),typeName:j.ZodObject})}setKey($,X){return this.augment({[$]:X})}catchall($){return new m({...this._def,catchall:$})}pick($){let X={};for(let J of T.objectKeys($))if($[J]&&this.shape[J])X[J]=this.shape[J];return new m({...this._def,shape:()=>X})}omit($){let X={};for(let J of T.objectKeys(this.shape))if(!$[J])X[J]=this.shape[J];return new m({...this._def,shape:()=>X})}deepPartial(){return d0(this)}partial($){let X={};for(let J of T.objectKeys(this.shape)){let W=this.shape[J];if($&&!$[J])X[J]=W;else X[J]=W.optional()}return new m({...this._def,shape:()=>X})}required($){let X={};for(let J of T.objectKeys(this.shape))if($&&!$[J])X[J]=this.shape[J];else{let H=this.shape[J];while(H instanceof D0)H=H._def.innerType;X[J]=H}return new m({...this._def,shape:()=>X})}keyof(){return T2(T.objectKeys(this.shape))}}m.create=($,X)=>{return new m({shape:()=>$,unknownKeys:"strip",catchall:A0.create(),typeName:j.ZodObject,...M(X)})};m.strictCreate=($,X)=>{return new m({shape:()=>$,unknownKeys:"strict",catchall:A0.create(),typeName:j.ZodObject,...M(X)})};m.lazycreate=($,X)=>{return new m({shape:$,unknownKeys:"strip",catchall:A0.create(),typeName:j.ZodObject,...M(X)})};class e0 extends I{_parse($){let{ctx:X}=this._processInputParams($),J=this._def.options;function W(H){for(let B of H)if(B.result.status==="valid")return B.result;for(let B of H)if(B.result.status==="dirty")return X.common.issues.push(...B.ctx.common.issues),B.result;let _=H.map((B)=>new a(B.ctx.common.issues));return S(X,{code:z.invalid_union,unionErrors:_}),O}if(X.common.async)return Promise.all(J.map(async(H)=>{let _={...X,common:{...X.common,issues:[]},parent:null};return{result:await H._parseAsync({data:X.data,path:X.path,parent:_}),ctx:_}})).then(W);else{let H=void 0,_=[];for(let Q of J){let Y={...X,common:{...X.common,issues:[]},parent:null},w=Q._parseSync({data:X.data,path:X.path,parent:Y});if(w.status==="valid")return w;else if(w.status==="dirty"&&!H)H={result:w,ctx:Y};if(Y.common.issues.length)_.push(Y.common.issues)}if(H)return X.common.issues.push(...H.ctx.common.issues),H.result;let B=_.map((Q)=>new a(Q));return S(X,{code:z.invalid_union,unionErrors:B}),O}}get options(){return this._def.options}}e0.create=($,X)=>{return new e0({options:$,typeName:j.ZodUnion,...M(X)})};var f0=($)=>{if($ instanceof X1)return f0($.schema);else if($ instanceof N0)return f0($.innerType());else if($ instanceof J1)return[$.value];else if($ instanceof P0)return $.options;else if($ instanceof W1)return T.objectValues($.enum);else if($ instanceof H1)return f0($._def.innerType);else if($ instanceof t0)return[void 0];else if($ instanceof a0)return[null];else if($ instanceof D0)return[void 0,...f0($.unwrap())];else if($ instanceof R0)return[null,...f0($.unwrap())];else if($ instanceof d1)return f0($.unwrap());else if($ instanceof B1)return f0($.unwrap());else if($ instanceof _1)return f0($._def.innerType);else return[]};class o1 extends I{_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==b.object)return S(X,{code:z.invalid_type,expected:b.object,received:X.parsedType}),O;let J=this.discriminator,W=X.data[J],H=this.optionsMap.get(W);if(!H)return S(X,{code:z.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[J]}),O;if(X.common.async)return H._parseAsync({data:X.data,path:X.path,parent:X});else return H._parseSync({data:X.data,path:X.path,parent:X})}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create($,X,J){let W=new Map;for(let H of X){let _=f0(H.shape[$]);if(!_.length)throw Error(`A discriminator value for key \`${$}\` could not be extracted from all schema options`);for(let B of _){if(W.has(B))throw Error(`Discriminator property ${String($)} has duplicate value ${String(B)}`);W.set(B,H)}}return new o1({typeName:j.ZodDiscriminatedUnion,discriminator:$,options:X,optionsMap:W,...M(J)})}}function M$($,X){let J=U0($),W=U0(X);if($===X)return{valid:!0,data:$};else if(J===b.object&&W===b.object){let H=T.objectKeys(X),_=T.objectKeys($).filter((Q)=>H.indexOf(Q)!==-1),B={...$,...X};for(let Q of _){let Y=M$($[Q],X[Q]);if(!Y.valid)return{valid:!1};B[Q]=Y.data}return{valid:!0,data:B}}else if(J===b.array&&W===b.array){if($.length!==X.length)return{valid:!1};let H=[];for(let _=0;_<$.length;_++){let B=$[_],Q=X[_],Y=M$(B,Q);if(!Y.valid)return{valid:!1};H.push(Y.data)}return{valid:!0,data:H}}else if(J===b.date&&W===b.date&&+$===+X)return{valid:!0,data:$};else return{valid:!1}}class $1 extends I{_parse($){let{status:X,ctx:J}=this._processInputParams($),W=(H,_)=>{if(c1(H)||c1(_))return O;let B=M$(H.value,_.value);if(!B.valid)return S(J,{code:z.invalid_intersection_types}),O;if(p1(H)||p1(_))X.dirty();return{status:X.value,value:B.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(([H,_])=>W(H,_));else return W(this._def.left._parseSync({data:J.data,path:J.path,parent:J}),this._def.right._parseSync({data:J.data,path:J.path,parent:J}))}}$1.create=($,X,J)=>{return new $1({left:$,right:X,typeName:j.ZodIntersection,...M(J)})};class L0 extends I{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==b.array)return S(J,{code:z.invalid_type,expected:b.array,received:J.parsedType}),O;if(J.data.length<this._def.items.length)return S(J,{code:z.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),O;if(!this._def.rest&&J.data.length>this._def.items.length)S(J,{code:z.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),X.dirty();let H=[...J.data].map((_,B)=>{let Q=this._def.items[B]||this._def.rest;if(!Q)return null;return Q._parse(new G0(J,_,J.path,B))}).filter((_)=>!!_);if(J.common.async)return Promise.all(H).then((_)=>{return e.mergeArray(X,_)});else return e.mergeArray(X,H)}get items(){return this._def.items}rest($){return new L0({...this._def,rest:$})}}L0.create=($,X)=>{if(!Array.isArray($))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new L0({items:$,typeName:j.ZodTuple,rest:null,...M(X)})};class F1 extends I{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==b.object)return S(J,{code:z.invalid_type,expected:b.object,received:J.parsedType}),O;let W=[],H=this._def.keyType,_=this._def.valueType;for(let B in J.data)W.push({key:H._parse(new G0(J,B,J.path,B)),value:_._parse(new G0(J,J.data[B],J.path,B)),alwaysSet:B in J.data});if(J.common.async)return e.mergeObjectAsync(X,W);else return e.mergeObjectSync(X,W)}get element(){return this._def.valueType}static create($,X,J){if(X instanceof I)return new F1({keyType:$,valueType:X,typeName:j.ZodRecord,...M(J)});return new F1({keyType:q0.create(),valueType:$,typeName:j.ZodRecord,...M(X)})}}class f1 extends I{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==b.map)return S(J,{code:z.invalid_type,expected:b.map,received:J.parsedType}),O;let W=this._def.keyType,H=this._def.valueType,_=[...J.data.entries()].map(([B,Q],Y)=>{return{key:W._parse(new G0(J,B,J.path,[Y,"key"])),value:H._parse(new G0(J,Q,J.path,[Y,"value"]))}});if(J.common.async){let B=new Map;return Promise.resolve().then(async()=>{for(let Q of _){let Y=await Q.key,w=await Q.value;if(Y.status==="aborted"||w.status==="aborted")return O;if(Y.status==="dirty"||w.status==="dirty")X.dirty();B.set(Y.value,w.value)}return{status:X.value,value:B}})}else{let B=new Map;for(let Q of _){let{key:Y,value:w}=Q;if(Y.status==="aborted"||w.status==="aborted")return O;if(Y.status==="dirty"||w.status==="dirty")X.dirty();B.set(Y.value,w.value)}return{status:X.value,value:B}}}}f1.create=($,X,J)=>{return new f1({valueType:X,keyType:$,typeName:j.ZodMap,...M(J)})};class x0 extends I{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.parsedType!==b.set)return S(J,{code:z.invalid_type,expected:b.set,received:J.parsedType}),O;let W=this._def;if(W.minSize!==null){if(J.data.size<W.minSize.value)S(J,{code:z.too_small,minimum:W.minSize.value,type:"set",inclusive:!0,exact:!1,message:W.minSize.message}),X.dirty()}if(W.maxSize!==null){if(J.data.size>W.maxSize.value)S(J,{code:z.too_big,maximum:W.maxSize.value,type:"set",inclusive:!0,exact:!1,message:W.maxSize.message}),X.dirty()}let H=this._def.valueType;function _(Q){let Y=new Set;for(let w of Q){if(w.status==="aborted")return O;if(w.status==="dirty")X.dirty();Y.add(w.value)}return{status:X.value,value:Y}}let B=[...J.data.values()].map((Q,Y)=>H._parse(new G0(J,Q,J.path,Y)));if(J.common.async)return Promise.all(B).then((Q)=>_(Q));else return _(B)}min($,X){return new x0({...this._def,minSize:{value:$,message:E.toString(X)}})}max($,X){return new x0({...this._def,maxSize:{value:$,message:E.toString(X)}})}size($,X){return this.min($,X).max($,X)}nonempty($){return this.min(1,$)}}x0.create=($,X)=>{return new x0({valueType:$,minSize:null,maxSize:null,typeName:j.ZodSet,...M(X)})};class s0 extends I{constructor(){super(...arguments);this.validate=this.implement}_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==b.function)return S(X,{code:z.invalid_type,expected:b.function,received:X.parsedType}),O;function J(B,Q){return A1({data:B,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,p0(),F0].filter((Y)=>!!Y),issueData:{code:z.invalid_arguments,argumentsError:Q}})}function W(B,Q){return A1({data:B,path:X.path,errorMaps:[X.common.contextualErrorMap,X.schemaErrorMap,p0(),F0].filter((Y)=>!!Y),issueData:{code:z.invalid_return_type,returnTypeError:Q}})}let H={errorMap:X.common.contextualErrorMap},_=X.data;if(this._def.returns instanceof g0){let B=this;return $0(async function(...Q){let Y=new a([]),w=await B._def.args.parseAsync(Q,H).catch((P)=>{throw Y.addIssue(J(Q,P)),Y}),N=await Reflect.apply(_,this,w);return await B._def.returns._def.type.parseAsync(N,H).catch((P)=>{throw Y.addIssue(W(N,P)),Y})})}else{let B=this;return $0(function(...Q){let Y=B._def.args.safeParse(Q,H);if(!Y.success)throw new a([J(Q,Y.error)]);let w=Reflect.apply(_,this,Y.data),N=B._def.returns.safeParse(w,H);if(!N.success)throw new a([W(w,N.error)]);return N.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...$){return new s0({...this._def,args:L0.create($).rest(C0.create())})}returns($){return new s0({...this._def,returns:$})}implement($){return this.parse($)}strictImplement($){return this.parse($)}static create($,X,J){return new s0({args:$?$:L0.create([]).rest(C0.create()),returns:X||C0.create(),typeName:j.ZodFunction,...M(J)})}}class X1 extends I{get schema(){return this._def.getter()}_parse($){let{ctx:X}=this._processInputParams($);return this._def.getter()._parse({data:X.data,path:X.path,parent:X})}}X1.create=($,X)=>{return new X1({getter:$,typeName:j.ZodLazy,...M(X)})};class J1 extends I{_parse($){if($.data!==this._def.value){let X=this._getOrReturnCtx($);return S(X,{received:X.data,code:z.invalid_literal,expected:this._def.value}),O}return{status:"valid",value:$.data}}get value(){return this._def.value}}J1.create=($,X)=>{return new J1({value:$,typeName:j.ZodLiteral,...M(X)})};function T2($,X){return new P0({values:$,typeName:j.ZodEnum,...M(X)})}class P0 extends I{_parse($){if(typeof $.data!=="string"){let X=this._getOrReturnCtx($),J=this._def.values;return S(X,{expected:T.joinValues(J),received:X.parsedType,code:z.invalid_type}),O}if(!this._cache)this._cache=new Set(this._def.values);if(!this._cache.has($.data)){let X=this._getOrReturnCtx($),J=this._def.values;return S(X,{received:X.data,code:z.invalid_enum_value,options:J}),O}return $0($.data)}get options(){return this._def.values}get enum(){let $={};for(let X of this._def.values)$[X]=X;return $}get Values(){let $={};for(let X of this._def.values)$[X]=X;return $}get Enum(){let $={};for(let X of this._def.values)$[X]=X;return $}extract($,X=this._def){return P0.create($,{...this._def,...X})}exclude($,X=this._def){return P0.create(this.options.filter((J)=>!$.includes(J)),{...this._def,...X})}}P0.create=T2;class W1 extends I{_parse($){let X=T.getValidEnumValues(this._def.values),J=this._getOrReturnCtx($);if(J.parsedType!==b.string&&J.parsedType!==b.number){let W=T.objectValues(X);return S(J,{expected:T.joinValues(W),received:J.parsedType,code:z.invalid_type}),O}if(!this._cache)this._cache=new Set(T.getValidEnumValues(this._def.values));if(!this._cache.has($.data)){let W=T.objectValues(X);return S(J,{received:J.data,code:z.invalid_enum_value,options:W}),O}return $0($.data)}get enum(){return this._def.values}}W1.create=($,X)=>{return new W1({values:$,typeName:j.ZodNativeEnum,...M(X)})};class g0 extends I{unwrap(){return this._def.type}_parse($){let{ctx:X}=this._processInputParams($);if(X.parsedType!==b.promise&&X.common.async===!1)return S(X,{code:z.invalid_type,expected:b.promise,received:X.parsedType}),O;let J=X.parsedType===b.promise?X.data:Promise.resolve(X.data);return $0(J.then((W)=>{return this._def.type.parseAsync(W,{path:X.path,errorMap:X.common.contextualErrorMap})}))}}g0.create=($,X)=>{return new g0({type:$,typeName:j.ZodPromise,...M(X)})};class N0 extends I{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===j.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse($){let{status:X,ctx:J}=this._processInputParams($),W=this._def.effect||null,H={addIssue:(_)=>{if(S(J,_),_.fatal)X.abort();else X.dirty()},get path(){return J.path}};if(H.addIssue=H.addIssue.bind(H),W.type==="preprocess"){let _=W.transform(J.data,H);if(J.common.async)return Promise.resolve(_).then(async(B)=>{if(X.value==="aborted")return O;let Q=await this._def.schema._parseAsync({data:B,path:J.path,parent:J});if(Q.status==="aborted")return O;if(Q.status==="dirty")return K0(Q.value);if(X.value==="dirty")return K0(Q.value);return Q});else{if(X.value==="aborted")return O;let B=this._def.schema._parseSync({data:_,path:J.path,parent:J});if(B.status==="aborted")return O;if(B.status==="dirty")return K0(B.value);if(X.value==="dirty")return K0(B.value);return B}}if(W.type==="refinement"){let _=(B)=>{let Q=W.refinement(B,H);if(J.common.async)return Promise.resolve(Q);if(Q instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return B};if(J.common.async===!1){let B=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(B.status==="aborted")return O;if(B.status==="dirty")X.dirty();return _(B.value),{status:X.value,value:B.value}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((B)=>{if(B.status==="aborted")return O;if(B.status==="dirty")X.dirty();return _(B.value).then(()=>{return{status:X.value,value:B.value}})})}if(W.type==="transform")if(J.common.async===!1){let _=this._def.schema._parseSync({data:J.data,path:J.path,parent:J});if(!v0(_))return O;let B=W.transform(_.value,H);if(B instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:X.value,value:B}}else return this._def.schema._parseAsync({data:J.data,path:J.path,parent:J}).then((_)=>{if(!v0(_))return O;return Promise.resolve(W.transform(_.value,H)).then((B)=>({status:X.value,value:B}))});T.assertNever(W)}}N0.create=($,X,J)=>{return new N0({schema:$,typeName:j.ZodEffects,effect:X,...M(J)})};N0.createWithPreprocess=($,X,J)=>{return new N0({schema:X,effect:{type:"preprocess",transform:$},typeName:j.ZodEffects,...M(J)})};class D0 extends I{_parse($){if(this._getType($)===b.undefined)return $0(void 0);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}D0.create=($,X)=>{return new D0({innerType:$,typeName:j.ZodOptional,...M(X)})};class R0 extends I{_parse($){if(this._getType($)===b.null)return $0(null);return this._def.innerType._parse($)}unwrap(){return this._def.innerType}}R0.create=($,X)=>{return new R0({innerType:$,typeName:j.ZodNullable,...M(X)})};class H1 extends I{_parse($){let{ctx:X}=this._processInputParams($),J=X.data;if(X.parsedType===b.undefined)J=this._def.defaultValue();return this._def.innerType._parse({data:J,path:X.path,parent:X})}removeDefault(){return this._def.innerType}}H1.create=($,X)=>{return new H1({innerType:$,typeName:j.ZodDefault,defaultValue:typeof X.default==="function"?X.default:()=>X.default,...M(X)})};class _1 extends I{_parse($){let{ctx:X}=this._processInputParams($),J={...X,common:{...X.common,issues:[]}},W=this._def.innerType._parse({data:J.data,path:J.path,parent:{...J}});if(o0(W))return W.then((H)=>{return{status:"valid",value:H.status==="valid"?H.value:this._def.catchValue({get error(){return new a(J.common.issues)},input:J.data})}});else return{status:"valid",value:W.status==="valid"?W.value:this._def.catchValue({get error(){return new a(J.common.issues)},input:J.data})}}removeCatch(){return this._def.innerType}}_1.create=($,X)=>{return new _1({innerType:$,typeName:j.ZodCatch,catchValue:typeof X.catch==="function"?X.catch:()=>X.catch,...M(X)})};class R1 extends I{_parse($){if(this._getType($)!==b.nan){let J=this._getOrReturnCtx($);return S(J,{code:z.invalid_type,expected:b.nan,received:J.parsedType}),O}return{status:"valid",value:$.data}}}R1.create=($)=>{return new R1({typeName:j.ZodNaN,...M($)})};var u4=Symbol("zod_brand");class d1 extends I{_parse($){let{ctx:X}=this._processInputParams($),J=X.data;return this._def.type._parse({data:J,path:X.path,parent:X})}unwrap(){return this._def.type}}class O1 extends I{_parse($){let{status:X,ctx:J}=this._processInputParams($);if(J.common.async)return(async()=>{let H=await this._def.in._parseAsync({data:J.data,path:J.path,parent:J});if(H.status==="aborted")return O;if(H.status==="dirty")return X.dirty(),K0(H.value);else return this._def.out._parseAsync({data:H.value,path:J.path,parent:J})})();else{let W=this._def.in._parseSync({data:J.data,path:J.path,parent:J});if(W.status==="aborted")return O;if(W.status==="dirty")return X.dirty(),{status:"dirty",value:W.value};else return this._def.out._parseSync({data:W.value,path:J.path,parent:J})}}static create($,X){return new O1({in:$,out:X,typeName:j.ZodPipeline})}}class B1 extends I{_parse($){let X=this._def.innerType._parse($),J=(W)=>{if(v0(W))W.value=Object.freeze(W.value);return W};return o0(X)?X.then((W)=>J(W)):J(X)}unwrap(){return this._def.innerType}}B1.create=($,X)=>{return new B1({innerType:$,typeName:j.ZodReadonly,...M(X)})};function k2($,X){let J=typeof $==="function"?$(X):typeof $==="string"?{message:$}:$;return typeof J==="string"?{message:J}:J}function h2($,X={},J){if($)return h0.create().superRefine((W,H)=>{let _=$(W);if(_ instanceof Promise)return _.then((B)=>{if(!B){let Q=k2(X,W),Y=Q.fatal??J??!0;H.addIssue({code:"custom",...Q,fatal:Y})}});if(!_){let B=k2(X,W),Q=B.fatal??J??!0;H.addIssue({code:"custom",...B,fatal:Q})}return});return h0.create()}var m4={object:m.lazycreate},j;(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"})(j||(j={}));var y4=($,X={message:`Input not instance of ${$.name}`})=>h2((J)=>J instanceof $,X),x2=q0.create,g2=M0.create,n4=R1.create,i4=k0.create,Z2=r0.create,c4=T0.create,p4=L1.create,o4=t0.create,d4=a0.create,s4=h0.create,r4=C0.create,t4=A0.create,a4=E1.create,e4=w0.create,$8=m.create,X8=m.strictCreate,J8=e0.create,W8=o1.create,H8=$1.create,_8=L0.create,B8=F1.create,Q8=f1.create,Y8=x0.create,q8=s0.create,w8=X1.create,D8=J1.create,G8=P0.create,N8=W1.create,z8=g0.create,j8=N0.create,b8=D0.create,V8=R0.create,S8=N0.createWithPreprocess,U8=O1.create,A8=()=>x2().optional(),L8=()=>g2().optional(),E8=()=>Z2().optional(),F8={string:($)=>q0.create({...$,coerce:!0}),number:($)=>M0.create({...$,coerce:!0}),boolean:($)=>r0.create({...$,coerce:!0}),bigint:($)=>k0.create({...$,coerce:!0}),date:($)=>T0.create({...$,coerce:!0})};var f8=O;function u($){if($.target!=="openAi")return{};let X=[...$.basePath,$.definitionPath,$.openAiAnyTypeName];return $.flags.hasReferencedOpenAiAnyType=!0,{$ref:$.$refStrategy==="relative"?i1(X,$.currentPath):X.join("/")}}function l2($,X){let J={type:"array"};if($.type?._def&&$.type?._def?.typeName!==j.ZodAny)J.items=v($.type._def,{...X,currentPath:[...X.currentPath,"items"]});if($.minLength)x(J,"minItems",$.minLength.value,$.minLength.message,X);if($.maxLength)x(J,"maxItems",$.maxLength.value,$.maxLength.message,X);if($.exactLength)x(J,"minItems",$.exactLength.value,$.exactLength.message,X),x(J,"maxItems",$.exactLength.value,$.exactLength.message,X);return J}function u2($,X){let J={type:"integer",format:"int64"};if(!$.checks)return J;for(let W of $.checks)switch(W.kind){case"min":if(X.target==="jsonSchema7")if(W.inclusive)x(J,"minimum",W.value,W.message,X);else x(J,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)J.exclusiveMinimum=!0;x(J,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)x(J,"maximum",W.value,W.message,X);else x(J,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)J.exclusiveMaximum=!0;x(J,"maximum",W.value,W.message,X)}break;case"multipleOf":x(J,"multipleOf",W.value,W.message,X);break}return J}function m2(){return{type:"boolean"}}function s1($,X){return v($.type._def,X)}var y2=($,X)=>{return v($.innerType._def,X)};function k$($,X,J){let W=J??X.dateStrategy;if(Array.isArray(W))return{anyOf:W.map((H,_)=>k$($,X,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 R8($,X)}}var R8=($,X)=>{let J={type:"integer",format:"unix-time"};if(X.target==="openApi3")return J;for(let W of $.checks)switch(W.kind){case"min":x(J,"minimum",W.value,W.message,X);break;case"max":x(J,"maximum",W.value,W.message,X);break}return J};function n2($,X){return{...v($.innerType._def,X),default:$.defaultValue()}}function i2($,X){return X.effectStrategy==="input"?v($.schema._def,X):u(X)}function c2($){return{type:"string",enum:Array.from($.values)}}var O8=($)=>{if("type"in $&&$.type==="string")return!1;return"allOf"in $};function p2($,X){let J=[v($.left._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),v($.right._def,{...X,currentPath:[...X.currentPath,"allOf","1"]})].filter((_)=>!!_),W=X.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,H=[];return J.forEach((_)=>{if(O8(_)){if(H.push(..._.allOf),_.unevaluatedProperties===void 0)W=void 0}else{let B=_;if("additionalProperties"in _&&_.additionalProperties===!1){let{additionalProperties:Q,...Y}=_;B=Y}else W=void 0;H.push(B)}}),H.length?{allOf:H,...W}:void 0}function o2($,X){let J=typeof $.value;if(J!=="bigint"&&J!=="number"&&J!=="boolean"&&J!=="string")return{type:Array.isArray($.value)?"array":"object"};if(X.target==="openApi3")return{type:J==="bigint"?"integer":J,enum:[$.value]};return{type:J==="bigint"?"integer":J,const:$.value}}var P$=void 0,z0={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(P$===void 0)P$=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u");return P$},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 r1($,X){let J={type:"string"};if($.checks)for(let W of $.checks)switch(W.kind){case"min":x(J,"minLength",typeof J.minLength==="number"?Math.max(J.minLength,W.value):W.value,W.message,X);break;case"max":x(J,"maxLength",typeof J.maxLength==="number"?Math.min(J.maxLength,W.value):W.value,W.message,X);break;case"email":switch(X.emailStrategy){case"format:email":j0(J,"email",W.message,X);break;case"format:idn-email":j0(J,"idn-email",W.message,X);break;case"pattern:zod":J0(J,z0.email,W.message,X);break}break;case"url":j0(J,"uri",W.message,X);break;case"uuid":j0(J,"uuid",W.message,X);break;case"regex":J0(J,W.regex,W.message,X);break;case"cuid":J0(J,z0.cuid,W.message,X);break;case"cuid2":J0(J,z0.cuid2,W.message,X);break;case"startsWith":J0(J,RegExp(`^${I$(W.value,X)}`),W.message,X);break;case"endsWith":J0(J,RegExp(`${I$(W.value,X)}$`),W.message,X);break;case"datetime":j0(J,"date-time",W.message,X);break;case"date":j0(J,"date",W.message,X);break;case"time":j0(J,"time",W.message,X);break;case"duration":j0(J,"duration",W.message,X);break;case"length":x(J,"minLength",typeof J.minLength==="number"?Math.max(J.minLength,W.value):W.value,W.message,X),x(J,"maxLength",typeof J.maxLength==="number"?Math.min(J.maxLength,W.value):W.value,W.message,X);break;case"includes":{J0(J,RegExp(I$(W.value,X)),W.message,X);break}case"ip":{if(W.version!=="v6")j0(J,"ipv4",W.message,X);if(W.version!=="v4")j0(J,"ipv6",W.message,X);break}case"base64url":J0(J,z0.base64url,W.message,X);break;case"jwt":J0(J,z0.jwt,W.message,X);break;case"cidr":{if(W.version!=="v6")J0(J,z0.ipv4Cidr,W.message,X);if(W.version!=="v4")J0(J,z0.ipv6Cidr,W.message,X);break}case"emoji":J0(J,z0.emoji(),W.message,X);break;case"ulid":{J0(J,z0.ulid,W.message,X);break}case"base64":{switch(X.base64Strategy){case"format:binary":{j0(J,"binary",W.message,X);break}case"contentEncoding:base64":{x(J,"contentEncoding","base64",W.message,X);break}case"pattern:zod":{J0(J,z0.base64,W.message,X);break}}break}case"nanoid":J0(J,z0.nanoid,W.message,X);case"toLowerCase":case"toUpperCase":case"trim":break;default:((H)=>{})(W)}return J}function I$($,X){return X.patternStrategy==="escape"?C8($):$}var v8=new Set("ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvxyz0123456789");function C8($){let X="";for(let J=0;J<$.length;J++){if(!v8.has($[J]))X+="\\";X+=$[J]}return X}function j0($,X,J,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:X,...J&&W.errorMessages&&{errorMessage:{format:J}}})}else x($,"format",X,J,W)}function J0($,X,J,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:d2(X,W),...J&&W.errorMessages&&{errorMessage:{pattern:J}}})}else x($,"pattern",d2(X,W),J,W)}function d2($,X){if(!X.applyRegexFlags||!$.flags)return $.source;let J={i:$.flags.includes("i"),m:$.flags.includes("m"),s:$.flags.includes("s")},W=J.i?$.source.toLowerCase():$.source,H="",_=!1,B=!1,Q=!1;for(let Y=0;Y<W.length;Y++){if(_){H+=W[Y],_=!1;continue}if(J.i){if(B){if(W[Y].match(/[a-z]/)){if(Q)H+=W[Y],H+=`${W[Y-2]}-${W[Y]}`.toUpperCase(),Q=!1;else if(W[Y+1]==="-"&&W[Y+2]?.match(/[a-z]/))H+=W[Y],Q=!0;else H+=`${W[Y]}${W[Y].toUpperCase()}`;continue}}else if(W[Y].match(/[a-z]/)){H+=`[${W[Y]}${W[Y].toUpperCase()}]`;continue}}if(J.m){if(W[Y]==="^"){H+=`(^|(?<=[\r
15
+ ]))`;continue}else if(W[Y]==="$"){H+=`($|(?=[\r
16
+ ]))`;continue}}if(J.s&&W[Y]==="."){H+=B?`${W[Y]}\r
17
+ `:`[${W[Y]}\r
18
+ ]`;continue}if(H+=W[Y],W[Y]==="\\")_=!0;else if(B&&W[Y]==="]")B=!1;else if(!B&&W[Y]==="[")B=!0}try{new RegExp(H)}catch{return console.warn(`Could not convert regex pattern at ${X.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),$.source}return H}function t1($,X){if(X.target==="openAi")console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");if(X.target==="openApi3"&&$.keyType?._def.typeName===j.ZodEnum)return{type:"object",required:$.keyType._def.values,properties:$.keyType._def.values.reduce((W,H)=>({...W,[H]:v($.valueType._def,{...X,currentPath:[...X.currentPath,"properties",H]})??u(X)}),{}),additionalProperties:X.rejectedAdditionalProperties};let J={type:"object",additionalProperties:v($.valueType._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]})??X.allowedAdditionalProperties};if(X.target==="openApi3")return J;if($.keyType?._def.typeName===j.ZodString&&$.keyType._def.checks?.length){let{type:W,...H}=r1($.keyType._def,X);return{...J,propertyNames:H}}else if($.keyType?._def.typeName===j.ZodEnum)return{...J,propertyNames:{enum:$.keyType._def.values}};else if($.keyType?._def.typeName===j.ZodBranded&&$.keyType._def.type._def.typeName===j.ZodString&&$.keyType._def.type._def.checks?.length){let{type:W,...H}=s1($.keyType._def,X);return{...J,propertyNames:H}}return J}function s2($,X){if(X.mapStrategy==="record")return t1($,X);let J=v($.keyType._def,{...X,currentPath:[...X.currentPath,"items","items","0"]})||u(X),W=v($.valueType._def,{...X,currentPath:[...X.currentPath,"items","items","1"]})||u(X);return{type:"array",maxItems:125,items:{type:"array",items:[J,W],minItems:2,maxItems:2}}}function r2($){let X=$.values,W=Object.keys($.values).filter((_)=>{return typeof X[X[_]]!=="number"}).map((_)=>X[_]),H=Array.from(new Set(W.map((_)=>typeof _)));return{type:H.length===1?H[0]==="string"?"string":"number":["string","number"],enum:W}}function t2($){return $.target==="openAi"?void 0:{not:u({...$,currentPath:[...$.currentPath,"not"]})}}function a2($){return $.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var C1={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function $6($,X){if(X.target==="openApi3")return e2($,X);let J=$.options instanceof Map?Array.from($.options.values()):$.options;if(J.every((W)=>(W._def.typeName in C1)&&(!W._def.checks||!W._def.checks.length))){let W=J.reduce((H,_)=>{let B=C1[_._def.typeName];return B&&!H.includes(B)?[...H,B]:H},[]);return{type:W.length>1?W:W[0]}}else if(J.every((W)=>W._def.typeName==="ZodLiteral"&&!W.description)){let W=J.reduce((H,_)=>{let B=typeof _._def.value;switch(B){case"string":case"number":case"boolean":return[...H,B];case"bigint":return[...H,"integer"];case"object":if(_._def.value===null)return[...H,"null"];case"symbol":case"undefined":case"function":default:return H}},[]);if(W.length===J.length){let H=W.filter((_,B,Q)=>Q.indexOf(_)===B);return{type:H.length>1?H:H[0],enum:J.reduce((_,B)=>{return _.includes(B._def.value)?_:[..._,B._def.value]},[])}}}else if(J.every((W)=>W._def.typeName==="ZodEnum"))return{type:"string",enum:J.reduce((W,H)=>[...W,...H._def.values.filter((_)=>!W.includes(_))],[])};return e2($,X)}var e2=($,X)=>{let J=($.options instanceof Map?Array.from($.options.values()):$.options).map((W,H)=>v(W._def,{...X,currentPath:[...X.currentPath,"anyOf",`${H}`]})).filter((W)=>!!W&&(!X.strictUnions||typeof W==="object"&&Object.keys(W).length>0));return J.length?{anyOf:J}:void 0};function X6($,X){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes($.innerType._def.typeName)&&(!$.innerType._def.checks||!$.innerType._def.checks.length)){if(X.target==="openApi3")return{type:C1[$.innerType._def.typeName],nullable:!0};return{type:[C1[$.innerType._def.typeName],"null"]}}if(X.target==="openApi3"){let W=v($.innerType._def,{...X,currentPath:[...X.currentPath]});if(W&&"$ref"in W)return{allOf:[W],nullable:!0};return W&&{...W,nullable:!0}}let J=v($.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","0"]});return J&&{anyOf:[J,{type:"null"}]}}function J6($,X){let J={type:"number"};if(!$.checks)return J;for(let W of $.checks)switch(W.kind){case"int":J.type="integer",O$(J,"type",W.message,X);break;case"min":if(X.target==="jsonSchema7")if(W.inclusive)x(J,"minimum",W.value,W.message,X);else x(J,"exclusiveMinimum",W.value,W.message,X);else{if(!W.inclusive)J.exclusiveMinimum=!0;x(J,"minimum",W.value,W.message,X)}break;case"max":if(X.target==="jsonSchema7")if(W.inclusive)x(J,"maximum",W.value,W.message,X);else x(J,"exclusiveMaximum",W.value,W.message,X);else{if(!W.inclusive)J.exclusiveMaximum=!0;x(J,"maximum",W.value,W.message,X)}break;case"multipleOf":x(J,"multipleOf",W.value,W.message,X);break}return J}function W6($,X){let J=X.target==="openAi",W={type:"object",properties:{}},H=[],_=$.shape();for(let Q in _){let Y=_[Q];if(Y===void 0||Y._def===void 0)continue;let w=k8(Y);if(w&&J){if(Y._def.typeName==="ZodOptional")Y=Y._def.innerType;if(!Y.isNullable())Y=Y.nullable();w=!1}let N=v(Y._def,{...X,currentPath:[...X.currentPath,"properties",Q],propertyPath:[...X.currentPath,"properties",Q]});if(N===void 0)continue;if(W.properties[Q]=N,!w)H.push(Q)}if(H.length)W.required=H;let B=M8($,X);if(B!==void 0)W.additionalProperties=B;return W}function M8($,X){if($.catchall._def.typeName!=="ZodNever")return v($.catchall._def,{...X,currentPath:[...X.currentPath,"additionalProperties"]});switch($.unknownKeys){case"passthrough":return X.allowedAdditionalProperties;case"strict":return X.rejectedAdditionalProperties;case"strip":return X.removeAdditionalStrategy==="strict"?X.allowedAdditionalProperties:X.rejectedAdditionalProperties}}function k8($){try{return $.isOptional()}catch{return!0}}var H6=($,X)=>{if(X.currentPath.toString()===X.propertyPath?.toString())return v($.innerType._def,X);let J=v($.innerType._def,{...X,currentPath:[...X.currentPath,"anyOf","1"]});return J?{anyOf:[{not:u(X)},J]}:u(X)};var _6=($,X)=>{if(X.pipeStrategy==="input")return v($.in._def,X);else if(X.pipeStrategy==="output")return v($.out._def,X);let J=v($.in._def,{...X,currentPath:[...X.currentPath,"allOf","0"]}),W=v($.out._def,{...X,currentPath:[...X.currentPath,"allOf",J?"1":"0"]});return{allOf:[J,W].filter((H)=>H!==void 0)}};function B6($,X){return v($.type._def,X)}function Q6($,X){let W={type:"array",uniqueItems:!0,items:v($.valueType._def,{...X,currentPath:[...X.currentPath,"items"]})};if($.minSize)x(W,"minItems",$.minSize.value,$.minSize.message,X);if($.maxSize)x(W,"maxItems",$.maxSize.value,$.maxSize.message,X);return W}function Y6($,X){if($.rest)return{type:"array",minItems:$.items.length,items:$.items.map((J,W)=>v(J._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((J,W)=>W===void 0?J:[...J,W],[]),additionalItems:v($.rest._def,{...X,currentPath:[...X.currentPath,"additionalItems"]})};else return{type:"array",minItems:$.items.length,maxItems:$.items.length,items:$.items.map((J,W)=>v(J._def,{...X,currentPath:[...X.currentPath,"items",`${W}`]})).reduce((J,W)=>W===void 0?J:[...J,W],[])}}function q6($){return{not:u($)}}function w6($){return u($)}var D6=($,X)=>{return v($.innerType._def,X)};var G6=($,X,J)=>{switch(X){case j.ZodString:return r1($,J);case j.ZodNumber:return J6($,J);case j.ZodObject:return W6($,J);case j.ZodBigInt:return u2($,J);case j.ZodBoolean:return m2();case j.ZodDate:return k$($,J);case j.ZodUndefined:return q6(J);case j.ZodNull:return a2(J);case j.ZodArray:return l2($,J);case j.ZodUnion:case j.ZodDiscriminatedUnion:return $6($,J);case j.ZodIntersection:return p2($,J);case j.ZodTuple:return Y6($,J);case j.ZodRecord:return t1($,J);case j.ZodLiteral:return o2($,J);case j.ZodEnum:return c2($);case j.ZodNativeEnum:return r2($);case j.ZodNullable:return X6($,J);case j.ZodOptional:return H6($,J);case j.ZodMap:return s2($,J);case j.ZodSet:return Q6($,J);case j.ZodLazy:return()=>$.getter()._def;case j.ZodPromise:return B6($,J);case j.ZodNaN:case j.ZodNever:return t2(J);case j.ZodEffects:return i2($,J);case j.ZodAny:return u(J);case j.ZodUnknown:return w6(J);case j.ZodDefault:return n2($,J);case j.ZodBranded:return s1($,J);case j.ZodReadonly:return D6($,J);case j.ZodCatch:return y2($,J);case j.ZodPipeline:return _6($,J);case j.ZodFunction:case j.ZodVoid:case j.ZodSymbol:return;default:return((W)=>{return})(X)}};function v($,X,J=!1){let W=X.seen.get($);if(X.override){let Q=X.override?.($,X,W,J);if(Q!==R2)return Q}if(W&&!J){let Q=P8(W,X);if(Q!==void 0)return Q}let H={def:$,path:X.currentPath,jsonSchema:void 0};X.seen.set($,H);let _=G6($,$.typeName,X),B=typeof _==="function"?v(_(),X):_;if(B)I8($,X,B);if(X.postProcess){let Q=X.postProcess(B,$,X);return H.jsonSchema=B,Q}return H.jsonSchema=B,B}var P8=($,X)=>{switch(X.$refStrategy){case"root":return{$ref:$.path.join("/")};case"relative":return{$ref:i1(X.currentPath,$.path)};case"none":case"seen":{if($.path.length<X.currentPath.length&&$.path.every((J,W)=>X.currentPath[W]===J))return console.warn(`Recursive reference detected at ${X.currentPath.join("/")}! Defaulting to any`),u(X);return X.$refStrategy==="seen"?u(X):void 0}}},I8=($,X,J)=>{if($.description){if(J.description=$.description,X.markdownDescription)J.markdownDescription=$.description}return J};var a1=($,X)=>{let J=v2(X),W=typeof X==="object"&&X.definitions?Object.entries(X.definitions).reduce((Y,[w,N])=>({...Y,[w]:v(N._def,{...J,currentPath:[...J.basePath,J.definitionPath,w]},!0)??u(J)}),{}):void 0,H=typeof X==="string"?X:X?.nameStrategy==="title"?void 0:X?.name,_=v($._def,H===void 0?J:{...J,currentPath:[...J.basePath,J.definitionPath,H]},!1)??u(J),B=typeof X==="object"&&X.name!==void 0&&X.nameStrategy==="title"?X.name:void 0;if(B!==void 0)_.title=B;if(J.flags.hasReferencedOpenAiAnyType){if(!W)W={};if(!W[J.openAiAnyTypeName])W[J.openAiAnyTypeName]={type:["string","number","integer","boolean","array","null"],items:{$ref:J.$refStrategy==="relative"?"1":[...J.basePath,J.definitionPath,J.openAiAnyTypeName].join("/")}}}let Q=H===void 0?W?{..._,[J.definitionPath]:W}:_:{$ref:[...J.$refStrategy==="relative"?[]:J.basePath,J.definitionPath,H].join("/"),[J.definitionPath]:{...W,[H]:_}};if(J.target==="jsonSchema7")Q.$schema="http://json-schema.org/draft-07/schema#";else if(J.target==="jsonSchema2019-09"||J.target==="openAi")Q.$schema="https://json-schema.org/draft/2019-09/schema#";if(J.target==="openAi"&&(("anyOf"in Q)||("oneOf"in Q)||("allOf"in Q)||("type"in Q)&&Array.isArray(Q.type)))console.warn("Warning: OpenAI may not support schemas with unions as roots! Try wrapping it in an object property.");return Q};var N6=new WeakMap,z6=0;class O0{spec;generatedSchemas=new Set;constructor($){this.spec=$}convert($,X){try{if(X?.reusable||this.shouldBeReusable($))return this.convertToReusableSchema($,X?.name);return this.convertInline($)}catch(J){return console.warn("Failed to convert Zod schema to JSON Schema:",J),{type:"object"}}}convertInline($){let X=a1($,{target:"openApi3",$refStrategy:"none"});if(X&&typeof X==="object")delete X.$schema;return X}convertToReusableSchema($,X){let J=N6.get($);if(J&&this.generatedSchemas.has(J))return{$ref:`#/components/schemas/${J}`};let W=X||J||this.generateSchemaName();N6.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 X=this.convertInline($);if(X.type==="object"&&X.properties)return Object.keys(X.properties).length>2;if(X.type==="array"&&X.items){let J=X.items;if(J.type==="object"&&J.properties)return!0}if(X.anyOf||X.oneOf||X.allOf)return!0;return!1}generateSchemaName(){return`Schema${++z6}`}static resetCounter(){z6=0}}function e1($,X){if(X)return new O0(X).convert($);try{let J=a1($,{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 Z0{metadata;options;converter;constructor($,X){this.metadata=$;this.options={title:X?.title||"FastAPI-TS API",version:X?.version||"1.0.0",description:X?.description||"API built with FastAPI-TS",path:X?.path||"/openapi.json",docsPath:X?.docsPath||"/docs",docs:X?.docs!==!1}}generate(){let $=this.metadata.getRoutes(),X={openapi:"3.0.0",info:{title:this.options.title,version:this.options.version,description:this.options.description},paths:{},components:{schemas:{}}};this.converter=new O0(X);for(let J of $)this.addRouteToSpec(X,J);return X}addRouteToSpec($,X){let J=this.convertPathToOpenAPI(X.path),W=X.method.toLowerCase();if(W==="all"||W==="options")return;if(!$.paths[J])$.paths[J]={};let H={summary:X.docs?.summary,description:X.docs?.description,tags:X.docs?.tags||[],deprecated:X.docs?.deprecated||!1,parameters:this.extractParameters(X,$),responses:this.extractResponses(X,$)},_=this.extractRequestBody(X,$);if(_)H.requestBody=_;if(H.parameters.length===0)delete H.parameters;if(H.tags.length===0)delete H.tags;$.paths[J][W]=H}extractParameters($,X){let J=[];for(let W of $.parameters)if(W.type==="query"||W.type==="param"||W.type==="header"||W.type==="cookie"){let H=this.parameterToOpenAPI(W,$.path,X);if(H)J.push(H)}return J}extractRequestBody($,X){let J=$.parameters.find((W)=>W.type==="body");if(!J||!J.schema)return null;return{required:J.required,content:{"application/json":{schema:this.zodToOpenAPISchema(J.schema,X)}}}}extractResponses($,X){let J={};if($.responses&&$.responses.length>0)for(let W of $.responses)J[W.statusCode.toString()]={description:W.description||this.getDefaultResponseDescription(W.statusCode),content:W.schema?{"application/json":{schema:this.zodToOpenAPISchema(W.schema,X)}}:void 0};else J["200"]={description:"Successful response",content:{"application/json":{schema:{type:"object"}}}};if(!J["422"])J["422"]={description:"Validation error",content:{"application/json":{schema:{type:"object",properties:{error:{type:"string"},details:{type:"array",items:{type:"object",properties:{path:{type:"string"},message:{type:"string"},code:{type:"string"}}}}}}}}};return J}convertPathToOpenAPI($){return $.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"{$1}")}parameterToOpenAPI($,X,J){let W,H;switch($.type){case"query":W="query",H=$.name||"query";break;case"param":if(W="path",$.name)H=$.name;else{let B=X.match(/:([a-zA-Z_][a-zA-Z0-9_]*)/);H=B?B[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,J):{type:"string"}}}zodToOpenAPISchema($,X){if(!this.converter)this.converter=new O0(X);return this.converter.convert($)}getDefaultResponseDescription($){return{200:"Successful response",201:"Created",204:"No content",400:"Bad request",401:"Unauthorized",403:"Forbidden",404:"Not found",422:"Validation error",500:"Internal server error"}[$]||"Response"}}var c8={};Y0(c8,{WebSocketPlugin:()=>q1,OpenAPIPlugin:()=>$$,GraphQLPlugin:()=>I1});module.exports=Q0(c8);class $${name="openapi";version="1.0.0";options;constructor($){this.options={title:$?.title||"FastAPI-TS API",version:$?.version||"1.0.0",description:$?.description||"API built with FastAPI-TS",path:$?.path||"/openapi.json",docsPath:$?.docsPath||"/docs",docs:$?.docs!==!1}}async install($){let X=$.getConfig();if(X.title)this.options.title=X.title;if(X.version)this.options.version=X.version;if(X.description)this.options.description=X.description;if($.get(this.options.path,{handler:async()=>{return this.generateSpec($)},docs:{summary:"Get OpenAPI specification",description:"Returns the OpenAPI 3.0 specification for this API",tags:["Documentation"]}}),this.options.docs)$.get(this.options.docsPath,{handler:async(J)=>{return J.html(this.renderSwaggerUI())},docs:{summary:"API Documentation",description:"Interactive API documentation using Swagger UI",tags:["Documentation"]}})}generateSpec($){let X=$.getMetadata();return new Z0(X,this.options).generate()}renderSwaggerUI(){return`
19
+ <!DOCTYPE html>
20
+ <html lang="en">
21
+ <head>
22
+ <meta charset="UTF-8">
23
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
24
+ <title>${this.options.title} - API Documentation</title>
25
+ <link rel="stylesheet" href="https://unpkg.com/swagger-ui-dist@5/swagger-ui.css" />
26
+ <style>
27
+ body {
28
+ margin: 0;
29
+ padding: 0;
30
+ }
31
+ </style>
32
+ </head>
33
+ <body>
34
+ <div id="swagger-ui"></div>
35
+ <script src="https://unpkg.com/swagger-ui-dist@5/swagger-ui-bundle.js"></script>
36
+ <script src="https://unpkg.com/swagger-ui-dist@5/swagger-ui-standalone-preset.js"></script>
37
+ <script>
38
+ window.onload = function() {
39
+ window.ui = SwaggerUIBundle({
40
+ url: '${this.options.path}',
41
+ dom_id: '#swagger-ui',
42
+ deepLinking: true,
43
+ presets: [
44
+ SwaggerUIBundle.presets.apis,
45
+ SwaggerUIStandalonePreset
46
+ ],
47
+ plugins: [
48
+ SwaggerUIBundle.plugins.DownloadUrl
49
+ ],
50
+ layout: "StandaloneLayout"
51
+ });
52
+ };
53
+ </script>
54
+ </body>
55
+ </html>
56
+ `.trim()}}class Q1{manager;id;_ws;constructor($,X,J){this.manager=X;this._ws=$,this.id=J||crypto.randomUUID()}send($){if(!this._ws||this._ws.readyState!==WebSocket.OPEN)return;let X=typeof $==="string"?$:JSON.stringify($);this._ws.send(X)}broadcast($,X){this.manager.broadcast($,X)}join($){this.manager.joinRoom(this.id,$)}leave($){this.manager.leaveRoom(this.id,$)}close($,X){if(this._ws&&this._ws.readyState===WebSocket.OPEN)this._ws.close($,X)}get native(){return this._ws}get isOpen(){return this._ws!==null&&this._ws.readyState===WebSocket.OPEN}_markClosed(){this._ws=null}}class Y1{connections=new Map;rooms=new Map;connectionsByRoom=new Map;handleConnection($,X){let J=new Q1($,this);if(this.connections.set(J.id,J),X.onConnect)this.executeHandler(X,X.onConnect,J);return $.addEventListener("message",async(W)=>{await this.handleMessage(W,J,X)}),$.addEventListener("close",()=>{this.handleDisconnect(J,X)}),$.addEventListener("error",(W)=>{console.error(`WebSocket error for connection ${J.id}:`,W)}),J}async handleMessage($,X,J){if(!J.onMessage)return;let W;try{if(W=typeof $.data==="string"?JSON.parse($.data):$.data,J.messageSchema)W=await J.messageSchema.parseAsync(W);await this.executeHandler(J,J.onMessage,X,W)}catch(H){X.send({error:"Invalid message format",details:H instanceof Error?H.message:"Unknown error"})}}handleDisconnect($,X){if(Array.from(this.connectionsByRoom.entries()).forEach(([J,W])=>{if(W.delete($),W.size===0)this.connectionsByRoom.delete(J)}),Array.from(this.rooms.entries()).forEach(([J,W])=>{if(W.delete($.id),W.size===0)this.rooms.delete(J)}),this.connections.delete($.id),$._markClosed(),X.onDisconnect)this.executeHandler(X,X.onDisconnect,$)}async executeHandler($,X,J,W){try{let H=new $.target,_=H[X];if(typeof _==="function")if(W!==void 0)await _.call(H,J,W);else await _.call(H,J)}catch(H){console.error(`Error executing WebSocket handler ${X}:`,H)}}broadcast($,X){let J=X?this.getConnectionsInRoom(X):Array.from(this.connections.values()),W=typeof $==="string"?$:JSON.stringify($);for(let H of J)if(H.isOpen)H.send(W)}joinRoom($,X){let J=this.connections.get($);if(!J)return;if(!this.rooms.has(X))this.rooms.set(X,new Set);if(this.rooms.get(X).add($),!this.connectionsByRoom.has(X))this.connectionsByRoom.set(X,new Set);this.connectionsByRoom.get(X).add(J)}leaveRoom($,X){let J=this.connections.get($);if(!J)return;let W=this.rooms.get(X);if(W){if(W.delete($),W.size===0)this.rooms.delete(X)}let H=this.connectionsByRoom.get(X);if(H){if(H.delete(J),H.size===0)this.connectionsByRoom.delete(X)}}getConnectionsInRoom($){let X=this.connectionsByRoom.get($);return X?Array.from(X):[]}getConnection($){return this.connections.get($)}getAllConnections(){return Array.from(this.connections.values())}getConnectionCount(){return this.connections.size}getRooms(){return Array.from(this.rooms.keys())}getRoomSize($){return this.rooms.get($)?.size||0}}class q1{name="websocket";version="1.0.0";manager;constructor(){this.manager=new Y1}async install($){let J=$.getMetadata().getWebSockets();for(let W of J)this.registerWebSocket($,W)}registerWebSocket($,X){$.getHono().get(X.path,async(W)=>{if(W.req.header("upgrade")?.toLowerCase()!=="websocket")return W.text("Expected WebSocket upgrade",426);return this.handleUpgrade(W,X)})}handleUpgrade($,X){if(typeof Bun<"u")return this.handleBunUpgrade($,X);else if(typeof globalThis.Deno<"u")return this.handleDenoUpgrade($,X);else return this.handleNodeUpgrade($,X)}handleBunUpgrade($,X){if(!$.env?.upgrade?.($.req.raw))return $.text("WebSocket upgrade failed",500);return new Response(null,{status:101})}handleDenoUpgrade($,X){let J=globalThis.Deno,{socket:W,response:H}=J.upgradeWebSocket($.req.raw);return W.onopen=()=>{this.manager.handleConnection(W,X)},H}handleNodeUpgrade($,X){return $.text("WebSocket support requires Bun or Deno runtime",501)}getManager(){return this.manager}broadcast($,X){this.manager.broadcast($,X)}getConnectionCount(){return this.manager.getConnectionCount()}getRooms(){return this.manager.getRooms()}}var FJ=n1(M1()),K$=Symbol("graphql:resolver"),w1=Symbol("graphql:field"),k1=Symbol("graphql:args");function T8($){return(X)=>{let J={target:X,name:$||X.name};Reflect.defineMetadata(K$,J,X)}}function h8($,X){return T$("query",$,X)}function x8($,X){return T$("mutation",$,X)}function g8($,X){return T$("subscription",$,X)}function T$($,X,J){return(W,H)=>{let _={target:W.constructor,propertyKey:H,type:$,name:X||H,description:J?.description,deprecated:J?.deprecated,deprecationReason:J?.deprecationReason},B=Reflect.getMetadata(w1,W.constructor)||[];B.push(_),Reflect.defineMetadata(w1,B,W.constructor),Reflect.defineMetadata(w1,_,W,H)}}function Z8($,X,J){return(W,H,_)=>{if(!H)return;let B=Reflect.getMetadata(k1,W,H)||[],Q={index:_,name:$,schema:X,description:J?.description,defaultValue:J?.defaultValue,nullable:J?.nullable};B[_]=Q,Reflect.defineMetadata(k1,B,W,H)}}function l8(){return($,X,J)=>{if(!X)return;let W=Reflect.getMetadata(k1,$,X)||[],H={index:J,name:"__context__",nullable:!1};W[J]=H,Reflect.defineMetadata(k1,W,$,X)}}function u8($){return Reflect.getMetadata(K$,$)}function m8($){return Reflect.getMetadata(w1,$)||[]}function y8($,X){return Reflect.getMetadata(w1,$,X)}function X$($,X){return Reflect.getMetadata(k1,$,X)||[]}function n8($){return Reflect.hasMetadata(K$,$)}function i8($,X){return Reflect.hasMetadata(w1,$,X)}function b0($){let X=$._def.typeName;if(X==="ZodString")return"String";if(X==="ZodNumber"){if($._def.checks?.some((W)=>W.kind==="int"))return"Int";return"Float"}if(X==="ZodBoolean")return"Boolean";if(X==="ZodArray")return`[${b0($._def.type)}]`;if(X==="ZodObject")return"JSON";if(X==="ZodOptional")return b0($._def.innerType);if(X==="ZodNullable")return b0($._def.innerType);if(X==="ZodDefault")return b0($._def.innerType);if(X==="ZodEnum")return"String";if(X==="ZodUnion"){let J=$._def.options;if(J&&J.length>0)return b0(J[0])}if(X==="ZodLiteral"){let J=$._def.value;if(typeof J==="string")return"String";if(typeof J==="number")return"Float";if(typeof J==="boolean")return"Boolean"}if(X==="ZodDate")return"String";return"String"}function l0($){let X=$._def.typeName;if(X==="ZodOptional"||X==="ZodNullable")return!0;if(X==="ZodDefault")return l0($._def.innerType);return!1}function J$($){let X=$._def.typeName;if(X==="ZodDefault")return $._def.defaultValue();if(X==="ZodOptional"||X==="ZodNullable"){let J=$._def.innerType;if(J)return J$(J)}return}function b6($,X){if(X._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let W=X._def.shape(),H=[];for(let[_,B]of Object.entries(W)){let Q=B,Y=b0(Q),N=l0(Q)?Y:`${Y}!`;H.push(` ${_}: ${N}`)}return`type ${$} {
57
+ ${H.join(`
58
+ `)}
59
+ }`}function V6($,X){if(X._def.typeName!=="ZodObject")throw Error("Schema must be a ZodObject");let W=X._def.shape(),H=[];for(let[_,B]of Object.entries(W)){let Q=B,Y=b0(Q),w=l0(Q),N=J$(Q),F=w?Y:`${Y}!`;if(N!==void 0){let P=JSON.stringify(N);F+=` = ${P}`}H.push(` ${_}: ${F}`)}return`input ${$} {
60
+ ${H.join(`
61
+ `)}
62
+ }`}class E0 extends Error{statusCode;details;constructor($,X,J){super(X);this.statusCode=$;this.details=J;if(this.name="HTTPException",Error.captureStackTrace)Error.captureStackTrace(this,this.constructor)}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}class S6 extends E0{constructor($="Not Found",X){super(404,$,X);this.name="NotFoundException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}class U6 extends E0{constructor($="Unauthorized",X){super(401,$,X);this.name="UnauthorizedException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}class A6 extends E0{constructor($="Forbidden",X){super(403,$,X);this.name="ForbiddenException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}class L6 extends E0{constructor($="Bad Request",X){super(400,$,X);this.name="BadRequestException"}toJSON(){return{error:this.message,statusCode:this.statusCode,...this.details&&{details:this.details}}}}class I0 extends E0{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 u0{schemaCache=new WeakMap;stats={hits:0,misses:0,validations:0};async validate($,X){this.stats.validations++;try{let J=this.schemaCache.get(X);if(!J)this.stats.misses++,J={schema:X,resultCache:new WeakMap},this.schemaCache.set(X,J);else this.stats.hits++;return await J.schema.parseAsync($)}catch(J){if(J instanceof a)throw new I0(J);throw J}}validateSync($,X){this.stats.validations++;try{let J=this.schemaCache.get(X);if(!J)this.stats.misses++,J={schema:X,resultCache:new WeakMap},this.schemaCache.set(X,J);else this.stats.hits++;return J.schema.parse($)}catch(J){if(J instanceof a)throw new I0(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 P1{metadata;container;validationEngine;customTypes=new Map;constructor($,X){this.metadata=$;this.container=X;this.validationEngine=new u0}build(){let $=this.metadata.getGraphQLResolvers(),X=[],J=[],W=[],H=[];for(let Q of $){let Y=this.metadata.getGraphQLFieldsByResolver(Q.target);for(let w of Y){let N=this.buildFieldDefinition(w);switch(w.type){case"query":X.push(N);break;case"mutation":J.push(N);break;case"subscription":W.push(N);break}}}let _="";if(this.customTypes.size>0)_+=Array.from(this.customTypes.values()).join(`
63
+
64
+ `)+`
65
+
66
+ `;if(X.length>0)_+=`type Query {
67
+ `,_+=X.map((Q)=>` ${Q}`).join(`
68
+ `),_+=`
69
+ }
70
+
71
+ `;if(J.length>0)_+=`type Mutation {
72
+ `,_+=J.map((Q)=>` ${Q}`).join(`
73
+ `),_+=`
74
+ }
75
+
76
+ `;if(W.length>0)_+=`type Subscription {
77
+ `,_+=W.map((Q)=>` ${Q}`).join(`
78
+ `),_+=`
79
+ }
80
+ `;let B=this.buildResolvers();return{typeDefs:_.trim(),resolvers:B}}buildFieldDefinition($){let X=X$($.target.prototype,$.propertyKey),J=[];for(let B of X){if(B.name==="__context__")continue;let Q="String";if(B.schema){if(Q=b0(B.schema),!l0(B.schema)&&!B.nullable)Q+="!"}let Y=`${B.name}: ${Q}`;if(B.defaultValue!==void 0)Y+=` = ${JSON.stringify(B.defaultValue)}`;J.push(Y)}let W=J.length>0?`(${J.join(", ")})`:"",H="String",_=`${$.name}${W}: ${H}`;if($.deprecated){let B=$.deprecationReason||"No longer supported";_+=` @deprecated(reason: "${B}")`}return _}buildResolvers(){let $=this.metadata.getGraphQLResolvers(),X={Query:{},Mutation:{},Subscription:{}};for(let J of $){let W=this.metadata.getGraphQLFieldsByResolver(J.target);for(let H of W){let _=this.createResolverFunction(J.target,H);switch(H.type){case"query":X.Query[H.name]=_;break;case"mutation":X.Mutation[H.name]=_;break;case"subscription":X.Subscription[H.name]=_;break}}}return X}createResolverFunction($,X){return async(J,W,H,_)=>{try{let B=X$($.prototype,X.propertyKey),Q=[];for(let N of B)if(N.name==="__context__")Q[N.index]=H;else{let F=W[N.name];if(F===void 0&&N.defaultValue!==void 0)F=N.defaultValue;if(N.schema)F=await this.validationEngine.validate(F,N.schema);Q[N.index]=F}return await(await this.container.resolve($,{scope:"request",context:H.request}))[X.propertyKey](...Q)}catch(B){throw B}}}}class I1{name="graphql";version="1.0.0";options;schema;constructor($){this.options={path:$?.path||"/graphql",playgroundPath:$?.playgroundPath||"/graphql/playground",playground:$?.playground!==!1,context:$?.context||((X)=>({request:X}))}}async install($){let X=$.getMetadata(),J=$.getContainer(),W=new P1(X,J);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 _=H.req.query("query"),B=H.req.query("variables"),Q=H.req.query("operationName");if(!_)return H.json({error:"Query parameter is required"},400);return this.executeGraphQL(H,{query:_,variables:B?JSON.parse(B):void 0,operationName:Q})},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 X=await $.req.json();return this.executeGraphQL($,X)}catch(X){return $.json({errors:[{message:"Invalid JSON in request body",extensions:{code:"BAD_REQUEST"}}]},400)}}async executeGraphQL($,X){if(!this.schema)return $.json({errors:[{message:"GraphQL schema not initialized",extensions:{code:"INTERNAL_SERVER_ERROR"}}]},500);try{let{query:J,variables:W,operationName:H}=X,_=await this.options.context($),B=await this.executeOperation(J,W,_,H);return $.json(B)}catch(J){return $.json({errors:[{message:J.message||"Internal server error",extensions:{code:"INTERNAL_SERVER_ERROR",...{stack:J.stack}}}]},500)}}async executeOperation($,X,J,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`
81
+ <!DOCTYPE html>
82
+ <html lang="en">
83
+ <head>
84
+ <meta charset="UTF-8">
85
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
86
+ <title>GraphQL Playground</title>
87
+ <link rel="stylesheet" href="https://unpkg.com/graphql-playground-react/build/static/css/index.css" />
88
+ <link rel="shortcut icon" href="https://unpkg.com/graphql-playground-react/build/favicon.png" />
89
+ <script src="https://unpkg.com/graphql-playground-react/build/static/js/middleware.js"></script>
90
+ <style>
91
+ body {
92
+ margin: 0;
93
+ padding: 0;
94
+ font-family: 'Open Sans', sans-serif;
95
+ overflow: hidden;
96
+ }
97
+ #root {
98
+ height: 100vh;
99
+ }
100
+ </style>
101
+ </head>
102
+ <body>
103
+ <div id="root"></div>
104
+ <script>
105
+ window.addEventListener('load', function (event) {
106
+ GraphQLPlayground.init(document.getElementById('root'), {
107
+ endpoint: '${this.options.path}',
108
+ settings: {
109
+ 'editor.theme': 'light',
110
+ 'editor.cursorShape': 'line',
111
+ 'editor.reuseHeaders': true,
112
+ 'tracing.hideTracingResponse': true,
113
+ 'queryPlan.hideQueryPlanResponse': true,
114
+ 'editor.fontSize': 14,
115
+ 'editor.fontFamily': "'Source Code Pro', 'Consolas', 'Inconsolata', 'Droid Sans Mono', 'Monaco', monospace",
116
+ 'request.credentials': 'include'
117
+ }
118
+ })
119
+ })
120
+ </script>
121
+ </body>
122
+ </html>
123
+ `.trim()}getSchema(){return this.schema}}var p8={};Y0(p8,{WebSocketPlugin:()=>q1,WebSocketManager:()=>Y1,WebSocketConnection:()=>Q1});module.exports=Q0(p8);var o8={};Y0(o8,{zodToGraphQLType:()=>b0,zodObjectToGraphQLType:()=>b6,zodObjectToGraphQLInput:()=>V6,isNullable:()=>l0,getDefaultValue:()=>J$,GraphQLSchemaBuilder:()=>P1,GraphQLPlugin:()=>I1});module.exports=Q0(o8);var d8={};Y0(d8,{z:()=>v1});module.exports=Q0(d8);var NX={};Y0(NX,{setupTestApp:()=>J2,mockDependency:()=>X2,createTestClient:()=>U$,createTestApp:()=>S$,clearMocks:()=>W2,TestClient:()=>D1});module.exports=Q0(NX);class D1{hono;constructor($){this.hono=$.getHono()}async get($,X){return this.request("GET",$,X)}async post($,X){return this.request("POST",$,X)}async put($,X){return this.request("PUT",$,X)}async delete($,X){return this.request("DELETE",$,X)}async patch($,X){return this.request("PATCH",$,X)}async request($,X,J){let W=this.buildUrl(X,J?.query),H={method:$,headers:this.buildHeaders(J)};if(J?.body!==void 0)H.body=J.body;else if(J?.json!==void 0)H.body=JSON.stringify(J.json);let _=await this.hono.request(W,H),B=await _.text(),Q;try{Q=JSON.parse(B)}catch{Q=B}return{status:_.status,headers:_.headers,body:Q,text:B,json:async()=>JSON.parse(B),ok:_.ok}}buildUrl($,X){if(!X||Object.keys(X).length===0)return $;let J=new URLSearchParams(X).toString();return`${$}?${J}`}buildHeaders($){let X={...$?.headers};if($?.json!==void 0&&!X["Content-Type"])X["Content-Type"]="application/json";return X}}var h$=($,X,J)=>{return(W,H)=>{let _=-1;return B(0);async function B(Q){if(Q<=_)throw Error("next() called multiple times");_=Q;let Y,w=!1,N;if($[Q])N=$[Q][0][0],W.req.routeIndex=Q;else N=Q===$.length&&H||void 0;if(N)try{Y=await N(W,()=>B(Q+1))}catch(F){if(F instanceof Error&&X)W.error=F,Y=await X(F,W),w=!0;else throw F}else if(W.finalized===!1&&J)Y=await J(W);if(Y&&(W.finalized===!1||w))W.res=Y;return W}}};var E6=Symbol();var F6=async($,X=Object.create(null))=>{let{all:J=!1,dot:W=!1}=X,_=($ instanceof W$?$.raw.headers:$.headers).get("Content-Type");if(_?.startsWith("multipart/form-data")||_?.startsWith("application/x-www-form-urlencoded"))return s8($,{all:J,dot:W});return{}};async function s8($,X){let J=await $.formData();if(J)return r8(J,X);return{}}function r8($,X){let J=Object.create(null);if($.forEach((W,H)=>{if(!(X.all||H.endsWith("[]")))J[H]=W;else t8(J,H,W)}),X.dot)Object.entries(J).forEach(([W,H])=>{if(W.includes("."))a8(J,W,H),delete J[W]});return J}var t8=($,X,J)=>{if($[X]!==void 0)if(Array.isArray($[X]))$[X].push(J);else $[X]=[$[X],J];else if(!X.endsWith("[]"))$[X]=J;else $[X]=[J]},a8=($,X,J)=>{let W=$,H=X.split(".");H.forEach((_,B)=>{if(B===H.length-1)W[_]=J;else{if(!W[_]||typeof W[_]!=="object"||Array.isArray(W[_])||W[_]instanceof File)W[_]=Object.create(null);W=W[_]}})};var g$=($)=>{let X=$.split("/");if(X[0]==="")X.shift();return X},f6=($)=>{let{groups:X,path:J}=e8($),W=g$(J);return $X(W,X)},e8=($)=>{let X=[];return $=$.replace(/\{[^}]+\}/g,(J,W)=>{let H=`@${W}`;return X.push([H,J]),H}),{groups:X,path:$}},$X=($,X)=>{for(let J=X.length-1;J>=0;J--){let[W]=X[J];for(let H=$.length-1;H>=0;H--)if($[H].includes(W)){$[H]=$[H].replace(W,X[J][1]);break}}return $},H$={},R6=($,X)=>{if($==="*")return"*";let J=$.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/);if(J){let W=`${$}#${X}`;if(!H$[W])if(J[2])H$[W]=X&&X[0]!==":"&&X[0]!=="*"?[W,J[1],new RegExp(`^${J[2]}(?=/${X})`)]:[$,J[1],new RegExp(`^${J[2]}$`)];else H$[W]=[$,J[1],!0];return H$[W]}return null},G1=($,X)=>{try{return X($)}catch{return $.replace(/(?:%[0-9A-Fa-f]{2})+/g,(J)=>{try{return X(J)}catch{return J}})}},XX=($)=>G1($,decodeURI),Z$=($)=>{let X=$.url,J=X.indexOf("/",X.indexOf(":")+4),W=J;for(;W<X.length;W++){let H=X.charCodeAt(W);if(H===37){let _=X.indexOf("?",W),B=X.slice(J,_===-1?void 0:_);return XX(B.includes("%25")?B.replace(/%25/g,"%2525"):B)}else if(H===63)break}return X.slice(J,W)};var O6=($)=>{let X=Z$($);return X.length>1&&X.at(-1)==="/"?X.slice(0,-1):X},m0=($,X,...J)=>{if(J.length)X=m0(X,...J);return`${$?.[0]==="/"?"":"/"}${$}${X==="/"?"":`${$?.at(-1)==="/"?"":"/"}${X?.[0]==="/"?X.slice(1):X}`}`},_$=($)=>{if($.charCodeAt($.length-1)!==63||!$.includes(":"))return null;let X=$.split("/"),J=[],W="";return X.forEach((H)=>{if(H!==""&&!/\:/.test(H))W+="/"+H;else if(/\:/.test(H))if(/\?/.test(H)){if(J.length===0&&W==="")J.push("/");else J.push(W);let _=H.replace("?","");W+="/"+_,J.push(W)}else W+="/"+H}),J.filter((H,_,B)=>B.indexOf(H)===_)},x$=($)=>{if(!/[%+]/.test($))return $;if($.indexOf("+")!==-1)$=$.replace(/\+/g," ");return $.indexOf("%")!==-1?G1($,K1):$},v6=($,X,J)=>{let W;if(!J&&X&&!/[%+]/.test(X)){let B=$.indexOf(`?${X}`,8);if(B===-1)B=$.indexOf(`&${X}`,8);while(B!==-1){let Q=$.charCodeAt(B+X.length+1);if(Q===61){let Y=B+X.length+2,w=$.indexOf("&",Y);return x$($.slice(Y,w===-1?void 0:w))}else if(Q==38||isNaN(Q))return"";B=$.indexOf(`&${X}`,B+1)}if(W=/[%+]/.test($),!W)return}let H={};W??=/[%+]/.test($);let _=$.indexOf("?",8);while(_!==-1){let B=$.indexOf("&",_+1),Q=$.indexOf("=",_);if(Q>B&&B!==-1)Q=-1;let Y=$.slice(_+1,Q===-1?B===-1?void 0:B:Q);if(W)Y=x$(Y);if(_=B,Y==="")continue;let w;if(Q===-1)w="";else if(w=$.slice(Q+1,B===-1?void 0:B),W)w=x$(w);if(J){if(!(H[Y]&&Array.isArray(H[Y])))H[Y]=[];H[Y].push(w)}else H[Y]??=w}return X?H[X]:H},C6=v6,M6=($,X)=>{return v6($,X,!0)},K1=decodeURIComponent;var k6=($)=>G1($,K1),W$=class{raw;#X;#$;routeIndex=0;path;bodyCache={};constructor($,X="/",J=[[]]){this.raw=$,this.path=X,this.#$=J,this.#X={}}param($){return $?this.#J($):this.#_()}#J($){let X=this.#$[0][this.routeIndex][1][$],J=this.#H(X);return J&&/\%/.test(J)?k6(J):J}#_(){let $={},X=Object.keys(this.#$[0][this.routeIndex][1]);for(let J of X){let W=this.#H(this.#$[0][this.routeIndex][1][J]);if(W!==void 0)$[J]=/\%/.test(W)?k6(W):W}return $}#H($){return this.#$[1]?this.#$[1][$]:$}query($){return C6(this.url,$)}queries($){return M6(this.url,$)}header($){if($)return this.raw.headers.get($)??void 0;let X={};return this.raw.headers.forEach((J,W)=>{X[W]=J}),X}async parseBody($){return this.bodyCache.parsedBody??=await F6(this,$)}#W=($)=>{let{bodyCache:X,raw:J}=this,W=X[$];if(W)return W;let H=Object.keys(X)[0];if(H)return X[H].then((_)=>{if(H==="json")_=JSON.stringify(_);return new Response(_)[$]()});return X[$]=J[$]()};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($,X){this.#X[$]=X}valid($){return this.#X[$]}get url(){return this.raw.url}get method(){return this.raw.method}get[E6](){return this.#$}get matchedRoutes(){return this.#$[0].map(([[,$]])=>$)}get routePath(){return this.#$[0].map(([[,$]])=>$)[this.routeIndex].path}};var P6={Stringify:1,BeforeStream:2,Stream:3},JX=($,X)=>{let J=new String($);return J.isEscaped=!0,J.callbacks=X,J};var l$=async($,X,J,W,H)=>{if(typeof $==="object"&&!($ instanceof String)){if(!($ instanceof Promise))$=$.toString();if($ instanceof Promise)$=await $}let _=$.callbacks;if(!_?.length)return Promise.resolve($);if(H)H[0]+=$;else H=[$];let B=Promise.all(_.map((Q)=>Q({phase:X,buffer:H,context:W}))).then((Q)=>Promise.all(Q.filter(Boolean).map((Y)=>l$(Y,X,!1,W,H))).then(()=>H[0]));if(J)return JX(await B,_);else return B};var WX="text/plain; charset=UTF-8",u$=($,X)=>{return{"Content-Type":$,...X}},I6=class{#X;#$;env={};#J;finalized=!1;error;#_;#H;#W;#w;#Y;#q;#Q;#D;#G;constructor($,X){if(this.#X=$,X)this.#H=X.executionCtx,this.env=X.env,this.#q=X.notFoundHandler,this.#G=X.path,this.#D=X.matchResult}get req(){return this.#$??=new W$(this.#X,this.#G,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.#Q??=new Headers})}set res($){if(this.#W&&$){$=new Response($.body,$);for(let[X,J]of this.#W.headers.entries()){if(X==="content-type")continue;if(X==="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(X,J)}}this.#W=$,this.finalized=!0}render=(...$)=>{return this.#Y??=(X)=>this.html(X),this.#Y(...$)};setLayout=($)=>this.#w=$;getLayout=()=>this.#w;setRenderer=($)=>{this.#Y=$};header=($,X,J)=>{if(this.finalized)this.#W=new Response(this.#W.body,this.#W);let W=this.#W?this.#W.headers:this.#Q??=new Headers;if(X===void 0)W.delete($);else if(J?.append)W.append($,X);else W.set($,X)};status=($)=>{this.#_=$};set=($,X)=>{this.#J??=new Map,this.#J.set($,X)};get=($)=>{return this.#J?this.#J.get($):void 0};get var(){if(!this.#J)return{};return Object.fromEntries(this.#J)}#B($,X,J){let W=this.#W?new Headers(this.#W.headers):this.#Q??new Headers;if(typeof X==="object"&&"headers"in X){let _=X.headers instanceof Headers?X.headers:new Headers(X.headers);for(let[B,Q]of _)if(B.toLowerCase()==="set-cookie")W.append(B,Q);else W.set(B,Q)}if(J)for(let[_,B]of Object.entries(J))if(typeof B==="string")W.set(_,B);else{W.delete(_);for(let Q of B)W.append(_,Q)}let H=typeof X==="number"?X:X?.status??this.#_;return new Response($,{status:H,headers:W})}newResponse=(...$)=>this.#B(...$);body=($,X,J)=>this.#B($,X,J);text=($,X,J)=>{return!this.#Q&&!this.#_&&!X&&!J&&!this.finalized?new Response($):this.#B($,X,u$(WX,J))};json=($,X,J)=>{return this.#B(JSON.stringify($),X,u$("application/json",J))};html=($,X,J)=>{let W=(H)=>this.#B(H,X,u$("text/html; charset=UTF-8",J));return typeof $==="object"?l$($,P6.Stringify,!1,{}).then(W):W($)};redirect=($,X)=>{let J=String($);return this.header("Location",!/[^\x00-\xFF]/.test(J)?J:encodeURI(J)),this.newResponse(null,X??302)};notFound=()=>{return this.#q??=()=>new Response,this.#q(this)}};var y="ALL",K6="all",T6=["get","post","put","delete","options","patch"],B$="Can not add a route since the matcher is already built.",Q$=class extends Error{};var h6="__COMPOSED_HANDLER";var HX=($)=>{return $.text("404 Not Found",404)},x6=($,X)=>{if("getResponse"in $){let J=$.getResponse();return X.newResponse(J.body,J)}return console.error($),X.text("Internal Server Error",500)},m$=class{get;post;put;delete;options;patch;all;on;use;router;getPath;_basePath="/";#X="/";routes=[];constructor($={}){[...T6,K6].forEach((H)=>{this[H]=(_,...B)=>{if(typeof _==="string")this.#X=_;else this.#_(H,this.#X,_);return B.forEach((Q)=>{this.#_(H,this.#X,Q)}),this}}),this.on=(H,_,...B)=>{for(let Q of[_].flat()){this.#X=Q;for(let Y of[H].flat())B.map((w)=>{this.#_(Y.toUpperCase(),this.#X,w)})}return this},this.use=(H,..._)=>{if(typeof H==="string")this.#X=H;else this.#X="*",_.unshift(H);return _.forEach((B)=>{this.#_(y,this.#X,B)}),this};let{strict:J,...W}=$;Object.assign(this,W),this.getPath=J??!0?$.getPath??Z$:O6}#$(){let $=new m$({router:this.router,getPath:this.getPath});return $.errorHandler=this.errorHandler,$.#J=this.#J,$.routes=this.routes,$}#J=HX;errorHandler=x6;route($,X){let J=this.basePath($);return X.routes.map((W)=>{let H;if(X.errorHandler===x6)H=W.handler;else H=async(_,B)=>(await h$([],X.errorHandler)(_,()=>W.handler(_,B))).res,H[h6]=W.handler;J.#_(W.method,W.path,H)}),this}basePath($){let X=this.#$();return X._basePath=m0(this._basePath,$),X}onError=($)=>{return this.errorHandler=$,this};notFound=($)=>{return this.#J=$,this};mount($,X,J){let W,H;if(J)if(typeof J==="function")H=J;else if(H=J.optionHandler,J.replaceRequest===!1)W=(Q)=>Q;else W=J.replaceRequest;let _=H?(Q)=>{let Y=H(Q);return Array.isArray(Y)?Y:[Y]}:(Q)=>{let Y=void 0;try{Y=Q.executionCtx}catch{}return[Q.env,Y]};W||=(()=>{let Q=m0(this._basePath,$),Y=Q==="/"?0:Q.length;return(w)=>{let N=new URL(w.url);return N.pathname=N.pathname.slice(Y)||"/",new Request(N,w)}})();let B=async(Q,Y)=>{let w=await X(W(Q.req.raw),..._(Q));if(w)return w;await Y()};return this.#_(y,m0($,"*"),B),this}#_($,X,J){$=$.toUpperCase(),X=m0(this._basePath,X);let W={basePath:this._basePath,path:X,method:$,handler:J};this.router.add($,X,[J,W]),this.routes.push(W)}#H($,X){if($ instanceof Error)return this.errorHandler($,X);throw $}#W($,X,J,W){if(W==="HEAD")return(async()=>new Response(null,await this.#W($,X,J,"GET")))();let H=this.getPath($,{env:J}),_=this.router.match(W,H),B=new I6($,{path:H,matchResult:_,env:J,executionCtx:X,notFoundHandler:this.#J});if(_[0].length===1){let Y;try{Y=_[0][0][0][0](B,async()=>{B.res=await this.#J(B)})}catch(w){return this.#H(w,B)}return Y instanceof Promise?Y.then((w)=>w||(B.finalized?B.res:this.#J(B))).catch((w)=>this.#H(w,B)):Y??this.#J(B)}let Q=h$(_[0],this.errorHandler,this.#J);return(async()=>{try{let Y=await Q(B);if(!Y.finalized)throw Error("Context is not finalized. Did you forget to return a Response object or `await next()`?");return Y.res}catch(Y){return this.#H(Y,B)}})()}fetch=($,...X)=>{return this.#W($,X[1],X[0],$.method)};request=($,X,J,W)=>{if($ instanceof Request)return this.fetch(X?new Request($,X):$,J,W);return $=$.toString(),this.fetch(new Request(/^https?:\/\//.test($)?$:`http://localhost${m0("/",$)}`,X),J,W)};fire=()=>{addEventListener("fetch",($)=>{$.respondWith(this.#W($.request,$,void 0,$.request.method))})}};var Y$="[^/]+",T1=".*",h1="(?:|/.*)",y0=Symbol(),_X=new Set(".\\+*[^]$()");function BX($,X){if($.length===1)return X.length===1?$<X?-1:1:-1;if(X.length===1)return 1;if($===T1||$===h1)return 1;else if(X===T1||X===h1)return-1;if($===Y$)return 1;else if(X===Y$)return-1;return $.length===X.length?$<X?-1:1:X.length-$.length}var q$=class{#X;#$;#J=Object.create(null);insert($,X,J,W,H){if($.length===0){if(this.#X!==void 0)throw y0;if(H)return;this.#X=X;return}let[_,...B]=$,Q=_==="*"?B.length===0?["","",T1]:["","",Y$]:_==="/*"?["","",h1]:_.match(/^\:([^\{\}]+)(?:\{(.+)\})?$/),Y;if(Q){let w=Q[1],N=Q[2]||Y$;if(w&&Q[2]){if(N===".*")throw y0;if(N=N.replace(/^\((?!\?:)(?=[^)]+\)$)/,"(?:"),/\((?!\?:)/.test(N))throw y0}if(Y=this.#J[N],!Y){if(Object.keys(this.#J).some((F)=>F!==T1&&F!==h1))throw y0;if(H)return;if(Y=this.#J[N]=new q$,w!=="")Y.#$=W.varIndex++}if(!H&&w!=="")J.push([w,Y.#$])}else if(Y=this.#J[_],!Y){if(Object.keys(this.#J).some((w)=>w.length>1&&w!==T1&&w!==h1))throw y0;if(H)return;Y=this.#J[_]=new q$}Y.insert(B,X,J,W,H)}buildRegExpStr(){let X=Object.keys(this.#J).sort(BX).map((J)=>{let W=this.#J[J];return(typeof W.#$==="number"?`(${J})@${W.#$}`:_X.has(J)?`\\${J}`:J)+W.buildRegExpStr()});if(typeof this.#X==="number")X.unshift(`#${this.#X}`);if(X.length===0)return"";if(X.length===1)return X[0];return"(?:"+X.join("|")+")"}};var g6=class{#X={varIndex:0};#$=new q$;insert($,X,J){let W=[],H=[];for(let B=0;;){let Q=!1;if($=$.replace(/\{[^}]+\}/g,(Y)=>{let w=`@\\${B}`;return H[B]=[w,Y],B++,Q=!0,w}),!Q)break}let _=$.match(/(?::[^\/]+)|(?:\/\*$)|./g)||[];for(let B=H.length-1;B>=0;B--){let[Q]=H[B];for(let Y=_.length-1;Y>=0;Y--)if(_[Y].indexOf(Q)!==-1){_[Y]=_[Y].replace(Q,H[B][1]);break}}return this.#$.insert(_,X,W,this.#X,J),W}buildRegExp(){let $=this.#$.buildRegExpStr();if($==="")return[/^$/,[],[]];let X=0,J=[],W=[];return $=$.replace(/#(\d+)|@(\d+)|\.\*\$/g,(H,_,B)=>{if(_!==void 0)return J[++X]=Number(_),"$()";if(B!==void 0)return W[Number(B)]=++X,"";return""}),[new RegExp(`^${$}`),J,W]}};var Z6=[],QX=[/^$/,[],Object.create(null)],l6=Object.create(null);function u6($){return l6[$]??=new RegExp($==="*"?"":`^${$.replace(/\/\*$|([.\\+*[^\]$()])/g,(X,J)=>J?`\\${J}`:"(?:|/.*)")}$`)}function YX(){l6=Object.create(null)}function qX($){let X=new g6,J=[];if($.length===0)return QX;let W=$.map((w)=>[!/\*|\/:/.test(w[0]),...w]).sort(([w,N],[F,P])=>w?1:F?-1:N.length-P.length),H=Object.create(null);for(let w=0,N=-1,F=W.length;w<F;w++){let[P,n,k]=W[w];if(P)H[n]=[k.map(([i])=>[i,Object.create(null)]),Z6];else N++;let Z;try{Z=X.insert(n,N,P)}catch(i){throw i===y0?new Q$(n):i}if(P)continue;J[N]=k.map(([i,t])=>{let W0=Object.create(null);t-=1;for(;t>=0;t--){let[s,H0]=Z[t];W0[s]=H0}return[i,W0]})}let[_,B,Q]=X.buildRegExp();for(let w=0,N=J.length;w<N;w++)for(let F=0,P=J[w].length;F<P;F++){let n=J[w][F]?.[1];if(!n)continue;let k=Object.keys(n);for(let Z=0,i=k.length;Z<i;Z++)n[k[Z]]=Q[n[k[Z]]]}let Y=[];for(let w in B)Y[w]=J[B[w]];return[_,Y,H]}function N1($,X){if(!$)return;for(let J of Object.keys($).sort((W,H)=>H.length-W.length))if(u6(J).test(X))return[...$[J]];return}var y$=class{name="RegExpRouter";#X;#$;constructor(){this.#X={[y]:Object.create(null)},this.#$={[y]:Object.create(null)}}add($,X,J){let W=this.#X,H=this.#$;if(!W||!H)throw Error(B$);if(!W[$])[W,H].forEach((Q)=>{Q[$]=Object.create(null),Object.keys(Q[y]).forEach((Y)=>{Q[$][Y]=[...Q[y][Y]]})});if(X==="/*")X="*";let _=(X.match(/\/:/g)||[]).length;if(/\*$/.test(X)){let Q=u6(X);if($===y)Object.keys(W).forEach((Y)=>{W[Y][X]||=N1(W[Y],X)||N1(W[y],X)||[]});else W[$][X]||=N1(W[$],X)||N1(W[y],X)||[];Object.keys(W).forEach((Y)=>{if($===y||$===Y)Object.keys(W[Y]).forEach((w)=>{Q.test(w)&&W[Y][w].push([J,_])})}),Object.keys(H).forEach((Y)=>{if($===y||$===Y)Object.keys(H[Y]).forEach((w)=>Q.test(w)&&H[Y][w].push([J,_]))});return}let B=_$(X)||[X];for(let Q=0,Y=B.length;Q<Y;Q++){let w=B[Q];Object.keys(H).forEach((N)=>{if($===y||$===N)H[N][w]||=[...N1(W[N],w)||N1(W[y],w)||[]],H[N][w].push([J,_-Y+Q+1])})}}match($,X){YX();let J=this.#J();return this.match=(W,H)=>{let _=J[W]||J[y],B=_[2][H];if(B)return B;let Q=H.match(_[0]);if(!Q)return[[],Z6];let Y=Q.indexOf("",1);return[_[1][Y],Q]},this.match($,X)}#J(){let $=Object.create(null);return Object.keys(this.#$).concat(Object.keys(this.#X)).forEach((X)=>{$[X]||=this.#_(X)}),this.#X=this.#$=void 0,$}#_($){let X=[],J=$===y;if([this.#X,this.#$].forEach((W)=>{let H=W[$]?Object.keys(W[$]).map((_)=>[_,W[$][_]]):[];if(H.length!==0)J||=!0,X.push(...H);else if($!==y)X.push(...Object.keys(W[y]).map((_)=>[_,W[y][_]]))}),!J)return null;else return qX(X)}};var n$=class{name="SmartRouter";#X=[];#$=[];constructor($){this.#X=$.routers}add($,X,J){if(!this.#$)throw Error(B$);this.#$.push([$,X,J])}match($,X){if(!this.#$)throw Error("Fatal error");let J=this.#X,W=this.#$,H=J.length,_=0,B;for(;_<H;_++){let Q=J[_];try{for(let Y=0,w=W.length;Y<w;Y++)Q.add(...W[Y]);B=Q.match($,X)}catch(Y){if(Y instanceof Q$)continue;throw Y}this.match=Q.match.bind(Q),this.#X=[Q],this.#$=void 0;break}if(_===H)throw Error("Fatal error");return this.name=`SmartRouter + ${this.activeRouter.name}`,B}get activeRouter(){if(this.#$||this.#X.length!==1)throw Error("No active router has been determined yet.");return this.#X[0]}};var x1=Object.create(null),i$=class{#X;#$;#J;#_=0;#H=x1;constructor($,X,J){if(this.#$=J||Object.create(null),this.#X=[],$&&X){let W=Object.create(null);W[$]={handler:X,possibleKeys:[],score:0},this.#X=[W]}this.#J=[]}insert($,X,J){this.#_=++this.#_;let W=this,H=f6(X),_=[];for(let B=0,Q=H.length;B<Q;B++){let Y=H[B],w=H[B+1],N=R6(Y,w),F=Array.isArray(N)?N[0]:Y;if(F in W.#$){if(W=W.#$[F],N)_.push(N[1]);continue}if(W.#$[F]=new i$,N)W.#J.push(N),_.push(N[1]);W=W.#$[F]}return W.#X.push({[$]:{handler:J,possibleKeys:_.filter((B,Q,Y)=>Y.indexOf(B)===Q),score:this.#_}}),W}#W($,X,J,W){let H=[];for(let _=0,B=$.#X.length;_<B;_++){let Q=$.#X[_],Y=Q[X]||Q[y],w={};if(Y!==void 0){if(Y.params=Object.create(null),H.push(Y),J!==x1||W&&W!==x1)for(let N=0,F=Y.possibleKeys.length;N<F;N++){let P=Y.possibleKeys[N],n=w[Y.score];Y.params[P]=W?.[P]&&!n?W[P]:J[P]??W?.[P],w[Y.score]=!0}}}return H}search($,X){let J=[];this.#H=x1;let H=[this],_=g$(X),B=[];for(let Q=0,Y=_.length;Q<Y;Q++){let w=_[Q],N=Q===Y-1,F=[];for(let P=0,n=H.length;P<n;P++){let k=H[P],Z=k.#$[w];if(Z)if(Z.#H=k.#H,N){if(Z.#$["*"])J.push(...this.#W(Z.#$["*"],$,k.#H));J.push(...this.#W(Z,$,k.#H))}else F.push(Z);for(let i=0,t=k.#J.length;i<t;i++){let W0=k.#J[i],s=k.#H===x1?{}:{...k.#H};if(W0==="*"){let V0=k.#$["*"];if(V0)J.push(...this.#W(V0,$,k.#H)),V0.#H=s,F.push(V0);continue}let[H0,r,X0]=W0;if(!w&&!(X0 instanceof RegExp))continue;let _0=k.#$[H0],A$=_.slice(Q).join("/");if(X0 instanceof RegExp){let V0=X0.exec(A$);if(V0){if(s[r]=V0[0],J.push(...this.#W(_0,$,k.#H,s)),Object.keys(_0.#$).length){_0.#H=s;let L$=V0[0].match(/\//)?.length??0;(B[L$]||=[]).push(_0)}continue}}if(X0===!0||X0.test(w))if(s[r]=w,N){if(J.push(...this.#W(_0,$,s,k.#H)),_0.#$["*"])J.push(...this.#W(_0.#$["*"],$,s,k.#H))}else _0.#H=s,F.push(_0)}}H=F.concat(B.shift()??[])}if(J.length>1)J.sort((Q,Y)=>{return Q.score-Y.score});return[J.map(({handler:Q,params:Y})=>[Q,Y])]}};var c$=class{name="TrieRouter";#X;constructor(){this.#X=new i$}add($,X,J){let W=_$(X);if(W){for(let H=0,_=W.length;H<_;H++)this.#X.insert($,W[H],J);return}this.#X.insert($,X,J)}match($,X){return this.#X.search($,X)}};var p$=class extends m${constructor($={}){super($);this.router=$.router??new n$({routers:[new y$,new c$]})}};var WH=n1(M1()),o$=Symbol("route:metadata"),d$=Symbol("controller:metadata"),m6=Symbol("parameter:metadata"),y6=Symbol("dependency:metadata"),s$=Symbol("websocket:metadata"),n6=Symbol("websocket:handler:metadata"),r$=Symbol("graphql:resolver"),g1=Symbol("graphql:field");class g{routes=new Map;controllers=new Map;routesByController=new Map;websockets=new Map;graphqlResolvers=new Map;graphqlFields=new Map;registerRoute($){let X=this.getRouteKey($.target,$.propertyKey);if(this.routes.set(X,$),!this.routesByController.has($.target))this.routesByController.set($.target,[]);this.routesByController.get($.target).push($)}registerController($,X){this.controllers.set($,X)}getRoutes(){return Array.from(this.routes.values())}getRoute($,X){let J=this.getRouteKey($,X);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 X=this.getRouteKey($.target,$.propertyKey);this.graphqlFields.set(X,$)}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((X)=>X.target===$)}clear(){this.routes.clear(),this.controllers.clear(),this.routesByController.clear(),this.websockets.clear(),this.graphqlResolvers.clear(),this.graphqlFields.clear()}getRouteKey($,X){return`${$.name}:${X}`}static defineRoute($,X,J){let W=this.getRouteMetadata($,X),H={...W,...J,target:$.constructor,propertyKey:X,middleware:[...W?.middleware||[],...J.middleware||[]],parameters:J.parameters||W?.parameters||[],dependencies:J.dependencies||W?.dependencies||[],responses:J.responses||W?.responses||[]};Reflect.defineMetadata(o$,H,$,X)}static defineParameter($,X,J,W){let H=this.getParameterMetadata($,X)||[];H[J]=W,Reflect.defineMetadata(m6,H,$,X);let _=this.getRouteMetadata($,X);this.defineRoute($,X,{..._,parameters:H})}static defineDependency($,X,J,W){let H=this.getDependencyMetadata($,X)||[];H[J]=W,Reflect.defineMetadata(y6,H,$,X);let _=this.getRouteMetadata($,X);this.defineRoute($,X,{..._,dependencies:H})}static defineController($,X){Reflect.defineMetadata(d$,X,$)}static getRouteMetadata($,X){return Reflect.getMetadata(o$,$,X)}static getParameterMetadata($,X){return Reflect.getMetadata(m6,$,X)}static getDependencyMetadata($,X){return Reflect.getMetadata(y6,$,X)}static getControllerMetadata($){return Reflect.getMetadata(d$,$)}static hasControllerMetadata($){return Reflect.hasMetadata(d$,$)}static hasRouteMetadata($,X){return Reflect.hasMetadata(o$,$,X)}static getRouteMethods($){let X=$.prototype,J=[],W=Object.getOwnPropertyNames(X);for(let H of W){if(H==="constructor")continue;if(this.hasRouteMetadata(X,H))J.push(H)}return J}static defineWebSocket($,X){let W={...this.getWebSocketMetadata($),...X,target:$};Reflect.defineMetadata(s$,W,$)}static defineWebSocketHandler($,X,J){let W=this.getWebSocketMetadata($.constructor)||{};switch(J.type){case"connect":W.onConnect=X;break;case"message":W.onMessage=X,W.messageSchema=J.schema;break;case"disconnect":W.onDisconnect=X;break}this.defineWebSocket($.constructor,W),Reflect.defineMetadata(n6,J,$,X)}static getWebSocketMetadata($){return Reflect.getMetadata(s$,$)}static getWebSocketHandlerMetadata($,X){return Reflect.getMetadata(n6,$,X)}static hasWebSocketMetadata($){return Reflect.hasMetadata(s$,$)}static defineGraphQLResolver($,X){Reflect.defineMetadata(r$,X,$)}static defineGraphQLField($,X,J){Reflect.defineMetadata(g1,J,$,X);let W=this.getGraphQLFieldsMetadata($.constructor)||[];W.push(J),Reflect.defineMetadata(g1,W,$.constructor)}static getGraphQLResolverMetadata($){return Reflect.getMetadata(r$,$)}static getGraphQLFieldsMetadata($){return Reflect.getMetadata(g1,$)||[]}static getGraphQLFieldMetadata($,X){return Reflect.getMetadata(g1,$,X)}static hasGraphQLResolverMetadata($){return Reflect.hasMetadata(r$,$)}static hasGraphQLFieldMetadata($,X){return Reflect.hasMetadata(g1,$,X)}}class Z1{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($,X){this.providers.set($,X||{scope:"transient"})}async resolve($,X){let J=this.providers.get($)||{scope:X?.scope||"transient"},W=X?.scope||J.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($,J,X?.context);return this.singletons.set($,H),H}finally{this.resolutionStack.delete($)}}if(W==="request"&&X?.context){let H=this.requestScoped.get(X.context);if(H?.has($))return this.stats.requestHits++,H.get($);if(this.stats.requestMisses++,!H)H=new Map,this.requestScoped.set(X.context,H);if(this.resolutionStack.has($))throw Error(`Circular dependency detected: ${this.buildCircularDependencyMessage($)}`);this.resolutionStack.add($);try{let _=await this.create($,J,X.context);return H.set($,_),_}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,X?.context)}finally{this.resolutionStack.delete($)}}buildCircularDependencyMessage($){let X=Array.from(this.resolutionStack),J=this.getProviderName($);return X.map((H)=>this.getProviderName(H)).join(" -> ")+" -> "+J}async create($,X,J){if(X.factory)return X.factory();if(typeof $==="function")if($.prototype&&$.prototype.constructor===$){let W=new $;return await this.resolveNestedDependencies(W,J),W}else{let W=$();return W instanceof Promise?await W:W}throw Error("Invalid provider type")}async resolveNestedDependencies($,X){}getProviderName($){let X=this.providerNameCache.get($);if(X)return X;let J;if(typeof $==="function")if($.name)J=$.name;else J=$.toString().substring(0,50);else J=String($);return this.providerNameCache.set($,J),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,X=$>0?this.stats.singletonHits/$*100:0,J=this.stats.requestHits+this.stats.requestMisses,W=J>0?this.stats.requestHits/J*100:0;return{singletonHits:this.stats.singletonHits,singletonMisses:this.stats.singletonMisses,singletonHitRate:Math.round(X*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 wX=/^[\w!#$%&'*.^`|~+-]+$/,DX=/^[ !#-:<-[\]-~]*$/,t$=($,X)=>{if(X&&$.indexOf(X)===-1)return{};let J=$.trim().split(";"),W={};for(let H of J){H=H.trim();let _=H.indexOf("=");if(_===-1)continue;let B=H.substring(0,_).trim();if(X&&X!==B||!wX.test(B))continue;let Q=H.substring(_+1).trim();if(Q.startsWith('"')&&Q.endsWith('"'))Q=Q.slice(1,-1);if(DX.test(Q)){if(W[B]=Q.indexOf("%")!==-1?G1(Q,K1):Q,X)break}}return W};var i6=($,X,J)=>{let W=$.req.raw.headers.get("Cookie");if(typeof X==="string"){if(!W)return;let _=X;if(J==="secure")_="__Secure-"+X;else if(J==="host")_="__Host-"+X;return t$(W,_)[_]}if(!W)return{};return t$(W)};class a${static json($,X=200,J){return new w$($,X,J)}static html($,X=200){return new D$($,X)}static file($,X){return new N$($,X)}static stream($,X){return new z$($,X)}static redirect($,X=302){return new G$($,X)}}class w${data;status;headers;constructor($,X=200,J={}){this.data=$;this.status=X;this.headers=J}toHonoResponse($){return $.json(this.data,this.status,this.headers)}}class D${content;status;constructor($,X=200){this.content=$;this.status=X}toHonoResponse($){return $.html(this.content,this.status)}}class G${url;status;constructor($,X=302){this.url=$;this.status=X}toHonoResponse($){return $.redirect(this.url,this.status)}}class N${path;options;constructor($,X){this.path=$;this.options=X}async toHonoResponse($){try{let X=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",_=this.options?.download?"attachment":"inline";W["Content-Disposition"]=`${_}; filename="${H}"`}if(typeof Bun<"u"&&X instanceof Blob)return $.body(X,200,W);else return $.body(X,200,W)}catch(X){return $.json({error:"File not found",message:X instanceof Error?X.message:"Unknown error"},404)}}async readFileNode($){throw Error("File reading in Node.js requires fs module - use Bun runtime or implement adapter")}guessContentType($){let X=$.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"}[X||""]||"application/octet-stream"}}class z${stream;options;constructor($,X){this.stream=$;this.options=X}toHonoResponse($){let X={"Content-Type":this.options?.contentType||"application/octet-stream",...this.options?.headers};return $.body(this.stream,200,X)}}class j${static serialize($,X){if(X===null||X===void 0)return $.body(null,204);if(X instanceof a$)return X;if(X instanceof w$)return X.toHonoResponse($);if(X instanceof D$)return X.toHonoResponse($);if(X instanceof N$)return X.toHonoResponse($);if(X instanceof z$)return X.toHonoResponse($);if(X instanceof G$)return X.toHonoResponse($);if(X&&typeof X.toHonoResponse==="function")return X.toHonoResponse($);return $.json(X)}}class l1{static compile($){let X=this.compilePathRegex($.path),J=this.resolveParameterOrder($.parameters),W=this.resolveDependencyOrder($.dependencies),H=this.calculateMaxArgumentIndex($.parameters,$.dependencies),_=this.computeParameterFlags($.parameters);return{...$,pathRegex:X,parameterOrder:J,dependencyOrder:W,maxArgumentIndex:H,..._}}static compilePathRegex($){let X=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return X=X.replace(/\\\{([^}]+)\\\}/g,"(?<$1>[^/]+)"),X=X.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g,"(?<$1>[^/]+)"),X=`^${X}$`,new RegExp(X)}static resolveParameterOrder($){if(!$||$.length===0)return[];return $.map((X)=>X.index).filter((X)=>X!==void 0).sort((X,J)=>X-J)}static resolveDependencyOrder($){if(!$||$.length===0)return[];return $.map((X)=>X.index).filter((X)=>X!==void 0).sort((X,J)=>X-J)}static calculateMaxArgumentIndex($,X){let J=-1;if($&&$.length>0){let W=Math.max(...$.map((H)=>H.index));J=Math.max(J,W)}if(X&&X.length>0){let W=Math.max(...X.map((H)=>H.index));J=Math.max(J,W)}return J}static computeParameterFlags($){if(!$||$.length===0)return{hasBody:!1,hasQuery:!1,hasParams:!1,hasHeaders:!1,hasCookies:!1,hasDependencies:!1};return{hasBody:$.some((X)=>X.type==="body"),hasQuery:$.some((X)=>X.type==="query"),hasParams:$.some((X)=>X.type==="param"),hasHeaders:$.some((X)=>X.type==="header"),hasCookies:$.some((X)=>X.type==="cookie"),hasDependencies:!1}}static compileAll($){return $.map((X)=>this.compile(X))}}class u1{app;metadata;container;validator;errorHandler;compiledRoutes=new Map;constructor($,X,J,W,H){this.app=$;this.metadata=X;this.container=J;this.validator=W;this.errorHandler=H}compile(){let $=this.metadata.getRoutes(),X=l1.compileAll($);for(let J of X){let W=`${J.target.name}:${J.propertyKey}`;this.compiledRoutes.set(W,J);let H=this.createHandler(J),_=this.normalizePath(J.path),B=J.method.toLowerCase();if(J.middleware&&J.middleware.length>0)this.app[B](_,...J.middleware,H);else this.app[B](_,H)}}normalizePath($){if(!$.startsWith("/"))$="/"+$;if($=$.replace(/\{([^}]+)\}/g,":$1"),$.length>1&&$.endsWith("/"))$=$.slice(0,-1);return $}createHandler($){return async(X)=>{try{let J=await this.extractParameters(X,$.parameters),W=await this.resolveDependencies(X,$.dependencies),H=this.mergeArguments(J,W,$.parameters,$.maxArgumentIndex),_;if($.handler)_=await $.handler(X,...H);else _=await(await this.container.resolve($.target,{scope:"transient",context:X}))[$.propertyKey](...H);return this.serializeResponse(X,_)}catch(J){return await this.handleError(X,J)}}}serializeResponse($,X){return j$.serialize($,X)}async handleError($,X){return await this.errorHandler.handle(X,$)}async extractParameters($,X){let J=[];for(let W of X){let H;switch(W.type){case"body":try{H=await $.req.json()}catch(_){H=null}break;case"query":if(W.name)H=$.req.query(W.name);else H=$.req.query();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 _={};$.req.raw.headers.forEach((B,Q)=>{_[Q]=B}),H=_}break;case"cookie":if(W.name)H=i6($,W.name);else{let _=$.req.header("cookie");if(_)H=Object.fromEntries(_.split(";").map((B)=>{let[Q,...Y]=B.trim().split("=");return[Q,Y.join("=")]}));else H={}}break;case"request":H=$.req;break;case"response":case"context":H=$;break;default:H=void 0}if(W.schema)try{H=await this.validator.validate(H,W.schema)}catch(_){throw _}J[W.index]=H}return J}mergeArguments($,X,J,W){let H=W!==void 0?W:Math.max(J.length>0?Math.max(...J.map((B)=>B.index)):-1,$.length-1,X.length-1),_=Array(H+1);for(let B=0;B<=H;B++)if($[B]!==void 0)_[B]=$[B];else if(X[B]!==void 0)_[B]=X[B];return _}async resolveDependencies($,X){let J=[];for(let W of X)try{let H=await this.container.resolve(W.provider,{scope:W.scope,context:$});J[W.index]=H}catch(H){throw Error(`Failed to resolve dependency at index ${W.index}: ${H instanceof Error?H.message:"Unknown error"}`)}return J}}class m1{customHandler;isDevelopment;constructor($){this.customHandler=$,this.isDevelopment=!0}setCustomHandler($){this.customHandler=$}async handle($,X){if(this.customHandler)try{return await this.customHandler($,X)}catch(J){console.error("Custom error handler failed:",J)}if($ instanceof I0)return this.handleValidationException($,X);if($ instanceof E0)return this.handleHTTPException($,X);return this.handleGenericError($,X)}handleValidationException($,X){let J=$.toJSON();if(this.isDevelopment)console.error("Validation Error:",{path:X.req.path,method:X.req.method,details:J.details});return X.json(J,$.statusCode)}handleHTTPException($,X){let J=$.toJSON();if($.statusCode>=500)console.error("HTTP Exception:",{name:$.name,statusCode:$.statusCode,message:$.message,path:X.req.path,method:X.req.method,...this.isDevelopment&&$.stack?{stack:$.stack}:{}});else if(this.isDevelopment)console.warn("HTTP Exception:",{name:$.name,statusCode:$.statusCode,message:$.message,path:X.req.path,method:X.req.method});return X.json(J,$.statusCode)}handleGenericError($,X){console.error("Internal Server Error:",{name:$.name,message:$.message,path:X.req.path,method:X.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(`
124
+ `).map((W)=>W.trim())}else J.message="An unexpected error occurred";return X.json(J,500)}isDevelopmentMode(){return this.isDevelopment}setDevelopmentMode($){this.isDevelopment=$}}class y1{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 X=this.resolveInstallOrder();for(let J of X)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,X=new Set,J=[],W=(H,_=[])=>{if(X.has(H)){let Q=[..._,H].join(" -> ");throw Error(`Circular dependency detected in plugins: ${Q}`)}if($.has(H))return;X.add(H);let B=this.plugins.get(H);if(!B)throw Error(`Plugin "${H}" is not registered`);if(B.dependencies)for(let Q of B.dependencies){if(!this.plugins.has(Q))throw Error(`Plugin "${H}" depends on "${Q}" which is not registered`);W(Q,[..._,H])}X.delete(H),$.add(H),J.push(H)};for(let H of this.plugins.keys())W(H);return J}}class n0{hono;metadata;container;validator;errorHandler;compiler;pluginManager;config;compiled=!1;globalMiddleware=[];groupPrefix="";constructor($){if(this.config={adapter:"hono",title:"FastAPI-TS API",version:"1.0.0",docs:!0,...$},this.hono=new p$,this.metadata=new g,this.container=new Z1,this.validator=new u0,this.errorHandler=new m1,this.pluginManager=new y1,this.compiler=new u1(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 X=g.getControllerMetadata($);if(X)this.metadata.registerController($,X);let J=g.getRouteMethods($);for(let W of J){let H=g.getRouteMetadata($.prototype,W),_=g.getParameterMetadata($.prototype,W),B=g.getDependencyMetadata($.prototype,W);if(H&&H.method&&H.path!==void 0){let Q=X?.prefix||"",Y=this.normalizePath(Q,H.path);this.metadata.registerRoute({target:$,propertyKey:W,method:H.method,path:Y,middleware:[...X?.middleware||[],...H.middleware||[]],parameters:_||H.parameters||[],dependencies:B||H.dependencies||[],responses:H.responses||[],docs:H.docs})}}}get($,X){this.registerFunctionalRoute("GET",$,X)}post($,X){this.registerFunctionalRoute("POST",$,X)}put($,X){this.registerFunctionalRoute("PUT",$,X)}delete($,X){this.registerFunctionalRoute("DELETE",$,X)}patch($,X){this.registerFunctionalRoute("PATCH",$,X)}route($){return new o6(this,$)}group($,X){let J=this.groupPrefix;this.groupPrefix=this.normalizePath(this.groupPrefix,$),X(),this.groupPrefix=J}registerFunctionalRoute($,X,J){let W=this.normalizePath(this.groupPrefix,X),H={target:p6,propertyKey:`${$.toLowerCase()}_${W}`,method:$,path:W,middleware:J.middleware||[],parameters:this.extractParametersFromSchema(J.schema),dependencies:[],responses:J.responses||[],docs:J.docs,handler:J.handler};this.metadata.registerRoute(H)}extractParametersFromSchema($){let X=[],J=0;if($?.body)X.push({index:J++,type:"body",schema:$.body,required:!0});if($?.query)X.push({index:J++,type:"query",schema:$.query,required:!1});if($?.params)X.push({index:J++,type:"param",schema:$.params,required:!0});if($?.headers)X.push({index:J++,type:"header",schema:$.headers,required:!1});return X}use($){this.globalMiddleware.push($),this.hono.use("*",$)}useCors($){let X=V1($);this.use(X)}useRateLimit($){let X=S1($);this.use(X)}useCompression($){let X=U1($);this.use(X)}usePlugin($){this.pluginManager.register($)}getPluginManager(){return this.pluginManager}onError($){this.errorHandler.setCustomHandler($)}getErrorHandler(){return this.errorHandler}normalizePath(...$){let X=$.filter((J)=>J!=="").join("/").replace(/\/+/g,"/").replace(/\/$/,"");return X.startsWith("/")?X:`/${X}`}getHono(){return this.hono}getMetadata(){return this.metadata}getContainer(){return this.container}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($,X){if(!this.compiled)await this.compile();return this.createAdapter().listen($,X)}createAdapter(){let $=this.config.adapter||"hono";switch($){case"hono":{let{HonoAdapter:X}=Q0($2);return new X(this.hono)}case"express":{let{ExpressAdapter:X}=Q0(c6);return new X(this)}case"native":{let{HonoAdapter:X}=Q0($2);return new X(this.hono)}default:throw Error(`Unknown adapter type: ${$}. Supported adapters: 'hono', 'express', 'native'`)}}}class p6{}class o6{app;path;constructor($,X){this.app=$;this.path=X}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 S$($){let X={docs:!1,cors:!1,...$};return new n0(X)}function X2($,X,J,W){let H=$.getContainer(),_=typeof J==="function"?J:()=>J;H.register(X,{scope:W?.scope||"singleton",factory:_})}function U$($){return new D1($)}async function J2($,X){let J=S$(X);await $(J),await J.compile();let W=U$(J);return{app:J,client:W}}function W2($){$.getContainer().clear()}var xX={};Y0(xX,{zodToJsonSchema:()=>e1,zodToGraphQLType:()=>b0,zodObjectToGraphQLType:()=>b6,zodObjectToGraphQLInput:()=>V6,z:()=>v1,setupTestApp:()=>J2,mockDependency:()=>X2,isNullable:()=>l0,hasResolverMetadata:()=>n8,hasFieldMetadata:()=>i8,getResolverMetadata:()=>u8,getFieldsMetadata:()=>m8,getFieldMetadata:()=>y8,getDefaultValue:()=>J$,getArgumentsMetadata:()=>X$,createTestClient:()=>U$,createTestApp:()=>S$,createRateLimitMiddleware:()=>S1,createCorsMiddleware:()=>V1,createCompressionMiddleware:()=>U1,clearMocks:()=>W2,ZodToJsonSchemaConverter:()=>O0,WebSocketPlugin:()=>q1,WebSocketManager:()=>Y1,WebSocketConnection:()=>Q1,WebSocket:()=>IX,VeloceTS:()=>n0,Veloce:()=>n0,ValidationException:()=>I0,ValidationEngine:()=>u0,UseMiddleware:()=>MX,UnauthorizedException:()=>U6,TestClient:()=>D1,StreamResponse:()=>z$,RouterCompiler:()=>u1,ResponseSerializer:()=>j$,Response:()=>a$,Resolver:()=>T8,Req:()=>OX,RedirectResponse:()=>G$,Query:()=>EX,Put:()=>VX,Post:()=>bX,PluginManager:()=>y1,Patch:()=>UX,Param:()=>FX,OpenAPIPlugin:()=>$$,OpenAPIGenerator:()=>Z0,OnMessage:()=>TX,OnDisconnect:()=>hX,OnConnect:()=>KX,NotFoundException:()=>S6,MetadataRegistry:()=>g,MetadataCompiler:()=>l1,JSONResponse:()=>w$,HonoAdapter:()=>b$,Header:()=>fX,HTTPException:()=>E0,HTMLResponse:()=>D$,GraphQLSubscription:()=>g8,GraphQLSchemaBuilder:()=>P1,GraphQLQuery:()=>h8,GraphQLPlugin:()=>I1,GraphQLMutation:()=>x8,GraphQLCtx:()=>l8,Get:()=>jX,GQLSubscription:()=>g8,GQLQuery:()=>h8,GQLMutation:()=>x8,GQLContext:()=>l8,ForbiddenException:()=>A6,FileResponse:()=>N$,FastAPITS:()=>n0,ExpressAdapter:()=>V$,ErrorHandler:()=>m1,Depends:()=>CX,Delete:()=>SX,DIContainer:()=>Z1,Ctx:()=>vX,Cookie:()=>RX,Controller:()=>zX,Body:()=>LX,BadRequestException:()=>L6,Arg:()=>Z8,ApiResponse:()=>PX,ApiDoc:()=>kX,All:()=>AX});module.exports=Q0(xX);var tH=n1(M1());function zX($=""){return(X)=>{let J=$.trim();if(J&&!J.startsWith("/"))J="/"+J;if(J.endsWith("/"))J=J.slice(0,-1);g.defineController(X,{prefix:J,middleware:[]})}}function z1($){return(X="")=>{return(J,W)=>{let H=X.trim();if(H&&!H.startsWith("/"))H="/"+H;g.defineRoute(J,W,{method:$,path:H,middleware:[],parameters:[],dependencies:[],responses:[]})}}}var jX=z1("GET"),bX=z1("POST"),VX=z1("PUT"),SX=z1("DELETE"),UX=z1("PATCH"),AX=z1("ALL");function LX($){return(X,J,W)=>{if(!J)return;let H={index:W,type:"body",schema:$,required:!0};g.defineParameter(X,J,W,H)}}function EX($){return(X,J,W)=>{if(!J)return;let H={index:W,type:"query",schema:$,required:!1};g.defineParameter(X,J,W,H)}}function FX($){return(X,J,W)=>{if(!J)return;let H={index:W,type:"param",name:$,required:!0};g.defineParameter(X,J,W,H)}}function fX($){return(X,J,W)=>{if(!J)return;let H={index:W,type:"header",name:$,required:!1};g.defineParameter(X,J,W,H)}}function RX($){return(X,J,W)=>{if(!J)return;let H={index:W,type:"cookie",name:$,required:!1};g.defineParameter(X,J,W,H)}}function OX(){return($,X,J)=>{if(!X)return;let W={index:J,type:"request",required:!0};g.defineParameter($,X,J,W)}}function vX(){return($,X,J)=>{if(!X)return;let W={index:J,type:"context",required:!0};g.defineParameter($,X,J,W)}}function CX($,X="request"){return(J,W,H)=>{if(W===void 0)throw Error("@Depends decorator can only be used on method parameters, not constructor parameters");g.defineDependency(J,W,H,{index:H,provider:$,scope:X})}}function MX(...$){return(X,J)=>{}}function kX($){return(X,J)=>{let W=g.getRouteMetadata(X,J);g.defineRoute(X,J,{...W,docs:{...W?.docs,...$}})}}function PX($){return(X,J)=>{let W=g.getRouteMetadata(X,J),H=W?.responses||[],_=H.findIndex((Q)=>Q.statusCode===$.statusCode),B;if(_>=0)B=[...H],B[_]=$;else B=[...H,$];g.defineRoute(X,J,{...W,responses:B})}}var dH=n1(M1());function IX($){return(X)=>{g.defineWebSocket(X,{path:$})}}function KX(){return($,X)=>{g.defineWebSocketHandler($,X,{type:"connect",method:X})}}function TX($){return(X,J)=>{g.defineWebSocketHandler(X,J,{type:"message",method:J,schema:$})}}function hX(){return($,X)=>{g.defineWebSocketHandler($,X,{type:"disconnect",method:X})}}
125
+
126
+ //# debugId=476119DE5326A99A64756E2164756E21