@cdklabs/cdk-ssm-documents 0.0.66 → 0.0.67

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 (358) hide show
  1. package/.jsii +13 -13
  2. package/lib/construct/synth-utils.js +1 -1
  3. package/lib/document/automation-document.js +1 -1
  4. package/lib/document/command-document.js +1 -1
  5. package/lib/document/document-builder.js +2 -2
  6. package/lib/document/ssm-document.js +1 -1
  7. package/lib/domain/aws-service.js +1 -1
  8. package/lib/domain/choice.js +1 -1
  9. package/lib/domain/data-type.js +1 -1
  10. package/lib/domain/enum/install-action.js +2 -2
  11. package/lib/domain/enum/install-uninstall-repair.js +2 -2
  12. package/lib/domain/enum/installation-type.js +2 -2
  13. package/lib/domain/enum/package-name.js +2 -2
  14. package/lib/domain/input.js +1 -1
  15. package/lib/domain/operation.js +1 -1
  16. package/lib/domain/platform.js +1 -1
  17. package/lib/domain/precondition.js +1 -1
  18. package/lib/incident-response/incident-response.js +3 -3
  19. package/lib/interface/approve-hook.js +2 -2
  20. package/lib/interface/auth-method.js +3 -3
  21. package/lib/interface/aws-invoker.js +2 -2
  22. package/lib/interface/downloadable-content.js +8 -8
  23. package/lib/interface/environment.js +3 -3
  24. package/lib/interface/execute-automation-hook/api-execute-automation-hook.js +1 -1
  25. package/lib/interface/observer.js +1 -1
  26. package/lib/interface/on-failure.js +6 -6
  27. package/lib/interface/pause-hook.js +2 -2
  28. package/lib/interface/run-command-hook/api-run-command-hook.js +1 -1
  29. package/lib/interface/run-document-location.js +2 -2
  30. package/lib/interface/sleep-hook.js +2 -2
  31. package/lib/interface/step-ref.js +1 -1
  32. package/lib/interface/variables/boolean-variable.js +2 -2
  33. package/lib/interface/variables/map-list-variable.js +2 -2
  34. package/lib/interface/variables/number-variable.js +2 -2
  35. package/lib/interface/variables/secure-string-variable.js +4 -4
  36. package/lib/interface/variables/string-list-variable.js +2 -2
  37. package/lib/interface/variables/string-map-variable.js +2 -2
  38. package/lib/interface/variables/string-variable.js +4 -4
  39. package/lib/interface/variables/variable.js +2 -2
  40. package/lib/interface/webhook.js +1 -1
  41. package/lib/parent-steps/automation/approve-step.js +1 -1
  42. package/lib/parent-steps/automation/assert-aws-resource-step.js +1 -1
  43. package/lib/parent-steps/automation/aws-api-step.js +1 -1
  44. package/lib/parent-steps/automation/branch-step.js +1 -1
  45. package/lib/parent-steps/automation/change-instance-state-step.js +3 -3
  46. package/lib/parent-steps/automation/copy-image-step.js +1 -1
  47. package/lib/parent-steps/automation/create-image-step.js +1 -1
  48. package/lib/parent-steps/automation/create-stack-step.js +3 -3
  49. package/lib/parent-steps/automation/create-tags-step.js +3 -3
  50. package/lib/parent-steps/automation/delete-image-step.js +1 -1
  51. package/lib/parent-steps/automation/delete-stack-step.js +1 -1
  52. package/lib/parent-steps/automation/execute-automation-step.js +1 -1
  53. package/lib/parent-steps/automation/execute-script-step.js +5 -5
  54. package/lib/parent-steps/automation/execute-state-machine-step.js +1 -1
  55. package/lib/parent-steps/automation/invoke-lambda-function-step.js +1 -1
  56. package/lib/parent-steps/automation/invoke-webhook-step.js +1 -1
  57. package/lib/parent-steps/automation/pause-step.js +1 -1
  58. package/lib/parent-steps/automation/run-command-step.js +3 -3
  59. package/lib/parent-steps/automation/run-instance-step.js +1 -1
  60. package/lib/parent-steps/automation/sleep-step.js +1 -1
  61. package/lib/parent-steps/automation/update-variable.js +1 -1
  62. package/lib/parent-steps/automation/wait-for-resource-step.js +1 -1
  63. package/lib/parent-steps/automation-step.js +1 -1
  64. package/lib/parent-steps/command/applications-step.js +1 -1
  65. package/lib/parent-steps/command/configure-docker-step.js +1 -1
  66. package/lib/parent-steps/command/configure-package-step.js +1 -1
  67. package/lib/parent-steps/command/domain-join-step.js +1 -1
  68. package/lib/parent-steps/command/download-content-step.js +1 -1
  69. package/lib/parent-steps/command/ps-module-step.js +1 -1
  70. package/lib/parent-steps/command/run-docker-action-step.js +1 -1
  71. package/lib/parent-steps/command/run-document-step.js +1 -1
  72. package/lib/parent-steps/command/run-powershell-script-step.js +1 -1
  73. package/lib/parent-steps/command/run-shell-script-step.js +1 -1
  74. package/lib/parent-steps/command/software-inventory-step.js +1 -1
  75. package/lib/parent-steps/command/update-agent-step.js +1 -1
  76. package/lib/parent-steps/command/update-ssm-agent-step.js +1 -1
  77. package/lib/parent-steps/command-step.js +1 -1
  78. package/lib/parent-steps/step.js +1 -1
  79. package/lib/patterns/automation/composite-step.js +2 -2
  80. package/lib/patterns/automation/reboot-instance-and-wait.js +1 -1
  81. package/lib/patterns/automation/string-step.js +1 -1
  82. package/lib/patterns/document/string-document.js +1 -1
  83. package/lib/patterns/document/timed-document.js +1 -1
  84. package/lib/samples/hello-world.js +1 -1
  85. package/lib/simulation/automation/approve-simulation.js +1 -1
  86. package/lib/simulation/automation/assert-aws-resource-simulation.js +1 -1
  87. package/lib/simulation/automation/automation-simulation-base.js +1 -1
  88. package/lib/simulation/automation/aws-api-simulation.js +1 -1
  89. package/lib/simulation/automation/branch-simulation.js +1 -1
  90. package/lib/simulation/automation/change-instance-state-simulation.js +1 -1
  91. package/lib/simulation/automation/copy-image-simulation.js +1 -1
  92. package/lib/simulation/automation/create-image-simulation.js +1 -1
  93. package/lib/simulation/automation/create-stack-simulation.js +1 -1
  94. package/lib/simulation/automation/create-tags-simulation.js +1 -1
  95. package/lib/simulation/automation/delete-image-simulation.js +1 -1
  96. package/lib/simulation/automation/delete-stack-simulation.js +1 -1
  97. package/lib/simulation/automation/execute-script-simulation.js +1 -1
  98. package/lib/simulation/automation/execute-state-machine-simulation.js +1 -1
  99. package/lib/simulation/automation/invoke-lambda-function-simulation.js +1 -1
  100. package/lib/simulation/automation/invoke-webhook-simulation.js +1 -1
  101. package/lib/simulation/automation/pause-simulation.js +1 -1
  102. package/lib/simulation/automation/run-command-simulation.js +1 -1
  103. package/lib/simulation/automation/run-instance-simulation.js +1 -1
  104. package/lib/simulation/automation/sleep-simulation.js +1 -1
  105. package/lib/simulation/automation/update-variable-simulation.js +1 -1
  106. package/lib/simulation/automation/wait-for-resource-simulation.js +1 -1
  107. package/lib/simulation/automation-step-simulation.js +1 -1
  108. package/lib/simulation/command/command-simulation-base.js +1 -1
  109. package/lib/simulation/command/ps-module-simulation.js +1 -1
  110. package/lib/simulation/command/run-powershell-script-simulation.js +1 -1
  111. package/lib/simulation/command/run-shell-script-simulation.js +1 -1
  112. package/lib/simulation/command-step-simulation.js +1 -1
  113. package/lib/simulation/document/automation-simulation.js +1 -1
  114. package/lib/simulation/document/command-simulation.js +1 -1
  115. package/lib/simulation/simulation.js +1 -1
  116. package/node_modules/@aws-sdk/checksums/package.json +2 -2
  117. package/node_modules/@aws-sdk/client-cloudformation/package.json +3 -3
  118. package/node_modules/@aws-sdk/client-cloudwatch/package.json +3 -3
  119. package/node_modules/@aws-sdk/client-ec2/dist-cjs/schemas/schemas_0.js +37 -4
  120. package/node_modules/@aws-sdk/client-ec2/dist-es/schemas/schemas_0.js +35 -4
  121. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/AttachImageWatermarkCommand.d.ts +2 -3
  122. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/CancelCapacityReservationCommand.d.ts +10 -16
  123. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetAllowedImagesSettingsCommand.d.ts +8 -0
  124. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/GetAwsNetworkPerformanceDataCommand.d.ts +2 -1
  125. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ModifyIpamScopeCommand.d.ts +1 -2
  126. package/node_modules/@aws-sdk/client-ec2/dist-types/commands/ReplaceImageCriteriaInAllowedImagesSettingsCommand.d.ts +15 -0
  127. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_5.d.ts +42 -15
  128. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_6.d.ts +17 -35
  129. package/node_modules/@aws-sdk/client-ec2/dist-types/models/models_7.d.ts +86 -1
  130. package/node_modules/@aws-sdk/client-ec2/dist-types/schemas/schemas_0.d.ts +2 -0
  131. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/GetAwsNetworkPerformanceDataCommand.d.ts +2 -4
  132. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/commands/ModifyIpamScopeCommand.d.ts +4 -2
  133. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_5.d.ts +7 -4
  134. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_6.d.ts +5 -9
  135. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/models/models_7.d.ts +15 -0
  136. package/node_modules/@aws-sdk/client-ec2/dist-types/ts3.4/schemas/schemas_0.d.ts +2 -0
  137. package/node_modules/@aws-sdk/client-ec2/package.json +4 -4
  138. package/node_modules/@aws-sdk/client-iam/package.json +3 -3
  139. package/node_modules/@aws-sdk/client-lambda/dist-types/commands/GetProvisionedConcurrencyConfigCommand.d.ts +4 -4
  140. package/node_modules/@aws-sdk/client-lambda/package.json +3 -3
  141. package/node_modules/@aws-sdk/client-s3/package.json +6 -6
  142. package/node_modules/@aws-sdk/client-sns/package.json +3 -3
  143. package/node_modules/@aws-sdk/client-sqs/package.json +3 -3
  144. package/node_modules/@aws-sdk/client-ssm/package.json +3 -3
  145. package/node_modules/@aws-sdk/core/package.json +2 -2
  146. package/node_modules/@aws-sdk/credential-provider-env/package.json +2 -2
  147. package/node_modules/@aws-sdk/credential-provider-http/package.json +2 -2
  148. package/node_modules/@aws-sdk/credential-provider-ini/package.json +9 -9
  149. package/node_modules/@aws-sdk/credential-provider-login/package.json +3 -3
  150. package/node_modules/@aws-sdk/credential-provider-node/package.json +7 -7
  151. package/node_modules/@aws-sdk/credential-provider-process/package.json +2 -2
  152. package/node_modules/@aws-sdk/credential-provider-sso/package.json +4 -4
  153. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +3 -3
  154. package/node_modules/@aws-sdk/middleware-flexible-checksums/package.json +2 -2
  155. package/node_modules/@aws-sdk/middleware-sdk-ec2/package.json +2 -2
  156. package/node_modules/@aws-sdk/middleware-sdk-s3/package.json +2 -2
  157. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +1 -1
  158. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +1 -1
  159. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +1 -1
  160. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +1 -1
  161. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +1 -1
  162. package/node_modules/@aws-sdk/nested-clients/package.json +2 -2
  163. package/node_modules/@aws-sdk/token-providers/package.json +3 -3
  164. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.browser.js +1 -1
  165. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js +233 -43
  166. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.browser.js +1 -1
  167. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js +233 -43
  168. package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/xml-parser.d.ts +1 -1
  169. package/node_modules/@aws-sdk/xml-builder/dist-types/xml-parser.d.ts +2 -1
  170. package/node_modules/@aws-sdk/xml-builder/package.json +4 -4
  171. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.browser.js +355 -145
  172. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.js +456 -142
  173. package/node_modules/@smithy/core/dist-cjs/submodules/checksum/index.native.js +355 -145
  174. package/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +5 -2
  175. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.browser.js +30 -36
  176. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.js +54 -110
  177. package/node_modules/@smithy/core/dist-cjs/submodules/serde/index.native.js +30 -36
  178. package/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Js.js +27 -0
  179. package/node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Node.js +21 -0
  180. package/node_modules/@smithy/core/dist-es/submodules/checksum/index.browser.js +7 -1
  181. package/node_modules/@smithy/core/dist-es/submodules/checksum/index.js +7 -1
  182. package/node_modules/@smithy/core/dist-es/submodules/checksum/index.native.js +7 -1
  183. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Js.js +92 -0
  184. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5/Md5Node.js +29 -0
  185. package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Js.js +179 -0
  186. package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256Node.js +59 -0
  187. package/node_modules/@smithy/core/dist-es/submodules/checksum/sha256/Sha256WebCrypto.js +71 -0
  188. package/node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js +4 -1
  189. package/node_modules/@smithy/core/dist-es/submodules/serde/concatBytes.js +15 -0
  190. package/node_modules/@smithy/core/dist-es/submodules/serde/index.browser.js +2 -0
  191. package/node_modules/@smithy/core/dist-es/submodules/serde/index.js +2 -0
  192. package/node_modules/@smithy/core/dist-es/submodules/serde/index.native.js +2 -0
  193. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/checksum/ChecksumStream.js +4 -0
  194. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/headStream.js +2 -1
  195. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.browser.js +12 -38
  196. package/node_modules/@smithy/core/dist-es/submodules/serde/util-stream/stream-collector.js +18 -33
  197. package/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.browser.js +3 -0
  198. package/node_modules/@smithy/core/dist-es/submodules/serde/util-utf8/toUint8Array.js +3 -0
  199. package/node_modules/@smithy/core/dist-types/submodules/checksum/crc32/Crc32Js.d.ts +13 -0
  200. package/node_modules/@smithy/core/dist-types/submodules/checksum/crc32/Crc32Node.d.ts +13 -0
  201. package/node_modules/@smithy/core/dist-types/submodules/checksum/index.browser.d.ts +7 -1
  202. package/node_modules/@smithy/core/dist-types/submodules/checksum/index.d.ts +7 -1
  203. package/node_modules/@smithy/core/dist-types/submodules/checksum/index.native.d.ts +7 -1
  204. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5/Md5Js.d.ts +19 -0
  205. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5/Md5Node.d.ts +17 -0
  206. package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256Js.d.ts +28 -0
  207. package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256Node.d.ts +13 -0
  208. package/node_modules/@smithy/core/dist-types/submodules/checksum/sha256/Sha256WebCrypto.d.ts +22 -0
  209. package/node_modules/@smithy/core/dist-types/submodules/serde/concatBytes.d.ts +6 -0
  210. package/node_modules/@smithy/core/dist-types/submodules/serde/index.browser.d.ts +2 -0
  211. package/node_modules/@smithy/core/dist-types/submodules/serde/index.d.ts +2 -0
  212. package/node_modules/@smithy/core/dist-types/submodules/serde/index.native.d.ts +2 -0
  213. package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/checksum/ChecksumStream.d.ts +9 -0
  214. package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/stream-collector.browser.d.ts +8 -2
  215. package/node_modules/@smithy/core/dist-types/submodules/serde/util-stream/stream-collector.d.ts +4 -1
  216. package/node_modules/@smithy/core/package.json +4 -3
  217. package/node_modules/@smithy/credential-provider-imds/package.json +2 -2
  218. package/node_modules/@smithy/fetch-http-handler/dist-cjs/index.js +2 -55
  219. package/node_modules/@smithy/fetch-http-handler/dist-es/index.js +2 -2
  220. package/node_modules/@smithy/fetch-http-handler/dist-types/index.d.ts +2 -2
  221. package/node_modules/@smithy/fetch-http-handler/package.json +2 -2
  222. package/node_modules/@smithy/middleware-compression/package.json +2 -2
  223. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +3 -51
  224. package/node_modules/@smithy/node-http-handler/dist-es/index.js +3 -3
  225. package/node_modules/@smithy/node-http-handler/dist-types/index.d.ts +3 -3
  226. package/node_modules/@smithy/node-http-handler/package.json +2 -2
  227. package/node_modules/@smithy/signature-v4/package.json +2 -2
  228. package/node_modules/immutable/dist/immutable.es.js +161 -15
  229. package/node_modules/immutable/dist/immutable.js +161 -15
  230. package/node_modules/immutable/dist/immutable.min.js +33 -32
  231. package/node_modules/immutable/package.json +1 -1
  232. package/node_modules/js-yaml/README.md +5 -3
  233. package/node_modules/js-yaml/dist/js-yaml.js +3009 -2402
  234. package/node_modules/js-yaml/dist/js-yaml.js.map +1 -1
  235. package/node_modules/js-yaml/dist/js-yaml.min.js +2 -33
  236. package/node_modules/js-yaml/dist/js-yaml.min.js.map +1 -1
  237. package/node_modules/js-yaml/dist/js-yaml.mjs +3073 -2381
  238. package/node_modules/js-yaml/dist/js-yaml.mjs.map +1 -1
  239. package/node_modules/js-yaml/lib/loader.js +7 -11
  240. package/node_modules/js-yaml/lib/type/float.js +1 -1
  241. package/node_modules/js-yaml/lib/type/int.js +4 -4
  242. package/node_modules/js-yaml/package.json +10 -4
  243. package/package.json +12 -12
  244. package/node_modules/@aws-sdk/xml-builder/dist-cjs/xml-external/nodable_entities.js +0 -333
  245. package/node_modules/@aws-sdk/xml-builder/dist-es/xml-external/nodable_entities.js +0 -332
  246. package/node_modules/@aws-sdk/xml-builder/dist-types/ts3.4/xml-external/nodable_entities.d.ts +0 -66
  247. package/node_modules/@aws-sdk/xml-builder/dist-types/xml-external/nodable_entities.d.ts +0 -65
  248. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/CHANGELOG.md +0 -827
  249. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/LICENSE +0 -21
  250. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/README.md +0 -202
  251. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js +0 -2
  252. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +0 -1
  253. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.cjs +0 -1
  254. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.d.cts +0 -770
  255. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js +0 -2
  256. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxp.min.js.map +0 -1
  257. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js +0 -2
  258. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxparser.min.js.map +0 -1
  259. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js +0 -2
  260. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/lib/fxvalidator.min.js.map +0 -1
  261. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/package.json +0 -93
  262. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/cli/cli.js +0 -97
  263. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/cli/man.js +0 -17
  264. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/cli/read.js +0 -43
  265. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.d.ts +0 -739
  266. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/fxp.js +0 -14
  267. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/ignoreAttributes.js +0 -18
  268. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/util.js +0 -61
  269. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/CharsSymbol.js +0 -16
  270. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/EntitiesParser.js +0 -106
  271. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OptionsBuilder.js +0 -61
  272. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/BaseOutputBuilder.js +0 -69
  273. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsArrBuilder.js +0 -103
  274. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsMinArrBuilder.js +0 -100
  275. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/JsObjBuilder.js +0 -154
  276. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/OutputBuilders/ParserOptionsBuilder.js +0 -94
  277. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/Report.js +0 -0
  278. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/TagPath.js +0 -81
  279. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/TagPathMatcher.js +0 -13
  280. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XMLParser.js +0 -83
  281. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/Xml2JsParser.js +0 -235
  282. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XmlPartReader.js +0 -210
  283. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/XmlSpecialTagsReader.js +0 -111
  284. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/inputSource/BufferSource.js +0 -116
  285. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/inputSource/StringSource.js +0 -121
  286. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/EntitiesParser.js +0 -105
  287. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParser.js +0 -22
  288. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/booleanParserExt.js +0 -19
  289. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/currency.js +0 -38
  290. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/join.js +0 -13
  291. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/number.js +0 -14
  292. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/v6/valueParsers/trim.js +0 -6
  293. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/validator.js +0 -425
  294. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js +0 -6
  295. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js +0 -407
  296. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js +0 -163
  297. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +0 -840
  298. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/XMLParser.js +0 -71
  299. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/node2json.js +0 -177
  300. package/node_modules/@aws-sdk/xml-builder/node_modules/fast-xml-parser/src/xmlparser/xmlNode.js +0 -40
  301. package/node_modules/@aws-sdk/xml-builder/node_modules/strnum/CHANGELOG.md +0 -51
  302. package/node_modules/@aws-sdk/xml-builder/node_modules/strnum/LICENSE +0 -21
  303. package/node_modules/@aws-sdk/xml-builder/node_modules/strnum/README.md +0 -113
  304. package/node_modules/@aws-sdk/xml-builder/node_modules/strnum/package.json +0 -36
  305. package/node_modules/@aws-sdk/xml-builder/node_modules/strnum/strnum.js +0 -171
  306. package/node_modules/@nodable/entities/README.md +0 -41
  307. package/node_modules/@nodable/entities/package.json +0 -57
  308. package/node_modules/@nodable/entities/src/EntityDecoder.js +0 -644
  309. package/node_modules/@nodable/entities/src/EntityEncoder.js +0 -194
  310. package/node_modules/@nodable/entities/src/entities.js +0 -1159
  311. package/node_modules/@nodable/entities/src/entityTries.js +0 -49
  312. package/node_modules/@nodable/entities/src/index.d.ts +0 -341
  313. package/node_modules/@nodable/entities/src/index.js +0 -29
  314. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5-js/constants.js +0 -3
  315. package/node_modules/@smithy/core/dist-es/submodules/checksum/md5-js/md5.js +0 -168
  316. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5-js/constants.d.ts +0 -12
  317. package/node_modules/@smithy/core/dist-types/submodules/checksum/md5-js/md5.d.ts +0 -16
  318. package/node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js +0 -53
  319. package/node_modules/@smithy/fetch-http-handler/dist-types/stream-collector.d.ts +0 -2
  320. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/collector.js +0 -8
  321. package/node_modules/@smithy/node-http-handler/dist-es/stream-collector/index.js +0 -41
  322. package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/collector.d.ts +0 -5
  323. package/node_modules/@smithy/node-http-handler/dist-types/stream-collector/index.d.ts +0 -7
  324. package/node_modules/anynum/LICENSE +0 -21
  325. package/node_modules/anynum/README.md +0 -142
  326. package/node_modules/anynum/anynum.js +0 -135
  327. package/node_modules/anynum/digitTable.js +0 -116
  328. package/node_modules/anynum/package.json +0 -42
  329. package/node_modules/fast-xml-builder/CHANGELOG.md +0 -40
  330. package/node_modules/fast-xml-builder/LICENSE +0 -21
  331. package/node_modules/fast-xml-builder/README.md +0 -74
  332. package/node_modules/fast-xml-builder/lib/fxb.cjs +0 -1
  333. package/node_modules/fast-xml-builder/lib/fxb.d.cts +0 -270
  334. package/node_modules/fast-xml-builder/lib/fxb.min.js +0 -2
  335. package/node_modules/fast-xml-builder/lib/fxb.min.js.map +0 -1
  336. package/node_modules/fast-xml-builder/package.json +0 -81
  337. package/node_modules/fast-xml-builder/src/fxb.d.ts +0 -270
  338. package/node_modules/fast-xml-builder/src/fxb.js +0 -599
  339. package/node_modules/fast-xml-builder/src/ignoreAttributes.js +0 -18
  340. package/node_modules/fast-xml-builder/src/orderedJs2Xml.js +0 -359
  341. package/node_modules/fast-xml-builder/src/prettifyJs2Xml.js +0 -0
  342. package/node_modules/fast-xml-builder/src/util.js +0 -16
  343. package/node_modules/path-expression-matcher/LICENSE +0 -21
  344. package/node_modules/path-expression-matcher/README.md +0 -947
  345. package/node_modules/path-expression-matcher/lib/pem.cjs +0 -1
  346. package/node_modules/path-expression-matcher/lib/pem.d.cts +0 -715
  347. package/node_modules/path-expression-matcher/lib/pem.min.js +0 -2
  348. package/node_modules/path-expression-matcher/lib/pem.min.js.map +0 -1
  349. package/node_modules/path-expression-matcher/package.json +0 -79
  350. package/node_modules/path-expression-matcher/src/Expression.js +0 -232
  351. package/node_modules/path-expression-matcher/src/ExpressionSet.js +0 -225
  352. package/node_modules/path-expression-matcher/src/Matcher.js +0 -660
  353. package/node_modules/path-expression-matcher/src/index.d.ts +0 -589
  354. package/node_modules/path-expression-matcher/src/index.js +0 -29
  355. package/node_modules/xml-naming/README.md +0 -189
  356. package/node_modules/xml-naming/package.json +0 -54
  357. package/node_modules/xml-naming/src/index.d.ts +0 -74
  358. package/node_modules/xml-naming/src/index.js +0 -270
@@ -0,0 +1,179 @@
1
+ import { toUint8Array } from "@smithy/core/serde";
2
+ const BLOCK = 64;
3
+ const DIGEST_LENGTH = 32;
4
+ const MAX_HASHABLE_LENGTH = 2 ** 53 - 1;
5
+ export class Sha256Js {
6
+ digestLength = DIGEST_LENGTH;
7
+ state = Int32Array.from(INIT);
8
+ w;
9
+ buffer = new Uint8Array(64);
10
+ bufferLength = 0;
11
+ bytesHashed = 0;
12
+ finished = false;
13
+ inner;
14
+ outer;
15
+ constructor(secret) {
16
+ if (secret) {
17
+ const key = Sha256Js.normalizeKey(secret);
18
+ this.inner = new Sha256Js();
19
+ this.outer = new Sha256Js();
20
+ const { inner, outer } = this;
21
+ const pad = new Uint8Array(BLOCK * 2);
22
+ for (let i = 0; i < BLOCK; ++i) {
23
+ pad[i] = 0x36 ^ key[i];
24
+ pad[i + BLOCK] = 0x5c ^ key[i];
25
+ }
26
+ inner.update(pad.subarray(0, BLOCK));
27
+ outer.update(pad.subarray(BLOCK));
28
+ }
29
+ }
30
+ update(data) {
31
+ if (this.finished) {
32
+ throw new Error("Attempted to update an already finished HMAC.");
33
+ }
34
+ if (this.inner) {
35
+ this.inner.update(data);
36
+ return;
37
+ }
38
+ const chunk = toUint8Array(data);
39
+ let position = 0;
40
+ let { byteLength } = chunk;
41
+ this.bytesHashed += byteLength;
42
+ if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {
43
+ throw new Error("Cannot hash more than 2^53 - 1 bits");
44
+ }
45
+ while (byteLength > 0) {
46
+ this.buffer[this.bufferLength++] = chunk[position++];
47
+ byteLength--;
48
+ if (this.bufferLength === BLOCK) {
49
+ this.hashBuffer();
50
+ this.bufferLength = 0;
51
+ }
52
+ }
53
+ }
54
+ async digest() {
55
+ const { inner, outer } = this;
56
+ if (inner && outer) {
57
+ if (this.finished) {
58
+ throw new Error("Attempted to digest an already finished HMAC.");
59
+ }
60
+ this.finished = true;
61
+ const innerDigest = inner.digestSync();
62
+ outer.update(innerDigest);
63
+ return outer.digestSync();
64
+ }
65
+ return this.digestSync();
66
+ }
67
+ reset() {
68
+ this.state = Int32Array.from(INIT);
69
+ this.buffer = new Uint8Array(64);
70
+ this.bufferLength = 0;
71
+ this.bytesHashed = 0;
72
+ }
73
+ digestSync() {
74
+ const state = this.state.slice();
75
+ const buffer = this.buffer.slice();
76
+ let bufferLength = this.bufferLength;
77
+ const bitsHashed = this.bytesHashed * 8;
78
+ const bufferView = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
79
+ bufferView.setUint8(bufferLength++, 0x80);
80
+ if ((bufferLength - 1) % BLOCK >= BLOCK - 8) {
81
+ for (let i = bufferLength; i < BLOCK; ++i) {
82
+ bufferView.setUint8(i, 0);
83
+ }
84
+ this.hashBufferWith(state, buffer);
85
+ bufferLength = 0;
86
+ }
87
+ for (let i = bufferLength; i < BLOCK - 8; ++i) {
88
+ bufferView.setUint8(i, 0);
89
+ }
90
+ bufferView.setUint32(BLOCK - 8, Math.floor(bitsHashed / 0x100000000), false);
91
+ bufferView.setUint32(BLOCK - 4, bitsHashed, false);
92
+ this.hashBufferWith(state, buffer);
93
+ const out = new Uint8Array(DIGEST_LENGTH);
94
+ for (let i = 0; i < 8; ++i) {
95
+ out[i * 4] = (state[i] >>> 24) & 0xff;
96
+ out[i * 4 + 1] = (state[i] >>> 16) & 0xff;
97
+ out[i * 4 + 2] = (state[i] >>> 8) & 0xff;
98
+ out[i * 4 + 3] = (state[i] >>> 0) & 0xff;
99
+ }
100
+ return out;
101
+ }
102
+ static normalizeKey(secret) {
103
+ const key = toUint8Array(secret);
104
+ if (key.byteLength > BLOCK) {
105
+ const h = new Sha256Js();
106
+ h.update(key);
107
+ const out = h.digestSync();
108
+ const padded = new Uint8Array(BLOCK);
109
+ padded.set(out);
110
+ return padded;
111
+ }
112
+ if (key.byteLength < BLOCK) {
113
+ const padded = new Uint8Array(BLOCK);
114
+ padded.set(key);
115
+ return padded;
116
+ }
117
+ return key;
118
+ }
119
+ hashBuffer() {
120
+ this.hashBufferWith(this.state, this.buffer);
121
+ }
122
+ hashBufferWith(state, buffer) {
123
+ const w = (this.w ??= new Int32Array(64));
124
+ let s0 = state[0], s1 = state[1], s2 = state[2], s3 = state[3], s4 = state[4], s5 = state[5], s6 = state[6], s7 = state[7];
125
+ for (let i = 0; i < BLOCK; ++i) {
126
+ if (i < 16) {
127
+ w[i] =
128
+ ((buffer[i * 4] & 0xff) << 24) |
129
+ ((buffer[i * 4 + 1] & 0xff) << 16) |
130
+ ((buffer[i * 4 + 2] & 0xff) << 8) |
131
+ (buffer[i * 4 + 3] & 0xff);
132
+ }
133
+ else {
134
+ let u = w[i - 2];
135
+ const t1 = ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);
136
+ u = w[i - 15];
137
+ const t2 = ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);
138
+ w[i] = ((t1 + w[i - 7]) | 0) + ((t2 + w[i - 16]) | 0);
139
+ }
140
+ const t1 = ((((((s4 >>> 6) | (s4 << 26)) ^ ((s4 >>> 11) | (s4 << 21)) ^ ((s4 >>> 25) | (s4 << 7))) +
141
+ ((s4 & s5) ^ (~s4 & s6))) |
142
+ 0) +
143
+ ((s7 + ((K[i] + w[i]) | 0)) | 0)) |
144
+ 0;
145
+ const t2 = ((((s0 >>> 2) | (s0 << 30)) ^ ((s0 >>> 13) | (s0 << 19)) ^ ((s0 >>> 22) | (s0 << 10))) +
146
+ ((s0 & s1) ^ (s0 & s2) ^ (s1 & s2))) |
147
+ 0;
148
+ s7 = s6;
149
+ s6 = s5;
150
+ s5 = s4;
151
+ s4 = (s3 + t1) | 0;
152
+ s3 = s2;
153
+ s2 = s1;
154
+ s1 = s0;
155
+ s0 = (t1 + t2) | 0;
156
+ }
157
+ state[0] += s0;
158
+ state[1] += s1;
159
+ state[2] += s2;
160
+ state[3] += s3;
161
+ state[4] += s4;
162
+ state[5] += s5;
163
+ state[6] += s6;
164
+ state[7] += s7;
165
+ }
166
+ }
167
+ const INIT = new Int32Array([
168
+ 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19,
169
+ ]);
170
+ const K = new Int32Array([
171
+ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
172
+ 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
173
+ 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
174
+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
175
+ 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
176
+ 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
177
+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
178
+ 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
179
+ ]);
@@ -0,0 +1,59 @@
1
+ import { createHash, createHmac } from "node:crypto";
2
+ import { Sha256Js } from "./Sha256Js";
3
+ const hasNativeCrypto = (() => {
4
+ try {
5
+ createHash("sha256");
6
+ return true;
7
+ }
8
+ catch {
9
+ return false;
10
+ }
11
+ })();
12
+ export const Sha256Node = hasNativeCrypto ? buildNativeClass() : Sha256Js;
13
+ function buildNativeClass() {
14
+ return class Sha256Node {
15
+ digestLength = 32;
16
+ secret;
17
+ hash;
18
+ isHmac;
19
+ finished = false;
20
+ constructor(secret) {
21
+ this.secret = secret;
22
+ this.isHmac = !!secret;
23
+ this.hash = this.createHash();
24
+ }
25
+ update(data) {
26
+ if (this.finished) {
27
+ throw new Error("Attempted to update an already finished hash.");
28
+ }
29
+ this.hash.update(data);
30
+ }
31
+ async digest() {
32
+ let buf;
33
+ if (this.isHmac) {
34
+ this.finished = true;
35
+ buf = this.hash.digest();
36
+ }
37
+ else {
38
+ buf = this.hash.copy().digest();
39
+ }
40
+ return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);
41
+ }
42
+ reset() {
43
+ this.hash = this.createHash();
44
+ this.finished = false;
45
+ }
46
+ createHash() {
47
+ return this.secret ? createHmac("sha256", toBuffer(this.secret)) : createHash("sha256");
48
+ }
49
+ };
50
+ }
51
+ function toBuffer(data) {
52
+ if (typeof data === "string") {
53
+ return data;
54
+ }
55
+ if (ArrayBuffer.isView(data)) {
56
+ return Buffer.from(data.buffer, data.byteOffset, data.byteLength);
57
+ }
58
+ return Buffer.from(data);
59
+ }
@@ -0,0 +1,71 @@
1
+ import { concatBytes, toUint8Array } from "@smithy/core/serde";
2
+ import { Sha256Js } from "./Sha256Js";
3
+ const { digest, sign, importKey } = globalThis?.crypto?.subtle ?? {};
4
+ const subtle = typeof digest === "function" && typeof sign === "function" && typeof importKey === "function"
5
+ ? globalThis.crypto.subtle
6
+ : undefined;
7
+ const MAX_PENDING_BYTES = 8 * 1024 * 1024;
8
+ export class Sha256WebCrypto {
9
+ digestLength = 32;
10
+ secret;
11
+ pending = [];
12
+ pendingBytes = 0;
13
+ fallback;
14
+ finished = false;
15
+ constructor(secret) {
16
+ if (secret) {
17
+ this.secret = toUint8Array(secret);
18
+ }
19
+ }
20
+ update(data) {
21
+ if (this.finished) {
22
+ throw new Error("Attempted to update an already finished HMAC.");
23
+ }
24
+ if (this.fallback) {
25
+ this.fallback.update(data);
26
+ return;
27
+ }
28
+ this.pending.push(data.slice());
29
+ this.pendingBytes += data.byteLength;
30
+ if (this.pendingBytes >= MAX_PENDING_BYTES) {
31
+ this.switchToFallback();
32
+ }
33
+ }
34
+ async digest() {
35
+ if (this.fallback) {
36
+ return this.fallback.digest();
37
+ }
38
+ if (this.secret && this.finished) {
39
+ throw new Error("Attempted to digest an already finished HMAC.");
40
+ }
41
+ const data = concatBytes(this.pending);
42
+ if (subtle) {
43
+ if (this.secret) {
44
+ this.finished = true;
45
+ const key = await subtle.importKey("raw", this.secret, { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
46
+ const sig = await subtle.sign("HMAC", key, data);
47
+ return new Uint8Array(sig);
48
+ }
49
+ const hash = await subtle.digest("SHA-256", data);
50
+ return new Uint8Array(hash);
51
+ }
52
+ const sha256 = new Sha256Js(this.secret);
53
+ sha256.update(data);
54
+ return sha256.digest();
55
+ }
56
+ reset() {
57
+ this.pending = [];
58
+ this.pendingBytes = 0;
59
+ this.fallback = undefined;
60
+ this.finished = false;
61
+ }
62
+ switchToFallback() {
63
+ const sha256Js = new Sha256Js(this.secret);
64
+ for (const chunk of this.pending) {
65
+ sha256Js.update(chunk);
66
+ }
67
+ this.fallback = sha256Js;
68
+ this.pending = [];
69
+ this.pendingBytes = 0;
70
+ }
71
+ }
@@ -1,5 +1,5 @@
1
1
  import { NormalizedSchema, TypeRegistry, translateTraits } from "@smithy/core/schema";
2
- import { HttpRequest, HttpResponse } from "@smithy/core/transport";
2
+ import { HttpRequest, HttpResponse, isValidHostname } from "@smithy/core/transport";
3
3
  import { SerdeContext } from "./SerdeContext";
4
4
  export class HttpProtocol extends SerdeContext {
5
5
  options;
@@ -84,6 +84,9 @@ export class HttpProtocol extends SerdeContext {
84
84
  hostPrefix = hostPrefix.replace(`{${name}}`, replacement);
85
85
  }
86
86
  request.hostname = hostPrefix + request.hostname;
87
+ if (!isValidHostname(request.hostname)) {
88
+ throw new Error(`[${request.hostname}] is not a valid hostname.`);
89
+ }
87
90
  }
88
91
  }
89
92
  }
@@ -0,0 +1,15 @@
1
+ export function concatBytes(arrays, length) {
2
+ if (length === undefined) {
3
+ length = 0;
4
+ for (const bytes of arrays) {
5
+ length += bytes.byteLength;
6
+ }
7
+ }
8
+ const result = new Uint8Array(length);
9
+ let offset = 0;
10
+ for (const buf of arrays) {
11
+ result.set(buf, offset);
12
+ offset += buf.byteLength;
13
+ }
14
+ return result;
15
+ }
@@ -19,6 +19,7 @@ export { toBase64, fromBase64 };
19
19
  export { calculateBodyLength } from "./util-body-length/calculateBodyLength.browser";
20
20
  export { toUint8Array } from "./util-utf8/toUint8Array.browser";
21
21
  export { toUtf8, fromUtf8 };
22
+ export { concatBytes } from "./concatBytes";
22
23
  export const fromArrayBuffer = no;
23
24
  export const fromString = no;
24
25
  export { isArrayBuffer } from "./is-array-buffer/is-array-buffer";
@@ -36,6 +37,7 @@ export { headStream } from "./util-stream/headStream.browser";
36
37
  export { sdkStreamMixin } from "./util-stream/sdk-stream-mixin.browser";
37
38
  export { splitStream } from "./util-stream/splitStream.browser";
38
39
  export { isReadableStream, isBlob } from "./util-stream/stream-type-check";
40
+ export { streamCollector } from "./util-stream/stream-collector.browser";
39
41
  const _getRandomValues = (array) => crypto.getRandomValues(array);
40
42
  export const v4 = bindV4(_getRandomValues);
41
43
  export const generateIdempotencyToken = v4;
@@ -19,6 +19,7 @@ export { toBase64, fromBase64 };
19
19
  export { calculateBodyLength } from "./util-body-length/calculateBodyLength";
20
20
  export { toUint8Array } from "./util-utf8/toUint8Array";
21
21
  export { toUtf8, fromUtf8 };
22
+ export { concatBytes } from "./concatBytes";
22
23
  export { fromArrayBuffer, fromString } from "./util-buffer-from/buffer-from";
23
24
  export { isArrayBuffer } from "./is-array-buffer/is-array-buffer";
24
25
  export { deserializerMiddleware } from "./middleware-serde/deserializerMiddleware";
@@ -35,6 +36,7 @@ export { headStream } from "./util-stream/headStream";
35
36
  export { sdkStreamMixin } from "./util-stream/sdk-stream-mixin";
36
37
  export { splitStream } from "./util-stream/splitStream";
37
38
  export { isReadableStream, isBlob } from "./util-stream/stream-type-check";
39
+ export { streamCollector } from "./util-stream/stream-collector";
38
40
  const _getRandomValues = getRandomValues;
39
41
  export const v4 = bindV4(_getRandomValues);
40
42
  export const generateIdempotencyToken = v4;
@@ -21,6 +21,7 @@ export { calculateBodyLength } from "./util-body-length/calculateBodyLength.brow
21
21
  export { fromUtf8 } from "./util-utf8/fromUtf8.browser";
22
22
  export { toUint8Array } from "./util-utf8/toUint8Array.browser";
23
23
  export { toUtf8 } from "./util-utf8/toUtf8.browser";
24
+ export { concatBytes } from "./concatBytes";
24
25
  export const fromArrayBuffer = no;
25
26
  export const fromString = no;
26
27
  export { isArrayBuffer } from "./is-array-buffer/is-array-buffer";
@@ -38,6 +39,7 @@ export { headStream } from "./util-stream/headStream.browser";
38
39
  export { sdkStreamMixin } from "./util-stream/sdk-stream-mixin.browser";
39
40
  export { splitStream } from "./util-stream/splitStream.browser";
40
41
  export { isReadableStream, isBlob } from "./util-stream/stream-type-check";
42
+ export { streamCollector } from "./util-stream/stream-collector.browser";
41
43
  const _getRandomValues = (array) => crypto.getRandomValues(array);
42
44
  export const v4 = bindV4(_getRandomValues);
43
45
  export const generateIdempotencyToken = v4;
@@ -57,4 +57,8 @@ export class ChecksumStream extends Duplex {
57
57
  this.push(null);
58
58
  return callback();
59
59
  }
60
+ _destroy(error, callback) {
61
+ this.source?.destroy();
62
+ callback(error);
63
+ }
60
64
  }
@@ -1,4 +1,5 @@
1
1
  import { Writable } from "node:stream";
2
+ import { concatBytes } from "../concatBytes";
2
3
  import { headStream as headWebStream } from "./headStream.browser";
3
4
  import { isReadableStream } from "./stream-type-check";
4
5
  export const headStream = (stream, bytes) => {
@@ -15,7 +16,7 @@ export const headStream = (stream, bytes) => {
15
16
  });
16
17
  collector.on("error", reject);
17
18
  collector.on("finish", function () {
18
- const bytes = new Uint8Array(Buffer.concat(this.buffers));
19
+ const bytes = concatBytes(this.buffers);
19
20
  resolve(bytes);
20
21
  });
21
22
  });
@@ -1,53 +1,27 @@
1
- import { fromBase64 } from "../util-base64/fromBase64.browser";
1
+ import { concatBytes } from "../concatBytes";
2
+ import { isBlob } from "./stream-type-check";
2
3
  export const streamCollector = async (stream) => {
3
- if ((typeof Blob === "function" && stream instanceof Blob) || stream.constructor?.name === "Blob") {
4
- if (Blob.prototype.arrayBuffer !== undefined) {
5
- return new Uint8Array(await stream.arrayBuffer());
6
- }
4
+ if (isBlob(stream)) {
7
5
  return collectBlob(stream);
8
6
  }
9
- return collectStream(stream);
7
+ return collectReadableStream(stream);
10
8
  };
11
- async function collectBlob(blob) {
12
- const base64 = await readToBase64(blob);
13
- const arrayBuffer = fromBase64(base64);
14
- return new Uint8Array(arrayBuffer);
9
+ export async function collectBlob(blob) {
10
+ return blob.arrayBuffer().then((ab) => new Uint8Array(ab));
15
11
  }
16
- async function collectStream(stream) {
12
+ export async function collectReadableStream(stream) {
17
13
  const chunks = [];
18
14
  const reader = stream.getReader();
19
- let isDone = false;
20
15
  let length = 0;
21
- while (!isDone) {
16
+ while (true) {
22
17
  const { done, value } = await reader.read();
23
18
  if (value) {
24
19
  chunks.push(value);
25
20
  length += value.length;
26
21
  }
27
- isDone = done;
28
- }
29
- const collected = new Uint8Array(length);
30
- let offset = 0;
31
- for (const chunk of chunks) {
32
- collected.set(chunk, offset);
33
- offset += chunk.length;
22
+ if (done) {
23
+ break;
24
+ }
34
25
  }
35
- return collected;
36
- }
37
- function readToBase64(blob) {
38
- return new Promise((resolve, reject) => {
39
- const reader = new FileReader();
40
- reader.onloadend = () => {
41
- if (reader.readyState !== 2) {
42
- return reject(new Error("Reader aborted too early"));
43
- }
44
- const result = (reader.result ?? "");
45
- const commaIndex = result.indexOf(",");
46
- const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;
47
- resolve(result.substring(dataOffset));
48
- };
49
- reader.onabort = () => reject(new Error("Read aborted"));
50
- reader.onerror = () => reject(reader.error);
51
- reader.readAsDataURL(blob);
52
- });
26
+ return concatBytes(chunks, length);
53
27
  }
@@ -1,48 +1,33 @@
1
1
  import { Writable } from "node:stream";
2
- class Collector extends Writable {
3
- bufferedBytes = [];
4
- _write(chunk, encoding, callback) {
5
- this.bufferedBytes.push(chunk);
6
- callback();
7
- }
8
- }
9
- const isReadableStreamInstance = (stream) => typeof ReadableStream === "function" && stream instanceof ReadableStream;
10
- async function collectReadableStream(stream) {
11
- const chunks = [];
12
- const reader = stream.getReader();
13
- let isDone = false;
14
- let length = 0;
15
- while (!isDone) {
16
- const { done, value } = await reader.read();
17
- if (value) {
18
- chunks.push(value);
19
- length += value.length;
20
- }
21
- isDone = done;
22
- }
23
- const collected = new Uint8Array(length);
24
- let offset = 0;
25
- for (const chunk of chunks) {
26
- collected.set(chunk, offset);
27
- offset += chunk.length;
28
- }
29
- return collected;
30
- }
2
+ import { concatBytes } from "../concatBytes";
3
+ import { collectBlob, collectReadableStream } from "./stream-collector.browser";
4
+ import { isBlob, isReadableStream } from "./stream-type-check";
31
5
  export const streamCollector = (stream) => {
32
- if (isReadableStreamInstance(stream)) {
6
+ if (isBlob(stream)) {
7
+ return collectBlob(stream);
8
+ }
9
+ if (isReadableStream(stream)) {
33
10
  return collectReadableStream(stream);
34
11
  }
35
12
  return new Promise((resolve, reject) => {
36
13
  const collector = new Collector();
37
- stream.pipe(collector);
38
- stream.on("error", (err) => {
14
+ const nodeStream = stream;
15
+ nodeStream.pipe(collector);
16
+ nodeStream.on("error", (err) => {
39
17
  collector.end();
40
18
  reject(err);
41
19
  });
42
20
  collector.on("error", reject);
43
21
  collector.on("finish", function () {
44
- const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));
22
+ const bytes = concatBytes(this.bufferedBytes);
45
23
  resolve(bytes);
46
24
  });
47
25
  });
48
26
  };
27
+ class Collector extends Writable {
28
+ bufferedBytes = [];
29
+ _write(chunk, encoding, callback) {
30
+ this.bufferedBytes.push(chunk);
31
+ callback();
32
+ }
33
+ }
@@ -1,5 +1,8 @@
1
1
  import { fromUtf8 } from "./fromUtf8.browser";
2
2
  export const toUint8Array = (data) => {
3
+ if (data instanceof Uint8Array) {
4
+ return data;
5
+ }
3
6
  if (typeof data === "string") {
4
7
  return fromUtf8(data);
5
8
  }
@@ -1,5 +1,8 @@
1
1
  import { fromUtf8 } from "./fromUtf8";
2
2
  export const toUint8Array = (data) => {
3
+ if (data instanceof Uint8Array) {
4
+ return data;
5
+ }
3
6
  if (typeof data === "string") {
4
7
  return fromUtf8(data);
5
8
  }
@@ -0,0 +1,13 @@
1
+ import type { Checksum } from "@smithy/types";
2
+ /**
3
+ * Pure JS CRC-32 implementation using the IEEE 802.3 polynomial.
4
+ * @see https://www.w3.org/TR/png/#D-CRCAppendix
5
+ * @public
6
+ */
7
+ export declare class Crc32Js implements Checksum {
8
+ readonly digestLength = 4;
9
+ private checksum;
10
+ update(data: Uint8Array): void;
11
+ digest(): Promise<Uint8Array>;
12
+ reset(): void;
13
+ }
@@ -0,0 +1,13 @@
1
+ import type { Checksum } from "@smithy/types";
2
+ /**
3
+ * CRC-32 using Node.js zlib native implementation when available,
4
+ * falling back to the pure JS implementation.
5
+ * @public
6
+ */
7
+ export interface Crc32Node extends Checksum {
8
+ readonly digestLength: 4;
9
+ }
10
+ /**
11
+ * @public
12
+ */
13
+ export declare const Crc32Node: new () => Crc32Node;
@@ -1,5 +1,11 @@
1
1
  export { blobHasher } from "./hash-blob-browser/blobHasher";
2
2
  export declare const fileStreamHasher: symbol;
3
3
  export declare const readableStreamHasher: symbol;
4
- export { Md5 } from "./md5-js/md5";
4
+ export { Md5Js, Md5Js as Md5 } from "./md5/Md5Js";
5
+ export declare const Md5Node: symbol;
6
+ export { Crc32Js, Crc32Js as Crc32 } from "./crc32/Crc32Js";
7
+ export declare const Crc32Node: symbol;
8
+ export { Sha256Js } from "./sha256/Sha256Js";
9
+ export { Sha256WebCrypto, Sha256WebCrypto as Sha256 } from "./sha256/Sha256WebCrypto";
10
+ export declare const Sha256Node: symbol;
5
11
  export { blobReader } from "./chunked-blob-reader/chunked-blob-reader";
@@ -1,5 +1,11 @@
1
1
  export { blobHasher } from "./hash-blob-browser/blobHasher";
2
2
  export { fileStreamHasher } from "./hash-stream-node/fileStreamHasher";
3
3
  export { readableStreamHasher } from "./hash-stream-node/readableStreamHasher";
4
- export { Md5 } from "./md5-js/md5";
4
+ export { Md5Js } from "./md5/Md5Js";
5
+ export { Md5Node, Md5Node as Md5 } from "./md5/Md5Node";
6
+ export { Crc32Js } from "./crc32/Crc32Js";
7
+ export { Crc32Node, Crc32Node as Crc32 } from "./crc32/Crc32Node";
8
+ export { Sha256Js } from "./sha256/Sha256Js";
9
+ export { Sha256Node, Sha256Node as Sha256 } from "./sha256/Sha256Node";
10
+ export { Sha256WebCrypto } from "./sha256/Sha256WebCrypto";
5
11
  export { blobReader } from "./chunked-blob-reader/chunked-blob-reader";
@@ -1,5 +1,11 @@
1
1
  export { blobHasher } from "./hash-blob-browser/blobHasher";
2
2
  export declare const fileStreamHasher: symbol;
3
3
  export declare const readableStreamHasher: symbol;
4
- export { Md5 } from "./md5-js/md5";
4
+ export { Md5Js, Md5Js as Md5 } from "./md5/Md5Js";
5
+ export declare const Md5Node: symbol;
6
+ export { Crc32Js, Crc32Js as Crc32 } from "./crc32/Crc32Js";
7
+ export declare const Crc32Node: symbol;
8
+ export { Sha256Js } from "./sha256/Sha256Js";
9
+ export { Sha256WebCrypto, Sha256WebCrypto as Sha256 } from "./sha256/Sha256WebCrypto";
10
+ export declare const Sha256Node: symbol;
5
11
  export { blobReader } from "./chunked-blob-reader/chunked-blob-reader.native";
@@ -0,0 +1,19 @@
1
+ import type { Checksum, SourceData } from "@smithy/types";
2
+ /**
3
+ * Pure-JS MD5 implementation. Used as fallback where node:crypto is unavailable.
4
+ *
5
+ * @public
6
+ */
7
+ export declare class Md5Js implements Checksum {
8
+ readonly digestLength = 16;
9
+ private state;
10
+ private writeBuffer;
11
+ private bufferLength;
12
+ private bytesHashed;
13
+ update(sourceData: SourceData): void;
14
+ /**
15
+ * Non-destructive: works on copies so update() may continue after digest().
16
+ */
17
+ digest(): Promise<Uint8Array>;
18
+ reset(): void;
19
+ }