fullstacked 0.12.1-1359 → 0.12.1-1364

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 (335) hide show
  1. package/fullstacked_modules/@fullstacked/ai-agent/ai-agent.js +55352 -53576
  2. package/fullstacked_modules/@fullstacked/ai-agent/index.ts +0 -1
  3. package/fullstacked_modules/@fullstacked/ai-agent/lock.json +157 -152
  4. package/fullstacked_modules/@fullstacked/ai-agent/package.json +13 -13
  5. package/fullstacked_modules/@fullstacked/ai-agent/src/providers/ollama.ts +2 -2
  6. package/fullstacked_modules/@fullstacked/ui/index.js +6 -1
  7. package/fullstacked_modules/zod/README.md +4 -4
  8. package/fullstacked_modules/zod/index.cjs +2 -2
  9. package/fullstacked_modules/zod/index.d.cts +2 -2
  10. package/fullstacked_modules/zod/index.d.ts +2 -2
  11. package/fullstacked_modules/zod/index.js +2 -2
  12. package/fullstacked_modules/zod/locales/index.cjs +17 -0
  13. package/fullstacked_modules/zod/locales/index.d.cts +1 -0
  14. package/fullstacked_modules/zod/locales/index.d.ts +1 -0
  15. package/fullstacked_modules/zod/locales/index.js +1 -0
  16. package/fullstacked_modules/zod/locales/package.json +6 -0
  17. package/fullstacked_modules/zod/mini/index.cjs +17 -0
  18. package/fullstacked_modules/zod/mini/index.d.cts +1 -0
  19. package/fullstacked_modules/zod/mini/index.d.ts +1 -0
  20. package/fullstacked_modules/zod/mini/index.js +1 -0
  21. package/fullstacked_modules/zod/mini/package.json +6 -0
  22. package/fullstacked_modules/zod/package.json +29 -12
  23. package/fullstacked_modules/zod/src/index.ts +2 -2
  24. package/fullstacked_modules/zod/src/locales/index.ts +1 -0
  25. package/fullstacked_modules/zod/src/mini/index.ts +1 -0
  26. package/fullstacked_modules/zod/src/v3/ZodError.ts +1 -1
  27. package/fullstacked_modules/zod/src/v3/tests/object.test.ts +2 -2
  28. package/fullstacked_modules/zod/src/v3/tests/string.test.ts +2 -2
  29. package/fullstacked_modules/zod/src/v3/types.ts +3 -1
  30. package/fullstacked_modules/zod/src/v4/classic/checks.ts +1 -0
  31. package/fullstacked_modules/zod/src/v4/classic/compat.ts +4 -0
  32. package/fullstacked_modules/zod/src/v4/classic/errors.ts +9 -2
  33. package/fullstacked_modules/zod/src/v4/classic/external.ts +1 -1
  34. package/fullstacked_modules/zod/src/v4/classic/parse.ts +49 -0
  35. package/fullstacked_modules/zod/src/v4/classic/schemas.ts +224 -81
  36. package/fullstacked_modules/zod/src/v4/classic/tests/array.test.ts +6 -6
  37. package/fullstacked_modules/zod/src/v4/classic/tests/catch.test.ts +29 -5
  38. package/fullstacked_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  39. package/fullstacked_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
  40. package/fullstacked_modules/zod/src/v4/classic/tests/continuability.test.ts +1 -1
  41. package/fullstacked_modules/zod/src/v4/classic/tests/datetime.test.ts +6 -0
  42. package/fullstacked_modules/zod/src/v4/classic/tests/default.test.ts +52 -0
  43. package/fullstacked_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +42 -0
  44. package/fullstacked_modules/zod/src/v4/classic/tests/error-utils.test.ts +70 -2
  45. package/fullstacked_modules/zod/src/v4/classic/tests/file.test.ts +9 -4
  46. package/fullstacked_modules/zod/src/v4/classic/tests/firstparty.test.ts +4 -0
  47. package/fullstacked_modules/zod/src/v4/classic/tests/function.test.ts +71 -31
  48. package/fullstacked_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  49. package/fullstacked_modules/zod/src/v4/classic/tests/index.test.ts +15 -0
  50. package/fullstacked_modules/zod/src/v4/classic/tests/literal.test.ts +25 -0
  51. package/fullstacked_modules/zod/src/v4/classic/tests/nonoptional.test.ts +15 -0
  52. package/fullstacked_modules/zod/src/v4/classic/tests/number.test.ts +23 -0
  53. package/fullstacked_modules/zod/src/v4/classic/tests/object.test.ts +48 -2
  54. package/fullstacked_modules/zod/src/v4/classic/tests/optional.test.ts +13 -0
  55. package/fullstacked_modules/zod/src/v4/classic/tests/partial.test.ts +193 -0
  56. package/fullstacked_modules/zod/src/v4/classic/tests/pickomit.test.ts +5 -5
  57. package/fullstacked_modules/zod/src/v4/classic/tests/pipe.test.ts +25 -5
  58. package/fullstacked_modules/zod/src/v4/classic/tests/prefault.test.ts +37 -0
  59. package/fullstacked_modules/zod/src/v4/classic/tests/preprocess.test.ts +5 -21
  60. package/fullstacked_modules/zod/src/v4/classic/tests/record.test.ts +15 -1
  61. package/fullstacked_modules/zod/src/v4/classic/tests/recursive-types.test.ts +226 -0
  62. package/fullstacked_modules/zod/src/v4/classic/tests/refine.test.ts +78 -5
  63. package/fullstacked_modules/zod/src/v4/classic/tests/set.test.ts +5 -3
  64. package/fullstacked_modules/zod/src/v4/classic/tests/string-formats.test.ts +16 -0
  65. package/fullstacked_modules/zod/src/v4/classic/tests/string.test.ts +204 -5
  66. package/fullstacked_modules/zod/src/v4/classic/tests/stringbool.test.ts +40 -0
  67. package/fullstacked_modules/zod/src/v4/classic/tests/template-literal.test.ts +14 -9
  68. package/fullstacked_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +315 -7
  69. package/fullstacked_modules/zod/src/v4/classic/tests/transform.test.ts +111 -0
  70. package/fullstacked_modules/zod/src/v4/classic/tests/tuple.test.ts +2 -2
  71. package/fullstacked_modules/zod/src/v4/classic/tests/union.test.ts +90 -3
  72. package/fullstacked_modules/zod/src/v4/core/api.ts +160 -133
  73. package/fullstacked_modules/zod/src/v4/core/checks.ts +6 -2
  74. package/fullstacked_modules/zod/src/v4/core/core.ts +9 -28
  75. package/fullstacked_modules/zod/src/v4/core/doc.ts +2 -2
  76. package/fullstacked_modules/zod/src/v4/core/errors.ts +49 -60
  77. package/fullstacked_modules/zod/src/v4/core/index.ts +0 -1
  78. package/fullstacked_modules/zod/src/v4/core/json-schema.ts +7 -3
  79. package/fullstacked_modules/zod/src/v4/core/parse.ts +101 -0
  80. package/fullstacked_modules/zod/src/v4/core/regexes.ts +56 -14
  81. package/fullstacked_modules/zod/src/v4/core/registries.ts +5 -4
  82. package/fullstacked_modules/zod/src/v4/core/schemas.ts +705 -230
  83. package/fullstacked_modules/zod/src/v4/core/tests/extend.test.ts +18 -0
  84. package/fullstacked_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  85. package/fullstacked_modules/zod/src/v4/core/to-json-schema.ts +100 -33
  86. package/fullstacked_modules/zod/src/v4/core/util.ts +237 -102
  87. package/fullstacked_modules/zod/src/v4/core/versions.ts +2 -2
  88. package/fullstacked_modules/zod/src/v4/locales/bg.ts +136 -0
  89. package/fullstacked_modules/zod/src/v4/locales/da.ts +141 -0
  90. package/fullstacked_modules/zod/src/v4/locales/es.ts +44 -10
  91. package/fullstacked_modules/zod/src/v4/locales/index.ts +8 -0
  92. package/fullstacked_modules/zod/src/v4/locales/is.ts +127 -0
  93. package/fullstacked_modules/zod/src/v4/locales/ka.ts +138 -0
  94. package/fullstacked_modules/zod/src/v4/locales/kh.ts +3 -122
  95. package/fullstacked_modules/zod/src/v4/locales/km.ts +126 -0
  96. package/fullstacked_modules/zod/src/v4/locales/lt.ts +265 -0
  97. package/fullstacked_modules/zod/src/v4/locales/ua.ts +3 -122
  98. package/fullstacked_modules/zod/src/v4/locales/uk.ts +126 -0
  99. package/fullstacked_modules/zod/src/v4/locales/yo.ts +131 -0
  100. package/fullstacked_modules/zod/src/v4/mini/external.ts +1 -1
  101. package/fullstacked_modules/zod/src/v4/mini/parse.ts +14 -1
  102. package/fullstacked_modules/zod/src/v4/mini/schemas.ts +186 -40
  103. package/fullstacked_modules/zod/src/v4/mini/tests/assignability.test.ts +1 -1
  104. package/fullstacked_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
  105. package/fullstacked_modules/zod/src/v4/mini/tests/computed.test.ts +1 -1
  106. package/fullstacked_modules/zod/src/v4/mini/tests/error.test.ts +1 -1
  107. package/fullstacked_modules/zod/src/v4/mini/tests/index.test.ts +29 -1
  108. package/fullstacked_modules/zod/src/v4/mini/tests/number.test.ts +1 -1
  109. package/fullstacked_modules/zod/src/v4/mini/tests/object.test.ts +16 -1
  110. package/fullstacked_modules/zod/src/v4/mini/tests/prototypes.test.ts +1 -1
  111. package/fullstacked_modules/zod/src/v4/mini/tests/recursive-types.test.ts +1 -1
  112. package/fullstacked_modules/zod/src/v4/mini/tests/string.test.ts +17 -1
  113. package/fullstacked_modules/zod/v3/ZodError.cjs +1 -1
  114. package/fullstacked_modules/zod/v3/ZodError.d.cts +6 -6
  115. package/fullstacked_modules/zod/v3/ZodError.d.ts +6 -6
  116. package/fullstacked_modules/zod/v3/ZodError.js +1 -1
  117. package/fullstacked_modules/zod/v3/locales/en.cjs +1 -0
  118. package/fullstacked_modules/zod/v3/locales/en.d.cts +1 -1
  119. package/fullstacked_modules/zod/v3/package.json +6 -0
  120. package/fullstacked_modules/zod/v3/types.cjs +2 -0
  121. package/fullstacked_modules/zod/v3/types.d.cts +4 -1
  122. package/fullstacked_modules/zod/v3/types.d.ts +4 -1
  123. package/fullstacked_modules/zod/v3/types.js +2 -0
  124. package/fullstacked_modules/zod/v4/classic/checks.d.cts +1 -1
  125. package/fullstacked_modules/zod/v4/classic/checks.d.ts +1 -1
  126. package/fullstacked_modules/zod/v4/classic/compat.cjs +5 -1
  127. package/fullstacked_modules/zod/v4/classic/compat.d.cts +4 -0
  128. package/fullstacked_modules/zod/v4/classic/compat.d.ts +4 -0
  129. package/fullstacked_modules/zod/v4/classic/compat.js +4 -0
  130. package/fullstacked_modules/zod/v4/classic/errors.cjs +9 -2
  131. package/fullstacked_modules/zod/v4/classic/errors.js +9 -2
  132. package/fullstacked_modules/zod/v4/classic/external.cjs +2 -2
  133. package/fullstacked_modules/zod/v4/classic/external.d.cts +1 -1
  134. package/fullstacked_modules/zod/v4/classic/external.d.ts +1 -1
  135. package/fullstacked_modules/zod/v4/classic/external.js +1 -1
  136. package/fullstacked_modules/zod/v4/classic/package.json +6 -0
  137. package/fullstacked_modules/zod/v4/classic/parse.cjs +10 -1
  138. package/fullstacked_modules/zod/v4/classic/parse.d.cts +8 -0
  139. package/fullstacked_modules/zod/v4/classic/parse.d.ts +8 -0
  140. package/fullstacked_modules/zod/v4/classic/parse.js +9 -0
  141. package/fullstacked_modules/zod/v4/classic/schemas.cjs +90 -48
  142. package/fullstacked_modules/zod/v4/classic/schemas.d.cts +70 -27
  143. package/fullstacked_modules/zod/v4/classic/schemas.d.ts +70 -27
  144. package/fullstacked_modules/zod/v4/classic/schemas.js +81 -47
  145. package/fullstacked_modules/zod/v4/core/api.cjs +52 -31
  146. package/fullstacked_modules/zod/v4/core/api.d.cts +87 -76
  147. package/fullstacked_modules/zod/v4/core/api.d.ts +87 -76
  148. package/fullstacked_modules/zod/v4/core/api.js +50 -31
  149. package/fullstacked_modules/zod/v4/core/checks.cjs +4 -0
  150. package/fullstacked_modules/zod/v4/core/checks.d.cts +2 -2
  151. package/fullstacked_modules/zod/v4/core/checks.d.ts +2 -2
  152. package/fullstacked_modules/zod/v4/core/checks.js +4 -0
  153. package/fullstacked_modules/zod/v4/core/core.cjs +8 -1
  154. package/fullstacked_modules/zod/v4/core/core.d.cts +5 -2
  155. package/fullstacked_modules/zod/v4/core/core.d.ts +5 -2
  156. package/fullstacked_modules/zod/v4/core/core.js +6 -0
  157. package/fullstacked_modules/zod/v4/core/doc.d.cts +1 -1
  158. package/fullstacked_modules/zod/v4/core/doc.d.ts +1 -1
  159. package/fullstacked_modules/zod/v4/core/errors.cjs +6 -19
  160. package/fullstacked_modules/zod/v4/core/errors.d.cts +24 -22
  161. package/fullstacked_modules/zod/v4/core/errors.d.ts +24 -22
  162. package/fullstacked_modules/zod/v4/core/errors.js +6 -19
  163. package/fullstacked_modules/zod/v4/core/index.cjs +0 -1
  164. package/fullstacked_modules/zod/v4/core/index.d.cts +0 -1
  165. package/fullstacked_modules/zod/v4/core/index.d.ts +0 -1
  166. package/fullstacked_modules/zod/v4/core/index.js +0 -1
  167. package/fullstacked_modules/zod/v4/core/json-schema.d.cts +4 -3
  168. package/fullstacked_modules/zod/v4/core/json-schema.d.ts +4 -3
  169. package/fullstacked_modules/zod/v4/core/package.json +6 -0
  170. package/fullstacked_modules/zod/v4/core/parse.cjs +45 -1
  171. package/fullstacked_modules/zod/v4/core/parse.d.cts +24 -0
  172. package/fullstacked_modules/zod/v4/core/parse.d.ts +24 -0
  173. package/fullstacked_modules/zod/v4/core/parse.js +36 -0
  174. package/fullstacked_modules/zod/v4/core/regexes.cjs +49 -16
  175. package/fullstacked_modules/zod/v4/core/regexes.d.cts +18 -2
  176. package/fullstacked_modules/zod/v4/core/regexes.d.ts +18 -2
  177. package/fullstacked_modules/zod/v4/core/regexes.js +46 -14
  178. package/fullstacked_modules/zod/v4/core/registries.cjs +4 -3
  179. package/fullstacked_modules/zod/v4/core/registries.d.cts +2 -2
  180. package/fullstacked_modules/zod/v4/core/registries.d.ts +2 -2
  181. package/fullstacked_modules/zod/v4/core/registries.js +4 -3
  182. package/fullstacked_modules/zod/v4/core/schemas.cjs +409 -171
  183. package/fullstacked_modules/zod/v4/core/schemas.d.cts +88 -16
  184. package/fullstacked_modules/zod/v4/core/schemas.d.ts +88 -16
  185. package/fullstacked_modules/zod/v4/core/schemas.js +408 -170
  186. package/fullstacked_modules/zod/v4/core/to-json-schema.cjs +97 -31
  187. package/fullstacked_modules/zod/v4/core/to-json-schema.d.cts +5 -3
  188. package/fullstacked_modules/zod/v4/core/to-json-schema.d.ts +5 -3
  189. package/fullstacked_modules/zod/v4/core/to-json-schema.js +97 -31
  190. package/fullstacked_modules/zod/v4/core/util.cjs +220 -101
  191. package/fullstacked_modules/zod/v4/core/util.d.cts +14 -0
  192. package/fullstacked_modules/zod/v4/core/util.d.ts +14 -0
  193. package/fullstacked_modules/zod/v4/core/util.js +209 -101
  194. package/fullstacked_modules/zod/v4/core/versions.cjs +2 -2
  195. package/fullstacked_modules/zod/v4/core/versions.d.cts +1 -1
  196. package/fullstacked_modules/zod/v4/core/versions.d.ts +1 -1
  197. package/fullstacked_modules/zod/v4/core/versions.js +2 -2
  198. package/fullstacked_modules/zod/v4/locales/ar.cjs +1 -0
  199. package/fullstacked_modules/zod/v4/locales/ar.d.cts +2 -1
  200. package/fullstacked_modules/zod/v4/locales/az.cjs +1 -0
  201. package/fullstacked_modules/zod/v4/locales/az.d.cts +2 -1
  202. package/fullstacked_modules/zod/v4/locales/be.cjs +1 -0
  203. package/fullstacked_modules/zod/v4/locales/be.d.cts +2 -1
  204. package/fullstacked_modules/zod/v4/locales/bg.cjs +156 -0
  205. package/fullstacked_modules/zod/v4/locales/bg.d.cts +5 -0
  206. package/fullstacked_modules/zod/v4/locales/bg.d.ts +5 -0
  207. package/fullstacked_modules/zod/v4/locales/bg.js +128 -0
  208. package/fullstacked_modules/zod/v4/locales/ca.cjs +1 -0
  209. package/fullstacked_modules/zod/v4/locales/ca.d.cts +2 -1
  210. package/fullstacked_modules/zod/v4/locales/cs.cjs +1 -0
  211. package/fullstacked_modules/zod/v4/locales/cs.d.cts +2 -1
  212. package/fullstacked_modules/zod/v4/locales/da.cjs +158 -0
  213. package/fullstacked_modules/zod/v4/locales/da.d.cts +5 -0
  214. package/fullstacked_modules/zod/v4/locales/da.d.ts +4 -0
  215. package/fullstacked_modules/zod/v4/locales/da.js +131 -0
  216. package/fullstacked_modules/zod/v4/locales/de.cjs +1 -0
  217. package/fullstacked_modules/zod/v4/locales/de.d.cts +2 -1
  218. package/fullstacked_modules/zod/v4/locales/es.cjs +43 -10
  219. package/fullstacked_modules/zod/v4/locales/es.d.cts +2 -1
  220. package/fullstacked_modules/zod/v4/locales/es.js +42 -10
  221. package/fullstacked_modules/zod/v4/locales/fa.cjs +1 -0
  222. package/fullstacked_modules/zod/v4/locales/fa.d.cts +2 -1
  223. package/fullstacked_modules/zod/v4/locales/fi.cjs +1 -0
  224. package/fullstacked_modules/zod/v4/locales/fi.d.cts +2 -1
  225. package/fullstacked_modules/zod/v4/locales/fr-CA.cjs +1 -0
  226. package/fullstacked_modules/zod/v4/locales/fr-CA.d.cts +2 -1
  227. package/fullstacked_modules/zod/v4/locales/fr.cjs +1 -0
  228. package/fullstacked_modules/zod/v4/locales/fr.d.cts +2 -1
  229. package/fullstacked_modules/zod/v4/locales/he.cjs +1 -0
  230. package/fullstacked_modules/zod/v4/locales/he.d.cts +2 -1
  231. package/fullstacked_modules/zod/v4/locales/hu.cjs +1 -0
  232. package/fullstacked_modules/zod/v4/locales/hu.d.cts +2 -1
  233. package/fullstacked_modules/zod/v4/locales/id.cjs +1 -0
  234. package/fullstacked_modules/zod/v4/locales/id.d.cts +2 -1
  235. package/fullstacked_modules/zod/v4/locales/index.cjs +17 -1
  236. package/fullstacked_modules/zod/v4/locales/index.d.cts +8 -0
  237. package/fullstacked_modules/zod/v4/locales/index.d.ts +8 -0
  238. package/fullstacked_modules/zod/v4/locales/index.js +8 -0
  239. package/fullstacked_modules/zod/v4/locales/is.cjs +145 -0
  240. package/fullstacked_modules/zod/v4/locales/is.d.cts +5 -0
  241. package/fullstacked_modules/zod/v4/locales/is.d.ts +5 -0
  242. package/fullstacked_modules/zod/v4/locales/is.js +117 -0
  243. package/fullstacked_modules/zod/v4/locales/it.cjs +1 -0
  244. package/fullstacked_modules/zod/v4/locales/it.d.cts +2 -1
  245. package/fullstacked_modules/zod/v4/locales/ja.cjs +1 -0
  246. package/fullstacked_modules/zod/v4/locales/ja.d.cts +2 -1
  247. package/fullstacked_modules/zod/v4/locales/ka.cjs +153 -0
  248. package/fullstacked_modules/zod/v4/locales/ka.d.cts +5 -0
  249. package/fullstacked_modules/zod/v4/locales/ka.d.ts +5 -0
  250. package/fullstacked_modules/zod/v4/locales/ka.js +125 -0
  251. package/fullstacked_modules/zod/v4/locales/kh.cjs +6 -137
  252. package/fullstacked_modules/zod/v4/locales/kh.d.cts +2 -1
  253. package/fullstacked_modules/zod/v4/locales/kh.d.ts +1 -0
  254. package/fullstacked_modules/zod/v4/locales/kh.js +3 -115
  255. package/fullstacked_modules/zod/v4/locales/km.cjs +144 -0
  256. package/fullstacked_modules/zod/v4/locales/km.d.cts +5 -0
  257. package/fullstacked_modules/zod/v4/locales/km.d.ts +4 -0
  258. package/fullstacked_modules/zod/v4/locales/km.js +117 -0
  259. package/fullstacked_modules/zod/v4/locales/ko.cjs +1 -0
  260. package/fullstacked_modules/zod/v4/locales/ko.d.cts +2 -1
  261. package/fullstacked_modules/zod/v4/locales/lt.cjs +258 -0
  262. package/fullstacked_modules/zod/v4/locales/lt.d.cts +5 -0
  263. package/fullstacked_modules/zod/v4/locales/lt.d.ts +5 -0
  264. package/fullstacked_modules/zod/v4/locales/lt.js +230 -0
  265. package/fullstacked_modules/zod/v4/locales/mk.cjs +1 -0
  266. package/fullstacked_modules/zod/v4/locales/mk.d.cts +2 -1
  267. package/fullstacked_modules/zod/v4/locales/ms.cjs +1 -0
  268. package/fullstacked_modules/zod/v4/locales/ms.d.cts +2 -1
  269. package/fullstacked_modules/zod/v4/locales/nl.cjs +1 -0
  270. package/fullstacked_modules/zod/v4/locales/nl.d.cts +2 -1
  271. package/fullstacked_modules/zod/v4/locales/no.cjs +1 -0
  272. package/fullstacked_modules/zod/v4/locales/no.d.cts +2 -1
  273. package/fullstacked_modules/zod/v4/locales/ota.cjs +1 -0
  274. package/fullstacked_modules/zod/v4/locales/ota.d.cts +2 -1
  275. package/fullstacked_modules/zod/v4/locales/package.json +6 -0
  276. package/fullstacked_modules/zod/v4/locales/pl.cjs +1 -0
  277. package/fullstacked_modules/zod/v4/locales/pl.d.cts +2 -1
  278. package/fullstacked_modules/zod/v4/locales/ps.cjs +1 -0
  279. package/fullstacked_modules/zod/v4/locales/ps.d.cts +2 -1
  280. package/fullstacked_modules/zod/v4/locales/pt.cjs +1 -0
  281. package/fullstacked_modules/zod/v4/locales/pt.d.cts +2 -1
  282. package/fullstacked_modules/zod/v4/locales/ru.cjs +1 -0
  283. package/fullstacked_modules/zod/v4/locales/ru.d.cts +2 -1
  284. package/fullstacked_modules/zod/v4/locales/sl.cjs +1 -0
  285. package/fullstacked_modules/zod/v4/locales/sl.d.cts +2 -1
  286. package/fullstacked_modules/zod/v4/locales/sv.cjs +1 -0
  287. package/fullstacked_modules/zod/v4/locales/sv.d.cts +2 -1
  288. package/fullstacked_modules/zod/v4/locales/ta.cjs +1 -0
  289. package/fullstacked_modules/zod/v4/locales/ta.d.cts +2 -1
  290. package/fullstacked_modules/zod/v4/locales/th.cjs +1 -0
  291. package/fullstacked_modules/zod/v4/locales/th.d.cts +2 -1
  292. package/fullstacked_modules/zod/v4/locales/ua.cjs +6 -137
  293. package/fullstacked_modules/zod/v4/locales/ua.d.cts +2 -1
  294. package/fullstacked_modules/zod/v4/locales/ua.d.ts +1 -0
  295. package/fullstacked_modules/zod/v4/locales/ua.js +3 -115
  296. package/fullstacked_modules/zod/v4/locales/uk.cjs +144 -0
  297. package/fullstacked_modules/zod/v4/locales/uk.d.cts +5 -0
  298. package/fullstacked_modules/zod/v4/locales/uk.d.ts +4 -0
  299. package/fullstacked_modules/zod/v4/locales/uk.js +117 -0
  300. package/fullstacked_modules/zod/v4/locales/ur.cjs +1 -0
  301. package/fullstacked_modules/zod/v4/locales/ur.d.cts +2 -1
  302. package/fullstacked_modules/zod/v4/locales/vi.cjs +1 -0
  303. package/fullstacked_modules/zod/v4/locales/vi.d.cts +2 -1
  304. package/fullstacked_modules/zod/v4/locales/yo.cjs +142 -0
  305. package/fullstacked_modules/zod/v4/locales/yo.d.cts +5 -0
  306. package/fullstacked_modules/zod/v4/locales/yo.d.ts +4 -0
  307. package/fullstacked_modules/zod/v4/locales/yo.js +115 -0
  308. package/fullstacked_modules/zod/v4/locales/zh-CN.cjs +1 -0
  309. package/fullstacked_modules/zod/v4/locales/zh-CN.d.cts +2 -1
  310. package/fullstacked_modules/zod/v4/locales/zh-TW.cjs +1 -0
  311. package/fullstacked_modules/zod/v4/locales/zh-TW.d.cts +2 -1
  312. package/fullstacked_modules/zod/v4/mini/external.cjs +2 -2
  313. package/fullstacked_modules/zod/v4/mini/external.d.cts +1 -1
  314. package/fullstacked_modules/zod/v4/mini/external.d.ts +1 -1
  315. package/fullstacked_modules/zod/v4/mini/external.js +1 -1
  316. package/fullstacked_modules/zod/v4/mini/package.json +6 -0
  317. package/fullstacked_modules/zod/v4/mini/parse.cjs +9 -1
  318. package/fullstacked_modules/zod/v4/mini/parse.d.cts +1 -1
  319. package/fullstacked_modules/zod/v4/mini/parse.d.ts +1 -1
  320. package/fullstacked_modules/zod/v4/mini/parse.js +1 -1
  321. package/fullstacked_modules/zod/v4/mini/schemas.cjs +77 -24
  322. package/fullstacked_modules/zod/v4/mini/schemas.d.cts +56 -5
  323. package/fullstacked_modules/zod/v4/mini/schemas.d.ts +56 -5
  324. package/fullstacked_modules/zod/v4/mini/schemas.js +66 -23
  325. package/fullstacked_modules/zod/v4/package.json +6 -0
  326. package/fullstacked_modules/zod/v4-mini/package.json +6 -0
  327. package/index.js +1 -1
  328. package/package.json +1 -1
  329. package/fullstacked_modules/@fullstacked/ai-agent/story.txt +0 -7
  330. package/fullstacked_modules/@fullstacked/ai-agent/summary.txt +0 -7
  331. package/fullstacked_modules/zod/src/v4/core/function.ts +0 -176
  332. package/fullstacked_modules/zod/v4/core/function.cjs +0 -102
  333. package/fullstacked_modules/zod/v4/core/function.d.cts +0 -52
  334. package/fullstacked_modules/zod/v4/core/function.d.ts +0 -52
  335. package/fullstacked_modules/zod/v4/core/function.js +0 -75
@@ -297,6 +297,7 @@ export const $ZodCheckNumberFormat: core.$constructor<$ZodCheckNumberFormat> = /
297
297
  expected: origin,
298
298
  format: def.format,
299
299
  code: "invalid_type",
300
+ continue: false,
300
301
  input,
301
302
  inst,
302
303
  });
@@ -469,6 +470,7 @@ export const $ZodCheckMaxSize: core.$constructor<$ZodCheckMaxSize> = /*@__PURE__
469
470
  origin: util.getSizableOrigin(input),
470
471
  code: "too_big",
471
472
  maximum: def.maximum,
473
+ inclusive: true,
472
474
  input,
473
475
  inst,
474
476
  continue: !def.abort,
@@ -518,6 +520,7 @@ export const $ZodCheckMinSize: core.$constructor<$ZodCheckMinSize> = /*@__PURE__
518
520
  origin: util.getSizableOrigin(input),
519
521
  code: "too_small",
520
522
  minimum: def.minimum,
523
+ inclusive: true,
521
524
  input,
522
525
  inst,
523
526
  continue: !def.abort,
@@ -1128,12 +1131,12 @@ export interface $ZodCheckMimeTypeDef extends $ZodCheckDef {
1128
1131
  mime: util.MimeTypes[];
1129
1132
  }
1130
1133
 
1131
- export interface $ZodCheckMimeTypeInternals<T extends File = File> extends $ZodCheckInternals<T> {
1134
+ export interface $ZodCheckMimeTypeInternals<T extends schemas.File = schemas.File> extends $ZodCheckInternals<T> {
1132
1135
  def: $ZodCheckMimeTypeDef;
1133
1136
  issc: errors.$ZodIssueInvalidValue;
1134
1137
  }
1135
1138
 
1136
- export interface $ZodCheckMimeType<T extends File = File> extends $ZodCheck<T> {
1139
+ export interface $ZodCheckMimeType<T extends schemas.File = schemas.File> extends $ZodCheck<T> {
1137
1140
  _zod: $ZodCheckMimeTypeInternals<T>;
1138
1141
  }
1139
1142
 
@@ -1152,6 +1155,7 @@ export const $ZodCheckMimeType: core.$constructor<$ZodCheckMimeType> = /*@__PURE
1152
1155
  values: def.mime,
1153
1156
  input: payload.value.type,
1154
1157
  inst,
1158
+ continue: !def.abort,
1155
1159
  });
1156
1160
  };
1157
1161
  }
@@ -78,40 +78,21 @@ export class $ZodAsyncError extends Error {
78
78
  }
79
79
  }
80
80
 
81
+ export class $ZodEncodeError extends Error {
82
+ constructor(name: string) {
83
+ super(`Encountered unidirectional transform during encode: ${name}`);
84
+ this.name = "ZodEncodeError";
85
+ }
86
+ }
87
+
81
88
  //////////////////////////// TYPE HELPERS ///////////////////////////////////
82
89
 
83
90
  // export type input<T extends schemas.$ZodType> = T["_zod"]["input"];
84
91
  // export type output<T extends schemas.$ZodType> = T["_zod"]["output"];
85
92
  // export type input<T extends schemas.$ZodType> = T["_zod"]["input"];
86
93
  // export type output<T extends schemas.$ZodType> = T["_zod"]["output"];
87
- export type input<T> = T extends { _zod: { input: any } } ? Required<T["_zod"]>["input"] : unknown;
88
- export type output<T> = T extends { _zod: { output: any } } ? Required<T["_zod"]>["output"] : unknown;
89
-
90
- // Mk2
91
- // export type input<T> = T extends { _zod: { "~input": any } }
92
- // ? T["_zod"]["~input"]
93
- // : T extends { _zod: { input: any } }
94
- // ? T["_zod"]["input"]
95
- // : never;
96
- // export type output<T> = T extends { _zod: { "~output": any } }
97
- // ? T["_zod"]["~output"]
98
- // : T extends { _zod: { output: any } }
99
- // ? T["_zod"]["output"]
100
- // : never;
101
- // Mk 3
102
- // export type input<T extends schemas.$ZodType> = T["_zod"]["input"];
103
- // export type output<T extends schemas.$ZodType> = T["_zod"]["output"];
104
- // Mk 4
105
- // export type input<T extends schemas.$ZodType> = T[] extends { _zod: { "~input": any } }
106
- // ? T["_zod"]["~input"]
107
- // : T extends { _zod: { input: any } }
108
- // ? T["_zod"]["input"]
109
- // : never;
110
- // export type output<T extends schemas.$ZodType> = T extends { _zod: { "~output": any } }
111
- // ? T["_zod"]["~output"]
112
- // : T extends { _zod: { output: any } }
113
- // ? T["_zod"]["output"]
114
- // : never;
94
+ export type input<T> = T extends { _zod: { input: any } } ? T["_zod"]["input"] : unknown;
95
+ export type output<T> = T extends { _zod: { output: any } } ? T["_zod"]["output"] : unknown;
115
96
 
116
97
  export type { output as infer };
117
98
 
@@ -33,12 +33,12 @@ export class Doc {
33
33
  }
34
34
  }
35
35
 
36
- compile() {
36
+ compile(): any {
37
37
  const F = Function;
38
38
  const args = this?.args;
39
39
  const content = this?.content ?? [``];
40
40
  const lines = [...content.map((x) => ` ${x}`)];
41
41
  // console.log(lines.join("\n"));
42
- return new F(...args, lines.join("\n"));
42
+ return new F(...args, lines.join("\n")) as any;
43
43
  }
44
44
  }
@@ -1,6 +1,7 @@
1
1
  import type { $ZodCheck, $ZodStringFormats } from "./checks.js";
2
2
  import { $constructor } from "./core.js";
3
3
  import type { $ZodType } from "./schemas.js";
4
+ import type { StandardSchemaV1 } from "./standard-schema.js";
4
5
  import * as util from "./util.js";
5
6
 
6
7
  ///////////////////////////
@@ -11,7 +12,6 @@ export interface $ZodIssueBase {
11
12
  readonly input?: unknown;
12
13
  readonly path: PropertyKey[];
13
14
  readonly message: string;
14
- // [k: string]: unknown;
15
15
  }
16
16
 
17
17
  ////////////////////////////////
@@ -20,7 +20,7 @@ export interface $ZodIssueBase {
20
20
  export interface $ZodIssueInvalidType<Input = unknown> extends $ZodIssueBase {
21
21
  readonly code: "invalid_type";
22
22
  readonly expected: $ZodType["_zod"]["def"]["type"];
23
- readonly input: Input;
23
+ readonly input?: Input;
24
24
  }
25
25
 
26
26
  export interface $ZodIssueTooBig<Input = unknown> extends $ZodIssueBase {
@@ -29,7 +29,7 @@ export interface $ZodIssueTooBig<Input = unknown> extends $ZodIssueBase {
29
29
  readonly maximum: number | bigint;
30
30
  readonly inclusive?: boolean;
31
31
  readonly exact?: boolean;
32
- readonly input: Input;
32
+ readonly input?: Input;
33
33
  }
34
34
 
35
35
  export interface $ZodIssueTooSmall<Input = unknown> extends $ZodIssueBase {
@@ -40,39 +40,40 @@ export interface $ZodIssueTooSmall<Input = unknown> extends $ZodIssueBase {
40
40
  readonly inclusive?: boolean;
41
41
  /** True if the allowed value is fixed (e.g.` z.length(5)`), not a range (`z.minLength(5)`) */
42
42
  readonly exact?: boolean;
43
- readonly input: Input;
43
+ readonly input?: Input;
44
44
  }
45
45
 
46
46
  export interface $ZodIssueInvalidStringFormat extends $ZodIssueBase {
47
47
  readonly code: "invalid_format";
48
48
  readonly format: $ZodStringFormats | (string & {});
49
49
  readonly pattern?: string;
50
- readonly input: string;
50
+ readonly input?: string;
51
51
  }
52
52
 
53
53
  export interface $ZodIssueNotMultipleOf<Input extends number | bigint = number | bigint> extends $ZodIssueBase {
54
54
  readonly code: "not_multiple_of";
55
55
  readonly divisor: number;
56
- readonly input: Input;
56
+ readonly input?: Input;
57
57
  }
58
58
 
59
59
  export interface $ZodIssueUnrecognizedKeys extends $ZodIssueBase {
60
60
  readonly code: "unrecognized_keys";
61
61
  readonly keys: string[];
62
- readonly input: Record<string, unknown>;
62
+ readonly input?: Record<string, unknown>;
63
63
  }
64
64
 
65
65
  export interface $ZodIssueInvalidUnion extends $ZodIssueBase {
66
66
  readonly code: "invalid_union";
67
67
  readonly errors: $ZodIssue[][];
68
- readonly input: unknown;
68
+ readonly input?: unknown;
69
+ readonly discriminator?: string | undefined;
69
70
  }
70
71
 
71
72
  export interface $ZodIssueInvalidKey<Input = unknown> extends $ZodIssueBase {
72
73
  readonly code: "invalid_key";
73
74
  readonly origin: "map" | "record";
74
75
  readonly issues: $ZodIssue[];
75
- readonly input: Input;
76
+ readonly input?: Input;
76
77
  }
77
78
 
78
79
  export interface $ZodIssueInvalidElement<Input = unknown> extends $ZodIssueBase {
@@ -80,19 +81,19 @@ export interface $ZodIssueInvalidElement<Input = unknown> extends $ZodIssueBase
80
81
  readonly origin: "map" | "set";
81
82
  readonly key: unknown;
82
83
  readonly issues: $ZodIssue[];
83
- readonly input: Input;
84
+ readonly input?: Input;
84
85
  }
85
86
 
86
87
  export interface $ZodIssueInvalidValue<Input = unknown> extends $ZodIssueBase {
87
88
  readonly code: "invalid_value";
88
89
  readonly values: util.Primitive[];
89
- readonly input: Input;
90
+ readonly input?: Input;
90
91
  }
91
92
 
92
93
  export interface $ZodIssueCustom extends $ZodIssueBase {
93
94
  readonly code: "custom";
94
95
  readonly params?: Record<string, any> | undefined;
95
- readonly input: unknown;
96
+ readonly input?: unknown;
96
97
  }
97
98
 
98
99
  ////////////////////////////////////////////
@@ -155,17 +156,21 @@ export type $ZodIssue =
155
156
 
156
157
  export type $ZodIssueCode = $ZodIssue["code"];
157
158
 
158
- export type $ZodRawIssue<T extends $ZodIssueBase = $ZodIssue> = T extends any ? RawIssue<T> : never;
159
- type RawIssue<T extends $ZodIssueBase> = util.Flatten<
160
- util.MakePartial<T, "message" | "path"> & {
161
- /** The input data */
162
- readonly input?: unknown;
163
- /** The schema or check that originated this issue. */
164
- readonly inst?: $ZodType | $ZodCheck;
165
- /** @deprecated Internal use only. If `true`, Zod will continue executing validation despite this issue. */
166
- readonly continue?: boolean | undefined;
167
- } & Record<string, any>
168
- >;
159
+ export type $ZodInternalIssue<T extends $ZodIssueBase = $ZodIssue> = T extends any ? RawIssue<T> : never;
160
+ type RawIssue<T extends $ZodIssueBase> = T extends any
161
+ ? util.Flatten<
162
+ util.MakePartial<T, "message" | "path"> & {
163
+ /** The input data */
164
+ readonly input: unknown;
165
+ /** The schema or check that originated this issue. */
166
+ readonly inst?: $ZodType | $ZodCheck;
167
+ /** If `true`, Zod will continue executing checks/refinements after this issue. */
168
+ readonly continue?: boolean | undefined;
169
+ } & Record<string, unknown>
170
+ >
171
+ : never;
172
+
173
+ export type $ZodRawIssue<T extends $ZodIssueBase = $ZodIssue> = $ZodInternalIssue<T>;
169
174
 
170
175
  export interface $ZodErrorMap<T extends $ZodIssueBase = $ZodIssue> {
171
176
  // biome-ignore lint:
@@ -196,13 +201,8 @@ const initializer = (inst: $ZodError, def: $ZodIssue[]): void => {
196
201
  value: def,
197
202
  enumerable: false,
198
203
  });
199
- Object.defineProperty(inst, "message", {
200
- get() {
201
- return JSON.stringify(def, util.jsonStringifyReplacer, 2);
202
- },
203
- enumerable: true,
204
- // configurable: false,
205
- });
204
+ inst.message = JSON.stringify(def, util.jsonStringifyReplacer, 2);
205
+
206
206
  Object.defineProperty(inst, "toString", {
207
207
  value: () => inst.message,
208
208
  enumerable: false,
@@ -226,9 +226,9 @@ type _FlattenedError<T, U = string> = {
226
226
 
227
227
  export function flattenError<T>(error: $ZodError<T>): _FlattenedError<T>;
228
228
  export function flattenError<T, U>(error: $ZodError<T>, mapper?: (issue: $ZodIssue) => U): _FlattenedError<T, U>;
229
- export function flattenError(error: $ZodError, mapper = (issue: $ZodIssue) => issue.message): any {
230
- const fieldErrors: any = {};
231
- const formErrors: any[] = [];
229
+ export function flattenError<T, U>(error: $ZodError<T>, mapper = (issue: $ZodIssue) => issue.message as U) {
230
+ const fieldErrors: Record<PropertyKey, any> = {};
231
+ const formErrors: U[] = [];
232
232
  for (const sub of error.issues) {
233
233
  if (sub.path.length > 0) {
234
234
  fieldErrors[sub.path[0]!] = fieldErrors[sub.path[0]!] || [];
@@ -254,12 +254,7 @@ export type $ZodFormattedError<T, U = string> = {
254
254
 
255
255
  export function formatError<T>(error: $ZodError<T>): $ZodFormattedError<T>;
256
256
  export function formatError<T, U>(error: $ZodError<T>, mapper?: (issue: $ZodIssue) => U): $ZodFormattedError<T, U>;
257
- export function formatError<T>(error: $ZodError, _mapper?: any) {
258
- const mapper: (issue: $ZodIssue) => any =
259
- _mapper ||
260
- function (issue: $ZodIssue) {
261
- return issue.message;
262
- };
257
+ export function formatError<T, U>(error: $ZodError<T>, mapper = (issue: $ZodIssue) => issue.message as U) {
263
258
  const fieldErrors: $ZodFormattedError<T> = { _errors: [] } as any;
264
259
  const processError = (error: { issues: $ZodIssue[] }) => {
265
260
  for (const issue of error.issues) {
@@ -295,23 +290,20 @@ export function formatError<T>(error: $ZodError, _mapper?: any) {
295
290
  return fieldErrors;
296
291
  }
297
292
 
298
- export type $ZodErrorTree<T, U = string> = T extends [any, ...any[]]
299
- ? { errors: U[]; items?: { [K in keyof T]?: $ZodErrorTree<T[K], U> } }
300
- : T extends any[]
301
- ? { errors: U[]; items?: Array<$ZodErrorTree<T[number], U>> }
302
- : T extends object
303
- ? { errors: U[]; properties?: { [K in keyof T]?: $ZodErrorTree<T[K], U> } }
304
- : { errors: U[] };
293
+ export type $ZodErrorTree<T, U = string> = T extends util.Primitive
294
+ ? { errors: U[] }
295
+ : T extends [any, ...any[]]
296
+ ? { errors: U[]; items?: { [K in keyof T]?: $ZodErrorTree<T[K], U> } }
297
+ : T extends any[]
298
+ ? { errors: U[]; items?: Array<$ZodErrorTree<T[number], U>> }
299
+ : T extends object
300
+ ? { errors: U[]; properties?: { [K in keyof T]?: $ZodErrorTree<T[K], U> } }
301
+ : { errors: U[] };
305
302
 
306
303
  export function treeifyError<T>(error: $ZodError<T>): $ZodErrorTree<T>;
307
304
  export function treeifyError<T, U>(error: $ZodError<T>, mapper?: (issue: $ZodIssue) => U): $ZodErrorTree<T, U>;
308
- export function treeifyError<T>(error: $ZodError, _mapper?: any) {
309
- const mapper: (issue: $ZodIssue) => any =
310
- _mapper ||
311
- function (issue: $ZodIssue) {
312
- return issue.message;
313
- };
314
- const result: $ZodErrorTree<T> = { errors: [] } as any;
305
+ export function treeifyError<T, U>(error: $ZodError<T>, mapper = (issue: $ZodIssue) => issue.message as U) {
306
+ const result: $ZodErrorTree<T, U> = { errors: [] } as any;
315
307
  const processError = (error: { issues: $ZodIssue[] }, path: PropertyKey[] = []) => {
316
308
  for (const issue of error.issues) {
317
309
  if (issue.code === "invalid_union" && issue.errors.length) {
@@ -389,8 +381,9 @@ export function treeifyError<T>(error: $ZodError, _mapper?: any) {
389
381
  * ✖ Invalid input: expected number
390
382
  * ```
391
383
  */
392
- export function toDotPath(path: (string | number | symbol)[]): string {
384
+ export function toDotPath(_path: readonly (string | number | symbol | StandardSchemaV1.PathSegment)[]): string {
393
385
  const segs: string[] = [];
386
+ const path: PropertyKey[] = _path.map((seg: any) => (typeof seg === "object" ? seg.key : seg));
394
387
  for (const seg of path) {
395
388
  if (typeof seg === "number") segs.push(`[${seg}]`);
396
389
  else if (typeof seg === "symbol") segs.push(`[${JSON.stringify(String(seg))}]`);
@@ -404,14 +397,10 @@ export function toDotPath(path: (string | number | symbol)[]): string {
404
397
  return segs.join("");
405
398
  }
406
399
 
407
- interface BaseError {
408
- issues: $ZodIssueBase[];
409
- }
410
-
411
- export function prettifyError(error: BaseError): string {
400
+ export function prettifyError(error: StandardSchemaV1.FailureResult): string {
412
401
  const lines: string[] = [];
413
402
  // sort by path length
414
- const issues = [...error.issues].sort((a, b) => a.path.length - b.path.length);
403
+ const issues = [...error.issues].sort((a, b) => (a.path ?? []).length - (b.path ?? []).length);
415
404
 
416
405
  // Process each issue
417
406
  for (const issue of issues) {
@@ -9,7 +9,6 @@ export * as regexes from "./regexes.js";
9
9
  export * as locales from "../locales/index.js";
10
10
  export * from "./registries.js";
11
11
  export * from "./doc.js";
12
- export * from "./function.js";
13
12
  export * from "./api.js";
14
13
  export * from "./to-json-schema.js";
15
14
  export * as JSONSchema from "./json-schema.js";
@@ -45,7 +45,10 @@ export type Schema =
45
45
  export type _JSONSchema = boolean | JSONSchema;
46
46
  export type JSONSchema = {
47
47
  [k: string]: unknown;
48
- $schema?: "https://json-schema.org/draft/2020-12/schema" | "http://json-schema.org/draft-07/schema#";
48
+ $schema?:
49
+ | "https://json-schema.org/draft/2020-12/schema"
50
+ | "http://json-schema.org/draft-07/schema#"
51
+ | "http://json-schema.org/draft-04/schema#";
49
52
  $id?: string;
50
53
  $anchor?: string;
51
54
  $ref?: string;
@@ -75,9 +78,9 @@ export type JSONSchema = {
75
78
  not?: _JSONSchema;
76
79
  multipleOf?: number;
77
80
  maximum?: number;
78
- exclusiveMaximum?: number;
81
+ exclusiveMaximum?: number | boolean;
79
82
  minimum?: number;
80
- exclusiveMinimum?: number;
83
+ exclusiveMinimum?: number | boolean;
81
84
  maxLength?: number;
82
85
  minLength?: number;
83
86
  pattern?: string;
@@ -101,6 +104,7 @@ export type JSONSchema = {
101
104
  deprecated?: boolean;
102
105
  readOnly?: boolean;
103
106
  writeOnly?: boolean;
107
+ nullable?: boolean;
104
108
  examples?: unknown[];
105
109
  format?: string;
106
110
  contentMediaType?: string;
@@ -92,3 +92,104 @@ export const _safeParseAsync: (_Err: $ZodErrorClass) => $SafeParseAsync = (_Err)
92
92
  };
93
93
 
94
94
  export const safeParseAsync: $SafeParseAsync = /* @__PURE__*/ _safeParseAsync(errors.$ZodRealError);
95
+
96
+ // Codec functions
97
+ export type $Encode = <T extends schemas.$ZodType>(
98
+ schema: T,
99
+ value: core.output<T>,
100
+ _ctx?: schemas.ParseContext<errors.$ZodIssue>
101
+ ) => core.input<T>;
102
+
103
+ export const _encode: (_Err: $ZodErrorClass) => $Encode = (_Err) => (schema, value, _ctx) => {
104
+ const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" as const }) : { direction: "backward" as const };
105
+ return _parse(_Err)(schema, value, ctx as any) as any;
106
+ };
107
+
108
+ export const encode: $Encode = /* @__PURE__*/ _encode(errors.$ZodRealError);
109
+
110
+ export type $Decode = <T extends schemas.$ZodType>(
111
+ schema: T,
112
+ value: core.input<T>,
113
+ _ctx?: schemas.ParseContext<errors.$ZodIssue>
114
+ ) => core.output<T>;
115
+
116
+ export const _decode: (_Err: $ZodErrorClass) => $Decode = (_Err) => (schema, value, _ctx) => {
117
+ return _parse(_Err)(schema, value, _ctx);
118
+ };
119
+
120
+ export const decode: $Decode = /* @__PURE__*/ _decode(errors.$ZodRealError);
121
+
122
+ export type $EncodeAsync = <T extends schemas.$ZodType>(
123
+ schema: T,
124
+ value: core.output<T>,
125
+ _ctx?: schemas.ParseContext<errors.$ZodIssue>
126
+ ) => Promise<core.input<T>>;
127
+
128
+ export const _encodeAsync: (_Err: $ZodErrorClass) => $EncodeAsync = (_Err) => async (schema, value, _ctx) => {
129
+ const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" as const }) : { direction: "backward" as const };
130
+ return _parseAsync(_Err)(schema, value, ctx as any) as any;
131
+ };
132
+
133
+ export const encodeAsync: $EncodeAsync = /* @__PURE__*/ _encodeAsync(errors.$ZodRealError);
134
+
135
+ export type $DecodeAsync = <T extends schemas.$ZodType>(
136
+ schema: T,
137
+ value: core.input<T>,
138
+ _ctx?: schemas.ParseContext<errors.$ZodIssue>
139
+ ) => Promise<core.output<T>>;
140
+
141
+ export const _decodeAsync: (_Err: $ZodErrorClass) => $DecodeAsync = (_Err) => async (schema, value, _ctx) => {
142
+ return _parseAsync(_Err)(schema, value, _ctx);
143
+ };
144
+
145
+ export const decodeAsync: $DecodeAsync = /* @__PURE__*/ _decodeAsync(errors.$ZodRealError);
146
+
147
+ export type $SafeEncode = <T extends schemas.$ZodType>(
148
+ schema: T,
149
+ value: core.output<T>,
150
+ _ctx?: schemas.ParseContext<errors.$ZodIssue>
151
+ ) => util.SafeParseResult<core.input<T>>;
152
+
153
+ export const _safeEncode: (_Err: $ZodErrorClass) => $SafeEncode = (_Err) => (schema, value, _ctx) => {
154
+ const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" as const }) : { direction: "backward" as const };
155
+ return _safeParse(_Err)(schema, value, ctx as any) as any;
156
+ };
157
+
158
+ export const safeEncode: $SafeEncode = /* @__PURE__*/ _safeEncode(errors.$ZodRealError);
159
+
160
+ export type $SafeDecode = <T extends schemas.$ZodType>(
161
+ schema: T,
162
+ value: core.input<T>,
163
+ _ctx?: schemas.ParseContext<errors.$ZodIssue>
164
+ ) => util.SafeParseResult<core.output<T>>;
165
+
166
+ export const _safeDecode: (_Err: $ZodErrorClass) => $SafeDecode = (_Err) => (schema, value, _ctx) => {
167
+ return _safeParse(_Err)(schema, value, _ctx);
168
+ };
169
+
170
+ export const safeDecode: $SafeDecode = /* @__PURE__*/ _safeDecode(errors.$ZodRealError);
171
+
172
+ export type $SafeEncodeAsync = <T extends schemas.$ZodType>(
173
+ schema: T,
174
+ value: core.output<T>,
175
+ _ctx?: schemas.ParseContext<errors.$ZodIssue>
176
+ ) => Promise<util.SafeParseResult<core.input<T>>>;
177
+
178
+ export const _safeEncodeAsync: (_Err: $ZodErrorClass) => $SafeEncodeAsync = (_Err) => async (schema, value, _ctx) => {
179
+ const ctx = _ctx ? Object.assign(_ctx, { direction: "backward" as const }) : { direction: "backward" as const };
180
+ return _safeParseAsync(_Err)(schema, value, ctx as any) as any;
181
+ };
182
+
183
+ export const safeEncodeAsync: $SafeEncodeAsync = /* @__PURE__*/ _safeEncodeAsync(errors.$ZodRealError);
184
+
185
+ export type $SafeDecodeAsync = <T extends schemas.$ZodType>(
186
+ schema: T,
187
+ value: core.input<T>,
188
+ _ctx?: schemas.ParseContext<errors.$ZodIssue>
189
+ ) => Promise<util.SafeParseResult<core.output<T>>>;
190
+
191
+ export const _safeDecodeAsync: (_Err: $ZodErrorClass) => $SafeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
192
+ return _safeParseAsync(_Err)(schema, value, _ctx);
193
+ };
194
+
195
+ export const safeDecodeAsync: $SafeDecodeAsync = /* @__PURE__*/ _safeDecodeAsync(errors.$ZodRealError);
@@ -16,12 +16,12 @@ export const extendedDuration: RegExp =
16
16
  /** A regex for any UUID-like identifier: 8-4-4-4-12 hex pattern */
17
17
  export const guid: RegExp = /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/;
18
18
 
19
- /** Returns a regex for validating an RFC 4122 UUID.
19
+ /** Returns a regex for validating an RFC 9562/4122 UUID.
20
20
  *
21
21
  * @param version Optionally specify a version 1-8. If no version is specified, all versions are supported. */
22
22
  export const uuid = (version?: number | undefined): RegExp => {
23
23
  if (!version)
24
- return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000)$/;
24
+ return /^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/;
25
25
  return new RegExp(
26
26
  `^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${version}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`
27
27
  );
@@ -44,12 +44,13 @@ export const rfc5322Email =
44
44
 
45
45
  /** A loose regex that allows Unicode characters, enforces length limits, and that's about it. */
46
46
  export const unicodeEmail = /^[^\s@"]{1,64}@[^\s@]{1,255}$/u;
47
+ export const idnEmail = unicodeEmail;
47
48
 
48
49
  export const browserEmail: RegExp =
49
50
  /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
50
51
  // from https://thekevinscott.com/emojis-in-javascript/#writing-a-regular-expression
51
52
 
52
- export const _emoji = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
53
+ const _emoji: string = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
53
54
  export function emoji(): RegExp {
54
55
  return new RegExp(_emoji, "u");
55
56
  }
@@ -57,7 +58,7 @@ export function emoji(): RegExp {
57
58
  export const ipv4: RegExp =
58
59
  /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
59
60
  export const ipv6: RegExp =
60
- /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})$/;
61
+ /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
61
62
 
62
63
  export const cidrv4: RegExp =
63
64
  /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
@@ -69,9 +70,10 @@ export const base64: RegExp = /^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==
69
70
  export const base64url: RegExp = /^[A-Za-z0-9_-]*$/;
70
71
 
71
72
  // based on https://stackoverflow.com/questions/106179/regular-expression-to-match-dns-hostname-or-ip-address
72
- // export const hostname: RegExp =
73
- // /^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)+([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])$/;
74
- export const hostname: RegExp = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;
73
+ // export const hostname: RegExp = /^([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+$/;
74
+ export const hostname: RegExp =
75
+ /^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/;
76
+
75
77
  export const domain: RegExp = /^([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/;
76
78
 
77
79
  // https://blog.stevenlevithan.com/archives/validate-phone-number#r4-3 (regex sans spaces)
@@ -109,7 +111,8 @@ export function datetime(args: {
109
111
  const time = timeSource({ precision: args.precision });
110
112
  const opts = ["Z"];
111
113
  if (args.local) opts.push("");
112
- if (args.offset) opts.push(`([+-]\\d{2}:\\d{2})`);
114
+ // if (args.offset) opts.push(`([+-]\\d{2}:\\d{2})`);
115
+ if (args.offset) opts.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);
113
116
  const timeRegex = `${time}(?:${opts.join("|")})`;
114
117
 
115
118
  return new RegExp(`^${dateSource}T(?:${timeRegex})$`);
@@ -120,16 +123,55 @@ export const string = (params?: { minimum?: number | undefined; maximum?: number
120
123
  return new RegExp(`^${regex}$`);
121
124
  };
122
125
 
123
- export const bigint: RegExp = /^\d+n?$/;
124
- export const integer: RegExp = /^\d+$/;
125
- export const number: RegExp = /^-?\d+(?:\.\d+)?/i;
126
- export const boolean: RegExp = /true|false/i;
127
- const _null: RegExp = /null/i;
126
+ export const bigint: RegExp = /^-?\d+n?$/;
127
+ export const integer: RegExp = /^-?\d+$/;
128
+ export const number: RegExp = /^-?\d+(?:\.\d+)?/;
129
+ export const boolean: RegExp = /^(?:true|false)$/i;
130
+ const _null: RegExp = /^null$/i;
128
131
  export { _null as null };
129
- const _undefined: RegExp = /undefined/i;
132
+ const _undefined: RegExp = /^undefined$/i;
130
133
  export { _undefined as undefined };
131
134
 
132
135
  // regex for string with no uppercase letters
133
136
  export const lowercase: RegExp = /^[^A-Z]*$/;
134
137
  // regex for string with no lowercase letters
135
138
  export const uppercase: RegExp = /^[^a-z]*$/;
139
+
140
+ // regex for hexadecimal strings (any length)
141
+ export const hex: RegExp = /^[0-9a-fA-F]*$/;
142
+
143
+ // Hash regexes for different algorithms and encodings
144
+ // Helper function to create base64 regex with exact length and padding
145
+ function fixedBase64(bodyLength: number, padding: "" | "=" | "=="): RegExp {
146
+ return new RegExp(`^[A-Za-z0-9+/]{${bodyLength}}${padding}$`);
147
+ }
148
+
149
+ // Helper function to create base64url regex with exact length (no padding)
150
+ function fixedBase64url(length: number): RegExp {
151
+ return new RegExp(`^[A-Za-z0-9_-]{${length}}$`);
152
+ }
153
+
154
+ // MD5 (16 bytes): base64 = 24 chars total (22 + "==")
155
+ export const md5_hex: RegExp = /^[0-9a-fA-F]{32}$/;
156
+ export const md5_base64: RegExp = /*@__PURE__*/ fixedBase64(22, "==");
157
+ export const md5_base64url: RegExp = /*@__PURE__*/ fixedBase64url(22);
158
+
159
+ // SHA1 (20 bytes): base64 = 28 chars total (27 + "=")
160
+ export const sha1_hex: RegExp = /^[0-9a-fA-F]{40}$/;
161
+ export const sha1_base64: RegExp = /*@__PURE__*/ fixedBase64(27, "=");
162
+ export const sha1_base64url: RegExp = /*@__PURE__*/ fixedBase64url(27);
163
+
164
+ // SHA256 (32 bytes): base64 = 44 chars total (43 + "=")
165
+ export const sha256_hex: RegExp = /^[0-9a-fA-F]{64}$/;
166
+ export const sha256_base64: RegExp = /*@__PURE__*/ fixedBase64(43, "=");
167
+ export const sha256_base64url: RegExp = /*@__PURE__*/ fixedBase64url(43);
168
+
169
+ // SHA384 (48 bytes): base64 = 64 chars total (no padding)
170
+ export const sha384_hex: RegExp = /^[0-9a-fA-F]{96}$/;
171
+ export const sha384_base64: RegExp = /*@__PURE__*/ fixedBase64(64, "");
172
+ export const sha384_base64url: RegExp = /*@__PURE__*/ fixedBase64url(64);
173
+
174
+ // SHA512 (64 bytes): base64 = 88 chars total (86 + "==")
175
+ export const sha512_hex: RegExp = /^[0-9a-fA-F]{128}$/;
176
+ export const sha512_base64: RegExp = /*@__PURE__*/ fixedBase64(86, "==");
177
+ export const sha512_base64url: RegExp = /*@__PURE__*/ fixedBase64url(86);
@@ -23,11 +23,11 @@ export type $replace<Meta, S extends $ZodType> = Meta extends $output
23
23
  ? { [K in keyof Meta]: $replace<Meta[K], S> }
24
24
  : Meta;
25
25
 
26
- type MetadataType = Record<string, unknown> | undefined;
26
+ type MetadataType = object | undefined;
27
27
  export class $ZodRegistry<Meta extends MetadataType = MetadataType, Schema extends $ZodType = $ZodType> {
28
28
  _meta!: Meta;
29
29
  _schema!: Schema;
30
- _map: Map<Schema, $replace<Meta, Schema>> = new Map();
30
+ _map: WeakMap<Schema, $replace<Meta, Schema>> = new WeakMap();
31
31
  _idmap: Map<string, Schema> = new Map();
32
32
 
33
33
  add<S extends Schema>(
@@ -46,7 +46,7 @@ export class $ZodRegistry<Meta extends MetadataType = MetadataType, Schema exten
46
46
  }
47
47
 
48
48
  clear(): this {
49
- this._map = new Map();
49
+ this._map = new WeakMap();
50
50
  this._idmap = new Map();
51
51
  return this;
52
52
  }
@@ -68,7 +68,8 @@ export class $ZodRegistry<Meta extends MetadataType = MetadataType, Schema exten
68
68
  if (p) {
69
69
  const pm: any = { ...(this.get(p) ?? {}) };
70
70
  delete pm.id; // do not inherit id
71
- return { ...pm, ...this._map.get(schema) } as any;
71
+ const f = { ...pm, ...this._map.get(schema) } as any;
72
+ return Object.keys(f).length ? f : undefined;
72
73
  }
73
74
  return this._map.get(schema) as any;
74
75
  }