@loomhelm/multi-task-flow 0.2.7 → 0.2.8

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 (1005) hide show
  1. package/README.md +12 -8
  2. package/package.json +2 -12
  3. package/src/build-info.ts +4 -2
  4. package/src/cli/release.ts +4 -40
  5. package/src/release-tarball.ts +1 -1
  6. package/src/release.ts +7 -1
  7. package/src/runtime-identity.ts +4 -2
  8. package/src/toolkit.ts +71 -15
  9. package/toolkit/artifact-manifest.json +297 -4200
  10. package/toolkit/package.json +1 -1
  11. package/toolkit/skills/docs/vendor/dot-codex/design/multi-task-flow/data-and-scripts.md +77 -23
  12. package/toolkit/skills/multi-task-flow/dist/app.css +1 -1
  13. package/toolkit/skills/multi-task-flow/dist/app.js +64 -64
  14. package/toolkit/skills/multi-task-flow/lib/atomic-orchestration.ts +25 -3
  15. package/toolkit/skills/multi-task-flow/lib/engine.ts +71 -10
  16. package/toolkit/skills/multi-task-flow/lib/view.ts +109 -11
  17. package/toolkit/skills/multi-task-flow/scripts/package-client-skills.ts +24 -153
  18. package/toolkit/skills/multi-task-flow/scripts/preview-source.ts +3 -0
  19. package/toolkit/skills/multi-task-flow/tests/atomic-orchestration-schema.test.ts +35 -0
  20. package/toolkit/skills/multi-task-flow/tests/engine.test.ts +339 -0
  21. package/toolkit/skills/multi-task-flow/tests/source-preview.test.ts +29 -0
  22. package/toolkit/skills/multi-task-flow/tests/ui/details-content.test.ts +22 -0
  23. package/toolkit/skills/multi-task-flow/tests/view.test.ts +149 -0
  24. package/toolkit/skills/multi-task-flow/web/app.css +4 -0
  25. package/toolkit/skills/multi-task-flow/web/app.ts +9 -1
  26. package/toolkit/skills/multi-task-flow/web/atomic-graph-view.tsx +1 -1
  27. package/toolkit/skills/multi-task-flow/web/details-content.ts +7 -2
  28. package/toolkit/skills/source-manifest.json +17 -17
  29. package/toolkit/skills/multi-task-flow/node_modules/zod/LICENSE +0 -21
  30. package/toolkit/skills/multi-task-flow/node_modules/zod/README.md +0 -218
  31. package/toolkit/skills/multi-task-flow/node_modules/zod/compile.cjs +0 -96
  32. package/toolkit/skills/multi-task-flow/node_modules/zod/compile.d.cts +0 -1
  33. package/toolkit/skills/multi-task-flow/node_modules/zod/compile.d.ts +0 -1
  34. package/toolkit/skills/multi-task-flow/node_modules/zod/compile.js +0 -52
  35. package/toolkit/skills/multi-task-flow/node_modules/zod/index.cjs +0 -52
  36. package/toolkit/skills/multi-task-flow/node_modules/zod/index.d.cts +0 -3
  37. package/toolkit/skills/multi-task-flow/node_modules/zod/index.d.ts +0 -3
  38. package/toolkit/skills/multi-task-flow/node_modules/zod/index.js +0 -7
  39. package/toolkit/skills/multi-task-flow/node_modules/zod/locales/index.cjs +0 -36
  40. package/toolkit/skills/multi-task-flow/node_modules/zod/locales/index.d.cts +0 -1
  41. package/toolkit/skills/multi-task-flow/node_modules/zod/locales/index.d.ts +0 -1
  42. package/toolkit/skills/multi-task-flow/node_modules/zod/locales/index.js +0 -1
  43. package/toolkit/skills/multi-task-flow/node_modules/zod/locales/package.json +0 -7
  44. package/toolkit/skills/multi-task-flow/node_modules/zod/mini/index.cjs +0 -51
  45. package/toolkit/skills/multi-task-flow/node_modules/zod/mini/index.d.cts +0 -3
  46. package/toolkit/skills/multi-task-flow/node_modules/zod/mini/index.d.ts +0 -3
  47. package/toolkit/skills/multi-task-flow/node_modules/zod/mini/index.js +0 -3
  48. package/toolkit/skills/multi-task-flow/node_modules/zod/mini/package.json +0 -7
  49. package/toolkit/skills/multi-task-flow/node_modules/zod/package.json +0 -147
  50. package/toolkit/skills/multi-task-flow/node_modules/zod/src/compile.ts +0 -56
  51. package/toolkit/skills/multi-task-flow/node_modules/zod/src/index.ts +0 -7
  52. package/toolkit/skills/multi-task-flow/node_modules/zod/src/locales/index.ts +0 -1
  53. package/toolkit/skills/multi-task-flow/node_modules/zod/src/mini/index.ts +0 -3
  54. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/ZodError.ts +0 -340
  55. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/datetime.ts +0 -58
  56. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +0 -80
  57. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/index.ts +0 -59
  58. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/ipv4.ts +0 -57
  59. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/object.ts +0 -69
  60. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/primitives.ts +0 -162
  61. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/realworld.ts +0 -63
  62. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/string.ts +0 -55
  63. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/benchmarks/union.ts +0 -80
  64. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/errors.ts +0 -13
  65. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/external.ts +0 -6
  66. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/enumUtil.ts +0 -17
  67. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/errorUtil.ts +0 -8
  68. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/parseUtil.ts +0 -176
  69. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/partialUtil.ts +0 -34
  70. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/typeAliases.ts +0 -2
  71. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/helpers/util.ts +0 -224
  72. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/index.ts +0 -4
  73. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/locales/en.ts +0 -124
  74. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/standard-schema.ts +0 -113
  75. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/Mocker.ts +0 -54
  76. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/all-errors.test.ts +0 -157
  77. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/anyunknown.test.ts +0 -28
  78. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/array.test.ts +0 -71
  79. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/async-parsing.test.ts +0 -388
  80. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/async-refinements.test.ts +0 -46
  81. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/base.test.ts +0 -29
  82. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/bigint.test.ts +0 -55
  83. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/branded.test.ts +0 -53
  84. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/catch.test.ts +0 -220
  85. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/coerce.test.ts +0 -133
  86. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/complex.test.ts +0 -70
  87. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/custom.test.ts +0 -31
  88. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/date.test.ts +0 -32
  89. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/deepmasking.test.ts +0 -186
  90. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/default.test.ts +0 -112
  91. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/description.test.ts +0 -33
  92. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +0 -315
  93. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/enum.test.ts +0 -80
  94. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/error.test.ts +0 -586
  95. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/firstparty.test.ts +0 -87
  96. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +0 -21
  97. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/function.test.ts +0 -261
  98. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/generics.test.ts +0 -48
  99. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/instanceof.test.ts +0 -37
  100. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/intersection.test.ts +0 -128
  101. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/language-server.source.ts +0 -76
  102. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/language-server.test.ts +0 -206
  103. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/literal.test.ts +0 -36
  104. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/map.test.ts +0 -110
  105. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/masking.test.ts +0 -4
  106. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/mocker.test.ts +0 -19
  107. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/nan.test.ts +0 -24
  108. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/nativeEnum.test.ts +0 -87
  109. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/nullable.test.ts +0 -42
  110. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/number.test.ts +0 -176
  111. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/object-augmentation.test.ts +0 -29
  112. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +0 -29
  113. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/object.test.ts +0 -431
  114. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/optional.test.ts +0 -42
  115. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/parseUtil.test.ts +0 -23
  116. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/parser.test.ts +0 -41
  117. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/partials.test.ts +0 -243
  118. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/pickomit.test.ts +0 -111
  119. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/pipeline.test.ts +0 -29
  120. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/preprocess.test.ts +0 -186
  121. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/primitive.test.ts +0 -440
  122. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/promise.test.ts +0 -90
  123. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/readonly.test.ts +0 -114
  124. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/record.test.ts +0 -171
  125. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/recursive.test.ts +0 -197
  126. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/refine.test.ts +0 -313
  127. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/safeparse.test.ts +0 -27
  128. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/set.test.ts +0 -142
  129. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/standard-schema.test.ts +0 -83
  130. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/string.test.ts +0 -922
  131. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/transformer.test.ts +0 -233
  132. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/tuple.test.ts +0 -90
  133. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/unions.test.ts +0 -57
  134. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/validations.test.ts +0 -133
  135. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/tests/void.test.ts +0 -15
  136. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v3/types.ts +0 -5138
  137. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/checks.ts +0 -33
  138. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/coerce.ts +0 -27
  139. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/compat.ts +0 -78
  140. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/deep-partial.ts +0 -76
  141. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/errors.ts +0 -97
  142. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/external.ts +0 -57
  143. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/from-json-schema.ts +0 -944
  144. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/in-out.ts +0 -45
  145. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/index.ts +0 -5
  146. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/iso.ts +0 -20
  147. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/parse.ts +0 -88
  148. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/schemas.ts +0 -2937
  149. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +0 -26
  150. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/apply.test.ts +0 -86
  151. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/array.test.ts +0 -291
  152. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/assignability.test.ts +0 -402
  153. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +0 -381
  154. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +0 -68
  155. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/base.test.ts +0 -7
  156. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/bigint.test.ts +0 -89
  157. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/brand.test.ts +0 -106
  158. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/catch.test.ts +0 -604
  159. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +0 -20
  160. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +0 -572
  161. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/codec.test.ts +0 -704
  162. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/coerce.test.ts +0 -160
  163. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/continuability.test.ts +0 -374
  164. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +0 -76
  165. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/custom.test.ts +0 -40
  166. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +0 -985
  167. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/date.test.ts +0 -92
  168. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/datetime.test.ts +0 -316
  169. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +0 -380
  170. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +0 -32
  171. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/default.test.ts +0 -455
  172. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +0 -27
  173. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/description.test.ts +0 -32
  174. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +0 -221
  175. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +0 -942
  176. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/enum.test.ts +0 -305
  177. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +0 -917
  178. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/error.test.ts +0 -1108
  179. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/file.test.ts +0 -96
  180. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +0 -179
  181. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +0 -26
  182. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +0 -1467
  183. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/function.test.ts +0 -391
  184. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/generics.test.ts +0 -72
  185. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/global-config.test.ts +0 -32
  186. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/hash.test.ts +0 -67
  187. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/iban.test.ts +0 -81
  188. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/in-out.test.ts +0 -159
  189. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/index.test.ts +0 -958
  190. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +0 -319
  191. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +0 -127
  192. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/intersection.test.ts +0 -334
  193. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +0 -215
  194. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +0 -39
  195. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/json.test.ts +0 -109
  196. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/lazy.test.ts +0 -262
  197. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/literal.test.ts +0 -128
  198. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +0 -29
  199. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +0 -24
  200. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/map.test.ts +0 -349
  201. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/nan.test.ts +0 -21
  202. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +0 -168
  203. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +0 -101
  204. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/nullable.test.ts +0 -22
  205. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/number.test.ts +0 -401
  206. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/object.test.ts +0 -1006
  207. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +0 -235
  208. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/optional.test.ts +0 -366
  209. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/partial.test.ts +0 -497
  210. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +0 -211
  211. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/pipe.test.ts +0 -101
  212. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/prefault.test.ts +0 -144
  213. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +0 -44
  214. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +0 -351
  215. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/primitive.test.ts +0 -175
  216. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/promise.test.ts +0 -81
  217. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/properties.test.ts +0 -141
  218. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +0 -23
  219. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -184
  220. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/record.test.ts +0 -885
  221. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +0 -707
  222. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/redos.test.ts +0 -68
  223. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/refine.test.ts +0 -693
  224. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/registries.test.ts +0 -243
  225. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/set.test.ts +0 -196
  226. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +0 -153
  227. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +0 -125
  228. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/string.test.ts +0 -1440
  229. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +0 -124
  230. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +0 -812
  231. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +0 -438
  232. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +0 -4733
  233. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/transform.test.ts +0 -378
  234. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/tuple.test.ts +0 -511
  235. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/union.test.ts +0 -310
  236. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/url.test.ts +0 -13
  237. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/validate.test.ts +0 -645
  238. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/validations.test.ts +0 -283
  239. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/classic/tests/void.test.ts +0 -12
  240. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/api.ts +0 -1875
  241. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/checks.ts +0 -1266
  242. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/compile.ts +0 -2322
  243. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/core.ts +0 -230
  244. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/doc.ts +0 -52
  245. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/errors.ts +0 -543
  246. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/index.ts +0 -19
  247. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/json-schema-generator.ts +0 -131
  248. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/json-schema-processors.ts +0 -934
  249. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/json-schema.ts +0 -148
  250. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/memoizer.ts +0 -331
  251. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/parse.ts +0 -309
  252. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/regexes.ts +0 -217
  253. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/registries.ts +0 -105
  254. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/schemas.ts +0 -5226
  255. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/standard-schema.ts +0 -159
  256. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/cached.test.ts +0 -54
  257. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +0 -1004
  258. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +0 -445
  259. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile-global.test.ts +0 -89
  260. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +0 -26
  261. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +0 -34
  262. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/compile.test.ts +0 -2036
  263. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/email-regex.test.ts +0 -140
  264. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/extend.test.ts +0 -59
  265. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/index.test.ts +0 -46
  266. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/be.test.ts +0 -124
  267. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/el.test.ts +0 -214
  268. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/en.test.ts +0 -22
  269. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/es.test.ts +0 -180
  270. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +0 -72
  271. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/he.test.ts +0 -379
  272. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +0 -163
  273. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +0 -46
  274. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +0 -42
  275. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +0 -128
  276. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +0 -85
  277. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +0 -69
  278. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +0 -69
  279. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +0 -105
  280. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +0 -46
  281. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +0 -125
  282. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +0 -45
  283. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/treeshake.test.ts +0 -51
  284. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +0 -133
  285. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/to-json-schema.ts +0 -857
  286. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/util.ts +0 -1293
  287. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/versions.ts +0 -5
  288. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/visit.ts +0 -193
  289. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/core/zsf.ts +0 -323
  290. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/index.ts +0 -4
  291. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ar.ts +0 -120
  292. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/az.ts +0 -116
  293. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/be.ts +0 -188
  294. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/bg.ts +0 -133
  295. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/bn.ts +0 -123
  296. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ca.ts +0 -121
  297. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ckb.ts +0 -140
  298. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/cs.ts +0 -123
  299. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/da.ts +0 -128
  300. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/de.ts +0 -121
  301. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/el.ts +0 -124
  302. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/en.ts +0 -136
  303. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/eo.ts +0 -123
  304. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/es.ts +0 -145
  305. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/fa.ts +0 -131
  306. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/fi.ts +0 -126
  307. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/fr-CA.ts +0 -121
  308. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/fr.ts +0 -139
  309. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/gu.ts +0 -123
  310. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/he.ts +0 -253
  311. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/hi.ts +0 -126
  312. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/hr.ts +0 -135
  313. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/hu.ts +0 -122
  314. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/hy.ts +0 -175
  315. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/id.ts +0 -120
  316. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/index.ts +0 -63
  317. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/is.ts +0 -124
  318. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/it.ts +0 -121
  319. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ja.ts +0 -119
  320. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ka.ts +0 -128
  321. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/kh.ts +0 -7
  322. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/km.ts +0 -124
  323. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/kn.ts +0 -126
  324. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ko.ts +0 -126
  325. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/lt.ts +0 -243
  326. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/mk.ts +0 -123
  327. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ms.ts +0 -120
  328. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ne.ts +0 -128
  329. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/nl.ts +0 -126
  330. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/nn.ts +0 -121
  331. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/no.ts +0 -121
  332. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ota.ts +0 -122
  333. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/pl.ts +0 -123
  334. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ps.ts +0 -131
  335. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/pt-BR.ts +0 -161
  336. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/pt.ts +0 -159
  337. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ro.ts +0 -132
  338. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ru.ts +0 -188
  339. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/sk.ts +0 -123
  340. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/sl.ts +0 -123
  341. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/sv.ts +0 -124
  342. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ta.ts +0 -123
  343. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/tg.ts +0 -135
  344. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/th.ts +0 -124
  345. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/tk.ts +0 -113
  346. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/tr.ts +0 -116
  347. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ua.ts +0 -7
  348. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/uk.ts +0 -122
  349. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/ur.ts +0 -124
  350. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/uz.ts +0 -120
  351. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/vi.ts +0 -122
  352. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/yo.ts +0 -129
  353. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/zh-CN.ts +0 -121
  354. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/locales/zh-TW.ts +0 -120
  355. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/checks.ts +0 -33
  356. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/coerce.ts +0 -27
  357. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/deep-partial.ts +0 -73
  358. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/external.ts +0 -52
  359. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/in-out.ts +0 -45
  360. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/index.ts +0 -3
  361. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/iso.ts +0 -66
  362. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/parse.ts +0 -16
  363. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/schemas.ts +0 -2051
  364. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/apply.test.ts +0 -57
  365. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/assignability.test.ts +0 -190
  366. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/brand.test.ts +0 -94
  367. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/checks.test.ts +0 -158
  368. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/codec.test.ts +0 -582
  369. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/computed.test.ts +0 -30
  370. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +0 -84
  371. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +0 -54
  372. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/error.test.ts +0 -41
  373. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/functions.test.ts +0 -14
  374. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/index.test.ts +0 -1146
  375. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/number.test.ts +0 -109
  376. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/object.test.ts +0 -292
  377. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +0 -43
  378. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +0 -341
  379. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +0 -50
  380. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4/mini/tests/string.test.ts +0 -396
  381. package/toolkit/skills/multi-task-flow/node_modules/zod/src/v4-mini/index.ts +0 -3
  382. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/ZodError.cjs +0 -167
  383. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/ZodError.d.cts +0 -164
  384. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/ZodError.d.ts +0 -164
  385. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/ZodError.js +0 -143
  386. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/errors.cjs +0 -36
  387. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/errors.d.cts +0 -5
  388. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/errors.d.ts +0 -5
  389. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/errors.js +0 -9
  390. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/external.cjs +0 -41
  391. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/external.d.cts +0 -6
  392. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/external.d.ts +0 -6
  393. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/external.js +0 -6
  394. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/enumUtil.cjs +0 -21
  395. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/enumUtil.d.cts +0 -8
  396. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/enumUtil.d.ts +0 -8
  397. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/enumUtil.js +0 -1
  398. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/errorUtil.cjs +0 -28
  399. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/errorUtil.d.cts +0 -9
  400. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/errorUtil.d.ts +0 -9
  401. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/errorUtil.js +0 -6
  402. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/parseUtil.cjs +0 -143
  403. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/parseUtil.d.cts +0 -78
  404. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/parseUtil.d.ts +0 -78
  405. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/parseUtil.js +0 -109
  406. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/partialUtil.cjs +0 -21
  407. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/partialUtil.d.cts +0 -8
  408. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/partialUtil.d.ts +0 -8
  409. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/partialUtil.js +0 -1
  410. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/typeAliases.cjs +0 -21
  411. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/typeAliases.d.cts +0 -2
  412. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/typeAliases.d.ts +0 -2
  413. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/typeAliases.js +0 -1
  414. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/util.cjs +0 -156
  415. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/util.d.cts +0 -85
  416. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/util.d.ts +0 -85
  417. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/helpers/util.js +0 -133
  418. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/index.cjs +0 -52
  419. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/index.d.cts +0 -4
  420. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/index.d.ts +0 -4
  421. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/index.js +0 -4
  422. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/locales/en.cjs +0 -112
  423. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/locales/en.d.cts +0 -3
  424. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/locales/en.d.ts +0 -3
  425. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/locales/en.js +0 -109
  426. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/package.json +0 -7
  427. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/standard-schema.cjs +0 -21
  428. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/standard-schema.d.cts +0 -102
  429. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/standard-schema.d.ts +0 -102
  430. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/standard-schema.js +0 -1
  431. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/types.cjs +0 -3798
  432. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/types.d.cts +0 -1034
  433. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/types.d.ts +0 -1034
  434. package/toolkit/skills/multi-task-flow/node_modules/zod/v3/types.js +0 -3697
  435. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/checks.cjs +0 -53
  436. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/checks.d.cts +0 -1
  437. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/checks.d.ts +0 -1
  438. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/checks.js +0 -1
  439. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/coerce.cjs +0 -66
  440. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/coerce.d.cts +0 -17
  441. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/coerce.d.ts +0 -17
  442. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/coerce.js +0 -17
  443. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/compat.cjs +0 -80
  444. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/compat.d.cts +0 -48
  445. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/compat.d.ts +0 -48
  446. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/compat.js +0 -31
  447. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/deep-partial.cjs +0 -58
  448. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/deep-partial.d.cts +0 -14
  449. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/deep-partial.d.ts +0 -14
  450. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/deep-partial.js +0 -13
  451. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/errors.cjs +0 -102
  452. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/errors.d.cts +0 -29
  453. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/errors.d.ts +0 -29
  454. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/errors.js +0 -57
  455. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/external.cjs +0 -97
  456. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/external.d.cts +0 -19
  457. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/external.d.ts +0 -19
  458. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/external.js +0 -17
  459. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/from-json-schema.cjs +0 -926
  460. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/from-json-schema.d.cts +0 -12
  461. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/from-json-schema.d.ts +0 -12
  462. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/from-json-schema.js +0 -881
  463. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/in-out.cjs +0 -82
  464. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/in-out.d.cts +0 -8
  465. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/in-out.d.ts +0 -8
  466. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/in-out.js +0 -36
  467. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/index.cjs +0 -52
  468. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/index.d.cts +0 -3
  469. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/index.d.ts +0 -3
  470. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/index.js +0 -4
  471. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/iso.cjs +0 -68
  472. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/iso.d.cts +0 -7
  473. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/iso.d.ts +0 -7
  474. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/iso.js +0 -15
  475. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/package.json +0 -7
  476. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/parse.cjs +0 -63
  477. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/parse.d.cts +0 -44
  478. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/parse.d.ts +0 -44
  479. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/parse.js +0 -16
  480. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/schemas.cjs +0 -1676
  481. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/schemas.d.cts +0 -816
  482. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/schemas.d.ts +0 -816
  483. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/classic/schemas.js +0 -1535
  484. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/api.cjs +0 -1269
  485. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/api.d.cts +0 -335
  486. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/api.d.ts +0 -335
  487. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/api.js +0 -1107
  488. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/checks.cjs +0 -561
  489. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/checks.d.cts +0 -294
  490. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/checks.d.ts +0 -294
  491. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/checks.js +0 -516
  492. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/compile.cjs +0 -1916
  493. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/compile.d.cts +0 -65
  494. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/compile.d.ts +0 -65
  495. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/compile.js +0 -1866
  496. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/core.cjs +0 -167
  497. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/core.d.cts +0 -82
  498. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/core.d.ts +0 -82
  499. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/core.js +0 -141
  500. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/doc.cjs +0 -61
  501. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/doc.d.cts +0 -16
  502. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/doc.d.ts +0 -16
  503. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/doc.js +0 -38
  504. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/errors.cjs +0 -317
  505. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/errors.d.cts +0 -225
  506. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/errors.d.ts +0 -225
  507. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/errors.js +0 -267
  508. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/index.cjs +0 -70
  509. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/index.d.cts +0 -19
  510. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/index.d.ts +0 -19
  511. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/index.js +0 -19
  512. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-generator.cjs +0 -122
  513. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-generator.d.cts +0 -65
  514. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-generator.d.ts +0 -65
  515. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-generator.js +0 -99
  516. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-processors.cjs +0 -929
  517. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-processors.d.cts +0 -65
  518. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-processors.d.ts +0 -65
  519. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema-processors.js +0 -843
  520. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema.cjs +0 -21
  521. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema.d.cts +0 -89
  522. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema.d.ts +0 -89
  523. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/json-schema.js +0 -1
  524. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/memoizer.cjs +0 -360
  525. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/memoizer.d.cts +0 -15
  526. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/memoizer.d.ts +0 -15
  527. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/memoizer.js +0 -311
  528. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/package.json +0 -7
  529. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/parse.cjs +0 -233
  530. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/parse.d.cts +0 -52
  531. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/parse.d.ts +0 -52
  532. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/parse.js +0 -175
  533. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/regexes.cjs +0 -209
  534. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/regexes.d.cts +0 -90
  535. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/regexes.d.ts +0 -90
  536. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/regexes.js +0 -156
  537. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/registries.cjs +0 -75
  538. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/registries.d.cts +0 -35
  539. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/registries.d.ts +0 -35
  540. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/registries.js +0 -51
  541. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/schemas.cjs +0 -2699
  542. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/schemas.d.cts +0 -1275
  543. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/schemas.d.ts +0 -1275
  544. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/schemas.js +0 -2636
  545. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/standard-schema.cjs +0 -21
  546. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/standard-schema.d.cts +0 -126
  547. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/standard-schema.d.ts +0 -126
  548. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/standard-schema.js +0 -1
  549. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/to-json-schema.cjs +0 -681
  550. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/to-json-schema.d.cts +0 -154
  551. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/to-json-schema.d.ts +0 -154
  552. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/to-json-schema.js +0 -651
  553. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/util.cjs +0 -964
  554. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/util.d.cts +0 -280
  555. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/util.d.ts +0 -280
  556. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/util.js +0 -873
  557. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/versions.cjs +0 -27
  558. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/versions.d.cts +0 -5
  559. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/versions.d.ts +0 -5
  560. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/versions.js +0 -5
  561. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/visit.cjs +0 -214
  562. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/visit.d.cts +0 -30
  563. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/visit.d.ts +0 -30
  564. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/core/visit.js +0 -169
  565. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/index.cjs +0 -51
  566. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/index.d.cts +0 -3
  567. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/index.d.ts +0 -3
  568. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/index.js +0 -4
  569. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ar.cjs +0 -138
  570. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ar.d.cts +0 -5
  571. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ar.d.ts +0 -4
  572. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ar.js +0 -111
  573. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/az.cjs +0 -137
  574. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/az.d.cts +0 -5
  575. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/az.d.ts +0 -4
  576. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/az.js +0 -110
  577. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/be.cjs +0 -195
  578. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/be.d.cts +0 -5
  579. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/be.d.ts +0 -4
  580. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/be.js +0 -168
  581. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bg.cjs +0 -152
  582. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bg.d.cts +0 -5
  583. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bg.d.ts +0 -4
  584. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bg.js +0 -125
  585. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bn.cjs +0 -140
  586. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bn.d.cts +0 -5
  587. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bn.d.ts +0 -4
  588. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/bn.js +0 -113
  589. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ca.cjs +0 -139
  590. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ca.d.cts +0 -5
  591. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ca.d.ts +0 -4
  592. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ca.js +0 -112
  593. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ckb.cjs +0 -160
  594. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ckb.d.cts +0 -5
  595. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ckb.d.ts +0 -4
  596. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ckb.js +0 -133
  597. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/cs.cjs +0 -143
  598. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/cs.d.cts +0 -5
  599. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/cs.d.ts +0 -4
  600. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/cs.js +0 -116
  601. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/da.cjs +0 -147
  602. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/da.d.cts +0 -5
  603. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/da.d.ts +0 -4
  604. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/da.js +0 -120
  605. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/de.cjs +0 -140
  606. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/de.d.cts +0 -5
  607. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/de.d.ts +0 -4
  608. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/de.js +0 -113
  609. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/el.cjs +0 -139
  610. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/el.d.cts +0 -5
  611. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/el.d.ts +0 -4
  612. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/el.js +0 -112
  613. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/en.cjs +0 -152
  614. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/en.d.cts +0 -5
  615. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/en.d.ts +0 -4
  616. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/en.js +0 -125
  617. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/eo.cjs +0 -141
  618. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/eo.d.cts +0 -5
  619. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/eo.d.ts +0 -4
  620. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/eo.js +0 -114
  621. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/es.cjs +0 -163
  622. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/es.d.cts +0 -5
  623. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/es.d.ts +0 -4
  624. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/es.js +0 -136
  625. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fa.cjs +0 -146
  626. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fa.d.cts +0 -5
  627. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fa.d.ts +0 -4
  628. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fa.js +0 -119
  629. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fi.cjs +0 -144
  630. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fi.d.cts +0 -5
  631. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fi.d.ts +0 -4
  632. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fi.js +0 -117
  633. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr-CA.cjs +0 -139
  634. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr-CA.d.cts +0 -5
  635. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr-CA.d.ts +0 -4
  636. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr-CA.js +0 -112
  637. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr.cjs +0 -156
  638. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr.d.cts +0 -5
  639. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr.d.ts +0 -4
  640. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/fr.js +0 -129
  641. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/gu.cjs +0 -140
  642. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/gu.d.cts +0 -5
  643. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/gu.d.ts +0 -4
  644. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/gu.js +0 -113
  645. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/he.cjs +0 -248
  646. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/he.d.cts +0 -5
  647. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/he.d.ts +0 -4
  648. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/he.js +0 -221
  649. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hi.cjs +0 -138
  650. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hi.d.cts +0 -5
  651. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hi.d.ts +0 -4
  652. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hi.js +0 -111
  653. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hr.cjs +0 -153
  654. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hr.d.cts +0 -5
  655. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hr.d.ts +0 -4
  656. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hr.js +0 -126
  657. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hu.cjs +0 -140
  658. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hu.d.cts +0 -5
  659. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hu.d.ts +0 -4
  660. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hu.js +0 -113
  661. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hy.cjs +0 -185
  662. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hy.d.cts +0 -5
  663. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hy.d.ts +0 -4
  664. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/hy.js +0 -158
  665. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/id.cjs +0 -138
  666. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/id.d.cts +0 -5
  667. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/id.d.ts +0 -4
  668. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/id.js +0 -111
  669. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/index.cjs +0 -152
  670. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/index.d.cts +0 -63
  671. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/index.d.ts +0 -63
  672. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/index.js +0 -63
  673. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/is.cjs +0 -141
  674. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/is.d.cts +0 -5
  675. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/is.d.ts +0 -4
  676. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/is.js +0 -114
  677. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/it.cjs +0 -140
  678. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/it.d.cts +0 -5
  679. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/it.d.ts +0 -4
  680. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/it.js +0 -113
  681. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ja.cjs +0 -139
  682. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ja.d.cts +0 -5
  683. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ja.d.ts +0 -4
  684. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ja.js +0 -112
  685. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ka.cjs +0 -144
  686. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ka.d.cts +0 -5
  687. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ka.d.ts +0 -4
  688. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ka.js +0 -117
  689. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kh.cjs +0 -12
  690. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kh.d.cts +0 -5
  691. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kh.d.ts +0 -5
  692. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kh.js +0 -5
  693. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/km.cjs +0 -142
  694. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/km.d.cts +0 -5
  695. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/km.d.ts +0 -4
  696. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/km.js +0 -115
  697. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kn.cjs +0 -143
  698. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kn.d.cts +0 -5
  699. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kn.d.ts +0 -4
  700. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/kn.js +0 -116
  701. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ko.cjs +0 -143
  702. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ko.d.cts +0 -5
  703. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ko.d.ts +0 -4
  704. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ko.js +0 -116
  705. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/lt.cjs +0 -234
  706. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/lt.d.cts +0 -5
  707. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/lt.d.ts +0 -4
  708. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/lt.js +0 -207
  709. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/mk.cjs +0 -141
  710. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/mk.d.cts +0 -5
  711. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/mk.d.ts +0 -4
  712. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/mk.js +0 -114
  713. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ms.cjs +0 -139
  714. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ms.d.cts +0 -5
  715. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ms.d.ts +0 -4
  716. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ms.js +0 -112
  717. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ne.cjs +0 -138
  718. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ne.d.cts +0 -5
  719. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ne.d.ts +0 -4
  720. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ne.js +0 -111
  721. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nl.cjs +0 -142
  722. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nl.d.cts +0 -5
  723. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nl.d.ts +0 -4
  724. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nl.js +0 -115
  725. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nn.cjs +0 -140
  726. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nn.d.cts +0 -5
  727. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nn.d.ts +0 -4
  728. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/nn.js +0 -113
  729. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/no.cjs +0 -140
  730. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/no.d.cts +0 -5
  731. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/no.d.ts +0 -4
  732. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/no.js +0 -113
  733. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ota.cjs +0 -141
  734. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ota.d.cts +0 -5
  735. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ota.d.ts +0 -4
  736. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ota.js +0 -114
  737. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/package.json +0 -7
  738. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pl.cjs +0 -141
  739. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pl.d.cts +0 -5
  740. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pl.d.ts +0 -4
  741. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pl.js +0 -114
  742. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ps.cjs +0 -146
  743. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ps.d.cts +0 -5
  744. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ps.d.ts +0 -4
  745. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ps.js +0 -119
  746. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt-BR.cjs +0 -170
  747. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt-BR.d.cts +0 -5
  748. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt-BR.d.ts +0 -4
  749. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt-BR.js +0 -143
  750. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt.cjs +0 -169
  751. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt.d.cts +0 -5
  752. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt.d.ts +0 -4
  753. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/pt.js +0 -142
  754. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ro.cjs +0 -149
  755. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ro.d.cts +0 -5
  756. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ro.d.ts +0 -4
  757. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ro.js +0 -122
  758. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ru.cjs +0 -195
  759. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ru.d.cts +0 -5
  760. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ru.d.ts +0 -4
  761. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ru.js +0 -168
  762. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sk.cjs +0 -143
  763. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sk.d.cts +0 -5
  764. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sk.d.ts +0 -4
  765. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sk.js +0 -116
  766. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sl.cjs +0 -141
  767. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sl.d.cts +0 -5
  768. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sl.d.ts +0 -4
  769. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sl.js +0 -114
  770. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sv.cjs +0 -142
  771. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sv.d.cts +0 -5
  772. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sv.d.ts +0 -4
  773. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/sv.js +0 -115
  774. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ta.cjs +0 -142
  775. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ta.d.cts +0 -5
  776. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ta.d.ts +0 -4
  777. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ta.js +0 -115
  778. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tg.cjs +0 -144
  779. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tg.d.cts +0 -5
  780. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tg.d.ts +0 -4
  781. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tg.js +0 -117
  782. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/th.cjs +0 -142
  783. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/th.d.cts +0 -5
  784. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/th.d.ts +0 -4
  785. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/th.js +0 -115
  786. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tk.cjs +0 -134
  787. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tk.d.cts +0 -5
  788. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tk.d.ts +0 -4
  789. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tk.js +0 -107
  790. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tr.cjs +0 -137
  791. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tr.d.cts +0 -5
  792. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tr.d.ts +0 -4
  793. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/tr.js +0 -110
  794. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ua.cjs +0 -12
  795. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ua.d.cts +0 -5
  796. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ua.d.ts +0 -5
  797. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ua.js +0 -5
  798. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uk.cjs +0 -140
  799. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uk.d.cts +0 -5
  800. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uk.d.ts +0 -4
  801. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uk.js +0 -113
  802. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ur.cjs +0 -142
  803. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ur.d.cts +0 -5
  804. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ur.d.ts +0 -4
  805. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/ur.js +0 -115
  806. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uz.cjs +0 -140
  807. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uz.d.cts +0 -5
  808. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uz.d.ts +0 -4
  809. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/uz.js +0 -113
  810. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/vi.cjs +0 -140
  811. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/vi.d.cts +0 -5
  812. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/vi.d.ts +0 -4
  813. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/vi.js +0 -113
  814. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/yo.cjs +0 -139
  815. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/yo.d.cts +0 -5
  816. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/yo.d.ts +0 -4
  817. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/yo.js +0 -112
  818. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-CN.cjs +0 -141
  819. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-CN.d.cts +0 -5
  820. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-CN.d.ts +0 -4
  821. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-CN.js +0 -114
  822. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-TW.cjs +0 -139
  823. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-TW.d.cts +0 -5
  824. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-TW.d.ts +0 -4
  825. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/locales/zh-TW.js +0 -112
  826. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/checks.cjs +0 -54
  827. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/checks.d.cts +0 -1
  828. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/checks.d.ts +0 -1
  829. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/checks.js +0 -1
  830. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/coerce.cjs +0 -71
  831. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/coerce.d.cts +0 -7
  832. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/coerce.d.ts +0 -7
  833. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/coerce.js +0 -22
  834. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/deep-partial.cjs +0 -58
  835. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/deep-partial.d.cts +0 -14
  836. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/deep-partial.d.ts +0 -14
  837. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/deep-partial.js +0 -13
  838. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/external.cjs +0 -95
  839. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/external.d.cts +0 -16
  840. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/external.d.ts +0 -16
  841. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/external.js +0 -16
  842. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/in-out.cjs +0 -82
  843. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/in-out.d.cts +0 -8
  844. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/in-out.d.ts +0 -8
  845. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/in-out.js +0 -36
  846. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/index.cjs +0 -51
  847. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/index.d.cts +0 -3
  848. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/index.d.ts +0 -3
  849. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/index.js +0 -3
  850. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/iso.cjs +0 -83
  851. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/iso.d.cts +0 -22
  852. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/iso.d.ts +0 -22
  853. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/iso.js +0 -34
  854. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/package.json +0 -7
  855. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/parse.cjs +0 -37
  856. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/parse.d.cts +0 -1
  857. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/parse.d.ts +0 -1
  858. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/parse.js +0 -1
  859. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/schemas.cjs +0 -1147
  860. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/schemas.d.cts +0 -480
  861. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/schemas.d.ts +0 -480
  862. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/mini/schemas.js +0 -1002
  863. package/toolkit/skills/multi-task-flow/node_modules/zod/v4/package.json +0 -7
  864. package/toolkit/skills/multi-task-flow/node_modules/zod/v4-mini/index.cjs +0 -51
  865. package/toolkit/skills/multi-task-flow/node_modules/zod/v4-mini/index.d.cts +0 -3
  866. package/toolkit/skills/multi-task-flow/node_modules/zod/v4-mini/index.d.ts +0 -3
  867. package/toolkit/skills/multi-task-flow/node_modules/zod/v4-mini/index.js +0 -3
  868. package/toolkit/skills/multi-task-flow/node_modules/zod/v4-mini/package.json +0 -7
  869. package/toolkit/skills/node_modules/@img/colour/LICENSE.md +0 -82
  870. package/toolkit/skills/node_modules/@img/colour/README.md +0 -15
  871. package/toolkit/skills/node_modules/@img/colour/color.cjs +0 -1596
  872. package/toolkit/skills/node_modules/@img/colour/index.cjs +0 -1
  873. package/toolkit/skills/node_modules/@img/colour/index.d.ts +0 -929
  874. package/toolkit/skills/node_modules/@img/colour/package.json +0 -58
  875. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/README.md +0 -46
  876. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +0 -219
  877. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/lib/index.js +0 -1
  878. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/lib/libvips-cpp.so.8.18.7 +0 -0
  879. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/package.json +0 -43
  880. package/toolkit/skills/node_modules/@img/sharp-libvips-linux-x64/versions.json +0 -30
  881. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +0 -46
  882. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +0 -219
  883. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/index.js +0 -1
  884. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.18.7 +0 -0
  885. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +0 -43
  886. package/toolkit/skills/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +0 -30
  887. package/toolkit/skills/node_modules/@img/sharp-linux-x64/LICENSE +0 -191
  888. package/toolkit/skills/node_modules/@img/sharp-linux-x64/README.md +0 -18
  889. package/toolkit/skills/node_modules/@img/sharp-linux-x64/index.cjs +0 -2
  890. package/toolkit/skills/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64-0.35.5.node +0 -0
  891. package/toolkit/skills/node_modules/@img/sharp-linux-x64/package.json +0 -47
  892. package/toolkit/skills/node_modules/@img/sharp-linuxmusl-x64/LICENSE +0 -191
  893. package/toolkit/skills/node_modules/@img/sharp-linuxmusl-x64/README.md +0 -18
  894. package/toolkit/skills/node_modules/@img/sharp-linuxmusl-x64/index.cjs +0 -2
  895. package/toolkit/skills/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64-0.35.5.node +0 -0
  896. package/toolkit/skills/node_modules/@img/sharp-linuxmusl-x64/package.json +0 -47
  897. package/toolkit/skills/node_modules/detect-libc/LICENSE +0 -201
  898. package/toolkit/skills/node_modules/detect-libc/README.md +0 -163
  899. package/toolkit/skills/node_modules/detect-libc/index.d.ts +0 -14
  900. package/toolkit/skills/node_modules/detect-libc/lib/detect-libc.js +0 -313
  901. package/toolkit/skills/node_modules/detect-libc/lib/elf.js +0 -39
  902. package/toolkit/skills/node_modules/detect-libc/lib/filesystem.js +0 -51
  903. package/toolkit/skills/node_modules/detect-libc/lib/process.js +0 -24
  904. package/toolkit/skills/node_modules/detect-libc/package.json +0 -44
  905. package/toolkit/skills/node_modules/semver/LICENSE +0 -15
  906. package/toolkit/skills/node_modules/semver/README.md +0 -680
  907. package/toolkit/skills/node_modules/semver/bin/semver.js +0 -195
  908. package/toolkit/skills/node_modules/semver/classes/comparator.js +0 -143
  909. package/toolkit/skills/node_modules/semver/classes/index.js +0 -7
  910. package/toolkit/skills/node_modules/semver/classes/range.js +0 -577
  911. package/toolkit/skills/node_modules/semver/classes/semver.js +0 -350
  912. package/toolkit/skills/node_modules/semver/functions/clean.js +0 -8
  913. package/toolkit/skills/node_modules/semver/functions/cmp.js +0 -54
  914. package/toolkit/skills/node_modules/semver/functions/coerce.js +0 -62
  915. package/toolkit/skills/node_modules/semver/functions/compare-build.js +0 -9
  916. package/toolkit/skills/node_modules/semver/functions/compare-loose.js +0 -5
  917. package/toolkit/skills/node_modules/semver/functions/compare.js +0 -7
  918. package/toolkit/skills/node_modules/semver/functions/diff.js +0 -60
  919. package/toolkit/skills/node_modules/semver/functions/eq.js +0 -5
  920. package/toolkit/skills/node_modules/semver/functions/gt.js +0 -5
  921. package/toolkit/skills/node_modules/semver/functions/gte.js +0 -5
  922. package/toolkit/skills/node_modules/semver/functions/inc.js +0 -21
  923. package/toolkit/skills/node_modules/semver/functions/lt.js +0 -5
  924. package/toolkit/skills/node_modules/semver/functions/lte.js +0 -5
  925. package/toolkit/skills/node_modules/semver/functions/major.js +0 -5
  926. package/toolkit/skills/node_modules/semver/functions/minor.js +0 -5
  927. package/toolkit/skills/node_modules/semver/functions/neq.js +0 -5
  928. package/toolkit/skills/node_modules/semver/functions/parse.js +0 -18
  929. package/toolkit/skills/node_modules/semver/functions/patch.js +0 -5
  930. package/toolkit/skills/node_modules/semver/functions/prerelease.js +0 -8
  931. package/toolkit/skills/node_modules/semver/functions/rcompare.js +0 -5
  932. package/toolkit/skills/node_modules/semver/functions/rsort.js +0 -5
  933. package/toolkit/skills/node_modules/semver/functions/satisfies.js +0 -12
  934. package/toolkit/skills/node_modules/semver/functions/sort.js +0 -5
  935. package/toolkit/skills/node_modules/semver/functions/truncate.js +0 -48
  936. package/toolkit/skills/node_modules/semver/functions/valid.js +0 -8
  937. package/toolkit/skills/node_modules/semver/index.js +0 -93
  938. package/toolkit/skills/node_modules/semver/internal/constants.js +0 -67
  939. package/toolkit/skills/node_modules/semver/internal/debug.js +0 -11
  940. package/toolkit/skills/node_modules/semver/internal/identifiers.js +0 -29
  941. package/toolkit/skills/node_modules/semver/internal/lrucache.js +0 -42
  942. package/toolkit/skills/node_modules/semver/internal/parse-options.js +0 -17
  943. package/toolkit/skills/node_modules/semver/internal/re.js +0 -223
  944. package/toolkit/skills/node_modules/semver/internal/trim-comparator-whitespace.js +0 -438
  945. package/toolkit/skills/node_modules/semver/package.json +0 -78
  946. package/toolkit/skills/node_modules/semver/preload.js +0 -4
  947. package/toolkit/skills/node_modules/semver/range.bnf +0 -17
  948. package/toolkit/skills/node_modules/semver/ranges/gtr.js +0 -6
  949. package/toolkit/skills/node_modules/semver/ranges/intersects.js +0 -9
  950. package/toolkit/skills/node_modules/semver/ranges/ltr.js +0 -6
  951. package/toolkit/skills/node_modules/semver/ranges/max-satisfying.js +0 -27
  952. package/toolkit/skills/node_modules/semver/ranges/min-satisfying.js +0 -26
  953. package/toolkit/skills/node_modules/semver/ranges/min-version.js +0 -63
  954. package/toolkit/skills/node_modules/semver/ranges/outside.js +0 -82
  955. package/toolkit/skills/node_modules/semver/ranges/simplify.js +0 -49
  956. package/toolkit/skills/node_modules/semver/ranges/subset.js +0 -249
  957. package/toolkit/skills/node_modules/semver/ranges/to-comparators.js +0 -10
  958. package/toolkit/skills/node_modules/semver/ranges/valid.js +0 -13
  959. package/toolkit/skills/node_modules/sharp/LICENSE +0 -191
  960. package/toolkit/skills/node_modules/sharp/README.md +0 -112
  961. package/toolkit/skills/node_modules/sharp/dist/channel.cjs +0 -177
  962. package/toolkit/skills/node_modules/sharp/dist/channel.mjs +0 -177
  963. package/toolkit/skills/node_modules/sharp/dist/colour.cjs +0 -199
  964. package/toolkit/skills/node_modules/sharp/dist/colour.mjs +0 -199
  965. package/toolkit/skills/node_modules/sharp/dist/composite.cjs +0 -213
  966. package/toolkit/skills/node_modules/sharp/dist/composite.mjs +0 -213
  967. package/toolkit/skills/node_modules/sharp/dist/constructor.cjs +0 -511
  968. package/toolkit/skills/node_modules/sharp/dist/constructor.mjs +0 -511
  969. package/toolkit/skills/node_modules/sharp/dist/index.cjs +0 -25
  970. package/toolkit/skills/node_modules/sharp/dist/index.d.cts +0 -1999
  971. package/toolkit/skills/node_modules/sharp/dist/index.d.mts +0 -2046
  972. package/toolkit/skills/node_modules/sharp/dist/index.mjs +0 -25
  973. package/toolkit/skills/node_modules/sharp/dist/input.cjs +0 -819
  974. package/toolkit/skills/node_modules/sharp/dist/input.mjs +0 -819
  975. package/toolkit/skills/node_modules/sharp/dist/is.cjs +0 -149
  976. package/toolkit/skills/node_modules/sharp/dist/is.mjs +0 -149
  977. package/toolkit/skills/node_modules/sharp/dist/libvips.cjs +0 -212
  978. package/toolkit/skills/node_modules/sharp/dist/libvips.mjs +0 -212
  979. package/toolkit/skills/node_modules/sharp/dist/operation.cjs +0 -1002
  980. package/toolkit/skills/node_modules/sharp/dist/operation.mjs +0 -1002
  981. package/toolkit/skills/node_modules/sharp/dist/output.cjs +0 -1786
  982. package/toolkit/skills/node_modules/sharp/dist/output.mjs +0 -1786
  983. package/toolkit/skills/node_modules/sharp/dist/resize.cjs +0 -617
  984. package/toolkit/skills/node_modules/sharp/dist/resize.mjs +0 -617
  985. package/toolkit/skills/node_modules/sharp/dist/sharp.cjs +0 -174
  986. package/toolkit/skills/node_modules/sharp/dist/sharp.mjs +0 -174
  987. package/toolkit/skills/node_modules/sharp/dist/utility.cjs +0 -301
  988. package/toolkit/skills/node_modules/sharp/dist/utility.mjs +0 -301
  989. package/toolkit/skills/node_modules/sharp/install/build.js +0 -38
  990. package/toolkit/skills/node_modules/sharp/lib/index.d.ts +0 -1999
  991. package/toolkit/skills/node_modules/sharp/package.json +0 -227
  992. package/toolkit/skills/node_modules/sharp/src/binding.gyp +0 -303
  993. package/toolkit/skills/node_modules/sharp/src/common.cc +0 -1186
  994. package/toolkit/skills/node_modules/sharp/src/common.h +0 -421
  995. package/toolkit/skills/node_modules/sharp/src/metadata.cc +0 -404
  996. package/toolkit/skills/node_modules/sharp/src/metadata.h +0 -95
  997. package/toolkit/skills/node_modules/sharp/src/operations.cc +0 -516
  998. package/toolkit/skills/node_modules/sharp/src/operations.h +0 -137
  999. package/toolkit/skills/node_modules/sharp/src/pipeline.cc +0 -1973
  1000. package/toolkit/skills/node_modules/sharp/src/pipeline.h +0 -422
  1001. package/toolkit/skills/node_modules/sharp/src/sharp.cc +0 -43
  1002. package/toolkit/skills/node_modules/sharp/src/stats.cc +0 -186
  1003. package/toolkit/skills/node_modules/sharp/src/stats.h +0 -62
  1004. package/toolkit/skills/node_modules/sharp/src/utilities.cc +0 -289
  1005. package/toolkit/skills/node_modules/sharp/src/utilities.h +0 -22
@@ -1,1467 +0,0 @@
1
- import { expect, test } from "vitest";
2
- import { fromJSONSchema } from "../from-json-schema.js";
3
- import * as z from "../index.js";
4
-
5
- test("basic string schema", () => {
6
- const schema = fromJSONSchema({ type: "string" });
7
- expect(schema.parse("hello")).toBe("hello");
8
- expect(() => schema.parse(123)).toThrow();
9
- });
10
-
11
- test("string with constraints", () => {
12
- const schema = fromJSONSchema({
13
- type: "string",
14
- minLength: 3,
15
- maxLength: 10,
16
- pattern: "^[a-z]+$",
17
- });
18
- expect(schema.parse("hello")).toBe("hello");
19
- expect(schema.parse("helloworld")).toBe("helloworld"); // exactly 10 chars - valid
20
- expect(() => schema.parse("hi")).toThrow(); // too short
21
- expect(() => schema.parse("helloworld1")).toThrow(); // too long (11 chars)
22
- expect(() => schema.parse("Hello")).toThrow(); // pattern mismatch
23
- });
24
-
25
- test("pattern is not implicitly anchored", () => {
26
- // JSON Schema patterns match anywhere in the string, not just the full string
27
- const schema = fromJSONSchema({
28
- type: "string",
29
- pattern: "foo",
30
- });
31
- expect(schema.parse("foo")).toBe("foo");
32
- expect(schema.parse("foobar")).toBe("foobar"); // matches at start
33
- expect(schema.parse("barfoo")).toBe("barfoo"); // matches at end
34
- expect(schema.parse("barfoobar")).toBe("barfoobar"); // matches in middle
35
- expect(() => schema.parse("bar")).toThrow(); // no match
36
- });
37
-
38
- test("number schema", () => {
39
- const schema = fromJSONSchema({ type: "number" });
40
- expect(schema.parse(42)).toBe(42);
41
- expect(() => schema.parse("42")).toThrow();
42
- });
43
-
44
- test("number with constraints", () => {
45
- const schema = fromJSONSchema({
46
- type: "number",
47
- minimum: 0,
48
- maximum: 100,
49
- multipleOf: 5,
50
- });
51
- expect(schema.parse(50)).toBe(50);
52
- expect(() => schema.parse(-1)).toThrow();
53
- expect(() => schema.parse(101)).toThrow();
54
- expect(() => schema.parse(47)).toThrow(); // not multiple of 5
55
- });
56
-
57
- test("draft-04 boolean exclusive bounds do not emit a redundant inclusive bound", () => {
58
- const schema = fromJSONSchema({
59
- type: "number",
60
- minimum: 5,
61
- maximum: 10,
62
- exclusiveMinimum: true,
63
- exclusiveMaximum: true,
64
- });
65
- // exclusive on both ends: boundaries rejected, interior accepted
66
- expect(() => schema.parse(5)).toThrow();
67
- expect(() => schema.parse(10)).toThrow();
68
- expect(schema.parse(7)).toBe(7);
69
- // the dominated inclusive bound would otherwise report a second, weaker issue alongside the exclusive one
70
- expect(schema.safeParse(4).error!.issues).toHaveLength(1);
71
- expect(schema.safeParse(11).error!.issues).toHaveLength(1);
72
- // the inclusive .min()/.max() must be skipped so only the exclusive checks remain
73
- const checks = (schema as any)._zod.def.checks.map((c: any) => [
74
- c._zod.def.check,
75
- c._zod.def.value,
76
- c._zod.def.inclusive,
77
- ]);
78
- expect(checks).toEqual([
79
- ["greater_than", 5, false],
80
- ["less_than", 10, false],
81
- ]);
82
- });
83
-
84
- test("integer schema", () => {
85
- const schema = fromJSONSchema({ type: "integer" });
86
- expect(schema.parse(42)).toBe(42);
87
- expect(() => schema.parse(42.5)).toThrow();
88
- });
89
-
90
- test("boolean schema", () => {
91
- const schema = fromJSONSchema({ type: "boolean" });
92
- expect(schema.parse(true)).toBe(true);
93
- expect(schema.parse(false)).toBe(false);
94
- expect(() => schema.parse("true")).toThrow();
95
- });
96
-
97
- test("null schema", () => {
98
- const schema = fromJSONSchema({ type: "null" });
99
- expect(schema.parse(null)).toBe(null);
100
- expect(() => schema.parse(undefined)).toThrow();
101
- });
102
-
103
- test("object schema", () => {
104
- const schema = fromJSONSchema({
105
- type: "object",
106
- properties: {
107
- name: { type: "string" },
108
- age: { type: "number" },
109
- },
110
- required: ["name"],
111
- });
112
- expect(schema.parse({ name: "John", age: 30 })).toEqual({ name: "John", age: 30 });
113
- expect(schema.parse({ name: "John" })).toEqual({ name: "John" });
114
- expect(() => schema.parse({ age: 30 })).toThrow(); // missing required
115
- });
116
-
117
- test("object with additionalProperties false", () => {
118
- const schema = fromJSONSchema({
119
- type: "object",
120
- properties: {
121
- name: { type: "string" },
122
- },
123
- additionalProperties: false,
124
- });
125
- expect(schema.parse({ name: "John" })).toEqual({ name: "John" });
126
- expect(() => schema.parse({ name: "John", extra: "field" })).toThrow();
127
- });
128
-
129
- test("array schema", () => {
130
- const schema = fromJSONSchema({
131
- type: "array",
132
- items: { type: "string" },
133
- });
134
- expect(schema.parse(["a", "b", "c"])).toEqual(["a", "b", "c"]);
135
- expect(() => schema.parse([1, 2, 3])).toThrow();
136
- });
137
-
138
- test("array with constraints", () => {
139
- const schema = fromJSONSchema({
140
- type: "array",
141
- items: { type: "number" },
142
- minItems: 2,
143
- maxItems: 4,
144
- });
145
- expect(schema.parse([1, 2])).toEqual([1, 2]);
146
- expect(schema.parse([1, 2, 3, 4])).toEqual([1, 2, 3, 4]);
147
- expect(() => schema.parse([1])).toThrow();
148
- expect(() => schema.parse([1, 2, 3, 4, 5])).toThrow();
149
- });
150
-
151
- test("tuple with prefixItems (draft-2020-12)", () => {
152
- const schema = fromJSONSchema({
153
- $schema: "https://json-schema.org/draft/2020-12/schema",
154
- type: "array",
155
- prefixItems: [{ type: "string" }, { type: "number" }],
156
- });
157
- expect(schema.parse([])).toEqual([]);
158
- expect(schema.parse(["hello"])).toEqual(["hello"]);
159
- expect(schema.parse(["hello", 42])).toEqual(["hello", 42]);
160
- // no `items`, so the tail is unconstrained
161
- expect(schema.parse(["hello", 42, "extra"])).toEqual(["hello", 42, "extra"]);
162
- expect(() => schema.parse([1])).toThrow();
163
- expect(() => schema.parse(["hello", "world"])).toThrow();
164
- });
165
-
166
- test("tuple with prefixItems and minItems (draft-2020-12)", () => {
167
- const partialItems = fromJSONSchema({
168
- $schema: "https://json-schema.org/draft/2020-12/schema",
169
- type: "array",
170
- prefixItems: [{ type: "string" }, { type: "number" }],
171
- minItems: 1,
172
- });
173
- expect(() => partialItems.parse([])).toThrow();
174
- expect(partialItems.parse(["hello"])).toEqual(["hello"]);
175
-
176
- const allRequired = fromJSONSchema({
177
- $schema: "https://json-schema.org/draft/2020-12/schema",
178
- type: "array",
179
- prefixItems: [{ type: "string" }, { type: "number" }],
180
- minItems: 2,
181
- });
182
- expect(() => allRequired.parse(["hello"])).toThrow();
183
- expect(allRequired.parse(["hello", 42])).toEqual(["hello", 42]);
184
- });
185
-
186
- test("tuple with prefixItems allows extra items by default (draft-2020-12)", () => {
187
- const schema = fromJSONSchema({
188
- $schema: "https://json-schema.org/draft/2020-12/schema",
189
- type: "array",
190
- prefixItems: [{ type: "string" }],
191
- });
192
- expect(schema.parse(["hello", 42, true])).toEqual(["hello", 42, true]);
193
- });
194
-
195
- test("tuple with prefixItems respects items schema (draft-2020-12)", () => {
196
- const schema = fromJSONSchema({
197
- $schema: "https://json-schema.org/draft/2020-12/schema",
198
- type: "array",
199
- prefixItems: [{ type: "string" }],
200
- items: { type: "number" },
201
- });
202
- expect(schema.parse(["hello", 1, 2])).toEqual(["hello", 1, 2]);
203
- expect(() => schema.parse(["hello", 1, "extra"])).toThrow();
204
- });
205
-
206
- test("tuple with prefixItems and items true allows extra items (draft-2020-12)", () => {
207
- const schema = fromJSONSchema({
208
- $schema: "https://json-schema.org/draft/2020-12/schema",
209
- type: "array",
210
- prefixItems: [{ type: "string" }, { type: "number" }],
211
- items: true,
212
- });
213
- expect(schema.parse(["hello", 42, "extra", true])).toEqual(["hello", 42, "extra", true]);
214
- });
215
-
216
- test("tuple with prefixItems and items false rejects extra items (draft-2020-12)", () => {
217
- const schema = fromJSONSchema({
218
- $schema: "https://json-schema.org/draft/2020-12/schema",
219
- type: "array",
220
- prefixItems: [{ type: "string" }],
221
- items: false,
222
- });
223
- expect(schema.parse(["hello"])).toEqual(["hello"]);
224
- expect(() => schema.parse(["hello", 42])).toThrow();
225
- });
226
-
227
- test("tuple with items array (draft-7)", () => {
228
- const schema = fromJSONSchema({
229
- $schema: "http://json-schema.org/draft-07/schema#",
230
- type: "array",
231
- items: [{ type: "string" }, { type: "number" }],
232
- additionalItems: false,
233
- });
234
- expect(schema.parse([])).toEqual([]);
235
- expect(schema.parse(["hello"])).toEqual(["hello"]);
236
- expect(schema.parse(["hello", 42])).toEqual(["hello", 42]);
237
- expect(() => schema.parse([1])).toThrow();
238
- expect(() => schema.parse(["hello", "world"])).toThrow();
239
- expect(() => schema.parse(["hello", 42, "extra"])).toThrow();
240
- });
241
-
242
- test("tuple with items array and minItems (draft-7)", () => {
243
- const partialItems = fromJSONSchema({
244
- $schema: "http://json-schema.org/draft-07/schema#",
245
- type: "array",
246
- items: [{ type: "string" }, { type: "number" }],
247
- additionalItems: false,
248
- minItems: 1,
249
- });
250
- expect(() => partialItems.parse([])).toThrow();
251
- expect(partialItems.parse(["hello"])).toEqual(["hello"]);
252
-
253
- const allRequired = fromJSONSchema({
254
- $schema: "http://json-schema.org/draft-07/schema#",
255
- type: "array",
256
- items: [{ type: "string" }, { type: "number" }],
257
- additionalItems: false,
258
- minItems: 2,
259
- });
260
- expect(() => allRequired.parse(["hello"])).toThrow();
261
- expect(allRequired.parse(["hello", 42])).toEqual(["hello", 42]);
262
- });
263
-
264
- test("tuple with items array allows extra items by default (draft-7)", () => {
265
- const schema = fromJSONSchema({
266
- $schema: "http://json-schema.org/draft-07/schema#",
267
- type: "array",
268
- items: [{ type: "string" }],
269
- });
270
- expect(schema.parse(["hello", 42, true])).toEqual(["hello", 42, true]);
271
- });
272
-
273
- test("tuple with items array and additionalItems true allows extra items (draft-7)", () => {
274
- const schema = fromJSONSchema({
275
- $schema: "http://json-schema.org/draft-07/schema#",
276
- type: "array",
277
- items: [{ type: "string" }, { type: "number" }],
278
- additionalItems: true,
279
- });
280
- expect(schema.parse(["hello", 42, "extra", true])).toEqual(["hello", 42, "extra", true]);
281
- });
282
-
283
- test("tuple with items array respects additionalItems schema (draft-7)", () => {
284
- const schema = fromJSONSchema({
285
- $schema: "http://json-schema.org/draft-07/schema#",
286
- type: "array",
287
- items: [{ type: "string" }],
288
- additionalItems: { type: "number" },
289
- });
290
- expect(schema.parse(["hello", 1, 2])).toEqual(["hello", 1, 2]);
291
- expect(() => schema.parse(["hello", 1, "extra"])).toThrow();
292
- });
293
-
294
- test("enum schema", () => {
295
- const schema = fromJSONSchema({
296
- enum: ["red", "green", "blue"],
297
- });
298
- expect(schema.parse("red")).toBe("red");
299
- expect(() => schema.parse("yellow")).toThrow();
300
- });
301
-
302
- test("const schema", () => {
303
- const schema = fromJSONSchema({
304
- const: "hello",
305
- });
306
- expect(schema.parse("hello")).toBe("hello");
307
- expect(() => schema.parse("world")).toThrow();
308
- });
309
-
310
- test("anyOf schema", () => {
311
- const schema = fromJSONSchema({
312
- anyOf: [{ type: "string" }, { type: "number" }],
313
- });
314
- expect(schema.parse("hello")).toBe("hello");
315
- expect(schema.parse(42)).toBe(42);
316
- expect(() => schema.parse(true)).toThrow();
317
- });
318
-
319
- test("allOf schema", () => {
320
- const schema = fromJSONSchema({
321
- allOf: [
322
- { type: "object", properties: { name: { type: "string" } }, required: ["name"] },
323
- { type: "object", properties: { age: { type: "number" } }, required: ["age"] },
324
- ],
325
- });
326
- const result = schema.parse({ name: "John", age: 30 }) as { name: string; age: number };
327
- expect(result.name).toBe("John");
328
- expect(result.age).toBe(30);
329
- });
330
-
331
- test("allOf with empty array", () => {
332
- // Empty allOf without explicit type returns any
333
- const schema1 = fromJSONSchema({
334
- allOf: [],
335
- });
336
- expect(schema1.parse("hello")).toBe("hello");
337
- expect(schema1.parse(123)).toBe(123);
338
- expect(schema1.parse({})).toEqual({});
339
-
340
- // Empty allOf with explicit type returns base schema
341
- const schema2 = fromJSONSchema({
342
- type: "string",
343
- allOf: [],
344
- });
345
- expect(schema2.parse("hello")).toBe("hello");
346
- expect(() => schema2.parse(123)).toThrow();
347
- });
348
-
349
- test("oneOf schema (exclusive union)", () => {
350
- const schema = fromJSONSchema({
351
- oneOf: [{ type: "string" }, { type: "number" }],
352
- });
353
- expect(schema.parse("hello")).toBe("hello");
354
- expect(schema.parse(42)).toBe(42);
355
- expect(() => schema.parse(true)).toThrow();
356
- });
357
-
358
- test("type with anyOf creates intersection", () => {
359
- // type: string AND (type:string,minLength:5 OR type:string,pattern:^a)
360
- const schema = fromJSONSchema({
361
- type: "string",
362
- anyOf: [
363
- { type: "string", minLength: 5 },
364
- { type: "string", pattern: "^a" },
365
- ],
366
- });
367
- // Should pass: string AND (minLength:5 OR pattern:^a) - matches minLength
368
- expect(schema.parse("hello")).toBe("hello");
369
- // Should pass: string AND (minLength:5 OR pattern:^a) - matches pattern
370
- expect(schema.parse("abc")).toBe("abc");
371
- // Should fail: string but neither minLength nor pattern match
372
- expect(() => schema.parse("hi")).toThrow();
373
- // Should fail: not a string
374
- expect(() => schema.parse(123)).toThrow();
375
- });
376
-
377
- test("type with oneOf creates intersection", () => {
378
- // type: string AND (exactly one of: type:string,minLength:5 OR type:string,pattern:^a)
379
- const schema = fromJSONSchema({
380
- type: "string",
381
- oneOf: [
382
- { type: "string", minLength: 5 },
383
- { type: "string", pattern: "^a" },
384
- ],
385
- });
386
- // Should pass: string AND minLength:5 (exactly one match - "hello" length 5 >= 5, doesn't start with 'a')
387
- expect(schema.parse("hello")).toBe("hello");
388
- // Should pass: string AND pattern:^a (exactly one match - "abc" starts with 'a', length 3 < 5)
389
- expect(schema.parse("abc")).toBe("abc");
390
- // Should fail: string but neither match
391
- expect(() => schema.parse("hi")).toThrow();
392
- // Should fail: not a string
393
- expect(() => schema.parse(123)).toThrow();
394
- // Should fail: matches both (length >= 5 AND starts with 'a') - exclusive union fails
395
- expect(() => schema.parse("apple")).toThrow();
396
- });
397
-
398
- test("unevaluatedItems throws error", () => {
399
- expect(() => {
400
- fromJSONSchema({
401
- type: "array",
402
- unevaluatedItems: false,
403
- });
404
- }).toThrow("unevaluatedItems is not supported");
405
- });
406
-
407
- test("unevaluatedProperties throws error", () => {
408
- expect(() => {
409
- fromJSONSchema({
410
- type: "object",
411
- unevaluatedProperties: false,
412
- });
413
- }).toThrow("unevaluatedProperties is not supported");
414
- });
415
-
416
- test("if/then/else throws error", () => {
417
- expect(() => {
418
- fromJSONSchema({
419
- if: { type: "string" },
420
- then: { type: "number" },
421
- });
422
- }).toThrow("Conditional schemas");
423
- });
424
-
425
- test("external $ref throws error", () => {
426
- expect(() => {
427
- fromJSONSchema({
428
- $ref: "https://example.com/schema#/definitions/User",
429
- });
430
- }).toThrow("External $ref is not supported");
431
- });
432
-
433
- test("local $ref resolution", () => {
434
- const schema = fromJSONSchema({
435
- $defs: {
436
- User: {
437
- type: "object",
438
- properties: {
439
- name: { type: "string" },
440
- },
441
- required: ["name"],
442
- },
443
- },
444
- $ref: "#/$defs/User",
445
- });
446
- expect(schema.parse({ name: "John" })).toEqual({ name: "John" });
447
- expect(() => schema.parse({})).toThrow();
448
- });
449
-
450
- test("local $ref resolution unescapes JSON Pointer tokens", () => {
451
- // `~1` must be decoded before `~0`, so the id "a~1b" survives as itself and not as "a/b".
452
- for (const id of ["Shared/User", "My~Model", "a~b/c", "a~1b"]) {
453
- const inner = z.object({ name: z.string() }).meta({ id });
454
- const schema = fromJSONSchema(z.toJSONSchema(z.object({ inner })));
455
- expect(schema.parse({ inner: { name: "John" } })).toEqual({ inner: { name: "John" } });
456
- }
457
- });
458
-
459
- test("circular $ref with lazy", () => {
460
- const schema = fromJSONSchema({
461
- $defs: {
462
- Node: {
463
- type: "object",
464
- properties: {
465
- value: { type: "string" },
466
- children: {
467
- type: "array",
468
- items: { $ref: "#/$defs/Node" },
469
- },
470
- },
471
- },
472
- },
473
- $ref: "#/$defs/Node",
474
- });
475
- type Node = { value: string; children: Node[] };
476
- const result = schema.parse({
477
- value: "root",
478
- children: [{ value: "child", children: [] }],
479
- }) as Node;
480
- expect(result.value).toBe("root");
481
- expect(result.children[0]?.value).toBe("child");
482
- });
483
-
484
- test("patternProperties", () => {
485
- const schema = fromJSONSchema({
486
- type: "object",
487
- patternProperties: {
488
- "^S_": { type: "string" },
489
- },
490
- });
491
- const result = schema.parse({ S_name: "John", S_age: "30" }) as Record<string, string>;
492
- expect(result.S_name).toBe("John");
493
- expect(result.S_age).toBe("30");
494
- });
495
-
496
- test("propertyNames with enum does not require keys", () => {
497
- const schema = fromJSONSchema({
498
- type: "object",
499
- propertyNames: { enum: ["a", "b"] },
500
- additionalProperties: { type: "string" },
501
- });
502
- expect(schema.parse({ a: "x" })).toEqual({ a: "x" });
503
- expect(schema.parse({ b: "y" })).toEqual({ b: "y" });
504
- expect(schema.parse({})).toEqual({});
505
- expect(() => schema.parse({ c: "z" })).toThrow();
506
- });
507
-
508
- test("propertyNames with enum alongside properties", () => {
509
- const schema = fromJSONSchema({
510
- type: "object",
511
- properties: { a: { type: "string" } },
512
- propertyNames: { enum: ["a", "b"] },
513
- additionalProperties: { type: "string" },
514
- });
515
- expect(schema.parse({ a: "x" })).toEqual({ a: "x" });
516
- expect(schema.parse({})).toEqual({});
517
- expect(() => schema.parse({ c: "z" })).toThrow();
518
- expect(() => schema.parse({ a: "x", c: "z" })).toThrow();
519
- });
520
-
521
- test("propertyNames with enum still honors required", () => {
522
- const schema = fromJSONSchema({
523
- type: "object",
524
- properties: { a: { type: "string" }, b: { type: "string" } },
525
- required: ["a"],
526
- propertyNames: { enum: ["a", "b"] },
527
- additionalProperties: { type: "string" },
528
- });
529
- expect(schema.parse({ a: "x" })).toEqual({ a: "x" });
530
- expect(schema.parse({ a: "x", b: "y" })).toEqual({ a: "x", b: "y" });
531
- expect(() => schema.parse({})).toThrow();
532
- expect(() => schema.parse({ b: "y" })).toThrow();
533
- });
534
-
535
- test("propertyNames does not apply additionalProperties to declared properties", () => {
536
- const schema = fromJSONSchema({
537
- type: "object",
538
- properties: { a: { type: "number" } },
539
- propertyNames: { enum: ["a", "b"] },
540
- additionalProperties: { type: "string" },
541
- });
542
- expect(schema.parse({ a: 1 })).toEqual({ a: 1 });
543
- expect(schema.parse({ a: 1, b: "x" })).toEqual({ a: 1, b: "x" });
544
- expect(() => schema.parse({ b: 1 })).toThrow();
545
- });
546
-
547
- test("propertyNames alongside additionalProperties: false", () => {
548
- const schema = fromJSONSchema({
549
- type: "object",
550
- properties: { a: { type: "string" } },
551
- propertyNames: { enum: ["a", "b"] },
552
- additionalProperties: false,
553
- });
554
- expect(schema.parse({ a: "x" })).toEqual({ a: "x" });
555
- expect(() => schema.parse({ a: "x", b: "y" })).toThrow();
556
- expect(() => schema.parse({ c: "z" })).toThrow();
557
- });
558
-
559
- test("propertyNames alongside patternProperties", () => {
560
- const schema = fromJSONSchema({
561
- type: "object",
562
- patternProperties: { "^S_": { type: "string" } },
563
- propertyNames: { type: "string", pattern: "^S_" },
564
- });
565
- expect(schema.parse({ S_a: "x" })).toEqual({ S_a: "x" });
566
- expect(() => schema.parse({ S_a: 1 })).toThrow();
567
- expect(() => schema.parse({ other: "x" })).toThrow();
568
- });
569
-
570
- test("propertyNames rejects keys the object parse would drop or synthesize", () => {
571
- const schema = fromJSONSchema({ type: "object", propertyNames: { enum: ["a"] } });
572
- // An object parse strips `__proto__`, so the guard has to see the raw input.
573
- expect(() => schema.parse(JSON.parse('{"__proto__":1}'))).toThrow();
574
-
575
- // A property `default` adds a key that was never in the instance.
576
- const withDefault = fromJSONSchema({
577
- type: "object",
578
- properties: { AB: { type: "string", default: "x" } },
579
- propertyNames: { type: "string", pattern: "^[a-z]+$" },
580
- });
581
- expect(withDefault.parse({})).toEqual({ AB: "x" });
582
- });
583
-
584
- test("propertyNames subschema without a type still constrains keys", () => {
585
- const schema = fromJSONSchema({
586
- type: "object",
587
- propertyNames: { pattern: "^[A-Za-z_][A-Za-z0-9_]*$" },
588
- });
589
- expect(schema.parse({ valid_key: "x" })).toEqual({ valid_key: "x" });
590
- expect(() => schema.parse({ "001 invalid": "x" })).toThrow();
591
- });
592
-
593
- test("boolean propertyNames", () => {
594
- expect(() => fromJSONSchema({ type: "object", propertyNames: false }).parse({ a: 1 })).toThrow();
595
- expect(fromJSONSchema({ type: "object", propertyNames: false }).parse({})).toEqual({});
596
- expect(fromJSONSchema({ type: "object", propertyNames: true }).parse({ anything: 1 })).toEqual({ anything: 1 });
597
- });
598
-
599
- test("propertyNames metadata is not attached where it is inert", () => {
600
- // Not an object: nothing enforces it, so it must not be advertised either.
601
- expect(z.toJSONSchema(fromJSONSchema({ type: "string", propertyNames: { enum: ["a"] } }))).not.toHaveProperty(
602
- "propertyNames"
603
- );
604
-
605
- // A $ref target is shared by every reference to it; metadata must not leak onto it.
606
- const shared = z.toJSONSchema(
607
- fromJSONSchema({
608
- $defs: { N: { type: "object", properties: { v: { type: "string" } } } },
609
- type: "object",
610
- properties: { a: { $ref: "#/$defs/N", propertyNames: { enum: ["v"] } }, b: { $ref: "#/$defs/N" } },
611
- })
612
- ) as any;
613
- expect(shared.properties.b).not.toHaveProperty("propertyNames");
614
- });
615
-
616
- test("propertyNames survives a toJSONSchema round trip", () => {
617
- const roundTripped = z.toJSONSchema(
618
- fromJSONSchema({
619
- type: "object",
620
- propertyNames: { enum: ["a", "b"] },
621
- additionalProperties: { type: "string" },
622
- })
623
- ) as Record<string, unknown>;
624
- expect(roundTripped.propertyNames).toEqual({ enum: ["a", "b"] });
625
- expect(roundTripped.required).toBeUndefined();
626
-
627
- // The key guard is a pipe; neither side may swallow the object it wraps.
628
- for (const io of ["input", "output"] as const) {
629
- const out = z.toJSONSchema(
630
- fromJSONSchema({
631
- type: "object",
632
- properties: { a: { type: "string" } },
633
- propertyNames: { enum: ["a", "b"] },
634
- additionalProperties: { type: "string" },
635
- }),
636
- { io }
637
- ) as Record<string, unknown>;
638
- expect(out.type).toBe("object");
639
- expect(out.properties).toEqual({ a: { type: "string" } });
640
- expect(out.propertyNames).toEqual({ enum: ["a", "b"] });
641
- }
642
- });
643
-
644
- test("patternProperties with regular properties", () => {
645
- // Note: When patternProperties is combined with properties, the intersection validates all keys against the pattern. This test uses a pattern that matches the regular property name as well.
646
- const schema = fromJSONSchema({
647
- type: "object",
648
- properties: {
649
- S_name: { type: "string" },
650
- },
651
- patternProperties: {
652
- "^S_": { type: "string" },
653
- },
654
- required: ["S_name"],
655
- });
656
- const result = schema.parse({ S_name: "John", S_extra: "value" }) as Record<string, string>;
657
- expect(result.S_name).toBe("John");
658
- expect(result.S_extra).toBe("value");
659
- });
660
-
661
- test("multiple patternProperties", () => {
662
- const schema = fromJSONSchema({
663
- type: "object",
664
- patternProperties: {
665
- "^S_": { type: "string" },
666
- "^N_": { type: "number" },
667
- },
668
- });
669
- const result = schema.parse({ S_name: "John", N_count: 123 }) as Record<string, string | number>;
670
- expect(result.S_name).toBe("John");
671
- expect(result.N_count).toBe(123);
672
- // Keys not matching any pattern should pass through
673
- const result2 = schema.parse({ S_name: "John", N_count: 123, other: "value" }) as Record<string, string | number>;
674
- expect(result2.other).toBe("value");
675
- });
676
-
677
- test("multiple overlapping patternProperties", () => {
678
- // If a key matches multiple patterns, value must satisfy all schemas
679
- const schema = fromJSONSchema({
680
- type: "object",
681
- patternProperties: {
682
- "^S_": { type: "string" },
683
- "^S_N": { type: "string", minLength: 3 },
684
- },
685
- });
686
- // S_name matches ^S_ but not ^S_N
687
- expect(schema.parse({ S_name: "John" })).toEqual({ S_name: "John" });
688
- // S_N matches both patterns - must satisfy both (string with minLength 3)
689
- expect(schema.parse({ S_N: "abc" })).toEqual({ S_N: "abc" });
690
- expect(() => schema.parse({ S_N: "ab" })).toThrow(); // too short for ^S_N pattern
691
- });
692
-
693
- test("patternProperties with additionalProperties false", () => {
694
- const schema = fromJSONSchema({
695
- type: "object",
696
- patternProperties: {
697
- "^S_": { type: "string" },
698
- },
699
- additionalProperties: false,
700
- });
701
- expect(schema.parse({ S_name: "ok" })).toEqual({ S_name: "ok" });
702
- expect(() => schema.parse({ X_A: false })).toThrow();
703
- expect(() => schema.parse({ S_name: 1 })).toThrow();
704
- });
705
-
706
- test("patternProperties and properties with additionalProperties false", () => {
707
- const schema = fromJSONSchema({
708
- type: "object",
709
- properties: {
710
- name: { type: "string" },
711
- },
712
- patternProperties: {
713
- "^S_": { type: "string" },
714
- },
715
- additionalProperties: false,
716
- required: ["name"],
717
- });
718
- expect(schema.parse({ name: "ok", S_count: "1" })).toEqual({ name: "ok", S_count: "1" });
719
- expect(() => schema.parse({ name: "ok", S_count: 1 })).toThrow();
720
- expect(() => schema.parse({ name: "ok", other: "value" })).toThrow();
721
- });
722
-
723
- test("multiple patternProperties with additionalProperties false", () => {
724
- const schema = fromJSONSchema({
725
- type: "object",
726
- patternProperties: {
727
- "^S_": { type: "string" },
728
- "^N_": { type: "number" },
729
- },
730
- additionalProperties: false,
731
- });
732
- expect(schema.parse({ S_a: "a", N_b: 1 })).toEqual({ S_a: "a", N_b: 1 });
733
- expect(() => schema.parse({ S_a: "a", N_b: 1, other: "value" })).toThrow();
734
- });
735
-
736
- test("default value", () => {
737
- const schema = fromJSONSchema({
738
- type: "string",
739
- default: "hello",
740
- });
741
- // Default is applied during parsing if value is missing/undefined. This depends on Zod's default behavior
742
- expect(schema.parse("world")).toBe("world");
743
- });
744
-
745
- test("description metadata", () => {
746
- const schema = fromJSONSchema({
747
- type: "string",
748
- description: "A string value",
749
- });
750
- expect(schema.parse("hello")).toBe("hello");
751
- });
752
-
753
- test("version detection - draft-2020-12", () => {
754
- const schema = fromJSONSchema({
755
- $schema: "https://json-schema.org/draft/2020-12/schema",
756
- type: "array",
757
- prefixItems: [{ type: "string" }],
758
- });
759
- expect(schema.parse(["hello"])).toEqual(["hello"]);
760
- });
761
-
762
- test("version detection - draft-7", () => {
763
- const schema = fromJSONSchema({
764
- $schema: "http://json-schema.org/draft-07/schema#",
765
- type: "array",
766
- items: [{ type: "string" }],
767
- });
768
- expect(schema.parse(["hello"])).toEqual(["hello"]);
769
- });
770
-
771
- test("version detection - draft-4", () => {
772
- const schema = fromJSONSchema({
773
- $schema: "http://json-schema.org/draft-04/schema#",
774
- type: "array",
775
- items: [{ type: "string" }],
776
- });
777
- expect(schema.parse(["hello"])).toEqual(["hello"]);
778
- });
779
-
780
- test("default version (draft-2020-12)", () => {
781
- const schema = fromJSONSchema({
782
- type: "array",
783
- prefixItems: [{ type: "string" }],
784
- });
785
- expect(schema.parse(["hello"])).toEqual(["hello"]);
786
- });
787
-
788
- test("string format - email", () => {
789
- const schema = fromJSONSchema({
790
- type: "string",
791
- format: "email",
792
- });
793
- expect(schema.parse("test@example.com")).toBe("test@example.com");
794
- });
795
-
796
- test("string format - uuid", () => {
797
- const schema = fromJSONSchema({
798
- type: "string",
799
- format: "uuid",
800
- });
801
- const uuid = "550e8400-e29b-41d4-a716-446655440000";
802
- expect(schema.parse(uuid)).toBe(uuid);
803
- });
804
-
805
- test("string format - date-time", () => {
806
- const schema = fromJSONSchema({
807
- type: "string",
808
- format: "date-time",
809
- });
810
- expect(schema.safeParse("2026-07-29T14:30:00Z").success).toBe(true);
811
- expect(schema.safeParse("2026-07-29T16:30:00+02:00").success).toBe(true);
812
- expect(schema.safeParse("2026-07-29T14:30:00").success).toBe(false);
813
- expect(schema.safeParse("2026-07-29T16:30:00+0200").success).toBe(false);
814
-
815
- const zuluOnly = fromJSONSchema({
816
- type: "string",
817
- format: "date-time",
818
- pattern: "Z$",
819
- });
820
- expect(zuluOnly.safeParse("2026-07-29T14:30:00Z").success).toBe(true);
821
- expect(zuluOnly.safeParse("2026-07-29T16:30:00+02:00").success).toBe(false);
822
- expect(zuluOnly.safeParse("garbageZ").success).toBe(false);
823
-
824
- const roundTripped = fromJSONSchema(z.toJSONSchema(z.iso.datetime({ offset: true })));
825
- expect(roundTripped.safeParse("2026-07-29T16:30:00+02:00").success).toBe(true);
826
- });
827
-
828
- test("string format - time", () => {
829
- const schema = fromJSONSchema({
830
- type: "string",
831
- format: "time",
832
- });
833
- // full-time, so seconds and an offset are both required
834
- expect(schema.safeParse("14:30:00Z").success).toBe(true);
835
- expect(schema.safeParse("16:30:00+02:00").success).toBe(true);
836
- expect(schema.safeParse("16:30:00.123-05:30").success).toBe(true);
837
- expect(schema.safeParse("14:30:00").success).toBe(false);
838
- expect(schema.safeParse("14:30Z").success).toBe(false);
839
- expect(schema.safeParse("16:30:00+0200").success).toBe(false);
840
- expect(schema.safeParse("16:30:00+24:00").success).toBe(false);
841
- });
842
-
843
- test("string format - hostname", () => {
844
- const schema = fromJSONSchema({
845
- type: "string",
846
- format: "hostname",
847
- });
848
- expect(schema.parse("example.com")).toBe("example.com");
849
- expect(() => schema.parse("not a hostname!")).toThrow();
850
- });
851
-
852
- test("exclusiveMinimum and exclusiveMaximum", () => {
853
- const schema = fromJSONSchema({
854
- type: "number",
855
- exclusiveMinimum: 0,
856
- exclusiveMaximum: 100,
857
- });
858
- expect(schema.parse(50)).toBe(50);
859
- expect(() => schema.parse(0)).toThrow();
860
- expect(() => schema.parse(100)).toThrow();
861
- });
862
-
863
- test("boolean schema (true/false)", () => {
864
- const trueSchema = fromJSONSchema(true);
865
- expect(trueSchema.parse("anything")).toBe("anything");
866
-
867
- const falseSchema = fromJSONSchema(false);
868
- expect(() => falseSchema.parse("anything")).toThrow();
869
- });
870
-
871
- test("empty object schema", () => {
872
- const schema = fromJSONSchema({
873
- type: "object",
874
- });
875
- expect(schema.parse({})).toEqual({});
876
- expect(schema.parse({ extra: "field" })).toEqual({ extra: "field" });
877
- });
878
-
879
- test("array without items", () => {
880
- const schema = fromJSONSchema({
881
- type: "array",
882
- });
883
- expect(schema.parse([1, "string", true])).toEqual([1, "string", true]);
884
- });
885
-
886
- test("mixed enum types", () => {
887
- const schema = fromJSONSchema({
888
- enum: ["string", 42, true, null],
889
- });
890
- expect(schema.parse("string")).toBe("string");
891
- expect(schema.parse(42)).toBe(42);
892
- expect(schema.parse(true)).toBe(true);
893
- expect(schema.parse(null)).toBe(null);
894
- });
895
-
896
- test("nullable in OpenAPI 3.0", () => {
897
- // General nullable case (not just enum: [null])
898
- const stringSchema = fromJSONSchema(
899
- {
900
- type: "string",
901
- nullable: true,
902
- },
903
- { defaultTarget: "openapi-3.0" }
904
- );
905
- expect(stringSchema.parse("hello")).toBe("hello");
906
- expect(stringSchema.parse(null)).toBe(null);
907
- expect(() => stringSchema.parse(123)).toThrow();
908
-
909
- const numberSchema = fromJSONSchema(
910
- {
911
- type: "number",
912
- nullable: true,
913
- },
914
- { defaultTarget: "openapi-3.0" }
915
- );
916
- expect(numberSchema.parse(42)).toBe(42);
917
- expect(numberSchema.parse(null)).toBe(null);
918
- expect(() => numberSchema.parse("string")).toThrow();
919
-
920
- const objectSchema = fromJSONSchema(
921
- {
922
- type: "object",
923
- properties: { name: { type: "string" } },
924
- nullable: true,
925
- },
926
- { defaultTarget: "openapi-3.0" }
927
- );
928
- expect(objectSchema.parse({ name: "John" })).toEqual({ name: "John" });
929
- expect(objectSchema.parse(null)).toBe(null);
930
- });
931
-
932
- // Metadata extraction tests
933
-
934
- test("unrecognized keys stored in globalRegistry by default", () => {
935
- const schema = fromJSONSchema({
936
- type: "string",
937
- title: "My String",
938
- deprecated: true,
939
- examples: ["hello", "world"],
940
- "x-custom": "custom value",
941
- });
942
-
943
- const meta = z.globalRegistry.get(schema);
944
- expect(meta).toBeDefined();
945
- expect(meta?.title).toBe("My String");
946
- expect(meta?.deprecated).toBe(true);
947
- expect(meta?.examples).toEqual(["hello", "world"]);
948
- expect((meta as any)?.["x-custom"]).toBe("custom value");
949
-
950
- // Clean up
951
- z.globalRegistry.remove(schema);
952
- });
953
-
954
- test("unrecognized keys stored in custom registry", () => {
955
- const customRegistry = z.registry<{ title?: string; deprecated?: boolean }>();
956
-
957
- const schema = fromJSONSchema(
958
- {
959
- type: "number",
960
- title: "Age",
961
- deprecated: true,
962
- },
963
- { registry: customRegistry }
964
- );
965
-
966
- // Should be in custom registry
967
- const meta = customRegistry.get(schema);
968
- expect(meta).toBeDefined();
969
- expect(meta?.title).toBe("Age");
970
- expect(meta?.deprecated).toBe(true);
971
-
972
- // Should NOT be in globalRegistry
973
- expect(z.globalRegistry.get(schema)).toBeUndefined();
974
- });
975
-
976
- test("$id and id are captured as metadata", () => {
977
- const customRegistry = z.registry<{ $id?: string; id?: string }>();
978
-
979
- const schema1 = fromJSONSchema(
980
- {
981
- $id: "https://example.com/schemas/user",
982
- type: "object",
983
- },
984
- { registry: customRegistry }
985
- );
986
- expect(customRegistry.get(schema1)?.$id).toBe("https://example.com/schemas/user");
987
-
988
- const schema2 = fromJSONSchema(
989
- {
990
- id: "legacy-id",
991
- type: "string",
992
- },
993
- { registry: customRegistry }
994
- );
995
- expect(customRegistry.get(schema2)?.id).toBe("legacy-id");
996
- });
997
-
998
- test("x-* extension keys are captured as metadata", () => {
999
- const customRegistry = z.registry<Record<string, unknown>>();
1000
-
1001
- const schema = fromJSONSchema(
1002
- {
1003
- type: "string",
1004
- "x-openapi-example": "example value",
1005
- "x-internal": true,
1006
- "x-tags": ["api", "public"],
1007
- },
1008
- { registry: customRegistry }
1009
- );
1010
-
1011
- const meta = customRegistry.get(schema);
1012
- expect(meta?.["x-openapi-example"]).toBe("example value");
1013
- expect(meta?.["x-internal"]).toBe(true);
1014
- expect(meta?.["x-tags"]).toEqual(["api", "public"]);
1015
- });
1016
-
1017
- test("metadata on nested schemas", () => {
1018
- const customRegistry = z.registry<Record<string, unknown>>();
1019
-
1020
- const parentSchema = fromJSONSchema(
1021
- {
1022
- type: "object",
1023
- title: "User",
1024
- properties: {
1025
- name: {
1026
- type: "string",
1027
- title: "Name",
1028
- "x-field-order": 1,
1029
- },
1030
- age: {
1031
- type: "number",
1032
- title: "Age",
1033
- deprecated: true,
1034
- },
1035
- },
1036
- },
1037
- { registry: customRegistry }
1038
- );
1039
-
1040
- // Verify parent schema has its metadata
1041
- expect(customRegistry.get(parentSchema)?.title).toBe("User");
1042
-
1043
- // We can't easily access nested schemas directly, but we can verify the registry is being used correctly by checking a separate schema
1044
- const simpleSchema = fromJSONSchema(
1045
- {
1046
- type: "string",
1047
- title: "Simple",
1048
- },
1049
- { registry: customRegistry }
1050
- );
1051
- expect(customRegistry.get(simpleSchema)?.title).toBe("Simple");
1052
- });
1053
-
1054
- test("no metadata added when no unrecognized keys", () => {
1055
- const customRegistry = z.registry<Record<string, unknown>>();
1056
-
1057
- const schema = fromJSONSchema(
1058
- {
1059
- type: "string",
1060
- minLength: 1,
1061
- maxLength: 100,
1062
- description: "A regular string",
1063
- },
1064
- { registry: customRegistry }
1065
- );
1066
-
1067
- // description is handled via .describe(), so it shouldn't be in metadata. All other keys are recognized, so no metadata should be added
1068
- expect(customRegistry.get(schema)).toBeUndefined();
1069
- });
1070
-
1071
- test("writeOnly and examples are captured as metadata", () => {
1072
- const customRegistry = z.registry<{ writeOnly?: boolean; examples?: unknown[] }>();
1073
-
1074
- const schema = fromJSONSchema(
1075
- {
1076
- type: "string",
1077
- writeOnly: true,
1078
- examples: ["password123", "secret"],
1079
- },
1080
- { registry: customRegistry }
1081
- );
1082
-
1083
- const meta = customRegistry.get(schema);
1084
- expect(meta?.writeOnly).toBe(true);
1085
- expect(meta?.examples).toEqual(["password123", "secret"]);
1086
- });
1087
-
1088
- test("$comment and $anchor are captured as metadata", () => {
1089
- const customRegistry = z.registry<{ $comment?: string; $anchor?: string }>();
1090
-
1091
- const schema = fromJSONSchema(
1092
- {
1093
- type: "string",
1094
- $comment: "This is a developer note",
1095
- $anchor: "my-anchor",
1096
- },
1097
- { registry: customRegistry }
1098
- );
1099
-
1100
- const meta = customRegistry.get(schema);
1101
- expect(meta?.$comment).toBe("This is a developer note");
1102
- expect(meta?.$anchor).toBe("my-anchor");
1103
- });
1104
-
1105
- test("contentEncoding and contentMediaType are stored as metadata", () => {
1106
- const customRegistry = z.registry<{ contentEncoding?: string; contentMediaType?: string }>();
1107
-
1108
- const schema = fromJSONSchema(
1109
- {
1110
- type: "string",
1111
- contentEncoding: "base64",
1112
- contentMediaType: "image/png",
1113
- },
1114
- { registry: customRegistry }
1115
- );
1116
-
1117
- // Should just be a string schema
1118
- expect(schema.parse("aGVsbG8gd29ybGQ=")).toBe("aGVsbG8gd29ybGQ=");
1119
-
1120
- // Content keywords should be in metadata
1121
- const meta = customRegistry.get(schema);
1122
- expect(meta?.contentEncoding).toBe("base64");
1123
- expect(meta?.contentMediaType).toBe("image/png");
1124
- });
1125
-
1126
- test("description on enum schema is applied", () => {
1127
- const schema = fromJSONSchema({
1128
- enum: ["red", "green", "blue"],
1129
- description: "A color value",
1130
- });
1131
- expect(schema.description).toBe("A color value");
1132
- expect(schema.parse("red")).toBe("red");
1133
- });
1134
-
1135
- test("description on const schema is applied", () => {
1136
- const schema = fromJSONSchema({
1137
- const: "hello",
1138
- description: "A greeting",
1139
- });
1140
- expect(schema.description).toBe("A greeting");
1141
- expect(schema.parse("hello")).toBe("hello");
1142
- });
1143
-
1144
- test("description on not: {} (never) schema is applied", () => {
1145
- const schema = fromJSONSchema({
1146
- not: {},
1147
- description: "A never schema",
1148
- });
1149
- expect(schema.description).toBe("A never schema");
1150
- expect(() => schema.parse("anything")).toThrow();
1151
- });
1152
-
1153
- test("default on enum schema is applied", () => {
1154
- const schema = fromJSONSchema({
1155
- enum: ["red", "green", "blue"],
1156
- default: "red",
1157
- });
1158
- expect(schema.parse(undefined)).toBe("red");
1159
- });
1160
-
1161
- test("default on const schema is applied", () => {
1162
- const schema = fromJSONSchema({
1163
- const: "hello",
1164
- default: "hello",
1165
- });
1166
- expect(schema.parse(undefined)).toBe("hello");
1167
- });
1168
-
1169
- test("description and default on enum schema are both applied", () => {
1170
- const schema = fromJSONSchema({
1171
- enum: ["red", "green", "blue"],
1172
- description: "A color value",
1173
- default: "red",
1174
- });
1175
- expect(schema.description).toBe("A color value");
1176
- expect(schema.parse(undefined)).toBe("red");
1177
- expect(schema.parse("green")).toBe("green");
1178
- });
1179
-
1180
- test("description on type-array schema is applied", () => {
1181
- const schema = fromJSONSchema({
1182
- type: ["string", "number"],
1183
- description: "A string or number",
1184
- } as any);
1185
- expect(schema.description).toBe("A string or number");
1186
- expect(schema.parse("hello")).toBe("hello");
1187
- expect(schema.parse(42)).toBe(42);
1188
- });
1189
-
1190
- test("default on type-array schema is applied", () => {
1191
- const schema = fromJSONSchema({
1192
- type: ["string", "number"],
1193
- default: "fallback",
1194
- } as any);
1195
- expect(schema.parse(undefined)).toBe("fallback");
1196
- expect(schema.parse("hello")).toBe("hello");
1197
- expect(schema.parse(42)).toBe(42);
1198
- });
1199
-
1200
- test("description on schema with anyOf is applied to the outer schema", () => {
1201
- const schema = fromJSONSchema({
1202
- description: "Either a string or a number",
1203
- anyOf: [{ type: "string" }, { type: "number" }],
1204
- });
1205
- expect(schema.description).toBe("Either a string or a number");
1206
- expect(schema.parse("hello")).toBe("hello");
1207
- expect(schema.parse(42)).toBe(42);
1208
- });
1209
-
1210
- test("default on schema with anyOf is applied to the outer schema", () => {
1211
- const schema = fromJSONSchema({
1212
- default: "fallback",
1213
- anyOf: [{ type: "string" }, { type: "number" }],
1214
- });
1215
- expect(schema.parse(undefined)).toBe("fallback");
1216
- expect(schema.parse(42)).toBe(42);
1217
- });
1218
-
1219
- test("description and unrecognized metadata coexist on the same schema", () => {
1220
- const customRegistry = z.registry<{ "x-custom"?: string; description?: string }>();
1221
- const schema = fromJSONSchema(
1222
- {
1223
- type: "string",
1224
- description: "A custom string",
1225
- "x-custom": "value",
1226
- },
1227
- { registry: customRegistry }
1228
- );
1229
- expect(schema.description).toBe("A custom string");
1230
- expect(customRegistry.get(schema)?.["x-custom"]).toBe("value");
1231
- });
1232
-
1233
- test("circular input throws a clear error", () => {
1234
- const person: any = {
1235
- type: "object",
1236
- properties: { name: { type: "string" } },
1237
- required: ["name"],
1238
- };
1239
- person.properties.bestFriend = person;
1240
- expect(() => fromJSONSchema(person)).toThrow(/not valid JSON/);
1241
- });
1242
-
1243
- test("getter-based input that synthesizes a cycle throws", () => {
1244
- const root: any = { type: "object", properties: { name: { type: "string" } } };
1245
- Object.defineProperty(root.properties, "self", {
1246
- enumerable: true,
1247
- get() {
1248
- return root;
1249
- },
1250
- });
1251
- expect(() => fromJSONSchema(root)).toThrow(/not valid JSON/);
1252
- });
1253
-
1254
- test("BigInt in input throws", () => {
1255
- const input: any = { type: "integer", minimum: 1n };
1256
- expect(() => fromJSONSchema(input)).toThrow(/not valid JSON/);
1257
- });
1258
-
1259
- test("class-instance input is normalized to a plain object", () => {
1260
- class StringSchema {
1261
- type = "string" as const;
1262
- minLength = 2;
1263
- }
1264
- const schema = fromJSONSchema(new StringSchema() as any);
1265
- expect(schema.parse("hi")).toBe("hi");
1266
- expect(() => schema.parse("h")).toThrow();
1267
- });
1268
-
1269
- test("getter-based properties are materialized", () => {
1270
- const input: any = { type: "object", properties: {}, required: [] };
1271
- Object.defineProperty(input.properties, "name", {
1272
- enumerable: true,
1273
- get() {
1274
- return { type: "string" };
1275
- },
1276
- });
1277
- const schema = fromJSONSchema(input);
1278
- expect(schema.parse({ name: "Alice" })).toEqual({ name: "Alice" });
1279
- });
1280
-
1281
- test("Date default is coerced to its JSON string form", () => {
1282
- const date = new Date("2026-01-02T03:04:05.000Z");
1283
- const schema = fromJSONSchema({ type: "string", default: date as any });
1284
- expect(schema.parse(undefined)).toBe(date.toISOString());
1285
- });
1286
-
1287
- // An object literal can't express an own "__proto__" key — `{ __proto__: x }` sets the literal's prototype instead. JSON.parse is both the realistic source of a JSON Schema and the only way to write these cases.
1288
- test("required __proto__ property is represented in the shape but stripped during parsing", () => {
1289
- const schema = fromJSONSchema(
1290
- JSON.parse(`{
1291
- "type": "object",
1292
- "properties": { "__proto__": { "type": "string", "const": "admin" }, "role": { "type": "string" } },
1293
- "required": ["__proto__", "role"]
1294
- }`)
1295
- );
1296
-
1297
- expect(Object.prototype.hasOwnProperty.call((schema as z.ZodObject).shape, "__proto__")).toBe(true);
1298
- expect(schema.parse({ role: "x" })).toEqual({ role: "x" });
1299
- expect(schema.parse(JSON.parse(`{ "role": "x", "__proto__": "wrong" }`))).toEqual({ role: "x" });
1300
- expect(schema.parse(JSON.parse(`{ "role": "x", "__proto__": "admin" }`))).toEqual({ role: "x" });
1301
- });
1302
-
1303
- test("__proto__ annotation key reaches the registry", () => {
1304
- const registry = z.registry<Record<string, unknown>>();
1305
- const schema = fromJSONSchema(JSON.parse(`{ "type": "string", "__proto__": { "custom": 1 } }`), { registry });
1306
-
1307
- const meta = registry.get(schema)!;
1308
- expect(Object.prototype.hasOwnProperty.call(meta, "__proto__")).toBe(true);
1309
- expect(meta.__proto__).toEqual({ custom: 1 });
1310
- });
1311
-
1312
- test("minProperties and maxProperties count the raw input", () => {
1313
- const schema = fromJSONSchema({
1314
- type: "object",
1315
- properties: { a: { type: "string" } },
1316
- minProperties: 1,
1317
- maxProperties: 2,
1318
- });
1319
- expect(schema.safeParse({ a: "x" }).success).toBe(true);
1320
- expect(schema.safeParse({}).error!.issues[0]).toMatchObject({ code: "too_small", origin: "object", minimum: 1 });
1321
- expect(schema.safeParse({ a: "x", b: 1, c: 2 }).error!.issues[0]).toMatchObject({
1322
- code: "too_big",
1323
- origin: "object",
1324
- maximum: 2,
1325
- });
1326
- // raw input: a defaulted property does not satisfy the minimum, and a dropped __proto__ still counts
1327
- const defaulted = fromJSONSchema({
1328
- type: "object",
1329
- properties: { a: { type: "string", default: "x" } },
1330
- minProperties: 1,
1331
- });
1332
- expect(defaulted.safeParse({}).success).toBe(false);
1333
- const capped = fromJSONSchema({ type: "object", maxProperties: 1 });
1334
- expect(capped.safeParse(JSON.parse('{"__proto__":1,"a":1}')).success).toBe(false);
1335
- expect(z.toJSONSchema(schema)).toMatchObject({ minProperties: 1, maxProperties: 2 });
1336
- });
1337
-
1338
- test("minProperties composes with propertyNames in one guard", () => {
1339
- const schema = fromJSONSchema({ type: "object", propertyNames: { pattern: "^a" }, minProperties: 1 });
1340
- expect(schema.safeParse({}).error!.issues[0]!.code).toBe("too_small");
1341
- expect(schema.safeParse({ b: 1 }).error!.issues[0]!.code).toBe("invalid_key");
1342
- expect(schema.safeParse({ a: 1 }).success).toBe(true);
1343
- });
1344
-
1345
- test("uniqueItems rejects structural duplicates", () => {
1346
- const schema = fromJSONSchema({ type: "array", uniqueItems: true });
1347
- expect(
1348
- schema.safeParse([
1349
- { a: 1, b: 2 },
1350
- { b: 2, a: 1 },
1351
- ]).error!.issues[0]
1352
- ).toMatchObject({
1353
- code: "custom",
1354
- path: [1],
1355
- });
1356
- expect(schema.safeParse([1, "1", true, 1]).success).toBe(false);
1357
- expect(schema.safeParse([{ a: 1 }, { a: 2 }, [1], [2]]).success).toBe(true);
1358
- expect(z.toJSONSchema(schema)).toMatchObject({ uniqueItems: true });
1359
- });
1360
-
1361
- test("contains with minContains and maxContains", () => {
1362
- const schema = fromJSONSchema({ type: "array", contains: { type: "integer" } });
1363
- expect(schema.safeParse(["a"]).success).toBe(false);
1364
- expect(schema.safeParse(["a", 1]).success).toBe(true);
1365
- const bounded = fromJSONSchema({ type: "array", contains: { type: "integer" }, minContains: 2, maxContains: 3 });
1366
- expect(bounded.safeParse([1, "a"]).success).toBe(false);
1367
- expect(bounded.safeParse([1, 2, "a"]).success).toBe(true);
1368
- expect(bounded.safeParse([1, 2, 3, 4]).success).toBe(false);
1369
- // minContains: 0 accepts an array with no matches at all
1370
- expect(fromJSONSchema({ type: "array", contains: { type: "integer" }, minContains: 0 }).safeParse([]).success).toBe(
1371
- true
1372
- );
1373
- expect(z.toJSONSchema(bounded)).toMatchObject({ contains: { type: "integer" }, minContains: 2, maxContains: 3 });
1374
- });
1375
-
1376
- test("uniqueItems and contains see the raw instance, not the parsed output", () => {
1377
- const items = { type: "object", properties: { a: { type: "string", default: "x" } } } as const;
1378
- // no instance item carries `a`; the default must not synthesize the match
1379
- const contains = fromJSONSchema({
1380
- type: "array",
1381
- items,
1382
- contains: { type: "object", properties: { a: { const: "x" } }, required: ["a"] },
1383
- });
1384
- expect(contains.safeParse([{}]).success).toBe(false);
1385
- expect(contains.safeParse([{ a: "x" }]).success).toBe(true);
1386
- // the instance items differ; the default must not collapse them into duplicates
1387
- const unique = fromJSONSchema({ type: "array", items, uniqueItems: true });
1388
- expect(unique.safeParse([{ a: "x" }, {}]).success).toBe(true);
1389
- expect(unique.safeParse([{}, {}]).error!.issues[0]).toMatchObject({ code: "custom", path: [1] });
1390
- });
1391
-
1392
- test("a guard keyword takes precedence over the length keywords", () => {
1393
- const schema = fromJSONSchema({ type: "array", items: { type: "integer" }, minItems: 3, uniqueItems: true });
1394
- // the guard runs on the input side of the pipe, so its issue aborts before minItems is reached
1395
- expect(schema.safeParse([1, 1]).error!.issues.map((i) => i.code)).toEqual(["custom"]);
1396
- expect(schema.safeParse([1, 2]).error!.issues.map((i) => i.code)).toEqual(["too_small"]);
1397
- });
1398
-
1399
- test("a guard keyword drops default and examples from the input-mode document", () => {
1400
- // the guard is a transform on the pipe's input side, and toJSONSchema strips annotations from a transforming schema in input mode
1401
- const schema = fromJSONSchema({ type: "array", uniqueItems: true, default: [], examples: [[1]] });
1402
- expect(z.toJSONSchema(schema, { io: "input" })).not.toHaveProperty("default");
1403
- expect(z.toJSONSchema(schema, { io: "output" })).toMatchObject({ default: [], examples: [[1]] });
1404
- // without a guard keyword both modes carry them
1405
- const plain = fromJSONSchema({ type: "array", default: [], examples: [[1]] });
1406
- expect(z.toJSONSchema(plain, { io: "input" })).toMatchObject({ default: [], examples: [[1]] });
1407
- });
1408
-
1409
- test("uniqueItems equality follows JSON semantics", () => {
1410
- const schema = fromJSONSchema({ type: "array", uniqueItems: true });
1411
- expect(schema.safeParse([1, "1", true, null]).success).toBe(true);
1412
- expect(schema.safeParse([{ a: undefined }, {}]).success).toBe(true);
1413
- expect(
1414
- schema.safeParse([
1415
- [1, [2]],
1416
- [1, [2]],
1417
- ]).success
1418
- ).toBe(false);
1419
- expect(schema.safeParse([{ a: "b=c" }, { "a=b": "c" }]).success).toBe(true);
1420
- // every duplicate is reported against the first element it matches
1421
- expect(schema.safeParse([1, 1, 1]).error!.issues.map((i) => i.path[0])).toEqual([1, 2]);
1422
- // a cycle cannot be compared, so it is never called a duplicate rather than hanging
1423
- const cyclic: any = {};
1424
- cyclic.self = cyclic;
1425
- expect(schema.safeParse([cyclic, cyclic]).success).toBe(true);
1426
- });
1427
-
1428
- test("a carried subschema that references $defs is dropped rather than emitted dangling", () => {
1429
- const schema = fromJSONSchema({
1430
- type: "array",
1431
- contains: { $ref: "#/$defs/Hit" },
1432
- $defs: { Hit: { type: "object", properties: { id: { type: "string" } }, required: ["id"] } },
1433
- });
1434
- // enforcement is unaffected; only the round trip gives the keyword up
1435
- expect(schema.safeParse([{ id: "a" }]).success).toBe(true);
1436
- expect(schema.safeParse([{}]).success).toBe(false);
1437
- expect(JSON.stringify(z.toJSONSchema(schema))).not.toContain("$ref");
1438
- expect(z.toJSONSchema(schema)).not.toHaveProperty("contains");
1439
- // an inline subschema is self-contained, so it still round-trips
1440
- const inline = fromJSONSchema({ type: "array", contains: { type: "integer" } });
1441
- expect(z.toJSONSchema(inline)).toMatchObject({ contains: { type: "integer" } });
1442
- // only schema positions are walked, so a `$ref` key in instance data or an unknown annotation still travels
1443
- for (const annotation of [{ default: { $ref: "literal" } }, { "x-note": { $ref: "literal" } }]) {
1444
- const annotated = fromJSONSchema({ type: "array", contains: { type: "integer", ...annotation } });
1445
- expect(annotated.safeParse(["x"]).success).toBe(false);
1446
- expect(z.toJSONSchema(annotated)).toMatchObject({ contains: { type: "integer" } });
1447
- }
1448
- // draft-7 `dependencies` is a schema map; its array form names properties and holds no reference
1449
- const dependent = fromJSONSchema({
1450
- type: "array",
1451
- contains: { type: "object", dependencies: { a: { $ref: "#/definitions/Hit" } } },
1452
- definitions: { Hit: { type: "object" } },
1453
- });
1454
- expect(z.toJSONSchema(dependent)).not.toHaveProperty("contains");
1455
- const named = fromJSONSchema({
1456
- type: "array",
1457
- contains: { type: "object", dependencies: { a: ["b"] } },
1458
- });
1459
- expect(z.toJSONSchema(named)).toMatchObject({ contains: { dependencies: { a: ["b"] } } });
1460
- // a reference nested in a schema position is still caught
1461
- const nested = fromJSONSchema({
1462
- type: "array",
1463
- contains: { type: "array", items: { $ref: "#/$defs/Hit" } },
1464
- $defs: { Hit: { type: "string" } },
1465
- });
1466
- expect(z.toJSONSchema(nested)).not.toHaveProperty("contains");
1467
- });