@psnext/slingcli 3.1.20260904-1 → 3.3.20260914-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 (595) 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/package.json +2 -2
  11. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  12. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  13. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  14. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  15. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +3 -3
  16. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  17. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  18. package/node_modules/@aws-sdk/middleware-websocket/package.json +2 -2
  19. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  20. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  21. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  22. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  23. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  24. package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
  25. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/chunks/{chunk-PBNSMEG7.js → chunk-BRL3MDQL.js} +10 -10
  26. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/cli.js +1 -1
  27. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/index.js +1 -1
  28. package/node_modules/@earendil-works/pi-coding-agent/dist/bundle/rpc-entry.js +1 -1
  29. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.js +79 -32
  30. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Client.md +25 -8
  31. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +3 -2
  32. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/EventSource.md +4 -0
  33. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Interceptors.md +7 -3
  34. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +7 -1
  35. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/api/readable.js +33 -43
  36. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/cache/memory-cache-store.js +2 -2
  37. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/connect.js +16 -2
  38. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/core/symbols.js +3 -0
  39. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/agent.js +7 -2
  40. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/balanced-pool.js +7 -4
  41. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h1.js +9 -1
  42. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client-h2.js +221 -12
  43. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/client.js +76 -30
  44. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher-base.js +13 -1
  45. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher.js +15 -1
  46. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +3 -0
  47. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +37 -8
  48. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/proxy-agent.js +18 -1
  49. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/retry-agent.js +3 -0
  50. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/round-robin-pool.js +1 -1
  51. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +106 -22
  52. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/cache-handler.js +29 -5
  53. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/decorator-handler.js +7 -1
  54. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/deduplication-handler.js +12 -6
  55. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/redirect-handler.js +21 -4
  56. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/handler/retry-handler.js +155 -32
  57. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/cache.js +65 -9
  58. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/decompress.js +115 -13
  59. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/deduplicate.js +5 -4
  60. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dns.js +7 -0
  61. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/interceptor/dump.js +10 -23
  62. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-agent.js +13 -1
  63. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/mock/mock-utils.js +217 -27
  64. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/util/cache.js +43 -3
  65. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/cookies/parse.js +150 -147
  66. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource-stream.js +28 -1
  67. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/eventsource/eventsource.js +13 -3
  68. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/index.js +6 -0
  69. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/request.js +2 -3
  70. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/fetch/util.js +6 -1
  71. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/webidl/index.js +3 -3
  72. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/connection.js +1 -1
  73. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
  74. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
  75. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/lib/web/websocket/websocket.js +22 -0
  76. package/node_modules/@earendil-works/pi-coding-agent/node_modules/undici/package.json +3 -3
  77. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +4 -4
  78. package/node_modules/@earendil-works/pi-coding-agent/package.json +1 -1
  79. package/node_modules/@smithy/core/dist-cjs/submodules/errors/index.js +20 -0
  80. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.browser.js +11 -10
  81. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +11 -10
  82. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +2 -0
  83. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +25 -8
  84. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +2 -0
  85. package/node_modules/@smithy/core/dist-es/submodules/errors/errors.js +18 -0
  86. package/node_modules/@smithy/core/dist-es/submodules/errors/index.js +1 -0
  87. package/node_modules/@smithy/core/dist-es/submodules/retry/service-error-classification/service-error-classification.js +11 -10
  88. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.browser.js +2 -0
  89. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/getAwsChunkedEncodingStream.js +23 -8
  90. package/node_modules/@smithy/core/dist-types/submodules/errors/errors.d.ts +44 -0
  91. package/node_modules/@smithy/core/dist-types/submodules/errors/index.d.ts +1 -0
  92. package/node_modules/@smithy/core/dist-types/submodules/retry/service-error-classification/service-error-classification.d.ts +4 -0
  93. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/errors/errors.d.ts +44 -0
  94. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/errors/index.d.ts +1 -0
  95. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/service-error-classification/service-error-classification.d.ts +4 -0
  96. package/node_modules/@smithy/core/errors.d.ts +5 -0
  97. package/node_modules/@smithy/core/errors.js +5 -0
  98. package/node_modules/@smithy/core/package.json +11 -2
  99. package/node_modules/@types/node/README.md +1 -1
  100. package/node_modules/@types/node/buffer.d.ts +1 -0
  101. package/node_modules/@types/node/diagnostics_channel.d.ts +4 -4
  102. package/node_modules/@types/node/http.d.ts +1 -1
  103. package/node_modules/@types/node/package.json +3 -3
  104. package/node_modules/@types/node/perf_hooks.d.ts +31 -19
  105. package/node_modules/@types/node/quic.d.ts +6 -4
  106. package/node_modules/@types/node/stream/web.d.ts +20 -0
  107. package/node_modules/@types/node/tls.d.ts +26 -15
  108. package/node_modules/@types/node/vfs.d.ts +7 -6
  109. package/node_modules/@types/node/web-globals/streams.d.ts +4 -0
  110. package/node_modules/@types/node/zlib.d.ts +17 -0
  111. package/node_modules/hono/dist/cjs/client/client.js +4 -4
  112. package/node_modules/hono/dist/cjs/hono-base.js +7 -6
  113. package/node_modules/hono/dist/cjs/jsx/base.js +18 -1
  114. package/node_modules/hono/dist/cjs/jsx/components.js +25 -26
  115. package/node_modules/hono/dist/cjs/jsx/context.js +5 -5
  116. package/node_modules/hono/dist/cjs/jsx/dom/server.js +5 -1
  117. package/node_modules/hono/dist/cjs/jsx/intrinsic-element/components.js +2 -2
  118. package/node_modules/hono/dist/cjs/jsx/streaming.js +4 -5
  119. package/node_modules/hono/dist/client/client.js +4 -4
  120. package/node_modules/hono/dist/hono-base.js +7 -6
  121. package/node_modules/hono/dist/jsx/base.js +15 -1
  122. package/node_modules/hono/dist/jsx/components.js +26 -27
  123. package/node_modules/hono/dist/jsx/context.js +6 -6
  124. package/node_modules/hono/dist/jsx/dom/server.js +5 -1
  125. package/node_modules/hono/dist/jsx/intrinsic-element/components.js +3 -3
  126. package/node_modules/hono/dist/jsx/streaming.js +5 -6
  127. package/node_modules/hono/dist/types/context.d.ts +2 -2
  128. package/node_modules/hono/dist/types/jsx/base.d.ts +3 -0
  129. package/node_modules/hono/package.json +2 -2
  130. package/node_modules/jose/dist/types/index.d.ts +1 -2
  131. package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +7 -11
  132. package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +13 -16
  133. package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +7 -11
  134. package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +16 -19
  135. package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +10 -16
  136. package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +18 -21
  137. package/node_modules/jose/dist/types/jwk/embedded.d.ts +3 -1
  138. package/node_modules/jose/dist/types/jwk/thumbprint.d.ts +4 -6
  139. package/node_modules/jose/dist/types/jwks/local.d.ts +5 -4
  140. package/node_modules/jose/dist/types/jwks/remote.d.ts +20 -21
  141. package/node_modules/jose/dist/types/jws/compact/sign.d.ts +4 -4
  142. package/node_modules/jose/dist/types/jws/compact/verify.d.ts +8 -11
  143. package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +5 -5
  144. package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +8 -11
  145. package/node_modules/jose/dist/types/jws/general/sign.d.ts +10 -14
  146. package/node_modules/jose/dist/types/jws/general/verify.d.ts +11 -17
  147. package/node_modules/jose/dist/types/jwt/decrypt.d.ts +14 -11
  148. package/node_modules/jose/dist/types/jwt/encrypt.d.ts +24 -22
  149. package/node_modules/jose/dist/types/jwt/sign.d.ts +3 -7
  150. package/node_modules/jose/dist/types/jwt/unsecured.d.ts +2 -6
  151. package/node_modules/jose/dist/types/jwt/verify.d.ts +13 -6
  152. package/node_modules/jose/dist/types/key/export.d.ts +6 -6
  153. package/node_modules/jose/dist/types/key/generate_key_pair.d.ts +9 -14
  154. package/node_modules/jose/dist/types/key/generate_secret.d.ts +10 -10
  155. package/node_modules/jose/dist/types/key/import.d.ts +19 -18
  156. package/node_modules/jose/dist/types/types.d.ts +152 -247
  157. package/node_modules/jose/dist/types/util/base64url.d.ts +7 -7
  158. package/node_modules/jose/dist/types/util/decode_jwt.d.ts +6 -1
  159. package/node_modules/jose/dist/types/util/decode_protected_header.d.ts +4 -3
  160. package/node_modules/jose/dist/types/util/errors.d.ts +29 -40
  161. package/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +1 -2
  162. package/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +9 -26
  163. package/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +3 -3
  164. package/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +11 -30
  165. package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +6 -6
  166. package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +33 -57
  167. package/node_modules/jose/dist/webapi/jwk/embedded.js +3 -4
  168. package/node_modules/jose/dist/webapi/jwk/thumbprint.js +3 -6
  169. package/node_modules/jose/dist/webapi/jwks/local.js +16 -10
  170. package/node_modules/jose/dist/webapi/jwks/remote.js +2 -2
  171. package/node_modules/jose/dist/webapi/jws/compact/sign.js +2 -4
  172. package/node_modules/jose/dist/webapi/jws/compact/verify.js +2 -2
  173. package/node_modules/jose/dist/webapi/jws/flattened/sign.js +8 -15
  174. package/node_modules/jose/dist/webapi/jws/flattened/verify.js +4 -14
  175. package/node_modules/jose/dist/webapi/jws/general/sign.js +4 -11
  176. package/node_modules/jose/dist/webapi/jws/general/verify.js +5 -7
  177. package/node_modules/jose/dist/webapi/jwt/decrypt.js +2 -3
  178. package/node_modules/jose/dist/webapi/jwt/encrypt.js +11 -25
  179. package/node_modules/jose/dist/webapi/jwt/sign.js +1 -1
  180. package/node_modules/jose/dist/webapi/jwt/unsecured.js +1 -2
  181. package/node_modules/jose/dist/webapi/jwt/verify.js +4 -4
  182. package/node_modules/jose/dist/webapi/key/export.js +12 -16
  183. package/node_modules/jose/dist/webapi/key/generate_key_pair.js +4 -13
  184. package/node_modules/jose/dist/webapi/key/generate_secret.js +1 -1
  185. package/node_modules/jose/dist/webapi/key/import.js +5 -9
  186. package/node_modules/jose/dist/webapi/lib/asn1.js +2 -4
  187. package/node_modules/jose/dist/webapi/lib/buffer_utils.js +35 -0
  188. package/node_modules/jose/dist/webapi/lib/content_encryption.js +21 -29
  189. package/node_modules/jose/dist/webapi/lib/deflate.js +9 -19
  190. package/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +0 -4
  191. package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +21 -54
  192. package/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +26 -59
  193. package/node_modules/jose/dist/webapi/lib/jws_sign.js +29 -43
  194. package/node_modules/jose/dist/webapi/lib/jws_verify.js +37 -45
  195. package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +1 -1
  196. package/node_modules/jose/dist/webapi/lib/key.js +119 -59
  197. package/node_modules/jose/dist/webapi/lib/key_management.js +45 -80
  198. package/node_modules/jose/dist/webapi/lib/{options.js → validate.js} +64 -3
  199. package/node_modules/jose/dist/webapi/util/base64url.js +5 -19
  200. package/node_modules/jose/dist/webapi/util/decode_jwt.js +1 -1
  201. package/node_modules/jose/dist/webapi/util/decode_protected_header.js +1 -1
  202. package/node_modules/jose/package.json +1 -1
  203. package/node_modules/undici/lib/dispatcher/balanced-pool.js +4 -2
  204. package/node_modules/undici/lib/dispatcher/client-h1.js +12 -4
  205. package/node_modules/undici/lib/dispatcher/client-h2.js +70 -14
  206. package/node_modules/undici/lib/dispatcher/client.js +6 -2
  207. package/node_modules/undici/lib/handler/cache-handler.js +21 -5
  208. package/node_modules/undici/lib/handler/retry-handler.js +42 -7
  209. package/node_modules/undici/lib/interceptor/cache.js +20 -1
  210. package/node_modules/undici/lib/interceptor/decompress.js +146 -14
  211. package/node_modules/undici/lib/interceptor/dump.js +10 -23
  212. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +245 -150
  213. package/node_modules/undici/lib/web/websocket/connection.js +1 -1
  214. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +5 -0
  215. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +8 -10
  216. package/node_modules/undici/package.json +1 -1
  217. package/node_modules/undici/types/interceptors.d.ts +2 -0
  218. package/node_modules/undici-types/client.d.ts +8 -3
  219. package/node_modules/undici-types/connector.d.ts +1 -0
  220. package/node_modules/undici-types/cookies.d.ts +1 -1
  221. package/node_modules/undici-types/dispatcher.d.ts +3 -3
  222. package/node_modules/undici-types/errors.d.ts +10 -0
  223. package/node_modules/undici-types/fetch.d.ts +5 -1
  224. package/node_modules/undici-types/handlers.d.ts +2 -0
  225. package/node_modules/undici-types/interceptors.d.ts +1 -1
  226. package/node_modules/undici-types/mock-interceptor.d.ts +5 -1
  227. package/node_modules/undici-types/package.json +1 -1
  228. package/node_modules/undici-types/proxy-agent.d.ts +7 -0
  229. package/node_modules/zod/README.md +2 -2
  230. package/node_modules/zod/compile.cjs +19 -0
  231. package/node_modules/zod/index.cjs +19 -0
  232. package/node_modules/zod/locales/index.cjs +19 -0
  233. package/node_modules/zod/mini/index.cjs +19 -0
  234. package/node_modules/zod/package.json +8 -7
  235. package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
  236. package/node_modules/zod/src/v4/classic/external.ts +2 -0
  237. package/node_modules/zod/src/v4/classic/from-json-schema.ts +248 -25
  238. package/node_modules/zod/src/v4/classic/schemas.ts +243 -168
  239. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +60 -9
  240. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +6 -0
  241. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
  242. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +265 -0
  243. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +112 -6
  244. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +9 -0
  245. package/node_modules/zod/src/v4/classic/tests/error.test.ts +130 -1
  246. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +157 -0
  247. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
  248. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +40 -2
  249. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +27 -7
  250. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +88 -56
  251. package/node_modules/zod/src/v4/classic/tests/number.test.ts +39 -0
  252. package/node_modules/zod/src/v4/classic/tests/object.test.ts +56 -0
  253. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +3 -2
  254. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
  255. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
  256. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +46 -1
  257. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
  258. package/node_modules/zod/src/v4/classic/tests/string.test.ts +95 -1
  259. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +33 -1
  260. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +234 -38
  261. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +569 -0
  262. package/node_modules/zod/src/v4/core/api.ts +44 -28
  263. package/node_modules/zod/src/v4/core/checks.ts +62 -102
  264. package/node_modules/zod/src/v4/core/compile.ts +218 -93
  265. package/node_modules/zod/src/v4/core/core.ts +1 -3
  266. package/node_modules/zod/src/v4/core/doc.ts +6 -2
  267. package/node_modules/zod/src/v4/core/errors.ts +3 -6
  268. package/node_modules/zod/src/v4/core/json-schema-generator.ts +2 -2
  269. package/node_modules/zod/src/v4/core/json-schema-processors.ts +185 -81
  270. package/node_modules/zod/src/v4/core/memoizer.ts +75 -28
  271. package/node_modules/zod/src/v4/core/parse.ts +37 -16
  272. package/node_modules/zod/src/v4/core/regexes.ts +14 -4
  273. package/node_modules/zod/src/v4/core/schemas.ts +296 -132
  274. package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
  275. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +35 -0
  276. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
  277. package/node_modules/zod/src/v4/core/tests/compile.test.ts +399 -2
  278. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
  279. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
  280. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  281. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +118 -16
  282. package/node_modules/zod/src/v4/core/to-json-schema.ts +9 -7
  283. package/node_modules/zod/src/v4/core/util.ts +218 -147
  284. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  285. package/node_modules/zod/src/v4/locales/ar.ts +2 -0
  286. package/node_modules/zod/src/v4/locales/az.ts +2 -0
  287. package/node_modules/zod/src/v4/locales/be.ts +2 -0
  288. package/node_modules/zod/src/v4/locales/bg.ts +2 -0
  289. package/node_modules/zod/src/v4/locales/bn.ts +2 -0
  290. package/node_modules/zod/src/v4/locales/ca.ts +2 -0
  291. package/node_modules/zod/src/v4/locales/ckb.ts +2 -0
  292. package/node_modules/zod/src/v4/locales/cs.ts +2 -0
  293. package/node_modules/zod/src/v4/locales/da.ts +2 -0
  294. package/node_modules/zod/src/v4/locales/de.ts +2 -0
  295. package/node_modules/zod/src/v4/locales/el.ts +2 -0
  296. package/node_modules/zod/src/v4/locales/en.ts +2 -0
  297. package/node_modules/zod/src/v4/locales/eo.ts +2 -0
  298. package/node_modules/zod/src/v4/locales/es.ts +2 -0
  299. package/node_modules/zod/src/v4/locales/fa.ts +2 -0
  300. package/node_modules/zod/src/v4/locales/fi.ts +2 -0
  301. package/node_modules/zod/src/v4/locales/fr-CA.ts +2 -0
  302. package/node_modules/zod/src/v4/locales/fr.ts +2 -0
  303. package/node_modules/zod/src/v4/locales/gu.ts +2 -0
  304. package/node_modules/zod/src/v4/locales/he.ts +2 -0
  305. package/node_modules/zod/src/v4/locales/hi.ts +2 -0
  306. package/node_modules/zod/src/v4/locales/hr.ts +2 -0
  307. package/node_modules/zod/src/v4/locales/hu.ts +2 -0
  308. package/node_modules/zod/src/v4/locales/hy.ts +2 -0
  309. package/node_modules/zod/src/v4/locales/id.ts +2 -0
  310. package/node_modules/zod/src/v4/locales/index.ts +1 -0
  311. package/node_modules/zod/src/v4/locales/is.ts +2 -0
  312. package/node_modules/zod/src/v4/locales/it.ts +2 -0
  313. package/node_modules/zod/src/v4/locales/ja.ts +2 -0
  314. package/node_modules/zod/src/v4/locales/ka.ts +2 -0
  315. package/node_modules/zod/src/v4/locales/km.ts +2 -0
  316. package/node_modules/zod/src/v4/locales/kn.ts +2 -0
  317. package/node_modules/zod/src/v4/locales/ko.ts +2 -0
  318. package/node_modules/zod/src/v4/locales/lt.ts +2 -0
  319. package/node_modules/zod/src/v4/locales/mk.ts +2 -0
  320. package/node_modules/zod/src/v4/locales/ms.ts +2 -0
  321. package/node_modules/zod/src/v4/locales/ne.ts +2 -0
  322. package/node_modules/zod/src/v4/locales/nl.ts +2 -0
  323. package/node_modules/zod/src/v4/locales/nn.ts +2 -0
  324. package/node_modules/zod/src/v4/locales/no.ts +2 -0
  325. package/node_modules/zod/src/v4/locales/ota.ts +2 -0
  326. package/node_modules/zod/src/v4/locales/pl.ts +2 -0
  327. package/node_modules/zod/src/v4/locales/ps.ts +2 -0
  328. package/node_modules/zod/src/v4/locales/pt-BR.ts +2 -0
  329. package/node_modules/zod/src/v4/locales/pt.ts +2 -0
  330. package/node_modules/zod/src/v4/locales/ro.ts +2 -0
  331. package/node_modules/zod/src/v4/locales/ru.ts +2 -0
  332. package/node_modules/zod/src/v4/locales/sk.ts +2 -0
  333. package/node_modules/zod/src/v4/locales/sl.ts +2 -0
  334. package/node_modules/zod/src/v4/locales/sv.ts +2 -0
  335. package/node_modules/zod/src/v4/locales/ta.ts +2 -0
  336. package/node_modules/zod/src/v4/locales/tg.ts +135 -0
  337. package/node_modules/zod/src/v4/locales/th.ts +2 -0
  338. package/node_modules/zod/src/v4/locales/tk.ts +2 -0
  339. package/node_modules/zod/src/v4/locales/tr.ts +2 -0
  340. package/node_modules/zod/src/v4/locales/uk.ts +2 -0
  341. package/node_modules/zod/src/v4/locales/ur.ts +2 -0
  342. package/node_modules/zod/src/v4/locales/uz.ts +2 -0
  343. package/node_modules/zod/src/v4/locales/vi.ts +2 -0
  344. package/node_modules/zod/src/v4/locales/yo.ts +2 -0
  345. package/node_modules/zod/src/v4/locales/zh-CN.ts +2 -0
  346. package/node_modules/zod/src/v4/locales/zh-TW.ts +2 -0
  347. package/node_modules/zod/src/v4/mini/external.ts +2 -0
  348. package/node_modules/zod/src/v4/mini/schemas.ts +32 -7
  349. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +1 -1
  350. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
  351. package/node_modules/zod/src/v4/mini/tests/index.test.ts +86 -0
  352. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
  353. package/node_modules/zod/src/v4/mini/tests/string.test.ts +23 -0
  354. package/node_modules/zod/v3/ZodError.cjs +19 -0
  355. package/node_modules/zod/v3/errors.cjs +19 -0
  356. package/node_modules/zod/v3/external.cjs +19 -0
  357. package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
  358. package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
  359. package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
  360. package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
  361. package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
  362. package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
  363. package/node_modules/zod/v3/helpers/util.cjs +19 -0
  364. package/node_modules/zod/v3/index.cjs +19 -0
  365. package/node_modules/zod/v3/standard-schema.cjs +19 -0
  366. package/node_modules/zod/v3/types.cjs +19 -0
  367. package/node_modules/zod/v4/classic/checks.cjs +19 -0
  368. package/node_modules/zod/v4/classic/coerce.cjs +19 -0
  369. package/node_modules/zod/v4/classic/compat.cjs +19 -0
  370. package/node_modules/zod/v4/classic/deep-partial.cjs +19 -0
  371. package/node_modules/zod/v4/classic/errors.cjs +19 -0
  372. package/node_modules/zod/v4/classic/external.cjs +22 -1
  373. package/node_modules/zod/v4/classic/external.d.cts +1 -1
  374. package/node_modules/zod/v4/classic/external.d.ts +1 -1
  375. package/node_modules/zod/v4/classic/external.js +1 -1
  376. package/node_modules/zod/v4/classic/from-json-schema.cjs +264 -24
  377. package/node_modules/zod/v4/classic/from-json-schema.js +245 -24
  378. package/node_modules/zod/v4/classic/in-out.cjs +19 -0
  379. package/node_modules/zod/v4/classic/index.cjs +19 -0
  380. package/node_modules/zod/v4/classic/iso.cjs +19 -0
  381. package/node_modules/zod/v4/classic/parse.cjs +19 -0
  382. package/node_modules/zod/v4/classic/schemas.cjs +100 -35
  383. package/node_modules/zod/v4/classic/schemas.d.cts +15 -1
  384. package/node_modules/zod/v4/classic/schemas.d.ts +15 -1
  385. package/node_modules/zod/v4/classic/schemas.js +77 -33
  386. package/node_modules/zod/v4/core/api.cjs +45 -22
  387. package/node_modules/zod/v4/core/api.d.cts +12 -6
  388. package/node_modules/zod/v4/core/api.d.ts +12 -6
  389. package/node_modules/zod/v4/core/api.js +25 -22
  390. package/node_modules/zod/v4/core/checks.cjs +51 -97
  391. package/node_modules/zod/v4/core/checks.d.cts +17 -1
  392. package/node_modules/zod/v4/core/checks.d.ts +17 -1
  393. package/node_modules/zod/v4/core/checks.js +31 -96
  394. package/node_modules/zod/v4/core/compile.cjs +173 -78
  395. package/node_modules/zod/v4/core/compile.d.cts +18 -4
  396. package/node_modules/zod/v4/core/compile.d.ts +18 -4
  397. package/node_modules/zod/v4/core/compile.js +154 -79
  398. package/node_modules/zod/v4/core/core.cjs +20 -1
  399. package/node_modules/zod/v4/core/core.js +1 -1
  400. package/node_modules/zod/v4/core/doc.cjs +26 -2
  401. package/node_modules/zod/v4/core/doc.js +7 -2
  402. package/node_modules/zod/v4/core/errors.cjs +21 -5
  403. package/node_modules/zod/v4/core/errors.js +2 -5
  404. package/node_modules/zod/v4/core/index.cjs +19 -0
  405. package/node_modules/zod/v4/core/json-schema-generator.cjs +20 -1
  406. package/node_modules/zod/v4/core/json-schema-generator.js +2 -2
  407. package/node_modules/zod/v4/core/json-schema-processors.cjs +188 -72
  408. package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
  409. package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
  410. package/node_modules/zod/v4/core/json-schema-processors.js +170 -74
  411. package/node_modules/zod/v4/core/json-schema.cjs +19 -0
  412. package/node_modules/zod/v4/core/memoizer.cjs +111 -23
  413. package/node_modules/zod/v4/core/memoizer.js +69 -23
  414. package/node_modules/zod/v4/core/parse.cjs +56 -16
  415. package/node_modules/zod/v4/core/parse.js +37 -16
  416. package/node_modules/zod/v4/core/regexes.cjs +31 -6
  417. package/node_modules/zod/v4/core/regexes.d.cts +3 -0
  418. package/node_modules/zod/v4/core/regexes.d.ts +3 -0
  419. package/node_modules/zod/v4/core/regexes.js +10 -4
  420. package/node_modules/zod/v4/core/registries.cjs +19 -0
  421. package/node_modules/zod/v4/core/schemas.cjs +302 -114
  422. package/node_modules/zod/v4/core/schemas.d.cts +28 -8
  423. package/node_modules/zod/v4/core/schemas.d.ts +28 -8
  424. package/node_modules/zod/v4/core/schemas.js +279 -113
  425. package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
  426. package/node_modules/zod/v4/core/to-json-schema.cjs +28 -7
  427. package/node_modules/zod/v4/core/to-json-schema.d.cts +4 -3
  428. package/node_modules/zod/v4/core/to-json-schema.d.ts +4 -3
  429. package/node_modules/zod/v4/core/to-json-schema.js +7 -6
  430. package/node_modules/zod/v4/core/util.cjs +177 -143
  431. package/node_modules/zod/v4/core/util.d.cts +25 -4
  432. package/node_modules/zod/v4/core/util.d.ts +25 -4
  433. package/node_modules/zod/v4/core/util.js +156 -143
  434. package/node_modules/zod/v4/core/versions.cjs +21 -2
  435. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  436. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  437. package/node_modules/zod/v4/core/versions.js +2 -2
  438. package/node_modules/zod/v4/core/visit.cjs +19 -0
  439. package/node_modules/zod/v4/index.cjs +19 -0
  440. package/node_modules/zod/v4/locales/ar.cjs +2 -0
  441. package/node_modules/zod/v4/locales/ar.js +2 -0
  442. package/node_modules/zod/v4/locales/az.cjs +2 -0
  443. package/node_modules/zod/v4/locales/az.js +2 -0
  444. package/node_modules/zod/v4/locales/be.cjs +2 -0
  445. package/node_modules/zod/v4/locales/be.js +2 -0
  446. package/node_modules/zod/v4/locales/bg.cjs +2 -0
  447. package/node_modules/zod/v4/locales/bg.js +2 -0
  448. package/node_modules/zod/v4/locales/bn.cjs +2 -0
  449. package/node_modules/zod/v4/locales/bn.js +2 -0
  450. package/node_modules/zod/v4/locales/ca.cjs +2 -0
  451. package/node_modules/zod/v4/locales/ca.js +2 -0
  452. package/node_modules/zod/v4/locales/ckb.cjs +2 -0
  453. package/node_modules/zod/v4/locales/ckb.js +2 -0
  454. package/node_modules/zod/v4/locales/cs.cjs +2 -0
  455. package/node_modules/zod/v4/locales/cs.js +2 -0
  456. package/node_modules/zod/v4/locales/da.cjs +2 -0
  457. package/node_modules/zod/v4/locales/da.js +2 -0
  458. package/node_modules/zod/v4/locales/de.cjs +2 -0
  459. package/node_modules/zod/v4/locales/de.js +2 -0
  460. package/node_modules/zod/v4/locales/el.cjs +2 -0
  461. package/node_modules/zod/v4/locales/el.js +2 -0
  462. package/node_modules/zod/v4/locales/en.cjs +2 -0
  463. package/node_modules/zod/v4/locales/en.js +2 -0
  464. package/node_modules/zod/v4/locales/eo.cjs +2 -0
  465. package/node_modules/zod/v4/locales/eo.js +2 -0
  466. package/node_modules/zod/v4/locales/es.cjs +2 -0
  467. package/node_modules/zod/v4/locales/es.js +2 -0
  468. package/node_modules/zod/v4/locales/fa.cjs +2 -0
  469. package/node_modules/zod/v4/locales/fa.js +2 -0
  470. package/node_modules/zod/v4/locales/fi.cjs +2 -0
  471. package/node_modules/zod/v4/locales/fi.js +2 -0
  472. package/node_modules/zod/v4/locales/fr-CA.cjs +2 -0
  473. package/node_modules/zod/v4/locales/fr-CA.js +2 -0
  474. package/node_modules/zod/v4/locales/fr.cjs +2 -0
  475. package/node_modules/zod/v4/locales/fr.js +2 -0
  476. package/node_modules/zod/v4/locales/gu.cjs +2 -0
  477. package/node_modules/zod/v4/locales/gu.js +2 -0
  478. package/node_modules/zod/v4/locales/he.cjs +2 -0
  479. package/node_modules/zod/v4/locales/he.js +2 -0
  480. package/node_modules/zod/v4/locales/hi.cjs +2 -0
  481. package/node_modules/zod/v4/locales/hi.js +2 -0
  482. package/node_modules/zod/v4/locales/hr.cjs +2 -0
  483. package/node_modules/zod/v4/locales/hr.js +2 -0
  484. package/node_modules/zod/v4/locales/hu.cjs +2 -0
  485. package/node_modules/zod/v4/locales/hu.js +2 -0
  486. package/node_modules/zod/v4/locales/hy.cjs +2 -0
  487. package/node_modules/zod/v4/locales/hy.js +2 -0
  488. package/node_modules/zod/v4/locales/id.cjs +2 -0
  489. package/node_modules/zod/v4/locales/id.js +2 -0
  490. package/node_modules/zod/v4/locales/index.cjs +22 -1
  491. package/node_modules/zod/v4/locales/index.d.cts +1 -0
  492. package/node_modules/zod/v4/locales/index.d.ts +1 -0
  493. package/node_modules/zod/v4/locales/index.js +1 -0
  494. package/node_modules/zod/v4/locales/is.cjs +2 -0
  495. package/node_modules/zod/v4/locales/is.js +2 -0
  496. package/node_modules/zod/v4/locales/it.cjs +2 -0
  497. package/node_modules/zod/v4/locales/it.js +2 -0
  498. package/node_modules/zod/v4/locales/ja.cjs +2 -0
  499. package/node_modules/zod/v4/locales/ja.js +2 -0
  500. package/node_modules/zod/v4/locales/ka.cjs +2 -0
  501. package/node_modules/zod/v4/locales/ka.js +2 -0
  502. package/node_modules/zod/v4/locales/km.cjs +2 -0
  503. package/node_modules/zod/v4/locales/km.js +2 -0
  504. package/node_modules/zod/v4/locales/kn.cjs +2 -0
  505. package/node_modules/zod/v4/locales/kn.js +2 -0
  506. package/node_modules/zod/v4/locales/ko.cjs +2 -0
  507. package/node_modules/zod/v4/locales/ko.js +2 -0
  508. package/node_modules/zod/v4/locales/lt.cjs +2 -0
  509. package/node_modules/zod/v4/locales/lt.js +2 -0
  510. package/node_modules/zod/v4/locales/mk.cjs +2 -0
  511. package/node_modules/zod/v4/locales/mk.js +2 -0
  512. package/node_modules/zod/v4/locales/ms.cjs +2 -0
  513. package/node_modules/zod/v4/locales/ms.js +2 -0
  514. package/node_modules/zod/v4/locales/ne.cjs +2 -0
  515. package/node_modules/zod/v4/locales/ne.js +2 -0
  516. package/node_modules/zod/v4/locales/nl.cjs +2 -0
  517. package/node_modules/zod/v4/locales/nl.js +2 -0
  518. package/node_modules/zod/v4/locales/nn.cjs +2 -0
  519. package/node_modules/zod/v4/locales/nn.js +2 -0
  520. package/node_modules/zod/v4/locales/no.cjs +2 -0
  521. package/node_modules/zod/v4/locales/no.js +2 -0
  522. package/node_modules/zod/v4/locales/ota.cjs +2 -0
  523. package/node_modules/zod/v4/locales/ota.js +2 -0
  524. package/node_modules/zod/v4/locales/pl.cjs +2 -0
  525. package/node_modules/zod/v4/locales/pl.js +2 -0
  526. package/node_modules/zod/v4/locales/ps.cjs +2 -0
  527. package/node_modules/zod/v4/locales/ps.js +2 -0
  528. package/node_modules/zod/v4/locales/pt-BR.cjs +2 -0
  529. package/node_modules/zod/v4/locales/pt-BR.js +2 -0
  530. package/node_modules/zod/v4/locales/pt.cjs +2 -0
  531. package/node_modules/zod/v4/locales/pt.js +2 -0
  532. package/node_modules/zod/v4/locales/ro.cjs +2 -0
  533. package/node_modules/zod/v4/locales/ro.js +2 -0
  534. package/node_modules/zod/v4/locales/ru.cjs +2 -0
  535. package/node_modules/zod/v4/locales/ru.js +2 -0
  536. package/node_modules/zod/v4/locales/sk.cjs +2 -0
  537. package/node_modules/zod/v4/locales/sk.js +2 -0
  538. package/node_modules/zod/v4/locales/sl.cjs +2 -0
  539. package/node_modules/zod/v4/locales/sl.js +2 -0
  540. package/node_modules/zod/v4/locales/sv.cjs +2 -0
  541. package/node_modules/zod/v4/locales/sv.js +2 -0
  542. package/node_modules/zod/v4/locales/ta.cjs +2 -0
  543. package/node_modules/zod/v4/locales/ta.js +2 -0
  544. package/node_modules/zod/v4/locales/tg.cjs +144 -0
  545. package/node_modules/zod/v4/locales/tg.d.cts +5 -0
  546. package/node_modules/zod/v4/locales/tg.d.ts +4 -0
  547. package/node_modules/zod/v4/locales/tg.js +117 -0
  548. package/node_modules/zod/v4/locales/th.cjs +2 -0
  549. package/node_modules/zod/v4/locales/th.js +2 -0
  550. package/node_modules/zod/v4/locales/tk.cjs +2 -0
  551. package/node_modules/zod/v4/locales/tk.js +2 -0
  552. package/node_modules/zod/v4/locales/tr.cjs +2 -0
  553. package/node_modules/zod/v4/locales/tr.js +2 -0
  554. package/node_modules/zod/v4/locales/uk.cjs +2 -0
  555. package/node_modules/zod/v4/locales/uk.js +2 -0
  556. package/node_modules/zod/v4/locales/ur.cjs +2 -0
  557. package/node_modules/zod/v4/locales/ur.js +2 -0
  558. package/node_modules/zod/v4/locales/uz.cjs +2 -0
  559. package/node_modules/zod/v4/locales/uz.js +2 -0
  560. package/node_modules/zod/v4/locales/vi.cjs +2 -0
  561. package/node_modules/zod/v4/locales/vi.js +2 -0
  562. package/node_modules/zod/v4/locales/yo.cjs +2 -0
  563. package/node_modules/zod/v4/locales/yo.js +2 -0
  564. package/node_modules/zod/v4/locales/zh-CN.cjs +2 -0
  565. package/node_modules/zod/v4/locales/zh-CN.js +2 -0
  566. package/node_modules/zod/v4/locales/zh-TW.cjs +2 -0
  567. package/node_modules/zod/v4/locales/zh-TW.js +2 -0
  568. package/node_modules/zod/v4/mini/checks.cjs +19 -0
  569. package/node_modules/zod/v4/mini/coerce.cjs +19 -0
  570. package/node_modules/zod/v4/mini/deep-partial.cjs +19 -0
  571. package/node_modules/zod/v4/mini/external.cjs +22 -1
  572. package/node_modules/zod/v4/mini/external.d.cts +1 -1
  573. package/node_modules/zod/v4/mini/external.d.ts +1 -1
  574. package/node_modules/zod/v4/mini/external.js +1 -1
  575. package/node_modules/zod/v4/mini/in-out.cjs +19 -0
  576. package/node_modules/zod/v4/mini/index.cjs +19 -0
  577. package/node_modules/zod/v4/mini/iso.cjs +19 -0
  578. package/node_modules/zod/v4/mini/parse.cjs +19 -0
  579. package/node_modules/zod/v4/mini/schemas.cjs +44 -8
  580. package/node_modules/zod/v4/mini/schemas.d.cts +6 -1
  581. package/node_modules/zod/v4/mini/schemas.d.ts +6 -1
  582. package/node_modules/zod/v4/mini/schemas.js +21 -6
  583. package/node_modules/zod/v4-mini/index.cjs +19 -0
  584. package/package.json +2 -2
  585. package/slingshot/index.js +201 -198
  586. package/node_modules/jose/dist/webapi/lib/base64.js +0 -20
  587. package/node_modules/jose/dist/webapi/lib/crypto_key.js +0 -27
  588. package/node_modules/jose/dist/webapi/lib/helpers.js +0 -45
  589. package/node_modules/jose/dist/webapi/lib/invalid_key_input.js +0 -12
  590. package/node_modules/jose/dist/webapi/lib/is_key_like.js +0 -19
  591. package/node_modules/jose/dist/webapi/lib/jwk_metadata.js +0 -19
  592. package/node_modules/jose/dist/webapi/lib/jwk_to_key.js +0 -10
  593. package/node_modules/jose/dist/webapi/lib/key_options.js +0 -8
  594. package/node_modules/jose/dist/webapi/lib/signing.js +0 -22
  595. package/node_modules/jose/dist/webapi/lib/type_checks.js +0 -30
@@ -2,9 +2,9 @@ import { $ZodAsyncError } from "./core.js";
2
2
  import { Doc } from "./doc.js";
3
3
  import { isBackEdge, isRecursiveSchema } from "./memoizer.js";
4
4
  import * as regexes from "./regexes.js";
5
- import { isValidBase64, isValidBase64URL, isValidCIDRv6, isValidCreditCard, isValidIPv6, isValidJWT, mergeValues, parseURLObject, stripTabAndNewline, urlHostnameOk, urlProtocolOk, } from "./schemas.js";
5
+ import { isValidBase64, isValidBase64URL, isValidCIDRv6, isValidCreditCard, isValidIBAN, isValidIPv6, isValidJWT, mergeValues, stripTabAndNewline, urlHostnameOk, urlProtocolOk, validateURL, } from "./schemas.js";
6
6
  import * as util from "./util.js";
7
- /** Sentinel value returned by the compiled fast path when validation fails. Internal. */
7
+ /** @internal Sentinel the compiled fast path returns when validation fails. */
8
8
  export const INVALID = Symbol.for("zod.compile.invalid");
9
9
  // Set on the parse ctx when a compiled wrapper falls back to the runtime, so nested compiled wrappers skip their fast paths for the rest of that parse.
10
10
  const FALLBACK_FLAG = Symbol.for("zod.compile.fallback");
@@ -55,45 +55,9 @@ function compileValidator(schema, parser) {
55
55
  export function compile(schema, options) {
56
56
  try {
57
57
  const parser = compileFn(schema);
58
- const clone = util.clone(schema);
59
- // Capture the source-of-truth runtime eagerly. If schema._zod.run is itself a shim installed by global-mode (`__originalRun` set), unwrap past it. Otherwise capturing the live property lazily would let a later self- replacement of schema._zod.run feed our wrapper back into itself.
60
- const liveRun = schema._zod.run;
61
- const originalRun = liveRun.__originalRun ?? liveRun;
62
- // Delegate to the *original* schema's run on bypass/fallback (not the
63
- // clone's). The original closed over its own `inst` at construction time;
64
- // issue payloads use that reference to derive things like the class name
65
- // for `z.instanceof(Test)`. Calling the clone's freshly-initialized run
66
- // would push issues with `inst === clone`, producing diverging error
67
- // messages from the original schema.
68
- const wrapped = (payload, ctx) => {
69
- if (ctx?.async ||
70
- ctx?.direction === "backward" ||
71
- ctx?.skipChecks ||
72
- ctx?.[FALLBACK_FLAG]) {
73
- return originalRun(payload, ctx);
74
- }
75
- // A memoized back-edge: only the runtime can close a reference cycle, and a transform on one must raise $ZodCyclicError from its own parse.
76
- if (ctx && isBackEdge(ctx, payload.value)) {
77
- return originalRun(payload, ctx);
78
- }
79
- const out = parser(payload.value);
80
- if (out !== INVALID) {
81
- payload.value = out;
82
- return payload;
83
- }
84
- // Mark this parse as runtime-driven: under global mode every nested schema carries its own compiled wrapper, and without the flag the parent's runtime fallback re-enters each child's fast path, running user callbacks a third time on invalid input.
85
- if (ctx)
86
- ctx[FALLBACK_FLAG] = true;
87
- return originalRun(payload, ctx);
88
- };
89
- // Let later compiles of (or through) this run unwrap to the true runtime — both the global shim and repeated z.compile calls rely on this. The bag also carries the parser and the validator, so the standalone validate can skip the payload and wrapper on the happy path.
90
- wrapped.__originalRun = originalRun;
91
- clone._zod.bag.fallbackRun = originalRun;
58
+ const clone = withParser(schema, parser);
59
+ // withParser leaves the parser as its own validator; the generated assert-only variant is better when we have one
92
60
  clone._zod.bag.validator = compileValidator(schema, parser);
93
- clone._zod.run = wrapped;
94
- // The fast parse/safeParse closures fall back through the source schema's methods. If the source is shim- or wrapper-managed, those methods route into a compiled run and would execute user callbacks a third time on invalid input — the plain method → wrapper path is exactly 2x, so skip.
95
- if (!liveRun.__originalRun)
96
- installCompiledUserMethods(clone, schema, parser);
97
61
  return clone;
98
62
  }
99
63
  catch (err) {
@@ -103,6 +67,59 @@ export function compile(schema, options) {
103
67
  return schema;
104
68
  }
105
69
  }
70
+ /**
71
+ * Install an already-generated parser as a schema's fast path. Returns a clone; the original is
72
+ * unchanged.
73
+ *
74
+ * The parser takes the input and returns the parsed value, or `INVALID` to hand the parse to the
75
+ * runtime. It must be synchronous and forward-direction, and it must build fresh output rather than
76
+ * return its input — Zod cannot check either, and a wrong *success* is returned to the caller as-is.
77
+ *
78
+ * `compile()` is the ordinary entry point. This is for a build-time or native compiler that produces
79
+ * a parser where `new Function` is unavailable.
80
+ */
81
+ export function withParser(schema, parser) {
82
+ // generated code never receives the parse context, so only the runtime can close a reference cycle; compileFn refuses these too
83
+ if (isRecursiveSchema(schema)) {
84
+ throw new ZodCompileUnsupportedError("a schema whose subtree contains a reference cycle");
85
+ }
86
+ const clone = util.clone(schema);
87
+ // Capture the source-of-truth runtime eagerly. If schema._zod.run is itself a shim installed by global-mode (`__originalRun` set), unwrap past it. Otherwise capturing the live property lazily would let a later self- replacement of schema._zod.run feed our wrapper back into itself.
88
+ const liveRun = schema._zod.run;
89
+ const originalRun = liveRun.__originalRun ?? liveRun;
90
+ // Delegate to the *original* schema's run on bypass/fallback, not the clone's. The original closed over its own `inst` at construction time, and issue payloads use that reference to derive things like the class name for `z.instanceof(Test)`; calling the clone's freshly-initialized run would push issues with `inst === clone` and diverge from the original schema's error messages.
91
+ const wrapped = (payload, ctx) => {
92
+ if (ctx?.async ||
93
+ ctx?.direction === "backward" ||
94
+ ctx?.skipChecks ||
95
+ ctx?.[FALLBACK_FLAG]) {
96
+ return originalRun(payload, ctx);
97
+ }
98
+ // A memoized back-edge: only the runtime can close a reference cycle, and a transform on one must raise $ZodCyclicError from its own parse.
99
+ if (ctx && isBackEdge(ctx, payload.value)) {
100
+ return originalRun(payload, ctx);
101
+ }
102
+ const out = parser(payload.value);
103
+ if (out !== INVALID) {
104
+ payload.value = out;
105
+ return payload;
106
+ }
107
+ // Mark this parse as runtime-driven: under global mode every nested schema carries its own compiled wrapper, and without the flag the parent's runtime fallback re-enters each child's fast path, running user callbacks a third time on invalid input.
108
+ if (ctx)
109
+ ctx[FALLBACK_FLAG] = true;
110
+ return originalRun(payload, ctx);
111
+ };
112
+ // Let later compiles of (or through) this run unwrap to the true runtime — both the global shim and repeated z.compile calls rely on this. The bag also carries the parser and the validator, so the standalone validate can skip the payload and wrapper on the happy path.
113
+ wrapped.__originalRun = originalRun;
114
+ clone._zod.bag.fallbackRun = originalRun;
115
+ // a supplied parser answers `validate` too: one implementation means parse and validate cannot disagree, and its undefined `definite` keeps the runtime re-parse on every rejection
116
+ clone._zod.bag.validator = parser;
117
+ clone._zod.run = wrapped;
118
+ // The fast parse/safeParse closures fall back through the source schema's methods. If the source is shim- or wrapper-managed, those methods route into a compiled run and would execute user callbacks a third time on invalid input — the plain method → wrapper path is exactly 2x, so skip.
119
+ if (!liveRun.__originalRun)
120
+ installCompiledUserMethods(clone, schema, parser);
121
+ return clone;
122
+ }
106
123
  function installCompiledUserMethods(target, source, parser) {
107
124
  const targetAny = target;
108
125
  const sourceAny = source;
@@ -128,9 +145,8 @@ function installCompiledUserMethods(target, source, parser) {
128
145
  }
129
146
  }
130
147
  /**
131
- * Generate the standalone compiled function: a parser by default, a validator under
132
- * `assertOnly`. Returns either the parsed value, `true` where nothing reads the output,
133
- * or the `INVALID` sentinel. Internal — consumers should use `compile()`.
148
+ * @internal Generate the standalone compiled function: a parser by default, a validator under
149
+ * `assertOnly`. Returns the parsed value, `true` where nothing reads the output, or `INVALID`. Consumers use `compile()`.
134
150
  */
135
151
  export function compileFn(schema, options) {
136
152
  // Cycle-breaking is keyed on the parse context, which generated code never receives. `shape` can be a getter that throws (z.pick() with an unrecognized mask key), so treat "can't tell" as recursive.
@@ -146,6 +162,7 @@ export function compileFn(schema, options) {
146
162
  constants: new Map(),
147
163
  constantCounter: 0,
148
164
  varCounter: 0,
165
+ definite: true,
149
166
  };
150
167
  const doc = new Doc(["input"]);
151
168
  const outputAccessor = generateCheck(doc, ctx, schema, "input", !options?.assertOnly);
@@ -174,6 +191,7 @@ export function compileFn(schema, options) {
174
191
  if (options?.debug) {
175
192
  fn.code = fullCode;
176
193
  }
194
+ fn.definite = ctx.definite;
177
195
  return fn;
178
196
  }
179
197
  function addConstant(ctx, value) {
@@ -186,6 +204,11 @@ function addConstant(ctx, value) {
186
204
  ctx.constants.set(name, value);
187
205
  return name;
188
206
  }
207
+ /** Hoists a user-supplied callback. Anything the schema's author wrote can throw, and generated code can reject an earlier sibling before ever reaching it, so this clears `definite` — a rejection is then no longer proof that the interpreter would have rejected rather than thrown. */
208
+ function addUserConstant(ctx, fn) {
209
+ ctx.definite = false;
210
+ return addConstant(ctx, fn);
211
+ }
189
212
  function newVar(ctx) {
190
213
  return `v${ctx.varCounter++}`;
191
214
  }
@@ -221,6 +244,8 @@ function compileChild(doc, ctx, schema, accessor, needsValue = true) {
221
244
  }
222
245
  }
223
246
  function emitRuntimeIsland(doc, ctx, schema, accessor) {
247
+ // an islanded child answers INVALID for an async run too, which the interpreter throws for
248
+ ctx.definite = false;
224
249
  const schemaConst = addConstant(ctx, schema);
225
250
  const runConst = addConstant(ctx, runtimeRun);
226
251
  const outVar = newVar(ctx);
@@ -304,6 +329,9 @@ function generateChecks(doc, ctx, schema, accessor) {
304
329
  case "property":
305
330
  generatePropertyCheck(doc, ctx, def, currentAccessor);
306
331
  break;
332
+ case "properties":
333
+ generatePropertiesChecks(doc, ctx, def, currentAccessor);
334
+ break;
307
335
  case "overwrite": {
308
336
  // Overwrite transforms the value - create new variable for transformed result
309
337
  const newAccessor = newVar(ctx);
@@ -429,6 +457,24 @@ function generateMimeTypeCheck(doc, ctx, def, accessor) {
429
457
  doc.write(`if (!${mimeSet}.has(${accessor}.type)) return INVALID;`);
430
458
  }
431
459
  }
460
+ // asserts each named property in place; children compile assert-only because z.properties never rebuilds its input
461
+ function generatePropertiesChecks(doc, ctx, def, accessor) {
462
+ // a custom `when` gates the assertion at runtime; inside a union a wrongly-run branch is absorbed as a branch failure rather than falling back, so refuse at codegen
463
+ if (def.when) {
464
+ throw new ZodCompileUnsupportedError(`check with a custom "when" condition`);
465
+ }
466
+ // matches the runtime gate: the base schema already typed the value, so only a nullish one is rejected
467
+ doc.write(`if (${accessor} == null) return INVALID;`);
468
+ const shape = def.shape;
469
+ for (const key of Reflect.ownKeys(shape)) {
470
+ // a symbol has no source literal, so it is hoisted as a constant
471
+ const keyExpr = typeof key === "symbol" ? addConstant(ctx, key) : util.esc(key);
472
+ // cache the property read so a getter runs exactly once, matching the runtime
473
+ const inputVar = newVar(ctx);
474
+ doc.write(`const ${inputVar} = ${accessor}[${keyExpr}];`);
475
+ compileChild(doc, ctx, shape[key], inputVar, false);
476
+ }
477
+ }
432
478
  function generatePropertyCheck(doc, ctx, def, accessor) {
433
479
  const propAccessor = `${accessor}[${JSON.stringify(def.property)}]`;
434
480
  generateCheck(doc, ctx, def.schema, propAccessor);
@@ -461,7 +507,7 @@ function generateCustomRefineCheck(doc, ctx, check, accessor) {
461
507
  if (isAsyncFunction(def.fn)) {
462
508
  throw new ZodCompileAsyncError("z.compile: async .refine() predicates are not supported");
463
509
  }
464
- const fnConst = addConstant(ctx, def.fn);
510
+ const fnConst = addUserConstant(ctx, def.fn);
465
511
  const throwAsyncConst = addConstant(ctx, throwAsync);
466
512
  const resVar = newVar(ctx);
467
513
  doc.write(`const ${resVar} = ${fnConst}(${accessor});`);
@@ -489,7 +535,7 @@ function generateCustomRefineCheck(doc, ctx, check, accessor) {
489
535
  throwAsync();
490
536
  return fakePayload.issues.length === 0 ? fakePayload.value : INVALID;
491
537
  };
492
- const helperConst = addConstant(ctx, helperFn);
538
+ const helperConst = addUserConstant(ctx, helperFn);
493
539
  const outVar = newVar(ctx);
494
540
  doc.write(`const ${outVar} = ${helperConst}(${accessor});`);
495
541
  doc.write(`if (${outVar} === INVALID) return INVALID;`);
@@ -531,8 +577,7 @@ const PATTERN_IS_COMPLETE = new Set([
531
577
  "uuid",
532
578
  "xid",
533
579
  ]);
534
- // Returns the accessor holding the (possibly normalized) value after the check — url/normalize formats produce a new value like overwrite does. Never assigns to the incoming accessor: it may be a `const` or a property expression on user input.
535
- function generateStringFormatCheck(doc, ctx, def, accessor) {
580
+ function generateStringFormatCheck(doc, ctx, def, accessor, needsValue = true) {
536
581
  // Some string formats do runtime validation beyond their advertised pattern. For cheap pure utility checks, hoist the runtime function and call it so the fast path stays correct without cloning the utility logic into codegen.
537
582
  const fmt = def.format;
538
583
  if (fmt === "base64") {
@@ -566,6 +611,11 @@ function generateStringFormatCheck(doc, ctx, def, accessor) {
566
611
  doc.write(`if (!${validator}(${accessor})) return INVALID;`);
567
612
  return accessor;
568
613
  }
614
+ if (fmt === "iban") {
615
+ const validator = addConstant(ctx, isValidIBAN);
616
+ doc.write(`if (!${validator}(${accessor})) return INVALID;`);
617
+ return accessor;
618
+ }
569
619
  const formatDef = def;
570
620
  if (fmt === "url" ||
571
621
  fmt === "httpurl" ||
@@ -573,7 +623,7 @@ function generateStringFormatCheck(doc, ctx, def, accessor) {
573
623
  formatDef.hostname !== undefined ||
574
624
  formatDef.protocol !== undefined) {
575
625
  // Same three predicates the runtime calls, in the same order, so there is no second URL implementation to drift. Which options exist is known now, so the calls the runtime makes conditionally are emitted conditionally instead.
576
- const parseConst = addConstant(ctx, parseURLObject);
626
+ const parseConst = addConstant(ctx, validateURL);
577
627
  const defConst = addConstant(ctx, def);
578
628
  const trimVar = newVar(ctx);
579
629
  const urlVar = newVar(ctx);
@@ -588,6 +638,8 @@ function generateStringFormatCheck(doc, ctx, def, accessor) {
588
638
  const protocolConst = addConstant(ctx, urlProtocolOk);
589
639
  doc.write(`if (!${protocolConst}(${urlVar}, ${defConst}.protocol)) return INVALID;`);
590
640
  }
641
+ if (!needsValue)
642
+ return null;
591
643
  const outputVar = newVar(ctx);
592
644
  const outputExpr = formatDef.normalize ? `${urlVar}.href` : `${addConstant(ctx, stripTabAndNewline)}(${trimVar})`;
593
645
  doc.write(`const ${outputVar} = ${outputExpr};`);
@@ -652,7 +704,7 @@ function generateCheck(doc, ctx, schema, accessor, needsValue = true) {
652
704
  let typeAccessor;
653
705
  switch (type) {
654
706
  case "string":
655
- typeAccessor = generateStringCheck(doc, ctx, schema, accessor);
707
+ typeAccessor = generateStringCheck(doc, ctx, schema, accessor, buildsValue);
656
708
  break;
657
709
  case "number":
658
710
  typeAccessor = generateNumberCheck(doc, schema, accessor);
@@ -781,13 +833,13 @@ function generateCheck(doc, ctx, schema, accessor, needsValue = true) {
781
833
  // Generate checks after the type-specific validation (may transform value)
782
834
  return generateChecks(doc, ctx, schema, typeAccessor);
783
835
  }
784
- function generateStringCheck(doc, ctx, schema, accessor) {
836
+ function generateStringCheck(doc, ctx, schema, accessor, needsValue = true) {
785
837
  doc.write(`if (typeof ${accessor} !== "string") return INVALID;`);
786
838
  // z.email() carries its format on the def, z.string().email() in def.checks; both route here so the format table has no second copy to drift from.
787
839
  const def = schema._zod.def;
788
840
  if (def.format === undefined)
789
841
  return accessor;
790
- return generateStringFormatCheck(doc, ctx, def, accessor);
842
+ return generateStringFormatCheck(doc, ctx, def, accessor, needsValue);
791
843
  }
792
844
  function generateNumberCheck(doc, schema, accessor) {
793
845
  // Runtime z.number() rejects NaN and ±Infinity. Number.isFinite covers both.
@@ -922,9 +974,9 @@ function generateObjectCheck(doc, ctx, schema, accessor, buildsValue = true) {
922
974
  }
923
975
  }
924
976
  // else: strip mode (no catchall) - unknown keys ignored, only include known keys
925
- // Shape keys in declared order, then unknown keys in for...in order. A middle-rung key is included iff present on the input, else iff its output is not undefined.
977
+ // defaulted required outputs keep their keys even when undefined
926
978
  const outputVar = newVar(ctx);
927
- const hasConditionalKeys = allKeys.some((k) => mayOutputUndefined(propShape[k]) || dropsWhenAbsent(propShape[k]));
979
+ const hasConditionalKeys = allKeys.some((k) => mayOmitUndefined(propShape[k]) || dropsWhenAbsent(propShape[k]));
928
980
  // Assert mode: every declared key is validated above, so the output literal and the unknown-key copy are pure waste. A `never` catchall already emitted its rejection loop; a schema catchall still has to validate the values it would otherwise have stored.
929
981
  if (!buildsValue) {
930
982
  if (unknownKeysMode === "schema") {
@@ -954,7 +1006,7 @@ function generateObjectCheck(doc, ctx, schema, accessor, buildsValue = true) {
954
1006
  if (dropsWhenAbsent(propShape[k])) {
955
1007
  doc.write(`if (${kx} in ${accessor}) ${outputVar}[${kx}] = ${out};`);
956
1008
  }
957
- else if (mayOutputUndefined(propShape[k])) {
1009
+ else if (mayOmitUndefined(propShape[k])) {
958
1010
  doc.write(`if (${out} !== undefined || ${kx} in ${accessor}) ${outputVar}[${kx}] = ${out};`);
959
1011
  }
960
1012
  else {
@@ -1097,9 +1149,10 @@ function fastPathAcceptsAbsence(schema) {
1097
1149
  function dropsWhenAbsent(schema) {
1098
1150
  return schema._zod.optin === "optional" && schema._zod.optout === "optional";
1099
1151
  }
1100
- // Whether a schema's success-path output can be `undefined`. Object output
1101
- // assembly gives such props the runtime's value-or-presence inclusion rule;
1102
- // everything else keeps the unconditional object-literal slot.
1152
+ function mayOmitUndefined(schema) {
1153
+ return (schema._zod.optin !== "defaulted" || schema._zod.optout === "optional") && mayOutputUndefined(schema);
1154
+ }
1155
+ // whether a schema's success-path output can be undefined
1103
1156
  function mayOutputUndefined(schema) {
1104
1157
  const def = schema._zod.def;
1105
1158
  switch (def.type) {
@@ -1437,7 +1490,7 @@ function generateDiscriminatedUnionCheck(doc, ctx, def, accessor) {
1437
1490
  if (!values || values.size === 0) {
1438
1491
  throw new ZodCompileUnsupportedError("discriminated union option without static discriminator values");
1439
1492
  }
1440
- // Two options claiming one value are not discriminable, and the branch chain below would silently give it to the first. Declining to compile hands that back to the interpreter, whose own map build reports it.
1493
+ // let the interpreter handle collisions instead of compiling first-match dispatch
1441
1494
  for (const value of values) {
1442
1495
  if (claimed.has(value)) {
1443
1496
  throw new ZodCompileUnsupportedError(`duplicate discriminator value ${String(value)}`);
@@ -1481,6 +1534,8 @@ function literalEquality(ctx, accessor, value) {
1481
1534
  }
1482
1535
  function generateIntersectionCheck(doc, ctx, schema, accessor) {
1483
1536
  const def = schema._zod.def;
1537
+ // An unmergeable merge, and a child failing before the merge is even reached, both return INVALID for a case the interpreter answers with a throw.
1538
+ ctx.definite = false;
1484
1539
  const leftOutput = compileChild(doc, ctx, def.left, accessor);
1485
1540
  const rightOutput = compileChild(doc, ctx, def.right, accessor);
1486
1541
  // Hoist the runtime merge helper so recursive object/array merge semantics stay in one place. If the merge is invalid, return INVALID and let the runtime fallback construct canonical errors.
@@ -1550,14 +1605,15 @@ function generateRecordCheck(doc, ctx, schema, accessor) {
1550
1605
  // The runtime runs it against each own enumerable key and writes the value
1551
1606
  // under the key it produced, so compile it once and call it per key.
1552
1607
  const isLoose = def.mode === "loose";
1553
- const keyFast = addConstant(ctx, compileFn(def.keyType));
1608
+ // the key compiles in its own context, so carry its verdict out: a key schema that can answer INVALID undecidably makes this validator undecidable too
1609
+ const keyFn = compileFn(def.keyType);
1610
+ if (keyFn.definite === false)
1611
+ ctx.definite = false;
1612
+ const keyFast = addConstant(ctx, keyFn);
1554
1613
  const numericConst = addConstant(ctx, regexes.number);
1555
- const propIsEnumerableConst = addConstant(ctx, Object.prototype.propertyIsEnumerable);
1556
1614
  const outKeyVar = newVar(ctx);
1557
- doc.write(`for (const ${kVar} of Reflect.ownKeys(${accessor})) {`);
1558
- doc.indented((d) => {
1559
- d.write(`if (${kVar} === "__proto__") continue;`);
1560
- d.write(`if (!${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`);
1615
+ // the body runs once per string key and once per symbol key, since a key schema can accept symbols
1616
+ emitOwnKeys(doc, ctx, accessor, kVar, (d) => {
1561
1617
  d.write(`let ${outKeyVar} = ${keyFast}(${kVar});`);
1562
1618
  // Numeric-string retry, mirroring the runtime: a key the schema rejects as a string is tried again as a number, so z.record(z.number(), …) matches the numeric keys JavaScript stringified on the way in.
1563
1619
  d.write(`if (${outKeyVar} === INVALID && typeof ${kVar} === "string" && ${numericConst}.test(${kVar})) ${outKeyVar} = ${keyFast}(Number(${kVar}));`);
@@ -1576,22 +1632,41 @@ function generateRecordCheck(doc, ctx, schema, accessor) {
1576
1632
  const valOutput = compileChild(d, ctx, def.valueType, valueVar);
1577
1633
  d.write(`${outputVar}[${outKeyVar}] = ${valOutput};`);
1578
1634
  });
1579
- doc.write(`}`);
1580
1635
  return outputVar;
1581
1636
  }
1582
- // Plain z.string() keys: iterate enumerable own keys and validate each value. Runtime uses Reflect.ownKeys so symbol keys participate in validation; matching that here prevents silently accepting objects with enumerable Symbol keys under z.record(z.string(), ...).
1583
- const propIsEnumerable = addConstant(ctx, Object.prototype.propertyIsEnumerable);
1584
- doc.write(`for (const ${kVar} of Reflect.ownKeys(${accessor})) {`);
1585
- doc.indented((d) => {
1586
- d.write(`if (${kVar} === "__proto__") continue;`);
1587
- d.write(`if (!${propIsEnumerable}.call(${accessor}, ${kVar})) continue;`);
1588
- d.write(`if (typeof ${kVar} !== "string") return INVALID;`);
1637
+ // Plain z.string() keys: every own enumerable string key's value is validated, and an own enumerable symbol key fails the string key schema, as it does in the runtime's Reflect.ownKeys walk.
1638
+ emitOwnKeys(doc, ctx, accessor, kVar, (d) => {
1589
1639
  d.write(`const ${valVar} = ${accessor}[${kVar}];`);
1590
1640
  const valOutput = compileChild(d, ctx, def.valueType, valVar);
1591
1641
  d.write(`${outputVar}[${kVar}] = ${valOutput};`);
1642
+ }, `return INVALID;`);
1643
+ return outputVar;
1644
+ }
1645
+ // Walks the own enumerable keys of a plain object in Reflect.ownKeys order — strings from getOwnPropertyNames, then symbols — instead of Reflect.ownKeys, whose accumulator made that walk 3–6x the cost of the loop it fed. Both snapshots are taken before any value is read and every key is rechecked with propertyIsEnumerable when visited, exactly the runtime's walk, so a getter that adds, deletes, hides or reveals a key mid-walk sees the runtime's verdict; for-in and Object.keys were no faster and each lost a case (for-in enumerates the prototype chain after the own keys, Object.keys drops a key that is non-enumerable at snapshot time). `body` is written once for the string loop and once for the symbol loop unless `onSymbol` replaces the latter.
1646
+ function emitOwnKeys(doc, ctx, accessor, kVar, body, onSymbol) {
1647
+ const propIsEnumerableConst = addConstant(ctx, Object.prototype.propertyIsEnumerable);
1648
+ const symsVar = newVar(ctx);
1649
+ const keysVar = newVar(ctx);
1650
+ const iVar = newVar(ctx);
1651
+ doc.write(`const ${symsVar} = Object.getOwnPropertySymbols(${accessor});`);
1652
+ doc.write(`const ${keysVar} = Object.getOwnPropertyNames(${accessor});`);
1653
+ doc.write(`for (let ${iVar} = 0; ${iVar} < ${keysVar}.length; ${iVar}++) {`);
1654
+ doc.indented((d) => {
1655
+ d.write(`const ${kVar} = ${keysVar}[${iVar}];`);
1656
+ d.write(`if (${kVar} === "__proto__" || !${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`);
1657
+ body(d);
1658
+ });
1659
+ doc.write(`}`);
1660
+ doc.write(`for (let ${iVar} = 0; ${iVar} < ${symsVar}.length; ${iVar}++) {`);
1661
+ doc.indented((d) => {
1662
+ d.write(`const ${kVar} = ${symsVar}[${iVar}];`);
1663
+ d.write(`if (!${propIsEnumerableConst}.call(${accessor}, ${kVar})) continue;`);
1664
+ if (onSymbol)
1665
+ d.write(onSymbol);
1666
+ else
1667
+ body(d);
1592
1668
  });
1593
1669
  doc.write(`}`);
1594
- return outputVar;
1595
1670
  }
1596
1671
  function literalPropertyKey(ctx, key) {
1597
1672
  if (typeof key === "string")
@@ -1647,7 +1722,7 @@ function generateTemplateLiteralCheck(doc, ctx, schema, accessor) {
1647
1722
  function generateLazyCheck(doc, ctx, schema, accessor) {
1648
1723
  // For lazy schemas, we use a cached parser that falls back to runtime Zod parsing This handles recursive schemas correctly by avoiding infinite compilation loops
1649
1724
  const def = schema._zod.def;
1650
- const getterConst = addConstant(ctx, def.getter);
1725
+ const getterConst = addUserConstant(ctx, def.getter);
1651
1726
  const cacheConst = addConstant(ctx, { parser: null });
1652
1727
  doc.write(`if (!${cacheConst}.parser) {`);
1653
1728
  doc.indented((d) => {
@@ -1671,7 +1746,7 @@ function generatePipeCheck(doc, ctx, schema, accessor) {
1671
1746
  // Validate input type first
1672
1747
  const inputOutput = generateCheck(doc, ctx, def.in, accessor);
1673
1748
  if (def.transform) {
1674
- // Apply transform and validate output. The transform may read its second `payload` argument (codec transforms like z.stringbool() push issues there) so wrap the call in a helper that spoofs a payload. Pushed issues signal INVALID and the wrapper falls back to the runtime.
1749
+ // Apply transform and validate output. The transform may read its second `payload` argument (codec transforms like z.stringbool() push issues there) so wrap the call in a helper that spoofs a payload. Pushed issues signal INVALID and the wrapper falls back to the runtime, and a plain function handing back a promise answers INVALID too — union parity, but not a decidable rejection at the top level.
1675
1750
  if (isAsyncFunction(def.transform)) {
1676
1751
  throw new ZodCompileAsyncError("z.compile: async transforms in pipes are not supported");
1677
1752
  }
@@ -1685,7 +1760,7 @@ function generatePipeCheck(doc, ctx, schema, accessor) {
1685
1760
  return INVALID;
1686
1761
  return fakePayload.issues.length === 0 ? result : INVALID;
1687
1762
  };
1688
- const helperConst = addConstant(ctx, helperFn);
1763
+ const helperConst = addUserConstant(ctx, helperFn);
1689
1764
  const transformedVar = newVar(ctx);
1690
1765
  doc.write(`const ${transformedVar} = ${helperConst}(${inputOutput});`);
1691
1766
  doc.write(`if (${transformedVar} === INVALID) return INVALID;`);
@@ -1709,7 +1784,7 @@ function generateCustomCheck(doc, ctx, schema, accessor) {
1709
1784
  throw new ZodCompileAsyncError("z.compile: async custom predicates are not supported");
1710
1785
  }
1711
1786
  // Custom schema with a predicate function (e.g. z.instanceof). `isAsyncFunction` above is syntactic, so a plain function returning a promise reaches here, and a promise is truthy — it would read as a pass where the interpreter throws.
1712
- const fnConst = addConstant(ctx, def.fn);
1787
+ const fnConst = addUserConstant(ctx, def.fn);
1713
1788
  const throwAsyncConst = addConstant(ctx, throwAsync);
1714
1789
  const resVar = newVar(ctx);
1715
1790
  doc.write(`const ${resVar} = ${fnConst}(${accessor});`);
@@ -1746,7 +1821,7 @@ function generateCatchCheck(doc, ctx, schema, accessor) {
1746
1821
  });
1747
1822
  doc.write(`})();`);
1748
1823
  const innerConst = addConstant(ctx, def.innerType);
1749
- const catchConst = addConstant(ctx, def.catchValue);
1824
+ const catchConst = addUserConstant(ctx, def.catchValue);
1750
1825
  const catchHelperConst = addConstant(ctx, runtimeCatch);
1751
1826
  doc.write(`if (${outputVar} === INVALID) {`);
1752
1827
  doc.indented((d) => {
@@ -1773,7 +1848,7 @@ function generateTransformCheck(doc, ctx, schema, accessor) {
1773
1848
  return INVALID;
1774
1849
  return fakePayload.issues.length === 0 ? result : INVALID;
1775
1850
  };
1776
- const helperConst = addConstant(ctx, helperFn);
1851
+ const helperConst = addUserConstant(ctx, helperFn);
1777
1852
  const outputVar = newVar(ctx);
1778
1853
  doc.write(`const ${outputVar} = ${helperConst}(${accessor});`);
1779
1854
  doc.write(`if (${outputVar} === INVALID) return INVALID;`);
@@ -63,7 +63,7 @@ proto, params) {
63
63
  _zodDesc.value = undefined;
64
64
  }
65
65
  }
66
- if (inst._zod.traits.has(name)) {
66
+ else if (inst._zod.traits.has(name)) {
67
67
  return;
68
68
  }
69
69
  inst._zod.traits.add(name);
@@ -146,3 +146,22 @@ function config(newConfig) {
146
146
  Object.assign(exports.globalConfig, newConfig);
147
147
  return exports.globalConfig;
148
148
  }
149
+
150
+ // seal-cjs-exports
151
+ (function () {
152
+ var keys = Object.getOwnPropertyNames(exports);
153
+ for (var i = 0; i < keys.length; i++) {
154
+ var desc = Object.getOwnPropertyDescriptor(exports, keys[i]);
155
+ if (!desc || !desc.get || !desc.configurable) continue;
156
+ var value;
157
+ try {
158
+ value = desc.get();
159
+ } catch (e) {
160
+ continue;
161
+ }
162
+ // a circular require may not have settled this one yet, so leave it live
163
+ if (value === undefined) continue;
164
+ Object.defineProperty(exports, keys[i], { value: value, writable: false, enumerable: desc.enumerable, configurable: false });
165
+ }
166
+ Object.freeze(exports);
167
+ })();
@@ -58,7 +58,7 @@ proto, params) {
58
58
  _zodDesc.value = undefined;
59
59
  }
60
60
  }
61
- if (inst._zod.traits.has(name)) {
61
+ else if (inst._zod.traits.has(name)) {
62
62
  return;
63
63
  }
64
64
  inst._zod.traits.add(name);
@@ -8,10 +8,15 @@ class Doc {
8
8
  this.args = args;
9
9
  this.closed = closed;
10
10
  }
11
+ // the compiler catches a child's throw and keeps writing into this doc, so the indent has to unwind with it
11
12
  indented(fn) {
12
13
  this.indent += 1;
13
- fn(this);
14
- this.indent -= 1;
14
+ try {
15
+ fn(this);
16
+ }
17
+ finally {
18
+ this.indent -= 1;
19
+ }
15
20
  }
16
21
  write(arg) {
17
22
  if (typeof arg === "function") {
@@ -35,3 +40,22 @@ class Doc {
35
40
  }
36
41
  }
37
42
  exports.Doc = Doc;
43
+
44
+ // seal-cjs-exports
45
+ (function () {
46
+ var keys = Object.getOwnPropertyNames(exports);
47
+ for (var i = 0; i < keys.length; i++) {
48
+ var desc = Object.getOwnPropertyDescriptor(exports, keys[i]);
49
+ if (!desc || !desc.get || !desc.configurable) continue;
50
+ var value;
51
+ try {
52
+ value = desc.get();
53
+ } catch (e) {
54
+ continue;
55
+ }
56
+ // a circular require may not have settled this one yet, so leave it live
57
+ if (value === undefined) continue;
58
+ Object.defineProperty(exports, keys[i], { value: value, writable: false, enumerable: desc.enumerable, configurable: false });
59
+ }
60
+ Object.freeze(exports);
61
+ })();
@@ -5,10 +5,15 @@ export class Doc {
5
5
  this.args = args;
6
6
  this.closed = closed;
7
7
  }
8
+ // the compiler catches a child's throw and keeps writing into this doc, so the indent has to unwind with it
8
9
  indented(fn) {
9
10
  this.indent += 1;
10
- fn(this);
11
- this.indent -= 1;
11
+ try {
12
+ fn(this);
13
+ }
14
+ finally {
15
+ this.indent -= 1;
16
+ }
12
17
  }
13
18
  write(arg) {
14
19
  if (typeof arg === "function") {
@@ -51,7 +51,6 @@ const _messageDesc = {
51
51
  enumerable: true,
52
52
  configurable: true,
53
53
  };
54
- const _zodDesc = { value: undefined, enumerable: false };
55
54
  const _issuesDesc = { value: undefined, enumerable: false };
56
55
  /* Prototypes that already carry the lazy `toString`. Seeded with the
57
56
  * intrinsics so that `init` on a foreign object — it accepts any object —
@@ -59,12 +58,10 @@ const _issuesDesc = { value: undefined, enumerable: false };
59
58
  const _installedToString = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]);
60
59
  const initializer = (inst, def) => {
61
60
  inst.name = "$ZodError";
62
- _zodDesc.value = inst._zod;
63
- Object.defineProperty(inst, "_zod", _zodDesc);
61
+ // `_zod` is already non-enumerable: $constructor's init defined it with this same descriptor
64
62
  _issuesDesc.value = def;
65
63
  Object.defineProperty(inst, "issues", _issuesDesc);
66
- // Clear the shared slots; a retained `value` pins the last error's issues.
67
- _zodDesc.value = undefined;
64
+ // Clear the shared slot; a retained `value` pins the last error's issues.
68
65
  _issuesDesc.value = undefined;
69
66
  Object.defineProperty(inst, "message", _messageDesc);
70
67
  /* `toString` lives as a non-enumerable lazy getter on the shared
@@ -299,3 +296,22 @@ function prettifyError(error) {
299
296
  // Convert Map to formatted string
300
297
  return lines.join("\n");
301
298
  }
299
+
300
+ // seal-cjs-exports
301
+ (function () {
302
+ var keys = Object.getOwnPropertyNames(exports);
303
+ for (var i = 0; i < keys.length; i++) {
304
+ var desc = Object.getOwnPropertyDescriptor(exports, keys[i]);
305
+ if (!desc || !desc.get || !desc.configurable) continue;
306
+ var value;
307
+ try {
308
+ value = desc.get();
309
+ } catch (e) {
310
+ continue;
311
+ }
312
+ // a circular require may not have settled this one yet, so leave it live
313
+ if (value === undefined) continue;
314
+ Object.defineProperty(exports, keys[i], { value: value, writable: false, enumerable: desc.enumerable, configurable: false });
315
+ }
316
+ Object.freeze(exports);
317
+ })();
@@ -20,7 +20,6 @@ const _messageDesc = {
20
20
  enumerable: true,
21
21
  configurable: true,
22
22
  };
23
- const _zodDesc = { value: undefined, enumerable: false };
24
23
  const _issuesDesc = { value: undefined, enumerable: false };
25
24
  /* Prototypes that already carry the lazy `toString`. Seeded with the
26
25
  * intrinsics so that `init` on a foreign object — it accepts any object —
@@ -28,12 +27,10 @@ const _issuesDesc = { value: undefined, enumerable: false };
28
27
  const _installedToString = /* @__PURE__ */ new WeakSet([Object.prototype, Error.prototype]);
29
28
  const initializer = (inst, def) => {
30
29
  inst.name = "$ZodError";
31
- _zodDesc.value = inst._zod;
32
- Object.defineProperty(inst, "_zod", _zodDesc);
30
+ // `_zod` is already non-enumerable: $constructor's init defined it with this same descriptor
33
31
  _issuesDesc.value = def;
34
32
  Object.defineProperty(inst, "issues", _issuesDesc);
35
- // Clear the shared slots; a retained `value` pins the last error's issues.
36
- _zodDesc.value = undefined;
33
+ // Clear the shared slot; a retained `value` pins the last error's issues.
37
34
  _issuesDesc.value = undefined;
38
35
  Object.defineProperty(inst, "message", _messageDesc);
39
36
  /* `toString` lives as a non-enumerable lazy getter on the shared
@@ -49,3 +49,22 @@ Object.defineProperty(exports, "toJSONSchema", { enumerable: true, get: function
49
49
  var json_schema_generator_js_1 = require("./json-schema-generator.cjs");
50
50
  Object.defineProperty(exports, "JSONSchemaGenerator", { enumerable: true, get: function () { return json_schema_generator_js_1.JSONSchemaGenerator; } });
51
51
  exports.JSONSchema = __importStar(require("./json-schema.cjs"));
52
+
53
+ // seal-cjs-exports
54
+ (function () {
55
+ var keys = Object.getOwnPropertyNames(exports);
56
+ for (var i = 0; i < keys.length; i++) {
57
+ var desc = Object.getOwnPropertyDescriptor(exports, keys[i]);
58
+ if (!desc || !desc.get || !desc.configurable) continue;
59
+ var value;
60
+ try {
61
+ value = desc.get();
62
+ } catch (e) {
63
+ continue;
64
+ }
65
+ // a circular require may not have settled this one yet, so leave it live
66
+ if (value === undefined) continue;
67
+ Object.defineProperty(exports, keys[i], { value: value, writable: false, enumerable: desc.enumerable, configurable: false });
68
+ }
69
+ Object.freeze(exports);
70
+ })();