@cdklabs/cdk-construct-connect-datalake 0.0.27 → 0.0.28

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 (215) hide show
  1. package/.jsii +10 -10
  2. package/.jsii.tabl.json +1 -1
  3. package/lib/index.js +1 -1
  4. package/node_modules/@aws-sdk/client-cloudformation/dist-cjs/index.js +3 -3
  5. package/node_modules/@aws-sdk/client-cloudformation/dist-es/schemas/schemas_0.js +2 -2
  6. package/node_modules/@aws-sdk/client-cloudformation/dist-types/CloudFormation.d.ts +187 -181
  7. package/node_modules/@aws-sdk/client-cloudformation/dist-types/ts3.4/CloudFormation.d.ts +184 -180
  8. package/node_modules/@aws-sdk/client-cloudformation/package.json +8 -8
  9. package/node_modules/@aws-sdk/client-connect/README.md +7 -0
  10. package/node_modules/@aws-sdk/client-connect/dist-cjs/index.js +74 -21
  11. package/node_modules/@aws-sdk/client-connect/dist-es/Connect.js +4 -0
  12. package/node_modules/@aws-sdk/client-connect/dist-es/commands/ListSecurityProfileAIAgentsCommand.js +4 -0
  13. package/node_modules/@aws-sdk/client-connect/dist-es/commands/index.js +1 -0
  14. package/node_modules/@aws-sdk/client-connect/dist-es/models/enums.js +10 -6
  15. package/node_modules/@aws-sdk/client-connect/dist-es/pagination/ListSecurityProfileAIAgentsPaginator.js +4 -0
  16. package/node_modules/@aws-sdk/client-connect/dist-es/pagination/index.js +1 -0
  17. package/node_modules/@aws-sdk/client-connect/dist-es/schemas/schemas_0.js +48 -14
  18. package/node_modules/@aws-sdk/client-connect/dist-types/Connect.d.ts +813 -793
  19. package/node_modules/@aws-sdk/client-connect/dist-types/ConnectClient.d.ts +3 -2
  20. package/node_modules/@aws-sdk/client-connect/dist-types/commands/CreateSecurityProfileCommand.d.ts +6 -0
  21. package/node_modules/@aws-sdk/client-connect/dist-types/commands/DescribeInstanceAttributeCommand.d.ts +2 -2
  22. package/node_modules/@aws-sdk/client-connect/dist-types/commands/ListContactReferencesCommand.d.ts +8 -0
  23. package/node_modules/@aws-sdk/client-connect/dist-types/commands/ListInstanceAttributesCommand.d.ts +1 -1
  24. package/node_modules/@aws-sdk/client-connect/dist-types/commands/ListSecurityProfileAIAgentsCommand.d.ts +97 -0
  25. package/node_modules/@aws-sdk/client-connect/dist-types/commands/PutUserStatusCommand.d.ts +1 -1
  26. package/node_modules/@aws-sdk/client-connect/dist-types/commands/ReleasePhoneNumberCommand.d.ts +1 -1
  27. package/node_modules/@aws-sdk/client-connect/dist-types/commands/ReplicateInstanceCommand.d.ts +2 -3
  28. package/node_modules/@aws-sdk/client-connect/dist-types/commands/UpdateInstanceAttributeCommand.d.ts +1 -1
  29. package/node_modules/@aws-sdk/client-connect/dist-types/commands/UpdateSecurityProfileCommand.d.ts +6 -0
  30. package/node_modules/@aws-sdk/client-connect/dist-types/commands/UpdateTestCaseCommand.d.ts +2 -1
  31. package/node_modules/@aws-sdk/client-connect/dist-types/commands/UpdateTrafficDistributionCommand.d.ts +1 -1
  32. package/node_modules/@aws-sdk/client-connect/dist-types/commands/UpdateUserConfigCommand.d.ts +1 -1
  33. package/node_modules/@aws-sdk/client-connect/dist-types/commands/index.d.ts +1 -0
  34. package/node_modules/@aws-sdk/client-connect/dist-types/models/enums.d.ts +26 -14
  35. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_0.d.ts +22 -27
  36. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_1.d.ts +28 -37
  37. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_2.d.ts +158 -75
  38. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_3.d.ts +83 -81
  39. package/node_modules/@aws-sdk/client-connect/dist-types/models/models_4.d.ts +81 -2
  40. package/node_modules/@aws-sdk/client-connect/dist-types/pagination/ListSecurityProfileAIAgentsPaginator.d.ts +7 -0
  41. package/node_modules/@aws-sdk/client-connect/dist-types/pagination/index.d.ts +1 -0
  42. package/node_modules/@aws-sdk/client-connect/dist-types/schemas/schemas_0.d.ts +5 -0
  43. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/Connect.d.ts +820 -792
  44. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/ConnectClient.d.ts +6 -0
  45. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/ListSecurityProfileAIAgentsCommand.d.ts +42 -0
  46. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/PutUserStatusCommand.d.ts +1 -1
  47. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/ReleasePhoneNumberCommand.d.ts +1 -1
  48. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/ReplicateInstanceCommand.d.ts +1 -2
  49. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/UpdateTestCaseCommand.d.ts +2 -1
  50. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/UpdateTrafficDistributionCommand.d.ts +1 -1
  51. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/UpdateUserConfigCommand.d.ts +1 -1
  52. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/commands/index.d.ts +1 -0
  53. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/enums.d.ts +12 -7
  54. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_0.d.ts +6 -7
  55. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_1.d.ts +8 -18
  56. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_2.d.ts +67 -18
  57. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_3.d.ts +19 -20
  58. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/models/models_4.d.ts +24 -0
  59. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/pagination/ListSecurityProfileAIAgentsPaginator.d.ts +11 -0
  60. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/pagination/index.d.ts +1 -0
  61. package/node_modules/@aws-sdk/client-connect/dist-types/ts3.4/schemas/schemas_0.d.ts +5 -0
  62. package/node_modules/@aws-sdk/client-connect/package.json +8 -8
  63. package/node_modules/@aws-sdk/client-glue/README.md +7 -0
  64. package/node_modules/@aws-sdk/client-glue/dist-cjs/index.js +104 -21
  65. package/node_modules/@aws-sdk/client-glue/dist-es/Glue.js +2 -0
  66. package/node_modules/@aws-sdk/client-glue/dist-es/commands/ListIntegrationTablePropertiesCommand.js +4 -0
  67. package/node_modules/@aws-sdk/client-glue/dist-es/commands/index.js +1 -0
  68. package/node_modules/@aws-sdk/client-glue/dist-es/models/enums.js +16 -0
  69. package/node_modules/@aws-sdk/client-glue/dist-es/schemas/schemas_0.js +75 -20
  70. package/node_modules/@aws-sdk/client-glue/dist-types/Glue.d.ts +613 -599
  71. package/node_modules/@aws-sdk/client-glue/dist-types/GlueClient.d.ts +3 -2
  72. package/node_modules/@aws-sdk/client-glue/dist-types/commands/CreateIntegrationTablePropertiesCommand.d.ts +1 -0
  73. package/node_modules/@aws-sdk/client-glue/dist-types/commands/CreateTableCommand.d.ts +18 -0
  74. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetDataQualityRuleRecommendationRunCommand.d.ts +1 -0
  75. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetIntegrationTablePropertiesCommand.d.ts +1 -0
  76. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetTableCommand.d.ts +24 -0
  77. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetTableVersionCommand.d.ts +24 -0
  78. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetTableVersionsCommand.d.ts +24 -0
  79. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetTablesCommand.d.ts +25 -0
  80. package/node_modules/@aws-sdk/client-glue/dist-types/commands/GetUnfilteredTableMetadataCommand.d.ts +24 -0
  81. package/node_modules/@aws-sdk/client-glue/dist-types/commands/ListDataQualityRuleRecommendationRunsCommand.d.ts +1 -0
  82. package/node_modules/@aws-sdk/client-glue/dist-types/commands/ListIntegrationTablePropertiesCommand.d.ts +129 -0
  83. package/node_modules/@aws-sdk/client-glue/dist-types/commands/RemoveSchemaVersionMetadataCommand.d.ts +2 -1
  84. package/node_modules/@aws-sdk/client-glue/dist-types/commands/ResetJobBookmarkCommand.d.ts +1 -1
  85. package/node_modules/@aws-sdk/client-glue/dist-types/commands/ResumeWorkflowRunCommand.d.ts +1 -1
  86. package/node_modules/@aws-sdk/client-glue/dist-types/commands/SearchTablesCommand.d.ts +24 -0
  87. package/node_modules/@aws-sdk/client-glue/dist-types/commands/StartDataQualityRuleRecommendationRunCommand.d.ts +1 -0
  88. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateIntegrationTablePropertiesCommand.d.ts +1 -0
  89. package/node_modules/@aws-sdk/client-glue/dist-types/commands/UpdateTableCommand.d.ts +18 -0
  90. package/node_modules/@aws-sdk/client-glue/dist-types/commands/index.d.ts +1 -0
  91. package/node_modules/@aws-sdk/client-glue/dist-types/models/enums.d.ts +40 -0
  92. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_1.d.ts +86 -51
  93. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_2.d.ts +168 -134
  94. package/node_modules/@aws-sdk/client-glue/dist-types/models/models_3.d.ts +116 -4
  95. package/node_modules/@aws-sdk/client-glue/dist-types/schemas/schemas_0.d.ts +6 -0
  96. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/Glue.d.ts +620 -598
  97. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/GlueClient.d.ts +6 -0
  98. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/ListIntegrationTablePropertiesCommand.d.ts +42 -0
  99. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/RemoveSchemaVersionMetadataCommand.d.ts +2 -4
  100. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/ResetJobBookmarkCommand.d.ts +1 -1
  101. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/ResumeWorkflowRunCommand.d.ts +1 -1
  102. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/commands/index.d.ts +1 -0
  103. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/enums.d.ts +20 -0
  104. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/models_1.d.ts +18 -10
  105. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/models_2.d.ts +37 -34
  106. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/models/models_3.d.ts +30 -1
  107. package/node_modules/@aws-sdk/client-glue/dist-types/ts3.4/schemas/schemas_0.d.ts +6 -0
  108. package/node_modules/@aws-sdk/client-glue/package.json +8 -8
  109. package/node_modules/@aws-sdk/client-lakeformation/dist-cjs/index.js +3 -3
  110. package/node_modules/@aws-sdk/client-lakeformation/dist-es/schemas/schemas_0.js +2 -2
  111. package/node_modules/@aws-sdk/client-lakeformation/dist-types/LakeFormation.d.ts +129 -123
  112. package/node_modules/@aws-sdk/client-lakeformation/dist-types/ts3.4/LakeFormation.d.ts +126 -122
  113. package/node_modules/@aws-sdk/client-lakeformation/package.json +8 -8
  114. package/node_modules/@aws-sdk/client-ram/dist-cjs/index.js +3 -3
  115. package/node_modules/@aws-sdk/client-ram/dist-es/schemas/schemas_0.js +2 -2
  116. package/node_modules/@aws-sdk/client-ram/dist-types/RAM.d.ts +77 -71
  117. package/node_modules/@aws-sdk/client-ram/dist-types/ts3.4/RAM.d.ts +74 -70
  118. package/node_modules/@aws-sdk/client-ram/package.json +8 -8
  119. package/node_modules/@aws-sdk/client-sts/README.md +22 -3
  120. package/node_modules/@aws-sdk/client-sts/dist-cjs/index.js +30 -27
  121. package/node_modules/@aws-sdk/client-sts/dist-es/schemas/schemas_0.js +29 -26
  122. package/node_modules/@aws-sdk/client-sts/dist-types/STS.d.ts +51 -26
  123. package/node_modules/@aws-sdk/client-sts/dist-types/STSClient.d.ts +22 -3
  124. package/node_modules/@aws-sdk/client-sts/dist-types/commands/AssumeRoleCommand.d.ts +3 -0
  125. package/node_modules/@aws-sdk/client-sts/dist-types/commands/AssumeRoleWithSAMLCommand.d.ts +3 -0
  126. package/node_modules/@aws-sdk/client-sts/dist-types/commands/AssumeRoleWithWebIdentityCommand.d.ts +3 -0
  127. package/node_modules/@aws-sdk/client-sts/dist-types/commands/AssumeRootCommand.d.ts +3 -0
  128. package/node_modules/@aws-sdk/client-sts/dist-types/commands/GetFederationTokenCommand.d.ts +3 -0
  129. package/node_modules/@aws-sdk/client-sts/dist-types/commands/GetSessionTokenCommand.d.ts +3 -0
  130. package/node_modules/@aws-sdk/client-sts/dist-types/commands/GetWebIdentityTokenCommand.d.ts +3 -0
  131. package/node_modules/@aws-sdk/client-sts/dist-types/index.d.ts +22 -3
  132. package/node_modules/@aws-sdk/client-sts/dist-types/models/models_0.d.ts +118 -0
  133. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/STS.d.ts +29 -23
  134. package/node_modules/@aws-sdk/client-sts/dist-types/ts3.4/models/models_0.d.ts +18 -0
  135. package/node_modules/@aws-sdk/client-sts/package.json +9 -9
  136. package/node_modules/@aws-sdk/core/package.json +6 -6
  137. package/node_modules/@aws-sdk/credential-provider-env/package.json +5 -5
  138. package/node_modules/@aws-sdk/credential-provider-http/package.json +7 -7
  139. package/node_modules/@aws-sdk/credential-provider-ini/package.json +13 -13
  140. package/node_modules/@aws-sdk/credential-provider-login/package.json +6 -6
  141. package/node_modules/@aws-sdk/credential-provider-node/package.json +11 -11
  142. package/node_modules/@aws-sdk/credential-provider-process/package.json +5 -5
  143. package/node_modules/@aws-sdk/credential-provider-sso/package.json +7 -7
  144. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +6 -6
  145. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +3 -3
  146. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +3 -3
  147. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +3 -3
  148. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +3 -3
  149. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +14 -11
  150. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/schemas/schemas_0.js +2 -2
  151. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/schemas/schemas_0.js +2 -2
  152. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/schemas/schemas_0.js +2 -2
  153. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/schemas/schemas_0.js +2 -2
  154. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/schemas/schemas_0.js +13 -10
  155. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/CognitoIdentity.d.ts +11 -5
  156. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/Signin.d.ts +11 -5
  157. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/SSO.d.ts +9 -3
  158. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/SSOOIDC.d.ts +9 -3
  159. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/STS.d.ts +33 -8
  160. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/STSClient.d.ts +22 -3
  161. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleCommand.d.ts +3 -0
  162. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.d.ts +3 -0
  163. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/index.d.ts +22 -3
  164. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/models/models_0.d.ts +40 -0
  165. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/CognitoIdentity.d.ts +14 -5
  166. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/Signin.d.ts +11 -5
  167. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/SSO.d.ts +9 -3
  168. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/SSOOIDC.d.ts +9 -3
  169. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/STS.d.ts +11 -5
  170. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/models/models_0.d.ts +6 -0
  171. package/node_modules/@aws-sdk/nested-clients/package.json +8 -8
  172. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +4 -4
  173. package/node_modules/@aws-sdk/token-providers/package.json +6 -6
  174. package/node_modules/@aws-sdk/types/dist-types/feature-ids.d.ts +1 -0
  175. package/node_modules/@aws-sdk/types/dist-types/ts3.4/feature-ids.d.ts +1 -0
  176. package/node_modules/@aws-sdk/types/package.json +2 -2
  177. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  178. package/node_modules/@smithy/core/dist-cjs/submodules/cbor/index.js +22 -37
  179. package/node_modules/@smithy/core/dist-cjs/submodules/client/index.js +26 -4
  180. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +49 -8
  181. package/node_modules/@smithy/core/dist-cjs/submodules/schema/index.js +12 -7
  182. package/node_modules/@smithy/core/dist-es/submodules/cbor/SmithyRpcV2CborProtocol.js +22 -22
  183. package/node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js +0 -15
  184. package/node_modules/@smithy/core/dist-es/submodules/client/index.js +1 -1
  185. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/command.js +8 -1
  186. package/node_modules/@smithy/core/dist-es/submodules/client/smithy-client/exceptions.js +18 -3
  187. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +49 -8
  188. package/node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js +12 -7
  189. package/node_modules/@smithy/core/dist-types/submodules/cbor/parseCborBody.d.ts +3 -0
  190. package/node_modules/@smithy/core/dist-types/submodules/client/index.d.ts +1 -1
  191. package/node_modules/@smithy/core/dist-types/submodules/client/smithy-client/client.d.ts +11 -3
  192. package/node_modules/@smithy/core/dist-types/submodules/protocols/HttpProtocol.d.ts +17 -7
  193. package/node_modules/@smithy/core/dist-types/submodules/schema/TypeRegistry.d.ts +2 -2
  194. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/cbor/parseCborBody.d.ts +3 -0
  195. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/index.d.ts +1 -1
  196. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/client/smithy-client/client.d.ts +11 -3
  197. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/protocols/HttpProtocol.d.ts +21 -7
  198. package/node_modules/@smithy/core/dist-types/ts3.4/submodules/schema/TypeRegistry.d.ts +2 -2
  199. package/node_modules/@smithy/core/package.json +2 -2
  200. package/node_modules/@smithy/signature-v4/dist-cjs/index.js +4 -1
  201. package/node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js +4 -1
  202. package/node_modules/@smithy/signature-v4/package.json +3 -3
  203. package/node_modules/@smithy/types/dist-types/metrics.d.ts +8 -7
  204. package/node_modules/@smithy/types/dist-types/middleware.d.ts +5 -0
  205. package/node_modules/@smithy/types/dist-types/ts3.4/metrics.d.ts +8 -7
  206. package/node_modules/@smithy/types/dist-types/ts3.4/middleware.d.ts +5 -0
  207. package/node_modules/@smithy/types/package.json +1 -1
  208. package/node_modules/which-typed-array/CHANGELOG.md +14 -0
  209. package/node_modules/which-typed-array/README.md +0 -2
  210. package/node_modules/which-typed-array/index.d.ts +288 -11
  211. package/node_modules/which-typed-array/index.js +6 -7
  212. package/node_modules/which-typed-array/package.json +12 -11
  213. package/package.json +11 -11
  214. package/node_modules/which-typed-array/eslint.config.mjs +0 -12
  215. package/node_modules/which-typed-array/test/index.js +0 -105
@@ -39,7 +39,7 @@ class HttpProtocol extends SerdeContext {
39
39
  constructor(options) {
40
40
  super();
41
41
  this.options = options;
42
- this.compositeErrorRegistry = TypeRegistry.for(options.defaultNamespace);
42
+ this.compositeErrorRegistry = new TypeRegistry(options.defaultNamespace);
43
43
  for (const etr of options.errorTypeRegistries ?? []) {
44
44
  this.compositeErrorRegistry.copyFrom(etr);
45
45
  }
@@ -134,6 +134,47 @@ class HttpProtocol extends SerdeContext {
134
134
  cfId: output.headers["x-amz-cf-id"],
135
135
  };
136
136
  }
137
+ resolveError(name, namespaces, registries) {
138
+ const defaultErrorSchema = [-3, "", "Error", 0, [], [], 0];
139
+ let schema;
140
+ for (const registry of registries) {
141
+ for (const ns of namespaces) {
142
+ try {
143
+ if (ns === "*") {
144
+ schema = registry.getSchema(name);
145
+ }
146
+ else {
147
+ schema = registry.getSchema(ns + "#" + name);
148
+ }
149
+ const errorCtor = registry.getErrorCtor(schema);
150
+ if (errorCtor) {
151
+ return [schema, errorCtor, "modeled"];
152
+ }
153
+ else {
154
+ const syntheticErrorSchema = registry.getBaseException();
155
+ if (syntheticErrorSchema) {
156
+ const syntheticErrorCtor = registry.getErrorCtor(syntheticErrorSchema);
157
+ if (syntheticErrorCtor) {
158
+ return [schema, syntheticErrorCtor, "synthetic"];
159
+ }
160
+ }
161
+ }
162
+ }
163
+ catch (ignored) {
164
+ }
165
+ }
166
+ }
167
+ for (const registry of registries) {
168
+ const syntheticErrorSchema = registry.getBaseException();
169
+ if (syntheticErrorSchema) {
170
+ const syntheticErrorCtor = registry.getErrorCtor(syntheticErrorSchema);
171
+ if (syntheticErrorCtor) {
172
+ return [syntheticErrorSchema, syntheticErrorCtor, "synthetic"];
173
+ }
174
+ }
175
+ }
176
+ return [defaultErrorSchema, Error, "native"];
177
+ }
137
178
  async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {
138
179
  const eventStreamSerde = await this.loadEventStreamCapability();
139
180
  return eventStreamSerde.serializeEventStream({
@@ -162,13 +203,6 @@ class HttpProtocol extends SerdeContext {
162
203
  compositeErrorRegistry: this.compositeErrorRegistry,
163
204
  });
164
205
  }
165
- resolveEventStreamMarshaller(importedProvider) {
166
- const context = this.serdeContext;
167
- if (context.eventStreamMarshaller) {
168
- return context.eventStreamMarshaller;
169
- }
170
- return importedProvider(this.serdeContext);
171
- }
172
206
  getDefaultContentType() {
173
207
  throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);
174
208
  }
@@ -182,6 +216,13 @@ class HttpProtocol extends SerdeContext {
182
216
  }
183
217
  return context.eventStreamMarshaller;
184
218
  }
219
+ resolveEventStreamMarshaller(importedProvider) {
220
+ const context = this.serdeContext;
221
+ if (context.eventStreamMarshaller) {
222
+ return context.eventStreamMarshaller;
223
+ }
224
+ return importedProvider(this.serdeContext);
225
+ }
185
226
  }
186
227
 
187
228
  class HttpBindingProtocol extends HttpProtocol {
@@ -579,12 +579,12 @@ class TypeRegistry {
579
579
  this.namespace = namespace;
580
580
  this.schemas = schemas;
581
581
  this.exceptions = exceptions;
582
- }
583
- static for(namespace) {
584
582
  if (!TypeRegistry.registries.has(namespace)) {
585
- TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));
583
+ TypeRegistry.registries.set(namespace, this);
586
584
  }
587
- return TypeRegistry.registries.get(namespace);
585
+ }
586
+ static for(namespace) {
587
+ return TypeRegistry.registries.get(namespace) ?? new TypeRegistry(namespace);
588
588
  }
589
589
  copyFrom(other) {
590
590
  const { schemas, exceptions } = this;
@@ -602,7 +602,9 @@ class TypeRegistry {
602
602
  register(shapeId, schema) {
603
603
  const qualifiedName = this.normalizeShapeId(shapeId);
604
604
  for (const r of [this, TypeRegistry.for(qualifiedName.split("#")[0])]) {
605
- r.schemas.set(qualifiedName, schema);
605
+ if (!r.schemas.has(qualifiedName)) {
606
+ r.schemas.set(qualifiedName, schema);
607
+ }
606
608
  }
607
609
  }
608
610
  getSchema(shapeId) {
@@ -627,9 +629,12 @@ class TypeRegistry {
627
629
  registerError(es, ctor) {
628
630
  const $error = es;
629
631
  const ns = $error[1];
632
+ const qualifiedName = ns + "#" + $error[2];
630
633
  for (const r of [this, TypeRegistry.for(ns)]) {
631
- r.schemas.set(ns + "#" + $error[2], $error);
632
- r.exceptions.set($error, ctor);
634
+ if (!r.schemas.has(qualifiedName) && !r.exceptions.has($error)) {
635
+ r.schemas.set(qualifiedName, $error);
636
+ r.exceptions.set($error, ctor);
637
+ }
633
638
  }
634
639
  }
635
640
  getErrorCtor(es) {
@@ -50,37 +50,37 @@ export class SmithyRpcV2CborProtocol extends RpcProtocol {
50
50
  return super.deserializeResponse(operationSchema, context, response);
51
51
  }
52
52
  async handleError(operationSchema, context, response, dataObject, metadata) {
53
- const errorName = loadSmithyRpcV2CborErrorCode(response, dataObject) ?? "Unknown";
53
+ const errorIdentifier = loadSmithyRpcV2CborErrorCode(response, dataObject) ?? "Unknown";
54
+ const preferredNamespaces = ["*"];
55
+ const { defaultNamespace } = this.options;
56
+ preferredNamespaces.unshift(defaultNamespace);
57
+ const [namespace, errorShapeName] = (() => {
58
+ if (errorIdentifier.includes("#")) {
59
+ return errorIdentifier.split("#");
60
+ }
61
+ return [undefined, errorIdentifier];
62
+ })();
63
+ if (namespace) {
64
+ preferredNamespaces.unshift(namespace);
65
+ }
54
66
  const errorMetadata = {
55
67
  $metadata: metadata,
56
- $fault: response.statusCode <= 500 ? "client" : "server",
68
+ $fault: response.statusCode < 500 ? "client" : "server",
57
69
  };
58
- let namespace = this.options.defaultNamespace;
59
- if (errorName.includes("#")) {
60
- [namespace] = errorName.split("#");
70
+ const preferredRegistries = [this.compositeErrorRegistry];
71
+ if (namespace) {
72
+ preferredRegistries.push(TypeRegistry.for(namespace));
61
73
  }
62
- const registry = this.compositeErrorRegistry;
63
- const nsRegistry = TypeRegistry.for(namespace);
64
- registry.copyFrom(nsRegistry);
65
- let errorSchema;
66
- try {
67
- errorSchema = registry.getSchema(errorName);
68
- }
69
- catch (ignored) {
74
+ preferredRegistries.push(TypeRegistry.for(defaultNamespace));
75
+ const [errorSchema, ErrorCtor, errorMode] = this.resolveError(errorShapeName, preferredNamespaces, preferredRegistries);
76
+ if (errorMode === "native" || errorMode === "synthetic") {
70
77
  if (dataObject.Message) {
71
78
  dataObject.message = dataObject.Message;
72
79
  }
73
- const syntheticRegistry = TypeRegistry.for("smithy.ts.sdk.synthetic." + namespace);
74
- registry.copyFrom(syntheticRegistry);
75
- const baseExceptionSchema = registry.getBaseException();
76
- if (baseExceptionSchema) {
77
- const ErrorCtor = registry.getErrorCtor(baseExceptionSchema);
78
- throw Object.assign(new ErrorCtor({ name: errorName }), errorMetadata, dataObject);
79
- }
80
- throw Object.assign(new Error(errorName), errorMetadata, dataObject);
80
+ const error = errorMode === "synthetic" ? new ErrorCtor({ name: errorShapeName }) : new Error(errorShapeName);
81
+ throw Object.assign(error, errorMetadata, dataObject);
81
82
  }
82
83
  const ns = NormalizedSchema.of(errorSchema);
83
- const ErrorCtor = registry.getErrorCtor(errorSchema);
84
84
  const message = dataObject.message ?? dataObject.Message ?? "Unknown";
85
85
  const exception = new ErrorCtor({});
86
86
  const output = {};
@@ -42,26 +42,11 @@ export const loadSmithyRpcV2CborErrorCode = (output, data) => {
42
42
  if (cleanValue.indexOf(":") >= 0) {
43
43
  cleanValue = cleanValue.split(":")[0];
44
44
  }
45
- if (cleanValue.indexOf("#") >= 0) {
46
- cleanValue = cleanValue.split("#")[1];
47
- }
48
45
  return cleanValue;
49
46
  };
50
47
  if (data["__type"] !== undefined) {
51
48
  return sanitizeErrorCode(data["__type"]);
52
49
  }
53
- let codeKey;
54
- for (const key in data) {
55
- if (!hasOwn(data, key))
56
- continue;
57
- if (key.toLowerCase() === "code") {
58
- codeKey = key;
59
- break;
60
- }
61
- }
62
- if (codeKey && data[codeKey] !== undefined) {
63
- return sanitizeErrorCode(data[codeKey]);
64
- }
65
50
  };
66
51
  export const checkCborResponse = (response) => {
67
52
  if (String(response.headers["smithy-protocol"]).toLowerCase() !== "rpc-v2-cbor") {
@@ -5,7 +5,7 @@ export { invalidFunction } from "./invalid-dependency/invalidFunction";
5
5
  export { invalidProvider } from "./invalid-dependency/invalidProvider";
6
6
  export { createWaiter } from "./util-waiter/createWaiter";
7
7
  export { waiterServiceDefaults, WaiterState, checkExceptions, } from "./util-waiter/waiter";
8
- export { Client } from "./smithy-client/client";
8
+ export { Client, } from "./smithy-client/client";
9
9
  export { Command } from "./smithy-client/command";
10
10
  export { SENSITIVE_STRING } from "./smithy-client/constants";
11
11
  export { createAggregatedClient } from "./smithy-client/create-aggregated-client";
@@ -13,20 +13,27 @@ export class Command {
13
13
  }
14
14
  const stack = clientStack.concat(this.middlewareStack);
15
15
  const { logger } = configuration;
16
+ const additionalSmithyContext = additionalContext[SMITHY_CONTEXT_KEY];
16
17
  const handlerExecutionContext = {
17
18
  logger,
18
19
  clientName,
19
20
  commandName,
20
21
  inputFilterSensitiveLog,
21
22
  outputFilterSensitiveLog,
23
+ ...additionalContext,
22
24
  [SMITHY_CONTEXT_KEY]: {
25
+ ...additionalSmithyContext,
23
26
  commandInstance: this,
24
27
  ...smithyContext,
28
+ ...(options?.metricsRecorder === undefined ? {} : { metricsRecorder: options.metricsRecorder }),
25
29
  },
26
- ...additionalContext,
27
30
  };
28
31
  const { requestHandler } = configuration;
29
32
  let requestOptions = options ?? {};
33
+ if (requestOptions.metricsRecorder) {
34
+ requestOptions = { ...requestOptions };
35
+ delete requestOptions.metricsRecorder;
36
+ }
30
37
  if (smithyContext.eventStream) {
31
38
  requestOptions = {
32
39
  isEventStream: true,
@@ -27,10 +27,25 @@ export class ServiceException extends Error {
27
27
  return ServiceException.isInstance(instance);
28
28
  }
29
29
  if (ServiceException.isInstance(instance)) {
30
- if (candidate.name && this.name) {
31
- return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;
30
+ if (this.prototype.isPrototypeOf(instance)) {
31
+ return true;
32
32
  }
33
- return this.prototype.isPrototypeOf(instance);
33
+ const targetName = this.name;
34
+ if (!targetName || !candidate.name) {
35
+ return false;
36
+ }
37
+ if (candidate.name === targetName) {
38
+ return true;
39
+ }
40
+ let proto = Object.getPrototypeOf(candidate);
41
+ while (proto && proto !== Object.prototype) {
42
+ const ctorName = proto.constructor?.name;
43
+ if (ctorName && ctorName !== "Error" && ctorName === targetName) {
44
+ return true;
45
+ }
46
+ proto = Object.getPrototypeOf(proto);
47
+ }
48
+ return false;
34
49
  }
35
50
  return false;
36
51
  }
@@ -8,7 +8,7 @@ export class HttpProtocol extends SerdeContext {
8
8
  constructor(options) {
9
9
  super();
10
10
  this.options = options;
11
- this.compositeErrorRegistry = TypeRegistry.for(options.defaultNamespace);
11
+ this.compositeErrorRegistry = new TypeRegistry(options.defaultNamespace);
12
12
  for (const etr of options.errorTypeRegistries ?? []) {
13
13
  this.compositeErrorRegistry.copyFrom(etr);
14
14
  }
@@ -103,6 +103,47 @@ export class HttpProtocol extends SerdeContext {
103
103
  cfId: output.headers["x-amz-cf-id"],
104
104
  };
105
105
  }
106
+ resolveError(name, namespaces, registries) {
107
+ const defaultErrorSchema = [-3, "", "Error", 0, [], [], 0];
108
+ let schema;
109
+ for (const registry of registries) {
110
+ for (const ns of namespaces) {
111
+ try {
112
+ if (ns === "*") {
113
+ schema = registry.getSchema(name);
114
+ }
115
+ else {
116
+ schema = registry.getSchema(ns + "#" + name);
117
+ }
118
+ const errorCtor = registry.getErrorCtor(schema);
119
+ if (errorCtor) {
120
+ return [schema, errorCtor, "modeled"];
121
+ }
122
+ else {
123
+ const syntheticErrorSchema = registry.getBaseException();
124
+ if (syntheticErrorSchema) {
125
+ const syntheticErrorCtor = registry.getErrorCtor(syntheticErrorSchema);
126
+ if (syntheticErrorCtor) {
127
+ return [schema, syntheticErrorCtor, "synthetic"];
128
+ }
129
+ }
130
+ }
131
+ }
132
+ catch (ignored) {
133
+ }
134
+ }
135
+ }
136
+ for (const registry of registries) {
137
+ const syntheticErrorSchema = registry.getBaseException();
138
+ if (syntheticErrorSchema) {
139
+ const syntheticErrorCtor = registry.getErrorCtor(syntheticErrorSchema);
140
+ if (syntheticErrorCtor) {
141
+ return [syntheticErrorSchema, syntheticErrorCtor, "synthetic"];
142
+ }
143
+ }
144
+ }
145
+ return [defaultErrorSchema, Error, "native"];
146
+ }
106
147
  async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {
107
148
  const eventStreamSerde = await this.loadEventStreamCapability();
108
149
  return eventStreamSerde.serializeEventStream({
@@ -131,13 +172,6 @@ export class HttpProtocol extends SerdeContext {
131
172
  compositeErrorRegistry: this.compositeErrorRegistry,
132
173
  });
133
174
  }
134
- resolveEventStreamMarshaller(importedProvider) {
135
- const context = this.serdeContext;
136
- if (context.eventStreamMarshaller) {
137
- return context.eventStreamMarshaller;
138
- }
139
- return importedProvider(this.serdeContext);
140
- }
141
175
  getDefaultContentType() {
142
176
  throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);
143
177
  }
@@ -156,4 +190,11 @@ export class HttpProtocol extends SerdeContext {
156
190
  }
157
191
  return context.eventStreamMarshaller;
158
192
  }
193
+ resolveEventStreamMarshaller(importedProvider) {
194
+ const context = this.serdeContext;
195
+ if (context.eventStreamMarshaller) {
196
+ return context.eventStreamMarshaller;
197
+ }
198
+ return importedProvider(this.serdeContext);
199
+ }
159
200
  }
@@ -7,12 +7,12 @@ export class TypeRegistry {
7
7
  this.namespace = namespace;
8
8
  this.schemas = schemas;
9
9
  this.exceptions = exceptions;
10
- }
11
- static for(namespace) {
12
10
  if (!TypeRegistry.registries.has(namespace)) {
13
- TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));
11
+ TypeRegistry.registries.set(namespace, this);
14
12
  }
15
- return TypeRegistry.registries.get(namespace);
13
+ }
14
+ static for(namespace) {
15
+ return TypeRegistry.registries.get(namespace) ?? new TypeRegistry(namespace);
16
16
  }
17
17
  copyFrom(other) {
18
18
  const { schemas, exceptions } = this;
@@ -30,7 +30,9 @@ export class TypeRegistry {
30
30
  register(shapeId, schema) {
31
31
  const qualifiedName = this.normalizeShapeId(shapeId);
32
32
  for (const r of [this, TypeRegistry.for(qualifiedName.split("#")[0])]) {
33
- r.schemas.set(qualifiedName, schema);
33
+ if (!r.schemas.has(qualifiedName)) {
34
+ r.schemas.set(qualifiedName, schema);
35
+ }
34
36
  }
35
37
  }
36
38
  getSchema(shapeId) {
@@ -55,9 +57,12 @@ export class TypeRegistry {
55
57
  registerError(es, ctor) {
56
58
  const $error = es;
57
59
  const ns = $error[1];
60
+ const qualifiedName = ns + "#" + $error[2];
58
61
  for (const r of [this, TypeRegistry.for(ns)]) {
59
- r.schemas.set(ns + "#" + $error[2], $error);
60
- r.exceptions.set($error, ctor);
62
+ if (!r.schemas.has(qualifiedName) && !r.exceptions.has($error)) {
63
+ r.schemas.set(qualifiedName, $error);
64
+ r.exceptions.set($error, ctor);
65
+ }
61
66
  }
62
67
  }
63
68
  getErrorCtor(es) {
@@ -18,6 +18,9 @@ export declare const dateToTag: (date: Date) => {
18
18
  */
19
19
  export declare const parseCborErrorBody: (errorBody: any, context: SerdeContext) => Promise<any>;
20
20
  /**
21
+ * Trims error.__type
22
+ * "com.a.b#Error:Sender,tag" -> "com.a.b#Error"
23
+ *
21
24
  * @internal
22
25
  */
23
26
  export declare const loadSmithyRpcV2CborErrorCode: (output: HttpResponse, data: any) => string | undefined;
@@ -5,7 +5,7 @@ export { invalidFunction } from "./invalid-dependency/invalidFunction";
5
5
  export { invalidProvider } from "./invalid-dependency/invalidProvider";
6
6
  export { createWaiter } from "./util-waiter/createWaiter";
7
7
  export { waiterServiceDefaults, WaiterState, checkExceptions, type WaiterConfiguration, type WaiterOptions, type WaiterResult, } from "./util-waiter/waiter";
8
- export { Client, type SmithyConfiguration, type SmithyResolvedConfiguration } from "./smithy-client/client";
8
+ export { Client, type SmithyClientRequestOptions, type SmithyConfiguration, type SmithyResolvedConfiguration, } from "./smithy-client/client";
9
9
  export { Command, type CommandImpl } from "./smithy-client/command";
10
10
  export { SENSITIVE_STRING } from "./smithy-client/constants";
11
11
  export { createAggregatedClient } from "./smithy-client/create-aggregated-client";
@@ -1,4 +1,12 @@
1
- import type { $ClientProtocol, $ClientProtocolCtor, ClientProtocol, ClientProtocolCtor, Command, FetchHttpHandlerOptions, Client as IClient, MetadataBearer, MiddlewareStack, NodeHttpHandlerOptions, RequestHandler } from "@smithy/types";
1
+ import type { $ClientProtocol, $ClientProtocolCtor, ClientProtocol, ClientProtocolCtor, Command, FetchHttpHandlerOptions, Client as IClient, MetadataBearer, MetricsRecorder, MiddlewareStack, NodeHttpHandlerOptions, RequestHandler } from "@smithy/types";
2
+ /**
3
+ * Options accepted for an individual Smithy client request.
4
+ *
5
+ * @public
6
+ */
7
+ export type SmithyClientRequestOptions<HandlerOptions> = unknown extends HandlerOptions ? HandlerOptions : HandlerOptions extends unknown ? keyof HandlerOptions extends never ? HandlerOptions : HandlerOptions & {
8
+ metricsRecorder?: MetricsRecorder<unknown>;
9
+ } : never;
2
10
  /**
3
11
  * @public
4
12
  */
@@ -77,8 +85,8 @@ export declare class Client<HandlerOptions, ClientInput extends object, ClientOu
77
85
  */
78
86
  private handlers?;
79
87
  constructor(config: ResolvedClientConfiguration);
80
- send<InputType extends ClientInput, OutputType extends ClientOutput>(command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>, options?: HandlerOptions): Promise<OutputType>;
88
+ send<InputType extends ClientInput, OutputType extends ClientOutput>(command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>, options?: SmithyClientRequestOptions<HandlerOptions>): Promise<OutputType>;
81
89
  send<InputType extends ClientInput, OutputType extends ClientOutput>(command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>, cb: (err: any, data?: OutputType) => void): void;
82
- send<InputType extends ClientInput, OutputType extends ClientOutput>(command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>, options: HandlerOptions, cb: (err: any, data?: OutputType) => void): void;
90
+ send<InputType extends ClientInput, OutputType extends ClientOutput>(command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>, options: SmithyClientRequestOptions<HandlerOptions>, cb: (err: any, data?: OutputType) => void): void;
83
91
  destroy(): void;
84
92
  }
@@ -1,6 +1,6 @@
1
1
  import type { EventStreamSerde } from "@smithy/core/event-streams";
2
2
  import { NormalizedSchema, TypeRegistry } from "@smithy/core/schema";
3
- import type { ClientProtocol, Codec, Endpoint, EndpointBearer, EndpointV2, EventStreamMarshaller, HandlerExecutionContext, HttpRequest as IHttpRequest, HttpResponse as IHttpResponse, MetadataBearer, OperationSchema, ResponseMetadata, Schema, SerdeFunctions, ShapeDeserializer, ShapeSerializer } from "@smithy/types";
3
+ import type { ClientProtocol, Codec, Endpoint, EndpointBearer, EndpointV2, EventStreamMarshaller, HandlerExecutionContext, HttpRequest as IHttpRequest, HttpResponse as IHttpResponse, MetadataBearer, OperationSchema, ResponseMetadata, Schema, SerdeFunctions, ShapeDeserializer, ShapeSerializer, StaticErrorSchema } from "@smithy/types";
4
4
  import { SerdeContext } from "./SerdeContext";
5
5
  /**
6
6
  * Abstract base for HTTP-based client protocols.
@@ -43,6 +43,16 @@ export declare abstract class HttpProtocol extends SerdeContext implements Clien
43
43
  protected setHostPrefix<Input extends object>(request: IHttpRequest, operationSchema: OperationSchema, input: Input): void;
44
44
  protected abstract handleError(operationSchema: OperationSchema, context: HandlerExecutionContext & SerdeFunctions, response: IHttpResponse, dataObject: any, metadata: ResponseMetadata): Promise<never>;
45
45
  protected deserializeMetadata(output: IHttpResponse): ResponseMetadata;
46
+ /**
47
+ * For a given error short name, a list of preferred namespaces, and a list of preferred registries,
48
+ * find the error's schema and class.
49
+ *
50
+ * @param name - short error shape id.
51
+ * @param namespaces - must contain '*' to allow matching against an undeclared namespace.
52
+ * @param registries - in which to look.
53
+ * @returns matched error schema and constructor, with worst case being the least-descriptive DocumentSchema and native Error.
54
+ */
55
+ protected resolveError(name: string, namespaces: string[], registries: TypeRegistry[]): [StaticErrorSchema, any, "modeled" | "synthetic" | "native"];
46
56
  /**
47
57
  * @param eventStream - the iterable provided by the caller.
48
58
  * @param requestSchema - the schema of the event stream container (struct).
@@ -74,12 +84,6 @@ export declare abstract class HttpProtocol extends SerdeContext implements Clien
74
84
  * Loads eventStream capability async (for chunking).
75
85
  */
76
86
  protected loadEventStreamCapability(): Promise<EventStreamSerde>;
77
- /**
78
- * Returns a platform-specific EventStreamMarshaller.
79
- * Prefers user-injected marshaller from serdeContext (via client config),
80
- * falls back to the dynamically imported provider.
81
- */
82
- private resolveEventStreamMarshaller;
83
87
  /**
84
88
  * @returns content-type default header value for event stream events and other documents.
85
89
  */
@@ -92,4 +96,10 @@ export declare abstract class HttpProtocol extends SerdeContext implements Clien
92
96
  protected deserializeHttpMessage(schema: Schema, context: HandlerExecutionContext & SerdeFunctions, response: IHttpResponse, headerBindings: Set<string>, dataObject: any): Promise<string[]>;
93
97
  protected deserializeHttpMessage(schema: Schema, context: HandlerExecutionContext & SerdeFunctions, response: IHttpResponse, dataObject: any): Promise<string[]>;
94
98
  protected getEventStreamMarshaller(): EventStreamMarshaller;
99
+ /**
100
+ * Returns a platform-specific EventStreamMarshaller.
101
+ * Prefers user-injected marshaller from serdeContext (via client config),
102
+ * falls back to the dynamically imported provider.
103
+ */
104
+ private resolveEventStreamMarshaller;
95
105
  }
@@ -10,10 +10,10 @@ export declare class TypeRegistry {
10
10
  private schemas;
11
11
  private exceptions;
12
12
  static readonly registries: Map<string, TypeRegistry>;
13
- private constructor();
13
+ constructor(namespace: string, schemas?: Map<string, ISchema>, exceptions?: Map<StaticErrorSchema, any>);
14
14
  /**
15
15
  * @param namespace - specifier.
16
- * @returns the schema for that namespace, creating it if necessary.
16
+ * @returns the TypeRegistry for that namespace, creating it if necessary.
17
17
  */
18
18
  static for(namespace: string): TypeRegistry;
19
19
  /**
@@ -18,6 +18,9 @@ export declare const dateToTag: (date: Date) => {
18
18
  */
19
19
  export declare const parseCborErrorBody: (errorBody: any, context: SerdeContext) => Promise<any>;
20
20
  /**
21
+ * Trims error.__type
22
+ * "com.a.b#Error:Sender,tag" -> "com.a.b#Error"
23
+ *
21
24
  * @internal
22
25
  */
23
26
  export declare const loadSmithyRpcV2CborErrorCode: (output: HttpResponse, data: any) => string | undefined;
@@ -5,7 +5,7 @@ export { invalidFunction } from "./invalid-dependency/invalidFunction";
5
5
  export { invalidProvider } from "./invalid-dependency/invalidProvider";
6
6
  export { createWaiter } from "./util-waiter/createWaiter";
7
7
  export { waiterServiceDefaults, WaiterState, checkExceptions, WaiterConfiguration, WaiterOptions, WaiterResult } from "./util-waiter/waiter";
8
- export { Client, SmithyConfiguration, SmithyResolvedConfiguration } from "./smithy-client/client";
8
+ export { Client, SmithyClientRequestOptions, SmithyConfiguration, SmithyResolvedConfiguration } from "./smithy-client/client";
9
9
  export { Command, CommandImpl } from "./smithy-client/command";
10
10
  export { SENSITIVE_STRING } from "./smithy-client/constants";
11
11
  export { createAggregatedClient } from "./smithy-client/create-aggregated-client";
@@ -1,4 +1,12 @@
1
- import { $ClientProtocol, $ClientProtocolCtor, ClientProtocol, ClientProtocolCtor, Command, FetchHttpHandlerOptions, Client as IClient, MetadataBearer, MiddlewareStack, NodeHttpHandlerOptions, RequestHandler } from "@smithy/types";
1
+ import { $ClientProtocol, $ClientProtocolCtor, ClientProtocol, ClientProtocolCtor, Command, FetchHttpHandlerOptions, Client as IClient, MetadataBearer, MetricsRecorder, MiddlewareStack, NodeHttpHandlerOptions, RequestHandler } from "@smithy/types";
2
+ /**
3
+ * Options accepted for an individual Smithy client request.
4
+ *
5
+ * @public
6
+ */
7
+ export type SmithyClientRequestOptions<HandlerOptions> = unknown extends HandlerOptions ? HandlerOptions : HandlerOptions extends unknown ? keyof HandlerOptions extends never ? HandlerOptions : HandlerOptions & {
8
+ metricsRecorder?: MetricsRecorder<unknown>;
9
+ } : never;
2
10
  /**
3
11
  * @public
4
12
  */
@@ -77,8 +85,8 @@ export declare class Client<HandlerOptions, ClientInput extends object, ClientOu
77
85
  */
78
86
  private handlers?;
79
87
  constructor(config: ResolvedClientConfiguration);
80
- send<InputType extends ClientInput, OutputType extends ClientOutput>(command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>, options?: HandlerOptions): Promise<OutputType>;
88
+ send<InputType extends ClientInput, OutputType extends ClientOutput>(command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>, options?: SmithyClientRequestOptions<HandlerOptions>): Promise<OutputType>;
81
89
  send<InputType extends ClientInput, OutputType extends ClientOutput>(command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>, cb: (err: any, data?: OutputType) => void): void;
82
- send<InputType extends ClientInput, OutputType extends ClientOutput>(command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>, options: HandlerOptions, cb: (err: any, data?: OutputType) => void): void;
90
+ send<InputType extends ClientInput, OutputType extends ClientOutput>(command: Command<ClientInput, InputType, ClientOutput, OutputType, SmithyResolvedConfiguration<HandlerOptions>>, options: SmithyClientRequestOptions<HandlerOptions>, cb: (err: any, data?: OutputType) => void): void;
83
91
  destroy(): void;
84
92
  }
@@ -1,6 +1,6 @@
1
1
  import { EventStreamSerde } from "@smithy/core/event-streams";
2
2
  import { NormalizedSchema, TypeRegistry } from "@smithy/core/schema";
3
- import { ClientProtocol, Codec, Endpoint, EndpointBearer, EndpointV2, EventStreamMarshaller, HandlerExecutionContext, HttpRequest as IHttpRequest, HttpResponse as IHttpResponse, MetadataBearer, OperationSchema, ResponseMetadata, Schema, SerdeFunctions, ShapeDeserializer, ShapeSerializer } from "@smithy/types";
3
+ import { ClientProtocol, Codec, Endpoint, EndpointBearer, EndpointV2, EventStreamMarshaller, HandlerExecutionContext, HttpRequest as IHttpRequest, HttpResponse as IHttpResponse, MetadataBearer, OperationSchema, ResponseMetadata, Schema, SerdeFunctions, ShapeDeserializer, ShapeSerializer, StaticErrorSchema } from "@smithy/types";
4
4
  import { SerdeContext } from "./SerdeContext";
5
5
  /**
6
6
  * Abstract base for HTTP-based client protocols.
@@ -43,6 +43,20 @@ export declare abstract class HttpProtocol extends SerdeContext implements Clien
43
43
  protected setHostPrefix<Input extends object>(request: IHttpRequest, operationSchema: OperationSchema, input: Input): void;
44
44
  protected abstract handleError(operationSchema: OperationSchema, context: HandlerExecutionContext & SerdeFunctions, response: IHttpResponse, dataObject: any, metadata: ResponseMetadata): Promise<never>;
45
45
  protected deserializeMetadata(output: IHttpResponse): ResponseMetadata;
46
+ /**
47
+ * For a given error short name, a list of preferred namespaces, and a list of preferred registries,
48
+ * find the error's schema and class.
49
+ *
50
+ * @param name - short error shape id.
51
+ * @param namespaces - must contain '*' to allow matching against an undeclared namespace.
52
+ * @param registries - in which to look.
53
+ * @returns matched error schema and constructor, with worst case being the least-descriptive DocumentSchema and native Error.
54
+ */
55
+ protected resolveError(name: string, namespaces: string[], registries: TypeRegistry[]): [
56
+ StaticErrorSchema,
57
+ any,
58
+ "modeled" | "synthetic" | "native"
59
+ ];
46
60
  /**
47
61
  * @param eventStream - the iterable provided by the caller.
48
62
  * @param requestSchema - the schema of the event stream container (struct).
@@ -74,12 +88,6 @@ export declare abstract class HttpProtocol extends SerdeContext implements Clien
74
88
  * Loads eventStream capability async (for chunking).
75
89
  */
76
90
  protected loadEventStreamCapability(): Promise<EventStreamSerde>;
77
- /**
78
- * Returns a platform-specific EventStreamMarshaller.
79
- * Prefers user-injected marshaller from serdeContext (via client config),
80
- * falls back to the dynamically imported provider.
81
- */
82
- private resolveEventStreamMarshaller;
83
91
  /**
84
92
  * @returns content-type default header value for event stream events and other documents.
85
93
  */
@@ -92,4 +100,10 @@ export declare abstract class HttpProtocol extends SerdeContext implements Clien
92
100
  protected deserializeHttpMessage(schema: Schema, context: HandlerExecutionContext & SerdeFunctions, response: IHttpResponse, headerBindings: Set<string>, dataObject: any): Promise<string[]>;
93
101
  protected deserializeHttpMessage(schema: Schema, context: HandlerExecutionContext & SerdeFunctions, response: IHttpResponse, dataObject: any): Promise<string[]>;
94
102
  protected getEventStreamMarshaller(): EventStreamMarshaller;
103
+ /**
104
+ * Returns a platform-specific EventStreamMarshaller.
105
+ * Prefers user-injected marshaller from serdeContext (via client config),
106
+ * falls back to the dynamically imported provider.
107
+ */
108
+ private resolveEventStreamMarshaller;
95
109
  }
@@ -10,10 +10,10 @@ export declare class TypeRegistry {
10
10
  private schemas;
11
11
  private exceptions;
12
12
  static readonly registries: Map<string, TypeRegistry>;
13
- private constructor();
13
+ constructor(namespace: string, schemas?: Map<string, ISchema>, exceptions?: Map<StaticErrorSchema, any>);
14
14
  /**
15
15
  * @param namespace - specifier.
16
- * @returns the schema for that namespace, creating it if necessary.
16
+ * @returns the TypeRegistry for that namespace, creating it if necessary.
17
17
  */
18
18
  static for(namespace: string): TypeRegistry;
19
19
  /**