@semiont/graph 0.5.21 → 0.5.22

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 (51) hide show
  1. package/dist/{chunk-J2GNAAZA.js → chunk-7WLIHNPO.js} +19 -750
  2. package/dist/chunk-7WLIHNPO.js.map +1 -0
  3. package/dist/{chunk-WUOPYF3V.js → chunk-7X77XSVD.js} +7 -7
  4. package/dist/{chunk-WUOPYF3V.js.map → chunk-7X77XSVD.js.map} +1 -1
  5. package/dist/{chunk-L7UMT7TC.js → chunk-AJ4W3DS7.js} +5 -3
  6. package/dist/{chunk-L7UMT7TC.js.map → chunk-AJ4W3DS7.js.map} +1 -1
  7. package/dist/{chunk-JJUYBZ5C.js → chunk-FR442V6O.js} +3 -3
  8. package/dist/{chunk-UN64BKHA.js → chunk-GPJBZ6EG.js} +746 -3
  9. package/dist/chunk-GPJBZ6EG.js.map +1 -0
  10. package/dist/{chunk-IZRDH6ZA.js → chunk-NO67W7EF.js} +222 -55
  11. package/dist/chunk-NO67W7EF.js.map +1 -0
  12. package/dist/{chunk-WIM7YLFQ.js → chunk-RRZDPP7Z.js} +2 -2
  13. package/dist/{chunk-QVMXXFG5.js → chunk-ZPTG6NGD.js} +11 -11
  14. package/dist/chunk-ZPTG6NGD.js.map +1 -0
  15. package/dist/{dist-es-JMQZFACH.js → dist-es-5CNHCO76.js} +7 -7
  16. package/dist/{dist-es-EFSR5RHO.js → dist-es-63RSTSM2.js} +13 -13
  17. package/dist/{dist-es-TFVAFKJ5.js → dist-es-BTCEI257.js} +4 -4
  18. package/dist/{dist-es-RUJYXWW7.js → dist-es-C3XGVVKR.js} +7 -6
  19. package/dist/{dist-es-RUJYXWW7.js.map → dist-es-C3XGVVKR.js.map} +1 -1
  20. package/dist/{dist-es-47I7P7S4.js → dist-es-OHWBFB6Z.js} +7 -7
  21. package/dist/{dist-es-GCAGX4FB.js → dist-es-QDQUKRHU.js} +5 -4
  22. package/dist/{dist-es-GCAGX4FB.js.map → dist-es-QDQUKRHU.js.map} +1 -1
  23. package/dist/{dist-es-7RLYMBW4.js → dist-es-R36PCSLH.js} +5 -5
  24. package/dist/{dist-es-YSRYRFUR.js → dist-es-TBYZWFUA.js} +26 -26
  25. package/dist/{dist-es-YSRYRFUR.js.map → dist-es-TBYZWFUA.js.map} +1 -1
  26. package/dist/{dist-es-6D223V5J.js → dist-es-ZOQMUI6H.js} +5 -5
  27. package/dist/{event-streams-M4VNXF4E.js → event-streams-2HBIXE6X.js} +33 -14
  28. package/dist/event-streams-2HBIXE6X.js.map +1 -0
  29. package/dist/index.js +1 -1
  30. package/dist/{loadSso-UZJSAOIR.js → loadSso-OMYS2YH5.js} +13 -13
  31. package/dist/{signin-LCNGXJL6.js → signin-OZ4KQMKS.js} +13 -13
  32. package/dist/{sso-oidc-JCP5LKPR.js → sso-oidc-K2XXESPI.js} +13 -13
  33. package/dist/{sts-EM5BP3PD.js → sts-4YKAIUZO.js} +13 -13
  34. package/package.json +5 -5
  35. package/dist/chunk-IZRDH6ZA.js.map +0 -1
  36. package/dist/chunk-J2GNAAZA.js.map +0 -1
  37. package/dist/chunk-QVMXXFG5.js.map +0 -1
  38. package/dist/chunk-UN64BKHA.js.map +0 -1
  39. package/dist/event-streams-M4VNXF4E.js.map +0 -1
  40. /package/dist/{chunk-JJUYBZ5C.js.map → chunk-FR442V6O.js.map} +0 -0
  41. /package/dist/{chunk-WIM7YLFQ.js.map → chunk-RRZDPP7Z.js.map} +0 -0
  42. /package/dist/{dist-es-JMQZFACH.js.map → dist-es-5CNHCO76.js.map} +0 -0
  43. /package/dist/{dist-es-EFSR5RHO.js.map → dist-es-63RSTSM2.js.map} +0 -0
  44. /package/dist/{dist-es-TFVAFKJ5.js.map → dist-es-BTCEI257.js.map} +0 -0
  45. /package/dist/{dist-es-47I7P7S4.js.map → dist-es-OHWBFB6Z.js.map} +0 -0
  46. /package/dist/{dist-es-7RLYMBW4.js.map → dist-es-R36PCSLH.js.map} +0 -0
  47. /package/dist/{dist-es-6D223V5J.js.map → dist-es-ZOQMUI6H.js.map} +0 -0
  48. /package/dist/{loadSso-UZJSAOIR.js.map → loadSso-OMYS2YH5.js.map} +0 -0
  49. /package/dist/{signin-LCNGXJL6.js.map → signin-OZ4KQMKS.js.map} +0 -0
  50. /package/dist/{sso-oidc-JCP5LKPR.js.map → sso-oidc-K2XXESPI.js.map} +0 -0
  51. /package/dist/{sts-EM5BP3PD.js.map → sts-4YKAIUZO.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/isClockSkewed.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getArrayForCommaSeparatedString.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js","../../../node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js","../../../node_modules/@smithy/signature-v4/dist-es/constants.js","../../../node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js","../../../node_modules/@smithy/signature-v4/dist-es/utilDate.js","../../../node_modules/@smithy/signature-v4/dist-es/SignatureV4Base.js","../../../node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js","../../../node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js","../../../node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js","../../../node_modules/@smithy/signature-v4/dist-es/headerUtil.js","../../../node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js","../../../node_modules/@smithy/signature-v4/dist-es/prepareRequest.js","../../../node_modules/@smithy/signature-v4/dist-es/SignatureV4.js","../../../node_modules/@smithy/signature-v4/dist-es/signature-v4a-container.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReviver.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/common.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReplacer.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonCodec.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js","../../../node_modules/@aws-sdk/xml-builder/dist-es/xml-parser.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js","../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js"],"sourcesContent":["import { HttpResponse } from \"@smithy/core/protocols\";\nexport const getDateHeader = (response) => HttpResponse.isInstance(response) ? (response.headers?.date ?? response.headers?.Date) : undefined;\n","export const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\n","import { getSkewCorrectedDate } from \"./getSkewCorrectedDate\";\nexport const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;\n","import { isClockSkewed } from \"./isClockSkewed\";\nexport const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {\n const clockTimeInMs = Date.parse(clockTime);\n if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n};\n","import { HttpRequest } from \"@smithy/core/protocols\";\nimport { getDateHeader, getSkewCorrectedDate, getUpdatedSystemClockOffset } from \"../utils\";\nconst throwSigningPropertyError = (name, property) => {\n if (!property) {\n throw new Error(`Property \\`${name}\\` is not resolved for AWS SDK SigV4Auth`);\n }\n return property;\n};\nexport const validateSigningProperties = async (signingProperties) => {\n const context = throwSigningPropertyError(\"context\", signingProperties.context);\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const authScheme = context.endpointV2?.properties?.authSchemes?.[0];\n const signerFunction = throwSigningPropertyError(\"signer\", config.signer);\n const signer = await signerFunction(authScheme);\n const signingRegion = signingProperties?.signingRegion;\n const signingRegionSet = signingProperties?.signingRegionSet;\n const signingName = signingProperties?.signingName;\n return {\n config,\n signer,\n signingRegion,\n signingRegionSet,\n signingName,\n };\n};\nexport class AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const validatedProps = await validateSigningProperties(signingProperties);\n const { config, signer } = validatedProps;\n let { signingRegion, signingName } = validatedProps;\n const handlerExecutionContext = signingProperties.context;\n if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {\n const [first, second] = handlerExecutionContext.authSchemes;\n if (first?.name === \"sigv4a\" && second?.name === \"sigv4\") {\n signingRegion = second?.signingRegion ?? signingRegion;\n signingName = second?.signingName ?? signingName;\n }\n }\n signingProperties._preRequestSystemClockOffset = config.systemClockOffset;\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: signingRegion,\n signingService: signingName,\n });\n return signedRequest;\n }\n errorHandler(signingProperties) {\n return (error) => {\n const errorException = error;\n const serverTime = errorException.ServerTime ?? getDateHeader(errorException.$response);\n if (serverTime) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const preRequestOffset = signingProperties._preRequestSystemClockOffset;\n const newOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);\n const isLocalCorrection = newOffset !== config.systemClockOffset;\n const isConcurrentCorrection = preRequestOffset !== undefined && preRequestOffset !== newOffset;\n const clockSkewCorrected = isLocalCorrection || isConcurrentCorrection;\n if (clockSkewCorrected && errorException.$metadata) {\n config.systemClockOffset = newOffset;\n errorException.$metadata.clockSkewCorrected = true;\n }\n }\n throw error;\n };\n }\n successHandler(httpResponse, signingProperties) {\n const dateHeader = getDateHeader(httpResponse);\n if (dateHeader) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);\n }\n }\n}\nexport const AWSSDKSigV4Signer = AwsSdkSigV4Signer;\n","import { HttpRequest } from \"@smithy/core/protocols\";\nimport { getSkewCorrectedDate } from \"../utils\";\nimport { AwsSdkSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);\n const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();\n const multiRegionOverride = (configResolvedSigningRegionSet ??\n signingRegionSet ?? [signingRegion]).join(\",\");\n signingProperties._preRequestSystemClockOffset = config.systemClockOffset;\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: multiRegionOverride,\n signingService: signingName,\n });\n return signedRequest;\n }\n}\n","export const getArrayForCommaSeparatedString = (str) => typeof str === \"string\" && str.length > 0 ? str.split(\",\").map((item) => item.trim()) : [];\n","export const getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\\s-]/g, \"_\").toUpperCase()}`;\n","import { getArrayForCommaSeparatedString } from \"../utils/getArrayForCommaSeparatedString\";\nimport { getBearerTokenEnvKey } from \"../utils/getBearerTokenEnvKey\";\nconst NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = \"AWS_AUTH_SCHEME_PREFERENCE\";\nconst NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = \"auth_scheme_preference\";\nexport const NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {\n environmentVariableSelector: (env, options) => {\n if (options?.signingName) {\n const bearerTokenKey = getBearerTokenEnvKey(options.signingName);\n if (bearerTokenKey in env)\n return [\"httpBearerAuth\"];\n }\n if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env))\n return undefined;\n return getArrayForCommaSeparatedString(env[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);\n },\n configFileSelector: (profile) => {\n if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))\n return undefined;\n return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);\n },\n default: [],\n};\n","import { normalizeProvider } from \"@smithy/core\";\nimport { ProviderError } from \"@smithy/core/config\";\nexport const resolveAwsSdkSigV4AConfig = (config) => {\n config.sigv4aSigningRegionSet = normalizeProvider(config.sigv4aSigningRegionSet);\n return config;\n};\nexport const NODE_SIGV4A_CONFIG_OPTIONS = {\n environmentVariableSelector(env) {\n if (env.AWS_SIGV4A_SIGNING_REGION_SET) {\n return env.AWS_SIGV4A_SIGNING_REGION_SET.split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"AWS_SIGV4A_SIGNING_REGION_SET not set in env.\", {\n tryNextLink: true,\n });\n },\n configFileSelector(profile) {\n if (profile.sigv4a_signing_region_set) {\n return (profile.sigv4a_signing_region_set ?? \"\").split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"sigv4a_signing_region_set not set in profile.\", {\n tryNextLink: true,\n });\n },\n default: undefined,\n};\n","import { fromHex, fromUtf8, toHex } from \"@smithy/core/serde\";\nexport class HeaderFormatter {\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? HEADER_VALUE_TYPE.boolTrue : HEADER_VALUE_TYPE.boolFalse]);\n case \"byte\":\n return Uint8Array.from([HEADER_VALUE_TYPE.byte, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, HEADER_VALUE_TYPE.short);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, HEADER_VALUE_TYPE.integer);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = HEADER_VALUE_TYPE.long;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, HEADER_VALUE_TYPE.byteArray);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, HEADER_VALUE_TYPE.string);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = HEADER_VALUE_TYPE.timestamp;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = HEADER_VALUE_TYPE.uuid;\n uuidBytes.set(fromHex(header.value.replace(/-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nexport class Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9_223_372_036_854_775_808) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n","export const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport const TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nexport const REGION_SET_PARAM = \"X-Amz-Region-Set\";\nexport const AUTH_HEADER = \"authorization\";\nexport const AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport const DATE_HEADER = \"date\";\nexport const GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport const SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport const SHA256_HEADER = \"x-amz-content-sha256\";\nexport const TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport const HOST_HEADER = \"host\";\nexport const ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nexport const PROXY_HEADER_PATTERN = /^proxy-/;\nexport const SEC_HEADER_PATTERN = /^sec-/;\nexport const UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nexport const ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nexport const EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nexport const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport const MAX_CACHE_SIZE = 50;\nexport const KEY_TYPE_IDENTIFIER = \"aws4_request\";\nexport const MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n","import { escapeUri } from \"@smithy/core/protocols\";\nimport { SIGNATURE_HEADER } from \"./constants\";\nexport const getCanonicalQuery = ({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query)) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n const encodedKey = escapeUri(key);\n keys.push(encodedKey);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[encodedKey] = `${encodedKey}=${escapeUri(value)}`;\n }\n else if (Array.isArray(value)) {\n serialized[encodedKey] = value\n .slice(0)\n .reduce((encoded, value) => encoded.concat([`${encodedKey}=${escapeUri(value)}`]), [])\n .sort()\n .join(\"&\");\n }\n }\n return keys\n .sort()\n .map((key) => serialized[key])\n .filter((serialized) => serialized)\n .join(\"&\");\n};\n","export const iso8601 = (time) => toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\nexport const toDate = (time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n};\n","import { normalizeProvider } from \"@smithy/core/client\";\nimport { escapeUri } from \"@smithy/core/protocols\";\nimport { toHex, toUint8Array } from \"@smithy/core/serde\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { iso8601 } from \"./utilDate\";\nexport class SignatureV4Base {\n service;\n regionProvider;\n credentialProvider;\n sha256;\n uriEscapePath;\n applyChecksum;\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeProvider(region);\n this.credentialProvider = normalizeProvider(credentials);\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {\n const hash = new this.sha256();\n hash.update(toUint8Array(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${algorithmIdentifier}\n${longDate}\n${credentialScope}\n${toHex(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if (pathSegment?.length === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = escapeUri(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" ||\n typeof credentials.accessKeyId !== \"string\" ||\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n formatDate(now) {\n const longDate = iso8601(now).replace(/[-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8),\n };\n }\n getCanonicalHeaderList(headers) {\n return Object.keys(headers).sort().join(\";\");\n }\n}\n","import { toHex, toUint8Array } from \"@smithy/core/serde\";\nimport { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\nconst signingKeyCache = {};\nconst cacheQueue = [];\nexport const createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\nexport const getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${toHex(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key);\n};\nexport const clearCredentialCache = () => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n};\nconst hmac = (ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update(toUint8Array(data));\n return hash.digest();\n};\n","import { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\nexport const getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == undefined) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n};\n","import { isArrayBuffer, toHex, toUint8Array } from \"@smithy/core/serde\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\nexport const getPayloadHash = async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n }\n else if (typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(toUint8Array(body));\n return toHex(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n};\n","export const hasHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\nexport const getHeaderValue = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return headers[headerName];\n }\n }\n return undefined;\n};\nexport const deleteHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n delete headers[headerName];\n }\n }\n};\n","import { HttpRequest } from \"@smithy/core/protocols\";\nexport const moveHeadersToQuery = (request, options = {}) => {\n const { headers, query = {} } = HttpRequest.clone(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if ((lname.slice(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname)) ||\n options.hoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query,\n };\n};\n","import { HttpRequest } from \"@smithy/core/protocols\";\nimport { GENERATED_HEADERS } from \"./constants\";\nexport const prepareRequest = (request) => {\n request = HttpRequest.clone(request);\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n};\n","import { toHex, toUint8Array } from \"@smithy/core/serde\";\nimport { HeaderFormatter } from \"./HeaderFormatter\";\nimport { SignatureV4Base } from \"./SignatureV4Base\";\nimport { ALGORITHM_IDENTIFIER, ALGORITHM_QUERY_PARAM, AMZ_DATE_HEADER, AMZ_DATE_QUERY_PARAM, AUTH_HEADER, CREDENTIAL_QUERY_PARAM, EVENT_ALGORITHM_IDENTIFIER, EXPIRES_QUERY_PARAM, MAX_PRESIGNED_TTL, SHA256_HEADER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_HEADER, TOKEN_QUERY_PARAM, } from \"./constants\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { hasHeader } from \"./headerUtil\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nexport class SignatureV4 extends SignatureV4Base {\n headerFormatter = new HeaderFormatter();\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n super({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath,\n });\n }\n async presign(originalRequest, options = {}) {\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, hoistableHeaders, signingRegion, signingService, } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { longDate, shortDate } = this.formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\");\n }\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)));\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n }\n else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n }\n else if (toSign.message) {\n return this.signMessage(toSign, options);\n }\n else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService, eventStreamCredentials, }) {\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate, longDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = toHex(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, {\n signingDate,\n signingRegion: region,\n signingService,\n eventStreamCredentials,\n });\n }\n async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService, eventStreamCredentials }) {\n const promise = this.signEvent({\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body,\n }, {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature,\n eventStreamCredentials,\n });\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService, eventStreamCredentials, } = {}) {\n const credentials = eventStreamCredentials ?? (await this.credentialProvider());\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = this.formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));\n request.headers[AUTH_HEADER] =\n `${ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n return request;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest, ALGORITHM_IDENTIFIER);\n const hash = new this.sha256(await keyPromise);\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n}\n","export const signatureV4aContainer = {\n SignatureV4a: null,\n};\n","import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider, normalizeProvider, } from \"@smithy/core\";\nimport { SignatureV4 } from \"@smithy/signature-v4\";\nexport const resolveAwsSdkSigV4Config = (config) => {\n let inputCredentials = config.credentials;\n let isUserSupplied = !!config.credentials;\n let resolvedCredentials = undefined;\n Object.defineProperty(config, \"credentials\", {\n set(credentials) {\n if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {\n isUserSupplied = true;\n }\n inputCredentials = credentials;\n const memoizedProvider = normalizeCredentialProvider(config, {\n credentials: inputCredentials,\n credentialDefaultProvider: config.credentialDefaultProvider,\n });\n const boundProvider = bindCallerConfig(config, memoizedProvider);\n if (isUserSupplied && !boundProvider.attributed) {\n const isCredentialObject = typeof inputCredentials === \"object\" && inputCredentials !== null;\n resolvedCredentials = async (options) => {\n const creds = await boundProvider(options);\n const attributedCreds = creds;\n if (isCredentialObject && (!attributedCreds.$source || Object.keys(attributedCreds.$source).length === 0)) {\n return setCredentialFeature(attributedCreds, \"CREDENTIALS_CODE\", \"e\");\n }\n return attributedCreds;\n };\n resolvedCredentials.memoized = boundProvider.memoized;\n resolvedCredentials.configBound = boundProvider.configBound;\n resolvedCredentials.attributed = true;\n }\n else {\n resolvedCredentials = boundProvider;\n }\n },\n get() {\n return resolvedCredentials;\n },\n enumerable: true,\n configurable: true,\n });\n config.credentials = inputCredentials;\n const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256, } = config;\n let signer;\n if (config.signer) {\n signer = normalizeProvider(config.signer);\n }\n else if (config.regionInfoProvider) {\n signer = () => normalizeProvider(config.region)()\n .then(async (region) => [\n (await config.regionInfoProvider(region, {\n useFipsEndpoint: await config.useFipsEndpoint(),\n useDualstackEndpoint: await config.useDualstackEndpoint(),\n })) || {},\n region,\n ])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n config.signingRegion = config.signingRegion || signingRegion || region;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n });\n }\n else {\n signer = async (authScheme) => {\n authScheme = Object.assign({}, {\n name: \"sigv4\",\n signingName: config.signingName || config.defaultSigningName,\n signingRegion: await normalizeProvider(config.region)(),\n properties: {},\n }, authScheme);\n const signingRegion = authScheme.signingRegion;\n const signingService = authScheme.signingName;\n config.signingRegion = config.signingRegion || signingRegion;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n };\n }\n const resolvedConfig = Object.assign(config, {\n systemClockOffset,\n signingEscapePath,\n signer,\n });\n return resolvedConfig;\n};\nexport const resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;\nfunction normalizeCredentialProvider(config, { credentials, credentialDefaultProvider, }) {\n let credentialsProvider;\n if (credentials) {\n if (!credentials?.memoized) {\n credentialsProvider = memoizeIdentityProvider(credentials, isIdentityExpired, doesIdentityRequireRefresh);\n }\n else {\n credentialsProvider = credentials;\n }\n }\n else {\n if (credentialDefaultProvider) {\n credentialsProvider = normalizeProvider(credentialDefaultProvider(Object.assign({}, config, {\n parentClientConfig: config,\n })));\n }\n else {\n credentialsProvider = async () => {\n throw new Error(\"@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.\");\n };\n }\n }\n credentialsProvider.memoized = true;\n return credentialsProvider;\n}\nfunction bindCallerConfig(config, credentialsProvider) {\n if (credentialsProvider.configBound) {\n return credentialsProvider;\n }\n const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config });\n fn.memoized = credentialsProvider.memoized;\n fn.configBound = true;\n return fn;\n}\n","import { decorateServiceException } from \"@smithy/core/client\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nexport class ProtocolLib {\n queryCompat;\n errorRegistry;\n constructor(queryCompat = false) {\n this.queryCompat = queryCompat;\n }\n resolveRestContentType(defaultContentType, inputSchema) {\n const members = inputSchema.getMemberSchemas();\n const httpPayloadMember = Object.values(members).find((m) => {\n return !!m.getMergedTraits().httpPayload;\n });\n if (httpPayloadMember) {\n const mediaType = httpPayloadMember.getMergedTraits().mediaType;\n if (mediaType) {\n return mediaType;\n }\n else if (httpPayloadMember.isStringSchema()) {\n return \"text/plain\";\n }\n else if (httpPayloadMember.isBlobSchema()) {\n return \"application/octet-stream\";\n }\n else {\n return defaultContentType;\n }\n }\n else if (!inputSchema.isUnitSchema()) {\n const hasBody = Object.values(members).find((m) => {\n const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m.getMergedTraits();\n const noPrefixHeaders = httpPrefixHeaders === void 0;\n return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;\n });\n if (hasBody) {\n return defaultContentType;\n }\n }\n }\n async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {\n let errorName = errorIdentifier;\n if (errorIdentifier.includes(\"#\")) {\n [, errorName] = errorIdentifier.split(\"#\");\n }\n const errorMetadata = {\n $metadata: metadata,\n $fault: response.statusCode < 500 ? \"client\" : \"server\",\n };\n if (!this.errorRegistry) {\n throw new Error(\"@aws-sdk/core/protocols - error handler not initialized.\");\n }\n try {\n const errorSchema = getErrorSchema?.(this.errorRegistry, errorName) ??\n this.errorRegistry.getSchema(errorIdentifier);\n return { errorSchema, errorMetadata };\n }\n catch (e) {\n dataObject.message = dataObject.message ?? dataObject.Message ?? \"UnknownError\";\n const synthetic = this.errorRegistry;\n const baseExceptionSchema = synthetic.getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema) ?? Error;\n throw this.decorateServiceException(Object.assign(new ErrorCtor({ name: errorName }), errorMetadata), dataObject);\n }\n const d = dataObject;\n const message = d?.message ?? d?.Message ?? d?.Error?.Message ?? d?.Error?.message;\n throw this.decorateServiceException(Object.assign(new Error(message), {\n name: errorName,\n }, errorMetadata), dataObject);\n }\n }\n compose(composite, errorIdentifier, defaultNamespace) {\n let namespace = defaultNamespace;\n if (errorIdentifier.includes(\"#\")) {\n [namespace] = errorIdentifier.split(\"#\");\n }\n const staticRegistry = TypeRegistry.for(namespace);\n const defaultSyntheticRegistry = TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + defaultNamespace);\n composite.copyFrom(staticRegistry);\n composite.copyFrom(defaultSyntheticRegistry);\n this.errorRegistry = composite;\n }\n decorateServiceException(exception, additions = {}) {\n if (this.queryCompat) {\n const msg = exception.Message ?? additions.Message;\n const error = decorateServiceException(exception, additions);\n if (msg) {\n error.message = msg;\n }\n const errorObj = error.Error ?? {};\n errorObj.Type = error.Error?.Type;\n errorObj.Code = error.Error?.Code;\n errorObj.Message = error.Error?.message ?? error.Error?.Message ?? msg;\n error.Error = errorObj;\n const reqId = error.$metadata.requestId;\n if (reqId) {\n error.RequestId = reqId;\n }\n return error;\n }\n return decorateServiceException(exception, additions);\n }\n setQueryCompatError(output, response) {\n const queryErrorHeader = response.headers?.[\"x-amzn-query-error\"];\n if (output !== undefined && queryErrorHeader != null) {\n const [Code, Type] = queryErrorHeader.split(\";\");\n const keys = Object.keys(output);\n const Error = {\n Code,\n Type,\n };\n output.Code = Code;\n output.Type = Type;\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n Error[k === \"message\" ? \"Message\" : k] = output[k];\n }\n delete Error.__type;\n output.Error = Error;\n }\n }\n queryCompatOutput(queryCompatErrorData, errorData) {\n if (queryCompatErrorData.Error) {\n errorData.Error = queryCompatErrorData.Error;\n }\n if (queryCompatErrorData.Type) {\n errorData.Type = queryCompatErrorData.Type;\n }\n if (queryCompatErrorData.Code) {\n errorData.Code = queryCompatErrorData.Code;\n }\n }\n findQueryCompatibleError(registry, errorName) {\n try {\n return registry.getSchema(errorName);\n }\n catch (e) {\n return registry.find((schema) => NormalizedSchema.of(schema).getMergedTraits().awsQueryError?.[0] === errorName);\n }\n }\n}\n","export class SerdeContextConfig {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n","export class UnionSerde {\n from;\n to;\n keys;\n constructor(from, to) {\n this.from = from;\n this.to = to;\n const keys = Object.keys(this.from);\n const set = new Set(keys);\n set.delete(\"__type\");\n this.keys = set;\n }\n mark(key) {\n this.keys.delete(key);\n }\n hasUnknown() {\n return this.keys.size === 1 && Object.keys(this.to).length === 0;\n }\n writeUnknown() {\n if (this.hasUnknown()) {\n const k = this.keys.values().next().value;\n const v = this.from[k];\n this.to.$unknown = [k, v];\n }\n }\n}\n","import { NumericValue } from \"@smithy/core/serde\";\nexport function jsonReviver(key, value, context) {\n if (context?.source) {\n const numericString = context.source;\n if (typeof value === \"number\") {\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER || numericString !== String(value)) {\n const isFractional = numericString.includes(\".\");\n if (isFractional) {\n return new NumericValue(numericString, \"bigDecimal\");\n }\n else {\n return BigInt(numericString);\n }\n }\n }\n }\n return value;\n}\n","import { collectBody } from \"@smithy/core/protocols\";\nimport { toUtf8 } from \"@smithy/core/serde\";\nexport const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => (context?.utf8Encoder ?? toUtf8)(body));\n","import { collectBodyString } from \"../common\";\nexport const parseJsonBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n try {\n return JSON.parse(encoded);\n }\n catch (e) {\n if (e?.name === \"SyntaxError\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n }\n return {};\n});\nexport const parseJsonErrorBody = async (errorBody, context) => {\n const value = await parseJsonBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nconst findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\nconst sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n};\nexport const loadRestJsonErrorCode = (output, data) => {\n return loadErrorCode(output, data, [\"header\", \"code\", \"type\"]);\n};\nexport const loadJsonRpcErrorCode = (output, data, queryCompat = false) => {\n return loadErrorCode(output, data, queryCompat ? [\"code\", \"header\", \"type\"] : [\"type\", \"code\", \"header\"]);\n};\nconst loadErrorCode = ({ headers }, data, order) => {\n while (order.length > 0) {\n const location = order.shift();\n switch (location) {\n case \"header\":\n const headerKey = findKey(headers ?? {}, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(headers[headerKey]);\n }\n break;\n case \"code\":\n const codeKey = findKey(data ?? {}, \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n break;\n case \"type\":\n if (data?.__type !== undefined) {\n return sanitizeErrorCode(data.__type);\n }\n break;\n }\n }\n};\n","import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { LazyJsonString, NumericValue, parseEpochTimestamp, parseRfc3339DateTimeWithOffset, parseRfc7231DateTime, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/core/serde\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { UnionSerde } from \"../UnionSerde\";\nimport { jsonReviver } from \"./jsonReviver\";\nimport { parseJsonBody } from \"./parseJsonBody\";\nexport class JsonShapeDeserializer extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n async read(schema, data) {\n return this._read(schema, typeof data === \"string\" ? JSON.parse(data, jsonReviver) : await parseJsonBody(data, this.serdeContext));\n }\n readObject(schema, data) {\n return this._read(schema, data);\n }\n _read(schema, value) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const union = ns.isUnionSchema();\n const out = {};\n let nameMap = void 0;\n const { jsonName } = this.settings;\n if (jsonName) {\n nameMap = {};\n }\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(record, out);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n let fromKey = memberName;\n if (jsonName) {\n fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;\n nameMap[fromKey] = memberName;\n }\n if (union) {\n unionSerde.mark(fromKey);\n }\n if (record[fromKey] != null) {\n out[memberName] = this._read(memberSchema, record[fromKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n else if (typeof record.__type === \"string\") {\n for (const k in record) {\n const v = record[k];\n const t = jsonName ? (nameMap[k] ?? k) : k;\n if (!(t in out)) {\n out[t] = v;\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n for (const item of value) {\n out.push(this._read(listMember, item));\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n for (const _k in value) {\n out[_k] = this._read(mapMember, value[_k]);\n }\n return out;\n }\n }\n if (ns.isBlobSchema() && typeof value === \"string\") {\n return fromBase64(value);\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (ns.isStringSchema() && typeof value === \"string\" && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n return value;\n }\n if (ns.isTimestampSchema() && value != null) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return parseRfc3339DateTimeWithOffset(value);\n case 6:\n return parseRfc7231DateTime(value);\n case 7:\n return parseEpochTimestamp(value);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", value);\n return new Date(value);\n }\n }\n if (ns.isBigIntegerSchema() && (typeof value === \"number\" || typeof value === \"string\")) {\n return BigInt(value);\n }\n if (ns.isBigDecimalSchema() && value != undefined) {\n if (value instanceof NumericValue) {\n return value;\n }\n const untyped = value;\n if (untyped.type === \"bigDecimal\" && \"string\" in untyped) {\n return new NumericValue(untyped.string, untyped.type);\n }\n return new NumericValue(String(value), \"bigDecimal\");\n }\n if (ns.isNumericSchema() && typeof value === \"string\") {\n switch (value) {\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n case \"NaN\":\n return NaN;\n }\n return value;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const k in value) {\n const v = value[k];\n if (v instanceof NumericValue) {\n out[k] = v;\n }\n else {\n out[k] = this._read(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n","import { NumericValue } from \"@smithy/core/serde\";\nconst NUMERIC_CONTROL_CHAR = String.fromCharCode(925);\nexport class JsonReplacer {\n values = new Map();\n counter = 0;\n stage = 0;\n createReplacer() {\n if (this.stage === 1) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer already created.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 1;\n return (key, value) => {\n if (value instanceof NumericValue) {\n const v = `${NUMERIC_CONTROL_CHAR + \"nv\" + this.counter++}_` + value.string;\n this.values.set(`\"${v}\"`, value.string);\n return v;\n }\n if (typeof value === \"bigint\") {\n const s = value.toString();\n const v = `${NUMERIC_CONTROL_CHAR + \"b\" + this.counter++}_` + s;\n this.values.set(`\"${v}\"`, s);\n return v;\n }\n return value;\n };\n }\n replaceInJson(json) {\n if (this.stage === 0) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer not created yet.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 2;\n if (this.counter === 0) {\n return json;\n }\n for (const [key, value] of this.values) {\n json = json.replace(key, value);\n }\n return json;\n }\n}\n","import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { dateToUtcString, generateIdempotencyToken, LazyJsonString, NumericValue, toBase64 } from \"@smithy/core/serde\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonReplacer } from \"./jsonReplacer\";\nexport class JsonShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n useReplacer = false;\n rootSchema;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n this.rootSchema = NormalizedSchema.of(schema);\n this.buffer = this._write(this.rootSchema, value);\n }\n flush() {\n const { rootSchema, useReplacer } = this;\n this.rootSchema = undefined;\n this.useReplacer = false;\n if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {\n if (!useReplacer) {\n return JSON.stringify(this.buffer);\n }\n const replacer = new JsonReplacer();\n return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));\n }\n return this.buffer;\n }\n writeDiscriminatedDocument(schema, value) {\n this.write(schema, value);\n if (typeof this.buffer === \"object\") {\n this.buffer.__type = NormalizedSchema.of(schema).getName(true);\n }\n }\n _write(schema, value, container) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const out = {};\n const { jsonName } = this.settings;\n let nameMap = void 0;\n if (jsonName) {\n nameMap = {};\n }\n let outCount = 0;\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const serializableValue = this._write(memberSchema, record[memberName], ns);\n if (serializableValue !== undefined) {\n let targetKey = memberName;\n if (jsonName) {\n targetKey = memberSchema.getMergedTraits().jsonName ?? memberName;\n nameMap[memberName] = targetKey;\n }\n out[targetKey] = serializableValue;\n outCount++;\n }\n }\n if (ns.isUnionSchema() && outCount === 0) {\n const { $unknown } = record;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n out[k] = this._write(15, v);\n }\n }\n else if (typeof record.__type === \"string\") {\n for (const k in record) {\n const v = record[k];\n const targetKey = jsonName ? (nameMap[k] ?? k) : k;\n if (!(targetKey in out)) {\n out[targetKey] = this._write(15, v);\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n if (sparse || item != null) {\n out.push(this._write(listMember, item));\n }\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n const sparse = !!ns.getMergedTraits().sparse;\n for (const _k in value) {\n const _v = value[_k];\n if (sparse || _v != null) {\n out[_k] = this._write(mapMember, _v);\n }\n }\n return out;\n }\n if (value instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return value.toISOString().replace(\".000Z\", \"Z\");\n case 6:\n return dateToUtcString(value);\n case 7:\n return value.getTime() / 1000;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n return value.getTime() / 1000;\n }\n }\n if (value instanceof NumericValue) {\n this.useReplacer = true;\n }\n }\n if (value === null && container?.isStructSchema()) {\n return void 0;\n }\n if (ns.isStringSchema()) {\n if (typeof value === \"undefined\" && ns.isIdempotencyToken()) {\n return generateIdempotencyToken();\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (value != null && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n }\n return value;\n }\n if (typeof value === \"number\" && ns.isNumericSchema()) {\n if (Math.abs(value) === Infinity || isNaN(value)) {\n return String(value);\n }\n return value;\n }\n if (typeof value === \"string\" && ns.isBlobSchema()) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n if (typeof value === \"bigint\") {\n this.useReplacer = true;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const k in value) {\n const v = value[k];\n if (v instanceof NumericValue) {\n this.useReplacer = true;\n out[k] = v;\n }\n else {\n out[k] = this._write(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n","import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonShapeDeserializer } from \"./JsonShapeDeserializer\";\nimport { JsonShapeSerializer } from \"./JsonShapeSerializer\";\nexport class JsonCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new JsonShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new JsonShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n","import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsRestJsonProtocol extends HttpBindingProtocol {\n serializer;\n deserializer;\n codec;\n mixin = new ProtocolLib();\n constructor({ defaultNamespace, errorTypeRegistries, }) {\n super({\n defaultNamespace,\n errorTypeRegistries,\n });\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 7,\n },\n httpBindings: true,\n jsonName: true,\n };\n this.codec = new JsonCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getShapeId() {\n return \"aws.protocols#restJson1\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n setSerdeContext(serdeContext) {\n this.codec.setSerdeContext(serdeContext);\n super.setSerdeContext(serdeContext);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (request.body == null && request.headers[\"content-type\"] === this.getDefaultContentType()) {\n request.body = \"{}\";\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const output = await super.deserializeResponse(operationSchema, context, response);\n const outputSchema = NormalizedSchema.of(operationSchema.output);\n for (const [name, member] of outputSchema.structIterator()) {\n if (member.getMemberTraits().httpPayload && !(name in output)) {\n output[name] = null;\n }\n }\n return output;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"UnknownError\";\n const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor({});\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n const errorDeserializer = this.codec.createDeserializer();\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().jsonName ?? name;\n output[name] = errorDeserializer.readObject(member, dataObject[target]);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n getDefaultContentType() {\n return \"application/json\";\n }\n}\n","export function parseXML(xml) {\n const state = new AwsXmlParser(xml);\n return state.parse();\n}\nclass AwsXmlParser {\n x;\n i = 0;\n z;\n constructor(x) {\n this.x = x;\n this.x = x.replace(/\\r\\n?/g, \"\\n\");\n this.z = this.x.length;\n }\n parse() {\n const p = this;\n const { z } = p;\n while (p.i < z) {\n p.trim();\n if (p.i >= z) {\n break;\n }\n if (p.isNext(\"<?\")) {\n p.readTo(\"?>\");\n p.trim();\n }\n else if (p.isNext(\"<!--\")) {\n p.readTo(\"-->\");\n p.trim();\n }\n else if (p.isNext(\"<!DOCTYPE\", false)) {\n p.skipDoctype();\n p.trim();\n }\n else if (p.x[p.i] === \"<\") {\n const root = p.parseTag();\n return { [root.tag]: root.value };\n }\n else {\n throw new Error(\"@aws-sdk XML parse error: unexpected content.\");\n }\n }\n throw new Error(\"@aws-sdk XML parse error: no root element.\");\n }\n isNext(s, caseSensitive = true) {\n const p = this;\n if (caseSensitive) {\n return p.x.startsWith(s, p.i);\n }\n return p.x.toLowerCase().startsWith(s.toLowerCase(), p.i);\n }\n readTo(stop) {\n const p = this;\n const _i = p.x.indexOf(stop, p.i);\n if (_i === -1) {\n throw new Error(`@aws-sdk XML parse error: expected \"${stop}\" not found.`);\n }\n const result = p.x.slice(p.i, _i);\n p.i = _i + stop.length;\n return result;\n }\n trim() {\n const p = this;\n while (p.i < p.z && \" \\t\\r\\n\".includes(p.x[p.i])) {\n ++p.i;\n }\n }\n readAttrValue() {\n const p = this;\n const quote = p.x[p.i];\n ++p.i;\n let value = \"\";\n while (p.i < p.z && p.x[p.i] !== quote) {\n value += p.x[p.i++];\n }\n ++p.i;\n return p.decodeEntities(value);\n }\n parseTag() {\n const p = this;\n ++p.i;\n let tag = \"\";\n while (p.i < p.z && !\" \\t\\r\\n>/\".includes(p.x[p.i])) {\n tag += p.x[p.i++];\n }\n let hasAttrs = false;\n const attrs = Object.create(null);\n while (p.i < p.z) {\n p.trim();\n if (\">/\".includes(p.x[p.i])) {\n break;\n }\n let name = \"\";\n while (p.i < p.z && !\"= \\t\\r\\n>/?\".includes(p.x[p.i])) {\n name += p.x[p.i++];\n }\n p.trim();\n if (p.x[p.i] !== \"=\") {\n break;\n }\n ++p.i;\n p.trim();\n attrs[name] = p.readAttrValue();\n hasAttrs = true;\n }\n if (p.i >= p.z) {\n throw new Error(\"@aws-sdk XML parse error: unexpected end of input.\");\n }\n if (p.x[p.i] === \"/\") {\n ++p.i;\n if (p.i >= p.z || p.x[p.i] !== \">\") {\n throw new Error(\"@aws-sdk XML parse error: expected > at the end of self-closing tag.\");\n }\n ++p.i;\n Object.setPrototypeOf(attrs, Object.prototype);\n return { tag, value: hasAttrs ? attrs : \"\" };\n }\n if (p.x[p.i] !== \">\") {\n throw new Error(\"@aws-sdk XML parse error: expected > at the end of opening tag.\");\n }\n ++p.i;\n const textParts = [];\n const childTags = [];\n let hasElementChild = false;\n while (p.i < p.z) {\n if (p.isNext(\"</\")) {\n break;\n }\n if (p.x[p.i] === \"<\") {\n if (p.isNext(\"<!--\")) {\n p.readTo(\"-->\");\n }\n else if (p.isNext(\"<![CDATA[\")) {\n p.i += 9;\n textParts.push(p.readTo(\"]]>\"));\n }\n else if (p.isNext(\"<?\")) {\n p.readTo(\"?>\");\n }\n else {\n hasElementChild = true;\n childTags.push(p.parseTag());\n }\n }\n else {\n let text = \"\";\n while (p.i < p.z && p.x[p.i] !== \"<\") {\n text += p.x[p.i++];\n }\n textParts.push(p.decodeEntities(text));\n }\n }\n if (!p.isNext(\"</\")) {\n throw new Error(`@aws-sdk XML parse error: missing closing tag </${tag}>.`);\n }\n p.i += 2;\n const closeTag = p.readTo(\">\").trim();\n if (closeTag !== tag) {\n throw new Error(`@aws-sdk XML parse error: mismatched tags <${tag}> and </${closeTag}>.`);\n }\n if (!hasAttrs && textParts.length === 0 && !hasElementChild) {\n return { tag, value: \"\" };\n }\n if (!hasAttrs && !hasElementChild) {\n const text = textParts.length === 1 ? textParts[0] : textParts.join(\"\");\n if (text.trim() === \"\" && text.includes(\"\\n\")) {\n return { tag, value: \"\" };\n }\n return { tag, value: text };\n }\n const obj = Object.create(null);\n for (const text of textParts) {\n if (text.trim() === \"\" && text.includes(\"\\n\")) {\n continue;\n }\n obj[\"#text\"] = \"#text\" in obj ? obj[\"#text\"] + text : text;\n }\n for (const child of childTags) {\n if (child.tag in obj) {\n if (Array.isArray(obj[child.tag])) {\n obj[child.tag].push(child.value);\n }\n else {\n obj[child.tag] = [obj[child.tag], child.value];\n }\n }\n else {\n obj[child.tag] = child.value;\n }\n }\n for (const [k, v] of Object.entries(attrs)) {\n obj[k] = v;\n }\n Object.setPrototypeOf(obj, Object.prototype);\n return { tag, value: obj };\n }\n static ENTITIES = {\n amp: \"&\",\n lt: \"<\",\n gt: \">\",\n quot: '\"',\n apos: \"'\",\n };\n skipDoctype() {\n const p = this;\n p.i += 9;\n let depth = 0;\n while (p.i < p.z) {\n const c = p.x[p.i];\n if (c === \"[\") {\n ++depth;\n }\n else if (c === \"]\") {\n --depth;\n }\n else if (c === \">\" && depth === 0) {\n ++p.i;\n return;\n }\n ++p.i;\n }\n throw new Error(\"@aws-sdk XML parse error: unclosed DOCTYPE.\");\n }\n decodeEntities(s) {\n return s.replace(/&(?:#x([0-9a-fA-F]{1,6})|#(\\d{1,7})|([a-zA-Z][a-zA-Z0-9]{0,30}));/g, (_, hex, dec, named) => {\n if (hex) {\n return String.fromCharCode(parseInt(hex, 16));\n }\n if (dec) {\n return String.fromCharCode(parseInt(dec, 10));\n }\n return AwsXmlParser.ENTITIES[named] ?? \"\";\n });\n }\n}\n","import { parseXML } from \"@aws-sdk/xml-builder\";\nimport { getValueFromTextNode } from \"@smithy/core/client\";\nimport { FromStringShapeDeserializer } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { toUtf8 } from \"@smithy/core/serde\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { UnionSerde } from \"../UnionSerde\";\nexport class XmlShapeDeserializer extends SerdeContextConfig {\n settings;\n stringDeserializer;\n constructor(settings) {\n super();\n this.settings = settings;\n this.stringDeserializer = new FromStringShapeDeserializer(settings);\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.stringDeserializer.setSerdeContext(serdeContext);\n }\n read(schema, bytes, key) {\n const ns = NormalizedSchema.of(schema);\n const memberSchemas = ns.getMemberSchemas();\n const isEventPayload = ns.isStructSchema() &&\n ns.isMemberSchema() &&\n !!Object.values(memberSchemas).find((memberNs) => {\n return !!memberNs.getMemberTraits().eventPayload;\n });\n if (isEventPayload) {\n const output = {};\n const memberName = Object.keys(memberSchemas)[0];\n const eventMemberSchema = memberSchemas[memberName];\n if (eventMemberSchema.isBlobSchema()) {\n output[memberName] = bytes;\n }\n else {\n output[memberName] = this.read(memberSchemas[memberName], bytes);\n }\n return output;\n }\n const xmlString = (this.serdeContext?.utf8Encoder ?? toUtf8)(bytes);\n const parsedObject = this.parseXml(xmlString);\n return this.readSchema(schema, key ? parsedObject[key] : parsedObject);\n }\n readSchema(_schema, value) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isUnitSchema()) {\n return;\n }\n const traits = ns.getMergedTraits();\n if (ns.isListSchema() && !Array.isArray(value)) {\n return this.readSchema(ns, [value]);\n }\n if (value == null) {\n return value;\n }\n if (typeof value === \"object\") {\n const flat = !!traits.xmlFlattened;\n if (ns.isListSchema()) {\n const listValue = ns.getValueSchema();\n const buffer = [];\n const sourceKey = listValue.getMergedTraits().xmlName ?? \"member\";\n const source = flat ? value : (value[0] ?? value)[sourceKey];\n if (source == null) {\n return buffer;\n }\n const sourceArray = Array.isArray(source) ? source : [source];\n for (const v of sourceArray) {\n buffer.push(this.readSchema(listValue, v));\n }\n return buffer;\n }\n const buffer = {};\n if (ns.isMapSchema()) {\n const keyNs = ns.getKeySchema();\n const memberNs = ns.getValueSchema();\n let entries;\n if (flat) {\n entries = Array.isArray(value) ? value : [value];\n }\n else {\n entries = Array.isArray(value.entry) ? value.entry : [value.entry];\n }\n const keyProperty = keyNs.getMergedTraits().xmlName ?? \"key\";\n const valueProperty = memberNs.getMergedTraits().xmlName ?? \"value\";\n for (const entry of entries) {\n const key = entry[keyProperty];\n const value = entry[valueProperty];\n buffer[key] = this.readSchema(memberNs, value);\n }\n return buffer;\n }\n if (ns.isStructSchema()) {\n const union = ns.isUnionSchema();\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(value, buffer);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMergedTraits();\n const xmlObjectKey = !memberTraits.httpPayload\n ? (memberSchema.getMemberTraits().xmlName ?? memberName)\n : (memberTraits.xmlName ?? memberSchema.getName());\n if (union) {\n unionSerde.mark(xmlObjectKey);\n }\n if (value[xmlObjectKey] != null) {\n buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n return buffer;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);\n }\n if (ns.isListSchema()) {\n return [];\n }\n if (ns.isMapSchema() || ns.isStructSchema()) {\n return {};\n }\n return this.stringDeserializer.read(ns, value);\n }\n parseXml(xml) {\n if (xml.length) {\n let parsedObj;\n try {\n parsedObj = parseXML(xml);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: xml,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n }\n}\n","import { determineTimestampFormat, extendedEncodeURIComponent } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { dateToUtcString } from \"@smithy/core/serde\";\nimport { generateIdempotencyToken, NumericValue, toBase64 } from \"@smithy/core/serde\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class QueryShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value, prefix = \"\") {\n if (this.buffer === undefined) {\n this.buffer = \"\";\n }\n const ns = NormalizedSchema.of(schema);\n if (prefix && !prefix.endsWith(\".\")) {\n prefix += \".\";\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\" || value instanceof Uint8Array) {\n this.writeKey(prefix);\n this.writeValue((this.serdeContext?.base64Encoder ?? toBase64)(value));\n }\n }\n else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n else if (ns.isIdempotencyToken()) {\n this.writeKey(prefix);\n this.writeValue(generateIdempotencyToken());\n }\n }\n else if (ns.isBigIntegerSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isBigDecimalSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(value instanceof NumericValue ? value.string : String(value));\n }\n }\n else if (ns.isTimestampSchema()) {\n if (value instanceof Date) {\n this.writeKey(prefix);\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.writeValue(value.toISOString().replace(\".000Z\", \"Z\"));\n break;\n case 6:\n this.writeValue(dateToUtcString(value));\n break;\n case 7:\n this.writeValue(String(value.getTime() / 1000));\n break;\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n if (Array.isArray(value)) {\n this.write(64 | 15, value, prefix);\n }\n else if (value instanceof Date) {\n this.write(4, value, prefix);\n }\n else if (value instanceof Uint8Array) {\n this.write(21, value, prefix);\n }\n else if (value && typeof value === \"object\") {\n this.write(128 | 15, value, prefix);\n }\n else {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isListSchema()) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n if (this.settings.serializeEmptyLists) {\n this.writeKey(prefix);\n this.writeValue(\"\");\n }\n }\n else {\n const member = ns.getValueSchema();\n const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const item of value) {\n if (item == null) {\n continue;\n }\n const traits = member.getMergedTraits();\n const suffix = this.getKey(\"member\", traits.xmlName, traits.ec2QueryName);\n const key = flat ? `${prefix}${i}` : `${prefix}${suffix}.${i}`;\n this.write(member, item, key);\n ++i;\n }\n }\n }\n }\n else if (ns.isMapSchema()) {\n if (value && typeof value === \"object\") {\n const keySchema = ns.getKeySchema();\n const memberSchema = ns.getValueSchema();\n const flat = ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const k in value) {\n const v = value[k];\n if (v == null) {\n continue;\n }\n const keyTraits = keySchema.getMergedTraits();\n const keySuffix = this.getKey(\"key\", keyTraits.xmlName, keyTraits.ec2QueryName);\n const key = flat ? `${prefix}${i}.${keySuffix}` : `${prefix}entry.${i}.${keySuffix}`;\n const valTraits = memberSchema.getMergedTraits();\n const valueSuffix = this.getKey(\"value\", valTraits.xmlName, valTraits.ec2QueryName);\n const valueKey = flat ? `${prefix}${i}.${valueSuffix}` : `${prefix}entry.${i}.${valueSuffix}`;\n this.write(keySchema, k, key);\n this.write(memberSchema, v, valueKey);\n ++i;\n }\n }\n }\n else if (ns.isStructSchema()) {\n if (value && typeof value === \"object\") {\n let didWriteMember = false;\n for (const [memberName, member] of ns.structIterator()) {\n if (value[memberName] == null && !member.isIdempotencyToken()) {\n continue;\n }\n const traits = member.getMergedTraits();\n const suffix = this.getKey(memberName, traits.xmlName, traits.ec2QueryName, \"struct\");\n const key = `${prefix}${suffix}`;\n this.write(member, value[memberName], key);\n didWriteMember = true;\n }\n if (!didWriteMember && ns.isUnionSchema()) {\n const { $unknown } = value;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n const key = `${prefix}${k}`;\n this.write(15, v, key);\n }\n }\n }\n }\n else if (ns.isUnitSchema()) {\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);\n }\n }\n flush() {\n if (this.buffer === undefined) {\n throw new Error(\"@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.\");\n }\n const str = this.buffer;\n delete this.buffer;\n return str;\n }\n getKey(memberName, xmlName, ec2QueryName, keySource) {\n const { ec2, capitalizeKeys } = this.settings;\n if (ec2 && ec2QueryName) {\n return ec2QueryName;\n }\n const key = xmlName ?? memberName;\n if (capitalizeKeys && keySource === \"struct\") {\n return key[0].toUpperCase() + key.slice(1);\n }\n return key;\n }\n writeKey(key) {\n if (key.endsWith(\".\")) {\n key = key.slice(0, key.length - 1);\n }\n this.buffer += `&${extendedEncodeURIComponent(key)}=`;\n }\n writeValue(value) {\n this.buffer += extendedEncodeURIComponent(value);\n }\n}\n","import { collectBody, RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { XmlShapeDeserializer } from \"../xml/XmlShapeDeserializer\";\nimport { QueryShapeSerializer } from \"./QueryShapeSerializer\";\nexport class AwsQueryProtocol extends RpcProtocol {\n options;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super({\n defaultNamespace: options.defaultNamespace,\n errorTypeRegistries: options.errorTypeRegistries,\n });\n this.options = options;\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 5,\n },\n httpBindings: false,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n serializeEmptyLists: true,\n };\n this.serializer = new QueryShapeSerializer(settings);\n this.deserializer = new XmlShapeDeserializer(settings);\n }\n getShapeId() {\n return \"aws.protocols#awsQuery\";\n }\n setSerdeContext(serdeContext) {\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n }\n getPayloadCodec() {\n throw new Error(\"AWSQuery protocol has no payload codec.\");\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n request.headers[\"content-type\"] = \"application/x-www-form-urlencoded\";\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"\";\n }\n const action = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n request.body = `Action=${action}&Version=${this.options.version}` + request.body;\n if (request.body.endsWith(\"&\")) {\n request.body = request.body.slice(-1);\n }\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 }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const shortName = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + \"Result\" : undefined;\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n useNestedResult() {\n return true;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? \"Unknown\";\n this.mixin.compose(this.compositeErrorRegistry, errorIdentifier, this.options.defaultNamespace);\n const errorData = this.loadQueryError(dataObject) ?? {};\n const message = this.loadQueryErrorMessage(dataObject);\n errorData.message = message;\n errorData.Error = {\n Type: errorData.Type,\n Code: errorData.Code,\n Message: message,\n };\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, this.mixin.findQueryCompatibleError);\n const ns = NormalizedSchema.of(errorSchema);\n const ErrorCtor = this.compositeErrorRegistry.getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor({});\n const output = {\n Type: errorData.Error.Type,\n Code: errorData.Error.Code,\n Error: errorData.Error,\n };\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = errorData[target] ?? dataObject[target];\n output[name] = this.deserializer.readSchema(member, value);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n loadQueryErrorCode(output, data) {\n const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;\n if (code !== undefined) {\n return code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n }\n loadQueryError(data) {\n return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;\n }\n loadQueryErrorMessage(data) {\n const errorData = this.loadQueryError(data);\n return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? \"Unknown\";\n }\n getDefaultContentType() {\n return \"application/x-www-form-urlencoded\";\n }\n}\n"],"mappings":"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","names":["normalizeProvider","HEADER_VALUE_TYPE","value","serialized","normalizeProvider","normalizeProvider","Error","buffer","value","bytes"]}