@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
@@ -1,7 +1,7 @@
1
1
  import * as checks from "./checks.js";
2
2
  import * as core from "./core.js";
3
3
  import { Doc } from "./doc.js";
4
- import { parse, parseAsync, safeParse, safeParseAsync } from "./parse.js";
4
+ import { parse, parseAsync } from "./parse.js";
5
5
  import * as regexes from "./regexes.js";
6
6
  import * as util from "./util.js";
7
7
  import { version } from "./versions.js";
@@ -128,16 +128,24 @@ export const $ZodType = /*@__PURE__*/ core.$constructor("$ZodType", (inst, def)
128
128
  },
129
129
  });
130
130
  /** The Standard Schema surface for `inst`. Shared so wrappers can extend it without forcing it. */
131
- const toStandardResult = (r) => r.success ? { value: r.data } : { issues: r.error?.issues };
131
+ // a Standard Schema result only reports issues, so a failure finalizes them straight off the raw payload: no ZodError, and no lazy result to read through
132
+ const toStandardResult = (r, ctx) => r.issues.length ? { issues: r.issues.map((iss) => util.finalizeIssue(iss, ctx, core.config())) } : { value: r.value };
133
+ async function validateAsync(inst, value) {
134
+ const ctx = { async: true };
135
+ return toStandardResult((await inst._zod.run({ value, issues: [] }, ctx)), ctx);
136
+ }
132
137
  export function standardProps(inst) {
133
138
  return {
134
139
  validate: (value) => {
140
+ const ctx = { async: false };
135
141
  try {
136
- return toStandardResult(safeParse(inst, value));
137
- }
138
- catch (_) {
139
- return safeParseAsync(inst, value).then(toStandardResult);
142
+ const r = inst._zod.run({ value, issues: [] }, ctx);
143
+ if (!(r instanceof Promise))
144
+ return toStandardResult(r, ctx);
140
145
  }
146
+ catch (_) { }
147
+ // async function so a synchronously throwing check rejects instead of escaping validate
148
+ return validateAsync(inst, value);
141
149
  },
142
150
  vendor: "zod",
143
151
  version: 1,
@@ -146,7 +154,8 @@ export function standardProps(inst) {
146
154
  export { clone } from "./util.js";
147
155
  export const $ZodString = /*@__PURE__*/ core.$constructor("$ZodString", (inst, def) => {
148
156
  $ZodType.init(inst, def);
149
- inst._zod.pattern = [...(inst?._zod.bag?.patterns ?? [])].pop() ?? regexes.string(inst._zod.bag);
157
+ // a format's own pattern, else unbounded; a template literal derives the check-aware form itself
158
+ inst._zod.pattern = def.pattern ?? regexes.anyString;
150
159
  inst._zod.parse = (payload, _) => {
151
160
  if (def.coerce)
152
161
  try {
@@ -200,15 +209,37 @@ export const $ZodEmail = /*@__PURE__*/ core.$constructor("$ZodEmail", (inst, def
200
209
  });
201
210
  /** The `://` guard rejected the input before the URL constructor saw it. */
202
211
  export const URL_BAD_FORMAT = 1;
203
- /** The URL constructor rejected the input. */
212
+ /** The URL parser rejected the input. */
204
213
  export const URL_UNPARSEABLE = 2;
205
- /** Parses a URL for `$ZodURL`, applying the one guard the URL constructor cannot express. Returns the parsed URL, or a code naming the stage that rejected it — the runtime needs that distinction to pick an issue note, and compiled code only needs to know it is not a URL. */
214
+ export function canParseURL(input) {
215
+ try {
216
+ if (typeof URL !== "undefined" && typeof URL.canParse === "function")
217
+ return URL.canParse(input);
218
+ new URL(input);
219
+ return true;
220
+ }
221
+ catch {
222
+ return false;
223
+ }
224
+ }
225
+ export function validateURL(trimmed, def) {
226
+ if (!("normalize" in def) && !("hostname" in def) && !("protocol" in def)) {
227
+ return canParseURL(trimmed) || URL_UNPARSEABLE;
228
+ }
229
+ return parseURLObject(trimmed, def);
230
+ }
231
+ /** Parses a URL while preserving the non-normalizing HTTP guard. */
206
232
  export function parseURLObject(trimmed, def) {
207
233
  // When normalize is off, require :// for http/https URLs. This prevents strings like "http:example.com" or "https:/path" from being silently accepted
208
234
  if (!def.normalize && def.protocol?.source === regexes.httpProtocol.source && !/^https?:\/\//i.test(trimmed)) {
209
235
  return URL_BAD_FORMAT;
210
236
  }
211
237
  try {
238
+ if (typeof URL !== "undefined") {
239
+ const URLStatic = URL;
240
+ if (typeof URLStatic.parse === "function")
241
+ return URLStatic.parse(trimmed) ?? URL_UNPARSEABLE;
242
+ }
212
243
  // @ts-ignore
213
244
  return new URL(trimmed);
214
245
  }
@@ -235,7 +266,7 @@ export const $ZodURL = /*@__PURE__*/ core.$constructor("$ZodURL", (inst, def) =>
235
266
  try {
236
267
  // Trim whitespace from input
237
268
  const trimmed = payload.value.trim();
238
- const url = parseURLObject(trimmed, def);
269
+ const url = validateURL(trimmed, def);
239
270
  if (url === URL_BAD_FORMAT) {
240
271
  payload.issues.push({
241
272
  code: "invalid_format",
@@ -257,6 +288,10 @@ export const $ZodURL = /*@__PURE__*/ core.$constructor("$ZodURL", (inst, def) =>
257
288
  });
258
289
  return;
259
290
  }
291
+ if (url === true) {
292
+ payload.value = stripTabAndNewline(trimmed);
293
+ return;
294
+ }
260
295
  if (def.hostname && !urlHostnameOk(url, def.hostname)) {
261
296
  payload.issues.push({
262
297
  code: "invalid_format",
@@ -332,13 +367,6 @@ export const $ZodKSUID = /*@__PURE__*/ core.$constructor("$ZodKSUID", (inst, def
332
367
  export const $ZodISODateTime = /*@__PURE__*/ core.$constructor("$ZodISODateTime", (inst, def) => {
333
368
  def.pattern ?? (def.pattern = regexes.datetime(def));
334
369
  $ZodStringFormat.init(inst, def);
335
- // these two drop the offset or seconds `date-time` requires — on the bag not the def, since `z.string().check(...)` lands the format on a different schema
336
- if (def.local || def.precision === -1) {
337
- inst._zod.bag.laxFormat = true;
338
- inst._zod.onattach.push((s) => {
339
- s._zod.bag.laxFormat = true;
340
- });
341
- }
342
370
  });
343
371
  export const $ZodISODate = /*@__PURE__*/ core.$constructor("$ZodISODate", (inst, def) => {
344
372
  def.pattern ?? (def.pattern = regexes.date);
@@ -355,26 +383,17 @@ export const $ZodISODuration = /*@__PURE__*/ core.$constructor("$ZodISODuration"
355
383
  export const $ZodIPv4 = /*@__PURE__*/ core.$constructor("$ZodIPv4", (inst, def) => {
356
384
  def.pattern ?? (def.pattern = regexes.ipv4);
357
385
  $ZodStringFormat.init(inst, def);
358
- inst._zod.bag.format = `ipv4`;
359
386
  });
360
387
  /** An IPv6 address is written with hex digits, colons and dots, and nothing else. The guard is what makes the check below an IPv6 check: `new URL("http://[...]")` parses an authority, not an address, so `@` and `\` re-delimit it and `"::@1\\"` validates against the host `0.0.0.1`. The URL parser also deletes ASCII tab, LF and CR rather than failing, which is how `"::1\n"` validated as `::1`. */
361
388
  const ipv6Alphabet = /^[0-9a-fA-F:.]+$/;
362
389
  export function isValidIPv6(value) {
363
390
  if (!ipv6Alphabet.test(value))
364
391
  return false;
365
- try {
366
- // @ts-ignore
367
- new URL(`http://[${value}]`);
368
- return true;
369
- }
370
- catch {
371
- return false;
372
- }
392
+ return canParseURL(`http://[${value}]`);
373
393
  }
374
394
  export const $ZodIPv6 = /*@__PURE__*/ core.$constructor("$ZodIPv6", (inst, def) => {
375
395
  def.pattern ?? (def.pattern = regexes.ipv6);
376
396
  $ZodStringFormat.init(inst, def);
377
- inst._zod.bag.format = `ipv6`;
378
397
  inst._zod.check = (payload) => {
379
398
  if (!isValidIPv6(payload.value)) {
380
399
  payload.issues.push({
@@ -390,7 +409,6 @@ export const $ZodIPv6 = /*@__PURE__*/ core.$constructor("$ZodIPv6", (inst, def)
390
409
  export const $ZodMAC = /*@__PURE__*/ core.$constructor("$ZodMAC", (inst, def) => {
391
410
  def.pattern ?? (def.pattern = regexes.mac(def.delimiter));
392
411
  $ZodStringFormat.init(inst, def);
393
- inst._zod.bag.format = `mac`;
394
412
  });
395
413
  export const $ZodCIDRv4 = /*@__PURE__*/ core.$constructor("$ZodCIDRv4", (inst, def) => {
396
414
  def.pattern ?? (def.pattern = regexes.cidrv4);
@@ -443,10 +461,11 @@ export function isValidBase64(data) {
443
461
  return false;
444
462
  }
445
463
  }
464
+ // lax on purpose: the quantified regexes.base64 overflows the regex stack on multi-MB input and its leading ^$| alternation leaks through template-literal composition; isValidBase64 enforces length and padding
465
+ export const base64Charset = /^[0-9a-zA-Z+/]*={0,2}$/;
446
466
  export const $ZodBase64 = /*@__PURE__*/ core.$constructor("$ZodBase64", (inst, def) => {
447
- def.pattern ?? (def.pattern = regexes.base64);
467
+ def.pattern ?? (def.pattern = base64Charset);
448
468
  $ZodStringFormat.init(inst, def);
449
- inst._zod.bag.contentEncoding = "base64";
450
469
  inst._zod.check = (payload) => {
451
470
  if (isValidBase64(payload.value))
452
471
  return;
@@ -459,18 +478,19 @@ export const $ZodBase64 = /*@__PURE__*/ core.$constructor("$ZodBase64", (inst, d
459
478
  });
460
479
  };
461
480
  });
462
- ////////////////////////////// ZodBase64 //////////////////////////////
481
+ ////////////////////////////// ZodBase64URL //////////////////////////////
482
+ // lax on purpose: the quantified regexes.base64url overflows the regex stack on multi-MB input; isValidBase64 enforces length on the padded string
483
+ export const base64urlCharset = /^[A-Za-z0-9_-]*$/;
463
484
  export function isValidBase64URL(data) {
464
- if (!regexes.base64url.test(data))
485
+ if (!base64urlCharset.test(data))
465
486
  return false;
466
487
  const base64 = data.replace(/[-_]/g, (c) => (c === "-" ? "+" : "/"));
467
488
  const padded = base64.padEnd(Math.ceil(base64.length / 4) * 4, "=");
468
489
  return isValidBase64(padded);
469
490
  }
470
491
  export const $ZodBase64URL = /*@__PURE__*/ core.$constructor("$ZodBase64URL", (inst, def) => {
471
- def.pattern ?? (def.pattern = regexes.base64url);
492
+ def.pattern ?? (def.pattern = base64urlCharset);
472
493
  $ZodStringFormat.init(inst, def);
473
- inst._zod.bag.contentEncoding = "base64url";
474
494
  inst._zod.check = (payload) => {
475
495
  if (isValidBase64URL(payload.value))
476
496
  return;
@@ -495,7 +515,7 @@ function isLuhnAlgo(digits) {
495
515
  let bit = 1;
496
516
  let sum = 0;
497
517
  while (length) {
498
- const value = +digits[--length];
518
+ const value = digits.charCodeAt(--length) - 48;
499
519
  bit ^= 1;
500
520
  sum += bit ? [0, 2, 4, 6, 8, 1, 3, 5, 7, 9][value] : value;
501
521
  }
@@ -522,6 +542,42 @@ export const $ZodCreditCard = /*@__PURE__*/ core.$constructor("$ZodCreditCard",
522
542
  });
523
543
  };
524
544
  });
545
+ ////////////////////////////// ZodIBAN //////////////////////////////
546
+ // iso 7064 mod 97-10 checksum without BigInt
547
+ function isIso7064Mod97(iban) {
548
+ let remainder = 0;
549
+ const len = iban.length;
550
+ for (let i = 4; i < len; i++) {
551
+ const code = iban.charCodeAt(i);
552
+ remainder = (code >= 65 ? remainder * 100 + (code - 55) : remainder * 10 + (code - 48)) % 97;
553
+ }
554
+ for (let i = 0; i < 4; i++) {
555
+ const code = iban.charCodeAt(i);
556
+ remainder = (code >= 65 ? remainder * 100 + (code - 55) : remainder * 10 + (code - 48)) % 97;
557
+ }
558
+ return remainder === 1;
559
+ }
560
+ export function isValidIBAN(input) {
561
+ if (!regexes.iban.test(input))
562
+ return false;
563
+ return isIso7064Mod97(input);
564
+ }
565
+ export const $ZodIBAN = /*@__PURE__*/ core.$constructor("$ZodIBAN", (inst, def) => {
566
+ // shape only — checksum is not expressible as a pattern
567
+ def.pattern ?? (def.pattern = regexes.iban);
568
+ $ZodStringFormat.init(inst, def);
569
+ inst._zod.check = (payload) => {
570
+ if (isValidIBAN(payload.value))
571
+ return;
572
+ payload.issues.push({
573
+ code: "invalid_format",
574
+ format: "iban",
575
+ input: payload.value,
576
+ inst,
577
+ continue: !def.abort,
578
+ });
579
+ };
580
+ });
525
581
  ////////////////////////////// ZodJWT //////////////////////////////
526
582
  export function isValidJWT(token, algorithm = null) {
527
583
  try {
@@ -575,7 +631,7 @@ export const $ZodCustomStringFormat = /*@__PURE__*/ core.$constructor("$ZodCusto
575
631
  });
576
632
  export const $ZodNumber = /*@__PURE__*/ core.$constructor("$ZodNumber", (inst, def) => {
577
633
  $ZodType.init(inst, def);
578
- inst._zod.pattern = inst._zod.bag.pattern ?? regexes.number;
634
+ inst._zod.pattern = regexes.number;
579
635
  inst._zod.parse = (payload, _ctx) => {
580
636
  if (def.coerce)
581
637
  try {
@@ -783,6 +839,7 @@ export const $ZodArray = /*@__PURE__*/ core.$constructor("$ZodArray", (inst, def
783
839
  }
784
840
  payload.value = memo ? memo.alloc(inst, payload, Array(input.length), ctx) : Array(input.length);
785
841
  const proms = [];
842
+ const abortEarly = ctx?.abortEarly;
786
843
  for (let i = 0; i < input.length; i++) {
787
844
  const item = input[i];
788
845
  const result = def.element._zod.run({
@@ -794,6 +851,9 @@ export const $ZodArray = /*@__PURE__*/ core.$constructor("$ZodArray", (inst, def
794
851
  }
795
852
  else {
796
853
  handleArrayResult(result, payload, i);
854
+ // the element's payload is authoritative here, since handleArrayResult forwards every issue; an object's is not, because it drops a failed absent optional
855
+ if (abortEarly && result.issues.length !== 0 && util.aborted(result))
856
+ break;
797
857
  }
798
858
  }
799
859
  if (proms.length) {
@@ -828,7 +888,7 @@ function handlePropertyResult(result, final, key, input, optin, optout) {
828
888
  return;
829
889
  }
830
890
  if (result.value === undefined) {
831
- if (isPresent) {
891
+ if (isPresent || (optin === "defaulted" && !isOptionalOut)) {
832
892
  final.value[key] = undefined;
833
893
  }
834
894
  }
@@ -860,14 +920,21 @@ function normalizeDef(def) {
860
920
  optionalKeys: new Set(okeys),
861
921
  };
862
922
  }
863
- function handleCatchall(proms, input, payload, ctx, def, inst) {
923
+ function handleCatchall(proms, input, payload, ctx, def, inst, abortEarly) {
864
924
  const unrecognized = [];
865
925
  const keySet = def.keySet;
866
926
  const _catchall = def.catchall._zod;
867
927
  const t = _catchall.def.type;
868
928
  const optin = _catchall.optin;
869
929
  const optout = _catchall.optout;
930
+ // starts at 0, not the current length: the shape phase already ran and may have aborted
931
+ let seen = 0;
870
932
  for (const key in input) {
933
+ if (abortEarly && payload.issues.length !== seen) {
934
+ if (util.aborted(payload, seen))
935
+ break;
936
+ seen = payload.issues.length;
937
+ }
871
938
  // Must precede the __proto__ branch: a declared key is not unrecognized, even though the shape loop deliberately strips __proto__ from the parsed output.
872
939
  if (keySet.has(key))
873
940
  continue;
@@ -905,26 +972,22 @@ function handleCatchall(proms, input, payload, ctx, def, inst) {
905
972
  return payload;
906
973
  });
907
974
  }
908
- // Whichever object a def's `shape` currently answers from: the one the caller passed until the first read, the frozen copy after it. Keyed by def, so a def rebuilt by a builder is simply absent rather than inheriting the source's. Read its keys with `Object.keys`, which does not invoke them — that is what lets a discriminated union check its discriminator without resolving an option whose getters reference the union being constructed.
909
- const propShapes = new WeakMap();
910
975
  export const $ZodObject = /*@__PURE__*/ core.$constructor("$ZodObject", (inst, def) => {
911
976
  // requires cast because technically $ZodObject doesn't extend
912
977
  $ZodType.init(inst, def);
913
- // const sh = def.shape;
914
978
  const desc = Object.getOwnPropertyDescriptor(def, "shape");
915
- if (!desc?.get) {
916
- const sh = def.shape;
917
- propShapes.set(def, sh);
918
- Object.defineProperty(def, "shape", {
919
- get: () => {
920
- const newSh = { ...sh };
921
- Object.defineProperty(def, "shape", {
922
- value: newSh,
923
- });
924
- propShapes.set(def, newSh);
925
- return newSh;
926
- },
927
- });
979
+ // a cloned def carries its source's accessor, which knows the shape it answers from; adopting that keeps the clone's keys readable without running it
980
+ const sh = desc?.get ? desc.get.raw : (def.shape ?? {});
981
+ if (sh) {
982
+ // Freezes the shape on first read, so its getters resolve once and every later read sees the same schemas.
983
+ const get = () => {
984
+ const newSh = { ...sh };
985
+ Object.defineProperty(def, "shape", { value: newSh });
986
+ get.raw = newSh;
987
+ return newSh;
988
+ };
989
+ get.raw = sh;
990
+ Object.defineProperty(def, "shape", { get });
928
991
  }
929
992
  const _normalized = util.cached(() => normalizeDef(def));
930
993
  util.defineLazyInternal(inst, "propValues", (zod) => {
@@ -965,7 +1028,14 @@ export const $ZodObject = /*@__PURE__*/ core.$constructor("$ZodObject", (inst, d
965
1028
  payload.value = memo ? memo.alloc(inst, payload, {}, ctx) : {};
966
1029
  const proms = [];
967
1030
  const shape = value.shape;
1031
+ const abortEarly = ctx?.abortEarly;
1032
+ let seen = payload.issues.length;
968
1033
  for (const key of value.allKeys) {
1034
+ if (abortEarly && payload.issues.length !== seen) {
1035
+ if (util.aborted(payload, seen))
1036
+ break;
1037
+ seen = payload.issues.length;
1038
+ }
969
1039
  if (key === "__proto__")
970
1040
  continue;
971
1041
  const el = shape[key];
@@ -982,7 +1052,7 @@ export const $ZodObject = /*@__PURE__*/ core.$constructor("$ZodObject", (inst, d
982
1052
  if (!catchall) {
983
1053
  return proms.length ? Promise.all(proms).then(() => payload) : payload;
984
1054
  }
985
- return handleCatchall(proms, input, payload, ctx, _normalized.value, inst);
1055
+ return handleCatchall(proms, input, payload, ctx, _normalized.value, inst, abortEarly === true);
986
1056
  };
987
1057
  });
988
1058
  export const $ZodObjectJIT = /*@__PURE__*/ core.$constructor("$ZodObjectJIT", (inst, def) => {
@@ -997,12 +1067,18 @@ export const $ZodObjectJIT = /*@__PURE__*/ core.$constructor("$ZodObjectJIT", (i
997
1067
  // a symbol has no source literal, so it is read as `syms[i]` off the closed-over scope
998
1068
  const doc = new Doc(["payload", "ctx"], { shape, inst, memo, syms });
999
1069
  const parseStr = (k) => `shape[${k}]._zod.run({ value: input[${k}], issues: [] }, ctx)`;
1000
- // Prefixes in place, like util.prefixIssues does for every interpreted path.
1070
+ // prefixes in place, like util.prefixIssues. newResult must land before the early return: a catchall runs after this and would otherwise write onto the caller's input
1001
1071
  const prefixStr = (id, k) => `
1072
+ let ${id}_ab = false;
1002
1073
  for (let i = 0; i < ${id}.issues.length; i++) {
1003
1074
  const iss = ${id}.issues[i];
1004
1075
  iss.path = iss.path ? [${k}, ...iss.path] : [${k}];
1005
1076
  payload.issues.push(iss);
1077
+ if (iss.continue !== true) ${id}_ab = true;
1078
+ }
1079
+ if (${id}_ab && ctx && ctx.abortEarly) {
1080
+ payload.value = newResult;
1081
+ return payload;
1006
1082
  }`;
1007
1083
  doc.write(`const input = payload.value;`);
1008
1084
  const ids = Object.create(null);
@@ -1051,6 +1127,10 @@ export const $ZodObjectJIT = /*@__PURE__*/ core.$constructor("$ZodObjectJIT", (i
1051
1127
  input: undefined,
1052
1128
  path: [${k}]
1053
1129
  });
1130
+ if (ctx && ctx.abortEarly) {
1131
+ payload.value = newResult;
1132
+ return payload;
1133
+ }
1054
1134
  }
1055
1135
 
1056
1136
  if (${id}_present) {
@@ -1063,16 +1143,17 @@ export const $ZodObjectJIT = /*@__PURE__*/ core.$constructor("$ZodObjectJIT", (i
1063
1143
  doc.write(`
1064
1144
  if (${id}.issues.length) {${prefixStr(id, k)}
1065
1145
  }
1066
-
1067
- if (${id}.value === undefined) {
1068
- if (${isPresent}) {
1069
- newResult[${k}] = undefined;
1070
- }
1071
- } else {
1146
+ `);
1147
+ if (optin === "defaulted") {
1148
+ doc.write(`newResult[${k}] = ${id}.value;`);
1149
+ }
1150
+ else {
1151
+ doc.write(`
1152
+ if (${id}.value !== undefined || ${isPresent}) {
1072
1153
  newResult[${k}] = ${id}.value;
1073
1154
  }
1074
-
1075
1155
  `);
1156
+ }
1076
1157
  }
1077
1158
  }
1078
1159
  doc.write(`payload.value = newResult;`);
@@ -1106,7 +1187,7 @@ export const $ZodObjectJIT = /*@__PURE__*/ core.$constructor("$ZodObjectJIT", (i
1106
1187
  payload = fastpass(payload, ctx);
1107
1188
  if (!catchall)
1108
1189
  return payload;
1109
- return handleCatchall([], input, payload, ctx, value, inst);
1190
+ return handleCatchall([], input, payload, ctx, value, inst, ctx?.abortEarly === true);
1110
1191
  }
1111
1192
  return superParse(payload, ctx);
1112
1193
  };
@@ -1243,22 +1324,38 @@ export const $ZodXor = /*@__PURE__*/ core.$constructor("$ZodXor", (inst, def) =>
1243
1324
  });
1244
1325
  };
1245
1326
  });
1246
- /** Returns the option of `union` whose discriminator claims `value`. */
1327
+ /** Returns the option whose discriminator claims `value`, or throws if ambiguous. */
1247
1328
  export function getDiscriminatedOption(union, value) {
1248
1329
  const internals = union._zod;
1249
1330
  let map = internals.bag.optionsMap;
1250
1331
  if (!map) {
1251
- map = new Map();
1252
- const { options, discriminator } = internals.def;
1253
- for (const option of options) {
1254
- // First declaration wins, matching the order the parse path resolves a duplicate in.
1255
- for (const v of option._zod.propValues?.[discriminator] ?? [])
1256
- if (!map.has(v))
1257
- map.set(v, option);
1258
- }
1332
+ map = discriminatorMap(internals.def);
1259
1333
  internals.bag.optionsMap = map;
1260
1334
  }
1261
- return map.get(value);
1335
+ const option = map.get(value);
1336
+ if (option === null)
1337
+ throw new Error(`Ambiguous discriminator value "${String(value)}"`);
1338
+ return option;
1339
+ }
1340
+ function discriminatorMap(def) {
1341
+ const map = new Map();
1342
+ for (const option of def.options) {
1343
+ const values = option._zod.propValues?.[def.discriminator];
1344
+ if (!values || values.size === 0)
1345
+ throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(option)}"`);
1346
+ for (const value of values) {
1347
+ if (map.has(value)) {
1348
+ if (value !== undefined)
1349
+ throw new Error(`Duplicate discriminator value "${String(value)}"`);
1350
+ // keep the collision marked so a later member cannot reclaim it
1351
+ map.set(value, null);
1352
+ }
1353
+ else {
1354
+ map.set(value, option);
1355
+ }
1356
+ }
1357
+ }
1358
+ return map;
1262
1359
  }
1263
1360
  export const $ZodDiscriminatedUnion =
1264
1361
  /*@__PURE__*/
@@ -1268,10 +1365,13 @@ core.$constructor("$ZodDiscriminatedUnion", (inst, def) => {
1268
1365
  const _super = inst._zod.parse;
1269
1366
  util.defineLazyInternal(inst, "propValues", (zod) => {
1270
1367
  const propValues = {};
1368
+ let undefinedCount = 0;
1271
1369
  for (const option of zod.def.options) {
1272
1370
  const pv = option._zod.propValues;
1273
1371
  if (!pv || Object.keys(pv).length === 0)
1274
1372
  throw new Error(`Invalid discriminated union option at index "${zod.def.options.indexOf(option)}"`);
1373
+ if (pv[zod.def.discriminator]?.has(undefined))
1374
+ undefinedCount++;
1275
1375
  for (const [k, v] of Object.entries(pv)) {
1276
1376
  if (!Object.prototype.hasOwnProperty.call(propValues, k)) {
1277
1377
  util.assignProp(propValues, k, new Set());
@@ -1281,31 +1381,18 @@ core.$constructor("$ZodDiscriminatedUnion", (inst, def) => {
1281
1381
  }
1282
1382
  }
1283
1383
  }
1384
+ if (!zod.def.unionFallback && undefinedCount > 1)
1385
+ propValues[zod.def.discriminator]?.delete(undefined);
1284
1386
  return propValues;
1285
1387
  });
1286
- // Checked now rather than in the lookup map below, so an option that lacks the discriminator fails at the `discriminatedUnion` call instead of on the first object parsed. Options whose shape cannot be enumerated without resolving it — pipes, lazies, and objects rebuilt by a builder such as `.extend()` — are left to the map.
1388
+ // Checked now rather than in the lookup map below, so an option that lacks the discriminator fails at the `discriminatedUnion` call instead of on the first object parsed. Options whose shape cannot be enumerated without resolving it — pipes and lazies — are left to the map.
1287
1389
  def.options.forEach((option, i) => {
1288
- const propShape = propShapes.get(option._zod.def);
1390
+ const propShape = util.rawShape(option._zod.def);
1289
1391
  if (propShape && !Object.prototype.hasOwnProperty.call(propShape, def.discriminator)) {
1290
1392
  throw new Error(`Invalid discriminated union option at index "${i}"`);
1291
1393
  }
1292
1394
  });
1293
- const disc = util.cached(() => {
1294
- const opts = def.options;
1295
- const map = new Map();
1296
- for (const o of opts) {
1297
- const values = o._zod.propValues?.[def.discriminator];
1298
- if (!values || values.size === 0)
1299
- throw new Error(`Invalid discriminated union option at index "${def.options.indexOf(o)}"`);
1300
- for (const v of values) {
1301
- if (map.has(v)) {
1302
- throw new Error(`Duplicate discriminator value "${String(v)}"`);
1303
- }
1304
- map.set(v, o);
1305
- }
1306
- }
1307
- return map;
1308
- });
1395
+ const disc = util.cached(() => discriminatorMap(def));
1309
1396
  inst._zod.parse = (payload, ctx) => {
1310
1397
  const input = payload.value;
1311
1398
  if (!util.isObject(input)) {
@@ -1317,8 +1404,10 @@ core.$constructor("$ZodDiscriminatedUnion", (inst, def) => {
1317
1404
  });
1318
1405
  return payload;
1319
1406
  }
1320
- const opt = disc.value.get(input?.[def.discriminator]);
1321
- if (opt) {
1407
+ const value = input?.[def.discriminator];
1408
+ const opt = disc.value.get(value);
1409
+ // forward metadata cannot choose an encoder for an absent tag
1410
+ if (opt && (value !== undefined || ctx.direction !== "backward")) {
1322
1411
  return opt._zod.run(payload, ctx);
1323
1412
  }
1324
1413
  // Fall back to union matching when the fast discriminator path fails:
@@ -1333,7 +1422,7 @@ core.$constructor("$ZodDiscriminatedUnion", (inst, def) => {
1333
1422
  errors: [],
1334
1423
  note: "No matching discriminator",
1335
1424
  discriminator: def.discriminator,
1336
- options: Array.from(disc.value.keys()),
1425
+ options: Array.from(disc.value.keys()).filter((value) => disc.value.get(value) !== null),
1337
1426
  input,
1338
1427
  path: [def.discriminator],
1339
1428
  inst,
@@ -1506,6 +1595,9 @@ export const $ZodTuple = /*@__PURE__*/ core.$constructor("$ZodTuple", (inst, def
1506
1595
  }
1507
1596
  // Run every item in parallel, collecting results into an indexed array. The post-processing in `handleTupleResults` walks them in order so it can decide whether an absent optional-output error can truncate the tail or must be reported to preserve required output.
1508
1597
  const itemResults = new Array(items.length);
1598
+ // only tracked when there is a rest loop to skip
1599
+ const abortEarly = def.rest ? ctx?.abortEarly : undefined;
1600
+ let itemAborted = false;
1509
1601
  for (let i = 0; i < items.length; i++) {
1510
1602
  const r = items[i]._zod.run({ value: input[i], issues: [] }, ctx);
1511
1603
  if (r instanceof Promise) {
@@ -1515,12 +1607,21 @@ export const $ZodTuple = /*@__PURE__*/ core.$constructor("$ZodTuple", (inst, def
1515
1607
  }
1516
1608
  else {
1517
1609
  itemResults[i] = r;
1610
+ if (abortEarly && !itemAborted && r.issues.length)
1611
+ itemAborted = util.aborted(r);
1518
1612
  }
1519
1613
  }
1520
- if (def.rest) {
1614
+ // sound because rest is non-empty exactly when every fixed index is present, the one case handleTupleResults cannot discard an item's issues
1615
+ if (def.rest && !itemAborted) {
1521
1616
  let i = items.length - 1;
1522
1617
  const rest = input.slice(items.length);
1618
+ let seen = payload.issues.length;
1523
1619
  for (const el of rest) {
1620
+ if (abortEarly && payload.issues.length !== seen) {
1621
+ if (util.aborted(payload, seen))
1622
+ break;
1623
+ seen = payload.issues.length;
1624
+ }
1524
1625
  i++;
1525
1626
  const result = def.rest._zod.run({ value: el, issues: [] }, ctx);
1526
1627
  if (result instanceof Promise) {
@@ -1602,6 +1703,7 @@ export const $ZodRecord = /*@__PURE__*/ core.$constructor("$ZodRecord", (inst, d
1602
1703
  });
1603
1704
  return payload;
1604
1705
  }
1706
+ // no guard in either loop below: a record's invalid_key aborts but an enclosing intersection can reconcile it, so a stopped loop hides keys the sibling does not own and the intersection then rejects nothing
1605
1707
  const proms = [];
1606
1708
  const values = def.keyType._zod.values;
1607
1709
  if (values && !def.partial) {
@@ -1773,7 +1875,14 @@ export const $ZodMap = /*@__PURE__*/ core.$constructor("$ZodMap", (inst, def) =>
1773
1875
  }
1774
1876
  const proms = [];
1775
1877
  payload.value = memo ? memo.alloc(inst, payload, new Map(), ctx) : new Map();
1878
+ const abortEarly = ctx?.abortEarly;
1879
+ let seen = payload.issues.length;
1776
1880
  for (const [key, value] of input) {
1881
+ if (abortEarly && payload.issues.length !== seen) {
1882
+ if (util.aborted(payload, seen))
1883
+ break;
1884
+ seen = payload.issues.length;
1885
+ }
1777
1886
  const keyResult = def.keyType._zod.run({ value: key, issues: [] }, ctx);
1778
1887
  const valueResult = def.valueType._zod.run({ value: value, issues: [] }, ctx);
1779
1888
  if (keyResult instanceof Promise || valueResult instanceof Promise) {
@@ -1839,7 +1948,14 @@ export const $ZodSet = /*@__PURE__*/ core.$constructor("$ZodSet", (inst, def) =>
1839
1948
  }
1840
1949
  const proms = [];
1841
1950
  payload.value = memo ? memo.alloc(inst, payload, new Set(), ctx) : new Set();
1951
+ const abortEarly = ctx?.abortEarly;
1952
+ let seen = payload.issues.length;
1842
1953
  for (const item of input) {
1954
+ if (abortEarly && payload.issues.length !== seen) {
1955
+ if (util.aborted(payload, seen))
1956
+ break;
1957
+ seen = payload.issues.length;
1958
+ }
1843
1959
  const result = def.valueType._zod.run({ value: item, issues: [] }, ctx);
1844
1960
  if (result instanceof Promise) {
1845
1961
  proms.push(result.then((result) => handleSetResult(result, payload)));
@@ -1863,9 +1979,11 @@ export const $ZodEnum = /*@__PURE__*/ core.$constructor("$ZodEnum", (inst, def)
1863
1979
  const values = util.getEnumValues(def.entries);
1864
1980
  const valuesSet = new Set(values);
1865
1981
  inst._zod.values = valuesSet;
1866
- const patternValues = values.filter((k) => util.propertyKeyTypes.has(typeof k));
1867
- // unmatchable fallback, RE2-safe: an empty alternation would compile to /^()$/, which matches ""
1868
- inst._zod.pattern = new RegExp(patternValues.length ? `^(${patternValues.map((o) => util.escapeRegex(o.toString())).join("|")})$` : "^[^\\s\\S]$");
1982
+ util.defineLazyInternal(inst, "pattern", (zod) => {
1983
+ const patternValues = util.getEnumValues(zod.def.entries).filter((k) => util.propertyKeyTypes.has(typeof k));
1984
+ // unmatchable fallback, RE2-safe: an empty alternation would compile to /^()$/, which matches ""
1985
+ return new RegExp(patternValues.length ? `^(${patternValues.map((o) => util.escapeRegex(o.toString())).join("|")})$` : "^[^\\s\\S]$");
1986
+ });
1869
1987
  inst._zod.parse = (payload, _ctx) => {
1870
1988
  const input = payload.value;
1871
1989
  if (valuesSet.has(input)) {
@@ -1884,12 +2002,15 @@ export const $ZodLiteral = /*@__PURE__*/ core.$constructor("$ZodLiteral", (inst,
1884
2002
  $ZodType.init(inst, def);
1885
2003
  const values = new Set(def.values);
1886
2004
  inst._zod.values = values;
1887
- // unmatchable fallback, RE2-safe: an empty alternation would compile to /^()$/, which matches ""
1888
- inst._zod.pattern = new RegExp(def.values.length
1889
- ? `^(${def.values
1890
- .map((o) => (typeof o === "string" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o)))
1891
- .join("|")})$`
1892
- : "^[^\\s\\S]$");
2005
+ util.defineLazyInternal(inst, "pattern", (zod) => {
2006
+ const vals = zod.def.values;
2007
+ // unmatchable fallback, RE2-safe: an empty alternation would compile to /^()$/, which matches ""
2008
+ return new RegExp(vals.length
2009
+ ? `^(${vals
2010
+ .map((o) => typeof o === "string" ? util.escapeRegex(o) : o ? util.escapeRegex(o.toString()) : String(o))
2011
+ .join("|")})$`
2012
+ : "^[^\\s\\S]$");
2013
+ });
1893
2014
  inst._zod.parse = (payload, _ctx) => {
1894
2015
  const input = payload.value;
1895
2016
  if (values.has(input)) {
@@ -2253,22 +2374,67 @@ function handleReadonlyResult(payload) {
2253
2374
  payload.value = Object.freeze(payload.value);
2254
2375
  return payload;
2255
2376
  }
2377
+ // a leaf's pattern source with its own checks folded in: the last pattern-carrying check wins, else length bounds narrow the catch-all, else an integer format narrows the number form. the fold lives here instead of on `_zod.pattern` so a bundle without template literals never pays for it
2378
+ function leafPattern(schema) {
2379
+ const def = schema._zod.def;
2380
+ let pattern = def.pattern;
2381
+ let isInt = !!def.format?.includes("int");
2382
+ let minimum;
2383
+ let maximum;
2384
+ for (const ch of def.checks ?? []) {
2385
+ const d = ch._zod.def;
2386
+ if (d.pattern)
2387
+ pattern = d.pattern;
2388
+ isInt || (isInt = !!d.format?.includes("int"));
2389
+ const lo = d.minimum ?? d.length;
2390
+ const hi = d.maximum ?? d.length;
2391
+ if (lo !== undefined && (minimum === undefined || lo > minimum))
2392
+ minimum = lo;
2393
+ if (hi !== undefined && (maximum === undefined || hi < maximum))
2394
+ maximum = hi;
2395
+ }
2396
+ if (pattern)
2397
+ return pattern.source;
2398
+ // an empty range matches nothing at runtime, and `{8,5}` is not a legal quantifier
2399
+ if (minimum !== undefined && maximum !== undefined && minimum > maximum)
2400
+ return "(?!)";
2401
+ if (minimum !== undefined || maximum !== undefined)
2402
+ return regexes.string({ minimum, maximum }).source;
2403
+ const own = schema._zod.pattern;
2404
+ return (isInt && own === regexes.number ? regexes.integer : own)?.source;
2405
+ }
2406
+ // a part's pattern source. a wrapper's pattern embeds its inner pattern's source verbatim, so the folded form is substituted in place without knowing the wrapper's own composition; a union's options are joined the way the union builds its own pattern
2407
+ function partPattern(schema) {
2408
+ const def = schema._zod.def;
2409
+ const own = schema._zod.pattern?.source;
2410
+ // lazy resolves its inner on the internals, not the def
2411
+ const inner = def.innerType ?? schema._zod.innerType;
2412
+ if (inner) {
2413
+ const before = inner._zod.pattern?.source;
2414
+ const after = partPattern(inner);
2415
+ if (own && before && after && after !== before) {
2416
+ return own.replace(util.cleanRegex(before), () => util.cleanRegex(after));
2417
+ }
2418
+ return own;
2419
+ }
2420
+ if (def.options) {
2421
+ const sources = def.options.map(partPattern);
2422
+ if (sources.every(Boolean))
2423
+ return `^(${sources.map((s) => util.cleanRegex(s)).join("|")})$`;
2424
+ }
2425
+ return leafPattern(schema);
2426
+ }
2256
2427
  export const $ZodTemplateLiteral = /*@__PURE__*/ core.$constructor("$ZodTemplateLiteral", (inst, def) => {
2257
2428
  $ZodType.init(inst, def);
2258
2429
  const regexParts = [];
2259
2430
  for (const part of def.parts) {
2260
2431
  if (typeof part === "object" && part !== null) {
2261
2432
  // is Zod schema
2262
- if (!part._zod.pattern) {
2263
- // if (!source)
2433
+ const source = partPattern(part);
2434
+ if (!source) {
2264
2435
  throw new Error(`Invalid template literal part, no pattern found: ${[...part._zod.traits].shift()}`);
2265
2436
  }
2266
- const source = part._zod.pattern instanceof RegExp ? part._zod.pattern.source : part._zod.pattern;
2267
- if (!source)
2268
- throw new Error(`Invalid template literal part: ${part._zod.traits}`);
2269
- const start = source.startsWith("^") ? 1 : 0;
2270
- const end = source.endsWith("$") ? source.length - 1 : source.length;
2271
- regexParts.push(source.slice(start, end));
2437
+ regexParts.push(util.cleanRegex(source));
2272
2438
  }
2273
2439
  else if (part === null || util.primitiveTypes.has(typeof part)) {
2274
2440
  regexParts.push(util.escapeRegex(`${part}`));