@semiont/graph 0.5.27 → 0.5.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 (55) hide show
  1. package/dist/{chunk-GPJBZ6EG.js → chunk-2FPUYYXX.js} +9 -1
  2. package/dist/chunk-2FPUYYXX.js.map +1 -0
  3. package/dist/{chunk-Y62BMZ25.js → chunk-52FQCX5M.js} +18 -6
  4. package/dist/chunk-52FQCX5M.js.map +1 -0
  5. package/dist/{chunk-NYHKKGBV.js → chunk-MO34K2LQ.js} +32 -19
  6. package/dist/chunk-MO34K2LQ.js.map +1 -0
  7. package/dist/{chunk-7BYJ5YHD.js → chunk-RUKYB5L4.js} +6 -6
  8. package/dist/{chunk-7BYJ5YHD.js.map → chunk-RUKYB5L4.js.map} +1 -1
  9. package/dist/{chunk-YYVVWLB2.js → chunk-TKWHSSPF.js} +35 -16
  10. package/dist/chunk-TKWHSSPF.js.map +1 -0
  11. package/dist/{chunk-RRZDPP7Z.js → chunk-X77CPJUJ.js} +2 -2
  12. package/dist/{chunk-UKT6IXAM.js → chunk-XTHXGGIJ.js} +3 -3
  13. package/dist/{chunk-RBRHTAJN.js → chunk-ZPM4D2XD.js} +14 -5
  14. package/dist/chunk-ZPM4D2XD.js.map +1 -0
  15. package/dist/{dist-es-2ZN6SLSG.js → dist-es-AET2QNVA.js} +21 -21
  16. package/dist/dist-es-AET2QNVA.js.map +1 -0
  17. package/dist/{dist-es-RZ3HNVJG.js → dist-es-BSJRQ6XP.js} +7 -7
  18. package/dist/{dist-es-7CR3IHJD.js → dist-es-C2VXNLLU.js} +13 -13
  19. package/dist/{dist-es-M72B762W.js → dist-es-FTEZAK7G.js} +5 -5
  20. package/dist/{dist-es-NGG7JHEH.js → dist-es-FV5JDCUX.js} +4 -4
  21. package/dist/{dist-es-V3UQXKNJ.js → dist-es-IS4IC3TZ.js} +5 -5
  22. package/dist/{dist-es-ILOZ33QI.js → dist-es-ISXX5KU4.js} +5 -5
  23. package/dist/{dist-es-J63OY2RR.js → dist-es-RR4OU64S.js} +5 -5
  24. package/dist/{dist-es-LN4LZWKV.js → dist-es-V7467ELV.js} +3 -3
  25. package/dist/{event-streams-2HBIXE6X.js → event-streams-UU2VASBU.js} +36 -27
  26. package/dist/event-streams-UU2VASBU.js.map +1 -0
  27. package/dist/index.d.ts +0 -3
  28. package/dist/index.js +233 -342
  29. package/dist/index.js.map +1 -1
  30. package/dist/{loadSso-JTXSMWFI.js → loadSso-SCNBGUAS.js} +8 -8
  31. package/dist/{signin-BM6IHIKX.js → signin-6CO4ELBM.js} +8 -8
  32. package/dist/{sso-oidc-IBGZ52NP.js → sso-oidc-NYPIZEZ2.js} +8 -8
  33. package/dist/{sts-44HZWQDH.js → sts-7LYERIMP.js} +8 -8
  34. package/package.json +6 -6
  35. package/dist/chunk-GPJBZ6EG.js.map +0 -1
  36. package/dist/chunk-NYHKKGBV.js.map +0 -1
  37. package/dist/chunk-RBRHTAJN.js.map +0 -1
  38. package/dist/chunk-Y62BMZ25.js.map +0 -1
  39. package/dist/chunk-YYVVWLB2.js.map +0 -1
  40. package/dist/dist-es-2ZN6SLSG.js.map +0 -1
  41. package/dist/event-streams-2HBIXE6X.js.map +0 -1
  42. /package/dist/{chunk-RRZDPP7Z.js.map → chunk-X77CPJUJ.js.map} +0 -0
  43. /package/dist/{chunk-UKT6IXAM.js.map → chunk-XTHXGGIJ.js.map} +0 -0
  44. /package/dist/{dist-es-RZ3HNVJG.js.map → dist-es-BSJRQ6XP.js.map} +0 -0
  45. /package/dist/{dist-es-7CR3IHJD.js.map → dist-es-C2VXNLLU.js.map} +0 -0
  46. /package/dist/{dist-es-M72B762W.js.map → dist-es-FTEZAK7G.js.map} +0 -0
  47. /package/dist/{dist-es-NGG7JHEH.js.map → dist-es-FV5JDCUX.js.map} +0 -0
  48. /package/dist/{dist-es-V3UQXKNJ.js.map → dist-es-IS4IC3TZ.js.map} +0 -0
  49. /package/dist/{dist-es-ILOZ33QI.js.map → dist-es-ISXX5KU4.js.map} +0 -0
  50. /package/dist/{dist-es-J63OY2RR.js.map → dist-es-RR4OU64S.js.map} +0 -0
  51. /package/dist/{dist-es-LN4LZWKV.js.map → dist-es-V7467ELV.js.map} +0 -0
  52. /package/dist/{loadSso-JTXSMWFI.js.map → loadSso-SCNBGUAS.js.map} +0 -0
  53. /package/dist/{signin-BM6IHIKX.js.map → signin-6CO4ELBM.js.map} +0 -0
  54. /package/dist/{sso-oidc-IBGZ52NP.js.map → sso-oidc-NYPIZEZ2.js.map} +0 -0
  55. /package/dist/{sts-44HZWQDH.js.map → sts-7LYERIMP.js.map} +0 -0
@@ -14,6 +14,7 @@ import {
14
14
  fromBase64,
15
15
  fromUtf8,
16
16
  generateIdempotencyToken,
17
+ hasOwn,
17
18
  isValidHostLabel,
18
19
  isValidHostname,
19
20
  quoteHeader,
@@ -23,7 +24,7 @@ import {
23
24
  toBase64,
24
25
  toUtf8,
25
26
  translateTraits
26
- } from "./chunk-GPJBZ6EG.js";
27
+ } from "./chunk-2FPUYYXX.js";
27
28
 
28
29
  // ../../node_modules/@smithy/core/dist-es/submodules/config/property-provider/ProviderError.js
29
30
  var ProviderError = class _ProviderError extends Error {
@@ -675,10 +676,12 @@ function contentLengthMiddleware(bodyLengthChecker) {
675
676
  if (body && Object.keys(headers).map((str) => str.toLowerCase()).indexOf(CONTENT_LENGTH_HEADER) === -1) {
676
677
  try {
677
678
  const length = bodyLengthChecker(body);
678
- request.headers = {
679
- ...request.headers,
680
- [CONTENT_LENGTH_HEADER]: String(length)
681
- };
679
+ if (length != null) {
680
+ request.headers = {
681
+ ...request.headers,
682
+ [CONTENT_LENGTH_HEADER]: String(length)
683
+ };
684
+ }
682
685
  } catch (ignored) {
683
686
  }
684
687
  }
@@ -771,6 +774,8 @@ var HttpProtocol = class extends SerdeContext {
771
774
  }
772
775
  if (endpoint.headers) {
773
776
  for (const name in endpoint.headers) {
777
+ if (!hasOwn(endpoint.headers, name))
778
+ continue;
774
779
  request.headers[name] = endpoint.headers[name].join(", ");
775
780
  }
776
781
  }
@@ -785,6 +790,8 @@ var HttpProtocol = class extends SerdeContext {
785
790
  };
786
791
  if (endpoint.headers) {
787
792
  for (const name in endpoint.headers) {
793
+ if (!hasOwn(endpoint.headers, name))
794
+ continue;
788
795
  request.headers[name] = endpoint.headers[name];
789
796
  }
790
797
  }
@@ -842,7 +849,7 @@ var HttpProtocol = class extends SerdeContext {
842
849
  });
843
850
  }
844
851
  async loadEventStreamCapability() {
845
- const { EventStreamSerde, eventStreamSerdeProvider } = await import("./event-streams-2HBIXE6X.js");
852
+ const { EventStreamSerde, eventStreamSerdeProvider } = await import("./event-streams-UU2VASBU.js");
846
853
  const marshaller = this.resolveEventStreamMarshaller(eventStreamSerdeProvider);
847
854
  return new EventStreamSerde({
848
855
  marshaller,
@@ -963,6 +970,8 @@ var HttpBindingProtocol = class extends HttpProtocol {
963
970
  headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());
964
971
  } else if (typeof memberTraits.httpPrefixHeaders === "string") {
965
972
  for (const key in inputMemberValue) {
973
+ if (!hasOwn(inputMemberValue, key))
974
+ continue;
966
975
  const val = inputMemberValue[key];
967
976
  const amalgam = memberTraits.httpPrefixHeaders + key;
968
977
  serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);
@@ -1006,6 +1015,8 @@ var HttpBindingProtocol = class extends HttpProtocol {
1006
1015
  const traits = ns.getMergedTraits();
1007
1016
  if (traits.httpQueryParams) {
1008
1017
  for (const key in data) {
1018
+ if (!hasOwn(data, key))
1019
+ continue;
1009
1020
  if (!(key in query)) {
1010
1021
  const val = data[key];
1011
1022
  const valueSchema = ns.getValueSchema();
@@ -1048,6 +1059,8 @@ var HttpBindingProtocol = class extends HttpProtocol {
1048
1059
  throw new Error("@smithy/core/protocols - HTTP Protocol error handler failed to throw.");
1049
1060
  }
1050
1061
  for (const header in response.headers) {
1062
+ if (!hasOwn(response.headers, header))
1063
+ continue;
1051
1064
  const value = response.headers[header];
1052
1065
  delete response.headers[header];
1053
1066
  response.headers[header.toLowerCase()] = value;
@@ -1126,6 +1139,8 @@ var HttpBindingProtocol = class extends HttpProtocol {
1126
1139
  } else if (memberTraits.httpPrefixHeaders !== void 0) {
1127
1140
  dataObject[memberName] = {};
1128
1141
  for (const header in response.headers) {
1142
+ if (!hasOwn(response.headers, header))
1143
+ continue;
1129
1144
  if (header.startsWith(memberTraits.httpPrefixHeaders)) {
1130
1145
  const value = response.headers[header];
1131
1146
  const valueSchema = memberSchema.getValueSchema();
@@ -1174,10 +1189,9 @@ var RpcProtocol = class extends HttpProtocol {
1174
1189
  if (eventStreamMember) {
1175
1190
  if (input[eventStreamMember]) {
1176
1191
  const initialRequest = {};
1177
- for (const [memberName, memberSchema] of ns.structIterator()) {
1178
- if (memberName !== eventStreamMember && input[memberName]) {
1179
- serializer.write(memberSchema, input[memberName]);
1180
- initialRequest[memberName] = serializer.flush();
1192
+ for (const [memberName] of ns.structIterator()) {
1193
+ if (memberName !== eventStreamMember && input[memberName] != null) {
1194
+ initialRequest[memberName] = input[memberName];
1181
1195
  }
1182
1196
  }
1183
1197
  payload = await this.serializeEventStream({
@@ -1210,6 +1224,8 @@ var RpcProtocol = class extends HttpProtocol {
1210
1224
  throw new Error("@smithy/core/protocols - RPC Protocol error handler failed to throw.");
1211
1225
  }
1212
1226
  for (const header in response.headers) {
1227
+ if (!hasOwn(response.headers, header))
1228
+ continue;
1213
1229
  const value = response.headers[header];
1214
1230
  delete response.headers[header];
1215
1231
  response.headers[header.toLowerCase()] = value;
@@ -1467,24 +1483,27 @@ var HttpInterceptingShapeSerializer = class {
1467
1483
 
1468
1484
  // ../../node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.js
1469
1485
  var getHttpHandlerExtensionConfiguration = (runtimeConfig) => {
1486
+ if (runtimeConfig.logger && runtimeConfig.logger.constructor?.name !== "NoOpLogger") {
1487
+ runtimeConfig.requestHandler?.updateHttpClientConfig?.(/* @__PURE__ */ Symbol.for("logger"), runtimeConfig.logger);
1488
+ }
1470
1489
  return {
1471
1490
  setHttpHandler(handler) {
1472
- runtimeConfig.httpHandler = handler;
1491
+ runtimeConfig.requestHandler = handler;
1473
1492
  },
1474
1493
  httpHandler() {
1475
- return runtimeConfig.httpHandler;
1494
+ return runtimeConfig.requestHandler;
1476
1495
  },
1477
1496
  updateHttpClientConfig(key, value) {
1478
- runtimeConfig.httpHandler?.updateHttpClientConfig(key, value);
1497
+ runtimeConfig.requestHandler?.updateHttpClientConfig(key, value);
1479
1498
  },
1480
1499
  httpHandlerConfigs() {
1481
- return runtimeConfig.httpHandler.httpHandlerConfigs();
1500
+ return runtimeConfig.requestHandler.httpHandlerConfigs();
1482
1501
  }
1483
1502
  };
1484
1503
  };
1485
1504
  var resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {
1486
1505
  return {
1487
- httpHandler: httpHandlerExtensionConfiguration.httpHandler()
1506
+ requestHandler: httpHandlerExtensionConfiguration.httpHandler()
1488
1507
  };
1489
1508
  };
1490
1509
 
@@ -1549,4 +1568,4 @@ export {
1549
1568
  escapeUri,
1550
1569
  buildQueryString
1551
1570
  };
1552
- //# sourceMappingURL=chunk-YYVVWLB2.js.map
1571
+ //# sourceMappingURL=chunk-TKWHSSPF.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/@smithy/core/dist-es/submodules/config/property-provider/ProviderError.js","../../../node_modules/@smithy/core/dist-es/submodules/config/property-provider/CredentialsProviderError.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getProfileName.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getConfigFilepath.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getHomeDir.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/loadSharedConfigFiles.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/constants.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getConfigData.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getCredentialsFilepath.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/parseIni.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/readFile.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSsoSessionData.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/loadSsoSessionData.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/mergeConfigFiles.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/parseKnownFiles.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSSOTokenFromFile.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/getSSOTokenFilepath.js","../../../node_modules/@smithy/core/dist-es/submodules/config/shared-ini-file-loader/externalDataInterceptor.js","../../../node_modules/@smithy/core/dist-es/submodules/config/property-provider/chain.js","../../../node_modules/@smithy/core/dist-es/submodules/config/property-provider/memoize.js","../../../node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/getSelectorName.js","../../../node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromEnv.js","../../../node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromSharedConfigFiles.js","../../../node_modules/@smithy/core/dist-es/submodules/config/property-provider/fromValue.js","../../../node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/fromStatic.js","../../../node_modules/@smithy/core/dist-es/submodules/config/node-config-provider/configLoader.js","../../../node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/checkRegion.js","../../../node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/isFipsRegion.js","../../../node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getRealRegion.js","../../../node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/resolveRegionConfig.js","../../../node_modules/@smithy/core/dist-es/submodules/config/property-provider/TokenProviderError.js","../../../node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/booleanSelector.js","../../../node_modules/@smithy/core/dist-es/submodules/config/util-config-provider/types.js","../../../node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js","../../../node_modules/@smithy/core/dist-es/submodules/config/config-resolver/endpointsConfig/NodeUseFipsEndpointConfigOptions.js","../../../node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/constants.js","../../../node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/getInstanceMetadataRegion.js","../../../node_modules/@smithy/core/dist-es/submodules/config/config-resolver/regionConfig/config.js","../../../node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/defaultsModeConfig.js","../../../node_modules/@smithy/core/dist-es/submodules/config/defaults-mode/resolveDefaultsModeConfig.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/middleware-content-length/contentLengthMiddleware.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/SerdeContext.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/determineTimestampFormat.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/FromStringShapeDeserializer.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeDeserializer.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/ToStringShapeSerializer.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeSerializer.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/protocol-http/extensions/httpExtensionConfiguration.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/util-uri-escape/escape-uri.js","../../../node_modules/@smithy/core/dist-es/submodules/protocols/querystring-builder/buildQueryString.js"],"sourcesContent":["export class ProviderError extends Error {\n name = \"ProviderError\";\n tryNextLink;\n constructor(message, options = true) {\n let logger;\n let tryNextLink = true;\n if (typeof options === \"boolean\") {\n logger = undefined;\n tryNextLink = options;\n }\n else if (options != null && typeof options === \"object\") {\n logger = options.logger;\n tryNextLink = options.tryNextLink ?? true;\n }\n super(message);\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, ProviderError.prototype);\n logger?.debug?.(`@smithy/property-provider ${tryNextLink ? \"->\" : \"(!)\"} ${message}`);\n }\n static from(error, options = true) {\n return Object.assign(new this(error.message, options), error);\n }\n}\n","import { ProviderError } from \"./ProviderError\";\nexport class CredentialsProviderError extends ProviderError {\n name = \"CredentialsProviderError\";\n constructor(message, options = true) {\n super(message, options);\n Object.setPrototypeOf(this, CredentialsProviderError.prototype);\n }\n}\n","export const ENV_PROFILE = \"AWS_PROFILE\";\nexport const DEFAULT_PROFILE = \"default\";\nexport const getProfileName = (init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE;\n","import { join } from \"node:path\";\nimport { getHomeDir } from \"./getHomeDir\";\nexport const ENV_CONFIG_PATH = \"AWS_CONFIG_FILE\";\nexport const getConfigFilepath = () => process.env[ENV_CONFIG_PATH] || join(getHomeDir(), \".aws\", \"config\");\n","import { homedir } from \"node:os\";\nimport { sep } from \"node:path\";\nconst homeDirCache = {};\nconst getHomeDirCacheKey = () => {\n if (process && process.geteuid) {\n return `${process.geteuid()}`;\n }\n return \"DEFAULT\";\n};\nexport const getHomeDir = () => {\n const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${sep}` } = process.env;\n if (HOME)\n return HOME;\n if (USERPROFILE)\n return USERPROFILE;\n if (HOMEPATH)\n return `${HOMEDRIVE}${HOMEPATH}`;\n const homeDirCacheKey = getHomeDirCacheKey();\n if (!homeDirCache[homeDirCacheKey])\n homeDirCache[homeDirCacheKey] = homedir();\n return homeDirCache[homeDirCacheKey];\n};\n","import { join } from \"node:path\";\nimport { getConfigData } from \"./getConfigData\";\nimport { getConfigFilepath } from \"./getConfigFilepath\";\nimport { getCredentialsFilepath } from \"./getCredentialsFilepath\";\nimport { getHomeDir } from \"./getHomeDir\";\nimport { parseIni } from \"./parseIni\";\nimport { readFile } from \"./readFile\";\nconst swallowError = () => ({});\nexport { CONFIG_PREFIX_SEPARATOR } from \"./constants\";\nexport const loadSharedConfigFiles = async (init = {}) => {\n const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;\n const homeDir = getHomeDir();\n const relativeHomeDirPrefix = \"~/\";\n let resolvedFilepath = filepath;\n if (filepath.startsWith(relativeHomeDirPrefix)) {\n resolvedFilepath = join(homeDir, filepath.slice(2));\n }\n let resolvedConfigFilepath = configFilepath;\n if (configFilepath.startsWith(relativeHomeDirPrefix)) {\n resolvedConfigFilepath = join(homeDir, configFilepath.slice(2));\n }\n const parsedFiles = await Promise.all([\n readFile(resolvedConfigFilepath, {\n ignoreCache: init.ignoreCache,\n })\n .then(parseIni)\n .then(getConfigData)\n .catch(swallowError),\n readFile(resolvedFilepath, {\n ignoreCache: init.ignoreCache,\n })\n .then(parseIni)\n .catch(swallowError),\n ]);\n return {\n configFile: parsedFiles[0],\n credentialsFile: parsedFiles[1],\n };\n};\n","export const CONFIG_PREFIX_SEPARATOR = \".\";\n","import { IniSectionType } from \"@smithy/types\";\nimport { CONFIG_PREFIX_SEPARATOR } from \"./constants\";\nexport const getConfigData = (data) => Object.entries(data)\n .filter(([key]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n if (indexOfSeparator === -1) {\n return false;\n }\n return Object.values(IniSectionType).includes(key.substring(0, indexOfSeparator));\n})\n .reduce((acc, [key, value]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n const updatedKey = key.substring(0, indexOfSeparator) === IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key;\n acc[updatedKey] = value;\n return acc;\n}, {\n ...(data.default && { default: data.default }),\n});\n","import { join } from \"node:path\";\nimport { getHomeDir } from \"./getHomeDir\";\nexport const ENV_CREDENTIALS_PATH = \"AWS_SHARED_CREDENTIALS_FILE\";\nexport const getCredentialsFilepath = () => process.env[ENV_CREDENTIALS_PATH] || join(getHomeDir(), \".aws\", \"credentials\");\n","import { IniSectionType } from \"@smithy/types\";\nimport { CONFIG_PREFIX_SEPARATOR } from \"./constants\";\nconst prefixKeyRegex = /^([\\w-]+)\\s([\"'])?([\\w-@+.%:/]+)\\2$/;\nconst profileNameBlockList = [\"__proto__\", \"profile __proto__\"];\nexport const parseIni = (iniData) => {\n const map = {};\n let currentSection;\n let currentSubSection;\n for (const iniLine of iniData.split(/\\r?\\n/)) {\n const trimmedLine = iniLine.split(/(^|\\s)[;#]/)[0].trim();\n const isSection = trimmedLine[0] === \"[\" && trimmedLine[trimmedLine.length - 1] === \"]\";\n if (isSection) {\n currentSection = undefined;\n currentSubSection = undefined;\n const sectionName = trimmedLine.substring(1, trimmedLine.length - 1);\n const matches = prefixKeyRegex.exec(sectionName);\n if (matches) {\n const [, prefix, , name] = matches;\n if (Object.values(IniSectionType).includes(prefix)) {\n currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR);\n }\n }\n else {\n currentSection = sectionName;\n }\n if (profileNameBlockList.includes(sectionName)) {\n throw new Error(`Found invalid profile name \"${sectionName}\"`);\n }\n }\n else if (currentSection) {\n const indexOfEqualsSign = trimmedLine.indexOf(\"=\");\n if (![0, -1].includes(indexOfEqualsSign)) {\n const [name, value] = [\n trimmedLine.substring(0, indexOfEqualsSign).trim(),\n trimmedLine.substring(indexOfEqualsSign + 1).trim(),\n ];\n if (value === \"\") {\n currentSubSection = name;\n }\n else {\n if (currentSubSection && iniLine.trimStart() === iniLine) {\n currentSubSection = undefined;\n }\n map[currentSection] = map[currentSection] || {};\n const key = currentSubSection ? [currentSubSection, name].join(CONFIG_PREFIX_SEPARATOR) : name;\n map[currentSection][key] = value;\n }\n }\n }\n }\n return map;\n};\n","import { readFile as fsReadFile } from \"node:fs/promises\";\nexport const filePromises = {};\nexport const fileIntercept = {};\nexport const readFile = (path, options) => {\n if (fileIntercept[path] !== undefined) {\n return fileIntercept[path];\n }\n if (!filePromises[path] || options?.ignoreCache) {\n filePromises[path] = fsReadFile(path, \"utf8\");\n }\n return filePromises[path];\n};\n","import { IniSectionType } from \"@smithy/types\";\nimport { CONFIG_PREFIX_SEPARATOR } from \"./loadSharedConfigFiles\";\nexport const getSsoSessionData = (data) => Object.entries(data)\n .filter(([key]) => key.startsWith(IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR))\n .reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {});\n","import { getConfigFilepath } from \"./getConfigFilepath\";\nimport { getSsoSessionData } from \"./getSsoSessionData\";\nimport { parseIni } from \"./parseIni\";\nimport { readFile } from \"./readFile\";\nconst swallowError = () => ({});\nexport const loadSsoSessionData = async (init = {}) => readFile(init.configFilepath ?? getConfigFilepath())\n .then(parseIni)\n .then(getSsoSessionData)\n .catch(swallowError);\n","export const mergeConfigFiles = (...files) => {\n const merged = {};\n for (const file of files) {\n for (const [key, values] of Object.entries(file)) {\n if (merged[key] !== undefined) {\n Object.assign(merged[key], values);\n }\n else {\n merged[key] = values;\n }\n }\n }\n return merged;\n};\n","import { loadSharedConfigFiles } from \"./loadSharedConfigFiles\";\nimport { mergeConfigFiles } from \"./mergeConfigFiles\";\nexport const parseKnownFiles = async (init) => {\n const parsedFiles = await loadSharedConfigFiles(init);\n return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile);\n};\n","import { readFile } from \"node:fs/promises\";\nimport { getSSOTokenFilepath } from \"./getSSOTokenFilepath\";\nexport const tokenIntercept = {};\nexport const getSSOTokenFromFile = async (id) => {\n if (tokenIntercept[id]) {\n return tokenIntercept[id];\n }\n const ssoTokenFilepath = getSSOTokenFilepath(id);\n const ssoTokenText = await readFile(ssoTokenFilepath, \"utf8\");\n return JSON.parse(ssoTokenText);\n};\n","import { createHash } from \"node:crypto\";\nimport { join } from \"node:path\";\nimport { getHomeDir } from \"./getHomeDir\";\nexport const getSSOTokenFilepath = (id) => {\n const hasher = createHash(\"sha1\");\n const cacheName = hasher.update(id).digest(\"hex\");\n return join(getHomeDir(), \".aws\", \"sso\", \"cache\", `${cacheName}.json`);\n};\n","import { tokenIntercept } from \"./getSSOTokenFromFile\";\nimport { fileIntercept } from \"./readFile\";\nexport const externalDataInterceptor = {\n getFileRecord() {\n return fileIntercept;\n },\n interceptFile(path, contents) {\n fileIntercept[path] = Promise.resolve(contents);\n },\n getTokenRecord() {\n return tokenIntercept;\n },\n interceptToken(id, contents) {\n tokenIntercept[id] = contents;\n },\n};\n","import { ProviderError } from \"./ProviderError\";\nexport const chain = (...providers) => async () => {\n if (providers.length === 0) {\n throw new ProviderError(\"No providers in chain\");\n }\n let lastProviderError;\n for (const provider of providers) {\n try {\n const credentials = await provider();\n return credentials;\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n","export const memoize = (provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n};\n","export function getSelectorName(functionString) {\n try {\n const constants = new Set(Array.from(functionString.match(/([A-Z_]){3,}/g) ?? []));\n constants.delete(\"CONFIG\");\n constants.delete(\"CONFIG_PREFIX_SEPARATOR\");\n constants.delete(\"ENV\");\n return [...constants].join(\", \");\n }\n catch (ignored) {\n return functionString;\n }\n}\n","import { CredentialsProviderError } from \"../property-provider/CredentialsProviderError\";\nimport { getSelectorName } from \"./getSelectorName\";\nexport const fromEnv = (envVarSelector, options) => async () => {\n try {\n const config = envVarSelector(process.env, options);\n if (config === undefined) {\n throw new Error();\n }\n return config;\n }\n catch (e) {\n throw new CredentialsProviderError(e.message || `Not found in ENV: ${getSelectorName(envVarSelector.toString())}`, { logger: options?.logger });\n }\n};\n","import { CredentialsProviderError } from \"../property-provider/CredentialsProviderError\";\nimport { getProfileName } from \"../shared-ini-file-loader/getProfileName\";\nimport { loadSharedConfigFiles } from \"../shared-ini-file-loader/loadSharedConfigFiles\";\nimport { getSelectorName } from \"./getSelectorName\";\nexport const fromSharedConfigFiles = (configSelector, { preferredFile = \"config\", ...init } = {}) => async () => {\n const profile = getProfileName(init);\n const { configFile, credentialsFile } = await loadSharedConfigFiles(init);\n const profileFromCredentials = credentialsFile[profile] || {};\n const profileFromConfig = configFile[profile] || {};\n const mergedProfile = preferredFile === \"config\"\n ? { ...profileFromCredentials, ...profileFromConfig }\n : { ...profileFromConfig, ...profileFromCredentials };\n try {\n const cfgFile = preferredFile === \"config\" ? configFile : credentialsFile;\n const configValue = configSelector(mergedProfile, cfgFile);\n if (configValue === undefined) {\n throw new Error();\n }\n return configValue;\n }\n catch (e) {\n throw new CredentialsProviderError(e.message || `Not found in config files w/ profile [${profile}]: ${getSelectorName(configSelector.toString())}`, { logger: init.logger });\n }\n};\n","export const fromValue = (staticValue) => () => Promise.resolve(staticValue);\n","import { fromValue } from \"../property-provider/fromValue\";\nconst isFunction = (func) => typeof func === \"function\";\nexport const fromStatic = (defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : fromValue(defaultValue);\n","import { chain } from \"../property-provider/chain\";\nimport { memoize } from \"../property-provider/memoize\";\nimport { fromEnv } from \"./fromEnv\";\nimport { fromSharedConfigFiles } from \"./fromSharedConfigFiles\";\nimport { fromStatic } from \"./fromStatic\";\nexport const loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => {\n const { signingName, logger } = configuration;\n const envOptions = { signingName, logger };\n return memoize(chain(fromEnv(environmentVariableSelector, envOptions), fromSharedConfigFiles(configFileSelector, configuration), fromStatic(defaultValue)));\n};\n","import { isValidHostLabel } from \"@smithy/core/transport\";\nconst validRegions = new Set();\nexport const checkRegion = (region, check = isValidHostLabel) => {\n if (!validRegions.has(region) && !check(region)) {\n if (region === \"*\") {\n console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of \"*\". See \"sigv4a\" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);\n }\n else {\n throw new Error(`Region not accepted: region=\"${region}\" is not a valid hostname component.`);\n }\n }\n else {\n validRegions.add(region);\n }\n};\n","export const isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\n","import { isFipsRegion } from \"./isFipsRegion\";\nexport const getRealRegion = (region) => isFipsRegion(region)\n ? [\"fips-aws-global\", \"aws-fips\"].includes(region)\n ? \"us-east-1\"\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\")\n : region;\n","import { checkRegion } from \"./checkRegion\";\nimport { getRealRegion } from \"./getRealRegion\";\nimport { isFipsRegion } from \"./isFipsRegion\";\nexport const resolveRegionConfig = (input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return Object.assign(input, {\n region: async () => {\n const providedRegion = typeof region === \"function\" ? await region() : region;\n const realRegion = getRealRegion(providedRegion);\n checkRegion(realRegion);\n return realRegion;\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if (isFipsRegion(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n },\n });\n};\n","import { ProviderError } from \"./ProviderError\";\nexport class TokenProviderError extends ProviderError {\n name = \"TokenProviderError\";\n constructor(message, options = true) {\n super(message, options);\n Object.setPrototypeOf(this, TokenProviderError.prototype);\n }\n}\n","export const booleanSelector = (obj, key, type) => {\n if (!(key in obj))\n return undefined;\n if (obj[key] === \"true\")\n return true;\n if (obj[key] === \"false\")\n return false;\n throw new Error(`Cannot load ${type} \"${key}\". Expected \"true\" or \"false\", got ${obj[key]}.`);\n};\n","export var SelectorType;\n(function (SelectorType) {\n SelectorType[\"ENV\"] = \"env\";\n SelectorType[\"CONFIG\"] = \"shared config entry\";\n})(SelectorType || (SelectorType = {}));\n","import { booleanSelector } from \"../../util-config-provider/booleanSelector\";\nimport { SelectorType } from \"../../util-config-provider/types\";\nexport const ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nexport const CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nexport const DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nexport const NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\nexport const nodeDualstackConfigSelectors = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG),\n default: undefined,\n};\n","import { booleanSelector } from \"../../util-config-provider/booleanSelector\";\nimport { SelectorType } from \"../../util-config-provider/types\";\nexport const ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nexport const CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nexport const DEFAULT_USE_FIPS_ENDPOINT = false;\nexport const NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\nexport const nodeFipsConfigSelectors = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG),\n default: undefined,\n};\n","export const AWS_EXECUTION_ENV = \"AWS_EXECUTION_ENV\";\nexport const AWS_REGION_ENV = \"AWS_REGION\";\nexport const AWS_DEFAULT_REGION_ENV = \"AWS_DEFAULT_REGION\";\nexport const ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nexport const DEFAULTS_MODE_OPTIONS = [\"in-region\", \"cross-region\", \"mobile\", \"standard\", \"legacy\"];\nexport const IMDS_REGION_PATH = \"/latest/meta-data/placement/region\";\nexport const IMDS_TOKEN_PATH = \"/latest/api/token\";\nexport const X_AWS_EC2_METADATA_TOKEN = \"x-aws-ec2-metadata-token\";\nexport const X_AWS_EC2_METADATA_TOKEN_TTL = \"x-aws-ec2-metadata-token-ttl-seconds\";\n","import { ENV_IMDS_DISABLED, IMDS_REGION_PATH, IMDS_TOKEN_PATH, X_AWS_EC2_METADATA_TOKEN, X_AWS_EC2_METADATA_TOKEN_TTL, } from \"../../defaults-mode/constants\";\nconst TIMEOUT_MS = 1000;\nconst NEG_CACHE_TTL_MS = 60_000;\nlet negativeCacheUntil = 0;\nexport const getInstanceMetadataRegion = async () => {\n if (process.env[ENV_IMDS_DISABLED]) {\n return undefined;\n }\n if (Date.now() < negativeCacheUntil) {\n return undefined;\n }\n try {\n const endpoint = resolveImdsEndpoint();\n const token = (await imdsRequest({\n ...endpoint,\n path: IMDS_TOKEN_PATH,\n method: \"PUT\",\n headers: {\n [X_AWS_EC2_METADATA_TOKEN_TTL]: \"21600\",\n },\n })).toString();\n const region = (await imdsRequest({\n ...endpoint,\n path: IMDS_REGION_PATH,\n method: \"GET\",\n headers: {\n [X_AWS_EC2_METADATA_TOKEN]: token,\n },\n }))\n .toString()\n .trim();\n return region || cacheNegativeAndReturnUndefined();\n }\n catch {\n return cacheNegativeAndReturnUndefined();\n }\n};\nconst cacheNegativeAndReturnUndefined = () => {\n negativeCacheUntil = Date.now() + NEG_CACHE_TTL_MS;\n return undefined;\n};\nconst resolveImdsEndpoint = () => {\n const envEndpoint = process.env.AWS_EC2_METADATA_SERVICE_ENDPOINT;\n if (envEndpoint) {\n const url = new URL(envEndpoint);\n return {\n hostname: url.hostname.replace(/^\\[(.+)]$/, \"$1\"),\n port: url.port ? Number(url.port) : undefined,\n };\n }\n if (process.env.AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE === \"IPv6\") {\n return { hostname: \"fd00:ec2::254\" };\n }\n return { hostname: \"169.254.169.254\" };\n};\nconst imdsRequest = async (options) => {\n const { request } = await import(\"node:http\");\n return new Promise((resolve, reject) => {\n const req = request({\n hostname: options.hostname,\n port: options.port,\n path: options.path,\n method: options.method,\n headers: options.headers,\n timeout: TIMEOUT_MS,\n signal: AbortSignal.timeout(TIMEOUT_MS),\n });\n req.on(\"error\", (err) => {\n reject(err);\n req.destroy();\n });\n req.on(\"timeout\", () => {\n reject(new Error(\"TimeoutError from instance metadata service\"));\n req.destroy();\n });\n req.on(\"response\", (res) => {\n const { statusCode = 400 } = res;\n if (statusCode < 200 || statusCode >= 300) {\n reject(Object.assign(new Error(\"Error response received from instance metadata service\"), { statusCode }));\n req.destroy();\n return;\n }\n const chunks = [];\n res.on(\"data\", (chunk) => chunks.push(chunk));\n res.on(\"end\", () => {\n resolve(Buffer.concat(chunks));\n req.destroy();\n });\n });\n req.end();\n });\n};\n","import { getInstanceMetadataRegion } from \"./getInstanceMetadataRegion\";\nexport const REGION_ENV_NAME = \"AWS_REGION\";\nexport const REGION_INI_NAME = \"region\";\nexport const NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[REGION_ENV_NAME],\n configFileSelector: (profile) => profile[REGION_INI_NAME],\n default: async () => {\n const region = await getInstanceMetadataRegion();\n if (region) {\n return region;\n }\n throw new Error(\"Region is missing\");\n },\n};\nexport const NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\n","const AWS_DEFAULTS_MODE_ENV = \"AWS_DEFAULTS_MODE\";\nconst AWS_DEFAULTS_MODE_CONFIG = \"defaults_mode\";\nexport const NODE_DEFAULTS_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n return env[AWS_DEFAULTS_MODE_ENV];\n },\n configFileSelector: (profile) => {\n return profile[AWS_DEFAULTS_MODE_CONFIG];\n },\n default: \"legacy\",\n};\n","import { NODE_REGION_CONFIG_OPTIONS } from \"../config-resolver/regionConfig/config\";\nimport { getInstanceMetadataRegion } from \"../config-resolver/regionConfig/getInstanceMetadataRegion\";\nimport { loadConfig } from \"../node-config-provider/configLoader\";\nimport { memoize } from \"../property-provider/memoize\";\nimport { AWS_DEFAULT_REGION_ENV, AWS_EXECUTION_ENV, AWS_REGION_ENV, DEFAULTS_MODE_OPTIONS } from \"./constants\";\nimport { NODE_DEFAULTS_MODE_CONFIG_OPTIONS } from \"./defaultsModeConfig\";\nexport const resolveDefaultsModeConfig = ({ region = loadConfig(NODE_REGION_CONFIG_OPTIONS), defaultsMode = loadConfig(NODE_DEFAULTS_MODE_CONFIG_OPTIONS), } = {}) => memoize(async () => {\n const mode = typeof defaultsMode === \"function\" ? await defaultsMode() : defaultsMode;\n switch (mode?.toLowerCase()) {\n case \"auto\":\n return resolveNodeDefaultsModeAuto(region);\n case \"in-region\":\n case \"cross-region\":\n case \"mobile\":\n case \"standard\":\n case \"legacy\":\n return Promise.resolve(mode?.toLocaleLowerCase());\n case undefined:\n return Promise.resolve(\"legacy\");\n default:\n throw new Error(`Invalid parameter for \"defaultsMode\", expect ${DEFAULTS_MODE_OPTIONS.join(\", \")}, got ${mode}`);\n }\n});\nconst resolveNodeDefaultsModeAuto = async (clientRegion) => {\n if (clientRegion) {\n const resolvedRegion = typeof clientRegion === \"function\" ? await clientRegion() : clientRegion;\n const inferredRegion = await inferPhysicalRegion();\n if (!inferredRegion) {\n return \"standard\";\n }\n if (resolvedRegion === inferredRegion) {\n return \"in-region\";\n }\n else {\n return \"cross-region\";\n }\n }\n return \"standard\";\n};\nconst inferPhysicalRegion = async () => {\n if (process.env[AWS_EXECUTION_ENV] && (process.env[AWS_REGION_ENV] || process.env[AWS_DEFAULT_REGION_ENV])) {\n return process.env[AWS_REGION_ENV] ?? process.env[AWS_DEFAULT_REGION_ENV];\n }\n return getInstanceMetadataRegion();\n};\n","import { HttpRequest } from \"@smithy/core/transport\";\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nexport function contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n if (length != null) {\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n }\n catch (ignored) {\n }\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexport const contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nexport const getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n","import { Uint8ArrayBlobAdapter } from \"@smithy/core/serde\";\nexport const collectBody = async (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Uint8ArrayBlobAdapter.mutate(streamBody);\n }\n if (!streamBody) {\n return Uint8ArrayBlobAdapter.mutate(new Uint8Array());\n }\n const fromContext = context.streamCollector(streamBody);\n return Uint8ArrayBlobAdapter.mutate(await fromContext);\n};\n","export function extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n","export class SerdeContext {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n","import { hasOwn } from \"@smithy/core/transport\";\nimport { NormalizedSchema, TypeRegistry, translateTraits } from \"@smithy/core/schema\";\nimport { HttpRequest, HttpResponse, isValidHostname } from \"@smithy/core/transport\";\nimport { SerdeContext } from \"./SerdeContext\";\nexport class HttpProtocol extends SerdeContext {\n options;\n compositeErrorRegistry;\n constructor(options) {\n super();\n this.options = options;\n this.compositeErrorRegistry = TypeRegistry.for(options.defaultNamespace);\n for (const etr of options.errorTypeRegistries ?? []) {\n this.compositeErrorRegistry.copyFrom(etr);\n }\n }\n getRequestType() {\n return HttpRequest;\n }\n getResponseType() {\n return HttpResponse;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n if (this.getPayloadCodec()) {\n this.getPayloadCodec().setSerdeContext(serdeContext);\n }\n }\n updateServiceEndpoint(request, endpoint) {\n if (\"url\" in endpoint) {\n request.protocol = endpoint.url.protocol;\n request.hostname = endpoint.url.hostname;\n request.port = endpoint.url.port ? Number(endpoint.url.port) : undefined;\n request.path = endpoint.url.pathname;\n request.fragment = endpoint.url.hash || void 0;\n request.username = endpoint.url.username || void 0;\n request.password = endpoint.url.password || void 0;\n if (!request.query) {\n request.query = {};\n }\n for (const [k, v] of endpoint.url.searchParams.entries()) {\n request.query[k] = v;\n }\n if (endpoint.headers) {\n for (const name in endpoint.headers) {\n if (!hasOwn(endpoint.headers, name))\n continue;\n request.headers[name] = endpoint.headers[name].join(\", \");\n }\n }\n return request;\n }\n else {\n request.protocol = endpoint.protocol;\n request.hostname = endpoint.hostname;\n request.port = endpoint.port ? Number(endpoint.port) : undefined;\n request.path = endpoint.path;\n request.query = {\n ...endpoint.query,\n };\n if (endpoint.headers) {\n for (const name in endpoint.headers) {\n if (!hasOwn(endpoint.headers, name))\n continue;\n request.headers[name] = endpoint.headers[name];\n }\n }\n return request;\n }\n }\n setHostPrefix(request, operationSchema, input) {\n if (this.serdeContext?.disableHostPrefix) {\n return;\n }\n const inputNs = NormalizedSchema.of(operationSchema.input);\n const opTraits = translateTraits(operationSchema.traits ?? {});\n if (opTraits.endpoint) {\n let hostPrefix = opTraits.endpoint?.[0];\n if (typeof hostPrefix === \"string\") {\n for (const [name, member] of inputNs.structIterator()) {\n if (!member.getMergedTraits().hostLabel) {\n continue;\n }\n const replacement = input[name];\n if (typeof replacement !== \"string\") {\n throw new Error(`@smithy/core/schema - ${name} in input must be a string as hostLabel.`);\n }\n hostPrefix = hostPrefix.replace(`{${name}}`, replacement);\n }\n request.hostname = hostPrefix + request.hostname;\n if (!isValidHostname(request.hostname)) {\n throw new Error(`[${request.hostname}] is not a valid hostname.`);\n }\n }\n }\n }\n deserializeMetadata(output) {\n return {\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n };\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.serializeEventStream({\n eventStream,\n requestSchema,\n initialRequest,\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.deserializeEventStream({\n response,\n responseSchema,\n initialResponseContainer,\n });\n }\n async loadEventStreamCapability() {\n const { EventStreamSerde, eventStreamSerdeProvider } = await import(\"@smithy/core/event-streams\");\n const marshaller = this.resolveEventStreamMarshaller(eventStreamSerdeProvider);\n return new EventStreamSerde({\n marshaller,\n serializer: this.serializer,\n deserializer: this.deserializer,\n serdeContext: this.serdeContext,\n defaultContentType: this.getDefaultContentType(),\n compositeErrorRegistry: this.compositeErrorRegistry,\n });\n }\n resolveEventStreamMarshaller(importedProvider) {\n const context = this.serdeContext;\n if (context.eventStreamMarshaller) {\n return context.eventStreamMarshaller;\n }\n return importedProvider(this.serdeContext);\n }\n getDefaultContentType() {\n throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n void schema;\n void context;\n void response;\n void arg4;\n void arg5;\n return [];\n }\n getEventStreamMarshaller() {\n const context = this.serdeContext;\n if (!context.eventStreamMarshaller) {\n throw new Error(\"@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.\");\n }\n return context.eventStreamMarshaller;\n }\n}\n","import { hasOwn } from \"@smithy/core/transport\";\nimport { NormalizedSchema, translateTraits } from \"@smithy/core/schema\";\nimport { sdkStreamMixin, splitEvery, splitHeader } from \"@smithy/core/serde\";\nimport { HttpRequest } from \"@smithy/core/transport\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nexport class HttpBindingProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const input = _input && typeof _input === \"object\" ? _input : {};\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const payloadMemberNames = [];\n const payloadMemberSchemas = [];\n let hasNonHttpBindingMember = false;\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n const opTraits = translateTraits(operationSchema.traits);\n if (opTraits.http) {\n request.method = opTraits.http[0];\n const [path, search] = opTraits.http[1].split(\"?\");\n if (request.path == \"/\") {\n request.path = path;\n }\n else {\n request.path += path;\n }\n const traitSearchParams = new URLSearchParams(search ?? \"\");\n for (const [key, value] of traitSearchParams) {\n query[key] = value;\n }\n }\n }\n for (const [memberName, memberNs] of ns.structIterator()) {\n const memberTraits = memberNs.getMergedTraits() ?? {};\n const inputMemberValue = input[memberName];\n if (inputMemberValue == null && !memberNs.isIdempotencyToken()) {\n if (memberTraits.httpLabel) {\n if (request.path.includes(`{${memberName}+}`) || request.path.includes(`{${memberName}}`)) {\n throw new Error(`No value provided for input HTTP label: ${memberName}.`);\n }\n }\n continue;\n }\n if (memberTraits.httpPayload) {\n const isStreaming = memberNs.isStreaming();\n if (isStreaming) {\n const isEventStream = memberNs.isStructSchema();\n if (isEventStream) {\n if (input[memberName]) {\n payload = await this.serializeEventStream({\n eventStream: input[memberName],\n requestSchema: ns,\n });\n }\n }\n else {\n payload = inputMemberValue;\n }\n }\n else {\n serializer.write(memberNs, inputMemberValue);\n payload = serializer.flush();\n }\n }\n else if (memberTraits.httpLabel) {\n serializer.write(memberNs, inputMemberValue);\n const replacement = serializer.flush();\n if (request.path.includes(`{${memberName}+}`)) {\n request.path = request.path.replace(`{${memberName}+}`, replacement.split(\"/\").map(extendedEncodeURIComponent).join(\"/\"));\n }\n else if (request.path.includes(`{${memberName}}`)) {\n request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));\n }\n }\n else if (memberTraits.httpHeader) {\n serializer.write(memberNs, inputMemberValue);\n headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());\n }\n else if (typeof memberTraits.httpPrefixHeaders === \"string\") {\n for (const key in inputMemberValue) {\n if (!hasOwn(inputMemberValue, key))\n continue;\n const val = inputMemberValue[key];\n const amalgam = memberTraits.httpPrefixHeaders + key;\n serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);\n headers[amalgam.toLowerCase()] = serializer.flush();\n }\n }\n else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {\n this.serializeQuery(memberNs, inputMemberValue, query);\n }\n else {\n hasNonHttpBindingMember = true;\n payloadMemberNames.push(memberName);\n payloadMemberSchemas.push(memberNs);\n }\n }\n if (hasNonHttpBindingMember && input) {\n const [namespace, name] = (ns.getName(true) ?? \"#Unknown\").split(\"#\");\n const requiredMembers = ns.getSchema()[6];\n const payloadSchema = [\n 3,\n namespace,\n name,\n ns.getMergedTraits(),\n payloadMemberNames,\n payloadMemberSchemas,\n undefined,\n ];\n if (requiredMembers) {\n payloadSchema[6] = requiredMembers;\n }\n else {\n payloadSchema.pop();\n }\n serializer.write(payloadSchema, input);\n payload = serializer.flush();\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n return request;\n }\n serializeQuery(ns, data, query) {\n const serializer = this.serializer;\n const traits = ns.getMergedTraits();\n if (traits.httpQueryParams) {\n for (const key in data) {\n if (!hasOwn(data, key))\n continue;\n if (!(key in query)) {\n const val = data[key];\n const valueSchema = ns.getValueSchema();\n Object.assign(valueSchema.getMergedTraits(), {\n ...traits,\n httpQuery: key,\n httpQueryParams: undefined,\n });\n this.serializeQuery(valueSchema, val, query);\n }\n }\n return;\n }\n if (ns.isListSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const buffer = [];\n for (const item of data) {\n serializer.write([ns.getValueSchema(), traits], item);\n const serializable = serializer.flush();\n if (sparse || serializable !== undefined) {\n buffer.push(serializable);\n }\n }\n query[traits.httpQuery] = buffer;\n }\n else {\n serializer.write([ns, traits], data);\n query[traits.httpQuery] = serializer.flush();\n }\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - HTTP Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n if (!hasOwn(response.headers, header))\n continue;\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);\n if (nonHttpBindingMembers.length) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n const dataFromBody = await deserializer.read(ns, bytes);\n for (const member of nonHttpBindingMembers) {\n if (dataFromBody[member] != null) {\n dataObject[member] = dataFromBody[member];\n }\n }\n }\n }\n else if (nonHttpBindingMembers.discardResponseBody) {\n await collectBody(response.body, context);\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n let dataObject;\n if (arg4 instanceof Set) {\n dataObject = arg5;\n }\n else {\n dataObject = arg4;\n }\n let discardResponseBody = true;\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(schema);\n const nonHttpBindingMembers = [];\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMemberTraits();\n if (memberTraits.httpPayload) {\n discardResponseBody = false;\n const isStreaming = memberSchema.isStreaming();\n if (isStreaming) {\n const isEventStream = memberSchema.isStructSchema();\n if (isEventStream) {\n dataObject[memberName] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n });\n }\n else {\n dataObject[memberName] = sdkStreamMixin(response.body);\n }\n }\n else if (response.body) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n dataObject[memberName] = await deserializer.read(memberSchema, bytes);\n }\n }\n }\n else if (memberTraits.httpHeader) {\n const key = String(memberTraits.httpHeader).toLowerCase();\n const value = response.headers[key];\n if (null != value) {\n if (memberSchema.isListSchema()) {\n const headerListValueSchema = memberSchema.getValueSchema();\n headerListValueSchema.getMergedTraits().httpHeader = key;\n let sections;\n if (headerListValueSchema.isTimestampSchema() &&\n headerListValueSchema.getSchema() === 4) {\n sections = splitEvery(value, \",\", 2);\n }\n else {\n sections = splitHeader(value);\n }\n const list = [];\n for (const section of sections) {\n list.push(await deserializer.read(headerListValueSchema, section.trim()));\n }\n dataObject[memberName] = list;\n }\n else {\n dataObject[memberName] = await deserializer.read(memberSchema, value);\n }\n }\n }\n else if (memberTraits.httpPrefixHeaders !== undefined) {\n dataObject[memberName] = {};\n for (const header in response.headers) {\n if (!hasOwn(response.headers, header))\n continue;\n if (header.startsWith(memberTraits.httpPrefixHeaders)) {\n const value = response.headers[header];\n const valueSchema = memberSchema.getValueSchema();\n valueSchema.getMergedTraits().httpHeader = header;\n dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);\n }\n }\n }\n else if (memberTraits.httpResponseCode) {\n dataObject[memberName] = response.statusCode;\n }\n else {\n nonHttpBindingMembers.push(memberName);\n }\n }\n nonHttpBindingMembers.discardResponseBody = discardResponseBody;\n return nonHttpBindingMembers;\n }\n}\n","import { hasOwn } from \"@smithy/core/transport\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { HttpRequest } from \"@smithy/core/transport\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nimport { collectBody } from \"./collect-stream-body\";\nexport class RpcProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const schema = ns.getSchema();\n let payload;\n const input = _input && typeof _input === \"object\" ? _input : {};\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"/\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n }\n if (input) {\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n if (input[eventStreamMember]) {\n const initialRequest = {};\n for (const [memberName] of ns.structIterator()) {\n if (memberName !== eventStreamMember && input[memberName] != null) {\n initialRequest[memberName] = input[memberName];\n }\n }\n payload = await this.serializeEventStream({\n eventStream: input[eventStreamMember],\n requestSchema: ns,\n initialRequest,\n });\n }\n }\n else {\n serializer.write(schema, input);\n payload = serializer.flush();\n }\n }\n request.headers = Object.assign(request.headers, headers);\n request.query = query;\n request.body = payload;\n request.method = \"POST\";\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - RPC Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n if (!hasOwn(response.headers, header))\n continue;\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n dataObject[eventStreamMember] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n initialResponseContainer: dataObject,\n });\n }\n else {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes));\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n}\n","export function determineTimestampFormat(ns, settings) {\n if (settings.timestampFormat.useTrait) {\n if (ns.isTimestampSchema() &&\n (ns.getSchema() === 5 ||\n ns.getSchema() === 6 ||\n ns.getSchema() === 7)) {\n return ns.getSchema();\n }\n }\n const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();\n const bindingFormat = settings.httpBindings\n ? typeof httpPrefixHeaders === \"string\" || Boolean(httpHeader)\n ? 6\n : Boolean(httpQuery) || Boolean(httpLabel)\n ? 5\n : undefined\n : undefined;\n return bindingFormat ?? settings.timestampFormat.default;\n}\n","import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { LazyJsonString, NumericValue, _parseEpochTimestamp, _parseRfc3339DateTimeWithOffset, _parseRfc7231DateTime, fromBase64, splitHeader, toUtf8, } from \"@smithy/core/serde\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class FromStringShapeDeserializer extends SerdeContext {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n read(_schema, data) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isListSchema()) {\n return splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));\n }\n if (ns.isBlobSchema()) {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(data);\n }\n if (ns.isTimestampSchema()) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return _parseRfc3339DateTimeWithOffset(data);\n case 6:\n return _parseRfc7231DateTime(data);\n case 7:\n return _parseEpochTimestamp(data);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", data);\n return new Date(data);\n }\n }\n if (ns.isStringSchema()) {\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = data;\n if (mediaType) {\n if (ns.getMergedTraits().httpHeader) {\n intermediateValue = this.base64ToUtf8(intermediateValue);\n }\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n return intermediateValue;\n }\n }\n if (ns.isNumericSchema()) {\n return Number(data);\n }\n if (ns.isBigIntegerSchema()) {\n return BigInt(data);\n }\n if (ns.isBigDecimalSchema()) {\n return new NumericValue(data, \"bigDecimal\");\n }\n if (ns.isBooleanSchema()) {\n return String(data).toLowerCase() === \"true\";\n }\n return data;\n }\n base64ToUtf8(base64String) {\n return (this.serdeContext?.utf8Encoder ?? toUtf8)((this.serdeContext?.base64Decoder ?? fromBase64)(base64String));\n }\n}\n","import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { fromUtf8, toUtf8 } from \"@smithy/core/serde\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { FromStringShapeDeserializer } from \"./FromStringShapeDeserializer\";\nexport class HttpInterceptingShapeDeserializer extends SerdeContext {\n codecDeserializer;\n stringDeserializer;\n constructor(codecDeserializer, codecSettings) {\n super();\n this.codecDeserializer = codecDeserializer;\n this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);\n }\n setSerdeContext(serdeContext) {\n this.stringDeserializer.setSerdeContext(serdeContext);\n this.codecDeserializer.setSerdeContext(serdeContext);\n this.serdeContext = serdeContext;\n }\n read(schema, data) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n const toString = this.serdeContext?.utf8Encoder ?? toUtf8;\n if (traits.httpHeader || traits.httpResponseCode) {\n return this.stringDeserializer.read(ns, toString(data));\n }\n if (traits.httpPayload) {\n if (ns.isBlobSchema()) {\n const toBytes = this.serdeContext?.utf8Decoder ?? fromUtf8;\n if (typeof data === \"string\") {\n return toBytes(data);\n }\n return data;\n }\n else if (ns.isStringSchema()) {\n if (\"byteLength\" in data) {\n return toString(data);\n }\n return data;\n }\n }\n return this.codecDeserializer.read(ns, data);\n }\n}\n","import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { LazyJsonString, dateToUtcString, generateIdempotencyToken, quoteHeader, toBase64 } from \"@smithy/core/serde\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class ToStringShapeSerializer extends SerdeContext {\n settings;\n stringBuffer = \"\";\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n switch (typeof value) {\n case \"object\":\n if (value === null) {\n this.stringBuffer = \"null\";\n return;\n }\n if (ns.isTimestampSchema()) {\n if (!(value instanceof Date)) {\n throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);\n }\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.stringBuffer = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n this.stringBuffer = dateToUtcString(value);\n break;\n case 7:\n this.stringBuffer = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n this.stringBuffer = String(value.getTime() / 1000);\n }\n return;\n }\n if (ns.isBlobSchema() && \"byteLength\" in value) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n return;\n }\n if (ns.isListSchema() && Array.isArray(value)) {\n let buffer = \"\";\n for (const item of value) {\n this.write([ns.getValueSchema(), ns.getMergedTraits()], item);\n const headerItem = this.flush();\n const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : quoteHeader(headerItem);\n if (buffer !== \"\") {\n buffer += \", \";\n }\n buffer += serialized;\n }\n this.stringBuffer = buffer;\n return;\n }\n this.stringBuffer = JSON.stringify(value, null, 2);\n break;\n case \"string\":\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = value;\n if (mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n if (ns.getMergedTraits().httpHeader) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(intermediateValue.toString());\n return;\n }\n }\n this.stringBuffer = value;\n break;\n default:\n if (ns.isIdempotencyToken()) {\n this.stringBuffer = generateIdempotencyToken();\n }\n else {\n this.stringBuffer = String(value);\n }\n }\n }\n flush() {\n const buffer = this.stringBuffer;\n this.stringBuffer = \"\";\n return buffer;\n }\n}\n","import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { ToStringShapeSerializer } from \"./ToStringShapeSerializer\";\nexport class HttpInterceptingShapeSerializer {\n codecSerializer;\n stringSerializer;\n buffer;\n constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {\n this.codecSerializer = codecSerializer;\n this.stringSerializer = stringSerializer;\n }\n setSerdeContext(serdeContext) {\n this.codecSerializer.setSerdeContext(serdeContext);\n this.stringSerializer.setSerdeContext(serdeContext);\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {\n this.stringSerializer.write(ns, value);\n this.buffer = this.stringSerializer.flush();\n return;\n }\n return this.codecSerializer.write(ns, value);\n }\n flush() {\n if (this.buffer !== undefined) {\n const buffer = this.buffer;\n this.buffer = undefined;\n return buffer;\n }\n return this.codecSerializer.flush();\n }\n}\n","export const getHttpHandlerExtensionConfiguration = (runtimeConfig) => {\n if (runtimeConfig.logger && runtimeConfig.logger.constructor?.name !== \"NoOpLogger\") {\n runtimeConfig.requestHandler?.updateHttpClientConfig?.(Symbol.for(\"logger\"), runtimeConfig.logger);\n }\n return {\n setHttpHandler(handler) {\n runtimeConfig.requestHandler = handler;\n },\n httpHandler() {\n return runtimeConfig.requestHandler;\n },\n updateHttpClientConfig(key, value) {\n runtimeConfig.requestHandler?.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return runtimeConfig.requestHandler.httpHandlerConfigs();\n },\n };\n};\nexport const resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {\n return {\n requestHandler: httpHandlerExtensionConfiguration.httpHandler(),\n };\n};\n","export const escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n","import { escapeUri } from \"../util-uri-escape/escape-uri\";\nexport function buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n"],"mappings":"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","names":["join","join","join","join","swallowError","readFile","join","join","readFile","SelectorType"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  toUint8Array
3
- } from "./chunk-GPJBZ6EG.js";
3
+ } from "./chunk-2FPUYYXX.js";
4
4
 
5
5
  // ../../node_modules/@smithy/core/dist-es/submodules/checksum/crc32/Crc32Node.js
6
6
  import * as zlib from "zlib";
@@ -355,4 +355,4 @@ export {
355
355
  Crc32Node,
356
356
  Sha256Node
357
357
  };
358
- //# sourceMappingURL=chunk-RRZDPP7Z.js.map
358
+ //# sourceMappingURL=chunk-X77CPJUJ.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  setCredentialFeature
3
- } from "./chunk-RBRHTAJN.js";
3
+ } from "./chunk-ZPM4D2XD.js";
4
4
  import {
5
5
  CredentialsProviderError
6
- } from "./chunk-YYVVWLB2.js";
6
+ } from "./chunk-TKWHSSPF.js";
7
7
 
8
8
  // ../../node_modules/@aws-sdk/credential-provider-env/dist-es/fromEnv.js
9
9
  var ENV_KEY = "AWS_ACCESS_KEY_ID";
@@ -44,4 +44,4 @@ export {
44
44
  ENV_ACCOUNT_ID,
45
45
  fromEnv
46
46
  };
47
- //# sourceMappingURL=chunk-UKT6IXAM.js.map
47
+ //# sourceMappingURL=chunk-XTHXGGIJ.js.map
@@ -5,7 +5,7 @@ import {
5
5
  SelectorType,
6
6
  booleanSelector,
7
7
  loadConfig
8
- } from "./chunk-YYVVWLB2.js";
8
+ } from "./chunk-TKWHSSPF.js";
9
9
  import {
10
10
  AlgorithmId,
11
11
  EndpointURLScheme,
@@ -14,12 +14,13 @@ import {
14
14
  NormalizedSchema,
15
15
  SMITHY_CONTEXT_KEY,
16
16
  getSmithyContext,
17
+ hasOwn,
17
18
  isValidHostLabel,
18
19
  normalizeProvider,
19
20
  parseRfc7231DateTime,
20
21
  toEndpointV1,
21
22
  v4
22
- } from "./chunk-GPJBZ6EG.js";
23
+ } from "./chunk-2FPUYYXX.js";
23
24
 
24
25
  // ../../node_modules/@smithy/core/dist-es/submodules/client/middleware-stack/MiddlewareStack.js
25
26
  var getAllAliases = (name, aliases) => {
@@ -831,6 +832,8 @@ var knownAlgorithms = Object.values(AlgorithmId);
831
832
  var getChecksumConfiguration = (runtimeConfig) => {
832
833
  const checksumAlgorithms = [];
833
834
  for (const id in AlgorithmId) {
835
+ if (!hasOwn(AlgorithmId, id))
836
+ continue;
834
837
  const algorithmId = AlgorithmId[id];
835
838
  if (runtimeConfig[algorithmId] === void 0) {
836
839
  continue;
@@ -903,7 +906,9 @@ var resolveDefaultRuntimeConfig = (config) => {
903
906
  var getValueFromTextNode = (obj) => {
904
907
  const textNodeName = "#text";
905
908
  for (const key in obj) {
906
- if (Object.prototype.hasOwnProperty.call(obj, key) && obj[key][textNodeName] !== void 0) {
909
+ if (!hasOwn(obj, key))
910
+ continue;
911
+ if (obj[key][textNodeName] !== void 0) {
907
912
  obj[key] = obj[key][textNodeName];
908
913
  } else if (typeof obj[key] === "object" && obj[key] !== null) {
909
914
  obj[key] = getValueFromTextNode(obj[key]);
@@ -2128,7 +2133,9 @@ function parseRetryAfterHeader(response, logger) {
2128
2133
  if (!HttpResponse.isInstance(response)) {
2129
2134
  return;
2130
2135
  }
2131
- for (const header of Object.keys(response.headers)) {
2136
+ for (const header in response.headers) {
2137
+ if (!hasOwn(response.headers, header))
2138
+ continue;
2132
2139
  const h = header.toLowerCase();
2133
2140
  if (h === "retry-after") {
2134
2141
  const retryAfter = response.headers[header];
@@ -2718,6 +2725,8 @@ var DefaultIdentityProviderConfig = class {
2718
2725
  authSchemes = /* @__PURE__ */ new Map();
2719
2726
  constructor(config) {
2720
2727
  for (const key in config) {
2728
+ if (!hasOwn(config, key))
2729
+ continue;
2721
2730
  const value = config[key];
2722
2731
  if (value !== void 0) {
2723
2732
  this.authSchemes.set(key, value);
@@ -3529,4 +3538,4 @@ export {
3529
3538
  getAwsRegionExtensionConfiguration,
3530
3539
  resolveAwsRegionExtensionConfiguration
3531
3540
  };
3532
- //# sourceMappingURL=chunk-RBRHTAJN.js.map
3541
+ //# sourceMappingURL=chunk-ZPM4D2XD.js.map