@suveren/gateway 0.38.0 → 0.40.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 (764) hide show
  1. package/dist/mcp-server/http.mjs +1 -1
  2. package/dist/ui/assets/index-C-lA_7Lt.js +123 -0
  3. package/dist/ui/assets/index-DM9WXky8.css +1 -0
  4. package/dist/ui/index.html +2 -2
  5. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.d.ts.map +1 -1
  6. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js +10 -0
  7. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/mcp.js.map +1 -1
  8. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts +8 -8
  9. package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/transport.d.ts.map +1 -1
  10. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.d.ts.map +1 -1
  11. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js +10 -0
  12. package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js.map +1 -1
  13. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts +8 -8
  14. package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/transport.d.ts.map +1 -1
  15. package/node_modules/@modelcontextprotocol/sdk/node_modules/body-parser/README.md +17 -13
  16. package/node_modules/@modelcontextprotocol/sdk/node_modules/body-parser/lib/read.js +74 -57
  17. package/node_modules/@modelcontextprotocol/sdk/node_modules/body-parser/lib/types/json.js +11 -11
  18. package/node_modules/@modelcontextprotocol/sdk/node_modules/body-parser/lib/types/urlencoded.js +5 -5
  19. package/node_modules/@modelcontextprotocol/sdk/node_modules/body-parser/lib/utils.js +0 -15
  20. package/node_modules/@modelcontextprotocol/sdk/node_modules/body-parser/package.json +7 -12
  21. package/node_modules/@modelcontextprotocol/sdk/package.json +1 -1
  22. package/node_modules/body-parser/HISTORY.md +7 -2
  23. package/node_modules/body-parser/README.md +3 -3
  24. package/node_modules/body-parser/lib/read.js +26 -8
  25. package/node_modules/body-parser/package.json +1 -1
  26. package/node_modules/follow-redirects/README.md +27 -1
  27. package/node_modules/follow-redirects/index.js +1 -5
  28. package/node_modules/follow-redirects/package.json +1 -1
  29. package/node_modules/hono/README.md +2 -3
  30. package/node_modules/hono/dist/cjs/helper/css/common.js +8 -3
  31. package/node_modules/hono/dist/cjs/helper/css/index.js +1 -1
  32. package/node_modules/hono/dist/cjs/helper/route/index.js +3 -1
  33. package/node_modules/hono/dist/cjs/jsx/base.js +1 -1
  34. package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +8 -0
  35. package/node_modules/hono/dist/cjs/middleware/serve-static/index.js +3 -1
  36. package/node_modules/hono/dist/cjs/router/trie-router/node.js +2 -2
  37. package/node_modules/hono/dist/cjs/utils/url.js +11 -6
  38. package/node_modules/hono/dist/helper/css/common.js +8 -3
  39. package/node_modules/hono/dist/helper/css/index.js +1 -1
  40. package/node_modules/hono/dist/helper/route/index.js +3 -1
  41. package/node_modules/hono/dist/jsx/base.js +1 -1
  42. package/node_modules/hono/dist/middleware/bearer-auth/index.js +8 -0
  43. package/node_modules/hono/dist/middleware/serve-static/index.js +3 -1
  44. package/node_modules/hono/dist/router/trie-router/node.js +2 -2
  45. package/node_modules/hono/dist/types/adapter/aws-lambda/conninfo.d.ts +1 -1
  46. package/node_modules/hono/dist/types/adapter/bun/conninfo.d.ts +1 -1
  47. package/node_modules/hono/dist/types/adapter/bun/ssg.d.ts +1 -1
  48. package/node_modules/hono/dist/types/adapter/cloudflare-pages/conninfo.d.ts +1 -1
  49. package/node_modules/hono/dist/types/adapter/cloudflare-workers/conninfo.d.ts +1 -1
  50. package/node_modules/hono/dist/types/adapter/deno/conninfo.d.ts +1 -1
  51. package/node_modules/hono/dist/types/adapter/deno/ssg.d.ts +1 -1
  52. package/node_modules/hono/dist/types/adapter/lambda-edge/conninfo.d.ts +1 -1
  53. package/node_modules/hono/dist/types/adapter/netlify/conninfo.d.ts +1 -1
  54. package/node_modules/hono/dist/types/adapter/vercel/conninfo.d.ts +1 -1
  55. package/node_modules/hono/dist/types/helper/testing/index.d.ts +2 -1
  56. package/node_modules/hono/dist/types/hono-base.d.ts +21 -9
  57. package/node_modules/hono/dist/types/index.d.ts +1 -1
  58. package/node_modules/hono/dist/types/jsx/components.d.ts +2 -2
  59. package/node_modules/hono/dist/types/jsx/context.d.ts +2 -2
  60. package/node_modules/hono/dist/types/jsx/dom/components.d.ts +2 -2
  61. package/node_modules/hono/dist/types/jsx/dom/css.d.ts +2 -2
  62. package/node_modules/hono/dist/types/jsx/streaming.d.ts +4 -3
  63. package/node_modules/hono/dist/types/middleware/bearer-auth/index.d.ts +2 -1
  64. package/node_modules/hono/dist/types/middleware/ip-restriction/index.d.ts +3 -3
  65. package/node_modules/hono/dist/types/middleware/jsx-renderer/index.d.ts +3 -3
  66. package/node_modules/hono/dist/types/utils/ipaddr.d.ts +1 -1
  67. package/node_modules/hono/dist/utils/url.js +11 -6
  68. package/node_modules/hono/package.json +1 -1
  69. package/node_modules/http-proxy-middleware/dist/handlers/fix-request-body.js +2 -2
  70. package/node_modules/http-proxy-middleware/package.json +1 -1
  71. package/node_modules/ip-address/dist/common.js +2 -2
  72. package/node_modules/ip-address/dist/common.js.map +1 -1
  73. package/node_modules/ip-address/package.json +2 -2
  74. package/node_modules/on-finished/index.js +14 -2
  75. package/node_modules/on-finished/package.json +11 -7
  76. package/node_modules/postcss/lib/input.js +1 -1
  77. package/node_modules/postcss/lib/lazy-result.js +1 -1
  78. package/node_modules/postcss/lib/no-work-result.js +1 -1
  79. package/node_modules/postcss/lib/node.js +2 -2
  80. package/node_modules/postcss/lib/processor.js +1 -1
  81. package/node_modules/postcss/lib/warning.js +1 -0
  82. package/node_modules/postcss/package.json +1 -1
  83. package/node_modules/zod/README.md +34 -24
  84. package/node_modules/zod/compile.cjs +96 -0
  85. package/node_modules/zod/compile.d.cts +1 -0
  86. package/node_modules/zod/compile.d.ts +1 -0
  87. package/node_modules/zod/compile.js +52 -0
  88. package/node_modules/zod/index.cjs +22 -3
  89. package/node_modules/zod/index.d.cts +3 -4
  90. package/node_modules/zod/index.d.ts +3 -4
  91. package/node_modules/zod/index.js +7 -4
  92. package/node_modules/zod/locales/index.cjs +36 -0
  93. package/node_modules/zod/locales/index.d.cts +1 -0
  94. package/node_modules/zod/locales/index.d.ts +1 -0
  95. package/node_modules/zod/locales/index.js +1 -0
  96. package/node_modules/zod/locales/package.json +7 -0
  97. package/node_modules/zod/mini/index.cjs +51 -0
  98. package/node_modules/zod/mini/index.d.cts +3 -0
  99. package/node_modules/zod/mini/index.d.ts +3 -0
  100. package/node_modules/zod/mini/index.js +3 -0
  101. package/node_modules/zod/mini/package.json +7 -0
  102. package/node_modules/zod/package.json +44 -15
  103. package/node_modules/zod/src/compile.ts +56 -0
  104. package/node_modules/zod/src/index.ts +7 -4
  105. package/node_modules/zod/src/locales/index.ts +1 -0
  106. package/node_modules/zod/src/mini/index.ts +3 -0
  107. package/node_modules/zod/src/v3/ZodError.ts +23 -13
  108. package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
  109. package/node_modules/zod/src/v3/tests/all-errors.test.ts +3 -3
  110. package/node_modules/zod/src/v3/tests/complex.test.ts +17 -3
  111. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  112. package/node_modules/zod/src/v3/tests/function.test.ts +7 -3
  113. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  114. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  115. package/node_modules/zod/src/v3/tests/nan.test.ts +5 -2
  116. package/node_modules/zod/src/v3/tests/object.test.ts +10 -13
  117. package/node_modules/zod/src/v3/tests/partials.test.ts +3 -3
  118. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  119. package/node_modules/zod/src/v3/tests/string.test.ts +8 -2
  120. package/node_modules/zod/src/v3/types.ts +8 -6
  121. package/node_modules/zod/src/v4/classic/checks.ts +3 -0
  122. package/node_modules/zod/src/v4/classic/compat.ts +30 -18
  123. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  124. package/node_modules/zod/src/v4/classic/errors.ts +61 -39
  125. package/node_modules/zod/src/v4/classic/external.ts +18 -11
  126. package/node_modules/zod/src/v4/classic/from-json-schema.ts +944 -0
  127. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  128. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  129. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  130. package/node_modules/zod/src/v4/classic/parse.ts +57 -2
  131. package/node_modules/zod/src/v4/classic/schemas.ts +1258 -375
  132. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +86 -0
  133. package/node_modules/zod/src/v4/classic/tests/array.test.ts +35 -8
  134. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +192 -0
  135. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +36 -1
  136. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +43 -0
  137. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +357 -5
  138. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +572 -0
  139. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +704 -0
  140. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +27 -5
  141. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  142. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +985 -0
  143. package/node_modules/zod/src/v4/classic/tests/date.test.ts +67 -6
  144. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +37 -17
  145. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  146. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  147. package/node_modules/zod/src/v4/classic/tests/default.test.ts +142 -0
  148. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  149. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +221 -0
  150. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +333 -10
  151. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +20 -0
  152. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +394 -4
  153. package/node_modules/zod/src/v4/classic/tests/error.test.ts +403 -6
  154. package/node_modules/zod/src/v4/classic/tests/file.test.ts +9 -4
  155. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +4 -0
  156. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  157. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +1467 -0
  158. package/node_modules/zod/src/v4/classic/tests/function.test.ts +160 -37
  159. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +32 -0
  160. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +67 -0
  161. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
  162. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  163. package/node_modules/zod/src/v4/classic/tests/index.test.ts +134 -5
  164. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +319 -0
  165. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +93 -0
  166. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +168 -5
  167. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +215 -0
  168. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +39 -0
  169. package/node_modules/zod/src/v4/classic/tests/json.test.ts +4 -3
  170. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  171. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +37 -1
  172. package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
  173. package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
  174. package/node_modules/zod/src/v4/classic/tests/map.test.ts +153 -0
  175. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +15 -0
  176. package/node_modules/zod/src/v4/classic/tests/number.test.ts +161 -7
  177. package/node_modules/zod/src/v4/classic/tests/object.test.ts +457 -14
  178. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +235 -0
  179. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +255 -12
  180. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +350 -0
  181. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +89 -5
  182. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +25 -5
  183. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +107 -0
  184. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +44 -0
  185. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +74 -21
  186. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +1 -1
  187. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
  188. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +1 -69
  189. package/node_modules/zod/src/v4/classic/tests/record.test.ts +553 -10
  190. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +352 -1
  191. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  192. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +229 -68
  193. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +40 -1
  194. package/node_modules/zod/src/v4/classic/tests/set.test.ts +20 -3
  195. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +96 -0
  196. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +16 -0
  197. package/node_modules/zod/src/v4/classic/tests/string.test.ts +568 -9
  198. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +58 -0
  199. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +70 -16
  200. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  201. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3409 -990
  202. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +128 -0
  203. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +353 -5
  204. package/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -3
  205. package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  206. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +645 -0
  207. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  208. package/node_modules/zod/src/v4/core/api.ts +442 -161
  209. package/node_modules/zod/src/v4/core/checks.ts +134 -151
  210. package/node_modules/zod/src/v4/core/compile.ts +2322 -0
  211. package/node_modules/zod/src/v4/core/core.ts +146 -50
  212. package/node_modules/zod/src/v4/core/doc.ts +18 -10
  213. package/node_modules/zod/src/v4/core/errors.ts +221 -102
  214. package/node_modules/zod/src/v4/core/index.ts +5 -1
  215. package/node_modules/zod/src/v4/core/json-schema-generator.ts +131 -0
  216. package/node_modules/zod/src/v4/core/json-schema-processors.ts +934 -0
  217. package/node_modules/zod/src/v4/core/json-schema.ts +9 -4
  218. package/node_modules/zod/src/v4/core/memoizer.ts +331 -0
  219. package/node_modules/zod/src/v4/core/parse.ts +252 -37
  220. package/node_modules/zod/src/v4/core/regexes.ts +112 -30
  221. package/node_modules/zod/src/v4/core/registries.ts +19 -10
  222. package/node_modules/zod/src/v4/core/schemas.ts +1972 -588
  223. package/node_modules/zod/src/v4/core/standard-schema.ts +114 -19
  224. package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
  225. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +1004 -0
  226. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
  227. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  228. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  229. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  230. package/node_modules/zod/src/v4/core/tests/compile.test.ts +2036 -0
  231. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
  232. package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  233. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +214 -0
  234. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +1 -1
  235. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +180 -0
  236. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
  237. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  238. package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
  239. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  240. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  241. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
  242. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  243. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +2 -2
  244. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
  245. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  246. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
  247. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  248. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  249. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +133 -0
  250. package/node_modules/zod/src/v4/core/to-json-schema.ts +706 -826
  251. package/node_modules/zod/src/v4/core/util.ts +675 -157
  252. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  253. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  254. package/node_modules/zod/src/v4/index.ts +3 -3
  255. package/node_modules/zod/src/v4/locales/ar.ts +22 -27
  256. package/node_modules/zod/src/v4/locales/az.ts +22 -27
  257. package/node_modules/zod/src/v4/locales/be.ts +31 -27
  258. package/node_modules/zod/src/v4/locales/bg.ts +133 -0
  259. package/node_modules/zod/src/v4/locales/bn.ts +123 -0
  260. package/node_modules/zod/src/v4/locales/ca.ts +22 -28
  261. package/node_modules/zod/src/v4/locales/ckb.ts +140 -0
  262. package/node_modules/zod/src/v4/locales/cs.ts +26 -45
  263. package/node_modules/zod/src/v4/locales/da.ts +128 -0
  264. package/node_modules/zod/src/v4/locales/de.ts +24 -27
  265. package/node_modules/zod/src/v4/locales/el.ts +124 -0
  266. package/node_modules/zod/src/v4/locales/en.ts +38 -29
  267. package/node_modules/zod/src/v4/locales/eo.ts +25 -27
  268. package/node_modules/zod/src/v4/locales/es.ts +53 -33
  269. package/node_modules/zod/src/v4/locales/fa.ts +24 -27
  270. package/node_modules/zod/src/v4/locales/fi.ts +22 -27
  271. package/node_modules/zod/src/v4/locales/fr-CA.ts +22 -27
  272. package/node_modules/zod/src/v4/locales/fr.ts +58 -43
  273. package/node_modules/zod/src/v4/locales/gu.ts +123 -0
  274. package/node_modules/zod/src/v4/locales/he.ts +208 -80
  275. package/node_modules/zod/src/v4/locales/hi.ts +126 -0
  276. package/node_modules/zod/src/v4/locales/hr.ts +135 -0
  277. package/node_modules/zod/src/v4/locales/hu.ts +24 -28
  278. package/node_modules/zod/src/v4/locales/hy.ts +175 -0
  279. package/node_modules/zod/src/v4/locales/id.ts +22 -27
  280. package/node_modules/zod/src/v4/locales/index.ts +24 -0
  281. package/node_modules/zod/src/v4/locales/is.ts +124 -0
  282. package/node_modules/zod/src/v4/locales/it.ts +24 -28
  283. package/node_modules/zod/src/v4/locales/ja.ts +24 -27
  284. package/node_modules/zod/src/v4/locales/ka.ts +128 -0
  285. package/node_modules/zod/src/v4/locales/kh.ts +3 -122
  286. package/node_modules/zod/src/v4/locales/km.ts +124 -0
  287. package/node_modules/zod/src/v4/locales/kn.ts +126 -0
  288. package/node_modules/zod/src/v4/locales/ko.ts +22 -27
  289. package/node_modules/zod/src/v4/locales/lt.ts +243 -0
  290. package/node_modules/zod/src/v4/locales/mk.ts +24 -28
  291. package/node_modules/zod/src/v4/locales/ms.ts +23 -27
  292. package/node_modules/zod/src/v4/locales/ne.ts +128 -0
  293. package/node_modules/zod/src/v4/locales/nl.ts +37 -37
  294. package/node_modules/zod/src/v4/locales/nn.ts +121 -0
  295. package/node_modules/zod/src/v4/locales/no.ts +26 -29
  296. package/node_modules/zod/src/v4/locales/ota.ts +25 -28
  297. package/node_modules/zod/src/v4/locales/pl.ts +24 -27
  298. package/node_modules/zod/src/v4/locales/ps.ts +24 -26
  299. package/node_modules/zod/src/v4/locales/pt-BR.ts +161 -0
  300. package/node_modules/zod/src/v4/locales/pt.ts +107 -71
  301. package/node_modules/zod/src/v4/locales/ro.ts +132 -0
  302. package/node_modules/zod/src/v4/locales/ru.ts +31 -27
  303. package/node_modules/zod/src/v4/locales/sk.ts +123 -0
  304. package/node_modules/zod/src/v4/locales/sl.ts +24 -27
  305. package/node_modules/zod/src/v4/locales/sv.ts +26 -29
  306. package/node_modules/zod/src/v4/locales/ta.ts +25 -27
  307. package/node_modules/zod/src/v4/locales/tg.ts +135 -0
  308. package/node_modules/zod/src/v4/locales/th.ts +25 -27
  309. package/node_modules/zod/src/v4/locales/tk.ts +113 -0
  310. package/node_modules/zod/src/v4/locales/tr.ts +22 -27
  311. package/node_modules/zod/src/v4/locales/ua.ts +3 -122
  312. package/node_modules/zod/src/v4/locales/uk.ts +122 -0
  313. package/node_modules/zod/src/v4/locales/ur.ts +25 -27
  314. package/node_modules/zod/src/v4/locales/uz.ts +120 -0
  315. package/node_modules/zod/src/v4/locales/vi.ts +24 -27
  316. package/node_modules/zod/src/v4/locales/yo.ts +129 -0
  317. package/node_modules/zod/src/v4/locales/zh-CN.ts +25 -27
  318. package/node_modules/zod/src/v4/locales/zh-TW.ts +22 -27
  319. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  320. package/node_modules/zod/src/v4/mini/coerce.ts +5 -0
  321. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  322. package/node_modules/zod/src/v4/mini/external.ts +15 -3
  323. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  324. package/node_modules/zod/src/v4/mini/iso.ts +8 -4
  325. package/node_modules/zod/src/v4/mini/parse.ts +16 -1
  326. package/node_modules/zod/src/v4/mini/schemas.ts +586 -114
  327. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +57 -0
  328. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +63 -2
  329. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +43 -0
  330. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  331. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +582 -0
  332. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +12 -18
  333. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  334. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  335. package/node_modules/zod/src/v4/mini/tests/error.test.ts +24 -5
  336. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +7 -36
  337. package/node_modules/zod/src/v4/mini/tests/index.test.ts +281 -6
  338. package/node_modules/zod/src/v4/mini/tests/number.test.ts +15 -1
  339. package/node_modules/zod/src/v4/mini/tests/object.test.ts +116 -9
  340. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +1 -1
  341. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +68 -2
  342. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  343. package/node_modules/zod/src/v4/mini/tests/string.test.ts +98 -1
  344. package/node_modules/zod/src/v4-mini/index.ts +3 -1
  345. package/node_modules/zod/v3/ZodError.cjs +42 -13
  346. package/node_modules/zod/v3/ZodError.d.cts +6 -6
  347. package/node_modules/zod/v3/ZodError.d.ts +6 -6
  348. package/node_modules/zod/v3/ZodError.js +23 -13
  349. package/node_modules/zod/v3/errors.cjs +19 -0
  350. package/node_modules/zod/v3/external.cjs +19 -0
  351. package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
  352. package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
  353. package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
  354. package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
  355. package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
  356. package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
  357. package/node_modules/zod/v3/helpers/util.cjs +19 -0
  358. package/node_modules/zod/v3/index.cjs +19 -0
  359. package/node_modules/zod/v3/locales/en.cjs +1 -0
  360. package/node_modules/zod/v3/locales/en.d.cts +1 -1
  361. package/node_modules/zod/v3/package.json +7 -0
  362. package/node_modules/zod/v3/standard-schema.cjs +19 -0
  363. package/node_modules/zod/v3/types.cjs +28 -5
  364. package/node_modules/zod/v3/types.d.cts +4 -1
  365. package/node_modules/zod/v3/types.d.ts +4 -1
  366. package/node_modules/zod/v3/types.js +9 -5
  367. package/node_modules/zod/v4/classic/checks.cjs +22 -1
  368. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  369. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  370. package/node_modules/zod/v4/classic/checks.js +1 -1
  371. package/node_modules/zod/v4/classic/coerce.cjs +19 -0
  372. package/node_modules/zod/v4/classic/compat.cjs +24 -1
  373. package/node_modules/zod/v4/classic/compat.d.cts +13 -11
  374. package/node_modules/zod/v4/classic/compat.d.ts +13 -11
  375. package/node_modules/zod/v4/classic/compat.js +4 -0
  376. package/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
  377. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  378. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  379. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  380. package/node_modules/zod/v4/classic/errors.cjs +63 -28
  381. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  382. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  383. package/node_modules/zod/v4/classic/errors.js +45 -29
  384. package/node_modules/zod/v4/classic/external.cjs +55 -28
  385. package/node_modules/zod/v4/classic/external.d.cts +8 -2
  386. package/node_modules/zod/v4/classic/external.d.ts +8 -2
  387. package/node_modules/zod/v4/classic/external.js +7 -8
  388. package/node_modules/zod/v4/classic/from-json-schema.cjs +926 -0
  389. package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  390. package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  391. package/node_modules/zod/v4/classic/from-json-schema.js +881 -0
  392. package/node_modules/zod/v4/classic/in-out.cjs +82 -0
  393. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  394. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  395. package/node_modules/zod/v4/classic/in-out.js +36 -0
  396. package/node_modules/zod/v4/classic/index.cjs +21 -2
  397. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  398. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  399. package/node_modules/zod/v4/classic/index.js +2 -2
  400. package/node_modules/zod/v4/classic/iso.cjs +30 -22
  401. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  402. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  403. package/node_modules/zod/v4/classic/iso.js +2 -17
  404. package/node_modules/zod/v4/classic/package.json +7 -0
  405. package/node_modules/zod/v4/classic/parse.cjs +32 -1
  406. package/node_modules/zod/v4/classic/parse.d.cts +21 -0
  407. package/node_modules/zod/v4/classic/parse.d.ts +21 -0
  408. package/node_modules/zod/v4/classic/parse.js +10 -0
  409. package/node_modules/zod/v4/classic/schemas.cjs +805 -238
  410. package/node_modules/zod/v4/classic/schemas.d.cts +241 -55
  411. package/node_modules/zod/v4/classic/schemas.d.ts +241 -55
  412. package/node_modules/zod/v4/classic/schemas.js +766 -237
  413. package/node_modules/zod/v4/core/api.cjs +284 -54
  414. package/node_modules/zod/v4/core/api.d.cts +133 -82
  415. package/node_modules/zod/v4/core/api.d.ts +133 -82
  416. package/node_modules/zod/v4/core/api.js +255 -54
  417. package/node_modules/zod/v4/core/checks.cjs +100 -130
  418. package/node_modules/zod/v4/core/checks.d.cts +32 -16
  419. package/node_modules/zod/v4/core/checks.d.ts +32 -16
  420. package/node_modules/zod/v4/core/checks.js +80 -129
  421. package/node_modules/zod/v4/core/compile.cjs +1916 -0
  422. package/node_modules/zod/v4/core/compile.d.cts +65 -0
  423. package/node_modules/zod/v4/core/compile.d.ts +65 -0
  424. package/node_modules/zod/v4/core/compile.js +1866 -0
  425. package/node_modules/zod/v4/core/core.cjs +120 -20
  426. package/node_modules/zod/v4/core/core.d.cts +40 -7
  427. package/node_modules/zod/v4/core/core.d.ts +40 -7
  428. package/node_modules/zod/v4/core/core.js +101 -21
  429. package/node_modules/zod/v4/core/doc.cjs +31 -9
  430. package/node_modules/zod/v4/core/doc.d.cts +4 -2
  431. package/node_modules/zod/v4/core/doc.d.ts +4 -2
  432. package/node_modules/zod/v4/core/doc.js +12 -9
  433. package/node_modules/zod/v4/core/errors.cjs +151 -60
  434. package/node_modules/zod/v4/core/errors.d.cts +41 -24
  435. package/node_modules/zod/v4/core/errors.d.ts +41 -24
  436. package/node_modules/zod/v4/core/errors.js +132 -60
  437. package/node_modules/zod/v4/core/index.cjs +28 -2
  438. package/node_modules/zod/v4/core/index.d.cts +5 -1
  439. package/node_modules/zod/v4/core/index.d.ts +5 -1
  440. package/node_modules/zod/v4/core/index.js +5 -1
  441. package/node_modules/zod/v4/core/json-schema-generator.cjs +122 -0
  442. package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  443. package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  444. package/node_modules/zod/v4/core/json-schema-generator.js +99 -0
  445. package/node_modules/zod/v4/core/json-schema-processors.cjs +929 -0
  446. package/node_modules/zod/v4/core/json-schema-processors.d.cts +65 -0
  447. package/node_modules/zod/v4/core/json-schema-processors.d.ts +65 -0
  448. package/node_modules/zod/v4/core/json-schema-processors.js +843 -0
  449. package/node_modules/zod/v4/core/json-schema.cjs +19 -0
  450. package/node_modules/zod/v4/core/json-schema.d.cts +6 -4
  451. package/node_modules/zod/v4/core/json-schema.d.ts +6 -4
  452. package/node_modules/zod/v4/core/memoizer.cjs +360 -0
  453. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  454. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  455. package/node_modules/zod/v4/core/memoizer.js +311 -0
  456. package/node_modules/zod/v4/core/package.json +7 -0
  457. package/node_modules/zod/v4/core/parse.cjs +183 -37
  458. package/node_modules/zod/v4/core/parse.d.cts +34 -7
  459. package/node_modules/zod/v4/core/parse.d.ts +34 -7
  460. package/node_modules/zod/v4/core/parse.js +154 -36
  461. package/node_modules/zod/v4/core/regexes.cjs +137 -31
  462. package/node_modules/zod/v4/core/regexes.d.cts +30 -2
  463. package/node_modules/zod/v4/core/regexes.d.ts +30 -2
  464. package/node_modules/zod/v4/core/regexes.js +90 -29
  465. package/node_modules/zod/v4/core/registries.cjs +26 -7
  466. package/node_modules/zod/v4/core/registries.d.cts +2 -2
  467. package/node_modules/zod/v4/core/registries.d.ts +2 -2
  468. package/node_modules/zod/v4/core/registries.js +9 -9
  469. package/node_modules/zod/v4/core/schemas.cjs +1373 -422
  470. package/node_modules/zod/v4/core/schemas.d.cts +276 -42
  471. package/node_modules/zod/v4/core/schemas.d.ts +276 -42
  472. package/node_modules/zod/v4/core/schemas.js +1341 -422
  473. package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
  474. package/node_modules/zod/v4/core/standard-schema.d.cts +90 -19
  475. package/node_modules/zod/v4/core/standard-schema.d.ts +90 -19
  476. package/node_modules/zod/v4/core/to-json-schema.cjs +628 -801
  477. package/node_modules/zod/v4/core/to-json-schema.d.cts +103 -37
  478. package/node_modules/zod/v4/core/to-json-schema.d.ts +103 -37
  479. package/node_modules/zod/v4/core/to-json-schema.js +602 -800
  480. package/node_modules/zod/v4/core/util.cjs +580 -155
  481. package/node_modules/zod/v4/core/util.d.cts +98 -1
  482. package/node_modules/zod/v4/core/util.d.ts +98 -1
  483. package/node_modules/zod/v4/core/util.js +536 -156
  484. package/node_modules/zod/v4/core/versions.cjs +21 -2
  485. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  486. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  487. package/node_modules/zod/v4/core/versions.js +2 -2
  488. package/node_modules/zod/v4/core/visit.cjs +214 -0
  489. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  490. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  491. package/node_modules/zod/v4/core/visit.js +169 -0
  492. package/node_modules/zod/v4/index.cjs +34 -5
  493. package/node_modules/zod/v4/index.d.cts +2 -2
  494. package/node_modules/zod/v4/index.d.ts +2 -2
  495. package/node_modules/zod/v4/index.js +3 -2
  496. package/node_modules/zod/v4/locales/ar.cjs +20 -24
  497. package/node_modules/zod/v4/locales/ar.d.cts +2 -1
  498. package/node_modules/zod/v4/locales/ar.js +19 -24
  499. package/node_modules/zod/v4/locales/az.cjs +20 -24
  500. package/node_modules/zod/v4/locales/az.d.cts +2 -1
  501. package/node_modules/zod/v4/locales/az.js +19 -24
  502. package/node_modules/zod/v4/locales/be.cjs +29 -24
  503. package/node_modules/zod/v4/locales/be.d.cts +2 -1
  504. package/node_modules/zod/v4/locales/be.js +28 -24
  505. package/node_modules/zod/v4/locales/bg.cjs +152 -0
  506. package/node_modules/zod/v4/locales/bg.d.cts +5 -0
  507. package/node_modules/zod/v4/locales/bg.d.ts +4 -0
  508. package/node_modules/zod/v4/locales/bg.js +125 -0
  509. package/node_modules/zod/v4/locales/bn.cjs +140 -0
  510. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  511. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  512. package/node_modules/zod/v4/locales/bn.js +113 -0
  513. package/node_modules/zod/v4/locales/ca.cjs +20 -25
  514. package/node_modules/zod/v4/locales/ca.d.cts +2 -1
  515. package/node_modules/zod/v4/locales/ca.js +19 -25
  516. package/node_modules/zod/v4/locales/ckb.cjs +160 -0
  517. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  518. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  519. package/node_modules/zod/v4/locales/ckb.js +133 -0
  520. package/node_modules/zod/v4/locales/cs.cjs +24 -42
  521. package/node_modules/zod/v4/locales/cs.d.cts +2 -1
  522. package/node_modules/zod/v4/locales/cs.js +23 -42
  523. package/node_modules/zod/v4/locales/da.cjs +147 -0
  524. package/node_modules/zod/v4/locales/da.d.cts +5 -0
  525. package/node_modules/zod/v4/locales/da.d.ts +4 -0
  526. package/node_modules/zod/v4/locales/da.js +120 -0
  527. package/node_modules/zod/v4/locales/de.cjs +22 -24
  528. package/node_modules/zod/v4/locales/de.d.cts +2 -1
  529. package/node_modules/zod/v4/locales/de.js +21 -24
  530. package/node_modules/zod/v4/locales/el.cjs +139 -0
  531. package/node_modules/zod/v4/locales/el.d.cts +5 -0
  532. package/node_modules/zod/v4/locales/el.d.ts +4 -0
  533. package/node_modules/zod/v4/locales/el.js +112 -0
  534. package/node_modules/zod/v4/locales/en.cjs +35 -28
  535. package/node_modules/zod/v4/locales/en.d.cts +2 -2
  536. package/node_modules/zod/v4/locales/en.d.ts +0 -1
  537. package/node_modules/zod/v4/locales/en.js +34 -26
  538. package/node_modules/zod/v4/locales/eo.cjs +23 -26
  539. package/node_modules/zod/v4/locales/eo.d.cts +2 -2
  540. package/node_modules/zod/v4/locales/eo.d.ts +0 -1
  541. package/node_modules/zod/v4/locales/eo.js +22 -24
  542. package/node_modules/zod/v4/locales/es.cjs +51 -31
  543. package/node_modules/zod/v4/locales/es.d.cts +2 -1
  544. package/node_modules/zod/v4/locales/es.js +50 -31
  545. package/node_modules/zod/v4/locales/fa.cjs +22 -24
  546. package/node_modules/zod/v4/locales/fa.d.cts +2 -1
  547. package/node_modules/zod/v4/locales/fa.js +21 -24
  548. package/node_modules/zod/v4/locales/fi.cjs +20 -24
  549. package/node_modules/zod/v4/locales/fi.d.cts +2 -1
  550. package/node_modules/zod/v4/locales/fi.js +19 -24
  551. package/node_modules/zod/v4/locales/fr-CA.cjs +20 -24
  552. package/node_modules/zod/v4/locales/fr-CA.d.cts +2 -1
  553. package/node_modules/zod/v4/locales/fr-CA.js +19 -24
  554. package/node_modules/zod/v4/locales/fr.cjs +53 -39
  555. package/node_modules/zod/v4/locales/fr.d.cts +2 -1
  556. package/node_modules/zod/v4/locales/fr.js +52 -39
  557. package/node_modules/zod/v4/locales/gu.cjs +140 -0
  558. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  559. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  560. package/node_modules/zod/v4/locales/gu.js +113 -0
  561. package/node_modules/zod/v4/locales/he.cjs +183 -78
  562. package/node_modules/zod/v4/locales/he.d.cts +2 -1
  563. package/node_modules/zod/v4/locales/he.js +182 -78
  564. package/node_modules/zod/v4/locales/hi.cjs +138 -0
  565. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  566. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  567. package/node_modules/zod/v4/locales/hi.js +111 -0
  568. package/node_modules/zod/v4/locales/hr.cjs +153 -0
  569. package/node_modules/zod/v4/locales/hr.d.cts +5 -0
  570. package/node_modules/zod/v4/locales/hr.d.ts +4 -0
  571. package/node_modules/zod/v4/locales/hr.js +126 -0
  572. package/node_modules/zod/v4/locales/hu.cjs +22 -25
  573. package/node_modules/zod/v4/locales/hu.d.cts +2 -1
  574. package/node_modules/zod/v4/locales/hu.js +21 -25
  575. package/node_modules/zod/v4/locales/hy.cjs +185 -0
  576. package/node_modules/zod/v4/locales/hy.d.cts +5 -0
  577. package/node_modules/zod/v4/locales/hy.d.ts +4 -0
  578. package/node_modules/zod/v4/locales/hy.js +158 -0
  579. package/node_modules/zod/v4/locales/id.cjs +20 -24
  580. package/node_modules/zod/v4/locales/id.d.cts +2 -1
  581. package/node_modules/zod/v4/locales/id.js +19 -24
  582. package/node_modules/zod/v4/locales/index.cjs +69 -1
  583. package/node_modules/zod/v4/locales/index.d.cts +24 -0
  584. package/node_modules/zod/v4/locales/index.d.ts +24 -0
  585. package/node_modules/zod/v4/locales/index.js +24 -0
  586. package/node_modules/zod/v4/locales/is.cjs +141 -0
  587. package/node_modules/zod/v4/locales/is.d.cts +5 -0
  588. package/node_modules/zod/v4/locales/is.d.ts +4 -0
  589. package/node_modules/zod/v4/locales/is.js +114 -0
  590. package/node_modules/zod/v4/locales/it.cjs +22 -25
  591. package/node_modules/zod/v4/locales/it.d.cts +2 -1
  592. package/node_modules/zod/v4/locales/it.js +21 -25
  593. package/node_modules/zod/v4/locales/ja.cjs +22 -24
  594. package/node_modules/zod/v4/locales/ja.d.cts +2 -1
  595. package/node_modules/zod/v4/locales/ja.js +21 -24
  596. package/node_modules/zod/v4/locales/ka.cjs +144 -0
  597. package/node_modules/zod/v4/locales/ka.d.cts +5 -0
  598. package/node_modules/zod/v4/locales/ka.d.ts +4 -0
  599. package/node_modules/zod/v4/locales/ka.js +117 -0
  600. package/node_modules/zod/v4/locales/kh.cjs +6 -137
  601. package/node_modules/zod/v4/locales/kh.d.cts +2 -1
  602. package/node_modules/zod/v4/locales/kh.d.ts +1 -0
  603. package/node_modules/zod/v4/locales/kh.js +3 -115
  604. package/node_modules/zod/v4/locales/km.cjs +142 -0
  605. package/node_modules/zod/v4/locales/km.d.cts +5 -0
  606. package/node_modules/zod/v4/locales/km.d.ts +4 -0
  607. package/node_modules/zod/v4/locales/km.js +115 -0
  608. package/node_modules/zod/v4/locales/kn.cjs +143 -0
  609. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  610. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  611. package/node_modules/zod/v4/locales/kn.js +116 -0
  612. package/node_modules/zod/v4/locales/ko.cjs +20 -24
  613. package/node_modules/zod/v4/locales/ko.d.cts +2 -1
  614. package/node_modules/zod/v4/locales/ko.js +19 -24
  615. package/node_modules/zod/v4/locales/lt.cjs +234 -0
  616. package/node_modules/zod/v4/locales/lt.d.cts +5 -0
  617. package/node_modules/zod/v4/locales/lt.d.ts +4 -0
  618. package/node_modules/zod/v4/locales/lt.js +207 -0
  619. package/node_modules/zod/v4/locales/mk.cjs +22 -25
  620. package/node_modules/zod/v4/locales/mk.d.cts +2 -1
  621. package/node_modules/zod/v4/locales/mk.js +21 -25
  622. package/node_modules/zod/v4/locales/ms.cjs +21 -24
  623. package/node_modules/zod/v4/locales/ms.d.cts +2 -1
  624. package/node_modules/zod/v4/locales/ms.js +20 -24
  625. package/node_modules/zod/v4/locales/ne.cjs +138 -0
  626. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  627. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  628. package/node_modules/zod/v4/locales/ne.js +111 -0
  629. package/node_modules/zod/v4/locales/nl.cjs +31 -32
  630. package/node_modules/zod/v4/locales/nl.d.cts +2 -1
  631. package/node_modules/zod/v4/locales/nl.js +30 -32
  632. package/node_modules/zod/v4/locales/nn.cjs +140 -0
  633. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  634. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  635. package/node_modules/zod/v4/locales/nn.js +113 -0
  636. package/node_modules/zod/v4/locales/no.cjs +24 -26
  637. package/node_modules/zod/v4/locales/no.d.cts +2 -1
  638. package/node_modules/zod/v4/locales/no.js +23 -26
  639. package/node_modules/zod/v4/locales/ota.cjs +23 -25
  640. package/node_modules/zod/v4/locales/ota.d.cts +2 -1
  641. package/node_modules/zod/v4/locales/ota.js +22 -25
  642. package/node_modules/zod/v4/locales/package.json +7 -0
  643. package/node_modules/zod/v4/locales/pl.cjs +22 -24
  644. package/node_modules/zod/v4/locales/pl.d.cts +2 -1
  645. package/node_modules/zod/v4/locales/pl.js +21 -24
  646. package/node_modules/zod/v4/locales/ps.cjs +22 -24
  647. package/node_modules/zod/v4/locales/ps.d.cts +2 -1
  648. package/node_modules/zod/v4/locales/ps.js +21 -24
  649. package/node_modules/zod/v4/locales/pt-BR.cjs +170 -0
  650. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  651. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  652. package/node_modules/zod/v4/locales/pt-BR.js +143 -0
  653. package/node_modules/zod/v4/locales/pt.cjs +95 -68
  654. package/node_modules/zod/v4/locales/pt.d.cts +2 -1
  655. package/node_modules/zod/v4/locales/pt.js +94 -68
  656. package/node_modules/zod/v4/locales/ro.cjs +149 -0
  657. package/node_modules/zod/v4/locales/ro.d.cts +5 -0
  658. package/node_modules/zod/v4/locales/ro.d.ts +4 -0
  659. package/node_modules/zod/v4/locales/ro.js +122 -0
  660. package/node_modules/zod/v4/locales/ru.cjs +29 -24
  661. package/node_modules/zod/v4/locales/ru.d.cts +2 -1
  662. package/node_modules/zod/v4/locales/ru.js +28 -24
  663. package/node_modules/zod/v4/locales/sk.cjs +143 -0
  664. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  665. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  666. package/node_modules/zod/v4/locales/sk.js +116 -0
  667. package/node_modules/zod/v4/locales/sl.cjs +22 -24
  668. package/node_modules/zod/v4/locales/sl.d.cts +2 -1
  669. package/node_modules/zod/v4/locales/sl.js +21 -24
  670. package/node_modules/zod/v4/locales/sv.cjs +24 -26
  671. package/node_modules/zod/v4/locales/sv.d.cts +2 -1
  672. package/node_modules/zod/v4/locales/sv.js +23 -26
  673. package/node_modules/zod/v4/locales/ta.cjs +23 -24
  674. package/node_modules/zod/v4/locales/ta.d.cts +2 -1
  675. package/node_modules/zod/v4/locales/ta.js +22 -24
  676. package/node_modules/zod/v4/locales/tg.cjs +144 -0
  677. package/node_modules/zod/v4/locales/tg.d.cts +5 -0
  678. package/node_modules/zod/v4/locales/tg.d.ts +4 -0
  679. package/node_modules/zod/v4/locales/tg.js +117 -0
  680. package/node_modules/zod/v4/locales/th.cjs +23 -24
  681. package/node_modules/zod/v4/locales/th.d.cts +2 -1
  682. package/node_modules/zod/v4/locales/th.js +22 -24
  683. package/node_modules/zod/v4/locales/tk.cjs +134 -0
  684. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  685. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  686. package/node_modules/zod/v4/locales/tk.js +107 -0
  687. package/node_modules/zod/v4/locales/tr.cjs +20 -26
  688. package/node_modules/zod/v4/locales/tr.d.cts +2 -2
  689. package/node_modules/zod/v4/locales/tr.d.ts +0 -1
  690. package/node_modules/zod/v4/locales/tr.js +19 -24
  691. package/node_modules/zod/v4/locales/ua.cjs +6 -137
  692. package/node_modules/zod/v4/locales/ua.d.cts +2 -1
  693. package/node_modules/zod/v4/locales/ua.d.ts +1 -0
  694. package/node_modules/zod/v4/locales/ua.js +3 -115
  695. package/node_modules/zod/v4/locales/uk.cjs +140 -0
  696. package/node_modules/zod/v4/locales/uk.d.cts +5 -0
  697. package/node_modules/zod/v4/locales/uk.d.ts +4 -0
  698. package/node_modules/zod/v4/locales/uk.js +113 -0
  699. package/node_modules/zod/v4/locales/ur.cjs +23 -24
  700. package/node_modules/zod/v4/locales/ur.d.cts +2 -1
  701. package/node_modules/zod/v4/locales/ur.js +22 -24
  702. package/node_modules/zod/v4/locales/uz.cjs +140 -0
  703. package/node_modules/zod/v4/locales/uz.d.cts +5 -0
  704. package/node_modules/zod/v4/locales/uz.d.ts +4 -0
  705. package/node_modules/zod/v4/locales/uz.js +113 -0
  706. package/node_modules/zod/v4/locales/vi.cjs +22 -24
  707. package/node_modules/zod/v4/locales/vi.d.cts +2 -1
  708. package/node_modules/zod/v4/locales/vi.js +21 -24
  709. package/node_modules/zod/v4/locales/yo.cjs +139 -0
  710. package/node_modules/zod/v4/locales/yo.d.cts +5 -0
  711. package/node_modules/zod/v4/locales/yo.d.ts +4 -0
  712. package/node_modules/zod/v4/locales/yo.js +112 -0
  713. package/node_modules/zod/v4/locales/zh-CN.cjs +23 -24
  714. package/node_modules/zod/v4/locales/zh-CN.d.cts +2 -1
  715. package/node_modules/zod/v4/locales/zh-CN.js +22 -24
  716. package/node_modules/zod/v4/locales/zh-TW.cjs +20 -24
  717. package/node_modules/zod/v4/locales/zh-TW.d.cts +2 -1
  718. package/node_modules/zod/v4/locales/zh-TW.js +19 -24
  719. package/node_modules/zod/v4/mini/checks.cjs +21 -1
  720. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  721. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  722. package/node_modules/zod/v4/mini/checks.js +1 -1
  723. package/node_modules/zod/v4/mini/coerce.cjs +24 -0
  724. package/node_modules/zod/v4/mini/coerce.js +5 -0
  725. package/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
  726. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  727. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  728. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  729. package/node_modules/zod/v4/mini/external.cjs +36 -3
  730. package/node_modules/zod/v4/mini/external.d.cts +7 -2
  731. package/node_modules/zod/v4/mini/external.d.ts +7 -2
  732. package/node_modules/zod/v4/mini/external.js +4 -1
  733. package/node_modules/zod/v4/mini/in-out.cjs +82 -0
  734. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  735. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  736. package/node_modules/zod/v4/mini/in-out.js +36 -0
  737. package/node_modules/zod/v4/mini/index.cjs +19 -0
  738. package/node_modules/zod/v4/mini/iso.cjs +27 -4
  739. package/node_modules/zod/v4/mini/iso.js +8 -4
  740. package/node_modules/zod/v4/mini/package.json +7 -0
  741. package/node_modules/zod/v4/mini/parse.cjs +30 -1
  742. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  743. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  744. package/node_modules/zod/v4/mini/parse.js +1 -1
  745. package/node_modules/zod/v4/mini/schemas.cjs +390 -82
  746. package/node_modules/zod/v4/mini/schemas.d.cts +156 -32
  747. package/node_modules/zod/v4/mini/schemas.d.ts +156 -32
  748. package/node_modules/zod/v4/mini/schemas.js +329 -59
  749. package/node_modules/zod/v4/package.json +7 -0
  750. package/node_modules/zod/v4-mini/index.cjs +35 -1
  751. package/node_modules/zod/v4-mini/index.d.cts +3 -1
  752. package/node_modules/zod/v4-mini/index.d.ts +3 -1
  753. package/node_modules/zod/v4-mini/index.js +3 -1
  754. package/node_modules/zod/v4-mini/package.json +7 -0
  755. package/package.json +3 -3
  756. package/dist/ui/assets/index--GktkOfY.js +0 -123
  757. package/dist/ui/assets/index-7tDbGQbQ.css +0 -1
  758. package/node_modules/on-finished/HISTORY.md +0 -98
  759. package/node_modules/zod/src/v4/core/config.ts +0 -15
  760. package/node_modules/zod/src/v4/core/function.ts +0 -176
  761. package/node_modules/zod/v4/core/function.cjs +0 -102
  762. package/node_modules/zod/v4/core/function.d.cts +0 -52
  763. package/node_modules/zod/v4/core/function.d.ts +0 -52
  764. package/node_modules/zod/v4/core/function.js +0 -75
@@ -32,38 +32,38 @@ test("function inference 1", () => {
32
32
  expectTypeOf<func1>().toEqualTypeOf<(k: string) => number>();
33
33
  });
34
34
 
35
- // test("method parsing", () => {
36
- // const methodObject = z.object({
37
- // property: z.number(),
38
- // method: z
39
- // .function()
40
- // .input(z.tuple([z.string()]))
41
- // .output(z.number()),
42
- // });
43
- // const methodInstance = {
44
- // property: 3,
45
- // method: function (s: string) {
46
- // return s.length + this.property;
47
- // },
48
- // };
49
- // const parsed = methodObject.parse(methodInstance);
50
- // expect(parsed.method("length=8")).toBe(11); // 8 length + 3 property
51
- // });
35
+ test("method parsing", () => {
36
+ const methodObject = z.object({
37
+ property: z.number(),
38
+ method: z
39
+ .function()
40
+ .input(z.tuple([z.string()]))
41
+ .output(z.number()),
42
+ });
43
+ const methodInstance = {
44
+ property: 3,
45
+ method: function (s: string) {
46
+ return s.length + this.property;
47
+ },
48
+ };
49
+ const parsed = methodObject.parse(methodInstance);
50
+ expect(parsed.method("length=8")).toBe(11); // 8 length + 3 property
51
+ });
52
52
 
53
- // test("async method parsing", async () => {
54
- // const methodObject = z.object({
55
- // property: z.number(),
56
- // method: z.function().input(z.string()).output(z.promise(z.number())),
57
- // });
58
- // const methodInstance = {
59
- // property: 3,
60
- // method: async function (s: string) {
61
- // return s.length + this.property;
62
- // },
63
- // };
64
- // const parsed = methodObject.parse(methodInstance);
65
- // expect(await parsed.method("length=8")).toBe(11); // 8 length + 3 property
66
- // });
53
+ test("async method parsing", async () => {
54
+ const methodObject = z.object({
55
+ property: z.number(),
56
+ method: z.function().input([z.string()]).output(z.promise(z.number())),
57
+ });
58
+ const methodInstance = {
59
+ property: 3,
60
+ method: async function (s: string) {
61
+ return s.length + this.property;
62
+ },
63
+ };
64
+ const parsed = methodObject.parse(methodInstance);
65
+ expect(await parsed.method("length=8")).toBe(11); // 8 length + 3 property
66
+ });
67
67
 
68
68
  test("args method", () => {
69
69
  const t1 = z.function();
@@ -130,6 +130,46 @@ test("valid function run", () => {
130
130
  });
131
131
  });
132
132
 
133
+ const args3 = [
134
+ z.object({
135
+ f1: z.number(),
136
+ f2: z.string().nullable(),
137
+ f3: z.array(z.boolean().optional()).optional(),
138
+ }),
139
+ ] as const;
140
+ const returns3 = z.union([z.string(), z.number()]);
141
+
142
+ const func3 = z.function({
143
+ input: args3,
144
+ output: returns3,
145
+ });
146
+
147
+ test("function inference 3", () => {
148
+ type func3 = (typeof func3)["_input"];
149
+
150
+ expectTypeOf<func3>().toEqualTypeOf<
151
+ (arg: {
152
+ f3?: (boolean | undefined)[] | undefined;
153
+ f1: number;
154
+ f2: string | null;
155
+ }) => string | number
156
+ >();
157
+ });
158
+
159
+ test("valid function run", () => {
160
+ const validFunc3Instance = func3.implement((_x) => {
161
+ _x.f2;
162
+ _x.f3![0];
163
+ return "adf" as any;
164
+ });
165
+
166
+ validFunc3Instance({
167
+ f1: 21,
168
+ f2: "asdf",
169
+ f3: [true, false],
170
+ });
171
+ });
172
+
133
173
  test("input validation error", () => {
134
174
  const schema = z.function({
135
175
  input: z.tuple([z.string()]),
@@ -146,12 +186,12 @@ test("input validation error", () => {
146
186
  expect(e.issues).toMatchInlineSnapshot(`
147
187
  [
148
188
  {
149
- "code": "invalid_type",
150
- "expected": "string",
151
- "message": "Invalid input: expected string, received undefined",
152
- "path": [
153
- 0,
154
- ],
189
+ "code": "too_small",
190
+ "inclusive": true,
191
+ "message": "Too small: expected array to have >=1 items",
192
+ "minimum": 1,
193
+ "origin": "array",
194
+ "path": [],
155
195
  },
156
196
  ]
157
197
  `);
@@ -234,6 +274,58 @@ test("function with async refinements", async () => {
234
274
  expect(results).toEqual(["fail", "success"]);
235
275
  });
236
276
 
277
+ test("implement async with transforms", async () => {
278
+ const typeGuard = (data: string): data is "1234" => data === "1234";
279
+ const codeSchema = z.string().transform((data, ctx) => {
280
+ if (typeGuard(data)) {
281
+ return data;
282
+ } else {
283
+ ctx.addIssue({
284
+ code: z.ZodIssueCode.custom,
285
+ message: "Invalid code",
286
+ });
287
+ return z.NEVER;
288
+ }
289
+ });
290
+ const inputSchema = z.object({
291
+ code: codeSchema,
292
+ });
293
+ const outputSchema = z.object({
294
+ data: z.array(z.string()).default([]),
295
+ });
296
+ const fnImplementation = async (data: z.infer<typeof inputSchema>): Promise<z.infer<typeof outputSchema>> => {
297
+ return {
298
+ data: [data.code],
299
+ };
300
+ };
301
+ const schema = z.function().input([inputSchema]).output(outputSchema);
302
+
303
+ const func = schema.implementAsync(fnImplementation);
304
+ type TheInterface = {
305
+ myFunction: (data: z.infer<typeof inputSchema>) => Promise<z.infer<typeof outputSchema>>;
306
+ };
307
+ const theImplementation: TheInterface = {
308
+ myFunction: func,
309
+ };
310
+ const results = [];
311
+ try {
312
+ await theImplementation.myFunction({
313
+ code: "1234",
314
+ });
315
+ results.push("success");
316
+ } catch (_) {
317
+ results.push("fail");
318
+ }
319
+ try {
320
+ await func({ data: "asdflkjasdflkjsf" } as any);
321
+ results.push("success");
322
+ } catch (_) {
323
+ results.push("fail");
324
+ }
325
+
326
+ expect(results).toEqual(["success", "fail"]);
327
+ });
328
+
237
329
  test("non async function with async refinements should fail", async () => {
238
330
  const func = z
239
331
  .function()
@@ -266,3 +358,34 @@ test("extra parameters with rest", () => {
266
358
  const filteredList = ["apple", "orange", "pear", "banana", "strawberry"].filter(maxLength5);
267
359
  expect(filteredList.length).toEqual(2);
268
360
  });
361
+
362
+ test("implement exposes the function schema at runtime", () => {
363
+ const schema = z.function({ input: [z.string()], output: z.number() });
364
+ const fn = schema.implement((s) => s.length);
365
+
366
+ // Deliberately absent from implement()'s return type: reaching `_zod` takes a cast, so an implemented function never reads as a schema to TypeScript even though it does at runtime.
367
+ type HasZod = "_zod" extends keyof typeof fn ? true : false;
368
+ expectTypeOf<HasZod>().toEqualTypeOf<false>();
369
+
370
+ expect((fn as any)._zod).toBe(schema._zod);
371
+ expect((fn as any)._zod.def.input).toBe(schema._def.input);
372
+ expect((fn as any)._zod.def.output).toBe(schema._def.output);
373
+ expect(Object.keys(fn)).toEqual([]);
374
+ expect(Object.getOwnPropertyDescriptor(fn, "_zod")).toMatchObject({ enumerable: false, writable: false });
375
+ expect(fn("asdf")).toBe(4);
376
+ });
377
+
378
+ test("implementAsync exposes the function schema at runtime", async () => {
379
+ const schema = z.function({ input: [z.string()], output: z.promise(z.number()) });
380
+ const fn = schema.implementAsync(async (s) => s.length);
381
+
382
+ expect((fn as any)._zod).toBe(schema._zod);
383
+ await expect(fn("asdf")).resolves.toBe(4);
384
+ });
385
+
386
+ test("parsing through a function schema exposes it the same way", () => {
387
+ const schema = z.function({ input: [z.string()], output: z.number() });
388
+ const { handler } = z.object({ handler: schema }).parse({ handler: (s: string) => s.length });
389
+
390
+ expect((handler as any)._zod).toBe(schema._zod);
391
+ });
@@ -0,0 +1,32 @@
1
+ import { afterEach, expect, test } from "vitest";
2
+ import * as z from "zod/v4";
3
+ import * as core from "zod/v4/core";
4
+
5
+ // `globalConfig` is attached to `globalThis.__zod_globalConfig` so that a
6
+ // single config object is shared across CJS/ESM builds and across multiple
7
+ // bundled copies of Zod in a monorepo. This mirrors the existing
8
+ // `globalRegistry` -> `globalThis.__zod_globalRegistry` treatment.
9
+ //
10
+ // See #5789 for the footgun this fixes: users with both CJS and ESM instances of Zod loaded had to call `z.config({ jitless: true })` twice — once per instance — because each module-scope `globalConfig` was a different object. With this change, one call updates state seen by every loaded copy.
11
+
12
+ afterEach(() => {
13
+ // Don't leak config mutations into other test files.
14
+ delete core.globalConfig.jitless;
15
+ });
16
+
17
+ test("globalConfig is singleton and attached to globalThis", () => {
18
+ expect(core.globalConfig).toBe((globalThis as any).__zod_globalConfig);
19
+ });
20
+
21
+ test("z.config writes are observed via globalThis.__zod_globalConfig", () => {
22
+ z.config({ jitless: true });
23
+ expect((globalThis as any).__zod_globalConfig.jitless).toBe(true);
24
+ });
25
+
26
+ test("pre-set globalThis.__zod_globalConfig is preserved on import", () => {
27
+ // Object identity is preserved across reloads of the module: anyone who pre-populates `globalThis.__zod_globalConfig` before Zod loads (e.g. an inline script before the bundle) keeps that exact object as the source of truth. Mutating it directly is equivalent to z.config().
28
+ const direct = (globalThis as any).__zod_globalConfig;
29
+ direct.jitless = true;
30
+ expect(core.globalConfig.jitless).toBe(true);
31
+ expect(z.config()).toBe(core.globalConfig);
32
+ });
@@ -0,0 +1,67 @@
1
+ import { expect, expectTypeOf, test } from "vitest";
2
+ import { type ZodCustomStringFormat, hash } from "zod"; // adjust path as needed
3
+
4
+ test("hash() API — types and runtime across all alg/enc combinations", async () => {
5
+ const { createHash } = await import("node:crypto");
6
+
7
+ type Alg = "md5" | "sha1" | "sha256" | "sha384" | "sha512";
8
+ // type Enc = "hex" | "base64" | "base64url";
9
+
10
+ const toB64Url = (b64: string) => b64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/g, "");
11
+
12
+ const makeDigests = (alg: Alg, input: string) => {
13
+ const buf = createHash(alg).update(input).digest();
14
+ const hex = buf.toString("hex");
15
+ const base64 = buf.toString("base64");
16
+ const base64url = toB64Url(base64);
17
+ return { hex, base64, base64url };
18
+ };
19
+
20
+ const algs: ReadonlyArray<Alg> = ["md5", "sha1", "sha256", "sha384", "sha512"];
21
+ const input = "zodasklfjaasdf";
22
+
23
+ // --- Type-level checks (ensure the literal format string is encoded in the return type)
24
+ expectTypeOf(hash("md5")).toEqualTypeOf<ZodCustomStringFormat<"md5_hex">>();
25
+ expectTypeOf(hash("sha1")).toEqualTypeOf<ZodCustomStringFormat<"sha1_hex">>();
26
+ expectTypeOf(hash("sha256", { enc: "base64" as const })).toEqualTypeOf<ZodCustomStringFormat<"sha256_base64">>();
27
+ expectTypeOf(hash("sha384", { enc: "base64url" as const })).toEqualTypeOf<
28
+ ZodCustomStringFormat<"sha384_base64url">
29
+ >();
30
+
31
+ // Test generic format types are correctly inferred and Enc defaults to "hex"
32
+ expectTypeOf(hash("sha256")).toEqualTypeOf<ZodCustomStringFormat<"sha256_hex">>();
33
+
34
+ // --- Runtime matrix (success + a few sharp-edged failures per combo)
35
+ for (const alg of algs) {
36
+ const { hex, base64, base64url } = makeDigests(alg, input);
37
+
38
+ // Success cases
39
+ expect(hash(alg).parse(hex)).toBe(hex); // default enc=hex
40
+ expect(hash(alg, { enc: "hex" }).parse(hex)).toBe(hex);
41
+ expect(hash(alg, { enc: "base64" }).parse(base64)).toBe(base64);
42
+ expect(hash(alg, { enc: "base64url" }).parse(base64url)).toBe(base64url);
43
+
44
+ // Failure cases (wrong encoding to schema)
45
+ expect(() => hash(alg, { enc: "hex" }).parse(base64)).toThrow();
46
+ expect(() => hash(alg, { enc: "base64" }).parse(hex)).toThrow();
47
+ expect(() => hash(alg, { enc: "base64url" }).parse(base64)).toThrow();
48
+
49
+ // Encoding-specific failures hex: uppercase allowed, wrong length should fail
50
+ hash(alg, { enc: "hex" }).parse(hex.toUpperCase());
51
+ expect(() => hash(alg, { enc: "hex" }).parse(hex.slice(0, -1))).toThrow();
52
+
53
+ // base64: missing required padding should fail (only for algorithms that require padding)
54
+ if (base64.includes("=")) {
55
+ const base64NoPad = base64.replace(/=+$/g, "");
56
+ expect(() => hash(alg, { enc: "base64" }).parse(base64NoPad)).toThrow();
57
+ }
58
+
59
+ // base64url: adding padding or using invalid characters should fail
60
+ expect(() => hash(alg, { enc: "base64url" }).parse(base64url + "=")).toThrow();
61
+ expect(() => hash(alg, { enc: "base64url" }).parse(base64url + "!")).toThrow();
62
+
63
+ // Param object present but enc omitted should still default to hex at runtime
64
+ const schemaWithEmptyParams = hash(alg, {} as any);
65
+ expect(schemaWithEmptyParams.parse(hex)).toBe(hex);
66
+ }
67
+ });
@@ -0,0 +1,81 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import * as z from "zod";
3
+
4
+ describe("z.iban", () => {
5
+ const valid: [string, string][] = [
6
+ ["Norway (15, minimum)", "NO9386011117947"],
7
+ ["Belgium (16)", "BE68539007547034"],
8
+ ["Netherlands (18)", "NL91ABNA0417164300"],
9
+ ["Germany (22)", "DE89370400440532013000"],
10
+ ["Great Britain (22)", "GB29NWBK60161331926819"],
11
+ ["Turkey (26)", "TR610000100000000000000001"],
12
+ ["France (27)", "FR1420041010050500013M02606"],
13
+ ["Cyprus (28)", "CY17002001280000001200527600"],
14
+ ["Malta (31)", "MT84MALT011000012345MTLCAST001S"],
15
+ ["Maximum length (34)", "AA73AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"],
16
+ ["Maximum length mixed (34)", "ZZ560123456789ABCDEFGHIJKLMNOPQRST"],
17
+ ];
18
+
19
+ test.each(valid)("accepts %s", (_label, n) => {
20
+ expect(z.iban().parse(n)).toBe(n);
21
+ });
22
+
23
+ test("rejects lowercase characters", () => {
24
+ expect(() => z.iban().parse("no9386011117947")).toThrow();
25
+ expect(() => z.iban().parse("de89370400440532013000")).toThrow();
26
+ expect(() => z.iban().parse("FR1420041010050500013m02606")).toThrow();
27
+ });
28
+
29
+ test("rejects spaces and hyphens", () => {
30
+ expect(() => z.iban().parse("NO93 8601 1117 947")).toThrow();
31
+ expect(() => z.iban().parse(" DE89370400440532013000")).toThrow();
32
+ expect(() => z.iban().parse("DE89370400440532013000 ")).toThrow();
33
+ expect(() => z.iban().parse("NO93-8601-1117-947")).toThrow();
34
+ expect(() => z.iban().parse("DE89-3704-0044-0532-0130-00")).toThrow();
35
+ });
36
+
37
+ test("rejects special characters", () => {
38
+ expect(() => z.iban().parse("NO938601111794!")).toThrow();
39
+ expect(() => z.iban().parse("DE8937040044053201300@")).toThrow();
40
+ expect(() => z.iban().parse("")).toThrow();
41
+ });
42
+
43
+ test("rejects inputs outside length bounds (15-34)", () => {
44
+ expect(() => z.iban().parse("NO938601111794")).toThrow();
45
+ expect(() => z.iban().parse("AA73AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA")).toThrow();
46
+ });
47
+
48
+ test("rejects invalid check digits (checksum failure)", () => {
49
+ expect(() => z.iban().parse("NO9386011117948")).toThrow();
50
+ expect(() => z.iban().parse("DE89370400440532013001")).toThrow();
51
+ expect(() => z.iban().parse("FR1420041010050500013M02607")).toThrow();
52
+ });
53
+
54
+ test("rejects check digits outside 02-98", () => {
55
+ // mod 97 alone accepts all three; `98 - remainder` can only ever emit 02-98
56
+ expect(() => z.iban().parse("DE00000000000000000066")).toThrow();
57
+ expect(() => z.iban().parse("DE01000000000000000048")).toThrow();
58
+ expect(() => z.iban().parse("DE99000000000000000030")).toThrow();
59
+ });
60
+
61
+ test("carries the shape regex as its JSON Schema pattern", () => {
62
+ expect(z.toJSONSchema(z.iban())).toMatchObject({
63
+ format: "iban",
64
+ pattern: z.regexes.iban.source,
65
+ });
66
+ });
67
+
68
+ test("round-trips through JSON Schema with the checksum intact", () => {
69
+ const schema = z.fromJSONSchema(z.toJSONSchema(z.iban()));
70
+ expect(schema.safeParse("DE89370400440532013000").success).toBe(true);
71
+ expect(schema.safeParse("DE89370400440532013001").success).toBe(false);
72
+ });
73
+
74
+ test("error message references IBAN", () => {
75
+ const result = z.iban().safeParse("not-an-iban");
76
+ expect(result.success).toBe(false);
77
+ if (!result.success) {
78
+ expect(result.error.issues[0]?.message).toMatch(/IBAN/i);
79
+ }
80
+ });
81
+ });
@@ -0,0 +1,159 @@
1
+ import { describe, expect, test } from "vitest";
2
+ import * as z from "zod";
3
+
4
+ describe("z.input / z.output", () => {
5
+ test("flat codec: input/output give the right side", () => {
6
+ const c = z.codec(z.string(), z.bigint(), {
7
+ decode: (s) => BigInt(s),
8
+ encode: (n) => n.toString(),
9
+ });
10
+ expect(z.input(c).parse("1")).toBe("1");
11
+ expect(z.output(c).parse(1n)).toBe(1n);
12
+ });
13
+
14
+ test("codec nested in object: output works recursively (regression #5224)", () => {
15
+ const c = z.codec(z.string(), z.bigint(), {
16
+ decode: (s) => BigInt(s),
17
+ encode: (n) => n.toString(),
18
+ });
19
+ const obj = z.object({ b: c });
20
+
21
+ const decoded = z.output(obj);
22
+ expect(decoded.parse({ b: 1n })).toEqual({ b: 1n });
23
+
24
+ const encoded = z.input(obj);
25
+ expect(encoded.parse({ b: "1" })).toEqual({ b: "1" });
26
+ });
27
+
28
+ test("nested across record / map: matches the use case in #5224", () => {
29
+ const keyCodec = z.codec(z.string(), z.enum(["a", "b"]), {
30
+ decode: (s) => (s === "a" || s === "b" ? s : z.NEVER),
31
+ encode: (s) => s,
32
+ });
33
+ const valueObject = z.object({
34
+ n: z.codec(z.string(), z.bigint(), { decode: (s) => BigInt(s), encode: (n) => n.toString() }),
35
+ });
36
+
37
+ const fullCodec = z.codec(
38
+ z.record(z.input(keyCodec), z.input(valueObject)),
39
+ z.map(z.output(keyCodec), z.output(valueObject)),
40
+ {
41
+ decode: (input) => {
42
+ const m = new Map<"a" | "b", { n: bigint }>();
43
+ for (const [k, v] of Object.entries(input)) {
44
+ m.set(keyCodec.decode(k), valueObject.decode(v));
45
+ }
46
+ return m;
47
+ },
48
+ encode: (input) => {
49
+ const out: Record<string, { n: string }> = {};
50
+ for (const [k, v] of input.entries()) {
51
+ out[keyCodec.encode(k)] = valueObject.encode(v);
52
+ }
53
+ return out;
54
+ },
55
+ }
56
+ );
57
+
58
+ expect(fullCodec.decode({ a: { n: "1" } })).toEqual(new Map([["a", { n: 1n }]]));
59
+ expect(fullCodec.encode(new Map([["b", { n: 2n }]]))).toEqual({ b: { n: "2" } });
60
+ });
61
+
62
+ test("schema without pipes is returned with identity (no clone)", () => {
63
+ const s = z.object({ a: z.string() });
64
+ expect(z.input(s)).toBe(s);
65
+ expect(z.output(s)).toBe(s);
66
+ });
67
+
68
+ test("z.output carries checks attached to a pipe", () => {
69
+ const c = z
70
+ .codec(z.string(), z.number().int(), { decode: Number, encode: String })
71
+ .refine((n) => n > 10, { error: "gt10" });
72
+ const obj = z.object({ list: z.array(c) });
73
+ const decoded = z.output(obj);
74
+
75
+ expect(decoded.parse({ list: [50] })).toEqual({ list: [50] });
76
+ // The pipe's own check and the one already on its out side both survive, in that order.
77
+ expect(() => decoded.parse({ list: [5] })).toThrow("gt10");
78
+ expect(() => decoded.parse({ list: [50.5] })).toThrow();
79
+ // A pipe's checks run on the decoded value in both directions, so encode enforces them too.
80
+ expect(() => decoded.encode({ list: [5] })).toThrow("gt10");
81
+ // Carrying them clones the out side rather than mutating it.
82
+ expect(c._zod.def.out._zod.def.checks).toHaveLength(1);
83
+ });
84
+
85
+ test("z.input drops a pipe's checks, which constrain a value the input side never produces", () => {
86
+ const c = z.codec(z.string(), z.number(), { decode: Number, encode: String }).refine((n) => n > 10);
87
+ expect(z.input(c).parse("5")).toBe("5");
88
+
89
+ // Control: a check that isn't attached to a pipe is left alone.
90
+ expect(() => z.input(z.object({ s: z.string().min(2) })).parse({ s: "a" })).toThrow();
91
+ });
92
+
93
+ test("z.input resolves past a preprocess transform, which is not a real input side", () => {
94
+ const p = z.preprocess((v) => String(v), z.string().min(5));
95
+ const encoded = z.input(p);
96
+
97
+ expect(encoded.parse("abcde")).toBe("abcde");
98
+ // The bare transform used to come back here: it validated nothing and re-ran the preprocessor.
99
+ expect(() => encoded.parse(1)).toThrow();
100
+ expect(() => encoded.parse("abc")).toThrow();
101
+ // The same resolution the JSON Schema emitter already makes for this schema.
102
+ expect(z.toJSONSchema(p, { io: "input" })).toMatchObject({ type: "string", minLength: 5 });
103
+
104
+ // A check on the pipe itself travels with whichever side wins.
105
+ const checked = z.preprocess((v) => String(v), z.string()).refine((s) => s.startsWith("ok"));
106
+ expect(z.input(checked).parse("okay")).toBe("okay");
107
+ expect(() => z.input(checked).parse("nope")).toThrow();
108
+
109
+ // Control: a codec has two real sides, so its input side is still `in`, by identity.
110
+ const c = z.codec(z.string(), z.number(), { decode: Number, encode: String });
111
+ expect(z.input(c)).toBe(c._zod.def.in);
112
+ });
113
+
114
+ test("a wrapper's stored value survives only on the side it belongs to", () => {
115
+ const c = z.codec(z.string(), z.number(), { decode: Number, encode: String });
116
+
117
+ // A default and a catch hold output-side values, so the input projection sheds them.
118
+ expect(z.input(c.default(7)).parse(undefined)).toBe(undefined);
119
+ expect(z.input(c.default(7)).parse("1")).toBe("1");
120
+ expect(() => z.input(c.catch(9)).parse(123 as any)).toThrow();
121
+ expect(z.input(c.catch(9)).parse("1")).toBe("1");
122
+ expect(z.output(c.default(7)).parse(undefined)).toBe(7);
123
+ expect(z.output(c.catch(9)).parse("zz" as any)).toBe(9);
124
+
125
+ // A prefault is fed through the schema, so it is input-side and the output projection sheds it.
126
+ expect(z.input(c.prefault("5")).parse(undefined)).toBe("5");
127
+ expect(() => z.output(c.prefault("5")).parse(undefined as any)).toThrow();
128
+ expect(z.output(c.prefault("5")).parse(3)).toBe(3);
129
+ });
130
+
131
+ test("a wrapper over a pipe-free schema keeps both its value and its identity", () => {
132
+ const d = z.string().default("x");
133
+ const k = z.string().catch("y");
134
+ const f = z.string().prefault("z");
135
+
136
+ expect(z.input(d)).toBe(d);
137
+ expect(z.input(d).parse(undefined)).toBe("x");
138
+ expect(z.input(k)).toBe(k);
139
+ expect(z.output(f)).toBe(f);
140
+
141
+ const obj = z.object({ a: z.string().default("q") });
142
+ expect(z.input(obj)).toBe(obj);
143
+ expect(z.input(obj).parse({})).toEqual({ a: "q" });
144
+ });
145
+
146
+ test("runtime `z.input` agrees with type-level `z.input<T>`", () => {
147
+ const c = z.codec(z.string(), z.bigint(), {
148
+ decode: (s) => BigInt(s),
149
+ encode: (n) => n.toString(),
150
+ });
151
+ const obj = z.object({ b: c });
152
+
153
+ // Runtime: parse the input shape.
154
+ const parsed = z.input(obj).parse({ b: "1" });
155
+ // Type: matches the declared input type.
156
+ const asType: z.input<typeof obj> = parsed;
157
+ expect(asType).toEqual({ b: "1" });
158
+ });
159
+ });