@suveren/gateway 0.39.0 → 0.41.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 (1039) hide show
  1. package/dist/control-plane/index.mjs +182 -37
  2. package/dist/mcp-server/http.mjs +356 -72
  3. package/dist/ui/assets/index-CO-dj98E.js +123 -0
  4. package/dist/ui/assets/index-DM9WXky8.css +1 -0
  5. package/dist/ui/index.html +2 -2
  6. package/node_modules/@hap/core/README.md +3 -3
  7. package/node_modules/@hap/core/dist/index.d.mts +567 -123
  8. package/node_modules/@hap/core/dist/index.d.ts +567 -123
  9. package/node_modules/@hap/core/dist/index.js +869 -23
  10. package/node_modules/@hap/core/dist/index.mjs +829 -22
  11. package/node_modules/@hap/core/node_modules/@hpke/core/LICENSE +21 -0
  12. package/node_modules/@hap/core/node_modules/@hpke/core/README.md +263 -0
  13. package/node_modules/@hap/core/node_modules/@hpke/core/esm/mod.d.ts +11 -0
  14. package/node_modules/@hap/core/node_modules/@hpke/core/esm/mod.d.ts.map +1 -0
  15. package/node_modules/@hap/core/node_modules/@hpke/core/esm/mod.js +6 -0
  16. package/node_modules/@hap/core/node_modules/@hpke/core/esm/package.json +3 -0
  17. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/aeads/aesGcm.d.ts +80 -0
  18. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/aeads/aesGcm.d.ts.map +1 -0
  19. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/aeads/aesGcm.js +167 -0
  20. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/aeads/exportOnly.d.ts +34 -0
  21. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/aeads/exportOnly.d.ts.map +1 -0
  22. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/aeads/exportOnly.js +56 -0
  23. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/cipherSuiteNative.d.ts +145 -0
  24. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/cipherSuiteNative.d.ts.map +1 -0
  25. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/cipherSuiteNative.js +326 -0
  26. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/encryptionContext.d.ts +15 -0
  27. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/encryptionContext.d.ts.map +1 -0
  28. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/encryptionContext.js +68 -0
  29. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/exporterContext.d.ts +19 -0
  30. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/exporterContext.d.ts.map +1 -0
  31. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/exporterContext.js +62 -0
  32. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/aeadParams.d.ts +17 -0
  33. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/aeadParams.d.ts.map +1 -0
  34. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/aeadParams.js +1 -0
  35. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/cipherSuiteParams.d.ts +13 -0
  36. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/cipherSuiteParams.d.ts.map +1 -0
  37. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/cipherSuiteParams.js +1 -0
  38. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/encapsulator.d.ts +8 -0
  39. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/encapsulator.d.ts.map +1 -0
  40. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/encapsulator.js +1 -0
  41. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/encryptionContext.d.ts +40 -0
  42. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/encryptionContext.d.ts.map +1 -0
  43. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/encryptionContext.js +1 -0
  44. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/exporter.d.ts +17 -0
  45. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/exporter.d.ts.map +1 -0
  46. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/exporter.js +1 -0
  47. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/keyInfo.d.ts +7 -0
  48. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/keyInfo.d.ts.map +1 -0
  49. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/keyInfo.js +1 -0
  50. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/responses.d.ts +10 -0
  51. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/responses.d.ts.map +1 -0
  52. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/interfaces/responses.js +1 -0
  53. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemNative.d.ts +26 -0
  54. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemNative.d.ts.map +1 -0
  55. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemNative.js +112 -0
  56. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x25519.d.ts +24 -0
  57. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x25519.d.ts.map +1 -0
  58. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x25519.js +214 -0
  59. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x448.d.ts +24 -0
  60. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x448.d.ts.map +1 -0
  61. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x448.js +214 -0
  62. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemX25519.d.ts +38 -0
  63. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemX25519.d.ts.map +1 -0
  64. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemX25519.js +66 -0
  65. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemX448.d.ts +38 -0
  66. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemX448.d.ts.map +1 -0
  67. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/kems/dhkemX448.js +66 -0
  68. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/mutex.d.ts +5 -0
  69. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/mutex.d.ts.map +1 -0
  70. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/mutex.js +28 -0
  71. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/native.d.ts +236 -0
  72. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/native.d.ts.map +1 -0
  73. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/native.js +235 -0
  74. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/recipientContext.d.ts +6 -0
  75. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/recipientContext.d.ts.map +1 -0
  76. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/recipientContext.js +38 -0
  77. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/senderContext.d.ts +11 -0
  78. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/senderContext.d.ts.map +1 -0
  79. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/senderContext.js +45 -0
  80. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/utils/emitNotSupported.d.ts +2 -0
  81. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/utils/emitNotSupported.d.ts.map +1 -0
  82. package/node_modules/@hap/core/node_modules/@hpke/core/esm/src/utils/emitNotSupported.js +6 -0
  83. package/node_modules/@hap/core/node_modules/@hpke/core/package.json +46 -0
  84. package/node_modules/@hap/core/node_modules/@hpke/core/script/mod.d.ts +11 -0
  85. package/node_modules/@hap/core/node_modules/@hpke/core/script/mod.d.ts.map +1 -0
  86. package/node_modules/@hap/core/node_modules/@hpke/core/script/mod.js +47 -0
  87. package/node_modules/@hap/core/node_modules/@hpke/core/script/package.json +3 -0
  88. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/aeads/aesGcm.d.ts +80 -0
  89. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/aeads/aesGcm.d.ts.map +1 -0
  90. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/aeads/aesGcm.js +183 -0
  91. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/aeads/exportOnly.d.ts +34 -0
  92. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/aeads/exportOnly.d.ts.map +1 -0
  93. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/aeads/exportOnly.js +70 -0
  94. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/cipherSuiteNative.d.ts +145 -0
  95. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/cipherSuiteNative.d.ts.map +1 -0
  96. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/cipherSuiteNative.js +340 -0
  97. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/encryptionContext.d.ts +15 -0
  98. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/encryptionContext.d.ts.map +1 -0
  99. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/encryptionContext.js +82 -0
  100. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/exporterContext.d.ts +19 -0
  101. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/exporterContext.d.ts.map +1 -0
  102. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/exporterContext.js +78 -0
  103. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/aeadParams.d.ts +17 -0
  104. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/aeadParams.d.ts.map +1 -0
  105. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/aeadParams.js +12 -0
  106. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/cipherSuiteParams.d.ts +13 -0
  107. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/cipherSuiteParams.d.ts.map +1 -0
  108. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/cipherSuiteParams.js +12 -0
  109. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/encapsulator.d.ts +8 -0
  110. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/encapsulator.d.ts.map +1 -0
  111. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/encapsulator.js +12 -0
  112. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/encryptionContext.d.ts +40 -0
  113. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/encryptionContext.d.ts.map +1 -0
  114. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/encryptionContext.js +12 -0
  115. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/exporter.d.ts +17 -0
  116. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/exporter.d.ts.map +1 -0
  117. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/exporter.js +12 -0
  118. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/keyInfo.d.ts +7 -0
  119. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/keyInfo.d.ts.map +1 -0
  120. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/keyInfo.js +12 -0
  121. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/responses.d.ts +10 -0
  122. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/responses.d.ts.map +1 -0
  123. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/interfaces/responses.js +12 -0
  124. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemNative.d.ts +26 -0
  125. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemNative.d.ts.map +1 -0
  126. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemNative.js +128 -0
  127. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x25519.d.ts +24 -0
  128. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x25519.d.ts.map +1 -0
  129. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x25519.js +228 -0
  130. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x448.d.ts +24 -0
  131. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x448.d.ts.map +1 -0
  132. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x448.js +228 -0
  133. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemX25519.d.ts +38 -0
  134. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemX25519.d.ts.map +1 -0
  135. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemX25519.js +80 -0
  136. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemX448.d.ts +38 -0
  137. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemX448.d.ts.map +1 -0
  138. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/kems/dhkemX448.js +80 -0
  139. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/mutex.d.ts +5 -0
  140. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/mutex.d.ts.map +1 -0
  141. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/mutex.js +42 -0
  142. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/native.d.ts +236 -0
  143. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/native.d.ts.map +1 -0
  144. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/native.js +255 -0
  145. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/recipientContext.d.ts +6 -0
  146. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/recipientContext.d.ts.map +1 -0
  147. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/recipientContext.js +52 -0
  148. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/senderContext.d.ts +11 -0
  149. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/senderContext.d.ts.map +1 -0
  150. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/senderContext.js +59 -0
  151. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/utils/emitNotSupported.d.ts +2 -0
  152. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/utils/emitNotSupported.d.ts.map +1 -0
  153. package/node_modules/@hap/core/node_modules/@hpke/core/script/src/utils/emitNotSupported.js +19 -0
  154. package/node_modules/@hap/core/package.json +2 -1
  155. package/node_modules/@hap/core/src/canonicalize.ts +9 -0
  156. package/node_modules/@hap/core/src/commitment-modes.ts +21 -9
  157. package/node_modules/@hap/core/src/errors.ts +24 -8
  158. package/node_modules/@hap/core/src/gatekeeper.ts +52 -8
  159. package/node_modules/@hap/core/src/index.ts +5 -1
  160. package/node_modules/@hap/core/src/issuance.ts +250 -0
  161. package/node_modules/@hap/core/src/mandate.ts +52 -14
  162. package/node_modules/@hap/core/src/owner-signature.ts +86 -39
  163. package/node_modules/@hap/core/src/profile.ts +45 -0
  164. package/node_modules/@hap/core/src/proposal-content.ts +219 -0
  165. package/node_modules/@hap/core/src/ticket-projection.ts +167 -0
  166. package/node_modules/@hap/core/src/ticket.ts +254 -20
  167. package/node_modules/@hap/core/src/types.ts +33 -5
  168. package/node_modules/@hap/core/src/verifier-policy.ts +178 -0
  169. package/node_modules/@hap/core/src/versions.ts +50 -19
  170. package/node_modules/@hono/node-server/dist/index.cjs +31 -6
  171. package/node_modules/@hono/node-server/dist/index.mjs +31 -6
  172. package/node_modules/@hono/node-server/package.json +1 -1
  173. package/node_modules/@hpke/common/esm/package.json +5 -1
  174. package/node_modules/@hpke/common/esm/src/curve/montgomery.d.ts +2 -2
  175. package/node_modules/@hpke/common/esm/src/curve/montgomery.d.ts.map +1 -1
  176. package/node_modules/@hpke/common/esm/src/curve/montgomery.js +41 -26
  177. package/node_modules/@hpke/common/esm/src/hash/sha3.d.ts.map +1 -1
  178. package/node_modules/@hpke/common/esm/src/hash/sha3.js +0 -15
  179. package/node_modules/@hpke/common/esm/src/kdfs/hkdf.d.ts +2 -1
  180. package/node_modules/@hpke/common/esm/src/kdfs/hkdf.d.ts.map +1 -1
  181. package/node_modules/@hpke/common/esm/src/kdfs/hkdf.js +12 -2
  182. package/node_modules/@hpke/common/esm/src/kems/dhkemPrimitives/xCurve.d.ts.map +1 -1
  183. package/node_modules/@hpke/common/esm/src/kems/dhkemPrimitives/xCurve.js +14 -3
  184. package/node_modules/@hpke/common/esm/src/utils/misc.d.ts +6 -0
  185. package/node_modules/@hpke/common/esm/src/utils/misc.d.ts.map +1 -1
  186. package/node_modules/@hpke/common/esm/src/utils/misc.js +43 -10
  187. package/node_modules/@hpke/common/esm/src/utils/noble.d.ts +1 -1
  188. package/node_modules/@hpke/common/esm/src/utils/noble.d.ts.map +1 -1
  189. package/node_modules/@hpke/common/esm/src/utils/noble.js +21 -10
  190. package/node_modules/@hpke/common/package.json +5 -1
  191. package/node_modules/@hpke/common/script/src/curve/montgomery.d.ts +2 -2
  192. package/node_modules/@hpke/common/script/src/curve/montgomery.d.ts.map +1 -1
  193. package/node_modules/@hpke/common/script/src/curve/montgomery.js +40 -25
  194. package/node_modules/@hpke/common/script/src/hash/sha3.d.ts.map +1 -1
  195. package/node_modules/@hpke/common/script/src/hash/sha3.js +0 -15
  196. package/node_modules/@hpke/common/script/src/kdfs/hkdf.d.ts +2 -1
  197. package/node_modules/@hpke/common/script/src/kdfs/hkdf.d.ts.map +1 -1
  198. package/node_modules/@hpke/common/script/src/kdfs/hkdf.js +12 -2
  199. package/node_modules/@hpke/common/script/src/kems/dhkemPrimitives/xCurve.d.ts.map +1 -1
  200. package/node_modules/@hpke/common/script/src/kems/dhkemPrimitives/xCurve.js +13 -2
  201. package/node_modules/@hpke/common/script/src/utils/misc.d.ts +6 -0
  202. package/node_modules/@hpke/common/script/src/utils/misc.d.ts.map +1 -1
  203. package/node_modules/@hpke/common/script/src/utils/misc.js +43 -9
  204. package/node_modules/@hpke/common/script/src/utils/noble.d.ts +1 -1
  205. package/node_modules/@hpke/common/script/src/utils/noble.d.ts.map +1 -1
  206. package/node_modules/@hpke/common/script/src/utils/noble.js +22 -11
  207. package/node_modules/@hpke/core/README.md +56 -56
  208. package/node_modules/@hpke/core/esm/package.json +2 -1
  209. package/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x25519.d.ts +3 -21
  210. package/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x25519.d.ts.map +1 -1
  211. package/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x25519.js +3 -201
  212. package/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x448.d.ts +3 -21
  213. package/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x448.d.ts.map +1 -1
  214. package/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/x448.js +3 -201
  215. package/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/xCurveNative.d.ts +26 -0
  216. package/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/xCurveNative.d.ts.map +1 -0
  217. package/node_modules/@hpke/core/esm/src/kems/dhkemPrimitives/xCurveNative.js +216 -0
  218. package/node_modules/@hpke/core/package.json +6 -2
  219. package/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x25519.d.ts +3 -21
  220. package/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x25519.d.ts.map +1 -1
  221. package/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x25519.js +4 -202
  222. package/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x448.d.ts +3 -21
  223. package/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x448.d.ts.map +1 -1
  224. package/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/x448.js +4 -202
  225. package/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/xCurveNative.d.ts +26 -0
  226. package/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/xCurveNative.d.ts.map +1 -0
  227. package/node_modules/@hpke/core/script/src/kems/dhkemPrimitives/xCurveNative.js +230 -0
  228. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.d.ts.map +1 -1
  229. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js +10 -0
  230. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js.map +1 -1
  231. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts +8 -8
  232. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts.map +1 -1
  233. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.d.ts.map +1 -1
  234. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +10 -0
  235. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -1
  236. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts +8 -8
  237. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts.map +1 -1
  238. package/node_modules/@modelcontextprotocol/sdk/package.json +1 -1
  239. package/node_modules/@types/node/README.md +1 -1
  240. package/node_modules/@types/node/package.json +2 -2
  241. package/node_modules/@types/node/zlib.d.ts +752 -0
  242. package/node_modules/encodeurl/README.md +14 -0
  243. package/node_modules/encodeurl/index.js +5 -10
  244. package/node_modules/encodeurl/package.json +10 -6
  245. package/node_modules/express-rate-limit/dist/index.cjs +7 -3
  246. package/node_modules/express-rate-limit/dist/index.mjs +7 -3
  247. package/node_modules/express-rate-limit/package.json +10 -10
  248. package/node_modules/follow-redirects/README.md +27 -1
  249. package/node_modules/follow-redirects/index.js +1 -5
  250. package/node_modules/follow-redirects/package.json +1 -1
  251. package/node_modules/hono/README.md +2 -3
  252. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +1 -1
  253. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +1 -1
  254. package/node_modules/hono/dist/cjs/context.js +1 -1
  255. package/node_modules/hono/dist/cjs/helper/css/common.js +11 -8
  256. package/node_modules/hono/dist/cjs/helper/css/index.js +1 -1
  257. package/node_modules/hono/dist/cjs/helper/route/index.js +3 -1
  258. package/node_modules/hono/dist/cjs/hono-base.js +4 -10
  259. package/node_modules/hono/dist/cjs/hono.js +0 -1
  260. package/node_modules/hono/dist/cjs/jsx/base.js +1 -1
  261. package/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +1 -1
  262. package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +9 -1
  263. package/node_modules/hono/dist/cjs/middleware/csrf/index.js +2 -2
  264. package/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +2 -2
  265. package/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +2 -2
  266. package/node_modules/hono/dist/cjs/middleware/mount/index.js +4 -4
  267. package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +3 -1
  268. package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +13 -11
  269. package/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +4 -4
  270. package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +39 -51
  271. package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +15 -5
  272. package/node_modules/hono/dist/cjs/router/trie-router/node.js +2 -2
  273. package/node_modules/hono/dist/cjs/utils/jwt/jwt.js +2 -1
  274. package/node_modules/hono/dist/cjs/utils/mount.js +35 -0
  275. package/node_modules/hono/dist/cjs/utils/url.js +21 -6
  276. package/node_modules/hono/dist/cjs/validator/validator.js +1 -1
  277. package/node_modules/hono/dist/context.js +1 -1
  278. package/node_modules/hono/dist/helper/css/common.js +11 -8
  279. package/node_modules/hono/dist/helper/css/index.js +1 -1
  280. package/node_modules/hono/dist/helper/route/index.js +3 -1
  281. package/node_modules/hono/dist/hono-base.js +4 -10
  282. package/node_modules/hono/dist/hono.js +0 -1
  283. package/node_modules/hono/dist/jsx/base.js +1 -1
  284. package/node_modules/hono/dist/middleware/basic-auth/index.js +1 -1
  285. package/node_modules/hono/dist/middleware/bearer-auth/index.js +9 -1
  286. package/node_modules/hono/dist/middleware/csrf/index.js +2 -2
  287. package/node_modules/hono/dist/middleware/jwk/jwk.js +2 -2
  288. package/node_modules/hono/dist/middleware/jwt/jwt.js +2 -2
  289. package/node_modules/hono/dist/middleware/language/language.js +1 -1
  290. package/node_modules/hono/dist/middleware/mount/index.js +4 -4
  291. package/node_modules/hono/dist/middleware/serve-static/index.js +3 -1
  292. package/node_modules/hono/dist/router/reg-exp-router/node.js +13 -11
  293. package/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +5 -5
  294. package/node_modules/hono/dist/router/reg-exp-router/router.js +40 -52
  295. package/node_modules/hono/dist/router/reg-exp-router/trie.js +15 -5
  296. package/node_modules/hono/dist/router/trie-router/node.js +2 -2
  297. package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +1 -1
  298. package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +1 -1
  299. package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +1 -1
  300. package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +1 -1
  301. package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +1 -1
  302. package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +1 -1
  303. package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +1 -1
  304. package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +1 -1
  305. package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +1 -1
  306. package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +1 -1
  307. package/node_modules/hono/dist/types/helper/testing/index.d.ts +2 -1
  308. package/node_modules/hono/dist/types/hono-base.d.ts +21 -9
  309. package/node_modules/hono/dist/types/index.d.ts +1 -1
  310. package/node_modules/hono/dist/types/jsx/components.d.ts +2 -2
  311. package/node_modules/hono/dist/types/jsx/context.d.ts +2 -2
  312. package/node_modules/hono/dist/types/jsx/dom/components.d.ts +2 -2
  313. package/node_modules/hono/dist/types/jsx/dom/css.d.ts +2 -2
  314. package/node_modules/hono/dist/types/jsx/streaming.d.ts +4 -3
  315. package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +2 -1
  316. package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +3 -3
  317. package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +3 -3
  318. package/node_modules/hono/dist/types/middleware/mount/index.d.ts +1 -0
  319. package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +3 -3
  320. package/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +1 -1
  321. package/node_modules/hono/dist/types/utils/ipaddr.d.ts +1 -1
  322. package/node_modules/hono/dist/types/utils/mount.d.ts +4 -0
  323. package/node_modules/hono/dist/types/utils/url.d.ts +1 -0
  324. package/node_modules/hono/dist/utils/jwt/jwt.js +2 -1
  325. package/node_modules/hono/dist/utils/mount.js +34 -0
  326. package/node_modules/hono/dist/utils/url.js +21 -7
  327. package/node_modules/hono/dist/validator/validator.js +1 -1
  328. package/node_modules/hono/package.json +1 -1
  329. package/node_modules/http-proxy-middleware/dist/handlers/fix-request-body.js +2 -2
  330. package/node_modules/http-proxy-middleware/package.json +1 -1
  331. package/node_modules/ip-address/README.md +39 -39
  332. package/node_modules/ip-address/dist/common.js +2 -2
  333. package/node_modules/ip-address/dist/common.js.map +1 -1
  334. package/node_modules/ip-address/dist/ipv6.js +1 -1
  335. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  336. package/node_modules/ip-address/package.json +2 -2
  337. package/node_modules/jose/dist/types/jwt/decrypt.d.ts +3 -0
  338. package/node_modules/jose/dist/types/jwt/unsecured.d.ts +2 -0
  339. package/node_modules/jose/dist/types/jwt/verify.d.ts +3 -0
  340. package/node_modules/jose/dist/types/types.d.ts +8 -0
  341. package/node_modules/jose/dist/types/util/decode_jwt.d.ts +1 -0
  342. package/node_modules/jose/dist/webapi/jwks/remote.js +3 -1
  343. package/node_modules/jose/dist/webapi/lib/deflate.js +2 -1
  344. package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +2 -1
  345. package/node_modules/jose/package.json +1 -1
  346. package/node_modules/postcss/lib/input.js +1 -1
  347. package/node_modules/postcss/lib/lazy-result.js +1 -1
  348. package/node_modules/postcss/lib/no-work-result.js +1 -1
  349. package/node_modules/postcss/lib/node.js +2 -2
  350. package/node_modules/postcss/lib/processor.js +1 -1
  351. package/node_modules/postcss/lib/warning.js +1 -0
  352. package/node_modules/postcss/package.json +1 -1
  353. package/node_modules/qs/CHANGELOG.md +29 -22
  354. package/node_modules/qs/dist/qs.js +14 -14
  355. package/node_modules/qs/eslint.config.mjs +6 -0
  356. package/node_modules/qs/lib/stringify.js +1 -1
  357. package/node_modules/qs/package.json +5 -5
  358. package/node_modules/qs/test/stringify.js +74 -0
  359. package/node_modules/zod/README.md +34 -24
  360. package/node_modules/zod/compile.cjs +96 -0
  361. package/node_modules/zod/compile.d.cts +1 -0
  362. package/node_modules/zod/compile.d.ts +1 -0
  363. package/node_modules/zod/compile.js +52 -0
  364. package/node_modules/zod/index.cjs +22 -3
  365. package/node_modules/zod/index.d.cts +3 -4
  366. package/node_modules/zod/index.d.ts +3 -4
  367. package/node_modules/zod/index.js +7 -4
  368. package/node_modules/zod/locales/index.cjs +36 -0
  369. package/node_modules/zod/locales/index.d.cts +1 -0
  370. package/node_modules/zod/locales/index.d.ts +1 -0
  371. package/node_modules/zod/locales/index.js +1 -0
  372. package/node_modules/zod/locales/package.json +7 -0
  373. package/node_modules/zod/mini/index.cjs +51 -0
  374. package/node_modules/zod/mini/index.d.cts +3 -0
  375. package/node_modules/zod/mini/index.d.ts +3 -0
  376. package/node_modules/zod/mini/index.js +3 -0
  377. package/node_modules/zod/mini/package.json +7 -0
  378. package/node_modules/zod/package.json +44 -15
  379. package/node_modules/zod/src/compile.ts +56 -0
  380. package/node_modules/zod/src/index.ts +7 -4
  381. package/node_modules/zod/src/locales/index.ts +1 -0
  382. package/node_modules/zod/src/mini/index.ts +3 -0
  383. package/node_modules/zod/src/v3/ZodError.ts +23 -13
  384. package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
  385. package/node_modules/zod/src/v3/tests/all-errors.test.ts +3 -3
  386. package/node_modules/zod/src/v3/tests/complex.test.ts +17 -3
  387. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  388. package/node_modules/zod/src/v3/tests/function.test.ts +7 -3
  389. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  390. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  391. package/node_modules/zod/src/v3/tests/nan.test.ts +5 -2
  392. package/node_modules/zod/src/v3/tests/object.test.ts +10 -13
  393. package/node_modules/zod/src/v3/tests/partials.test.ts +3 -3
  394. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  395. package/node_modules/zod/src/v3/tests/string.test.ts +8 -2
  396. package/node_modules/zod/src/v3/types.ts +8 -6
  397. package/node_modules/zod/src/v4/classic/checks.ts +3 -0
  398. package/node_modules/zod/src/v4/classic/compat.ts +30 -18
  399. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  400. package/node_modules/zod/src/v4/classic/errors.ts +61 -39
  401. package/node_modules/zod/src/v4/classic/external.ts +18 -11
  402. package/node_modules/zod/src/v4/classic/from-json-schema.ts +944 -0
  403. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  404. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  405. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  406. package/node_modules/zod/src/v4/classic/parse.ts +57 -2
  407. package/node_modules/zod/src/v4/classic/schemas.ts +1258 -375
  408. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +86 -0
  409. package/node_modules/zod/src/v4/classic/tests/array.test.ts +35 -8
  410. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +192 -0
  411. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +36 -1
  412. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +43 -0
  413. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +357 -5
  414. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +572 -0
  415. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +704 -0
  416. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +27 -5
  417. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  418. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +985 -0
  419. package/node_modules/zod/src/v4/classic/tests/date.test.ts +67 -6
  420. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +37 -17
  421. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  422. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  423. package/node_modules/zod/src/v4/classic/tests/default.test.ts +142 -0
  424. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  425. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +221 -0
  426. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +333 -10
  427. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +20 -0
  428. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +394 -4
  429. package/node_modules/zod/src/v4/classic/tests/error.test.ts +403 -6
  430. package/node_modules/zod/src/v4/classic/tests/file.test.ts +9 -4
  431. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +4 -0
  432. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  433. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +1467 -0
  434. package/node_modules/zod/src/v4/classic/tests/function.test.ts +160 -37
  435. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +32 -0
  436. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +67 -0
  437. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
  438. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  439. package/node_modules/zod/src/v4/classic/tests/index.test.ts +134 -5
  440. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +319 -0
  441. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +93 -0
  442. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +168 -5
  443. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +215 -0
  444. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +39 -0
  445. package/node_modules/zod/src/v4/classic/tests/json.test.ts +4 -3
  446. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  447. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +37 -1
  448. package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
  449. package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
  450. package/node_modules/zod/src/v4/classic/tests/map.test.ts +153 -0
  451. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +15 -0
  452. package/node_modules/zod/src/v4/classic/tests/number.test.ts +161 -7
  453. package/node_modules/zod/src/v4/classic/tests/object.test.ts +457 -14
  454. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +235 -0
  455. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +255 -12
  456. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +350 -0
  457. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +89 -5
  458. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +25 -5
  459. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +107 -0
  460. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +44 -0
  461. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +74 -21
  462. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +1 -1
  463. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
  464. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +1 -69
  465. package/node_modules/zod/src/v4/classic/tests/record.test.ts +553 -10
  466. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +352 -1
  467. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  468. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +229 -68
  469. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +40 -1
  470. package/node_modules/zod/src/v4/classic/tests/set.test.ts +20 -3
  471. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +96 -0
  472. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +16 -0
  473. package/node_modules/zod/src/v4/classic/tests/string.test.ts +568 -9
  474. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +58 -0
  475. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +70 -16
  476. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  477. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3409 -990
  478. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +128 -0
  479. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +353 -5
  480. package/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -3
  481. package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  482. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +645 -0
  483. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  484. package/node_modules/zod/src/v4/core/api.ts +442 -161
  485. package/node_modules/zod/src/v4/core/checks.ts +134 -151
  486. package/node_modules/zod/src/v4/core/compile.ts +2322 -0
  487. package/node_modules/zod/src/v4/core/core.ts +146 -50
  488. package/node_modules/zod/src/v4/core/doc.ts +18 -10
  489. package/node_modules/zod/src/v4/core/errors.ts +221 -102
  490. package/node_modules/zod/src/v4/core/index.ts +5 -1
  491. package/node_modules/zod/src/v4/core/json-schema-generator.ts +131 -0
  492. package/node_modules/zod/src/v4/core/json-schema-processors.ts +934 -0
  493. package/node_modules/zod/src/v4/core/json-schema.ts +9 -4
  494. package/node_modules/zod/src/v4/core/memoizer.ts +331 -0
  495. package/node_modules/zod/src/v4/core/parse.ts +252 -37
  496. package/node_modules/zod/src/v4/core/regexes.ts +112 -30
  497. package/node_modules/zod/src/v4/core/registries.ts +19 -10
  498. package/node_modules/zod/src/v4/core/schemas.ts +1972 -588
  499. package/node_modules/zod/src/v4/core/standard-schema.ts +114 -19
  500. package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
  501. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +1004 -0
  502. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
  503. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  504. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  505. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  506. package/node_modules/zod/src/v4/core/tests/compile.test.ts +2036 -0
  507. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
  508. package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  509. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +214 -0
  510. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +1 -1
  511. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +180 -0
  512. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
  513. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  514. package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
  515. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  516. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  517. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
  518. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  519. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +2 -2
  520. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
  521. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  522. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
  523. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  524. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  525. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +133 -0
  526. package/node_modules/zod/src/v4/core/to-json-schema.ts +706 -826
  527. package/node_modules/zod/src/v4/core/util.ts +675 -157
  528. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  529. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  530. package/node_modules/zod/src/v4/index.ts +3 -3
  531. package/node_modules/zod/src/v4/locales/ar.ts +22 -27
  532. package/node_modules/zod/src/v4/locales/az.ts +22 -27
  533. package/node_modules/zod/src/v4/locales/be.ts +31 -27
  534. package/node_modules/zod/src/v4/locales/bg.ts +133 -0
  535. package/node_modules/zod/src/v4/locales/bn.ts +123 -0
  536. package/node_modules/zod/src/v4/locales/ca.ts +22 -28
  537. package/node_modules/zod/src/v4/locales/ckb.ts +140 -0
  538. package/node_modules/zod/src/v4/locales/cs.ts +26 -45
  539. package/node_modules/zod/src/v4/locales/da.ts +128 -0
  540. package/node_modules/zod/src/v4/locales/de.ts +24 -27
  541. package/node_modules/zod/src/v4/locales/el.ts +124 -0
  542. package/node_modules/zod/src/v4/locales/en.ts +38 -29
  543. package/node_modules/zod/src/v4/locales/eo.ts +25 -27
  544. package/node_modules/zod/src/v4/locales/es.ts +53 -33
  545. package/node_modules/zod/src/v4/locales/fa.ts +24 -27
  546. package/node_modules/zod/src/v4/locales/fi.ts +22 -27
  547. package/node_modules/zod/src/v4/locales/fr-CA.ts +22 -27
  548. package/node_modules/zod/src/v4/locales/fr.ts +58 -43
  549. package/node_modules/zod/src/v4/locales/gu.ts +123 -0
  550. package/node_modules/zod/src/v4/locales/he.ts +208 -80
  551. package/node_modules/zod/src/v4/locales/hi.ts +126 -0
  552. package/node_modules/zod/src/v4/locales/hr.ts +135 -0
  553. package/node_modules/zod/src/v4/locales/hu.ts +24 -28
  554. package/node_modules/zod/src/v4/locales/hy.ts +175 -0
  555. package/node_modules/zod/src/v4/locales/id.ts +22 -27
  556. package/node_modules/zod/src/v4/locales/index.ts +24 -0
  557. package/node_modules/zod/src/v4/locales/is.ts +124 -0
  558. package/node_modules/zod/src/v4/locales/it.ts +24 -28
  559. package/node_modules/zod/src/v4/locales/ja.ts +24 -27
  560. package/node_modules/zod/src/v4/locales/ka.ts +128 -0
  561. package/node_modules/zod/src/v4/locales/kh.ts +3 -122
  562. package/node_modules/zod/src/v4/locales/km.ts +124 -0
  563. package/node_modules/zod/src/v4/locales/kn.ts +126 -0
  564. package/node_modules/zod/src/v4/locales/ko.ts +22 -27
  565. package/node_modules/zod/src/v4/locales/lt.ts +243 -0
  566. package/node_modules/zod/src/v4/locales/mk.ts +24 -28
  567. package/node_modules/zod/src/v4/locales/ms.ts +23 -27
  568. package/node_modules/zod/src/v4/locales/ne.ts +128 -0
  569. package/node_modules/zod/src/v4/locales/nl.ts +37 -37
  570. package/node_modules/zod/src/v4/locales/nn.ts +121 -0
  571. package/node_modules/zod/src/v4/locales/no.ts +26 -29
  572. package/node_modules/zod/src/v4/locales/ota.ts +25 -28
  573. package/node_modules/zod/src/v4/locales/pl.ts +24 -27
  574. package/node_modules/zod/src/v4/locales/ps.ts +24 -26
  575. package/node_modules/zod/src/v4/locales/pt-BR.ts +161 -0
  576. package/node_modules/zod/src/v4/locales/pt.ts +107 -71
  577. package/node_modules/zod/src/v4/locales/ro.ts +132 -0
  578. package/node_modules/zod/src/v4/locales/ru.ts +31 -27
  579. package/node_modules/zod/src/v4/locales/sk.ts +123 -0
  580. package/node_modules/zod/src/v4/locales/sl.ts +24 -27
  581. package/node_modules/zod/src/v4/locales/sv.ts +26 -29
  582. package/node_modules/zod/src/v4/locales/ta.ts +25 -27
  583. package/node_modules/zod/src/v4/locales/tg.ts +135 -0
  584. package/node_modules/zod/src/v4/locales/th.ts +25 -27
  585. package/node_modules/zod/src/v4/locales/tk.ts +113 -0
  586. package/node_modules/zod/src/v4/locales/tr.ts +22 -27
  587. package/node_modules/zod/src/v4/locales/ua.ts +3 -122
  588. package/node_modules/zod/src/v4/locales/uk.ts +122 -0
  589. package/node_modules/zod/src/v4/locales/ur.ts +25 -27
  590. package/node_modules/zod/src/v4/locales/uz.ts +120 -0
  591. package/node_modules/zod/src/v4/locales/vi.ts +24 -27
  592. package/node_modules/zod/src/v4/locales/yo.ts +129 -0
  593. package/node_modules/zod/src/v4/locales/zh-CN.ts +25 -27
  594. package/node_modules/zod/src/v4/locales/zh-TW.ts +22 -27
  595. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  596. package/node_modules/zod/src/v4/mini/coerce.ts +5 -0
  597. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  598. package/node_modules/zod/src/v4/mini/external.ts +15 -3
  599. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  600. package/node_modules/zod/src/v4/mini/iso.ts +8 -4
  601. package/node_modules/zod/src/v4/mini/parse.ts +16 -1
  602. package/node_modules/zod/src/v4/mini/schemas.ts +586 -114
  603. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +57 -0
  604. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +63 -2
  605. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +43 -0
  606. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  607. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +582 -0
  608. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +12 -18
  609. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  610. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  611. package/node_modules/zod/src/v4/mini/tests/error.test.ts +24 -5
  612. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +7 -36
  613. package/node_modules/zod/src/v4/mini/tests/index.test.ts +281 -6
  614. package/node_modules/zod/src/v4/mini/tests/number.test.ts +15 -1
  615. package/node_modules/zod/src/v4/mini/tests/object.test.ts +116 -9
  616. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +1 -1
  617. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +68 -2
  618. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  619. package/node_modules/zod/src/v4/mini/tests/string.test.ts +98 -1
  620. package/node_modules/zod/src/v4-mini/index.ts +3 -1
  621. package/node_modules/zod/v3/ZodError.cjs +42 -13
  622. package/node_modules/zod/v3/ZodError.d.cts +6 -6
  623. package/node_modules/zod/v3/ZodError.d.ts +6 -6
  624. package/node_modules/zod/v3/ZodError.js +23 -13
  625. package/node_modules/zod/v3/errors.cjs +19 -0
  626. package/node_modules/zod/v3/external.cjs +19 -0
  627. package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
  628. package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
  629. package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
  630. package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
  631. package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
  632. package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
  633. package/node_modules/zod/v3/helpers/util.cjs +19 -0
  634. package/node_modules/zod/v3/index.cjs +19 -0
  635. package/node_modules/zod/v3/locales/en.cjs +1 -0
  636. package/node_modules/zod/v3/locales/en.d.cts +1 -1
  637. package/node_modules/zod/v3/package.json +7 -0
  638. package/node_modules/zod/v3/standard-schema.cjs +19 -0
  639. package/node_modules/zod/v3/types.cjs +28 -5
  640. package/node_modules/zod/v3/types.d.cts +4 -1
  641. package/node_modules/zod/v3/types.d.ts +4 -1
  642. package/node_modules/zod/v3/types.js +9 -5
  643. package/node_modules/zod/v4/classic/checks.cjs +22 -1
  644. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  645. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  646. package/node_modules/zod/v4/classic/checks.js +1 -1
  647. package/node_modules/zod/v4/classic/coerce.cjs +19 -0
  648. package/node_modules/zod/v4/classic/compat.cjs +24 -1
  649. package/node_modules/zod/v4/classic/compat.d.cts +13 -11
  650. package/node_modules/zod/v4/classic/compat.d.ts +13 -11
  651. package/node_modules/zod/v4/classic/compat.js +4 -0
  652. package/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
  653. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  654. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  655. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  656. package/node_modules/zod/v4/classic/errors.cjs +63 -28
  657. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  658. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  659. package/node_modules/zod/v4/classic/errors.js +45 -29
  660. package/node_modules/zod/v4/classic/external.cjs +55 -28
  661. package/node_modules/zod/v4/classic/external.d.cts +8 -2
  662. package/node_modules/zod/v4/classic/external.d.ts +8 -2
  663. package/node_modules/zod/v4/classic/external.js +7 -8
  664. package/node_modules/zod/v4/classic/from-json-schema.cjs +926 -0
  665. package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  666. package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  667. package/node_modules/zod/v4/classic/from-json-schema.js +881 -0
  668. package/node_modules/zod/v4/classic/in-out.cjs +82 -0
  669. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  670. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  671. package/node_modules/zod/v4/classic/in-out.js +36 -0
  672. package/node_modules/zod/v4/classic/index.cjs +21 -2
  673. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  674. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  675. package/node_modules/zod/v4/classic/index.js +2 -2
  676. package/node_modules/zod/v4/classic/iso.cjs +30 -22
  677. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  678. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  679. package/node_modules/zod/v4/classic/iso.js +2 -17
  680. package/node_modules/zod/v4/classic/package.json +7 -0
  681. package/node_modules/zod/v4/classic/parse.cjs +32 -1
  682. package/node_modules/zod/v4/classic/parse.d.cts +21 -0
  683. package/node_modules/zod/v4/classic/parse.d.ts +21 -0
  684. package/node_modules/zod/v4/classic/parse.js +10 -0
  685. package/node_modules/zod/v4/classic/schemas.cjs +805 -238
  686. package/node_modules/zod/v4/classic/schemas.d.cts +241 -55
  687. package/node_modules/zod/v4/classic/schemas.d.ts +241 -55
  688. package/node_modules/zod/v4/classic/schemas.js +766 -237
  689. package/node_modules/zod/v4/core/api.cjs +284 -54
  690. package/node_modules/zod/v4/core/api.d.cts +133 -82
  691. package/node_modules/zod/v4/core/api.d.ts +133 -82
  692. package/node_modules/zod/v4/core/api.js +255 -54
  693. package/node_modules/zod/v4/core/checks.cjs +100 -130
  694. package/node_modules/zod/v4/core/checks.d.cts +32 -16
  695. package/node_modules/zod/v4/core/checks.d.ts +32 -16
  696. package/node_modules/zod/v4/core/checks.js +80 -129
  697. package/node_modules/zod/v4/core/compile.cjs +1916 -0
  698. package/node_modules/zod/v4/core/compile.d.cts +65 -0
  699. package/node_modules/zod/v4/core/compile.d.ts +65 -0
  700. package/node_modules/zod/v4/core/compile.js +1866 -0
  701. package/node_modules/zod/v4/core/core.cjs +120 -20
  702. package/node_modules/zod/v4/core/core.d.cts +40 -7
  703. package/node_modules/zod/v4/core/core.d.ts +40 -7
  704. package/node_modules/zod/v4/core/core.js +101 -21
  705. package/node_modules/zod/v4/core/doc.cjs +31 -9
  706. package/node_modules/zod/v4/core/doc.d.cts +4 -2
  707. package/node_modules/zod/v4/core/doc.d.ts +4 -2
  708. package/node_modules/zod/v4/core/doc.js +12 -9
  709. package/node_modules/zod/v4/core/errors.cjs +151 -60
  710. package/node_modules/zod/v4/core/errors.d.cts +41 -24
  711. package/node_modules/zod/v4/core/errors.d.ts +41 -24
  712. package/node_modules/zod/v4/core/errors.js +132 -60
  713. package/node_modules/zod/v4/core/index.cjs +28 -2
  714. package/node_modules/zod/v4/core/index.d.cts +5 -1
  715. package/node_modules/zod/v4/core/index.d.ts +5 -1
  716. package/node_modules/zod/v4/core/index.js +5 -1
  717. package/node_modules/zod/v4/core/json-schema-generator.cjs +122 -0
  718. package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  719. package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  720. package/node_modules/zod/v4/core/json-schema-generator.js +99 -0
  721. package/node_modules/zod/v4/core/json-schema-processors.cjs +929 -0
  722. package/node_modules/zod/v4/core/json-schema-processors.d.cts +65 -0
  723. package/node_modules/zod/v4/core/json-schema-processors.d.ts +65 -0
  724. package/node_modules/zod/v4/core/json-schema-processors.js +843 -0
  725. package/node_modules/zod/v4/core/json-schema.cjs +19 -0
  726. package/node_modules/zod/v4/core/json-schema.d.cts +6 -4
  727. package/node_modules/zod/v4/core/json-schema.d.ts +6 -4
  728. package/node_modules/zod/v4/core/memoizer.cjs +360 -0
  729. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  730. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  731. package/node_modules/zod/v4/core/memoizer.js +311 -0
  732. package/node_modules/zod/v4/core/package.json +7 -0
  733. package/node_modules/zod/v4/core/parse.cjs +183 -37
  734. package/node_modules/zod/v4/core/parse.d.cts +34 -7
  735. package/node_modules/zod/v4/core/parse.d.ts +34 -7
  736. package/node_modules/zod/v4/core/parse.js +154 -36
  737. package/node_modules/zod/v4/core/regexes.cjs +137 -31
  738. package/node_modules/zod/v4/core/regexes.d.cts +30 -2
  739. package/node_modules/zod/v4/core/regexes.d.ts +30 -2
  740. package/node_modules/zod/v4/core/regexes.js +90 -29
  741. package/node_modules/zod/v4/core/registries.cjs +26 -7
  742. package/node_modules/zod/v4/core/registries.d.cts +2 -2
  743. package/node_modules/zod/v4/core/registries.d.ts +2 -2
  744. package/node_modules/zod/v4/core/registries.js +9 -9
  745. package/node_modules/zod/v4/core/schemas.cjs +1373 -422
  746. package/node_modules/zod/v4/core/schemas.d.cts +276 -42
  747. package/node_modules/zod/v4/core/schemas.d.ts +276 -42
  748. package/node_modules/zod/v4/core/schemas.js +1341 -422
  749. package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
  750. package/node_modules/zod/v4/core/standard-schema.d.cts +90 -19
  751. package/node_modules/zod/v4/core/standard-schema.d.ts +90 -19
  752. package/node_modules/zod/v4/core/to-json-schema.cjs +628 -801
  753. package/node_modules/zod/v4/core/to-json-schema.d.cts +103 -37
  754. package/node_modules/zod/v4/core/to-json-schema.d.ts +103 -37
  755. package/node_modules/zod/v4/core/to-json-schema.js +602 -800
  756. package/node_modules/zod/v4/core/util.cjs +580 -155
  757. package/node_modules/zod/v4/core/util.d.cts +98 -1
  758. package/node_modules/zod/v4/core/util.d.ts +98 -1
  759. package/node_modules/zod/v4/core/util.js +536 -156
  760. package/node_modules/zod/v4/core/versions.cjs +21 -2
  761. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  762. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  763. package/node_modules/zod/v4/core/versions.js +2 -2
  764. package/node_modules/zod/v4/core/visit.cjs +214 -0
  765. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  766. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  767. package/node_modules/zod/v4/core/visit.js +169 -0
  768. package/node_modules/zod/v4/index.cjs +34 -5
  769. package/node_modules/zod/v4/index.d.cts +2 -2
  770. package/node_modules/zod/v4/index.d.ts +2 -2
  771. package/node_modules/zod/v4/index.js +3 -2
  772. package/node_modules/zod/v4/locales/ar.cjs +20 -24
  773. package/node_modules/zod/v4/locales/ar.d.cts +2 -1
  774. package/node_modules/zod/v4/locales/ar.js +19 -24
  775. package/node_modules/zod/v4/locales/az.cjs +20 -24
  776. package/node_modules/zod/v4/locales/az.d.cts +2 -1
  777. package/node_modules/zod/v4/locales/az.js +19 -24
  778. package/node_modules/zod/v4/locales/be.cjs +29 -24
  779. package/node_modules/zod/v4/locales/be.d.cts +2 -1
  780. package/node_modules/zod/v4/locales/be.js +28 -24
  781. package/node_modules/zod/v4/locales/bg.cjs +152 -0
  782. package/node_modules/zod/v4/locales/bg.d.cts +5 -0
  783. package/node_modules/zod/v4/locales/bg.d.ts +4 -0
  784. package/node_modules/zod/v4/locales/bg.js +125 -0
  785. package/node_modules/zod/v4/locales/bn.cjs +140 -0
  786. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  787. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  788. package/node_modules/zod/v4/locales/bn.js +113 -0
  789. package/node_modules/zod/v4/locales/ca.cjs +20 -25
  790. package/node_modules/zod/v4/locales/ca.d.cts +2 -1
  791. package/node_modules/zod/v4/locales/ca.js +19 -25
  792. package/node_modules/zod/v4/locales/ckb.cjs +160 -0
  793. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  794. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  795. package/node_modules/zod/v4/locales/ckb.js +133 -0
  796. package/node_modules/zod/v4/locales/cs.cjs +24 -42
  797. package/node_modules/zod/v4/locales/cs.d.cts +2 -1
  798. package/node_modules/zod/v4/locales/cs.js +23 -42
  799. package/node_modules/zod/v4/locales/da.cjs +147 -0
  800. package/node_modules/zod/v4/locales/da.d.cts +5 -0
  801. package/node_modules/zod/v4/locales/da.d.ts +4 -0
  802. package/node_modules/zod/v4/locales/da.js +120 -0
  803. package/node_modules/zod/v4/locales/de.cjs +22 -24
  804. package/node_modules/zod/v4/locales/de.d.cts +2 -1
  805. package/node_modules/zod/v4/locales/de.js +21 -24
  806. package/node_modules/zod/v4/locales/el.cjs +139 -0
  807. package/node_modules/zod/v4/locales/el.d.cts +5 -0
  808. package/node_modules/zod/v4/locales/el.d.ts +4 -0
  809. package/node_modules/zod/v4/locales/el.js +112 -0
  810. package/node_modules/zod/v4/locales/en.cjs +35 -28
  811. package/node_modules/zod/v4/locales/en.d.cts +2 -2
  812. package/node_modules/zod/v4/locales/en.d.ts +0 -1
  813. package/node_modules/zod/v4/locales/en.js +34 -26
  814. package/node_modules/zod/v4/locales/eo.cjs +23 -26
  815. package/node_modules/zod/v4/locales/eo.d.cts +2 -2
  816. package/node_modules/zod/v4/locales/eo.d.ts +0 -1
  817. package/node_modules/zod/v4/locales/eo.js +22 -24
  818. package/node_modules/zod/v4/locales/es.cjs +51 -31
  819. package/node_modules/zod/v4/locales/es.d.cts +2 -1
  820. package/node_modules/zod/v4/locales/es.js +50 -31
  821. package/node_modules/zod/v4/locales/fa.cjs +22 -24
  822. package/node_modules/zod/v4/locales/fa.d.cts +2 -1
  823. package/node_modules/zod/v4/locales/fa.js +21 -24
  824. package/node_modules/zod/v4/locales/fi.cjs +20 -24
  825. package/node_modules/zod/v4/locales/fi.d.cts +2 -1
  826. package/node_modules/zod/v4/locales/fi.js +19 -24
  827. package/node_modules/zod/v4/locales/fr-CA.cjs +20 -24
  828. package/node_modules/zod/v4/locales/fr-CA.d.cts +2 -1
  829. package/node_modules/zod/v4/locales/fr-CA.js +19 -24
  830. package/node_modules/zod/v4/locales/fr.cjs +53 -39
  831. package/node_modules/zod/v4/locales/fr.d.cts +2 -1
  832. package/node_modules/zod/v4/locales/fr.js +52 -39
  833. package/node_modules/zod/v4/locales/gu.cjs +140 -0
  834. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  835. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  836. package/node_modules/zod/v4/locales/gu.js +113 -0
  837. package/node_modules/zod/v4/locales/he.cjs +183 -78
  838. package/node_modules/zod/v4/locales/he.d.cts +2 -1
  839. package/node_modules/zod/v4/locales/he.js +182 -78
  840. package/node_modules/zod/v4/locales/hi.cjs +138 -0
  841. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  842. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  843. package/node_modules/zod/v4/locales/hi.js +111 -0
  844. package/node_modules/zod/v4/locales/hr.cjs +153 -0
  845. package/node_modules/zod/v4/locales/hr.d.cts +5 -0
  846. package/node_modules/zod/v4/locales/hr.d.ts +4 -0
  847. package/node_modules/zod/v4/locales/hr.js +126 -0
  848. package/node_modules/zod/v4/locales/hu.cjs +22 -25
  849. package/node_modules/zod/v4/locales/hu.d.cts +2 -1
  850. package/node_modules/zod/v4/locales/hu.js +21 -25
  851. package/node_modules/zod/v4/locales/hy.cjs +185 -0
  852. package/node_modules/zod/v4/locales/hy.d.cts +5 -0
  853. package/node_modules/zod/v4/locales/hy.d.ts +4 -0
  854. package/node_modules/zod/v4/locales/hy.js +158 -0
  855. package/node_modules/zod/v4/locales/id.cjs +20 -24
  856. package/node_modules/zod/v4/locales/id.d.cts +2 -1
  857. package/node_modules/zod/v4/locales/id.js +19 -24
  858. package/node_modules/zod/v4/locales/index.cjs +69 -1
  859. package/node_modules/zod/v4/locales/index.d.cts +24 -0
  860. package/node_modules/zod/v4/locales/index.d.ts +24 -0
  861. package/node_modules/zod/v4/locales/index.js +24 -0
  862. package/node_modules/zod/v4/locales/is.cjs +141 -0
  863. package/node_modules/zod/v4/locales/is.d.cts +5 -0
  864. package/node_modules/zod/v4/locales/is.d.ts +4 -0
  865. package/node_modules/zod/v4/locales/is.js +114 -0
  866. package/node_modules/zod/v4/locales/it.cjs +22 -25
  867. package/node_modules/zod/v4/locales/it.d.cts +2 -1
  868. package/node_modules/zod/v4/locales/it.js +21 -25
  869. package/node_modules/zod/v4/locales/ja.cjs +22 -24
  870. package/node_modules/zod/v4/locales/ja.d.cts +2 -1
  871. package/node_modules/zod/v4/locales/ja.js +21 -24
  872. package/node_modules/zod/v4/locales/ka.cjs +144 -0
  873. package/node_modules/zod/v4/locales/ka.d.cts +5 -0
  874. package/node_modules/zod/v4/locales/ka.d.ts +4 -0
  875. package/node_modules/zod/v4/locales/ka.js +117 -0
  876. package/node_modules/zod/v4/locales/kh.cjs +6 -137
  877. package/node_modules/zod/v4/locales/kh.d.cts +2 -1
  878. package/node_modules/zod/v4/locales/kh.d.ts +1 -0
  879. package/node_modules/zod/v4/locales/kh.js +3 -115
  880. package/node_modules/zod/v4/locales/km.cjs +142 -0
  881. package/node_modules/zod/v4/locales/km.d.cts +5 -0
  882. package/node_modules/zod/v4/locales/km.d.ts +4 -0
  883. package/node_modules/zod/v4/locales/km.js +115 -0
  884. package/node_modules/zod/v4/locales/kn.cjs +143 -0
  885. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  886. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  887. package/node_modules/zod/v4/locales/kn.js +116 -0
  888. package/node_modules/zod/v4/locales/ko.cjs +20 -24
  889. package/node_modules/zod/v4/locales/ko.d.cts +2 -1
  890. package/node_modules/zod/v4/locales/ko.js +19 -24
  891. package/node_modules/zod/v4/locales/lt.cjs +234 -0
  892. package/node_modules/zod/v4/locales/lt.d.cts +5 -0
  893. package/node_modules/zod/v4/locales/lt.d.ts +4 -0
  894. package/node_modules/zod/v4/locales/lt.js +207 -0
  895. package/node_modules/zod/v4/locales/mk.cjs +22 -25
  896. package/node_modules/zod/v4/locales/mk.d.cts +2 -1
  897. package/node_modules/zod/v4/locales/mk.js +21 -25
  898. package/node_modules/zod/v4/locales/ms.cjs +21 -24
  899. package/node_modules/zod/v4/locales/ms.d.cts +2 -1
  900. package/node_modules/zod/v4/locales/ms.js +20 -24
  901. package/node_modules/zod/v4/locales/ne.cjs +138 -0
  902. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  903. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  904. package/node_modules/zod/v4/locales/ne.js +111 -0
  905. package/node_modules/zod/v4/locales/nl.cjs +31 -32
  906. package/node_modules/zod/v4/locales/nl.d.cts +2 -1
  907. package/node_modules/zod/v4/locales/nl.js +30 -32
  908. package/node_modules/zod/v4/locales/nn.cjs +140 -0
  909. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  910. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  911. package/node_modules/zod/v4/locales/nn.js +113 -0
  912. package/node_modules/zod/v4/locales/no.cjs +24 -26
  913. package/node_modules/zod/v4/locales/no.d.cts +2 -1
  914. package/node_modules/zod/v4/locales/no.js +23 -26
  915. package/node_modules/zod/v4/locales/ota.cjs +23 -25
  916. package/node_modules/zod/v4/locales/ota.d.cts +2 -1
  917. package/node_modules/zod/v4/locales/ota.js +22 -25
  918. package/node_modules/zod/v4/locales/package.json +7 -0
  919. package/node_modules/zod/v4/locales/pl.cjs +22 -24
  920. package/node_modules/zod/v4/locales/pl.d.cts +2 -1
  921. package/node_modules/zod/v4/locales/pl.js +21 -24
  922. package/node_modules/zod/v4/locales/ps.cjs +22 -24
  923. package/node_modules/zod/v4/locales/ps.d.cts +2 -1
  924. package/node_modules/zod/v4/locales/ps.js +21 -24
  925. package/node_modules/zod/v4/locales/pt-BR.cjs +170 -0
  926. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  927. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  928. package/node_modules/zod/v4/locales/pt-BR.js +143 -0
  929. package/node_modules/zod/v4/locales/pt.cjs +95 -68
  930. package/node_modules/zod/v4/locales/pt.d.cts +2 -1
  931. package/node_modules/zod/v4/locales/pt.js +94 -68
  932. package/node_modules/zod/v4/locales/ro.cjs +149 -0
  933. package/node_modules/zod/v4/locales/ro.d.cts +5 -0
  934. package/node_modules/zod/v4/locales/ro.d.ts +4 -0
  935. package/node_modules/zod/v4/locales/ro.js +122 -0
  936. package/node_modules/zod/v4/locales/ru.cjs +29 -24
  937. package/node_modules/zod/v4/locales/ru.d.cts +2 -1
  938. package/node_modules/zod/v4/locales/ru.js +28 -24
  939. package/node_modules/zod/v4/locales/sk.cjs +143 -0
  940. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  941. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  942. package/node_modules/zod/v4/locales/sk.js +116 -0
  943. package/node_modules/zod/v4/locales/sl.cjs +22 -24
  944. package/node_modules/zod/v4/locales/sl.d.cts +2 -1
  945. package/node_modules/zod/v4/locales/sl.js +21 -24
  946. package/node_modules/zod/v4/locales/sv.cjs +24 -26
  947. package/node_modules/zod/v4/locales/sv.d.cts +2 -1
  948. package/node_modules/zod/v4/locales/sv.js +23 -26
  949. package/node_modules/zod/v4/locales/ta.cjs +23 -24
  950. package/node_modules/zod/v4/locales/ta.d.cts +2 -1
  951. package/node_modules/zod/v4/locales/ta.js +22 -24
  952. package/node_modules/zod/v4/locales/tg.cjs +144 -0
  953. package/node_modules/zod/v4/locales/tg.d.cts +5 -0
  954. package/node_modules/zod/v4/locales/tg.d.ts +4 -0
  955. package/node_modules/zod/v4/locales/tg.js +117 -0
  956. package/node_modules/zod/v4/locales/th.cjs +23 -24
  957. package/node_modules/zod/v4/locales/th.d.cts +2 -1
  958. package/node_modules/zod/v4/locales/th.js +22 -24
  959. package/node_modules/zod/v4/locales/tk.cjs +134 -0
  960. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  961. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  962. package/node_modules/zod/v4/locales/tk.js +107 -0
  963. package/node_modules/zod/v4/locales/tr.cjs +20 -26
  964. package/node_modules/zod/v4/locales/tr.d.cts +2 -2
  965. package/node_modules/zod/v4/locales/tr.d.ts +0 -1
  966. package/node_modules/zod/v4/locales/tr.js +19 -24
  967. package/node_modules/zod/v4/locales/ua.cjs +6 -137
  968. package/node_modules/zod/v4/locales/ua.d.cts +2 -1
  969. package/node_modules/zod/v4/locales/ua.d.ts +1 -0
  970. package/node_modules/zod/v4/locales/ua.js +3 -115
  971. package/node_modules/zod/v4/locales/uk.cjs +140 -0
  972. package/node_modules/zod/v4/locales/uk.d.cts +5 -0
  973. package/node_modules/zod/v4/locales/uk.d.ts +4 -0
  974. package/node_modules/zod/v4/locales/uk.js +113 -0
  975. package/node_modules/zod/v4/locales/ur.cjs +23 -24
  976. package/node_modules/zod/v4/locales/ur.d.cts +2 -1
  977. package/node_modules/zod/v4/locales/ur.js +22 -24
  978. package/node_modules/zod/v4/locales/uz.cjs +140 -0
  979. package/node_modules/zod/v4/locales/uz.d.cts +5 -0
  980. package/node_modules/zod/v4/locales/uz.d.ts +4 -0
  981. package/node_modules/zod/v4/locales/uz.js +113 -0
  982. package/node_modules/zod/v4/locales/vi.cjs +22 -24
  983. package/node_modules/zod/v4/locales/vi.d.cts +2 -1
  984. package/node_modules/zod/v4/locales/vi.js +21 -24
  985. package/node_modules/zod/v4/locales/yo.cjs +139 -0
  986. package/node_modules/zod/v4/locales/yo.d.cts +5 -0
  987. package/node_modules/zod/v4/locales/yo.d.ts +4 -0
  988. package/node_modules/zod/v4/locales/yo.js +112 -0
  989. package/node_modules/zod/v4/locales/zh-CN.cjs +23 -24
  990. package/node_modules/zod/v4/locales/zh-CN.d.cts +2 -1
  991. package/node_modules/zod/v4/locales/zh-CN.js +22 -24
  992. package/node_modules/zod/v4/locales/zh-TW.cjs +20 -24
  993. package/node_modules/zod/v4/locales/zh-TW.d.cts +2 -1
  994. package/node_modules/zod/v4/locales/zh-TW.js +19 -24
  995. package/node_modules/zod/v4/mini/checks.cjs +21 -1
  996. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  997. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  998. package/node_modules/zod/v4/mini/checks.js +1 -1
  999. package/node_modules/zod/v4/mini/coerce.cjs +24 -0
  1000. package/node_modules/zod/v4/mini/coerce.js +5 -0
  1001. package/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
  1002. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  1003. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  1004. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  1005. package/node_modules/zod/v4/mini/external.cjs +36 -3
  1006. package/node_modules/zod/v4/mini/external.d.cts +7 -2
  1007. package/node_modules/zod/v4/mini/external.d.ts +7 -2
  1008. package/node_modules/zod/v4/mini/external.js +4 -1
  1009. package/node_modules/zod/v4/mini/in-out.cjs +82 -0
  1010. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  1011. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  1012. package/node_modules/zod/v4/mini/in-out.js +36 -0
  1013. package/node_modules/zod/v4/mini/index.cjs +19 -0
  1014. package/node_modules/zod/v4/mini/iso.cjs +27 -4
  1015. package/node_modules/zod/v4/mini/iso.js +8 -4
  1016. package/node_modules/zod/v4/mini/package.json +7 -0
  1017. package/node_modules/zod/v4/mini/parse.cjs +30 -1
  1018. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  1019. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  1020. package/node_modules/zod/v4/mini/parse.js +1 -1
  1021. package/node_modules/zod/v4/mini/schemas.cjs +390 -82
  1022. package/node_modules/zod/v4/mini/schemas.d.cts +156 -32
  1023. package/node_modules/zod/v4/mini/schemas.d.ts +156 -32
  1024. package/node_modules/zod/v4/mini/schemas.js +329 -59
  1025. package/node_modules/zod/v4/package.json +7 -0
  1026. package/node_modules/zod/v4-mini/index.cjs +35 -1
  1027. package/node_modules/zod/v4-mini/index.d.cts +3 -1
  1028. package/node_modules/zod/v4-mini/index.d.ts +3 -1
  1029. package/node_modules/zod/v4-mini/index.js +3 -1
  1030. package/node_modules/zod/v4-mini/package.json +7 -0
  1031. package/package.json +4 -4
  1032. package/dist/ui/assets/index-DNNXeRpZ.js +0 -123
  1033. package/dist/ui/assets/index-Osk4E49r.css +0 -1
  1034. package/node_modules/zod/src/v4/core/config.ts +0 -15
  1035. package/node_modules/zod/src/v4/core/function.ts +0 -176
  1036. package/node_modules/zod/v4/core/function.cjs +0 -102
  1037. package/node_modules/zod/v4/core/function.d.cts +0 -52
  1038. package/node_modules/zod/v4/core/function.d.ts +0 -52
  1039. package/node_modules/zod/v4/core/function.js +0 -75
@@ -0,0 +1,881 @@
1
+ import { globalRegistry } from "../core/registries.js";
2
+ import { assignProp, isPlainObject } from "../core/util.js";
3
+ import * as _checks from "./checks.js";
4
+ import * as _iso from "./iso.js";
5
+ import * as _schemas from "./schemas.js";
6
+ // Local z object to avoid circular dependency with ../index.js
7
+ const z = {
8
+ ..._schemas,
9
+ ..._checks,
10
+ iso: _iso,
11
+ };
12
+ // Keys that are recognized and handled by the conversion logic
13
+ const RECOGNIZED_KEYS = /*@__PURE__*/ new Set([
14
+ // Schema identification
15
+ "$schema",
16
+ "$ref",
17
+ "$defs",
18
+ "definitions",
19
+ // Core schema keywords
20
+ "$id",
21
+ "id",
22
+ "$comment",
23
+ "$anchor",
24
+ "$vocabulary",
25
+ "$dynamicRef",
26
+ "$dynamicAnchor",
27
+ // Type
28
+ "type",
29
+ "enum",
30
+ "const",
31
+ // Composition
32
+ "anyOf",
33
+ "oneOf",
34
+ "allOf",
35
+ "not",
36
+ // Object
37
+ "properties",
38
+ "required",
39
+ "additionalProperties",
40
+ "patternProperties",
41
+ "propertyNames",
42
+ "minProperties",
43
+ "maxProperties",
44
+ // Array
45
+ "items",
46
+ "prefixItems",
47
+ "additionalItems",
48
+ "minItems",
49
+ "maxItems",
50
+ "uniqueItems",
51
+ "contains",
52
+ "minContains",
53
+ "maxContains",
54
+ // String
55
+ "minLength",
56
+ "maxLength",
57
+ "pattern",
58
+ "format",
59
+ // Number
60
+ "minimum",
61
+ "maximum",
62
+ "exclusiveMinimum",
63
+ "exclusiveMaximum",
64
+ "multipleOf",
65
+ // Already handled metadata
66
+ "description",
67
+ "default",
68
+ // Content
69
+ "contentEncoding",
70
+ "contentMediaType",
71
+ "contentSchema",
72
+ // Unsupported (error-throwing)
73
+ "unevaluatedItems",
74
+ "unevaluatedProperties",
75
+ "if",
76
+ "then",
77
+ "else",
78
+ "dependentSchemas",
79
+ "dependentRequired",
80
+ // OpenAPI
81
+ "nullable",
82
+ "readOnly",
83
+ ]);
84
+ function detectVersion(schema, defaultTarget) {
85
+ const $schema = schema.$schema;
86
+ if ($schema === "https://json-schema.org/draft/2020-12/schema") {
87
+ return "draft-2020-12";
88
+ }
89
+ if ($schema === "http://json-schema.org/draft-07/schema#") {
90
+ return "draft-7";
91
+ }
92
+ if ($schema === "http://json-schema.org/draft-04/schema#") {
93
+ return "draft-4";
94
+ }
95
+ // Use defaultTarget if provided, otherwise default to draft-2020-12
96
+ return defaultTarget ?? "draft-2020-12";
97
+ }
98
+ // Positional schemas constrain the elements that are present; only minItems makes them required.
99
+ function applyMinItems(items, minItems) {
100
+ return items.map((item, index) => (index < minItems ? item : item.optional()));
101
+ }
102
+ // Inverse of the encoding applied to $ref pointer segments in to-json-schema.ts. Per RFC 6901 the `~1` replacement must run before `~0`.
103
+ function decodeJSONPointerSegment(segment) {
104
+ return segment.replace(/~1/g, "/").replace(/~0/g, "~");
105
+ }
106
+ function resolveRef(ref, ctx) {
107
+ if (!ref.startsWith("#")) {
108
+ throw new Error("External $ref is not supported, only local refs (#/...) are allowed");
109
+ }
110
+ const path = ref.slice(1).split("/").filter(Boolean);
111
+ // Handle root reference "#"
112
+ if (path.length === 0) {
113
+ return ctx.rootSchema;
114
+ }
115
+ const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions";
116
+ if (path[0] === defsKey) {
117
+ const key = path[1] === undefined ? undefined : decodeJSONPointerSegment(path[1]);
118
+ if (!key || !ctx.defs[key]) {
119
+ throw new Error(`Reference not found: ${ref}`);
120
+ }
121
+ return ctx.defs[key];
122
+ }
123
+ throw new Error(`Reference not found: ${ref}`);
124
+ }
125
+ /**
126
+ * Enforces the keywords that constrain an object's own keys — `propertyNames`,
127
+ * `minProperties`, `maxProperties` — before `objectSchema` runs. The guard has
128
+ * to see the raw input: an object parse drops `__proto__` and can add keys from
129
+ * a property `default`, so its output is not the set of names the instance
130
+ * actually carried.
131
+ */
132
+ function checkObjectGuards(objectSchema, guards) {
133
+ // An identity transform, not z.any(), so `toJSONSchema` reports the object on both the input and the output side of the pipe.
134
+ const guard = z
135
+ .transform((value) => value)
136
+ .check((payload) => {
137
+ const value = payload.value;
138
+ if (typeof value !== "object" || value === null || Array.isArray(value))
139
+ return;
140
+ const keys = Object.getOwnPropertyNames(value);
141
+ if (guards.minProperties !== undefined && keys.length < guards.minProperties) {
142
+ payload.issues.push({
143
+ origin: "object",
144
+ code: "too_small",
145
+ minimum: guards.minProperties,
146
+ inclusive: true,
147
+ message: `Too small: expected object to have >=${guards.minProperties} properties`,
148
+ input: value,
149
+ inst: objectSchema,
150
+ continue: true,
151
+ });
152
+ }
153
+ if (guards.maxProperties !== undefined && keys.length > guards.maxProperties) {
154
+ payload.issues.push({
155
+ origin: "object",
156
+ code: "too_big",
157
+ maximum: guards.maxProperties,
158
+ inclusive: true,
159
+ message: `Too big: expected object to have <=${guards.maxProperties} properties`,
160
+ input: value,
161
+ inst: objectSchema,
162
+ continue: true,
163
+ });
164
+ }
165
+ if (guards.keySchema) {
166
+ for (const key of keys) {
167
+ const result = guards.keySchema.safeParse(key);
168
+ if (result.success)
169
+ continue;
170
+ payload.issues.push({
171
+ code: "invalid_key",
172
+ origin: "record",
173
+ issues: result.error.issues,
174
+ input: key,
175
+ path: [key],
176
+ continue: true,
177
+ });
178
+ }
179
+ }
180
+ });
181
+ return guard.pipe(objectSchema);
182
+ }
183
+ /**
184
+ * An injective string for JSON data: two values share a key exactly when `uniqueItems` calls them
185
+ * equal, so duplicate detection is a Map lookup rather than a pairwise walk. Strings and keys are
186
+ * length-prefixed so no value can spell another one. `null` means "never equal to anything" — a
187
+ * cycle or a NaN, neither of which JSON can express.
188
+ */
189
+ function canonicalKey(value, seen) {
190
+ if (value === null)
191
+ return "z";
192
+ const type = typeof value;
193
+ if (type !== "object") {
194
+ if (type === "number" && Number.isNaN(value))
195
+ return null;
196
+ const raw = String(value);
197
+ return `${type[0]}${raw.length}:${raw}`;
198
+ }
199
+ if (seen.has(value))
200
+ return null;
201
+ seen.add(value);
202
+ try {
203
+ if (Array.isArray(value)) {
204
+ const parts = [];
205
+ for (const item of value) {
206
+ const key = canonicalKey(item, seen);
207
+ if (key === null)
208
+ return null;
209
+ parts.push(key);
210
+ }
211
+ return `a${parts.length}:[${parts.join(",")}]`;
212
+ }
213
+ const keys = Object.keys(value).sort();
214
+ const parts = [];
215
+ for (const k of keys) {
216
+ const key = canonicalKey(value[k], seen);
217
+ if (key === null)
218
+ return null;
219
+ parts.push(`${k.length}:${k}=${key}`);
220
+ }
221
+ return `o${parts.length}:{${parts.join(",")}}`;
222
+ }
223
+ finally {
224
+ seen.delete(value);
225
+ }
226
+ }
227
+ // keywords whose value is a schema or an array of them
228
+ const SCHEMA_KEYWORDS = /*@__PURE__*/ new Set([
229
+ "items",
230
+ "prefixItems",
231
+ "additionalItems",
232
+ "additionalProperties",
233
+ "contains",
234
+ "propertyNames",
235
+ "not",
236
+ "if",
237
+ "then",
238
+ "else",
239
+ "allOf",
240
+ "anyOf",
241
+ "oneOf",
242
+ "unevaluatedItems",
243
+ "unevaluatedProperties",
244
+ "contentSchema",
245
+ ]);
246
+ // keywords whose value maps names to schemas. draft-7 `dependencies` also allows an array of property names, which holds no schema to walk
247
+ const SCHEMA_MAP_KEYWORDS = /*@__PURE__*/ new Set([
248
+ "properties",
249
+ "patternProperties",
250
+ "dependentSchemas",
251
+ "dependencies",
252
+ "$defs",
253
+ "definitions",
254
+ ]);
255
+ /**
256
+ * True when a subschema holds a `$ref` anywhere a schema can appear. Only those positions are
257
+ * walked: `$ref` under `default` or an `x-` annotation is instance data with an ordinary key, and
258
+ * reading it as a reference would drop a constraint that resolves perfectly well.
259
+ */
260
+ function containsRef(value) {
261
+ if (typeof value !== "object" || value === null)
262
+ return false;
263
+ if (Array.isArray(value))
264
+ return value.some(containsRef);
265
+ if (typeof value.$ref === "string")
266
+ return true;
267
+ return Object.entries(value).some(([key, sub]) => {
268
+ if (SCHEMA_KEYWORDS.has(key))
269
+ return containsRef(sub);
270
+ if (!SCHEMA_MAP_KEYWORDS.has(key) || typeof sub !== "object" || sub === null)
271
+ return false;
272
+ return Object.values(sub).some(containsRef);
273
+ });
274
+ }
275
+ function plural(n) {
276
+ return n === 1 ? "element" : "elements";
277
+ }
278
+ /**
279
+ * Enforces `uniqueItems` and the `contains` family before `arraySchema` runs, for the same reason
280
+ * `checkObjectGuards` runs pre-pipe: an item parse can apply a nested `default`, so the parsed
281
+ * array is not the instance the keywords are defined over. A guard issue aborts the pipe, so
282
+ * `minItems`/`maxItems` are not also reported on the same parse — instance correctness is worth
283
+ * more than co-reporting two issues.
284
+ */
285
+ function checkArrayGuards(arraySchema, guards) {
286
+ // An identity transform, not z.any(), so `toJSONSchema` reports the array on both the input and the output side of the pipe.
287
+ const guard = z
288
+ .transform((value) => value)
289
+ .check((payload) => {
290
+ const items = payload.value;
291
+ if (!Array.isArray(items))
292
+ return;
293
+ if (guards.uniqueItems === true) {
294
+ const firstSeen = new Map();
295
+ for (let i = 0; i < items.length; i++) {
296
+ const key = canonicalKey(items[i], new Set());
297
+ if (key === null)
298
+ continue;
299
+ const first = firstSeen.get(key);
300
+ if (first === undefined) {
301
+ firstSeen.set(key, i);
302
+ continue;
303
+ }
304
+ payload.issues.push({
305
+ code: "custom",
306
+ message: `Array items must be unique: element at index ${i} duplicates the one at index ${first}`,
307
+ input: items,
308
+ path: [i],
309
+ continue: true,
310
+ });
311
+ }
312
+ }
313
+ if (guards.containsSchema) {
314
+ const minContains = guards.minContains ?? 1;
315
+ // one past the ceiling already proves the failure, and nothing above it changes the verdict
316
+ const ceiling = guards.maxContains !== undefined ? guards.maxContains + 1 : Number.POSITIVE_INFINITY;
317
+ let matches = 0;
318
+ for (const item of items) {
319
+ if (guards.containsSchema.safeParse(item).success && ++matches >= ceiling)
320
+ break;
321
+ }
322
+ if (matches < minContains) {
323
+ // the scan ran to the end, so this count is exact
324
+ payload.issues.push({
325
+ code: "custom",
326
+ message: `Array must contain at least ${minContains} matching ${plural(minContains)}; found ${matches}`,
327
+ input: items,
328
+ continue: true,
329
+ });
330
+ }
331
+ if (guards.maxContains !== undefined && matches > guards.maxContains) {
332
+ payload.issues.push({
333
+ code: "custom",
334
+ message: `Array must contain at most ${guards.maxContains} matching ${plural(guards.maxContains)}`,
335
+ input: items,
336
+ continue: true,
337
+ });
338
+ }
339
+ }
340
+ });
341
+ return guard.pipe(arraySchema);
342
+ }
343
+ function getTupleRest(restSchema, ctx) {
344
+ if (restSchema === false) {
345
+ return undefined;
346
+ }
347
+ if (restSchema === undefined || restSchema === true) {
348
+ return z.any();
349
+ }
350
+ return convertSchema(restSchema, ctx);
351
+ }
352
+ // the RFC 3339 full-time keyword, narrower than `z.iso.time()`; local because sharing it via `timeSource` pins that builder into every bundle (+139 B gzipped on a mini `z.boolean()`)
353
+ const fullTime = /^(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z|[+-](?:[01]\d|2[0-3]):[0-5]\d)$/;
354
+ function convertBaseSchema(schema, ctx) {
355
+ // Handle unsupported features
356
+ if (schema.not !== undefined) {
357
+ // Special case: { not: {} } represents never
358
+ if (typeof schema.not === "object" && Object.keys(schema.not).length === 0) {
359
+ return z.never();
360
+ }
361
+ throw new Error("not is not supported in Zod (except { not: {} } for never)");
362
+ }
363
+ if (schema.unevaluatedItems !== undefined) {
364
+ throw new Error("unevaluatedItems is not supported");
365
+ }
366
+ if (schema.unevaluatedProperties !== undefined) {
367
+ throw new Error("unevaluatedProperties is not supported");
368
+ }
369
+ if (schema.if !== undefined || schema.then !== undefined || schema.else !== undefined) {
370
+ throw new Error("Conditional schemas (if/then/else) are not supported");
371
+ }
372
+ if (schema.dependentSchemas !== undefined || schema.dependentRequired !== undefined) {
373
+ throw new Error("dependentSchemas and dependentRequired are not supported");
374
+ }
375
+ // Handle $ref
376
+ if (schema.$ref) {
377
+ const refPath = schema.$ref;
378
+ if (ctx.refs.has(refPath)) {
379
+ return ctx.refs.get(refPath);
380
+ }
381
+ if (ctx.processing.has(refPath)) {
382
+ // Circular reference - use lazy
383
+ return z.lazy(() => {
384
+ if (!ctx.refs.has(refPath)) {
385
+ throw new Error(`Circular reference not resolved: ${refPath}`);
386
+ }
387
+ return ctx.refs.get(refPath);
388
+ });
389
+ }
390
+ ctx.processing.add(refPath);
391
+ const resolved = resolveRef(refPath, ctx);
392
+ const zodSchema = convertSchema(resolved, ctx);
393
+ ctx.refs.set(refPath, zodSchema);
394
+ ctx.processing.delete(refPath);
395
+ return zodSchema;
396
+ }
397
+ // Handle enum
398
+ if (schema.enum !== undefined) {
399
+ const enumValues = schema.enum;
400
+ // Special case: OpenAPI 3.0 null representation { type: "string", nullable: true, enum: [null] }
401
+ if (ctx.version === "openapi-3.0" &&
402
+ schema.nullable === true &&
403
+ enumValues.length === 1 &&
404
+ enumValues[0] === null) {
405
+ return z.null();
406
+ }
407
+ if (enumValues.length === 0) {
408
+ return z.never();
409
+ }
410
+ if (enumValues.length === 1) {
411
+ return z.literal(enumValues[0]);
412
+ }
413
+ // Check if all values are strings
414
+ if (enumValues.every((v) => typeof v === "string")) {
415
+ return z.enum(enumValues);
416
+ }
417
+ // Mixed types - use union of literals
418
+ const literalSchemas = enumValues.map((v) => z.literal(v));
419
+ if (literalSchemas.length < 2) {
420
+ return literalSchemas[0];
421
+ }
422
+ return z.union([literalSchemas[0], literalSchemas[1], ...literalSchemas.slice(2)]);
423
+ }
424
+ // Handle const
425
+ if (schema.const !== undefined) {
426
+ return z.literal(schema.const);
427
+ }
428
+ // Handle type
429
+ const type = schema.type;
430
+ if (Array.isArray(type)) {
431
+ // Expand type array into anyOf union
432
+ const typeSchemas = type.map((t) => {
433
+ const typeSchema = { ...schema, type: t };
434
+ return convertBaseSchema(typeSchema, ctx);
435
+ });
436
+ if (typeSchemas.length === 0) {
437
+ return z.never();
438
+ }
439
+ if (typeSchemas.length === 1) {
440
+ return typeSchemas[0];
441
+ }
442
+ return z.union(typeSchemas);
443
+ }
444
+ if (!type) {
445
+ // No type specified - empty schema (any)
446
+ return z.any();
447
+ }
448
+ let zodSchema;
449
+ switch (type) {
450
+ case "string": {
451
+ let stringSchema = z.string();
452
+ // Apply format using .check() with Zod format functions
453
+ if (schema.format) {
454
+ const format = schema.format;
455
+ // Map common formats to Zod check functions
456
+ if (format === "email") {
457
+ stringSchema = stringSchema.check(z.email());
458
+ }
459
+ else if (format === "uri" || format === "uri-reference") {
460
+ stringSchema = stringSchema.check(z.url());
461
+ }
462
+ else if (format === "uuid" || format === "guid") {
463
+ stringSchema = stringSchema.check(z.uuid());
464
+ }
465
+ else if (format === "date-time") {
466
+ stringSchema = stringSchema.check(z.iso.datetime({ offset: true }));
467
+ }
468
+ else if (format === "date") {
469
+ stringSchema = stringSchema.check(z.iso.date());
470
+ }
471
+ else if (format === "time") {
472
+ stringSchema = stringSchema.check(z.regex(fullTime));
473
+ }
474
+ else if (format === "duration") {
475
+ stringSchema = stringSchema.check(z.iso.duration());
476
+ }
477
+ else if (format === "hostname") {
478
+ stringSchema = stringSchema.check(z.hostname());
479
+ }
480
+ else if (format === "ipv4") {
481
+ stringSchema = stringSchema.check(z.ipv4());
482
+ }
483
+ else if (format === "ipv6") {
484
+ stringSchema = stringSchema.check(z.ipv6());
485
+ }
486
+ else if (format === "mac") {
487
+ stringSchema = stringSchema.check(z.mac());
488
+ }
489
+ else if (format === "cidr") {
490
+ stringSchema = stringSchema.check(z.cidrv4());
491
+ }
492
+ else if (format === "cidr-v6") {
493
+ stringSchema = stringSchema.check(z.cidrv6());
494
+ }
495
+ else if (format === "base64") {
496
+ stringSchema = stringSchema.check(z.base64());
497
+ }
498
+ else if (format === "base64url") {
499
+ stringSchema = stringSchema.check(z.base64url());
500
+ }
501
+ else if (format === "e164") {
502
+ stringSchema = stringSchema.check(z.e164());
503
+ }
504
+ else if (format === "credit_card") {
505
+ stringSchema = stringSchema.check(z.creditCard());
506
+ }
507
+ else if (format === "iban") {
508
+ stringSchema = stringSchema.check(z.iban());
509
+ }
510
+ else if (format === "jwt") {
511
+ stringSchema = stringSchema.check(z.jwt());
512
+ }
513
+ else if (format === "emoji") {
514
+ stringSchema = stringSchema.check(z.emoji());
515
+ }
516
+ else if (format === "nanoid") {
517
+ stringSchema = stringSchema.check(z.nanoid());
518
+ }
519
+ else if (format === "cuid") {
520
+ stringSchema = stringSchema.check(z.cuid());
521
+ }
522
+ else if (format === "cuid2") {
523
+ stringSchema = stringSchema.check(z.cuid2());
524
+ }
525
+ else if (format === "ulid") {
526
+ stringSchema = stringSchema.check(z.ulid());
527
+ }
528
+ else if (format === "xid") {
529
+ stringSchema = stringSchema.check(z.xid());
530
+ }
531
+ else if (format === "ksuid") {
532
+ stringSchema = stringSchema.check(z.ksuid());
533
+ }
534
+ // Note: json-string format is not currently supported by Zod
535
+ // Custom formats are ignored - keep as plain string
536
+ }
537
+ // Apply constraints
538
+ if (typeof schema.minLength === "number") {
539
+ stringSchema = stringSchema.min(schema.minLength);
540
+ }
541
+ if (typeof schema.maxLength === "number") {
542
+ stringSchema = stringSchema.max(schema.maxLength);
543
+ }
544
+ if (schema.pattern) {
545
+ // JSON Schema patterns are not implicitly anchored (match anywhere in string)
546
+ stringSchema = stringSchema.regex(new RegExp(schema.pattern));
547
+ }
548
+ zodSchema = stringSchema;
549
+ break;
550
+ }
551
+ case "number":
552
+ case "integer": {
553
+ let numberSchema = type === "integer" ? z.number().int() : z.number();
554
+ // Apply constraints
555
+ // In draft-04, `exclusiveMinimum: true` makes the sibling `minimum` exclusive rather than an independent bound, so the inclusive `.min()` is skipped; emitting it too would be dominated by the exclusive check and report a second, weaker issue.
556
+ if (typeof schema.minimum === "number" && schema.exclusiveMinimum !== true) {
557
+ numberSchema = numberSchema.min(schema.minimum);
558
+ }
559
+ if (typeof schema.maximum === "number" && schema.exclusiveMaximum !== true) {
560
+ numberSchema = numberSchema.max(schema.maximum);
561
+ }
562
+ if (typeof schema.exclusiveMinimum === "number") {
563
+ numberSchema = numberSchema.gt(schema.exclusiveMinimum);
564
+ }
565
+ else if (schema.exclusiveMinimum === true && typeof schema.minimum === "number") {
566
+ numberSchema = numberSchema.gt(schema.minimum);
567
+ }
568
+ if (typeof schema.exclusiveMaximum === "number") {
569
+ numberSchema = numberSchema.lt(schema.exclusiveMaximum);
570
+ }
571
+ else if (schema.exclusiveMaximum === true && typeof schema.maximum === "number") {
572
+ numberSchema = numberSchema.lt(schema.maximum);
573
+ }
574
+ if (typeof schema.multipleOf === "number") {
575
+ numberSchema = numberSchema.multipleOf(schema.multipleOf);
576
+ }
577
+ zodSchema = numberSchema;
578
+ break;
579
+ }
580
+ case "boolean": {
581
+ zodSchema = z.boolean();
582
+ break;
583
+ }
584
+ case "null": {
585
+ zodSchema = z.null();
586
+ break;
587
+ }
588
+ case "object": {
589
+ const shape = {};
590
+ const properties = schema.properties || {};
591
+ const requiredSet = new Set(schema.required || []);
592
+ const additionalSchema = typeof schema.additionalProperties === "object"
593
+ ? convertSchema(schema.additionalProperties, ctx)
594
+ : undefined;
595
+ // Convert properties - mark optional ones
596
+ for (const [key, propSchema] of Object.entries(properties)) {
597
+ const propZodSchema = convertSchema(propSchema, ctx);
598
+ // If not in required array, make it optional. assignProp so a __proto__ key becomes an own property instead of hitting the inherited setter
599
+ assignProp(shape, key, requiredSet.has(key) ? propZodSchema : propZodSchema.optional());
600
+ }
601
+ // Handle patternProperties
602
+ if (schema.patternProperties) {
603
+ // patternProperties: keys matching pattern must satisfy corresponding schema. Use loose records so non-matching keys pass through
604
+ const patternProps = schema.patternProperties;
605
+ const patternKeys = Object.keys(patternProps);
606
+ const looseRecords = [];
607
+ for (const pattern of patternKeys) {
608
+ const patternValue = convertSchema(patternProps[pattern], ctx);
609
+ const keySchema = z.string().regex(new RegExp(pattern));
610
+ looseRecords.push(z.looseRecord(keySchema, patternValue));
611
+ }
612
+ // Build intersection: object schema + all pattern property records
613
+ const schemasToIntersect = [];
614
+ if (Object.keys(shape).length > 0) {
615
+ // Use passthrough so patternProperties can validate additional keys
616
+ schemasToIntersect.push(z.object(shape).passthrough());
617
+ }
618
+ schemasToIntersect.push(...looseRecords);
619
+ if (schemasToIntersect.length === 0) {
620
+ zodSchema = z.object({}).passthrough();
621
+ }
622
+ else if (schemasToIntersect.length === 1) {
623
+ zodSchema = schemasToIntersect[0];
624
+ }
625
+ else {
626
+ // Chain intersections: (A & B) & C & D ...
627
+ let result = z.intersection(schemasToIntersect[0], schemasToIntersect[1]);
628
+ for (let i = 2; i < schemasToIntersect.length; i++) {
629
+ result = z.intersection(result, schemasToIntersect[i]);
630
+ }
631
+ zodSchema = result;
632
+ }
633
+ // When additionalProperties is false, reject keys that are neither defined in properties nor matched by any patternProperty.
634
+ if (schema.additionalProperties === false) {
635
+ const propertyKeys = Object.keys(shape);
636
+ const patterns = patternKeys.map((p) => new RegExp(p));
637
+ const basePatternSchema = zodSchema;
638
+ zodSchema = zodSchema.check((payload) => {
639
+ if (!isPlainObject(payload.value))
640
+ return;
641
+ const unrecognized = [];
642
+ for (const key of Object.keys(payload.value)) {
643
+ if (propertyKeys.includes(key))
644
+ continue;
645
+ if (patterns.some((regex) => regex.test(key)))
646
+ continue;
647
+ unrecognized.push(key);
648
+ }
649
+ if (unrecognized.length) {
650
+ payload.issues.push({
651
+ code: "unrecognized_keys",
652
+ keys: unrecognized,
653
+ input: payload.value,
654
+ inst: basePatternSchema,
655
+ });
656
+ }
657
+ });
658
+ }
659
+ }
660
+ else {
661
+ // Handle additionalProperties. In JSON Schema, additionalProperties defaults to true (allow any extra properties). In Zod, objects strip unknown keys by default, so we need to handle this explicitly
662
+ const objectSchema = z.object(shape);
663
+ if (schema.additionalProperties === false) {
664
+ // Strict mode - no extra properties allowed
665
+ zodSchema = objectSchema.strict();
666
+ }
667
+ else if (additionalSchema) {
668
+ // Extra properties must match the specified schema
669
+ zodSchema = objectSchema.catchall(additionalSchema);
670
+ }
671
+ else {
672
+ // additionalProperties is true or undefined - allow any extra properties (passthrough)
673
+ zodSchema = objectSchema.passthrough();
674
+ }
675
+ }
676
+ // propertyNames constrains key *names* only, and says nothing about which keys are required or how their values validate. Layering it on top of the result keeps properties/patternProperties/additionalProperties composing underneath. `true` allows every name, so it needs no guard.
677
+ const hasKeyGuard = schema.propertyNames !== undefined && schema.propertyNames !== true;
678
+ const minProperties = typeof schema.minProperties === "number" ? schema.minProperties : undefined;
679
+ const maxProperties = typeof schema.maxProperties === "number" ? schema.maxProperties : undefined;
680
+ if (hasKeyGuard || minProperties !== undefined || maxProperties !== undefined) {
681
+ let keySchema;
682
+ if (hasKeyGuard) {
683
+ // Keys are always strings, so a propertyNames subschema that omits `type` still constrains them — without this it would convert to z.any().
684
+ const keyJSONSchema = typeof schema.propertyNames === "object" && schema.propertyNames.type === undefined
685
+ ? { type: "string", ...schema.propertyNames }
686
+ : schema.propertyNames;
687
+ keySchema = convertSchema(keyJSONSchema, ctx);
688
+ }
689
+ zodSchema = checkObjectGuards(zodSchema, { keySchema, minProperties, maxProperties });
690
+ }
691
+ break;
692
+ }
693
+ case "array": {
694
+ // Check if this is a tuple (prefixItems or items as array)
695
+ const prefixItems = schema.prefixItems;
696
+ const items = schema.items;
697
+ if (prefixItems && Array.isArray(prefixItems)) {
698
+ // Tuple with prefixItems (draft-2020-12)
699
+ const minItems = typeof schema.minItems === "number" ? schema.minItems : 0;
700
+ const tupleItems = prefixItems.map((item) => convertSchema(item, ctx));
701
+ const positionalItems = applyMinItems(tupleItems, minItems);
702
+ const rest = !Array.isArray(items) ? getTupleRest(items, ctx) : undefined;
703
+ const tupleSchema = z.tuple(positionalItems);
704
+ zodSchema = rest ? tupleSchema.rest(rest) : tupleSchema;
705
+ // Apply minItems/maxItems constraints to tuples
706
+ if (typeof schema.minItems === "number") {
707
+ zodSchema = zodSchema.check(z.minLength(schema.minItems));
708
+ }
709
+ if (typeof schema.maxItems === "number") {
710
+ zodSchema = zodSchema.check(z.maxLength(schema.maxItems));
711
+ }
712
+ }
713
+ else if (Array.isArray(items)) {
714
+ // Tuple with items array (draft-7)
715
+ const minItems = typeof schema.minItems === "number" ? schema.minItems : 0;
716
+ const tupleItems = items.map((item) => convertSchema(item, ctx));
717
+ const positionalItems = applyMinItems(tupleItems, minItems);
718
+ const rest = getTupleRest(schema.additionalItems, ctx);
719
+ const tupleSchema = z.tuple(positionalItems);
720
+ zodSchema = rest ? tupleSchema.rest(rest) : tupleSchema;
721
+ // Apply minItems/maxItems constraints to tuples
722
+ if (typeof schema.minItems === "number") {
723
+ zodSchema = zodSchema.check(z.minLength(schema.minItems));
724
+ }
725
+ if (typeof schema.maxItems === "number") {
726
+ zodSchema = zodSchema.check(z.maxLength(schema.maxItems));
727
+ }
728
+ }
729
+ else if (items !== undefined) {
730
+ // Regular array
731
+ const element = convertSchema(items, ctx);
732
+ let arraySchema = z.array(element);
733
+ // Apply constraints
734
+ if (typeof schema.minItems === "number") {
735
+ arraySchema = arraySchema.min(schema.minItems);
736
+ }
737
+ if (typeof schema.maxItems === "number") {
738
+ arraySchema = arraySchema.max(schema.maxItems);
739
+ }
740
+ zodSchema = arraySchema;
741
+ }
742
+ else {
743
+ // No items specified - array of any
744
+ zodSchema = z.array(z.any());
745
+ }
746
+ // minContains/maxContains only constrain anything when `contains` itself is present
747
+ if (schema.uniqueItems === true || schema.contains !== undefined) {
748
+ zodSchema = checkArrayGuards(zodSchema, {
749
+ uniqueItems: schema.uniqueItems === true,
750
+ containsSchema: schema.contains !== undefined ? convertSchema(schema.contains, ctx) : undefined,
751
+ minContains: typeof schema.minContains === "number" ? schema.minContains : undefined,
752
+ maxContains: typeof schema.maxContains === "number" ? schema.maxContains : undefined,
753
+ });
754
+ }
755
+ break;
756
+ }
757
+ default:
758
+ throw new Error(`Unsupported type: ${type}`);
759
+ }
760
+ return zodSchema;
761
+ }
762
+ function convertSchema(schema, ctx) {
763
+ if (typeof schema === "boolean") {
764
+ return schema ? z.any() : z.never();
765
+ }
766
+ // Convert base schema first (ignoring composition keywords)
767
+ let baseSchema = convertBaseSchema(schema, ctx);
768
+ const hasExplicitType = schema.type || schema.enum !== undefined || schema.const !== undefined;
769
+ // Process composition keywords LAST (they can appear together)
770
+ // Handle anyOf - wrap base schema with union
771
+ if (schema.anyOf && Array.isArray(schema.anyOf)) {
772
+ const options = schema.anyOf.map((s) => convertSchema(s, ctx));
773
+ const anyOfUnion = z.union(options);
774
+ baseSchema = hasExplicitType ? z.intersection(baseSchema, anyOfUnion) : anyOfUnion;
775
+ }
776
+ // Handle oneOf - exclusive union (exactly one must match)
777
+ if (schema.oneOf && Array.isArray(schema.oneOf)) {
778
+ const options = schema.oneOf.map((s) => convertSchema(s, ctx));
779
+ const oneOfUnion = z.xor(options);
780
+ baseSchema = hasExplicitType ? z.intersection(baseSchema, oneOfUnion) : oneOfUnion;
781
+ }
782
+ // Handle allOf - wrap base schema with intersection
783
+ if (schema.allOf && Array.isArray(schema.allOf)) {
784
+ if (schema.allOf.length === 0) {
785
+ baseSchema = hasExplicitType ? baseSchema : z.any();
786
+ }
787
+ else {
788
+ let result = hasExplicitType ? baseSchema : convertSchema(schema.allOf[0], ctx);
789
+ const startIdx = hasExplicitType ? 0 : 1;
790
+ for (let i = startIdx; i < schema.allOf.length; i++) {
791
+ result = z.intersection(result, convertSchema(schema.allOf[i], ctx));
792
+ }
793
+ baseSchema = result;
794
+ }
795
+ }
796
+ // Handle nullable (OpenAPI 3.0)
797
+ if (schema.nullable === true && ctx.version === "openapi-3.0") {
798
+ baseSchema = z.nullable(baseSchema);
799
+ }
800
+ // Handle readOnly
801
+ if (schema.readOnly === true) {
802
+ baseSchema = z.readonly(baseSchema);
803
+ }
804
+ // Apply `default` so it wraps the fully-composed schema. This ensures `parse(undefined) -> default` works regardless of which branch of `convertBaseSchema` produced the inner schema (enum/const/not/typed/etc.).
805
+ if (schema.default !== undefined) {
806
+ baseSchema = baseSchema.default(schema.default);
807
+ }
808
+ // Collect non-description annotation metadata into the user-supplied registry. Description is handled separately below via `.describe()` to preserve the contract that `schema.description` reads from globalRegistry.
809
+ const extraMeta = {};
810
+ const coreMetadataKeys = ["$id", "id", "$comment", "$anchor", "$vocabulary", "$dynamicRef", "$dynamicAnchor"];
811
+ for (const key of coreMetadataKeys) {
812
+ if (key in schema) {
813
+ extraMeta[key] = schema[key];
814
+ }
815
+ }
816
+ const contentMetadataKeys = ["contentEncoding", "contentMediaType", "contentSchema"];
817
+ for (const key of contentMetadataKeys) {
818
+ if (key in schema) {
819
+ extraMeta[key] = schema[key];
820
+ }
821
+ }
822
+ // `propertyNames` and `contains` are enforced by a guard, which `toJSONSchema` cannot infer, so the original keyword is carried as metadata to keep the round-trip lossless. Only where it was actually applied: on any other type it is inert, and on a `$ref` the metadata would land on the target every reference shares. A carried subschema is copied verbatim while the root `$defs` stay behind, so one holding a `$ref` is dropped rather than emitted as a dangling reference.
823
+ if (schema.type === "object" && schema.$ref === undefined) {
824
+ if (schema.propertyNames !== undefined && !containsRef(schema.propertyNames)) {
825
+ extraMeta.propertyNames = schema.propertyNames;
826
+ }
827
+ for (const key of ["minProperties", "maxProperties"]) {
828
+ if (schema[key] !== undefined)
829
+ extraMeta[key] = schema[key];
830
+ }
831
+ }
832
+ if (schema.type === "array" && schema.$ref === undefined) {
833
+ if (schema.contains !== undefined && !containsRef(schema.contains)) {
834
+ extraMeta.contains = schema.contains;
835
+ }
836
+ for (const key of ["uniqueItems", "minContains", "maxContains"]) {
837
+ if (schema[key] !== undefined)
838
+ extraMeta[key] = schema[key];
839
+ }
840
+ }
841
+ for (const key of Object.keys(schema)) {
842
+ if (!RECOGNIZED_KEYS.has(key)) {
843
+ assignProp(extraMeta, key, schema[key]);
844
+ }
845
+ }
846
+ if (Object.keys(extraMeta).length > 0) {
847
+ ctx.registry.add(baseSchema, extraMeta);
848
+ }
849
+ // Apply description last. `.describe()` clones the schema and sets `_zod.parent` on the clone, so registry lookups on the returned reference still resolve `extraMeta` via parent inheritance.
850
+ if (schema.description) {
851
+ baseSchema = baseSchema.describe(schema.description);
852
+ }
853
+ return baseSchema;
854
+ }
855
+ /**
856
+ * Converts a JSON Schema to a Zod schema. This function should be considered semi-experimental. It's behavior is liable to change. */
857
+ export function fromJSONSchema(schema, params) {
858
+ // Handle boolean schemas
859
+ if (typeof schema === "boolean") {
860
+ return schema ? z.any() : z.never();
861
+ }
862
+ // Normalize input via a JSON round-trip. This guarantees the converter walks a plain, finite, JSON-valid object graph: cyclic inputs fail here, getter/Proxy-based properties are materialized into static values, and class instances collapse to plain objects.
863
+ let normalized;
864
+ try {
865
+ normalized = JSON.parse(JSON.stringify(schema));
866
+ }
867
+ catch {
868
+ throw new Error("fromJSONSchema input is not valid JSON (possibly cyclic); use $defs/$ref for recursive schemas");
869
+ }
870
+ const version = detectVersion(normalized, params?.defaultTarget);
871
+ const defs = (normalized.$defs || normalized.definitions || {});
872
+ const ctx = {
873
+ version,
874
+ defs,
875
+ refs: new Map(),
876
+ processing: new Set(),
877
+ rootSchema: normalized,
878
+ registry: params?.registry ?? globalRegistry,
879
+ };
880
+ return convertSchema(normalized, ctx);
881
+ }