@zuplo/cli 7.13.3 → 7.13.4

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 (858) hide show
  1. package/dist/cmds/lint.d.ts.map +1 -1
  2. package/dist/cmds/lint.js +0 -5
  3. package/dist/cmds/lint.js.map +1 -1
  4. package/dist/lint/handler.d.ts.map +1 -1
  5. package/dist/lint/handler.js +9 -0
  6. package/dist/lint/handler.js.map +1 -1
  7. package/node_modules/@simple-git/argv-parser/LICENSE +20 -0
  8. package/node_modules/@simple-git/argv-parser/dist/index.cjs +1 -1
  9. package/node_modules/@simple-git/argv-parser/dist/index.cjs.map +1 -1
  10. package/node_modules/@simple-git/argv-parser/dist/index.d.ts +2 -1
  11. package/node_modules/@simple-git/argv-parser/dist/index.d.ts.map +1 -0
  12. package/node_modules/@simple-git/argv-parser/dist/index.mjs +244 -198
  13. package/node_modules/@simple-git/argv-parser/dist/index.mjs.map +1 -1
  14. package/node_modules/@simple-git/argv-parser/dist/src/args/parse-argv.d.ts +1 -0
  15. package/node_modules/@simple-git/argv-parser/dist/src/args/parse-argv.d.ts.map +1 -0
  16. package/node_modules/@simple-git/argv-parser/dist/src/args/parse-argv.types.d.ts +1 -0
  17. package/node_modules/@simple-git/argv-parser/dist/src/args/parse-argv.types.d.ts.map +1 -0
  18. package/node_modules/@simple-git/argv-parser/dist/src/config/analyse-config.d.ts +1 -0
  19. package/node_modules/@simple-git/argv-parser/dist/src/config/analyse-config.d.ts.map +1 -0
  20. package/node_modules/@simple-git/argv-parser/dist/src/config/config-operands.d.ts +1 -0
  21. package/node_modules/@simple-git/argv-parser/dist/src/config/config-operands.d.ts.map +1 -0
  22. package/node_modules/@simple-git/argv-parser/dist/src/config/config.types.d.ts +1 -0
  23. package/node_modules/@simple-git/argv-parser/dist/src/config/config.types.d.ts.map +1 -0
  24. package/node_modules/@simple-git/argv-parser/dist/src/config/detect-config-action.d.ts +1 -0
  25. package/node_modules/@simple-git/argv-parser/dist/src/config/detect-config-action.d.ts.map +1 -0
  26. package/node_modules/@simple-git/argv-parser/dist/src/env/parse-env.d.ts +25 -0
  27. package/node_modules/@simple-git/argv-parser/dist/src/env/parse-env.d.ts.map +1 -0
  28. package/node_modules/@simple-git/argv-parser/dist/src/flags/flags.helpers.d.ts +1 -0
  29. package/node_modules/@simple-git/argv-parser/dist/src/flags/flags.helpers.d.ts.map +1 -0
  30. package/node_modules/@simple-git/argv-parser/dist/src/flags/parse-global-flags.d.ts +1 -0
  31. package/node_modules/@simple-git/argv-parser/dist/src/flags/parse-global-flags.d.ts.map +1 -0
  32. package/node_modules/@simple-git/argv-parser/dist/src/flags/parse-task-flags.d.ts +1 -0
  33. package/node_modules/@simple-git/argv-parser/dist/src/flags/parse-task-flags.d.ts.map +1 -0
  34. package/node_modules/@simple-git/argv-parser/dist/src/tokens/flag-specs.d.ts +1 -0
  35. package/node_modules/@simple-git/argv-parser/dist/src/tokens/flag-specs.d.ts.map +1 -0
  36. package/node_modules/@simple-git/argv-parser/dist/src/tokens/token-expander.d.ts +1 -0
  37. package/node_modules/@simple-git/argv-parser/dist/src/tokens/token-expander.d.ts.map +1 -0
  38. package/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/detect-vulnerable-config-writes.d.ts +1 -0
  39. package/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/detect-vulnerable-config-writes.d.ts.map +1 -0
  40. package/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/detect-vulnerable-flags.d.ts +1 -0
  41. package/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/detect-vulnerable-flags.d.ts.map +1 -0
  42. package/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/vulnerability-analysis.d.ts +1 -0
  43. package/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/vulnerability-analysis.d.ts.map +1 -0
  44. package/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/vulnerability-check.d.ts +1 -0
  45. package/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/vulnerability-check.d.ts.map +1 -0
  46. package/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/vulnerability.types.d.ts +29 -0
  47. package/node_modules/@simple-git/argv-parser/dist/src/vulnerabilities/vulnerability.types.d.ts.map +1 -0
  48. package/node_modules/@simple-git/argv-parser/package.json +2 -2
  49. package/node_modules/@zuplo/core/customer.cli.minified.js +344 -344
  50. package/node_modules/@zuplo/core/index.minified.js +359 -359
  51. package/node_modules/@zuplo/core/package.json +1 -1
  52. package/node_modules/@zuplo/graphql/package.json +1 -1
  53. package/node_modules/@zuplo/openapi-tools/package.json +2 -2
  54. package/node_modules/@zuplo/otel/package.json +1 -1
  55. package/node_modules/@zuplo/runtime/out/esm/{chunk-DVFQRFED.js → chunk-NWYAKCSU.js} +81 -81
  56. package/node_modules/@zuplo/runtime/out/esm/chunk-NWYAKCSU.js.map +1 -0
  57. package/node_modules/@zuplo/runtime/out/esm/chunk-PXS4NOKU.js +102 -0
  58. package/node_modules/@zuplo/runtime/out/esm/chunk-PXS4NOKU.js.map +1 -0
  59. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  60. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
  61. package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
  62. package/node_modules/@zuplo/runtime/out/esm/sdks/aws/index.js +1 -1
  63. package/node_modules/@zuplo/runtime/package.json +2 -2
  64. package/node_modules/simple-git/LICENSE +20 -0
  65. package/node_modules/simple-git/dist/index.cjs +6 -0
  66. package/node_modules/simple-git/dist/index.cjs.map +1 -0
  67. package/node_modules/simple-git/dist/index.d.ts +5 -0
  68. package/node_modules/simple-git/dist/index.d.ts.map +1 -0
  69. package/node_modules/simple-git/dist/index.mjs +2895 -0
  70. package/node_modules/simple-git/dist/index.mjs.map +1 -0
  71. package/node_modules/simple-git/dist/src/lib/api.d.ts +13 -13
  72. package/node_modules/simple-git/dist/src/lib/api.d.ts.map +1 -0
  73. package/node_modules/simple-git/dist/src/lib/args/log-format.d.ts +1 -0
  74. package/node_modules/simple-git/dist/src/lib/args/log-format.d.ts.map +1 -0
  75. package/node_modules/simple-git/dist/src/lib/errors/git-configuration-error.d.ts +25 -0
  76. package/node_modules/simple-git/dist/src/lib/errors/git-configuration-error.d.ts.map +1 -0
  77. package/node_modules/simple-git/dist/src/lib/errors/git-construct-error.d.ts +2 -1
  78. package/node_modules/simple-git/dist/src/lib/errors/git-construct-error.d.ts.map +1 -0
  79. package/node_modules/simple-git/dist/src/lib/errors/git-error.d.ts +3 -2
  80. package/node_modules/simple-git/dist/src/lib/errors/git-error.d.ts.map +1 -0
  81. package/node_modules/simple-git/dist/src/lib/errors/git-plugin-error.d.ts +2 -1
  82. package/node_modules/simple-git/dist/src/lib/errors/git-plugin-error.d.ts.map +1 -0
  83. package/node_modules/simple-git/dist/src/lib/errors/git-response-error.d.ts +3 -2
  84. package/node_modules/simple-git/dist/src/lib/errors/git-response-error.d.ts.map +1 -0
  85. package/node_modules/simple-git/dist/src/lib/errors/task-configuration-error.d.ts +1 -0
  86. package/node_modules/simple-git/dist/src/lib/errors/task-configuration-error.d.ts.map +1 -0
  87. package/node_modules/simple-git/dist/src/lib/git-factory.d.ts +3 -15
  88. package/node_modules/simple-git/dist/src/lib/git-factory.d.ts.map +1 -0
  89. package/node_modules/simple-git/dist/src/lib/git-logger.d.ts +2 -1
  90. package/node_modules/simple-git/dist/src/lib/git-logger.d.ts.map +1 -0
  91. package/node_modules/simple-git/dist/src/lib/parsers/parse-branch-delete.d.ts +3 -2
  92. package/node_modules/simple-git/dist/src/lib/parsers/parse-branch-delete.d.ts.map +1 -0
  93. package/node_modules/simple-git/dist/src/lib/parsers/parse-branch.d.ts +2 -1
  94. package/node_modules/simple-git/dist/src/lib/parsers/parse-branch.d.ts.map +1 -0
  95. package/node_modules/simple-git/dist/src/lib/{responses/CleanSummary.d.ts → parsers/parse-clean.d.ts} +5 -4
  96. package/node_modules/simple-git/dist/src/lib/parsers/parse-clean.d.ts.map +1 -0
  97. package/node_modules/simple-git/dist/src/lib/parsers/parse-commit.d.ts +2 -1
  98. package/node_modules/simple-git/dist/src/lib/parsers/parse-commit.d.ts.map +1 -0
  99. package/node_modules/simple-git/dist/src/lib/parsers/parse-diff-summary.d.ts +1 -0
  100. package/node_modules/simple-git/dist/src/lib/parsers/parse-diff-summary.d.ts.map +1 -0
  101. package/node_modules/simple-git/dist/src/lib/parsers/parse-fetch.d.ts +2 -1
  102. package/node_modules/simple-git/dist/src/lib/parsers/parse-fetch.d.ts.map +1 -0
  103. package/node_modules/simple-git/dist/src/lib/parsers/parse-list-log-summary.d.ts +2 -1
  104. package/node_modules/simple-git/dist/src/lib/parsers/parse-list-log-summary.d.ts.map +1 -0
  105. package/node_modules/simple-git/dist/src/lib/parsers/parse-merge.d.ts +3 -2
  106. package/node_modules/simple-git/dist/src/lib/parsers/parse-merge.d.ts.map +1 -0
  107. package/node_modules/simple-git/dist/src/lib/parsers/parse-move.d.ts +2 -1
  108. package/node_modules/simple-git/dist/src/lib/parsers/parse-move.d.ts.map +1 -0
  109. package/node_modules/simple-git/dist/src/lib/parsers/parse-pull.d.ts +3 -2
  110. package/node_modules/simple-git/dist/src/lib/parsers/parse-pull.d.ts.map +1 -0
  111. package/node_modules/simple-git/dist/src/lib/parsers/parse-push.d.ts +3 -2
  112. package/node_modules/simple-git/dist/src/lib/parsers/parse-push.d.ts.map +1 -0
  113. package/node_modules/simple-git/dist/src/lib/parsers/parse-remote-messages.d.ts +2 -1
  114. package/node_modules/simple-git/dist/src/lib/parsers/parse-remote-messages.d.ts.map +1 -0
  115. package/node_modules/simple-git/dist/src/lib/parsers/parse-remote-objects.d.ts +2 -1
  116. package/node_modules/simple-git/dist/src/lib/parsers/parse-remote-objects.d.ts.map +1 -0
  117. package/node_modules/simple-git/dist/src/lib/plugins/abort-plugin.d.ts +3 -2
  118. package/node_modules/simple-git/dist/src/lib/plugins/abort-plugin.d.ts.map +1 -0
  119. package/node_modules/simple-git/dist/src/lib/plugins/allow-environment.plugin.d.ts +3 -0
  120. package/node_modules/simple-git/dist/src/lib/plugins/allow-environment.plugin.d.ts.map +1 -0
  121. package/node_modules/simple-git/dist/src/lib/plugins/block-unsafe-operations-plugin.d.ts +1 -0
  122. package/node_modules/simple-git/dist/src/lib/plugins/block-unsafe-operations-plugin.d.ts.map +1 -0
  123. package/node_modules/simple-git/dist/src/lib/plugins/command-config-prefixing-plugin.d.ts +2 -1
  124. package/node_modules/simple-git/dist/src/lib/plugins/command-config-prefixing-plugin.d.ts.map +1 -0
  125. package/node_modules/simple-git/dist/src/lib/plugins/completion-detection.plugin.d.ts +3 -2
  126. package/node_modules/simple-git/dist/src/lib/plugins/completion-detection.plugin.d.ts.map +1 -0
  127. package/node_modules/simple-git/dist/src/lib/plugins/custom-binary.plugin.d.ts +2 -1
  128. package/node_modules/simple-git/dist/src/lib/plugins/custom-binary.plugin.d.ts.map +1 -0
  129. package/node_modules/simple-git/dist/src/lib/plugins/error-detection.plugin.d.ts +3 -2
  130. package/node_modules/simple-git/dist/src/lib/plugins/error-detection.plugin.d.ts.map +1 -0
  131. package/node_modules/simple-git/dist/src/lib/plugins/index.d.ts +5 -1
  132. package/node_modules/simple-git/dist/src/lib/plugins/index.d.ts.map +1 -0
  133. package/node_modules/simple-git/dist/src/lib/plugins/input.plugin.d.ts +4 -0
  134. package/node_modules/simple-git/dist/src/lib/plugins/input.plugin.d.ts.map +1 -0
  135. package/node_modules/simple-git/dist/src/lib/plugins/plugin-store.d.ts +2 -1
  136. package/node_modules/simple-git/dist/src/lib/plugins/plugin-store.d.ts.map +1 -0
  137. package/node_modules/simple-git/dist/src/lib/plugins/progress-monitor-plugin.d.ts +3 -2
  138. package/node_modules/simple-git/dist/src/lib/plugins/progress-monitor-plugin.d.ts.map +1 -0
  139. package/node_modules/simple-git/dist/src/lib/plugins/simple-git-plugin.d.ts +8 -4
  140. package/node_modules/simple-git/dist/src/lib/plugins/simple-git-plugin.d.ts.map +1 -0
  141. package/node_modules/simple-git/dist/src/lib/plugins/spawn-options-plugin.d.ts +3 -2
  142. package/node_modules/simple-git/dist/src/lib/plugins/spawn-options-plugin.d.ts.map +1 -0
  143. package/node_modules/simple-git/dist/src/lib/plugins/suffix-paths.plugin.d.ts +2 -1
  144. package/node_modules/simple-git/dist/src/lib/plugins/suffix-paths.plugin.d.ts.map +1 -0
  145. package/node_modules/simple-git/dist/src/lib/plugins/{timout-plugin.d.ts → timeout-plugin.d.ts} +2 -1
  146. package/node_modules/simple-git/dist/src/lib/plugins/timeout-plugin.d.ts.map +1 -0
  147. package/node_modules/simple-git/dist/src/lib/responses/BranchDeleteSummary.d.ts +2 -1
  148. package/node_modules/simple-git/dist/src/lib/responses/BranchDeleteSummary.d.ts.map +1 -0
  149. package/node_modules/simple-git/dist/src/lib/responses/BranchSummary.d.ts +2 -1
  150. package/node_modules/simple-git/dist/src/lib/responses/BranchSummary.d.ts.map +1 -0
  151. package/node_modules/simple-git/dist/src/lib/responses/ConfigList.d.ts +2 -1
  152. package/node_modules/simple-git/dist/src/lib/responses/ConfigList.d.ts.map +1 -0
  153. package/node_modules/simple-git/dist/src/lib/responses/DiffSummary.d.ts +2 -1
  154. package/node_modules/simple-git/dist/src/lib/responses/DiffSummary.d.ts.map +1 -0
  155. package/node_modules/simple-git/dist/src/lib/responses/FileStatusSummary.d.ts +2 -1
  156. package/node_modules/simple-git/dist/src/lib/responses/FileStatusSummary.d.ts.map +1 -0
  157. package/node_modules/simple-git/dist/src/lib/responses/GetRemoteSummary.d.ts +1 -0
  158. package/node_modules/simple-git/dist/src/lib/responses/GetRemoteSummary.d.ts.map +1 -0
  159. package/node_modules/simple-git/dist/src/lib/responses/InitSummary.d.ts +2 -1
  160. package/node_modules/simple-git/dist/src/lib/responses/InitSummary.d.ts.map +1 -0
  161. package/node_modules/simple-git/dist/src/lib/responses/MergeSummary.d.ts +2 -1
  162. package/node_modules/simple-git/dist/src/lib/responses/MergeSummary.d.ts.map +1 -0
  163. package/node_modules/simple-git/dist/src/lib/responses/PullSummary.d.ts +2 -1
  164. package/node_modules/simple-git/dist/src/lib/responses/PullSummary.d.ts.map +1 -0
  165. package/node_modules/simple-git/dist/src/lib/responses/StatusSummary.d.ts +2 -1
  166. package/node_modules/simple-git/dist/src/lib/responses/StatusSummary.d.ts.map +1 -0
  167. package/node_modules/simple-git/dist/src/lib/responses/TagList.d.ts +2 -1
  168. package/node_modules/simple-git/dist/src/lib/responses/TagList.d.ts.map +1 -0
  169. package/node_modules/simple-git/dist/src/lib/runners/git-executor-chain.d.ts +5 -3
  170. package/node_modules/simple-git/dist/src/lib/runners/git-executor-chain.d.ts.map +1 -0
  171. package/node_modules/simple-git/dist/src/lib/runners/git-executor.d.ts +2 -1
  172. package/node_modules/simple-git/dist/src/lib/runners/git-executor.d.ts.map +1 -0
  173. package/node_modules/simple-git/dist/src/lib/runners/scheduler.d.ts +1 -0
  174. package/node_modules/simple-git/dist/src/lib/runners/scheduler.d.ts.map +1 -0
  175. package/node_modules/simple-git/dist/src/lib/runners/tasks-pending-queue.d.ts +3 -2
  176. package/node_modules/simple-git/dist/src/lib/runners/tasks-pending-queue.d.ts.map +1 -0
  177. package/node_modules/simple-git/dist/src/lib/simple-git-api.d.ts +3 -2
  178. package/node_modules/simple-git/dist/src/lib/simple-git-api.d.ts.map +1 -0
  179. package/node_modules/simple-git/dist/src/lib/task-callback.d.ts +2 -1
  180. package/node_modules/simple-git/dist/src/lib/task-callback.d.ts.map +1 -0
  181. package/node_modules/simple-git/dist/src/lib/tasks/apply-patch.d.ts +2 -1
  182. package/node_modules/simple-git/dist/src/lib/tasks/apply-patch.d.ts.map +1 -0
  183. package/node_modules/simple-git/dist/src/lib/tasks/branch.d.ts +3 -2
  184. package/node_modules/simple-git/dist/src/lib/tasks/branch.d.ts.map +1 -0
  185. package/node_modules/simple-git/dist/src/lib/tasks/change-working-directory.d.ts +2 -1
  186. package/node_modules/simple-git/dist/src/lib/tasks/change-working-directory.d.ts.map +1 -0
  187. package/node_modules/simple-git/dist/src/lib/tasks/check-ignore.d.ts +2 -1
  188. package/node_modules/simple-git/dist/src/lib/tasks/check-ignore.d.ts.map +1 -0
  189. package/node_modules/simple-git/dist/src/lib/tasks/check-is-repo.d.ts +2 -1
  190. package/node_modules/simple-git/dist/src/lib/tasks/check-is-repo.d.ts.map +1 -0
  191. package/node_modules/simple-git/dist/src/lib/tasks/checkout.d.ts +2 -1
  192. package/node_modules/simple-git/dist/src/lib/tasks/checkout.d.ts.map +1 -0
  193. package/node_modules/simple-git/dist/src/lib/tasks/clean.d.ts +3 -2
  194. package/node_modules/simple-git/dist/src/lib/tasks/clean.d.ts.map +1 -0
  195. package/node_modules/simple-git/dist/src/lib/tasks/clone.d.ts +4 -3
  196. package/node_modules/simple-git/dist/src/lib/tasks/clone.d.ts.map +1 -0
  197. package/node_modules/simple-git/dist/src/lib/tasks/commit.d.ts +2 -1
  198. package/node_modules/simple-git/dist/src/lib/tasks/commit.d.ts.map +1 -0
  199. package/node_modules/simple-git/dist/src/lib/tasks/config.d.ts +2 -1
  200. package/node_modules/simple-git/dist/src/lib/tasks/config.d.ts.map +1 -0
  201. package/node_modules/simple-git/dist/src/lib/tasks/count-objects.d.ts +2 -1
  202. package/node_modules/simple-git/dist/src/lib/tasks/count-objects.d.ts.map +1 -0
  203. package/node_modules/simple-git/dist/src/lib/tasks/diff-name-status.d.ts +1 -0
  204. package/node_modules/simple-git/dist/src/lib/tasks/diff-name-status.d.ts.map +1 -0
  205. package/node_modules/simple-git/dist/src/lib/tasks/diff.d.ts +4 -3
  206. package/node_modules/simple-git/dist/src/lib/tasks/diff.d.ts.map +1 -0
  207. package/node_modules/simple-git/dist/src/lib/tasks/fetch.d.ts +4 -3
  208. package/node_modules/simple-git/dist/src/lib/tasks/fetch.d.ts.map +1 -0
  209. package/node_modules/simple-git/dist/src/lib/tasks/first-commit.d.ts +2 -1
  210. package/node_modules/simple-git/dist/src/lib/tasks/first-commit.d.ts.map +1 -0
  211. package/node_modules/simple-git/dist/src/lib/tasks/grep.d.ts +2 -1
  212. package/node_modules/simple-git/dist/src/lib/tasks/grep.d.ts.map +1 -0
  213. package/node_modules/simple-git/dist/src/lib/tasks/hash-object.d.ts +2 -1
  214. package/node_modules/simple-git/dist/src/lib/tasks/hash-object.d.ts.map +1 -0
  215. package/node_modules/simple-git/dist/src/lib/tasks/init.d.ts +3 -2
  216. package/node_modules/simple-git/dist/src/lib/tasks/init.d.ts.map +1 -0
  217. package/node_modules/simple-git/dist/src/lib/tasks/interpret-trailers.d.ts +3 -0
  218. package/node_modules/simple-git/dist/src/lib/tasks/interpret-trailers.d.ts.map +1 -0
  219. package/node_modules/simple-git/dist/src/lib/tasks/log.d.ts +3 -2
  220. package/node_modules/simple-git/dist/src/lib/tasks/log.d.ts.map +1 -0
  221. package/node_modules/simple-git/dist/src/lib/tasks/merge.d.ts +4 -3
  222. package/node_modules/simple-git/dist/src/lib/tasks/merge.d.ts.map +1 -0
  223. package/node_modules/simple-git/dist/src/lib/tasks/move.d.ts +3 -2
  224. package/node_modules/simple-git/dist/src/lib/tasks/move.d.ts.map +1 -0
  225. package/node_modules/simple-git/dist/src/lib/tasks/pull.d.ts +3 -2
  226. package/node_modules/simple-git/dist/src/lib/tasks/pull.d.ts.map +1 -0
  227. package/node_modules/simple-git/dist/src/lib/tasks/push.d.ts +3 -2
  228. package/node_modules/simple-git/dist/src/lib/tasks/push.d.ts.map +1 -0
  229. package/node_modules/simple-git/dist/src/lib/tasks/remote.d.ts +1 -0
  230. package/node_modules/simple-git/dist/src/lib/tasks/remote.d.ts.map +1 -0
  231. package/node_modules/simple-git/dist/src/lib/tasks/reset.d.ts +1 -0
  232. package/node_modules/simple-git/dist/src/lib/tasks/reset.d.ts.map +1 -0
  233. package/node_modules/simple-git/dist/src/lib/tasks/show.d.ts +2 -1
  234. package/node_modules/simple-git/dist/src/lib/tasks/show.d.ts.map +1 -0
  235. package/node_modules/simple-git/dist/src/lib/tasks/stash-list.d.ts +2 -1
  236. package/node_modules/simple-git/dist/src/lib/tasks/stash-list.d.ts.map +1 -0
  237. package/node_modules/simple-git/dist/src/lib/tasks/status.d.ts +3 -2
  238. package/node_modules/simple-git/dist/src/lib/tasks/status.d.ts.map +1 -0
  239. package/node_modules/simple-git/dist/src/lib/tasks/sub-module.d.ts +2 -1
  240. package/node_modules/simple-git/dist/src/lib/tasks/sub-module.d.ts.map +1 -0
  241. package/node_modules/simple-git/dist/src/lib/tasks/tag.d.ts +3 -2
  242. package/node_modules/simple-git/dist/src/lib/tasks/tag.d.ts.map +1 -0
  243. package/node_modules/simple-git/dist/src/lib/tasks/task.d.ts +1 -0
  244. package/node_modules/simple-git/dist/src/lib/tasks/task.d.ts.map +1 -0
  245. package/node_modules/simple-git/dist/src/lib/tasks/version.d.ts +2 -1
  246. package/node_modules/simple-git/dist/src/lib/tasks/version.d.ts.map +1 -0
  247. package/node_modules/simple-git/dist/src/lib/types/handlers.d.ts +2 -1
  248. package/node_modules/simple-git/dist/src/lib/types/handlers.d.ts.map +1 -0
  249. package/node_modules/simple-git/dist/src/lib/types/index.d.ts +19 -2
  250. package/node_modules/simple-git/dist/src/lib/types/index.d.ts.map +1 -0
  251. package/node_modules/simple-git/dist/src/lib/types/tasks.d.ts +4 -2
  252. package/node_modules/simple-git/dist/src/lib/types/tasks.d.ts.map +1 -0
  253. package/node_modules/simple-git/dist/src/lib/utils/argument-filters.d.ts +2 -0
  254. package/node_modules/simple-git/dist/src/lib/utils/argument-filters.d.ts.map +1 -0
  255. package/node_modules/simple-git/dist/src/lib/utils/exit-codes.d.ts +1 -0
  256. package/node_modules/simple-git/dist/src/lib/utils/exit-codes.d.ts.map +1 -0
  257. package/node_modules/simple-git/dist/src/lib/utils/git-output-streams.d.ts +2 -1
  258. package/node_modules/simple-git/dist/src/lib/utils/git-output-streams.d.ts.map +1 -0
  259. package/node_modules/simple-git/dist/src/lib/utils/index.d.ts +1 -0
  260. package/node_modules/simple-git/dist/src/lib/utils/index.d.ts.map +1 -0
  261. package/node_modules/simple-git/dist/src/lib/utils/line-parser.d.ts +1 -0
  262. package/node_modules/simple-git/dist/src/lib/utils/line-parser.d.ts.map +1 -0
  263. package/node_modules/simple-git/dist/src/lib/utils/simple-git-options.d.ts +2 -1
  264. package/node_modules/simple-git/dist/src/lib/utils/simple-git-options.d.ts.map +1 -0
  265. package/node_modules/simple-git/dist/src/lib/utils/task-options.d.ts +2 -1
  266. package/node_modules/simple-git/dist/src/lib/utils/task-options.d.ts.map +1 -0
  267. package/node_modules/simple-git/dist/src/lib/utils/task-parser.d.ts +3 -2
  268. package/node_modules/simple-git/dist/src/lib/utils/task-parser.d.ts.map +1 -0
  269. package/node_modules/simple-git/dist/src/lib/utils/util.d.ts +2 -0
  270. package/node_modules/simple-git/dist/src/lib/utils/util.d.ts.map +1 -0
  271. package/node_modules/simple-git/dist/src/typings/index.d.ts +4 -0
  272. package/node_modules/simple-git/dist/src/typings/index.d.ts.map +1 -0
  273. package/node_modules/simple-git/dist/src/typings/response.d.ts +479 -0
  274. package/node_modules/simple-git/dist/src/typings/response.d.ts.map +1 -0
  275. package/node_modules/simple-git/dist/src/typings/simple-git.d.ts +517 -0
  276. package/node_modules/simple-git/dist/src/typings/simple-git.d.ts.map +1 -0
  277. package/node_modules/simple-git/dist/src/typings/types.d.ts +11 -0
  278. package/node_modules/simple-git/dist/src/typings/types.d.ts.map +1 -0
  279. package/node_modules/simple-git/package.json +12 -16
  280. package/node_modules/simple-git/readme.md +29 -47
  281. package/node_modules/undici/docs/docs/api/Client.md +2 -0
  282. package/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +3 -1
  283. package/node_modules/undici/docs/docs/api/Dispatcher.md +1 -0
  284. package/node_modules/undici/lib/core/connect.js +10 -4
  285. package/node_modules/undici/lib/core/request.js +23 -2
  286. package/node_modules/undici/lib/core/symbols.js +1 -0
  287. package/node_modules/undici/lib/dispatcher/agent.js +6 -2
  288. package/node_modules/undici/lib/dispatcher/balanced-pool.js +4 -2
  289. package/node_modules/undici/lib/dispatcher/client-h1.js +23 -10
  290. package/node_modules/undici/lib/dispatcher/client-h2.js +84 -23
  291. package/node_modules/undici/lib/dispatcher/client.js +9 -4
  292. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +12 -0
  293. package/node_modules/undici/lib/handler/cache-handler.js +69 -5
  294. package/node_modules/undici/lib/handler/deduplication-handler.js +57 -13
  295. package/node_modules/undici/lib/handler/redirect-handler.js +8 -1
  296. package/node_modules/undici/lib/handler/retry-handler.js +109 -23
  297. package/node_modules/undici/lib/interceptor/cache.js +20 -1
  298. package/node_modules/undici/lib/interceptor/decompress.js +348 -46
  299. package/node_modules/undici/lib/interceptor/dump.js +10 -23
  300. package/node_modules/undici/lib/web/cookies/index.js +3 -1
  301. package/node_modules/undici/lib/web/cookies/parse.js +138 -137
  302. package/node_modules/undici/lib/web/cookies/util.js +21 -2
  303. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +325 -149
  304. package/node_modules/undici/lib/web/eventsource/eventsource.js +4 -1
  305. package/node_modules/undici/lib/web/fetch/index.js +3 -3
  306. package/node_modules/undici/lib/web/infra/index.js +14 -0
  307. package/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +5 -5
  308. package/node_modules/undici/lib/web/websocket/connection.js +19 -9
  309. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
  310. package/node_modules/undici/lib/web/websocket/receiver.js +13 -0
  311. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
  312. package/node_modules/undici/package.json +1 -1
  313. package/node_modules/undici/types/client.d.ts +14 -0
  314. package/node_modules/undici/types/interceptors.d.ts +2 -0
  315. package/node_modules/zod/README.md +29 -2
  316. package/node_modules/zod/compile.cjs +96 -0
  317. package/node_modules/zod/compile.d.cts +1 -0
  318. package/node_modules/zod/compile.d.ts +1 -0
  319. package/node_modules/zod/compile.js +52 -0
  320. package/node_modules/zod/index.cjs +21 -2
  321. package/node_modules/zod/index.d.cts +1 -2
  322. package/node_modules/zod/index.d.ts +1 -2
  323. package/node_modules/zod/index.js +5 -2
  324. package/node_modules/zod/locales/index.cjs +19 -0
  325. package/node_modules/zod/mini/index.cjs +19 -0
  326. package/node_modules/zod/package.json +20 -8
  327. package/node_modules/zod/src/compile.ts +56 -0
  328. package/node_modules/zod/src/index.ts +5 -2
  329. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  330. package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
  331. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  332. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  333. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  334. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  335. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  336. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  337. package/node_modules/zod/src/v3/types.ts +5 -5
  338. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  339. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  340. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  341. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  342. package/node_modules/zod/src/v4/classic/external.ts +14 -9
  343. package/node_modules/zod/src/v4/classic/from-json-schema.ts +363 -78
  344. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  345. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  346. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  347. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  348. package/node_modules/zod/src/v4/classic/schemas.ts +640 -375
  349. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  350. package/node_modules/zod/src/v4/classic/tests/array.test.ts +29 -2
  351. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +186 -0
  352. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +36 -1
  353. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  354. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  355. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  356. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +3 -3
  357. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  358. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +985 -0
  359. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  360. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  361. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  362. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  363. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  364. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  365. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +261 -13
  366. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +20 -0
  367. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  368. package/node_modules/zod/src/v4/classic/tests/error.test.ts +403 -6
  369. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +582 -10
  370. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  371. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  372. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  373. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
  374. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  375. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  376. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +319 -0
  377. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +67 -0
  378. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  379. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +215 -0
  380. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  381. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  382. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  383. package/node_modules/zod/src/v4/classic/tests/map.test.ts +19 -0
  384. package/node_modules/zod/src/v4/classic/tests/number.test.ts +85 -9
  385. package/node_modules/zod/src/v4/classic/tests/object.test.ts +301 -12
  386. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +235 -0
  387. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  388. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  389. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
  390. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  391. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
  392. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  393. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  394. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +79 -3
  395. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  396. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  397. package/node_modules/zod/src/v4/classic/tests/set.test.ts +15 -0
  398. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
  399. package/node_modules/zod/src/v4/classic/tests/string.test.ts +222 -6
  400. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  401. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +44 -3
  402. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1812 -204
  403. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  404. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  405. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +645 -0
  406. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  407. package/node_modules/zod/src/v4/core/api.ts +87 -35
  408. package/node_modules/zod/src/v4/core/checks.ts +119 -146
  409. package/node_modules/zod/src/v4/core/compile.ts +2322 -0
  410. package/node_modules/zod/src/v4/core/core.ts +99 -22
  411. package/node_modules/zod/src/v4/core/doc.ts +17 -9
  412. package/node_modules/zod/src/v4/core/errors.ts +113 -25
  413. package/node_modules/zod/src/v4/core/index.ts +3 -0
  414. package/node_modules/zod/src/v4/core/json-schema-generator.ts +8 -3
  415. package/node_modules/zod/src/v4/core/json-schema-processors.ts +424 -156
  416. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  417. package/node_modules/zod/src/v4/core/memoizer.ts +331 -0
  418. package/node_modules/zod/src/v4/core/parse.ts +164 -50
  419. package/node_modules/zod/src/v4/core/regexes.ts +42 -15
  420. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  421. package/node_modules/zod/src/v4/core/schemas.ts +1035 -539
  422. package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
  423. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +1004 -0
  424. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
  425. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  426. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  427. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  428. package/node_modules/zod/src/v4/core/tests/compile.test.ts +2036 -0
  429. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
  430. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  431. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  432. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  433. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  434. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
  435. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  436. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  437. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  438. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +133 -0
  439. package/node_modules/zod/src/v4/core/to-json-schema.ts +283 -48
  440. package/node_modules/zod/src/v4/core/util.ts +467 -157
  441. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  442. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  443. package/node_modules/zod/src/v4/index.ts +3 -3
  444. package/node_modules/zod/src/v4/locales/ar.ts +5 -0
  445. package/node_modules/zod/src/v4/locales/az.ts +5 -0
  446. package/node_modules/zod/src/v4/locales/be.ts +12 -0
  447. package/node_modules/zod/src/v4/locales/bg.ts +5 -0
  448. package/node_modules/zod/src/v4/locales/bn.ts +123 -0
  449. package/node_modules/zod/src/v4/locales/ca.ts +5 -0
  450. package/node_modules/zod/src/v4/locales/ckb.ts +140 -0
  451. package/node_modules/zod/src/v4/locales/cs.ts +5 -0
  452. package/node_modules/zod/src/v4/locales/da.ts +7 -2
  453. package/node_modules/zod/src/v4/locales/de.ts +5 -0
  454. package/node_modules/zod/src/v4/locales/el.ts +3 -0
  455. package/node_modules/zod/src/v4/locales/en.ts +17 -4
  456. package/node_modules/zod/src/v4/locales/eo.ts +5 -0
  457. package/node_modules/zod/src/v4/locales/es.ts +4 -0
  458. package/node_modules/zod/src/v4/locales/fa.ts +5 -0
  459. package/node_modules/zod/src/v4/locales/fi.ts +5 -0
  460. package/node_modules/zod/src/v4/locales/fr-CA.ts +5 -0
  461. package/node_modules/zod/src/v4/locales/fr.ts +21 -14
  462. package/node_modules/zod/src/v4/locales/gu.ts +123 -0
  463. package/node_modules/zod/src/v4/locales/he.ts +8 -1
  464. package/node_modules/zod/src/v4/locales/hi.ts +126 -0
  465. package/node_modules/zod/src/v4/locales/hr.ts +4 -0
  466. package/node_modules/zod/src/v4/locales/hu.ts +5 -0
  467. package/node_modules/zod/src/v4/locales/hy.ts +11 -0
  468. package/node_modules/zod/src/v4/locales/id.ts +5 -0
  469. package/node_modules/zod/src/v4/locales/index.ts +11 -0
  470. package/node_modules/zod/src/v4/locales/is.ts +5 -0
  471. package/node_modules/zod/src/v4/locales/it.ts +5 -0
  472. package/node_modules/zod/src/v4/locales/ja.ts +5 -0
  473. package/node_modules/zod/src/v4/locales/ka.ts +5 -0
  474. package/node_modules/zod/src/v4/locales/km.ts +5 -0
  475. package/node_modules/zod/src/v4/locales/kn.ts +126 -0
  476. package/node_modules/zod/src/v4/locales/ko.ts +5 -0
  477. package/node_modules/zod/src/v4/locales/lt.ts +4 -0
  478. package/node_modules/zod/src/v4/locales/mk.ts +5 -0
  479. package/node_modules/zod/src/v4/locales/ms.ts +5 -0
  480. package/node_modules/zod/src/v4/locales/ne.ts +128 -0
  481. package/node_modules/zod/src/v4/locales/nl.ts +5 -0
  482. package/node_modules/zod/src/v4/locales/nn.ts +121 -0
  483. package/node_modules/zod/src/v4/locales/no.ts +7 -2
  484. package/node_modules/zod/src/v4/locales/ota.ts +5 -0
  485. package/node_modules/zod/src/v4/locales/pl.ts +5 -0
  486. package/node_modules/zod/src/v4/locales/ps.ts +5 -0
  487. package/node_modules/zod/src/v4/locales/pt-BR.ts +161 -0
  488. package/node_modules/zod/src/v4/locales/pt.ts +101 -58
  489. package/node_modules/zod/src/v4/locales/ro.ts +3 -0
  490. package/node_modules/zod/src/v4/locales/ru.ts +12 -0
  491. package/node_modules/zod/src/v4/locales/sk.ts +123 -0
  492. package/node_modules/zod/src/v4/locales/sl.ts +5 -0
  493. package/node_modules/zod/src/v4/locales/sv.ts +7 -2
  494. package/node_modules/zod/src/v4/locales/ta.ts +5 -0
  495. package/node_modules/zod/src/v4/locales/tg.ts +135 -0
  496. package/node_modules/zod/src/v4/locales/th.ts +5 -0
  497. package/node_modules/zod/src/v4/locales/tk.ts +113 -0
  498. package/node_modules/zod/src/v4/locales/tr.ts +5 -0
  499. package/node_modules/zod/src/v4/locales/uk.ts +5 -0
  500. package/node_modules/zod/src/v4/locales/ur.ts +5 -0
  501. package/node_modules/zod/src/v4/locales/uz.ts +3 -0
  502. package/node_modules/zod/src/v4/locales/vi.ts +5 -0
  503. package/node_modules/zod/src/v4/locales/yo.ts +5 -0
  504. package/node_modules/zod/src/v4/locales/zh-CN.ts +5 -0
  505. package/node_modules/zod/src/v4/locales/zh-TW.ts +5 -0
  506. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  507. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  508. package/node_modules/zod/src/v4/mini/external.ts +12 -1
  509. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  510. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  511. package/node_modules/zod/src/v4/mini/schemas.ts +167 -63
  512. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  513. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  514. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  515. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  516. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
  517. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  518. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  519. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  520. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  521. package/node_modules/zod/src/v4/mini/tests/index.test.ts +158 -5
  522. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  523. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  524. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
  525. package/node_modules/zod/src/v4/mini/tests/string.test.ts +44 -0
  526. package/node_modules/zod/v3/ZodError.cjs +41 -12
  527. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  528. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  529. package/node_modules/zod/v3/ZodError.js +22 -12
  530. package/node_modules/zod/v3/errors.cjs +19 -0
  531. package/node_modules/zod/v3/external.cjs +19 -0
  532. package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
  533. package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
  534. package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
  535. package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
  536. package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
  537. package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
  538. package/node_modules/zod/v3/helpers/util.cjs +19 -0
  539. package/node_modules/zod/v3/index.cjs +19 -0
  540. package/node_modules/zod/v3/standard-schema.cjs +19 -0
  541. package/node_modules/zod/v3/types.cjs +26 -5
  542. package/node_modules/zod/v3/types.js +7 -5
  543. package/node_modules/zod/v4/classic/checks.cjs +21 -1
  544. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  545. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  546. package/node_modules/zod/v4/classic/checks.js +1 -1
  547. package/node_modules/zod/v4/classic/coerce.cjs +19 -0
  548. package/node_modules/zod/v4/classic/compat.cjs +19 -0
  549. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  550. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  551. package/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
  552. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  553. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  554. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  555. package/node_modules/zod/v4/classic/errors.cjs +62 -34
  556. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  557. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  558. package/node_modules/zod/v4/classic/errors.js +43 -34
  559. package/node_modules/zod/v4/classic/external.cjs +51 -27
  560. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  561. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  562. package/node_modules/zod/v4/classic/external.js +5 -8
  563. package/node_modules/zod/v4/classic/from-json-schema.cjs +376 -75
  564. package/node_modules/zod/v4/classic/from-json-schema.js +357 -75
  565. package/node_modules/zod/v4/classic/in-out.cjs +82 -0
  566. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  567. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  568. package/node_modules/zod/v4/classic/in-out.js +36 -0
  569. package/node_modules/zod/v4/classic/index.cjs +21 -2
  570. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  571. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  572. package/node_modules/zod/v4/classic/index.js +2 -2
  573. package/node_modules/zod/v4/classic/iso.cjs +30 -22
  574. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  575. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  576. package/node_modules/zod/v4/classic/iso.js +2 -17
  577. package/node_modules/zod/v4/classic/parse.cjs +23 -1
  578. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  579. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  580. package/node_modules/zod/v4/classic/parse.js +1 -0
  581. package/node_modules/zod/v4/classic/schemas.cjs +591 -426
  582. package/node_modules/zod/v4/classic/schemas.d.cts +68 -19
  583. package/node_modules/zod/v4/classic/schemas.d.ts +68 -19
  584. package/node_modules/zod/v4/classic/schemas.js +564 -424
  585. package/node_modules/zod/v4/core/api.cjs +66 -24
  586. package/node_modules/zod/v4/core/api.d.cts +22 -12
  587. package/node_modules/zod/v4/core/api.d.ts +22 -12
  588. package/node_modules/zod/v4/core/api.js +44 -24
  589. package/node_modules/zod/v4/core/checks.cjs +88 -128
  590. package/node_modules/zod/v4/core/checks.d.cts +29 -13
  591. package/node_modules/zod/v4/core/checks.d.ts +29 -13
  592. package/node_modules/zod/v4/core/checks.js +68 -127
  593. package/node_modules/zod/v4/core/compile.cjs +1916 -0
  594. package/node_modules/zod/v4/core/compile.d.cts +65 -0
  595. package/node_modules/zod/v4/core/compile.d.ts +65 -0
  596. package/node_modules/zod/v4/core/compile.js +1866 -0
  597. package/node_modules/zod/v4/core/core.cjs +101 -19
  598. package/node_modules/zod/v4/core/core.d.cts +16 -4
  599. package/node_modules/zod/v4/core/core.d.ts +16 -4
  600. package/node_modules/zod/v4/core/core.js +83 -20
  601. package/node_modules/zod/v4/core/doc.cjs +31 -9
  602. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  603. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  604. package/node_modules/zod/v4/core/doc.js +12 -9
  605. package/node_modules/zod/v4/core/errors.cjs +126 -25
  606. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  607. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  608. package/node_modules/zod/v4/core/errors.js +107 -25
  609. package/node_modules/zod/v4/core/index.cjs +24 -1
  610. package/node_modules/zod/v4/core/index.d.cts +3 -0
  611. package/node_modules/zod/v4/core/index.d.ts +3 -0
  612. package/node_modules/zod/v4/core/index.js +3 -0
  613. package/node_modules/zod/v4/core/json-schema-generator.cjs +24 -1
  614. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  615. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  616. package/node_modules/zod/v4/core/json-schema-generator.js +6 -2
  617. package/node_modules/zod/v4/core/json-schema-processors.cjs +441 -156
  618. package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
  619. package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
  620. package/node_modules/zod/v4/core/json-schema-processors.js +400 -158
  621. package/node_modules/zod/v4/core/json-schema.cjs +19 -0
  622. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  623. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  624. package/node_modules/zod/v4/core/memoizer.cjs +360 -0
  625. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  626. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  627. package/node_modules/zod/v4/core/memoizer.js +311 -0
  628. package/node_modules/zod/v4/core/parse.cjs +148 -46
  629. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  630. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  631. package/node_modules/zod/v4/core/parse.js +127 -45
  632. package/node_modules/zod/v4/core/regexes.cjs +54 -17
  633. package/node_modules/zod/v4/core/regexes.d.cts +5 -0
  634. package/node_modules/zod/v4/core/regexes.d.ts +5 -0
  635. package/node_modules/zod/v4/core/regexes.js +32 -15
  636. package/node_modules/zod/v4/core/registries.cjs +19 -0
  637. package/node_modules/zod/v4/core/registries.js +2 -2
  638. package/node_modules/zod/v4/core/schemas.cjs +815 -386
  639. package/node_modules/zod/v4/core/schemas.d.cts +126 -35
  640. package/node_modules/zod/v4/core/schemas.d.ts +126 -35
  641. package/node_modules/zod/v4/core/schemas.js +783 -386
  642. package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
  643. package/node_modules/zod/v4/core/to-json-schema.cjs +269 -45
  644. package/node_modules/zod/v4/core/to-json-schema.d.cts +45 -5
  645. package/node_modules/zod/v4/core/to-json-schema.d.ts +45 -5
  646. package/node_modules/zod/v4/core/to-json-schema.js +247 -44
  647. package/node_modules/zod/v4/core/util.cjs +387 -157
  648. package/node_modules/zod/v4/core/util.d.cts +81 -1
  649. package/node_modules/zod/v4/core/util.d.ts +81 -1
  650. package/node_modules/zod/v4/core/util.js +355 -156
  651. package/node_modules/zod/v4/core/versions.cjs +21 -2
  652. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  653. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  654. package/node_modules/zod/v4/core/versions.js +2 -2
  655. package/node_modules/zod/v4/core/visit.cjs +214 -0
  656. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  657. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  658. package/node_modules/zod/v4/core/visit.js +169 -0
  659. package/node_modules/zod/v4/index.cjs +34 -5
  660. package/node_modules/zod/v4/index.d.cts +2 -2
  661. package/node_modules/zod/v4/index.d.ts +2 -2
  662. package/node_modules/zod/v4/index.js +3 -2
  663. package/node_modules/zod/v4/locales/ar.cjs +5 -0
  664. package/node_modules/zod/v4/locales/ar.js +5 -0
  665. package/node_modules/zod/v4/locales/az.cjs +5 -0
  666. package/node_modules/zod/v4/locales/az.js +5 -0
  667. package/node_modules/zod/v4/locales/be.cjs +12 -0
  668. package/node_modules/zod/v4/locales/be.js +12 -0
  669. package/node_modules/zod/v4/locales/bg.cjs +5 -0
  670. package/node_modules/zod/v4/locales/bg.js +5 -0
  671. package/node_modules/zod/v4/locales/bn.cjs +140 -0
  672. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  673. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  674. package/node_modules/zod/v4/locales/bn.js +113 -0
  675. package/node_modules/zod/v4/locales/ca.cjs +5 -0
  676. package/node_modules/zod/v4/locales/ca.js +5 -0
  677. package/node_modules/zod/v4/locales/ckb.cjs +160 -0
  678. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  679. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  680. package/node_modules/zod/v4/locales/ckb.js +133 -0
  681. package/node_modules/zod/v4/locales/cs.cjs +5 -0
  682. package/node_modules/zod/v4/locales/cs.js +5 -0
  683. package/node_modules/zod/v4/locales/da.cjs +7 -2
  684. package/node_modules/zod/v4/locales/da.js +7 -2
  685. package/node_modules/zod/v4/locales/de.cjs +5 -0
  686. package/node_modules/zod/v4/locales/de.js +5 -0
  687. package/node_modules/zod/v4/locales/el.cjs +3 -0
  688. package/node_modules/zod/v4/locales/el.js +3 -0
  689. package/node_modules/zod/v4/locales/en.cjs +16 -4
  690. package/node_modules/zod/v4/locales/en.js +16 -4
  691. package/node_modules/zod/v4/locales/eo.cjs +5 -0
  692. package/node_modules/zod/v4/locales/eo.js +5 -0
  693. package/node_modules/zod/v4/locales/es.cjs +4 -0
  694. package/node_modules/zod/v4/locales/es.js +4 -0
  695. package/node_modules/zod/v4/locales/fa.cjs +5 -0
  696. package/node_modules/zod/v4/locales/fa.js +5 -0
  697. package/node_modules/zod/v4/locales/fi.cjs +5 -0
  698. package/node_modules/zod/v4/locales/fi.js +5 -0
  699. package/node_modules/zod/v4/locales/fr-CA.cjs +5 -0
  700. package/node_modules/zod/v4/locales/fr-CA.js +5 -0
  701. package/node_modules/zod/v4/locales/fr.cjs +18 -14
  702. package/node_modules/zod/v4/locales/fr.js +18 -14
  703. package/node_modules/zod/v4/locales/gu.cjs +140 -0
  704. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  705. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  706. package/node_modules/zod/v4/locales/gu.js +113 -0
  707. package/node_modules/zod/v4/locales/he.cjs +7 -0
  708. package/node_modules/zod/v4/locales/he.js +7 -0
  709. package/node_modules/zod/v4/locales/hi.cjs +138 -0
  710. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  711. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  712. package/node_modules/zod/v4/locales/hi.js +111 -0
  713. package/node_modules/zod/v4/locales/hr.cjs +4 -0
  714. package/node_modules/zod/v4/locales/hr.js +4 -0
  715. package/node_modules/zod/v4/locales/hu.cjs +5 -0
  716. package/node_modules/zod/v4/locales/hu.js +5 -0
  717. package/node_modules/zod/v4/locales/hy.cjs +11 -0
  718. package/node_modules/zod/v4/locales/hy.js +11 -0
  719. package/node_modules/zod/v4/locales/id.cjs +5 -0
  720. package/node_modules/zod/v4/locales/id.js +5 -0
  721. package/node_modules/zod/v4/locales/index.cjs +43 -2
  722. package/node_modules/zod/v4/locales/index.d.cts +11 -0
  723. package/node_modules/zod/v4/locales/index.d.ts +11 -0
  724. package/node_modules/zod/v4/locales/index.js +11 -0
  725. package/node_modules/zod/v4/locales/is.cjs +5 -0
  726. package/node_modules/zod/v4/locales/is.js +5 -0
  727. package/node_modules/zod/v4/locales/it.cjs +5 -0
  728. package/node_modules/zod/v4/locales/it.js +5 -0
  729. package/node_modules/zod/v4/locales/ja.cjs +5 -0
  730. package/node_modules/zod/v4/locales/ja.js +5 -0
  731. package/node_modules/zod/v4/locales/ka.cjs +5 -0
  732. package/node_modules/zod/v4/locales/ka.js +5 -0
  733. package/node_modules/zod/v4/locales/km.cjs +5 -0
  734. package/node_modules/zod/v4/locales/km.js +5 -0
  735. package/node_modules/zod/v4/locales/kn.cjs +143 -0
  736. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  737. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  738. package/node_modules/zod/v4/locales/kn.js +116 -0
  739. package/node_modules/zod/v4/locales/ko.cjs +5 -0
  740. package/node_modules/zod/v4/locales/ko.js +5 -0
  741. package/node_modules/zod/v4/locales/lt.cjs +4 -0
  742. package/node_modules/zod/v4/locales/lt.js +4 -0
  743. package/node_modules/zod/v4/locales/mk.cjs +5 -0
  744. package/node_modules/zod/v4/locales/mk.js +5 -0
  745. package/node_modules/zod/v4/locales/ms.cjs +5 -0
  746. package/node_modules/zod/v4/locales/ms.js +5 -0
  747. package/node_modules/zod/v4/locales/ne.cjs +138 -0
  748. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  749. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  750. package/node_modules/zod/v4/locales/ne.js +111 -0
  751. package/node_modules/zod/v4/locales/nl.cjs +5 -0
  752. package/node_modules/zod/v4/locales/nl.js +5 -0
  753. package/node_modules/zod/v4/locales/nn.cjs +140 -0
  754. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  755. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  756. package/node_modules/zod/v4/locales/nn.js +113 -0
  757. package/node_modules/zod/v4/locales/no.cjs +7 -2
  758. package/node_modules/zod/v4/locales/no.js +7 -2
  759. package/node_modules/zod/v4/locales/ota.cjs +5 -0
  760. package/node_modules/zod/v4/locales/ota.js +5 -0
  761. package/node_modules/zod/v4/locales/pl.cjs +5 -0
  762. package/node_modules/zod/v4/locales/pl.js +5 -0
  763. package/node_modules/zod/v4/locales/ps.cjs +5 -0
  764. package/node_modules/zod/v4/locales/ps.js +5 -0
  765. package/node_modules/zod/v4/locales/pt-BR.cjs +170 -0
  766. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  767. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  768. package/node_modules/zod/v4/locales/pt-BR.js +143 -0
  769. package/node_modules/zod/v4/locales/pt.cjs +89 -55
  770. package/node_modules/zod/v4/locales/pt.js +89 -55
  771. package/node_modules/zod/v4/locales/ro.cjs +3 -0
  772. package/node_modules/zod/v4/locales/ro.js +3 -0
  773. package/node_modules/zod/v4/locales/ru.cjs +12 -0
  774. package/node_modules/zod/v4/locales/ru.js +12 -0
  775. package/node_modules/zod/v4/locales/sk.cjs +143 -0
  776. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  777. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  778. package/node_modules/zod/v4/locales/sk.js +116 -0
  779. package/node_modules/zod/v4/locales/sl.cjs +5 -0
  780. package/node_modules/zod/v4/locales/sl.js +5 -0
  781. package/node_modules/zod/v4/locales/sv.cjs +7 -2
  782. package/node_modules/zod/v4/locales/sv.js +7 -2
  783. package/node_modules/zod/v4/locales/ta.cjs +5 -0
  784. package/node_modules/zod/v4/locales/ta.js +5 -0
  785. package/node_modules/zod/v4/locales/tg.cjs +144 -0
  786. package/node_modules/zod/v4/locales/tg.d.cts +5 -0
  787. package/node_modules/zod/v4/locales/tg.d.ts +4 -0
  788. package/node_modules/zod/v4/locales/tg.js +117 -0
  789. package/node_modules/zod/v4/locales/th.cjs +5 -0
  790. package/node_modules/zod/v4/locales/th.js +5 -0
  791. package/node_modules/zod/v4/locales/tk.cjs +134 -0
  792. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  793. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  794. package/node_modules/zod/v4/locales/tk.js +107 -0
  795. package/node_modules/zod/v4/locales/tr.cjs +5 -0
  796. package/node_modules/zod/v4/locales/tr.js +5 -0
  797. package/node_modules/zod/v4/locales/uk.cjs +5 -0
  798. package/node_modules/zod/v4/locales/uk.js +5 -0
  799. package/node_modules/zod/v4/locales/ur.cjs +5 -0
  800. package/node_modules/zod/v4/locales/ur.js +5 -0
  801. package/node_modules/zod/v4/locales/uz.cjs +3 -0
  802. package/node_modules/zod/v4/locales/uz.js +3 -0
  803. package/node_modules/zod/v4/locales/vi.cjs +5 -0
  804. package/node_modules/zod/v4/locales/vi.js +5 -0
  805. package/node_modules/zod/v4/locales/yo.cjs +5 -0
  806. package/node_modules/zod/v4/locales/yo.js +5 -0
  807. package/node_modules/zod/v4/locales/zh-CN.cjs +5 -0
  808. package/node_modules/zod/v4/locales/zh-CN.js +5 -0
  809. package/node_modules/zod/v4/locales/zh-TW.cjs +5 -0
  810. package/node_modules/zod/v4/locales/zh-TW.js +5 -0
  811. package/node_modules/zod/v4/mini/checks.cjs +21 -1
  812. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  813. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  814. package/node_modules/zod/v4/mini/checks.js +1 -1
  815. package/node_modules/zod/v4/mini/coerce.cjs +19 -0
  816. package/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
  817. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  818. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  819. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  820. package/node_modules/zod/v4/mini/external.cjs +33 -1
  821. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  822. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  823. package/node_modules/zod/v4/mini/external.js +3 -1
  824. package/node_modules/zod/v4/mini/in-out.cjs +82 -0
  825. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  826. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  827. package/node_modules/zod/v4/mini/in-out.js +36 -0
  828. package/node_modules/zod/v4/mini/index.cjs +19 -0
  829. package/node_modules/zod/v4/mini/iso.cjs +19 -0
  830. package/node_modules/zod/v4/mini/parse.cjs +22 -1
  831. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  832. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  833. package/node_modules/zod/v4/mini/parse.js +1 -1
  834. package/node_modules/zod/v4/mini/schemas.cjs +117 -53
  835. package/node_modules/zod/v4/mini/schemas.d.cts +49 -14
  836. package/node_modules/zod/v4/mini/schemas.d.ts +49 -14
  837. package/node_modules/zod/v4/mini/schemas.js +92 -51
  838. package/node_modules/zod/v4-mini/index.cjs +19 -0
  839. package/package.json +14 -14
  840. package/node_modules/@zuplo/runtime/out/esm/chunk-DVFQRFED.js.map +0 -1
  841. package/node_modules/@zuplo/runtime/out/esm/chunk-FQIUJWH2.js +0 -105
  842. package/node_modules/@zuplo/runtime/out/esm/chunk-FQIUJWH2.js.map +0 -1
  843. package/node_modules/simple-git/dist/cjs/index.js +0 -4898
  844. package/node_modules/simple-git/dist/cjs/index.js.map +0 -7
  845. package/node_modules/simple-git/dist/esm/index.js +0 -4745
  846. package/node_modules/simple-git/dist/esm/index.js.map +0 -7
  847. package/node_modules/simple-git/dist/esm/package.json +0 -3
  848. package/node_modules/simple-git/dist/src/lib/responses/CheckIgnore.d.ts +0 -4
  849. package/node_modules/simple-git/dist/src/lib/runners/promise-wrapped.d.ts +0 -2
  850. package/node_modules/simple-git/dist/typings/errors.d.ts +0 -5
  851. package/node_modules/simple-git/dist/typings/index.d.ts +0 -14
  852. package/node_modules/simple-git/dist/typings/response.d.ts +0 -556
  853. package/node_modules/simple-git/dist/typings/simple-git.d.ts +0 -1033
  854. package/node_modules/simple-git/dist/typings/types.d.ts +0 -22
  855. package/node_modules/simple-git/promise.js +0 -17
  856. package/node_modules/zod/src/v4/core/config.ts +0 -15
  857. /package/node_modules/@zuplo/runtime/out/esm/{chunk-DVFQRFED.js.LEGAL.txt → chunk-NWYAKCSU.js.LEGAL.txt} +0 -0
  858. /package/node_modules/@zuplo/runtime/out/esm/{chunk-FQIUJWH2.js.LEGAL.txt → chunk-PXS4NOKU.js.LEGAL.txt} +0 -0
@@ -0,0 +1,141 @@
1
+ import { expect, expectTypeOf, test } from "vitest";
2
+ import * as z from "zod/v4";
3
+
4
+ test("z.properties is a check", () => {
5
+ const s = z.object({ a: z.string(), b: z.string() }).check(z.properties({ a: z.literal("x"), b: z.literal("y") }));
6
+
7
+ // asserts in place: extra keys pass, and every failing key reports
8
+ expect(s.safeParse({ a: "x", b: "y", extra: 1 }).success).toBe(true);
9
+ expect(s.safeParse({ a: "!", b: "!" }).error!.issues.map((i) => i.path)).toEqual([["a"], ["b"]]);
10
+
11
+ // the base already typed the value, so the properties are asserted on whatever it produced — a string's length, as z.property() does
12
+ const long = z.string().check(z.properties({ length: z.number().min(3) }));
13
+ expect(long.parse("abc")).toBe("abc");
14
+ expect(long.safeParse("ab").error!.issues.map((i) => i.path)).toEqual([["length"]]);
15
+ expect(
16
+ z
17
+ .compile(long)
18
+ .safeParse("ab")
19
+ .error!.issues.map((i) => i.path)
20
+ ).toEqual([["length"]]);
21
+
22
+ // not a schema
23
+ // @ts-expect-error a check has no parse of its own
24
+ z.properties({ a: z.string() }).parse;
25
+ });
26
+
27
+ test("z.properties discards transformed output", () => {
28
+ // asserts and never writes back, exactly as z.property() behaves; a nested object schema rebuilds its output even without transforms, so identity cannot distinguish the two
29
+ const s = z.any().check(z.properties({ a: z.string().transform((s) => s.toUpperCase()) }));
30
+ const input = { a: "hi" };
31
+ expect(s.parse(input)).toBe(input);
32
+ expect(input.a).toBe("hi");
33
+ });
34
+
35
+ test("z.instanceof().properties()", () => {
36
+ const httpsUrl = z.instanceof(URL).properties({ protocol: z.literal("https:") });
37
+ expectTypeOf<z.infer<typeof httpsUrl>>().toEqualTypeOf<URL & { protocol: "https:" }>();
38
+
39
+ const u = new URL("https://example.com");
40
+ expect(httpsUrl.parse(u)).toBe(u);
41
+ expect(httpsUrl.safeParse(new URL("http://example.com")).error!.issues.map((i) => i.path)).toEqual([["protocol"]]);
42
+
43
+ // chains, and each call narrows further
44
+ const chained = httpsUrl.properties({ port: z.literal("") });
45
+ expectTypeOf<z.infer<typeof chained>>().toEqualTypeOf<URL & { protocol: "https:" } & { port: "" }>();
46
+ expect(chained.safeParse(u).success).toBe(true);
47
+ expect(chained.safeParse(new URL("https://example.com:8443")).error!.issues.map((i) => i.path)).toEqual([["port"]]);
48
+
49
+ // nothing is written back, so the narrowing is over the shape's input side
50
+ const W = z.instanceof(URL).properties({ search: z.string().transform((s) => s.length) });
51
+ expectTypeOf<z.infer<typeof W>>().toEqualTypeOf<URL & { search: string }>();
52
+ });
53
+
54
+ test("z.instanceof().properties() constrains the shape to the instance type", () => {
55
+ const file = z.instanceof(File).properties({ name: z.string(), size: z.number().max(1024) });
56
+ expectTypeOf<z.infer<typeof file>>().toEqualTypeOf<File & { name: string; size: number }>();
57
+
58
+ // @ts-expect-error no such property on File
59
+ z.instanceof(File).properties({ nmae: z.string() });
60
+
61
+ // @ts-expect-error File["size"] is a number
62
+ z.instanceof(File).properties({ size: z.string() });
63
+
64
+ // methods are out of the shape, so an object literal's inherited toString can't collide with the constraint
65
+ // @ts-expect-error
66
+ z.instanceof(File).properties({ text: z.any() });
67
+
68
+ // a literal still narrows a wider property
69
+ const png = z.instanceof(File).properties({ type: z.literal("image/png") });
70
+ expectTypeOf<z.infer<typeof png>>().toEqualTypeOf<File & { type: "image/png" }>();
71
+ });
72
+
73
+ test("z.properties spreads into .check()", () => {
74
+ // the 4.5 array call sites: the check yields itself from Symbol.iterator
75
+ const p = z.properties({ a: z.literal("x") });
76
+ expect([...p]).toEqual([p]);
77
+
78
+ const s = z.object({ a: z.string() }).check(...z.properties({ a: z.literal("x") }));
79
+ expect(s.safeParse({ a: "x" }).success).toBe(true);
80
+ expect(s.safeParse({ a: "!" }).error!.issues.map((i) => i.path)).toEqual([["a"]]);
81
+ });
82
+
83
+ test("z.properties compiles inside a container", () => {
84
+ const outer = z.compile(z.object({ url: z.instanceof(URL).properties({ protocol: z.literal("https:") }) }));
85
+ expect(outer.safeParse({ url: new URL("http://example.com") }).error!.issues.map((i) => i.path)).toEqual([
86
+ ["url", "protocol"],
87
+ ]);
88
+ });
89
+
90
+ test("z.properties async", async () => {
91
+ const s = z.any().check(z.properties({ a: z.string().refine(async (s) => s.length > 1) }));
92
+ const ok = { a: "hi" };
93
+ await expect(s.parseAsync(ok)).resolves.toBe(ok);
94
+ const bad = await s.safeParseAsync({ a: "!" });
95
+ expect(bad.error!.issues.map((i) => i.path)).toEqual([["a"]]);
96
+ });
97
+
98
+ test("z.properties validates symbol keys", () => {
99
+ const sym = Symbol("tag");
100
+ const s = z.any().check(z.properties({ [sym]: z.string() }));
101
+ expect(s.safeParse({ [sym]: "ok" }).success).toBe(true);
102
+ expect(s.safeParse({ [sym]: 123 }).error!.issues.map((i) => i.path)).toEqual([[sym]]);
103
+ expect(
104
+ z
105
+ .compile(s)
106
+ .safeParse({ [sym]: 123 })
107
+ .error!.issues.map((i) => i.path)
108
+ ).toEqual([[sym]]);
109
+ });
110
+
111
+ test("z.properties compiled and interpreted agree on a nullish value", () => {
112
+ // a base that permits null reaches the check with one; the compiled property read must not throw where the runtime reports an issue
113
+ const s = z.any().check(...z.properties({ a: z.string() }));
114
+ const expected = [["invalid_type", []]];
115
+ expect(s.safeParse(null).error!.issues.map((i) => [i.code, i.path])).toEqual(expected);
116
+ expect(
117
+ z
118
+ .compile(s)
119
+ .safeParse(null)
120
+ .error!.issues.map((i) => [i.code, i.path])
121
+ ).toEqual(expected);
122
+ });
123
+
124
+ test("z.properties with a custom when refuses to compile", () => {
125
+ // `when` is not publicly settable, since it gates the assertion inside the run loop. A hand-built def can still carry one, and compiling it must refuse rather than run the shape unconditionally: a union branch compiles to its own IIFE, so a wrong rejection is absorbed as a branch failure with no fallback.
126
+ const p = new z.core.$ZodCheckProperties({ check: "properties", shape: { a: z.literal("x") }, when: () => false });
127
+ const s = z.union([z.any().check(p), z.object({ b: z.string() })]);
128
+ const input = { a: "wrong", b: "hello" };
129
+ expect(z.compile(s).safeParse(input)).toEqual(s.safeParse(input));
130
+ });
131
+
132
+ test("z.properties survives shape mutation", () => {
133
+ // key and schema are snapshotted together; caching one and reading the other live paired a stale key with a missing schema
134
+ const shape: Record<string, z.ZodType> = { a: z.string() };
135
+ const s = z.any().check(z.properties(shape));
136
+ expect(s.safeParse({ a: "x" }).success).toBe(true);
137
+ delete shape.a;
138
+ expect(s.safeParse({ a: "x" }).success).toBe(true);
139
+ shape.b = z.string();
140
+ expect(s.safeParse({ a: "x" }).success).toBe(true);
141
+ });
@@ -50,74 +50,6 @@ test("flat inference", () => {
50
50
  expectTypeOf<typeof readonlyPromise._output>().toEqualTypeOf<Promise<string>>();
51
51
  });
52
52
 
53
- // test("deep inference", () => {
54
- // expectTypeOf<z.infer<(typeof deepReadonlySchemas_0)[0]>>().toEqualTypeOf<string>();
55
- // expectTypeOf<z.infer<(typeof deepReadonlySchemas_0)[1]>>().toEqualTypeOf<number>();
56
- // expectTypeOf<z.infer<(typeof deepReadonlySchemas_0)[2]>>().toEqualTypeOf<number>();
57
- // expectTypeOf<z.infer<(typeof deepReadonlySchemas_0)[3]>>().toEqualTypeOf<bigint>();
58
- // expectTypeOf<z.infer<(typeof deepReadonlySchemas_0)[4]>>().toEqualTypeOf<boolean>();
59
- // expectTypeOf<z.infer<(typeof deepReadonlySchemas_0)[5]>>().toEqualTypeOf<Date>();
60
- // expectTypeOf<z.infer<(typeof deepReadonlySchemas_0)[6]>>().toEqualTypeOf<undefined>();
61
- // expectTypeOf<z.infer<(typeof deepReadonlySchemas_0)[7]>>().toEqualTypeOf<null>();
62
- // expectTypeOf<z.infer<(typeof deepReadonlySchemas_0)[8]>>().toEqualTypeOf<any>();
63
- // expectTypeOf<
64
- // z.infer<(typeof deepReadonlySchemas_0)[9]>
65
- // >().toEqualTypeOf<Readonly<unknown>>();
66
- // expectTypeOf<z.infer<(typeof deepReadonlySchemas_0)[10]>>().toEqualTypeOf<void>();
67
- // expectTypeOf<
68
- // z.infer<(typeof deepReadonlySchemas_0)[11]>
69
- // >().toEqualTypeOf<(args_0: string, args_1: number, ...args_2: unknown[]) => unknown>();
70
- // expectTypeOf<
71
- // z.infer<(typeof deepReadonlySchemas_0)[12]>
72
- // >().toEqualTypeOf<readonly string[]>();
73
- // expectTypeOf<
74
- // z.infer<(typeof deepReadonlySchemas_0)[13]>
75
- // >().toEqualTypeOf<readonly [string, number]>();
76
- // expectTypeOf<
77
- // z.infer<(typeof deepReadonlySchemas_0)[14]>
78
- // >().toEqualTypeOf<ReadonlyMap<string, Date>>();
79
- // expectTypeOf<
80
- // z.infer<(typeof deepReadonlySchemas_0)[15]>
81
- // >().toEqualTypeOf<ReadonlySet<Promise<string>>>();
82
- // expectTypeOf<
83
- // z.infer<(typeof deepReadonlySchemas_0)[16]>
84
- // >().toEqualTypeOf<Readonly<Record<string, string>>>();
85
- // expectTypeOf<
86
- // z.infer<(typeof deepReadonlySchemas_0)[17]>
87
- // >().toEqualTypeOf<Readonly<Record<string, number>>>();
88
- // expectTypeOf<
89
- // z.infer<(typeof deepReadonlySchemas_0)[18]>
90
- // >().toEqualTypeOf<{ readonly a: string; readonly 1: number }>();
91
- // expectTypeOf<
92
- // z.infer<(typeof deepReadonlySchemas_0)[19]>
93
- // >().toEqualTypeOf<Readonly<testEnum>>();
94
- // expectTypeOf<
95
- // z.infer<(typeof deepReadonlySchemas_0)[20]>
96
- // >().toEqualTypeOf<Promise<string>>();
97
-
98
- // expectTypeOf<
99
- // z.infer<typeof crazyDeepReadonlySchema>
100
- // >().toEqualTypeOf<ReadonlyMap<
101
- // ReadonlySet<readonly [string, number]>,
102
- // {
103
- // readonly a: {
104
- // readonly [x: string]: readonly any[];
105
- // };
106
- // readonly b: {
107
- // readonly c: {
108
- // readonly d: {
109
- // readonly e: {
110
- // readonly f: {
111
- // readonly g?: {};
112
- // };
113
- // };
114
- // };
115
- // };
116
- // };
117
- // }
118
- // >>();
119
- // });
120
-
121
53
  test("object freezing", async () => {
122
54
  expect(Object.isFrozen(z.array(z.string()).readonly().parse(["a"]))).toBe(true);
123
55
  expect(Object.isFrozen(z.tuple([z.string(), z.number()]).readonly().parse(["a", 1]))).toBe(true);
@@ -76,6 +76,37 @@ test("enum exhaustiveness", () => {
76
76
  `);
77
77
  });
78
78
 
79
+ test("optional-in value type", () => {
80
+ const defaulted = z.record(z.enum(["Tuna", "Salmon"]), z.string().default("unknown"));
81
+ expectTypeOf<z.input<typeof defaulted>>().toEqualTypeOf<Partial<Record<"Tuna" | "Salmon", string | undefined>>>();
82
+ expectTypeOf<z.output<typeof defaulted>>().toEqualTypeOf<Record<"Tuna" | "Salmon", string>>();
83
+ expect(defaulted.parse({ Tuna: "asdf" })).toEqual({ Tuna: "asdf", Salmon: "unknown" });
84
+
85
+ const prefaulted = z.record(z.enum(["Tuna", "Salmon"]), z.string().prefault("unknown"));
86
+ expectTypeOf<z.input<typeof prefaulted>>().toEqualTypeOf<Partial<Record<"Tuna" | "Salmon", string | undefined>>>();
87
+ expect(prefaulted.parse({ Tuna: "asdf" })).toEqual({ Tuna: "asdf", Salmon: "unknown" });
88
+
89
+ const optional = z.record(z.enum(["Tuna", "Salmon"]), z.string().optional());
90
+ expectTypeOf<z.input<typeof optional>>().toEqualTypeOf<Partial<Record<"Tuna" | "Salmon", string | undefined>>>();
91
+ // toStrictEqual, not toEqual: an exhaustive record assigns every key, and toEqual cannot tell an absent key from one holding undefined.
92
+ expect(optional.parse({ Tuna: "asdf" })).toStrictEqual({ Tuna: "asdf", Salmon: undefined });
93
+
94
+ // A value that needs a slot keeps the key required, and a non-enumerable key stays an index signature either way.
95
+ const required = z.record(z.enum(["Tuna", "Salmon"]), z.string());
96
+ expectTypeOf<z.input<typeof required>>().toEqualTypeOf<Record<"Tuna" | "Salmon", string>>();
97
+ const indexed = z.record(z.string(), z.string().default("unknown"));
98
+ expectTypeOf<z.input<typeof indexed>>().toEqualTypeOf<Record<string, string | undefined>>();
99
+
100
+ // A catch and a preprocess pipe declare no static optin, so the key stays required even where the parser can fill it. The static predicate and the one the JSON Schema emitter uses resolve these differently, and the two have to keep agreeing.
101
+ const caught = z.record(z.enum(["Tuna", "Salmon"]), z.string().catch("unknown"));
102
+ expectTypeOf<z.input<typeof caught>>().toEqualTypeOf<Record<"Tuna" | "Salmon", string>>();
103
+ const preprocessed = z.record(
104
+ z.enum(["Tuna", "Salmon"]),
105
+ z.preprocess((v) => v, z.string())
106
+ );
107
+ expectTypeOf<z.input<typeof preprocessed>>().toEqualTypeOf<Record<"Tuna" | "Salmon", unknown>>();
108
+ });
109
+
79
110
  test("typescript enum exhaustiveness", () => {
80
111
  enum BigFish {
81
112
  Tuna = 0,
@@ -402,6 +433,44 @@ test("is not vulnerable to prototype pollution", async () => {
402
433
  }
403
434
  });
404
435
 
436
+ test("key schema cannot normalize an input key into __proto__", async () => {
437
+ const value = z.object({ a: z.string() });
438
+ const payload = { a: "evil" };
439
+ const wire = (key: string) => JSON.parse(JSON.stringify({ [key]: payload }));
440
+
441
+ const cases = [
442
+ [z.record(z.string().toLowerCase(), value), wire("__PROTO__")],
443
+ [z.record(z.string().trim(), value), wire(" __proto__ ")],
444
+ [z.record(z.string().normalize("NFKC"), value), wire("__proto__")],
445
+ [
446
+ z.record(
447
+ z.string().transform((s) => s.slice(2)),
448
+ value
449
+ ),
450
+ wire("x:__proto__"),
451
+ ],
452
+ ] as const;
453
+
454
+ for (const [schema, data] of cases) {
455
+ const result = schema.parse(data);
456
+ expect(Object.getPrototypeOf(result)).toBe(Object.prototype);
457
+ expect(Object.keys(result)).toEqual([]);
458
+ expect((result as any).a).toBeUndefined();
459
+
460
+ expect(Object.getPrototypeOf(await schema.parseAsync(data))).toBe(Object.prototype);
461
+ }
462
+
463
+ // an async value schema takes the promise write path
464
+ const asyncValue = z.record(
465
+ z.string().toLowerCase(),
466
+ value.refine(async () => true)
467
+ );
468
+ expect(Object.getPrototypeOf(await asyncValue.parseAsync(wire("__PROTO__")))).toBe(Object.prototype);
469
+
470
+ // ordinary normalization still lands as an own key
471
+ expect(z.record(z.string().toLowerCase(), value).parse({ KEY: payload })).toEqual({ key: payload });
472
+ });
473
+
405
474
  test("dont remove undefined values", () => {
406
475
  const result1 = z.record(z.string(), z.any()).parse({ foo: undefined });
407
476
 
@@ -523,24 +592,12 @@ test("partialRecord with z.literal([key, ...])", () => {
523
592
  {
524
593
  "error": [ZodError: [
525
594
  {
526
- "code": "invalid_key",
527
- "origin": "record",
528
- "issues": [
529
- {
530
- "code": "invalid_value",
531
- "values": [
532
- "id",
533
- "name",
534
- "email"
535
- ],
536
- "path": [],
537
- "message": "Invalid option: expected one of \\"id\\"|\\"name\\"|\\"email\\""
538
- }
539
- ],
540
- "path": [
595
+ "code": "unrecognized_keys",
596
+ "keys": [
541
597
  "foo"
542
598
  ],
543
- "message": "Invalid key in record"
599
+ "path": [],
600
+ "message": "Unrecognized key: \\"foo\\""
544
601
  }
545
602
  ]],
546
603
  "success": false,
@@ -593,6 +650,45 @@ test("looseRecord passes through non-matching keys", () => {
593
650
  expect(schema.parse({ other: "value" })).toEqual({ other: "value" });
594
651
  });
595
652
 
653
+ test("looseRecord with closed key schema passes through unrecognized keys", () => {
654
+ const enumSchema = z.looseRecord(z.enum(["foo", "bar"]), z.any());
655
+ expect(enumSchema.parse({ foo: 123, bar: {}, baz: null })).toEqual({
656
+ foo: 123,
657
+ bar: {},
658
+ baz: null,
659
+ });
660
+
661
+ const literalSchema = z.looseRecord(z.literal(["foo", "bar"]), z.any());
662
+ expect(literalSchema.parse({ foo: 123, bar: {}, baz: null })).toEqual({
663
+ foo: 123,
664
+ bar: {},
665
+ baz: null,
666
+ });
667
+
668
+ // Recognized keys are still validated
669
+ const validated = z.looseRecord(z.enum(["foo", "bar"]), z.string());
670
+ expect(validated.parse({ foo: "ok", bar: "ok", baz: 123 })).toEqual({
671
+ foo: "ok",
672
+ bar: "ok",
673
+ baz: 123,
674
+ });
675
+ expect(() => validated.parse({ foo: 123 })).toThrow();
676
+ });
677
+
678
+ test("record with closed key schema still rejects unrecognized keys", () => {
679
+ const schema = z.record(z.enum(["foo", "bar"]), z.any());
680
+ expect(schema.safeParse({ foo: 123, bar: {}, baz: null }).success).toBe(false);
681
+ });
682
+
683
+ // __proto__ in input must not replace the prototype of the parsed object via the assignment setter on the result {}. https://github.com/colinhacks/zod/security/advisories/GHSA-r34p-xfmx-58wv
684
+ test("looseRecord with closed key schema drops __proto__", () => {
685
+ const schema = z.looseRecord(z.enum(["foo", "bar"]), z.any());
686
+ const parsed = schema.parse(JSON.parse('{"foo":1,"bar":2,"__proto__":{"isAdmin":true}}'));
687
+ expect(Object.keys(parsed)).toEqual(["foo", "bar"]);
688
+ expect((parsed as any).isAdmin).toBeUndefined();
689
+ expect(Object.getPrototypeOf(parsed)).toBe(Object.prototype);
690
+ });
691
+
596
692
  test("intersection of loose records", () => {
597
693
  const schema = z.intersection(
598
694
  z.object({ name: z.string() }).passthrough(),
@@ -706,8 +802,7 @@ test("v3-compat single-arg form: z.record(valueType)", () => {
706
802
  expect(withMessage.keyType._zod.def.type).toEqual("string");
707
803
  expect(withMessage.valueType._zod.def.type).toEqual("number");
708
804
 
709
- // toJSONSchema should produce a well-formed schema (regression: previously produced
710
- // additionalProperties from undefined valueType, crashing process())
805
+ // toJSONSchema should produce a well-formed schema (regression: previously produced additionalProperties from undefined valueType, crashing process())
711
806
  const json = z.toJSONSchema(schema);
712
807
  expect(json).toMatchObject({
713
808
  type: "object",
@@ -715,3 +810,76 @@ test("v3-compat single-arg form: z.record(valueType)", () => {
715
810
  additionalProperties: { type: "number" },
716
811
  });
717
812
  });
813
+
814
+ test("__proto__ in a finite key set is stripped", () => {
815
+ const data = JSON.parse('{"__proto__":{"a":"declared"},"b":{"a":"good"}}');
816
+
817
+ for (const schema of [
818
+ z.record(z.enum(["__proto__", "b"]), z.object({ a: z.string() })),
819
+ z.record(z.literal(["__proto__", "b"]), z.object({ a: z.string() })),
820
+ ]) {
821
+ const parsed: any = schema.parse(data);
822
+ expect(Object.getPrototypeOf(parsed)).toBe(Object.prototype);
823
+ expect(Object.prototype.hasOwnProperty.call(parsed, "__proto__")).toBe(false);
824
+ expect(Object.keys(parsed)).toEqual(["b"]);
825
+ expect(parsed.a).toBeUndefined();
826
+ }
827
+
828
+ expect(({} as any).a).toBeUndefined();
829
+ });
830
+
831
+ test("a raw __proto__ input key stays skipped in loose mode", () => {
832
+ const parsed: any = z.looseRecord(z.iso.datetime(), z.unknown()).parse(JSON.parse('{"__proto__":{"a":1}}'));
833
+
834
+ expect(Object.getPrototypeOf(parsed)).toBe(Object.prototype);
835
+ expect(Object.prototype.hasOwnProperty.call(parsed, "__proto__")).toBe(false);
836
+ });
837
+
838
+ test("partialRecord strips a declared __proto__ key", () => {
839
+ const schema = z.partialRecord(z.enum(["__proto__", "b"]), z.string());
840
+ const parsed: any = schema.parse(Object.fromEntries([["__proto__", "declared"]]));
841
+
842
+ expect(Object.getPrototypeOf(parsed)).toBe(Object.prototype);
843
+ expect(Object.prototype.hasOwnProperty.call(parsed, "__proto__")).toBe(false);
844
+ expect(parsed).toEqual({});
845
+ expect(schema.parse({})).toEqual({});
846
+ expect(schema.safeParse({ other: "x" }).success).toBe(false);
847
+ });
848
+
849
+ test("partialRecord strips a declared __proto__ key in loose mode", () => {
850
+ const key = z.enum(["__proto__"]).refine(() => false);
851
+ const schema = z.partialRecord(key, z.unknown(), { mode: "loose" });
852
+ const value = { marker: true };
853
+ const parsed: any = schema.parse(Object.fromEntries([["__proto__", value]]));
854
+
855
+ expect(Object.getPrototypeOf(parsed)).toBe(Object.prototype);
856
+ expect(Object.prototype.hasOwnProperty.call(parsed, "__proto__")).toBe(false);
857
+ expect(parsed).toEqual({});
858
+ expect(parsed.marker).toBeUndefined();
859
+ });
860
+
861
+ test("partial is internal to partialRecord", () => {
862
+ // @ts-expect-error partial is not a public record parameter
863
+ z.record(z.enum(["a"]), z.string(), { partial: true });
864
+
865
+ const schema = z.partialRecord(z.enum(["a"]), z.string(), { partial: false } as any);
866
+ expect(schema.parse({})).toEqual({});
867
+ });
868
+
869
+ test("partialRecord strips a declared __proto__ key before transforms", () => {
870
+ const schema = z.partialRecord(
871
+ z.literal("__proto__").transform(() => "safe" as const),
872
+ z.string()
873
+ );
874
+
875
+ expect(schema.parse(Object.fromEntries([["__proto__", "value"]]))).toEqual({});
876
+ });
877
+
878
+ test("a finite __proto__ key is ignored whether present or missing", () => {
879
+ const schema = z.record(z.enum(["__proto__"]), z.string());
880
+ const parsed: any = schema.parse({});
881
+
882
+ expect(Object.getPrototypeOf(parsed)).toBe(Object.prototype);
883
+ expect(Object.prototype.hasOwnProperty.call(parsed, "__proto__")).toBe(false);
884
+ expect(schema.parse(Object.fromEntries([["__proto__", 123]]))).toEqual({});
885
+ });
@@ -1,6 +1,51 @@
1
1
  import { expect, expectTypeOf, test } from "vitest";
2
2
  import { z } from "zod/v4";
3
3
 
4
+ test("recursive object schema type aliases", () => {
5
+ type ObjectField = z.ZodObject<{ [k: string]: ObjectField }>;
6
+ type MixedField = z.ZodString | z.ZodObject<{ [k: string]: MixedField }>;
7
+ expectTypeOf<ObjectField>().toExtend<z.ZodType>();
8
+ expectTypeOf<MixedField>().toExtend<z.ZodType>();
9
+
10
+ type ObjectValue = { [k: string]: ObjectValue };
11
+ type MixedValue = string | { [k: string]: MixedValue };
12
+ expectTypeOf<z.input<ObjectField>>().toEqualTypeOf<ObjectValue>();
13
+ expectTypeOf<z.output<ObjectField>>().toEqualTypeOf<ObjectValue>();
14
+ expectTypeOf<z.input<MixedField>>().toEqualTypeOf<MixedValue>();
15
+ expectTypeOf<z.output<MixedField>>().toEqualTypeOf<MixedValue>();
16
+
17
+ const schema: MixedField = z.object({ name: z.string(), nested: z.object({ name: z.string() }) });
18
+ expect(schema.parse({ name: "a", nested: { name: "b", extra: true } })).toEqual({
19
+ name: "a",
20
+ nested: { name: "b" },
21
+ });
22
+ expect(schema.safeParse({ name: "a", nested: { name: 123 } }).success).toBe(false);
23
+
24
+ type CoreField = z.core.$ZodString<string> | z.core.$ZodObject<{ [k: string]: CoreField }>;
25
+ expectTypeOf<z.input<CoreField>>().toEqualTypeOf<MixedValue>();
26
+ expectTypeOf<z.output<CoreField>>().toEqualTypeOf<MixedValue>();
27
+ });
28
+
29
+ test("recursive object aliases preserve distinct input and output", () => {
30
+ type Field = z.ZodPipe<z.ZodString, z.ZodTransform<number, string>> | z.ZodObject<{ [k: string]: Field }>;
31
+ type Input = string | { [k: string]: Input };
32
+ type Output = number | { [k: string]: Output };
33
+ expectTypeOf<z.input<Field>>().toEqualTypeOf<Input>();
34
+ expectTypeOf<z.output<Field>>().toEqualTypeOf<Output>();
35
+ const schema: Field = z.object({ nested: z.object({ length: z.string().transform((s) => s.length) }) });
36
+ expect(schema.parse({ nested: { length: "abc" } })).toEqual({ nested: { length: 3 } });
37
+ expect(schema.safeParse({ nested: { length: 3 } }).success).toBe(false);
38
+ });
39
+
40
+ test("indexed object inference preserves string keys", () => {
41
+ type Indexed = z.ZodObject<Record<string, z.ZodString>>;
42
+ type Recursive = z.ZodObject<Record<string, Recursive>>;
43
+ expectTypeOf<keyof z.input<Indexed>>().toEqualTypeOf<string>();
44
+ expectTypeOf<keyof z.output<Indexed>>().toEqualTypeOf<string>();
45
+ expectTypeOf<keyof z.input<Recursive>>().toEqualTypeOf<string>();
46
+ expectTypeOf<keyof z.output<Recursive>>().toEqualTypeOf<string>();
47
+ });
48
+
4
49
  test("recursion with z.lazy", () => {
5
50
  const data = {
6
51
  name: "I",
@@ -135,8 +180,7 @@ test("pick and omit with getter", () => {
135
180
  }
136
181
  expectTypeOf<Category>().toEqualTypeOf<_Category>();
137
182
 
138
- // Shape should not surface `readonly` modifiers from getter-defined keys.
139
- // object/strictObject/looseObject all pass shape through util.Writeable<T>.
183
+ // Shape should not surface `readonly` modifiers from getter-defined keys. object/strictObject/looseObject all pass shape through util.Writeable<T>.
140
184
  type Shape = (typeof Category)["shape"];
141
185
  expectTypeOf<Shape>().toEqualTypeOf<{ name: z.ZodString; subcategories: z.ZodArray<typeof Category> }>();
142
186
 
@@ -557,7 +601,7 @@ test("recursive object with .check()", () => {
557
601
  expect(() => Category.parse(invalidData)).toThrow();
558
602
  });
559
603
 
560
- // biome-ignore lint: sadf
604
+ // biome-ignore lint/suspicious/noExportsInTest: unexported it trips noUnusedVariables instead
561
605
  export type RecursiveA = z.ZodUnion<
562
606
  [
563
607
  z.ZodObject<{
@@ -629,3 +673,35 @@ test("recursive type with `id` meta", () => {
629
673
  },
630
674
  });
631
675
  });
676
+
677
+ test("mutual recursion through discriminatedUnion getter", () => {
678
+ const variantA = z.object({
679
+ kind: z.literal("a"),
680
+ get child() {
681
+ return tree.optional();
682
+ },
683
+ });
684
+
685
+ const variantB = z.object({
686
+ kind: z.literal("b"),
687
+ get sibling() {
688
+ return tree.optional();
689
+ },
690
+ });
691
+
692
+ const tree = z.discriminatedUnion("kind", [variantA, variantB]);
693
+
694
+ type _Tree = { kind: "a"; child?: _Tree | undefined } | { kind: "b"; sibling?: _Tree | undefined };
695
+
696
+ const treeUnion = z.union([variantA, variantB]);
697
+
698
+ expectTypeOf<z.input<typeof tree>>().toEqualTypeOf<_Tree>();
699
+ expectTypeOf<z.input<typeof tree>>().not.toBeAny();
700
+ expectTypeOf<z.input<typeof tree>>().toEqualTypeOf<z.input<typeof treeUnion>>();
701
+
702
+ expect(tree.parse({ kind: "a", child: { kind: "b", sibling: { kind: "a" } } })).toEqual({
703
+ kind: "a",
704
+ child: { kind: "b", sibling: { kind: "a" } },
705
+ });
706
+ expect(() => tree.parse({ kind: "c" })).toThrow();
707
+ });
@@ -0,0 +1,68 @@
1
+ import { checkSync } from "recheck";
2
+ import { expect, test } from "vitest";
3
+ import * as z from "zod/v4";
4
+
5
+ const { regexes } = z.core;
6
+
7
+ /** Every pattern `core/regexes.ts` ships, with the parameterized ones materialized across their argument space. */
8
+ function allPatterns(): [string, RegExp][] {
9
+ const patterns: [string, RegExp][] = [];
10
+ for (const [name, value] of Object.entries(regexes)) {
11
+ if (value instanceof RegExp) patterns.push([name, value]);
12
+ }
13
+
14
+ patterns.push(
15
+ ["emoji()", regexes.emoji()],
16
+ ["mac()", regexes.mac()],
17
+ ["mac('-')", regexes.mac("-")],
18
+ ["uuid()", regexes.uuid()],
19
+ ["string()", regexes.string()],
20
+ ["string({min,max})", regexes.string({ minimum: 1, maximum: 10 })]
21
+ );
22
+ for (const version of [1, 2, 3, 4, 5, 6, 7, 8]) patterns.push([`uuid(${version})`, regexes.uuid(version)]);
23
+ for (const precision of [null, -1, 0, 3, 6]) {
24
+ patterns.push([`time(${precision})`, regexes.time({ precision })]);
25
+ for (const local of [false, true]) {
26
+ for (const offset of [false, true]) {
27
+ patterns.push([`datetime(${precision},${local},${offset})`, regexes.datetime({ precision, local, offset })]);
28
+ }
29
+ }
30
+ }
31
+ return patterns;
32
+ }
33
+
34
+ test("no built-in pattern is ReDoS-vulnerable", () => {
35
+ const patterns = allPatterns();
36
+ // Guards against the reflection above silently going empty if the module layout changes.
37
+ expect(patterns.length).toBeGreaterThan(80);
38
+
39
+ const vulnerable: string[] = [];
40
+ for (const [name, pattern] of patterns) {
41
+ // Flags are load-bearing. Without "u" the checker reads `\p{...}` as a literal `p{...}` and reports an exponential pattern as safe.
42
+ const result = checkSync(pattern.source, pattern.flags);
43
+ // "unknown" means the checker gave up, not that the pattern is vulnerable.
44
+ if (result.status !== "vulnerable") continue;
45
+ // The fuzz checker derives "vulnerable" from how long an attack string runs, so CPU contention from parallel test files can flip a safe pattern. Confirm with a budget large enough that only real backtracking can exhaust it.
46
+ const confirmed = checkSync(pattern.source, pattern.flags, { attackTimeout: 10_000 });
47
+ if (confirmed.status === "vulnerable") vulnerable.push(`${name}: ${pattern.source}`);
48
+ }
49
+ expect(vulnerable).toEqual([]);
50
+ }, 60000);
51
+
52
+ test("emoji rejects a backtracking payload in linear time", () => {
53
+ // U+1F9B0-U+1F9B3 are the only code points in both \p{Extended_Pictographic} and \p{Emoji_Component}. A failing match over them used to backtrack exponentially: 26 of them took ~1.9s, and each additional character roughly doubled it.
54
+ const schema = z.emoji();
55
+ const payload = `${"🦰".repeat(26)} `;
56
+
57
+ // Warm up first, then take the best of three: a cold first call is dominated by JIT and can cost hundreds of times the steady-state match on a loaded machine.
58
+ expect(schema.safeParse(payload).success).toBe(false);
59
+ let best = Number.POSITIVE_INFINITY;
60
+ for (let i = 0; i < 3; i++) {
61
+ const start = performance.now();
62
+ schema.safeParse(payload);
63
+ best = Math.min(best, performance.now() - start);
64
+ }
65
+
66
+ // The linear pattern matches in well under a millisecond, so this budget leaves three orders of magnitude of headroom for CPU contention while still catching the exponential regression.
67
+ expect(best).toBeLessThan(500);
68
+ });