@openclaw/firecrawl-plugin 2026.9.4 → 2026.9.6

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 (676) hide show
  1. package/assets/activity.svg +31 -0
  2. package/assets/icon.png +0 -0
  3. package/dist/{firecrawl-client-BPFpIblh.js → .setup/firecrawl-client-hBjAoE8s.mjs} +25 -26
  4. package/dist/{firecrawl-fetch-provider-CIpxLKLq.js → .setup/firecrawl-fetch-provider-DH8FdBjV.mjs} +1 -1
  5. package/dist/{firecrawl-search-provider-80szkO8A.js → .setup/firecrawl-search-provider-8H0Cu9l0.mjs} +1 -1
  6. package/dist/api.js +1 -1
  7. package/dist/index.js +3 -3
  8. package/dist/web-fetch-contract-api.js +1 -1
  9. package/dist/web-fetch-provider.js +1 -1
  10. package/dist/web-search-contract-api.js +1 -1
  11. package/dist/web-search-provider.js +1 -1
  12. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  13. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  14. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
  15. package/node_modules/typebox/build/format/iri.mjs +5 -1
  16. package/node_modules/typebox/build/guard/emit.mjs +2 -4
  17. package/node_modules/typebox/build/guard/guard.mjs +6 -18
  18. package/node_modules/typebox/build/guard/string.mjs +16 -24
  19. package/node_modules/typebox/build/schema/build.mjs +2 -2
  20. package/node_modules/typebox/build/schema/check.mjs +1 -1
  21. package/node_modules/typebox/build/schema/compile.d.mts +3 -2
  22. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  23. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
  24. package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
  25. package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
  26. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  27. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
  28. package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
  29. package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
  30. package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
  31. package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
  32. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
  33. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
  34. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
  35. package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
  36. package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
  37. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
  38. package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
  39. package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
  40. package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
  41. package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
  42. package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
  43. package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
  44. package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
  45. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
  46. package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
  47. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
  48. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
  49. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
  50. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
  51. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
  52. package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
  53. package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
  54. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
  55. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
  56. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
  57. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
  58. package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
  59. package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
  60. package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
  61. package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
  62. package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
  63. package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
  64. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
  65. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
  66. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
  67. package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
  68. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
  69. package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
  70. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
  71. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
  72. package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
  73. package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
  74. package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
  75. package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
  76. package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
  77. package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
  78. package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
  79. package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
  80. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
  81. package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
  82. package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
  83. package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
  84. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
  85. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
  86. package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
  87. package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
  88. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
  89. package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
  90. package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
  91. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
  92. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
  93. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
  94. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
  95. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
  96. package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
  97. package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
  98. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
  99. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
  100. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
  101. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
  102. package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
  103. package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
  104. package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
  105. package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
  106. package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
  107. package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
  108. package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
  109. package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
  110. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
  111. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
  112. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
  113. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
  114. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
  115. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
  116. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  117. package/node_modules/typebox/build/schema/errors.mjs +8 -14
  118. package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
  119. package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
  120. package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
  121. package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
  122. package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
  123. package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
  124. package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
  125. package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
  126. package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
  127. package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
  128. package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
  129. package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
  130. package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
  131. package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
  132. package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
  133. package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
  134. package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
  135. package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
  136. package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
  137. package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
  138. package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
  139. package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
  140. package/node_modules/typebox/build/schema/parse.d.mts +1 -0
  141. package/node_modules/typebox/build/schema/parse.mjs +10 -5
  142. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
  143. package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
  144. package/node_modules/typebox/build/schema/schema.d.mts +2 -0
  145. package/node_modules/typebox/build/schema/schema.mjs +2 -0
  146. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
  147. package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
  148. package/node_modules/typebox/package.json +1 -1
  149. package/node_modules/typebox/readme.md +59 -89
  150. package/node_modules/zod/README.md +29 -2
  151. package/node_modules/zod/compile.cjs +96 -0
  152. package/node_modules/zod/compile.d.cts +1 -0
  153. package/node_modules/zod/compile.d.ts +1 -0
  154. package/node_modules/zod/compile.js +52 -0
  155. package/node_modules/zod/index.cjs +21 -2
  156. package/node_modules/zod/index.d.cts +1 -2
  157. package/node_modules/zod/index.d.ts +1 -2
  158. package/node_modules/zod/index.js +5 -2
  159. package/node_modules/zod/locales/index.cjs +19 -0
  160. package/node_modules/zod/mini/index.cjs +19 -0
  161. package/node_modules/zod/package.json +20 -8
  162. package/node_modules/zod/src/compile.ts +56 -0
  163. package/node_modules/zod/src/index.ts +5 -2
  164. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  165. package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
  166. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  167. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  168. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  169. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  170. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  171. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  172. package/node_modules/zod/src/v3/types.ts +5 -5
  173. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  174. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  175. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  176. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  177. package/node_modules/zod/src/v4/classic/external.ts +14 -9
  178. package/node_modules/zod/src/v4/classic/from-json-schema.ts +363 -78
  179. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  180. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  181. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  182. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  183. package/node_modules/zod/src/v4/classic/schemas.ts +640 -375
  184. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  185. package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
  186. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +186 -0
  187. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +36 -1
  188. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  189. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  190. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  191. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +3 -3
  192. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  193. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +985 -0
  194. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  195. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  196. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  197. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  198. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  199. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  200. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +261 -13
  201. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +20 -0
  202. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  203. package/node_modules/zod/src/v4/classic/tests/error.test.ts +403 -6
  204. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +582 -10
  205. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  206. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  207. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  208. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
  209. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  210. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  211. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +319 -0
  212. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +67 -0
  213. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  214. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +215 -0
  215. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  216. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  217. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  218. package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
  219. package/node_modules/zod/src/v4/classic/tests/number.test.ts +85 -9
  220. package/node_modules/zod/src/v4/classic/tests/object.test.ts +301 -12
  221. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +235 -0
  222. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  223. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  224. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
  225. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  226. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
  227. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  228. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  229. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +79 -3
  230. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  231. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  232. package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
  233. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
  234. package/node_modules/zod/src/v4/classic/tests/string.test.ts +222 -6
  235. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  236. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +44 -3
  237. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1812 -204
  238. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  239. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  240. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +645 -0
  241. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  242. package/node_modules/zod/src/v4/core/api.ts +87 -35
  243. package/node_modules/zod/src/v4/core/checks.ts +119 -146
  244. package/node_modules/zod/src/v4/core/compile.ts +2313 -0
  245. package/node_modules/zod/src/v4/core/core.ts +99 -22
  246. package/node_modules/zod/src/v4/core/doc.ts +17 -9
  247. package/node_modules/zod/src/v4/core/errors.ts +113 -25
  248. package/node_modules/zod/src/v4/core/index.ts +3 -0
  249. package/node_modules/zod/src/v4/core/json-schema-generator.ts +8 -3
  250. package/node_modules/zod/src/v4/core/json-schema-processors.ts +424 -156
  251. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  252. package/node_modules/zod/src/v4/core/memoizer.ts +331 -0
  253. package/node_modules/zod/src/v4/core/parse.ts +164 -50
  254. package/node_modules/zod/src/v4/core/regexes.ts +42 -15
  255. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  256. package/node_modules/zod/src/v4/core/schemas.ts +1000 -538
  257. package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
  258. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +1004 -0
  259. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
  260. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  261. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  262. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  263. package/node_modules/zod/src/v4/core/tests/compile.test.ts +2036 -0
  264. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
  265. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  266. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  267. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  268. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  269. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
  270. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  271. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  272. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  273. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +133 -0
  274. package/node_modules/zod/src/v4/core/to-json-schema.ts +283 -48
  275. package/node_modules/zod/src/v4/core/util.ts +454 -157
  276. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  277. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  278. package/node_modules/zod/src/v4/index.ts +3 -3
  279. package/node_modules/zod/src/v4/locales/ar.ts +5 -0
  280. package/node_modules/zod/src/v4/locales/az.ts +5 -0
  281. package/node_modules/zod/src/v4/locales/be.ts +12 -0
  282. package/node_modules/zod/src/v4/locales/bg.ts +5 -0
  283. package/node_modules/zod/src/v4/locales/bn.ts +123 -0
  284. package/node_modules/zod/src/v4/locales/ca.ts +5 -0
  285. package/node_modules/zod/src/v4/locales/ckb.ts +140 -0
  286. package/node_modules/zod/src/v4/locales/cs.ts +5 -0
  287. package/node_modules/zod/src/v4/locales/da.ts +7 -2
  288. package/node_modules/zod/src/v4/locales/de.ts +5 -0
  289. package/node_modules/zod/src/v4/locales/el.ts +3 -0
  290. package/node_modules/zod/src/v4/locales/en.ts +17 -4
  291. package/node_modules/zod/src/v4/locales/eo.ts +5 -0
  292. package/node_modules/zod/src/v4/locales/es.ts +4 -0
  293. package/node_modules/zod/src/v4/locales/fa.ts +5 -0
  294. package/node_modules/zod/src/v4/locales/fi.ts +5 -0
  295. package/node_modules/zod/src/v4/locales/fr-CA.ts +5 -0
  296. package/node_modules/zod/src/v4/locales/fr.ts +21 -14
  297. package/node_modules/zod/src/v4/locales/gu.ts +123 -0
  298. package/node_modules/zod/src/v4/locales/he.ts +8 -1
  299. package/node_modules/zod/src/v4/locales/hi.ts +126 -0
  300. package/node_modules/zod/src/v4/locales/hr.ts +4 -0
  301. package/node_modules/zod/src/v4/locales/hu.ts +5 -0
  302. package/node_modules/zod/src/v4/locales/hy.ts +11 -0
  303. package/node_modules/zod/src/v4/locales/id.ts +5 -0
  304. package/node_modules/zod/src/v4/locales/index.ts +11 -0
  305. package/node_modules/zod/src/v4/locales/is.ts +5 -0
  306. package/node_modules/zod/src/v4/locales/it.ts +5 -0
  307. package/node_modules/zod/src/v4/locales/ja.ts +5 -0
  308. package/node_modules/zod/src/v4/locales/ka.ts +5 -0
  309. package/node_modules/zod/src/v4/locales/km.ts +5 -0
  310. package/node_modules/zod/src/v4/locales/kn.ts +126 -0
  311. package/node_modules/zod/src/v4/locales/ko.ts +5 -0
  312. package/node_modules/zod/src/v4/locales/lt.ts +4 -0
  313. package/node_modules/zod/src/v4/locales/mk.ts +5 -0
  314. package/node_modules/zod/src/v4/locales/ms.ts +5 -0
  315. package/node_modules/zod/src/v4/locales/ne.ts +128 -0
  316. package/node_modules/zod/src/v4/locales/nl.ts +5 -0
  317. package/node_modules/zod/src/v4/locales/nn.ts +121 -0
  318. package/node_modules/zod/src/v4/locales/no.ts +7 -2
  319. package/node_modules/zod/src/v4/locales/ota.ts +5 -0
  320. package/node_modules/zod/src/v4/locales/pl.ts +5 -0
  321. package/node_modules/zod/src/v4/locales/ps.ts +5 -0
  322. package/node_modules/zod/src/v4/locales/pt-BR.ts +161 -0
  323. package/node_modules/zod/src/v4/locales/pt.ts +101 -58
  324. package/node_modules/zod/src/v4/locales/ro.ts +3 -0
  325. package/node_modules/zod/src/v4/locales/ru.ts +12 -0
  326. package/node_modules/zod/src/v4/locales/sk.ts +123 -0
  327. package/node_modules/zod/src/v4/locales/sl.ts +5 -0
  328. package/node_modules/zod/src/v4/locales/sv.ts +7 -2
  329. package/node_modules/zod/src/v4/locales/ta.ts +5 -0
  330. package/node_modules/zod/src/v4/locales/tg.ts +135 -0
  331. package/node_modules/zod/src/v4/locales/th.ts +5 -0
  332. package/node_modules/zod/src/v4/locales/tk.ts +113 -0
  333. package/node_modules/zod/src/v4/locales/tr.ts +5 -0
  334. package/node_modules/zod/src/v4/locales/uk.ts +5 -0
  335. package/node_modules/zod/src/v4/locales/ur.ts +5 -0
  336. package/node_modules/zod/src/v4/locales/uz.ts +3 -0
  337. package/node_modules/zod/src/v4/locales/vi.ts +5 -0
  338. package/node_modules/zod/src/v4/locales/yo.ts +5 -0
  339. package/node_modules/zod/src/v4/locales/zh-CN.ts +5 -0
  340. package/node_modules/zod/src/v4/locales/zh-TW.ts +5 -0
  341. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  342. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  343. package/node_modules/zod/src/v4/mini/external.ts +12 -1
  344. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  345. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  346. package/node_modules/zod/src/v4/mini/schemas.ts +167 -63
  347. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  348. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  349. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  350. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  351. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
  352. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  353. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  354. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  355. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  356. package/node_modules/zod/src/v4/mini/tests/index.test.ts +158 -5
  357. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  358. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  359. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
  360. package/node_modules/zod/src/v4/mini/tests/string.test.ts +44 -0
  361. package/node_modules/zod/v3/ZodError.cjs +41 -12
  362. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  363. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  364. package/node_modules/zod/v3/ZodError.js +22 -12
  365. package/node_modules/zod/v3/errors.cjs +19 -0
  366. package/node_modules/zod/v3/external.cjs +19 -0
  367. package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
  368. package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
  369. package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
  370. package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
  371. package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
  372. package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
  373. package/node_modules/zod/v3/helpers/util.cjs +19 -0
  374. package/node_modules/zod/v3/index.cjs +19 -0
  375. package/node_modules/zod/v3/standard-schema.cjs +19 -0
  376. package/node_modules/zod/v3/types.cjs +26 -5
  377. package/node_modules/zod/v3/types.js +7 -5
  378. package/node_modules/zod/v4/classic/checks.cjs +21 -1
  379. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  380. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  381. package/node_modules/zod/v4/classic/checks.js +1 -1
  382. package/node_modules/zod/v4/classic/coerce.cjs +19 -0
  383. package/node_modules/zod/v4/classic/compat.cjs +19 -0
  384. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  385. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  386. package/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
  387. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  388. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  389. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  390. package/node_modules/zod/v4/classic/errors.cjs +62 -34
  391. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  392. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  393. package/node_modules/zod/v4/classic/errors.js +43 -34
  394. package/node_modules/zod/v4/classic/external.cjs +51 -27
  395. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  396. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  397. package/node_modules/zod/v4/classic/external.js +5 -8
  398. package/node_modules/zod/v4/classic/from-json-schema.cjs +376 -75
  399. package/node_modules/zod/v4/classic/from-json-schema.js +357 -75
  400. package/node_modules/zod/v4/classic/in-out.cjs +82 -0
  401. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  402. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  403. package/node_modules/zod/v4/classic/in-out.js +36 -0
  404. package/node_modules/zod/v4/classic/index.cjs +21 -2
  405. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  406. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  407. package/node_modules/zod/v4/classic/index.js +2 -2
  408. package/node_modules/zod/v4/classic/iso.cjs +30 -22
  409. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  410. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  411. package/node_modules/zod/v4/classic/iso.js +2 -17
  412. package/node_modules/zod/v4/classic/parse.cjs +23 -1
  413. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  414. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  415. package/node_modules/zod/v4/classic/parse.js +1 -0
  416. package/node_modules/zod/v4/classic/schemas.cjs +591 -426
  417. package/node_modules/zod/v4/classic/schemas.d.cts +68 -19
  418. package/node_modules/zod/v4/classic/schemas.d.ts +68 -19
  419. package/node_modules/zod/v4/classic/schemas.js +564 -424
  420. package/node_modules/zod/v4/core/api.cjs +66 -24
  421. package/node_modules/zod/v4/core/api.d.cts +22 -12
  422. package/node_modules/zod/v4/core/api.d.ts +22 -12
  423. package/node_modules/zod/v4/core/api.js +44 -24
  424. package/node_modules/zod/v4/core/checks.cjs +88 -128
  425. package/node_modules/zod/v4/core/checks.d.cts +29 -13
  426. package/node_modules/zod/v4/core/checks.d.ts +29 -13
  427. package/node_modules/zod/v4/core/checks.js +68 -127
  428. package/node_modules/zod/v4/core/compile.cjs +1908 -0
  429. package/node_modules/zod/v4/core/compile.d.cts +65 -0
  430. package/node_modules/zod/v4/core/compile.d.ts +65 -0
  431. package/node_modules/zod/v4/core/compile.js +1858 -0
  432. package/node_modules/zod/v4/core/core.cjs +101 -19
  433. package/node_modules/zod/v4/core/core.d.cts +16 -4
  434. package/node_modules/zod/v4/core/core.d.ts +16 -4
  435. package/node_modules/zod/v4/core/core.js +83 -20
  436. package/node_modules/zod/v4/core/doc.cjs +31 -9
  437. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  438. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  439. package/node_modules/zod/v4/core/doc.js +12 -9
  440. package/node_modules/zod/v4/core/errors.cjs +126 -25
  441. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  442. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  443. package/node_modules/zod/v4/core/errors.js +107 -25
  444. package/node_modules/zod/v4/core/index.cjs +24 -1
  445. package/node_modules/zod/v4/core/index.d.cts +3 -0
  446. package/node_modules/zod/v4/core/index.d.ts +3 -0
  447. package/node_modules/zod/v4/core/index.js +3 -0
  448. package/node_modules/zod/v4/core/json-schema-generator.cjs +24 -1
  449. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  450. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  451. package/node_modules/zod/v4/core/json-schema-generator.js +6 -2
  452. package/node_modules/zod/v4/core/json-schema-processors.cjs +441 -156
  453. package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
  454. package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
  455. package/node_modules/zod/v4/core/json-schema-processors.js +400 -158
  456. package/node_modules/zod/v4/core/json-schema.cjs +19 -0
  457. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  458. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  459. package/node_modules/zod/v4/core/memoizer.cjs +360 -0
  460. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  461. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  462. package/node_modules/zod/v4/core/memoizer.js +311 -0
  463. package/node_modules/zod/v4/core/parse.cjs +148 -46
  464. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  465. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  466. package/node_modules/zod/v4/core/parse.js +127 -45
  467. package/node_modules/zod/v4/core/regexes.cjs +54 -17
  468. package/node_modules/zod/v4/core/regexes.d.cts +5 -0
  469. package/node_modules/zod/v4/core/regexes.d.ts +5 -0
  470. package/node_modules/zod/v4/core/regexes.js +32 -15
  471. package/node_modules/zod/v4/core/registries.cjs +19 -0
  472. package/node_modules/zod/v4/core/registries.js +2 -2
  473. package/node_modules/zod/v4/core/schemas.cjs +785 -386
  474. package/node_modules/zod/v4/core/schemas.d.cts +123 -34
  475. package/node_modules/zod/v4/core/schemas.d.ts +123 -34
  476. package/node_modules/zod/v4/core/schemas.js +753 -386
  477. package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
  478. package/node_modules/zod/v4/core/to-json-schema.cjs +269 -45
  479. package/node_modules/zod/v4/core/to-json-schema.d.cts +45 -5
  480. package/node_modules/zod/v4/core/to-json-schema.d.ts +45 -5
  481. package/node_modules/zod/v4/core/to-json-schema.js +247 -44
  482. package/node_modules/zod/v4/core/util.cjs +372 -157
  483. package/node_modules/zod/v4/core/util.d.cts +79 -1
  484. package/node_modules/zod/v4/core/util.d.ts +79 -1
  485. package/node_modules/zod/v4/core/util.js +341 -156
  486. package/node_modules/zod/v4/core/versions.cjs +21 -2
  487. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  488. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  489. package/node_modules/zod/v4/core/versions.js +2 -2
  490. package/node_modules/zod/v4/core/visit.cjs +214 -0
  491. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  492. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  493. package/node_modules/zod/v4/core/visit.js +169 -0
  494. package/node_modules/zod/v4/index.cjs +34 -5
  495. package/node_modules/zod/v4/index.d.cts +2 -2
  496. package/node_modules/zod/v4/index.d.ts +2 -2
  497. package/node_modules/zod/v4/index.js +3 -2
  498. package/node_modules/zod/v4/locales/ar.cjs +5 -0
  499. package/node_modules/zod/v4/locales/ar.js +5 -0
  500. package/node_modules/zod/v4/locales/az.cjs +5 -0
  501. package/node_modules/zod/v4/locales/az.js +5 -0
  502. package/node_modules/zod/v4/locales/be.cjs +12 -0
  503. package/node_modules/zod/v4/locales/be.js +12 -0
  504. package/node_modules/zod/v4/locales/bg.cjs +5 -0
  505. package/node_modules/zod/v4/locales/bg.js +5 -0
  506. package/node_modules/zod/v4/locales/bn.cjs +140 -0
  507. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  508. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  509. package/node_modules/zod/v4/locales/bn.js +113 -0
  510. package/node_modules/zod/v4/locales/ca.cjs +5 -0
  511. package/node_modules/zod/v4/locales/ca.js +5 -0
  512. package/node_modules/zod/v4/locales/ckb.cjs +160 -0
  513. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  514. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  515. package/node_modules/zod/v4/locales/ckb.js +133 -0
  516. package/node_modules/zod/v4/locales/cs.cjs +5 -0
  517. package/node_modules/zod/v4/locales/cs.js +5 -0
  518. package/node_modules/zod/v4/locales/da.cjs +7 -2
  519. package/node_modules/zod/v4/locales/da.js +7 -2
  520. package/node_modules/zod/v4/locales/de.cjs +5 -0
  521. package/node_modules/zod/v4/locales/de.js +5 -0
  522. package/node_modules/zod/v4/locales/el.cjs +3 -0
  523. package/node_modules/zod/v4/locales/el.js +3 -0
  524. package/node_modules/zod/v4/locales/en.cjs +16 -4
  525. package/node_modules/zod/v4/locales/en.js +16 -4
  526. package/node_modules/zod/v4/locales/eo.cjs +5 -0
  527. package/node_modules/zod/v4/locales/eo.js +5 -0
  528. package/node_modules/zod/v4/locales/es.cjs +4 -0
  529. package/node_modules/zod/v4/locales/es.js +4 -0
  530. package/node_modules/zod/v4/locales/fa.cjs +5 -0
  531. package/node_modules/zod/v4/locales/fa.js +5 -0
  532. package/node_modules/zod/v4/locales/fi.cjs +5 -0
  533. package/node_modules/zod/v4/locales/fi.js +5 -0
  534. package/node_modules/zod/v4/locales/fr-CA.cjs +5 -0
  535. package/node_modules/zod/v4/locales/fr-CA.js +5 -0
  536. package/node_modules/zod/v4/locales/fr.cjs +18 -14
  537. package/node_modules/zod/v4/locales/fr.js +18 -14
  538. package/node_modules/zod/v4/locales/gu.cjs +140 -0
  539. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  540. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  541. package/node_modules/zod/v4/locales/gu.js +113 -0
  542. package/node_modules/zod/v4/locales/he.cjs +7 -0
  543. package/node_modules/zod/v4/locales/he.js +7 -0
  544. package/node_modules/zod/v4/locales/hi.cjs +138 -0
  545. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  546. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  547. package/node_modules/zod/v4/locales/hi.js +111 -0
  548. package/node_modules/zod/v4/locales/hr.cjs +4 -0
  549. package/node_modules/zod/v4/locales/hr.js +4 -0
  550. package/node_modules/zod/v4/locales/hu.cjs +5 -0
  551. package/node_modules/zod/v4/locales/hu.js +5 -0
  552. package/node_modules/zod/v4/locales/hy.cjs +11 -0
  553. package/node_modules/zod/v4/locales/hy.js +11 -0
  554. package/node_modules/zod/v4/locales/id.cjs +5 -0
  555. package/node_modules/zod/v4/locales/id.js +5 -0
  556. package/node_modules/zod/v4/locales/index.cjs +43 -2
  557. package/node_modules/zod/v4/locales/index.d.cts +11 -0
  558. package/node_modules/zod/v4/locales/index.d.ts +11 -0
  559. package/node_modules/zod/v4/locales/index.js +11 -0
  560. package/node_modules/zod/v4/locales/is.cjs +5 -0
  561. package/node_modules/zod/v4/locales/is.js +5 -0
  562. package/node_modules/zod/v4/locales/it.cjs +5 -0
  563. package/node_modules/zod/v4/locales/it.js +5 -0
  564. package/node_modules/zod/v4/locales/ja.cjs +5 -0
  565. package/node_modules/zod/v4/locales/ja.js +5 -0
  566. package/node_modules/zod/v4/locales/ka.cjs +5 -0
  567. package/node_modules/zod/v4/locales/ka.js +5 -0
  568. package/node_modules/zod/v4/locales/km.cjs +5 -0
  569. package/node_modules/zod/v4/locales/km.js +5 -0
  570. package/node_modules/zod/v4/locales/kn.cjs +143 -0
  571. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  572. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  573. package/node_modules/zod/v4/locales/kn.js +116 -0
  574. package/node_modules/zod/v4/locales/ko.cjs +5 -0
  575. package/node_modules/zod/v4/locales/ko.js +5 -0
  576. package/node_modules/zod/v4/locales/lt.cjs +4 -0
  577. package/node_modules/zod/v4/locales/lt.js +4 -0
  578. package/node_modules/zod/v4/locales/mk.cjs +5 -0
  579. package/node_modules/zod/v4/locales/mk.js +5 -0
  580. package/node_modules/zod/v4/locales/ms.cjs +5 -0
  581. package/node_modules/zod/v4/locales/ms.js +5 -0
  582. package/node_modules/zod/v4/locales/ne.cjs +138 -0
  583. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  584. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  585. package/node_modules/zod/v4/locales/ne.js +111 -0
  586. package/node_modules/zod/v4/locales/nl.cjs +5 -0
  587. package/node_modules/zod/v4/locales/nl.js +5 -0
  588. package/node_modules/zod/v4/locales/nn.cjs +140 -0
  589. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  590. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  591. package/node_modules/zod/v4/locales/nn.js +113 -0
  592. package/node_modules/zod/v4/locales/no.cjs +7 -2
  593. package/node_modules/zod/v4/locales/no.js +7 -2
  594. package/node_modules/zod/v4/locales/ota.cjs +5 -0
  595. package/node_modules/zod/v4/locales/ota.js +5 -0
  596. package/node_modules/zod/v4/locales/pl.cjs +5 -0
  597. package/node_modules/zod/v4/locales/pl.js +5 -0
  598. package/node_modules/zod/v4/locales/ps.cjs +5 -0
  599. package/node_modules/zod/v4/locales/ps.js +5 -0
  600. package/node_modules/zod/v4/locales/pt-BR.cjs +170 -0
  601. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  602. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  603. package/node_modules/zod/v4/locales/pt-BR.js +143 -0
  604. package/node_modules/zod/v4/locales/pt.cjs +89 -55
  605. package/node_modules/zod/v4/locales/pt.js +89 -55
  606. package/node_modules/zod/v4/locales/ro.cjs +3 -0
  607. package/node_modules/zod/v4/locales/ro.js +3 -0
  608. package/node_modules/zod/v4/locales/ru.cjs +12 -0
  609. package/node_modules/zod/v4/locales/ru.js +12 -0
  610. package/node_modules/zod/v4/locales/sk.cjs +143 -0
  611. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  612. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  613. package/node_modules/zod/v4/locales/sk.js +116 -0
  614. package/node_modules/zod/v4/locales/sl.cjs +5 -0
  615. package/node_modules/zod/v4/locales/sl.js +5 -0
  616. package/node_modules/zod/v4/locales/sv.cjs +7 -2
  617. package/node_modules/zod/v4/locales/sv.js +7 -2
  618. package/node_modules/zod/v4/locales/ta.cjs +5 -0
  619. package/node_modules/zod/v4/locales/ta.js +5 -0
  620. package/node_modules/zod/v4/locales/tg.cjs +144 -0
  621. package/node_modules/zod/v4/locales/tg.d.cts +5 -0
  622. package/node_modules/zod/v4/locales/tg.d.ts +4 -0
  623. package/node_modules/zod/v4/locales/tg.js +117 -0
  624. package/node_modules/zod/v4/locales/th.cjs +5 -0
  625. package/node_modules/zod/v4/locales/th.js +5 -0
  626. package/node_modules/zod/v4/locales/tk.cjs +134 -0
  627. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  628. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  629. package/node_modules/zod/v4/locales/tk.js +107 -0
  630. package/node_modules/zod/v4/locales/tr.cjs +5 -0
  631. package/node_modules/zod/v4/locales/tr.js +5 -0
  632. package/node_modules/zod/v4/locales/uk.cjs +5 -0
  633. package/node_modules/zod/v4/locales/uk.js +5 -0
  634. package/node_modules/zod/v4/locales/ur.cjs +5 -0
  635. package/node_modules/zod/v4/locales/ur.js +5 -0
  636. package/node_modules/zod/v4/locales/uz.cjs +3 -0
  637. package/node_modules/zod/v4/locales/uz.js +3 -0
  638. package/node_modules/zod/v4/locales/vi.cjs +5 -0
  639. package/node_modules/zod/v4/locales/vi.js +5 -0
  640. package/node_modules/zod/v4/locales/yo.cjs +5 -0
  641. package/node_modules/zod/v4/locales/yo.js +5 -0
  642. package/node_modules/zod/v4/locales/zh-CN.cjs +5 -0
  643. package/node_modules/zod/v4/locales/zh-CN.js +5 -0
  644. package/node_modules/zod/v4/locales/zh-TW.cjs +5 -0
  645. package/node_modules/zod/v4/locales/zh-TW.js +5 -0
  646. package/node_modules/zod/v4/mini/checks.cjs +21 -1
  647. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  648. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  649. package/node_modules/zod/v4/mini/checks.js +1 -1
  650. package/node_modules/zod/v4/mini/coerce.cjs +19 -0
  651. package/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
  652. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  653. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  654. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  655. package/node_modules/zod/v4/mini/external.cjs +33 -1
  656. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  657. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  658. package/node_modules/zod/v4/mini/external.js +3 -1
  659. package/node_modules/zod/v4/mini/in-out.cjs +82 -0
  660. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  661. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  662. package/node_modules/zod/v4/mini/in-out.js +36 -0
  663. package/node_modules/zod/v4/mini/index.cjs +19 -0
  664. package/node_modules/zod/v4/mini/iso.cjs +19 -0
  665. package/node_modules/zod/v4/mini/parse.cjs +22 -1
  666. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  667. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  668. package/node_modules/zod/v4/mini/parse.js +1 -1
  669. package/node_modules/zod/v4/mini/schemas.cjs +117 -53
  670. package/node_modules/zod/v4/mini/schemas.d.cts +49 -14
  671. package/node_modules/zod/v4/mini/schemas.d.ts +49 -14
  672. package/node_modules/zod/v4/mini/schemas.js +92 -51
  673. package/node_modules/zod/v4-mini/index.cjs +19 -0
  674. package/openclaw.plugin.json +15 -1
  675. package/package.json +9 -7
  676. package/node_modules/zod/src/v4/core/config.ts +0 -15
@@ -86,6 +86,58 @@ export type ParsedTypes =
86
86
  export type AssertEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? true : false;
87
87
  export type AssertNotEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? false : true;
88
88
  export type AssertExtends<T, U> = T extends U ? T : never;
89
+ type ToZodMismatch<T, S extends schemas.$ZodType> = {
90
+ "types do not match": {
91
+ expected: T;
92
+ received: S["_zod"]["output"];
93
+ };
94
+ };
95
+
96
+ // Stays a `$ZodType` so it still satisfies the shape constraint, and carries a brand no real schema has so the offending property is the one TypeScript reports as unassignable.
97
+ type ToZodKeyMismatch<Expected, Received> = schemas.$ZodType & {
98
+ "types do not match": { expected: Expected; received: Received };
99
+ };
100
+
101
+ // An enum reference and the union of exactly its members are mutually assignable but not identical, so `AssertEqual` alone rejects `z.enum(SomeEnum)` against a `SomeEnum` target. Unioning each side with a private dummy forces the union to be rebuilt, which collapses that one difference and nothing else — plain literals against an enum, member subsets, brands and `any` all still fail. The symbol is not exported, so no user type can smuggle it in and cancel a real difference.
102
+ declare const toZodDummy: unique symbol;
103
+
104
+ // Homomorphic, so `readonly` and optional modifiers survive the rebuild and only leaves are normalized. An intersection flattens here, which is why an intersection target and the flat object with the same keys match each other. A callable stops the walk because `keyof` a function is `never`, so mapping one would erase its signature and make every function compare equal.
105
+ type ToZodNormalize<T> = [T] extends [(...args: any[]) => any]
106
+ ? T
107
+ : [T] extends [object]
108
+ ? { [K in keyof T]: ToZodNormalize<T[K]> }
109
+ : T | typeof toZodDummy;
110
+
111
+ type ToZodEqual<Output, T> = AssertEqual<Output, T> extends true
112
+ ? true
113
+ : IsAny<Output> extends true
114
+ ? false
115
+ : IsAny<T> extends true
116
+ ? false
117
+ : AssertEqual<ToZodNormalize<Output>, ToZodNormalize<T>>;
118
+
119
+ // Rebuilds the shape with a marker on each key that disagrees, so the diagnostic names the key instead of failing the whole schema at the top level. A key the target lacks reports `expected: never`; a key the schema lacks reports `received: never`.
120
+ type ToZodShape<Shape, T> = {
121
+ [K in keyof Shape]: Shape[K] extends schemas.$ZodType
122
+ ? K extends keyof T
123
+ ? ToZodEqual<Shape[K]["_zod"]["output"], T[K]> extends true
124
+ ? Shape[K]
125
+ : ToZodKeyMismatch<T[K], Shape[K]["_zod"]["output"]>
126
+ : ToZodKeyMismatch<never, Shape[K]["_zod"]["output"]>
127
+ : Shape[K];
128
+ } & { [K in Exclude<keyof T, keyof Shape>]: ToZodKeyMismatch<T[K], never> };
129
+
130
+ // Forces the mapped type to display expanded, so the error prints the keys rather than the alias name.
131
+ type ToZodExpand<X> = { [K in keyof X]: X[K] } & {};
132
+
133
+ // Only localizes when a key is genuinely at fault. A whole-type difference the per-key walk cannot see — a `readonly` modifier, an intersection versus the flat object with the same keys — leaves every key agreeing, and reporting nothing there would silently accept what the top-level check rejected.
134
+ type ToZodTarget<S extends schemas.$ZodType, T> = S extends schemas.$ZodObject<infer Shape, infer Config>
135
+ ? T extends object
136
+ ? AssertEqual<ToZodExpand<ToZodShape<Shape, T>>, ToZodExpand<Shape>> extends true
137
+ ? S & ToZodMismatch<T, S>
138
+ : schemas.$ZodObject<ToZodExpand<ToZodShape<Shape, T>>, Config>
139
+ : S & ToZodMismatch<T, S>
140
+ : S & ToZodMismatch<T, S>;
89
141
  export type IsAny<T> = 0 extends 1 & T ? true : false;
90
142
  export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
91
143
  export type OmitKeys<T, K extends string> = Pick<T, Exclude<keyof T, K>>;
@@ -95,6 +147,17 @@ export type MakeRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K
95
147
  export type Exactly<T, X> = T & Record<Exclude<keyof X, keyof T>, never>;
96
148
  export type NoUndefined<T> = T extends undefined ? never : T;
97
149
  export type Whatever = {} | undefined | null;
150
+ // literal inputs widen to their primitive so a property check over `"https:"` accepts a `string` property
151
+ export type Widen<T> = T extends string
152
+ ? string
153
+ : T extends number
154
+ ? number
155
+ : T extends boolean
156
+ ? boolean
157
+ : T extends bigint
158
+ ? bigint
159
+ : T;
160
+
98
161
  export type LoosePartial<T extends object> = InexactPartial<T> & {
99
162
  [k: string]: unknown;
100
163
  };
@@ -197,6 +260,12 @@ export function assertNotEqual<A, B>(val: AssertNotEqual<A, B>): AssertNotEqual<
197
260
  return val;
198
261
  }
199
262
 
263
+ export function toZod<T>(): <S extends schemas.$ZodType>(
264
+ schema: ToZodEqual<S["_zod"]["output"], T> extends true ? S : ToZodTarget<S, T>
265
+ ) => S {
266
+ return (schema) => schema as any;
267
+ }
268
+
200
269
  export function assertIs<T>(_arg: T): void {}
201
270
 
202
271
  export function assertNever(_x: never): never {
@@ -221,18 +290,28 @@ export function jsonStringifyReplacer(_: string, value: any): any {
221
290
  return value;
222
291
  }
223
292
 
293
+ // the accessor lives on a shared prototype: an own accessor makes every box a dictionary-mode object (~360 B and a slow load per read against ~100 B and an inlined getter here)
294
+ class Cached<T> {
295
+ _getter: (() => T) | undefined;
296
+ _value: T | undefined;
297
+
298
+ constructor(getter: () => T) {
299
+ this._getter = getter;
300
+ this._value = undefined;
301
+ }
302
+
303
+ get value(): T {
304
+ const getter = this._getter;
305
+ if (getter !== undefined) {
306
+ this._value = getter();
307
+ this._getter = undefined;
308
+ }
309
+ return this._value as T;
310
+ }
311
+ }
312
+
224
313
  export function cached<T>(getter: () => T): { value: T } {
225
- const set = false;
226
- return {
227
- get value() {
228
- if (!set) {
229
- const value = getter();
230
- Object.defineProperty(this, "value", { value });
231
- return value;
232
- }
233
- throw new Error("cached value already set");
234
- },
235
- };
314
+ return new Cached(getter);
236
315
  }
237
316
 
238
317
  export function nullish(input: any): boolean {
@@ -248,8 +327,8 @@ export function cleanRegex(source: string): string {
248
327
  export function floatSafeRemainder(val: number, step: number): number {
249
328
  const ratio = val / step;
250
329
  const roundedRatio = Math.round(ratio);
251
- // Use a relative epsilon scaled to the magnitude of the result
252
- const tolerance = Number.EPSILON * Math.max(Math.abs(ratio), 1);
330
+ // `val` and `step` each round to a double before the division rounds again, so a true decimal multiple's quotient can sit up to 1.5 of these scaled epsilons from the integer. A 1x tolerance therefore rejected 2.03 as a multiple of 0.07; 4x covers the worst case with margin.
331
+ const tolerance = 4 * Number.EPSILON * Math.max(Math.abs(ratio), 1);
253
332
  if (Math.abs(ratio - roundedRatio) < tolerance) return 0;
254
333
  return ratio - roundedRatio;
255
334
  }
@@ -298,6 +377,80 @@ export function assignProp<T extends object, K extends PropertyKey>(
298
377
  });
299
378
  }
300
379
 
380
+ /** A def's `shape` accessor, carrying whichever object it currently answers from. */
381
+ export interface ShapeGetter {
382
+ (): Record<PropertyKey, any>;
383
+ raw: Record<PropertyKey, any>;
384
+ }
385
+
386
+ /**
387
+ * Whichever object a def's `shape` currently answers from: the one the caller passed until the first read, the frozen copy after it.
388
+ *
389
+ * Its keys and descriptors read without invoking anything, which is what lets a discriminated union check its discriminator, and the cycle walk read a shape, without resolving a getter that references the schema being constructed. A def that answers `shape` from an accessor of its own has none.
390
+ */
391
+ export function rawShape(def: any): Record<PropertyKey, any> | undefined {
392
+ const desc = Object.getOwnPropertyDescriptor(def, "shape");
393
+ return desc?.get ? (desc.get as ShapeGetter).raw : desc?.value;
394
+ }
395
+
396
+ // where a builder reads its source's keys and descriptors, resolving only a shape a def answers for itself. A shape resolves by object spread, so only its enumerable keys are ever part of it.
397
+ function sourceShape(schema: schemas.$ZodObject): Record<PropertyKey, any> {
398
+ return rawShape(schema._zod.def) ?? (schema._zod.def.shape as any);
399
+ }
400
+
401
+ // a key whose value is not settled yet, self-caching so every read after the first gets the same one
402
+ function deferProp(target: object, key: PropertyKey, getter: () => any): void {
403
+ Object.defineProperty(target, key, {
404
+ get(this: any) {
405
+ const value = getter();
406
+ assignProp(this, key as any, value);
407
+ return value;
408
+ },
409
+ enumerable: true,
410
+ configurable: true,
411
+ });
412
+ }
413
+
414
+ // Writes a settled key. A plain assignment is much cheaper than `defineProperty` and produces the same descriptor, but it runs whatever setter already answers to the key — an accessor this shape deferred, or an inherited one, which `__proto__` has on every object and prototype pollution can add for any name.
415
+ function putProp(target: any, key: PropertyKey, value: any): void {
416
+ if (key in target) assignProp(target, key as any, value);
417
+ else target[key] = value;
418
+ }
419
+
420
+ /**
421
+ * Copies `keys` of `source`'s shape onto `target`, each value passed through `wrap`.
422
+ *
423
+ * A key the source has resolved is copied through now, so the derived shape states it outright and nothing has to resolve it to learn what it holds. A key the source still defers stays deferred, and reads back through the source's own `shape`, so it resolves once and both shapes get that one schema.
424
+ */
425
+ function mirrorShape(
426
+ target: object,
427
+ source: schemas.$ZodObject,
428
+ keys: PropertyKey[],
429
+ wrap?: ((value: any, key: PropertyKey) => any) | null
430
+ ): void {
431
+ const raw = sourceShape(source);
432
+ for (const key of keys) {
433
+ const desc = Object.getOwnPropertyDescriptor(raw, key)!;
434
+ if (!desc.enumerable) continue;
435
+ if (desc.get) {
436
+ deferProp(target, key, () => {
437
+ const value = (source._zod.def.shape as any)[key];
438
+ return wrap ? wrap(value, key) : value;
439
+ });
440
+ } else putProp(target, key, wrap ? wrap(desc.value, key) : desc.value);
441
+ }
442
+ }
443
+
444
+ // same, for a plain shape a caller passed rather than a schema's
445
+ function mirrorProps(target: object, source: Record<PropertyKey, any>): void {
446
+ for (const key of Reflect.ownKeys(source)) {
447
+ const desc = Object.getOwnPropertyDescriptor(source, key)!;
448
+ if (!desc.enumerable) continue;
449
+ if (desc.get) deferProp(target, key, () => source[key as any]);
450
+ else putProp(target, key, desc.value);
451
+ }
452
+ }
453
+
301
454
  export function mergeDefs(...defs: Record<string, any>[]): any {
302
455
  const mergedDescriptors: Record<string, PropertyDescriptor> = {};
303
456
 
@@ -362,8 +515,7 @@ export function isObject(data: any): data is Record<PropertyKey, unknown> {
362
515
  }
363
516
 
364
517
  export const allowsEval: { value: boolean } = /* @__PURE__*/ cached(() => {
365
- // Skip the probe under `jitless`: strict CSPs report the caught `new Function`
366
- // as a `securitypolicyviolation` even though the throw is swallowed.
518
+ // Skip the probe under `jitless`: strict CSPs report the caught `new Function` as a `securitypolicyviolation` even though the throw is swallowed.
367
519
  if (globalConfig.jitless) {
368
520
  return false;
369
521
  }
@@ -573,7 +725,7 @@ export function stringifyPrimitive(value: any): string {
573
725
 
574
726
  export function optionalKeys(shape: schemas.$ZodShape): string[] {
575
727
  return Object.keys(shape).filter((k) => {
576
- return shape[k]!._zod.optin === "optional" && shape[k]!._zod.optout === "optional";
728
+ return shape[k]!._zod.optin !== undefined && shape[k]!._zod.optout === "optional";
577
729
  });
578
730
  }
579
731
 
@@ -585,13 +737,14 @@ export type FromCleanMap<T extends schemas.$ZodLooseShape> = {
585
737
  [k in keyof T as k extends `?${infer K}` ? K : k extends `${infer K}?` ? K : k]: k;
586
738
  };
587
739
 
588
- export const NUMBER_FORMAT_RANGES: Record<checks.$ZodNumberFormats, [number, number]> = {
740
+ // Wrapped in a `@__PURE__` IIFE: esbuild never tree-shakes a top-level initializer that contains a member access on `Number`, so the bare object literal survived into every bundle.
741
+ export const NUMBER_FORMAT_RANGES: Record<checks.$ZodNumberFormats, [number, number]> = /*@__PURE__*/ (() => ({
589
742
  safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],
590
743
  int32: [-2147483648, 2147483647],
591
744
  uint32: [0, 4294967295],
592
745
  float32: [-3.4028234663852886e38, 3.4028234663852886e38],
593
746
  float64: [-Number.MAX_VALUE, Number.MAX_VALUE],
594
- };
747
+ }))();
595
748
 
596
749
  export const BIGINT_FORMAT_RANGES: Record<checks.$ZodBigIntFormats, [bigint, bigint]> = {
597
750
  int64: [/* @__PURE__*/ BigInt("-9223372036854775808"), /* @__PURE__*/ BigInt("9223372036854775807")],
@@ -607,24 +760,24 @@ export function pick(schema: schemas.$ZodObject, mask: Record<string, unknown>):
607
760
  throw new Error(".pick() cannot be used on object schemas containing refinements");
608
761
  }
609
762
 
610
- const def = mergeDefs(schema._zod.def, {
611
- get shape() {
612
- const newShape: Writeable<schemas.$ZodShape> = {};
613
- for (const key in mask) {
614
- if (!(key in currDef.shape)) {
615
- throw new Error(`Unrecognized key: "${key}"`);
616
- }
617
- if (!mask[key]) continue;
618
- newShape[key] = currDef.shape[key]!;
619
- }
763
+ const newShape: Writeable<schemas.$ZodShape> = {};
764
+ mirrorShape(newShape, schema, maskedKeys(schema, mask));
620
765
 
621
- assignProp(this, "shape", newShape); // self-caching
622
- return newShape;
623
- },
624
- checks: [],
625
- });
766
+ return clone(schema, mergeDefs(currDef, { shape: newShape, checks: [] })) as any;
767
+ }
626
768
 
627
- return clone(schema, def) as any;
769
+ // the mask keys that select something, checked against the source's shape without resolving it
770
+ function maskedKeys(schema: schemas.$ZodObject, mask: object): PropertyKey[] {
771
+ const raw = sourceShape(schema);
772
+ const keys: PropertyKey[] = [];
773
+ // `for...in` skips symbols, so a symbol in the mask would select nothing
774
+ for (const key of Reflect.ownKeys(mask)) {
775
+ if (!Object.getOwnPropertyDescriptor(raw, key)?.enumerable) {
776
+ throw new Error(`Unrecognized key: "${String(key)}"`);
777
+ }
778
+ if ((mask as any)[key]) keys.push(key);
779
+ }
780
+ return keys;
628
781
  }
629
782
 
630
783
  export function omit(schema: schemas.$ZodObject, mask: object): any {
@@ -636,24 +789,15 @@ export function omit(schema: schemas.$ZodObject, mask: object): any {
636
789
  throw new Error(".omit() cannot be used on object schemas containing refinements");
637
790
  }
638
791
 
639
- const def = mergeDefs(schema._zod.def, {
640
- get shape() {
641
- const newShape: Writeable<schemas.$ZodShape> = { ...schema._zod.def.shape };
642
- for (const key in mask) {
643
- if (!(key in currDef.shape)) {
644
- throw new Error(`Unrecognized key: "${key}"`);
645
- }
646
- if (!(mask as any)[key]) continue;
647
-
648
- delete newShape[key];
649
- }
650
- assignProp(this, "shape", newShape); // self-caching
651
- return newShape;
652
- },
653
- checks: [],
654
- });
792
+ const omitted = new Set(maskedKeys(schema, mask));
793
+ const newShape: Writeable<schemas.$ZodShape> = {};
794
+ mirrorShape(
795
+ newShape,
796
+ schema,
797
+ Reflect.ownKeys(sourceShape(schema)).filter((key) => !omitted.has(key))
798
+ );
655
799
 
656
- return clone(schema, def);
800
+ return clone(schema, mergeDefs(currDef, { shape: newShape, checks: [] }));
657
801
  }
658
802
 
659
803
  export function extend(schema: schemas.$ZodObject, shape: schemas.$ZodShape): any {
@@ -664,50 +808,46 @@ export function extend(schema: schemas.$ZodObject, shape: schemas.$ZodShape): an
664
808
  const checks = schema._zod.def.checks;
665
809
  const hasChecks = checks && checks.length > 0;
666
810
  if (hasChecks) {
667
- // Only throw if new shape overlaps with existing shape
668
- // Use getOwnPropertyDescriptor to check key existence without accessing values
669
- const existingShape = schema._zod.def.shape;
670
- for (const key in shape) {
811
+ // Only throw if new shape overlaps with existing shape. Use getOwnPropertyDescriptor to check key existence without accessing values
812
+ const existingShape = sourceShape(schema);
813
+ for (const key of Reflect.ownKeys(shape)) {
671
814
  if (Object.getOwnPropertyDescriptor(existingShape, key) !== undefined) {
672
815
  throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.");
673
816
  }
674
817
  }
675
818
  }
676
819
 
677
- const def = mergeDefs(schema._zod.def, {
678
- get shape() {
679
- const _shape = { ...schema._zod.def.shape, ...shape };
680
- assignProp(this, "shape", _shape); // self-caching
681
- return _shape;
682
- },
683
- });
684
- return clone(schema, def) as any;
820
+ return clone(schema, mergeDefs(schema._zod.def, { shape: extended(schema, shape) })) as any;
821
+ }
822
+
823
+ // the source's keys, then the caller's overlaid on top
824
+ function extended(schema: schemas.$ZodObject, shape: schemas.$ZodShape): schemas.$ZodShape {
825
+ const newShape: Writeable<schemas.$ZodShape> = {};
826
+ mirrorShape(newShape, schema, Reflect.ownKeys(sourceShape(schema)));
827
+ mirrorProps(newShape, shape);
828
+ return newShape;
685
829
  }
686
830
 
687
831
  export function safeExtend(schema: schemas.$ZodObject, shape: schemas.$ZodShape): any {
688
832
  if (!isPlainObject(shape)) {
689
833
  throw new Error("Invalid input to safeExtend: expected a plain object");
690
834
  }
691
- const def = mergeDefs(schema._zod.def, {
692
- get shape() {
693
- const _shape = { ...schema._zod.def.shape, ...shape };
694
- assignProp(this, "shape", _shape); // self-caching
695
- return _shape;
696
- },
697
- });
698
- return clone(schema, def) as any;
835
+ return clone(schema, mergeDefs(schema._zod.def, { shape: extended(schema, shape) })) as any;
699
836
  }
700
837
 
701
838
  export function merge(a: schemas.$ZodObject, b: schemas.$ZodObject): any {
839
+ if (!b?._zod?.def) {
840
+ throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");
841
+ }
702
842
  if (a._zod.def.checks?.length) {
703
843
  throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");
704
844
  }
845
+ const newShape: Writeable<schemas.$ZodShape> = {};
846
+ mirrorShape(newShape, a, Reflect.ownKeys(sourceShape(a)));
847
+ mirrorShape(newShape, b, Reflect.ownKeys(sourceShape(b)));
848
+
705
849
  const def = mergeDefs(a._zod.def, {
706
- get shape() {
707
- const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };
708
- assignProp(this, "shape", _shape); // self-caching
709
- return _shape;
710
- },
850
+ shape: newShape,
711
851
  get catchall() {
712
852
  return b._zod.def.catchall;
713
853
  },
@@ -720,53 +860,27 @@ export function merge(a: schemas.$ZodObject, b: schemas.$ZodObject): any {
720
860
  export function partial(
721
861
  Class: SchemaClass<schemas.$ZodOptional> | null,
722
862
  schema: schemas.$ZodObject,
723
- mask: object | undefined
863
+ mask: object | undefined,
864
+ name = "partial"
724
865
  ): any {
725
866
  const currDef = schema._zod.def;
726
867
  const checks = currDef.checks;
727
868
  const hasChecks = checks && checks.length > 0;
728
869
  if (hasChecks) {
729
- throw new Error(".partial() cannot be used on object schemas containing refinements");
730
- }
731
-
732
- const def = mergeDefs(schema._zod.def, {
733
- get shape() {
734
- const oldShape = schema._zod.def.shape;
735
- const shape: Writeable<schemas.$ZodShape> = { ...oldShape };
736
-
737
- if (mask) {
738
- for (const key in mask) {
739
- if (!(key in oldShape)) {
740
- throw new Error(`Unrecognized key: "${key}"`);
741
- }
742
- if (!(mask as any)[key]) continue;
743
- // if (oldShape[key]!._zod.optin === "optional") continue;
744
- shape[key] = Class
745
- ? new Class({
746
- type: "optional",
747
- innerType: oldShape[key]!,
748
- })
749
- : oldShape[key]!;
750
- }
751
- } else {
752
- for (const key in oldShape) {
753
- // if (oldShape[key]!._zod.optin === "optional") continue;
754
- shape[key] = Class
755
- ? new Class({
756
- type: "optional",
757
- innerType: oldShape[key]!,
758
- })
759
- : oldShape[key]!;
760
- }
761
- }
762
-
763
- assignProp(this, "shape", shape); // self-caching
764
- return shape;
765
- },
766
- checks: [],
767
- });
870
+ throw new Error(`.${name}() cannot be used on object schemas containing refinements`);
871
+ }
768
872
 
769
- return clone(schema, def) as any;
873
+ const selected = mask ? new Set(maskedKeys(schema, mask)) : undefined;
874
+ const newShape: Writeable<schemas.$ZodShape> = {};
875
+ mirrorShape(
876
+ newShape,
877
+ schema,
878
+ Reflect.ownKeys(sourceShape(schema)),
879
+ Class &&
880
+ ((value, key) => (selected && !selected.has(key) ? value : new Class({ type: "optional", innerType: value })))
881
+ );
882
+
883
+ return clone(schema, mergeDefs(schema._zod.def, { shape: newShape, checks: [] })) as any;
770
884
  }
771
885
 
772
886
  export function required(
@@ -774,39 +888,14 @@ export function required(
774
888
  schema: schemas.$ZodObject,
775
889
  mask: object | undefined
776
890
  ): any {
777
- const def = mergeDefs(schema._zod.def, {
778
- get shape() {
779
- const oldShape = schema._zod.def.shape;
780
- const shape: Writeable<schemas.$ZodShape> = { ...oldShape };
781
-
782
- if (mask) {
783
- for (const key in mask) {
784
- if (!(key in shape)) {
785
- throw new Error(`Unrecognized key: "${key}"`);
786
- }
787
- if (!(mask as any)[key]) continue;
788
- // overwrite with non-optional
789
- shape[key] = new Class({
790
- type: "nonoptional",
791
- innerType: oldShape[key]!,
792
- });
793
- }
794
- } else {
795
- for (const key in oldShape) {
796
- // overwrite with non-optional
797
- shape[key] = new Class({
798
- type: "nonoptional",
799
- innerType: oldShape[key]!,
800
- });
801
- }
802
- }
803
-
804
- assignProp(this, "shape", shape); // self-caching
805
- return shape;
806
- },
807
- });
808
-
809
- return clone(schema, def) as any;
891
+ const selected = mask ? new Set(maskedKeys(schema, mask)) : undefined;
892
+ const newShape: Writeable<schemas.$ZodShape> = {};
893
+ mirrorShape(newShape, schema, Reflect.ownKeys(sourceShape(schema)), (value, key) =>
894
+ // overwrite with non-optional
895
+ selected && !selected.has(key) ? value : new Class({ type: "nonoptional", innerType: value })
896
+ );
897
+
898
+ return clone(schema, mergeDefs(schema._zod.def, { shape: newShape })) as any;
810
899
  }
811
900
 
812
901
  export type Constructor<T, Def extends any[] = any[]> = new (...args: Def) => T;
@@ -822,8 +911,7 @@ export function aborted(x: schemas.ParsePayload, startIndex = 0): boolean {
822
911
  return false;
823
912
  }
824
913
 
825
- // Checks for explicit abort (continue === false), as opposed to implicit abort (continue === undefined).
826
- // Used to respect `abort: true` in .refine() even for checks that have a `when` function.
914
+ // Checks for explicit abort (continue === false), as opposed to implicit abort (continue === undefined). Used to respect `abort: true` in .refine() even for checks that have a `when` function.
827
915
  export function explicitlyAborted(x: schemas.ParsePayload, startIndex = 0): boolean {
828
916
  if (x.aborted === true) return true;
829
917
  for (let i = startIndex; i < x.issues.length; i++) {
@@ -846,26 +934,48 @@ export function unwrapMessage(message: string | { message: string } | undefined
846
934
  return typeof message === "string" ? message : message?.message;
847
935
  }
848
936
 
937
+ /* A check holds no link back to the schema it is attached to — the same check instance is shared by every clone of that schema — so the owner is stamped onto the issues a check just raised, at the only point where both are in scope. Runs on the failure path only; `start` is the issue count from before the check ran. */
938
+ export function attachSchema(issues: errors.$ZodRawIssue[], start: number, inst: schemas.$ZodType): void {
939
+ for (let i = start; i < issues.length; i++) {
940
+ (issues[i] as any).schema ??= inst;
941
+ }
942
+ }
943
+
849
944
  export function finalizeIssue(
850
945
  iss: errors.$ZodRawIssue,
851
946
  ctx: schemas.ParseContextInternal | undefined,
852
947
  config: $ZodConfig
853
948
  ): errors.$ZodIssue {
949
+ // A schema that raised an issue itself owns it outright, and outranks any stamp an enclosing check left in `attachSchema`. String formats and z.custom() are schema and check at once, so when they act as a check they defer to that stamp instead.
950
+ const traits: Set<string> | undefined = (iss.inst as any)?._zod?.traits;
951
+ if (traits?.has("$ZodType")) {
952
+ if (traits.has("$ZodCheck")) (iss as any).schema ??= iss.inst;
953
+ else (iss as any).schema = iss.inst;
954
+ }
955
+
956
+ // Decreasing specificity, first map to return a message wins. `inst` is whatever raised the issue, so a check's own map outranks the owning schema's.
957
+ const schemaError = iss.schema !== iss.inst ? iss.schema?._zod.def?.error : undefined;
854
958
  const message = iss.message
855
959
  ? iss.message
856
960
  : (unwrapMessage(iss.inst?._zod.def?.error?.(iss as never)) ??
961
+ unwrapMessage(schemaError?.(iss as never)) ??
857
962
  unwrapMessage(ctx?.error?.(iss as never)) ??
858
963
  unwrapMessage(config.customError?.(iss)) ??
859
964
  unwrapMessage(config.localeError?.(iss)) ??
860
965
  "Invalid input");
861
966
 
862
- const { inst: _inst, continue: _continue, input: _input, ...rest } = iss as any;
863
- rest.path ??= [];
864
- rest.message = message;
967
+ // an explicit own-key copy beats object rest with excluded keys, which v8 routes through a generic runtime call; Object.keys rather than for-in so an issue pushed with a prototype does not leak inherited keys, and an own __proto__ key is dropped rather than assigned through the setter
968
+ const full: any = {};
969
+ for (const k of Object.keys(iss)) {
970
+ if (k === "inst" || k === "schema" || k === "continue" || k === "input" || k === "__proto__") continue;
971
+ full[k] = (iss as any)[k];
972
+ }
973
+ full.path ??= [];
974
+ full.message = message;
865
975
  if (ctx?.reportInput) {
866
- rest.input = _input;
976
+ full.input = iss.input;
867
977
  }
868
- return rest;
978
+ return full;
869
979
  }
870
980
 
871
981
  export function getSizableOrigin(input: any): "set" | "map" | "file" | "unknown" {
@@ -876,6 +986,22 @@ export function getSizableOrigin(input: any): "set" | "map" | "file" | "unknown"
876
986
  return "unknown";
877
987
  }
878
988
 
989
+ const highSurrogate = /[\uD800-\uDBFF]/;
990
+
991
+ // Code points in `str`: a surrogate pair counts once, a lone surrogate as itself. Hand-rolled because the string iterator allocates and runs ~250x slower on this path; the regex probe exits ~50x quicker for a string with no astral characters.
992
+ export function codePointLength(str: string): number {
993
+ const units = str.length;
994
+ if (!highSurrogate.test(str)) return units;
995
+ let count = units;
996
+ for (let i = 0; i < units - 1; i++) {
997
+ if ((str.charCodeAt(i) & 0xfc00) === 0xd800 && (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {
998
+ count--;
999
+ i++;
1000
+ }
1001
+ }
1002
+ return count;
1003
+ }
1004
+
879
1005
  export function getLengthableOrigin(input: any): "array" | "string" | "unknown" {
880
1006
  if (Array.isArray(input)) return "array";
881
1007
  if (typeof input === "string") return "string";
@@ -981,3 +1107,174 @@ export function uint8ArrayToHex(bytes: Uint8Array): string {
981
1107
  export abstract class Class {
982
1108
  constructor(..._args: any[]) {}
983
1109
  }
1110
+
1111
+ ////////// PROTOTYPE INSTALLERS //////////
1112
+ //
1113
+ // Members live on the prototype and materialize per instance on first read, which keeps own-property count under the step where V8 stops using inline slots. Changing anything here means re-measuring runtime, memory and bundle size together — see "The three axes" in AGENTS.md.
1114
+
1115
+ /**
1116
+ * Installs a trait's members on its prototype. Each value builds that member for the instance on first read; the built value shadows the accessor as an own property, so a detached `const { parse } = schema` keeps working.
1117
+ *
1118
+ * Call this from a `proto` initializer, which runs once per prototype — never per instance.
1119
+ */
1120
+ export function members(proto: object, table: object): void {
1121
+ for (const key in table) {
1122
+ const desc = Object.getOwnPropertyDescriptor(table, key)!;
1123
+ // a getter installs as written, so it stays live: `description` reads through to the registry on every access. not enumerable: an object literal's is, and a prototype member never was
1124
+ if (desc.get) Object.defineProperty(proto, key, { ...desc, enumerable: false });
1125
+ // a method materializes bound on first read, which is what keeps a detached member working: `const opt = schema.optional; opt()`
1126
+ else defineBound(proto, key, desc.value);
1127
+ }
1128
+ }
1129
+
1130
+ /** Shadows a prototype member with an own value, so a getter that builds from the instance runs once. */
1131
+ export function own<T>(inst: object, key: PropertyKey, value: T, enumerable = true): T {
1132
+ Object.defineProperty(inst, key, { configurable: true, writable: true, enumerable, value });
1133
+ return value;
1134
+ }
1135
+
1136
+ /** Like {@link own}, for a member that was never an own data property and has to stay out of `Object.keys`. */
1137
+ export function hide<T>(inst: object, key: PropertyKey, value: T): T {
1138
+ return own(inst, key, value, false);
1139
+ }
1140
+
1141
+ /** Adds members a table derives from the instance: each builds on first read and shadows as own data, and assignment shadows the same way, as when these were own properties. */
1142
+ export /*@__NO_SIDE_EFFECTS__*/ function derived<T>(
1143
+ computes: { [K in keyof T]?: (inst: T) => T[K] },
1144
+ table: ProtoOf<T>
1145
+ ): ProtoOf<T> {
1146
+ for (const key in computes) {
1147
+ const compute = computes[key]!;
1148
+ // an object literal's accessor is configurable and enumerable, and `members` copies the descriptor as written
1149
+ Object.defineProperty(table, key, {
1150
+ configurable: true,
1151
+ enumerable: true,
1152
+ get(this: T) {
1153
+ return own(this as object, key, compute(this));
1154
+ },
1155
+ set(this: T, value: T[typeof key]) {
1156
+ own(this as object, key, value);
1157
+ },
1158
+ });
1159
+ }
1160
+ return table;
1161
+ }
1162
+
1163
+ function defineBound(proto: object, key: PropertyKey, fn: AnyFunc): void {
1164
+ Object.defineProperty(proto, key, {
1165
+ configurable: true,
1166
+ get(this: any) {
1167
+ // vitest's spyOn calls a prototype getter bare to find the function it wraps, so a nullish receiver answers the raw method
1168
+ return this == null ? fn : own(this, key, fn.bind(this));
1169
+ },
1170
+ set(this: any, value: unknown) {
1171
+ own(this, key, value);
1172
+ },
1173
+ });
1174
+ }
1175
+
1176
+ /** Returns the prototype to install on, or `undefined` if this group is already installed on it. */
1177
+ function claim(inst: object, sentinel: string): object | undefined {
1178
+ const proto = Object.getPrototypeOf(inst);
1179
+ // Runs on every construction, so `in` rather than the costlier `hasOwnProperty.call`. Sentinels are keys the group itself defines.
1180
+ return sentinel in proto ? undefined : proto;
1181
+ }
1182
+
1183
+ /** A trait's prototype members: a partial view of its own interface, with `this` typed as the instance. */
1184
+ export type ProtoOf<T> = {
1185
+ // `infer R` resolves a polymorphic `this` return type to `T`, which a method written here can actually produce
1186
+ [K in keyof T]?: (T[K] extends (...args: infer A) => infer R ? (...args: A) => R : T[K]) | undefined;
1187
+ } & ThisType<T>;
1188
+
1189
+ // The internals whose init chain is installing. A second call for the same one is a derived constructor overriding its base, so it must not construct another schema in between or the override is dropped.
1190
+ let installing: object | undefined;
1191
+
1192
+ // Set while a getter is running, so a value that resolved through a recursion break is not memoized. One shared descriptor shadows the key for the duration, which costs no per-key allocation.
1193
+ let broke = false;
1194
+ const breaker: PropertyDescriptor = {
1195
+ configurable: true,
1196
+ get() {
1197
+ broke = true;
1198
+ return undefined;
1199
+ },
1200
+ };
1201
+
1202
+ /**
1203
+ * Installs a lazily-derived internal on the `_zod` prototype of `inst`'s
1204
+ * constructor, computed from the internals object itself and cached there on
1205
+ * first read. One accessor per constructor rather than one per instance.
1206
+ */
1207
+ export function defineLazyInternal<T extends { _zod: any }>(
1208
+ inst: T,
1209
+ key: string,
1210
+ compute: (zod: T["_zod"]) => unknown
1211
+ ): void {
1212
+ const proto = Object.getPrototypeOf(inst._zod);
1213
+ if (key in proto && installing !== inst._zod) {
1214
+ // A repeat construction: everything is installed already. Cleared here so the reference is not held past the first construction of every type.
1215
+ installing = undefined;
1216
+ return;
1217
+ }
1218
+ installing = inst._zod;
1219
+
1220
+ Object.defineProperty(proto, key, {
1221
+ configurable: true,
1222
+ get(this: any) {
1223
+ // Shadowed before computing so a re-entrant read from a recursive schema resolves to undefined instead of running the getter again.
1224
+ Object.defineProperty(this, key, breaker);
1225
+ const outer = broke;
1226
+ broke = false;
1227
+ try {
1228
+ const value = compute(this);
1229
+ // A result that resolved through a recursion break is recomputed once the graph is complete; everything else memoizes, undefined included.
1230
+ if (broke) delete this[key];
1231
+ else Object.defineProperty(this, key, { configurable: true, writable: true, value });
1232
+ broke = broke || outer;
1233
+ return value;
1234
+ } catch (err) {
1235
+ // A compute that threw memoizes nothing, so a later read runs it again and fails the same way. The shadow goes with it, since leaving it installed would answer undefined for every later read.
1236
+ delete this[key];
1237
+ broke = broke || outer;
1238
+ throw err;
1239
+ }
1240
+ },
1241
+ set(this: any, value: unknown) {
1242
+ Object.defineProperty(this, key, { configurable: true, writable: true, value });
1243
+ },
1244
+ });
1245
+ }
1246
+
1247
+ /**
1248
+ * Installs `key` on `inst`'s prototype, computed by `make` on first read and cached there as an own
1249
+ * data property. One accessor per constructor rather than one per instance, because an own accessor
1250
+ * puts every instance after the first into v8 dictionary mode. The key doubles as the sentinel.
1251
+ */
1252
+ export function installLazyProp(inst: object, key: string, make: (self: any) => unknown, enumerable: boolean): void {
1253
+ const proto = claim(inst, key);
1254
+ if (!proto) return;
1255
+ Object.defineProperty(proto, key, {
1256
+ configurable: true,
1257
+ get(this: any) {
1258
+ // Shadowed before computing, so a re-entrant read from a self-referential shape resolves to undefined instead of running the getter again. A data property rather than an accessor: an own accessor is the dictionary-mode transition this exists to avoid.
1259
+ const desc = { configurable: true, writable: true, enumerable, value: undefined as unknown };
1260
+ Object.defineProperty(this, key, desc);
1261
+ // a compute that throws leaves the shadow behind, so later reads answer undefined instead of re-throwing; `defineLazy` did the same, and `defineLazyInternal`'s delete-on-catch would cost bytes in every bundle for a case only a throwing user getter reaches
1262
+ desc.value = make(this);
1263
+ Object.defineProperty(this, key, desc);
1264
+ return desc.value;
1265
+ },
1266
+ set(this: any, value: unknown) {
1267
+ Object.defineProperty(this, key, { configurable: true, writable: true, enumerable, value });
1268
+ },
1269
+ });
1270
+ }
1271
+
1272
+ /** Marks the thunk `_catch` synthesises for a constant catch value. `Function.length` cannot tell that thunk from a user callback — rest and defaulted parameters both report arity 0 — and a user callback reads `ctx.error`, whose issues only finalize correctly against the caller's per-parse error map. Provenance can say what arity cannot. A plain string key rather than `Symbol.for`, whose call at module scope no bundler can prove pure — the same shape that anchored `urlCanParse` into every build. */
1273
+ export const CONSTANT_CATCH = "~constantCatch";
1274
+
1275
+ /** Wraps a constant catch value in a thunk tagged with {@link CONSTANT_CATCH}. */
1276
+ export function constantCatch<T>(value: T): () => T {
1277
+ const fn = () => value;
1278
+ (fn as { [CONSTANT_CATCH]?: boolean })[CONSTANT_CATCH] = true;
1279
+ return fn;
1280
+ }