@psnext/slingcli 3.0.20260827-1 → 3.3.20260911-1

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 (976) hide show
  1. package/node_modules/@aws-sdk/core/dist-cjs/submodules/util/index.js +5 -0
  2. package/node_modules/@aws-sdk/core/dist-es/submodules/util/hasOwn.js +3 -0
  3. package/node_modules/@aws-sdk/core/dist-es/submodules/util/index.js +1 -0
  4. package/node_modules/@aws-sdk/core/dist-types/submodules/util/hasOwn.d.ts +4 -0
  5. package/node_modules/@aws-sdk/core/dist-types/submodules/util/index.d.ts +1 -0
  6. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/hasOwn.d.ts +1 -0
  7. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/util/index.d.ts +1 -0
  8. package/node_modules/@aws-sdk/core/package.json +1 -1
  9. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  10. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-cjs/index.js +11 -4
  11. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +1 -0
  12. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +2 -3
  13. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +8 -1
  14. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/package.json +2 -2
  15. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  16. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  17. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  18. package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +2 -0
  19. package/node_modules/@aws-sdk/credential-provider-node/dist-es/runtime/memoize-chain.js +2 -0
  20. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  21. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  22. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +3 -3
  23. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  24. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  25. package/node_modules/@aws-sdk/middleware-websocket/package.json +2 -2
  26. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  27. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  28. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  29. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  30. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  31. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-cjs/index.js +11 -4
  32. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +1 -0
  33. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +2 -3
  34. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +8 -1
  35. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/package.json +2 -2
  36. package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
  37. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-PBNSMEG7.js → chunk-VDBOM5UG.js} +9 -9
  38. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/cli.js +1 -1
  39. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/index.js +1 -1
  40. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/rpc-entry.js +1 -1
  41. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Client.md +25 -8
  42. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +3 -2
  43. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/EventSource.md +4 -0
  44. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Interceptors.md +7 -3
  45. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +7 -1
  46. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/readable.js +33 -43
  47. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/cache/memory-cache-store.js +2 -2
  48. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/connect.js +16 -2
  49. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/symbols.js +3 -0
  50. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/agent.js +7 -2
  51. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/balanced-pool.js +7 -4
  52. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h1.js +9 -1
  53. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h2.js +221 -12
  54. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client.js +76 -30
  55. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher-base.js +13 -1
  56. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher.js +15 -1
  57. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -0
  58. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +37 -8
  59. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -1
  60. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
  61. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/round-robin-pool.js +1 -1
  62. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +106 -22
  63. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/cache-handler.js +29 -5
  64. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/decorator-handler.js +7 -1
  65. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/deduplication-handler.js +12 -6
  66. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/redirect-handler.js +21 -4
  67. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/retry-handler.js +155 -32
  68. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/cache.js +65 -9
  69. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/decompress.js +115 -13
  70. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
  71. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dns.js +7 -0
  72. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dump.js +10 -23
  73. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-agent.js +13 -1
  74. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-utils.js +217 -27
  75. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/util/cache.js +43 -3
  76. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cookies/parse.js +150 -147
  77. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
  78. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource.js +13 -3
  79. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/index.js +6 -0
  80. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/request.js +2 -3
  81. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/util.js +6 -1
  82. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/webidl/index.js +3 -3
  83. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/connection.js +1 -1
  84. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
  85. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
  86. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/websocket.js +22 -0
  87. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/package.json +3 -3
  88. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +4 -4
  89. package/node_modules/@earendil-works/pi-coding-agent/package.json +1 -1
  90. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  91. package/node_modules/@smithy/core/dist-cjs/submodules/errors/index.js +20 -0
  92. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.browser.js +11 -10
  93. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +11 -10
  94. package/node_modules/@smithy/core/dist-es/submodules/errors/errors.js +18 -0
  95. package/node_modules/@smithy/core/dist-es/submodules/errors/index.js +1 -0
  96. package/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/service-error-classification.js +11 -10
  97. package/node_modules/@smithy/core/dist-types/submodules/errors/errors.d.ts +44 -0
  98. package/node_modules/@smithy/core/dist-types/submodules/errors/index.d.ts +1 -0
  99. package/node_modules/@smithy/core/dist-types/submodules/retry/service-error-classification/service-error-classification.d.ts +4 -0
  100. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/errors/errors.d.ts +44 -0
  101. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/errors/index.d.ts +1 -0
  102. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/service-error-classification/service-error-classification.d.ts +4 -0
  103. package/node_modules/@smithy/core/errors.d.ts +5 -0
  104. package/node_modules/@smithy/core/errors.js +5 -0
  105. package/node_modules/@smithy/core/package.json +11 -2
  106. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +2 -1
  107. package/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js +2 -1
  108. package/node_modules/@smithy/fetch-http-handler/package.json +3 -3
  109. package/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts +14 -0
  110. package/node_modules/@smithy/types/dist-types/ts3.4/http/httpHandlerInitialization.d.ts +14 -0
  111. package/node_modules/@smithy/types/package.json +1 -1
  112. package/node_modules/@types/node/README.md +3 -3
  113. package/node_modules/@types/node/assert/strict.d.ts +56 -13
  114. package/node_modules/@types/node/assert.d.ts +190 -189
  115. package/node_modules/@types/node/async_hooks.d.ts +43 -151
  116. package/node_modules/@types/node/buffer.buffer.d.ts +13 -12
  117. package/node_modules/@types/node/buffer.d.ts +237 -102
  118. package/node_modules/@types/node/child_process.d.ts +154 -39
  119. package/node_modules/@types/node/cluster.d.ts +384 -238
  120. package/node_modules/@types/node/compatibility/disposable.d.ts +14 -0
  121. package/node_modules/@types/node/compatibility/index.d.ts +9 -0
  122. package/node_modules/@types/node/compatibility/indexable.d.ts +20 -0
  123. package/node_modules/@types/node/compatibility/iterators.d.ts +20 -0
  124. package/node_modules/@types/node/console.d.ts +404 -45
  125. package/node_modules/@types/node/constants.d.ts +10 -3
  126. package/node_modules/@types/node/crypto.d.ts +1600 -1007
  127. package/node_modules/@types/node/dgram.d.ts +81 -133
  128. package/node_modules/@types/node/diagnostics_channel.d.ts +59 -277
  129. package/node_modules/@types/node/dns/promises.d.ts +15 -9
  130. package/node_modules/@types/node/dns.d.ts +183 -136
  131. package/node_modules/@types/node/domain.d.ts +32 -12
  132. package/node_modules/@types/node/events.d.ts +696 -728
  133. package/node_modules/@types/node/fs/promises.d.ts +85 -256
  134. package/node_modules/@types/node/fs.d.ts +525 -865
  135. package/node_modules/@types/node/globals.d.ts +34 -12
  136. package/node_modules/@types/node/globals.typedarray.d.ts +0 -63
  137. package/node_modules/@types/node/http.d.ts +311 -432
  138. package/node_modules/@types/node/http2.d.ts +891 -545
  139. package/node_modules/@types/node/https.d.ts +243 -64
  140. package/node_modules/@types/node/index.d.ts +7 -25
  141. package/node_modules/@types/node/inspector.d.ts +58 -70
  142. package/node_modules/@types/node/inspector.generated.d.ts +411 -765
  143. package/node_modules/@types/node/module.d.ts +219 -54
  144. package/node_modules/@types/node/net.d.ts +222 -208
  145. package/node_modules/@types/node/os.d.ts +49 -41
  146. package/node_modules/@types/node/package.json +3 -13
  147. package/node_modules/@types/node/path.d.ts +141 -119
  148. package/node_modules/@types/node/perf_hooks.d.ts +673 -310
  149. package/node_modules/@types/node/process.d.ts +205 -389
  150. package/node_modules/@types/node/punycode.d.ts +31 -3
  151. package/node_modules/@types/node/querystring.d.ts +16 -3
  152. package/node_modules/@types/node/readline/promises.d.ts +6 -3
  153. package/node_modules/@types/node/readline.d.ts +152 -66
  154. package/node_modules/@types/node/repl.d.ts +109 -101
  155. package/node_modules/@types/node/sea.d.ts +116 -1
  156. package/node_modules/@types/node/sqlite.d.ts +68 -486
  157. package/node_modules/@types/node/stream/consumers.d.ts +15 -91
  158. package/node_modules/@types/node/stream/promises.d.ts +15 -136
  159. package/node_modules/@types/node/stream/web.d.ts +456 -179
  160. package/node_modules/@types/node/stream.d.ts +491 -603
  161. package/node_modules/@types/node/string_decoder.d.ts +43 -3
  162. package/node_modules/@types/node/test.d.ts +292 -513
  163. package/node_modules/@types/node/timers/promises.d.ts +18 -3
  164. package/node_modules/@types/node/timers.d.ts +141 -3
  165. package/node_modules/@types/node/tls.d.ts +242 -140
  166. package/node_modules/@types/node/trace_events.d.ts +97 -3
  167. package/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +8 -7
  168. package/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +0 -2
  169. package/node_modules/@types/node/ts5.6/index.d.ts +6 -26
  170. package/node_modules/@types/node/tty.d.ts +43 -61
  171. package/node_modules/@types/node/url.d.ts +584 -156
  172. package/node_modules/@types/node/util.d.ts +1110 -181
  173. package/node_modules/@types/node/v8.d.ts +36 -175
  174. package/node_modules/@types/node/vm.d.ts +209 -292
  175. package/node_modules/@types/node/wasi.d.ts +74 -24
  176. package/node_modules/@types/node/web-globals/abortcontroller.d.ts +2 -27
  177. package/node_modules/@types/node/web-globals/domexception.d.ts +0 -15
  178. package/node_modules/@types/node/web-globals/events.d.ts +0 -9
  179. package/node_modules/@types/node/web-globals/fetch.d.ts +0 -14
  180. package/node_modules/@types/node/web-globals/navigator.d.ts +0 -3
  181. package/node_modules/@types/node/web-globals/streams.d.ts +0 -93
  182. package/node_modules/@types/node/worker_threads.d.ts +407 -257
  183. package/node_modules/@types/node/zlib.d.ts +165 -7
  184. package/node_modules/express-rate-limit/dist/index.cjs +6 -3
  185. package/node_modules/express-rate-limit/dist/index.d.cts +11 -0
  186. package/node_modules/express-rate-limit/dist/index.d.mts +11 -0
  187. package/node_modules/express-rate-limit/dist/index.d.ts +11 -0
  188. package/node_modules/express-rate-limit/dist/index.mjs +6 -3
  189. package/node_modules/express-rate-limit/{license.md → license} +7 -6
  190. package/node_modules/express-rate-limit/package.json +5 -5
  191. package/node_modules/express-rate-limit/readme.md +1 -0
  192. package/node_modules/fast-uri/index.js +20 -5
  193. package/node_modules/fast-uri/lib/utils.js +8 -1
  194. package/node_modules/fast-uri/package.json +1 -1
  195. package/node_modules/fast-uri/test/component-safe-serialization.test.js +58 -0
  196. package/node_modules/fast-uri/test/ipv6-validation.test.js +34 -0
  197. package/node_modules/hono/dist/cjs/client/client.js +4 -4
  198. package/node_modules/hono/dist/cjs/hono-base.js +7 -6
  199. package/node_modules/hono/dist/cjs/jsx/base.js +18 -1
  200. package/node_modules/hono/dist/cjs/jsx/components.js +25 -26
  201. package/node_modules/hono/dist/cjs/jsx/context.js +5 -5
  202. package/node_modules/hono/dist/cjs/jsx/dom/server.js +5 -1
  203. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +2 -2
  204. package/node_modules/hono/dist/cjs/jsx/streaming.js +4 -5
  205. package/node_modules/hono/dist/client/client.js +4 -4
  206. package/node_modules/hono/dist/hono-base.js +7 -6
  207. package/node_modules/hono/dist/jsx/base.js +15 -1
  208. package/node_modules/hono/dist/jsx/components.js +26 -27
  209. package/node_modules/hono/dist/jsx/context.js +6 -6
  210. package/node_modules/hono/dist/jsx/dom/server.js +5 -1
  211. package/node_modules/hono/dist/jsx/intrinsic-element/components.js +3 -3
  212. package/node_modules/hono/dist/jsx/streaming.js +5 -6
  213. package/node_modules/hono/dist/types/context.d.ts +2 -2
  214. package/node_modules/hono/dist/types/jsx/base.d.ts +3 -0
  215. package/node_modules/hono/package.json +2 -2
  216. package/node_modules/ip-address/README.md +92 -82
  217. package/node_modules/ip-address/dist/common.d.ts +20 -0
  218. package/node_modules/ip-address/dist/common.js +36 -0
  219. package/node_modules/ip-address/dist/common.js.map +1 -1
  220. package/node_modules/ip-address/dist/ipv4.d.ts +50 -0
  221. package/node_modules/ip-address/dist/ipv4.js +75 -0
  222. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  223. package/node_modules/ip-address/dist/ipv6.d.ts +79 -10
  224. package/node_modules/ip-address/dist/ipv6.js +120 -30
  225. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  226. package/node_modules/ip-address/dist/v4/constants.d.ts +12 -0
  227. package/node_modules/ip-address/dist/v4/constants.js +40 -1
  228. package/node_modules/ip-address/dist/v4/constants.js.map +1 -1
  229. package/node_modules/ip-address/dist/v6/constants.d.ts +14 -0
  230. package/node_modules/ip-address/dist/v6/constants.js +47 -1
  231. package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  232. package/node_modules/ip-address/package.json +1 -1
  233. package/node_modules/jose/dist/types/index.d.ts +1 -2
  234. package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +12 -25
  235. package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +18 -32
  236. package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +12 -25
  237. package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +24 -50
  238. package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +15 -30
  239. package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +29 -52
  240. package/node_modules/jose/dist/types/jwk/embedded.d.ts +5 -8
  241. package/node_modules/jose/dist/types/jwk/thumbprint.d.ts +7 -9
  242. package/node_modules/jose/dist/types/jwks/local.d.ts +10 -13
  243. package/node_modules/jose/dist/types/jwks/remote.d.ts +29 -41
  244. package/node_modules/jose/dist/types/jws/compact/sign.d.ts +8 -13
  245. package/node_modules/jose/dist/types/jws/compact/verify.d.ts +14 -26
  246. package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +10 -19
  247. package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +14 -26
  248. package/node_modules/jose/dist/types/jws/general/sign.d.ts +19 -33
  249. package/node_modules/jose/dist/types/jws/general/verify.d.ts +17 -32
  250. package/node_modules/jose/dist/types/jwt/decrypt.d.ts +20 -27
  251. package/node_modules/jose/dist/types/jwt/encrypt.d.ts +30 -35
  252. package/node_modules/jose/dist/types/jwt/sign.d.ts +8 -13
  253. package/node_modules/jose/dist/types/jwt/unsecured.d.ts +10 -19
  254. package/node_modules/jose/dist/types/jwt/verify.d.ts +19 -22
  255. package/node_modules/jose/dist/types/key/export.d.ts +10 -10
  256. package/node_modules/jose/dist/types/key/generate_key_pair.d.ts +15 -22
  257. package/node_modules/jose/dist/types/key/generate_secret.d.ts +12 -19
  258. package/node_modules/jose/dist/types/key/import.d.ts +25 -31
  259. package/node_modules/jose/dist/types/types.d.ts +184 -319
  260. package/node_modules/jose/dist/types/util/base64url.d.ts +7 -7
  261. package/node_modules/jose/dist/types/util/decode_jwt.d.ts +5 -7
  262. package/node_modules/jose/dist/types/util/decode_protected_header.d.ts +6 -5
  263. package/node_modules/jose/dist/types/util/errors.d.ts +50 -88
  264. package/node_modules/jose/dist/webapi/index.js +70 -32
  265. package/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +6 -8
  266. package/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +25 -48
  267. package/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +14 -14
  268. package/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +34 -64
  269. package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +38 -49
  270. package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +100 -172
  271. package/node_modules/jose/dist/webapi/jwk/embedded.js +29 -32
  272. package/node_modules/jose/dist/webapi/jwk/thumbprint.js +51 -70
  273. package/node_modules/jose/dist/webapi/jwks/local.js +53 -64
  274. package/node_modules/jose/dist/webapi/jwks/remote.js +88 -136
  275. package/node_modules/jose/dist/webapi/jws/compact/sign.js +19 -21
  276. package/node_modules/jose/dist/webapi/jws/compact/verify.js +7 -8
  277. package/node_modules/jose/dist/webapi/jws/flattened/sign.js +22 -31
  278. package/node_modules/jose/dist/webapi/jws/flattened/verify.js +11 -24
  279. package/node_modules/jose/dist/webapi/jws/general/sign.js +55 -73
  280. package/node_modules/jose/dist/webapi/jws/general/verify.js +43 -69
  281. package/node_modules/jose/dist/webapi/jwt/decrypt.js +12 -20
  282. package/node_modules/jose/dist/webapi/jwt/encrypt.js +43 -70
  283. package/node_modules/jose/dist/webapi/jwt/sign.js +17 -16
  284. package/node_modules/jose/dist/webapi/jwt/unsecured.js +31 -40
  285. package/node_modules/jose/dist/webapi/jwt/verify.js +12 -14
  286. package/node_modules/jose/dist/webapi/key/export.js +32 -41
  287. package/node_modules/jose/dist/webapi/key/generate_key_pair.js +32 -49
  288. package/node_modules/jose/dist/webapi/key/generate_secret.js +35 -40
  289. package/node_modules/jose/dist/webapi/key/import.js +48 -56
  290. package/node_modules/jose/dist/webapi/lib/asn1.js +128 -169
  291. package/node_modules/jose/dist/webapi/lib/buffer_utils.js +72 -41
  292. package/node_modules/jose/dist/webapi/lib/content_encryption.js +75 -119
  293. package/node_modules/jose/dist/webapi/lib/deflate.js +35 -47
  294. package/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +102 -93
  295. package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +178 -234
  296. package/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +71 -138
  297. package/node_modules/jose/dist/webapi/lib/jws_algorithms.js +62 -61
  298. package/node_modules/jose/dist/webapi/lib/jws_sign.js +43 -82
  299. package/node_modules/jose/dist/webapi/lib/jws_verify.js +78 -131
  300. package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +123 -209
  301. package/node_modules/jose/dist/webapi/lib/key.js +147 -139
  302. package/node_modules/jose/dist/webapi/lib/key_algorithm.js +13 -8
  303. package/node_modules/jose/dist/webapi/lib/key_descriptor.js +8 -6
  304. package/node_modules/jose/dist/webapi/lib/key_management.js +169 -235
  305. package/node_modules/jose/dist/webapi/lib/validate.js +122 -0
  306. package/node_modules/jose/dist/webapi/util/base64url.js +14 -37
  307. package/node_modules/jose/dist/webapi/util/decode_jwt.js +32 -31
  308. package/node_modules/jose/dist/webapi/util/decode_protected_header.js +18 -23
  309. package/node_modules/jose/dist/webapi/util/errors.js +94 -84
  310. package/node_modules/jose/package.json +17 -81
  311. package/node_modules/protobufjs/dist/light/protobuf.js +59 -6
  312. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  313. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  314. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  315. package/node_modules/protobufjs/dist/minimal/protobuf.js +22 -2
  316. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  317. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  318. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  319. package/node_modules/protobufjs/dist/protobuf.js +59 -6
  320. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  321. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  322. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  323. package/node_modules/protobufjs/package.json +1 -1
  324. package/node_modules/protobufjs/src/decoder.js +32 -3
  325. package/node_modules/protobufjs/src/reader.js +20 -0
  326. package/node_modules/protobufjs/src/wrappers.js +5 -1
  327. package/node_modules/qs/.github/THREAT_MODEL.md +3 -3
  328. package/node_modules/qs/CHANGELOG.md +15 -0
  329. package/node_modules/qs/README.md +19 -1
  330. package/node_modules/qs/dist/qs.js +21 -21
  331. package/node_modules/qs/eslint.config.mjs +1 -1
  332. package/node_modules/qs/lib/parse.js +3 -4
  333. package/node_modules/qs/lib/stringify.js +23 -8
  334. package/node_modules/qs/lib/utils.js +10 -3
  335. package/node_modules/qs/package.json +4 -4
  336. package/node_modules/qs/test/parse.js +192 -3
  337. package/node_modules/qs/test/stringify.js +317 -0
  338. package/node_modules/qs/test/utils.js +12 -0
  339. package/node_modules/undici/lib/dispatcher/balanced-pool.js +4 -2
  340. package/node_modules/undici/lib/dispatcher/client-h1.js +12 -4
  341. package/node_modules/undici/lib/dispatcher/client-h2.js +70 -14
  342. package/node_modules/undici/lib/dispatcher/client.js +6 -2
  343. package/node_modules/undici/lib/handler/cache-handler.js +21 -5
  344. package/node_modules/undici/lib/handler/retry-handler.js +42 -7
  345. package/node_modules/undici/lib/interceptor/cache.js +20 -1
  346. package/node_modules/undici/lib/interceptor/decompress.js +146 -14
  347. package/node_modules/undici/lib/interceptor/dump.js +10 -23
  348. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +245 -150
  349. package/node_modules/undici/lib/web/websocket/connection.js +1 -1
  350. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
  351. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
  352. package/node_modules/undici/package.json +1 -1
  353. package/node_modules/undici/types/interceptors.d.ts +2 -0
  354. package/node_modules/undici-types/agent.d.ts +13 -12
  355. package/node_modules/undici-types/api.d.ts +26 -26
  356. package/node_modules/undici-types/balanced-pool.d.ts +12 -13
  357. package/node_modules/undici-types/client.d.ts +34 -55
  358. package/node_modules/undici-types/connector.d.ts +2 -4
  359. package/node_modules/undici-types/cookies.d.ts +0 -2
  360. package/node_modules/undici-types/diagnostics-channel.d.ts +10 -18
  361. package/node_modules/undici-types/dispatcher.d.ts +137 -134
  362. package/node_modules/undici-types/env-http-proxy-agent.d.ts +3 -4
  363. package/node_modules/undici-types/errors.d.ts +54 -82
  364. package/node_modules/undici-types/eventsource.d.ts +4 -9
  365. package/node_modules/undici-types/fetch.d.ts +24 -46
  366. package/node_modules/undici-types/file.d.ts +39 -0
  367. package/node_modules/undici-types/filereader.d.ts +54 -0
  368. package/node_modules/undici-types/formdata.d.ts +7 -7
  369. package/node_modules/undici-types/global-dispatcher.d.ts +4 -4
  370. package/node_modules/undici-types/global-origin.d.ts +5 -5
  371. package/node_modules/undici-types/handlers.d.ts +9 -8
  372. package/node_modules/undici-types/header.d.ts +1 -162
  373. package/node_modules/undici-types/index.d.ts +47 -69
  374. package/node_modules/undici-types/interceptors.d.ts +9 -72
  375. package/node_modules/undici-types/mock-agent.d.ts +18 -36
  376. package/node_modules/undici-types/mock-client.d.ts +4 -6
  377. package/node_modules/undici-types/mock-errors.d.ts +3 -3
  378. package/node_modules/undici-types/mock-interceptor.d.ts +20 -21
  379. package/node_modules/undici-types/mock-pool.d.ts +4 -6
  380. package/node_modules/undici-types/package.json +1 -1
  381. package/node_modules/undici-types/patch.d.ts +4 -0
  382. package/node_modules/undici-types/pool-stats.d.ts +8 -8
  383. package/node_modules/undici-types/pool.d.ts +14 -14
  384. package/node_modules/undici-types/proxy-agent.d.ts +6 -7
  385. package/node_modules/undici-types/readable.d.ts +16 -19
  386. package/node_modules/undici-types/retry-agent.d.ts +1 -1
  387. package/node_modules/undici-types/retry-handler.d.ts +10 -19
  388. package/node_modules/undici-types/util.d.ts +3 -3
  389. package/node_modules/undici-types/webidl.d.ts +30 -148
  390. package/node_modules/undici-types/websocket.d.ts +10 -48
  391. package/node_modules/zod/README.md +27 -0
  392. package/node_modules/zod/compile.cjs +96 -0
  393. package/node_modules/zod/compile.d.cts +1 -0
  394. package/node_modules/zod/compile.d.ts +1 -0
  395. package/node_modules/zod/compile.js +52 -0
  396. package/node_modules/zod/index.cjs +21 -2
  397. package/node_modules/zod/index.d.cts +1 -2
  398. package/node_modules/zod/index.d.ts +1 -2
  399. package/node_modules/zod/index.js +5 -2
  400. package/node_modules/zod/locales/index.cjs +19 -0
  401. package/node_modules/zod/mini/index.cjs +19 -0
  402. package/node_modules/zod/package.json +20 -8
  403. package/node_modules/zod/src/compile.ts +56 -0
  404. package/node_modules/zod/src/index.ts +5 -2
  405. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  406. package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
  407. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  408. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  409. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  410. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  411. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  412. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  413. package/node_modules/zod/src/v3/types.ts +5 -5
  414. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  415. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  416. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  417. package/node_modules/zod/src/v4/classic/external.ts +14 -9
  418. package/node_modules/zod/src/v4/classic/from-json-schema.ts +363 -78
  419. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  420. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  421. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  422. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  423. package/node_modules/zod/src/v4/classic/schemas.ts +652 -371
  424. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  425. package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
  426. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +185 -0
  427. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +36 -1
  428. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  429. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  430. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  431. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +3 -3
  432. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  433. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +994 -0
  434. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  435. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  436. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  437. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  438. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  439. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  440. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +261 -13
  441. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +20 -0
  442. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  443. package/node_modules/zod/src/v4/classic/tests/error.test.ts +403 -6
  444. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +4 -0
  445. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +582 -10
  446. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  447. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  448. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  449. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
  450. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  451. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  452. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +297 -0
  453. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +67 -0
  454. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  455. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +215 -0
  456. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  457. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  458. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  459. package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
  460. package/node_modules/zod/src/v4/classic/tests/number.test.ts +46 -9
  461. package/node_modules/zod/src/v4/classic/tests/object.test.ts +301 -12
  462. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +235 -0
  463. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  464. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  465. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
  466. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  467. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +225 -0
  468. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  469. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  470. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +79 -3
  471. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  472. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  473. package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
  474. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
  475. package/node_modules/zod/src/v4/classic/tests/string.test.ts +152 -5
  476. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  477. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +44 -3
  478. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1758 -202
  479. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  480. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  481. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +645 -0
  482. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  483. package/node_modules/zod/src/v4/core/api.ts +73 -13
  484. package/node_modules/zod/src/v4/core/checks.ts +58 -145
  485. package/node_modules/zod/src/v4/core/compile.ts +2302 -0
  486. package/node_modules/zod/src/v4/core/core.ts +98 -19
  487. package/node_modules/zod/src/v4/core/doc.ts +17 -9
  488. package/node_modules/zod/src/v4/core/errors.ts +113 -25
  489. package/node_modules/zod/src/v4/core/index.ts +3 -0
  490. package/node_modules/zod/src/v4/core/json-schema-generator.ts +8 -3
  491. package/node_modules/zod/src/v4/core/json-schema-processors.ts +468 -146
  492. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  493. package/node_modules/zod/src/v4/core/memoizer.ts +334 -0
  494. package/node_modules/zod/src/v4/core/parse.ts +164 -50
  495. package/node_modules/zod/src/v4/core/regexes.ts +38 -15
  496. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  497. package/node_modules/zod/src/v4/core/schemas.ts +1073 -538
  498. package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
  499. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +969 -0
  500. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
  501. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  502. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  503. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  504. package/node_modules/zod/src/v4/core/tests/compile.test.ts +1859 -0
  505. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
  506. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  507. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  508. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  509. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  510. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
  511. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  512. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  513. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  514. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +31 -0
  515. package/node_modules/zod/src/v4/core/to-json-schema.ts +284 -49
  516. package/node_modules/zod/src/v4/core/util.ts +458 -157
  517. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  518. package/node_modules/zod/src/v4/core/visit.ts +204 -0
  519. package/node_modules/zod/src/v4/index.ts +3 -3
  520. package/node_modules/zod/src/v4/locales/ar.ts +4 -0
  521. package/node_modules/zod/src/v4/locales/az.ts +4 -0
  522. package/node_modules/zod/src/v4/locales/be.ts +11 -0
  523. package/node_modules/zod/src/v4/locales/bg.ts +4 -0
  524. package/node_modules/zod/src/v4/locales/bn.ts +122 -0
  525. package/node_modules/zod/src/v4/locales/ca.ts +4 -0
  526. package/node_modules/zod/src/v4/locales/ckb.ts +139 -0
  527. package/node_modules/zod/src/v4/locales/cs.ts +4 -0
  528. package/node_modules/zod/src/v4/locales/da.ts +6 -2
  529. package/node_modules/zod/src/v4/locales/de.ts +4 -0
  530. package/node_modules/zod/src/v4/locales/el.ts +2 -0
  531. package/node_modules/zod/src/v4/locales/en.ts +16 -4
  532. package/node_modules/zod/src/v4/locales/eo.ts +4 -0
  533. package/node_modules/zod/src/v4/locales/es.ts +3 -0
  534. package/node_modules/zod/src/v4/locales/fa.ts +4 -0
  535. package/node_modules/zod/src/v4/locales/fi.ts +4 -0
  536. package/node_modules/zod/src/v4/locales/fr-CA.ts +4 -0
  537. package/node_modules/zod/src/v4/locales/fr.ts +20 -14
  538. package/node_modules/zod/src/v4/locales/gu.ts +122 -0
  539. package/node_modules/zod/src/v4/locales/he.ts +7 -1
  540. package/node_modules/zod/src/v4/locales/hi.ts +125 -0
  541. package/node_modules/zod/src/v4/locales/hr.ts +3 -0
  542. package/node_modules/zod/src/v4/locales/hu.ts +4 -0
  543. package/node_modules/zod/src/v4/locales/hy.ts +10 -0
  544. package/node_modules/zod/src/v4/locales/id.ts +4 -0
  545. package/node_modules/zod/src/v4/locales/index.ts +11 -0
  546. package/node_modules/zod/src/v4/locales/is.ts +4 -0
  547. package/node_modules/zod/src/v4/locales/it.ts +4 -0
  548. package/node_modules/zod/src/v4/locales/ja.ts +4 -0
  549. package/node_modules/zod/src/v4/locales/ka.ts +4 -0
  550. package/node_modules/zod/src/v4/locales/km.ts +4 -0
  551. package/node_modules/zod/src/v4/locales/kn.ts +125 -0
  552. package/node_modules/zod/src/v4/locales/ko.ts +4 -0
  553. package/node_modules/zod/src/v4/locales/lt.ts +3 -0
  554. package/node_modules/zod/src/v4/locales/mk.ts +4 -0
  555. package/node_modules/zod/src/v4/locales/ms.ts +4 -0
  556. package/node_modules/zod/src/v4/locales/ne.ts +127 -0
  557. package/node_modules/zod/src/v4/locales/nl.ts +4 -0
  558. package/node_modules/zod/src/v4/locales/nn.ts +120 -0
  559. package/node_modules/zod/src/v4/locales/no.ts +6 -2
  560. package/node_modules/zod/src/v4/locales/ota.ts +4 -0
  561. package/node_modules/zod/src/v4/locales/pl.ts +4 -0
  562. package/node_modules/zod/src/v4/locales/ps.ts +4 -0
  563. package/node_modules/zod/src/v4/locales/pt-BR.ts +160 -0
  564. package/node_modules/zod/src/v4/locales/pt.ts +100 -58
  565. package/node_modules/zod/src/v4/locales/ro.ts +2 -0
  566. package/node_modules/zod/src/v4/locales/ru.ts +11 -0
  567. package/node_modules/zod/src/v4/locales/sk.ts +122 -0
  568. package/node_modules/zod/src/v4/locales/sl.ts +4 -0
  569. package/node_modules/zod/src/v4/locales/sv.ts +6 -2
  570. package/node_modules/zod/src/v4/locales/ta.ts +4 -0
  571. package/node_modules/zod/src/v4/locales/tg.ts +134 -0
  572. package/node_modules/zod/src/v4/locales/th.ts +4 -0
  573. package/node_modules/zod/src/v4/locales/tk.ts +112 -0
  574. package/node_modules/zod/src/v4/locales/tr.ts +4 -0
  575. package/node_modules/zod/src/v4/locales/uk.ts +4 -0
  576. package/node_modules/zod/src/v4/locales/ur.ts +4 -0
  577. package/node_modules/zod/src/v4/locales/uz.ts +2 -0
  578. package/node_modules/zod/src/v4/locales/vi.ts +4 -0
  579. package/node_modules/zod/src/v4/locales/yo.ts +4 -0
  580. package/node_modules/zod/src/v4/locales/zh-CN.ts +4 -0
  581. package/node_modules/zod/src/v4/locales/zh-TW.ts +4 -0
  582. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  583. package/node_modules/zod/src/v4/mini/external.ts +12 -1
  584. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  585. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  586. package/node_modules/zod/src/v4/mini/schemas.ts +174 -59
  587. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  588. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  589. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  590. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  591. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
  592. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  593. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  594. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  595. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  596. package/node_modules/zod/src/v4/mini/tests/index.test.ts +102 -5
  597. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  598. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  599. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
  600. package/node_modules/zod/src/v4/mini/tests/string.test.ts +37 -0
  601. package/node_modules/zod/v3/ZodError.cjs +41 -12
  602. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  603. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  604. package/node_modules/zod/v3/ZodError.js +22 -12
  605. package/node_modules/zod/v3/errors.cjs +19 -0
  606. package/node_modules/zod/v3/external.cjs +19 -0
  607. package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
  608. package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
  609. package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
  610. package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
  611. package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
  612. package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
  613. package/node_modules/zod/v3/helpers/util.cjs +19 -0
  614. package/node_modules/zod/v3/index.cjs +19 -0
  615. package/node_modules/zod/v3/standard-schema.cjs +19 -0
  616. package/node_modules/zod/v3/types.cjs +26 -5
  617. package/node_modules/zod/v3/types.js +7 -5
  618. package/node_modules/zod/v4/classic/checks.cjs +19 -0
  619. package/node_modules/zod/v4/classic/coerce.cjs +19 -0
  620. package/node_modules/zod/v4/classic/compat.cjs +19 -0
  621. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  622. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  623. package/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
  624. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  625. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  626. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  627. package/node_modules/zod/v4/classic/errors.cjs +62 -34
  628. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  629. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  630. package/node_modules/zod/v4/classic/errors.js +43 -34
  631. package/node_modules/zod/v4/classic/external.cjs +51 -27
  632. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  633. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  634. package/node_modules/zod/v4/classic/external.js +5 -8
  635. package/node_modules/zod/v4/classic/from-json-schema.cjs +376 -75
  636. package/node_modules/zod/v4/classic/from-json-schema.js +357 -75
  637. package/node_modules/zod/v4/classic/in-out.cjs +82 -0
  638. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  639. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  640. package/node_modules/zod/v4/classic/in-out.js +36 -0
  641. package/node_modules/zod/v4/classic/index.cjs +21 -2
  642. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  643. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  644. package/node_modules/zod/v4/classic/index.js +2 -2
  645. package/node_modules/zod/v4/classic/iso.cjs +30 -22
  646. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  647. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  648. package/node_modules/zod/v4/classic/iso.js +2 -17
  649. package/node_modules/zod/v4/classic/parse.cjs +23 -1
  650. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  651. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  652. package/node_modules/zod/v4/classic/parse.js +1 -0
  653. package/node_modules/zod/v4/classic/schemas.cjs +591 -422
  654. package/node_modules/zod/v4/classic/schemas.d.cts +70 -19
  655. package/node_modules/zod/v4/classic/schemas.d.ts +70 -19
  656. package/node_modules/zod/v4/classic/schemas.js +564 -420
  657. package/node_modules/zod/v4/core/api.cjs +58 -4
  658. package/node_modules/zod/v4/core/api.d.cts +16 -10
  659. package/node_modules/zod/v4/core/api.d.ts +16 -10
  660. package/node_modules/zod/v4/core/api.js +36 -4
  661. package/node_modules/zod/v4/core/checks.cjs +56 -127
  662. package/node_modules/zod/v4/core/checks.d.cts +13 -13
  663. package/node_modules/zod/v4/core/checks.d.ts +13 -13
  664. package/node_modules/zod/v4/core/checks.js +37 -127
  665. package/node_modules/zod/v4/core/compile.cjs +1913 -0
  666. package/node_modules/zod/v4/core/compile.d.cts +65 -0
  667. package/node_modules/zod/v4/core/compile.d.ts +65 -0
  668. package/node_modules/zod/v4/core/compile.js +1863 -0
  669. package/node_modules/zod/v4/core/core.cjs +100 -18
  670. package/node_modules/zod/v4/core/core.d.cts +16 -4
  671. package/node_modules/zod/v4/core/core.d.ts +16 -4
  672. package/node_modules/zod/v4/core/core.js +82 -19
  673. package/node_modules/zod/v4/core/doc.cjs +31 -9
  674. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  675. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  676. package/node_modules/zod/v4/core/doc.js +12 -9
  677. package/node_modules/zod/v4/core/errors.cjs +126 -25
  678. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  679. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  680. package/node_modules/zod/v4/core/errors.js +107 -25
  681. package/node_modules/zod/v4/core/index.cjs +24 -1
  682. package/node_modules/zod/v4/core/index.d.cts +3 -0
  683. package/node_modules/zod/v4/core/index.d.ts +3 -0
  684. package/node_modules/zod/v4/core/index.js +3 -0
  685. package/node_modules/zod/v4/core/json-schema-generator.cjs +24 -1
  686. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  687. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  688. package/node_modules/zod/v4/core/json-schema-generator.js +6 -2
  689. package/node_modules/zod/v4/core/json-schema-processors.cjs +470 -149
  690. package/node_modules/zod/v4/core/json-schema-processors.d.cts +17 -0
  691. package/node_modules/zod/v4/core/json-schema-processors.d.ts +17 -0
  692. package/node_modules/zod/v4/core/json-schema-processors.js +427 -150
  693. package/node_modules/zod/v4/core/json-schema.cjs +19 -0
  694. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  695. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  696. package/node_modules/zod/v4/core/memoizer.cjs +363 -0
  697. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  698. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  699. package/node_modules/zod/v4/core/memoizer.js +314 -0
  700. package/node_modules/zod/v4/core/parse.cjs +148 -46
  701. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  702. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  703. package/node_modules/zod/v4/core/parse.js +127 -45
  704. package/node_modules/zod/v4/core/regexes.cjs +52 -17
  705. package/node_modules/zod/v4/core/regexes.d.cts +4 -0
  706. package/node_modules/zod/v4/core/regexes.d.ts +4 -0
  707. package/node_modules/zod/v4/core/regexes.js +30 -15
  708. package/node_modules/zod/v4/core/registries.cjs +19 -0
  709. package/node_modules/zod/v4/core/registries.js +2 -2
  710. package/node_modules/zod/v4/core/schemas.cjs +826 -387
  711. package/node_modules/zod/v4/core/schemas.d.cts +140 -36
  712. package/node_modules/zod/v4/core/schemas.d.ts +140 -36
  713. package/node_modules/zod/v4/core/schemas.js +796 -387
  714. package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
  715. package/node_modules/zod/v4/core/to-json-schema.cjs +270 -45
  716. package/node_modules/zod/v4/core/to-json-schema.d.cts +48 -5
  717. package/node_modules/zod/v4/core/to-json-schema.d.ts +48 -5
  718. package/node_modules/zod/v4/core/to-json-schema.js +248 -45
  719. package/node_modules/zod/v4/core/util.cjs +376 -157
  720. package/node_modules/zod/v4/core/util.d.cts +79 -1
  721. package/node_modules/zod/v4/core/util.d.ts +79 -1
  722. package/node_modules/zod/v4/core/util.js +345 -156
  723. package/node_modules/zod/v4/core/versions.cjs +21 -2
  724. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  725. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  726. package/node_modules/zod/v4/core/versions.js +2 -2
  727. package/node_modules/zod/v4/core/visit.cjs +226 -0
  728. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  729. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  730. package/node_modules/zod/v4/core/visit.js +181 -0
  731. package/node_modules/zod/v4/index.cjs +34 -5
  732. package/node_modules/zod/v4/index.d.cts +2 -2
  733. package/node_modules/zod/v4/index.d.ts +2 -2
  734. package/node_modules/zod/v4/index.js +3 -2
  735. package/node_modules/zod/v4/locales/ar.cjs +4 -0
  736. package/node_modules/zod/v4/locales/ar.js +4 -0
  737. package/node_modules/zod/v4/locales/az.cjs +4 -0
  738. package/node_modules/zod/v4/locales/az.js +4 -0
  739. package/node_modules/zod/v4/locales/be.cjs +11 -0
  740. package/node_modules/zod/v4/locales/be.js +11 -0
  741. package/node_modules/zod/v4/locales/bg.cjs +4 -0
  742. package/node_modules/zod/v4/locales/bg.js +4 -0
  743. package/node_modules/zod/v4/locales/bn.cjs +139 -0
  744. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  745. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  746. package/node_modules/zod/v4/locales/bn.js +112 -0
  747. package/node_modules/zod/v4/locales/ca.cjs +4 -0
  748. package/node_modules/zod/v4/locales/ca.js +4 -0
  749. package/node_modules/zod/v4/locales/ckb.cjs +159 -0
  750. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  751. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  752. package/node_modules/zod/v4/locales/ckb.js +132 -0
  753. package/node_modules/zod/v4/locales/cs.cjs +4 -0
  754. package/node_modules/zod/v4/locales/cs.js +4 -0
  755. package/node_modules/zod/v4/locales/da.cjs +6 -2
  756. package/node_modules/zod/v4/locales/da.js +6 -2
  757. package/node_modules/zod/v4/locales/de.cjs +4 -0
  758. package/node_modules/zod/v4/locales/de.js +4 -0
  759. package/node_modules/zod/v4/locales/el.cjs +2 -0
  760. package/node_modules/zod/v4/locales/el.js +2 -0
  761. package/node_modules/zod/v4/locales/en.cjs +15 -4
  762. package/node_modules/zod/v4/locales/en.js +15 -4
  763. package/node_modules/zod/v4/locales/eo.cjs +4 -0
  764. package/node_modules/zod/v4/locales/eo.js +4 -0
  765. package/node_modules/zod/v4/locales/es.cjs +3 -0
  766. package/node_modules/zod/v4/locales/es.js +3 -0
  767. package/node_modules/zod/v4/locales/fa.cjs +4 -0
  768. package/node_modules/zod/v4/locales/fa.js +4 -0
  769. package/node_modules/zod/v4/locales/fi.cjs +4 -0
  770. package/node_modules/zod/v4/locales/fi.js +4 -0
  771. package/node_modules/zod/v4/locales/fr-CA.cjs +4 -0
  772. package/node_modules/zod/v4/locales/fr-CA.js +4 -0
  773. package/node_modules/zod/v4/locales/fr.cjs +17 -14
  774. package/node_modules/zod/v4/locales/fr.js +17 -14
  775. package/node_modules/zod/v4/locales/gu.cjs +139 -0
  776. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  777. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  778. package/node_modules/zod/v4/locales/gu.js +112 -0
  779. package/node_modules/zod/v4/locales/he.cjs +6 -0
  780. package/node_modules/zod/v4/locales/he.js +6 -0
  781. package/node_modules/zod/v4/locales/hi.cjs +137 -0
  782. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  783. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  784. package/node_modules/zod/v4/locales/hi.js +110 -0
  785. package/node_modules/zod/v4/locales/hr.cjs +3 -0
  786. package/node_modules/zod/v4/locales/hr.js +3 -0
  787. package/node_modules/zod/v4/locales/hu.cjs +4 -0
  788. package/node_modules/zod/v4/locales/hu.js +4 -0
  789. package/node_modules/zod/v4/locales/hy.cjs +10 -0
  790. package/node_modules/zod/v4/locales/hy.js +10 -0
  791. package/node_modules/zod/v4/locales/id.cjs +4 -0
  792. package/node_modules/zod/v4/locales/id.js +4 -0
  793. package/node_modules/zod/v4/locales/index.cjs +43 -2
  794. package/node_modules/zod/v4/locales/index.d.cts +11 -0
  795. package/node_modules/zod/v4/locales/index.d.ts +11 -0
  796. package/node_modules/zod/v4/locales/index.js +11 -0
  797. package/node_modules/zod/v4/locales/is.cjs +4 -0
  798. package/node_modules/zod/v4/locales/is.js +4 -0
  799. package/node_modules/zod/v4/locales/it.cjs +4 -0
  800. package/node_modules/zod/v4/locales/it.js +4 -0
  801. package/node_modules/zod/v4/locales/ja.cjs +4 -0
  802. package/node_modules/zod/v4/locales/ja.js +4 -0
  803. package/node_modules/zod/v4/locales/ka.cjs +4 -0
  804. package/node_modules/zod/v4/locales/ka.js +4 -0
  805. package/node_modules/zod/v4/locales/km.cjs +4 -0
  806. package/node_modules/zod/v4/locales/km.js +4 -0
  807. package/node_modules/zod/v4/locales/kn.cjs +142 -0
  808. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  809. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  810. package/node_modules/zod/v4/locales/kn.js +115 -0
  811. package/node_modules/zod/v4/locales/ko.cjs +4 -0
  812. package/node_modules/zod/v4/locales/ko.js +4 -0
  813. package/node_modules/zod/v4/locales/lt.cjs +3 -0
  814. package/node_modules/zod/v4/locales/lt.js +3 -0
  815. package/node_modules/zod/v4/locales/mk.cjs +4 -0
  816. package/node_modules/zod/v4/locales/mk.js +4 -0
  817. package/node_modules/zod/v4/locales/ms.cjs +4 -0
  818. package/node_modules/zod/v4/locales/ms.js +4 -0
  819. package/node_modules/zod/v4/locales/ne.cjs +137 -0
  820. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  821. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  822. package/node_modules/zod/v4/locales/ne.js +110 -0
  823. package/node_modules/zod/v4/locales/nl.cjs +4 -0
  824. package/node_modules/zod/v4/locales/nl.js +4 -0
  825. package/node_modules/zod/v4/locales/nn.cjs +139 -0
  826. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  827. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  828. package/node_modules/zod/v4/locales/nn.js +112 -0
  829. package/node_modules/zod/v4/locales/no.cjs +6 -2
  830. package/node_modules/zod/v4/locales/no.js +6 -2
  831. package/node_modules/zod/v4/locales/ota.cjs +4 -0
  832. package/node_modules/zod/v4/locales/ota.js +4 -0
  833. package/node_modules/zod/v4/locales/pl.cjs +4 -0
  834. package/node_modules/zod/v4/locales/pl.js +4 -0
  835. package/node_modules/zod/v4/locales/ps.cjs +4 -0
  836. package/node_modules/zod/v4/locales/ps.js +4 -0
  837. package/node_modules/zod/v4/locales/pt-BR.cjs +169 -0
  838. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  839. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  840. package/node_modules/zod/v4/locales/pt-BR.js +142 -0
  841. package/node_modules/zod/v4/locales/pt.cjs +88 -55
  842. package/node_modules/zod/v4/locales/pt.js +88 -55
  843. package/node_modules/zod/v4/locales/ro.cjs +2 -0
  844. package/node_modules/zod/v4/locales/ro.js +2 -0
  845. package/node_modules/zod/v4/locales/ru.cjs +11 -0
  846. package/node_modules/zod/v4/locales/ru.js +11 -0
  847. package/node_modules/zod/v4/locales/sk.cjs +142 -0
  848. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  849. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  850. package/node_modules/zod/v4/locales/sk.js +115 -0
  851. package/node_modules/zod/v4/locales/sl.cjs +4 -0
  852. package/node_modules/zod/v4/locales/sl.js +4 -0
  853. package/node_modules/zod/v4/locales/sv.cjs +6 -2
  854. package/node_modules/zod/v4/locales/sv.js +6 -2
  855. package/node_modules/zod/v4/locales/ta.cjs +4 -0
  856. package/node_modules/zod/v4/locales/ta.js +4 -0
  857. package/node_modules/zod/v4/locales/tg.cjs +143 -0
  858. package/node_modules/zod/v4/locales/tg.d.cts +5 -0
  859. package/node_modules/zod/v4/locales/tg.d.ts +4 -0
  860. package/node_modules/zod/v4/locales/tg.js +116 -0
  861. package/node_modules/zod/v4/locales/th.cjs +4 -0
  862. package/node_modules/zod/v4/locales/th.js +4 -0
  863. package/node_modules/zod/v4/locales/tk.cjs +133 -0
  864. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  865. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  866. package/node_modules/zod/v4/locales/tk.js +106 -0
  867. package/node_modules/zod/v4/locales/tr.cjs +4 -0
  868. package/node_modules/zod/v4/locales/tr.js +4 -0
  869. package/node_modules/zod/v4/locales/uk.cjs +4 -0
  870. package/node_modules/zod/v4/locales/uk.js +4 -0
  871. package/node_modules/zod/v4/locales/ur.cjs +4 -0
  872. package/node_modules/zod/v4/locales/ur.js +4 -0
  873. package/node_modules/zod/v4/locales/uz.cjs +2 -0
  874. package/node_modules/zod/v4/locales/uz.js +2 -0
  875. package/node_modules/zod/v4/locales/vi.cjs +4 -0
  876. package/node_modules/zod/v4/locales/vi.js +4 -0
  877. package/node_modules/zod/v4/locales/yo.cjs +4 -0
  878. package/node_modules/zod/v4/locales/yo.js +4 -0
  879. package/node_modules/zod/v4/locales/zh-CN.cjs +4 -0
  880. package/node_modules/zod/v4/locales/zh-CN.js +4 -0
  881. package/node_modules/zod/v4/locales/zh-TW.cjs +4 -0
  882. package/node_modules/zod/v4/locales/zh-TW.js +4 -0
  883. package/node_modules/zod/v4/mini/checks.cjs +19 -0
  884. package/node_modules/zod/v4/mini/coerce.cjs +19 -0
  885. package/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
  886. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  887. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  888. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  889. package/node_modules/zod/v4/mini/external.cjs +33 -1
  890. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  891. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  892. package/node_modules/zod/v4/mini/external.js +3 -1
  893. package/node_modules/zod/v4/mini/in-out.cjs +82 -0
  894. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  895. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  896. package/node_modules/zod/v4/mini/in-out.js +36 -0
  897. package/node_modules/zod/v4/mini/index.cjs +19 -0
  898. package/node_modules/zod/v4/mini/iso.cjs +19 -0
  899. package/node_modules/zod/v4/mini/parse.cjs +22 -1
  900. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  901. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  902. package/node_modules/zod/v4/mini/parse.js +1 -1
  903. package/node_modules/zod/v4/mini/schemas.cjs +115 -49
  904. package/node_modules/zod/v4/mini/schemas.d.cts +52 -14
  905. package/node_modules/zod/v4/mini/schemas.d.ts +52 -14
  906. package/node_modules/zod/v4/mini/schemas.js +90 -47
  907. package/node_modules/zod/v4-mini/index.cjs +19 -0
  908. package/package.json +3 -2
  909. package/skills/context-management/SKILL.md +258 -0
  910. package/skills/figma-implement-design/SKILL.md +258 -0
  911. package/skills/orchestrator/SKILL.md +82 -0
  912. package/skills/s-help/SKILL.md +42 -0
  913. package/skills/s-help/resources/README.md +23 -0
  914. package/skills/s-help/resources/commands.json +78 -0
  915. package/skills/s-help/resources/s-acm.md +26 -0
  916. package/skills/s-help/resources/s-bash-mode.md +23 -0
  917. package/skills/s-help/resources/s-bash-reset.md +23 -0
  918. package/skills/s-help/resources/s-context.md +25 -0
  919. package/skills/s-help/resources/s-filechanges-accept.md +25 -0
  920. package/skills/s-help/resources/s-filechanges-decline.md +30 -0
  921. package/skills/s-help/resources/s-filechanges.md +38 -0
  922. package/skills/s-help/resources/s-footer.md +38 -0
  923. package/skills/s-help/resources/s-promptlib.md +28 -0
  924. package/skills/s-help/resources/s-skills-manager.md +31 -0
  925. package/skills/s-help/resources/s-stash-history.md +26 -0
  926. package/skills/screenshot/SKILL.md +267 -0
  927. package/skills/screenshot/scripts/ensure_macos_permissions.sh +54 -0
  928. package/skills/screenshot/scripts/macos_display_info.swift +22 -0
  929. package/skills/screenshot/scripts/macos_permissions.swift +40 -0
  930. package/skills/screenshot/scripts/macos_window_info.swift +126 -0
  931. package/skills/screenshot/scripts/take_screenshot.ps1 +163 -0
  932. package/skills/screenshot/scripts/take_screenshot.py +585 -0
  933. package/slingshot/index.js +232 -230
  934. package/node_modules/@types/node/ffi.d.ts +0 -486
  935. package/node_modules/@types/node/inspector/promises.d.ts +0 -35
  936. package/node_modules/@types/node/path/posix.d.ts +0 -8
  937. package/node_modules/@types/node/path/win32.d.ts +0 -8
  938. package/node_modules/@types/node/quic.d.ts +0 -2151
  939. package/node_modules/@types/node/stream/iter.d.ts +0 -452
  940. package/node_modules/@types/node/test/reporters.d.ts +0 -59
  941. package/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +0 -71
  942. package/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +0 -72
  943. package/node_modules/@types/node/ts5.7/index.d.ts +0 -118
  944. package/node_modules/@types/node/util/types.d.ts +0 -558
  945. package/node_modules/@types/node/vfs.d.ts +0 -210
  946. package/node_modules/@types/node/web-globals/blob.d.ts +0 -23
  947. package/node_modules/@types/node/web-globals/console.d.ts +0 -9
  948. package/node_modules/@types/node/web-globals/crypto.d.ts +0 -39
  949. package/node_modules/@types/node/web-globals/encoding.d.ts +0 -11
  950. package/node_modules/@types/node/web-globals/importmeta.d.ts +0 -13
  951. package/node_modules/@types/node/web-globals/messaging.d.ts +0 -23
  952. package/node_modules/@types/node/web-globals/performance.d.ts +0 -45
  953. package/node_modules/@types/node/web-globals/timers.d.ts +0 -44
  954. package/node_modules/@types/node/web-globals/url.d.ts +0 -24
  955. package/node_modules/@types/node/zlib/iter.d.ts +0 -131
  956. package/node_modules/jose/dist/webapi/lib/base64.js +0 -22
  957. package/node_modules/jose/dist/webapi/lib/crypto_key.js +0 -28
  958. package/node_modules/jose/dist/webapi/lib/helpers.js +0 -42
  959. package/node_modules/jose/dist/webapi/lib/invalid_key_input.js +0 -26
  960. package/node_modules/jose/dist/webapi/lib/is_key_like.js +0 -17
  961. package/node_modules/jose/dist/webapi/lib/jwk_metadata.js +0 -20
  962. package/node_modules/jose/dist/webapi/lib/jwk_to_key.js +0 -17
  963. package/node_modules/jose/dist/webapi/lib/key_options.js +0 -6
  964. package/node_modules/jose/dist/webapi/lib/options.js +0 -74
  965. package/node_modules/jose/dist/webapi/lib/signing.js +0 -26
  966. package/node_modules/jose/dist/webapi/lib/type_checks.js +0 -33
  967. package/node_modules/undici-types/cache-interceptor.d.ts +0 -179
  968. package/node_modules/undici-types/client-stats.d.ts +0 -15
  969. package/node_modules/undici-types/dispatcher1-wrapper.d.ts +0 -7
  970. package/node_modules/undici-types/h2c-client.d.ts +0 -73
  971. package/node_modules/undici-types/mock-call-history.d.ts +0 -111
  972. package/node_modules/undici-types/round-robin-pool.d.ts +0 -39
  973. package/node_modules/undici-types/snapshot-agent.d.ts +0 -113
  974. package/node_modules/undici-types/socks5-proxy-agent.d.ts +0 -25
  975. package/node_modules/undici-types/utility.d.ts +0 -7
  976. package/node_modules/zod/src/v4/core/config.ts +0 -15
@@ -1,18 +1,131 @@
1
1
  import type * as checks from "./checks.js";
2
2
  import type * as JSONSchema from "./json-schema.js";
3
+ import * as regexes from "./regexes.js";
3
4
  import type { $ZodRegistry } from "./registries.js";
5
+ import { base64Charset, base64urlCharset } from "./schemas.js";
4
6
  import type * as schemas from "./schemas.js";
5
7
  import {
8
+ type ProcessParams,
6
9
  type Processor,
7
10
  type RegistryToJSONSchemaParams,
11
+ type Seen,
12
+ type ToJSONSchemaContext,
8
13
  type ToJSONSchemaParams,
9
14
  type ZodStandardJSONSchemaPayload,
10
15
  extractDefs,
11
16
  finalize,
17
+ handleUnrepresentable,
12
18
  initializeContext,
13
- process,
19
+ isTransforming,
20
+ processSchema,
14
21
  } from "./to-json-schema.js";
15
- import { getEnumValues } from "./util.js";
22
+ import { BIGINT_FORMAT_RANGES, NUMBER_FORMAT_RANGES, assignProp, getEnumValues } from "./util.js";
23
+
24
+ // ==================== CHECK AGGREGATION ====================
25
+
26
+ // constraint metadata comes from folding `def.checks` here, not from trusting `_zod.bag`: the bag is written by each check's own `onattach` in chain order, which has repeatedly produced order-dependent and lossy values (#6550). runtime checks are a conjunction, so every merge below is the conjunction's — tightest bound wins, patterns union, divisors collect, mime lists intersect
27
+ type Bound = number | bigint | Date;
28
+
29
+ interface CheckAggregate<N extends Bound = Bound> {
30
+ minimum?: N;
31
+ maximum?: N;
32
+ exclusiveMinimum?: N;
33
+ exclusiveMaximum?: N;
34
+ multipleOf?: number[];
35
+ format?: string;
36
+ // ORed across formats: any integer format keeps the conjunction integer, whatever format lands last
37
+ isInt?: boolean;
38
+ patterns?: Set<RegExp>;
39
+ mime?: string[];
40
+ contentEncoding?: string;
41
+ // a datetime that drops the offset or the seconds accepts what `date-time` forbids, so the keyword is withheld
42
+ laxFormat?: boolean;
43
+ }
44
+
45
+ const narrowMin = (agg: CheckAggregate, key: "minimum" | "exclusiveMinimum", value: Bound): void => {
46
+ if (agg[key] === undefined || value > agg[key]) agg[key] = value;
47
+ };
48
+ const narrowMax = (agg: CheckAggregate, key: "maximum" | "exclusiveMaximum", value: Bound): void => {
49
+ if (agg[key] === undefined || value < agg[key]) agg[key] = value;
50
+ };
51
+ const narrowBoth = (agg: CheckAggregate, value: number): void => {
52
+ narrowMin(agg, "minimum", value);
53
+ narrowMax(agg, "maximum", value);
54
+ };
55
+ const addDivisor = (agg: CheckAggregate, value: number): void => {
56
+ agg.multipleOf ??= [];
57
+ if (!agg.multipleOf.includes(value)) agg.multipleOf.push(value);
58
+ };
59
+ const addPattern = (agg: CheckAggregate, pattern: RegExp): void => {
60
+ agg.patterns ??= new Set();
61
+ agg.patterns.add(pattern);
62
+ };
63
+ const intersectMime = (agg: CheckAggregate, mime: string[]): void => {
64
+ agg.mime = agg.mime ? agg.mime.filter((m) => mime.includes(m)) : [...mime];
65
+ };
66
+ // last-wins, matching the bag's historical write order; the flag keeps an integer format from being lost to a later float one
67
+ const setFormat = (agg: CheckAggregate, format: string): void => {
68
+ agg.format = format;
69
+ if (format.includes("int")) agg.isInt = true;
70
+ };
71
+
72
+ type Contributor = (agg: CheckAggregate, def: any) => void;
73
+ const minContributor: Contributor = (agg, def) => narrowMin(agg, "minimum", def.minimum);
74
+ const maxContributor: Contributor = (agg, def) => narrowMax(agg, "maximum", def.maximum);
75
+ const formatContributor =
76
+ (ranges: Record<string, [Bound, Bound]>): Contributor =>
77
+ (agg, def) => {
78
+ setFormat(agg, def.format);
79
+ const [minimum, maximum] = ranges[def.format]!;
80
+ narrowMin(agg, "minimum", minimum);
81
+ narrowMax(agg, "maximum", maximum);
82
+ };
83
+
84
+ const contributors: Record<string, Contributor> = {
85
+ greater_than: (agg, def) => narrowMin(agg, def.inclusive ? "minimum" : "exclusiveMinimum", def.value),
86
+ less_than: (agg, def) => narrowMax(agg, def.inclusive ? "maximum" : "exclusiveMaximum", def.value),
87
+ multiple_of: (agg, def) => addDivisor(agg, def.value),
88
+ number_format: formatContributor(NUMBER_FORMAT_RANGES),
89
+ bigint_format: formatContributor(BIGINT_FORMAT_RANGES),
90
+ min_length: minContributor,
91
+ max_length: maxContributor,
92
+ length_equals: (agg, def) => narrowBoth(agg, def.length),
93
+ min_size: minContributor,
94
+ max_size: maxContributor,
95
+ size_equals: (agg, def) => narrowBoth(agg, def.size),
96
+ string_format: (agg, def) => {
97
+ setFormat(agg, def.format);
98
+ if (def.pattern) addPattern(agg, def.pattern);
99
+ if (def.format === "base64" || def.format === "base64url") agg.contentEncoding = def.format;
100
+ if (def.local || def.precision === -1) agg.laxFormat = true;
101
+ },
102
+ mime_type: (agg, def) => intersectMime(agg, def.mime),
103
+ };
104
+
105
+ export function aggregateChecks<N extends Bound = Bound>(schema: schemas.$ZodType): CheckAggregate<N> {
106
+ const agg: CheckAggregate = {};
107
+ const def = schema._zod.def;
108
+ // a format schema is its own first check, same rule as $ZodType init
109
+ const list: checks.$ZodCheck[] = schema._zod.traits.has("$ZodCheck")
110
+ ? [schema as unknown as checks.$ZodCheck, ...(def.checks ?? [])]
111
+ : (def.checks ?? []);
112
+ for (const ch of list) contributors[ch._zod.def.check]?.(agg, ch._zod.def);
113
+
114
+ // reconcile with the bag so third-party onattach contributions still land; first-party residue is never tighter than the fold, so merging it back is idempotent for one and additive for the other
115
+ const bag = schema._zod.bag as Omit<CheckAggregate, "multipleOf"> & { multipleOf?: number };
116
+ if (bag.minimum !== undefined) narrowMin(agg, "minimum", bag.minimum);
117
+ if (bag.exclusiveMinimum !== undefined) narrowMin(agg, "exclusiveMinimum", bag.exclusiveMinimum);
118
+ if (bag.maximum !== undefined) narrowMax(agg, "maximum", bag.maximum);
119
+ if (bag.exclusiveMaximum !== undefined) narrowMax(agg, "exclusiveMaximum", bag.exclusiveMaximum);
120
+ if (bag.multipleOf !== undefined) addDivisor(agg, bag.multipleOf);
121
+ if (bag.format !== undefined) {
122
+ agg.format ??= bag.format;
123
+ if (bag.format.includes("int")) agg.isInt = true;
124
+ }
125
+ if (bag.mime) intersectMime(agg, bag.mime);
126
+ for (const pattern of bag.patterns ?? []) addPattern(agg, pattern);
127
+ return agg as CheckAggregate<N>;
128
+ }
16
129
 
17
130
  const formatMap: Partial<Record<checks.$ZodStringFormats, string | undefined>> = {
18
131
  guid: "uuid",
@@ -24,11 +137,17 @@ const formatMap: Partial<Record<checks.$ZodStringFormats, string | undefined>> =
24
137
 
25
138
  // ==================== SIMPLE TYPE PROCESSORS ====================
26
139
 
140
+ // the runtime patterns are lax so parse paths never overflow the regex stack; the emitted schema swaps in the exact block forms, which zod itself never executes
141
+ const exactPatterns: Map<RegExp, RegExp> = new Map([
142
+ [base64Charset, regexes.base64],
143
+ [base64urlCharset, regexes.base64url],
144
+ ]);
145
+ const exactPattern = (p: RegExp): RegExp => exactPatterns.get(p) ?? p;
146
+
27
147
  export const stringProcessor: Processor<schemas.$ZodString> = (schema, ctx, _json, _params) => {
28
148
  const json = _json as JSONSchema.StringSchema;
29
149
  json.type = "string";
30
- const { minimum, maximum, format, patterns, contentEncoding } = schema._zod
31
- .bag as schemas.$ZodStringInternals<unknown>["bag"];
150
+ const { minimum, maximum, format, patterns, contentEncoding, laxFormat } = aggregateChecks(schema);
32
151
  if (typeof minimum === "number") json.minLength = minimum;
33
152
  if (typeof maximum === "number") json.maxLength = maximum;
34
153
  // custom pattern overrides format
@@ -36,19 +155,18 @@ export const stringProcessor: Processor<schemas.$ZodString> = (schema, ctx, _jso
36
155
  json.format = formatMap[format as checks.$ZodStringFormats] ?? format;
37
156
  if (json.format === "") delete json.format; // empty format is not valid
38
157
 
39
- // JSON Schema format: "time" requires a full time with offset or Z
40
- // z.iso.time() does not include timezone information, so format: "time" should never be used
41
- if (format === "time") {
158
+ // `z.iso.time()` is never full-time, and `laxFormat` carries the datetime shapes that also accept what their keyword forbids
159
+ if (format === "time" || laxFormat) {
42
160
  delete json.format;
43
161
  }
44
162
  }
45
163
  if (contentEncoding) json.contentEncoding = contentEncoding;
46
164
  if (patterns && patterns.size > 0) {
47
- const regexes = [...patterns];
48
- if (regexes.length === 1) json.pattern = regexes[0]!.source;
49
- else if (regexes.length > 1) {
165
+ const patternList = [...patterns].map(exactPattern);
166
+ if (patternList.length === 1) json.pattern = patternList[0]!.source;
167
+ else if (patternList.length > 1) {
50
168
  json.allOf = [
51
- ...regexes.map((regex) => ({
169
+ ...patternList.map((regex) => ({
52
170
  ...(ctx.target === "draft-07" || ctx.target === "draft-04" || ctx.target === "openapi-3.0"
53
171
  ? ({ type: "string" } as const)
54
172
  : {}),
@@ -59,11 +177,10 @@ export const stringProcessor: Processor<schemas.$ZodString> = (schema, ctx, _jso
59
177
  }
60
178
  };
61
179
 
62
- export const numberProcessor: Processor<schemas.$ZodNumber> = (schema, ctx, _json, _params) => {
180
+ export const numberProcessor: Processor<schemas.$ZodNumber> = (schema, ctx, _json, params) => {
63
181
  const json = _json as JSONSchema.NumberSchema | JSONSchema.IntegerSchema;
64
- const { minimum, maximum, format, multipleOf, exclusiveMaximum, exclusiveMinimum } = schema._zod.bag;
65
- if (typeof format === "string" && format.includes("int")) json.type = "integer";
66
- else json.type = "number";
182
+ const { minimum, maximum, multipleOf, exclusiveMaximum, exclusiveMinimum, isInt } = aggregateChecks<number>(schema);
183
+ json.type = isInt ? "integer" : "number";
67
184
 
68
185
  // when both minimum and exclusiveMinimum exist, pick the more restrictive one
69
186
  const exMin = typeof exclusiveMinimum === "number" && exclusiveMinimum >= (minimum ?? Number.NEGATIVE_INFINITY);
@@ -92,23 +209,37 @@ export const numberProcessor: Processor<schemas.$ZodNumber> = (schema, ctx, _jso
92
209
  json.maximum = maximum;
93
210
  }
94
211
 
95
- if (typeof multipleOf === "number") json.multipleOf = multipleOf;
212
+ if (multipleOf) {
213
+ // JSON Schema requires a divisor strictly greater than zero, and a non-finite one does not survive JSON at all. A negative divisor accepts exactly what its absolute value accepts, so it still maps; zero, NaN and Infinity have no keyword form.
214
+ const divisors = new Set<number>();
215
+ for (const divisor of multipleOf) {
216
+ if (Number.isFinite(divisor) && divisor !== 0) divisors.add(Math.abs(divisor));
217
+ else
218
+ handleUnrepresentable(
219
+ schema,
220
+ ctx,
221
+ json,
222
+ params,
223
+ `A multipleOf divisor of ${divisor} cannot be represented in JSON Schema`
224
+ );
225
+ }
226
+ // chained divisors are a conjunction the keyword cannot carry alone, so extras ride an allOf, same as stacked patterns
227
+ const [first, ...rest] = divisors;
228
+ if (first !== undefined) json.multipleOf = first;
229
+ if (rest.length) json.allOf = [...(json.allOf ?? []), ...rest.map((m) => ({ multipleOf: m }))];
230
+ }
96
231
  };
97
232
 
98
233
  export const booleanProcessor: Processor<schemas.$ZodBoolean> = (_schema, _ctx, json, _params) => {
99
234
  (json as JSONSchema.BooleanSchema).type = "boolean";
100
235
  };
101
236
 
102
- export const bigintProcessor: Processor<schemas.$ZodBigInt> = (_schema, ctx, _json, _params) => {
103
- if (ctx.unrepresentable === "throw") {
104
- throw new Error("BigInt cannot be represented in JSON Schema");
105
- }
237
+ export const bigintProcessor: Processor<schemas.$ZodBigInt> = (schema, ctx, json, params) => {
238
+ handleUnrepresentable(schema, ctx, json, params, "BigInt cannot be represented in JSON Schema");
106
239
  };
107
240
 
108
- export const symbolProcessor: Processor<schemas.$ZodSymbol> = (_schema, ctx, _json, _params) => {
109
- if (ctx.unrepresentable === "throw") {
110
- throw new Error("Symbols cannot be represented in JSON Schema");
111
- }
241
+ export const symbolProcessor: Processor<schemas.$ZodSymbol> = (schema, ctx, json, params) => {
242
+ handleUnrepresentable(schema, ctx, json, params, "Symbols cannot be represented in JSON Schema");
112
243
  };
113
244
 
114
245
  export const nullProcessor: Processor<schemas.$ZodNull> = (_schema, ctx, json, _params) => {
@@ -121,16 +252,12 @@ export const nullProcessor: Processor<schemas.$ZodNull> = (_schema, ctx, json, _
121
252
  }
122
253
  };
123
254
 
124
- export const undefinedProcessor: Processor<schemas.$ZodUndefined> = (_schema, ctx, _json, _params) => {
125
- if (ctx.unrepresentable === "throw") {
126
- throw new Error("Undefined cannot be represented in JSON Schema");
127
- }
255
+ export const undefinedProcessor: Processor<schemas.$ZodUndefined> = (schema, ctx, json, params) => {
256
+ handleUnrepresentable(schema, ctx, json, params, "Undefined cannot be represented in JSON Schema");
128
257
  };
129
258
 
130
- export const voidProcessor: Processor<schemas.$ZodVoid> = (_schema, ctx, _json, _params) => {
131
- if (ctx.unrepresentable === "throw") {
132
- throw new Error("Void cannot be represented in JSON Schema");
133
- }
259
+ export const voidProcessor: Processor<schemas.$ZodVoid> = (schema, ctx, json, params) => {
260
+ handleUnrepresentable(schema, ctx, json, params, "Void cannot be represented in JSON Schema");
134
261
  };
135
262
 
136
263
  export const neverProcessor: Processor<schemas.$ZodNever> = (_schema, _ctx, json, _params) => {
@@ -145,37 +272,46 @@ export const unknownProcessor: Processor<schemas.$ZodUnknown> = (_schema, _ctx,
145
272
  // empty schema accepts anything
146
273
  };
147
274
 
148
- export const dateProcessor: Processor<schemas.$ZodDate> = (_schema, ctx, _json, _params) => {
149
- if (ctx.unrepresentable === "throw") {
150
- throw new Error("Date cannot be represented in JSON Schema");
151
- }
275
+ export const dateProcessor: Processor<schemas.$ZodDate> = (schema, ctx, json, params) => {
276
+ handleUnrepresentable(schema, ctx, json, params, "Date cannot be represented in JSON Schema");
152
277
  };
153
278
 
154
279
  export const enumProcessor: Processor<schemas.$ZodEnum> = (schema, _ctx, json, _params) => {
155
280
  const def = schema._zod.def as schemas.$ZodEnumDef;
156
281
  const values = getEnumValues(def.entries);
282
+
283
+ // an empty enum accepts nothing, same as z.never()
284
+ if (values.length === 0) {
285
+ json.not = {};
286
+ return;
287
+ }
288
+
157
289
  // Number enums can have both string and number values
158
290
  if (values.every((v) => typeof v === "number")) json.type = "number";
159
291
  if (values.every((v) => typeof v === "string")) json.type = "string";
160
292
  json.enum = values;
161
293
  };
162
294
 
163
- export const literalProcessor: Processor<schemas.$ZodLiteral> = (schema, ctx, json, _params) => {
295
+ export const literalProcessor: Processor<schemas.$ZodLiteral> = (schema, ctx, json, params) => {
164
296
  const def = schema._zod.def as schemas.$ZodLiteralDef<any>;
297
+
298
+ // a literal with no values accepts nothing, same as z.never()
299
+ if (def.values.length === 0) {
300
+ json.not = {};
301
+ return;
302
+ }
303
+
165
304
  const vals: (string | number | boolean | null)[] = [];
166
305
  for (const val of def.values) {
167
306
  if (val === undefined) {
168
- if (ctx.unrepresentable === "throw") {
169
- throw new Error("Literal `undefined` cannot be represented in JSON Schema");
170
- } else {
171
- // do not add to vals
172
- }
307
+ // a custom schema replaces the whole literal, so there is nothing left to accumulate
308
+ if (handleUnrepresentable(schema, ctx, json, params, "Literal `undefined` cannot be represented in JSON Schema"))
309
+ return;
310
+ // otherwise do not add to vals
173
311
  } else if (typeof val === "bigint") {
174
- if (ctx.unrepresentable === "throw") {
175
- throw new Error("BigInt literals cannot be represented in JSON Schema");
176
- } else {
177
- vals.push(Number(val));
178
- }
312
+ if (handleUnrepresentable(schema, ctx, json, params, "BigInt literals cannot be represented in JSON Schema"))
313
+ return;
314
+ vals.push(Number(val));
179
315
  } else {
180
316
  vals.push(val);
181
317
  }
@@ -199,10 +335,8 @@ export const literalProcessor: Processor<schemas.$ZodLiteral> = (schema, ctx, js
199
335
  }
200
336
  };
201
337
 
202
- export const nanProcessor: Processor<schemas.$ZodNaN> = (_schema, ctx, _json, _params) => {
203
- if (ctx.unrepresentable === "throw") {
204
- throw new Error("NaN cannot be represented in JSON Schema");
205
- }
338
+ export const nanProcessor: Processor<schemas.$ZodNaN> = (schema, ctx, json, params) => {
339
+ handleUnrepresentable(schema, ctx, json, params, "NaN cannot be represented in JSON Schema");
206
340
  };
207
341
 
208
342
  export const templateLiteralProcessor: Processor<schemas.$ZodTemplateLiteral> = (schema, _ctx, json, _params) => {
@@ -215,60 +349,43 @@ export const templateLiteralProcessor: Processor<schemas.$ZodTemplateLiteral> =
215
349
 
216
350
  export const fileProcessor: Processor<schemas.$ZodFile> = (schema, _ctx, json, _params) => {
217
351
  const _json = json as JSONSchema.StringSchema;
218
- const file: JSONSchema.StringSchema = {
219
- type: "string",
220
- format: "binary",
221
- contentEncoding: "binary",
222
- };
352
+ _json.type = "string";
353
+ _json.format = "binary";
354
+ _json.contentEncoding = "binary";
223
355
 
224
- const { minimum, maximum, mime } = schema._zod.bag as schemas.$ZodFileInternals["bag"];
225
- if (minimum !== undefined) file.minLength = minimum;
226
- if (maximum !== undefined) file.maxLength = maximum;
227
- if (mime) {
228
- if (mime.length === 1) {
229
- file.contentMediaType = mime[0]!;
230
- Object.assign(_json, file);
231
- } else {
232
- Object.assign(_json, file); // shared props at root
233
- _json.anyOf = mime.map((m) => ({ contentMediaType: m })); // only contentMediaType differs
234
- }
235
- } else {
236
- Object.assign(_json, file);
237
- }
356
+ const { minimum, maximum, mime } = aggregateChecks<number>(schema);
357
+ if (minimum !== undefined) _json.minLength = minimum;
358
+ if (maximum !== undefined) _json.maxLength = maximum;
359
+ if (!mime) return;
360
+ // an empty intersection means the mime checks share no value, so nothing passes at runtime; `anyOf` must be non-empty, so the false schema is `not: {}`
361
+ if (mime.length === 0) _json.not = {};
362
+ else if (mime.length === 1) _json.contentMediaType = mime[0]!;
363
+ // only contentMediaType differs, so the shared props stay at the root
364
+ else _json.anyOf = mime.map((m) => ({ contentMediaType: m }));
238
365
  };
239
366
 
240
367
  export const successProcessor: Processor<schemas.$ZodSuccess> = (_schema, _ctx, json, _params) => {
241
368
  (json as JSONSchema.BooleanSchema).type = "boolean";
242
369
  };
243
370
 
244
- export const customProcessor: Processor<schemas.$ZodCustom> = (_schema, ctx, _json, _params) => {
245
- if (ctx.unrepresentable === "throw") {
246
- throw new Error("Custom types cannot be represented in JSON Schema");
247
- }
371
+ export const customProcessor: Processor<schemas.$ZodCustom> = (schema, ctx, json, params) => {
372
+ handleUnrepresentable(schema, ctx, json, params, "Custom types cannot be represented in JSON Schema");
248
373
  };
249
374
 
250
- export const functionProcessor: Processor<schemas.$ZodFunction> = (_schema, ctx, _json, _params) => {
251
- if (ctx.unrepresentable === "throw") {
252
- throw new Error("Function types cannot be represented in JSON Schema");
253
- }
375
+ export const functionProcessor: Processor<schemas.$ZodFunction> = (schema, ctx, json, params) => {
376
+ handleUnrepresentable(schema, ctx, json, params, "Function types cannot be represented in JSON Schema");
254
377
  };
255
378
 
256
- export const transformProcessor: Processor<schemas.$ZodTransform> = (_schema, ctx, _json, _params) => {
257
- if (ctx.unrepresentable === "throw") {
258
- throw new Error("Transforms cannot be represented in JSON Schema");
259
- }
379
+ export const transformProcessor: Processor<schemas.$ZodTransform> = (schema, ctx, json, params) => {
380
+ handleUnrepresentable(schema, ctx, json, params, "Transforms cannot be represented in JSON Schema");
260
381
  };
261
382
 
262
- export const mapProcessor: Processor<schemas.$ZodMap> = (_schema, ctx, _json, _params) => {
263
- if (ctx.unrepresentable === "throw") {
264
- throw new Error("Map cannot be represented in JSON Schema");
265
- }
383
+ export const mapProcessor: Processor<schemas.$ZodMap> = (schema, ctx, json, params) => {
384
+ handleUnrepresentable(schema, ctx, json, params, "Map cannot be represented in JSON Schema");
266
385
  };
267
386
 
268
- export const setProcessor: Processor<schemas.$ZodSet> = (_schema, ctx, _json, _params) => {
269
- if (ctx.unrepresentable === "throw") {
270
- throw new Error("Set cannot be represented in JSON Schema");
271
- }
387
+ export const setProcessor: Processor<schemas.$ZodSet> = (schema, ctx, json, params) => {
388
+ handleUnrepresentable(schema, ctx, json, params, "Set cannot be represented in JSON Schema");
272
389
  };
273
390
 
274
391
  // ==================== COMPOSITE TYPE PROCESSORS ====================
@@ -276,40 +393,71 @@ export const setProcessor: Processor<schemas.$ZodSet> = (_schema, ctx, _json, _p
276
393
  export const arrayProcessor: Processor<schemas.$ZodArray> = (schema, ctx, _json, params) => {
277
394
  const json = _json as JSONSchema.ArraySchema;
278
395
  const def = schema._zod.def as schemas.$ZodArrayDef;
279
- const { minimum, maximum } = schema._zod.bag;
396
+ const { minimum, maximum } = aggregateChecks(schema);
280
397
  if (typeof minimum === "number") json.minItems = minimum;
281
398
  if (typeof maximum === "number") json.maxItems = maximum;
282
399
 
283
400
  json.type = "array";
284
- json.items = process(def.element, ctx as any, {
401
+ json.items = processSchema(def.element, ctx as any, {
285
402
  ...params,
286
403
  path: [...params.path, "items"],
287
404
  });
288
405
  };
289
406
 
407
+ // Transform and catch set `optin = "optional"` at runtime so the parser lets them observe an
408
+ // absent key, but their declared input type stays required. An input JSON Schema describes the
409
+ // declared type, so resolve past them to the schema that actually carries the optionality.
410
+ // Used by both `objectProcessor` (for `required`) and `tupleProcessor` (for `minItems`); see
411
+ // wiki/optionality.md, "The JSON Schema emitter reads the *static* value".
412
+ function inputOptin(schema: schemas.$ZodType): "optional" | "defaulted" | undefined {
413
+ const def = schema._zod.def;
414
+ if (def.type === "pipe" && (def as schemas.$ZodPipeDef).in._zod.traits.has("$ZodTransform")) {
415
+ return inputOptin((def as schemas.$ZodPipeDef).out);
416
+ }
417
+ if (def.type === "catch") {
418
+ return inputOptin((def as schemas.$ZodCatchDef).innerType);
419
+ }
420
+ return schema._zod.optin;
421
+ }
422
+
290
423
  export const objectProcessor: Processor<schemas.$ZodObject> = (schema, ctx, _json, params) => {
291
424
  const json = _json as JSONSchema.ObjectSchema;
292
425
  const def = schema._zod.def as schemas.$ZodObjectDef;
426
+ const shape = def.shape;
427
+
428
+ // dropping it while still emitting `additionalProperties: false` would emit a schema that rejects data this one requires
429
+ const symbolKeys = Object.getOwnPropertySymbols(shape);
430
+ if (
431
+ symbolKeys.length &&
432
+ handleUnrepresentable(schema, ctx, json, params, "Symbol keys cannot be represented in JSON Schema")
433
+ ) {
434
+ return;
435
+ }
436
+
293
437
  json.type = "object";
294
438
  json.properties = {};
295
- const shape = def.shape;
296
439
 
297
440
  for (const key in shape) {
298
- json.properties[key] = process(shape[key]!, ctx as any, {
299
- ...params,
300
- path: [...params.path, "properties", key],
301
- });
441
+ // assignProp so a __proto__ key becomes an own property instead of hitting the inherited setter on the plain {} we build into
442
+ assignProp(
443
+ json.properties,
444
+ key,
445
+ processSchema(shape[key]!, ctx as any, {
446
+ ...params,
447
+ path: [...params.path, "properties", key],
448
+ })
449
+ );
302
450
  }
303
451
 
304
452
  // required keys
305
453
  const allKeys = new Set(Object.keys(shape));
306
454
  const requiredKeys = new Set(
307
455
  [...allKeys].filter((key) => {
308
- const v = def.shape[key]!._zod;
456
+ const field = def.shape[key]!;
309
457
  if (ctx.io === "input") {
310
- return v.optin === undefined;
458
+ return inputOptin(field) === undefined;
311
459
  } else {
312
- return v.optout === undefined;
460
+ return field._zod.optout === undefined;
313
461
  }
314
462
  })
315
463
  );
@@ -326,20 +474,67 @@ export const objectProcessor: Processor<schemas.$ZodObject> = (schema, ctx, _jso
326
474
  // regular
327
475
  if (ctx.io === "output") json.additionalProperties = false;
328
476
  } else if (def.catchall) {
329
- json.additionalProperties = process(def.catchall, ctx as any, {
477
+ json.additionalProperties = processSchema(def.catchall, ctx as any, {
330
478
  ...params,
331
479
  path: [...params.path, "additionalProperties"],
332
480
  });
333
481
  }
334
482
  };
335
483
 
484
+ // asserts named properties in place and passes everything else through, so no additionalProperties constraint is emitted
485
+ export const propertiesProcessor: Processor<schemas.$ZodProperties> = (schema, ctx, _json, params) => {
486
+ const json = _json as JSONSchema.ObjectSchema;
487
+ const def = schema._zod.def;
488
+
489
+ // dropping a symbol key silently would emit a schema that asserts less than this one does
490
+ if (
491
+ Object.getOwnPropertySymbols(def.shape).length &&
492
+ handleUnrepresentable(schema, ctx, json, params, "Symbol keys cannot be represented in JSON Schema")
493
+ ) {
494
+ return;
495
+ }
496
+
497
+ // the parsed value is the input, so an output-mode emission would describe a transformed value this schema never returns
498
+ if (ctx.io === "output") {
499
+ for (const key in def.shape) {
500
+ if (
501
+ isTransforming(def.shape[key]!) &&
502
+ handleUnrepresentable(
503
+ schema,
504
+ ctx,
505
+ json,
506
+ params,
507
+ `z.properties() returns its input, so the output of a transforming schema at key "${key}" cannot be represented in JSON Schema`
508
+ )
509
+ ) {
510
+ return;
511
+ }
512
+ }
513
+ }
514
+
515
+ json.type = "object";
516
+ json.properties = {};
517
+ for (const key in def.shape) {
518
+ assignProp(
519
+ json.properties,
520
+ key,
521
+ processSchema(def.shape[key]!, ctx as any, {
522
+ ...params,
523
+ path: [...params.path, "properties", key],
524
+ })
525
+ );
526
+ }
527
+ // input-side optionality in both modes: the parsed value is the input, so a defaulted key that stays absent must not be required of the output either
528
+ const required = Object.keys(def.shape).filter((key) => inputOptin(def.shape[key]!) === undefined);
529
+ if (required.length > 0) json.required = required;
530
+ };
531
+
336
532
  export const unionProcessor: Processor<schemas.$ZodUnion> = (schema, ctx, json, params) => {
337
533
  const def = schema._zod.def as schemas.$ZodUnionDef;
338
- // Exclusive unions (inclusive === false) use oneOf (exactly one match) instead of anyOf (one or more matches)
339
- // This includes both z.xor() and discriminated unions
534
+ // Exclusive unions (inclusive === false) use oneOf (exactly one match) instead of anyOf (one or more matches). This includes both z.xor() and discriminated unions
340
535
  const isExclusive = def.inclusive === false;
341
536
  const options = def.options.map((x, i) =>
342
- process(x, ctx as any, {
537
+ processSchema(x, ctx as any, {
343
538
  ...params,
344
539
  path: [...params.path, isExclusive ? "oneOf" : "anyOf", i],
345
540
  })
@@ -353,11 +548,11 @@ export const unionProcessor: Processor<schemas.$ZodUnion> = (schema, ctx, json,
353
548
 
354
549
  export const intersectionProcessor: Processor<schemas.$ZodIntersection> = (schema, ctx, json, params) => {
355
550
  const def = schema._zod.def as schemas.$ZodIntersectionDef;
356
- const a = process(def.left, ctx as any, {
551
+ const a = processSchema(def.left, ctx as any, {
357
552
  ...params,
358
553
  path: [...params.path, "allOf", 0],
359
554
  });
360
- const b = process(def.right, ctx as any, {
555
+ const b = processSchema(def.right, ctx as any, {
361
556
  ...params,
362
557
  path: [...params.path, "allOf", 1],
363
558
  });
@@ -368,6 +563,8 @@ export const intersectionProcessor: Processor<schemas.$ZodIntersection> = (schem
368
563
  ...(isSimpleIntersection(b) ? (b.allOf as any[]) : [b]),
369
564
  ];
370
565
  json.allOf = allOf;
566
+ // Recorded innermost first, so a nested intersection has already folded by the time this one is considered. The array is the handle rather than the schema, because a wrapper that inherits this schema shares the same array; `finalize` folds every object holding it. See `foldIntersection`.
567
+ ctx.intersections.push(allOf);
371
568
  };
372
569
 
373
570
  export const tupleProcessor: Processor<schemas.$ZodTuple> = (schema, ctx, _json, params) => {
@@ -380,23 +577,37 @@ export const tupleProcessor: Processor<schemas.$ZodTuple> = (schema, ctx, _json,
380
577
  ctx.target === "draft-2020-12" ? "items" : ctx.target === "openapi-3.0" ? "items" : "additionalItems";
381
578
 
382
579
  const prefixItems = def.items.map((x, i) =>
383
- process(x, ctx as any, {
580
+ processSchema(x, ctx as any, {
384
581
  ...params,
385
582
  path: [...params.path, prefixPath, i],
386
583
  })
387
584
  );
388
585
  const rest = def.rest
389
- ? process(def.rest, ctx as any, {
586
+ ? processSchema(def.rest, ctx as any, {
390
587
  ...params,
391
588
  path: [...params.path, restPath, ...(ctx.target === "openapi-3.0" ? [def.items.length] : [])],
392
589
  })
393
590
  : null;
394
591
 
592
+ let minItems = def.items.length;
593
+ while (minItems > 0) {
594
+ const item = def.items[minItems - 1] as schemas.$ZodType;
595
+ const optional = ctx.io === "input" ? inputOptin(item) !== undefined : item._zod.optout === "optional";
596
+ if (!optional) break;
597
+ minItems--;
598
+ }
599
+ const maxItems = def.items.length;
600
+ const isClosed = !def.rest;
601
+
395
602
  if (ctx.target === "draft-2020-12") {
396
603
  json.prefixItems = prefixItems;
397
- if (rest) {
604
+ if (isClosed) {
605
+ json.items = false;
606
+ } else if (rest) {
398
607
  json.items = rest;
399
608
  }
609
+ if (minItems > 0) json.minItems = minItems;
610
+ if (isClosed) json.maxItems = maxItems;
400
611
  } else if (ctx.target === "openapi-3.0") {
401
612
  json.items = {
402
613
  anyOf: prefixItems,
@@ -405,57 +616,139 @@ export const tupleProcessor: Processor<schemas.$ZodTuple> = (schema, ctx, _json,
405
616
  if (rest) {
406
617
  json.items.anyOf!.push(rest);
407
618
  }
408
- json.minItems = prefixItems.length;
409
- if (!rest) {
410
- json.maxItems = prefixItems.length;
411
- }
619
+ if (minItems > 0) json.minItems = minItems;
620
+ if (isClosed) json.maxItems = maxItems;
412
621
  } else {
413
622
  json.items = prefixItems;
414
- if (rest) {
623
+ if (isClosed) {
624
+ json.additionalItems = false;
625
+ } else if (rest) {
415
626
  json.additionalItems = rest;
416
627
  }
628
+ if (minItems > 0) json.minItems = minItems;
629
+ if (isClosed) json.maxItems = maxItems;
417
630
  }
418
631
 
419
- // length
420
- const { minimum, maximum } = schema._zod.bag as {
421
- minimum?: number;
422
- maximum?: number;
423
- };
632
+ // explicit user-defined length checks take precedence
633
+ const { minimum, maximum } = aggregateChecks(schema);
424
634
  if (typeof minimum === "number") json.minItems = minimum;
425
635
  if (typeof maximum === "number") json.maxItems = maximum;
426
636
  };
427
637
 
638
+ /** JSON object keys are always strings, so a numeric record key schema is re-expressed over the
639
+ * numeric-string form the record parser matches. Deferred to `finalize`, after the flatten: a key
640
+ * behind a wrapper only carries its own `type` before then, and a union key only has its branches.
641
+ *
642
+ * A numeric bound cannot apply to a property name, so `minimum` and its siblings are dropped rather
643
+ * than carried over: keeping them beside `type: "string"` reproduces the match-nothing schema this
644
+ * exists to fix. A key that carries one therefore emits wider than the record parses — `z.record(z.number().min(5), V)`
645
+ * accepts `"3"` — which is the deliberate trade, since throwing on it would reject an ordinary schema
646
+ * outright. */
647
+ function stringifyKeyNames(
648
+ bySchema: Map<JSONSchema.BaseSchema, Seen>,
649
+ json: JSONSchema.BaseSchema,
650
+ visited: Set<JSONSchema.BaseSchema>
651
+ ): JSONSchema.BaseSchema {
652
+ // an extracted key that rewrites cannot go on sharing its definition — the string form a key position needs is not the number form every other reference wants — so it inlines. One that does not rewrite keeps the `$ref`.
653
+ if (json.$ref) {
654
+ // a recursive key holds its own reference inside its definition, so a node already on the path is left alone rather than resolved again
655
+ if (visited.has(json)) return json;
656
+ visited.add(json);
657
+ const def = bySchema.get(json)?.def;
658
+ if (!def) return json;
659
+ const inlined = stringifyKeyNames(bySchema, def, visited);
660
+ return inlined === def ? json : inlined;
661
+ }
662
+
663
+ for (const keyword of ["anyOf", "oneOf"] as const) {
664
+ const branches = json[keyword];
665
+ if (!Array.isArray(branches)) continue;
666
+ const mapped = branches.map((branch) => stringifyKeyNames(bySchema, branch, visited));
667
+ // rebuilding regardless would detach a key that had nothing to re-express, dropping its `$ref` and leaking the internal `id`
668
+ if (mapped.some((branch, i) => branch !== branches[i])) json = { ...json, [keyword]: mapped };
669
+ }
670
+
671
+ // a member that already admits a string leaves the key unconstrained, so the node's own type re-expresses only when every member is numeric
672
+ const types = Array.isArray(json.type) ? json.type : [json.type];
673
+ const numericType = !types.includes("string") && types.some((t) => t === "number" || t === "integer");
674
+ // a heterogeneous key carries no type at all, so its numeric members are caught here instead
675
+ const values = json.enum ?? (json.const !== undefined ? [json.const] : undefined);
676
+ if (!numericType && !values?.some((v) => typeof v === "number")) return json;
677
+
678
+ const { minimum, maximum, exclusiveMinimum, exclusiveMaximum, multipleOf, format, id, ...rest } = json;
679
+ if (rest.enum) rest.enum = rest.enum.map((v) => (typeof v === "number" ? String(v) : v));
680
+ else if (typeof rest.const === "number") rest.const = String(rest.const);
681
+ // a heterogeneous key keeps its absent type: the stringified members already say what a key may be
682
+ if (!numericType) return rest;
683
+ rest.type = "string";
684
+ if (!values) rest.pattern = (types.includes("number") ? regexes.number : regexes.integer).source;
685
+ return rest;
686
+ }
687
+
688
+ /** Every record of one conversion, so the carriers are found in a single pass rather than once per record. */
689
+ const pendingRecords = new WeakMap<ToJSONSchemaContext, schemas.$ZodType[]>();
690
+
691
+ function rewriteKeyNames(ctx: ToJSONSchemaContext): void {
692
+ // an extracted key is resolved by the object `extractToDef` left in its place, so the map is built once rather than searched per reference. `_zod.toJSONSchema` can hand the same object to two schemas, so the first entry carrying a body wins, as a search would have found it.
693
+ const bySchema = new Map<JSONSchema.BaseSchema, Seen>();
694
+ for (const entry of ctx.seen.values()) {
695
+ if (entry.def && !bySchema.has(entry.schema)) bySchema.set(entry.schema, entry);
696
+ }
697
+
698
+ const rewrites = new Map<JSONSchema.BaseSchema, JSONSchema.BaseSchema>();
699
+ for (const record of pendingRecords.get(ctx) ?? []) {
700
+ const seen = ctx.seen.get(record);
701
+ const names = (seen?.def ?? seen?.schema)?.propertyNames;
702
+ if (!names || names === true || rewrites.has(names)) continue;
703
+ const rewritten = stringifyKeyNames(bySchema, names, new Set());
704
+ if (rewritten !== names) rewrites.set(names, rewritten);
705
+ }
706
+ if (!rewrites.size) return;
707
+
708
+ // the flatten has already copied each record's own properties onto every wrapper by reference, and an extracted body is another such copy, so every carrier holding a rewritten key is updated together
709
+ for (const entry of ctx.seen.values()) {
710
+ for (const carrier of [entry.schema, entry.def]) {
711
+ const rewritten = carrier && rewrites.get(carrier.propertyNames as JSONSchema.BaseSchema);
712
+ if (rewritten) carrier!.propertyNames = rewritten;
713
+ }
714
+ }
715
+ }
716
+
428
717
  export const recordProcessor: Processor<schemas.$ZodRecord> = (schema, ctx, _json, params) => {
429
718
  const json = _json as JSONSchema.ObjectSchema;
430
719
  const def = schema._zod.def as schemas.$ZodRecordDef;
431
720
  json.type = "object";
432
721
 
433
- // For looseRecord with regex patterns, use patternProperties
434
- // This correctly represents "only validate keys matching the pattern" semantics
435
- // and composes well with allOf (intersections)
722
+ // For looseRecord with regex patterns, use patternProperties. This correctly represents "only validate keys matching the pattern" semantics and composes well with allOf (intersections)
436
723
  const keyType = def.keyType as schemas.$ZodTypes;
437
- const keyBag = keyType._zod.bag as schemas.$ZodStringInternals<unknown>["bag"] | undefined;
438
- const patterns = keyBag?.patterns;
724
+ const patterns = aggregateChecks(keyType).patterns;
439
725
 
440
726
  if (def.mode === "loose" && patterns && patterns.size > 0) {
441
727
  // Use patternProperties for looseRecord with regex patterns
442
- const valueSchema = process(def.valueType, ctx as any, {
728
+ const valueSchema = processSchema(def.valueType, ctx as any, {
443
729
  ...params,
444
730
  path: [...params.path, "patternProperties", "*"],
445
731
  });
446
732
  json.patternProperties = {};
447
733
  for (const pattern of patterns) {
448
- json.patternProperties[pattern.source] = valueSchema;
734
+ assignProp(json.patternProperties, exactPattern(pattern).source, valueSchema);
449
735
  }
450
736
  } else {
451
737
  // Default behavior: use propertyNames + additionalProperties
452
738
  if (ctx.target === "draft-07" || ctx.target === "draft-2020-12") {
453
- json.propertyNames = process(def.keyType, ctx as any, {
739
+ json.propertyNames = processSchema(def.keyType, ctx as any, {
454
740
  ...params,
455
741
  path: [...params.path, "propertyNames"],
456
742
  });
743
+ let pending = pendingRecords.get(ctx);
744
+ if (!pending) {
745
+ pending = [];
746
+ pendingRecords.set(ctx, pending);
747
+ ctx.deferred.push(() => rewriteKeyNames(ctx));
748
+ }
749
+ pending.push(schema);
457
750
  }
458
- json.additionalProperties = process(def.valueType, ctx as any, {
751
+ json.additionalProperties = processSchema(def.valueType, ctx as any, {
459
752
  ...params,
460
753
  path: [...params.path, "additionalProperties"],
461
754
  });
@@ -463,20 +756,22 @@ export const recordProcessor: Processor<schemas.$ZodRecord> = (schema, ctx, _jso
463
756
 
464
757
  // Add required for keys with discrete values (enum, literal, etc.)
465
758
  const keyValues = keyType._zod.values;
466
- if (keyValues) {
759
+ // Every key shares one value schema, so an optional-in value makes the whole key set omittable on input. Output keeps them: the exhaustive branch assigns every key, even one whose value came back undefined.
760
+ const omittableOnInput = ctx.io === "input" && inputOptin(def.valueType as schemas.$ZodType) !== undefined;
761
+ if (keyValues && !def.partial && !omittableOnInput) {
467
762
  const validKeyValues = [...keyValues].filter(
468
763
  (v): v is string | number => typeof v === "string" || typeof v === "number"
469
764
  );
470
765
 
471
766
  if (validKeyValues.length > 0) {
472
- json.required = validKeyValues as string[];
767
+ json.required = validKeyValues.map(String);
473
768
  }
474
769
  }
475
770
  };
476
771
 
477
772
  export const nullableProcessor: Processor<schemas.$ZodNullable> = (schema, ctx, json, params) => {
478
773
  const def = schema._zod.def as schemas.$ZodNullableDef;
479
- const inner = process(def.innerType, ctx as any, params);
774
+ const inner = processSchema(def.innerType, ctx as any, params);
480
775
  const seen = ctx.seen.get(schema)!;
481
776
  if (ctx.target === "openapi-3.0") {
482
777
  seen.ref = def.innerType;
@@ -488,37 +783,63 @@ export const nullableProcessor: Processor<schemas.$ZodNullable> = (schema, ctx,
488
783
 
489
784
  export const nonoptionalProcessor: Processor<schemas.$ZodNonOptional> = (schema, ctx, _json, params) => {
490
785
  const def = schema._zod.def as schemas.$ZodNonOptionalDef;
491
- process(def.innerType, ctx as any, params);
786
+ processSchema(def.innerType, ctx as any, params);
492
787
  const seen = ctx.seen.get(schema)!;
493
788
  seen.ref = def.innerType;
494
789
  };
495
790
 
791
+ /** Round-trips a default value through JSON so the emitted schema is guaranteed to be valid JSON.
792
+ * A BigInt has no reliable encoding, so it goes through `unrepresentable` like any other
793
+ * unrepresentable value. Returns a sentinel when the caller must not write a default of its own. */
794
+ const UNREPRESENTABLE_DEFAULT = Symbol();
795
+ function serializeDefaultValue(
796
+ value: unknown,
797
+ schema: schemas.$ZodType,
798
+ ctx: ToJSONSchemaContext,
799
+ json: JSONSchema.BaseSchema,
800
+ params: ProcessParams
801
+ ): any {
802
+ let unrepresentable = false;
803
+ const serialized = JSON.stringify(value, (_, val) => {
804
+ if (typeof val !== "bigint") return val;
805
+ unrepresentable = true;
806
+ return null;
807
+ });
808
+ if (!unrepresentable) return JSON.parse(serialized);
809
+ handleUnrepresentable(schema, ctx, json, params, "BigInt defaults cannot be represented in JSON Schema");
810
+ return UNREPRESENTABLE_DEFAULT;
811
+ }
812
+
496
813
  export const defaultProcessor: Processor<schemas.$ZodDefault> = (schema, ctx, json, params) => {
497
814
  const def = schema._zod.def as schemas.$ZodDefaultDef;
498
- process(def.innerType, ctx as any, params);
815
+ processSchema(def.innerType, ctx as any, params);
499
816
  const seen = ctx.seen.get(schema)!;
500
817
  seen.ref = def.innerType;
501
- json.default = JSON.parse(JSON.stringify(def.defaultValue));
818
+ const value = serializeDefaultValue(def.defaultValue, schema, ctx as ToJSONSchemaContext, json, params);
819
+ if (value !== UNREPRESENTABLE_DEFAULT) json.default = value;
502
820
  };
503
821
 
504
822
  export const prefaultProcessor: Processor<schemas.$ZodPrefault> = (schema, ctx, json, params) => {
505
823
  const def = schema._zod.def as schemas.$ZodPrefaultDef;
506
- process(def.innerType, ctx as any, params);
824
+ processSchema(def.innerType, ctx as any, params);
507
825
  const seen = ctx.seen.get(schema)!;
508
826
  seen.ref = def.innerType;
509
- if (ctx.io === "input") json._prefault = JSON.parse(JSON.stringify(def.defaultValue));
827
+ if (ctx.io !== "input") return;
828
+ const value = serializeDefaultValue(def.defaultValue, schema, ctx as ToJSONSchemaContext, json, params);
829
+ if (value !== UNREPRESENTABLE_DEFAULT) json._prefault = value;
510
830
  };
511
831
 
512
832
  export const catchProcessor: Processor<schemas.$ZodCatch> = (schema, ctx, json, params) => {
513
833
  const def = schema._zod.def as schemas.$ZodCatchDef;
514
- process(def.innerType, ctx as any, params);
834
+ processSchema(def.innerType, ctx as any, params);
515
835
  const seen = ctx.seen.get(schema)!;
516
836
  seen.ref = def.innerType;
517
837
  let catchValue: any;
518
838
  try {
519
839
  catchValue = def.catchValue(undefined as any);
520
840
  } catch {
521
- throw new Error("Dynamic catch values are not supported in JSON Schema");
841
+ handleUnrepresentable(schema, ctx, json, params, "Dynamic catch values are not supported in JSON Schema");
842
+ return;
522
843
  }
523
844
  json.default = catchValue;
524
845
  };
@@ -527,14 +848,14 @@ export const pipeProcessor: Processor<schemas.$ZodPipe> = (schema, ctx, _json, p
527
848
  const def = schema._zod.def as schemas.$ZodPipeDef;
528
849
  const inIsTransform = def.in._zod.traits.has("$ZodTransform");
529
850
  const innerType = ctx.io === "input" ? (inIsTransform ? def.out : def.in) : def.out;
530
- process(innerType, ctx as any, params);
851
+ processSchema(innerType, ctx as any, params);
531
852
  const seen = ctx.seen.get(schema)!;
532
853
  seen.ref = innerType;
533
854
  };
534
855
 
535
856
  export const readonlyProcessor: Processor<schemas.$ZodReadonly> = (schema, ctx, json, params) => {
536
857
  const def = schema._zod.def as schemas.$ZodReadonlyDef;
537
- process(def.innerType, ctx as any, params);
858
+ processSchema(def.innerType, ctx as any, params);
538
859
  const seen = ctx.seen.get(schema)!;
539
860
  seen.ref = def.innerType;
540
861
  json.readOnly = true;
@@ -542,21 +863,21 @@ export const readonlyProcessor: Processor<schemas.$ZodReadonly> = (schema, ctx,
542
863
 
543
864
  export const promiseProcessor: Processor<schemas.$ZodPromise> = (schema, ctx, _json, params) => {
544
865
  const def = schema._zod.def as schemas.$ZodPromiseDef;
545
- process(def.innerType, ctx as any, params);
866
+ processSchema(def.innerType, ctx as any, params);
546
867
  const seen = ctx.seen.get(schema)!;
547
868
  seen.ref = def.innerType;
548
869
  };
549
870
 
550
871
  export const optionalProcessor: Processor<schemas.$ZodOptional> = (schema, ctx, _json, params) => {
551
872
  const def = schema._zod.def as schemas.$ZodOptionalDef;
552
- process(def.innerType, ctx as any, params);
873
+ processSchema(def.innerType, ctx as any, params);
553
874
  const seen = ctx.seen.get(schema)!;
554
875
  seen.ref = def.innerType;
555
876
  };
556
877
 
557
878
  export const lazyProcessor: Processor<schemas.$ZodLazy> = (schema, ctx, _json, params) => {
558
879
  const innerType = (schema as schemas.$ZodLazy)._zod.innerType;
559
- process(innerType, ctx as any, params);
880
+ processSchema(innerType, ctx as any, params);
560
881
  const seen = ctx.seen.get(schema)!;
561
882
  seen.ref = innerType;
562
883
  };
@@ -583,6 +904,7 @@ export const allProcessors: Record<string, Processor<any>> = {
583
904
  file: fileProcessor,
584
905
  success: successProcessor,
585
906
  custom: customProcessor,
907
+ properties: propertiesProcessor,
586
908
  function: functionProcessor,
587
909
  transform: transformProcessor,
588
910
  map: mapProcessor,
@@ -628,7 +950,7 @@ export function toJSONSchema(
628
950
  // First pass: process all schemas to build the seen map
629
951
  for (const entry of registry._idmap.entries()) {
630
952
  const [_, schema] = entry;
631
- process(schema, ctx as any);
953
+ processSchema(schema, ctx as any);
632
954
  }
633
955
 
634
956
  const schemas: Record<string, JSONSchema.BaseSchema> = {};
@@ -645,7 +967,7 @@ export function toJSONSchema(
645
967
  for (const entry of registry._idmap.entries()) {
646
968
  const [key, schema] = entry;
647
969
  extractDefs(ctx as any, schema);
648
- schemas[key] = finalize(ctx as any, schema);
970
+ assignProp(schemas, key, finalize(ctx as any, schema));
649
971
  }
650
972
 
651
973
  if (Object.keys(defs).length > 0) {
@@ -660,7 +982,7 @@ export function toJSONSchema(
660
982
 
661
983
  // Single schema case
662
984
  const ctx = initializeContext({ ...params, processors: allProcessors });
663
- process(input, ctx as any);
985
+ processSchema(input, ctx as any);
664
986
  extractDefs(ctx as any, input);
665
987
  return finalize(ctx as any, input);
666
988
  }