@cdklabs/cdk-ecs-codedeploy 0.0.437 → 0.0.439

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 (399) hide show
  1. package/.jsii +3 -3
  2. package/lib/api-canary/index.js +1 -1
  3. package/lib/ecs-appspec/index.js +1 -1
  4. package/lib/ecs-deployment/index.js +1 -1
  5. package/lib/ecs-patterns/application-load-balanced-codedeployed-fargate-service.js +1 -1
  6. package/node_modules/@aws-sdk/client-codedeploy/dist-cjs/endpoint/bdd.js +49 -0
  7. package/node_modules/@aws-sdk/client-codedeploy/dist-cjs/endpoint/endpointResolver.js +2 -2
  8. package/node_modules/@aws-sdk/client-codedeploy/dist-es/endpoint/bdd.js +46 -0
  9. package/node_modules/@aws-sdk/client-codedeploy/dist-es/endpoint/endpointResolver.js +3 -3
  10. package/node_modules/@aws-sdk/client-codedeploy/dist-types/endpoint/bdd.d.ts +2 -0
  11. package/node_modules/@aws-sdk/client-codedeploy/dist-types/ts3.4/endpoint/bdd.d.ts +2 -0
  12. package/node_modules/@aws-sdk/client-codedeploy/package.json +34 -34
  13. package/node_modules/@aws-sdk/core/dist-cjs/index.js +72 -61
  14. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +3 -0
  15. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +70 -61
  16. package/node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js +2 -0
  17. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js +11 -10
  18. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js +4 -1
  19. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +4 -5
  20. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +2 -1
  21. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js +6 -4
  22. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js +15 -10
  23. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/experimental/SinglePassJsonShapeSerializer.js +2 -1
  24. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js +17 -17
  25. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js +3 -8
  26. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js +2 -1
  27. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js +2 -2
  28. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js +4 -2
  29. package/node_modules/@aws-sdk/core/dist-types/submodules/client/setFeature.d.ts +1 -1
  30. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/JsonShapeSerializer.d.ts +2 -2
  31. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonShapeSerializer.d.ts +1 -1
  32. package/node_modules/@aws-sdk/core/package.json +14 -12
  33. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  34. package/node_modules/@aws-sdk/credential-provider-http/package.json +10 -10
  35. package/node_modules/@aws-sdk/credential-provider-ini/package.json +14 -14
  36. package/node_modules/@aws-sdk/credential-provider-login/package.json +8 -8
  37. package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
  38. package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
  39. package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
  40. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -7
  41. package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
  42. package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
  43. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
  44. package/node_modules/@aws-sdk/middleware-sdk-s3/LICENSE +201 -0
  45. package/node_modules/@aws-sdk/middleware-sdk-s3/README.md +4 -0
  46. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js +581 -0
  47. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/toStream.browser.js +11 -0
  48. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/toStream.js +7 -0
  49. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/bucket-endpoint-middleware.js +36 -0
  50. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/check-content-length-header.js +32 -0
  51. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/index.js +9 -0
  52. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/protocol/S3RestXmlProtocol.js +25 -0
  53. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-endpoint-middleware.js +41 -0
  54. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-middleware.js +42 -0
  55. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-expires-middleware.js +33 -0
  56. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCache.js +39 -0
  57. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCacheEntry.js +14 -0
  58. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityProviderImpl.js +49 -0
  59. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/SignatureV4S3Express.js +41 -0
  60. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/constants.js +13 -0
  61. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressHttpSigningMiddleware.js +38 -0
  62. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressMiddleware.js +41 -0
  63. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/signS3Express.js +7 -0
  64. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/index.js +7 -0
  65. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/interfaces/S3ExpressIdentity.js +1 -0
  66. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/interfaces/S3ExpressIdentityProvider.js +1 -0
  67. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3Configuration.js +17 -0
  68. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/throw-200-exceptions.js +51 -0
  69. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/toStream.browser.js +8 -0
  70. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/toStream.js +4 -0
  71. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/validate-bucket-name.js +25 -0
  72. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/bucket-endpoint-middleware.d.ts +13 -0
  73. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/check-content-length-header.d.ts +16 -0
  74. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/index.d.ts +9 -0
  75. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/protocol/S3RestXmlProtocol.d.ts +20 -0
  76. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/region-redirect-endpoint-middleware.d.ts +10 -0
  77. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/region-redirect-middleware.d.ts +20 -0
  78. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-expires-middleware.d.ts +26 -0
  79. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityCache.d.ts +16 -0
  80. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityCacheEntry.d.ts +16 -0
  81. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityProviderImpl.d.ts +32 -0
  82. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/SignatureV4S3Express.d.ts +17 -0
  83. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/constants.d.ts +37 -0
  84. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/s3ExpressHttpSigningMiddleware.d.ts +27 -0
  85. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/s3ExpressMiddleware.d.ts +32 -0
  86. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/signS3Express.d.ts +9 -0
  87. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/index.d.ts +9 -0
  88. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/interfaces/S3ExpressIdentity.d.ts +6 -0
  89. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/interfaces/S3ExpressIdentityProvider.d.ts +12 -0
  90. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3Configuration.d.ts +79 -0
  91. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/throw-200-exceptions.d.ts +21 -0
  92. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/toStream.browser.d.ts +4 -0
  93. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/toStream.d.ts +5 -0
  94. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/bucket-endpoint-middleware.d.ts +9 -0
  95. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/check-content-length-header.d.ts +13 -0
  96. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/index.d.ts +9 -0
  97. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/protocol/S3RestXmlProtocol.d.ts +15 -0
  98. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/region-redirect-endpoint-middleware.d.ts +6 -0
  99. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/region-redirect-middleware.d.ts +17 -0
  100. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-expires-middleware.d.ts +14 -0
  101. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityCache.d.ts +14 -0
  102. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityCacheEntry.d.ts +12 -0
  103. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityProviderImpl.d.ts +31 -0
  104. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/SignatureV4S3Express.d.ts +19 -0
  105. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/constants.d.ts +11 -0
  106. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/s3ExpressHttpSigningMiddleware.d.ts +40 -0
  107. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/s3ExpressMiddleware.d.ts +27 -0
  108. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/signS3Express.d.ts +21 -0
  109. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/index.d.ts +17 -0
  110. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/interfaces/S3ExpressIdentity.d.ts +2 -0
  111. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/interfaces/S3ExpressIdentityProvider.d.ts +8 -0
  112. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3Configuration.d.ts +33 -0
  113. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/throw-200-exceptions.d.ts +19 -0
  114. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/toStream.browser.d.ts +1 -0
  115. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/toStream.d.ts +2 -0
  116. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/validate-bucket-name.d.ts +13 -0
  117. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/validate-bucket-name.d.ts +14 -0
  118. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +79 -0
  119. package/node_modules/@aws-sdk/middleware-user-agent/package.json +8 -8
  120. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/endpoint/bdd.js +100 -0
  121. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/endpoint/endpointResolver.js +2 -2
  122. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/endpoint/bdd.js +90 -0
  123. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/endpoint/endpointResolver.js +2 -2
  124. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/endpoint/bdd.js +80 -0
  125. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/endpoint/endpointResolver.js +2 -2
  126. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/bdd.js +80 -0
  127. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/endpointResolver.js +2 -2
  128. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/STSClient.js +1 -0
  129. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/auth/httpAuthSchemeProvider.js +87 -5
  130. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/bdd.js +150 -0
  131. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/endpointResolver.js +2 -2
  132. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/models/errors.js +1 -0
  133. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeConfig.js +6 -0
  134. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/runtimeConfig.shared.js +7 -0
  135. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/bdd.js +97 -0
  136. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/endpointResolver.js +3 -3
  137. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/bdd.js +87 -0
  138. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js +3 -3
  139. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/bdd.js +77 -0
  140. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/endpointResolver.js +3 -3
  141. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/bdd.js +77 -0
  142. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/endpointResolver.js +3 -3
  143. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js +1 -0
  144. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js +88 -4
  145. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/bdd.js +147 -0
  146. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js +3 -3
  147. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/errors.js +1 -0
  148. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +7 -1
  149. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js +8 -1
  150. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/endpoint/bdd.d.ts +2 -0
  151. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/endpoint/bdd.d.ts +2 -0
  152. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/endpoint/bdd.d.ts +2 -0
  153. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/endpoint/bdd.d.ts +2 -0
  154. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/auth/httpAuthSchemeProvider.d.ts +15 -7
  155. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/endpoint/bdd.d.ts +2 -0
  156. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/models/errors.d.ts +1 -0
  157. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.browser.d.ts +3 -2
  158. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +10 -4
  159. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.native.d.ts +3 -2
  160. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.shared.d.ts +3 -1
  161. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/endpoint/bdd.d.ts +2 -0
  162. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/endpoint/bdd.d.ts +2 -0
  163. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/endpoint/bdd.d.ts +2 -0
  164. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/endpoint/bdd.d.ts +2 -0
  165. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/auth/httpAuthSchemeProvider.d.ts +20 -9
  166. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/endpoint/bdd.d.ts +2 -0
  167. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/models/errors.d.ts +1 -0
  168. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.browser.d.ts +11 -5
  169. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +35 -16
  170. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.native.d.ts +11 -5
  171. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.shared.d.ts +8 -1
  172. package/node_modules/@aws-sdk/nested-clients/package.json +33 -32
  173. package/node_modules/@aws-sdk/region-config-resolver/package.json +5 -5
  174. package/node_modules/@aws-sdk/signature-v4-multi-region/LICENSE +201 -0
  175. package/node_modules/@aws-sdk/signature-v4-multi-region/README.md +32 -0
  176. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +121 -0
  177. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/SignatureV4MultiRegion.js +112 -0
  178. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/index.js +2 -0
  179. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/signature-v4-crt-container.js +3 -0
  180. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/SignatureV4MultiRegion.d.ts +35 -0
  181. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/index.d.ts +5 -0
  182. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/signature-v4-crt-container.d.ts +28 -0
  183. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/SignatureV4MultiRegion.d.ts +41 -0
  184. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/index.d.ts +2 -0
  185. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/signature-v4-crt-container.d.ts +20 -0
  186. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +61 -0
  187. package/node_modules/@aws-sdk/token-providers/package.json +7 -7
  188. package/node_modules/@aws-sdk/types/package.json +2 -2
  189. package/node_modules/@aws-sdk/util-arn-parser/LICENSE +201 -0
  190. package/node_modules/@aws-sdk/util-arn-parser/README.md +4 -0
  191. package/node_modules/@aws-sdk/util-arn-parser/dist-cjs/index.js +27 -0
  192. package/node_modules/@aws-sdk/util-arn-parser/dist-es/index.js +21 -0
  193. package/node_modules/@aws-sdk/util-arn-parser/dist-types/index.d.ts +32 -0
  194. package/node_modules/@aws-sdk/util-arn-parser/dist-types/ts3.4/index.d.ts +14 -0
  195. package/node_modules/@aws-sdk/util-arn-parser/package.json +55 -0
  196. package/node_modules/@aws-sdk/util-endpoints/package.json +5 -5
  197. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
  198. package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -5
  199. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +0 -2
  200. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +0 -2
  201. package/node_modules/@aws-sdk/xml-builder/package.json +3 -3
  202. package/node_modules/@nodable/entities/README.md +41 -0
  203. package/node_modules/@nodable/entities/package.json +54 -0
  204. package/node_modules/@nodable/entities/src/EntityDecoder.js +543 -0
  205. package/node_modules/@nodable/entities/src/EntityEncoder.js +194 -0
  206. package/node_modules/@nodable/entities/src/entities.js +1177 -0
  207. package/node_modules/@nodable/entities/src/entityTries.js +49 -0
  208. package/node_modules/@nodable/entities/src/index.d.ts +264 -0
  209. package/node_modules/@nodable/entities/src/index.js +29 -0
  210. package/node_modules/@smithy/config-resolver/package.json +5 -5
  211. package/node_modules/@smithy/core/dist-cjs/index.js +2 -1
  212. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +32 -14
  213. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +2 -2
  214. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +16 -8
  215. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +17 -10
  216. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +6 -1
  217. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +6 -3
  218. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +2 -1
  219. package/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js +23 -11
  220. package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +9 -3
  221. package/node_modules/@smithy/core/dist-es/submodules/endpoints/toEndpointV1.js +2 -2
  222. package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +16 -8
  223. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +9 -4
  224. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +8 -6
  225. package/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js +6 -1
  226. package/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js +6 -3
  227. package/node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js +2 -1
  228. package/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts +1 -1
  229. package/node_modules/@smithy/core/package.json +7 -7
  230. package/node_modules/@smithy/credential-provider-imds/package.json +5 -5
  231. package/node_modules/@smithy/fetch-http-handler/package.json +5 -5
  232. package/node_modules/@smithy/hash-node/package.json +2 -2
  233. package/node_modules/@smithy/invalid-dependency/package.json +2 -2
  234. package/node_modules/@smithy/middleware-content-length/package.json +3 -3
  235. package/node_modules/@smithy/middleware-endpoint/package.json +8 -8
  236. package/node_modules/@smithy/middleware-retry/package.json +9 -9
  237. package/node_modules/@smithy/middleware-serde/package.json +4 -4
  238. package/node_modules/@smithy/middleware-stack/package.json +2 -2
  239. package/node_modules/@smithy/node-config-provider/package.json +4 -4
  240. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +208 -102
  241. package/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +50 -0
  242. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +83 -41
  243. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js +32 -18
  244. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +44 -43
  245. package/node_modules/@smithy/node-http-handler/dist-types/http2/ClientHttp2SessionRef.d.ts +46 -0
  246. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +32 -14
  247. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +32 -8
  248. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-handler.d.ts +14 -6
  249. package/node_modules/@smithy/node-http-handler/package.json +5 -5
  250. package/node_modules/@smithy/property-provider/package.json +2 -2
  251. package/node_modules/@smithy/protocol-http/package.json +2 -2
  252. package/node_modules/@smithy/querystring-builder/package.json +2 -2
  253. package/node_modules/@smithy/querystring-parser/package.json +2 -2
  254. package/node_modules/@smithy/service-error-classification/dist-cjs/index.js +6 -0
  255. package/node_modules/@smithy/service-error-classification/dist-es/index.js +5 -0
  256. package/node_modules/@smithy/service-error-classification/dist-types/index.d.ts +6 -0
  257. package/node_modules/@smithy/service-error-classification/package.json +2 -2
  258. package/node_modules/@smithy/shared-ini-file-loader/package.json +2 -2
  259. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +11 -5
  260. package/node_modules/@smithy/signature-v4/dist-es/SignatureV4.js +11 -5
  261. package/node_modules/@smithy/signature-v4/dist-types/SignatureV4.d.ts +3 -3
  262. package/node_modules/@smithy/signature-v4/package.json +4 -4
  263. package/node_modules/@smithy/smithy-client/dist-cjs/index.js +8 -1
  264. package/node_modules/@smithy/smithy-client/dist-es/command.js +8 -1
  265. package/node_modules/@smithy/smithy-client/package.json +7 -7
  266. package/node_modules/@smithy/types/dist-types/connection/config.d.ts +5 -0
  267. package/node_modules/@smithy/types/dist-types/signature.d.ts +20 -3
  268. package/node_modules/@smithy/types/package.json +1 -1
  269. package/node_modules/@smithy/url-parser/package.json +3 -3
  270. package/node_modules/@smithy/util-defaults-mode-browser/package.json +4 -4
  271. package/node_modules/@smithy/util-defaults-mode-node/package.json +7 -7
  272. package/node_modules/@smithy/util-endpoints/dist-cjs/index.js +79 -71
  273. package/node_modules/@smithy/util-endpoints/dist-es/decideEndpoint.js +4 -3
  274. package/node_modules/@smithy/util-endpoints/dist-es/lib/getAttr.js +2 -1
  275. package/node_modules/@smithy/util-endpoints/dist-es/resolveEndpoint.js +8 -13
  276. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateCondition.js +9 -7
  277. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateConditions.js +12 -8
  278. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateEndpointRule.js +14 -13
  279. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateErrorRule.js +7 -4
  280. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js +10 -8
  281. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateRules.js +4 -4
  282. package/node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointHeaders.js +5 -5
  283. package/node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperties.js +4 -4
  284. package/node_modules/@smithy/util-endpoints/dist-types/bdd/BinaryDecisionDiagram.d.ts +2 -2
  285. package/node_modules/@smithy/util-endpoints/dist-types/types/shared.d.ts +3 -3
  286. package/node_modules/@smithy/util-endpoints/dist-types/utils/endpointFunctions.d.ts +2 -15
  287. package/node_modules/@smithy/util-endpoints/dist-types/utils/evaluateCondition.d.ts +6 -3
  288. package/node_modules/@smithy/util-endpoints/dist-types/utils/evaluateConditions.d.ts +3 -3
  289. package/node_modules/@smithy/util-endpoints/dist-types/utils/getEndpointHeaders.d.ts +1 -1
  290. package/node_modules/@smithy/util-endpoints/dist-types/utils/getEndpointProperties.d.ts +2 -2
  291. package/node_modules/@smithy/util-endpoints/dist-types/utils/getReferenceValue.d.ts +2 -2
  292. package/node_modules/@smithy/util-endpoints/package.json +3 -3
  293. package/node_modules/@smithy/util-middleware/package.json +2 -2
  294. package/node_modules/@smithy/util-retry/dist-cjs/index.js +20 -10
  295. package/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +20 -10
  296. package/node_modules/@smithy/util-retry/dist-types/StandardRetryStrategy.d.ts +12 -4
  297. package/node_modules/@smithy/util-retry/package.json +3 -3
  298. package/node_modules/@smithy/util-stream/package.json +4 -4
  299. package/node_modules/@smithy/util-waiter/dist-cjs/index.js +59 -34
  300. package/node_modules/@smithy/util-waiter/dist-es/poller.js +61 -34
  301. package/node_modules/@smithy/util-waiter/dist-types/createWaiter.d.ts +1 -1
  302. package/node_modules/@smithy/util-waiter/dist-types/poller.d.ts +2 -1
  303. package/node_modules/@smithy/util-waiter/dist-types/waiter.d.ts +13 -13
  304. package/node_modules/@smithy/util-waiter/package.json +3 -3
  305. package/node_modules/fast-xml-builder/package.json +1 -1
  306. package/node_modules/fast-xml-builder/src/fxb.js +6 -2
  307. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +16 -2
  308. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/CHANGELOG.md +53 -0
  309. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/README.md +8 -28
  310. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js +2 -0
  311. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -0
  312. package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -0
  313. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/lib/fxp.d.cts +172 -6
  314. package/node_modules/fast-xml-parser/lib/fxp.min.js +2 -0
  315. package/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -0
  316. package/node_modules/fast-xml-parser/lib/fxparser.min.js +2 -0
  317. package/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -0
  318. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/package.json +5 -4
  319. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/fxp.d.ts +162 -3
  320. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/DocTypeReader.js +2 -5
  321. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/OptionsBuilder.js +15 -11
  322. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/OrderedObjParser.js +168 -244
  323. package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/XMLParser.js +1 -1
  324. package/package.json +5 -5
  325. package/node_modules/@aws-sdk/client-codedeploy/dist-cjs/endpoint/ruleset.js +0 -7
  326. package/node_modules/@aws-sdk/client-codedeploy/dist-es/endpoint/ruleset.js +0 -4
  327. package/node_modules/@aws-sdk/client-codedeploy/dist-types/endpoint/ruleset.d.ts +0 -2
  328. package/node_modules/@aws-sdk/client-codedeploy/dist-types/ts3.4/endpoint/ruleset.d.ts +0 -2
  329. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/endpoint/ruleset.js +0 -146
  330. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/endpoint/ruleset.js +0 -133
  331. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/endpoint/ruleset.js +0 -106
  332. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/endpoint/ruleset.js +0 -106
  333. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/endpoint/ruleset.js +0 -145
  334. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/ruleset.js +0 -143
  335. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/ruleset.js +0 -130
  336. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/ruleset.js +0 -103
  337. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/ruleset.js +0 -103
  338. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/ruleset.js +0 -142
  339. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/endpoint/ruleset.d.ts +0 -2
  340. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/endpoint/ruleset.d.ts +0 -2
  341. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/endpoint/ruleset.d.ts +0 -2
  342. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/endpoint/ruleset.d.ts +0 -2
  343. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/endpoint/ruleset.d.ts +0 -2
  344. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/endpoint/ruleset.d.ts +0 -2
  345. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/endpoint/ruleset.d.ts +0 -2
  346. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/endpoint/ruleset.d.ts +0 -2
  347. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/endpoint/ruleset.d.ts +0 -2
  348. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/endpoint/ruleset.d.ts +0 -2
  349. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js +0 -2
  350. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +0 -1
  351. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +0 -1
  352. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +0 -2
  353. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +0 -1
  354. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +0 -2
  355. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +0 -1
  356. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/pem.d.cts +0 -148
  357. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/pem.d.ts +0 -135
  358. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/LICENSE +0 -0
  359. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/lib/fxvalidator.min.js +0 -0
  360. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/lib/fxvalidator.min.js.map +0 -0
  361. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/cli/cli.js +0 -0
  362. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/cli/man.js +0 -0
  363. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/cli/read.js +0 -0
  364. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/fxp.js +0 -0
  365. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/ignoreAttributes.js +0 -0
  366. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/util.js +0 -0
  367. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/CharsSymbol.js +0 -0
  368. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/EntitiesParser.js +0 -0
  369. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OptionsBuilder.js +0 -0
  370. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OutputBuilders/BaseOutputBuilder.js +0 -0
  371. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OutputBuilders/JsArrBuilder.js +0 -0
  372. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OutputBuilders/JsMinArrBuilder.js +0 -0
  373. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OutputBuilders/JsObjBuilder.js +0 -0
  374. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/OutputBuilders/ParserOptionsBuilder.js +0 -0
  375. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/Report.js +0 -0
  376. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/TagPath.js +0 -0
  377. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/TagPathMatcher.js +0 -0
  378. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/XMLParser.js +0 -0
  379. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/Xml2JsParser.js +0 -0
  380. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/XmlPartReader.js +0 -0
  381. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/XmlSpecialTagsReader.js +0 -0
  382. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/inputSource/BufferSource.js +0 -0
  383. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/inputSource/StringSource.js +0 -0
  384. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/EntitiesParser.js +0 -0
  385. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/booleanParser.js +0 -0
  386. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/booleanParserExt.js +0 -0
  387. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/currency.js +0 -0
  388. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/join.js +0 -0
  389. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/number.js +0 -0
  390. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/v6/valueParsers/trim.js +0 -0
  391. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/validator.js +0 -0
  392. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlbuilder/json2xml.js +0 -0
  393. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/node2json.js +0 -0
  394. /package/node_modules/{@aws-sdk/xml-builder/node_modules/fast-xml-parser → fast-xml-parser}/src/xmlparser/xmlNode.js +0 -0
  395. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/CHANGELOG.md +0 -0
  396. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/LICENSE +0 -0
  397. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/README.md +0 -0
  398. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/package.json +0 -0
  399. /package/node_modules/{@aws-sdk/xml-builder/node_modules/strnum → strnum}/strnum.js +0 -0
@@ -58,7 +58,7 @@ export class SignatureV4 extends SignatureV4Base {
58
58
  return this.signRequest(toSign, options);
59
59
  }
60
60
  }
61
- async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService }) {
61
+ async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService, eventStreamCredentials, }) {
62
62
  const region = signingRegion ?? (await this.regionProvider());
63
63
  const { shortDate, longDate } = this.formatDate(signingDate);
64
64
  const scope = createScope(shortDate, region, signingService ?? this.service);
@@ -74,9 +74,14 @@ export class SignatureV4 extends SignatureV4Base {
74
74
  hashedHeaders,
75
75
  hashedPayload,
76
76
  ].join("\n");
77
- return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });
77
+ return this.signString(stringToSign, {
78
+ signingDate,
79
+ signingRegion: region,
80
+ signingService,
81
+ eventStreamCredentials,
82
+ });
78
83
  }
79
- async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService }) {
84
+ async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService, eventStreamCredentials }) {
80
85
  const promise = this.signEvent({
81
86
  headers: this.headerFormatter.format(signableMessage.message.headers),
82
87
  payload: signableMessage.message.body,
@@ -85,13 +90,14 @@ export class SignatureV4 extends SignatureV4Base {
85
90
  signingRegion,
86
91
  signingService,
87
92
  priorSignature: signableMessage.priorSignature,
93
+ eventStreamCredentials,
88
94
  });
89
95
  return promise.then((signature) => {
90
96
  return { message: signableMessage.message, signature };
91
97
  });
92
98
  }
93
- async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {
94
- const credentials = await this.credentialProvider();
99
+ async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService, eventStreamCredentials, } = {}) {
100
+ const credentials = eventStreamCredentials ?? (await this.credentialProvider());
95
101
  this.validateResolvedCredentials(credentials);
96
102
  const region = signingRegion ?? (await this.regionProvider());
97
103
  const { shortDate } = this.formatDate(signingDate);
@@ -1,4 +1,4 @@
1
- import type { EventSigner, EventSigningArguments, FormattedEvent, HttpRequest, MessageSigner, RequestPresigner, RequestPresigningArguments, RequestSigner, RequestSigningArguments, SignableMessage, SignedMessage, SigningArguments, StringSigner } from "@smithy/types";
1
+ import type { EventSigner, EventSigningArguments, FormattedEvent, HttpRequest, MessageSigner, MessageSigningArguments, RequestPresigner, RequestPresigningArguments, RequestSigner, RequestSigningArguments, SignableMessage, SignedMessage, SigningArguments, StringSigner } from "@smithy/types";
2
2
  import type { SignatureV4CryptoInit, SignatureV4Init } from "./SignatureV4Base";
3
3
  import { SignatureV4Base } from "./SignatureV4Base";
4
4
  /**
@@ -10,10 +10,10 @@ export declare class SignatureV4 extends SignatureV4Base implements RequestPresi
10
10
  presign(originalRequest: HttpRequest, options?: RequestPresigningArguments): Promise<HttpRequest>;
11
11
  sign(stringToSign: string, options?: SigningArguments): Promise<string>;
12
12
  sign(event: FormattedEvent, options: EventSigningArguments): Promise<string>;
13
- sign(event: SignableMessage, options: SigningArguments): Promise<SignedMessage>;
13
+ sign(event: SignableMessage, options: MessageSigningArguments): Promise<SignedMessage>;
14
14
  sign(requestToSign: HttpRequest, options?: RequestSigningArguments): Promise<HttpRequest>;
15
15
  private signEvent;
16
- signMessage(signableMessage: SignableMessage, { signingDate, signingRegion, signingService }: SigningArguments): Promise<SignedMessage>;
16
+ signMessage(signableMessage: SignableMessage, { signingDate, signingRegion, signingService, eventStreamCredentials }: MessageSigningArguments): Promise<SignedMessage>;
17
17
  private signString;
18
18
  private signRequest;
19
19
  private getSignature;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/signature-v4",
3
- "version": "5.3.13",
3
+ "version": "5.3.14",
4
4
  "description": "A standalone implementation of the AWS Signature V4 request signing algorithm",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -26,10 +26,10 @@
26
26
  "sideEffects": false,
27
27
  "dependencies": {
28
28
  "@smithy/is-array-buffer": "^4.2.2",
29
- "@smithy/protocol-http": "^5.3.13",
30
- "@smithy/types": "^4.14.0",
29
+ "@smithy/protocol-http": "^5.3.14",
30
+ "@smithy/types": "^4.14.1",
31
31
  "@smithy/util-hex-encoding": "^4.2.2",
32
- "@smithy/util-middleware": "^4.2.13",
32
+ "@smithy/util-middleware": "^4.2.14",
33
33
  "@smithy/util-uri-escape": "^4.2.2",
34
34
  "@smithy/util-utf8": "^4.2.2",
35
35
  "tslib": "^2.6.2"
@@ -116,7 +116,14 @@ class Command {
116
116
  ...additionalContext,
117
117
  };
118
118
  const { requestHandler } = configuration;
119
- return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
119
+ let requestOptions = options ?? {};
120
+ if (smithyContext.eventStream) {
121
+ requestOptions = {
122
+ isEventStream: true,
123
+ ...requestOptions,
124
+ };
125
+ }
126
+ return stack.resolve((request) => requestHandler.handle(request.request, requestOptions), handlerExecutionContext);
120
127
  }
121
128
  }
122
129
  class ClassBuilder {
@@ -26,7 +26,14 @@ export class Command {
26
26
  ...additionalContext,
27
27
  };
28
28
  const { requestHandler } = configuration;
29
- return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);
29
+ let requestOptions = options ?? {};
30
+ if (smithyContext.eventStream) {
31
+ requestOptions = {
32
+ isEventStream: true,
33
+ ...requestOptions,
34
+ };
35
+ }
36
+ return stack.resolve((request) => requestHandler.handle(request.request, requestOptions), handlerExecutionContext);
30
37
  }
31
38
  }
32
39
  class ClassBuilder {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/smithy-client",
3
- "version": "4.12.9",
3
+ "version": "4.12.13",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
6
6
  "build:es:cjs": "yarn g:tsc -p tsconfig.es.json && node ../../scripts/inline smithy-client",
@@ -26,12 +26,12 @@
26
26
  "license": "Apache-2.0",
27
27
  "sideEffects": false,
28
28
  "dependencies": {
29
- "@smithy/core": "^3.23.14",
30
- "@smithy/middleware-endpoint": "^4.4.29",
31
- "@smithy/middleware-stack": "^4.2.13",
32
- "@smithy/protocol-http": "^5.3.13",
33
- "@smithy/types": "^4.14.0",
34
- "@smithy/util-stream": "^4.5.22",
29
+ "@smithy/core": "^3.23.17",
30
+ "@smithy/middleware-endpoint": "^4.4.32",
31
+ "@smithy/middleware-stack": "^4.2.14",
32
+ "@smithy/protocol-http": "^5.3.14",
33
+ "@smithy/types": "^4.14.1",
34
+ "@smithy/util-stream": "^4.5.25",
35
35
  "tslib": "^2.6.2"
36
36
  },
37
37
  "engines": {
@@ -7,4 +7,9 @@ export interface ConnectConfiguration {
7
7
  * may take before the connection attempt is abandoned.
8
8
  */
9
9
  requestTimeout?: number;
10
+ /**
11
+ * Signal from the Command class object context,
12
+ * tells the connection manager to use a new connection.
13
+ */
14
+ isEventStream?: boolean;
10
15
  }
@@ -1,5 +1,6 @@
1
1
  import type { Message } from "./eventStream";
2
2
  import type { HttpRequest } from "./http";
3
+ import type { AwsCredentialIdentity } from "./identity/awsCredentialIdentity";
3
4
  /**
4
5
  * @public
5
6
  *
@@ -76,9 +77,25 @@ export interface RequestPresigningArguments extends RequestSigningArguments {
76
77
  /**
77
78
  * @public
78
79
  */
79
- export interface EventSigningArguments extends SigningArguments {
80
+ export interface EventSigningArguments extends SigningArguments, EventStreamRequestScopedCredentials {
80
81
  priorSignature: string;
81
82
  }
83
+ /**
84
+ * @public
85
+ */
86
+ export interface MessageSigningArguments extends SigningArguments, EventStreamRequestScopedCredentials {
87
+ }
88
+ /**
89
+ * @internal
90
+ */
91
+ export interface EventStreamRequestScopedCredentials {
92
+ /**
93
+ * Optional, static credentials used for the duration of the event-stream request.
94
+ * If not provided, the signer's internal credential provider would be used, if
95
+ * the signer is SignatureV4.
96
+ */
97
+ eventStreamCredentials?: AwsCredentialIdentity;
98
+ }
82
99
  /**
83
100
  * @public
84
101
  */
@@ -150,6 +167,6 @@ export interface SignedMessage {
150
167
  * @public
151
168
  */
152
169
  export interface MessageSigner {
153
- signMessage(message: SignableMessage, args: SigningArguments): Promise<SignedMessage>;
154
- sign(event: SignableMessage, options: SigningArguments): Promise<SignedMessage>;
170
+ signMessage(message: SignableMessage, args: MessageSigningArguments): Promise<SignedMessage>;
171
+ sign(event: SignableMessage, options: MessageSigningArguments): Promise<SignedMessage>;
155
172
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/types",
3
- "version": "4.14.0",
3
+ "version": "4.14.1",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
6
6
  "build:es:cjs": "yarn g:tsc -p tsconfig.es.json && node ../../scripts/inline types",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/url-parser",
3
- "version": "4.2.13",
3
+ "version": "4.2.14",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
6
6
  "build:es:cjs": "yarn g:tsc -p tsconfig.es.json && node ../../scripts/inline url-parser",
@@ -23,8 +23,8 @@
23
23
  "license": "Apache-2.0",
24
24
  "sideEffects": false,
25
25
  "dependencies": {
26
- "@smithy/querystring-parser": "^4.2.13",
27
- "@smithy/types": "^4.14.0",
26
+ "@smithy/querystring-parser": "^4.2.14",
27
+ "@smithy/types": "^4.14.1",
28
28
  "tslib": "^2.6.2"
29
29
  },
30
30
  "typesVersions": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/util-defaults-mode-browser",
3
- "version": "4.3.45",
3
+ "version": "4.3.49",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
6
6
  "build:es:cjs": "yarn g:tsc -p tsconfig.es.json && node ../../scripts/inline util-defaults-mode-browser",
@@ -23,9 +23,9 @@
23
23
  "license": "Apache-2.0",
24
24
  "sideEffects": false,
25
25
  "dependencies": {
26
- "@smithy/property-provider": "^4.2.13",
27
- "@smithy/smithy-client": "^4.12.9",
28
- "@smithy/types": "^4.14.0",
26
+ "@smithy/property-provider": "^4.2.14",
27
+ "@smithy/smithy-client": "^4.12.13",
28
+ "@smithy/types": "^4.14.1",
29
29
  "tslib": "^2.6.2"
30
30
  },
31
31
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/util-defaults-mode-node",
3
- "version": "4.2.50",
3
+ "version": "4.2.54",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
6
6
  "build:es:cjs": "yarn g:tsc -p tsconfig.es.json && node ../../scripts/inline util-defaults-mode-node",
@@ -23,12 +23,12 @@
23
23
  "license": "Apache-2.0",
24
24
  "sideEffects": false,
25
25
  "dependencies": {
26
- "@smithy/config-resolver": "^4.4.15",
27
- "@smithy/credential-provider-imds": "^4.2.13",
28
- "@smithy/node-config-provider": "^4.3.13",
29
- "@smithy/property-provider": "^4.2.13",
30
- "@smithy/smithy-client": "^4.12.9",
31
- "@smithy/types": "^4.14.0",
26
+ "@smithy/config-resolver": "^4.4.17",
27
+ "@smithy/credential-provider-imds": "^4.2.14",
28
+ "@smithy/node-config-provider": "^4.3.14",
29
+ "@smithy/property-provider": "^4.2.14",
30
+ "@smithy/smithy-client": "^4.12.13",
31
+ "@smithy/types": "^4.14.1",
32
32
  "tslib": "^2.6.2"
33
33
  },
34
34
  "devDependencies": {
@@ -134,7 +134,8 @@ const getAttr = (value, path) => getAttrPathList(path).reduce((acc, index) => {
134
134
  throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);
135
135
  }
136
136
  else if (Array.isArray(acc)) {
137
- return acc[parseInt(index)];
137
+ const i = parseInt(index);
138
+ return acc[i < 0 ? acc.length + i : i];
138
139
  }
139
140
  return acc[index];
140
141
  }, value);
@@ -317,50 +318,54 @@ const callFunction = ({ fn, argv }, options) => {
317
318
  evaluatedArgs[i] = group$2.evaluateExpression(arg, "arg", options);
318
319
  }
319
320
  }
320
- if (fn.includes(".")) {
321
- const fnSegments = fn.split(".");
322
- if (fnSegments[0] in customEndpointFunctions && fnSegments[1] != null) {
323
- return customEndpointFunctions[fnSegments[0]][fnSegments[1]](...evaluatedArgs);
321
+ const namespaceSeparatorIndex = fn.indexOf(".");
322
+ if (namespaceSeparatorIndex !== -1) {
323
+ const namespaceFunctions = customEndpointFunctions[fn.slice(0, namespaceSeparatorIndex)];
324
+ const customFunction = namespaceFunctions?.[fn.slice(namespaceSeparatorIndex + 1)];
325
+ if (typeof customFunction === "function") {
326
+ return customFunction(...evaluatedArgs);
324
327
  }
325
328
  }
326
- if (typeof endpointFunctions[fn] !== "function") {
327
- throw new Error(`function ${fn} not loaded in endpointFunctions.`);
328
- }
329
329
  const callable = endpointFunctions[fn];
330
- return callable(...evaluatedArgs);
330
+ if (typeof callable === "function") {
331
+ return callable(...evaluatedArgs);
332
+ }
333
+ throw new Error(`function ${fn} not loaded in endpointFunctions.`);
331
334
  };
332
335
  const group$2 = {
333
336
  evaluateExpression,
334
337
  callFunction,
335
338
  };
336
339
 
337
- const evaluateCondition = ({ assign, ...fnArgs }, options) => {
340
+ const evaluateCondition = (condition, options) => {
341
+ const { assign } = condition;
338
342
  if (assign && assign in options.referenceRecord) {
339
343
  throw new EndpointError(`'${assign}' is already defined in Reference Record.`);
340
344
  }
341
- const value = callFunction(fnArgs, options);
342
- options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(fnArgs)} = ${toDebugString(value)}`);
343
- return {
344
- result: value === "" ? true : !!value,
345
- ...(assign != null && { toAssign: { name: assign, value } }),
346
- };
345
+ const value = callFunction(condition, options);
346
+ options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(condition)} = ${toDebugString(value)}`);
347
+ const result = value === "" ? true : !!value;
348
+ if (assign != null) {
349
+ return { result, toAssign: { name: assign, value } };
350
+ }
351
+ return { result };
347
352
  };
348
353
 
349
- const getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({
350
- ...acc,
351
- [headerKey]: headerVal.map((headerValEntry) => {
354
+ const getEndpointHeaders = (headers, options) => Object.entries(headers ?? {}).reduce((acc, [headerKey, headerVal]) => {
355
+ acc[headerKey] = headerVal.map((headerValEntry) => {
352
356
  const processedExpr = evaluateExpression(headerValEntry, "Header value entry", options);
353
357
  if (typeof processedExpr !== "string") {
354
358
  throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);
355
359
  }
356
360
  return processedExpr;
357
- }),
358
- }), {});
361
+ });
362
+ return acc;
363
+ }, {});
359
364
 
360
- const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({
361
- ...acc,
362
- [propertyKey]: group$1.getEndpointProperty(propertyVal, options),
363
- }), {});
365
+ const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => {
366
+ acc[propertyKey] = group$1.getEndpointProperty(propertyVal, options);
367
+ return acc;
368
+ }, {});
364
369
  const getEndpointProperty = (property, options) => {
365
370
  if (Array.isArray(property)) {
366
371
  return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));
@@ -422,14 +427,14 @@ const decideEndpoint = (bdd, options) => {
422
427
  if (ref >= RESULT) {
423
428
  const result = results[ref - RESULT];
424
429
  if (result[0] === -1) {
425
- const [, errorMessage] = result;
426
- throw new EndpointError(errorMessage);
430
+ const [, errorExpression] = result;
431
+ throw new EndpointError(evaluateExpression(errorExpression, "Error", closure));
427
432
  }
428
433
  const [url, properties, headers] = result;
429
434
  return {
430
435
  url: getEndpointUrl(url, closure),
431
436
  properties: getEndpointProperties(properties, closure),
432
- headers: getEndpointHeaders(headers, closure),
437
+ headers: getEndpointHeaders(headers ?? {}, closure),
433
438
  };
434
439
  }
435
440
  throw new EndpointError(`No matching endpoint.`);
@@ -437,23 +442,27 @@ const decideEndpoint = (bdd, options) => {
437
442
 
438
443
  const evaluateConditions = (conditions = [], options) => {
439
444
  const conditionsReferenceRecord = {};
445
+ const conditionOptions = {
446
+ ...options,
447
+ referenceRecord: { ...options.referenceRecord },
448
+ };
449
+ let didAssign = false;
440
450
  for (const condition of conditions) {
441
- const { result, toAssign } = evaluateCondition(condition, {
442
- ...options,
443
- referenceRecord: {
444
- ...options.referenceRecord,
445
- ...conditionsReferenceRecord,
446
- },
447
- });
451
+ const { result, toAssign } = evaluateCondition(condition, conditionOptions);
448
452
  if (!result) {
449
453
  return { result };
450
454
  }
451
455
  if (toAssign) {
456
+ didAssign = true;
452
457
  conditionsReferenceRecord[toAssign.name] = toAssign.value;
458
+ conditionOptions.referenceRecord[toAssign.name] = toAssign.value;
453
459
  options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);
454
460
  }
455
461
  }
456
- return { result: true, referenceRecord: conditionsReferenceRecord };
462
+ if (didAssign) {
463
+ return { result: true, referenceRecord: conditionsReferenceRecord };
464
+ }
465
+ return { result: true };
457
466
  };
458
467
 
459
468
  const evaluateEndpointRule = (endpointRule, options) => {
@@ -462,21 +471,22 @@ const evaluateEndpointRule = (endpointRule, options) => {
462
471
  if (!result) {
463
472
  return;
464
473
  }
465
- const endpointRuleOptions = {
466
- ...options,
467
- referenceRecord: { ...options.referenceRecord, ...referenceRecord },
468
- };
474
+ const endpointRuleOptions = referenceRecord
475
+ ? {
476
+ ...options,
477
+ referenceRecord: { ...options.referenceRecord, ...referenceRecord },
478
+ }
479
+ : options;
469
480
  const { url, properties, headers } = endpoint;
470
481
  options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`);
471
- return {
472
- ...(headers != undefined && {
473
- headers: getEndpointHeaders(headers, endpointRuleOptions),
474
- }),
475
- ...(properties != undefined && {
476
- properties: getEndpointProperties(properties, endpointRuleOptions),
477
- }),
478
- url: getEndpointUrl(url, endpointRuleOptions),
479
- };
482
+ const endpointToReturn = { url: getEndpointUrl(url, endpointRuleOptions) };
483
+ if (headers != null) {
484
+ endpointToReturn.headers = getEndpointHeaders(headers, endpointRuleOptions);
485
+ }
486
+ if (properties != null) {
487
+ endpointToReturn.properties = getEndpointProperties(properties, endpointRuleOptions);
488
+ }
489
+ return endpointToReturn;
480
490
  };
481
491
 
482
492
  const evaluateErrorRule = (errorRule, options) => {
@@ -485,10 +495,13 @@ const evaluateErrorRule = (errorRule, options) => {
485
495
  if (!result) {
486
496
  return;
487
497
  }
488
- throw new EndpointError(evaluateExpression(error, "Error", {
489
- ...options,
490
- referenceRecord: { ...options.referenceRecord, ...referenceRecord },
491
- }));
498
+ const errorRuleOptions = referenceRecord
499
+ ? {
500
+ ...options,
501
+ referenceRecord: { ...options.referenceRecord, ...referenceRecord },
502
+ }
503
+ : options;
504
+ throw new EndpointError(evaluateExpression(error, "Error", errorRuleOptions));
492
505
  };
493
506
 
494
507
  const evaluateRules = (rules, options) => {
@@ -520,10 +533,10 @@ const evaluateTreeRule = (treeRule, options) => {
520
533
  if (!result) {
521
534
  return;
522
535
  }
523
- return group.evaluateRules(rules, {
524
- ...options,
525
- referenceRecord: { ...options.referenceRecord, ...referenceRecord },
526
- });
536
+ const treeRuleOptions = referenceRecord
537
+ ? { ...options, referenceRecord: { ...options.referenceRecord, ...referenceRecord } }
538
+ : options;
539
+ return group.evaluateRules(rules, treeRuleOptions);
527
540
  };
528
541
  const group = {
529
542
  evaluateRules,
@@ -534,20 +547,15 @@ const resolveEndpoint = (ruleSetObject, options) => {
534
547
  const { endpointParams, logger } = options;
535
548
  const { parameters, rules } = ruleSetObject;
536
549
  options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`);
537
- const paramsWithDefault = Object.entries(parameters)
538
- .filter(([, v]) => v.default != null)
539
- .map(([k, v]) => [k, v.default]);
540
- if (paramsWithDefault.length > 0) {
541
- for (const [paramKey, paramDefaultValue] of paramsWithDefault) {
542
- endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue;
543
- }
544
- }
545
- const requiredParams = Object.entries(parameters)
546
- .filter(([, v]) => v.required)
547
- .map(([k]) => k);
548
- for (const requiredParam of requiredParams) {
549
- if (endpointParams[requiredParam] == null) {
550
- throw new EndpointError(`Missing required parameter: '${requiredParam}'`);
550
+ for (const paramKey in parameters) {
551
+ const parameter = parameters[paramKey];
552
+ const endpointParam = endpointParams[paramKey];
553
+ if (endpointParam == null && parameter.default != null) {
554
+ endpointParams[paramKey] = parameter.default;
555
+ continue;
556
+ }
557
+ if (parameter.required && endpointParam == null) {
558
+ throw new EndpointError(`Missing required parameter: '${paramKey}'`);
551
559
  }
552
560
  }
553
561
  const endpoint = evaluateRules(rules, { endpointParams, logger, referenceRecord: {} });
@@ -1,5 +1,6 @@
1
1
  import { EndpointError } from "./types";
2
2
  import { evaluateCondition } from "./utils/evaluateCondition";
3
+ import { evaluateExpression } from "./utils/evaluateExpression";
3
4
  import { getEndpointHeaders } from "./utils/getEndpointHeaders";
4
5
  import { getEndpointProperties } from "./utils/getEndpointProperties";
5
6
  import { getEndpointUrl } from "./utils/getEndpointUrl";
@@ -27,14 +28,14 @@ export const decideEndpoint = (bdd, options) => {
27
28
  if (ref >= RESULT) {
28
29
  const result = results[ref - RESULT];
29
30
  if (result[0] === -1) {
30
- const [, errorMessage] = result;
31
- throw new EndpointError(errorMessage);
31
+ const [, errorExpression] = result;
32
+ throw new EndpointError(evaluateExpression(errorExpression, "Error", closure));
32
33
  }
33
34
  const [url, properties, headers] = result;
34
35
  return {
35
36
  url: getEndpointUrl(url, closure),
36
37
  properties: getEndpointProperties(properties, closure),
37
- headers: getEndpointHeaders(headers, closure),
38
+ headers: getEndpointHeaders(headers ?? {}, closure),
38
39
  };
39
40
  }
40
41
  throw new EndpointError(`No matching endpoint.`);
@@ -5,7 +5,8 @@ export const getAttr = (value, path) => getAttrPathList(path).reduce((acc, index
5
5
  throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);
6
6
  }
7
7
  else if (Array.isArray(acc)) {
8
- return acc[parseInt(index)];
8
+ const i = parseInt(index);
9
+ return acc[i < 0 ? acc.length + i : i];
9
10
  }
10
11
  return acc[index];
11
12
  }, value);
@@ -5,20 +5,15 @@ export const resolveEndpoint = (ruleSetObject, options) => {
5
5
  const { endpointParams, logger } = options;
6
6
  const { parameters, rules } = ruleSetObject;
7
7
  options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`);
8
- const paramsWithDefault = Object.entries(parameters)
9
- .filter(([, v]) => v.default != null)
10
- .map(([k, v]) => [k, v.default]);
11
- if (paramsWithDefault.length > 0) {
12
- for (const [paramKey, paramDefaultValue] of paramsWithDefault) {
13
- endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue;
8
+ for (const paramKey in parameters) {
9
+ const parameter = parameters[paramKey];
10
+ const endpointParam = endpointParams[paramKey];
11
+ if (endpointParam == null && parameter.default != null) {
12
+ endpointParams[paramKey] = parameter.default;
13
+ continue;
14
14
  }
15
- }
16
- const requiredParams = Object.entries(parameters)
17
- .filter(([, v]) => v.required)
18
- .map(([k]) => k);
19
- for (const requiredParam of requiredParams) {
20
- if (endpointParams[requiredParam] == null) {
21
- throw new EndpointError(`Missing required parameter: '${requiredParam}'`);
15
+ if (parameter.required && endpointParam == null) {
16
+ throw new EndpointError(`Missing required parameter: '${paramKey}'`);
22
17
  }
23
18
  }
24
19
  const endpoint = evaluateRules(rules, { endpointParams, logger, referenceRecord: {} });
@@ -1,14 +1,16 @@
1
1
  import { debugId, toDebugString } from "../debug";
2
2
  import { EndpointError } from "../types";
3
3
  import { callFunction } from "./callFunction";
4
- export const evaluateCondition = ({ assign, ...fnArgs }, options) => {
4
+ export const evaluateCondition = (condition, options) => {
5
+ const { assign } = condition;
5
6
  if (assign && assign in options.referenceRecord) {
6
7
  throw new EndpointError(`'${assign}' is already defined in Reference Record.`);
7
8
  }
8
- const value = callFunction(fnArgs, options);
9
- options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(fnArgs)} = ${toDebugString(value)}`);
10
- return {
11
- result: value === "" ? true : !!value,
12
- ...(assign != null && { toAssign: { name: assign, value } }),
13
- };
9
+ const value = callFunction(condition, options);
10
+ options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(condition)} = ${toDebugString(value)}`);
11
+ const result = value === "" ? true : !!value;
12
+ if (assign != null) {
13
+ return { result, toAssign: { name: assign, value } };
14
+ }
15
+ return { result };
14
16
  };
@@ -2,21 +2,25 @@ import { debugId, toDebugString } from "../debug";
2
2
  import { evaluateCondition } from "./evaluateCondition";
3
3
  export const evaluateConditions = (conditions = [], options) => {
4
4
  const conditionsReferenceRecord = {};
5
+ const conditionOptions = {
6
+ ...options,
7
+ referenceRecord: { ...options.referenceRecord },
8
+ };
9
+ let didAssign = false;
5
10
  for (const condition of conditions) {
6
- const { result, toAssign } = evaluateCondition(condition, {
7
- ...options,
8
- referenceRecord: {
9
- ...options.referenceRecord,
10
- ...conditionsReferenceRecord,
11
- },
12
- });
11
+ const { result, toAssign } = evaluateCondition(condition, conditionOptions);
13
12
  if (!result) {
14
13
  return { result };
15
14
  }
16
15
  if (toAssign) {
16
+ didAssign = true;
17
17
  conditionsReferenceRecord[toAssign.name] = toAssign.value;
18
+ conditionOptions.referenceRecord[toAssign.name] = toAssign.value;
18
19
  options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);
19
20
  }
20
21
  }
21
- return { result: true, referenceRecord: conditionsReferenceRecord };
22
+ if (didAssign) {
23
+ return { result: true, referenceRecord: conditionsReferenceRecord };
24
+ }
25
+ return { result: true };
22
26
  };