@cdklabs/cdk-construct-connect-datalake 0.0.4 → 0.0.6

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 (323) hide show
  1. package/.jsii +10 -10
  2. package/.jsii.tabl.json +1 -1
  3. package/lib/index.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudformation/package.json +34 -34
  5. package/node_modules/@aws-sdk/client-connect/dist-cjs/index.js +12 -5
  6. package/node_modules/@aws-sdk/client-connect/dist-cjs/schemas/schemas_0.js +9 -7
  7. package/node_modules/@aws-sdk/client-connect/dist-es/models/enums.js +12 -5
  8. package/node_modules/@aws-sdk/client-connect/dist-es/schemas/schemas_0.js +9 -7
  9. package/node_modules/@aws-sdk/client-connect/dist-types/commands/BatchGetAttachedFileMetadataCommand.d.ts +1 -1
  10. package/node_modules/@aws-sdk/client-connect/dist-types/commands/CreateContactCommand.d.ts +1 -1
  11. package/node_modules/@aws-sdk/client-connect/dist-types/commands/CreateRuleCommand.d.ts +2 -2
  12. package/node_modules/@aws-sdk/client-connect/dist-types/commands/DescribeContactCommand.d.ts +1 -0
  13. package/node_modules/@aws-sdk/client-connect/dist-types/commands/DescribeRuleCommand.d.ts +2 -2
  14. package/node_modules/@aws-sdk/client-connect/dist-types/commands/GetAttachedFileCommand.d.ts +1 -1
  15. package/node_modules/@aws-sdk/client-connect/dist-types/commands/ListContactReferencesCommand.d.ts +9 -1
  16. package/node_modules/@aws-sdk/client-connect/dist-types/commands/ListRulesCommand.d.ts +2 -2
  17. package/node_modules/@aws-sdk/client-connect/dist-types/commands/ListTestCaseExecutionsCommand.d.ts +2 -2
  18. package/node_modules/@aws-sdk/client-connect/dist-types/commands/StartAttachedFileUploadCommand.d.ts +1 -1
  19. package/node_modules/@aws-sdk/client-connect/dist-types/commands/StartEmailContactCommand.d.ts +1 -1
  20. package/node_modules/@aws-sdk/client-connect/dist-types/commands/StartOutboundVoiceContactCommand.d.ts +1 -1
  21. package/node_modules/@aws-sdk/client-connect/dist-types/commands/StartTaskContactCommand.d.ts +1 -1
  22. package/node_modules/@aws-sdk/client-connect/dist-types/commands/StartWebRTCContactCommand.d.ts +1 -1
  23. package/node_modules/@aws-sdk/client-connect/dist-types/commands/UpdateContactCommand.d.ts +1 -1
  24. package/node_modules/@aws-sdk/client-connect/dist-types/commands/UpdateRuleCommand.d.ts +1 -1
  25. package/node_modules/@aws-sdk/client-connect/dist-types/models/enums.d.ts +20 -13
  26. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_0.d.ts +7 -0
  27. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_1.d.ts +148 -107
  28. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_2.d.ts +57 -3
  29. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/enums.d.ts +14 -7
  30. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_0.d.ts +1 -0
  31. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_2.d.ts +50 -2
  32. package/node_modules/@aws-sdk/client-connect/package.json +33 -33
  33. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_0.d.ts +1 -1
  34. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_3.d.ts +3 -3
  35. package/node_modules/@aws-sdk/client-glue/package.json +33 -33
  36. package/node_modules/@aws-sdk/client-lakeformation/package.json +34 -34
  37. package/node_modules/@aws-sdk/client-ram/package.json +33 -33
  38. package/node_modules/@aws-sdk/client-sts/dist-cjs/STSClient.js +1 -0
  39. package/node_modules/@aws-sdk/client-sts/dist-cjs/auth/httpAuthSchemeProvider.js +96 -17
  40. package/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.js +6 -0
  41. package/node_modules/@aws-sdk/client-sts/dist-cjs/runtimeConfig.shared.js +7 -0
  42. package/node_modules/@aws-sdk/client-sts/dist-es/STSClient.js +1 -0
  43. package/node_modules/@aws-sdk/client-sts/dist-es/auth/httpAuthSchemeProvider.js +97 -16
  44. package/node_modules/@aws-sdk/client-sts/dist-es/runtimeConfig.js +7 -1
  45. package/node_modules/@aws-sdk/client-sts/dist-es/runtimeConfig.shared.js +8 -1
  46. package/node_modules/@aws-sdk/client-sts/dist-types/auth/httpAuthSchemeProvider.d.ts +15 -7
  47. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.browser.d.ts +3 -2
  48. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.d.ts +10 -4
  49. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.native.d.ts +3 -2
  50. package/node_modules/@aws-sdk/client-sts/dist-types/runtimeConfig.shared.d.ts +3 -1
  51. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/auth/httpAuthSchemeProvider.d.ts +20 -9
  52. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.browser.d.ts +11 -5
  53. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.d.ts +35 -16
  54. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.native.d.ts +11 -5
  55. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/runtimeConfig.shared.d.ts +8 -1
  56. package/node_modules/@aws-sdk/client-sts/package.json +35 -34
  57. package/node_modules/@aws-sdk/core/dist-cjs/index.js +69 -50
  58. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +17 -0
  59. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +52 -50
  60. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +1 -0
  61. package/node_modules/@aws-sdk/core/dist-es/submodules/client/longPollMiddleware.js +15 -0
  62. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js +11 -10
  63. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js +4 -1
  64. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +4 -5
  65. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +2 -1
  66. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js +9 -7
  67. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js +17 -17
  68. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js +3 -8
  69. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js +2 -1
  70. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +1 -0
  71. package/node_modules/@aws-sdk/core/dist-types/submodules/client/longPollMiddleware.d.ts +14 -0
  72. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/JsonShapeSerializer.d.ts +2 -2
  73. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +1 -0
  74. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/longPollMiddleware.d.ts +15 -0
  75. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/protocols/json/JsonShapeSerializer.d.ts +1 -1
  76. package/node_modules/@aws-sdk/core/package.json +11 -11
  77. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  78. package/node_modules/@aws-sdk/credential-provider-http/package.json +10 -10
  79. package/node_modules/@aws-sdk/credential-provider-ini/package.json +14 -14
  80. package/node_modules/@aws-sdk/credential-provider-login/package.json +8 -8
  81. package/node_modules/@aws-sdk/credential-provider-node/package.json +12 -12
  82. package/node_modules/@aws-sdk/credential-provider-process/package.json +6 -6
  83. package/node_modules/@aws-sdk/credential-provider-sso/package.json +8 -8
  84. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +7 -7
  85. package/node_modules/@aws-sdk/middleware-host-header/package.json +4 -4
  86. package/node_modules/@aws-sdk/middleware-logger/package.json +3 -3
  87. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +4 -4
  88. package/node_modules/@aws-sdk/middleware-sdk-s3/LICENSE +201 -0
  89. package/node_modules/@aws-sdk/middleware-sdk-s3/README.md +4 -0
  90. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js +597 -0
  91. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/bucket-endpoint-middleware.js +36 -0
  92. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/check-content-length-header.js +32 -0
  93. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/index.js +9 -0
  94. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/protocol/S3RestXmlProtocol.js +25 -0
  95. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-endpoint-middleware.js +41 -0
  96. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/region-redirect-middleware.js +42 -0
  97. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-expires-middleware.js +33 -0
  98. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCache.js +39 -0
  99. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityCacheEntry.js +14 -0
  100. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/S3ExpressIdentityProviderImpl.js +49 -0
  101. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/classes/SignatureV4S3Express.js +41 -0
  102. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/constants.js +13 -0
  103. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressHttpSigningMiddleware.js +38 -0
  104. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/s3ExpressMiddleware.js +41 -0
  105. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/functions/signS3Express.js +7 -0
  106. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/index.js +7 -0
  107. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/interfaces/S3ExpressIdentity.js +1 -0
  108. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3-express/interfaces/S3ExpressIdentityProvider.js +1 -0
  109. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/s3Configuration.js +17 -0
  110. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/throw-200-exceptions.js +67 -0
  111. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-es/validate-bucket-name.js +25 -0
  112. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/bucket-endpoint-middleware.d.ts +13 -0
  113. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/check-content-length-header.d.ts +16 -0
  114. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/index.d.ts +9 -0
  115. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/protocol/S3RestXmlProtocol.d.ts +20 -0
  116. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/region-redirect-endpoint-middleware.d.ts +10 -0
  117. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/region-redirect-middleware.d.ts +20 -0
  118. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-expires-middleware.d.ts +26 -0
  119. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityCache.d.ts +16 -0
  120. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityCacheEntry.d.ts +16 -0
  121. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/S3ExpressIdentityProviderImpl.d.ts +32 -0
  122. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/classes/SignatureV4S3Express.d.ts +17 -0
  123. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/constants.d.ts +37 -0
  124. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/s3ExpressHttpSigningMiddleware.d.ts +27 -0
  125. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/s3ExpressMiddleware.d.ts +32 -0
  126. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/functions/signS3Express.d.ts +9 -0
  127. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/index.d.ts +9 -0
  128. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/interfaces/S3ExpressIdentity.d.ts +6 -0
  129. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3-express/interfaces/S3ExpressIdentityProvider.d.ts +12 -0
  130. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/s3Configuration.d.ts +79 -0
  131. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/throw-200-exceptions.d.ts +20 -0
  132. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/bucket-endpoint-middleware.d.ts +9 -0
  133. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/check-content-length-header.d.ts +13 -0
  134. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/index.d.ts +9 -0
  135. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/protocol/S3RestXmlProtocol.d.ts +15 -0
  136. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/region-redirect-endpoint-middleware.d.ts +6 -0
  137. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/region-redirect-middleware.d.ts +17 -0
  138. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-expires-middleware.d.ts +14 -0
  139. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityCache.d.ts +14 -0
  140. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityCacheEntry.d.ts +12 -0
  141. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/S3ExpressIdentityProviderImpl.d.ts +31 -0
  142. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/classes/SignatureV4S3Express.d.ts +19 -0
  143. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/constants.d.ts +11 -0
  144. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/s3ExpressHttpSigningMiddleware.d.ts +40 -0
  145. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/s3ExpressMiddleware.d.ts +27 -0
  146. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/functions/signS3Express.d.ts +21 -0
  147. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/index.d.ts +17 -0
  148. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/interfaces/S3ExpressIdentity.d.ts +2 -0
  149. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3-express/interfaces/S3ExpressIdentityProvider.d.ts +8 -0
  150. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/s3Configuration.d.ts +33 -0
  151. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/throw-200-exceptions.d.ts +17 -0
  152. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/ts3.4/validate-bucket-name.d.ts +13 -0
  153. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-types/validate-bucket-name.d.ts +14 -0
  154. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +72 -0
  155. package/node_modules/@aws-sdk/middleware-user-agent/package.json +8 -8
  156. package/node_modules/@aws-sdk/nested-clients/package.json +32 -32
  157. package/node_modules/@aws-sdk/region-config-resolver/package.json +5 -5
  158. package/node_modules/@aws-sdk/signature-v4-multi-region/LICENSE +201 -0
  159. package/node_modules/@aws-sdk/signature-v4-multi-region/README.md +32 -0
  160. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +121 -0
  161. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/SignatureV4MultiRegion.js +112 -0
  162. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/index.js +2 -0
  163. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-es/signature-v4-crt-container.js +3 -0
  164. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/SignatureV4MultiRegion.d.ts +35 -0
  165. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/index.d.ts +5 -0
  166. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/signature-v4-crt-container.d.ts +28 -0
  167. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/SignatureV4MultiRegion.d.ts +41 -0
  168. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/index.d.ts +2 -0
  169. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-types/ts3.4/signature-v4-crt-container.d.ts +20 -0
  170. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +61 -0
  171. package/node_modules/@aws-sdk/token-providers/package.json +7 -7
  172. package/node_modules/@aws-sdk/types/package.json +2 -2
  173. package/node_modules/@aws-sdk/util-arn-parser/LICENSE +201 -0
  174. package/node_modules/@aws-sdk/util-arn-parser/README.md +4 -0
  175. package/node_modules/@aws-sdk/util-arn-parser/dist-cjs/index.js +27 -0
  176. package/node_modules/@aws-sdk/util-arn-parser/dist-es/index.js +21 -0
  177. package/node_modules/@aws-sdk/util-arn-parser/dist-types/index.d.ts +32 -0
  178. package/node_modules/@aws-sdk/util-arn-parser/dist-types/ts3.4/index.d.ts +14 -0
  179. package/node_modules/@aws-sdk/util-arn-parser/package.json +55 -0
  180. package/node_modules/@aws-sdk/util-endpoints/package.json +5 -5
  181. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +3 -3
  182. package/node_modules/@aws-sdk/util-user-agent-node/package.json +5 -5
  183. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  184. package/node_modules/@smithy/config-resolver/package.json +5 -5
  185. package/node_modules/@smithy/core/dist-cjs/index.js +2 -1
  186. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +32 -14
  187. package/node_modules/@smithy/core/dist-cjs/submodules/endpoints/index.js +2 -2
  188. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +16 -8
  189. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +17 -10
  190. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +6 -1
  191. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +6 -3
  192. package/node_modules/@smithy/core/dist-cjs/util-identity-and-auth/DefaultIdentityProviderConfig.js +2 -1
  193. package/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js +23 -11
  194. package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +9 -3
  195. package/node_modules/@smithy/core/dist-es/submodules/endpoints/toEndpointV1.js +2 -2
  196. package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +16 -8
  197. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +9 -4
  198. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +8 -6
  199. package/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js +6 -1
  200. package/node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js +6 -3
  201. package/node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js +2 -1
  202. package/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts +1 -1
  203. package/node_modules/@smithy/core/package.json +7 -7
  204. package/node_modules/@smithy/credential-provider-imds/package.json +5 -5
  205. package/node_modules/@smithy/fetch-http-handler/package.json +5 -5
  206. package/node_modules/@smithy/hash-node/package.json +2 -2
  207. package/node_modules/@smithy/invalid-dependency/package.json +2 -2
  208. package/node_modules/@smithy/middleware-content-length/package.json +3 -3
  209. package/node_modules/@smithy/middleware-endpoint/package.json +8 -8
  210. package/node_modules/@smithy/middleware-retry/package.json +9 -9
  211. package/node_modules/@smithy/middleware-serde/package.json +4 -4
  212. package/node_modules/@smithy/middleware-stack/package.json +2 -2
  213. package/node_modules/@smithy/node-config-provider/package.json +4 -4
  214. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +191 -96
  215. package/node_modules/@smithy/node-http-handler/dist-es/http2/ClientHttp2SessionRef.js +45 -0
  216. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-manager.js +71 -35
  217. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-connection-pool.js +32 -18
  218. package/node_modules/@smithy/node-http-handler/dist-es/node-http2-handler.js +44 -43
  219. package/node_modules/@smithy/node-http-handler/dist-types/http2/ClientHttp2SessionRef.d.ts +42 -0
  220. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-manager.d.ts +34 -14
  221. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-connection-pool.d.ts +32 -8
  222. package/node_modules/@smithy/node-http-handler/dist-types/node-http2-handler.d.ts +14 -6
  223. package/node_modules/@smithy/node-http-handler/package.json +5 -5
  224. package/node_modules/@smithy/property-provider/package.json +2 -2
  225. package/node_modules/@smithy/protocol-http/package.json +2 -2
  226. package/node_modules/@smithy/querystring-builder/package.json +2 -2
  227. package/node_modules/@smithy/querystring-parser/package.json +2 -2
  228. package/node_modules/@smithy/service-error-classification/dist-cjs/index.js +5 -0
  229. package/node_modules/@smithy/service-error-classification/dist-es/index.js +4 -0
  230. package/node_modules/@smithy/service-error-classification/dist-types/index.d.ts +6 -0
  231. package/node_modules/@smithy/service-error-classification/package.json +2 -2
  232. package/node_modules/@smithy/shared-ini-file-loader/package.json +2 -2
  233. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +11 -5
  234. package/node_modules/@smithy/signature-v4/dist-es/SignatureV4.js +11 -5
  235. package/node_modules/@smithy/signature-v4/dist-types/SignatureV4.d.ts +3 -3
  236. package/node_modules/@smithy/signature-v4/package.json +4 -4
  237. package/node_modules/@smithy/smithy-client/dist-cjs/index.js +8 -1
  238. package/node_modules/@smithy/smithy-client/dist-es/command.js +8 -1
  239. package/node_modules/@smithy/smithy-client/package.json +7 -7
  240. package/node_modules/@smithy/types/dist-types/connection/config.d.ts +5 -0
  241. package/node_modules/@smithy/types/dist-types/signature.d.ts +20 -3
  242. package/node_modules/@smithy/types/package.json +1 -1
  243. package/node_modules/@smithy/url-parser/package.json +3 -3
  244. package/node_modules/@smithy/util-defaults-mode-browser/package.json +4 -4
  245. package/node_modules/@smithy/util-defaults-mode-node/package.json +7 -7
  246. package/node_modules/@smithy/util-endpoints/dist-cjs/index.js +212 -111
  247. package/node_modules/@smithy/util-endpoints/dist-es/bdd/BinaryDecisionDiagram.js +15 -0
  248. package/node_modules/@smithy/util-endpoints/dist-es/decideEndpoint.js +42 -0
  249. package/node_modules/@smithy/util-endpoints/dist-es/index.js +2 -0
  250. package/node_modules/@smithy/util-endpoints/dist-es/lib/coalesce.js +8 -0
  251. package/node_modules/@smithy/util-endpoints/dist-es/lib/getAttr.js +2 -1
  252. package/node_modules/@smithy/util-endpoints/dist-es/lib/index.js +3 -0
  253. package/node_modules/@smithy/util-endpoints/dist-es/lib/ite.js +3 -0
  254. package/node_modules/@smithy/util-endpoints/dist-es/lib/split.js +13 -0
  255. package/node_modules/@smithy/util-endpoints/dist-es/lib/substring.js +1 -1
  256. package/node_modules/@smithy/util-endpoints/dist-es/resolveEndpoint.js +8 -13
  257. package/node_modules/@smithy/util-endpoints/dist-es/utils/endpointFunctions.js +4 -1
  258. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateCondition.js +9 -7
  259. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateConditions.js +12 -8
  260. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateEndpointRule.js +14 -13
  261. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateErrorRule.js +7 -4
  262. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js +22 -5
  263. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateRules.js +4 -4
  264. package/node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTemplate.js +3 -6
  265. package/node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointHeaders.js +5 -5
  266. package/node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperties.js +4 -4
  267. package/node_modules/@smithy/util-endpoints/dist-es/utils/getReferenceValue.js +1 -5
  268. package/node_modules/@smithy/util-endpoints/dist-types/bdd/BinaryDecisionDiagram.d.ts +22 -0
  269. package/node_modules/@smithy/util-endpoints/dist-types/decideEndpoint.d.ts +7 -0
  270. package/node_modules/@smithy/util-endpoints/dist-types/index.d.ts +2 -0
  271. package/node_modules/@smithy/util-endpoints/dist-types/lib/coalesce.d.ts +7 -0
  272. package/node_modules/@smithy/util-endpoints/dist-types/lib/index.d.ts +3 -0
  273. package/node_modules/@smithy/util-endpoints/dist-types/lib/ite.d.ts +6 -0
  274. package/node_modules/@smithy/util-endpoints/dist-types/lib/split.d.ts +11 -0
  275. package/node_modules/@smithy/util-endpoints/dist-types/types/shared.d.ts +3 -3
  276. package/node_modules/@smithy/util-endpoints/dist-types/utils/endpointFunctions.d.ts +2 -11
  277. package/node_modules/@smithy/util-endpoints/dist-types/utils/evaluateCondition.d.ts +6 -3
  278. package/node_modules/@smithy/util-endpoints/dist-types/utils/evaluateConditions.d.ts +3 -3
  279. package/node_modules/@smithy/util-endpoints/dist-types/utils/getEndpointHeaders.d.ts +1 -1
  280. package/node_modules/@smithy/util-endpoints/dist-types/utils/getEndpointProperties.d.ts +2 -2
  281. package/node_modules/@smithy/util-endpoints/dist-types/utils/getReferenceValue.d.ts +3 -1
  282. package/node_modules/@smithy/util-endpoints/package.json +3 -3
  283. package/node_modules/@smithy/util-middleware/package.json +2 -2
  284. package/node_modules/@smithy/util-retry/dist-cjs/index.js +6 -0
  285. package/node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js +3 -0
  286. package/node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js +3 -0
  287. package/node_modules/@smithy/util-retry/dist-types/AdaptiveRetryStrategy.d.ts +5 -0
  288. package/node_modules/@smithy/util-retry/dist-types/StandardRetryStrategy.d.ts +5 -0
  289. package/node_modules/@smithy/util-retry/package.json +3 -3
  290. package/node_modules/@smithy/util-stream/package.json +4 -4
  291. package/node_modules/@smithy/util-waiter/package.json +3 -3
  292. package/node_modules/call-bind/CHANGELOG.md +9 -0
  293. package/node_modules/call-bind/README.md +1 -1
  294. package/node_modules/call-bind/index.js +2 -2
  295. package/node_modules/call-bind/package.json +11 -11
  296. package/node_modules/call-bind/test/index.js +9 -1
  297. package/node_modules/fast-xml-builder/package.json +1 -1
  298. package/node_modules/fast-xml-builder/src/fxb.js +6 -2
  299. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +16 -2
  300. package/node_modules/hasown/CHANGELOG.md +11 -0
  301. package/node_modules/hasown/eslint.config.mjs +6 -0
  302. package/node_modules/hasown/index.d.ts +1 -0
  303. package/node_modules/hasown/package.json +14 -14
  304. package/node_modules/path-expression-matcher/README.md +214 -62
  305. package/node_modules/path-expression-matcher/lib/pem.cjs +1 -1
  306. package/node_modules/path-expression-matcher/lib/pem.d.cts +111 -0
  307. package/node_modules/path-expression-matcher/lib/pem.min.js +1 -1
  308. package/node_modules/path-expression-matcher/lib/pem.min.js.map +1 -1
  309. package/node_modules/path-expression-matcher/package.json +1 -1
  310. package/node_modules/path-expression-matcher/src/Expression.js +2 -2
  311. package/node_modules/path-expression-matcher/src/ExpressionSet.js +209 -0
  312. package/node_modules/path-expression-matcher/src/Matcher.js +235 -177
  313. package/node_modules/path-expression-matcher/src/index.d.ts +199 -194
  314. package/node_modules/path-expression-matcher/src/index.js +3 -2
  315. package/node_modules/strnum/package.json +1 -1
  316. package/package.json +13 -13
  317. package/node_modules/hasown/.eslintrc +0 -5
  318. package/node_modules/strnum/.github/SECURITY.md +0 -5
  319. package/node_modules/strnum/.vscode/launch.json +0 -25
  320. package/node_modules/strnum/algo.stflow +0 -84
  321. package/node_modules/strnum/tests/infinity_test.js +0 -18
  322. package/node_modules/strnum/tests/strnum_test.js +0 -175
  323. package/node_modules/strnum/tests/temp.js +0 -8
@@ -0,0 +1,15 @@
1
+ export class BinaryDecisionDiagram {
2
+ nodes;
3
+ root;
4
+ conditions;
5
+ results;
6
+ constructor(bdd, root, conditions, results) {
7
+ this.nodes = bdd;
8
+ this.root = root;
9
+ this.conditions = conditions;
10
+ this.results = results;
11
+ }
12
+ static from(bdd, root, conditions, results) {
13
+ return new BinaryDecisionDiagram(bdd, root, conditions, results);
14
+ }
15
+ }
@@ -0,0 +1,42 @@
1
+ import { EndpointError } from "./types";
2
+ import { evaluateCondition } from "./utils/evaluateCondition";
3
+ import { evaluateExpression } from "./utils/evaluateExpression";
4
+ import { getEndpointHeaders } from "./utils/getEndpointHeaders";
5
+ import { getEndpointProperties } from "./utils/getEndpointProperties";
6
+ import { getEndpointUrl } from "./utils/getEndpointUrl";
7
+ const RESULT = 100_000_000;
8
+ export const decideEndpoint = (bdd, options) => {
9
+ const { nodes, root, results, conditions } = bdd;
10
+ let ref = root;
11
+ const referenceRecord = {};
12
+ const closure = {
13
+ referenceRecord,
14
+ endpointParams: options.endpointParams,
15
+ logger: options.logger,
16
+ };
17
+ while (ref !== 1 && ref !== -1 && ref < RESULT) {
18
+ const node_i = 3 * (Math.abs(ref) - 1);
19
+ const [condition_i, highRef, lowRef] = [nodes[node_i], nodes[node_i + 1], nodes[node_i + 2]];
20
+ const [fn, argv, assign] = conditions[condition_i];
21
+ const evaluation = evaluateCondition({ fn, assign, argv }, closure);
22
+ if (evaluation.toAssign) {
23
+ const { name, value } = evaluation.toAssign;
24
+ referenceRecord[name] = value;
25
+ }
26
+ ref = ref >= 0 === evaluation.result ? highRef : lowRef;
27
+ }
28
+ if (ref >= RESULT) {
29
+ const result = results[ref - RESULT];
30
+ if (result[0] === -1) {
31
+ const [, errorExpression] = result;
32
+ throw new EndpointError(evaluateExpression(errorExpression, "Error", closure));
33
+ }
34
+ const [url, properties, headers] = result;
35
+ return {
36
+ url: getEndpointUrl(url, closure),
37
+ properties: getEndpointProperties(properties, closure),
38
+ headers: getEndpointHeaders(headers ?? {}, closure),
39
+ };
40
+ }
41
+ throw new EndpointError(`No matching endpoint.`);
42
+ };
@@ -1,4 +1,6 @@
1
+ export { BinaryDecisionDiagram } from "./bdd/BinaryDecisionDiagram";
1
2
  export * from "./cache/EndpointCache";
3
+ export { decideEndpoint } from "./decideEndpoint";
2
4
  export * from "./lib/isIpAddress";
3
5
  export * from "./lib/isValidHostLabel";
4
6
  export * from "./utils/customEndpointFunctions";
@@ -0,0 +1,8 @@
1
+ export function coalesce(...args) {
2
+ for (const arg of args) {
3
+ if (arg != null) {
4
+ return arg;
5
+ }
6
+ }
7
+ return undefined;
8
+ }
@@ -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);
@@ -1,9 +1,12 @@
1
1
  export * from "./booleanEquals";
2
+ export * from "./coalesce";
2
3
  export * from "./getAttr";
3
4
  export * from "./isSet";
4
5
  export * from "./isValidHostLabel";
6
+ export * from "./ite";
5
7
  export * from "./not";
6
8
  export * from "./parseURL";
9
+ export * from "./split";
7
10
  export * from "./stringEquals";
8
11
  export * from "./substring";
9
12
  export * from "./uriEncode";
@@ -0,0 +1,3 @@
1
+ export function ite(condition, trueValue, falseValue) {
2
+ return condition ? trueValue : falseValue;
3
+ }
@@ -0,0 +1,13 @@
1
+ export function split(value, delimiter, limit) {
2
+ if (limit === 1) {
3
+ return [value];
4
+ }
5
+ if (value === "") {
6
+ return [""];
7
+ }
8
+ const parts = value.split(delimiter);
9
+ if (limit === 0) {
10
+ return parts;
11
+ }
12
+ return parts.slice(0, limit - 1).concat(parts.slice(1).join(delimiter));
13
+ }
@@ -1,5 +1,5 @@
1
1
  export const substring = (input, start, stop, reverse) => {
2
- if (start >= stop || input.length < stop || /[^\u0000-\u007f]/.test(input)) {
2
+ if (input == null || start >= stop || input.length < stop || /[^\u0000-\u007f]/.test(input)) {
3
3
  return null;
4
4
  }
5
5
  if (!reverse) {
@@ -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,11 +1,14 @@
1
- import { booleanEquals, getAttr, isSet, isValidHostLabel, not, parseURL, stringEquals, substring, uriEncode, } from "../lib";
1
+ import { booleanEquals, coalesce, getAttr, isSet, isValidHostLabel, ite, not, parseURL, split, stringEquals, substring, uriEncode, } from "../lib";
2
2
  export const endpointFunctions = {
3
3
  booleanEquals,
4
+ coalesce,
4
5
  getAttr,
5
6
  isSet,
6
7
  isValidHostLabel,
8
+ ite,
7
9
  not,
8
10
  parseURL,
11
+ split,
9
12
  stringEquals,
10
13
  substring,
11
14
  uriEncode,
@@ -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
  };
@@ -9,19 +9,20 @@ export const evaluateEndpointRule = (endpointRule, options) => {
9
9
  if (!result) {
10
10
  return;
11
11
  }
12
- const endpointRuleOptions = {
13
- ...options,
14
- referenceRecord: { ...options.referenceRecord, ...referenceRecord },
15
- };
12
+ const endpointRuleOptions = referenceRecord
13
+ ? {
14
+ ...options,
15
+ referenceRecord: { ...options.referenceRecord, ...referenceRecord },
16
+ }
17
+ : options;
16
18
  const { url, properties, headers } = endpoint;
17
19
  options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`);
18
- return {
19
- ...(headers != undefined && {
20
- headers: getEndpointHeaders(headers, endpointRuleOptions),
21
- }),
22
- ...(properties != undefined && {
23
- properties: getEndpointProperties(properties, endpointRuleOptions),
24
- }),
25
- url: getEndpointUrl(url, endpointRuleOptions),
26
- };
20
+ const endpointToReturn = { url: getEndpointUrl(url, endpointRuleOptions) };
21
+ if (headers != null) {
22
+ endpointToReturn.headers = getEndpointHeaders(headers, endpointRuleOptions);
23
+ }
24
+ if (properties != null) {
25
+ endpointToReturn.properties = getEndpointProperties(properties, endpointRuleOptions);
26
+ }
27
+ return endpointToReturn;
27
28
  };
@@ -7,8 +7,11 @@ export const evaluateErrorRule = (errorRule, options) => {
7
7
  if (!result) {
8
8
  return;
9
9
  }
10
- throw new EndpointError(evaluateExpression(error, "Error", {
11
- ...options,
12
- referenceRecord: { ...options.referenceRecord, ...referenceRecord },
13
- }));
10
+ const errorRuleOptions = referenceRecord
11
+ ? {
12
+ ...options,
13
+ referenceRecord: { ...options.referenceRecord, ...referenceRecord },
14
+ }
15
+ : options;
16
+ throw new EndpointError(evaluateExpression(error, "Error", errorRuleOptions));
14
17
  };
@@ -16,12 +16,29 @@ export const evaluateExpression = (obj, keyName, options) => {
16
16
  throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);
17
17
  };
18
18
  export const callFunction = ({ fn, argv }, options) => {
19
- const evaluatedArgs = argv.map((arg) => ["boolean", "number"].includes(typeof arg) ? arg : group.evaluateExpression(arg, "arg", options));
20
- const fnSegments = fn.split(".");
21
- if (fnSegments[0] in customEndpointFunctions && fnSegments[1] != null) {
22
- return customEndpointFunctions[fnSegments[0]][fnSegments[1]](...evaluatedArgs);
19
+ const evaluatedArgs = Array(argv.length);
20
+ for (let i = 0; i < evaluatedArgs.length; ++i) {
21
+ const arg = argv[i];
22
+ if (typeof arg === "boolean" || typeof arg === "number") {
23
+ evaluatedArgs[i] = arg;
24
+ }
25
+ else {
26
+ evaluatedArgs[i] = group.evaluateExpression(arg, "arg", options);
27
+ }
23
28
  }
24
- return endpointFunctions[fn](...evaluatedArgs);
29
+ const namespaceSeparatorIndex = fn.indexOf(".");
30
+ if (namespaceSeparatorIndex !== -1) {
31
+ const namespaceFunctions = customEndpointFunctions[fn.slice(0, namespaceSeparatorIndex)];
32
+ const customFunction = namespaceFunctions?.[fn.slice(namespaceSeparatorIndex + 1)];
33
+ if (typeof customFunction === "function") {
34
+ return customFunction(...evaluatedArgs);
35
+ }
36
+ }
37
+ const callable = endpointFunctions[fn];
38
+ if (typeof callable === "function") {
39
+ return callable(...evaluatedArgs);
40
+ }
41
+ throw new Error(`function ${fn} not loaded in endpointFunctions.`);
25
42
  };
26
43
  export const group = {
27
44
  evaluateExpression,
@@ -31,10 +31,10 @@ export const evaluateTreeRule = (treeRule, options) => {
31
31
  if (!result) {
32
32
  return;
33
33
  }
34
- return group.evaluateRules(rules, {
35
- ...options,
36
- referenceRecord: { ...options.referenceRecord, ...referenceRecord },
37
- });
34
+ const treeRuleOptions = referenceRecord
35
+ ? { ...options, referenceRecord: { ...options.referenceRecord, ...referenceRecord } }
36
+ : options;
37
+ return group.evaluateRules(rules, treeRuleOptions);
38
38
  };
39
39
  export const group = {
40
40
  evaluateRules,
@@ -1,10 +1,7 @@
1
1
  import { getAttr } from "../lib";
2
2
  export const evaluateTemplate = (template, options) => {
3
3
  const evaluatedTemplateArr = [];
4
- const templateContext = {
5
- ...options.endpointParams,
6
- ...options.referenceRecord,
7
- };
4
+ const { referenceRecord, endpointParams } = options;
8
5
  let currentIndex = 0;
9
6
  while (currentIndex < template.length) {
10
7
  const openingBraceIndex = template.indexOf("{", currentIndex);
@@ -25,10 +22,10 @@ export const evaluateTemplate = (template, options) => {
25
22
  const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);
26
23
  if (parameterName.includes("#")) {
27
24
  const [refName, attrName] = parameterName.split("#");
28
- evaluatedTemplateArr.push(getAttr(templateContext[refName], attrName));
25
+ evaluatedTemplateArr.push(getAttr((referenceRecord[refName] ?? endpointParams[refName]), attrName));
29
26
  }
30
27
  else {
31
- evaluatedTemplateArr.push(templateContext[parameterName]);
28
+ evaluatedTemplateArr.push((referenceRecord[parameterName] ?? endpointParams[parameterName]));
32
29
  }
33
30
  currentIndex = closingBraceIndex + 1;
34
31
  }
@@ -1,12 +1,12 @@
1
1
  import { EndpointError } from "../types";
2
2
  import { evaluateExpression } from "./evaluateExpression";
3
- export const getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({
4
- ...acc,
5
- [headerKey]: headerVal.map((headerValEntry) => {
3
+ export const getEndpointHeaders = (headers, options) => Object.entries(headers ?? {}).reduce((acc, [headerKey, headerVal]) => {
4
+ acc[headerKey] = headerVal.map((headerValEntry) => {
6
5
  const processedExpr = evaluateExpression(headerValEntry, "Header value entry", options);
7
6
  if (typeof processedExpr !== "string") {
8
7
  throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);
9
8
  }
10
9
  return processedExpr;
11
- }),
12
- }), {});
10
+ });
11
+ return acc;
12
+ }, {});
@@ -1,9 +1,9 @@
1
1
  import { EndpointError } from "../types";
2
2
  import { evaluateTemplate } from "./evaluateTemplate";
3
- export const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({
4
- ...acc,
5
- [propertyKey]: group.getEndpointProperty(propertyVal, options),
6
- }), {});
3
+ export const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => {
4
+ acc[propertyKey] = group.getEndpointProperty(propertyVal, options);
5
+ return acc;
6
+ }, {});
7
7
  export const getEndpointProperty = (property, options) => {
8
8
  if (Array.isArray(property)) {
9
9
  return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));
@@ -1,7 +1,3 @@
1
1
  export const getReferenceValue = ({ ref }, options) => {
2
- const referenceRecord = {
3
- ...options.endpointParams,
4
- ...options.referenceRecord,
5
- };
6
- return referenceRecord[ref];
2
+ return options.referenceRecord[ref] ?? options.endpointParams[ref];
7
3
  };
@@ -0,0 +1,22 @@
1
+ import type { EndpointObjectHeaders, ParameterObject } from "@smithy/types";
2
+ import type { Expression, FunctionArgv } from "../types/shared";
3
+ /**
4
+ * @internal
5
+ */
6
+ type BddCondition = [string, FunctionArgv] | [string, FunctionArgv, string];
7
+ /**
8
+ * @internal
9
+ */
10
+ type BddResult = [-1] | [-1, Expression] | [string, Record<string, ParameterObject>, EndpointObjectHeaders] | [string, Record<string, ParameterObject>];
11
+ /**
12
+ * @internal
13
+ */
14
+ export declare class BinaryDecisionDiagram {
15
+ nodes: Int32Array;
16
+ root: number;
17
+ conditions: BddCondition[];
18
+ results: BddResult[];
19
+ private constructor();
20
+ static from(bdd: Int32Array, root: number, conditions: BddCondition[] | any[], results: BddResult[] | any[]): BinaryDecisionDiagram;
21
+ }
22
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { EndpointV2 } from "@smithy/types";
2
+ import type { BinaryDecisionDiagram } from "./bdd/BinaryDecisionDiagram";
3
+ import type { EndpointResolverOptions } from "./types";
4
+ /**
5
+ * Resolves an endpoint URL by processing the endpoints bdd and options.
6
+ */
7
+ export declare const decideEndpoint: (bdd: BinaryDecisionDiagram, options: EndpointResolverOptions) => EndpointV2;
@@ -1,4 +1,6 @@
1
+ export { BinaryDecisionDiagram } from "./bdd/BinaryDecisionDiagram";
1
2
  export * from "./cache/EndpointCache";
3
+ export { decideEndpoint } from "./decideEndpoint";
2
4
  export * from "./lib/isIpAddress";
3
5
  export * from "./lib/isValidHostLabel";
4
6
  export * from "./utils/customEndpointFunctions";
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Evaluates arguments in order and returns the first non-empty result,
3
+ * otherwise returns the result of the last argument.
4
+ *
5
+ * @internal
6
+ */
7
+ export declare function coalesce<T>(...args: (T | undefined)[]): T | undefined;
@@ -1,9 +1,12 @@
1
1
  export * from "./booleanEquals";
2
+ export * from "./coalesce";
2
3
  export * from "./getAttr";
3
4
  export * from "./isSet";
4
5
  export * from "./isValidHostLabel";
6
+ export * from "./ite";
5
7
  export * from "./not";
6
8
  export * from "./parseURL";
9
+ export * from "./split";
7
10
  export * from "./stringEquals";
8
11
  export * from "./substring";
9
12
  export * from "./uriEncode";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * An if-then-else function that returns one of two values based on a boolean condition.
3
+ *
4
+ * @internal
5
+ */
6
+ export declare function ite<T>(condition: boolean, trueValue: T | undefined, falseValue: T | undefined): T | undefined;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The split function divides a string into an array of substrings based on a non-empty delimiter.
3
+ * The behavior is controlled by the limit parameter:
4
+ *
5
+ * limit = 0: Split all occurrences (unlimited).
6
+ * limit = 1: No split performed (returns original string as single element array).
7
+ * limit > 1: Split into at most 'limit' parts (performs limit-1 splits).
8
+ *
9
+ * @internal
10
+ */
11
+ export declare function split(value: string, delimiter: string, limit: number): string[];
@@ -1,4 +1,4 @@
1
- import type { EndpointARN, EndpointPartition, Logger } from "@smithy/types";
1
+ import type { EndpointARN, EndpointPartition, EndpointURL, Logger } from "@smithy/types";
2
2
  export type ReferenceObject = {
3
3
  ref: string;
4
4
  };
@@ -7,9 +7,9 @@ export type FunctionObject = {
7
7
  argv: FunctionArgv;
8
8
  };
9
9
  export type FunctionArgv = Array<Expression | boolean | number>;
10
- export type FunctionReturn = string | boolean | number | EndpointARN | EndpointPartition | {
10
+ export type FunctionReturn = string | boolean | number | EndpointARN | EndpointPartition | EndpointURL | {
11
11
  [key: string]: FunctionReturn;
12
- } | null;
12
+ } | Array<FunctionReturn> | null;
13
13
  export type ConditionObject = FunctionObject & {
14
14
  assign?: string;
15
15
  };
@@ -1,11 +1,2 @@
1
- export declare const endpointFunctions: {
2
- booleanEquals: (value1: boolean, value2: boolean) => boolean;
3
- getAttr: (value: import("../lib").GetAttrValue, path: string) => import("../lib").GetAttrValue;
4
- isSet: (value: unknown) => value is {};
5
- isValidHostLabel: (value: string, allowSubDomains?: boolean) => boolean;
6
- not: (value: boolean) => boolean;
7
- parseURL: (value: string | URL | import("@smithy/types").Endpoint) => import("@smithy/types").EndpointURL | null;
8
- stringEquals: (value1: string, value2: string) => boolean;
9
- substring: (input: string, start: number, stop: number, reverse: boolean) => string | null;
10
- uriEncode: (value: string) => string;
11
- };
1
+ import type { EndpointFunctions } from "../types";
2
+ export declare const endpointFunctions: EndpointFunctions;
@@ -1,8 +1,11 @@
1
1
  import type { ConditionObject, EvaluateOptions } from "../types";
2
- export declare const evaluateCondition: ({ assign, ...fnArgs }: ConditionObject, options: EvaluateOptions) => {
3
- toAssign?: {
2
+ export declare const evaluateCondition: (condition: ConditionObject, options: EvaluateOptions) => {
3
+ result: boolean;
4
+ toAssign: {
4
5
  name: string;
5
6
  value: import("../types").FunctionReturn;
6
- } | undefined;
7
+ };
8
+ } | {
7
9
  result: boolean;
10
+ toAssign?: undefined;
8
11
  };
@@ -1,8 +1,8 @@
1
1
  import type { ConditionObject, EvaluateOptions, FunctionReturn } from "../types";
2
2
  export declare const evaluateConditions: (conditions: ConditionObject[] | undefined, options: EvaluateOptions) => {
3
- result: false;
4
- referenceRecord?: undefined;
5
- } | {
6
3
  result: boolean;
7
4
  referenceRecord: Record<string, FunctionReturn>;
5
+ } | {
6
+ result: boolean;
7
+ referenceRecord?: undefined;
8
8
  };
@@ -1,2 +1,2 @@
1
1
  import type { EndpointObjectHeaders, EvaluateOptions } from "../types";
2
- export declare const getEndpointHeaders: (headers: EndpointObjectHeaders, options: EvaluateOptions) => {};
2
+ export declare const getEndpointHeaders: (headers: EndpointObjectHeaders, options: EvaluateOptions) => Record<string, string[]>;
@@ -1,8 +1,8 @@
1
1
  import type { EndpointObjectProperty } from "@smithy/types";
2
2
  import type { EndpointObjectProperties, EvaluateOptions } from "../types";
3
- export declare const getEndpointProperties: (properties: EndpointObjectProperties, options: EvaluateOptions) => {};
3
+ export declare const getEndpointProperties: (properties: EndpointObjectProperties, options: EvaluateOptions) => Record<string, EndpointObjectProperty>;
4
4
  export declare const getEndpointProperty: (property: EndpointObjectProperty, options: EvaluateOptions) => EndpointObjectProperty;
5
5
  export declare const group: {
6
6
  getEndpointProperty: (property: EndpointObjectProperty, options: EvaluateOptions) => EndpointObjectProperty;
7
- getEndpointProperties: (properties: EndpointObjectProperties, options: EvaluateOptions) => {};
7
+ getEndpointProperties: (properties: EndpointObjectProperties, options: EvaluateOptions) => Record<string, EndpointObjectProperty>;
8
8
  };
@@ -1,2 +1,4 @@
1
1
  import type { EvaluateOptions, ReferenceObject } from "../types";
2
- export declare const getReferenceValue: ({ ref }: ReferenceObject, options: EvaluateOptions) => import("../types").FunctionReturn;
2
+ export declare const getReferenceValue: ({ ref }: ReferenceObject, options: EvaluateOptions) => string | number | boolean | import("@smithy/types").EndpointPartition | import("@smithy/types").EndpointARN | import("@smithy/types").EndpointURL | {
3
+ [key: string]: import("../types").FunctionReturn;
4
+ } | import("../types").FunctionReturn[];
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/util-endpoints",
3
- "version": "3.3.4",
3
+ "version": "3.4.2",
4
4
  "description": "Utilities to help with endpoint resolution.",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -28,8 +28,8 @@
28
28
  "license": "Apache-2.0",
29
29
  "sideEffects": false,
30
30
  "dependencies": {
31
- "@smithy/node-config-provider": "^4.3.13",
32
- "@smithy/types": "^4.14.0",
31
+ "@smithy/node-config-provider": "^4.3.14",
32
+ "@smithy/types": "^4.14.1",
33
33
  "tslib": "^2.6.2"
34
34
  },
35
35
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/util-middleware",
3
- "version": "4.2.13",
3
+ "version": "4.2.14",
4
4
  "description": "Shared utilities for to be used in middleware packages.",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -27,7 +27,7 @@
27
27
  "license": "Apache-2.0",
28
28
  "sideEffects": false,
29
29
  "dependencies": {
30
- "@smithy/types": "^4.14.0",
30
+ "@smithy/types": "^4.14.1",
31
31
  "tslib": "^2.6.2"
32
32
  },
33
33
  "devDependencies": {