@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
@@ -247,7 +247,7 @@ test("z.tuple", () => {
247
247
  const b = z.tuple([z.string(), z.number(), z.optional(z.string())], z.boolean());
248
248
  type b = z.output<typeof b>;
249
249
 
250
- expectTypeOf<b>().toEqualTypeOf<[string, number, string?, ...boolean[]]>();
250
+ expectTypeOf<b>().toEqualTypeOf<[string, number, (string | undefined)?, ...boolean[]]>();
251
251
  const datas = [
252
252
  ["hello", 123],
253
253
  ["hello", 123, "world"],
@@ -265,7 +265,7 @@ test("z.tuple", () => {
265
265
  const cArgs = [z.string(), z.number(), z.optional(z.string())] as const;
266
266
  const c = z.tuple(cArgs, z.boolean());
267
267
  type c = z.output<typeof c>;
268
- expectTypeOf<c>().toEqualTypeOf<[string, number, string?, ...boolean[]]>();
268
+ expectTypeOf<c>().toEqualTypeOf<[string, number, (string | undefined)?, ...boolean[]]>();
269
269
  // type c = z.output<typeof c>;
270
270
  });
271
271
 
@@ -302,6 +302,29 @@ test("z.record", () => {
302
302
  const d = z.record(z.enum(["a", "b"]).or(z.never()), z.string());
303
303
  type d = z.output<typeof d>;
304
304
  expectTypeOf<d>().toEqualTypeOf<Record<"a" | "b", string>>();
305
+
306
+ // literal union keys
307
+ const e = z.record(z.union([z.literal("a"), z.literal(0)]), z.string());
308
+ type e = z.output<typeof e>;
309
+ expectTypeOf<e>().toEqualTypeOf<Record<"a" | 0, string>>();
310
+ expect(z.parse(e, { a: "hello", 0: "world" })).toEqual({
311
+ a: "hello",
312
+ 0: "world",
313
+ });
314
+
315
+ // TypeScript enum keys
316
+ enum Enum {
317
+ A = 0,
318
+ B = "hi",
319
+ }
320
+
321
+ const f = z.record(z.enum(Enum), z.string());
322
+ type f = z.output<typeof f>;
323
+ expectTypeOf<f>().toEqualTypeOf<Record<Enum, string>>();
324
+ expect(z.parse(f, { [Enum.A]: "hello", [Enum.B]: "world" })).toEqual({
325
+ [Enum.A]: "hello",
326
+ [Enum.B]: "world",
327
+ });
305
328
  });
306
329
 
307
330
  test("z.map", () => {
@@ -630,8 +653,7 @@ test("z.custom check", () => {
630
653
  });
631
654
 
632
655
  test("z.check", () => {
633
- // this is a more flexible version of z.custom that accepts an arbitrary _parse logic
634
- // the function should return base.$ZodResult
656
+ // this is a more flexible version of z.custom that accepts an arbitrary _parse logic the function should return base.$ZodResult
635
657
  const a = z.any().check(
636
658
  z.check<string>((ctx) => {
637
659
  if (typeof ctx.value === "string") return;
@@ -653,6 +675,47 @@ test("z.check", () => {
653
675
  });
654
676
  });
655
677
 
678
+ test("z.with (alias for z.check)", () => {
679
+ // .with() should work exactly the same as .check()
680
+ const a = z.any().with(
681
+ z.check<string>((ctx) => {
682
+ if (typeof ctx.value === "string") return;
683
+ ctx.issues.push({
684
+ code: "custom",
685
+ origin: "custom",
686
+ message: "Expected a string",
687
+ input: ctx.value,
688
+ });
689
+ })
690
+ );
691
+ expect(z.safeParse(a, "hello")).toMatchObject({
692
+ success: true,
693
+ data: "hello",
694
+ });
695
+ expect(z.safeParse(a, 123)).toMatchObject({
696
+ success: false,
697
+ error: { issues: [{ code: "custom", message: "Expected a string" }] },
698
+ });
699
+
700
+ // Test with refine
701
+ const b = z.string().with(z.refine((val) => val.length > 3, "Must be longer than 3"));
702
+ expect(z.safeParse(b, "hello").success).toBe(true);
703
+ expect(z.safeParse(b, "hi").success).toBe(false);
704
+
705
+ // Test with function
706
+ const c = z.string().with(({ value, issues }) => {
707
+ if (value.length <= 3) {
708
+ issues.push({
709
+ code: "custom",
710
+ input: value,
711
+ message: "Must be longer than 3",
712
+ });
713
+ }
714
+ });
715
+ expect(z.safeParse(c, "hello").success).toBe(true);
716
+ expect(z.safeParse(c, "hi").success).toBe(false);
717
+ });
718
+
656
719
  test("z.instanceof", () => {
657
720
  class A {}
658
721
 
@@ -672,6 +735,26 @@ test("z.refine", () => {
672
735
  expect(() => z.parse(a, "hi")).toThrow();
673
736
  });
674
737
 
738
+ test("z.superRefine preserves explicit nullish issue input", () => {
739
+ const schema = z.string().check(
740
+ z.superRefine((_, ctx) => {
741
+ ctx.addIssue({ code: "custom", message: "default" });
742
+ ctx.addIssue({ code: "custom", message: "null", input: null });
743
+ ctx.addIssue({ code: "custom", message: "undefined", input: undefined });
744
+ })
745
+ );
746
+
747
+ const result = z.safeParse(schema, "sensitive", { reportInput: true });
748
+ expect(result.success).toEqual(false);
749
+ if (!result.success) {
750
+ expect(result.error.issues).toHaveLength(3);
751
+ expect(result.error.issues[0].input).toEqual("sensitive");
752
+ expect(result.error.issues[1].input).toEqual(null);
753
+ expect(result.error.issues[2]).toHaveProperty("input");
754
+ expect(result.error.issues[2].input).toEqual(undefined);
755
+ }
756
+ });
757
+
675
758
  // test("z.superRefine", () => {
676
759
  // const a = z.number([
677
760
  // z.superRefine((val, ctx) => {
@@ -749,7 +832,7 @@ test("z.json", () => {
749
832
  test("z.promise", async () => {
750
833
  const a = z.promise(z.string());
751
834
  type a = z.output<typeof a>;
752
- expectTypeOf<a>().toEqualTypeOf<string>();
835
+ expectTypeOf<a>().toEqualTypeOf<Promise<string>>();
753
836
 
754
837
  expect(await z.safeParseAsync(a, Promise.resolve("hello"))).toMatchObject({
755
838
  success: true,
@@ -786,6 +869,37 @@ test("isPlainObject", () => {
786
869
  expect(z.core.util.isPlainObject("string")).toEqual(false);
787
870
  expect(z.core.util.isPlainObject(123)).toEqual(false);
788
871
  expect(z.core.util.isPlainObject(Symbol())).toEqual(false);
872
+ expect(z.core.util.isPlainObject({ constructor: "string" })).toEqual(true);
873
+ expect(z.core.util.isPlainObject({ constructor: 123 })).toEqual(true);
874
+ expect(z.core.util.isPlainObject({ constructor: null })).toEqual(true);
875
+ expect(z.core.util.isPlainObject({ constructor: undefined })).toEqual(true);
876
+ expect(z.core.util.isPlainObject({ constructor: true })).toEqual(true);
877
+ expect(z.core.util.isPlainObject({ constructor: {} })).toEqual(true);
878
+ expect(z.core.util.isPlainObject({ constructor: [] })).toEqual(true);
879
+ });
880
+
881
+ test("shallowClone with constructor field", () => {
882
+ const objWithConstructor = { constructor: "string", key: "value" };
883
+ const cloned = z.core.util.shallowClone(objWithConstructor);
884
+
885
+ expect(cloned).toEqual(objWithConstructor);
886
+ expect(cloned).not.toBe(objWithConstructor);
887
+ expect(cloned.constructor).toBe("string");
888
+ expect(cloned.key).toBe("value");
889
+
890
+ const testCases = [
891
+ { constructor: 123, data: "test" },
892
+ { constructor: null, data: "test" },
893
+ { constructor: true, data: "test" },
894
+ { constructor: {}, data: "test" },
895
+ { constructor: [], data: "test" },
896
+ ];
897
+
898
+ for (const testCase of testCases) {
899
+ const clonedCase = z.core.util.shallowClone(testCase);
900
+ expect(clonedCase).toEqual(testCase);
901
+ expect(clonedCase).not.toBe(testCase);
902
+ }
789
903
  });
790
904
 
791
905
  test("def typing", () => {
@@ -827,3 +941,18 @@ test("def typing", () => {
827
941
  z.string().catch("fallback").def.type satisfies "catch";
828
942
  z.file().def.type satisfies "file";
829
943
  });
944
+
945
+ test("runtime type property exists and returns correct values", () => {
946
+ const stringSchema = z.string();
947
+ expect(stringSchema.type).toBe("string");
948
+ });
949
+
950
+ test("type narrowing works with type property", () => {
951
+ type ArrayOrRecord = z.ZodArray<z.ZodString> | z.ZodRecord<z.ZodString, z.ZodAny>;
952
+ const arraySchema = z.array(z.string()) as ArrayOrRecord;
953
+
954
+ if (arraySchema.type === "array") {
955
+ expectTypeOf(arraySchema).toEqualTypeOf<z.ZodArray<z.ZodString>>();
956
+ expect(arraySchema.element).toBeDefined();
957
+ }
958
+ });
@@ -0,0 +1,319 @@
1
+ import { expect, test } from "vitest";
2
+
3
+ import * as zm from "zod/mini";
4
+ import * as z from "zod/v4";
5
+ import * as core from "zod/v4/core";
6
+
7
+ // V8 sizes an instance's property backing store in steps, and schema instances get no in-object slots (their constructor assigns nothing itself): 12 own properties cost 128 bytes, 13 cost 848, 21 cost 1616. Methods therefore live on the prototype and materialize per instance on first read. These bounds are what keeps a schema graph small; crossing one silently multiplies its memory by 6x.
8
+ const MAX_OWN_PROPS = 12;
9
+
10
+ test("schema instances stay under V8's property-count step", () => {
11
+ const cases: Array<[string, object]> = [
12
+ ["string", z.string()],
13
+ ["number", z.number()],
14
+ ["bigint", z.bigint()],
15
+ ["boolean", z.boolean()],
16
+ ["date", z.date()],
17
+ ["enum", z.enum(["a", "b"])],
18
+ ["array", z.array(z.string())],
19
+ ["object", z.object({ a: z.string() })],
20
+ ["record", z.record(z.string(), z.string())],
21
+ ["map", z.map(z.string(), z.string())],
22
+ ["set", z.set(z.string())],
23
+ ["union", z.union([z.string(), z.number()])],
24
+ ["optional", z.string().optional()],
25
+ ["pipe", z.string().pipe(z.string())],
26
+ ["email", z.email()],
27
+ ["mini string", zm.string()],
28
+ ["mini object", zm.object({ a: zm.string() })],
29
+ ];
30
+
31
+ const over = cases
32
+ .map(([name, schema]) => [name, Reflect.ownKeys(schema).length] as const)
33
+ .filter(([, count]) => count > MAX_OWN_PROPS);
34
+
35
+ expect(over).toEqual([]);
36
+ });
37
+
38
+ test("prototype-installed members survive detaching", () => {
39
+ const schema = z.string();
40
+ const { parse, safeParse, spa } = schema;
41
+
42
+ expect(parse("hi")).toEqual("hi");
43
+ expect(safeParse("hi").success).toEqual(true);
44
+ expect(["a", "b"].map((v) => parse(v))).toEqual(["a", "b"]);
45
+ expect(spa).toBe(schema.safeParseAsync);
46
+
47
+ const email = schema.email;
48
+ expect(email().safeParse("a@b.co").success).toEqual(true);
49
+ });
50
+
51
+ test("prototype-installed members can be overwritten per instance", () => {
52
+ const schema: any = z.string();
53
+ schema.parse = () => "overridden";
54
+
55
+ expect(schema.parse("anything")).toEqual("overridden");
56
+ expect(z.string().parse("untouched")).toEqual("untouched");
57
+ });
58
+
59
+ test("~standard is lazy but complete", () => {
60
+ const schema = z.string();
61
+
62
+ expect(Object.prototype.hasOwnProperty.call(schema, "~standard")).toEqual(false);
63
+ expect(schema["~standard"].vendor).toEqual("zod");
64
+ expect(schema["~standard"].version).toEqual(1);
65
+ expect(schema["~standard"].validate("hi")).toEqual({ value: "hi" });
66
+ expect((schema["~standard"] as any).jsonSchema.input()).toMatchObject({ type: "string" });
67
+ // Reading it caches on the instance, so the getter runs once.
68
+ expect(Object.prototype.hasOwnProperty.call(schema, "~standard")).toEqual(true);
69
+ });
70
+
71
+ test("caching a lazy member preserves its original enumerability", () => {
72
+ const schema = z.string();
73
+
74
+ // Methods were enumerable own properties before they moved to the prototype, so touching one still surfaces it to `Object.keys`.
75
+ void schema.parse;
76
+ void schema.optional;
77
+ expect(Object.keys(schema)).toContain("parse");
78
+ expect(Object.keys(schema)).toContain("optional");
79
+
80
+ // `~standard` never was an own data property, so caching it must not add it to `Object.keys` or to `JSON.stringify` of a schema.
81
+ void schema["~standard"];
82
+ expect(Object.keys(schema)).not.toContain("~standard");
83
+ expect(JSON.stringify(schema)).not.toContain("~standard");
84
+
85
+ // An explicit assignment behaves like one, as before.
86
+ const other: any = z.string();
87
+ other["~standard"] = { vendor: "x" };
88
+ expect(Object.keys(other)).toContain("~standard");
89
+ });
90
+
91
+ test("_def stays read-only", () => {
92
+ expect(() => {
93
+ (z.string() as any)._def = {};
94
+ }).toThrow(TypeError);
95
+ expect(() => {
96
+ (z.function({ input: [z.string()], output: z.number() }) as any)._def = {};
97
+ }).toThrow(TypeError);
98
+ const schema = z.string();
99
+ expect(schema._def).toBe(schema._zod.def);
100
+ expect(z.object({ a: z.string() })._def.type).toEqual("object");
101
+ });
102
+
103
+ test("deferred initializers are released after construction", () => {
104
+ expect(z.string()._zod.deferred).toEqual(undefined);
105
+ expect(z.object({ a: z.string() })._zod.deferred).toEqual(undefined);
106
+ });
107
+
108
+ test("trait initializers run once per instance across repeated entry", () => {
109
+ const calls: string[] = [];
110
+ const Base: core.$constructor<any> = core.$constructor<any>("CountedBase", () => calls.push("base"));
111
+ const Child: core.$constructor<any> = core.$constructor<any>("CountedChild", (inst, def) => {
112
+ calls.push("child");
113
+ Base.init(inst, def);
114
+ Base.init(inst, def);
115
+ });
116
+ const constructed = new Child({});
117
+ Child.init(constructed, {});
118
+ const direct = Object.create({});
119
+ Child.init(direct, {});
120
+ Child.init(direct, {});
121
+ expect(calls).toEqual(["child", "base", "child", "base"]);
122
+ for (const inst of [constructed, direct]) {
123
+ expect([...inst._zod.traits]).toEqual(["CountedChild", "CountedBase"]);
124
+ expect(inst instanceof Base).toBe(true);
125
+ expect(inst instanceof Child).toBe(true);
126
+ }
127
+ expect(constructed._zod.traits).not.toBe(direct._zod.traits);
128
+ });
129
+
130
+ test("a trait initializer called directly still installs its members", () => {
131
+ // a direct `init` installs onto the receiver's own prototype, since it is not below the constructor's
132
+ z.string();
133
+
134
+ const proto = {};
135
+ const inst = Object.create(proto) as z.ZodString;
136
+ z.ZodString.init(inst, { type: "string" });
137
+
138
+ expect(typeof inst.email).toBe("function");
139
+ expect(typeof inst.optional).toBe("function");
140
+ expect(Object.prototype.hasOwnProperty.call(proto, "email")).toBe(true);
141
+ });
142
+
143
+ test("a nested init during a repeat construction still installs its members", () => {
144
+ // the install used to read a module-level flag the outer construction set, so a nested `init` on an unrelated receiver inherited an answer that was not about it
145
+ const seen: string[] = [];
146
+
147
+ // an assertion signature needs the call target explicitly annotated
148
+ const Nested: core.$constructor<any> = core.$constructor<any>("Nested", () => {}, {
149
+ tag() {
150
+ return "nested";
151
+ },
152
+ });
153
+ const Outer = core.$constructor<any>("Outer", (_inst, def) => {
154
+ if (!def.nest) return;
155
+ // not a plain `{}`: the install target would resolve to `Object.prototype` and leak `tag` into every object the worker touches
156
+ const plain: any = Object.create({});
157
+ Nested.init(plain, {});
158
+ seen.push(typeof plain.tag);
159
+ });
160
+
161
+ new Outer({ nest: false });
162
+ new Outer({ nest: true });
163
+
164
+ expect(seen).toEqual(["function"]);
165
+ });
166
+
167
+ test("a derived trait's members win over the ones it composes", () => {
168
+ // Classic installs a richer `~standard` over core's. Trait dedupe is what orders them: core's initializer runs once, at the first `init` that reaches it, so classic's always lands second.
169
+ expect(typeof (z.string()["~standard"] as any).jsonSchema.input).toBe("function");
170
+ });
171
+
172
+ test("a live member keeps the descriptor a prototype member had", () => {
173
+ // An object literal's getter is enumerable; the `defineProperty` it replaced was not. `for..in` over a schema is public surface, and the construction path walks the prototype with it.
174
+ const proto = Object.getPrototypeOf(z.string());
175
+ expect(Object.getOwnPropertyDescriptor(proto, "description")?.enumerable).toBe(false);
176
+ expect(Object.getOwnPropertyDescriptor(proto, "_def")?.enumerable).toBe(false);
177
+ // a derived member installs like a literal's accessor: not enumerable, still configurable
178
+ expect(Object.getOwnPropertyDescriptor(proto, "minLength")).toMatchObject({ enumerable: false, configurable: true });
179
+
180
+ // the derived metadata members live on the prototype and shadow as own data on first read
181
+ const schema = z.string();
182
+ const keys: string[] = [];
183
+ for (const k in schema) keys.push(k);
184
+ expect(keys).toEqual(["def", "type"]);
185
+ expect(schema.minLength).toBe(null);
186
+ expect(Object.keys(schema)).toContain("minLength");
187
+ });
188
+
189
+ test("a live member is not cached per instance", () => {
190
+ const schema = z.string();
191
+
192
+ expect(schema.description).toBe(undefined);
193
+ core.globalRegistry.add(schema, { description: "later" });
194
+ expect(schema.description).toBe("later");
195
+ expect(Object.prototype.hasOwnProperty.call(schema, "description")).toBe(false);
196
+ });
197
+
198
+ test("constructing through a subclass does not strip the base prototype", () => {
199
+ // `super(def)` gives `this` a prototype of `new.target.prototype`, so a constructor can complete a construction without having built its own prototype.
200
+ const MyString: new (def: { type: "string" }) => z.ZodString = class extends (z.ZodString as any) {} as any;
201
+ new MyString({ type: "string" });
202
+
203
+ const plain = z.string();
204
+ expect(plain.parse("x")).toBe("x");
205
+ expect(typeof plain.email).toBe("function");
206
+ expect(typeof new MyString({ type: "string" }).email).toBe("function");
207
+ });
208
+
209
+ test("a subclass's own members survive the install", () => {
210
+ // The members go on the prototype of the constructor that built the instance, so a subclass's own prototype keeps what it declared. `z.symbol()` is constructed nowhere else here, which puts the subclass before its base — the ordering the install has to get right. Asserted rather than assumed, so warming it elsewhere fails the test instead of hollowing it out.
211
+ expect(Object.prototype.hasOwnProperty.call((z.ZodSymbol as any).prototype, "parse")).toBe(false);
212
+ const First = class extends (z.ZodSymbol as any) {
213
+ parse() {
214
+ return "PARSE";
215
+ }
216
+ optional() {
217
+ return "OPTIONAL";
218
+ }
219
+ } as any;
220
+ const first = new First({ type: "symbol" });
221
+ expect(first.parse(Symbol())).toBe("PARSE");
222
+ expect(first.optional()).toBe("OPTIONAL");
223
+ const sym = Symbol();
224
+ expect(z.symbol().parse(sym)).toBe(sym);
225
+
226
+ // and the other way round, with the base prototype already built by one of the `z.number()` calls above. Asserted for the same reason: warm it nowhere and this block quietly becomes a second copy of the cold case.
227
+ expect(Object.prototype.hasOwnProperty.call((z.ZodNumber as any).prototype, "parse")).toBe(true);
228
+ const Second = class extends (z.ZodNumber as any) {
229
+ parse() {
230
+ return "SECOND";
231
+ }
232
+ } as any;
233
+ expect(new Second({ type: "number" }).parse(1)).toBe("SECOND");
234
+
235
+ // two levels deep: neither prototype takes a copy, so the inherited member is one function
236
+ const Third = class extends (Second as any) {} as any;
237
+ new Third({ type: "number" });
238
+ expect(Second.prototype.parse).toBe(Third.prototype.parse);
239
+ });
240
+
241
+ test("a hand-written getter member accepts assignment", () => {
242
+ // Every member was an accessor with a setter before they moved onto `proto`, so a getter written by hand needs one too.
243
+ const schema: any = z.string();
244
+ schema.spa = () => "SPA";
245
+ schema.toJSONSchema = () => "JSON";
246
+ expect(schema.spa()).toBe("SPA");
247
+ expect(schema.toJSONSchema()).toBe("JSON");
248
+
249
+ const mini: any = zm.string();
250
+ mini.with = () => "WITH";
251
+ expect(mini.with()).toBe("WITH");
252
+
253
+ // a derived metadata member accepts assignment before its first read, as it did as an own property
254
+ const derived = z.number().min(2);
255
+ derived.minValue = 99;
256
+ expect(derived.minValue).toBe(99);
257
+ expect(Object.keys(derived)).toContain("minValue");
258
+
259
+ // and, like every prototype member, recomputes after deletion rather than staying absent
260
+ delete (derived as any).minValue;
261
+ expect(derived.minValue).toBe(2);
262
+ });
263
+
264
+ test("shape is lazy and stays out of Object.keys", () => {
265
+ const schema = z.object({ a: z.string() });
266
+
267
+ expect(Object.prototype.hasOwnProperty.call(schema, "shape")).toEqual(false);
268
+ expect("shape" in schema).toEqual(true);
269
+ expect(Object.keys(schema)).not.toContain("shape");
270
+ expect({ ...schema }).not.toHaveProperty("shape");
271
+
272
+ expect(Object.keys(schema.shape)).toEqual(["a"]);
273
+
274
+ // Reading caches a non-enumerable own data property. An own accessor here would put every later object schema into V8 dictionary mode.
275
+ expect(Object.prototype.hasOwnProperty.call(schema, "shape")).toEqual(true);
276
+ expect(Object.getOwnPropertyDescriptor(schema, "shape")).toMatchObject({
277
+ writable: true,
278
+ enumerable: false,
279
+ configurable: true,
280
+ });
281
+ expect(Object.keys(schema)).not.toContain("shape");
282
+
283
+ const mini = zm.object({ a: zm.string() });
284
+ expect(Object.prototype.hasOwnProperty.call(mini, "shape")).toEqual(false);
285
+ expect(Object.keys(mini.shape)).toEqual(["a"]);
286
+ expect(Object.keys(mini)).not.toContain("shape");
287
+ });
288
+
289
+ test("shape accepts repeated assignment and recomputes after deletion", () => {
290
+ const schema: any = z.object({ a: z.string() });
291
+
292
+ schema.shape = { b: z.number() };
293
+ expect(Object.keys(schema.shape)).toEqual(["b"]);
294
+ // The cached property stays writable, so a second assignment does not throw in strict mode.
295
+ schema.shape = { c: z.boolean() };
296
+ expect(Object.keys(schema.shape)).toEqual(["c"]);
297
+
298
+ // Deleting clears the memo rather than removing the property, since the accessor lives on the prototype.
299
+ delete schema.shape;
300
+ expect(Object.keys(schema.shape)).toEqual(["a"]);
301
+ });
302
+
303
+ test("a self-referential shape getter breaks the cycle instead of recursing", () => {
304
+ const Self: any = z.object({
305
+ a: z.string(),
306
+ get b() {
307
+ return z.array(z.object(Self.shape));
308
+ },
309
+ });
310
+ expect(Object.keys(Self.shape)).toEqual(["a", "b"]);
311
+
312
+ const Mini: any = zm.object({
313
+ a: zm.string(),
314
+ get b() {
315
+ return zm.array(zm.object(Mini.shape));
316
+ },
317
+ });
318
+ expect(Object.keys(Mini.shape)).toEqual(["a", "b"]);
319
+ });
@@ -32,3 +32,96 @@ test("instanceof fatal", () => {
32
32
  const res = schema.safeParse(null);
33
33
  expect(res.success).toBe(false);
34
34
  });
35
+
36
+ test("instanceof respects customError", () => {
37
+ class Test {
38
+ name!: string;
39
+ }
40
+
41
+ z.config({
42
+ customError: () => {
43
+ return "This is invalid!";
44
+ },
45
+ });
46
+
47
+ const TestSchema = z.instanceof(Test);
48
+ const result = TestSchema.safeParse("whatever");
49
+ expect(result.success).toBe(false);
50
+ if (!result.success) {
51
+ const issue = result.error.issues[0];
52
+ expect(issue.code).toBe("invalid_type");
53
+ if (issue.code === "invalid_type") {
54
+ expect(issue.expected).toBe("Test");
55
+ }
56
+ expect(issue.message).toBe("This is invalid!");
57
+ }
58
+
59
+ z.config({ customError: undefined });
60
+ });
61
+
62
+ test("z.properties", () => {
63
+ const httpsUrl = z.instanceof(URL).check(
64
+ ...z.properties({
65
+ protocol: z.literal("https:"),
66
+ hostname: z.string().regex(z.regexes.domain),
67
+ })
68
+ );
69
+
70
+ expectTypeOf<URL>().toEqualTypeOf<z.infer<typeof httpsUrl>>();
71
+ expect(httpsUrl.safeParse(new URL("https://example.com")).success).toBe(true);
72
+
73
+ // One check iterates the whole shape, so every failing property reports — unlike the equivalent chain of z.property() calls, which aborts on the first.
74
+ const both = httpsUrl.safeParse(new URL("http://localhost"));
75
+ expect(both.error!.issues.map((i) => i.path)).toEqual([["protocol"], ["hostname"]]);
76
+
77
+ // A failing base schema yields its own issue and no property issues.
78
+ for (const input of ["not a url", null]) {
79
+ const issues = httpsUrl.safeParse(input).error!.issues;
80
+ expect(issues.map((i) => [i.code, i.path])).toEqual([["custom", []]]);
81
+ }
82
+
83
+ // Not specific to z.instanceof(). A base whose type mismatch aborts implicitly rather than explicitly must still not run the property checks against the rejected value.
84
+ const obj = z
85
+ .object({ a: z.string(), b: z.string() })
86
+ .check(...z.properties({ a: z.literal("x"), b: z.literal("y") }));
87
+ expect(obj.safeParse({ a: "x", b: "y" }).success).toBe(true);
88
+ expect(obj.safeParse({ a: "!", b: "!" }).error!.issues.map((i) => i.path)).toEqual([["a"], ["b"]]);
89
+ for (const input of [null, undefined, 5]) {
90
+ expect(obj.safeParse(input).error!.issues.map((i) => [i.code, i.path])).toEqual([["invalid_type", []]]);
91
+ }
92
+
93
+ // Known looseness versus the longhand, pinned so it stays deliberate: the check is typed over the whole shape, and `$ZodCheckInternals.check()` is a method, so TypeScript compares it bivariantly and accepts a check type that is a subtype of the target. Naming a key the target lacks therefore compiles here and fails at parse time, where the equivalent chain of `z.property()` calls rejects it outright.
94
+ z.object({ a: z.string() }).check(...z.properties({ a: z.literal("x"), b: z.literal("y") }));
95
+ expect(
96
+ z
97
+ .object({ a: z.string() })
98
+ .check(...z.properties({ a: z.string(), b: z.literal("y") }))
99
+ .safeParse({ a: "ok" })
100
+ .error!.issues.map((i) => [i.code, i.path])
101
+ ).toEqual([["invalid_value", ["b"]]]);
102
+
103
+ // literal and enum inputs widen to their primitive, so a `string`/`boolean` property accepts them without a cast, while a genuine type mismatch or an unknown key still fails to compile
104
+ z.instanceof(URL).check(z.property("protocol", z.literal("https:")));
105
+ z.instanceof(Request).check(...z.properties({ method: z.enum(["POST", "PUT"]), bodyUsed: z.literal(false) }));
106
+ // @ts-expect-error length is a number
107
+ z.string().check(z.property("length", z.string()));
108
+ // @ts-expect-error no such key
109
+ z.instanceof(URL).check(z.property("nope", z.string()));
110
+
111
+ // the check feeds the property value into its schema, so it is typed over the input side rather than the output
112
+ const stringToLength = z.property(
113
+ "a",
114
+ z.string().transform((s) => s.length)
115
+ );
116
+ z.object({ a: z.string() }).check(stringToLength);
117
+ // @ts-expect-error a is a number, the schema takes a string
118
+ z.object({ a: z.number() }).check(stringToLength);
119
+
120
+ // The properties check carries no `when`, so the schema stays on the compiled fast path.
121
+ const compiled = z.compile(httpsUrl);
122
+ expect(compiled.safeParse(new URL("https://example.com")).success).toBe(true);
123
+ expect(compiled.safeParse(new URL("http://localhost")).error!.issues.map((i) => i.path)).toEqual([
124
+ ["protocol"],
125
+ ["hostname"],
126
+ ]);
127
+ });