@psnext/slingcli 3.0.20260827-1 → 3.1.20260904-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 (678) hide show
  1. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-cjs/index.js +11 -4
  2. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +1 -0
  3. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +2 -3
  4. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +8 -1
  5. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/package.json +2 -2
  6. package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +2 -0
  7. package/node_modules/@aws-sdk/credential-provider-node/dist-es/runtime/memoize-chain.js +2 -0
  8. package/node_modules/@aws-sdk/credential-provider-node/package.json +1 -1
  9. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-cjs/index.js +11 -4
  10. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +1 -0
  11. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +2 -3
  12. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +8 -1
  13. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/package.json +2 -2
  14. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  15. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +2 -1
  16. package/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js +2 -1
  17. package/node_modules/@smithy/fetch-http-handler/package.json +3 -3
  18. package/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts +14 -0
  19. package/node_modules/@smithy/types/dist-types/ts3.4/http/httpHandlerInitialization.d.ts +14 -0
  20. package/node_modules/@smithy/types/package.json +1 -1
  21. package/node_modules/@types/node/README.md +1 -1
  22. package/node_modules/@types/node/ffi.d.ts +1 -1
  23. package/node_modules/@types/node/package.json +2 -2
  24. package/node_modules/express-rate-limit/dist/index.cjs +6 -3
  25. package/node_modules/express-rate-limit/dist/index.d.cts +11 -0
  26. package/node_modules/express-rate-limit/dist/index.d.mts +11 -0
  27. package/node_modules/express-rate-limit/dist/index.d.ts +11 -0
  28. package/node_modules/express-rate-limit/dist/index.mjs +6 -3
  29. package/node_modules/express-rate-limit/{license.md → license} +7 -6
  30. package/node_modules/express-rate-limit/package.json +5 -5
  31. package/node_modules/express-rate-limit/readme.md +1 -0
  32. package/node_modules/fast-uri/index.js +20 -5
  33. package/node_modules/fast-uri/lib/utils.js +8 -1
  34. package/node_modules/fast-uri/package.json +1 -1
  35. package/node_modules/fast-uri/test/component-safe-serialization.test.js +58 -0
  36. package/node_modules/fast-uri/test/ipv6-validation.test.js +34 -0
  37. package/node_modules/ip-address/README.md +92 -82
  38. package/node_modules/ip-address/dist/common.d.ts +20 -0
  39. package/node_modules/ip-address/dist/common.js +36 -0
  40. package/node_modules/ip-address/dist/common.js.map +1 -1
  41. package/node_modules/ip-address/dist/ipv4.d.ts +50 -0
  42. package/node_modules/ip-address/dist/ipv4.js +75 -0
  43. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  44. package/node_modules/ip-address/dist/ipv6.d.ts +79 -10
  45. package/node_modules/ip-address/dist/ipv6.js +120 -30
  46. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  47. package/node_modules/ip-address/dist/v4/constants.d.ts +12 -0
  48. package/node_modules/ip-address/dist/v4/constants.js +40 -1
  49. package/node_modules/ip-address/dist/v4/constants.js.map +1 -1
  50. package/node_modules/ip-address/dist/v6/constants.d.ts +14 -0
  51. package/node_modules/ip-address/dist/v6/constants.js +47 -1
  52. package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
  53. package/node_modules/ip-address/package.json +1 -1
  54. package/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +7 -16
  55. package/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +6 -17
  56. package/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +7 -16
  57. package/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +11 -34
  58. package/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +7 -16
  59. package/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +15 -35
  60. package/node_modules/jose/dist/types/jwk/embedded.d.ts +3 -8
  61. package/node_modules/jose/dist/types/jwk/thumbprint.d.ts +5 -5
  62. package/node_modules/jose/dist/types/jwks/local.d.ts +6 -10
  63. package/node_modules/jose/dist/types/jwks/remote.d.ts +13 -24
  64. package/node_modules/jose/dist/types/jws/compact/sign.d.ts +5 -10
  65. package/node_modules/jose/dist/types/jws/compact/verify.d.ts +9 -18
  66. package/node_modules/jose/dist/types/jws/flattened/sign.d.ts +7 -16
  67. package/node_modules/jose/dist/types/jws/flattened/verify.d.ts +9 -18
  68. package/node_modules/jose/dist/types/jws/general/sign.d.ts +11 -21
  69. package/node_modules/jose/dist/types/jws/general/verify.d.ts +9 -18
  70. package/node_modules/jose/dist/types/jwt/decrypt.d.ts +10 -20
  71. package/node_modules/jose/dist/types/jwt/encrypt.d.ts +6 -13
  72. package/node_modules/jose/dist/types/jwt/sign.d.ts +5 -6
  73. package/node_modules/jose/dist/types/jwt/unsecured.d.ts +9 -14
  74. package/node_modules/jose/dist/types/jwt/verify.d.ts +9 -19
  75. package/node_modules/jose/dist/types/key/export.d.ts +4 -4
  76. package/node_modules/jose/dist/types/key/generate_key_pair.d.ts +6 -8
  77. package/node_modules/jose/dist/types/key/generate_secret.d.ts +4 -11
  78. package/node_modules/jose/dist/types/key/import.d.ts +10 -17
  79. package/node_modules/jose/dist/types/types.d.ts +44 -84
  80. package/node_modules/jose/dist/types/util/base64url.d.ts +2 -2
  81. package/node_modules/jose/dist/types/util/decode_jwt.d.ts +3 -10
  82. package/node_modules/jose/dist/types/util/decode_protected_header.d.ts +4 -4
  83. package/node_modules/jose/dist/types/util/errors.d.ts +26 -53
  84. package/node_modules/jose/dist/webapi/index.js +70 -32
  85. package/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +7 -8
  86. package/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +42 -48
  87. package/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +14 -14
  88. package/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +53 -64
  89. package/node_modules/jose/dist/webapi/jwe/general/decrypt.js +38 -49
  90. package/node_modules/jose/dist/webapi/jwe/general/encrypt.js +121 -169
  91. package/node_modules/jose/dist/webapi/jwk/embedded.js +30 -32
  92. package/node_modules/jose/dist/webapi/jwk/thumbprint.js +54 -70
  93. package/node_modules/jose/dist/webapi/jwks/local.js +47 -64
  94. package/node_modules/jose/dist/webapi/jwks/remote.js +88 -136
  95. package/node_modules/jose/dist/webapi/jws/compact/sign.js +21 -21
  96. package/node_modules/jose/dist/webapi/jws/compact/verify.js +7 -8
  97. package/node_modules/jose/dist/webapi/jws/flattened/sign.js +29 -31
  98. package/node_modules/jose/dist/webapi/jws/flattened/verify.js +21 -24
  99. package/node_modules/jose/dist/webapi/jws/general/sign.js +61 -72
  100. package/node_modules/jose/dist/webapi/jws/general/verify.js +45 -69
  101. package/node_modules/jose/dist/webapi/jwt/decrypt.js +13 -20
  102. package/node_modules/jose/dist/webapi/jwt/encrypt.js +57 -70
  103. package/node_modules/jose/dist/webapi/jwt/sign.js +17 -16
  104. package/node_modules/jose/dist/webapi/jwt/unsecured.js +32 -40
  105. package/node_modules/jose/dist/webapi/jwt/verify.js +12 -14
  106. package/node_modules/jose/dist/webapi/key/export.js +32 -37
  107. package/node_modules/jose/dist/webapi/key/generate_key_pair.js +40 -48
  108. package/node_modules/jose/dist/webapi/key/generate_secret.js +35 -40
  109. package/node_modules/jose/dist/webapi/key/import.js +52 -56
  110. package/node_modules/jose/dist/webapi/lib/asn1.js +130 -169
  111. package/node_modules/jose/dist/webapi/lib/base64.js +18 -20
  112. package/node_modules/jose/dist/webapi/lib/buffer_utils.js +34 -38
  113. package/node_modules/jose/dist/webapi/lib/content_encryption.js +79 -115
  114. package/node_modules/jose/dist/webapi/lib/crypto_key.js +24 -25
  115. package/node_modules/jose/dist/webapi/lib/deflate.js +45 -47
  116. package/node_modules/jose/dist/webapi/lib/helpers.js +40 -37
  117. package/node_modules/jose/dist/webapi/lib/invalid_key_input.js +10 -24
  118. package/node_modules/jose/dist/webapi/lib/is_key_like.js +17 -15
  119. package/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +106 -93
  120. package/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +207 -230
  121. package/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +104 -138
  122. package/node_modules/jose/dist/webapi/lib/jwk_metadata.js +17 -18
  123. package/node_modules/jose/dist/webapi/lib/jwk_to_key.js +9 -16
  124. package/node_modules/jose/dist/webapi/lib/jws_algorithms.js +62 -61
  125. package/node_modules/jose/dist/webapi/lib/jws_sign.js +50 -75
  126. package/node_modules/jose/dist/webapi/lib/jws_verify.js +80 -125
  127. package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +123 -209
  128. package/node_modules/jose/dist/webapi/lib/key.js +84 -136
  129. package/node_modules/jose/dist/webapi/lib/key_algorithm.js +13 -8
  130. package/node_modules/jose/dist/webapi/lib/key_descriptor.js +8 -6
  131. package/node_modules/jose/dist/webapi/lib/key_management.js +200 -231
  132. package/node_modules/jose/dist/webapi/lib/key_options.js +7 -5
  133. package/node_modules/jose/dist/webapi/lib/options.js +55 -68
  134. package/node_modules/jose/dist/webapi/lib/signing.js +18 -22
  135. package/node_modules/jose/dist/webapi/lib/type_checks.js +26 -29
  136. package/node_modules/jose/dist/webapi/util/base64url.js +26 -35
  137. package/node_modules/jose/dist/webapi/util/decode_jwt.js +32 -31
  138. package/node_modules/jose/dist/webapi/util/decode_protected_header.js +18 -23
  139. package/node_modules/jose/dist/webapi/util/errors.js +94 -84
  140. package/node_modules/jose/package.json +17 -81
  141. package/node_modules/protobufjs/dist/light/protobuf.js +59 -6
  142. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  143. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  144. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  145. package/node_modules/protobufjs/dist/minimal/protobuf.js +22 -2
  146. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  147. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  148. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  149. package/node_modules/protobufjs/dist/protobuf.js +59 -6
  150. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  151. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  152. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  153. package/node_modules/protobufjs/package.json +1 -1
  154. package/node_modules/protobufjs/src/decoder.js +32 -3
  155. package/node_modules/protobufjs/src/reader.js +20 -0
  156. package/node_modules/protobufjs/src/wrappers.js +5 -1
  157. package/node_modules/qs/.github/THREAT_MODEL.md +3 -3
  158. package/node_modules/qs/CHANGELOG.md +15 -0
  159. package/node_modules/qs/README.md +19 -1
  160. package/node_modules/qs/dist/qs.js +21 -21
  161. package/node_modules/qs/eslint.config.mjs +1 -1
  162. package/node_modules/qs/lib/parse.js +3 -4
  163. package/node_modules/qs/lib/stringify.js +23 -8
  164. package/node_modules/qs/lib/utils.js +10 -3
  165. package/node_modules/qs/package.json +4 -4
  166. package/node_modules/qs/test/parse.js +192 -3
  167. package/node_modules/qs/test/stringify.js +317 -0
  168. package/node_modules/qs/test/utils.js +12 -0
  169. package/node_modules/zod/README.md +27 -0
  170. package/node_modules/zod/compile.cjs +77 -0
  171. package/node_modules/zod/compile.d.cts +1 -0
  172. package/node_modules/zod/compile.d.ts +1 -0
  173. package/node_modules/zod/compile.js +52 -0
  174. package/node_modules/zod/index.cjs +2 -2
  175. package/node_modules/zod/index.d.cts +1 -2
  176. package/node_modules/zod/index.d.ts +1 -2
  177. package/node_modules/zod/index.js +5 -2
  178. package/node_modules/zod/package.json +13 -2
  179. package/node_modules/zod/src/compile.ts +56 -0
  180. package/node_modules/zod/src/index.ts +5 -2
  181. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  182. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  183. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  184. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  185. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  186. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  187. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  188. package/node_modules/zod/src/v3/types.ts +5 -5
  189. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  190. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  191. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  192. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  193. package/node_modules/zod/src/v4/classic/external.ts +12 -9
  194. package/node_modules/zod/src/v4/classic/from-json-schema.ts +140 -78
  195. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  196. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  197. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  198. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  199. package/node_modules/zod/src/v4/classic/schemas.ts +452 -262
  200. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  201. package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
  202. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +135 -0
  203. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +30 -1
  204. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  205. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  206. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  207. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
  208. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  209. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +720 -0
  210. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  211. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  212. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  213. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  214. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  215. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  216. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +155 -13
  217. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +11 -0
  218. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  219. package/node_modules/zod/src/v4/classic/tests/error.test.ts +274 -6
  220. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +425 -10
  221. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  222. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  223. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  224. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  225. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  226. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +281 -0
  227. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +47 -0
  228. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  229. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +183 -0
  230. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  231. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  232. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  233. package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
  234. package/node_modules/zod/src/v4/classic/tests/number.test.ts +46 -9
  235. package/node_modules/zod/src/v4/classic/tests/object.test.ts +245 -12
  236. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +234 -0
  237. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  238. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  239. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  240. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  241. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  242. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +33 -2
  243. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  244. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  245. package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
  246. package/node_modules/zod/src/v4/classic/tests/string.test.ts +127 -5
  247. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  248. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +11 -2
  249. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1585 -173
  250. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  251. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  252. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +76 -0
  253. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  254. package/node_modules/zod/src/v4/core/api.ts +48 -12
  255. package/node_modules/zod/src/v4/core/checks.ts +57 -44
  256. package/node_modules/zod/src/v4/core/compile.ts +2188 -0
  257. package/node_modules/zod/src/v4/core/core.ts +98 -19
  258. package/node_modules/zod/src/v4/core/doc.ts +11 -7
  259. package/node_modules/zod/src/v4/core/errors.ts +115 -24
  260. package/node_modules/zod/src/v4/core/index.ts +3 -0
  261. package/node_modules/zod/src/v4/core/json-schema-generator.ts +6 -1
  262. package/node_modules/zod/src/v4/core/json-schema-processors.ts +257 -93
  263. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  264. package/node_modules/zod/src/v4/core/memoizer.ts +284 -0
  265. package/node_modules/zod/src/v4/core/parse.ts +131 -38
  266. package/node_modules/zod/src/v4/core/regexes.ts +30 -13
  267. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  268. package/node_modules/zod/src/v4/core/schemas.ts +759 -461
  269. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +969 -0
  270. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  271. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  272. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  273. package/node_modules/zod/src/v4/core/tests/compile.test.ts +1639 -0
  274. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  275. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  276. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  277. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  278. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  279. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  280. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +31 -0
  281. package/node_modules/zod/src/v4/core/to-json-schema.ts +275 -42
  282. package/node_modules/zod/src/v4/core/util.ts +268 -42
  283. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  284. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  285. package/node_modules/zod/src/v4/index.ts +3 -3
  286. package/node_modules/zod/src/v4/locales/ar.ts +3 -0
  287. package/node_modules/zod/src/v4/locales/az.ts +3 -0
  288. package/node_modules/zod/src/v4/locales/be.ts +10 -0
  289. package/node_modules/zod/src/v4/locales/bg.ts +3 -0
  290. package/node_modules/zod/src/v4/locales/bn.ts +121 -0
  291. package/node_modules/zod/src/v4/locales/ca.ts +3 -0
  292. package/node_modules/zod/src/v4/locales/ckb.ts +138 -0
  293. package/node_modules/zod/src/v4/locales/cs.ts +3 -0
  294. package/node_modules/zod/src/v4/locales/da.ts +5 -2
  295. package/node_modules/zod/src/v4/locales/de.ts +3 -0
  296. package/node_modules/zod/src/v4/locales/el.ts +1 -0
  297. package/node_modules/zod/src/v4/locales/en.ts +15 -4
  298. package/node_modules/zod/src/v4/locales/eo.ts +3 -0
  299. package/node_modules/zod/src/v4/locales/es.ts +2 -0
  300. package/node_modules/zod/src/v4/locales/fa.ts +3 -0
  301. package/node_modules/zod/src/v4/locales/fi.ts +3 -0
  302. package/node_modules/zod/src/v4/locales/fr-CA.ts +3 -0
  303. package/node_modules/zod/src/v4/locales/fr.ts +19 -14
  304. package/node_modules/zod/src/v4/locales/gu.ts +121 -0
  305. package/node_modules/zod/src/v4/locales/he.ts +6 -1
  306. package/node_modules/zod/src/v4/locales/hi.ts +124 -0
  307. package/node_modules/zod/src/v4/locales/hr.ts +2 -0
  308. package/node_modules/zod/src/v4/locales/hu.ts +3 -0
  309. package/node_modules/zod/src/v4/locales/hy.ts +9 -0
  310. package/node_modules/zod/src/v4/locales/id.ts +3 -0
  311. package/node_modules/zod/src/v4/locales/index.ts +10 -0
  312. package/node_modules/zod/src/v4/locales/is.ts +3 -0
  313. package/node_modules/zod/src/v4/locales/it.ts +3 -0
  314. package/node_modules/zod/src/v4/locales/ja.ts +3 -0
  315. package/node_modules/zod/src/v4/locales/ka.ts +3 -0
  316. package/node_modules/zod/src/v4/locales/km.ts +3 -0
  317. package/node_modules/zod/src/v4/locales/kn.ts +124 -0
  318. package/node_modules/zod/src/v4/locales/ko.ts +3 -0
  319. package/node_modules/zod/src/v4/locales/lt.ts +2 -0
  320. package/node_modules/zod/src/v4/locales/mk.ts +3 -0
  321. package/node_modules/zod/src/v4/locales/ms.ts +3 -0
  322. package/node_modules/zod/src/v4/locales/ne.ts +126 -0
  323. package/node_modules/zod/src/v4/locales/nl.ts +3 -0
  324. package/node_modules/zod/src/v4/locales/nn.ts +119 -0
  325. package/node_modules/zod/src/v4/locales/no.ts +5 -2
  326. package/node_modules/zod/src/v4/locales/ota.ts +3 -0
  327. package/node_modules/zod/src/v4/locales/pl.ts +3 -0
  328. package/node_modules/zod/src/v4/locales/ps.ts +3 -0
  329. package/node_modules/zod/src/v4/locales/pt-BR.ts +159 -0
  330. package/node_modules/zod/src/v4/locales/pt.ts +99 -58
  331. package/node_modules/zod/src/v4/locales/ro.ts +1 -0
  332. package/node_modules/zod/src/v4/locales/ru.ts +10 -0
  333. package/node_modules/zod/src/v4/locales/sk.ts +121 -0
  334. package/node_modules/zod/src/v4/locales/sl.ts +3 -0
  335. package/node_modules/zod/src/v4/locales/sv.ts +5 -2
  336. package/node_modules/zod/src/v4/locales/ta.ts +3 -0
  337. package/node_modules/zod/src/v4/locales/th.ts +3 -0
  338. package/node_modules/zod/src/v4/locales/tk.ts +111 -0
  339. package/node_modules/zod/src/v4/locales/tr.ts +3 -0
  340. package/node_modules/zod/src/v4/locales/uk.ts +3 -0
  341. package/node_modules/zod/src/v4/locales/ur.ts +3 -0
  342. package/node_modules/zod/src/v4/locales/uz.ts +1 -0
  343. package/node_modules/zod/src/v4/locales/vi.ts +3 -0
  344. package/node_modules/zod/src/v4/locales/yo.ts +3 -0
  345. package/node_modules/zod/src/v4/locales/zh-CN.ts +3 -0
  346. package/node_modules/zod/src/v4/locales/zh-TW.ts +3 -0
  347. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  348. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  349. package/node_modules/zod/src/v4/mini/external.ts +10 -1
  350. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  351. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  352. package/node_modules/zod/src/v4/mini/schemas.ts +135 -56
  353. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  354. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  355. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  356. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  357. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  358. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  359. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  360. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  361. package/node_modules/zod/src/v4/mini/tests/index.test.ts +72 -5
  362. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  363. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  364. package/node_modules/zod/src/v4/mini/tests/string.test.ts +21 -0
  365. package/node_modules/zod/v3/ZodError.cjs +22 -12
  366. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  367. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  368. package/node_modules/zod/v3/ZodError.js +22 -12
  369. package/node_modules/zod/v3/types.cjs +7 -5
  370. package/node_modules/zod/v3/types.js +7 -5
  371. package/node_modules/zod/v4/classic/checks.cjs +2 -1
  372. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  373. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  374. package/node_modules/zod/v4/classic/checks.js +1 -1
  375. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  376. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  377. package/node_modules/zod/v4/classic/deep-partial.cjs +39 -0
  378. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  379. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  380. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  381. package/node_modules/zod/v4/classic/errors.cjs +43 -34
  382. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  383. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  384. package/node_modules/zod/v4/classic/errors.js +43 -34
  385. package/node_modules/zod/v4/classic/external.cjs +30 -27
  386. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  387. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  388. package/node_modules/zod/v4/classic/external.js +5 -8
  389. package/node_modules/zod/v4/classic/from-json-schema.cjs +136 -75
  390. package/node_modules/zod/v4/classic/from-json-schema.js +136 -75
  391. package/node_modules/zod/v4/classic/in-out.cjs +63 -0
  392. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  393. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  394. package/node_modules/zod/v4/classic/in-out.js +36 -0
  395. package/node_modules/zod/v4/classic/index.cjs +2 -2
  396. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  397. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  398. package/node_modules/zod/v4/classic/index.js +2 -2
  399. package/node_modules/zod/v4/classic/iso.cjs +11 -22
  400. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  401. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  402. package/node_modules/zod/v4/classic/iso.js +2 -17
  403. package/node_modules/zod/v4/classic/parse.cjs +4 -1
  404. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  405. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  406. package/node_modules/zod/v4/classic/parse.js +1 -0
  407. package/node_modules/zod/v4/classic/schemas.cjs +498 -398
  408. package/node_modules/zod/v4/classic/schemas.d.cts +53 -18
  409. package/node_modules/zod/v4/classic/schemas.d.ts +53 -18
  410. package/node_modules/zod/v4/classic/schemas.js +492 -396
  411. package/node_modules/zod/v4/core/api.cjs +23 -4
  412. package/node_modules/zod/v4/core/api.d.cts +13 -9
  413. package/node_modules/zod/v4/core/api.d.ts +13 -9
  414. package/node_modules/zod/v4/core/api.js +21 -4
  415. package/node_modules/zod/v4/core/checks.cjs +37 -31
  416. package/node_modules/zod/v4/core/checks.d.cts +13 -13
  417. package/node_modules/zod/v4/core/checks.d.ts +13 -13
  418. package/node_modules/zod/v4/core/checks.js +37 -31
  419. package/node_modules/zod/v4/core/compile.cjs +1813 -0
  420. package/node_modules/zod/v4/core/compile.d.cts +51 -0
  421. package/node_modules/zod/v4/core/compile.d.ts +51 -0
  422. package/node_modules/zod/v4/core/compile.js +1783 -0
  423. package/node_modules/zod/v4/core/core.cjs +81 -18
  424. package/node_modules/zod/v4/core/core.d.cts +16 -4
  425. package/node_modules/zod/v4/core/core.d.ts +16 -4
  426. package/node_modules/zod/v4/core/core.js +82 -19
  427. package/node_modules/zod/v4/core/doc.cjs +5 -7
  428. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  429. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  430. package/node_modules/zod/v4/core/doc.js +5 -7
  431. package/node_modules/zod/v4/core/errors.cjs +110 -25
  432. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  433. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  434. package/node_modules/zod/v4/core/errors.js +110 -25
  435. package/node_modules/zod/v4/core/index.cjs +5 -1
  436. package/node_modules/zod/v4/core/index.d.cts +3 -0
  437. package/node_modules/zod/v4/core/index.d.ts +3 -0
  438. package/node_modules/zod/v4/core/index.js +3 -0
  439. package/node_modules/zod/v4/core/json-schema-generator.cjs +4 -0
  440. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  441. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  442. package/node_modules/zod/v4/core/json-schema-generator.js +4 -0
  443. package/node_modules/zod/v4/core/json-schema-processors.cjs +264 -95
  444. package/node_modules/zod/v4/core/json-schema-processors.js +243 -97
  445. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  446. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  447. package/node_modules/zod/v4/core/memoizer.cjs +272 -0
  448. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  449. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  450. package/node_modules/zod/v4/core/memoizer.js +265 -0
  451. package/node_modules/zod/v4/core/parse.cjs +96 -34
  452. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  453. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  454. package/node_modules/zod/v4/core/parse.js +94 -33
  455. package/node_modules/zod/v4/core/regexes.cjs +27 -15
  456. package/node_modules/zod/v4/core/regexes.d.cts +2 -0
  457. package/node_modules/zod/v4/core/regexes.d.ts +2 -0
  458. package/node_modules/zod/v4/core/regexes.js +24 -13
  459. package/node_modules/zod/v4/core/registries.js +2 -2
  460. package/node_modules/zod/v4/core/schemas.cjs +537 -326
  461. package/node_modules/zod/v4/core/schemas.d.cts +100 -31
  462. package/node_modules/zod/v4/core/schemas.d.ts +100 -31
  463. package/node_modules/zod/v4/core/schemas.js +526 -325
  464. package/node_modules/zod/v4/core/to-json-schema.cjs +242 -39
  465. package/node_modules/zod/v4/core/to-json-schema.d.cts +42 -3
  466. package/node_modules/zod/v4/core/to-json-schema.d.ts +42 -3
  467. package/node_modules/zod/v4/core/to-json-schema.js +241 -39
  468. package/node_modules/zod/v4/core/util.cjs +212 -31
  469. package/node_modules/zod/v4/core/util.d.cts +58 -1
  470. package/node_modules/zod/v4/core/util.d.ts +58 -1
  471. package/node_modules/zod/v4/core/util.js +202 -30
  472. package/node_modules/zod/v4/core/versions.cjs +2 -2
  473. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  474. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  475. package/node_modules/zod/v4/core/versions.js +2 -2
  476. package/node_modules/zod/v4/core/visit.cjs +195 -0
  477. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  478. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  479. package/node_modules/zod/v4/core/visit.js +169 -0
  480. package/node_modules/zod/v4/index.cjs +15 -5
  481. package/node_modules/zod/v4/index.d.cts +2 -2
  482. package/node_modules/zod/v4/index.d.ts +2 -2
  483. package/node_modules/zod/v4/index.js +3 -2
  484. package/node_modules/zod/v4/locales/ar.cjs +3 -0
  485. package/node_modules/zod/v4/locales/ar.js +3 -0
  486. package/node_modules/zod/v4/locales/az.cjs +3 -0
  487. package/node_modules/zod/v4/locales/az.js +3 -0
  488. package/node_modules/zod/v4/locales/be.cjs +10 -0
  489. package/node_modules/zod/v4/locales/be.js +10 -0
  490. package/node_modules/zod/v4/locales/bg.cjs +3 -0
  491. package/node_modules/zod/v4/locales/bg.js +3 -0
  492. package/node_modules/zod/v4/locales/bn.cjs +138 -0
  493. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  494. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  495. package/node_modules/zod/v4/locales/bn.js +111 -0
  496. package/node_modules/zod/v4/locales/ca.cjs +3 -0
  497. package/node_modules/zod/v4/locales/ca.js +3 -0
  498. package/node_modules/zod/v4/locales/ckb.cjs +158 -0
  499. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  500. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  501. package/node_modules/zod/v4/locales/ckb.js +131 -0
  502. package/node_modules/zod/v4/locales/cs.cjs +3 -0
  503. package/node_modules/zod/v4/locales/cs.js +3 -0
  504. package/node_modules/zod/v4/locales/da.cjs +5 -2
  505. package/node_modules/zod/v4/locales/da.js +5 -2
  506. package/node_modules/zod/v4/locales/de.cjs +3 -0
  507. package/node_modules/zod/v4/locales/de.js +3 -0
  508. package/node_modules/zod/v4/locales/el.cjs +1 -0
  509. package/node_modules/zod/v4/locales/el.js +1 -0
  510. package/node_modules/zod/v4/locales/en.cjs +14 -4
  511. package/node_modules/zod/v4/locales/en.js +14 -4
  512. package/node_modules/zod/v4/locales/eo.cjs +3 -0
  513. package/node_modules/zod/v4/locales/eo.js +3 -0
  514. package/node_modules/zod/v4/locales/es.cjs +2 -0
  515. package/node_modules/zod/v4/locales/es.js +2 -0
  516. package/node_modules/zod/v4/locales/fa.cjs +3 -0
  517. package/node_modules/zod/v4/locales/fa.js +3 -0
  518. package/node_modules/zod/v4/locales/fi.cjs +3 -0
  519. package/node_modules/zod/v4/locales/fi.js +3 -0
  520. package/node_modules/zod/v4/locales/fr-CA.cjs +3 -0
  521. package/node_modules/zod/v4/locales/fr-CA.js +3 -0
  522. package/node_modules/zod/v4/locales/fr.cjs +16 -14
  523. package/node_modules/zod/v4/locales/fr.js +16 -14
  524. package/node_modules/zod/v4/locales/gu.cjs +138 -0
  525. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  526. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  527. package/node_modules/zod/v4/locales/gu.js +111 -0
  528. package/node_modules/zod/v4/locales/he.cjs +5 -0
  529. package/node_modules/zod/v4/locales/he.js +5 -0
  530. package/node_modules/zod/v4/locales/hi.cjs +136 -0
  531. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  532. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  533. package/node_modules/zod/v4/locales/hi.js +109 -0
  534. package/node_modules/zod/v4/locales/hr.cjs +2 -0
  535. package/node_modules/zod/v4/locales/hr.js +2 -0
  536. package/node_modules/zod/v4/locales/hu.cjs +3 -0
  537. package/node_modules/zod/v4/locales/hu.js +3 -0
  538. package/node_modules/zod/v4/locales/hy.cjs +9 -0
  539. package/node_modules/zod/v4/locales/hy.js +9 -0
  540. package/node_modules/zod/v4/locales/id.cjs +3 -0
  541. package/node_modules/zod/v4/locales/id.js +3 -0
  542. package/node_modules/zod/v4/locales/index.cjs +22 -2
  543. package/node_modules/zod/v4/locales/index.d.cts +10 -0
  544. package/node_modules/zod/v4/locales/index.d.ts +10 -0
  545. package/node_modules/zod/v4/locales/index.js +10 -0
  546. package/node_modules/zod/v4/locales/is.cjs +3 -0
  547. package/node_modules/zod/v4/locales/is.js +3 -0
  548. package/node_modules/zod/v4/locales/it.cjs +3 -0
  549. package/node_modules/zod/v4/locales/it.js +3 -0
  550. package/node_modules/zod/v4/locales/ja.cjs +3 -0
  551. package/node_modules/zod/v4/locales/ja.js +3 -0
  552. package/node_modules/zod/v4/locales/ka.cjs +3 -0
  553. package/node_modules/zod/v4/locales/ka.js +3 -0
  554. package/node_modules/zod/v4/locales/km.cjs +3 -0
  555. package/node_modules/zod/v4/locales/km.js +3 -0
  556. package/node_modules/zod/v4/locales/kn.cjs +141 -0
  557. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  558. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  559. package/node_modules/zod/v4/locales/kn.js +114 -0
  560. package/node_modules/zod/v4/locales/ko.cjs +3 -0
  561. package/node_modules/zod/v4/locales/ko.js +3 -0
  562. package/node_modules/zod/v4/locales/lt.cjs +2 -0
  563. package/node_modules/zod/v4/locales/lt.js +2 -0
  564. package/node_modules/zod/v4/locales/mk.cjs +3 -0
  565. package/node_modules/zod/v4/locales/mk.js +3 -0
  566. package/node_modules/zod/v4/locales/ms.cjs +3 -0
  567. package/node_modules/zod/v4/locales/ms.js +3 -0
  568. package/node_modules/zod/v4/locales/ne.cjs +136 -0
  569. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  570. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  571. package/node_modules/zod/v4/locales/ne.js +109 -0
  572. package/node_modules/zod/v4/locales/nl.cjs +3 -0
  573. package/node_modules/zod/v4/locales/nl.js +3 -0
  574. package/node_modules/zod/v4/locales/nn.cjs +138 -0
  575. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  576. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  577. package/node_modules/zod/v4/locales/nn.js +111 -0
  578. package/node_modules/zod/v4/locales/no.cjs +5 -2
  579. package/node_modules/zod/v4/locales/no.js +5 -2
  580. package/node_modules/zod/v4/locales/ota.cjs +3 -0
  581. package/node_modules/zod/v4/locales/ota.js +3 -0
  582. package/node_modules/zod/v4/locales/pl.cjs +3 -0
  583. package/node_modules/zod/v4/locales/pl.js +3 -0
  584. package/node_modules/zod/v4/locales/ps.cjs +3 -0
  585. package/node_modules/zod/v4/locales/ps.js +3 -0
  586. package/node_modules/zod/v4/locales/pt-BR.cjs +168 -0
  587. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  588. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  589. package/node_modules/zod/v4/locales/pt-BR.js +141 -0
  590. package/node_modules/zod/v4/locales/pt.cjs +87 -55
  591. package/node_modules/zod/v4/locales/pt.js +87 -55
  592. package/node_modules/zod/v4/locales/ro.cjs +1 -0
  593. package/node_modules/zod/v4/locales/ro.js +1 -0
  594. package/node_modules/zod/v4/locales/ru.cjs +10 -0
  595. package/node_modules/zod/v4/locales/ru.js +10 -0
  596. package/node_modules/zod/v4/locales/sk.cjs +141 -0
  597. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  598. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  599. package/node_modules/zod/v4/locales/sk.js +114 -0
  600. package/node_modules/zod/v4/locales/sl.cjs +3 -0
  601. package/node_modules/zod/v4/locales/sl.js +3 -0
  602. package/node_modules/zod/v4/locales/sv.cjs +5 -2
  603. package/node_modules/zod/v4/locales/sv.js +5 -2
  604. package/node_modules/zod/v4/locales/ta.cjs +3 -0
  605. package/node_modules/zod/v4/locales/ta.js +3 -0
  606. package/node_modules/zod/v4/locales/th.cjs +3 -0
  607. package/node_modules/zod/v4/locales/th.js +3 -0
  608. package/node_modules/zod/v4/locales/tk.cjs +132 -0
  609. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  610. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  611. package/node_modules/zod/v4/locales/tk.js +105 -0
  612. package/node_modules/zod/v4/locales/tr.cjs +3 -0
  613. package/node_modules/zod/v4/locales/tr.js +3 -0
  614. package/node_modules/zod/v4/locales/uk.cjs +3 -0
  615. package/node_modules/zod/v4/locales/uk.js +3 -0
  616. package/node_modules/zod/v4/locales/ur.cjs +3 -0
  617. package/node_modules/zod/v4/locales/ur.js +3 -0
  618. package/node_modules/zod/v4/locales/uz.cjs +1 -0
  619. package/node_modules/zod/v4/locales/uz.js +1 -0
  620. package/node_modules/zod/v4/locales/vi.cjs +3 -0
  621. package/node_modules/zod/v4/locales/vi.js +3 -0
  622. package/node_modules/zod/v4/locales/yo.cjs +3 -0
  623. package/node_modules/zod/v4/locales/yo.js +3 -0
  624. package/node_modules/zod/v4/locales/zh-CN.cjs +3 -0
  625. package/node_modules/zod/v4/locales/zh-CN.js +3 -0
  626. package/node_modules/zod/v4/locales/zh-TW.cjs +3 -0
  627. package/node_modules/zod/v4/locales/zh-TW.js +3 -0
  628. package/node_modules/zod/v4/mini/checks.cjs +2 -1
  629. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  630. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  631. package/node_modules/zod/v4/mini/checks.js +1 -1
  632. package/node_modules/zod/v4/mini/deep-partial.cjs +39 -0
  633. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  634. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  635. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  636. package/node_modules/zod/v4/mini/external.cjs +12 -1
  637. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  638. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  639. package/node_modules/zod/v4/mini/external.js +3 -1
  640. package/node_modules/zod/v4/mini/in-out.cjs +63 -0
  641. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  642. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  643. package/node_modules/zod/v4/mini/in-out.js +36 -0
  644. package/node_modules/zod/v4/mini/parse.cjs +3 -1
  645. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  646. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  647. package/node_modules/zod/v4/mini/parse.js +1 -1
  648. package/node_modules/zod/v4/mini/schemas.cjs +75 -47
  649. package/node_modules/zod/v4/mini/schemas.d.cts +43 -13
  650. package/node_modules/zod/v4/mini/schemas.d.ts +43 -13
  651. package/node_modules/zod/v4/mini/schemas.js +71 -45
  652. package/package.json +3 -2
  653. package/skills/context-management/SKILL.md +258 -0
  654. package/skills/figma-implement-design/SKILL.md +258 -0
  655. package/skills/orchestrator/SKILL.md +82 -0
  656. package/skills/s-help/SKILL.md +42 -0
  657. package/skills/s-help/resources/README.md +23 -0
  658. package/skills/s-help/resources/commands.json +78 -0
  659. package/skills/s-help/resources/s-acm.md +26 -0
  660. package/skills/s-help/resources/s-bash-mode.md +23 -0
  661. package/skills/s-help/resources/s-bash-reset.md +23 -0
  662. package/skills/s-help/resources/s-context.md +25 -0
  663. package/skills/s-help/resources/s-filechanges-accept.md +25 -0
  664. package/skills/s-help/resources/s-filechanges-decline.md +30 -0
  665. package/skills/s-help/resources/s-filechanges.md +38 -0
  666. package/skills/s-help/resources/s-footer.md +38 -0
  667. package/skills/s-help/resources/s-promptlib.md +28 -0
  668. package/skills/s-help/resources/s-skills-manager.md +31 -0
  669. package/skills/s-help/resources/s-stash-history.md +26 -0
  670. package/skills/screenshot/SKILL.md +267 -0
  671. package/skills/screenshot/scripts/ensure_macos_permissions.sh +54 -0
  672. package/skills/screenshot/scripts/macos_display_info.swift +22 -0
  673. package/skills/screenshot/scripts/macos_permissions.swift +40 -0
  674. package/skills/screenshot/scripts/macos_window_info.swift +126 -0
  675. package/skills/screenshot/scripts/take_screenshot.ps1 +163 -0
  676. package/skills/screenshot/scripts/take_screenshot.py +585 -0
  677. package/slingshot/index.js +224 -224
  678. package/node_modules/zod/src/v4/core/config.ts +0 -15
@@ -1475,6 +1475,73 @@ test('parse()', function (t) {
1475
1475
  sst.end();
1476
1476
  });
1477
1477
 
1478
+ st.test('spreads a comma group appended to an already-overflowed object', function (sst) {
1479
+ var result = qs.parse('a=1,2,3,4,5,6&a=7,8', { comma: true, arrayLimit: 5 });
1480
+ sst.deepEqual(
1481
+ result,
1482
+ { a: { 0: '1', 1: '2', 2: '3', 3: '4', 4: '5', 5: '6', 6: '7', 7: '8' } },
1483
+ 'appended comma values are flattened, not nested'
1484
+ );
1485
+ sst.end();
1486
+ });
1487
+
1488
+ st.test('keeps a `[]=` comma group as one element when appended to an already-overflowed key', function (sst) {
1489
+ var result = qs.parse('a[]=1&a[]=2&a[]=3&a[]=4,5', { comma: true, arrayLimit: 2 });
1490
+ sst.deepEqual(
1491
+ result,
1492
+ { a: { 0: '1', 1: '2', 2: '3', 3: ['4', '5'] } },
1493
+ 'nested comma group stays a single element, not double-nested'
1494
+ );
1495
+ sst.end();
1496
+ });
1497
+
1498
+ st.test('spreads every later comma group appended to an already-overflowed object', function (sst) {
1499
+ var result = qs.parse('a=1,2,3,4,5,6&a=7,8&a=9,10', { comma: true, arrayLimit: 5 });
1500
+ sst.deepEqual(
1501
+ result,
1502
+ { a: { 0: '1', 1: '2', 2: '3', 3: '4', 4: '5', 5: '6', 6: '7', 7: '8', 8: '9', 9: '10' } },
1503
+ 'each appended group is flattened in order'
1504
+ );
1505
+ sst.end();
1506
+ });
1507
+
1508
+ st.test('spreads a comma group appended to an object overflowed under the default arrayLimit', function (sst) {
1509
+ var values = [];
1510
+ for (var i = 0; i <= 20; i += 1) {
1511
+ values[values.length] = String(i);
1512
+ }
1513
+ var expected = {};
1514
+ for (var j = 0; j < values.length; j += 1) {
1515
+ expected[j] = values[j];
1516
+ }
1517
+ expected[21] = 'x';
1518
+ expected[22] = 'y';
1519
+
1520
+ var result = qs.parse('a=' + values.join(',') + '&a=x,y', { comma: true });
1521
+ sst.deepEqual(result, { a: expected }, 'appended values land at indices 21 and 22');
1522
+ sst.end();
1523
+ });
1524
+
1525
+ st.test('spreads a comma group appended to an already-overflowed object with plainObjects', function (sst) {
1526
+ var result = qs.parse('a=1,2,3,4,5,6&a=7,8', { comma: true, arrayLimit: 5, plainObjects: true });
1527
+ sst.deepEqual(
1528
+ result,
1529
+ { __proto__: null, a: { __proto__: null, 0: '1', 1: '2', 2: '3', 3: '4', 4: '5', 5: '6', 6: '7', 7: '8' } },
1530
+ 'appended comma values are flattened into the null object'
1531
+ );
1532
+ sst.end();
1533
+ });
1534
+
1535
+ st.test('still throws with throwOnLimitExceeded when a comma group is appended to an already-overflowed object', function (sst) {
1536
+ sst['throws'](
1537
+ function () {
1538
+ qs.parse('a=1,2,3,4,5,6&a=7,8', { comma: true, arrayLimit: 5, throwOnLimitExceeded: true });
1539
+ },
1540
+ /Array limit exceeded/,
1541
+ 'throws before spreading the appended group'
1542
+ );
1543
+ sst.end();
1544
+ });
1478
1545
  st.test('does not throw for comma groups nested under bracket notation, counting each group as one element', function (sst) {
1479
1546
  var result = qs.parse('a[]=1,2,3&a[]=4,5,6', { comma: true, arrayLimit: 5, throwOnLimitExceeded: true });
1480
1547
  sst.deepEqual(result, { a: [['1', '2', '3'], ['4', '5', '6']] }, 'nested comma groups count as one element each');
@@ -1522,9 +1589,131 @@ test('parse()', function (t) {
1522
1589
  sst.end();
1523
1590
  });
1524
1591
 
1525
- st.test('does not throw for a bracketed comma group within arrayLimit', function (sst) {
1526
- var result = qs.parse('a[]=1,2,3,4,5,6', { comma: true, arrayLimit: 5, throwOnLimitExceeded: true });
1527
- sst.deepEqual(result, { a: [['1', '2', '3', '4', '5', '6']] }, 'a bracketed comma group is a single element');
1592
+ st.test('throws before splitting when a bracketed comma group exceeds arrayLimit', function (sst) {
1593
+ sst['throws'](
1594
+ function () {
1595
+ qs.parse('a[]=1,2,3,4,5,6', { comma: true, arrayLimit: 5, throwOnLimitExceeded: true });
1596
+ },
1597
+ new RangeError('Array limit exceeded. Only 5 elements allowed in an array.'),
1598
+ 'the inner group is itself an array and is subject to arrayLimit'
1599
+ );
1600
+ sst.end();
1601
+ });
1602
+
1603
+ st.test('throws before splitting when a comma group under `[]=` exceeds arrayLimit', function (sst) {
1604
+ sst['throws'](
1605
+ function () {
1606
+ qs.parse('a[]=1,2,3,4', { comma: true, arrayLimit: 3, throwOnLimitExceeded: true });
1607
+ },
1608
+ new RangeError('Array limit exceeded. Only 3 elements allowed in an array.'),
1609
+ 'a bracket-push comma group over the limit throws like the flat form'
1610
+ );
1611
+
1612
+ sst['throws'](
1613
+ function () {
1614
+ qs.parse('a[]=1,2', { comma: true, arrayLimit: 1, throwOnLimitExceeded: true });
1615
+ },
1616
+ new RangeError('Array limit exceeded. Only 1 element allowed in an array.'),
1617
+ 'singular message at arrayLimit 1'
1618
+ );
1619
+
1620
+ sst['throws'](
1621
+ function () {
1622
+ qs.parse('a[b][]=1,2,3,4', { comma: true, arrayLimit: 3, throwOnLimitExceeded: true });
1623
+ },
1624
+ new RangeError('Array limit exceeded. Only 3 elements allowed in an array.'),
1625
+ 'a nested bracket-push key throws'
1626
+ );
1627
+
1628
+ sst['throws'](
1629
+ function () {
1630
+ qs.parse('a[][]=1,2,3,4', { comma: true, arrayLimit: 3, throwOnLimitExceeded: true });
1631
+ },
1632
+ new RangeError('Array limit exceeded. Only 3 elements allowed in an array.'),
1633
+ 'a doubly bracket-pushed key throws'
1634
+ );
1635
+
1636
+ sst['throws'](
1637
+ function () {
1638
+ qs.parse('a[]=5&a[]=1,2,3,4', { comma: true, arrayLimit: 3, throwOnLimitExceeded: true });
1639
+ },
1640
+ new RangeError('Array limit exceeded. Only 3 elements allowed in an array.'),
1641
+ 'an oversized group appended after a scalar throws'
1642
+ );
1643
+
1644
+ sst['throws'](
1645
+ function () {
1646
+ qs.parse('a[]=1,2,3,4&a[]=5', { comma: true, arrayLimit: 3, throwOnLimitExceeded: true });
1647
+ },
1648
+ new RangeError('Array limit exceeded. Only 3 elements allowed in an array.'),
1649
+ 'an oversized group throws even when a later part would fit'
1650
+ );
1651
+
1652
+ sst['throws'](
1653
+ function () {
1654
+ qs.parse('a[]=1,2,3,4&a[]=5', { comma: true, arrayLimit: 3, throwOnLimitExceeded: true, duplicates: 'first' });
1655
+ },
1656
+ new RangeError('Array limit exceeded. Only 3 elements allowed in an array.'),
1657
+ 'throws with duplicates: first'
1658
+ );
1659
+
1660
+ sst['throws'](
1661
+ function () {
1662
+ qs.parse('a[]=5&a[]=1,2,3,4', { comma: true, arrayLimit: 3, throwOnLimitExceeded: true, duplicates: 'last' });
1663
+ },
1664
+ new RangeError('Array limit exceeded. Only 3 elements allowed in an array.'),
1665
+ 'throws with duplicates: last'
1666
+ );
1667
+
1668
+ sst['throws'](
1669
+ function () {
1670
+ qs.parse({ a: '1,2,3,4' }, { comma: true, arrayLimit: 3, throwOnLimitExceeded: true });
1671
+ },
1672
+ new RangeError('Array limit exceeded. Only 3 elements allowed in an array.'),
1673
+ 'an oversized comma value in object input throws'
1674
+ );
1675
+
1676
+ var big = 'a[]=' + new Array(1e5 + 1).join('1,') + '1';
1677
+ sst['throws'](
1678
+ function () {
1679
+ qs.parse(big, { comma: true, arrayLimit: 3, throwOnLimitExceeded: true });
1680
+ },
1681
+ new RangeError('Array limit exceeded. Only 3 elements allowed in an array.'),
1682
+ 'a very long bracket-push comma group throws'
1683
+ );
1684
+ sst.end();
1685
+ });
1686
+
1687
+ st.test('does not throw for a comma group under `[]=` within arrayLimit', function (sst) {
1688
+ sst.deepEqual(
1689
+ qs.parse('a[]=1,2,3', { comma: true, arrayLimit: 3, throwOnLimitExceeded: true }),
1690
+ { a: [['1', '2', '3']] },
1691
+ 'an inner group exactly at the limit stays a single nested element'
1692
+ );
1693
+ sst.deepEqual(
1694
+ qs.parse('a[]=1,2,3&a[]=4,5,6&a[]=7', { comma: true, arrayLimit: 3, throwOnLimitExceeded: true }),
1695
+ { a: [['1', '2', '3'], ['4', '5', '6'], '7'] },
1696
+ 'each group counts as one element of the outer array'
1697
+ );
1698
+ sst.deepEqual(
1699
+ qs.parse('a[b][]=1,2,3', { comma: true, arrayLimit: 3, throwOnLimitExceeded: true }),
1700
+ { a: { b: [['1', '2', '3']] } },
1701
+ 'nested bracket-push key within the limit'
1702
+ );
1703
+ sst.deepEqual(
1704
+ qs.parse({ a: '1,2,3' }, { comma: true, arrayLimit: 3, throwOnLimitExceeded: true }),
1705
+ { a: ['1', '2', '3'] },
1706
+ 'object input within the limit'
1707
+ );
1708
+ sst.end();
1709
+ });
1710
+
1711
+ st.test('keeps an oversized comma group under `[]=` as a nested array without throwOnLimitExceeded', function (sst) {
1712
+ sst.deepEqual(
1713
+ qs.parse('a[]=1,2,3,4', { comma: true, arrayLimit: 3 }),
1714
+ { a: [['1', '2', '3', '4']] },
1715
+ 'the inner group is not converted to an overflow object'
1716
+ );
1528
1717
  sst.end();
1529
1718
  });
1530
1719
 
@@ -136,6 +136,144 @@ test('stringify()', function (t) {
136
136
  st.end();
137
137
  });
138
138
 
139
+ t.test('encodes dot in key of object with a primitive value when encodeDotInKeys and allowDots is provided', function (st) {
140
+ st.equal(
141
+ qs.stringify(
142
+ { 'name.obj': 'John' },
143
+ { allowDots: true, encodeDotInKeys: true }
144
+ ),
145
+ 'name%252Eobj=John',
146
+ 'with allowDots true and encodeDotInKeys true'
147
+ );
148
+ st.equal(
149
+ qs.stringify(
150
+ { 'name.obj': 'John' },
151
+ { allowDots: false, encodeDotInKeys: true }
152
+ ),
153
+ 'name%252Eobj=John',
154
+ 'with allowDots false and encodeDotInKeys true'
155
+ );
156
+ st.equal(
157
+ qs.stringify(
158
+ { 'name.obj': 'John' },
159
+ { encodeDotInKeys: true, allowDots: true, encodeValuesOnly: true }
160
+ ),
161
+ 'name%2Eobj=John',
162
+ 'with encodeValuesOnly true'
163
+ );
164
+
165
+ // With `encodeValuesOnly` the key encoder is skipped, so the dot is encoded once
166
+ // (`%2E`) rather than twice. That single `%2E` decodes back to a structural dot, so
167
+ // unlike the default output below this does not round-trip to the original dotted key
168
+ // (a pre-existing `encodeValuesOnly` + `encodeDotInKeys` limitation, not new here).
169
+ st.deepEqual(
170
+ qs.parse(
171
+ qs.stringify(
172
+ { 'name.obj': 'John' },
173
+ { encodeDotInKeys: true, allowDots: true, encodeValuesOnly: true }
174
+ ),
175
+ { allowDots: true, decodeDotInKeys: true }
176
+ ),
177
+ { name: { obj: 'John' } },
178
+ 'with encodeValuesOnly the single-encoded dot decodes structurally (does not round-trip)'
179
+ );
180
+
181
+ st.deepEqual(
182
+ qs.parse(
183
+ qs.stringify({ 'name.obj': 'John' }, { allowDots: true, encodeDotInKeys: true }),
184
+ { allowDots: true, decodeDotInKeys: true }
185
+ ),
186
+ { 'name.obj': 'John' },
187
+ 'round-trips a dotted key with a primitive value'
188
+ );
189
+
190
+ st.equal(
191
+ qs.stringify({ 'a.b': null }, { allowDots: true, encodeDotInKeys: true, strictNullHandling: true }),
192
+ 'a%252Eb',
193
+ 'encodes a dotted key with a null value'
194
+ );
195
+ st.equal(
196
+ qs.stringify({ 'a.b': '1', 'c.d': '2' }, { allowDots: true, encodeDotInKeys: true }),
197
+ 'a%252Eb=1&c%252Ed=2',
198
+ 'encodes dots in every top-level key, not just the first'
199
+ );
200
+ st.equal(
201
+ qs.stringify({ 'a.b.c': 'x' }, { allowDots: true, encodeDotInKeys: true }),
202
+ 'a%252Eb%252Ec=x',
203
+ 'encodes every dot in a key'
204
+ );
205
+ var primitiveKey = qs.stringify({ 'a.b': 'c' }, { allowDots: true, encodeDotInKeys: true }).split('=')[0];
206
+ st.equal(
207
+ qs.stringify({ 'a.b': { x: 'c' } }, { allowDots: true, encodeDotInKeys: true }).indexOf(primitiveKey + '.'),
208
+ 0,
209
+ 'a top-level dotted key encodes identically for primitive and object values'
210
+ );
211
+
212
+ st.end();
213
+ });
214
+
215
+ // Characterization of the CURRENT (buggy) behavior: with `allowDots` + `encodeDotInKeys`,
216
+ // `stringify` percent-encodes the structural `.` separators that `allowDots` inserts between
217
+ // nested keys, not just the literal dots inside a key, which breaks the stringify -> parse
218
+ // round-trip. These assertions pin that behavior so it cannot change silently: the fix in
219
+ // https://github.com/ljharb/qs/pull/564 changes every output below, so landing that fix MUST
220
+ // update this test (that is the point — it forces the behavior change to be explicit).
221
+ t.test('[characterization] encodeDotInKeys currently over-encodes structural separator dots (pre-#564)', function (st) {
222
+ st.equal(
223
+ qs.stringify({ a: { b: { c: 'd' } } }, { allowDots: true, encodeDotInKeys: true }),
224
+ 'a%252Eb.c=d',
225
+ 'over-encodes the a->b separator (#564: should become a.b.c=d)'
226
+ );
227
+ st.equal(
228
+ qs.stringify({ a: { b: { c: { d: 'e' } } } }, { allowDots: true, encodeDotInKeys: true }),
229
+ 'a%252Eb%252Ec.d=e',
230
+ 'clobbers every separator but the last (#564: should become a.b.c.d=e)'
231
+ );
232
+ st.equal(
233
+ qs.stringify({ 'a.b': { c: { d: 'e' } } }, { allowDots: true, encodeDotInKeys: true }),
234
+ 'a%252Eb%252Ec.d=e',
235
+ 'top-level dotted key: deeper separators also get encoded (#564: should become a%252Eb.c.d=e)'
236
+ );
237
+ st.equal(
238
+ qs.stringify({ a: { 'b.c': { d: 'e' } } }, { allowDots: true, encodeDotInKeys: true }),
239
+ 'a%252Eb%252Ec.d=e',
240
+ 'nested dotted key + object value: the separator around it is encoded (#564: should become a.b%252Ec.d=e)'
241
+ );
242
+ st.equal(
243
+ qs.stringify({ a: { b: { 'c.d': { e: 'f' } } } }, { allowDots: true, encodeDotInKeys: true }),
244
+ 'a%252Eb%252Ec%252Ed.e=f',
245
+ 'deeply nested dotted key: all separators encoded (#564: should become a.b.c%252Ed.e=f)'
246
+ );
247
+
248
+ st.equal(
249
+ qs.stringify({ a: { b: [1, 2] } }, { allowDots: true, encodeDotInKeys: true }),
250
+ 'a%252Eb%5B0%5D=1&a%252Eb%5B1%5D=2',
251
+ 'array value under nested keys: separator encoded (#564: should become a.b%5B0%5D=1&a.b%5B1%5D=2)'
252
+ );
253
+ st.equal(
254
+ qs.stringify({ a: { 'b.c': [1, 2] } }, { allowDots: true, encodeDotInKeys: true }),
255
+ 'a%252Eb%252Ec%5B0%5D=1&a%252Eb%252Ec%5B1%5D=2',
256
+ 'array value under nested dotted key (#564: should become a.b%252Ec%5B0%5D=1&a.b%252Ec%5B1%5D=2)'
257
+ );
258
+
259
+ st.equal(
260
+ qs.stringify({ a: { 'b.c': { d: 'e' } } }, { allowDots: false, encodeDotInKeys: true }),
261
+ 'a%5Bb%252Ec%5D%5Bd%5D=e',
262
+ 'allowDots:false object value encodes the nested-key dot, unlike the primitive-value case (#564: should become a%5Bb.c%5D%5Bd%5D=e)'
263
+ );
264
+
265
+ st.deepEqual(
266
+ qs.parse(
267
+ qs.stringify({ a: { b: { c: 'd' } } }, { allowDots: true, encodeDotInKeys: true }),
268
+ { allowDots: true, decodeDotInKeys: true }
269
+ ),
270
+ { 'a.b': { c: 'd' } },
271
+ 'the over-encoding breaks the round-trip: {a:{b:{c}}} comes back as {"a.b":{c}} (#564 restores it)'
272
+ );
273
+
274
+ st.end();
275
+ });
276
+
139
277
  t.test('should encode dot in key of object, and automatically set allowDots to `true` when encodeDotInKeys is true and allowDots in undefined', function (st) {
140
278
  st.equal(
141
279
  qs.stringify(
@@ -328,6 +466,39 @@ test('stringify()', function (t) {
328
466
  st.end();
329
467
  });
330
468
 
469
+ t.test('allowEmptyArrays only short-circuits arrays with no own keys', function (st) {
470
+ st.equal(
471
+ qs.stringify({ a: [] }, { allowEmptyArrays: true }),
472
+ 'a[]',
473
+ 'a genuinely empty array is still emitted as `[]`'
474
+ );
475
+
476
+ var withKey = [];
477
+ withKey.extra = 'x';
478
+ st.equal(
479
+ qs.stringify({ a: withKey }, { allowEmptyArrays: true }),
480
+ 'a%5Bextra%5D=x',
481
+ 'an own key on an empty array is serialized rather than dropped'
482
+ );
483
+ st.equal(
484
+ qs.stringify({ a: withKey }, { allowEmptyArrays: true }),
485
+ qs.stringify({ a: withKey }),
486
+ 'the allowEmptyArrays fast path matches the default path when the array has own keys'
487
+ );
488
+
489
+ var container = {};
490
+ var cyclic = [];
491
+ cyclic.back = container;
492
+ container.a = cyclic;
493
+ st['throws'](
494
+ function () { qs.stringify(container, { allowEmptyArrays: true }); },
495
+ RangeError,
496
+ 'a cycle through an empty array with an own key is still detected'
497
+ );
498
+
499
+ st.end();
500
+ });
501
+
331
502
  t.test('stringifies an array value with one item vs multiple items', function (st) {
332
503
  st.test('non-array item', function (s2t) {
333
504
  s2t.equal(qs.stringify({ a: 'c' }, { encodeValuesOnly: true, arrayFormat: 'indices' }), 'a=c');
@@ -761,6 +932,33 @@ test('stringify()', function (t) {
761
932
  st.end();
762
933
  });
763
934
 
935
+ t.test('does not throw on a non-callable `constructor.isBuffer` key', function (st) {
936
+ var input = { a: { constructor: { isBuffer: 'x' } } };
937
+ st.doesNotThrow(function () { qs.stringify(input); });
938
+ st.equal(qs.stringify(input), 'a%5Bconstructor%5D%5BisBuffer%5D=x');
939
+ st.equal(qs.stringify({ a: { constructor: { isBuffer: { b: 'c' } } } }), 'a%5Bconstructor%5D%5BisBuffer%5D%5Bb%5D=c');
940
+ st.equal(qs.stringify({ a: { constructor: { isBuffer: ['b'] } } }), 'a%5Bconstructor%5D%5BisBuffer%5D%5B0%5D=b');
941
+ st.equal(qs.stringify({ a: { constructor: { isBuffer: true } } }), 'a%5Bconstructor%5D%5BisBuffer%5D=true');
942
+ st.end();
943
+ });
944
+
945
+ t.test('round-trips a parsed `constructor[isBuffer]` key', function (st) {
946
+ var str = 'x%5Bconstructor%5D%5BisBuffer%5D=y';
947
+
948
+ var plain = qs.parse(str, { plainObjects: true });
949
+ st.deepEqual(plain, { __proto__: null, x: { __proto__: null, constructor: { __proto__: null, isBuffer: 'y' } } }, 'plainObjects keeps the key');
950
+ st.doesNotThrow(function () { qs.stringify(plain); });
951
+ st.equal(qs.stringify(plain), str, 'plainObjects round-trips');
952
+
953
+ var proto = qs.parse(str, { allowPrototypes: true });
954
+ st.deepEqual(proto, { x: { constructor: { isBuffer: 'y' } } }, 'allowPrototypes keeps the key');
955
+ st.doesNotThrow(function () { qs.stringify(proto); });
956
+ st.equal(qs.stringify(proto), str, 'allowPrototypes round-trips');
957
+
958
+ st.equal(qs.stringify(qs.parse(str)), '', 'default options drop the key');
959
+ st.end();
960
+ });
961
+
764
962
  t.test('stringifies an object using an alternative delimiter', function (st) {
765
963
  st.equal(qs.stringify({ a: 'b', c: 'd' }, { delimiter: ';' }), 'a=b;c=d');
766
964
  st.end();
@@ -919,6 +1117,66 @@ test('stringify()', function (t) {
919
1117
  st.end();
920
1118
  });
921
1119
 
1120
+ t.test('serializes Date values unless filter transforms them', function (st) {
1121
+ var obj = {
1122
+ a: new Date(Date.UTC(2023, 2, 7, 9, 2, 41, 260)),
1123
+ b: [new Date(Date.UTC(2023, 2, 7, 9, 2, 41, 260))]
1124
+ };
1125
+ var iso = '2023-03-07T09%3A02%3A41.260Z';
1126
+ st.equal(
1127
+ qs.stringify(obj, { filter: function (prefix, value) { return value; } }),
1128
+ 'a=' + iso + '&b%5B0%5D=' + iso,
1129
+ 'Dates returned unchanged by a filter are serialized'
1130
+ );
1131
+ st.equal(
1132
+ qs.stringify({ a: new Date(0) }, { filter: function (prefix, value) { return value instanceof Date ? 'kept' : value; } }),
1133
+ 'a=kept',
1134
+ 'a filter that transforms a Date wins over default serialization'
1135
+ );
1136
+ st.end();
1137
+ });
1138
+
1139
+ t.test('applies default Date handling to whatever a filter function returns', function (st) {
1140
+ var date = new Date(Date.UTC(2023, 2, 7, 9, 2, 41, 260));
1141
+ var iso = '2023-03-07T09%3A02%3A41.260Z';
1142
+ var identity = function (prefix, value) { return value; };
1143
+
1144
+ st.equal(
1145
+ qs.stringify({ a: { b: date } }, { filter: identity }),
1146
+ 'a%5Bb%5D=' + iso,
1147
+ 'a nested Date is serialized through a filter'
1148
+ );
1149
+ st.equal(
1150
+ qs.stringify(
1151
+ { a: date },
1152
+ { filter: identity, serializeDate: function (d) { return String(d.getTime()); } }
1153
+ ),
1154
+ 'a=1678179761260',
1155
+ '`serializeDate` is honored after a filter'
1156
+ );
1157
+ st.equal(
1158
+ qs.stringify({ a: [date, 'x'] }, { filter: identity, arrayFormat: 'comma' }),
1159
+ 'a=' + iso + '%2Cx',
1160
+ 'Dates inside a comma array are serialized through a filter, not stringified as locale text'
1161
+ );
1162
+ st.equal(
1163
+ qs.stringify({ a: 'x' }, { filter: function (prefix, value) { return prefix === 'a' ? date : value; } }),
1164
+ 'a=' + iso,
1165
+ 'a Date produced by the filter is serialized'
1166
+ );
1167
+ st.equal(
1168
+ qs.stringify({ a: date, b: 1 }, { filter: ['a'] }),
1169
+ 'a=' + iso,
1170
+ 'an array filter still serializes Dates'
1171
+ );
1172
+ st['throws'](
1173
+ function () { qs.stringify({ a: new Date(NaN) }, { filter: identity }); },
1174
+ RangeError,
1175
+ 'an invalid Date through a filter throws like the no-filter path'
1176
+ );
1177
+ st.end();
1178
+ });
1179
+
922
1180
  t.test('can disable uri encoding', function (st) {
923
1181
  st.equal(qs.stringify({ a: 'b' }, { encode: false }), 'a=b');
924
1182
  st.equal(qs.stringify({ a: { b: 'c' } }, { encode: false }), 'a[b]=c');
@@ -1445,4 +1703,63 @@ test('stringifies empty keys', function (t) {
1445
1703
 
1446
1704
  st.end();
1447
1705
  });
1706
+
1707
+ t.test('limits nesting depth with the `depth` option', function (st) {
1708
+ st.equal(
1709
+ qs.stringify({ a: { b: { c: 'd' } } }),
1710
+ 'a%5Bb%5D%5Bc%5D=d',
1711
+ 'the default depth is unlimited and does not alter output'
1712
+ );
1713
+ st.equal(
1714
+ qs.stringify({ a: { b: { c: 'd' } } }, { depth: 2 }),
1715
+ 'a%5Bb%5D%5Bc%5D=d',
1716
+ 'does not throw when nesting is within the depth limit'
1717
+ );
1718
+ st.equal(
1719
+ qs.stringify({ a: { b: 'c' } }, { depth: Infinity }),
1720
+ 'a%5Bb%5D=c',
1721
+ 'an explicit Infinity depth is unlimited'
1722
+ );
1723
+ st.equal(
1724
+ qs.stringify({ a: { b: { c: { d: 'e' } } } }, { depth: null }),
1725
+ qs.stringify({ a: { b: { c: { d: 'e' } } } }),
1726
+ 'a non-number depth is ignored and treated as unlimited'
1727
+ );
1728
+ st.equal(
1729
+ qs.stringify({ a: 'b' }, { depth: 0 }),
1730
+ 'a=b',
1731
+ 'a flat object serializes with a depth of 0'
1732
+ );
1733
+
1734
+ var deep = {};
1735
+ var cursor = deep;
1736
+ for (var i = 0; i < 250; i++) {
1737
+ cursor.a = {};
1738
+ cursor = cursor.a;
1739
+ }
1740
+ cursor.b = 'c';
1741
+ st.equal(typeof qs.stringify(deep), 'string', 'the default depth serializes deeply nested objects without throwing');
1742
+
1743
+ st['throws'](
1744
+ function () { qs.stringify({ a: { b: { c: { d: 'e' } } } }, { depth: 2 }); },
1745
+ RangeError,
1746
+ 'throws a RangeError when nesting exceeds the depth limit'
1747
+ );
1748
+ st['throws'](
1749
+ function () { qs.stringify({ a: { b: 'c' } }, { depth: 0 }); },
1750
+ RangeError,
1751
+ 'a depth of 0 throws for any nested object'
1752
+ );
1753
+
1754
+ var caught;
1755
+ try {
1756
+ qs.stringify({ a: { b: { c: { d: 'e' } } } }, { depth: 2 });
1757
+ } catch (e) {
1758
+ caught = e;
1759
+ }
1760
+ st.ok(caught instanceof RangeError, 'the thrown value is a RangeError');
1761
+ st.equal(caught.message, 'Input depth exceeded depth option of 2', 'the RangeError names the exceeded depth');
1762
+
1763
+ st.end();
1764
+ });
1448
1765
  });
@@ -604,6 +604,18 @@ test('isBuffer()', function (t) {
604
604
  var fakeBuffer = { constructor: Buffer };
605
605
  t.equal(utils.isBuffer(fakeBuffer), false, 'fake buffer is not a buffer');
606
606
 
607
+ forEach(['x', 1, true, {}, [], { isBuffer: true }], function (notCallable) {
608
+ var obj = { constructor: { isBuffer: notCallable } };
609
+ t.doesNotThrow(function () { utils.isBuffer(obj); }, 'non-callable `constructor.isBuffer` (' + inspect(notCallable) + ') does not throw');
610
+ t.equal(utils.isBuffer(obj), false, 'non-callable `constructor.isBuffer` (' + inspect(notCallable) + ') is not a buffer');
611
+ });
612
+
613
+ var nullObject = { __proto__: null, constructor: { __proto__: null, isBuffer: 'y' } };
614
+ t.equal(utils.isBuffer(nullObject), false, 'null object with non-callable `constructor.isBuffer` is not a buffer');
615
+
616
+ var duckBuffer = { constructor: { isBuffer: function () { return true; } } };
617
+ t.equal(utils.isBuffer(duckBuffer), true, 'callable `constructor.isBuffer` is still honored');
618
+
607
619
  var saferBuffer = SaferBuffer.from('abc');
608
620
  t.equal(utils.isBuffer(saferBuffer), true, 'SaferBuffer instance is a buffer');
609
621
 
@@ -113,6 +113,33 @@ await schema.parseAsync("hello");
113
113
  // => "hello"
114
114
  ```
115
115
 
116
+ ### AOT compilation
117
+
118
+ For hot validation paths, `z.compile(schema)` returns a schema clone with an ahead-of-time compiled fast path. Valid inputs take the compiled path; invalid inputs fall back to the regular parser so error reporting stays identical.
119
+
120
+ Across a 55-schema benchmark the median speedup is **2.4x**, and it scales with how much work the schema does per parse: a large array of objects is ~9x, a 20-key object ~9x, a nested object ~4.5x, while a bare `z.string()` gains nothing — compilation removes per-node dispatch and allocation, and a single `typeof` has none to remove.
121
+
122
+ ```ts
123
+ const CompiledPlayer = z.compile(Player);
124
+
125
+ CompiledPlayer.parse({ username: "billie", xp: 100 });
126
+ ```
127
+
128
+ To enable compilation globally for schemas constructed after import:
129
+
130
+ ```ts
131
+ import "zod/compile"; // place before modules that define schemas
132
+ ```
133
+
134
+ Things to know:
135
+
136
+ - Compilation uses `new Function`. Global mode is automatically disabled when `z.config({ jitless: true })` is set (e.g. CSP environments); calling `z.compile()` directly is an explicit opt-in.
137
+ - Schemas with async refinements or transforms can't be compiled, and neither can a few other constructs. That is not an error: `z.compile()` hands the schema back unchanged and it keeps using the regular parser, exactly as global mode leaves it. Pass `{ strict: true }` to throw `ZodCompileAsyncError` / `ZodCompileUnsupportedError` instead.
138
+ - On invalid input, refinements and transforms may run twice (fast path, then fallback).
139
+ - Deriving a new schema from a compiled one (`.refine()`, `.extend()`, etc.) returns an uncompiled schema — compile the final schema.
140
+
141
+ See [`compile` docs](https://zod.dev/compile) for details.
142
+
116
143
  ### Handling errors
117
144
 
118
145
  When validation fails, the `.parse()` method will throw a `ZodError` instance with granular information about the validation issues.