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
@@ -23,8 +23,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.$ZodSet = exports.$ZodMap = exports.$ZodRecord = exports.$ZodTuple = exports.$ZodIntersection = exports.$ZodDiscriminatedUnion = exports.$ZodUnion = exports.$ZodObject = exports.$ZodArray = exports.$ZodDate = exports.$ZodVoid = exports.$ZodNever = exports.$ZodUnknown = exports.$ZodAny = exports.$ZodNull = exports.$ZodUndefined = exports.$ZodSymbol = exports.$ZodBigIntFormat = exports.$ZodBigInt = exports.$ZodBoolean = exports.$ZodNumberFormat = exports.$ZodNumber = exports.$ZodCustomStringFormat = exports.$ZodJWT = exports.$ZodE164 = exports.$ZodBase64URL = exports.$ZodBase64 = exports.$ZodCIDRv6 = exports.$ZodCIDRv4 = exports.$ZodIPv6 = exports.$ZodIPv4 = exports.$ZodISODuration = exports.$ZodISOTime = exports.$ZodISODate = exports.$ZodISODateTime = exports.$ZodKSUID = exports.$ZodXID = exports.$ZodULID = exports.$ZodCUID2 = exports.$ZodCUID = exports.$ZodNanoID = exports.$ZodEmoji = exports.$ZodURL = exports.$ZodEmail = exports.$ZodUUID = exports.$ZodGUID = exports.$ZodStringFormat = exports.$ZodString = exports.clone = exports.$ZodType = void 0;
27
- exports.$ZodCustom = exports.$ZodLazy = exports.$ZodPromise = exports.$ZodTemplateLiteral = exports.$ZodReadonly = exports.$ZodPipe = exports.$ZodNaN = exports.$ZodCatch = exports.$ZodSuccess = exports.$ZodNonOptional = exports.$ZodPrefault = exports.$ZodDefault = exports.$ZodNullable = exports.$ZodOptional = exports.$ZodTransform = exports.$ZodFile = exports.$ZodLiteral = exports.$ZodEnum = void 0;
26
+ exports.$ZodMap = exports.$ZodRecord = exports.$ZodTuple = exports.$ZodIntersection = exports.$ZodDiscriminatedUnion = exports.$ZodUnion = exports.$ZodObjectJIT = exports.$ZodObject = exports.$ZodArray = exports.$ZodDate = exports.$ZodVoid = exports.$ZodNever = exports.$ZodUnknown = exports.$ZodAny = exports.$ZodNull = exports.$ZodUndefined = exports.$ZodSymbol = exports.$ZodBigIntFormat = exports.$ZodBigInt = exports.$ZodBoolean = exports.$ZodNumberFormat = exports.$ZodNumber = exports.$ZodCustomStringFormat = exports.$ZodJWT = exports.$ZodE164 = exports.$ZodBase64URL = exports.$ZodBase64 = exports.$ZodCIDRv6 = exports.$ZodCIDRv4 = exports.$ZodIPv6 = exports.$ZodIPv4 = exports.$ZodISODuration = exports.$ZodISOTime = exports.$ZodISODate = exports.$ZodISODateTime = exports.$ZodKSUID = exports.$ZodXID = exports.$ZodULID = exports.$ZodCUID2 = exports.$ZodCUID = exports.$ZodNanoID = exports.$ZodEmoji = exports.$ZodURL = exports.$ZodEmail = exports.$ZodUUID = exports.$ZodGUID = exports.$ZodStringFormat = exports.$ZodString = exports.clone = exports.$ZodType = void 0;
27
+ exports.$ZodCustom = exports.$ZodLazy = exports.$ZodPromise = exports.$ZodFunction = exports.$ZodTemplateLiteral = exports.$ZodReadonly = exports.$ZodCodec = exports.$ZodPipe = exports.$ZodNaN = exports.$ZodCatch = exports.$ZodSuccess = exports.$ZodNonOptional = exports.$ZodPrefault = exports.$ZodDefault = exports.$ZodNullable = exports.$ZodOptional = exports.$ZodTransform = exports.$ZodFile = exports.$ZodLiteral = exports.$ZodEnum = exports.$ZodSet = void 0;
28
28
  exports.isValidBase64 = isValidBase64;
29
29
  exports.isValidBase64URL = isValidBase64URL;
30
30
  exports.isValidJWT = isValidJWT;
@@ -46,7 +46,6 @@ exports.$ZodType = core.$constructor("$ZodType", (inst, def) => {
46
46
  if (inst._zod.traits.has("$ZodCheck")) {
47
47
  checks.unshift(inst);
48
48
  }
49
- //
50
49
  for (const ch of checks) {
51
50
  for (const fn of ch._zod.onattach) {
52
51
  fn(inst);
@@ -103,7 +102,47 @@ exports.$ZodType = core.$constructor("$ZodType", (inst, def) => {
103
102
  }
104
103
  return payload;
105
104
  };
105
+ // const handleChecksResult = (
106
+ // checkResult: ParsePayload,
107
+ // originalResult: ParsePayload,
108
+ // ctx: ParseContextInternal
109
+ // ): util.MaybeAsync<ParsePayload> => {
110
+ // // if the checks mutated the value && there are no issues, re-parse the result
111
+ // if (checkResult.value !== originalResult.value && !checkResult.issues.length)
112
+ // return inst._zod.parse(checkResult, ctx);
113
+ // return originalResult;
114
+ // };
115
+ const handleCanaryResult = (canary, payload, ctx) => {
116
+ // abort if the canary is aborted
117
+ if (util.aborted(canary)) {
118
+ canary.aborted = true;
119
+ return canary;
120
+ }
121
+ // run checks first, then
122
+ const checkResult = runChecks(payload, checks, ctx);
123
+ if (checkResult instanceof Promise) {
124
+ if (ctx.async === false)
125
+ throw new core.$ZodAsyncError();
126
+ return checkResult.then((checkResult) => inst._zod.parse(checkResult, ctx));
127
+ }
128
+ return inst._zod.parse(checkResult, ctx);
129
+ };
106
130
  inst._zod.run = (payload, ctx) => {
131
+ if (ctx.skipChecks) {
132
+ return inst._zod.parse(payload, ctx);
133
+ }
134
+ if (ctx.direction === "backward") {
135
+ // run canary
136
+ // initial pass (no checks)
137
+ const canary = inst._zod.parse({ value: payload.value, issues: [] }, { ...ctx, skipChecks: true });
138
+ if (canary instanceof Promise) {
139
+ return canary.then((canary) => {
140
+ return handleCanaryResult(canary, payload, ctx);
141
+ });
142
+ }
143
+ return handleCanaryResult(canary, payload, ctx);
144
+ }
145
+ // forward
107
146
  const result = inst._zod.parse(payload, ctx);
108
147
  if (result instanceof Promise) {
109
148
  if (ctx.async === false)
@@ -187,9 +226,10 @@ exports.$ZodURL = core.$constructor("$ZodURL", (inst, def) => {
187
226
  exports.$ZodStringFormat.init(inst, def);
188
227
  inst._zod.check = (payload) => {
189
228
  try {
190
- const orig = payload.value;
191
- const url = new URL(orig);
192
- const href = url.href;
229
+ // Trim whitespace from input
230
+ const trimmed = payload.value.trim();
231
+ // @ts-ignore
232
+ const url = new URL(trimmed);
193
233
  if (def.hostname) {
194
234
  def.hostname.lastIndex = 0;
195
235
  if (!def.hostname.test(url.hostname)) {
@@ -218,12 +258,14 @@ exports.$ZodURL = core.$constructor("$ZodURL", (inst, def) => {
218
258
  });
219
259
  }
220
260
  }
221
- // payload.value = url.href;
222
- if (!orig.endsWith("/") && href.endsWith("/")) {
223
- payload.value = href.slice(0, -1);
261
+ // Set the output value based on normalize flag
262
+ if (def.normalize) {
263
+ // Use normalized URL
264
+ payload.value = url.href;
224
265
  }
225
266
  else {
226
- payload.value = href;
267
+ // Preserve the original input (trimmed)
268
+ payload.value = trimmed;
227
269
  }
228
270
  return;
229
271
  }
@@ -299,6 +341,7 @@ exports.$ZodIPv6 = core.$constructor("$ZodIPv6", (inst, def) => {
299
341
  });
300
342
  inst._zod.check = (payload) => {
301
343
  try {
344
+ // @ts-ignore
302
345
  new URL(`http://[${payload.value}]`);
303
346
  // return;
304
347
  }
@@ -321,8 +364,11 @@ exports.$ZodCIDRv6 = core.$constructor("$ZodCIDRv6", (inst, def) => {
321
364
  def.pattern ?? (def.pattern = regexes.cidrv6); // not used for validation
322
365
  exports.$ZodStringFormat.init(inst, def);
323
366
  inst._zod.check = (payload) => {
324
- const [address, prefix] = payload.value.split("/");
367
+ const parts = payload.value.split("/");
325
368
  try {
369
+ if (parts.length !== 2)
370
+ throw new Error();
371
+ const [address, prefix] = parts;
326
372
  if (!prefix)
327
373
  throw new Error();
328
374
  const prefixNum = Number(prefix);
@@ -330,6 +376,7 @@ exports.$ZodCIDRv6 = core.$constructor("$ZodCIDRv6", (inst, def) => {
330
376
  throw new Error();
331
377
  if (prefixNum < 0 || prefixNum > 128)
332
378
  throw new Error();
379
+ // @ts-ignore
333
380
  new URL(`http://[${address}]`);
334
381
  }
335
382
  catch {
@@ -350,6 +397,7 @@ function isValidBase64(data) {
350
397
  if (data.length % 4 !== 0)
351
398
  return false;
352
399
  try {
400
+ // @ts-ignore
353
401
  atob(data);
354
402
  return true;
355
403
  }
@@ -414,6 +462,7 @@ function isValidJWT(token, algorithm = null) {
414
462
  const [header] = tokensParts;
415
463
  if (!header)
416
464
  return false;
465
+ // @ts-ignore
417
466
  const parsedHeader = JSON.parse(atob(header));
418
467
  if ("typ" in parsedHeader && parsedHeader?.typ !== "JWT")
419
468
  return false;
@@ -684,58 +733,88 @@ exports.$ZodArray = core.$constructor("$ZodArray", (inst, def) => {
684
733
  return payload; //handleArrayResultsAsync(parseResults, final);
685
734
  };
686
735
  });
687
- function handleObjectResult(result, final, key) {
688
- // if(isOptional)
736
+ function handlePropertyResult(result, final, key, input) {
689
737
  if (result.issues.length) {
690
738
  final.issues.push(...util.prefixIssues(key, result.issues));
691
739
  }
692
- final.value[key] = result.value;
740
+ if (result.value === undefined) {
741
+ if (key in input) {
742
+ final.value[key] = undefined;
743
+ }
744
+ }
745
+ else {
746
+ final.value[key] = result.value;
747
+ }
693
748
  }
694
- function handleOptionalObjectResult(result, final, key, input) {
695
- if (result.issues.length) {
696
- // validation failed against value schema
697
- if (input[key] === undefined) {
698
- // if input was undefined, ignore the error
699
- if (key in input) {
700
- final.value[key] = undefined;
701
- }
702
- else {
703
- final.value[key] = result.value;
704
- }
749
+ function normalizeDef(def) {
750
+ const keys = Object.keys(def.shape);
751
+ for (const k of keys) {
752
+ if (!def.shape?.[k]?._zod?.traits?.has("$ZodType")) {
753
+ throw new Error(`Invalid element at key "${k}": expected a Zod schema`);
754
+ }
755
+ }
756
+ const okeys = util.optionalKeys(def.shape);
757
+ return {
758
+ ...def,
759
+ keys,
760
+ keySet: new Set(keys),
761
+ numKeys: keys.length,
762
+ optionalKeys: new Set(okeys),
763
+ };
764
+ }
765
+ function handleCatchall(proms, input, payload, ctx, def, inst) {
766
+ const unrecognized = [];
767
+ // iterate over input keys
768
+ const keySet = def.keySet;
769
+ const _catchall = def.catchall._zod;
770
+ const t = _catchall.def.type;
771
+ for (const key of Object.keys(input)) {
772
+ if (keySet.has(key))
773
+ continue;
774
+ if (t === "never") {
775
+ unrecognized.push(key);
776
+ continue;
777
+ }
778
+ const r = _catchall.run({ value: input[key], issues: [] }, ctx);
779
+ if (r instanceof Promise) {
780
+ proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));
705
781
  }
706
782
  else {
707
- final.issues.push(...util.prefixIssues(key, result.issues));
783
+ handlePropertyResult(r, payload, key, input);
708
784
  }
709
785
  }
710
- else if (result.value === undefined) {
711
- // validation returned `undefined`
712
- if (key in input)
713
- final.value[key] = undefined;
714
- }
715
- else {
716
- // non-undefined value
717
- final.value[key] = result.value;
786
+ if (unrecognized.length) {
787
+ payload.issues.push({
788
+ code: "unrecognized_keys",
789
+ keys: unrecognized,
790
+ input,
791
+ inst,
792
+ });
718
793
  }
794
+ if (!proms.length)
795
+ return payload;
796
+ return Promise.all(proms).then(() => {
797
+ return payload;
798
+ });
719
799
  }
720
800
  exports.$ZodObject = core.$constructor("$ZodObject", (inst, def) => {
721
801
  // requires cast because technically $ZodObject doesn't extend
722
802
  exports.$ZodType.init(inst, def);
723
- const _normalized = util.cached(() => {
724
- const keys = Object.keys(def.shape);
725
- for (const k of keys) {
726
- if (!(def.shape[k] instanceof exports.$ZodType)) {
727
- throw new Error(`Invalid element at key "${k}": expected a Zod schema`);
728
- }
729
- }
730
- const okeys = util.optionalKeys(def.shape);
731
- return {
732
- shape: def.shape,
733
- keys,
734
- keySet: new Set(keys),
735
- numKeys: keys.length,
736
- optionalKeys: new Set(okeys),
737
- };
738
- });
803
+ // const sh = def.shape;
804
+ const desc = Object.getOwnPropertyDescriptor(def, "shape");
805
+ if (!desc?.get) {
806
+ const sh = def.shape;
807
+ Object.defineProperty(def, "shape", {
808
+ get: () => {
809
+ const newSh = { ...sh };
810
+ Object.defineProperty(def, "shape", {
811
+ value: newSh,
812
+ });
813
+ return newSh;
814
+ },
815
+ });
816
+ }
817
+ const _normalized = util.cached(() => normalizeDef(def));
739
818
  util.defineLazy(inst._zod, "propValues", () => {
740
819
  const shape = def.shape;
741
820
  const propValues = {};
@@ -749,6 +828,45 @@ exports.$ZodObject = core.$constructor("$ZodObject", (inst, def) => {
749
828
  }
750
829
  return propValues;
751
830
  });
831
+ const isObject = util.isObject;
832
+ const catchall = def.catchall;
833
+ let value;
834
+ inst._zod.parse = (payload, ctx) => {
835
+ value ?? (value = _normalized.value);
836
+ const input = payload.value;
837
+ if (!isObject(input)) {
838
+ payload.issues.push({
839
+ expected: "object",
840
+ code: "invalid_type",
841
+ input,
842
+ inst,
843
+ });
844
+ return payload;
845
+ }
846
+ payload.value = {};
847
+ const proms = [];
848
+ const shape = value.shape;
849
+ for (const key of value.keys) {
850
+ const el = shape[key];
851
+ const r = el._zod.run({ value: input[key], issues: [] }, ctx);
852
+ if (r instanceof Promise) {
853
+ proms.push(r.then((r) => handlePropertyResult(r, payload, key, input)));
854
+ }
855
+ else {
856
+ handlePropertyResult(r, payload, key, input);
857
+ }
858
+ }
859
+ if (!catchall) {
860
+ return proms.length ? Promise.all(proms).then(() => payload) : payload;
861
+ }
862
+ return handleCatchall(proms, input, payload, ctx, _normalized.value, inst);
863
+ };
864
+ });
865
+ exports.$ZodObjectJIT = core.$constructor("$ZodObjectJIT", (inst, def) => {
866
+ // requires cast because technically $ZodObject doesn't extend
867
+ exports.$ZodObject.init(inst, def);
868
+ const superParse = inst._zod.parse;
869
+ const _normalized = util.cached(() => normalizeDef(def));
752
870
  const generateFastpass = (shape) => {
753
871
  const doc = new doc_js_1.Doc(["shape", "payload", "ctx"]);
754
872
  const normalized = _normalized.value;
@@ -763,44 +881,29 @@ exports.$ZodObject = core.$constructor("$ZodObject", (inst, def) => {
763
881
  ids[key] = `key_${counter++}`;
764
882
  }
765
883
  // A: preserve key order {
766
- doc.write(`const newResult = {}`);
884
+ doc.write(`const newResult = {};`);
767
885
  for (const key of normalized.keys) {
768
- if (normalized.optionalKeys.has(key)) {
769
- const id = ids[key];
770
- doc.write(`const ${id} = ${parseStr(key)};`);
771
- const k = util.esc(key);
772
- doc.write(`
886
+ const id = ids[key];
887
+ const k = util.esc(key);
888
+ doc.write(`const ${id} = ${parseStr(key)};`);
889
+ doc.write(`
773
890
  if (${id}.issues.length) {
774
- if (input[${k}] === undefined) {
775
- if (${k} in input) {
776
- newResult[${k}] = undefined;
777
- }
778
- } else {
779
- payload.issues = payload.issues.concat(
780
- ${id}.issues.map((iss) => ({
781
- ...iss,
782
- path: iss.path ? [${k}, ...iss.path] : [${k}],
783
- }))
784
- );
891
+ payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
892
+ ...iss,
893
+ path: iss.path ? [${k}, ...iss.path] : [${k}]
894
+ })));
895
+ }
896
+
897
+
898
+ if (${id}.value === undefined) {
899
+ if (${k} in input) {
900
+ newResult[${k}] = undefined;
785
901
  }
786
- } else if (${id}.value === undefined) {
787
- if (${k} in input) newResult[${k}] = undefined;
788
902
  } else {
789
903
  newResult[${k}] = ${id}.value;
790
904
  }
791
- `);
792
- }
793
- else {
794
- const id = ids[key];
795
- // const id = ids[key];
796
- doc.write(`const ${id} = ${parseStr(key)};`);
797
- doc.write(`
798
- if (${id}.issues.length) payload.issues = payload.issues.concat(${id}.issues.map(iss => ({
799
- ...iss,
800
- path: iss.path ? [${util.esc(key)}, ...iss.path] : [${util.esc(key)}]
801
- })));`);
802
- doc.write(`newResult[${util.esc(key)}] = ${id}.value`);
803
- }
905
+
906
+ `);
804
907
  }
805
908
  doc.write(`payload.value = newResult;`);
806
909
  doc.write(`return payload;`);
@@ -826,80 +929,16 @@ exports.$ZodObject = core.$constructor("$ZodObject", (inst, def) => {
826
929
  });
827
930
  return payload;
828
931
  }
829
- const proms = [];
830
932
  if (jit && fastEnabled && ctx?.async === false && ctx.jitless !== true) {
831
933
  // always synchronous
832
934
  if (!fastpass)
833
935
  fastpass = generateFastpass(def.shape);
834
936
  payload = fastpass(payload, ctx);
937
+ if (!catchall)
938
+ return payload;
939
+ return handleCatchall([], input, payload, ctx, value, inst);
835
940
  }
836
- else {
837
- payload.value = {};
838
- const shape = value.shape;
839
- for (const key of value.keys) {
840
- const el = shape[key];
841
- // do not add omitted optional keys
842
- // if (!(key in input)) {
843
- // if (optionalKeys.has(key)) continue;
844
- // payload.issues.push({
845
- // code: "invalid_type",
846
- // path: [key],
847
- // expected: "nonoptional",
848
- // note: `Missing required key: "${key}"`,
849
- // input,
850
- // inst,
851
- // });
852
- // }
853
- const r = el._zod.run({ value: input[key], issues: [] }, ctx);
854
- const isOptional = el._zod.optin === "optional" && el._zod.optout === "optional";
855
- if (r instanceof Promise) {
856
- proms.push(r.then((r) => isOptional ? handleOptionalObjectResult(r, payload, key, input) : handleObjectResult(r, payload, key)));
857
- }
858
- else if (isOptional) {
859
- handleOptionalObjectResult(r, payload, key, input);
860
- }
861
- else {
862
- handleObjectResult(r, payload, key);
863
- }
864
- }
865
- }
866
- if (!catchall) {
867
- // return payload;
868
- return proms.length ? Promise.all(proms).then(() => payload) : payload;
869
- }
870
- const unrecognized = [];
871
- // iterate over input keys
872
- const keySet = value.keySet;
873
- const _catchall = catchall._zod;
874
- const t = _catchall.def.type;
875
- for (const key of Object.keys(input)) {
876
- if (keySet.has(key))
877
- continue;
878
- if (t === "never") {
879
- unrecognized.push(key);
880
- continue;
881
- }
882
- const r = _catchall.run({ value: input[key], issues: [] }, ctx);
883
- if (r instanceof Promise) {
884
- proms.push(r.then((r) => handleObjectResult(r, payload, key)));
885
- }
886
- else {
887
- handleObjectResult(r, payload, key);
888
- }
889
- }
890
- if (unrecognized.length) {
891
- payload.issues.push({
892
- code: "unrecognized_keys",
893
- keys: unrecognized,
894
- input,
895
- inst,
896
- });
897
- }
898
- if (!proms.length)
899
- return payload;
900
- return Promise.all(proms).then(() => {
901
- return payload;
902
- });
941
+ return superParse(payload, ctx);
903
942
  };
904
943
  });
905
944
  function handleUnionResults(results, final, inst, ctx) {
@@ -909,6 +948,11 @@ function handleUnionResults(results, final, inst, ctx) {
909
948
  return final;
910
949
  }
911
950
  }
951
+ const nonaborted = results.filter((r) => !util.aborted(r));
952
+ if (nonaborted.length === 1) {
953
+ final.value = nonaborted[0].value;
954
+ return nonaborted[0];
955
+ }
912
956
  final.issues.push({
913
957
  code: "invalid_union",
914
958
  input: final.value,
@@ -934,7 +978,12 @@ exports.$ZodUnion = core.$constructor("$ZodUnion", (inst, def) => {
934
978
  }
935
979
  return undefined;
936
980
  });
981
+ const single = def.options.length === 1;
982
+ const first = def.options[0]._zod.run;
937
983
  inst._zod.parse = (payload, ctx) => {
984
+ if (single) {
985
+ return first(payload, ctx);
986
+ }
938
987
  let async = false;
939
988
  const results = [];
940
989
  for (const option of def.options) {
@@ -984,7 +1033,7 @@ core.$constructor("$ZodDiscriminatedUnion", (inst, def) => {
984
1033
  const opts = def.options;
985
1034
  const map = new Map();
986
1035
  for (const o of opts) {
987
- const values = o._zod.propValues[def.discriminator];
1036
+ const values = o._zod.propValues?.[def.discriminator];
988
1037
  if (!values || values.size === 0)
989
1038
  throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(o)}"`);
990
1039
  for (const v of values) {
@@ -1019,6 +1068,7 @@ core.$constructor("$ZodDiscriminatedUnion", (inst, def) => {
1019
1068
  code: "invalid_union",
1020
1069
  errors: [],
1021
1070
  note: "No matching discriminator",
1071
+ discriminator: def.discriminator,
1022
1072
  input,
1023
1073
  path: [def.discriminator],
1024
1074
  inst,
@@ -1125,10 +1175,10 @@ exports.$ZodTuple = core.$constructor("$ZodTuple", (inst, def) => {
1125
1175
  const tooSmall = input.length < optStart - 1;
1126
1176
  if (tooBig || tooSmall) {
1127
1177
  payload.issues.push({
1178
+ ...(tooBig ? { code: "too_big", maximum: items.length } : { code: "too_small", minimum: items.length }),
1128
1179
  input,
1129
1180
  inst,
1130
1181
  origin: "array",
1131
- ...(tooBig ? { code: "too_big", maximum: items.length } : { code: "too_small", minimum: items.length }),
1132
1182
  });
1133
1183
  return payload;
1134
1184
  }
@@ -1240,8 +1290,8 @@ exports.$ZodRecord = core.$constructor("$ZodRecord", (inst, def) => {
1240
1290
  }
1241
1291
  if (keyResult.issues.length) {
1242
1292
  payload.issues.push({
1243
- origin: "record",
1244
1293
  code: "invalid_key",
1294
+ origin: "record",
1245
1295
  issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),
1246
1296
  input: key,
1247
1297
  path: [key],
@@ -1312,8 +1362,8 @@ function handleMapResult(keyResult, valueResult, final, key, input, inst, ctx) {
1312
1362
  }
1313
1363
  else {
1314
1364
  final.issues.push({
1315
- origin: "map",
1316
1365
  code: "invalid_key",
1366
+ origin: "map",
1317
1367
  input,
1318
1368
  inst,
1319
1369
  issues: keyResult.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())),
@@ -1374,14 +1424,15 @@ function handleSetResult(result, final) {
1374
1424
  exports.$ZodEnum = core.$constructor("$ZodEnum", (inst, def) => {
1375
1425
  exports.$ZodType.init(inst, def);
1376
1426
  const values = util.getEnumValues(def.entries);
1377
- inst._zod.values = new Set(values);
1427
+ const valuesSet = new Set(values);
1428
+ inst._zod.values = valuesSet;
1378
1429
  inst._zod.pattern = new RegExp(`^(${values
1379
1430
  .filter((k) => util.propertyKeyTypes.has(typeof k))
1380
1431
  .map((o) => (typeof o === "string" ? util.escapeRegex(o) : o.toString()))
1381
1432
  .join("|")})$`);
1382
1433
  inst._zod.parse = (payload, _ctx) => {
1383
1434
  const input = payload.value;
1384
- if (inst._zod.values.has(input)) {
1435
+ if (valuesSet.has(input)) {
1385
1436
  return payload;
1386
1437
  }
1387
1438
  payload.issues.push({
@@ -1395,9 +1446,12 @@ exports.$ZodEnum = core.$constructor("$ZodEnum", (inst, def) => {
1395
1446
  });
1396
1447
  exports.$ZodLiteral = core.$constructor("$ZodLiteral", (inst, def) => {
1397
1448
  exports.$ZodType.init(inst, def);
1449
+ if (def.values.length === 0) {
1450
+ throw new Error("Cannot create literal schema with no valid values");
1451
+ }
1398
1452
  inst._zod.values = new Set(def.values);
1399
1453
  inst._zod.pattern = new RegExp(`^(${def.values
1400
- .map((o) => (typeof o === "string" ? util.escapeRegex(o) : o ? o.toString() : String(o)))
1454
+ .map((o) => (typeof o === "string" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))
1401
1455
  .join("|")})$`);
1402
1456
  inst._zod.parse = (payload, _ctx) => {
1403
1457
  const input = payload.value;
@@ -1417,6 +1471,7 @@ exports.$ZodFile = core.$constructor("$ZodFile", (inst, def) => {
1417
1471
  exports.$ZodType.init(inst, def);
1418
1472
  inst._zod.parse = (payload, _ctx) => {
1419
1473
  const input = payload.value;
1474
+ // @ts-ignore
1420
1475
  if (input instanceof File)
1421
1476
  return payload;
1422
1477
  payload.issues.push({
@@ -1430,9 +1485,12 @@ exports.$ZodFile = core.$constructor("$ZodFile", (inst, def) => {
1430
1485
  });
1431
1486
  exports.$ZodTransform = core.$constructor("$ZodTransform", (inst, def) => {
1432
1487
  exports.$ZodType.init(inst, def);
1433
- inst._zod.parse = (payload, _ctx) => {
1488
+ inst._zod.parse = (payload, ctx) => {
1489
+ if (ctx.direction === "backward") {
1490
+ throw new core.$ZodEncodeError(inst.constructor.name);
1491
+ }
1434
1492
  const _out = def.transform(payload.value, payload);
1435
- if (_ctx.async) {
1493
+ if (ctx.async) {
1436
1494
  const output = _out instanceof Promise ? _out : Promise.resolve(_out);
1437
1495
  return output.then((output) => {
1438
1496
  payload.value = output;
@@ -1446,6 +1504,12 @@ exports.$ZodTransform = core.$constructor("$ZodTransform", (inst, def) => {
1446
1504
  return payload;
1447
1505
  };
1448
1506
  });
1507
+ function handleOptionalResult(result, input) {
1508
+ if (result.issues.length && input === undefined) {
1509
+ return { issues: [], value: undefined };
1510
+ }
1511
+ return result;
1512
+ }
1449
1513
  exports.$ZodOptional = core.$constructor("$ZodOptional", (inst, def) => {
1450
1514
  exports.$ZodType.init(inst, def);
1451
1515
  inst._zod.optin = "optional";
@@ -1459,7 +1523,10 @@ exports.$ZodOptional = core.$constructor("$ZodOptional", (inst, def) => {
1459
1523
  });
1460
1524
  inst._zod.parse = (payload, ctx) => {
1461
1525
  if (def.innerType._zod.optin === "optional") {
1462
- return def.innerType._zod.run(payload, ctx);
1526
+ const result = def.innerType._zod.run(payload, ctx);
1527
+ if (result instanceof Promise)
1528
+ return result.then((r) => handleOptionalResult(r, payload.value));
1529
+ return handleOptionalResult(result, payload.value);
1463
1530
  }
1464
1531
  if (payload.value === undefined) {
1465
1532
  return payload;
@@ -1479,6 +1546,7 @@ exports.$ZodNullable = core.$constructor("$ZodNullable", (inst, def) => {
1479
1546
  return def.innerType._zod.values ? new Set([...def.innerType._zod.values, null]) : undefined;
1480
1547
  });
1481
1548
  inst._zod.parse = (payload, ctx) => {
1549
+ // Forward direction (decode): allow null to pass through
1482
1550
  if (payload.value === null)
1483
1551
  return payload;
1484
1552
  return def.innerType._zod.run(payload, ctx);
@@ -1490,13 +1558,18 @@ exports.$ZodDefault = core.$constructor("$ZodDefault", (inst, def) => {
1490
1558
  inst._zod.optin = "optional";
1491
1559
  util.defineLazy(inst._zod, "values", () => def.innerType._zod.values);
1492
1560
  inst._zod.parse = (payload, ctx) => {
1561
+ if (ctx.direction === "backward") {
1562
+ return def.innerType._zod.run(payload, ctx);
1563
+ }
1564
+ // Forward direction (decode): apply defaults for undefined input
1493
1565
  if (payload.value === undefined) {
1494
1566
  payload.value = def.defaultValue;
1495
1567
  /**
1496
- * $ZodDefault always returns the default value immediately.
1568
+ * $ZodDefault returns the default value immediately in forward direction.
1497
1569
  * It doesn't pass the default value into the validator ("prefault"). There's no reason to pass the default value through validation. The validity of the default is enforced by TypeScript statically. Otherwise, it's the responsibility of the user to ensure the default is valid. In the case of pipes with divergent in/out types, you can specify the default on the `in` schema of your ZodPipe to set a "prefault" for the pipe. */
1498
1570
  return payload;
1499
1571
  }
1572
+ // Forward direction: continue with default handling
1500
1573
  const result = def.innerType._zod.run(payload, ctx);
1501
1574
  if (result instanceof Promise) {
1502
1575
  return result.then((result) => handleDefaultResult(result, def));
@@ -1515,6 +1588,10 @@ exports.$ZodPrefault = core.$constructor("$ZodPrefault", (inst, def) => {
1515
1588
  inst._zod.optin = "optional";
1516
1589
  util.defineLazy(inst._zod, "values", () => def.innerType._zod.values);
1517
1590
  inst._zod.parse = (payload, ctx) => {
1591
+ if (ctx.direction === "backward") {
1592
+ return def.innerType._zod.run(payload, ctx);
1593
+ }
1594
+ // Forward direction (decode): apply prefault for undefined input
1518
1595
  if (payload.value === undefined) {
1519
1596
  payload.value = def.defaultValue;
1520
1597
  }
@@ -1549,6 +1626,9 @@ function handleNonOptionalResult(payload, inst) {
1549
1626
  exports.$ZodSuccess = core.$constructor("$ZodSuccess", (inst, def) => {
1550
1627
  exports.$ZodType.init(inst, def);
1551
1628
  inst._zod.parse = (payload, ctx) => {
1629
+ if (ctx.direction === "backward") {
1630
+ throw new core.$ZodEncodeError("ZodSuccess");
1631
+ }
1552
1632
  const result = def.innerType._zod.run(payload, ctx);
1553
1633
  if (result instanceof Promise) {
1554
1634
  return result.then((result) => {
@@ -1562,10 +1642,14 @@ exports.$ZodSuccess = core.$constructor("$ZodSuccess", (inst, def) => {
1562
1642
  });
1563
1643
  exports.$ZodCatch = core.$constructor("$ZodCatch", (inst, def) => {
1564
1644
  exports.$ZodType.init(inst, def);
1565
- inst._zod.optin = "optional";
1645
+ util.defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
1566
1646
  util.defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
1567
1647
  util.defineLazy(inst._zod, "values", () => def.innerType._zod.values);
1568
1648
  inst._zod.parse = (payload, ctx) => {
1649
+ if (ctx.direction === "backward") {
1650
+ return def.innerType._zod.run(payload, ctx);
1651
+ }
1652
+ // Forward direction (decode): apply catch logic
1569
1653
  const result = def.innerType._zod.run(payload, ctx);
1570
1654
  if (result instanceof Promise) {
1571
1655
  return result.then((result) => {
@@ -1617,19 +1701,83 @@ exports.$ZodPipe = core.$constructor("$ZodPipe", (inst, def) => {
1617
1701
  util.defineLazy(inst._zod, "values", () => def.in._zod.values);
1618
1702
  util.defineLazy(inst._zod, "optin", () => def.in._zod.optin);
1619
1703
  util.defineLazy(inst._zod, "optout", () => def.out._zod.optout);
1704
+ util.defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
1620
1705
  inst._zod.parse = (payload, ctx) => {
1706
+ if (ctx.direction === "backward") {
1707
+ const right = def.out._zod.run(payload, ctx);
1708
+ if (right instanceof Promise) {
1709
+ return right.then((right) => handlePipeResult(right, def.in, ctx));
1710
+ }
1711
+ return handlePipeResult(right, def.in, ctx);
1712
+ }
1621
1713
  const left = def.in._zod.run(payload, ctx);
1622
1714
  if (left instanceof Promise) {
1623
- return left.then((left) => handlePipeResult(left, def, ctx));
1715
+ return left.then((left) => handlePipeResult(left, def.out, ctx));
1624
1716
  }
1625
- return handlePipeResult(left, def, ctx);
1717
+ return handlePipeResult(left, def.out, ctx);
1626
1718
  };
1627
1719
  });
1628
- function handlePipeResult(left, def, ctx) {
1629
- if (util.aborted(left)) {
1720
+ function handlePipeResult(left, next, ctx) {
1721
+ if (left.issues.length) {
1722
+ // prevent further checks
1723
+ left.aborted = true;
1630
1724
  return left;
1631
1725
  }
1632
- return def.out._zod.run({ value: left.value, issues: left.issues }, ctx);
1726
+ return next._zod.run({ value: left.value, issues: left.issues }, ctx);
1727
+ }
1728
+ exports.$ZodCodec = core.$constructor("$ZodCodec", (inst, def) => {
1729
+ exports.$ZodType.init(inst, def);
1730
+ util.defineLazy(inst._zod, "values", () => def.in._zod.values);
1731
+ util.defineLazy(inst._zod, "optin", () => def.in._zod.optin);
1732
+ util.defineLazy(inst._zod, "optout", () => def.out._zod.optout);
1733
+ util.defineLazy(inst._zod, "propValues", () => def.in._zod.propValues);
1734
+ inst._zod.parse = (payload, ctx) => {
1735
+ const direction = ctx.direction || "forward";
1736
+ if (direction === "forward") {
1737
+ const left = def.in._zod.run(payload, ctx);
1738
+ if (left instanceof Promise) {
1739
+ return left.then((left) => handleCodecAResult(left, def, ctx));
1740
+ }
1741
+ return handleCodecAResult(left, def, ctx);
1742
+ }
1743
+ else {
1744
+ const right = def.out._zod.run(payload, ctx);
1745
+ if (right instanceof Promise) {
1746
+ return right.then((right) => handleCodecAResult(right, def, ctx));
1747
+ }
1748
+ return handleCodecAResult(right, def, ctx);
1749
+ }
1750
+ };
1751
+ });
1752
+ function handleCodecAResult(result, def, ctx) {
1753
+ if (result.issues.length) {
1754
+ // prevent further checks
1755
+ result.aborted = true;
1756
+ return result;
1757
+ }
1758
+ const direction = ctx.direction || "forward";
1759
+ if (direction === "forward") {
1760
+ const transformed = def.transform(result.value, result);
1761
+ if (transformed instanceof Promise) {
1762
+ return transformed.then((value) => handleCodecTxResult(result, value, def.out, ctx));
1763
+ }
1764
+ return handleCodecTxResult(result, transformed, def.out, ctx);
1765
+ }
1766
+ else {
1767
+ const transformed = def.reverseTransform(result.value, result);
1768
+ if (transformed instanceof Promise) {
1769
+ return transformed.then((value) => handleCodecTxResult(result, value, def.in, ctx));
1770
+ }
1771
+ return handleCodecTxResult(result, transformed, def.in, ctx);
1772
+ }
1773
+ }
1774
+ function handleCodecTxResult(left, value, nextSchema, ctx) {
1775
+ // Check if transform added any issues
1776
+ if (left.issues.length) {
1777
+ left.aborted = true;
1778
+ return left;
1779
+ }
1780
+ return nextSchema._zod.run({ value, issues: left.issues }, ctx);
1633
1781
  }
1634
1782
  exports.$ZodReadonly = core.$constructor("$ZodReadonly", (inst, def) => {
1635
1783
  exports.$ZodType.init(inst, def);
@@ -1638,6 +1786,9 @@ exports.$ZodReadonly = core.$constructor("$ZodReadonly", (inst, def) => {
1638
1786
  util.defineLazy(inst._zod, "optin", () => def.innerType._zod.optin);
1639
1787
  util.defineLazy(inst._zod, "optout", () => def.innerType._zod.optout);
1640
1788
  inst._zod.parse = (payload, ctx) => {
1789
+ if (ctx.direction === "backward") {
1790
+ return def.innerType._zod.run(payload, ctx);
1791
+ }
1641
1792
  const result = def.innerType._zod.run(payload, ctx);
1642
1793
  if (result instanceof Promise) {
1643
1794
  return result.then(handleReadonlyResult);
@@ -1653,7 +1804,8 @@ exports.$ZodTemplateLiteral = core.$constructor("$ZodTemplateLiteral", (inst, de
1653
1804
  exports.$ZodType.init(inst, def);
1654
1805
  const regexParts = [];
1655
1806
  for (const part of def.parts) {
1656
- if (part instanceof exports.$ZodType) {
1807
+ if (typeof part === "object" && part !== null) {
1808
+ // is Zod schema
1657
1809
  if (!part._zod.pattern) {
1658
1810
  // if (!source)
1659
1811
  throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);
@@ -1689,7 +1841,7 @@ exports.$ZodTemplateLiteral = core.$constructor("$ZodTemplateLiteral", (inst, de
1689
1841
  input: payload.value,
1690
1842
  inst,
1691
1843
  code: "invalid_format",
1692
- format: "template_literal",
1844
+ format: def.format ?? "template_literal",
1693
1845
  pattern: inst._zod.pattern.source,
1694
1846
  });
1695
1847
  return payload;
@@ -1697,6 +1849,85 @@ exports.$ZodTemplateLiteral = core.$constructor("$ZodTemplateLiteral", (inst, de
1697
1849
  return payload;
1698
1850
  };
1699
1851
  });
1852
+ exports.$ZodFunction = core.$constructor("$ZodFunction", (inst, def) => {
1853
+ exports.$ZodType.init(inst, def);
1854
+ inst._def = def;
1855
+ inst._zod.def = def;
1856
+ inst.implement = (func) => {
1857
+ if (typeof func !== "function") {
1858
+ throw new Error("implement() must be called with a function");
1859
+ }
1860
+ return function (...args) {
1861
+ const parsedArgs = inst._def.input ? (0, parse_js_1.parse)(inst._def.input, args) : args;
1862
+ const result = Reflect.apply(func, this, parsedArgs);
1863
+ if (inst._def.output) {
1864
+ return (0, parse_js_1.parse)(inst._def.output, result);
1865
+ }
1866
+ return result;
1867
+ };
1868
+ };
1869
+ inst.implementAsync = (func) => {
1870
+ if (typeof func !== "function") {
1871
+ throw new Error("implementAsync() must be called with a function");
1872
+ }
1873
+ return async function (...args) {
1874
+ const parsedArgs = inst._def.input ? await (0, parse_js_1.parseAsync)(inst._def.input, args) : args;
1875
+ const result = await Reflect.apply(func, this, parsedArgs);
1876
+ if (inst._def.output) {
1877
+ return await (0, parse_js_1.parseAsync)(inst._def.output, result);
1878
+ }
1879
+ return result;
1880
+ };
1881
+ };
1882
+ inst._zod.parse = (payload, _ctx) => {
1883
+ if (typeof payload.value !== "function") {
1884
+ payload.issues.push({
1885
+ code: "invalid_type",
1886
+ expected: "function",
1887
+ input: payload.value,
1888
+ inst,
1889
+ });
1890
+ return payload;
1891
+ }
1892
+ // Check if output is a promise type to determine if we should use async implementation
1893
+ const hasPromiseOutput = inst._def.output && inst._def.output._zod.def.type === "promise";
1894
+ if (hasPromiseOutput) {
1895
+ payload.value = inst.implementAsync(payload.value);
1896
+ }
1897
+ else {
1898
+ payload.value = inst.implement(payload.value);
1899
+ }
1900
+ return payload;
1901
+ };
1902
+ inst.input = (...args) => {
1903
+ const F = inst.constructor;
1904
+ if (Array.isArray(args[0])) {
1905
+ return new F({
1906
+ type: "function",
1907
+ input: new exports.$ZodTuple({
1908
+ type: "tuple",
1909
+ items: args[0],
1910
+ rest: args[1],
1911
+ }),
1912
+ output: inst._def.output,
1913
+ });
1914
+ }
1915
+ return new F({
1916
+ type: "function",
1917
+ input: args[0],
1918
+ output: inst._def.output,
1919
+ });
1920
+ };
1921
+ inst.output = (output) => {
1922
+ const F = inst.constructor;
1923
+ return new F({
1924
+ type: "function",
1925
+ input: inst._def.input,
1926
+ output,
1927
+ });
1928
+ };
1929
+ return inst;
1930
+ });
1700
1931
  exports.$ZodPromise = core.$constructor("$ZodPromise", (inst, def) => {
1701
1932
  exports.$ZodType.init(inst, def);
1702
1933
  inst._zod.parse = (payload, ctx) => {
@@ -1705,11 +1936,18 @@ exports.$ZodPromise = core.$constructor("$ZodPromise", (inst, def) => {
1705
1936
  });
1706
1937
  exports.$ZodLazy = core.$constructor("$ZodLazy", (inst, def) => {
1707
1938
  exports.$ZodType.init(inst, def);
1939
+ // let _innerType!: any;
1940
+ // util.defineLazy(def, "getter", () => {
1941
+ // if (!_innerType) {
1942
+ // _innerType = def.getter();
1943
+ // }
1944
+ // return () => _innerType;
1945
+ // });
1708
1946
  util.defineLazy(inst._zod, "innerType", () => def.getter());
1709
1947
  util.defineLazy(inst._zod, "pattern", () => inst._zod.innerType._zod.pattern);
1710
1948
  util.defineLazy(inst._zod, "propValues", () => inst._zod.innerType._zod.propValues);
1711
- util.defineLazy(inst._zod, "optin", () => inst._zod.innerType._zod.optin);
1712
- util.defineLazy(inst._zod, "optout", () => inst._zod.innerType._zod.optout);
1949
+ util.defineLazy(inst._zod, "optin", () => inst._zod.innerType._zod.optin ?? undefined);
1950
+ util.defineLazy(inst._zod, "optout", () => inst._zod.innerType._zod.optout ?? undefined);
1713
1951
  inst._zod.parse = (payload, ctx) => {
1714
1952
  const inner = inst._zod.innerType;
1715
1953
  return inner._zod.run(payload, ctx);