@mavogel/awscdk-rootmail 0.0.323 → 0.0.324

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 (542) hide show
  1. package/.jsii +2 -2
  2. package/lib/rootmail.js +1 -1
  3. package/lib/ses-receive.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudwatch-logs/dist-cjs/index.js +4442 -4660
  5. package/node_modules/@aws-sdk/client-cloudwatch-logs/package.json +15 -15
  6. package/node_modules/@aws-sdk/client-route-53/dist-cjs/index.js +7328 -7804
  7. package/node_modules/@aws-sdk/client-route-53/package.json +15 -15
  8. package/node_modules/@aws-sdk/client-s3/dist-cjs/index.js +11771 -11916
  9. package/node_modules/@aws-sdk/client-s3/package.json +21 -21
  10. package/node_modules/@aws-sdk/client-ses/dist-cjs/index.js +7284 -7626
  11. package/node_modules/@aws-sdk/client-ses/package.json +15 -15
  12. package/node_modules/@aws-sdk/client-ssm/dist-cjs/index.js +12508 -13696
  13. package/node_modules/@aws-sdk/client-ssm/package.json +15 -15
  14. package/node_modules/@aws-sdk/client-sso/dist-cjs/index.js +478 -596
  15. package/node_modules/@aws-sdk/client-sso/package.json +14 -14
  16. package/node_modules/@aws-sdk/core/dist-cjs/index.js +1969 -6
  17. package/node_modules/@aws-sdk/core/dist-cjs/submodules/account-id-endpoint/index.js +48 -88
  18. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +35 -74
  19. package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +273 -365
  20. package/node_modules/@aws-sdk/core/dist-cjs/submodules/protocols/index.js +1581 -1863
  21. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js +2 -2
  22. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js +2 -2
  23. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js +4 -4
  24. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js +4 -4
  25. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js +3 -3
  26. package/node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js +4 -4
  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 -4
  29. package/node_modules/@aws-sdk/core/dist-types/submodules/account-id-endpoint/AccountIdEndpointModeConfigResolver.d.ts +1 -1
  30. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.d.ts +1 -1
  31. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.d.ts +1 -1
  32. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.d.ts +1 -1
  33. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.d.ts +1 -1
  34. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/ConfigurableSerdeContext.d.ts +1 -1
  35. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/JsonCodec.d.ts +1 -1
  36. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/JsonShapeDeserializer.d.ts +1 -1
  37. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/json/JsonShapeSerializer.d.ts +2 -2
  38. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/query/QuerySerializerSettings.d.ts +1 -1
  39. package/node_modules/@aws-sdk/core/dist-types/submodules/protocols/xml/XmlCodec.d.ts +1 -1
  40. package/node_modules/@aws-sdk/core/package.json +4 -4
  41. package/node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js +38 -73
  42. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  43. package/node_modules/@aws-sdk/credential-provider-http/package.json +5 -5
  44. package/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +194 -259
  45. package/node_modules/@aws-sdk/credential-provider-ini/package.json +8 -8
  46. package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +72 -132
  47. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  48. package/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +71 -107
  49. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  50. package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +176 -249
  51. package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-CVy8iqsZ.js +14 -0
  52. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  53. package/node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js +16 -25
  54. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  55. package/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js +381 -478
  56. package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +3 -3
  57. package/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js +511 -641
  58. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +5 -5
  59. package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +170 -203
  60. package/node_modules/@aws-sdk/middleware-user-agent/package.json +3 -3
  61. package/node_modules/@aws-sdk/nested-clients/dist-cjs/index.js +2 -2
  62. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +583 -858
  63. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +795 -928
  64. package/node_modules/@aws-sdk/nested-clients/package.json +14 -14
  65. package/node_modules/@aws-sdk/signature-v4-multi-region/dist-cjs/index.js +108 -137
  66. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +2 -2
  67. package/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +147 -222
  68. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  69. package/node_modules/@aws-sdk/util-user-agent-browser/README.md +22 -3
  70. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/createUserAgentStringParsingProvider.js +57 -0
  71. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.js +39 -8
  72. package/node_modules/@aws-sdk/util-user-agent-browser/dist-es/createUserAgentStringParsingProvider.js +20 -0
  73. package/node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.js +37 -6
  74. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/createUserAgentStringParsingProvider.d.ts +14 -0
  75. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/index.d.ts +14 -4
  76. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/index.native.d.ts +4 -3
  77. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/ts3.4/createUserAgentStringParsingProvider.d.ts +9 -0
  78. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/ts3.4/index.d.ts +5 -0
  79. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +1 -1
  80. package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +50 -94
  81. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/crt-availability.d.ts +1 -2
  82. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/defaultUserAgent.d.ts +10 -5
  83. package/node_modules/@aws-sdk/util-user-agent-node/package.json +2 -2
  84. package/node_modules/@smithy/chunked-blob-reader-native/package.json +2 -2
  85. package/node_modules/@smithy/config-resolver/package.json +4 -4
  86. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +4 -16
  87. package/node_modules/@smithy/core/dist-cjs/submodules/event-streams/index.js +5 -3
  88. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +48 -44
  89. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +273 -319
  90. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +126 -34
  91. package/node_modules/@smithy/core/dist-es/index.js +1 -1
  92. package/node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js +6 -17
  93. package/node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js +5 -3
  94. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js +4 -4
  95. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +6 -5
  96. package/node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js +2 -2
  97. package/node_modules/@smithy/core/dist-es/submodules/protocols/SerdeContext.js +6 -0
  98. package/node_modules/@smithy/core/dist-es/submodules/protocols/index.js +1 -0
  99. package/node_modules/@smithy/core/dist-es/submodules/protocols/serde/FromStringShapeDeserializer.js +22 -22
  100. package/node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeDeserializer.js +3 -2
  101. package/node_modules/@smithy/core/dist-es/submodules/protocols/serde/ToStringShapeSerializer.js +7 -9
  102. package/node_modules/@smithy/core/dist-es/submodules/protocols/serde/determineTimestampFormat.js +5 -6
  103. package/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js +4 -4
  104. package/node_modules/@smithy/core/dist-es/submodules/schema/index.js +1 -0
  105. package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js +5 -1
  106. package/node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js +5 -1
  107. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js +104 -180
  108. package/node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js +22 -0
  109. package/node_modules/@smithy/core/dist-es/submodules/serde/index.js +1 -0
  110. package/node_modules/@smithy/core/dist-es/submodules/serde/schema-serde-lib/schema-date-utils.js +110 -0
  111. package/node_modules/@smithy/core/dist-es/submodules/serde/value/NumericValue.js +4 -26
  112. package/node_modules/@smithy/core/dist-types/index.d.ts +1 -1
  113. package/node_modules/@smithy/core/dist-types/submodules/cbor/CborCodec.d.ts +5 -10
  114. package/node_modules/@smithy/core/dist-types/submodules/protocols/HttpProtocol.d.ts +5 -2
  115. package/node_modules/@smithy/core/dist-types/submodules/protocols/SerdeContext.d.ts +8 -0
  116. package/node_modules/@smithy/core/dist-types/submodules/protocols/index.d.ts +1 -0
  117. package/node_modules/@smithy/core/dist-types/submodules/protocols/serde/FromStringShapeDeserializer.d.ts +3 -4
  118. package/node_modules/@smithy/core/dist-types/submodules/protocols/serde/HttpInterceptingShapeDeserializer.d.ts +5 -2
  119. package/node_modules/@smithy/core/dist-types/submodules/protocols/serde/HttpInterceptingShapeSerializer.d.ts +5 -2
  120. package/node_modules/@smithy/core/dist-types/submodules/protocols/serde/ToStringShapeSerializer.d.ts +3 -4
  121. package/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts +4 -4
  122. package/node_modules/@smithy/core/dist-types/submodules/schema/index.d.ts +1 -0
  123. package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/NormalizedSchema.d.ts +26 -24
  124. package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/sentinels.d.ts +2 -0
  125. package/node_modules/@smithy/core/dist-types/submodules/schema/schemas/translateTraits.d.ts +7 -0
  126. package/node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts +1 -0
  127. package/node_modules/@smithy/core/dist-types/submodules/serde/schema-serde-lib/schema-date-utils.d.ts +47 -0
  128. package/node_modules/@smithy/core/dist-types/ts3.4/index.d.ts +1 -1
  129. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/CborCodec.d.ts +5 -10
  130. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/HttpProtocol.d.ts +5 -2
  131. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/SerdeContext.d.ts +8 -0
  132. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/index.d.ts +1 -0
  133. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/serde/FromStringShapeDeserializer.d.ts +3 -4
  134. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/serde/HttpInterceptingShapeDeserializer.d.ts +5 -2
  135. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/serde/HttpInterceptingShapeSerializer.d.ts +5 -2
  136. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/serde/ToStringShapeSerializer.d.ts +3 -4
  137. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/TypeRegistry.d.ts +4 -4
  138. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/index.d.ts +1 -0
  139. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/NormalizedSchema.d.ts +26 -24
  140. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/sentinels.d.ts +2 -0
  141. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/schemas/translateTraits.d.ts +7 -0
  142. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/index.d.ts +1 -0
  143. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/serde/schema-serde-lib/schema-date-utils.d.ts +47 -0
  144. package/node_modules/@smithy/core/package.json +8 -8
  145. package/node_modules/@smithy/fetch-http-handler/package.json +6 -6
  146. package/node_modules/@smithy/hash-blob-browser/package.json +3 -3
  147. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/LICENSE +201 -0
  148. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/README.md +105 -0
  149. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js +26 -0
  150. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js +12 -0
  151. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js +16 -0
  152. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js +189 -0
  153. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js +17 -0
  154. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/externalDataInterceptor.js +16 -0
  155. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/getConfigData.js +18 -0
  156. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/getConfigFilepath.js +4 -0
  157. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/getCredentialsFilepath.js +4 -0
  158. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/getHomeDir.js +22 -0
  159. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/getProfileName.js +3 -0
  160. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/getSSOTokenFilepath.js +8 -0
  161. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/getSSOTokenFromFile.js +12 -0
  162. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/getSsoSessionData.js +5 -0
  163. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/index.js +9 -0
  164. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/loadSharedConfigFiles.js +39 -0
  165. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/loadSsoSessionData.js +9 -0
  166. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/mergeConfigFiles.js +14 -0
  167. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/parseIni.js +52 -0
  168. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/parseKnownFiles.js +6 -0
  169. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/slurpFile.js +13 -0
  170. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-es/types.js +1 -0
  171. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/externalDataInterceptor.d.ts +9 -0
  172. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/getConfigData.d.ts +8 -0
  173. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/getConfigFilepath.d.ts +2 -0
  174. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/getCredentialsFilepath.d.ts +2 -0
  175. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/getHomeDir.d.ts +6 -0
  176. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/getProfileName.d.ts +15 -0
  177. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/getSSOTokenFilepath.d.ts +5 -0
  178. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/getSSOTokenFromFile.d.ts +50 -0
  179. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/getSsoSessionData.d.ts +6 -0
  180. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/index.d.ts +9 -0
  181. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/loadSharedConfigFiles.d.ts +36 -0
  182. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/loadSsoSessionData.d.ts +17 -0
  183. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/mergeConfigFiles.d.ts +7 -0
  184. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/parseIni.d.ts +2 -0
  185. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/parseKnownFiles.d.ts +18 -0
  186. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/slurpFile.d.ts +7 -0
  187. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/externalDataInterceptor.d.ts +9 -0
  188. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getConfigData.d.ts +8 -0
  189. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getConfigFilepath.d.ts +2 -0
  190. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getCredentialsFilepath.d.ts +2 -0
  191. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getHomeDir.d.ts +6 -0
  192. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getProfileName.d.ts +15 -0
  193. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getSSOTokenFilepath.d.ts +5 -0
  194. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getSSOTokenFromFile.d.ts +50 -0
  195. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getSsoSessionData.d.ts +6 -0
  196. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/index.d.ts +9 -0
  197. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/loadSharedConfigFiles.d.ts +36 -0
  198. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/loadSsoSessionData.d.ts +17 -0
  199. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/mergeConfigFiles.d.ts +7 -0
  200. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/parseIni.d.ts +2 -0
  201. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/parseKnownFiles.d.ts +18 -0
  202. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/slurpFile.d.ts +7 -0
  203. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/types.d.ts +16 -0
  204. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/dist-types/types.d.ts +16 -0
  205. package/node_modules/@smithy/middleware-endpoint/node_modules/@smithy/shared-ini-file-loader/package.json +73 -0
  206. package/node_modules/@smithy/middleware-endpoint/package.json +8 -8
  207. package/node_modules/@smithy/middleware-retry/package.json +8 -8
  208. package/node_modules/@smithy/middleware-serde/package.json +3 -3
  209. package/node_modules/@smithy/middleware-stack/package.json +2 -2
  210. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/LICENSE +201 -0
  211. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/README.md +10 -0
  212. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-cjs/index.js +117 -0
  213. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js +8 -0
  214. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-es/ProviderError.js +23 -0
  215. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-es/TokenProviderError.js +8 -0
  216. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-es/chain.js +21 -0
  217. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-es/fromStatic.js +1 -0
  218. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-es/index.js +6 -0
  219. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-es/memoize.js +45 -0
  220. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/CredentialsProviderError.d.ts +31 -0
  221. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/ProviderError.d.ts +39 -0
  222. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/TokenProviderError.d.ts +31 -0
  223. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/chain.d.ts +13 -0
  224. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/fromStatic.d.ts +5 -0
  225. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/index.d.ts +24 -0
  226. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/memoize.d.ts +40 -0
  227. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/ts3.4/CredentialsProviderError.d.ts +31 -0
  228. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/ts3.4/ProviderError.d.ts +39 -0
  229. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/ts3.4/TokenProviderError.d.ts +31 -0
  230. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/ts3.4/chain.d.ts +13 -0
  231. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/ts3.4/fromStatic.d.ts +5 -0
  232. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/ts3.4/index.d.ts +24 -0
  233. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/dist-types/ts3.4/memoize.d.ts +40 -0
  234. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/property-provider/package.json +61 -0
  235. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/LICENSE +201 -0
  236. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/README.md +105 -0
  237. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js +26 -0
  238. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js +12 -0
  239. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js +16 -0
  240. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js +189 -0
  241. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-cjs/slurpFile.js +17 -0
  242. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/externalDataInterceptor.js +16 -0
  243. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/getConfigData.js +18 -0
  244. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/getConfigFilepath.js +4 -0
  245. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/getCredentialsFilepath.js +4 -0
  246. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/getHomeDir.js +22 -0
  247. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/getProfileName.js +3 -0
  248. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/getSSOTokenFilepath.js +8 -0
  249. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/getSSOTokenFromFile.js +12 -0
  250. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/getSsoSessionData.js +5 -0
  251. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/index.js +9 -0
  252. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/loadSharedConfigFiles.js +39 -0
  253. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/loadSsoSessionData.js +9 -0
  254. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/mergeConfigFiles.js +14 -0
  255. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/parseIni.js +52 -0
  256. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/parseKnownFiles.js +6 -0
  257. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/slurpFile.js +13 -0
  258. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-es/types.js +1 -0
  259. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/externalDataInterceptor.d.ts +9 -0
  260. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/getConfigData.d.ts +8 -0
  261. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/getConfigFilepath.d.ts +2 -0
  262. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/getCredentialsFilepath.d.ts +2 -0
  263. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/getHomeDir.d.ts +6 -0
  264. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/getProfileName.d.ts +15 -0
  265. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/getSSOTokenFilepath.d.ts +5 -0
  266. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/getSSOTokenFromFile.d.ts +50 -0
  267. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/getSsoSessionData.d.ts +6 -0
  268. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/index.d.ts +9 -0
  269. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/loadSharedConfigFiles.d.ts +36 -0
  270. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/loadSsoSessionData.d.ts +17 -0
  271. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/mergeConfigFiles.d.ts +7 -0
  272. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/parseIni.d.ts +2 -0
  273. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/parseKnownFiles.d.ts +18 -0
  274. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/slurpFile.d.ts +7 -0
  275. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/externalDataInterceptor.d.ts +9 -0
  276. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getConfigData.d.ts +8 -0
  277. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getConfigFilepath.d.ts +2 -0
  278. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getCredentialsFilepath.d.ts +2 -0
  279. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getHomeDir.d.ts +6 -0
  280. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getProfileName.d.ts +15 -0
  281. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getSSOTokenFilepath.d.ts +5 -0
  282. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getSSOTokenFromFile.d.ts +50 -0
  283. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/getSsoSessionData.d.ts +6 -0
  284. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/index.d.ts +9 -0
  285. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/loadSharedConfigFiles.d.ts +36 -0
  286. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/loadSsoSessionData.d.ts +17 -0
  287. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/mergeConfigFiles.d.ts +7 -0
  288. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/parseIni.d.ts +2 -0
  289. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/parseKnownFiles.d.ts +18 -0
  290. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/slurpFile.d.ts +7 -0
  291. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/ts3.4/types.d.ts +16 -0
  292. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/dist-types/types.d.ts +16 -0
  293. package/node_modules/@smithy/node-config-provider/node_modules/@smithy/shared-ini-file-loader/package.json +73 -0
  294. package/node_modules/@smithy/node-config-provider/package.json +4 -4
  295. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +30 -6
  296. package/node_modules/@smithy/node-http-handler/dist-es/node-http-handler.js +7 -3
  297. package/node_modules/@smithy/node-http-handler/dist-es/set-connection-timeout.js +1 -1
  298. package/node_modules/@smithy/node-http-handler/dist-es/set-request-timeout.js +21 -0
  299. package/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js +2 -3
  300. package/node_modules/@smithy/node-http-handler/dist-types/set-request-timeout.d.ts +6 -0
  301. package/node_modules/@smithy/node-http-handler/dist-types/ts3.4/set-request-timeout.d.ts +6 -0
  302. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/LICENSE +201 -0
  303. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/README.md +4 -0
  304. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/dist-cjs/index.js +32 -0
  305. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/dist-es/AbortController.js +7 -0
  306. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/dist-es/AbortSignal.js +20 -0
  307. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/dist-es/index.js +2 -0
  308. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/dist-types/AbortController.d.ts +16 -0
  309. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/dist-types/AbortSignal.d.ts +21 -0
  310. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/dist-types/index.d.ts +9 -0
  311. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/dist-types/ts3.4/AbortController.d.ts +16 -0
  312. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/dist-types/ts3.4/AbortSignal.d.ts +21 -0
  313. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/dist-types/ts3.4/index.d.ts +9 -0
  314. package/node_modules/@smithy/node-http-handler/node_modules/@smithy/abort-controller/package.json +63 -0
  315. package/node_modules/@smithy/node-http-handler/package.json +5 -5
  316. package/node_modules/@smithy/protocol-http/package.json +2 -2
  317. package/node_modules/@smithy/querystring-builder/package.json +2 -2
  318. package/node_modules/@smithy/querystring-parser/package.json +2 -2
  319. package/node_modules/@smithy/service-error-classification/package.json +2 -2
  320. package/node_modules/@smithy/smithy-client/dist-cjs/index.js +5 -4
  321. package/node_modules/@smithy/smithy-client/dist-es/command.js +5 -4
  322. package/node_modules/@smithy/smithy-client/dist-types/command.d.ts +3 -3
  323. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/command.d.ts +3 -3
  324. package/node_modules/@smithy/smithy-client/package.json +7 -7
  325. package/node_modules/@smithy/types/dist-es/index.js +1 -0
  326. package/node_modules/@smithy/types/dist-es/schema/static-schemas.js +1 -0
  327. package/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts +17 -10
  328. package/node_modules/@smithy/types/dist-types/index.d.ts +1 -0
  329. package/node_modules/@smithy/types/dist-types/schema/schema.d.ts +2 -1
  330. package/node_modules/@smithy/types/dist-types/schema/static-schemas.d.ts +82 -0
  331. package/node_modules/@smithy/types/dist-types/ts3.4/http/httpHandlerInitialization.d.ts +17 -10
  332. package/node_modules/@smithy/types/dist-types/ts3.4/index.d.ts +1 -0
  333. package/node_modules/@smithy/types/dist-types/ts3.4/schema/schema.d.ts +2 -1
  334. package/node_modules/@smithy/types/dist-types/ts3.4/schema/static-schemas.d.ts +101 -0
  335. package/node_modules/@smithy/types/package.json +1 -1
  336. package/node_modules/@smithy/url-parser/package.json +3 -3
  337. package/node_modules/@smithy/util-base64/dist-cjs/constants.browser.js +9 -32
  338. package/node_modules/@smithy/util-base64/dist-es/constants.browser.js +9 -28
  339. package/node_modules/@smithy/util-base64/dist-types/constants.browser.d.ts +5 -6
  340. package/node_modules/@smithy/util-base64/dist-types/ts3.4/constants.browser.d.ts +5 -6
  341. package/node_modules/@smithy/util-base64/package.json +1 -1
  342. package/node_modules/@smithy/util-body-length-node/dist-cjs/index.js +8 -6
  343. package/node_modules/@smithy/util-body-length-node/dist-es/calculateBodyLength.js +8 -6
  344. package/node_modules/@smithy/util-body-length-node/package.json +1 -1
  345. package/node_modules/@smithy/util-defaults-mode-browser/dist-cjs/resolveDefaultsModeConfig.js +11 -9
  346. package/node_modules/@smithy/util-defaults-mode-browser/dist-es/resolveDefaultsModeConfig.js +11 -8
  347. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/LICENSE +201 -0
  348. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/README.md +10 -0
  349. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-cjs/index.js +117 -0
  350. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js +8 -0
  351. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-es/ProviderError.js +23 -0
  352. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-es/TokenProviderError.js +8 -0
  353. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-es/chain.js +21 -0
  354. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-es/fromStatic.js +1 -0
  355. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-es/index.js +6 -0
  356. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-es/memoize.js +45 -0
  357. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/CredentialsProviderError.d.ts +31 -0
  358. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/ProviderError.d.ts +39 -0
  359. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/TokenProviderError.d.ts +31 -0
  360. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/chain.d.ts +13 -0
  361. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/fromStatic.d.ts +5 -0
  362. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/index.d.ts +24 -0
  363. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/memoize.d.ts +40 -0
  364. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/ts3.4/CredentialsProviderError.d.ts +31 -0
  365. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/ts3.4/ProviderError.d.ts +39 -0
  366. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/ts3.4/TokenProviderError.d.ts +31 -0
  367. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/ts3.4/chain.d.ts +13 -0
  368. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/ts3.4/fromStatic.d.ts +5 -0
  369. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/ts3.4/index.d.ts +24 -0
  370. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/dist-types/ts3.4/memoize.d.ts +40 -0
  371. package/node_modules/@smithy/util-defaults-mode-browser/node_modules/@smithy/property-provider/package.json +61 -0
  372. package/node_modules/@smithy/util-defaults-mode-browser/package.json +4 -5
  373. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/LICENSE +201 -0
  374. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/README.md +11 -0
  375. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-cjs/index.js +372 -0
  376. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/config/Endpoint.js +5 -0
  377. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointConfigOptions.js +7 -0
  378. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointMode.js +5 -0
  379. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/config/EndpointModeConfigOptions.js +8 -0
  380. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/error/InstanceMetadataV1FallbackError.js +10 -0
  381. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/fromContainerMetadata.js +77 -0
  382. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/fromInstanceMetadata.js +134 -0
  383. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/index.js +7 -0
  384. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/ImdsCredentials.js +13 -0
  385. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/RemoteProviderInit.js +3 -0
  386. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/httpRequest.js +36 -0
  387. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/index.js +2 -0
  388. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/remoteProvider/retry.js +7 -0
  389. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/types.js +1 -0
  390. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/utils/getExtendedInstanceMetadataCredentials.js +17 -0
  391. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/utils/getInstanceMetadataEndpoint.js +19 -0
  392. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-es/utils/staticStabilityProvider.js +25 -0
  393. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/config/Endpoint.d.ts +7 -0
  394. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/config/EndpointConfigOptions.d.ts +13 -0
  395. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/config/EndpointMode.d.ts +7 -0
  396. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/config/EndpointModeConfigOptions.d.ts +13 -0
  397. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/error/InstanceMetadataV1FallbackError.d.ts +12 -0
  398. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/fromContainerMetadata.d.ts +21 -0
  399. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/fromInstanceMetadata.d.ts +10 -0
  400. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/index.d.ts +28 -0
  401. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/remoteProvider/ImdsCredentials.d.ts +19 -0
  402. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/remoteProvider/RemoteProviderInit.d.ts +40 -0
  403. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/remoteProvider/httpRequest.d.ts +6 -0
  404. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/remoteProvider/index.d.ts +8 -0
  405. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/remoteProvider/retry.d.ts +10 -0
  406. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/config/Endpoint.d.ts +7 -0
  407. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/config/EndpointConfigOptions.d.ts +13 -0
  408. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/config/EndpointMode.d.ts +7 -0
  409. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/config/EndpointModeConfigOptions.d.ts +13 -0
  410. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/error/InstanceMetadataV1FallbackError.d.ts +12 -0
  411. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/fromContainerMetadata.d.ts +21 -0
  412. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/fromInstanceMetadata.d.ts +10 -0
  413. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/index.d.ts +28 -0
  414. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/remoteProvider/ImdsCredentials.d.ts +19 -0
  415. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/remoteProvider/RemoteProviderInit.d.ts +40 -0
  416. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/remoteProvider/httpRequest.d.ts +6 -0
  417. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/remoteProvider/index.d.ts +8 -0
  418. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/remoteProvider/retry.d.ts +10 -0
  419. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/types.d.ts +7 -0
  420. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/utils/getExtendedInstanceMetadataCredentials.d.ts +6 -0
  421. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/utils/getInstanceMetadataEndpoint.d.ts +21 -0
  422. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/ts3.4/utils/staticStabilityProvider.d.ts +16 -0
  423. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/types.d.ts +7 -0
  424. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/utils/getExtendedInstanceMetadataCredentials.d.ts +6 -0
  425. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/utils/getInstanceMetadataEndpoint.d.ts +21 -0
  426. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/dist-types/utils/staticStabilityProvider.d.ts +16 -0
  427. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/credential-provider-imds/package.json +70 -0
  428. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/LICENSE +201 -0
  429. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/README.md +10 -0
  430. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-cjs/index.js +117 -0
  431. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js +8 -0
  432. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-es/ProviderError.js +23 -0
  433. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-es/TokenProviderError.js +8 -0
  434. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-es/chain.js +21 -0
  435. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-es/fromStatic.js +1 -0
  436. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-es/index.js +6 -0
  437. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-es/memoize.js +45 -0
  438. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/CredentialsProviderError.d.ts +31 -0
  439. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/ProviderError.d.ts +39 -0
  440. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/TokenProviderError.d.ts +31 -0
  441. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/chain.d.ts +13 -0
  442. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/fromStatic.d.ts +5 -0
  443. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/index.d.ts +24 -0
  444. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/memoize.d.ts +40 -0
  445. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/ts3.4/CredentialsProviderError.d.ts +31 -0
  446. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/ts3.4/ProviderError.d.ts +39 -0
  447. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/ts3.4/TokenProviderError.d.ts +31 -0
  448. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/ts3.4/chain.d.ts +13 -0
  449. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/ts3.4/fromStatic.d.ts +5 -0
  450. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/ts3.4/index.d.ts +24 -0
  451. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/dist-types/ts3.4/memoize.d.ts +40 -0
  452. package/node_modules/@smithy/util-defaults-mode-node/node_modules/@smithy/property-provider/package.json +61 -0
  453. package/node_modules/@smithy/util-defaults-mode-node/package.json +7 -7
  454. package/node_modules/@smithy/util-middleware/package.json +2 -2
  455. package/node_modules/@smithy/util-retry/package.json +3 -3
  456. package/node_modules/@smithy/util-stream/dist-cjs/index.js +3 -5
  457. package/node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js +3 -5
  458. package/node_modules/@smithy/util-stream/dist-types/blob/Uint8ArrayBlobAdapter.d.ts +1 -0
  459. package/node_modules/@smithy/util-stream/dist-types/ts3.4/blob/Uint8ArrayBlobAdapter.d.ts +1 -0
  460. package/node_modules/@smithy/util-stream/package.json +5 -5
  461. package/node_modules/cdk-nag/.jsii +3 -3
  462. package/node_modules/cdk-nag/lib/ignore-suppression-conditions.js +5 -5
  463. package/node_modules/cdk-nag/lib/nag-logger.js +2 -2
  464. package/node_modules/cdk-nag/lib/nag-pack.js +1 -1
  465. package/node_modules/cdk-nag/lib/nag-rules.js +1 -1
  466. package/node_modules/cdk-nag/lib/nag-suppressions.js +1 -1
  467. package/node_modules/cdk-nag/lib/packs/aws-solutions.js +1 -1
  468. package/node_modules/cdk-nag/lib/packs/hipaa-security.js +1 -1
  469. package/node_modules/cdk-nag/lib/packs/nist-800-53-r4.js +1 -1
  470. package/node_modules/cdk-nag/lib/packs/nist-800-53-r5.js +1 -1
  471. package/node_modules/cdk-nag/lib/packs/pci-dss-321.js +1 -1
  472. package/node_modules/cdk-nag/lib/packs/serverless.js +1 -1
  473. package/node_modules/cdk-nag/package.json +2 -2
  474. package/node_modules/mailparser/CHANGELOG.md +7 -0
  475. package/node_modules/mailparser/lib/mail-parser.js +12 -3
  476. package/node_modules/mailparser/node_modules/iconv-lite/Changelog.md +236 -0
  477. package/node_modules/mailparser/node_modules/iconv-lite/LICENSE +21 -0
  478. package/node_modules/mailparser/node_modules/iconv-lite/README.md +138 -0
  479. package/node_modules/mailparser/node_modules/iconv-lite/encodings/dbcs-codec.js +532 -0
  480. package/node_modules/mailparser/node_modules/iconv-lite/encodings/dbcs-data.js +185 -0
  481. package/node_modules/mailparser/node_modules/iconv-lite/encodings/index.js +23 -0
  482. package/node_modules/mailparser/node_modules/iconv-lite/encodings/internal.js +218 -0
  483. package/node_modules/mailparser/node_modules/iconv-lite/encodings/sbcs-codec.js +75 -0
  484. package/node_modules/mailparser/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  485. package/node_modules/mailparser/node_modules/iconv-lite/encodings/sbcs-data.js +178 -0
  486. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  487. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  488. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  489. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  490. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  491. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  492. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/gbk-added.json +56 -0
  493. package/node_modules/mailparser/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  494. package/node_modules/mailparser/node_modules/iconv-lite/encodings/utf16.js +187 -0
  495. package/node_modules/mailparser/node_modules/iconv-lite/encodings/utf32.js +307 -0
  496. package/node_modules/mailparser/node_modules/iconv-lite/encodings/utf7.js +283 -0
  497. package/node_modules/mailparser/node_modules/iconv-lite/lib/bom-handling.js +48 -0
  498. package/node_modules/mailparser/node_modules/iconv-lite/lib/helpers/merge-exports.js +13 -0
  499. package/node_modules/mailparser/node_modules/iconv-lite/lib/index.d.ts +41 -0
  500. package/node_modules/mailparser/node_modules/iconv-lite/lib/index.js +183 -0
  501. package/node_modules/mailparser/node_modules/iconv-lite/lib/streams.js +105 -0
  502. package/node_modules/mailparser/node_modules/iconv-lite/package.json +59 -0
  503. package/node_modules/mailparser/package.json +5 -5
  504. package/node_modules/mailsplit/index.js +2 -0
  505. package/node_modules/mailsplit/lib/chunked-passthrough.js +37 -0
  506. package/node_modules/mailsplit/package.json +1 -1
  507. package/node_modules/nodemailer/.ncurc.js +3 -5
  508. package/node_modules/nodemailer/.prettierignore +8 -0
  509. package/node_modules/nodemailer/.prettierrc +12 -0
  510. package/node_modules/nodemailer/.prettierrc.js +2 -0
  511. package/node_modules/nodemailer/.release-please-config.json +9 -0
  512. package/node_modules/nodemailer/CHANGELOG.md +323 -305
  513. package/node_modules/nodemailer/CODE_OF_CONDUCT.md +13 -13
  514. package/node_modules/nodemailer/README.md +10 -10
  515. package/node_modules/nodemailer/eslint.config.js +88 -0
  516. package/node_modules/nodemailer/lib/addressparser/index.js +47 -7
  517. package/node_modules/nodemailer/lib/base64/index.js +11 -14
  518. package/node_modules/nodemailer/lib/dkim/index.js +3 -1
  519. package/node_modules/nodemailer/lib/dkim/sign.js +1 -1
  520. package/node_modules/nodemailer/lib/fetch/index.js +7 -1
  521. package/node_modules/nodemailer/lib/mail-composer/index.js +47 -9
  522. package/node_modules/nodemailer/lib/mailer/index.js +8 -1
  523. package/node_modules/nodemailer/lib/mailer/mail-message.js +2 -1
  524. package/node_modules/nodemailer/lib/mime-funcs/index.js +2 -2
  525. package/node_modules/nodemailer/lib/mime-funcs/mime-types.js +12 -3
  526. package/node_modules/nodemailer/lib/mime-node/index.js +11 -9
  527. package/node_modules/nodemailer/lib/nodemailer.js +3 -1
  528. package/node_modules/nodemailer/lib/qp/index.js +10 -2
  529. package/node_modules/nodemailer/lib/shared/index.js +108 -42
  530. package/node_modules/nodemailer/lib/smtp-connection/http-proxy-client.js +2 -2
  531. package/node_modules/nodemailer/lib/smtp-connection/index.js +13 -6
  532. package/node_modules/nodemailer/lib/smtp-pool/pool-resource.js +3 -2
  533. package/node_modules/nodemailer/lib/smtp-transport/index.js +1 -1
  534. package/node_modules/nodemailer/lib/well-known/services.json +277 -42
  535. package/node_modules/nodemailer/lib/xoauth2/index.js +58 -7
  536. package/node_modules/nodemailer/package.json +9 -5
  537. package/node_modules/tlds/index.json +0 -1
  538. package/node_modules/tlds/package.json +1 -1
  539. package/package.json +1 -1
  540. /package/node_modules/@smithy/core/dist-es/{protocols → request-builder}/requestBuilder.js +0 -0
  541. /package/node_modules/@smithy/core/dist-types/{protocols → request-builder}/requestBuilder.d.ts +0 -0
  542. /package/node_modules/@smithy/core/dist-types/ts3.4/{protocols → request-builder}/requestBuilder.d.ts +0 -0
@@ -1,6 +1,1969 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./submodules/client/index"), exports);
5
- tslib_1.__exportStar(require("./submodules/httpAuthSchemes/index"), exports);
6
- tslib_1.__exportStar(require("./submodules/protocols/index"), exports);
1
+ 'use strict';
2
+
3
+ var protocolHttp = require('@smithy/protocol-http');
4
+ var core = require('@smithy/core');
5
+ var propertyProvider = require('@smithy/property-provider');
6
+ var client = require('@aws-sdk/core/client');
7
+ var signatureV4 = require('@smithy/signature-v4');
8
+ var cbor = require('@smithy/core/cbor');
9
+ var schema = require('@smithy/core/schema');
10
+ var protocols = require('@smithy/core/protocols');
11
+ var serde = require('@smithy/core/serde');
12
+ var utilBase64 = require('@smithy/util-base64');
13
+ var smithyClient = require('@smithy/smithy-client');
14
+ var utilUtf8 = require('@smithy/util-utf8');
15
+ var xmlBuilder = require('@aws-sdk/xml-builder');
16
+
17
+ const state = {
18
+ warningEmitted: false,
19
+ };
20
+ const emitWarningIfUnsupportedVersion = (version) => {
21
+ if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf("."))) < 18) {
22
+ state.warningEmitted = true;
23
+ process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will
24
+ no longer support Node.js 16.x on January 6, 2025.
25
+
26
+ To continue receiving updates to AWS services, bug fixes, and security
27
+ updates please upgrade to a supported Node.js LTS version.
28
+
29
+ More information can be found at: https://a.co/74kJMmI`);
30
+ }
31
+ };
32
+
33
+ function setCredentialFeature(credentials, feature, value) {
34
+ if (!credentials.$source) {
35
+ credentials.$source = {};
36
+ }
37
+ credentials.$source[feature] = value;
38
+ return credentials;
39
+ }
40
+
41
+ function setFeature(context, feature, value) {
42
+ if (!context.__aws_sdk_context) {
43
+ context.__aws_sdk_context = {
44
+ features: {},
45
+ };
46
+ }
47
+ else if (!context.__aws_sdk_context.features) {
48
+ context.__aws_sdk_context.features = {};
49
+ }
50
+ context.__aws_sdk_context.features[feature] = value;
51
+ }
52
+
53
+ function setTokenFeature(token, feature, value) {
54
+ if (!token.$source) {
55
+ token.$source = {};
56
+ }
57
+ token.$source[feature] = value;
58
+ return token;
59
+ }
60
+
61
+ const getDateHeader = (response) => protocolHttp.HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;
62
+
63
+ const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);
64
+
65
+ const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;
66
+
67
+ const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {
68
+ const clockTimeInMs = Date.parse(clockTime);
69
+ if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {
70
+ return clockTimeInMs - Date.now();
71
+ }
72
+ return currentSystemClockOffset;
73
+ };
74
+
75
+ const throwSigningPropertyError = (name, property) => {
76
+ if (!property) {
77
+ throw new Error(`Property \`${name}\` is not resolved for AWS SDK SigV4Auth`);
78
+ }
79
+ return property;
80
+ };
81
+ const validateSigningProperties = async (signingProperties) => {
82
+ const context = throwSigningPropertyError("context", signingProperties.context);
83
+ const config = throwSigningPropertyError("config", signingProperties.config);
84
+ const authScheme = context.endpointV2?.properties?.authSchemes?.[0];
85
+ const signerFunction = throwSigningPropertyError("signer", config.signer);
86
+ const signer = await signerFunction(authScheme);
87
+ const signingRegion = signingProperties?.signingRegion;
88
+ const signingRegionSet = signingProperties?.signingRegionSet;
89
+ const signingName = signingProperties?.signingName;
90
+ return {
91
+ config,
92
+ signer,
93
+ signingRegion,
94
+ signingRegionSet,
95
+ signingName,
96
+ };
97
+ };
98
+ class AwsSdkSigV4Signer {
99
+ async sign(httpRequest, identity, signingProperties) {
100
+ if (!protocolHttp.HttpRequest.isInstance(httpRequest)) {
101
+ throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
102
+ }
103
+ const validatedProps = await validateSigningProperties(signingProperties);
104
+ const { config, signer } = validatedProps;
105
+ let { signingRegion, signingName } = validatedProps;
106
+ const handlerExecutionContext = signingProperties.context;
107
+ if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {
108
+ const [first, second] = handlerExecutionContext.authSchemes;
109
+ if (first?.name === "sigv4a" && second?.name === "sigv4") {
110
+ signingRegion = second?.signingRegion ?? signingRegion;
111
+ signingName = second?.signingName ?? signingName;
112
+ }
113
+ }
114
+ const signedRequest = await signer.sign(httpRequest, {
115
+ signingDate: getSkewCorrectedDate(config.systemClockOffset),
116
+ signingRegion: signingRegion,
117
+ signingService: signingName,
118
+ });
119
+ return signedRequest;
120
+ }
121
+ errorHandler(signingProperties) {
122
+ return (error) => {
123
+ const serverTime = error.ServerTime ?? getDateHeader(error.$response);
124
+ if (serverTime) {
125
+ const config = throwSigningPropertyError("config", signingProperties.config);
126
+ const initialSystemClockOffset = config.systemClockOffset;
127
+ config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);
128
+ const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset;
129
+ if (clockSkewCorrected && error.$metadata) {
130
+ error.$metadata.clockSkewCorrected = true;
131
+ }
132
+ }
133
+ throw error;
134
+ };
135
+ }
136
+ successHandler(httpResponse, signingProperties) {
137
+ const dateHeader = getDateHeader(httpResponse);
138
+ if (dateHeader) {
139
+ const config = throwSigningPropertyError("config", signingProperties.config);
140
+ config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);
141
+ }
142
+ }
143
+ }
144
+ const AWSSDKSigV4Signer = AwsSdkSigV4Signer;
145
+
146
+ class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {
147
+ async sign(httpRequest, identity, signingProperties) {
148
+ if (!protocolHttp.HttpRequest.isInstance(httpRequest)) {
149
+ throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
150
+ }
151
+ const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);
152
+ const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();
153
+ const multiRegionOverride = (configResolvedSigningRegionSet ??
154
+ signingRegionSet ?? [signingRegion]).join(",");
155
+ const signedRequest = await signer.sign(httpRequest, {
156
+ signingDate: getSkewCorrectedDate(config.systemClockOffset),
157
+ signingRegion: multiRegionOverride,
158
+ signingService: signingName,
159
+ });
160
+ return signedRequest;
161
+ }
162
+ }
163
+
164
+ const getArrayForCommaSeparatedString = (str) => typeof str === "string" && str.length > 0 ? str.split(",").map((item) => item.trim()) : [];
165
+
166
+ const getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\s-]/g, "_").toUpperCase()}`;
167
+
168
+ const NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = "AWS_AUTH_SCHEME_PREFERENCE";
169
+ const NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = "auth_scheme_preference";
170
+ const NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {
171
+ environmentVariableSelector: (env, options) => {
172
+ if (options?.signingName) {
173
+ const bearerTokenKey = getBearerTokenEnvKey(options.signingName);
174
+ if (bearerTokenKey in env)
175
+ return ["httpBearerAuth"];
176
+ }
177
+ if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env))
178
+ return undefined;
179
+ return getArrayForCommaSeparatedString(env[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);
180
+ },
181
+ configFileSelector: (profile) => {
182
+ if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))
183
+ return undefined;
184
+ return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);
185
+ },
186
+ default: [],
187
+ };
188
+
189
+ const resolveAwsSdkSigV4AConfig = (config) => {
190
+ config.sigv4aSigningRegionSet = core.normalizeProvider(config.sigv4aSigningRegionSet);
191
+ return config;
192
+ };
193
+ const NODE_SIGV4A_CONFIG_OPTIONS = {
194
+ environmentVariableSelector(env) {
195
+ if (env.AWS_SIGV4A_SIGNING_REGION_SET) {
196
+ return env.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((_) => _.trim());
197
+ }
198
+ throw new propertyProvider.ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.", {
199
+ tryNextLink: true,
200
+ });
201
+ },
202
+ configFileSelector(profile) {
203
+ if (profile.sigv4a_signing_region_set) {
204
+ return (profile.sigv4a_signing_region_set ?? "").split(",").map((_) => _.trim());
205
+ }
206
+ throw new propertyProvider.ProviderError("sigv4a_signing_region_set not set in profile.", {
207
+ tryNextLink: true,
208
+ });
209
+ },
210
+ default: undefined,
211
+ };
212
+
213
+ const resolveAwsSdkSigV4Config = (config) => {
214
+ let inputCredentials = config.credentials;
215
+ let isUserSupplied = !!config.credentials;
216
+ let resolvedCredentials = undefined;
217
+ Object.defineProperty(config, "credentials", {
218
+ set(credentials) {
219
+ if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {
220
+ isUserSupplied = true;
221
+ }
222
+ inputCredentials = credentials;
223
+ const memoizedProvider = normalizeCredentialProvider(config, {
224
+ credentials: inputCredentials,
225
+ credentialDefaultProvider: config.credentialDefaultProvider,
226
+ });
227
+ const boundProvider = bindCallerConfig(config, memoizedProvider);
228
+ if (isUserSupplied && !boundProvider.attributed) {
229
+ resolvedCredentials = async (options) => boundProvider(options).then((creds) => client.setCredentialFeature(creds, "CREDENTIALS_CODE", "e"));
230
+ resolvedCredentials.memoized = boundProvider.memoized;
231
+ resolvedCredentials.configBound = boundProvider.configBound;
232
+ resolvedCredentials.attributed = true;
233
+ }
234
+ else {
235
+ resolvedCredentials = boundProvider;
236
+ }
237
+ },
238
+ get() {
239
+ return resolvedCredentials;
240
+ },
241
+ enumerable: true,
242
+ configurable: true,
243
+ });
244
+ config.credentials = inputCredentials;
245
+ const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256, } = config;
246
+ let signer;
247
+ if (config.signer) {
248
+ signer = core.normalizeProvider(config.signer);
249
+ }
250
+ else if (config.regionInfoProvider) {
251
+ signer = () => core.normalizeProvider(config.region)()
252
+ .then(async (region) => [
253
+ (await config.regionInfoProvider(region, {
254
+ useFipsEndpoint: await config.useFipsEndpoint(),
255
+ useDualstackEndpoint: await config.useDualstackEndpoint(),
256
+ })) || {},
257
+ region,
258
+ ])
259
+ .then(([regionInfo, region]) => {
260
+ const { signingRegion, signingService } = regionInfo;
261
+ config.signingRegion = config.signingRegion || signingRegion || region;
262
+ config.signingName = config.signingName || signingService || config.serviceId;
263
+ const params = {
264
+ ...config,
265
+ credentials: config.credentials,
266
+ region: config.signingRegion,
267
+ service: config.signingName,
268
+ sha256,
269
+ uriEscapePath: signingEscapePath,
270
+ };
271
+ const SignerCtor = config.signerConstructor || signatureV4.SignatureV4;
272
+ return new SignerCtor(params);
273
+ });
274
+ }
275
+ else {
276
+ signer = async (authScheme) => {
277
+ authScheme = Object.assign({}, {
278
+ name: "sigv4",
279
+ signingName: config.signingName || config.defaultSigningName,
280
+ signingRegion: await core.normalizeProvider(config.region)(),
281
+ properties: {},
282
+ }, authScheme);
283
+ const signingRegion = authScheme.signingRegion;
284
+ const signingService = authScheme.signingName;
285
+ config.signingRegion = config.signingRegion || signingRegion;
286
+ config.signingName = config.signingName || signingService || config.serviceId;
287
+ const params = {
288
+ ...config,
289
+ credentials: config.credentials,
290
+ region: config.signingRegion,
291
+ service: config.signingName,
292
+ sha256,
293
+ uriEscapePath: signingEscapePath,
294
+ };
295
+ const SignerCtor = config.signerConstructor || signatureV4.SignatureV4;
296
+ return new SignerCtor(params);
297
+ };
298
+ }
299
+ const resolvedConfig = Object.assign(config, {
300
+ systemClockOffset,
301
+ signingEscapePath,
302
+ signer,
303
+ });
304
+ return resolvedConfig;
305
+ };
306
+ const resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;
307
+ function normalizeCredentialProvider(config, { credentials, credentialDefaultProvider, }) {
308
+ let credentialsProvider;
309
+ if (credentials) {
310
+ if (!credentials?.memoized) {
311
+ credentialsProvider = core.memoizeIdentityProvider(credentials, core.isIdentityExpired, core.doesIdentityRequireRefresh);
312
+ }
313
+ else {
314
+ credentialsProvider = credentials;
315
+ }
316
+ }
317
+ else {
318
+ if (credentialDefaultProvider) {
319
+ credentialsProvider = core.normalizeProvider(credentialDefaultProvider(Object.assign({}, config, {
320
+ parentClientConfig: config,
321
+ })));
322
+ }
323
+ else {
324
+ credentialsProvider = async () => {
325
+ throw new Error("@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.");
326
+ };
327
+ }
328
+ }
329
+ credentialsProvider.memoized = true;
330
+ return credentialsProvider;
331
+ }
332
+ function bindCallerConfig(config, credentialsProvider) {
333
+ if (credentialsProvider.configBound) {
334
+ return credentialsProvider;
335
+ }
336
+ const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config });
337
+ fn.memoized = credentialsProvider.memoized;
338
+ fn.configBound = true;
339
+ return fn;
340
+ }
341
+
342
+ class ProtocolLib {
343
+ resolveRestContentType(defaultContentType, inputSchema) {
344
+ const members = inputSchema.getMemberSchemas();
345
+ const httpPayloadMember = Object.values(members).find((m) => {
346
+ return !!m.getMergedTraits().httpPayload;
347
+ });
348
+ if (httpPayloadMember) {
349
+ const mediaType = httpPayloadMember.getMergedTraits().mediaType;
350
+ if (mediaType) {
351
+ return mediaType;
352
+ }
353
+ else if (httpPayloadMember.isStringSchema()) {
354
+ return "text/plain";
355
+ }
356
+ else if (httpPayloadMember.isBlobSchema()) {
357
+ return "application/octet-stream";
358
+ }
359
+ else {
360
+ return defaultContentType;
361
+ }
362
+ }
363
+ else if (!inputSchema.isUnitSchema()) {
364
+ const hasBody = Object.values(members).find((m) => {
365
+ const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m.getMergedTraits();
366
+ const noPrefixHeaders = httpPrefixHeaders === void 0;
367
+ return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;
368
+ });
369
+ if (hasBody) {
370
+ return defaultContentType;
371
+ }
372
+ }
373
+ }
374
+ async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {
375
+ let namespace = defaultNamespace;
376
+ let errorName = errorIdentifier;
377
+ if (errorIdentifier.includes("#")) {
378
+ [namespace, errorName] = errorIdentifier.split("#");
379
+ }
380
+ const errorMetadata = {
381
+ $metadata: metadata,
382
+ $response: response,
383
+ $fault: response.statusCode < 500 ? "client" : "server",
384
+ };
385
+ const registry = schema.TypeRegistry.for(namespace);
386
+ try {
387
+ const errorSchema = getErrorSchema?.(registry, errorName) ?? registry.getSchema(errorIdentifier);
388
+ return { errorSchema, errorMetadata };
389
+ }
390
+ catch (e) {
391
+ dataObject.message = dataObject.message ?? dataObject.Message ?? "UnknownError";
392
+ const synthetic = schema.TypeRegistry.for("smithy.ts.sdk.synthetic." + namespace);
393
+ const baseExceptionSchema = synthetic.getBaseException();
394
+ if (baseExceptionSchema) {
395
+ const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema) ?? Error;
396
+ throw Object.assign(new ErrorCtor({ name: errorName }), errorMetadata, dataObject);
397
+ }
398
+ throw Object.assign(new Error(errorName), errorMetadata, dataObject);
399
+ }
400
+ }
401
+ setQueryCompatError(output, response) {
402
+ const queryErrorHeader = response.headers?.["x-amzn-query-error"];
403
+ if (output !== undefined && queryErrorHeader != null) {
404
+ const [Code, Type] = queryErrorHeader.split(";");
405
+ const entries = Object.entries(output);
406
+ const Error = {
407
+ Code,
408
+ Type,
409
+ };
410
+ Object.assign(output, Error);
411
+ for (const [k, v] of entries) {
412
+ Error[k] = v;
413
+ }
414
+ delete Error.__type;
415
+ output.Error = Error;
416
+ }
417
+ }
418
+ queryCompatOutput(queryCompatErrorData, errorData) {
419
+ if (queryCompatErrorData.Error) {
420
+ errorData.Error = queryCompatErrorData.Error;
421
+ }
422
+ if (queryCompatErrorData.Type) {
423
+ errorData.Type = queryCompatErrorData.Type;
424
+ }
425
+ if (queryCompatErrorData.Code) {
426
+ errorData.Code = queryCompatErrorData.Code;
427
+ }
428
+ }
429
+ }
430
+
431
+ class AwsSmithyRpcV2CborProtocol extends cbor.SmithyRpcV2CborProtocol {
432
+ awsQueryCompatible;
433
+ mixin = new ProtocolLib();
434
+ constructor({ defaultNamespace, awsQueryCompatible, }) {
435
+ super({ defaultNamespace });
436
+ this.awsQueryCompatible = !!awsQueryCompatible;
437
+ }
438
+ async serializeRequest(operationSchema, input, context) {
439
+ const request = await super.serializeRequest(operationSchema, input, context);
440
+ if (this.awsQueryCompatible) {
441
+ request.headers["x-amzn-query-mode"] = "true";
442
+ }
443
+ return request;
444
+ }
445
+ async handleError(operationSchema, context, response, dataObject, metadata) {
446
+ if (this.awsQueryCompatible) {
447
+ this.mixin.setQueryCompatError(dataObject, response);
448
+ }
449
+ const errorName = cbor.loadSmithyRpcV2CborErrorCode(response, dataObject) ?? "Unknown";
450
+ const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorName, this.options.defaultNamespace, response, dataObject, metadata);
451
+ const ns = schema.NormalizedSchema.of(errorSchema);
452
+ const message = dataObject.message ?? dataObject.Message ?? "Unknown";
453
+ const ErrorCtor = schema.TypeRegistry.for(errorSchema.namespace).getErrorCtor(errorSchema) ?? Error;
454
+ const exception = new ErrorCtor(message);
455
+ const output = {};
456
+ for (const [name, member] of ns.structIterator()) {
457
+ output[name] = this.deserializer.readValue(member, dataObject[name]);
458
+ }
459
+ if (this.awsQueryCompatible) {
460
+ this.mixin.queryCompatOutput(dataObject, output);
461
+ }
462
+ throw Object.assign(exception, errorMetadata, {
463
+ $fault: ns.getMergedTraits().error,
464
+ message,
465
+ }, output);
466
+ }
467
+ }
468
+
469
+ const _toStr = (val) => {
470
+ if (val == null) {
471
+ return val;
472
+ }
473
+ if (typeof val === "number" || typeof val === "bigint") {
474
+ const warning = new Error(`Received number ${val} where a string was expected.`);
475
+ warning.name = "Warning";
476
+ console.warn(warning);
477
+ return String(val);
478
+ }
479
+ if (typeof val === "boolean") {
480
+ const warning = new Error(`Received boolean ${val} where a string was expected.`);
481
+ warning.name = "Warning";
482
+ console.warn(warning);
483
+ return String(val);
484
+ }
485
+ return val;
486
+ };
487
+ const _toBool = (val) => {
488
+ if (val == null) {
489
+ return val;
490
+ }
491
+ if (typeof val === "string") {
492
+ const lowercase = val.toLowerCase();
493
+ if (val !== "" && lowercase !== "false" && lowercase !== "true") {
494
+ const warning = new Error(`Received string "${val}" where a boolean was expected.`);
495
+ warning.name = "Warning";
496
+ console.warn(warning);
497
+ }
498
+ return val !== "" && lowercase !== "false";
499
+ }
500
+ return val;
501
+ };
502
+ const _toNum = (val) => {
503
+ if (val == null) {
504
+ return val;
505
+ }
506
+ if (typeof val === "string") {
507
+ const num = Number(val);
508
+ if (num.toString() !== val) {
509
+ const warning = new Error(`Received string "${val}" where a number was expected.`);
510
+ warning.name = "Warning";
511
+ console.warn(warning);
512
+ return val;
513
+ }
514
+ return num;
515
+ }
516
+ return val;
517
+ };
518
+
519
+ class SerdeContextConfig {
520
+ serdeContext;
521
+ setSerdeContext(serdeContext) {
522
+ this.serdeContext = serdeContext;
523
+ }
524
+ }
525
+
526
+ function jsonReviver(key, value, context) {
527
+ if (context?.source) {
528
+ const numericString = context.source;
529
+ if (typeof value === "number") {
530
+ if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER || numericString !== String(value)) {
531
+ const isFractional = numericString.includes(".");
532
+ if (isFractional) {
533
+ return new serde.NumericValue(numericString, "bigDecimal");
534
+ }
535
+ else {
536
+ return BigInt(numericString);
537
+ }
538
+ }
539
+ }
540
+ }
541
+ return value;
542
+ }
543
+
544
+ const collectBodyString = (streamBody, context) => smithyClient.collectBody(streamBody, context).then((body) => (context?.utf8Encoder ?? utilUtf8.toUtf8)(body));
545
+
546
+ const parseJsonBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
547
+ if (encoded.length) {
548
+ try {
549
+ return JSON.parse(encoded);
550
+ }
551
+ catch (e) {
552
+ if (e?.name === "SyntaxError") {
553
+ Object.defineProperty(e, "$responseBodyText", {
554
+ value: encoded,
555
+ });
556
+ }
557
+ throw e;
558
+ }
559
+ }
560
+ return {};
561
+ });
562
+ const parseJsonErrorBody = async (errorBody, context) => {
563
+ const value = await parseJsonBody(errorBody, context);
564
+ value.message = value.message ?? value.Message;
565
+ return value;
566
+ };
567
+ const loadRestJsonErrorCode = (output, data) => {
568
+ const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());
569
+ const sanitizeErrorCode = (rawValue) => {
570
+ let cleanValue = rawValue;
571
+ if (typeof cleanValue === "number") {
572
+ cleanValue = cleanValue.toString();
573
+ }
574
+ if (cleanValue.indexOf(",") >= 0) {
575
+ cleanValue = cleanValue.split(",")[0];
576
+ }
577
+ if (cleanValue.indexOf(":") >= 0) {
578
+ cleanValue = cleanValue.split(":")[0];
579
+ }
580
+ if (cleanValue.indexOf("#") >= 0) {
581
+ cleanValue = cleanValue.split("#")[1];
582
+ }
583
+ return cleanValue;
584
+ };
585
+ const headerKey = findKey(output.headers, "x-amzn-errortype");
586
+ if (headerKey !== undefined) {
587
+ return sanitizeErrorCode(output.headers[headerKey]);
588
+ }
589
+ if (data && typeof data === "object") {
590
+ const codeKey = findKey(data, "code");
591
+ if (codeKey && data[codeKey] !== undefined) {
592
+ return sanitizeErrorCode(data[codeKey]);
593
+ }
594
+ if (data["__type"] !== undefined) {
595
+ return sanitizeErrorCode(data["__type"]);
596
+ }
597
+ }
598
+ };
599
+
600
+ class JsonShapeDeserializer extends SerdeContextConfig {
601
+ settings;
602
+ constructor(settings) {
603
+ super();
604
+ this.settings = settings;
605
+ }
606
+ async read(schema, data) {
607
+ return this._read(schema, typeof data === "string" ? JSON.parse(data, jsonReviver) : await parseJsonBody(data, this.serdeContext));
608
+ }
609
+ readObject(schema, data) {
610
+ return this._read(schema, data);
611
+ }
612
+ _read(schema$1, value) {
613
+ const isObject = value !== null && typeof value === "object";
614
+ const ns = schema.NormalizedSchema.of(schema$1);
615
+ if (ns.isListSchema() && Array.isArray(value)) {
616
+ const listMember = ns.getValueSchema();
617
+ const out = [];
618
+ const sparse = !!ns.getMergedTraits().sparse;
619
+ for (const item of value) {
620
+ if (sparse || item != null) {
621
+ out.push(this._read(listMember, item));
622
+ }
623
+ }
624
+ return out;
625
+ }
626
+ else if (ns.isMapSchema() && isObject) {
627
+ const mapMember = ns.getValueSchema();
628
+ const out = {};
629
+ const sparse = !!ns.getMergedTraits().sparse;
630
+ for (const [_k, _v] of Object.entries(value)) {
631
+ if (sparse || _v != null) {
632
+ out[_k] = this._read(mapMember, _v);
633
+ }
634
+ }
635
+ return out;
636
+ }
637
+ else if (ns.isStructSchema() && isObject) {
638
+ const out = {};
639
+ for (const [memberName, memberSchema] of ns.structIterator()) {
640
+ const fromKey = this.settings.jsonName ? memberSchema.getMergedTraits().jsonName ?? memberName : memberName;
641
+ const deserializedValue = this._read(memberSchema, value[fromKey]);
642
+ if (deserializedValue != null) {
643
+ out[memberName] = deserializedValue;
644
+ }
645
+ }
646
+ return out;
647
+ }
648
+ if (ns.isBlobSchema() && typeof value === "string") {
649
+ return utilBase64.fromBase64(value);
650
+ }
651
+ const mediaType = ns.getMergedTraits().mediaType;
652
+ if (ns.isStringSchema() && typeof value === "string" && mediaType) {
653
+ const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
654
+ if (isJson) {
655
+ return serde.LazyJsonString.from(value);
656
+ }
657
+ }
658
+ if (ns.isTimestampSchema() && value != null) {
659
+ const format = protocols.determineTimestampFormat(ns, this.settings);
660
+ switch (format) {
661
+ case 5:
662
+ return serde.parseRfc3339DateTimeWithOffset(value);
663
+ case 6:
664
+ return serde.parseRfc7231DateTime(value);
665
+ case 7:
666
+ return serde.parseEpochTimestamp(value);
667
+ default:
668
+ console.warn("Missing timestamp format, parsing value with Date constructor:", value);
669
+ return new Date(value);
670
+ }
671
+ }
672
+ if (ns.isBigIntegerSchema() && (typeof value === "number" || typeof value === "string")) {
673
+ return BigInt(value);
674
+ }
675
+ if (ns.isBigDecimalSchema() && value != undefined) {
676
+ if (value instanceof serde.NumericValue) {
677
+ return value;
678
+ }
679
+ const untyped = value;
680
+ if (untyped.type === "bigDecimal" && "string" in untyped) {
681
+ return new serde.NumericValue(untyped.string, untyped.type);
682
+ }
683
+ return new serde.NumericValue(String(value), "bigDecimal");
684
+ }
685
+ if (ns.isNumericSchema() && typeof value === "string") {
686
+ switch (value) {
687
+ case "Infinity":
688
+ return Infinity;
689
+ case "-Infinity":
690
+ return -Infinity;
691
+ case "NaN":
692
+ return NaN;
693
+ }
694
+ }
695
+ if (ns.isDocumentSchema()) {
696
+ if (isObject) {
697
+ const out = Array.isArray(value) ? [] : {};
698
+ for (const [k, v] of Object.entries(value)) {
699
+ if (v instanceof serde.NumericValue) {
700
+ out[k] = v;
701
+ }
702
+ else {
703
+ out[k] = this._read(ns, v);
704
+ }
705
+ }
706
+ return out;
707
+ }
708
+ else {
709
+ return structuredClone(value);
710
+ }
711
+ }
712
+ return value;
713
+ }
714
+ }
715
+
716
+ const NUMERIC_CONTROL_CHAR = String.fromCharCode(925);
717
+ class JsonReplacer {
718
+ values = new Map();
719
+ counter = 0;
720
+ stage = 0;
721
+ createReplacer() {
722
+ if (this.stage === 1) {
723
+ throw new Error("@aws-sdk/core/protocols - JsonReplacer already created.");
724
+ }
725
+ if (this.stage === 2) {
726
+ throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");
727
+ }
728
+ this.stage = 1;
729
+ return (key, value) => {
730
+ if (value instanceof serde.NumericValue) {
731
+ const v = `${NUMERIC_CONTROL_CHAR + "nv" + this.counter++}_` + value.string;
732
+ this.values.set(`"${v}"`, value.string);
733
+ return v;
734
+ }
735
+ if (typeof value === "bigint") {
736
+ const s = value.toString();
737
+ const v = `${NUMERIC_CONTROL_CHAR + "b" + this.counter++}_` + s;
738
+ this.values.set(`"${v}"`, s);
739
+ return v;
740
+ }
741
+ return value;
742
+ };
743
+ }
744
+ replaceInJson(json) {
745
+ if (this.stage === 0) {
746
+ throw new Error("@aws-sdk/core/protocols - JsonReplacer not created yet.");
747
+ }
748
+ if (this.stage === 2) {
749
+ throw new Error("@aws-sdk/core/protocols - JsonReplacer exhausted.");
750
+ }
751
+ this.stage = 2;
752
+ if (this.counter === 0) {
753
+ return json;
754
+ }
755
+ for (const [key, value] of this.values) {
756
+ json = json.replace(key, value);
757
+ }
758
+ return json;
759
+ }
760
+ }
761
+
762
+ class JsonShapeSerializer extends SerdeContextConfig {
763
+ settings;
764
+ buffer;
765
+ rootSchema;
766
+ constructor(settings) {
767
+ super();
768
+ this.settings = settings;
769
+ }
770
+ write(schema$1, value) {
771
+ this.rootSchema = schema.NormalizedSchema.of(schema$1);
772
+ this.buffer = this._write(this.rootSchema, value);
773
+ }
774
+ writeDiscriminatedDocument(schema$1, value) {
775
+ this.write(schema$1, value);
776
+ if (typeof this.buffer === "object") {
777
+ this.buffer.__type = schema.NormalizedSchema.of(schema$1).getName(true);
778
+ }
779
+ }
780
+ flush() {
781
+ const { rootSchema } = this;
782
+ this.rootSchema = undefined;
783
+ if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {
784
+ const replacer = new JsonReplacer();
785
+ return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));
786
+ }
787
+ return this.buffer;
788
+ }
789
+ _write(schema$1, value, container) {
790
+ const isObject = value !== null && typeof value === "object";
791
+ const ns = schema.NormalizedSchema.of(schema$1);
792
+ if (ns.isListSchema() && Array.isArray(value)) {
793
+ const listMember = ns.getValueSchema();
794
+ const out = [];
795
+ const sparse = !!ns.getMergedTraits().sparse;
796
+ for (const item of value) {
797
+ if (sparse || item != null) {
798
+ out.push(this._write(listMember, item));
799
+ }
800
+ }
801
+ return out;
802
+ }
803
+ else if (ns.isMapSchema() && isObject) {
804
+ const mapMember = ns.getValueSchema();
805
+ const out = {};
806
+ const sparse = !!ns.getMergedTraits().sparse;
807
+ for (const [_k, _v] of Object.entries(value)) {
808
+ if (sparse || _v != null) {
809
+ out[_k] = this._write(mapMember, _v);
810
+ }
811
+ }
812
+ return out;
813
+ }
814
+ else if (ns.isStructSchema() && isObject) {
815
+ const out = {};
816
+ for (const [memberName, memberSchema] of ns.structIterator()) {
817
+ const targetKey = this.settings.jsonName ? memberSchema.getMergedTraits().jsonName ?? memberName : memberName;
818
+ const serializableValue = this._write(memberSchema, value[memberName], ns);
819
+ if (serializableValue !== undefined) {
820
+ out[targetKey] = serializableValue;
821
+ }
822
+ }
823
+ return out;
824
+ }
825
+ if (value === null && container?.isStructSchema()) {
826
+ return void 0;
827
+ }
828
+ if ((ns.isBlobSchema() && (value instanceof Uint8Array || typeof value === "string")) ||
829
+ (ns.isDocumentSchema() && value instanceof Uint8Array)) {
830
+ if (ns === this.rootSchema) {
831
+ return value;
832
+ }
833
+ if (!this.serdeContext?.base64Encoder) {
834
+ return utilBase64.toBase64(value);
835
+ }
836
+ return this.serdeContext?.base64Encoder(value);
837
+ }
838
+ if ((ns.isTimestampSchema() || ns.isDocumentSchema()) && value instanceof Date) {
839
+ const format = protocols.determineTimestampFormat(ns, this.settings);
840
+ switch (format) {
841
+ case 5:
842
+ return value.toISOString().replace(".000Z", "Z");
843
+ case 6:
844
+ return serde.dateToUtcString(value);
845
+ case 7:
846
+ return value.getTime() / 1000;
847
+ default:
848
+ console.warn("Missing timestamp format, using epoch seconds", value);
849
+ return value.getTime() / 1000;
850
+ }
851
+ }
852
+ if (ns.isNumericSchema() && typeof value === "number") {
853
+ if (Math.abs(value) === Infinity || isNaN(value)) {
854
+ return String(value);
855
+ }
856
+ }
857
+ if (ns.isStringSchema()) {
858
+ if (typeof value === "undefined" && ns.isIdempotencyToken()) {
859
+ return serde.generateIdempotencyToken();
860
+ }
861
+ const mediaType = ns.getMergedTraits().mediaType;
862
+ if (value != null && mediaType) {
863
+ const isJson = mediaType === "application/json" || mediaType.endsWith("+json");
864
+ if (isJson) {
865
+ return serde.LazyJsonString.from(value);
866
+ }
867
+ }
868
+ }
869
+ if (ns.isDocumentSchema()) {
870
+ if (isObject) {
871
+ const out = Array.isArray(value) ? [] : {};
872
+ for (const [k, v] of Object.entries(value)) {
873
+ if (v instanceof serde.NumericValue) {
874
+ out[k] = v;
875
+ }
876
+ else {
877
+ out[k] = this._write(ns, v);
878
+ }
879
+ }
880
+ return out;
881
+ }
882
+ else {
883
+ return structuredClone(value);
884
+ }
885
+ }
886
+ return value;
887
+ }
888
+ }
889
+
890
+ class JsonCodec extends SerdeContextConfig {
891
+ settings;
892
+ constructor(settings) {
893
+ super();
894
+ this.settings = settings;
895
+ }
896
+ createSerializer() {
897
+ const serializer = new JsonShapeSerializer(this.settings);
898
+ serializer.setSerdeContext(this.serdeContext);
899
+ return serializer;
900
+ }
901
+ createDeserializer() {
902
+ const deserializer = new JsonShapeDeserializer(this.settings);
903
+ deserializer.setSerdeContext(this.serdeContext);
904
+ return deserializer;
905
+ }
906
+ }
907
+
908
+ class AwsJsonRpcProtocol extends protocols.RpcProtocol {
909
+ serializer;
910
+ deserializer;
911
+ serviceTarget;
912
+ codec;
913
+ mixin = new ProtocolLib();
914
+ awsQueryCompatible;
915
+ constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, }) {
916
+ super({
917
+ defaultNamespace,
918
+ });
919
+ this.serviceTarget = serviceTarget;
920
+ this.codec = new JsonCodec({
921
+ timestampFormat: {
922
+ useTrait: true,
923
+ default: 7,
924
+ },
925
+ jsonName: false,
926
+ });
927
+ this.serializer = this.codec.createSerializer();
928
+ this.deserializer = this.codec.createDeserializer();
929
+ this.awsQueryCompatible = !!awsQueryCompatible;
930
+ }
931
+ async serializeRequest(operationSchema, input, context) {
932
+ const request = await super.serializeRequest(operationSchema, input, context);
933
+ if (!request.path.endsWith("/")) {
934
+ request.path += "/";
935
+ }
936
+ Object.assign(request.headers, {
937
+ "content-type": `application/x-amz-json-${this.getJsonRpcVersion()}`,
938
+ "x-amz-target": `${this.serviceTarget}.${schema.NormalizedSchema.of(operationSchema).getName()}`,
939
+ });
940
+ if (this.awsQueryCompatible) {
941
+ request.headers["x-amzn-query-mode"] = "true";
942
+ }
943
+ if (schema.deref(operationSchema.input) === "unit" || !request.body) {
944
+ request.body = "{}";
945
+ }
946
+ return request;
947
+ }
948
+ getPayloadCodec() {
949
+ return this.codec;
950
+ }
951
+ async handleError(operationSchema, context, response, dataObject, metadata) {
952
+ if (this.awsQueryCompatible) {
953
+ this.mixin.setQueryCompatError(dataObject, response);
954
+ }
955
+ const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? "Unknown";
956
+ const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);
957
+ const ns = schema.NormalizedSchema.of(errorSchema);
958
+ const message = dataObject.message ?? dataObject.Message ?? "Unknown";
959
+ const ErrorCtor = schema.TypeRegistry.for(errorSchema.namespace).getErrorCtor(errorSchema) ?? Error;
960
+ const exception = new ErrorCtor(message);
961
+ const output = {};
962
+ for (const [name, member] of ns.structIterator()) {
963
+ const target = member.getMergedTraits().jsonName ?? name;
964
+ output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);
965
+ }
966
+ if (this.awsQueryCompatible) {
967
+ this.mixin.queryCompatOutput(dataObject, output);
968
+ }
969
+ throw Object.assign(exception, errorMetadata, {
970
+ $fault: ns.getMergedTraits().error,
971
+ message,
972
+ }, output);
973
+ }
974
+ }
975
+
976
+ class AwsJson1_0Protocol extends AwsJsonRpcProtocol {
977
+ constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, }) {
978
+ super({
979
+ defaultNamespace,
980
+ serviceTarget,
981
+ awsQueryCompatible,
982
+ });
983
+ }
984
+ getShapeId() {
985
+ return "aws.protocols#awsJson1_0";
986
+ }
987
+ getJsonRpcVersion() {
988
+ return "1.0";
989
+ }
990
+ getDefaultContentType() {
991
+ return "application/x-amz-json-1.0";
992
+ }
993
+ }
994
+
995
+ class AwsJson1_1Protocol extends AwsJsonRpcProtocol {
996
+ constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, }) {
997
+ super({
998
+ defaultNamespace,
999
+ serviceTarget,
1000
+ awsQueryCompatible,
1001
+ });
1002
+ }
1003
+ getShapeId() {
1004
+ return "aws.protocols#awsJson1_1";
1005
+ }
1006
+ getJsonRpcVersion() {
1007
+ return "1.1";
1008
+ }
1009
+ getDefaultContentType() {
1010
+ return "application/x-amz-json-1.1";
1011
+ }
1012
+ }
1013
+
1014
+ class AwsRestJsonProtocol extends protocols.HttpBindingProtocol {
1015
+ serializer;
1016
+ deserializer;
1017
+ codec;
1018
+ mixin = new ProtocolLib();
1019
+ constructor({ defaultNamespace }) {
1020
+ super({
1021
+ defaultNamespace,
1022
+ });
1023
+ const settings = {
1024
+ timestampFormat: {
1025
+ useTrait: true,
1026
+ default: 7,
1027
+ },
1028
+ httpBindings: true,
1029
+ jsonName: true,
1030
+ };
1031
+ this.codec = new JsonCodec(settings);
1032
+ this.serializer = new protocols.HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);
1033
+ this.deserializer = new protocols.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);
1034
+ }
1035
+ getShapeId() {
1036
+ return "aws.protocols#restJson1";
1037
+ }
1038
+ getPayloadCodec() {
1039
+ return this.codec;
1040
+ }
1041
+ setSerdeContext(serdeContext) {
1042
+ this.codec.setSerdeContext(serdeContext);
1043
+ super.setSerdeContext(serdeContext);
1044
+ }
1045
+ async serializeRequest(operationSchema, input, context) {
1046
+ const request = await super.serializeRequest(operationSchema, input, context);
1047
+ const inputSchema = schema.NormalizedSchema.of(operationSchema.input);
1048
+ if (!request.headers["content-type"]) {
1049
+ const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);
1050
+ if (contentType) {
1051
+ request.headers["content-type"] = contentType;
1052
+ }
1053
+ }
1054
+ if (request.headers["content-type"] && !request.body) {
1055
+ request.body = "{}";
1056
+ }
1057
+ return request;
1058
+ }
1059
+ async handleError(operationSchema, context, response, dataObject, metadata) {
1060
+ const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? "Unknown";
1061
+ const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);
1062
+ const ns = schema.NormalizedSchema.of(errorSchema);
1063
+ const message = dataObject.message ?? dataObject.Message ?? "Unknown";
1064
+ const ErrorCtor = schema.TypeRegistry.for(errorSchema.namespace).getErrorCtor(errorSchema) ?? Error;
1065
+ const exception = new ErrorCtor(message);
1066
+ await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
1067
+ const output = {};
1068
+ for (const [name, member] of ns.structIterator()) {
1069
+ const target = member.getMergedTraits().jsonName ?? name;
1070
+ output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);
1071
+ }
1072
+ throw Object.assign(exception, errorMetadata, {
1073
+ $fault: ns.getMergedTraits().error,
1074
+ message,
1075
+ }, output);
1076
+ }
1077
+ getDefaultContentType() {
1078
+ return "application/json";
1079
+ }
1080
+ }
1081
+
1082
+ const awsExpectUnion = (value) => {
1083
+ if (value == null) {
1084
+ return undefined;
1085
+ }
1086
+ if (typeof value === "object" && "__type" in value) {
1087
+ delete value.__type;
1088
+ }
1089
+ return smithyClient.expectUnion(value);
1090
+ };
1091
+
1092
+ class XmlShapeDeserializer extends SerdeContextConfig {
1093
+ settings;
1094
+ stringDeserializer;
1095
+ constructor(settings) {
1096
+ super();
1097
+ this.settings = settings;
1098
+ this.stringDeserializer = new protocols.FromStringShapeDeserializer(settings);
1099
+ }
1100
+ setSerdeContext(serdeContext) {
1101
+ this.serdeContext = serdeContext;
1102
+ this.stringDeserializer.setSerdeContext(serdeContext);
1103
+ }
1104
+ read(schema$1, bytes, key) {
1105
+ const ns = schema.NormalizedSchema.of(schema$1);
1106
+ const memberSchemas = ns.getMemberSchemas();
1107
+ const isEventPayload = ns.isStructSchema() &&
1108
+ ns.isMemberSchema() &&
1109
+ !!Object.values(memberSchemas).find((memberNs) => {
1110
+ return !!memberNs.getMemberTraits().eventPayload;
1111
+ });
1112
+ if (isEventPayload) {
1113
+ const output = {};
1114
+ const memberName = Object.keys(memberSchemas)[0];
1115
+ const eventMemberSchema = memberSchemas[memberName];
1116
+ if (eventMemberSchema.isBlobSchema()) {
1117
+ output[memberName] = bytes;
1118
+ }
1119
+ else {
1120
+ output[memberName] = this.read(memberSchemas[memberName], bytes);
1121
+ }
1122
+ return output;
1123
+ }
1124
+ const xmlString = (this.serdeContext?.utf8Encoder ?? utilUtf8.toUtf8)(bytes);
1125
+ const parsedObject = this.parseXml(xmlString);
1126
+ return this.readSchema(schema$1, key ? parsedObject[key] : parsedObject);
1127
+ }
1128
+ readSchema(_schema, value) {
1129
+ const ns = schema.NormalizedSchema.of(_schema);
1130
+ if (ns.isUnitSchema()) {
1131
+ return;
1132
+ }
1133
+ const traits = ns.getMergedTraits();
1134
+ if (ns.isListSchema() && !Array.isArray(value)) {
1135
+ return this.readSchema(ns, [value]);
1136
+ }
1137
+ if (value == null) {
1138
+ return value;
1139
+ }
1140
+ if (typeof value === "object") {
1141
+ const sparse = !!traits.sparse;
1142
+ const flat = !!traits.xmlFlattened;
1143
+ if (ns.isListSchema()) {
1144
+ const listValue = ns.getValueSchema();
1145
+ const buffer = [];
1146
+ const sourceKey = listValue.getMergedTraits().xmlName ?? "member";
1147
+ const source = flat ? value : (value[0] ?? value)[sourceKey];
1148
+ const sourceArray = Array.isArray(source) ? source : [source];
1149
+ for (const v of sourceArray) {
1150
+ if (v != null || sparse) {
1151
+ buffer.push(this.readSchema(listValue, v));
1152
+ }
1153
+ }
1154
+ return buffer;
1155
+ }
1156
+ const buffer = {};
1157
+ if (ns.isMapSchema()) {
1158
+ const keyNs = ns.getKeySchema();
1159
+ const memberNs = ns.getValueSchema();
1160
+ let entries;
1161
+ if (flat) {
1162
+ entries = Array.isArray(value) ? value : [value];
1163
+ }
1164
+ else {
1165
+ entries = Array.isArray(value.entry) ? value.entry : [value.entry];
1166
+ }
1167
+ const keyProperty = keyNs.getMergedTraits().xmlName ?? "key";
1168
+ const valueProperty = memberNs.getMergedTraits().xmlName ?? "value";
1169
+ for (const entry of entries) {
1170
+ const key = entry[keyProperty];
1171
+ const value = entry[valueProperty];
1172
+ if (value != null || sparse) {
1173
+ buffer[key] = this.readSchema(memberNs, value);
1174
+ }
1175
+ }
1176
+ return buffer;
1177
+ }
1178
+ if (ns.isStructSchema()) {
1179
+ for (const [memberName, memberSchema] of ns.structIterator()) {
1180
+ const memberTraits = memberSchema.getMergedTraits();
1181
+ const xmlObjectKey = !memberTraits.httpPayload
1182
+ ? memberSchema.getMemberTraits().xmlName ?? memberName
1183
+ : memberTraits.xmlName ?? memberSchema.getName();
1184
+ if (value[xmlObjectKey] != null) {
1185
+ buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);
1186
+ }
1187
+ }
1188
+ return buffer;
1189
+ }
1190
+ if (ns.isDocumentSchema()) {
1191
+ return value;
1192
+ }
1193
+ throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);
1194
+ }
1195
+ if (ns.isListSchema()) {
1196
+ return [];
1197
+ }
1198
+ if (ns.isMapSchema() || ns.isStructSchema()) {
1199
+ return {};
1200
+ }
1201
+ return this.stringDeserializer.read(ns, value);
1202
+ }
1203
+ parseXml(xml) {
1204
+ if (xml.length) {
1205
+ let parsedObj;
1206
+ try {
1207
+ parsedObj = xmlBuilder.parseXML(xml);
1208
+ }
1209
+ catch (e) {
1210
+ if (e && typeof e === "object") {
1211
+ Object.defineProperty(e, "$responseBodyText", {
1212
+ value: xml,
1213
+ });
1214
+ }
1215
+ throw e;
1216
+ }
1217
+ const textNodeName = "#text";
1218
+ const key = Object.keys(parsedObj)[0];
1219
+ const parsedObjToReturn = parsedObj[key];
1220
+ if (parsedObjToReturn[textNodeName]) {
1221
+ parsedObjToReturn[key] = parsedObjToReturn[textNodeName];
1222
+ delete parsedObjToReturn[textNodeName];
1223
+ }
1224
+ return smithyClient.getValueFromTextNode(parsedObjToReturn);
1225
+ }
1226
+ return {};
1227
+ }
1228
+ }
1229
+
1230
+ class QueryShapeSerializer extends SerdeContextConfig {
1231
+ settings;
1232
+ buffer;
1233
+ constructor(settings) {
1234
+ super();
1235
+ this.settings = settings;
1236
+ }
1237
+ write(schema$1, value, prefix = "") {
1238
+ if (this.buffer === undefined) {
1239
+ this.buffer = "";
1240
+ }
1241
+ const ns = schema.NormalizedSchema.of(schema$1);
1242
+ if (prefix && !prefix.endsWith(".")) {
1243
+ prefix += ".";
1244
+ }
1245
+ if (ns.isBlobSchema()) {
1246
+ if (typeof value === "string" || value instanceof Uint8Array) {
1247
+ this.writeKey(prefix);
1248
+ this.writeValue((this.serdeContext?.base64Encoder ?? utilBase64.toBase64)(value));
1249
+ }
1250
+ }
1251
+ else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {
1252
+ if (value != null) {
1253
+ this.writeKey(prefix);
1254
+ this.writeValue(String(value));
1255
+ }
1256
+ else if (ns.isIdempotencyToken()) {
1257
+ this.writeKey(prefix);
1258
+ this.writeValue(serde.generateIdempotencyToken());
1259
+ }
1260
+ }
1261
+ else if (ns.isBigIntegerSchema()) {
1262
+ if (value != null) {
1263
+ this.writeKey(prefix);
1264
+ this.writeValue(String(value));
1265
+ }
1266
+ }
1267
+ else if (ns.isBigDecimalSchema()) {
1268
+ if (value != null) {
1269
+ this.writeKey(prefix);
1270
+ this.writeValue(value instanceof serde.NumericValue ? value.string : String(value));
1271
+ }
1272
+ }
1273
+ else if (ns.isTimestampSchema()) {
1274
+ if (value instanceof Date) {
1275
+ this.writeKey(prefix);
1276
+ const format = protocols.determineTimestampFormat(ns, this.settings);
1277
+ switch (format) {
1278
+ case 5:
1279
+ this.writeValue(value.toISOString().replace(".000Z", "Z"));
1280
+ break;
1281
+ case 6:
1282
+ this.writeValue(smithyClient.dateToUtcString(value));
1283
+ break;
1284
+ case 7:
1285
+ this.writeValue(String(value.getTime() / 1000));
1286
+ break;
1287
+ }
1288
+ }
1289
+ }
1290
+ else if (ns.isDocumentSchema()) {
1291
+ throw new Error(`@aws-sdk/core/protocols - QuerySerializer unsupported document type ${ns.getName(true)}`);
1292
+ }
1293
+ else if (ns.isListSchema()) {
1294
+ if (Array.isArray(value)) {
1295
+ if (value.length === 0) {
1296
+ if (this.settings.serializeEmptyLists) {
1297
+ this.writeKey(prefix);
1298
+ this.writeValue("");
1299
+ }
1300
+ }
1301
+ else {
1302
+ const member = ns.getValueSchema();
1303
+ const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;
1304
+ let i = 1;
1305
+ for (const item of value) {
1306
+ if (item == null) {
1307
+ continue;
1308
+ }
1309
+ const suffix = this.getKey("member", member.getMergedTraits().xmlName);
1310
+ const key = flat ? `${prefix}${i}` : `${prefix}${suffix}.${i}`;
1311
+ this.write(member, item, key);
1312
+ ++i;
1313
+ }
1314
+ }
1315
+ }
1316
+ }
1317
+ else if (ns.isMapSchema()) {
1318
+ if (value && typeof value === "object") {
1319
+ const keySchema = ns.getKeySchema();
1320
+ const memberSchema = ns.getValueSchema();
1321
+ const flat = ns.getMergedTraits().xmlFlattened;
1322
+ let i = 1;
1323
+ for (const [k, v] of Object.entries(value)) {
1324
+ if (v == null) {
1325
+ continue;
1326
+ }
1327
+ const keySuffix = this.getKey("key", keySchema.getMergedTraits().xmlName);
1328
+ const key = flat ? `${prefix}${i}.${keySuffix}` : `${prefix}entry.${i}.${keySuffix}`;
1329
+ const valueSuffix = this.getKey("value", memberSchema.getMergedTraits().xmlName);
1330
+ const valueKey = flat ? `${prefix}${i}.${valueSuffix}` : `${prefix}entry.${i}.${valueSuffix}`;
1331
+ this.write(keySchema, k, key);
1332
+ this.write(memberSchema, v, valueKey);
1333
+ ++i;
1334
+ }
1335
+ }
1336
+ }
1337
+ else if (ns.isStructSchema()) {
1338
+ if (value && typeof value === "object") {
1339
+ for (const [memberName, member] of ns.structIterator()) {
1340
+ if (value[memberName] == null && !member.isIdempotencyToken()) {
1341
+ continue;
1342
+ }
1343
+ const suffix = this.getKey(memberName, member.getMergedTraits().xmlName);
1344
+ const key = `${prefix}${suffix}`;
1345
+ this.write(member, value[memberName], key);
1346
+ }
1347
+ }
1348
+ }
1349
+ else if (ns.isUnitSchema()) ;
1350
+ else {
1351
+ throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);
1352
+ }
1353
+ }
1354
+ flush() {
1355
+ if (this.buffer === undefined) {
1356
+ throw new Error("@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.");
1357
+ }
1358
+ const str = this.buffer;
1359
+ delete this.buffer;
1360
+ return str;
1361
+ }
1362
+ getKey(memberName, xmlName) {
1363
+ const key = xmlName ?? memberName;
1364
+ if (this.settings.capitalizeKeys) {
1365
+ return key[0].toUpperCase() + key.slice(1);
1366
+ }
1367
+ return key;
1368
+ }
1369
+ writeKey(key) {
1370
+ if (key.endsWith(".")) {
1371
+ key = key.slice(0, key.length - 1);
1372
+ }
1373
+ this.buffer += `&${protocols.extendedEncodeURIComponent(key)}=`;
1374
+ }
1375
+ writeValue(value) {
1376
+ this.buffer += protocols.extendedEncodeURIComponent(value);
1377
+ }
1378
+ }
1379
+
1380
+ class AwsQueryProtocol extends protocols.RpcProtocol {
1381
+ options;
1382
+ serializer;
1383
+ deserializer;
1384
+ mixin = new ProtocolLib();
1385
+ constructor(options) {
1386
+ super({
1387
+ defaultNamespace: options.defaultNamespace,
1388
+ });
1389
+ this.options = options;
1390
+ const settings = {
1391
+ timestampFormat: {
1392
+ useTrait: true,
1393
+ default: 5,
1394
+ },
1395
+ httpBindings: false,
1396
+ xmlNamespace: options.xmlNamespace,
1397
+ serviceNamespace: options.defaultNamespace,
1398
+ serializeEmptyLists: true,
1399
+ };
1400
+ this.serializer = new QueryShapeSerializer(settings);
1401
+ this.deserializer = new XmlShapeDeserializer(settings);
1402
+ }
1403
+ getShapeId() {
1404
+ return "aws.protocols#awsQuery";
1405
+ }
1406
+ setSerdeContext(serdeContext) {
1407
+ this.serializer.setSerdeContext(serdeContext);
1408
+ this.deserializer.setSerdeContext(serdeContext);
1409
+ }
1410
+ getPayloadCodec() {
1411
+ throw new Error("AWSQuery protocol has no payload codec.");
1412
+ }
1413
+ async serializeRequest(operationSchema, input, context) {
1414
+ const request = await super.serializeRequest(operationSchema, input, context);
1415
+ if (!request.path.endsWith("/")) {
1416
+ request.path += "/";
1417
+ }
1418
+ Object.assign(request.headers, {
1419
+ "content-type": `application/x-www-form-urlencoded`,
1420
+ });
1421
+ if (schema.deref(operationSchema.input) === "unit" || !request.body) {
1422
+ request.body = "";
1423
+ }
1424
+ const action = operationSchema.name.split("#")[1] ?? operationSchema.name;
1425
+ request.body = `Action=${action}&Version=${this.options.version}` + request.body;
1426
+ if (request.body.endsWith("&")) {
1427
+ request.body = request.body.slice(-1);
1428
+ }
1429
+ return request;
1430
+ }
1431
+ async deserializeResponse(operationSchema, context, response) {
1432
+ const deserializer = this.deserializer;
1433
+ const ns = schema.NormalizedSchema.of(operationSchema.output);
1434
+ const dataObject = {};
1435
+ if (response.statusCode >= 300) {
1436
+ const bytes = await protocols.collectBody(response.body, context);
1437
+ if (bytes.byteLength > 0) {
1438
+ Object.assign(dataObject, await deserializer.read(15, bytes));
1439
+ }
1440
+ await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));
1441
+ }
1442
+ for (const header in response.headers) {
1443
+ const value = response.headers[header];
1444
+ delete response.headers[header];
1445
+ response.headers[header.toLowerCase()] = value;
1446
+ }
1447
+ const shortName = operationSchema.name.split("#")[1] ?? operationSchema.name;
1448
+ const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + "Result" : undefined;
1449
+ const bytes = await protocols.collectBody(response.body, context);
1450
+ if (bytes.byteLength > 0) {
1451
+ Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));
1452
+ }
1453
+ const output = {
1454
+ $metadata: this.deserializeMetadata(response),
1455
+ ...dataObject,
1456
+ };
1457
+ return output;
1458
+ }
1459
+ useNestedResult() {
1460
+ return true;
1461
+ }
1462
+ async handleError(operationSchema, context, response, dataObject, metadata) {
1463
+ const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? "Unknown";
1464
+ const errorData = this.loadQueryError(dataObject);
1465
+ const message = this.loadQueryErrorMessage(dataObject);
1466
+ errorData.message = message;
1467
+ errorData.Error = {
1468
+ Type: errorData.Type,
1469
+ Code: errorData.Code,
1470
+ Message: message,
1471
+ };
1472
+ const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, (registry, errorName) => registry.find((schema$1) => schema.NormalizedSchema.of(schema$1).getMergedTraits().awsQueryError?.[0] === errorName));
1473
+ const ns = schema.NormalizedSchema.of(errorSchema);
1474
+ const ErrorCtor = schema.TypeRegistry.for(errorSchema.namespace).getErrorCtor(errorSchema) ?? Error;
1475
+ const exception = new ErrorCtor(message);
1476
+ const output = {
1477
+ Error: errorData.Error,
1478
+ };
1479
+ for (const [name, member] of ns.structIterator()) {
1480
+ const target = member.getMergedTraits().xmlName ?? name;
1481
+ const value = errorData[target] ?? dataObject[target];
1482
+ output[name] = this.deserializer.readSchema(member, value);
1483
+ }
1484
+ throw Object.assign(exception, errorMetadata, {
1485
+ $fault: ns.getMergedTraits().error,
1486
+ message,
1487
+ }, output);
1488
+ }
1489
+ loadQueryErrorCode(output, data) {
1490
+ const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;
1491
+ if (code !== undefined) {
1492
+ return code;
1493
+ }
1494
+ if (output.statusCode == 404) {
1495
+ return "NotFound";
1496
+ }
1497
+ }
1498
+ loadQueryError(data) {
1499
+ return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;
1500
+ }
1501
+ loadQueryErrorMessage(data) {
1502
+ const errorData = this.loadQueryError(data);
1503
+ return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? "Unknown";
1504
+ }
1505
+ getDefaultContentType() {
1506
+ return "application/x-www-form-urlencoded";
1507
+ }
1508
+ }
1509
+
1510
+ class AwsEc2QueryProtocol extends AwsQueryProtocol {
1511
+ options;
1512
+ constructor(options) {
1513
+ super(options);
1514
+ this.options = options;
1515
+ const ec2Settings = {
1516
+ capitalizeKeys: true,
1517
+ flattenLists: true,
1518
+ serializeEmptyLists: false,
1519
+ };
1520
+ Object.assign(this.serializer.settings, ec2Settings);
1521
+ }
1522
+ useNestedResult() {
1523
+ return false;
1524
+ }
1525
+ }
1526
+
1527
+ const parseXmlBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {
1528
+ if (encoded.length) {
1529
+ let parsedObj;
1530
+ try {
1531
+ parsedObj = xmlBuilder.parseXML(encoded);
1532
+ }
1533
+ catch (e) {
1534
+ if (e && typeof e === "object") {
1535
+ Object.defineProperty(e, "$responseBodyText", {
1536
+ value: encoded,
1537
+ });
1538
+ }
1539
+ throw e;
1540
+ }
1541
+ const textNodeName = "#text";
1542
+ const key = Object.keys(parsedObj)[0];
1543
+ const parsedObjToReturn = parsedObj[key];
1544
+ if (parsedObjToReturn[textNodeName]) {
1545
+ parsedObjToReturn[key] = parsedObjToReturn[textNodeName];
1546
+ delete parsedObjToReturn[textNodeName];
1547
+ }
1548
+ return smithyClient.getValueFromTextNode(parsedObjToReturn);
1549
+ }
1550
+ return {};
1551
+ });
1552
+ const parseXmlErrorBody = async (errorBody, context) => {
1553
+ const value = await parseXmlBody(errorBody, context);
1554
+ if (value.Error) {
1555
+ value.Error.message = value.Error.message ?? value.Error.Message;
1556
+ }
1557
+ return value;
1558
+ };
1559
+ const loadRestXmlErrorCode = (output, data) => {
1560
+ if (data?.Error?.Code !== undefined) {
1561
+ return data.Error.Code;
1562
+ }
1563
+ if (data?.Code !== undefined) {
1564
+ return data.Code;
1565
+ }
1566
+ if (output.statusCode == 404) {
1567
+ return "NotFound";
1568
+ }
1569
+ };
1570
+
1571
+ class XmlShapeSerializer extends SerdeContextConfig {
1572
+ settings;
1573
+ stringBuffer;
1574
+ byteBuffer;
1575
+ buffer;
1576
+ constructor(settings) {
1577
+ super();
1578
+ this.settings = settings;
1579
+ }
1580
+ write(schema$1, value) {
1581
+ const ns = schema.NormalizedSchema.of(schema$1);
1582
+ if (ns.isStringSchema() && typeof value === "string") {
1583
+ this.stringBuffer = value;
1584
+ }
1585
+ else if (ns.isBlobSchema()) {
1586
+ this.byteBuffer =
1587
+ "byteLength" in value
1588
+ ? value
1589
+ : (this.serdeContext?.base64Decoder ?? utilBase64.fromBase64)(value);
1590
+ }
1591
+ else {
1592
+ this.buffer = this.writeStruct(ns, value, undefined);
1593
+ const traits = ns.getMergedTraits();
1594
+ if (traits.httpPayload && !traits.xmlName) {
1595
+ this.buffer.withName(ns.getName());
1596
+ }
1597
+ }
1598
+ }
1599
+ flush() {
1600
+ if (this.byteBuffer !== undefined) {
1601
+ const bytes = this.byteBuffer;
1602
+ delete this.byteBuffer;
1603
+ return bytes;
1604
+ }
1605
+ if (this.stringBuffer !== undefined) {
1606
+ const str = this.stringBuffer;
1607
+ delete this.stringBuffer;
1608
+ return str;
1609
+ }
1610
+ const buffer = this.buffer;
1611
+ if (this.settings.xmlNamespace) {
1612
+ if (!buffer?.attributes?.["xmlns"]) {
1613
+ buffer.addAttribute("xmlns", this.settings.xmlNamespace);
1614
+ }
1615
+ }
1616
+ delete this.buffer;
1617
+ return buffer.toString();
1618
+ }
1619
+ writeStruct(ns, value, parentXmlns) {
1620
+ const traits = ns.getMergedTraits();
1621
+ const name = ns.isMemberSchema() && !traits.httpPayload
1622
+ ? ns.getMemberTraits().xmlName ?? ns.getMemberName()
1623
+ : traits.xmlName ?? ns.getName();
1624
+ if (!name || !ns.isStructSchema()) {
1625
+ throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${ns.getName(true)}.`);
1626
+ }
1627
+ const structXmlNode = xmlBuilder.XmlNode.of(name);
1628
+ const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);
1629
+ for (const [memberName, memberSchema] of ns.structIterator()) {
1630
+ const val = value[memberName];
1631
+ if (val != null || memberSchema.isIdempotencyToken()) {
1632
+ if (memberSchema.getMergedTraits().xmlAttribute) {
1633
+ structXmlNode.addAttribute(memberSchema.getMergedTraits().xmlName ?? memberName, this.writeSimple(memberSchema, val));
1634
+ continue;
1635
+ }
1636
+ if (memberSchema.isListSchema()) {
1637
+ this.writeList(memberSchema, val, structXmlNode, xmlns);
1638
+ }
1639
+ else if (memberSchema.isMapSchema()) {
1640
+ this.writeMap(memberSchema, val, structXmlNode, xmlns);
1641
+ }
1642
+ else if (memberSchema.isStructSchema()) {
1643
+ structXmlNode.addChildNode(this.writeStruct(memberSchema, val, xmlns));
1644
+ }
1645
+ else {
1646
+ const memberNode = xmlBuilder.XmlNode.of(memberSchema.getMergedTraits().xmlName ?? memberSchema.getMemberName());
1647
+ this.writeSimpleInto(memberSchema, val, memberNode, xmlns);
1648
+ structXmlNode.addChildNode(memberNode);
1649
+ }
1650
+ }
1651
+ }
1652
+ if (xmlns) {
1653
+ structXmlNode.addAttribute(xmlnsAttr, xmlns);
1654
+ }
1655
+ return structXmlNode;
1656
+ }
1657
+ writeList(listMember, array, container, parentXmlns) {
1658
+ if (!listMember.isMemberSchema()) {
1659
+ throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${listMember.getName(true)}`);
1660
+ }
1661
+ const listTraits = listMember.getMergedTraits();
1662
+ const listValueSchema = listMember.getValueSchema();
1663
+ const listValueTraits = listValueSchema.getMergedTraits();
1664
+ const sparse = !!listValueTraits.sparse;
1665
+ const flat = !!listTraits.xmlFlattened;
1666
+ const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(listMember, parentXmlns);
1667
+ const writeItem = (container, value) => {
1668
+ if (listValueSchema.isListSchema()) {
1669
+ this.writeList(listValueSchema, Array.isArray(value) ? value : [value], container, xmlns);
1670
+ }
1671
+ else if (listValueSchema.isMapSchema()) {
1672
+ this.writeMap(listValueSchema, value, container, xmlns);
1673
+ }
1674
+ else if (listValueSchema.isStructSchema()) {
1675
+ const struct = this.writeStruct(listValueSchema, value, xmlns);
1676
+ container.addChildNode(struct.withName(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? "member"));
1677
+ }
1678
+ else {
1679
+ const listItemNode = xmlBuilder.XmlNode.of(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? "member");
1680
+ this.writeSimpleInto(listValueSchema, value, listItemNode, xmlns);
1681
+ container.addChildNode(listItemNode);
1682
+ }
1683
+ };
1684
+ if (flat) {
1685
+ for (const value of array) {
1686
+ if (sparse || value != null) {
1687
+ writeItem(container, value);
1688
+ }
1689
+ }
1690
+ }
1691
+ else {
1692
+ const listNode = xmlBuilder.XmlNode.of(listTraits.xmlName ?? listMember.getMemberName());
1693
+ if (xmlns) {
1694
+ listNode.addAttribute(xmlnsAttr, xmlns);
1695
+ }
1696
+ for (const value of array) {
1697
+ if (sparse || value != null) {
1698
+ writeItem(listNode, value);
1699
+ }
1700
+ }
1701
+ container.addChildNode(listNode);
1702
+ }
1703
+ }
1704
+ writeMap(mapMember, map, container, parentXmlns, containerIsMap = false) {
1705
+ if (!mapMember.isMemberSchema()) {
1706
+ throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${mapMember.getName(true)}`);
1707
+ }
1708
+ const mapTraits = mapMember.getMergedTraits();
1709
+ const mapKeySchema = mapMember.getKeySchema();
1710
+ const mapKeyTraits = mapKeySchema.getMergedTraits();
1711
+ const keyTag = mapKeyTraits.xmlName ?? "key";
1712
+ const mapValueSchema = mapMember.getValueSchema();
1713
+ const mapValueTraits = mapValueSchema.getMergedTraits();
1714
+ const valueTag = mapValueTraits.xmlName ?? "value";
1715
+ const sparse = !!mapValueTraits.sparse;
1716
+ const flat = !!mapTraits.xmlFlattened;
1717
+ const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(mapMember, parentXmlns);
1718
+ const addKeyValue = (entry, key, val) => {
1719
+ const keyNode = xmlBuilder.XmlNode.of(keyTag, key);
1720
+ const [keyXmlnsAttr, keyXmlns] = this.getXmlnsAttribute(mapKeySchema, xmlns);
1721
+ if (keyXmlns) {
1722
+ keyNode.addAttribute(keyXmlnsAttr, keyXmlns);
1723
+ }
1724
+ entry.addChildNode(keyNode);
1725
+ let valueNode = xmlBuilder.XmlNode.of(valueTag);
1726
+ if (mapValueSchema.isListSchema()) {
1727
+ this.writeList(mapValueSchema, val, valueNode, xmlns);
1728
+ }
1729
+ else if (mapValueSchema.isMapSchema()) {
1730
+ this.writeMap(mapValueSchema, val, valueNode, xmlns, true);
1731
+ }
1732
+ else if (mapValueSchema.isStructSchema()) {
1733
+ valueNode = this.writeStruct(mapValueSchema, val, xmlns);
1734
+ }
1735
+ else {
1736
+ this.writeSimpleInto(mapValueSchema, val, valueNode, xmlns);
1737
+ }
1738
+ entry.addChildNode(valueNode);
1739
+ };
1740
+ if (flat) {
1741
+ for (const [key, val] of Object.entries(map)) {
1742
+ if (sparse || val != null) {
1743
+ const entry = xmlBuilder.XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());
1744
+ addKeyValue(entry, key, val);
1745
+ container.addChildNode(entry);
1746
+ }
1747
+ }
1748
+ }
1749
+ else {
1750
+ let mapNode;
1751
+ if (!containerIsMap) {
1752
+ mapNode = xmlBuilder.XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());
1753
+ if (xmlns) {
1754
+ mapNode.addAttribute(xmlnsAttr, xmlns);
1755
+ }
1756
+ container.addChildNode(mapNode);
1757
+ }
1758
+ for (const [key, val] of Object.entries(map)) {
1759
+ if (sparse || val != null) {
1760
+ const entry = xmlBuilder.XmlNode.of("entry");
1761
+ addKeyValue(entry, key, val);
1762
+ (containerIsMap ? container : mapNode).addChildNode(entry);
1763
+ }
1764
+ }
1765
+ }
1766
+ }
1767
+ writeSimple(_schema, value) {
1768
+ if (null === value) {
1769
+ throw new Error("@aws-sdk/core/protocols - (XML serializer) cannot write null value.");
1770
+ }
1771
+ const ns = schema.NormalizedSchema.of(_schema);
1772
+ let nodeContents = null;
1773
+ if (value && typeof value === "object") {
1774
+ if (ns.isBlobSchema()) {
1775
+ nodeContents = (this.serdeContext?.base64Encoder ?? utilBase64.toBase64)(value);
1776
+ }
1777
+ else if (ns.isTimestampSchema() && value instanceof Date) {
1778
+ const format = protocols.determineTimestampFormat(ns, this.settings);
1779
+ switch (format) {
1780
+ case 5:
1781
+ nodeContents = value.toISOString().replace(".000Z", "Z");
1782
+ break;
1783
+ case 6:
1784
+ nodeContents = smithyClient.dateToUtcString(value);
1785
+ break;
1786
+ case 7:
1787
+ nodeContents = String(value.getTime() / 1000);
1788
+ break;
1789
+ default:
1790
+ console.warn("Missing timestamp format, using http date", value);
1791
+ nodeContents = smithyClient.dateToUtcString(value);
1792
+ break;
1793
+ }
1794
+ }
1795
+ else if (ns.isBigDecimalSchema() && value) {
1796
+ if (value instanceof serde.NumericValue) {
1797
+ return value.string;
1798
+ }
1799
+ return String(value);
1800
+ }
1801
+ else if (ns.isMapSchema() || ns.isListSchema()) {
1802
+ throw new Error("@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.");
1803
+ }
1804
+ else {
1805
+ throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${ns.getName(true)}`);
1806
+ }
1807
+ }
1808
+ if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {
1809
+ nodeContents = String(value);
1810
+ }
1811
+ if (ns.isStringSchema()) {
1812
+ if (value === undefined && ns.isIdempotencyToken()) {
1813
+ nodeContents = serde.generateIdempotencyToken();
1814
+ }
1815
+ else {
1816
+ nodeContents = String(value);
1817
+ }
1818
+ }
1819
+ if (nodeContents === null) {
1820
+ throw new Error(`Unhandled schema-value pair ${ns.getName(true)}=${value}`);
1821
+ }
1822
+ return nodeContents;
1823
+ }
1824
+ writeSimpleInto(_schema, value, into, parentXmlns) {
1825
+ const nodeContents = this.writeSimple(_schema, value);
1826
+ const ns = schema.NormalizedSchema.of(_schema);
1827
+ const content = new xmlBuilder.XmlText(nodeContents);
1828
+ const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);
1829
+ if (xmlns) {
1830
+ into.addAttribute(xmlnsAttr, xmlns);
1831
+ }
1832
+ into.addChildNode(content);
1833
+ }
1834
+ getXmlnsAttribute(ns, parentXmlns) {
1835
+ const traits = ns.getMergedTraits();
1836
+ const [prefix, xmlns] = traits.xmlNamespace ?? [];
1837
+ if (xmlns && xmlns !== parentXmlns) {
1838
+ return [prefix ? `xmlns:${prefix}` : "xmlns", xmlns];
1839
+ }
1840
+ return [void 0, void 0];
1841
+ }
1842
+ }
1843
+
1844
+ class XmlCodec extends SerdeContextConfig {
1845
+ settings;
1846
+ constructor(settings) {
1847
+ super();
1848
+ this.settings = settings;
1849
+ }
1850
+ createSerializer() {
1851
+ const serializer = new XmlShapeSerializer(this.settings);
1852
+ serializer.setSerdeContext(this.serdeContext);
1853
+ return serializer;
1854
+ }
1855
+ createDeserializer() {
1856
+ const deserializer = new XmlShapeDeserializer(this.settings);
1857
+ deserializer.setSerdeContext(this.serdeContext);
1858
+ return deserializer;
1859
+ }
1860
+ }
1861
+
1862
+ class AwsRestXmlProtocol extends protocols.HttpBindingProtocol {
1863
+ codec;
1864
+ serializer;
1865
+ deserializer;
1866
+ mixin = new ProtocolLib();
1867
+ constructor(options) {
1868
+ super(options);
1869
+ const settings = {
1870
+ timestampFormat: {
1871
+ useTrait: true,
1872
+ default: 5,
1873
+ },
1874
+ httpBindings: true,
1875
+ xmlNamespace: options.xmlNamespace,
1876
+ serviceNamespace: options.defaultNamespace,
1877
+ };
1878
+ this.codec = new XmlCodec(settings);
1879
+ this.serializer = new protocols.HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);
1880
+ this.deserializer = new protocols.HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);
1881
+ }
1882
+ getPayloadCodec() {
1883
+ return this.codec;
1884
+ }
1885
+ getShapeId() {
1886
+ return "aws.protocols#restXml";
1887
+ }
1888
+ async serializeRequest(operationSchema, input, context) {
1889
+ const request = await super.serializeRequest(operationSchema, input, context);
1890
+ const inputSchema = schema.NormalizedSchema.of(operationSchema.input);
1891
+ if (!request.headers["content-type"]) {
1892
+ const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);
1893
+ if (contentType) {
1894
+ request.headers["content-type"] = contentType;
1895
+ }
1896
+ }
1897
+ if (request.headers["content-type"] === this.getDefaultContentType()) {
1898
+ if (typeof request.body === "string") {
1899
+ request.body = '<?xml version="1.0" encoding="UTF-8"?>' + request.body;
1900
+ }
1901
+ }
1902
+ return request;
1903
+ }
1904
+ async deserializeResponse(operationSchema, context, response) {
1905
+ return super.deserializeResponse(operationSchema, context, response);
1906
+ }
1907
+ async handleError(operationSchema, context, response, dataObject, metadata) {
1908
+ const errorIdentifier = loadRestXmlErrorCode(response, dataObject) ?? "Unknown";
1909
+ const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);
1910
+ const ns = schema.NormalizedSchema.of(errorSchema);
1911
+ const message = dataObject.Error?.message ?? dataObject.Error?.Message ?? dataObject.message ?? dataObject.Message ?? "Unknown";
1912
+ const ErrorCtor = schema.TypeRegistry.for(errorSchema.namespace).getErrorCtor(errorSchema) ?? Error;
1913
+ const exception = new ErrorCtor(message);
1914
+ await this.deserializeHttpMessage(errorSchema, context, response, dataObject);
1915
+ const output = {};
1916
+ for (const [name, member] of ns.structIterator()) {
1917
+ const target = member.getMergedTraits().xmlName ?? name;
1918
+ const value = dataObject.Error?.[target] ?? dataObject[target];
1919
+ output[name] = this.codec.createDeserializer().readSchema(member, value);
1920
+ }
1921
+ throw Object.assign(exception, errorMetadata, {
1922
+ $fault: ns.getMergedTraits().error,
1923
+ message,
1924
+ }, output);
1925
+ }
1926
+ getDefaultContentType() {
1927
+ return "application/xml";
1928
+ }
1929
+ }
1930
+
1931
+ exports.AWSSDKSigV4Signer = AWSSDKSigV4Signer;
1932
+ exports.AwsEc2QueryProtocol = AwsEc2QueryProtocol;
1933
+ exports.AwsJson1_0Protocol = AwsJson1_0Protocol;
1934
+ exports.AwsJson1_1Protocol = AwsJson1_1Protocol;
1935
+ exports.AwsJsonRpcProtocol = AwsJsonRpcProtocol;
1936
+ exports.AwsQueryProtocol = AwsQueryProtocol;
1937
+ exports.AwsRestJsonProtocol = AwsRestJsonProtocol;
1938
+ exports.AwsRestXmlProtocol = AwsRestXmlProtocol;
1939
+ exports.AwsSdkSigV4ASigner = AwsSdkSigV4ASigner;
1940
+ exports.AwsSdkSigV4Signer = AwsSdkSigV4Signer;
1941
+ exports.AwsSmithyRpcV2CborProtocol = AwsSmithyRpcV2CborProtocol;
1942
+ exports.JsonCodec = JsonCodec;
1943
+ exports.JsonShapeDeserializer = JsonShapeDeserializer;
1944
+ exports.JsonShapeSerializer = JsonShapeSerializer;
1945
+ exports.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = NODE_AUTH_SCHEME_PREFERENCE_OPTIONS;
1946
+ exports.NODE_SIGV4A_CONFIG_OPTIONS = NODE_SIGV4A_CONFIG_OPTIONS;
1947
+ exports.XmlCodec = XmlCodec;
1948
+ exports.XmlShapeDeserializer = XmlShapeDeserializer;
1949
+ exports.XmlShapeSerializer = XmlShapeSerializer;
1950
+ exports._toBool = _toBool;
1951
+ exports._toNum = _toNum;
1952
+ exports._toStr = _toStr;
1953
+ exports.awsExpectUnion = awsExpectUnion;
1954
+ exports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;
1955
+ exports.getBearerTokenEnvKey = getBearerTokenEnvKey;
1956
+ exports.loadRestJsonErrorCode = loadRestJsonErrorCode;
1957
+ exports.loadRestXmlErrorCode = loadRestXmlErrorCode;
1958
+ exports.parseJsonBody = parseJsonBody;
1959
+ exports.parseJsonErrorBody = parseJsonErrorBody;
1960
+ exports.parseXmlBody = parseXmlBody;
1961
+ exports.parseXmlErrorBody = parseXmlErrorBody;
1962
+ exports.resolveAWSSDKSigV4Config = resolveAWSSDKSigV4Config;
1963
+ exports.resolveAwsSdkSigV4AConfig = resolveAwsSdkSigV4AConfig;
1964
+ exports.resolveAwsSdkSigV4Config = resolveAwsSdkSigV4Config;
1965
+ exports.setCredentialFeature = setCredentialFeature;
1966
+ exports.setFeature = setFeature;
1967
+ exports.setTokenFeature = setTokenFeature;
1968
+ exports.state = state;
1969
+ exports.validateSigningProperties = validateSigningProperties;