@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
@@ -491,6 +491,7 @@ class ClientHttp2SessionRef {
491
491
  destroy() {
492
492
  this.refs = 0;
493
493
  if (!this.session.destroyed) {
494
+ this.session.setTimeout(0);
494
495
  this.session.destroy();
495
496
  }
496
497
  }
@@ -608,9 +609,8 @@ class NodeHttp2ConnectionManager {
608
609
  session.on("error", ensureDestroyed);
609
610
  session.on("frameError", ensureDestroyed);
610
611
  session.on("close", ensureDestroyed);
611
- if (connectionConfiguration.requestTimeout) {
612
- session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed);
613
- }
612
+ const timeout = connectionConfiguration.requestTimeout ?? 300_000;
613
+ session.setTimeout(timeout, ensureDestroyed);
614
614
  ref.retain();
615
615
  return ref;
616
616
  }
@@ -817,6 +817,9 @@ class NodeHttp2Handler {
817
817
  resolve({ response: httpResponse });
818
818
  if (useIsolatedSession) {
819
819
  session.close();
820
+ clientHttp2Stream.on("end", () => {
821
+ ref.destroy();
822
+ });
820
823
  }
821
824
  });
822
825
  clientHttp2Stream.on("close", () => {
@@ -827,7 +830,11 @@ class NodeHttp2Handler {
827
830
  this.connectionManager.release(requestContext, ref);
828
831
  }
829
832
  if (!fulfilled) {
830
- rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response"));
833
+ const error = new Error("Unexpected error: http2 request did not get a response");
834
+ if (session.destroyed) {
835
+ error.name = "TimeoutError";
836
+ }
837
+ rejectWithDestroy(error);
831
838
  }
832
839
  });
833
840
  writeRequestBodyPromise = writeRequestBody(clientHttp2Stream, request, effectiveRequestTimeout);
@@ -41,6 +41,7 @@ export class ClientHttp2SessionRef {
41
41
  destroy() {
42
42
  this.refs = 0;
43
43
  if (!this.session.destroyed) {
44
+ this.session.setTimeout(0);
44
45
  this.session.destroy();
45
46
  }
46
47
  }
@@ -64,9 +64,8 @@ export class NodeHttp2ConnectionManager {
64
64
  session.on("error", ensureDestroyed);
65
65
  session.on("frameError", ensureDestroyed);
66
66
  session.on("close", ensureDestroyed);
67
- if (connectionConfiguration.requestTimeout) {
68
- session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed);
69
- }
67
+ const timeout = connectionConfiguration.requestTimeout ?? 300_000;
68
+ session.setTimeout(timeout, ensureDestroyed);
70
69
  ref.retain();
71
70
  return ref;
72
71
  }
@@ -142,6 +142,9 @@ export class NodeHttp2Handler {
142
142
  resolve({ response: httpResponse });
143
143
  if (useIsolatedSession) {
144
144
  session.close();
145
+ clientHttp2Stream.on("end", () => {
146
+ ref.destroy();
147
+ });
145
148
  }
146
149
  });
147
150
  clientHttp2Stream.on("close", () => {
@@ -152,7 +155,11 @@ export class NodeHttp2Handler {
152
155
  this.connectionManager.release(requestContext, ref);
153
156
  }
154
157
  if (!fulfilled) {
155
- rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response"));
158
+ const error = new Error("Unexpected error: http2 request did not get a response");
159
+ if (session.destroyed) {
160
+ error.name = "TimeoutError";
161
+ }
162
+ rejectWithDestroy(error);
156
163
  }
157
164
  });
158
165
  writeRequestBodyPromise = writeRequestBody(clientHttp2Stream, request, effectiveRequestTimeout);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/node-http-handler",
3
- "version": "4.11.3",
3
+ "version": "4.12.1",
4
4
  "description": "Provides a way to make requests",
5
5
  "homepage": "https://github.com/smithy-lang/smithy-typescript/tree/main/packages/node-http-handler",
6
6
  "license": "Apache-2.0",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@smithy/core": "^3.33.3",
43
- "@smithy/types": "^4.17.2",
43
+ "@smithy/types": "^4.18.0",
44
44
  "tslib": "^2.6.2"
45
45
  },
46
46
  "devDependencies": {
@@ -52,6 +52,8 @@ function memoizeChain(providers, treatAsExpired) {
52
52
  passiveLock = chain(options)
53
53
  .then((c) => {
54
54
  credentials = c;
55
+ })
56
+ .catch(() => {
55
57
  })
56
58
  .finally(() => {
57
59
  passiveLock = undefined;
@@ -32,6 +32,8 @@ export function memoizeChain(providers, treatAsExpired) {
32
32
  passiveLock = chain(options)
33
33
  .then((c) => {
34
34
  credentials = c;
35
+ })
36
+ .catch(() => {
35
37
  })
36
38
  .finally(() => {
37
39
  passiveLock = undefined;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-node",
3
- "version": "3.972.81",
3
+ "version": "3.972.82",
4
4
  "description": "AWS credential provider that sources credentials from a Node.JS environment. ",
5
5
  "keywords": [
6
6
  "aws",
@@ -491,6 +491,7 @@ class ClientHttp2SessionRef {
491
491
  destroy() {
492
492
  this.refs = 0;
493
493
  if (!this.session.destroyed) {
494
+ this.session.setTimeout(0);
494
495
  this.session.destroy();
495
496
  }
496
497
  }
@@ -608,9 +609,8 @@ class NodeHttp2ConnectionManager {
608
609
  session.on("error", ensureDestroyed);
609
610
  session.on("frameError", ensureDestroyed);
610
611
  session.on("close", ensureDestroyed);
611
- if (connectionConfiguration.requestTimeout) {
612
- session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed);
613
- }
612
+ const timeout = connectionConfiguration.requestTimeout ?? 300_000;
613
+ session.setTimeout(timeout, ensureDestroyed);
614
614
  ref.retain();
615
615
  return ref;
616
616
  }
@@ -817,6 +817,9 @@ class NodeHttp2Handler {
817
817
  resolve({ response: httpResponse });
818
818
  if (useIsolatedSession) {
819
819
  session.close();
820
+ clientHttp2Stream.on("end", () => {
821
+ ref.destroy();
822
+ });
820
823
  }
821
824
  });
822
825
  clientHttp2Stream.on("close", () => {
@@ -827,7 +830,11 @@ class NodeHttp2Handler {
827
830
  this.connectionManager.release(requestContext, ref);
828
831
  }
829
832
  if (!fulfilled) {
830
- rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response"));
833
+ const error = new Error("Unexpected error: http2 request did not get a response");
834
+ if (session.destroyed) {
835
+ error.name = "TimeoutError";
836
+ }
837
+ rejectWithDestroy(error);
831
838
  }
832
839
  });
833
840
  writeRequestBodyPromise = writeRequestBody(clientHttp2Stream, request, effectiveRequestTimeout);
@@ -41,6 +41,7 @@ export class ClientHttp2SessionRef {
41
41
  destroy() {
42
42
  this.refs = 0;
43
43
  if (!this.session.destroyed) {
44
+ this.session.setTimeout(0);
44
45
  this.session.destroy();
45
46
  }
46
47
  }
@@ -64,9 +64,8 @@ export class NodeHttp2ConnectionManager {
64
64
  session.on("error", ensureDestroyed);
65
65
  session.on("frameError", ensureDestroyed);
66
66
  session.on("close", ensureDestroyed);
67
- if (connectionConfiguration.requestTimeout) {
68
- session.setTimeout(connectionConfiguration.requestTimeout, ensureDestroyed);
69
- }
67
+ const timeout = connectionConfiguration.requestTimeout ?? 300_000;
68
+ session.setTimeout(timeout, ensureDestroyed);
70
69
  ref.retain();
71
70
  return ref;
72
71
  }
@@ -142,6 +142,9 @@ export class NodeHttp2Handler {
142
142
  resolve({ response: httpResponse });
143
143
  if (useIsolatedSession) {
144
144
  session.close();
145
+ clientHttp2Stream.on("end", () => {
146
+ ref.destroy();
147
+ });
145
148
  }
146
149
  });
147
150
  clientHttp2Stream.on("close", () => {
@@ -152,7 +155,11 @@ export class NodeHttp2Handler {
152
155
  this.connectionManager.release(requestContext, ref);
153
156
  }
154
157
  if (!fulfilled) {
155
- rejectWithDestroy(new Error("Unexpected error: http2 request did not get a response"));
158
+ const error = new Error("Unexpected error: http2 request did not get a response");
159
+ if (session.destroyed) {
160
+ error.name = "TimeoutError";
161
+ }
162
+ rejectWithDestroy(error);
156
163
  }
157
164
  });
158
165
  writeRequestBodyPromise = writeRequestBody(clientHttp2Stream, request, effectiveRequestTimeout);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/node-http-handler",
3
- "version": "4.11.3",
3
+ "version": "4.12.1",
4
4
  "description": "Provides a way to make requests",
5
5
  "homepage": "https://github.com/smithy-lang/smithy-typescript/tree/main/packages/node-http-handler",
6
6
  "license": "Apache-2.0",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@smithy/core": "^3.33.3",
43
- "@smithy/types": "^4.17.2",
43
+ "@smithy/types": "^4.18.0",
44
44
  "tslib": "^2.6.2"
45
45
  },
46
46
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@earendil-works/pi-telemetry",
3
- "version": "0.84.3",
3
+ "version": "0.84.4",
4
4
  "description": "Vendor-neutral telemetry contracts and typed schema utilities for pi",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -51,6 +51,7 @@ class FetchHttpHandler {
51
51
  const requestTimeoutInMs = requestTimeout$1 ?? this.config.requestTimeout;
52
52
  const keepAlive = this.config.keepAlive === true;
53
53
  const credentials = this.config.credentials;
54
+ const fetchFn = this.config.customFetch ?? fetch;
54
55
  if (abortSignal?.aborted) {
55
56
  const abortError = buildAbortError(abortSignal);
56
57
  return Promise.reject(abortError);
@@ -96,7 +97,7 @@ class FetchHttpHandler {
96
97
  let removeSignalEventListener = () => { };
97
98
  const fetchRequest = createRequest(url, requestOptions);
98
99
  const raceOfPromises = [
99
- fetch(fetchRequest).then((response) => {
100
+ fetchFn(fetchRequest).then((response) => {
100
101
  const fetchHeaders = response.headers;
101
102
  const transformedHeaders = {};
102
103
  for (const pair of fetchHeaders.entries()) {
@@ -34,6 +34,7 @@ export class FetchHttpHandler {
34
34
  const requestTimeoutInMs = requestTimeout ?? this.config.requestTimeout;
35
35
  const keepAlive = this.config.keepAlive === true;
36
36
  const credentials = this.config.credentials;
37
+ const fetchFn = this.config.customFetch ?? fetch;
37
38
  if (abortSignal?.aborted) {
38
39
  const abortError = buildAbortError(abortSignal);
39
40
  return Promise.reject(abortError);
@@ -79,7 +80,7 @@ export class FetchHttpHandler {
79
80
  let removeSignalEventListener = () => { };
80
81
  const fetchRequest = createRequest(url, requestOptions);
81
82
  const raceOfPromises = [
82
- fetch(fetchRequest).then((response) => {
83
+ fetchFn(fetchRequest).then((response) => {
83
84
  const fetchHeaders = response.headers;
84
85
  const transformedHeaders = {};
85
86
  for (const pair of fetchHeaders.entries()) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/fetch-http-handler",
3
- "version": "5.7.2",
3
+ "version": "5.8.0",
4
4
  "description": "Provides a way to make requests",
5
5
  "homepage": "https://github.com/smithy-lang/smithy-typescript/tree/main/packages/fetch-http-handler",
6
6
  "license": "Apache-2.0",
@@ -40,8 +40,8 @@
40
40
  "test:browser:watch": "yarn g:vitest watch -c vitest.config.browser.mts"
41
41
  },
42
42
  "dependencies": {
43
- "@smithy/core": "^3.33.2",
44
- "@smithy/types": "^4.17.2",
43
+ "@smithy/core": "^3.33.3",
44
+ "@smithy/types": "^4.18.0",
45
45
  "tslib": "^2.6.2"
46
46
  },
47
47
  "devDependencies": {
@@ -118,6 +118,20 @@ export interface FetchHttpHandlerOptions {
118
118
  * ```
119
119
  */
120
120
  requestInit?: (httpRequest: IHttpRequest) => RequestInit;
121
+ /**
122
+ * An optional custom fetch implementation to use in place of the
123
+ * global fetch function.
124
+ *
125
+ * @example
126
+ * ```js
127
+ * new Client({
128
+ * requestHandler: {
129
+ * customFetch: (request) => myFetchImplementation(request)
130
+ * }
131
+ * });
132
+ * ```
133
+ */
134
+ customFetch?: typeof fetch;
121
135
  }
122
136
  declare global {
123
137
  /**
@@ -118,6 +118,20 @@ export interface FetchHttpHandlerOptions {
118
118
  * ```
119
119
  */
120
120
  requestInit?: (httpRequest: IHttpRequest) => RequestInit;
121
+ /**
122
+ * An optional custom fetch implementation to use in place of the
123
+ * global fetch function.
124
+ *
125
+ * @example
126
+ * ```js
127
+ * new Client({
128
+ * requestHandler: {
129
+ * customFetch: (request) => myFetchImplementation(request)
130
+ * }
131
+ * });
132
+ * ```
133
+ */
134
+ customFetch?: typeof fetch;
121
135
  }
122
136
  declare global {
123
137
  /**
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/types",
3
- "version": "4.17.2",
3
+ "version": "4.18.0",
4
4
  "homepage": "https://github.com/smithy-lang/smithy-typescript/tree/main/packages/types",
5
5
  "license": "Apache-2.0",
6
6
  "author": {
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Thu, 27 Aug 2026 00:14:49 GMT
11
+ * Last updated: Tue, 01 Sep 2026 20:06:05 GMT
12
12
  * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
13
13
 
14
14
  # Credits
@@ -459,7 +459,7 @@ declare module "node:ffi" {
459
459
  "void": void;
460
460
  "number": number;
461
461
  "bigint": bigint;
462
- "pointer": bigint | null;
462
+ "pointer": bigint;
463
463
  }
464
464
  enum types {
465
465
  VOID = "void",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "26.4.0",
3
+ "version": "26.4.1",
4
4
  "description": "TypeScript definitions for node",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -150,6 +150,6 @@
150
150
  "undici-types": "~8.3.0"
151
151
  },
152
152
  "peerDependencies": {},
153
- "typesPublisherContentHash": "0793b8d36264e159c56982e4bc1d7024a8a703b13431ee414c7feacfe570e674",
153
+ "typesPublisherContentHash": "463ff626c280fc7ad82097e8ff9ab6bd4a19fb2b4c56c8d56c2b8148cd872d0c",
154
154
  "typeScriptVersion": "5.6"
155
155
  }
@@ -297,9 +297,9 @@ var setDraft8Headers = (response, info, windowMs, name, key) => {
297
297
  response.append("RateLimit", `"${name}"; ${header}`);
298
298
  response.append("RateLimit-Policy", `"${name}"; ${policy}`);
299
299
  };
300
- var setRetryAfterHeader = (response, info, windowMs) => {
300
+ var setRetryAfterHeader = (response, info, windowMs, retryAfter) => {
301
301
  if (response.headersSent) return;
302
- const resetSeconds = getResetSeconds(windowMs, info.resetTime);
302
+ const resetSeconds = retryAfter ?? getResetSeconds(windowMs, info.resetTime);
303
303
  response.setHeader("Retry-After", resetSeconds.toString());
304
304
  };
305
305
 
@@ -566,6 +566,7 @@ var validations = {
566
566
  legacyHeaders: true,
567
567
  standardHeaders: true,
568
568
  identifier: true,
569
+ retryAfter: true,
569
570
  requestPropertyName: true,
570
571
  skipFailedRequests: true,
571
572
  skipSuccessfulRequests: true,
@@ -1050,7 +1051,9 @@ var rateLimit = (passedOptions) => {
1050
1051
  debug("limit exceeded");
1051
1052
  if (config.legacyHeaders || config.standardHeaders) {
1052
1053
  debug("set retry-after header");
1053
- setRetryAfterHeader(response, info, config.windowMs);
1054
+ const retrieveRetryAfter = typeof config.retryAfter === "function" ? config.retryAfter(request, response) : config.retryAfter;
1055
+ const retryAfter = await retrieveRetryAfter;
1056
+ setRetryAfterHeader(response, info, config.windowMs, retryAfter);
1054
1057
  }
1055
1058
  config.handler(request, response, next, options);
1056
1059
  return;
@@ -408,6 +408,17 @@ export type Options = {
408
408
  * Defaults to `{limit}-in-{window}`.
409
409
  */
410
410
  identifier: string | ValueDeterminingMiddleware<string>;
411
+ /**
412
+ * Method to generate a custom `Retry-After` header value (in seconds) when
413
+ * a client is rate limited.
414
+ *
415
+ * This is advisory only, it customizes what the header says, it does not
416
+ * change how long the limiter actually keeps blocking the client for.
417
+ * That is still controlled by `windowMs`.
418
+ *
419
+ * By default, the number of seconds remaining until the window resets.
420
+ */
421
+ retryAfter?: number | ValueDeterminingMiddleware<number>;
411
422
  /**
412
423
  * The name of the property on the request object to store the rate limit info.
413
424
  *
@@ -408,6 +408,17 @@ export type Options = {
408
408
  * Defaults to `{limit}-in-{window}`.
409
409
  */
410
410
  identifier: string | ValueDeterminingMiddleware<string>;
411
+ /**
412
+ * Method to generate a custom `Retry-After` header value (in seconds) when
413
+ * a client is rate limited.
414
+ *
415
+ * This is advisory only, it customizes what the header says, it does not
416
+ * change how long the limiter actually keeps blocking the client for.
417
+ * That is still controlled by `windowMs`.
418
+ *
419
+ * By default, the number of seconds remaining until the window resets.
420
+ */
421
+ retryAfter?: number | ValueDeterminingMiddleware<number>;
411
422
  /**
412
423
  * The name of the property on the request object to store the rate limit info.
413
424
  *
@@ -408,6 +408,17 @@ export type Options = {
408
408
  * Defaults to `{limit}-in-{window}`.
409
409
  */
410
410
  identifier: string | ValueDeterminingMiddleware<string>;
411
+ /**
412
+ * Method to generate a custom `Retry-After` header value (in seconds) when
413
+ * a client is rate limited.
414
+ *
415
+ * This is advisory only, it customizes what the header says, it does not
416
+ * change how long the limiter actually keeps blocking the client for.
417
+ * That is still controlled by `windowMs`.
418
+ *
419
+ * By default, the number of seconds remaining until the window resets.
420
+ */
421
+ retryAfter?: number | ValueDeterminingMiddleware<number>;
411
422
  /**
412
423
  * The name of the property on the request object to store the rate limit info.
413
424
  *
@@ -254,9 +254,9 @@ var setDraft8Headers = (response, info, windowMs, name, key) => {
254
254
  response.append("RateLimit", `"${name}"; ${header}`);
255
255
  response.append("RateLimit-Policy", `"${name}"; ${policy}`);
256
256
  };
257
- var setRetryAfterHeader = (response, info, windowMs) => {
257
+ var setRetryAfterHeader = (response, info, windowMs, retryAfter) => {
258
258
  if (response.headersSent) return;
259
- const resetSeconds = getResetSeconds(windowMs, info.resetTime);
259
+ const resetSeconds = retryAfter ?? getResetSeconds(windowMs, info.resetTime);
260
260
  response.setHeader("Retry-After", resetSeconds.toString());
261
261
  };
262
262
 
@@ -523,6 +523,7 @@ var validations = {
523
523
  legacyHeaders: true,
524
524
  standardHeaders: true,
525
525
  identifier: true,
526
+ retryAfter: true,
526
527
  requestPropertyName: true,
527
528
  skipFailedRequests: true,
528
529
  skipSuccessfulRequests: true,
@@ -1007,7 +1008,9 @@ var rateLimit = (passedOptions) => {
1007
1008
  debug("limit exceeded");
1008
1009
  if (config.legacyHeaders || config.standardHeaders) {
1009
1010
  debug("set retry-after header");
1010
- setRetryAfterHeader(response, info, config.windowMs);
1011
+ const retrieveRetryAfter = typeof config.retryAfter === "function" ? config.retryAfter(request, response) : config.retryAfter;
1012
+ const retryAfter = await retrieveRetryAfter;
1013
+ setRetryAfterHeader(response, info, config.windowMs, retryAfter);
1011
1014
  }
1012
1015
  config.handler(request, response, next, options);
1013
1016
  return;
@@ -1,4 +1,4 @@
1
- # MIT License
1
+ MIT License
2
2
 
3
3
  Copyright 2023 Nathan Friedly, Vedant K
4
4
 
@@ -13,8 +13,9 @@ The above copyright notice and this permission notice shall be included in all
13
13
  copies or substantial portions of the Software.
14
14
 
15
15
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
- FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
- COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
- IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
- CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "express-rate-limit",
3
- "version": "8.6.2",
3
+ "version": "8.7.0",
4
4
  "description": "Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.",
5
5
  "author": {
6
6
  "name": "Nathan Friedly",
@@ -90,16 +90,16 @@
90
90
  "@types/debug": "4.1.13",
91
91
  "@types/express": "5.0.6",
92
92
  "@types/jest": "30.0.0",
93
- "@types/node": "26.1.2",
93
+ "@types/node": "26.2.0",
94
94
  "@types/supertest": "7.2.1",
95
95
  "del-cli": "7.0.0",
96
96
  "dts-bundle-generator": "8.1.2",
97
- "esbuild": "0.28.1",
97
+ "esbuild": "0.28.2",
98
98
  "express": "5.2.1",
99
99
  "husky": "9.1.7",
100
100
  "jest": "30.4.2",
101
- "lint-staged": "17.2.0",
102
- "mintlify": "4.2.743",
101
+ "lint-staged": "17.3.0",
102
+ "mintlify": "4.2.817",
103
103
  "npm-run-all": "4.1.5",
104
104
  "prettier": "3.9.6",
105
105
  "ratelimit-header-parser": "0.1.0",
@@ -5,6 +5,7 @@
5
5
  [![tests](https://img.shields.io/github/actions/workflow/status/express-rate-limit/express-rate-limit/ci.yaml)](https://github.com/express-rate-limit/express-rate-limit/actions/workflows/ci.yaml)
6
6
  [![npm version](https://img.shields.io/npm/v/express-rate-limit.svg)](https://npmjs.org/package/express-rate-limit 'View this project on NPM')
7
7
  [![npm downloads](https://img.shields.io/npm/dm/express-rate-limit)](https://www.npmjs.com/package/express-rate-limit)
8
+ [![inspect.software](https://raw.githubusercontent.com/inspect-software/badges/main/v1/e/express-rate-limit/express-rate-limit.svg)](https://inspect.software/software/express-rate-limit/express-rate-limit)
8
9
  [![license](https://img.shields.io/npm/l/express-rate-limit)](license.md)
9
10
 
10
11
  </div>
@@ -324,6 +324,18 @@ function hasMalformedPercentEncoding (component) {
324
324
  return false
325
325
  }
326
326
 
327
+ /**
328
+ * Whether the host is a bracketed IP literal (RFC 3986 `IP-literal`).
329
+ * An unterminated `[` is not a literal, so it must still be validated as a
330
+ * reg-name instead of being waved through as an IP.
331
+ *
332
+ * @param {string} host
333
+ * @returns {boolean}
334
+ */
335
+ function isIPLiteral (host) {
336
+ return host[0] === '[' && host[host.length - 1] === ']'
337
+ }
338
+
327
339
  /**
328
340
  * @param {RegExpMatchArray} matches
329
341
  * @returns {boolean}
@@ -333,7 +345,7 @@ function hasMalformedComponentPercentEncoding (matches) {
333
345
  // compatibility. Their parsing is intentionally left to normalizeIPv6.
334
346
  const host = matches[4]
335
347
  return hasMalformedPercentEncoding(matches[3]) ||
336
- (host !== undefined && !(host[0] === '[' && host[host.length - 1] === ']') && hasMalformedPercentEncoding(host)) ||
348
+ (host !== undefined && !isIPLiteral(host) && hasMalformedPercentEncoding(host)) ||
337
349
  hasMalformedPercentEncoding(matches[6]) ||
338
350
  hasMalformedPercentEncoding(matches[7]) ||
339
351
  hasMalformedPercentEncoding(matches[8])
@@ -351,7 +363,7 @@ function canonicalizeHost (parsed, options, schemeHandler, isIP) {
351
363
  !options.unicodeSupport &&
352
364
  (!schemeHandler || !schemeHandler.unicodeSupport) &&
353
365
  parsed.host &&
354
- parsed.host[0] !== '[' &&
366
+ !isIPLiteral(parsed.host) &&
355
367
  (options.domainHost || (schemeHandler && schemeHandler.domainHost)) &&
356
368
  isIP === false &&
357
369
  nonSimpleDomain(parsed.host)
@@ -476,10 +488,11 @@ function parseWithStatus (uri, opts) {
476
488
  if (parsed.host) {
477
489
  const ipv4result = isIPv4(parsed.host)
478
490
  if (ipv4result === false) {
479
- const bracketedIPLiteral = parsed.host[0] === '[' && parsed.host[parsed.host.length - 1] === ']'
491
+ const bracketedIPLiteral = isIPLiteral(parsed.host)
492
+ const hasIPLiteralBracket = parsed.host.indexOf('[') !== -1 || parsed.host.indexOf(']') !== -1
480
493
  const ipv6result = normalizeIPv6(parsed.host)
481
494
  isIP = ipv6result.isIPV6 || ipv6result.isIPVFuture === true
482
- malformedIPLiteral = bracketedIPLiteral && ipv6result.error === true
495
+ malformedIPLiteral = hasIPLiteralBracket && (!bracketedIPLiteral || ipv6result.error === true)
483
496
  parsed.host = isIP ? ipv6result.host : ipv6result.host.toLowerCase()
484
497
 
485
498
  if (malformedIPLiteral) {
@@ -509,7 +522,9 @@ function parseWithStatus (uri, opts) {
509
522
  const schemeHandler = getSchemeHandler(options.scheme || parsed.scheme)
510
523
 
511
524
  // convert Unicode IDN -> ASCII IDN when the effective scheme uses domain hosts
512
- malformedHost = canonicalizeHost(parsed, options, schemeHandler, isIP)
525
+ if (!malformedIPLiteral) {
526
+ malformedHost = canonicalizeHost(parsed, options, schemeHandler, isIP)
527
+ }
513
528
 
514
529
  if (!schemeHandler || (schemeHandler && !schemeHandler.skipNormalize)) {
515
530
  if (uri.indexOf('%') !== -1) {