agentf 0.6.0 → 0.8.0

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 (774) hide show
  1. checksums.yaml +4 -4
  2. data/.opencode/agents/agentf-engineer.md +42 -0
  3. data/.opencode/agents/agentf-incident_responder.md +30 -0
  4. data/.opencode/agents/agentf-knowledge_manager.md +27 -0
  5. data/.opencode/agents/agentf-orchestrator.md +37 -0
  6. data/.opencode/agents/agentf-planner.md +27 -0
  7. data/.opencode/agents/agentf-qa_tester.md +42 -0
  8. data/.opencode/agents/agentf-researcher.md +30 -0
  9. data/.opencode/agents/agentf-reviewer.md +27 -0
  10. data/.opencode/agents/agentf-security_reviewer.md +30 -0
  11. data/.opencode/agents/agentf-ui_engineer.md +42 -0
  12. data/.opencode/bun.lock +18 -0
  13. data/.opencode/commands/agentf-architecture.md +17 -0
  14. data/.opencode/commands/agentf-debugger.md +17 -0
  15. data/.opencode/commands/agentf-designer.md +17 -0
  16. data/.opencode/commands/agentf-explorer.md +18 -0
  17. data/.opencode/commands/agentf-memory.md +19 -0
  18. data/.opencode/commands/agentf-metrics.md +17 -0
  19. data/.opencode/commands/agentf-security.md +17 -0
  20. data/.opencode/commands/agentf-tester.md +17 -0
  21. data/.opencode/memory/agentf-redis-schema.md +49 -0
  22. data/.opencode/node_modules/@opencode-ai/plugin/dist/example.d.ts +2 -0
  23. data/.opencode/node_modules/@opencode-ai/plugin/dist/example.js +16 -0
  24. data/.opencode/node_modules/@opencode-ai/plugin/dist/index.d.ts +232 -0
  25. data/.opencode/node_modules/@opencode-ai/plugin/dist/index.js +1 -0
  26. data/.opencode/node_modules/@opencode-ai/plugin/dist/shell.d.ts +109 -0
  27. data/.opencode/node_modules/@opencode-ai/plugin/dist/shell.js +0 -0
  28. data/.opencode/node_modules/@opencode-ai/plugin/dist/tool.d.ts +46 -0
  29. data/.opencode/node_modules/@opencode-ai/plugin/dist/tool.js +5 -0
  30. data/.opencode/node_modules/@opencode-ai/plugin/package.json +34 -0
  31. data/.opencode/node_modules/@opencode-ai/sdk/dist/client.d.ts +7 -0
  32. data/.opencode/node_modules/@opencode-ai/sdk/dist/client.js +25 -0
  33. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/client.gen.d.ts +2 -0
  34. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/client.gen.js +165 -0
  35. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/index.d.ts +7 -0
  36. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/index.js +5 -0
  37. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/types.gen.d.ts +127 -0
  38. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/types.gen.js +2 -0
  39. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/utils.gen.d.ts +38 -0
  40. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client/utils.gen.js +226 -0
  41. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client.gen.d.ts +12 -0
  42. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/client.gen.js +5 -0
  43. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/auth.gen.d.ts +18 -0
  44. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/auth.gen.js +14 -0
  45. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/bodySerializer.gen.d.ts +17 -0
  46. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/bodySerializer.gen.js +57 -0
  47. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/params.gen.d.ts +33 -0
  48. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/params.gen.js +89 -0
  49. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/pathSerializer.gen.d.ts +33 -0
  50. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/pathSerializer.gen.js +106 -0
  51. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/queryKeySerializer.gen.d.ts +18 -0
  52. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/queryKeySerializer.gen.js +93 -0
  53. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.d.ts +59 -0
  54. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.js +117 -0
  55. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/types.gen.d.ts +78 -0
  56. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/types.gen.js +2 -0
  57. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/utils.gen.d.ts +14 -0
  58. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/core/utils.gen.js +69 -0
  59. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/sdk.gen.d.ts +403 -0
  60. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/sdk.gen.js +881 -0
  61. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/types.gen.d.ts +3380 -0
  62. data/.opencode/node_modules/@opencode-ai/sdk/dist/gen/types.gen.js +2 -0
  63. data/.opencode/node_modules/@opencode-ai/sdk/dist/index.d.ts +10 -0
  64. data/.opencode/node_modules/@opencode-ai/sdk/dist/index.js +16 -0
  65. data/.opencode/node_modules/@opencode-ai/sdk/dist/server.d.ts +23 -0
  66. data/.opencode/node_modules/@opencode-ai/sdk/dist/server.js +94 -0
  67. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/client.d.ts +8 -0
  68. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/client.js +33 -0
  69. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/client.gen.d.ts +2 -0
  70. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/client.gen.js +232 -0
  71. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/index.d.ts +8 -0
  72. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/index.js +6 -0
  73. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/types.gen.d.ts +117 -0
  74. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/types.gen.js +2 -0
  75. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/utils.gen.d.ts +33 -0
  76. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client/utils.gen.js +226 -0
  77. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client.gen.d.ts +12 -0
  78. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/client.gen.js +3 -0
  79. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/auth.gen.d.ts +18 -0
  80. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/auth.gen.js +14 -0
  81. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/bodySerializer.gen.d.ts +25 -0
  82. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/bodySerializer.gen.js +57 -0
  83. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/params.gen.d.ts +43 -0
  84. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/params.gen.js +102 -0
  85. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/pathSerializer.gen.d.ts +33 -0
  86. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/pathSerializer.gen.js +106 -0
  87. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/queryKeySerializer.gen.d.ts +18 -0
  88. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/queryKeySerializer.gen.js +93 -0
  89. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/serverSentEvents.gen.d.ts +71 -0
  90. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/serverSentEvents.gen.js +133 -0
  91. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/types.gen.d.ts +78 -0
  92. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/types.gen.js +2 -0
  93. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/utils.gen.d.ts +19 -0
  94. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/core/utils.gen.js +87 -0
  95. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/sdk.gen.d.ts +1271 -0
  96. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/sdk.gen.js +2575 -0
  97. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/types.gen.d.ts +4290 -0
  98. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/gen/types.gen.js +2 -0
  99. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/index.d.ts +10 -0
  100. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/index.js +16 -0
  101. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/server.d.ts +23 -0
  102. data/.opencode/node_modules/@opencode-ai/sdk/dist/v2/server.js +94 -0
  103. data/.opencode/node_modules/@opencode-ai/sdk/package.json +52 -0
  104. data/.opencode/node_modules/zod/LICENSE +21 -0
  105. data/.opencode/node_modules/zod/README.md +208 -0
  106. data/.opencode/node_modules/zod/index.cjs +33 -0
  107. data/.opencode/node_modules/zod/index.d.cts +4 -0
  108. data/.opencode/node_modules/zod/index.d.ts +4 -0
  109. data/.opencode/node_modules/zod/index.js +4 -0
  110. data/.opencode/node_modules/zod/locales/index.cjs +17 -0
  111. data/.opencode/node_modules/zod/locales/index.d.cts +1 -0
  112. data/.opencode/node_modules/zod/locales/index.d.ts +1 -0
  113. data/.opencode/node_modules/zod/locales/index.js +1 -0
  114. data/.opencode/node_modules/zod/locales/package.json +6 -0
  115. data/.opencode/node_modules/zod/mini/index.cjs +17 -0
  116. data/.opencode/node_modules/zod/mini/index.d.cts +1 -0
  117. data/.opencode/node_modules/zod/mini/index.d.ts +1 -0
  118. data/.opencode/node_modules/zod/mini/index.js +1 -0
  119. data/.opencode/node_modules/zod/mini/package.json +6 -0
  120. data/.opencode/node_modules/zod/package.json +135 -0
  121. data/.opencode/node_modules/zod/src/index.ts +4 -0
  122. data/.opencode/node_modules/zod/src/locales/index.ts +1 -0
  123. data/.opencode/node_modules/zod/src/mini/index.ts +1 -0
  124. data/.opencode/node_modules/zod/src/v3/ZodError.ts +330 -0
  125. data/.opencode/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  126. data/.opencode/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  127. data/.opencode/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  128. data/.opencode/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  129. data/.opencode/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  130. data/.opencode/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  131. data/.opencode/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  132. data/.opencode/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  133. data/.opencode/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  134. data/.opencode/node_modules/zod/src/v3/errors.ts +13 -0
  135. data/.opencode/node_modules/zod/src/v3/external.ts +6 -0
  136. data/.opencode/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  137. data/.opencode/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  138. data/.opencode/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  139. data/.opencode/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  140. data/.opencode/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  141. data/.opencode/node_modules/zod/src/v3/helpers/util.ts +224 -0
  142. data/.opencode/node_modules/zod/src/v3/index.ts +4 -0
  143. data/.opencode/node_modules/zod/src/v3/locales/en.ts +124 -0
  144. data/.opencode/node_modules/zod/src/v3/standard-schema.ts +113 -0
  145. data/.opencode/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  146. data/.opencode/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  147. data/.opencode/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  148. data/.opencode/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  149. data/.opencode/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  150. data/.opencode/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  151. data/.opencode/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  152. data/.opencode/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  153. data/.opencode/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  154. data/.opencode/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  155. data/.opencode/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  156. data/.opencode/node_modules/zod/src/v3/tests/complex.test.ts +56 -0
  157. data/.opencode/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  158. data/.opencode/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  159. data/.opencode/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  160. data/.opencode/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  161. data/.opencode/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  162. data/.opencode/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  163. data/.opencode/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  164. data/.opencode/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  165. data/.opencode/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  166. data/.opencode/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  167. data/.opencode/node_modules/zod/src/v3/tests/function.test.ts +257 -0
  168. data/.opencode/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  169. data/.opencode/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  170. data/.opencode/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  171. data/.opencode/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  172. data/.opencode/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  173. data/.opencode/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  174. data/.opencode/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  175. data/.opencode/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  176. data/.opencode/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  177. data/.opencode/node_modules/zod/src/v3/tests/nan.test.ts +21 -0
  178. data/.opencode/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  179. data/.opencode/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  180. data/.opencode/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  181. data/.opencode/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  182. data/.opencode/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  183. data/.opencode/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  184. data/.opencode/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  185. data/.opencode/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  186. data/.opencode/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  187. data/.opencode/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  188. data/.opencode/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  189. data/.opencode/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  190. data/.opencode/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  191. data/.opencode/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  192. data/.opencode/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  193. data/.opencode/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  194. data/.opencode/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  195. data/.opencode/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  196. data/.opencode/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  197. data/.opencode/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  198. data/.opencode/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  199. data/.opencode/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  200. data/.opencode/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  201. data/.opencode/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  202. data/.opencode/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  203. data/.opencode/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  204. data/.opencode/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  205. data/.opencode/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  206. data/.opencode/node_modules/zod/src/v3/types.ts +5138 -0
  207. data/.opencode/node_modules/zod/src/v4/classic/checks.ts +31 -0
  208. data/.opencode/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  209. data/.opencode/node_modules/zod/src/v4/classic/compat.ts +70 -0
  210. data/.opencode/node_modules/zod/src/v4/classic/errors.ts +82 -0
  211. data/.opencode/node_modules/zod/src/v4/classic/external.ts +50 -0
  212. data/.opencode/node_modules/zod/src/v4/classic/index.ts +5 -0
  213. data/.opencode/node_modules/zod/src/v4/classic/iso.ts +90 -0
  214. data/.opencode/node_modules/zod/src/v4/classic/parse.ts +82 -0
  215. data/.opencode/node_modules/zod/src/v4/classic/schemas.ts +2205 -0
  216. data/.opencode/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  217. data/.opencode/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  218. data/.opencode/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
  219. data/.opencode/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  220. data/.opencode/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  221. data/.opencode/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  222. data/.opencode/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  223. data/.opencode/node_modules/zod/src/v4/classic/tests/brand.test.ts +63 -0
  224. data/.opencode/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
  225. data/.opencode/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  226. data/.opencode/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  227. data/.opencode/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
  228. data/.opencode/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  229. data/.opencode/node_modules/zod/src/v4/classic/tests/continuability.test.ts +352 -0
  230. data/.opencode/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  231. data/.opencode/node_modules/zod/src/v4/classic/tests/date.test.ts +31 -0
  232. data/.opencode/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  233. data/.opencode/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
  234. data/.opencode/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  235. data/.opencode/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
  236. data/.opencode/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  237. data/.opencode/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
  238. data/.opencode/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  239. data/.opencode/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  240. data/.opencode/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  241. data/.opencode/node_modules/zod/src/v4/classic/tests/function.test.ts +308 -0
  242. data/.opencode/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  243. data/.opencode/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  244. data/.opencode/node_modules/zod/src/v4/classic/tests/index.test.ts +844 -0
  245. data/.opencode/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +34 -0
  246. data/.opencode/node_modules/zod/src/v4/classic/tests/intersection.test.ts +171 -0
  247. data/.opencode/node_modules/zod/src/v4/classic/tests/json.test.ts +108 -0
  248. data/.opencode/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  249. data/.opencode/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  250. data/.opencode/node_modules/zod/src/v4/classic/tests/map.test.ts +196 -0
  251. data/.opencode/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  252. data/.opencode/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  253. data/.opencode/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  254. data/.opencode/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  255. data/.opencode/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
  256. data/.opencode/node_modules/zod/src/v4/classic/tests/object.test.ts +609 -0
  257. data/.opencode/node_modules/zod/src/v4/classic/tests/optional.test.ts +136 -0
  258. data/.opencode/node_modules/zod/src/v4/classic/tests/partial.test.ts +340 -0
  259. data/.opencode/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +127 -0
  260. data/.opencode/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  261. data/.opencode/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  262. data/.opencode/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
  263. data/.opencode/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  264. data/.opencode/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  265. data/.opencode/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  266. data/.opencode/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  267. data/.opencode/node_modules/zod/src/v4/classic/tests/record.test.ts +356 -0
  268. data/.opencode/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +539 -0
  269. data/.opencode/node_modules/zod/src/v4/classic/tests/refine.test.ts +605 -0
  270. data/.opencode/node_modules/zod/src/v4/classic/tests/registries.test.ts +204 -0
  271. data/.opencode/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  272. data/.opencode/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +57 -0
  273. data/.opencode/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  274. data/.opencode/node_modules/zod/src/v4/classic/tests/string.test.ts +1080 -0
  275. data/.opencode/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  276. data/.opencode/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +763 -0
  277. data/.opencode/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2622 -0
  278. data/.opencode/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
  279. data/.opencode/node_modules/zod/src/v4/classic/tests/tuple.test.ts +163 -0
  280. data/.opencode/node_modules/zod/src/v4/classic/tests/union.test.ts +181 -0
  281. data/.opencode/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  282. data/.opencode/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  283. data/.opencode/node_modules/zod/src/v4/core/api.ts +1621 -0
  284. data/.opencode/node_modules/zod/src/v4/core/checks.ts +1287 -0
  285. data/.opencode/node_modules/zod/src/v4/core/config.ts +15 -0
  286. data/.opencode/node_modules/zod/src/v4/core/core.ts +115 -0
  287. data/.opencode/node_modules/zod/src/v4/core/doc.ts +44 -0
  288. data/.opencode/node_modules/zod/src/v4/core/errors.ts +423 -0
  289. data/.opencode/node_modules/zod/src/v4/core/index.ts +14 -0
  290. data/.opencode/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  291. data/.opencode/node_modules/zod/src/v4/core/parse.ts +195 -0
  292. data/.opencode/node_modules/zod/src/v4/core/regexes.ts +177 -0
  293. data/.opencode/node_modules/zod/src/v4/core/registries.ts +97 -0
  294. data/.opencode/node_modules/zod/src/v4/core/schemas.ts +4303 -0
  295. data/.opencode/node_modules/zod/src/v4/core/standard-schema.ts +64 -0
  296. data/.opencode/node_modules/zod/src/v4/core/tests/extend.test.ts +18 -0
  297. data/.opencode/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  298. data/.opencode/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  299. data/.opencode/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  300. data/.opencode/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  301. data/.opencode/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  302. data/.opencode/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  303. data/.opencode/node_modules/zod/src/v4/core/to-json-schema.ts +1044 -0
  304. data/.opencode/node_modules/zod/src/v4/core/util.ts +910 -0
  305. data/.opencode/node_modules/zod/src/v4/core/versions.ts +5 -0
  306. data/.opencode/node_modules/zod/src/v4/core/zsf.ts +323 -0
  307. data/.opencode/node_modules/zod/src/v4/index.ts +4 -0
  308. data/.opencode/node_modules/zod/src/v4/locales/ar.ts +125 -0
  309. data/.opencode/node_modules/zod/src/v4/locales/az.ts +121 -0
  310. data/.opencode/node_modules/zod/src/v4/locales/be.ts +184 -0
  311. data/.opencode/node_modules/zod/src/v4/locales/bg.ts +136 -0
  312. data/.opencode/node_modules/zod/src/v4/locales/ca.ts +127 -0
  313. data/.opencode/node_modules/zod/src/v4/locales/cs.ts +142 -0
  314. data/.opencode/node_modules/zod/src/v4/locales/da.ts +141 -0
  315. data/.opencode/node_modules/zod/src/v4/locales/de.ts +124 -0
  316. data/.opencode/node_modules/zod/src/v4/locales/en.ts +127 -0
  317. data/.opencode/node_modules/zod/src/v4/locales/eo.ts +125 -0
  318. data/.opencode/node_modules/zod/src/v4/locales/es.ts +159 -0
  319. data/.opencode/node_modules/zod/src/v4/locales/fa.ts +134 -0
  320. data/.opencode/node_modules/zod/src/v4/locales/fi.ts +131 -0
  321. data/.opencode/node_modules/zod/src/v4/locales/fr-CA.ts +126 -0
  322. data/.opencode/node_modules/zod/src/v4/locales/fr.ts +124 -0
  323. data/.opencode/node_modules/zod/src/v4/locales/he.ts +125 -0
  324. data/.opencode/node_modules/zod/src/v4/locales/hu.ts +126 -0
  325. data/.opencode/node_modules/zod/src/v4/locales/id.ts +125 -0
  326. data/.opencode/node_modules/zod/src/v4/locales/index.ts +46 -0
  327. data/.opencode/node_modules/zod/src/v4/locales/is.ts +127 -0
  328. data/.opencode/node_modules/zod/src/v4/locales/it.ts +125 -0
  329. data/.opencode/node_modules/zod/src/v4/locales/ja.ts +122 -0
  330. data/.opencode/node_modules/zod/src/v4/locales/ka.ts +138 -0
  331. data/.opencode/node_modules/zod/src/v4/locales/kh.ts +7 -0
  332. data/.opencode/node_modules/zod/src/v4/locales/km.ts +126 -0
  333. data/.opencode/node_modules/zod/src/v4/locales/ko.ts +131 -0
  334. data/.opencode/node_modules/zod/src/v4/locales/lt.ts +265 -0
  335. data/.opencode/node_modules/zod/src/v4/locales/mk.ts +127 -0
  336. data/.opencode/node_modules/zod/src/v4/locales/ms.ts +124 -0
  337. data/.opencode/node_modules/zod/src/v4/locales/nl.ts +126 -0
  338. data/.opencode/node_modules/zod/src/v4/locales/no.ts +124 -0
  339. data/.opencode/node_modules/zod/src/v4/locales/ota.ts +125 -0
  340. data/.opencode/node_modules/zod/src/v4/locales/pl.ts +126 -0
  341. data/.opencode/node_modules/zod/src/v4/locales/ps.ts +133 -0
  342. data/.opencode/node_modules/zod/src/v4/locales/pt.ts +123 -0
  343. data/.opencode/node_modules/zod/src/v4/locales/ru.ts +184 -0
  344. data/.opencode/node_modules/zod/src/v4/locales/sl.ts +126 -0
  345. data/.opencode/node_modules/zod/src/v4/locales/sv.ts +127 -0
  346. data/.opencode/node_modules/zod/src/v4/locales/ta.ts +125 -0
  347. data/.opencode/node_modules/zod/src/v4/locales/th.ts +126 -0
  348. data/.opencode/node_modules/zod/src/v4/locales/tr.ts +121 -0
  349. data/.opencode/node_modules/zod/src/v4/locales/ua.ts +7 -0
  350. data/.opencode/node_modules/zod/src/v4/locales/uk.ts +126 -0
  351. data/.opencode/node_modules/zod/src/v4/locales/ur.ts +126 -0
  352. data/.opencode/node_modules/zod/src/v4/locales/vi.ts +125 -0
  353. data/.opencode/node_modules/zod/src/v4/locales/yo.ts +131 -0
  354. data/.opencode/node_modules/zod/src/v4/locales/zh-CN.ts +123 -0
  355. data/.opencode/node_modules/zod/src/v4/locales/zh-TW.ts +125 -0
  356. data/.opencode/node_modules/zod/src/v4/mini/checks.ts +32 -0
  357. data/.opencode/node_modules/zod/src/v4/mini/coerce.ts +22 -0
  358. data/.opencode/node_modules/zod/src/v4/mini/external.ts +40 -0
  359. data/.opencode/node_modules/zod/src/v4/mini/index.ts +3 -0
  360. data/.opencode/node_modules/zod/src/v4/mini/iso.ts +62 -0
  361. data/.opencode/node_modules/zod/src/v4/mini/parse.ts +14 -0
  362. data/.opencode/node_modules/zod/src/v4/mini/schemas.ts +1739 -0
  363. data/.opencode/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  364. data/.opencode/node_modules/zod/src/v4/mini/tests/brand.test.ts +51 -0
  365. data/.opencode/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  366. data/.opencode/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
  367. data/.opencode/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  368. data/.opencode/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  369. data/.opencode/node_modules/zod/src/v4/mini/tests/functions.test.ts +43 -0
  370. data/.opencode/node_modules/zod/src/v4/mini/tests/index.test.ts +899 -0
  371. data/.opencode/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  372. data/.opencode/node_modules/zod/src/v4/mini/tests/object.test.ts +200 -0
  373. data/.opencode/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  374. data/.opencode/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
  375. data/.opencode/node_modules/zod/src/v4/mini/tests/string.test.ts +315 -0
  376. data/.opencode/node_modules/zod/src/v4-mini/index.ts +1 -0
  377. data/.opencode/node_modules/zod/v3/ZodError.cjs +138 -0
  378. data/.opencode/node_modules/zod/v3/ZodError.d.cts +164 -0
  379. data/.opencode/node_modules/zod/v3/ZodError.d.ts +164 -0
  380. data/.opencode/node_modules/zod/v3/ZodError.js +133 -0
  381. data/.opencode/node_modules/zod/v3/errors.cjs +17 -0
  382. data/.opencode/node_modules/zod/v3/errors.d.cts +5 -0
  383. data/.opencode/node_modules/zod/v3/errors.d.ts +5 -0
  384. data/.opencode/node_modules/zod/v3/errors.js +9 -0
  385. data/.opencode/node_modules/zod/v3/external.cjs +22 -0
  386. data/.opencode/node_modules/zod/v3/external.d.cts +6 -0
  387. data/.opencode/node_modules/zod/v3/external.d.ts +6 -0
  388. data/.opencode/node_modules/zod/v3/external.js +6 -0
  389. data/.opencode/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  390. data/.opencode/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  391. data/.opencode/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  392. data/.opencode/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  393. data/.opencode/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  394. data/.opencode/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  395. data/.opencode/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  396. data/.opencode/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  397. data/.opencode/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  398. data/.opencode/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  399. data/.opencode/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  400. data/.opencode/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  401. data/.opencode/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  402. data/.opencode/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  403. data/.opencode/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  404. data/.opencode/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  405. data/.opencode/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  406. data/.opencode/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  407. data/.opencode/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  408. data/.opencode/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  409. data/.opencode/node_modules/zod/v3/helpers/util.cjs +137 -0
  410. data/.opencode/node_modules/zod/v3/helpers/util.d.cts +85 -0
  411. data/.opencode/node_modules/zod/v3/helpers/util.d.ts +85 -0
  412. data/.opencode/node_modules/zod/v3/helpers/util.js +133 -0
  413. data/.opencode/node_modules/zod/v3/index.cjs +33 -0
  414. data/.opencode/node_modules/zod/v3/index.d.cts +4 -0
  415. data/.opencode/node_modules/zod/v3/index.d.ts +4 -0
  416. data/.opencode/node_modules/zod/v3/index.js +4 -0
  417. data/.opencode/node_modules/zod/v3/locales/en.cjs +112 -0
  418. data/.opencode/node_modules/zod/v3/locales/en.d.cts +3 -0
  419. data/.opencode/node_modules/zod/v3/locales/en.d.ts +3 -0
  420. data/.opencode/node_modules/zod/v3/locales/en.js +109 -0
  421. data/.opencode/node_modules/zod/v3/package.json +6 -0
  422. data/.opencode/node_modules/zod/v3/standard-schema.cjs +2 -0
  423. data/.opencode/node_modules/zod/v3/standard-schema.d.cts +102 -0
  424. data/.opencode/node_modules/zod/v3/standard-schema.d.ts +102 -0
  425. data/.opencode/node_modules/zod/v3/standard-schema.js +1 -0
  426. data/.opencode/node_modules/zod/v3/types.cjs +3777 -0
  427. data/.opencode/node_modules/zod/v3/types.d.cts +1034 -0
  428. data/.opencode/node_modules/zod/v3/types.d.ts +1034 -0
  429. data/.opencode/node_modules/zod/v3/types.js +3695 -0
  430. data/.opencode/node_modules/zod/v4/classic/checks.cjs +32 -0
  431. data/.opencode/node_modules/zod/v4/classic/checks.d.cts +1 -0
  432. data/.opencode/node_modules/zod/v4/classic/checks.d.ts +1 -0
  433. data/.opencode/node_modules/zod/v4/classic/checks.js +1 -0
  434. data/.opencode/node_modules/zod/v4/classic/coerce.cjs +47 -0
  435. data/.opencode/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  436. data/.opencode/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  437. data/.opencode/node_modules/zod/v4/classic/coerce.js +17 -0
  438. data/.opencode/node_modules/zod/v4/classic/compat.cjs +61 -0
  439. data/.opencode/node_modules/zod/v4/classic/compat.d.cts +50 -0
  440. data/.opencode/node_modules/zod/v4/classic/compat.d.ts +50 -0
  441. data/.opencode/node_modules/zod/v4/classic/compat.js +31 -0
  442. data/.opencode/node_modules/zod/v4/classic/errors.cjs +74 -0
  443. data/.opencode/node_modules/zod/v4/classic/errors.d.cts +30 -0
  444. data/.opencode/node_modules/zod/v4/classic/errors.d.ts +30 -0
  445. data/.opencode/node_modules/zod/v4/classic/errors.js +48 -0
  446. data/.opencode/node_modules/zod/v4/classic/external.cjs +70 -0
  447. data/.opencode/node_modules/zod/v4/classic/external.d.cts +13 -0
  448. data/.opencode/node_modules/zod/v4/classic/external.d.ts +13 -0
  449. data/.opencode/node_modules/zod/v4/classic/external.js +18 -0
  450. data/.opencode/node_modules/zod/v4/classic/index.cjs +33 -0
  451. data/.opencode/node_modules/zod/v4/classic/index.d.cts +4 -0
  452. data/.opencode/node_modules/zod/v4/classic/index.d.ts +4 -0
  453. data/.opencode/node_modules/zod/v4/classic/index.js +4 -0
  454. data/.opencode/node_modules/zod/v4/classic/iso.cjs +60 -0
  455. data/.opencode/node_modules/zod/v4/classic/iso.d.cts +22 -0
  456. data/.opencode/node_modules/zod/v4/classic/iso.d.ts +22 -0
  457. data/.opencode/node_modules/zod/v4/classic/iso.js +30 -0
  458. data/.opencode/node_modules/zod/v4/classic/package.json +6 -0
  459. data/.opencode/node_modules/zod/v4/classic/parse.cjs +41 -0
  460. data/.opencode/node_modules/zod/v4/classic/parse.d.cts +31 -0
  461. data/.opencode/node_modules/zod/v4/classic/parse.d.ts +31 -0
  462. data/.opencode/node_modules/zod/v4/classic/parse.js +15 -0
  463. data/.opencode/node_modules/zod/v4/classic/schemas.cjs +1161 -0
  464. data/.opencode/node_modules/zod/v4/classic/schemas.d.cts +673 -0
  465. data/.opencode/node_modules/zod/v4/classic/schemas.d.ts +673 -0
  466. data/.opencode/node_modules/zod/v4/classic/schemas.js +1050 -0
  467. data/.opencode/node_modules/zod/v4/core/api.cjs +1060 -0
  468. data/.opencode/node_modules/zod/v4/core/api.d.cts +295 -0
  469. data/.opencode/node_modules/zod/v4/core/api.d.ts +295 -0
  470. data/.opencode/node_modules/zod/v4/core/api.js +925 -0
  471. data/.opencode/node_modules/zod/v4/core/checks.cjs +595 -0
  472. data/.opencode/node_modules/zod/v4/core/checks.d.cts +278 -0
  473. data/.opencode/node_modules/zod/v4/core/checks.d.ts +278 -0
  474. data/.opencode/node_modules/zod/v4/core/checks.js +569 -0
  475. data/.opencode/node_modules/zod/v4/core/core.cjs +74 -0
  476. data/.opencode/node_modules/zod/v4/core/core.d.cts +52 -0
  477. data/.opencode/node_modules/zod/v4/core/core.d.ts +52 -0
  478. data/.opencode/node_modules/zod/v4/core/core.js +67 -0
  479. data/.opencode/node_modules/zod/v4/core/doc.cjs +39 -0
  480. data/.opencode/node_modules/zod/v4/core/doc.d.cts +14 -0
  481. data/.opencode/node_modules/zod/v4/core/doc.d.ts +14 -0
  482. data/.opencode/node_modules/zod/v4/core/doc.js +35 -0
  483. data/.opencode/node_modules/zod/v4/core/errors.cjs +221 -0
  484. data/.opencode/node_modules/zod/v4/core/errors.d.cts +210 -0
  485. data/.opencode/node_modules/zod/v4/core/errors.d.ts +210 -0
  486. data/.opencode/node_modules/zod/v4/core/errors.js +190 -0
  487. data/.opencode/node_modules/zod/v4/core/index.cjs +43 -0
  488. data/.opencode/node_modules/zod/v4/core/index.d.cts +14 -0
  489. data/.opencode/node_modules/zod/v4/core/index.d.ts +14 -0
  490. data/.opencode/node_modules/zod/v4/core/index.js +14 -0
  491. data/.opencode/node_modules/zod/v4/core/json-schema.cjs +2 -0
  492. data/.opencode/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  493. data/.opencode/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  494. data/.opencode/node_modules/zod/v4/core/json-schema.js +1 -0
  495. data/.opencode/node_modules/zod/v4/core/package.json +6 -0
  496. data/.opencode/node_modules/zod/v4/core/parse.cjs +131 -0
  497. data/.opencode/node_modules/zod/v4/core/parse.d.cts +49 -0
  498. data/.opencode/node_modules/zod/v4/core/parse.d.ts +49 -0
  499. data/.opencode/node_modules/zod/v4/core/parse.js +93 -0
  500. data/.opencode/node_modules/zod/v4/core/regexes.cjs +136 -0
  501. data/.opencode/node_modules/zod/v4/core/regexes.d.cts +78 -0
  502. data/.opencode/node_modules/zod/v4/core/regexes.d.ts +78 -0
  503. data/.opencode/node_modules/zod/v4/core/regexes.js +127 -0
  504. data/.opencode/node_modules/zod/v4/core/registries.cjs +57 -0
  505. data/.opencode/node_modules/zod/v4/core/registries.d.cts +35 -0
  506. data/.opencode/node_modules/zod/v4/core/registries.d.ts +35 -0
  507. data/.opencode/node_modules/zod/v4/core/registries.js +52 -0
  508. data/.opencode/node_modules/zod/v4/core/schemas.cjs +1972 -0
  509. data/.opencode/node_modules/zod/v4/core/schemas.d.cts +1113 -0
  510. data/.opencode/node_modules/zod/v4/core/schemas.d.ts +1113 -0
  511. data/.opencode/node_modules/zod/v4/core/schemas.js +1941 -0
  512. data/.opencode/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  513. data/.opencode/node_modules/zod/v4/core/standard-schema.d.cts +55 -0
  514. data/.opencode/node_modules/zod/v4/core/standard-schema.d.ts +55 -0
  515. data/.opencode/node_modules/zod/v4/core/standard-schema.js +1 -0
  516. data/.opencode/node_modules/zod/v4/core/to-json-schema.cjs +920 -0
  517. data/.opencode/node_modules/zod/v4/core/to-json-schema.d.cts +90 -0
  518. data/.opencode/node_modules/zod/v4/core/to-json-schema.d.ts +90 -0
  519. data/.opencode/node_modules/zod/v4/core/to-json-schema.js +915 -0
  520. data/.opencode/node_modules/zod/v4/core/util.cjs +658 -0
  521. data/.opencode/node_modules/zod/v4/core/util.d.cts +197 -0
  522. data/.opencode/node_modules/zod/v4/core/util.d.ts +197 -0
  523. data/.opencode/node_modules/zod/v4/core/util.js +601 -0
  524. data/.opencode/node_modules/zod/v4/core/versions.cjs +8 -0
  525. data/.opencode/node_modules/zod/v4/core/versions.d.cts +5 -0
  526. data/.opencode/node_modules/zod/v4/core/versions.d.ts +5 -0
  527. data/.opencode/node_modules/zod/v4/core/versions.js +5 -0
  528. data/.opencode/node_modules/zod/v4/index.cjs +22 -0
  529. data/.opencode/node_modules/zod/v4/index.d.cts +3 -0
  530. data/.opencode/node_modules/zod/v4/index.d.ts +3 -0
  531. data/.opencode/node_modules/zod/v4/index.js +3 -0
  532. data/.opencode/node_modules/zod/v4/locales/ar.cjs +143 -0
  533. data/.opencode/node_modules/zod/v4/locales/ar.d.cts +5 -0
  534. data/.opencode/node_modules/zod/v4/locales/ar.d.ts +4 -0
  535. data/.opencode/node_modules/zod/v4/locales/ar.js +116 -0
  536. data/.opencode/node_modules/zod/v4/locales/az.cjs +142 -0
  537. data/.opencode/node_modules/zod/v4/locales/az.d.cts +5 -0
  538. data/.opencode/node_modules/zod/v4/locales/az.d.ts +4 -0
  539. data/.opencode/node_modules/zod/v4/locales/az.js +115 -0
  540. data/.opencode/node_modules/zod/v4/locales/be.cjs +191 -0
  541. data/.opencode/node_modules/zod/v4/locales/be.d.cts +5 -0
  542. data/.opencode/node_modules/zod/v4/locales/be.d.ts +4 -0
  543. data/.opencode/node_modules/zod/v4/locales/be.js +164 -0
  544. data/.opencode/node_modules/zod/v4/locales/bg.cjs +156 -0
  545. data/.opencode/node_modules/zod/v4/locales/bg.d.cts +5 -0
  546. data/.opencode/node_modules/zod/v4/locales/bg.d.ts +5 -0
  547. data/.opencode/node_modules/zod/v4/locales/bg.js +128 -0
  548. data/.opencode/node_modules/zod/v4/locales/ca.cjs +145 -0
  549. data/.opencode/node_modules/zod/v4/locales/ca.d.cts +5 -0
  550. data/.opencode/node_modules/zod/v4/locales/ca.d.ts +4 -0
  551. data/.opencode/node_modules/zod/v4/locales/ca.js +118 -0
  552. data/.opencode/node_modules/zod/v4/locales/cs.cjs +162 -0
  553. data/.opencode/node_modules/zod/v4/locales/cs.d.cts +5 -0
  554. data/.opencode/node_modules/zod/v4/locales/cs.d.ts +4 -0
  555. data/.opencode/node_modules/zod/v4/locales/cs.js +135 -0
  556. data/.opencode/node_modules/zod/v4/locales/da.cjs +158 -0
  557. data/.opencode/node_modules/zod/v4/locales/da.d.cts +5 -0
  558. data/.opencode/node_modules/zod/v4/locales/da.d.ts +4 -0
  559. data/.opencode/node_modules/zod/v4/locales/da.js +131 -0
  560. data/.opencode/node_modules/zod/v4/locales/de.cjs +143 -0
  561. data/.opencode/node_modules/zod/v4/locales/de.d.cts +5 -0
  562. data/.opencode/node_modules/zod/v4/locales/de.d.ts +4 -0
  563. data/.opencode/node_modules/zod/v4/locales/de.js +116 -0
  564. data/.opencode/node_modules/zod/v4/locales/en.cjs +145 -0
  565. data/.opencode/node_modules/zod/v4/locales/en.d.cts +5 -0
  566. data/.opencode/node_modules/zod/v4/locales/en.d.ts +5 -0
  567. data/.opencode/node_modules/zod/v4/locales/en.js +117 -0
  568. data/.opencode/node_modules/zod/v4/locales/eo.cjs +144 -0
  569. data/.opencode/node_modules/zod/v4/locales/eo.d.cts +5 -0
  570. data/.opencode/node_modules/zod/v4/locales/eo.d.ts +5 -0
  571. data/.opencode/node_modules/zod/v4/locales/eo.js +116 -0
  572. data/.opencode/node_modules/zod/v4/locales/es.cjs +176 -0
  573. data/.opencode/node_modules/zod/v4/locales/es.d.cts +5 -0
  574. data/.opencode/node_modules/zod/v4/locales/es.d.ts +4 -0
  575. data/.opencode/node_modules/zod/v4/locales/es.js +149 -0
  576. data/.opencode/node_modules/zod/v4/locales/fa.cjs +149 -0
  577. data/.opencode/node_modules/zod/v4/locales/fa.d.cts +5 -0
  578. data/.opencode/node_modules/zod/v4/locales/fa.d.ts +4 -0
  579. data/.opencode/node_modules/zod/v4/locales/fa.js +122 -0
  580. data/.opencode/node_modules/zod/v4/locales/fi.cjs +149 -0
  581. data/.opencode/node_modules/zod/v4/locales/fi.d.cts +5 -0
  582. data/.opencode/node_modules/zod/v4/locales/fi.d.ts +4 -0
  583. data/.opencode/node_modules/zod/v4/locales/fi.js +122 -0
  584. data/.opencode/node_modules/zod/v4/locales/fr-CA.cjs +144 -0
  585. data/.opencode/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  586. data/.opencode/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  587. data/.opencode/node_modules/zod/v4/locales/fr-CA.js +117 -0
  588. data/.opencode/node_modules/zod/v4/locales/fr.cjs +143 -0
  589. data/.opencode/node_modules/zod/v4/locales/fr.d.cts +5 -0
  590. data/.opencode/node_modules/zod/v4/locales/fr.d.ts +4 -0
  591. data/.opencode/node_modules/zod/v4/locales/fr.js +116 -0
  592. data/.opencode/node_modules/zod/v4/locales/he.cjs +144 -0
  593. data/.opencode/node_modules/zod/v4/locales/he.d.cts +5 -0
  594. data/.opencode/node_modules/zod/v4/locales/he.d.ts +4 -0
  595. data/.opencode/node_modules/zod/v4/locales/he.js +117 -0
  596. data/.opencode/node_modules/zod/v4/locales/hu.cjs +144 -0
  597. data/.opencode/node_modules/zod/v4/locales/hu.d.cts +5 -0
  598. data/.opencode/node_modules/zod/v4/locales/hu.d.ts +4 -0
  599. data/.opencode/node_modules/zod/v4/locales/hu.js +117 -0
  600. data/.opencode/node_modules/zod/v4/locales/id.cjs +143 -0
  601. data/.opencode/node_modules/zod/v4/locales/id.d.cts +5 -0
  602. data/.opencode/node_modules/zod/v4/locales/id.d.ts +4 -0
  603. data/.opencode/node_modules/zod/v4/locales/id.js +116 -0
  604. data/.opencode/node_modules/zod/v4/locales/index.cjs +98 -0
  605. data/.opencode/node_modules/zod/v4/locales/index.d.cts +46 -0
  606. data/.opencode/node_modules/zod/v4/locales/index.d.ts +46 -0
  607. data/.opencode/node_modules/zod/v4/locales/index.js +46 -0
  608. data/.opencode/node_modules/zod/v4/locales/is.cjs +145 -0
  609. data/.opencode/node_modules/zod/v4/locales/is.d.cts +5 -0
  610. data/.opencode/node_modules/zod/v4/locales/is.d.ts +5 -0
  611. data/.opencode/node_modules/zod/v4/locales/is.js +117 -0
  612. data/.opencode/node_modules/zod/v4/locales/it.cjs +144 -0
  613. data/.opencode/node_modules/zod/v4/locales/it.d.cts +5 -0
  614. data/.opencode/node_modules/zod/v4/locales/it.d.ts +4 -0
  615. data/.opencode/node_modules/zod/v4/locales/it.js +117 -0
  616. data/.opencode/node_modules/zod/v4/locales/ja.cjs +142 -0
  617. data/.opencode/node_modules/zod/v4/locales/ja.d.cts +5 -0
  618. data/.opencode/node_modules/zod/v4/locales/ja.d.ts +4 -0
  619. data/.opencode/node_modules/zod/v4/locales/ja.js +115 -0
  620. data/.opencode/node_modules/zod/v4/locales/ka.cjs +153 -0
  621. data/.opencode/node_modules/zod/v4/locales/ka.d.cts +5 -0
  622. data/.opencode/node_modules/zod/v4/locales/ka.d.ts +5 -0
  623. data/.opencode/node_modules/zod/v4/locales/ka.js +125 -0
  624. data/.opencode/node_modules/zod/v4/locales/kh.cjs +12 -0
  625. data/.opencode/node_modules/zod/v4/locales/kh.d.cts +5 -0
  626. data/.opencode/node_modules/zod/v4/locales/kh.d.ts +5 -0
  627. data/.opencode/node_modules/zod/v4/locales/kh.js +5 -0
  628. data/.opencode/node_modules/zod/v4/locales/km.cjs +144 -0
  629. data/.opencode/node_modules/zod/v4/locales/km.d.cts +5 -0
  630. data/.opencode/node_modules/zod/v4/locales/km.d.ts +4 -0
  631. data/.opencode/node_modules/zod/v4/locales/km.js +117 -0
  632. data/.opencode/node_modules/zod/v4/locales/ko.cjs +148 -0
  633. data/.opencode/node_modules/zod/v4/locales/ko.d.cts +5 -0
  634. data/.opencode/node_modules/zod/v4/locales/ko.d.ts +4 -0
  635. data/.opencode/node_modules/zod/v4/locales/ko.js +121 -0
  636. data/.opencode/node_modules/zod/v4/locales/lt.cjs +258 -0
  637. data/.opencode/node_modules/zod/v4/locales/lt.d.cts +5 -0
  638. data/.opencode/node_modules/zod/v4/locales/lt.d.ts +5 -0
  639. data/.opencode/node_modules/zod/v4/locales/lt.js +230 -0
  640. data/.opencode/node_modules/zod/v4/locales/mk.cjs +145 -0
  641. data/.opencode/node_modules/zod/v4/locales/mk.d.cts +5 -0
  642. data/.opencode/node_modules/zod/v4/locales/mk.d.ts +4 -0
  643. data/.opencode/node_modules/zod/v4/locales/mk.js +118 -0
  644. data/.opencode/node_modules/zod/v4/locales/ms.cjs +143 -0
  645. data/.opencode/node_modules/zod/v4/locales/ms.d.cts +5 -0
  646. data/.opencode/node_modules/zod/v4/locales/ms.d.ts +4 -0
  647. data/.opencode/node_modules/zod/v4/locales/ms.js +116 -0
  648. data/.opencode/node_modules/zod/v4/locales/nl.cjs +144 -0
  649. data/.opencode/node_modules/zod/v4/locales/nl.d.cts +5 -0
  650. data/.opencode/node_modules/zod/v4/locales/nl.d.ts +4 -0
  651. data/.opencode/node_modules/zod/v4/locales/nl.js +117 -0
  652. data/.opencode/node_modules/zod/v4/locales/no.cjs +143 -0
  653. data/.opencode/node_modules/zod/v4/locales/no.d.cts +5 -0
  654. data/.opencode/node_modules/zod/v4/locales/no.d.ts +4 -0
  655. data/.opencode/node_modules/zod/v4/locales/no.js +116 -0
  656. data/.opencode/node_modules/zod/v4/locales/ota.cjs +144 -0
  657. data/.opencode/node_modules/zod/v4/locales/ota.d.cts +5 -0
  658. data/.opencode/node_modules/zod/v4/locales/ota.d.ts +4 -0
  659. data/.opencode/node_modules/zod/v4/locales/ota.js +117 -0
  660. data/.opencode/node_modules/zod/v4/locales/package.json +6 -0
  661. data/.opencode/node_modules/zod/v4/locales/pl.cjs +144 -0
  662. data/.opencode/node_modules/zod/v4/locales/pl.d.cts +5 -0
  663. data/.opencode/node_modules/zod/v4/locales/pl.d.ts +4 -0
  664. data/.opencode/node_modules/zod/v4/locales/pl.js +117 -0
  665. data/.opencode/node_modules/zod/v4/locales/ps.cjs +149 -0
  666. data/.opencode/node_modules/zod/v4/locales/ps.d.cts +5 -0
  667. data/.opencode/node_modules/zod/v4/locales/ps.d.ts +4 -0
  668. data/.opencode/node_modules/zod/v4/locales/ps.js +122 -0
  669. data/.opencode/node_modules/zod/v4/locales/pt.cjs +143 -0
  670. data/.opencode/node_modules/zod/v4/locales/pt.d.cts +5 -0
  671. data/.opencode/node_modules/zod/v4/locales/pt.d.ts +4 -0
  672. data/.opencode/node_modules/zod/v4/locales/pt.js +116 -0
  673. data/.opencode/node_modules/zod/v4/locales/ru.cjs +191 -0
  674. data/.opencode/node_modules/zod/v4/locales/ru.d.cts +5 -0
  675. data/.opencode/node_modules/zod/v4/locales/ru.d.ts +4 -0
  676. data/.opencode/node_modules/zod/v4/locales/ru.js +164 -0
  677. data/.opencode/node_modules/zod/v4/locales/sl.cjs +144 -0
  678. data/.opencode/node_modules/zod/v4/locales/sl.d.cts +5 -0
  679. data/.opencode/node_modules/zod/v4/locales/sl.d.ts +4 -0
  680. data/.opencode/node_modules/zod/v4/locales/sl.js +117 -0
  681. data/.opencode/node_modules/zod/v4/locales/sv.cjs +145 -0
  682. data/.opencode/node_modules/zod/v4/locales/sv.d.cts +5 -0
  683. data/.opencode/node_modules/zod/v4/locales/sv.d.ts +4 -0
  684. data/.opencode/node_modules/zod/v4/locales/sv.js +118 -0
  685. data/.opencode/node_modules/zod/v4/locales/ta.cjs +144 -0
  686. data/.opencode/node_modules/zod/v4/locales/ta.d.cts +5 -0
  687. data/.opencode/node_modules/zod/v4/locales/ta.d.ts +4 -0
  688. data/.opencode/node_modules/zod/v4/locales/ta.js +117 -0
  689. data/.opencode/node_modules/zod/v4/locales/th.cjs +144 -0
  690. data/.opencode/node_modules/zod/v4/locales/th.d.cts +5 -0
  691. data/.opencode/node_modules/zod/v4/locales/th.d.ts +4 -0
  692. data/.opencode/node_modules/zod/v4/locales/th.js +117 -0
  693. data/.opencode/node_modules/zod/v4/locales/tr.cjs +143 -0
  694. data/.opencode/node_modules/zod/v4/locales/tr.d.cts +5 -0
  695. data/.opencode/node_modules/zod/v4/locales/tr.d.ts +5 -0
  696. data/.opencode/node_modules/zod/v4/locales/tr.js +115 -0
  697. data/.opencode/node_modules/zod/v4/locales/ua.cjs +12 -0
  698. data/.opencode/node_modules/zod/v4/locales/ua.d.cts +5 -0
  699. data/.opencode/node_modules/zod/v4/locales/ua.d.ts +5 -0
  700. data/.opencode/node_modules/zod/v4/locales/ua.js +5 -0
  701. data/.opencode/node_modules/zod/v4/locales/uk.cjs +144 -0
  702. data/.opencode/node_modules/zod/v4/locales/uk.d.cts +5 -0
  703. data/.opencode/node_modules/zod/v4/locales/uk.d.ts +4 -0
  704. data/.opencode/node_modules/zod/v4/locales/uk.js +117 -0
  705. data/.opencode/node_modules/zod/v4/locales/ur.cjs +144 -0
  706. data/.opencode/node_modules/zod/v4/locales/ur.d.cts +5 -0
  707. data/.opencode/node_modules/zod/v4/locales/ur.d.ts +4 -0
  708. data/.opencode/node_modules/zod/v4/locales/ur.js +117 -0
  709. data/.opencode/node_modules/zod/v4/locales/vi.cjs +143 -0
  710. data/.opencode/node_modules/zod/v4/locales/vi.d.cts +5 -0
  711. data/.opencode/node_modules/zod/v4/locales/vi.d.ts +4 -0
  712. data/.opencode/node_modules/zod/v4/locales/vi.js +116 -0
  713. data/.opencode/node_modules/zod/v4/locales/yo.cjs +142 -0
  714. data/.opencode/node_modules/zod/v4/locales/yo.d.cts +5 -0
  715. data/.opencode/node_modules/zod/v4/locales/yo.d.ts +4 -0
  716. data/.opencode/node_modules/zod/v4/locales/yo.js +115 -0
  717. data/.opencode/node_modules/zod/v4/locales/zh-CN.cjs +143 -0
  718. data/.opencode/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  719. data/.opencode/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  720. data/.opencode/node_modules/zod/v4/locales/zh-CN.js +116 -0
  721. data/.opencode/node_modules/zod/v4/locales/zh-TW.cjs +144 -0
  722. data/.opencode/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  723. data/.opencode/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  724. data/.opencode/node_modules/zod/v4/locales/zh-TW.js +117 -0
  725. data/.opencode/node_modules/zod/v4/mini/checks.cjs +34 -0
  726. data/.opencode/node_modules/zod/v4/mini/checks.d.cts +1 -0
  727. data/.opencode/node_modules/zod/v4/mini/checks.d.ts +1 -0
  728. data/.opencode/node_modules/zod/v4/mini/checks.js +1 -0
  729. data/.opencode/node_modules/zod/v4/mini/coerce.cjs +47 -0
  730. data/.opencode/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  731. data/.opencode/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  732. data/.opencode/node_modules/zod/v4/mini/coerce.js +17 -0
  733. data/.opencode/node_modules/zod/v4/mini/external.cjs +62 -0
  734. data/.opencode/node_modules/zod/v4/mini/external.d.cts +11 -0
  735. data/.opencode/node_modules/zod/v4/mini/external.d.ts +11 -0
  736. data/.opencode/node_modules/zod/v4/mini/external.js +13 -0
  737. data/.opencode/node_modules/zod/v4/mini/index.cjs +32 -0
  738. data/.opencode/node_modules/zod/v4/mini/index.d.cts +3 -0
  739. data/.opencode/node_modules/zod/v4/mini/index.d.ts +3 -0
  740. data/.opencode/node_modules/zod/v4/mini/index.js +3 -0
  741. data/.opencode/node_modules/zod/v4/mini/iso.cjs +60 -0
  742. data/.opencode/node_modules/zod/v4/mini/iso.d.cts +22 -0
  743. data/.opencode/node_modules/zod/v4/mini/iso.d.ts +22 -0
  744. data/.opencode/node_modules/zod/v4/mini/iso.js +30 -0
  745. data/.opencode/node_modules/zod/v4/mini/package.json +6 -0
  746. data/.opencode/node_modules/zod/v4/mini/parse.cjs +16 -0
  747. data/.opencode/node_modules/zod/v4/mini/parse.d.cts +1 -0
  748. data/.opencode/node_modules/zod/v4/mini/parse.d.ts +1 -0
  749. data/.opencode/node_modules/zod/v4/mini/parse.js +1 -0
  750. data/.opencode/node_modules/zod/v4/mini/schemas.cjs +906 -0
  751. data/.opencode/node_modules/zod/v4/mini/schemas.d.cts +407 -0
  752. data/.opencode/node_modules/zod/v4/mini/schemas.d.ts +407 -0
  753. data/.opencode/node_modules/zod/v4/mini/schemas.js +789 -0
  754. data/.opencode/node_modules/zod/v4/package.json +6 -0
  755. data/.opencode/node_modules/zod/v4-mini/index.cjs +17 -0
  756. data/.opencode/node_modules/zod/v4-mini/index.d.cts +1 -0
  757. data/.opencode/node_modules/zod/v4-mini/index.d.ts +1 -0
  758. data/.opencode/node_modules/zod/v4-mini/index.js +1 -0
  759. data/.opencode/node_modules/zod/v4-mini/package.json +6 -0
  760. data/.opencode/package.json +5 -0
  761. data/lib/agentf/agents/base.rb +6 -21
  762. data/lib/agentf/agents/designer.rb +16 -2
  763. data/lib/agentf/agents/specialist.rb +17 -3
  764. data/lib/agentf/agents/tester.rb +16 -2
  765. data/lib/agentf/cli/memory.rb +34 -27
  766. data/lib/agentf/commands/explorer.rb +12 -4
  767. data/lib/agentf/commands/memory_reviewer.rb +6 -6
  768. data/lib/agentf/installer.rb +89 -4
  769. data/lib/agentf/mcp/server.rb +85 -77
  770. data/lib/agentf/memory/confirmation_handler.rb +24 -0
  771. data/lib/agentf/memory.rb +6 -0
  772. data/lib/agentf/version.rb +1 -1
  773. data/lib/agentf.rb +1 -0
  774. metadata +762 -2
@@ -0,0 +1,910 @@
1
+ import type * as checks from "./checks.js";
2
+ import type { $ZodConfig } from "./core.js";
3
+ import type * as errors from "./errors.js";
4
+ import type * as schemas from "./schemas.js";
5
+
6
+ // json
7
+ export type JSONType = string | number | boolean | null | JSONType[] | { [key: string]: JSONType };
8
+ export type JWTAlgorithm =
9
+ | "HS256"
10
+ | "HS384"
11
+ | "HS512"
12
+ | "RS256"
13
+ | "RS384"
14
+ | "RS512"
15
+ | "ES256"
16
+ | "ES384"
17
+ | "ES512"
18
+ | "PS256"
19
+ | "PS384"
20
+ | "PS512"
21
+ | "EdDSA"
22
+ | (string & {});
23
+
24
+ export type HashAlgorithm = "md5" | "sha1" | "sha256" | "sha384" | "sha512";
25
+ export type HashEncoding = "hex" | "base64" | "base64url";
26
+ export type HashFormat = `${HashAlgorithm}_${HashEncoding}`;
27
+ export type IPVersion = "v4" | "v6";
28
+ export type MimeTypes =
29
+ | "application/json"
30
+ | "application/xml"
31
+ | "application/x-www-form-urlencoded"
32
+ | "application/javascript"
33
+ | "application/pdf"
34
+ | "application/zip"
35
+ | "application/vnd.ms-excel"
36
+ | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
37
+ | "application/msword"
38
+ | "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
39
+ | "application/vnd.ms-powerpoint"
40
+ | "application/vnd.openxmlformats-officedocument.presentationml.presentation"
41
+ | "application/octet-stream"
42
+ | "application/graphql"
43
+ | "text/html"
44
+ | "text/plain"
45
+ | "text/css"
46
+ | "text/javascript"
47
+ | "text/csv"
48
+ | "image/png"
49
+ | "image/jpeg"
50
+ | "image/gif"
51
+ | "image/svg+xml"
52
+ | "image/webp"
53
+ | "audio/mpeg"
54
+ | "audio/ogg"
55
+ | "audio/wav"
56
+ | "audio/webm"
57
+ | "video/mp4"
58
+ | "video/webm"
59
+ | "video/ogg"
60
+ | "font/woff"
61
+ | "font/woff2"
62
+ | "font/ttf"
63
+ | "font/otf"
64
+ | "multipart/form-data"
65
+ | (string & {});
66
+ export type ParsedTypes =
67
+ | "string"
68
+ | "number"
69
+ | "bigint"
70
+ | "boolean"
71
+ | "symbol"
72
+ | "undefined"
73
+ | "object"
74
+ | "function"
75
+ | "file"
76
+ | "date"
77
+ | "array"
78
+ | "map"
79
+ | "set"
80
+ | "nan"
81
+ | "null"
82
+ | "promise";
83
+
84
+ // utils
85
+ export type AssertEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? true : false;
86
+ export type AssertNotEqual<T, U> = (<V>() => V extends T ? 1 : 2) extends <V>() => V extends U ? 1 : 2 ? false : true;
87
+ export type AssertExtends<T, U> = T extends U ? T : never;
88
+ export type IsAny<T> = 0 extends 1 & T ? true : false;
89
+ export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
90
+ export type OmitKeys<T, K extends string> = Pick<T, Exclude<keyof T, K>>;
91
+ export type MakePartial<T, K extends keyof T> = Omit<T, K> & InexactPartial<Pick<T, K>>;
92
+ export type MakeRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
93
+
94
+ export type Exactly<T, X> = T & Record<Exclude<keyof X, keyof T>, never>;
95
+ export type NoUndefined<T> = T extends undefined ? never : T;
96
+ export type Whatever = {} | undefined | null;
97
+ export type LoosePartial<T extends object> = InexactPartial<T> & {
98
+ [k: string]: unknown;
99
+ };
100
+ export type Mask<Keys extends PropertyKey> = { [K in Keys]?: true };
101
+ export type Writeable<T> = { -readonly [P in keyof T]: T[P] } & {};
102
+ export type InexactPartial<T> = {
103
+ [P in keyof T]?: T[P] | undefined;
104
+ };
105
+ export type EmptyObject = Record<string, never>;
106
+ export type BuiltIn =
107
+ | (((...args: any[]) => any) | (new (...args: any[]) => any))
108
+ | { readonly [Symbol.toStringTag]: string }
109
+ | Date
110
+ | Error
111
+ | Generator
112
+ | Promise<unknown>
113
+ | RegExp;
114
+ export type MakeReadonly<T> = T extends Map<infer K, infer V>
115
+ ? ReadonlyMap<K, V>
116
+ : T extends Set<infer V>
117
+ ? ReadonlySet<V>
118
+ : T extends [infer Head, ...infer Tail]
119
+ ? readonly [Head, ...Tail]
120
+ : T extends Array<infer V>
121
+ ? ReadonlyArray<V>
122
+ : T extends BuiltIn
123
+ ? T
124
+ : Readonly<T>;
125
+ export type SomeObject = Record<PropertyKey, any>;
126
+ export type Identity<T> = T;
127
+ export type Flatten<T> = Identity<{ [k in keyof T]: T[k] }>;
128
+ export type Mapped<T> = { [k in keyof T]: T[k] };
129
+ export type Prettify<T> = {
130
+ // @ts-ignore
131
+ [K in keyof T]: T[K];
132
+ } & {};
133
+
134
+ export type NoNeverKeys<T> = {
135
+ [k in keyof T]: [T[k]] extends [never] ? never : k;
136
+ }[keyof T];
137
+ export type NoNever<T> = Identity<{
138
+ [k in NoNeverKeys<T>]: k extends keyof T ? T[k] : never;
139
+ }>;
140
+ export type Extend<A extends SomeObject, B extends SomeObject> = Flatten<
141
+ // fast path when there is no keys overlap
142
+ keyof A & keyof B extends never
143
+ ? A & B
144
+ : {
145
+ [K in keyof A as K extends keyof B ? never : K]: A[K];
146
+ } & {
147
+ [K in keyof B]: B[K];
148
+ }
149
+ >;
150
+
151
+ export type TupleItems = ReadonlyArray<schemas.SomeType>;
152
+ export type AnyFunc = (...args: any[]) => any;
153
+ export type IsProp<T, K extends keyof T> = T[K] extends AnyFunc ? never : K;
154
+ export type MaybeAsync<T> = T | Promise<T>;
155
+ export type KeyOf<T> = keyof OmitIndexSignature<T>;
156
+ export type OmitIndexSignature<T> = {
157
+ [K in keyof T as string extends K ? never : K extends string ? K : never]: T[K];
158
+ };
159
+ export type ExtractIndexSignature<T> = {
160
+ [K in keyof T as string extends K ? K : K extends string ? never : K]: T[K];
161
+ };
162
+ export type Keys<T extends object> = keyof OmitIndexSignature<T>;
163
+
164
+ export type SchemaClass<T extends schemas.SomeType> = {
165
+ new (def: T["_zod"]["def"]): T;
166
+ };
167
+ export type EnumValue = string | number; // | bigint | boolean | symbol;
168
+ export type EnumLike = Readonly<Record<string, EnumValue>>;
169
+ export type ToEnum<T extends EnumValue> = Flatten<{ [k in T]: k }>;
170
+ export type KeysEnum<T extends object> = ToEnum<Exclude<keyof T, symbol>>;
171
+ export type KeysArray<T extends object> = Flatten<(keyof T & string)[]>;
172
+ export type Literal = string | number | bigint | boolean | null | undefined;
173
+ export type LiteralArray = Array<Literal>;
174
+ export type Primitive = string | number | symbol | bigint | boolean | null | undefined;
175
+ export type PrimitiveArray = Array<Primitive>;
176
+ export type HasSize = { size: number };
177
+ export type HasLength = { length: number }; // string | Array<unknown> | Set<unknown> | File;
178
+ export type Numeric = number | bigint | Date;
179
+ export type SafeParseResult<T> = SafeParseSuccess<T> | SafeParseError<T>;
180
+ export type SafeParseSuccess<T> = { success: true; data: T; error?: never };
181
+ export type SafeParseError<T> = {
182
+ success: false;
183
+ data?: never;
184
+ error: errors.$ZodError<T>;
185
+ };
186
+
187
+ export type PropValues = Record<string, Set<Primitive>>;
188
+ export type PrimitiveSet = Set<Primitive>;
189
+
190
+ // functions
191
+ export function assertEqual<A, B>(val: AssertEqual<A, B>): AssertEqual<A, B> {
192
+ return val;
193
+ }
194
+
195
+ export function assertNotEqual<A, B>(val: AssertNotEqual<A, B>): AssertNotEqual<A, B> {
196
+ return val;
197
+ }
198
+
199
+ export function assertIs<T>(_arg: T): void {}
200
+
201
+ export function assertNever(_x: never): never {
202
+ throw new Error();
203
+ }
204
+ export function assert<T>(_: any): asserts _ is T {}
205
+
206
+ export function getEnumValues(entries: EnumLike): EnumValue[] {
207
+ const numericValues = Object.values(entries).filter((v) => typeof v === "number");
208
+ const values = Object.entries(entries)
209
+ .filter(([k, _]) => numericValues.indexOf(+k) === -1)
210
+ .map(([_, v]) => v);
211
+ return values;
212
+ }
213
+
214
+ export function joinValues<T extends Primitive[]>(array: T, separator = "|"): string {
215
+ return array.map((val) => stringifyPrimitive(val)).join(separator);
216
+ }
217
+
218
+ export function jsonStringifyReplacer(_: string, value: any): any {
219
+ if (typeof value === "bigint") return value.toString();
220
+ return value;
221
+ }
222
+
223
+ export function cached<T>(getter: () => T): { value: T } {
224
+ const set = false;
225
+ return {
226
+ get value() {
227
+ if (!set) {
228
+ const value = getter();
229
+ Object.defineProperty(this, "value", { value });
230
+ return value;
231
+ }
232
+ throw new Error("cached value already set");
233
+ },
234
+ };
235
+ }
236
+
237
+ export function nullish(input: any): boolean {
238
+ return input === null || input === undefined;
239
+ }
240
+
241
+ export function cleanRegex(source: string): string {
242
+ const start = source.startsWith("^") ? 1 : 0;
243
+ const end = source.endsWith("$") ? source.length - 1 : source.length;
244
+ return source.slice(start, end);
245
+ }
246
+
247
+ export function floatSafeRemainder(val: number, step: number): number {
248
+ const valDecCount = (val.toString().split(".")[1] || "").length;
249
+ const stepString = step.toString();
250
+ let stepDecCount = (stepString.split(".")[1] || "").length;
251
+ if (stepDecCount === 0 && /\d?e-\d?/.test(stepString)) {
252
+ const match = stepString.match(/\d?e-(\d?)/);
253
+ if (match?.[1]) {
254
+ stepDecCount = Number.parseInt(match[1]);
255
+ }
256
+ }
257
+
258
+ const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;
259
+ const valInt = Number.parseInt(val.toFixed(decCount).replace(".", ""));
260
+ const stepInt = Number.parseInt(step.toFixed(decCount).replace(".", ""));
261
+ return (valInt % stepInt) / 10 ** decCount;
262
+ }
263
+
264
+ const EVALUATING = Symbol("evaluating");
265
+
266
+ export function defineLazy<T, K extends keyof T>(object: T, key: K, getter: () => T[K]): void {
267
+ let value: T[K] | typeof EVALUATING | undefined = undefined;
268
+ Object.defineProperty(object, key, {
269
+ get() {
270
+ if (value === EVALUATING) {
271
+ // Circular reference detected, return undefined to break the cycle
272
+ return undefined as T[K];
273
+ }
274
+ if (value === undefined) {
275
+ value = EVALUATING;
276
+ value = getter();
277
+ }
278
+ return value;
279
+ },
280
+ set(v) {
281
+ Object.defineProperty(object, key, {
282
+ value: v,
283
+ // configurable: true,
284
+ });
285
+ // object[key] = v;
286
+ },
287
+ configurable: true,
288
+ });
289
+ }
290
+
291
+ export function objectClone(obj: object) {
292
+ return Object.create(Object.getPrototypeOf(obj), Object.getOwnPropertyDescriptors(obj));
293
+ }
294
+
295
+ export function assignProp<T extends object, K extends PropertyKey>(
296
+ target: T,
297
+ prop: K,
298
+ value: K extends keyof T ? T[K] : any
299
+ ): void {
300
+ Object.defineProperty(target, prop, {
301
+ value,
302
+ writable: true,
303
+ enumerable: true,
304
+ configurable: true,
305
+ });
306
+ }
307
+
308
+ export function mergeDefs(...defs: Record<string, any>[]): any {
309
+ const mergedDescriptors: Record<string, PropertyDescriptor> = {};
310
+
311
+ for (const def of defs) {
312
+ const descriptors = Object.getOwnPropertyDescriptors(def);
313
+ Object.assign(mergedDescriptors, descriptors);
314
+ }
315
+
316
+ return Object.defineProperties({}, mergedDescriptors);
317
+ }
318
+
319
+ export function cloneDef(schema: schemas.$ZodType): any {
320
+ return mergeDefs(schema._zod.def);
321
+ }
322
+
323
+ export function getElementAtPath(obj: any, path: (string | number)[] | null | undefined): any {
324
+ if (!path) return obj;
325
+ return path.reduce((acc, key) => acc?.[key], obj);
326
+ }
327
+
328
+ export function promiseAllObject<T extends object>(promisesObj: T): Promise<{ [k in keyof T]: Awaited<T[k]> }> {
329
+ const keys = Object.keys(promisesObj);
330
+ const promises = keys.map((key) => (promisesObj as any)[key]);
331
+
332
+ return Promise.all(promises).then((results) => {
333
+ const resolvedObj: any = {};
334
+ for (let i = 0; i < keys.length; i++) {
335
+ resolvedObj[keys[i]!] = results[i];
336
+ }
337
+ return resolvedObj;
338
+ });
339
+ }
340
+
341
+ export function randomString(length = 10): string {
342
+ const chars = "abcdefghijklmnopqrstuvwxyz";
343
+ let str = "";
344
+ for (let i = 0; i < length; i++) {
345
+ str += chars[Math.floor(Math.random() * chars.length)];
346
+ }
347
+ return str;
348
+ }
349
+
350
+ export function esc(str: string): string {
351
+ return JSON.stringify(str);
352
+ }
353
+
354
+ export const captureStackTrace: (targetObject: object, constructorOpt?: Function) => void = (
355
+ "captureStackTrace" in Error ? Error.captureStackTrace : (..._args: any[]) => {}
356
+ ) as any;
357
+
358
+ export function isObject(data: any): data is Record<PropertyKey, unknown> {
359
+ return typeof data === "object" && data !== null && !Array.isArray(data);
360
+ }
361
+
362
+ export const allowsEval: { value: boolean } = cached(() => {
363
+ // @ts-ignore
364
+ if (typeof navigator !== "undefined" && navigator?.userAgent?.includes("Cloudflare")) {
365
+ return false;
366
+ }
367
+
368
+ try {
369
+ const F = Function;
370
+ new F("");
371
+ return true;
372
+ } catch (_) {
373
+ return false;
374
+ }
375
+ });
376
+
377
+ export function isPlainObject(o: any): o is Record<PropertyKey, unknown> {
378
+ if (isObject(o) === false) return false;
379
+
380
+ // modified constructor
381
+ const ctor = o.constructor;
382
+ if (ctor === undefined) return true;
383
+
384
+ // modified prototype
385
+ const prot = ctor.prototype;
386
+ if (isObject(prot) === false) return false;
387
+
388
+ // ctor doesn't have static `isPrototypeOf`
389
+ if (Object.prototype.hasOwnProperty.call(prot, "isPrototypeOf") === false) {
390
+ return false;
391
+ }
392
+
393
+ return true;
394
+ }
395
+
396
+ export function shallowClone(o: any): any {
397
+ if (isPlainObject(o)) return { ...o };
398
+ if (Array.isArray(o)) return [...o];
399
+ return o;
400
+ }
401
+
402
+ export function numKeys(data: any): number {
403
+ let keyCount = 0;
404
+ for (const key in data) {
405
+ if (Object.prototype.hasOwnProperty.call(data, key)) {
406
+ keyCount++;
407
+ }
408
+ }
409
+ return keyCount;
410
+ }
411
+
412
+ export const getParsedType = (data: any): ParsedTypes => {
413
+ const t = typeof data;
414
+
415
+ switch (t) {
416
+ case "undefined":
417
+ return "undefined";
418
+
419
+ case "string":
420
+ return "string";
421
+
422
+ case "number":
423
+ return Number.isNaN(data) ? "nan" : "number";
424
+
425
+ case "boolean":
426
+ return "boolean";
427
+
428
+ case "function":
429
+ return "function";
430
+
431
+ case "bigint":
432
+ return "bigint";
433
+
434
+ case "symbol":
435
+ return "symbol";
436
+
437
+ case "object":
438
+ if (Array.isArray(data)) {
439
+ return "array";
440
+ }
441
+ if (data === null) {
442
+ return "null";
443
+ }
444
+ if (data.then && typeof data.then === "function" && data.catch && typeof data.catch === "function") {
445
+ return "promise";
446
+ }
447
+ if (typeof Map !== "undefined" && data instanceof Map) {
448
+ return "map";
449
+ }
450
+ if (typeof Set !== "undefined" && data instanceof Set) {
451
+ return "set";
452
+ }
453
+ if (typeof Date !== "undefined" && data instanceof Date) {
454
+ return "date";
455
+ }
456
+ // @ts-ignore
457
+ if (typeof File !== "undefined" && data instanceof File) {
458
+ return "file";
459
+ }
460
+ return "object";
461
+
462
+ default:
463
+ throw new Error(`Unknown data type: ${t}`);
464
+ }
465
+ };
466
+
467
+ export const propertyKeyTypes: Set<string> = new Set(["string", "number", "symbol"]);
468
+ export const primitiveTypes: Set<string> = new Set(["string", "number", "bigint", "boolean", "symbol", "undefined"]);
469
+ export function escapeRegex(str: string): string {
470
+ return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
471
+ }
472
+
473
+ // zod-specific utils
474
+ export function clone<T extends schemas.$ZodType>(inst: T, def?: T["_zod"]["def"], params?: { parent: boolean }): T {
475
+ const cl = new inst._zod.constr(def ?? inst._zod.def);
476
+ if (!def || params?.parent) cl._zod.parent = inst;
477
+ return cl as any;
478
+ }
479
+
480
+ export type EmptyToNever<T> = keyof T extends never ? never : T;
481
+
482
+ export type Normalize<T> = T extends undefined
483
+ ? never
484
+ : T extends Record<any, any>
485
+ ? Flatten<
486
+ {
487
+ [k in keyof Omit<T, "error" | "message">]: T[k];
488
+ } & ("error" extends keyof T
489
+ ? {
490
+ error?: Exclude<T["error"], string>;
491
+ // path?: PropertyKey[] | undefined;
492
+ // message?: string | undefined;
493
+ }
494
+ : unknown)
495
+ >
496
+ : never;
497
+
498
+ export function normalizeParams<T>(_params: T): Normalize<T> {
499
+ const params: any = _params;
500
+
501
+ if (!params) return {} as any;
502
+ if (typeof params === "string") return { error: () => params } as any;
503
+ if (params?.message !== undefined) {
504
+ if (params?.error !== undefined) throw new Error("Cannot specify both `message` and `error` params");
505
+ params.error = params.message;
506
+ }
507
+ delete params.message;
508
+ if (typeof params.error === "string") return { ...params, error: () => params.error } as any;
509
+ return params;
510
+ }
511
+
512
+ export function createTransparentProxy<T extends object>(getter: () => T): T {
513
+ let target: T;
514
+ return new Proxy(
515
+ {},
516
+ {
517
+ get(_, prop, receiver) {
518
+ target ??= getter();
519
+ return Reflect.get(target, prop, receiver);
520
+ },
521
+ set(_, prop, value, receiver) {
522
+ target ??= getter();
523
+ return Reflect.set(target, prop, value, receiver);
524
+ },
525
+ has(_, prop) {
526
+ target ??= getter();
527
+ return Reflect.has(target, prop);
528
+ },
529
+ deleteProperty(_, prop) {
530
+ target ??= getter();
531
+ return Reflect.deleteProperty(target, prop);
532
+ },
533
+ ownKeys(_) {
534
+ target ??= getter();
535
+ return Reflect.ownKeys(target);
536
+ },
537
+ getOwnPropertyDescriptor(_, prop) {
538
+ target ??= getter();
539
+ return Reflect.getOwnPropertyDescriptor(target, prop);
540
+ },
541
+ defineProperty(_, prop, descriptor) {
542
+ target ??= getter();
543
+ return Reflect.defineProperty(target, prop, descriptor);
544
+ },
545
+ }
546
+ ) as T;
547
+ }
548
+
549
+ export function stringifyPrimitive(value: any): string {
550
+ if (typeof value === "bigint") return value.toString() + "n";
551
+ if (typeof value === "string") return `"${value}"`;
552
+ return `${value}`;
553
+ }
554
+
555
+ export function optionalKeys(shape: schemas.$ZodShape): string[] {
556
+ return Object.keys(shape).filter((k) => {
557
+ return shape[k]!._zod.optin === "optional" && shape[k]!._zod.optout === "optional";
558
+ });
559
+ }
560
+
561
+ export type CleanKey<T extends PropertyKey> = T extends `?${infer K}` ? K : T extends `${infer K}?` ? K : T;
562
+ export type ToCleanMap<T extends schemas.$ZodLooseShape> = {
563
+ [k in keyof T]: k extends `?${infer K}` ? K : k extends `${infer K}?` ? K : k;
564
+ };
565
+ export type FromCleanMap<T extends schemas.$ZodLooseShape> = {
566
+ [k in keyof T as k extends `?${infer K}` ? K : k extends `${infer K}?` ? K : k]: k;
567
+ };
568
+
569
+ export const NUMBER_FORMAT_RANGES: Record<checks.$ZodNumberFormats, [number, number]> = {
570
+ safeint: [Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER],
571
+ int32: [-2147483648, 2147483647],
572
+ uint32: [0, 4294967295],
573
+ float32: [-3.4028234663852886e38, 3.4028234663852886e38],
574
+ float64: [-Number.MAX_VALUE, Number.MAX_VALUE],
575
+ };
576
+
577
+ export const BIGINT_FORMAT_RANGES: Record<checks.$ZodBigIntFormats, [bigint, bigint]> = {
578
+ int64: [/* @__PURE__*/ BigInt("-9223372036854775808"), /* @__PURE__*/ BigInt("9223372036854775807")],
579
+ uint64: [/* @__PURE__*/ BigInt(0), /* @__PURE__*/ BigInt("18446744073709551615")],
580
+ };
581
+
582
+ export function pick(schema: schemas.$ZodObject, mask: Record<string, unknown>): any {
583
+ const currDef = schema._zod.def;
584
+
585
+ const def = mergeDefs(schema._zod.def, {
586
+ get shape() {
587
+ const newShape: Writeable<schemas.$ZodShape> = {};
588
+ for (const key in mask) {
589
+ if (!(key in currDef.shape)) {
590
+ throw new Error(`Unrecognized key: "${key}"`);
591
+ }
592
+ if (!mask[key]) continue;
593
+ newShape[key] = currDef.shape[key]!;
594
+ }
595
+
596
+ assignProp(this, "shape", newShape); // self-caching
597
+ return newShape;
598
+ },
599
+ checks: [],
600
+ });
601
+
602
+ return clone(schema, def) as any;
603
+ }
604
+
605
+ export function omit(schema: schemas.$ZodObject, mask: object): any {
606
+ const currDef = schema._zod.def;
607
+
608
+ const def = mergeDefs(schema._zod.def, {
609
+ get shape() {
610
+ const newShape: Writeable<schemas.$ZodShape> = { ...schema._zod.def.shape };
611
+ for (const key in mask) {
612
+ if (!(key in currDef.shape)) {
613
+ throw new Error(`Unrecognized key: "${key}"`);
614
+ }
615
+ if (!(mask as any)[key]) continue;
616
+
617
+ delete newShape[key];
618
+ }
619
+ assignProp(this, "shape", newShape); // self-caching
620
+ return newShape;
621
+ },
622
+ checks: [],
623
+ });
624
+
625
+ return clone(schema, def);
626
+ }
627
+
628
+ export function extend(schema: schemas.$ZodObject, shape: schemas.$ZodShape): any {
629
+ if (!isPlainObject(shape)) {
630
+ throw new Error("Invalid input to extend: expected a plain object");
631
+ }
632
+
633
+ const checks = schema._zod.def.checks;
634
+ const hasChecks = checks && checks.length > 0;
635
+ if (hasChecks) {
636
+ throw new Error("Object schemas containing refinements cannot be extended. Use `.safeExtend()` instead.");
637
+ }
638
+
639
+ const def = mergeDefs(schema._zod.def, {
640
+ get shape() {
641
+ const _shape = { ...schema._zod.def.shape, ...shape };
642
+ assignProp(this, "shape", _shape); // self-caching
643
+ return _shape;
644
+ },
645
+ checks: [],
646
+ });
647
+ return clone(schema, def) as any;
648
+ }
649
+
650
+ export function safeExtend(schema: schemas.$ZodObject, shape: schemas.$ZodShape): any {
651
+ if (!isPlainObject(shape)) {
652
+ throw new Error("Invalid input to safeExtend: expected a plain object");
653
+ }
654
+ const def = {
655
+ ...schema._zod.def,
656
+ get shape() {
657
+ const _shape = { ...schema._zod.def.shape, ...shape };
658
+ assignProp(this, "shape", _shape); // self-caching
659
+ return _shape;
660
+ },
661
+ checks: schema._zod.def.checks,
662
+ } as any;
663
+ return clone(schema, def) as any;
664
+ }
665
+
666
+ export function merge(a: schemas.$ZodObject, b: schemas.$ZodObject): any {
667
+ const def = mergeDefs(a._zod.def, {
668
+ get shape() {
669
+ const _shape = { ...a._zod.def.shape, ...b._zod.def.shape };
670
+ assignProp(this, "shape", _shape); // self-caching
671
+ return _shape;
672
+ },
673
+ get catchall() {
674
+ return b._zod.def.catchall;
675
+ },
676
+ checks: [], // delete existing checks
677
+ });
678
+
679
+ return clone(a, def) as any;
680
+ }
681
+
682
+ export function partial(
683
+ Class: SchemaClass<schemas.$ZodOptional> | null,
684
+ schema: schemas.$ZodObject,
685
+ mask: object | undefined
686
+ ): any {
687
+ const def = mergeDefs(schema._zod.def, {
688
+ get shape() {
689
+ const oldShape = schema._zod.def.shape;
690
+ const shape: Writeable<schemas.$ZodShape> = { ...oldShape };
691
+
692
+ if (mask) {
693
+ for (const key in mask) {
694
+ if (!(key in oldShape)) {
695
+ throw new Error(`Unrecognized key: "${key}"`);
696
+ }
697
+ if (!(mask as any)[key]) continue;
698
+ // if (oldShape[key]!._zod.optin === "optional") continue;
699
+ shape[key] = Class
700
+ ? new Class({
701
+ type: "optional",
702
+ innerType: oldShape[key]!,
703
+ })
704
+ : oldShape[key]!;
705
+ }
706
+ } else {
707
+ for (const key in oldShape) {
708
+ // if (oldShape[key]!._zod.optin === "optional") continue;
709
+ shape[key] = Class
710
+ ? new Class({
711
+ type: "optional",
712
+ innerType: oldShape[key]!,
713
+ })
714
+ : oldShape[key]!;
715
+ }
716
+ }
717
+
718
+ assignProp(this, "shape", shape); // self-caching
719
+ return shape;
720
+ },
721
+ checks: [],
722
+ });
723
+
724
+ return clone(schema, def) as any;
725
+ }
726
+
727
+ export function required(
728
+ Class: SchemaClass<schemas.$ZodNonOptional>,
729
+ schema: schemas.$ZodObject,
730
+ mask: object | undefined
731
+ ): any {
732
+ const def = mergeDefs(schema._zod.def, {
733
+ get shape() {
734
+ const oldShape = schema._zod.def.shape;
735
+ const shape: Writeable<schemas.$ZodShape> = { ...oldShape };
736
+
737
+ if (mask) {
738
+ for (const key in mask) {
739
+ if (!(key in shape)) {
740
+ throw new Error(`Unrecognized key: "${key}"`);
741
+ }
742
+ if (!(mask as any)[key]) continue;
743
+ // overwrite with non-optional
744
+ shape[key] = new Class({
745
+ type: "nonoptional",
746
+ innerType: oldShape[key]!,
747
+ });
748
+ }
749
+ } else {
750
+ for (const key in oldShape) {
751
+ // overwrite with non-optional
752
+ shape[key] = new Class({
753
+ type: "nonoptional",
754
+ innerType: oldShape[key]!,
755
+ });
756
+ }
757
+ }
758
+
759
+ assignProp(this, "shape", shape); // self-caching
760
+ return shape;
761
+ },
762
+ checks: [],
763
+ });
764
+
765
+ return clone(schema, def) as any;
766
+ }
767
+
768
+ export type Constructor<T, Def extends any[] = any[]> = new (...args: Def) => T;
769
+
770
+ // invalid_type | too_big | too_small | invalid_format | not_multiple_of | unrecognized_keys | invalid_union | invalid_key | invalid_element | invalid_value | custom
771
+ export function aborted(x: schemas.ParsePayload, startIndex = 0): boolean {
772
+ if (x.aborted === true) return true;
773
+ for (let i = startIndex; i < x.issues.length; i++) {
774
+ if (x.issues[i]?.continue !== true) {
775
+ return true;
776
+ }
777
+ }
778
+ return false;
779
+ }
780
+
781
+ export function prefixIssues(path: PropertyKey, issues: errors.$ZodRawIssue[]): errors.$ZodRawIssue[] {
782
+ return issues.map((iss) => {
783
+ (iss as any).path ??= [];
784
+ (iss as any).path.unshift(path);
785
+ return iss;
786
+ });
787
+ }
788
+
789
+ export function unwrapMessage(message: string | { message: string } | undefined | null): string | undefined {
790
+ return typeof message === "string" ? message : message?.message;
791
+ }
792
+
793
+ export function finalizeIssue(
794
+ iss: errors.$ZodRawIssue,
795
+ ctx: schemas.ParseContextInternal | undefined,
796
+ config: $ZodConfig
797
+ ): errors.$ZodIssue {
798
+ const full = { ...iss, path: iss.path ?? [] } as errors.$ZodIssue;
799
+
800
+ // for backwards compatibility
801
+ if (!iss.message) {
802
+ const message =
803
+ unwrapMessage(iss.inst?._zod.def?.error?.(iss as never)) ??
804
+ unwrapMessage(ctx?.error?.(iss as never)) ??
805
+ unwrapMessage(config.customError?.(iss)) ??
806
+ unwrapMessage(config.localeError?.(iss)) ??
807
+ "Invalid input";
808
+ (full as any).message = message;
809
+ }
810
+
811
+ // delete (full as any).def;
812
+ delete (full as any).inst;
813
+ delete (full as any).continue;
814
+ if (!ctx?.reportInput) {
815
+ delete (full as any).input;
816
+ }
817
+
818
+ return full;
819
+ }
820
+
821
+ export function getSizableOrigin(input: any): "set" | "map" | "file" | "unknown" {
822
+ if (input instanceof Set) return "set";
823
+ if (input instanceof Map) return "map";
824
+ // @ts-ignore
825
+ if (input instanceof File) return "file";
826
+ return "unknown";
827
+ }
828
+
829
+ export function getLengthableOrigin(input: any): "array" | "string" | "unknown" {
830
+ if (Array.isArray(input)) return "array";
831
+ if (typeof input === "string") return "string";
832
+ return "unknown";
833
+ }
834
+
835
+ ////////// REFINES //////////
836
+ export function issue(_iss: string, input: any, inst: any): errors.$ZodRawIssue;
837
+ export function issue(_iss: errors.$ZodRawIssue): errors.$ZodRawIssue;
838
+ export function issue(...args: [string | errors.$ZodRawIssue, any?, any?]): errors.$ZodRawIssue {
839
+ const [iss, input, inst] = args;
840
+ if (typeof iss === "string") {
841
+ return {
842
+ message: iss,
843
+ code: "custom",
844
+ input,
845
+ inst,
846
+ };
847
+ }
848
+
849
+ return { ...iss };
850
+ }
851
+
852
+ export function cleanEnum(obj: Record<string, EnumValue>): EnumValue[] {
853
+ return Object.entries(obj)
854
+ .filter(([k, _]) => {
855
+ // return true if NaN, meaning it's not a number, thus a string key
856
+ return Number.isNaN(Number.parseInt(k, 10));
857
+ })
858
+ .map((el) => el[1]);
859
+ }
860
+
861
+ // Codec utility functions
862
+ export function base64ToUint8Array(base64: string): InstanceType<typeof Uint8Array> {
863
+ const binaryString = atob(base64);
864
+ const bytes = new Uint8Array(binaryString.length);
865
+ for (let i = 0; i < binaryString.length; i++) {
866
+ bytes[i] = binaryString.charCodeAt(i);
867
+ }
868
+ return bytes;
869
+ }
870
+
871
+ export function uint8ArrayToBase64(bytes: Uint8Array): string {
872
+ let binaryString = "";
873
+ for (let i = 0; i < bytes.length; i++) {
874
+ binaryString += String.fromCharCode(bytes[i]);
875
+ }
876
+ return btoa(binaryString);
877
+ }
878
+
879
+ export function base64urlToUint8Array(base64url: string): InstanceType<typeof Uint8Array> {
880
+ const base64 = base64url.replace(/-/g, "+").replace(/_/g, "/");
881
+ const padding = "=".repeat((4 - (base64.length % 4)) % 4);
882
+ return base64ToUint8Array(base64 + padding);
883
+ }
884
+
885
+ export function uint8ArrayToBase64url(bytes: Uint8Array): string {
886
+ return uint8ArrayToBase64(bytes).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
887
+ }
888
+
889
+ export function hexToUint8Array(hex: string): InstanceType<typeof Uint8Array> {
890
+ const cleanHex = hex.replace(/^0x/, "");
891
+ if (cleanHex.length % 2 !== 0) {
892
+ throw new Error("Invalid hex string length");
893
+ }
894
+ const bytes = new Uint8Array(cleanHex.length / 2);
895
+ for (let i = 0; i < cleanHex.length; i += 2) {
896
+ bytes[i / 2] = Number.parseInt(cleanHex.slice(i, i + 2), 16);
897
+ }
898
+ return bytes;
899
+ }
900
+
901
+ export function uint8ArrayToHex(bytes: Uint8Array): string {
902
+ return Array.from(bytes)
903
+ .map((b) => b.toString(16).padStart(2, "0"))
904
+ .join("");
905
+ }
906
+
907
+ // instanceof
908
+ export abstract class Class {
909
+ constructor(..._args: any[]) {}
910
+ }