@psnext/slingcli 3.5.20261026-1 → 3.6.20261105-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 (476) hide show
  1. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +38 -13
  2. package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +7 -7
  3. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +51 -1
  4. package/node_modules/@aws-sdk/core/dist-cjs/submodules/util/index.js +2 -1
  5. package/node_modules/@aws-sdk/core/dist-es/submodules/client/getDefaultSocketTimeout.js +10 -0
  6. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.browser.js +1 -0
  7. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +1 -0
  8. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.native.js +1 -0
  9. package/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-host-header/hostHeaderMiddleware.js +4 -2
  10. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/parseArn.js +4 -2
  11. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.js +18 -9
  12. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js +6 -3
  13. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js +1 -4
  14. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js +1 -0
  15. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsSmithyRpcV2JsonProtocol.js +51 -0
  16. package/node_modules/@aws-sdk/core/dist-es/submodules/util/util-arn-parser/arn.js +2 -1
  17. package/node_modules/@aws-sdk/core/dist-types/submodules/client/getDefaultSocketTimeout.d.ts +11 -0
  18. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.browser.d.ts +1 -0
  19. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +1 -0
  20. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.native.d.ts +1 -0
  21. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.d.ts +3 -7
  22. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/index.d.ts +1 -0
  23. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/AwsSmithyRpcV2JsonProtocol.d.ts +25 -0
  24. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/getDefaultSocketTimeout.d.ts +4 -0
  25. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.browser.d.ts +1 -0
  26. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +1 -0
  27. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.native.d.ts +1 -0
  28. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/index.d.ts +1 -0
  29. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/AwsSmithyRpcV2JsonProtocol.d.ts +36 -0
  30. package/node_modules/@aws-sdk/core/package.json +4 -4
  31. package/node_modules/@aws-sdk/credential-provider-env/package.json +3 -3
  32. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/LICENSE +201 -0
  33. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/README.md +9 -0
  34. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-cjs/index.js +914 -0
  35. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +19 -0
  36. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/constants.js +1 -0
  37. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js +13 -0
  38. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +51 -0
  39. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/index.js +3 -0
  40. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +263 -0
  41. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +135 -0
  42. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js +46 -0
  43. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +204 -0
  44. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-http2.js +2 -0
  45. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/node-https.js +2 -0
  46. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/resolve-default-socket-timeout.js +4 -0
  47. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js +36 -0
  48. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/set-request-timeout.js +21 -0
  49. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js +22 -0
  50. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js +38 -0
  51. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/timing.js +4 -0
  52. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +63 -0
  53. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +10 -0
  54. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/constants.d.ts +5 -0
  55. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/get-transformed-headers.d.ts +4 -0
  56. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/http2/ClientHttp2SessionRef.d.ts +46 -0
  57. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +3 -0
  58. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +47 -0
  59. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +46 -0
  60. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +36 -0
  61. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-http2-handler.d.ts +76 -0
  62. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-http2.d.ts +2 -0
  63. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/node-https.d.ts +2 -0
  64. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/resolve-default-socket-timeout.d.ts +4 -0
  65. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +2 -0
  66. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/set-request-timeout.d.ts +6 -0
  67. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +6 -0
  68. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +11 -0
  69. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/timing.d.ts +9 -0
  70. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +10 -0
  71. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/constants.d.ts +5 -0
  72. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/get-transformed-headers.d.ts +4 -0
  73. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/http2/ClientHttp2SessionRef.d.ts +46 -0
  74. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/index.d.ts +3 -0
  75. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +47 -0
  76. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +46 -0
  77. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +36 -0
  78. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-handler.d.ts +76 -0
  79. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2.d.ts +2 -0
  80. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-https.d.ts +2 -0
  81. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/resolve-default-socket-timeout.d.ts +4 -0
  82. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +2 -0
  83. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +6 -0
  84. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +6 -0
  85. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +11 -0
  86. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/timing.d.ts +9 -0
  87. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +12 -0
  88. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +12 -0
  89. package/node_modules/@aws-sdk/credential-provider-http/node_modules/@smithy/node-http-handler/package.json +56 -0
  90. package/node_modules/@aws-sdk/credential-provider-http/package.json +4 -4
  91. package/node_modules/@aws-sdk/credential-provider-ini/package.json +10 -10
  92. package/node_modules/@aws-sdk/credential-provider-login/package.json +4 -4
  93. package/node_modules/@aws-sdk/credential-provider-node/package.json +8 -8
  94. package/node_modules/@aws-sdk/credential-provider-process/package.json +3 -3
  95. package/node_modules/@aws-sdk/credential-provider-sso/node_modules/@aws-sdk/token-providers/package.json +4 -4
  96. package/node_modules/@aws-sdk/credential-provider-sso/package.json +5 -5
  97. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +4 -4
  98. package/node_modules/@aws-sdk/eventstream-handler-node/package.json +2 -2
  99. package/node_modules/@aws-sdk/middleware-eventstream/dist-cjs/index.js +4 -2
  100. package/node_modules/@aws-sdk/middleware-eventstream/dist-es/eventStreamHandlingMiddleware.js +2 -1
  101. package/node_modules/@aws-sdk/middleware-eventstream/dist-es/eventStreamHeaderMiddleware.js +2 -1
  102. package/node_modules/@aws-sdk/middleware-eventstream/package.json +2 -2
  103. package/node_modules/@aws-sdk/middleware-websocket/package.json +4 -4
  104. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +3 -2
  105. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +10 -2
  106. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +3 -2
  107. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +3 -2
  108. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +3 -2
  109. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.js +2 -1
  110. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/enums.js +7 -0
  111. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js +2 -1
  112. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js +2 -1
  113. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js +2 -1
  114. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +2 -1
  115. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.d.ts +1 -0
  116. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/Signin.d.ts +1 -2
  117. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/SigninClient.d.ts +1 -2
  118. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/commands/CreateOAuth2TokenCommand.d.ts +5 -59
  119. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/commands/CreateOAuth2TokenWithIAMCommand.d.ts +5 -33
  120. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/index.d.ts +1 -2
  121. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/enums.d.ts +16 -9
  122. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/errors.d.ts +8 -39
  123. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/models/models_0.d.ts +36 -48
  124. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.d.ts +1 -0
  125. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.d.ts +1 -0
  126. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.d.ts +1 -0
  127. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +1 -0
  128. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.d.ts +1 -0
  129. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/models/enums.d.ts +7 -0
  130. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.d.ts +1 -0
  131. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.d.ts +1 -0
  132. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.d.ts +1 -0
  133. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +1 -0
  134. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/LICENSE +201 -0
  135. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/README.md +9 -0
  136. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-cjs/index.js +914 -0
  137. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/build-abort-error.js +19 -0
  138. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/constants.js +1 -0
  139. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/get-transformed-headers.js +13 -0
  140. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +51 -0
  141. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/index.js +3 -0
  142. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +263 -0
  143. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +135 -0
  144. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js +46 -0
  145. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +204 -0
  146. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-http2.js +2 -0
  147. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/node-https.js +2 -0
  148. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/resolve-default-socket-timeout.js +4 -0
  149. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js +36 -0
  150. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/set-request-timeout.js +21 -0
  151. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/set-socket-keep-alive.js +22 -0
  152. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js +38 -0
  153. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/timing.js +4 -0
  154. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-es/write-request-body.js +63 -0
  155. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/build-abort-error.d.ts +10 -0
  156. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/constants.d.ts +5 -0
  157. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/get-transformed-headers.d.ts +4 -0
  158. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/http2/ClientHttp2SessionRef.d.ts +46 -0
  159. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +3 -0
  160. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-http-handler.d.ts +47 -0
  161. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +46 -0
  162. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +36 -0
  163. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-http2-handler.d.ts +76 -0
  164. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-http2.d.ts +2 -0
  165. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/node-https.d.ts +2 -0
  166. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/resolve-default-socket-timeout.d.ts +4 -0
  167. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/set-connection-timeout.d.ts +2 -0
  168. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/set-request-timeout.d.ts +6 -0
  169. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/set-socket-keep-alive.d.ts +6 -0
  170. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/set-socket-timeout.d.ts +11 -0
  171. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/timing.d.ts +9 -0
  172. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/build-abort-error.d.ts +10 -0
  173. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/constants.d.ts +5 -0
  174. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/get-transformed-headers.d.ts +4 -0
  175. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/http2/ClientHttp2SessionRef.d.ts +46 -0
  176. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/index.d.ts +3 -0
  177. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http-handler.d.ts +47 -0
  178. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-manager.d.ts +46 -0
  179. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-connection-pool.d.ts +36 -0
  180. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2-handler.d.ts +76 -0
  181. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-http2.d.ts +2 -0
  182. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/node-https.d.ts +2 -0
  183. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/resolve-default-socket-timeout.d.ts +4 -0
  184. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-connection-timeout.d.ts +2 -0
  185. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +6 -0
  186. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-keep-alive.d.ts +6 -0
  187. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-socket-timeout.d.ts +11 -0
  188. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/timing.d.ts +9 -0
  189. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/ts3.4/write-request-body.d.ts +12 -0
  190. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/dist-types/write-request-body.d.ts +12 -0
  191. package/node_modules/@aws-sdk/nested-clients/node_modules/@smithy/node-http-handler/package.json +56 -0
  192. package/node_modules/@aws-sdk/nested-clients/package.json +5 -5
  193. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
  194. package/node_modules/@aws-sdk/xml-builder/package.json +1 -1
  195. package/node_modules/@babel/runtime/helpers/asyncIterator.js +1 -1
  196. package/node_modules/@babel/runtime/helpers/esm/asyncIterator.js +1 -1
  197. package/node_modules/@babel/runtime/package.json +1 -1
  198. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/LICENSE +15 -0
  199. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/bin/semver.js +195 -0
  200. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/classes/comparator.js +143 -0
  201. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/classes/index.js +7 -0
  202. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/classes/range.js +577 -0
  203. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/classes/semver.js +350 -0
  204. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/clean.js +8 -0
  205. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/cmp.js +54 -0
  206. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/coerce.js +62 -0
  207. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/compare-build.js +9 -0
  208. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/compare-loose.js +5 -0
  209. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/compare.js +7 -0
  210. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/diff.js +60 -0
  211. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/eq.js +5 -0
  212. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/gt.js +5 -0
  213. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/gte.js +5 -0
  214. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/inc.js +21 -0
  215. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/lt.js +5 -0
  216. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/lte.js +5 -0
  217. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/major.js +5 -0
  218. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/minor.js +5 -0
  219. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/neq.js +5 -0
  220. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/parse.js +18 -0
  221. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/patch.js +5 -0
  222. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/prerelease.js +8 -0
  223. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/rcompare.js +5 -0
  224. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/rsort.js +5 -0
  225. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/satisfies.js +12 -0
  226. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/sort.js +5 -0
  227. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/truncate.js +48 -0
  228. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/functions/valid.js +8 -0
  229. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/index.js +93 -0
  230. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/internal/constants.js +37 -0
  231. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/internal/debug.js +11 -0
  232. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/internal/identifiers.js +29 -0
  233. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/internal/lrucache.js +42 -0
  234. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/internal/parse-options.js +17 -0
  235. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/internal/re.js +223 -0
  236. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/package.json +78 -0
  237. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/preload.js +4 -0
  238. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/range.bnf +17 -0
  239. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/ranges/gtr.js +6 -0
  240. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/ranges/intersects.js +9 -0
  241. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/ranges/ltr.js +6 -0
  242. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/ranges/max-satisfying.js +27 -0
  243. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/ranges/min-satisfying.js +26 -0
  244. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/ranges/min-version.js +63 -0
  245. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/ranges/outside.js +82 -0
  246. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/ranges/simplify.js +49 -0
  247. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/ranges/subset.js +249 -0
  248. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/ranges/to-comparators.js +10 -0
  249. package/node_modules/@earendil-works/pi-coding-agent/node_modules/semver/ranges/valid.js +13 -0
  250. package/node_modules/@hono/node-server/dist/index.cjs +31 -6
  251. package/node_modules/@hono/node-server/dist/index.mjs +31 -6
  252. package/node_modules/@hono/node-server/package.json +1 -1
  253. package/node_modules/@smithy/core/dist-cjs/index.js +4 -2
  254. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +45 -53
  255. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +37 -17
  256. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.browser.js +8 -4
  257. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.js +16 -8
  258. package/node_modules/@smithy/core/dist-cjs/submodules/config/index.native.js +8 -4
  259. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.browser.js +2 -1
  260. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +10 -5
  261. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.browser.js +18 -9
  262. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +18 -9
  263. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +86 -53
  264. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.browser.js +53 -15
  265. package/node_modules/@smithy/core/dist-cjs/submodules/retry/index.js +57 -17
  266. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +13 -4
  267. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +7 -1
  268. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +13 -4
  269. package/node_modules/@smithy/core/dist-cjs/submodules/transport/index.js +6 -3
  270. package/node_modules/@smithy/core/dist-es/legacy-root-exports/util-identity-and-auth/DefaultIdentityProviderConfig.js +2 -1
  271. package/node_modules/@smithy/core/dist-es/normalizeProvider.js +2 -1
  272. package/node_modules/@smithy/core/dist-es/submodules/cbor/SmithyRpcV2CborProtocol.js +12 -37
  273. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v1/CborShapeDeserializer.js +8 -4
  274. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v1/CborShapeSerializer.js +6 -3
  275. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v2/CborShapeDeserializer2.js +12 -6
  276. package/node_modules/@smithy/core/dist-es/submodules/cbor/codec-v2/CborShapeSerializer2.js +4 -2
  277. package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +2 -1
  278. package/node_modules/@smithy/core/dist-es/submodules/client/middleware-stack/MiddlewareStack.js +10 -5
  279. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/command.js +1 -0
  280. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/create-aggregated-client.js +2 -1
  281. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/exceptions.js +4 -2
  282. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/extensions/checksum.js +2 -1
  283. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/get-value-from-text-node.js +2 -1
  284. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/object-mapping.js +4 -2
  285. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/schemaLogFilter.js +10 -4
  286. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/serde-json.js +2 -1
  287. package/node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getHomeDir.js +8 -4
  288. package/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/booleanSelector.js +6 -3
  289. package/node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/numberSelector.js +2 -1
  290. package/node_modules/@smithy/core/dist-es/submodules/endpoints/middleware-endpoint/adaptors/getEndpointUrlConfig.js +8 -4
  291. package/node_modules/@smithy/core/dist-es/submodules/endpoints/util-endpoints/resolveEndpoint.js +2 -1
  292. package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +6 -3
  293. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/HeaderMarshaller.js +2 -1
  294. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/Int64.js +2 -1
  295. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-codec/SmithyMessageDecoderStream.js +2 -1
  296. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde/utils.js +2 -1
  297. package/node_modules/@smithy/core/dist-es/submodules/event-streams/eventstream-serde-universal/getUnmarshalledStream.js +4 -2
  298. package/node_modules/@smithy/core/dist-es/submodules/protocols/AbstractRpcV2Protocol.js +35 -0
  299. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +8 -4
  300. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +4 -2
  301. package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +6 -2
  302. package/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +1 -0
  303. package/node_modules/@smithy/core/dist-es/submodules/protocols/json/SmithyRpcV2JsonProtocol.js +8 -31
  304. package/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeDeserializer.js +7 -5
  305. package/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v1/JsonShapeSerializer.js +7 -5
  306. package/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeDeserializer2.js +7 -5
  307. package/node_modules/@smithy/core/dist-es/submodules/protocols/json/codec-v2/JsonShapeSerializer2.js +6 -3
  308. package/node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.js +3 -0
  309. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/configurations.js +4 -2
  310. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/parseRetryAfterHeader.js +2 -1
  311. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retry-pre-sra-deprecated/StandardRetryStrategy.js +6 -3
  312. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/retryMiddleware.js +17 -8
  313. package/node_modules/@smithy/core/dist-es/submodules/retry/middleware-retry/util.js +6 -3
  314. package/node_modules/@smithy/core/dist-es/submodules/retry/util-retry/race.js +22 -0
  315. package/node_modules/@smithy/core/dist-es/submodules/serde/index.browser.js +1 -0
  316. package/node_modules/@smithy/core/dist-es/submodules/serde/index.js +1 -0
  317. package/node_modules/@smithy/core/dist-es/submodules/serde/index.native.js +1 -0
  318. package/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js +2 -1
  319. package/node_modules/@smithy/core/dist-es/submodules/serde/util-body-length/calculateBodyLength.browser.js +6 -3
  320. package/node_modules/@smithy/core/dist-es/submodules/transport/httpResponse.js +2 -1
  321. package/node_modules/@smithy/core/dist-es/submodules/transport/normalizeProvider.js +2 -1
  322. package/node_modules/@smithy/core/dist-es/submodules/transport/toEndpointV1.js +2 -1
  323. package/node_modules/@smithy/core/dist-types/submodules/cbor/SmithyRpcV2CborProtocol.d.ts +5 -14
  324. package/node_modules/@smithy/core/dist-types/submodules/protocols/AbstractRpcV2Protocol.d.ts +45 -0
  325. package/node_modules/@smithy/core/dist-types/submodules/protocols/RpcProtocol.d.ts +12 -0
  326. package/node_modules/@smithy/core/dist-types/submodules/protocols/index.d.ts +1 -0
  327. package/node_modules/@smithy/core/dist-types/submodules/protocols/json/SmithyRpcV2JsonProtocol.d.ts +5 -14
  328. package/node_modules/@smithy/core/dist-types/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.d.ts +1 -0
  329. package/node_modules/@smithy/core/dist-types/submodules/retry/util-retry/race.d.ts +3 -0
  330. package/node_modules/@smithy/core/dist-types/submodules/serde/index.browser.d.ts +1 -0
  331. package/node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts +1 -0
  332. package/node_modules/@smithy/core/dist-types/submodules/serde/index.native.d.ts +1 -0
  333. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/SmithyRpcV2CborProtocol.d.ts +5 -14
  334. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/AbstractRpcV2Protocol.d.ts +45 -0
  335. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/RpcProtocol.d.ts +12 -0
  336. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/index.d.ts +1 -0
  337. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/json/SmithyRpcV2JsonProtocol.d.ts +5 -14
  338. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.d.ts +1 -0
  339. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/retry/util-retry/race.d.ts +3 -0
  340. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.browser.d.ts +1 -0
  341. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.d.ts +1 -0
  342. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.native.d.ts +1 -0
  343. package/node_modules/@smithy/core/package.json +2 -2
  344. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +10 -4
  345. package/node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js +6 -2
  346. package/node_modules/@smithy/fetch-http-handler/dist-es/request-timeout.js +4 -2
  347. package/node_modules/@smithy/fetch-http-handler/dist-types/request-timeout.d.ts +12 -1
  348. package/node_modules/@smithy/fetch-http-handler/dist-types/ts3.4/request-timeout.d.ts +12 -1
  349. package/node_modules/@smithy/fetch-http-handler/package.json +3 -3
  350. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +23 -11
  351. package/node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js +4 -2
  352. package/node_modules/@smithy/signature-v4/dist-es/SignatureV4Base.js +4 -2
  353. package/node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js +5 -1
  354. package/node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js +2 -1
  355. package/node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js +2 -1
  356. package/node_modules/@smithy/signature-v4/dist-es/headerUtil.js +6 -3
  357. package/node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js +2 -1
  358. package/node_modules/@smithy/signature-v4/dist-es/prepareRequest.js +2 -1
  359. package/node_modules/@smithy/signature-v4/package.json +2 -2
  360. package/node_modules/@smithy/types/dist-types/middleware.d.ts +6 -0
  361. package/node_modules/@smithy/types/dist-types/ts3.4/middleware.d.ts +6 -0
  362. package/node_modules/@smithy/types/package.json +1 -1
  363. package/node_modules/@types/node/README.md +1 -1
  364. package/node_modules/@types/node/package.json +2 -2
  365. package/node_modules/@types/node/zlib.d.ts +752 -0
  366. package/node_modules/bowser/README.md +26 -3
  367. package/node_modules/bowser/bowser.mjs +2225 -0
  368. package/node_modules/bowser/bundled.js +14 -1
  369. package/node_modules/bowser/es5.js +14 -1
  370. package/node_modules/bowser/index.d.mts +45 -0
  371. package/node_modules/bowser/package.json +90 -31
  372. package/node_modules/bowser/src/bowser.js +9 -1
  373. package/node_modules/bowser/src/constants.js +7 -0
  374. package/node_modules/bowser/src/parser-browsers.js +73 -7
  375. package/node_modules/bowser/src/parser-engines.js +12 -0
  376. package/node_modules/bowser/src/parser-os.js +3 -1
  377. package/node_modules/bowser/src/parser-platforms.js +3 -1
  378. package/node_modules/bowser/src/parser.js +22 -5
  379. package/node_modules/bowser/src/utils.js +16 -0
  380. package/node_modules/encodeurl/README.md +14 -0
  381. package/node_modules/encodeurl/index.js +5 -10
  382. package/node_modules/encodeurl/package.json +10 -6
  383. package/node_modules/express-rate-limit/dist/index.cjs +7 -3
  384. package/node_modules/express-rate-limit/dist/index.mjs +7 -3
  385. package/node_modules/express-rate-limit/package.json +10 -10
  386. package/node_modules/hono/dist/cjs/adapter/bun/serve-static.js +1 -1
  387. package/node_modules/hono/dist/cjs/adapter/bun/websocket.js +1 -1
  388. package/node_modules/hono/dist/cjs/context.js +1 -1
  389. package/node_modules/hono/dist/cjs/helper/css/common.js +3 -5
  390. package/node_modules/hono/dist/cjs/hono-base.js +4 -10
  391. package/node_modules/hono/dist/cjs/hono.js +0 -1
  392. package/node_modules/hono/dist/cjs/middleware/basic-auth/index.js +1 -1
  393. package/node_modules/hono/dist/cjs/middleware/bearer-auth/index.js +1 -1
  394. package/node_modules/hono/dist/cjs/middleware/csrf/index.js +2 -2
  395. package/node_modules/hono/dist/cjs/middleware/jwk/jwk.js +2 -2
  396. package/node_modules/hono/dist/cjs/middleware/jwt/jwt.js +2 -2
  397. package/node_modules/hono/dist/cjs/middleware/mount/index.js +4 -4
  398. package/node_modules/hono/dist/cjs/router/reg-exp-router/node.js +13 -11
  399. package/node_modules/hono/dist/cjs/router/reg-exp-router/prepared-router.js +4 -4
  400. package/node_modules/hono/dist/cjs/router/reg-exp-router/router.js +39 -51
  401. package/node_modules/hono/dist/cjs/router/reg-exp-router/trie.js +15 -5
  402. package/node_modules/hono/dist/cjs/utils/jwt/jwt.js +2 -1
  403. package/node_modules/hono/dist/cjs/utils/mount.js +35 -0
  404. package/node_modules/hono/dist/cjs/utils/url.js +10 -0
  405. package/node_modules/hono/dist/cjs/validator/validator.js +1 -1
  406. package/node_modules/hono/dist/context.js +1 -1
  407. package/node_modules/hono/dist/helper/css/common.js +3 -5
  408. package/node_modules/hono/dist/hono-base.js +4 -10
  409. package/node_modules/hono/dist/hono.js +0 -1
  410. package/node_modules/hono/dist/middleware/basic-auth/index.js +1 -1
  411. package/node_modules/hono/dist/middleware/bearer-auth/index.js +1 -1
  412. package/node_modules/hono/dist/middleware/csrf/index.js +2 -2
  413. package/node_modules/hono/dist/middleware/jwk/jwk.js +2 -2
  414. package/node_modules/hono/dist/middleware/jwt/jwt.js +2 -2
  415. package/node_modules/hono/dist/middleware/language/language.js +1 -1
  416. package/node_modules/hono/dist/middleware/mount/index.js +4 -4
  417. package/node_modules/hono/dist/router/reg-exp-router/node.js +13 -11
  418. package/node_modules/hono/dist/router/reg-exp-router/prepared-router.js +5 -5
  419. package/node_modules/hono/dist/router/reg-exp-router/router.js +40 -52
  420. package/node_modules/hono/dist/router/reg-exp-router/trie.js +15 -5
  421. package/node_modules/hono/dist/types/middleware/mount/index.d.ts +1 -0
  422. package/node_modules/hono/dist/types/router/reg-exp-router/node.d.ts +3 -3
  423. package/node_modules/hono/dist/types/router/reg-exp-router/trie.d.ts +1 -1
  424. package/node_modules/hono/dist/types/utils/mount.d.ts +4 -0
  425. package/node_modules/hono/dist/types/utils/url.d.ts +1 -0
  426. package/node_modules/hono/dist/utils/jwt/jwt.js +2 -1
  427. package/node_modules/hono/dist/utils/mount.js +34 -0
  428. package/node_modules/hono/dist/utils/url.js +10 -1
  429. package/node_modules/hono/dist/validator/validator.js +1 -1
  430. package/node_modules/hono/package.json +1 -1
  431. package/node_modules/ip-address/README.md +39 -39
  432. package/node_modules/ip-address/dist/ipv6.js +1 -1
  433. package/node_modules/ip-address/dist/ipv6.js.map +1 -1
  434. package/node_modules/ip-address/package.json +1 -1
  435. package/node_modules/jose/dist/types/jwt/decrypt.d.ts +3 -0
  436. package/node_modules/jose/dist/types/jwt/unsecured.d.ts +2 -0
  437. package/node_modules/jose/dist/types/jwt/verify.d.ts +3 -0
  438. package/node_modules/jose/dist/types/types.d.ts +8 -0
  439. package/node_modules/jose/dist/types/util/decode_jwt.d.ts +1 -0
  440. package/node_modules/jose/dist/webapi/jwks/remote.js +3 -1
  441. package/node_modules/jose/dist/webapi/lib/deflate.js +2 -1
  442. package/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +2 -1
  443. package/node_modules/jose/package.json +1 -1
  444. package/node_modules/qs/.editorconfig +1 -1
  445. package/node_modules/qs/CHANGELOG.md +87 -22
  446. package/node_modules/qs/README.md +63 -10
  447. package/node_modules/qs/dist/qs.js +17 -17
  448. package/node_modules/qs/eslint.config.mjs +61 -50
  449. package/node_modules/qs/lib/formats.js +7 -2
  450. package/node_modules/qs/lib/parse.js +29 -10
  451. package/node_modules/qs/lib/stringify.js +5 -3
  452. package/node_modules/qs/lib/utils.js +28 -9
  453. package/node_modules/qs/package.json +6 -6
  454. package/node_modules/qs/test/parse.js +335 -2
  455. package/node_modules/qs/test/stringify.js +222 -0
  456. package/node_modules/qs/test/utils.js +61 -3
  457. package/node_modules/semver/classes/range.js +2 -2
  458. package/node_modules/semver/internal/constants.js +30 -0
  459. package/node_modules/semver/internal/trim-comparator-whitespace.js +438 -0
  460. package/node_modules/semver/package.json +1 -1
  461. package/node_modules/tslib/README.md +3 -8
  462. package/node_modules/tslib/package.json +1 -1
  463. package/node_modules/tslib/tslib.d.ts +4 -2
  464. package/node_modules/tslib/tslib.es6.js +10 -1
  465. package/node_modules/tslib/tslib.es6.mjs +10 -1
  466. package/node_modules/tslib/tslib.js +10 -1
  467. package/node_modules/ws/README.md +21 -29
  468. package/node_modules/ws/lib/buffer-util.js +13 -2
  469. package/node_modules/ws/lib/sender.js +4 -1
  470. package/node_modules/ws/lib/websocket.js +8 -3
  471. package/node_modules/ws/package.json +1 -1
  472. package/package.json +14 -14
  473. package/slingshot/index.js +2 -2
  474. /package/node_modules/@smithy/core/dist-es/submodules/{protocols → serde}/writeKey.js +0 -0
  475. /package/node_modules/@smithy/core/dist-types/submodules/{protocols → serde}/writeKey.d.ts +0 -0
  476. /package/node_modules/@smithy/core/dist-types/ts3.4/submodules/{protocols → serde}/writeKey.d.ts +0 -0
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var test = require('tape');
4
+ var forEach = require('for-each');
4
5
  var hasPropertyDescriptors = require('has-property-descriptors')();
5
6
  var iconv = require('iconv-lite');
6
7
  var mockProperty = require('mock-property');
@@ -98,6 +99,21 @@ test('parse()', function (t) {
98
99
  st.end();
99
100
  });
100
101
 
102
+ t.test('decode dot keys with case-insensitive percent escapes', function (st) {
103
+ var input = 'name%252eobj.first%252ename=John&name%252Eobj.last%252Ename=Doe';
104
+ st.deepEqual(
105
+ qs.parse(input, { decodeDotInKeys: true }),
106
+ { 'name.obj': { 'first.name': 'John', 'last.name': 'Doe' } },
107
+ 'lowercase and uppercase escapes decode in both parent and child keys'
108
+ );
109
+ st.deepEqual(
110
+ qs.parse(input, { allowDots: true, decodeDotInKeys: false }),
111
+ { 'name%2eobj': { 'first%2ename': 'John' }, 'name%2Eobj': { 'last%2Ename': 'Doe' } },
112
+ 'escaped dots remain unchanged when decoding is disabled'
113
+ );
114
+ st.end();
115
+ });
116
+
101
117
  t.test('decode dot keys correctly', function (st) {
102
118
  st.deepEqual(
103
119
  qs.parse('name%252Eobj.first=John&name%252Eobj.last=Doe', { allowDots: false, decodeDotInKeys: false }),
@@ -258,8 +274,34 @@ test('parse()', function (t) {
258
274
  st.end();
259
275
  });
260
276
 
277
+ t.test('ignores bracket-wrapped prototype keys when depth = 0 and allowPrototypes is false', function (st) {
278
+ st.deepEqual(qs.parse('[toString]=foo', { depth: 0 }), {}, 'the stored key is the bracket content');
279
+ st.deepEqual(qs.parse('[hasOwnProperty]=bar', { depth: 0 }), {});
280
+ st.deepEqual(qs.parse('%5BhasOwnProperty%5D=bar', { depth: 0 }), {}, 'percent-encoded brackets');
281
+ st.deepEqual(qs.parse('[toString]=foo&a=b', { depth: 0 }), { a: 'b' });
282
+ st.deepEqual(qs.parse('[toString]=foo', { depth: false }), {}, 'depth: false');
283
+ st.deepEqual(qs.parse('.toString=foo', { depth: 0, allowDots: true }), {}, 'a leading dot becomes a bracket group');
284
+ st.deepEqual(qs.parse('[a]=b&[toString]=foo', { depth: 0 }), { a: 'b' }, 'other bracket-wrapped keys still strip their brackets');
285
+ st.end();
286
+ });
287
+
261
288
  t.test('allows prototype keys when depth = 0 and allowPrototypes is true', function (st) {
262
289
  st.deepEqual(qs.parse('toString=foo', { depth: 0, allowPrototypes: true }), { toString: 'foo' });
290
+ st.deepEqual(qs.parse('[toString]=foo', { depth: 0, allowPrototypes: true }), { toString: 'foo' });
291
+ st.end();
292
+ });
293
+
294
+ t.test('keeps bracket-wrapped prototype keys when depth = 0 and plainObjects is true', function (st) {
295
+ var result = qs.parse('[toString]=foo', { depth: 0, plainObjects: true });
296
+ st.deepEqual(result, { __proto__: null, toString: 'foo' });
297
+ st.equal(Object.getPrototypeOf(result), null);
298
+ st.end();
299
+ });
300
+
301
+ t.test('strips one wrapping bracket pair from the key when depth = 0', function (st) {
302
+ st.deepEqual(qs.parse('[a]=b', { depth: 0 }), { a: 'b' });
303
+ st.deepEqual(qs.parse('[[toString]]=foo', { depth: 0 }), { '[toString]': 'foo' }, 'only the outer pair is stripped');
304
+ st.deepEqual(qs.parse('x[toString]=foo', { depth: 0 }), { 'x[toString]': 'foo' }, 'a key with a parent stays literal');
263
305
  st.end();
264
306
  });
265
307
 
@@ -1139,6 +1181,67 @@ test('parse()', function (t) {
1139
1181
  st.end();
1140
1182
  });
1141
1183
 
1184
+ var withOwnProto = function (value) {
1185
+ var obj = {};
1186
+ Object.defineProperty(obj, '__proto__', {
1187
+ configurable: true,
1188
+ enumerable: true,
1189
+ value: value,
1190
+ writable: true
1191
+ });
1192
+ return obj;
1193
+ };
1194
+ // node < 0.12 reads an own `__proto__` data property as `Object.prototype`, so it can not be copied by value
1195
+ var ownProtoIsReadable = withOwnProto(1).__proto__ === 1; // eslint-disable-line no-proto
1196
+
1197
+ t.test('object-valued input with only an own `__proto__` does not mutate sub-object [[Prototype]]', function (st) {
1198
+ // `JSON.parse` in node < 0.12 sets the [[Prototype]] instead of creating an own `__proto__`
1199
+ var out = qs.parse({ user: withOwnProto({ isAdmin: true }) });
1200
+
1201
+ st.equal(out.user.isAdmin, undefined, 'attacker-controlled inherited property is not exposed');
1202
+ st.equal(Object.getPrototypeOf(out.user), Object.prototype, 'sub-object [[Prototype]] is unchanged');
1203
+ st.equal(Object.prototype.isAdmin, undefined, 'Object.prototype is not polluted');
1204
+
1205
+ var sibling = withOwnProto({ isAdmin: true });
1206
+ sibling.name = 'alice';
1207
+ var withSibling = qs.parse({ user: sibling });
1208
+
1209
+ st.equal(withSibling.user.name, 'alice', 'sibling key is preserved');
1210
+ st.equal(withSibling.user.isAdmin, undefined, 'a sibling key does not hide an inherited property');
1211
+ st.equal(Object.getPrototypeOf(withSibling.user), Object.prototype, 'a sibling key does not change [[Prototype]]');
1212
+
1213
+ st.end();
1214
+ });
1215
+
1216
+ t.test('object-valued input keeps an own `__proto__` as a data property', { skip: !ownProtoIsReadable }, function (st) {
1217
+ var descriptor = function (value) {
1218
+ return {
1219
+ configurable: true,
1220
+ enumerable: true,
1221
+ value: value,
1222
+ writable: true
1223
+ };
1224
+ };
1225
+
1226
+ st.deepEqual(
1227
+ Object.getOwnPropertyDescriptor(qs.parse({ user: withOwnProto({ isAdmin: true }) }).user, '__proto__'),
1228
+ descriptor({ isAdmin: true }),
1229
+ 'an object value is stored as a data property'
1230
+ );
1231
+ st.deepEqual(
1232
+ Object.getOwnPropertyDescriptor(qs.parse({ user: withOwnProto('admin') }).user, '__proto__'),
1233
+ descriptor('admin'),
1234
+ 'a primitive value is stored as a data property'
1235
+ );
1236
+ st.deepEqual(
1237
+ Object.getOwnPropertyDescriptor(qs.parse({ 'user[name]': 'alice', user: withOwnProto({ isAdmin: true }) }).user, '__proto__'),
1238
+ descriptor({ isAdmin: true }),
1239
+ 'it survives a merge with a bracket key'
1240
+ );
1241
+
1242
+ st.end();
1243
+ });
1244
+
1142
1245
  t.test('can return null objects', { skip: !hasProto }, function (st) {
1143
1246
  var expected = {
1144
1247
  __proto__: null,
@@ -1162,6 +1265,19 @@ test('parse()', function (t) {
1162
1265
  st.end();
1163
1266
  });
1164
1267
 
1268
+ t.test('returns null objects for empty brackets when parseArrays is false', { skip: !hasProto }, function (st) {
1269
+ st.deepEqual(
1270
+ qs.parse('a[]=b', { parseArrays: false, plainObjects: true }),
1271
+ { __proto__: null, a: { __proto__: null, 0: 'b' } }
1272
+ );
1273
+ st.deepEqual(
1274
+ qs.parse('a[]=b&a[hasOwnProperty]=c', { parseArrays: false, plainObjects: true }),
1275
+ { __proto__: null, a: { __proto__: null, 0: 'b', hasOwnProperty: 'c' } },
1276
+ 'prototype keys land on a null object'
1277
+ );
1278
+ st.end();
1279
+ });
1280
+
1165
1281
  t.test('can parse with custom encoding', function (st) {
1166
1282
  st.deepEqual(qs.parse('%8c%a7=%91%e5%8d%e3%95%7b', {
1167
1283
  decoder: function (str) {
@@ -1254,6 +1370,31 @@ test('parse()', function (t) {
1254
1370
  st.end();
1255
1371
  });
1256
1372
 
1373
+ t.test('interprets numeric entities above U+FFFF as surrogate pairs', function (st) {
1374
+ var options = { charset: 'iso-8859-1', interpretNumericEntities: true };
1375
+ st.deepEqual(qs.parse('foo=%26%23128512%3B', options), { foo: '\uD83D\uDE00' }, 'U+1F600, which a browser submits as `&#128512;` from an iso-8859-1 form');
1376
+ st.deepEqual(qs.parse('foo=%26%2365536%3B', options), { foo: '\uD800\uDC00' }, 'U+10000');
1377
+ st.deepEqual(qs.parse('foo=%26%231114111%3B', options), { foo: '\uDBFF\uDFFF' }, 'U+10FFFF');
1378
+ st.deepEqual(qs.parse('foo=%26%2365535%3B', options), { foo: '\uFFFF' }, 'U+FFFF is still one code unit');
1379
+ st.end();
1380
+ });
1381
+
1382
+ t.test('interprets numeric entities in each value, but not in keys', function (st) {
1383
+ var options = { charset: 'iso-8859-1', interpretNumericEntities: true };
1384
+ st.deepEqual(qs.parse('a=' + urlEncodedNumSmiley + ',x', options), { a: '☺,x' }, 'a value with commas stays one string without `comma`');
1385
+ st.deepEqual(qs.parse('a' + urlEncodedNumSmiley + '=x', options), { 'a&#9786;': 'x' }, 'keys are not interpreted');
1386
+ st.deepEqual(qs.parse('a[]=' + urlEncodedNumSmiley + '&a[]=x', options), { a: ['☺', 'x'] }, 'bracket array values');
1387
+ st.deepEqual(qs.parse('a=' + urlEncodedNumSmiley + '&a=x', options), { a: ['☺', 'x'] }, 'repeated key values');
1388
+ st.deepEqual(qs.parse('a[b]=' + urlEncodedNumSmiley, options), { a: { b: '☺' } }, 'nested key values');
1389
+ st.deepEqual(
1390
+ qs.parse('utf8=%26%2310003%3B&a=' + urlEncodedNumSmiley, { charsetSentinel: true, interpretNumericEntities: true }),
1391
+ { a: '☺' },
1392
+ 'an iso-8859-1 charset sentinel enables interpretation'
1393
+ );
1394
+ st.deepEqual(qs.parse('a=' + urlEncodedNumSmiley + ',x', { charset: 'iso-8859-1', comma: true }), { a: ['&#9786;', 'x'] }, '`comma` splits without `interpretNumericEntities`');
1395
+ st.end();
1396
+ });
1397
+
1257
1398
  t.test('handles a custom decoder returning `null`, in the `iso-8859-1` charset, when `interpretNumericEntities`', function (st) {
1258
1399
  st.deepEqual(qs.parse('foo=&bar=' + urlEncodedNumSmiley, {
1259
1400
  charset: 'iso-8859-1',
@@ -1289,15 +1430,70 @@ test('parse()', function (t) {
1289
1430
  st.end();
1290
1431
  });
1291
1432
 
1292
- t.test('interpretNumericEntities with comma:true and iso charset does not crash', function (st) {
1433
+ t.test('interpretNumericEntities preserves comma arrays in iso charset', function (st) {
1293
1434
  st.deepEqual(
1294
1435
  qs.parse('b&a[]=1,' + urlEncodedNumSmiley, { comma: true, charset: 'iso-8859-1', interpretNumericEntities: true }),
1295
- { b: '', a: ['1,☺'] }
1436
+ { b: '', a: [['1', '☺']] }
1296
1437
  );
1297
1438
 
1298
1439
  st.end();
1299
1440
  });
1300
1441
 
1442
+ t.test('interprets numeric entities per comma-separated value', function (st) {
1443
+ var options = { comma: true, charset: 'iso-8859-1', interpretNumericEntities: true };
1444
+ st.deepEqual(qs.parse('a=b,c', options), { a: ['b', 'c'] });
1445
+ st.deepEqual(qs.parse('a=' + urlEncodedNumSmiley + ',%26%239786%3B', options), { a: ['☺', '☺'] });
1446
+ st.deepEqual(qs.parse('a=%26%2344%3B,b%2Cc', options), { a: [',', 'b,c'] });
1447
+ st.deepEqual(qs.parse('a=,b,', options), { a: ['', 'b', ''] });
1448
+ st.deepEqual(qs.parse('a=b,c&a=d,e', options), { a: ['b', 'c', 'd', 'e'] });
1449
+ st.deepEqual(qs.parse('a[]=b,c&a[]=d,e', options), { a: [['b', 'c'], ['d', 'e']] });
1450
+ st.deepEqual(qs.parse('a[0]=b,c', options), { a: [['b', 'c']] });
1451
+ st.deepEqual(qs.parse('utf8=%26%2310003%3B&a=b,' + urlEncodedNumSmiley, {
1452
+ comma: true,
1453
+ charsetSentinel: true,
1454
+ interpretNumericEntities: true
1455
+ }), { a: ['b', '☺'] });
1456
+ st.deepEqual(qs.parse('a=b,c,d', {
1457
+ comma: true,
1458
+ charset: 'iso-8859-1',
1459
+ interpretNumericEntities: true,
1460
+ arrayLimit: 2
1461
+ }), { a: { 0: 'b', 1: 'c', 2: 'd' } });
1462
+ st['throws'](function () {
1463
+ qs.parse('a=b,c,d', {
1464
+ comma: true,
1465
+ charset: 'iso-8859-1',
1466
+ interpretNumericEntities: true,
1467
+ arrayLimit: 2,
1468
+ throwOnLimitExceeded: true
1469
+ });
1470
+ }, RangeError);
1471
+ st.end();
1472
+ });
1473
+
1474
+ t.test('preserves falsy decoder results inside comma arrays', function (st) {
1475
+ st.deepEqual(qs.parse('a=null,0,false,' + urlEncodedNumSmiley, {
1476
+ comma: true,
1477
+ charset: 'iso-8859-1',
1478
+ interpretNumericEntities: true,
1479
+ decoder: function (str, defaultDecoder, charset, type) {
1480
+ if (type === 'value') {
1481
+ if (str === 'null') {
1482
+ return null;
1483
+ }
1484
+ if (str === '0') {
1485
+ return 0;
1486
+ }
1487
+ if (str === 'false') {
1488
+ return false;
1489
+ }
1490
+ }
1491
+ return defaultDecoder(str, defaultDecoder, charset, type);
1492
+ }
1493
+ }), { a: [null, 0, false, '☺'] });
1494
+ st.end();
1495
+ });
1496
+
1301
1497
  t.test('does not interpret %uXXXX syntax in iso-8859-1 mode', function (st) {
1302
1498
  st.deepEqual(qs.parse('%u263A=%u263A', { charset: 'iso-8859-1' }), { '%u263A': '%u263A' });
1303
1499
  st.end();
@@ -1421,6 +1617,41 @@ test('parse()', function (t) {
1421
1617
  sst.end();
1422
1618
  });
1423
1619
 
1620
+ st.test('zero and negative arrayLimit allow non-array values', function (sst) {
1621
+ forEach([0, -1], function (arrayLimit) {
1622
+ var options = { arrayLimit: arrayLimit, throwOnLimitExceeded: true };
1623
+ var label = 'arrayLimit ' + arrayLimit;
1624
+ sst.deepEqual(qs.parse('a=b&c[d]=e', options), { a: 'b', c: { d: 'e' } }, label + ': query string fields');
1625
+ sst.deepEqual(qs.parse('a=b', { arrayLimit: arrayLimit, throwOnLimitExceeded: true, comma: true }), { a: 'b' }, label + ': a value without commas when comma is enabled');
1626
+ sst.deepEqual(qs.parse({ a: 'b', 'c[d]': 'e' }, options), { a: 'b', c: { d: 'e' } }, label + ': object input fields');
1627
+ sst.deepEqual(qs.parse({ a: [] }, options), { a: [] }, label + ': an empty input array has no elements');
1628
+ sst.deepEqual(
1629
+ qs.parse('a=b&a=c', { arrayLimit: arrayLimit, throwOnLimitExceeded: true, duplicates: 'last' }),
1630
+ { a: 'c' },
1631
+ label + ': replacing a duplicate does not create an array'
1632
+ );
1633
+ sst.deepEqual(
1634
+ qs.parse('a[]=', { arrayLimit: arrayLimit, throwOnLimitExceeded: true, allowEmptyArrays: true }),
1635
+ { a: [] },
1636
+ label + ': an empty array has no elements to exceed the limit'
1637
+ );
1638
+ sst.deepEqual(qs.parse({ a: ['b'] }, options), { a: ['b'] }, label + ': an array value in object input is left as-is');
1639
+ sst.deepEqual(qs.parse({ 'a[b]': ['x'] }, options), { a: { b: ['x'] } }, label + ': an array value under a nested key in object input is left as-is');
1640
+ sst.deepEqual(qs.parse('a.b=c', { arrayLimit: arrayLimit, throwOnLimitExceeded: true, allowDots: true }), { a: { b: 'c' } }, label + ': dotted keys');
1641
+ sst.deepEqual(
1642
+ qs.parse('a=b&a=c', { arrayLimit: arrayLimit, throwOnLimitExceeded: true, duplicates: 'first' }),
1643
+ { a: 'b' },
1644
+ label + ': keeping the first duplicate does not create an array'
1645
+ );
1646
+ sst.deepEqual(
1647
+ qs.parse('a[]=b', { arrayLimit: arrayLimit, throwOnLimitExceeded: true, parseArrays: false }),
1648
+ { a: { 0: 'b' } },
1649
+ label + ': array syntax with parseArrays false does not create an array'
1650
+ );
1651
+ });
1652
+ sst.end();
1653
+ });
1654
+
1424
1655
  st.test('does not throw when at limit', function (sst) {
1425
1656
  // 3 elements = limit of 3, should not throw
1426
1657
  var result = qs.parse('a[]=1&a[]=2&a[]=3', { arrayLimit: 3, throwOnLimitExceeded: true });
@@ -1429,6 +1660,58 @@ test('parse()', function (t) {
1429
1660
  sst.end();
1430
1661
  });
1431
1662
 
1663
+ st.test('zero and negative arrayLimit', function (sst) {
1664
+ forEach([0, -1], function (arrayLimit) {
1665
+ var options = { arrayLimit: arrayLimit };
1666
+ var throwOptions = { arrayLimit: arrayLimit, throwOnLimitExceeded: true };
1667
+ var label = 'arrayLimit ' + arrayLimit;
1668
+
1669
+ sst.deepEqual(qs.parse('a=b&c[d]=e', options), { a: 'b', c: { d: 'e' } }, label + ': scalar and object fields are unaffected');
1670
+ sst.deepEqual(qs.parse('a[]=b', options), { a: { 0: 'b' } }, label + ': a bracket array becomes an object');
1671
+ sst.deepEqual(qs.parse('a[]=b&a[]=c', options), { a: { 0: 'b', 1: 'c' } }, label + ': a multi-element bracket array becomes an object');
1672
+ sst.deepEqual(qs.parse('a[0]=b', options), { a: { 0: 'b' } }, label + ': an indexed array becomes an object');
1673
+ sst.deepEqual(qs.parse('a=b&a=c', options), { a: { 0: 'b', 1: 'c' } }, label + ': combined duplicates become an object');
1674
+ sst.deepEqual(qs.parse('a[]=', options), { a: { 0: '' } }, label + ': an empty-string element still counts as an element');
1675
+ sst.deepEqual(qs.parse('a[]=', { arrayLimit: arrayLimit, allowEmptyArrays: true }), { a: [] }, label + ': an empty array has no elements');
1676
+ sst.deepEqual(qs.parse({ 'a[]': 'b' }, options), { a: { 0: 'b' } }, label + ': a bracket key in object input becomes an object');
1677
+ sst.deepEqual(qs.parse({ a: ['b'] }, options), { a: ['b'] }, label + ': an array value in object input is left as-is');
1678
+ sst.deepEqual(qs.parse({ a: [] }, options), { a: [] }, label + ': an empty array value in object input is left as-is');
1679
+
1680
+ var error = arrayLimit === 0
1681
+ ? new RangeError('Array limit exceeded. Only 0 elements allowed in an array.')
1682
+ : RangeError;
1683
+ sst['throws'](function () { qs.parse('a[]=b', throwOptions); }, error, label + ': throws on a bracket array');
1684
+ sst['throws'](function () { qs.parse('a[0]=b', throwOptions); }, error, label + ': throws on an indexed array');
1685
+ sst['throws'](function () { qs.parse('a=b&a=c', throwOptions); }, error, label + ': throws on combined duplicates');
1686
+ sst['throws'](function () { qs.parse('a[]=', throwOptions); }, error, label + ': throws on an empty-string element');
1687
+ sst['throws'](function () { qs.parse({ 'a[]': 'b' }, throwOptions); }, error, label + ': throws on a bracket key in object input');
1688
+ });
1689
+
1690
+ sst.end();
1691
+ });
1692
+
1693
+ st.test('zero and negative arrayLimit with comma', function (sst) {
1694
+ forEach([0, -1], function (arrayLimit) {
1695
+ var options = { arrayLimit: arrayLimit, comma: true };
1696
+ var throwOptions = { arrayLimit: arrayLimit, comma: true, throwOnLimitExceeded: true };
1697
+ var label = 'arrayLimit ' + arrayLimit;
1698
+
1699
+ sst.deepEqual(qs.parse('a=b', options), { a: 'b' }, label + ': a value without commas is unaffected');
1700
+ sst.deepEqual(qs.parse('a=b,c', options), { a: { 0: 'b', 1: 'c' } }, label + ': a comma value becomes an object');
1701
+ sst.deepEqual(qs.parse('a[]=b,c', options), { a: { 0: ['b', 'c'] } }, label + ': a bracket array holding a comma group becomes an object');
1702
+ sst.deepEqual(qs.parse('a[0]=b,c', options), { a: { 0: { 0: 'b', 1: 'c' } } }, label + ': an indexed comma group becomes an object');
1703
+
1704
+ var error = arrayLimit === 0
1705
+ ? new RangeError('Array limit exceeded. Only 0 elements allowed in an array.')
1706
+ : RangeError;
1707
+ sst['throws'](function () { qs.parse('a=b,c', throwOptions); }, error, label + ': throws on a comma value');
1708
+ sst['throws'](function () { qs.parse('a[]=b,c', throwOptions); }, error, label + ': throws on a comma group under `[]=`');
1709
+ sst['throws'](function () { qs.parse('a[0]=b,c', throwOptions); }, error, label + ': throws on an indexed comma group');
1710
+ });
1711
+
1712
+ sst.end();
1713
+ });
1714
+
1432
1715
  st.test('converts array to object if length is greater than limit', function (sst) {
1433
1716
  var result = qs.parse('a[1]=1&a[2]=2&a[3]=3&a[4]=4&a[5]=5&a[6]=6', { arrayLimit: 5 });
1434
1717
 
@@ -1564,6 +1847,27 @@ test('parse()', function (t) {
1564
1847
  sst.end();
1565
1848
  });
1566
1849
 
1850
+ st.test('counts the elements of a sparse indexed array on merge, not its holes', function (sst) {
1851
+ sst.deepEqual(qs.parse('a[]=new&a[19]=19&a[0]=0'), { a: ['new', '19', '0'] }, 'an array merged into a sparse array');
1852
+ sst.deepEqual(qs.parse('a[]=new&a[19]=19&a[0]=0', { throwOnLimitExceeded: true }), { a: ['new', '19', '0'] }, 'and it does not throw');
1853
+ sst.deepEqual(qs.parse('a[0]=w&a[19]=x&a[]=y'), { a: ['w', 'x', 'y'] }, 'a bracket value appended after a high index');
1854
+ sst.deepEqual(qs.parse('a[19]=x&a=y'), { a: ['x', 'y'] }, 'a scalar merged into a sparse array');
1855
+ sst.deepEqual(qs.parse('a[19]=x&a=y', { throwOnLimitExceeded: true }), { a: ['x', 'y'] }, 'and it does not throw');
1856
+
1857
+ sst.deepEqual(
1858
+ qs.parse('a[1]=x&a[]=y&a[]=z', { arrayLimit: 2 }),
1859
+ { a: { 0: 'y', 1: 'x', 2: 'z' } },
1860
+ 'more elements than arrayLimit still converts when the array has holes'
1861
+ );
1862
+ sst['throws'](
1863
+ function () { qs.parse('a[1]=x&a[]=y&a[]=z', { arrayLimit: 2, throwOnLimitExceeded: true }); },
1864
+ new RangeError('Array limit exceeded. Only 2 elements allowed in an array.'),
1865
+ 'and throws with throwOnLimitExceeded'
1866
+ );
1867
+
1868
+ sst.end();
1869
+ });
1870
+
1567
1871
  st.test('enforces arrayLimit when a strictMerge conflict appends to its container', function (sst) {
1568
1872
  var aliased = 'a[z]=o&a=p&a[y]=q&[a]=r';
1569
1873
  sst['throws'](
@@ -1621,6 +1925,35 @@ test('parse()', function (t) {
1621
1925
  sst.end();
1622
1926
  });
1623
1927
 
1928
+ st.test('throws when a comma array at arrayLimit is combined with one more value', function (sst) {
1929
+ var error = new RangeError('Array limit exceeded. Only 2 elements allowed in an array.');
1930
+ sst['throws'](
1931
+ function () { qs.parse('a=x,y&a=z', { comma: true, arrayLimit: 2, throwOnLimitExceeded: true }); },
1932
+ error,
1933
+ 'a plain value appended to a full comma array'
1934
+ );
1935
+ sst['throws'](
1936
+ function () { qs.parse('a=x&a=y,z', { comma: true, arrayLimit: 2, throwOnLimitExceeded: true }); },
1937
+ error,
1938
+ 'a comma value appended to a plain value'
1939
+ );
1940
+ sst.end();
1941
+ });
1942
+
1943
+ st.test('does not throw when a duplicate of a full comma array is discarded or replaces it', function (sst) {
1944
+ sst.deepEqual(
1945
+ qs.parse('a=x,y&a=z', { comma: true, arrayLimit: 2, throwOnLimitExceeded: true, duplicates: 'first' }),
1946
+ { a: ['x', 'y'] },
1947
+ 'duplicates: first keeps the full array'
1948
+ );
1949
+ sst.deepEqual(
1950
+ qs.parse('a=x,y&a=z', { comma: true, arrayLimit: 2, throwOnLimitExceeded: true, duplicates: 'last' }),
1951
+ { a: 'z' },
1952
+ 'duplicates: last replaces the full array'
1953
+ );
1954
+ sst.end();
1955
+ });
1956
+
1624
1957
  st.test('silently combines to an overflow object when throwOnLimitExceeded is not set', function (sst) {
1625
1958
  var result = qs.parse('a=1,2,3&a=4,5,6', { comma: true, arrayLimit: 5 });
1626
1959
  sst.deepEqual(result, { a: { 0: '1', 1: '2', 2: '3', 3: '4', 4: '5', 5: '6' } }, 'converts to object without throwing');