@etainabl/nodejs-sdk 1.3.144 → 1.3.146

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 (35) hide show
  1. package/dist/esm/chunk-5VQORBLK.js +136 -0
  2. package/dist/esm/chunk-5VQORBLK.js.map +1 -0
  3. package/dist/esm/{chunk-WM7HFHZ7.js → chunk-GEJJRBZZ.js} +2 -2
  4. package/dist/esm/{chunk-ERJ7YQOC.js → chunk-JFJBZL6W.js} +2 -3
  5. package/dist/esm/chunk-JFJBZL6W.js.map +1 -0
  6. package/dist/esm/{chunk-XSNDIVB7.js → chunk-V42NON4H.js} +17 -17
  7. package/dist/esm/chunk-V42NON4H.js.map +1 -0
  8. package/dist/esm/{dist-es-H6RNNZCB.js → dist-es-AV5FKRC6.js} +2 -2
  9. package/dist/esm/dist-es-AV5FKRC6.js.map +1 -0
  10. package/dist/esm/{dist-es-TB64XY7K.js → dist-es-CQVI4NNF.js} +4 -4
  11. package/dist/esm/{dist-es-UR3AUDEA.js → dist-es-HQRLUYWI.js} +2 -2
  12. package/dist/esm/{dist-es-NTQEV6F2.js → dist-es-IIKV4LDE.js} +5 -5
  13. package/dist/esm/index.js +3630 -577
  14. package/dist/esm/index.js.map +1 -1
  15. package/dist/esm/{loadSso-V7VCWVTK.js → loadSso-2Q7LGXOS.js} +20 -22
  16. package/dist/esm/loadSso-2Q7LGXOS.js.map +1 -0
  17. package/dist/esm/{sso-oidc-NMJAI4GO.js → sso-oidc-7RZV73L6.js} +5 -7
  18. package/dist/esm/{sso-oidc-NMJAI4GO.js.map → sso-oidc-7RZV73L6.js.map} +1 -1
  19. package/dist/esm/{sts-TWR2FNQX.js → sts-IERANB7E.js} +4 -4
  20. package/dist/index.js +4437 -1257
  21. package/dist/index.js.map +1 -1
  22. package/package.json +5 -5
  23. package/dist/esm/chunk-ERJ7YQOC.js.map +0 -1
  24. package/dist/esm/chunk-R7YQNQCA.js +0 -64
  25. package/dist/esm/chunk-R7YQNQCA.js.map +0 -1
  26. package/dist/esm/chunk-UGK43V2L.js +0 -76
  27. package/dist/esm/chunk-UGK43V2L.js.map +0 -1
  28. package/dist/esm/chunk-XSNDIVB7.js.map +0 -1
  29. package/dist/esm/dist-es-H6RNNZCB.js.map +0 -1
  30. package/dist/esm/loadSso-V7VCWVTK.js.map +0 -1
  31. /package/dist/esm/{chunk-WM7HFHZ7.js.map → chunk-GEJJRBZZ.js.map} +0 -0
  32. /package/dist/esm/{dist-es-TB64XY7K.js.map → dist-es-CQVI4NNF.js.map} +0 -0
  33. /package/dist/esm/{dist-es-UR3AUDEA.js.map → dist-es-HQRLUYWI.js.map} +0 -0
  34. /package/dist/esm/{dist-es-NTQEV6F2.js.map → dist-es-IIKV4LDE.js.map} +0 -0
  35. /package/dist/esm/{sts-TWR2FNQX.js.map → sts-IERANB7E.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../node_modules/@smithy/util-middleware/dist-es/getSmithyContext.js","../../node_modules/@smithy/util-middleware/dist-es/normalizeProvider.js","../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/resolveAuthOptions.js","../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js","../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js","../../node_modules/@smithy/middleware-serde/dist-es/deserializerMiddleware.js","../../node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js","../../node_modules/@smithy/middleware-serde/dist-es/serdePlugin.js","../../node_modules/@smithy/core/dist-es/middleware-http-signing/httpSigningMiddleware.js","../../node_modules/@smithy/core/dist-es/middleware-http-signing/getHttpSigningMiddleware.js","../../node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js","../../node_modules/@aws-sdk/middleware-host-header/dist-es/index.js","../../node_modules/@aws-sdk/middleware-logger/dist-es/loggerMiddleware.js","../../node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js","../../node_modules/@smithy/core/dist-es/normalizeProvider.js","../../node_modules/@smithy/core/dist-es/setFeature.js","../../node_modules/@smithy/core/dist-es/util-identity-and-auth/memoizeIdentityProvider.js","../../node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js","../../node_modules/@smithy/util-endpoints/dist-es/cache/EndpointCache.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/isIpAddress.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/isValidHostLabel.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/customEndpointFunctions.js","../../node_modules/@smithy/util-endpoints/dist-es/debug/debugId.js","../../node_modules/@smithy/util-endpoints/dist-es/debug/toDebugString.js","../../node_modules/@smithy/util-endpoints/dist-es/types/EndpointError.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/booleanEquals.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/getAttrPathList.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/getAttr.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/isSet.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/not.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/parseURL.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/stringEquals.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/substring.js","../../node_modules/@smithy/util-endpoints/dist-es/lib/uriEncode.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/endpointFunctions.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTemplate.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/getReferenceValue.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/callFunction.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateCondition.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateConditions.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointHeaders.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperty.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperties.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointUrl.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateEndpointRule.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateErrorRule.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTreeRule.js","../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateRules.js","../../node_modules/@smithy/util-endpoints/dist-es/resolveEndpoint.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json","../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js","../../node_modules/@aws-sdk/util-endpoints/dist-es/aws.js","../../node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js","../../node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js","../../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/constants.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/HeaderFormatter.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/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/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/common.js","../../node_modules/@aws-sdk/middleware-user-agent/dist-es/check-features.js","../../node_modules/@aws-sdk/middleware-user-agent/dist-es/constants.js","../../node_modules/@aws-sdk/middleware-user-agent/dist-es/encode-features.js","../../node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js","../../node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js","../../node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js","../../node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js","../../node_modules/@smithy/util-config-provider/dist-es/booleanSelector.js","../../node_modules/@smithy/util-config-provider/dist-es/types.js","../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js","../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js","../../node_modules/@smithy/config-resolver/dist-es/regionConfig/config.js","../../node_modules/@smithy/middleware-content-length/dist-es/index.js","../../node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/s3.js","../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/createConfigValueProvider.js","../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointUrlConfig.js","../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromConfig.js","../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js","../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js","../../node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js","../../node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js","../../node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js","../../node_modules/@smithy/util-retry/dist-es/config.js","../../node_modules/@smithy/service-error-classification/dist-es/constants.js","../../node_modules/@smithy/service-error-classification/dist-es/index.js","../../node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js","../../node_modules/@smithy/util-retry/dist-es/constants.js","../../node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js","../../node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js","../../node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js","../../node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js","../../node_modules/@smithy/middleware-retry/dist-es/configurations.js","../../node_modules/@smithy/middleware-retry/dist-es/isStreamingPayload/isStreamingPayload.js","../../node_modules/@smithy/middleware-retry/dist-es/util.js","../../node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js","../../node_modules/@aws-sdk/util-user-agent-node/dist-es/defaultUserAgent.js","../../node_modules/@aws-sdk/util-user-agent-node/dist-es/crt-availability.js","../../node_modules/@aws-sdk/util-user-agent-node/dist-es/is-crt-available.js","../../node_modules/@aws-sdk/util-user-agent-node/dist-es/nodeAppIdConfigOptions.js","../../node_modules/@smithy/hash-node/dist-es/index.js","../../node_modules/@smithy/util-body-length-node/dist-es/calculateBodyLength.js","../../node_modules/@smithy/util-defaults-mode-node/dist-es/constants.js","../../node_modules/@smithy/util-defaults-mode-node/dist-es/defaultsModeConfig.js","../../node_modules/@smithy/util-defaults-mode-node/dist-es/resolveDefaultsModeConfig.js","../../node_modules/@aws-sdk/region-config-resolver/dist-es/extensions/index.js"],"sourcesContent":["import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n","export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n","export const resolveAuthOptions = (candidateAuthOptions, authSchemePreference) => {\n if (!authSchemePreference || authSchemePreference.length === 0) {\n return candidateAuthOptions;\n }\n const preferredAuthOptions = [];\n for (const preferredSchemeName of authSchemePreference) {\n for (const candidateAuthOption of candidateAuthOptions) {\n const candidateAuthSchemeName = candidateAuthOption.schemeId.split(\"#\")[1];\n if (candidateAuthSchemeName === preferredSchemeName) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n }\n for (const candidateAuthOption of candidateAuthOptions) {\n if (!preferredAuthOptions.find(({ schemeId }) => schemeId === candidateAuthOption.schemeId)) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n return preferredAuthOptions;\n};\n","import { SMITHY_CONTEXT_KEY, } from \"@smithy/types\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { resolveAuthOptions } from \"./resolveAuthOptions\";\nfunction convertHttpAuthSchemesToMap(httpAuthSchemes) {\n const map = new Map();\n for (const scheme of httpAuthSchemes) {\n map.set(scheme.schemeId, scheme);\n }\n return map;\n}\nexport const httpAuthSchemeMiddleware = (config, mwOptions) => (next, context) => async (args) => {\n const options = config.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config, context, args.input));\n const authSchemePreference = config.authSchemePreference ? await config.authSchemePreference() : [];\n const resolvedOptions = resolveAuthOptions(options, authSchemePreference);\n const authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes);\n const smithyContext = getSmithyContext(context);\n const failureReasons = [];\n for (const option of resolvedOptions) {\n const scheme = authSchemes.get(option.schemeId);\n if (!scheme) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` was not enabled for this service.`);\n continue;\n }\n const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config));\n if (!identityProvider) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` did not have an IdentityProvider configured.`);\n continue;\n }\n const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config, context) || {};\n option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties);\n option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties);\n smithyContext.selectedHttpAuthScheme = {\n httpAuthOption: option,\n identity: await identityProvider(option.identityProperties),\n signer: scheme.signer,\n };\n break;\n }\n if (!smithyContext.selectedHttpAuthScheme) {\n throw new Error(failureReasons.join(\"\\n\"));\n }\n return next(args);\n};\n","import { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeEndpointRuleSetMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\",\n};\nexport const getHttpAuthSchemeEndpointRuleSetPlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeEndpointRuleSetMiddlewareOptions);\n },\n});\n","import { HttpResponse } from \"@smithy/protocol-http\";\nexport const deserializerMiddleware = (options, deserializer) => (next, context) => async (args) => {\n const { response } = await next(args);\n try {\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 1])[1];\n};\n","export const serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\n const endpointConfig = options;\n const endpoint = context.endpointV2?.url && endpointConfig.urlParser\n ? async () => endpointConfig.urlParser(context.endpointV2.url)\n : endpointConfig.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request,\n });\n};\n","import { deserializerMiddleware } from \"./deserializerMiddleware\";\nimport { serializerMiddleware } from \"./serializerMiddleware\";\nexport const deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport const serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n },\n };\n}\n","import { HttpRequest } from \"@smithy/protocol-http\";\nimport { SMITHY_CONTEXT_KEY, } from \"@smithy/types\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const httpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n const output = await next({\n ...args,\n request: await signer.sign(args.request, identity, signingProperties),\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\n","import { httpSigningMiddleware } from \"./httpSigningMiddleware\";\nexport const httpSigningMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"HTTP_SIGNING\"],\n name: \"httpSigningMiddleware\",\n aliases: [\"apiKeyMiddleware\", \"tokenMiddleware\", \"awsAuthMiddleware\"],\n override: true,\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n};\nexport const getHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n","export class DefaultIdentityProviderConfig {\n constructor(config) {\n this.authSchemes = new Map();\n for (const [key, value] of Object.entries(config)) {\n if (value !== undefined) {\n this.authSchemes.set(key, value);\n }\n }\n }\n getIdentityProvider(schemeId) {\n return this.authSchemes.get(schemeId);\n }\n}\n","import { HttpRequest } from \"@smithy/protocol-http\";\nexport function resolveHostHeaderConfig(input) {\n return input;\n}\nexport const hostHeaderMiddleware = (options) => (next) => async (args) => {\n if (!HttpRequest.isInstance(args.request))\n return next(args);\n const { request } = args;\n const { handlerProtocol = \"\" } = options.requestHandler.metadata || {};\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = request.hostname + (request.port ? \":\" + request.port : \"\");\n }\n else if (!request.headers[\"host\"]) {\n let host = request.hostname;\n if (request.port != null)\n host += `:${request.port}`;\n request.headers[\"host\"] = host;\n }\n return next(args);\n};\nexport const hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\nexport const getHostHeaderPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n },\n});\n","export const loggerMiddleware = () => (next, context) => async (args) => {\n try {\n const response = await next(args);\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog;\n const { $metadata, ...outputWithoutMetadata } = response.output;\n logger?.info?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n output: outputFilterSensitiveLog(outputWithoutMetadata),\n metadata: $metadata,\n });\n return response;\n }\n catch (error) {\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n logger?.error?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n error,\n metadata: error.$metadata,\n });\n throw error;\n }\n};\nexport const loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\nexport const getLoggerPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n});\n","import { HttpRequest } from \"@smithy/protocol-http\";\nconst TRACE_ID_HEADER_NAME = \"X-Amzn-Trace-Id\";\nconst ENV_LAMBDA_FUNCTION_NAME = \"AWS_LAMBDA_FUNCTION_NAME\";\nconst ENV_TRACE_ID = \"_X_AMZN_TRACE_ID\";\nexport const recursionDetectionMiddleware = (options) => (next) => async (args) => {\n const { request } = args;\n if (!HttpRequest.isInstance(request) || options.runtime !== \"node\") {\n return next(args);\n }\n const traceIdHeader = Object.keys(request.headers ?? {}).find((h) => h.toLowerCase() === TRACE_ID_HEADER_NAME.toLowerCase()) ??\n TRACE_ID_HEADER_NAME;\n if (request.headers.hasOwnProperty(traceIdHeader)) {\n return next(args);\n }\n const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME];\n const traceId = process.env[ENV_TRACE_ID];\n const nonEmptyString = (str) => typeof str === \"string\" && str.length > 0;\n if (nonEmptyString(functionName) && nonEmptyString(traceId)) {\n request.headers[TRACE_ID_HEADER_NAME] = traceId;\n }\n return next({\n ...args,\n request,\n });\n};\nexport const addRecursionDetectionMiddlewareOptions = {\n step: \"build\",\n tags: [\"RECURSION_DETECTION\"],\n name: \"recursionDetectionMiddleware\",\n override: true,\n priority: \"low\",\n};\nexport const getRecursionDetectionPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(recursionDetectionMiddleware(options), addRecursionDetectionMiddlewareOptions);\n },\n});\n","export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n","export function setFeature(context, feature, value) {\n if (!context.__smithy_context) {\n context.__smithy_context = {\n features: {},\n };\n }\n else if (!context.__smithy_context.features) {\n context.__smithy_context.features = {};\n }\n context.__smithy_context.features[feature] = value;\n}\n","export const createIsIdentityExpiredFunction = (expirationMs) => (identity) => doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs;\nexport const EXPIRATION_MS = 300000;\nexport const isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);\nexport const doesIdentityRequireRefresh = (identity) => identity.expiration !== undefined;\nexport const memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => {\n if (provider === undefined) {\n return undefined;\n }\n const normalizedProvider = typeof provider !== \"function\" ? async () => Promise.resolve(provider) : provider;\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async (options) => {\n if (!pending) {\n pending = normalizedProvider(options);\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(options);\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n if (isConstant) {\n return resolved;\n }\n if (!requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider(options);\n return resolved;\n }\n return resolved;\n };\n};\n","import { normalizeProvider } from \"@smithy/core\";\nexport const DEFAULT_UA_APP_ID = undefined;\nfunction isValidUserAgentAppId(appId) {\n if (appId === undefined) {\n return true;\n }\n return typeof appId === \"string\" && appId.length <= 50;\n}\nexport function resolveUserAgentConfig(input) {\n const normalizedAppIdProvider = normalizeProvider(input.userAgentAppId ?? DEFAULT_UA_APP_ID);\n const { customUserAgent } = input;\n return Object.assign(input, {\n customUserAgent: typeof customUserAgent === \"string\" ? [[customUserAgent]] : customUserAgent,\n userAgentAppId: async () => {\n const appId = await normalizedAppIdProvider();\n if (!isValidUserAgentAppId(appId)) {\n const logger = input.logger?.constructor?.name === \"NoOpLogger\" || !input.logger ? console : input.logger;\n if (typeof appId !== \"string\") {\n logger?.warn(\"userAgentAppId must be a string or undefined.\");\n }\n else if (appId.length > 50) {\n logger?.warn(\"The provided userAgentAppId exceeds the maximum length of 50 characters.\");\n }\n }\n return appId;\n },\n });\n}\n","export class EndpointCache {\n constructor({ size, params }) {\n this.data = new Map();\n this.parameters = [];\n this.capacity = size ?? 50;\n if (params) {\n this.parameters = params;\n }\n }\n get(endpointParams, resolver) {\n const key = this.hash(endpointParams);\n if (key === false) {\n return resolver();\n }\n if (!this.data.has(key)) {\n if (this.data.size > this.capacity + 10) {\n const keys = this.data.keys();\n let i = 0;\n while (true) {\n const { value, done } = keys.next();\n this.data.delete(value);\n if (done || ++i > 10) {\n break;\n }\n }\n }\n this.data.set(key, resolver());\n }\n return this.data.get(key);\n }\n size() {\n return this.data.size;\n }\n hash(endpointParams) {\n let buffer = \"\";\n const { parameters } = this;\n if (parameters.length === 0) {\n return false;\n }\n for (const param of parameters) {\n const val = String(endpointParams[param] ?? \"\");\n if (val.includes(\"|;\")) {\n return false;\n }\n buffer += val + \"|;\";\n }\n return buffer;\n }\n}\n","const IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}$`);\nexport const isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith(\"[\") && value.endsWith(\"]\"));\n","const VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);\nexport const isValidHostLabel = (value, allowSubDomains = false) => {\n if (!allowSubDomains) {\n return VALID_HOST_LABEL_REGEX.test(value);\n }\n const labels = value.split(\".\");\n for (const label of labels) {\n if (!isValidHostLabel(label)) {\n return false;\n }\n }\n return true;\n};\n","export const customEndpointFunctions = {};\n","export const debugId = \"endpoints\";\n","export function toDebugString(input) {\n if (typeof input !== \"object\" || input == null) {\n return input;\n }\n if (\"ref\" in input) {\n return `$${toDebugString(input.ref)}`;\n }\n if (\"fn\" in input) {\n return `${input.fn}(${(input.argv || []).map(toDebugString).join(\", \")})`;\n }\n return JSON.stringify(input, null, 2);\n}\n","export class EndpointError extends Error {\n constructor(message) {\n super(message);\n this.name = \"EndpointError\";\n }\n}\n","export const booleanEquals = (value1, value2) => value1 === value2;\n","import { EndpointError } from \"../types\";\nexport const getAttrPathList = (path) => {\n const parts = path.split(\".\");\n const pathList = [];\n for (const part of parts) {\n const squareBracketIndex = part.indexOf(\"[\");\n if (squareBracketIndex !== -1) {\n if (part.indexOf(\"]\") !== part.length - 1) {\n throw new EndpointError(`Path: '${path}' does not end with ']'`);\n }\n const arrayIndex = part.slice(squareBracketIndex + 1, -1);\n if (Number.isNaN(parseInt(arrayIndex))) {\n throw new EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`);\n }\n if (squareBracketIndex !== 0) {\n pathList.push(part.slice(0, squareBracketIndex));\n }\n pathList.push(arrayIndex);\n }\n else {\n pathList.push(part);\n }\n }\n return pathList;\n};\n","import { EndpointError } from \"../types\";\nimport { getAttrPathList } from \"./getAttrPathList\";\nexport const getAttr = (value, path) => getAttrPathList(path).reduce((acc, index) => {\n if (typeof acc !== \"object\") {\n throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);\n }\n else if (Array.isArray(acc)) {\n return acc[parseInt(index)];\n }\n return acc[index];\n}, value);\n","export const isSet = (value) => value != null;\n","export const not = (value) => !value;\n","import { EndpointURLScheme } from \"@smithy/types\";\nimport { isIpAddress } from \"./isIpAddress\";\nconst DEFAULT_PORTS = {\n [EndpointURLScheme.HTTP]: 80,\n [EndpointURLScheme.HTTPS]: 443,\n};\nexport const parseURL = (value) => {\n const whatwgURL = (() => {\n try {\n if (value instanceof URL) {\n return value;\n }\n if (typeof value === \"object\" && \"hostname\" in value) {\n const { hostname, port, protocol = \"\", path = \"\", query = {} } = value;\n const url = new URL(`${protocol}//${hostname}${port ? `:${port}` : \"\"}${path}`);\n url.search = Object.entries(query)\n .map(([k, v]) => `${k}=${v}`)\n .join(\"&\");\n return url;\n }\n return new URL(value);\n }\n catch (error) {\n return null;\n }\n })();\n if (!whatwgURL) {\n console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);\n return null;\n }\n const urlString = whatwgURL.href;\n const { host, hostname, pathname, protocol, search } = whatwgURL;\n if (search) {\n return null;\n }\n const scheme = protocol.slice(0, -1);\n if (!Object.values(EndpointURLScheme).includes(scheme)) {\n return null;\n }\n const isIp = isIpAddress(hostname);\n const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) ||\n (typeof value === \"string\" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`));\n const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`;\n return {\n scheme,\n authority,\n path: pathname,\n normalizedPath: pathname.endsWith(\"/\") ? pathname : `${pathname}/`,\n isIp,\n };\n};\n","export const stringEquals = (value1, value2) => value1 === value2;\n","export const substring = (input, start, stop, reverse) => {\n if (start >= stop || input.length < stop) {\n return null;\n }\n if (!reverse) {\n return input.substring(start, stop);\n }\n return input.substring(input.length - stop, input.length - start);\n};\n","export const uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);\n","import { booleanEquals, getAttr, isSet, isValidHostLabel, not, parseURL, stringEquals, substring, uriEncode, } from \"../lib\";\nexport const endpointFunctions = {\n booleanEquals,\n getAttr,\n isSet,\n isValidHostLabel,\n not,\n parseURL,\n stringEquals,\n substring,\n uriEncode,\n};\n","import { getAttr } from \"../lib\";\nexport const evaluateTemplate = (template, options) => {\n const evaluatedTemplateArr = [];\n const templateContext = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n let currentIndex = 0;\n while (currentIndex < template.length) {\n const openingBraceIndex = template.indexOf(\"{\", currentIndex);\n if (openingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(currentIndex));\n break;\n }\n evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));\n const closingBraceIndex = template.indexOf(\"}\", openingBraceIndex);\n if (closingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex));\n break;\n }\n if (template[openingBraceIndex + 1] === \"{\" && template[closingBraceIndex + 1] === \"}\") {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));\n currentIndex = closingBraceIndex + 2;\n }\n const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);\n if (parameterName.includes(\"#\")) {\n const [refName, attrName] = parameterName.split(\"#\");\n evaluatedTemplateArr.push(getAttr(templateContext[refName], attrName));\n }\n else {\n evaluatedTemplateArr.push(templateContext[parameterName]);\n }\n currentIndex = closingBraceIndex + 1;\n }\n return evaluatedTemplateArr.join(\"\");\n};\n","export const getReferenceValue = ({ ref }, options) => {\n const referenceRecord = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n return referenceRecord[ref];\n};\n","import { EndpointError } from \"../types\";\nimport { callFunction } from \"./callFunction\";\nimport { evaluateTemplate } from \"./evaluateTemplate\";\nimport { getReferenceValue } from \"./getReferenceValue\";\nexport const evaluateExpression = (obj, keyName, options) => {\n if (typeof obj === \"string\") {\n return evaluateTemplate(obj, options);\n }\n else if (obj[\"fn\"]) {\n return callFunction(obj, options);\n }\n else if (obj[\"ref\"]) {\n return getReferenceValue(obj, options);\n }\n throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);\n};\n","import { customEndpointFunctions } from \"./customEndpointFunctions\";\nimport { endpointFunctions } from \"./endpointFunctions\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const callFunction = ({ fn, argv }, options) => {\n const evaluatedArgs = argv.map((arg) => [\"boolean\", \"number\"].includes(typeof arg) ? arg : evaluateExpression(arg, \"arg\", options));\n const fnSegments = fn.split(\".\");\n if (fnSegments[0] in customEndpointFunctions && fnSegments[1] != null) {\n return customEndpointFunctions[fnSegments[0]][fnSegments[1]](...evaluatedArgs);\n }\n return endpointFunctions[fn](...evaluatedArgs);\n};\n","import { debugId, toDebugString } from \"../debug\";\nimport { EndpointError } from \"../types\";\nimport { callFunction } from \"./callFunction\";\nexport const evaluateCondition = ({ assign, ...fnArgs }, options) => {\n if (assign && assign in options.referenceRecord) {\n throw new EndpointError(`'${assign}' is already defined in Reference Record.`);\n }\n const value = callFunction(fnArgs, options);\n options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(fnArgs)} = ${toDebugString(value)}`);\n return {\n result: value === \"\" ? true : !!value,\n ...(assign != null && { toAssign: { name: assign, value } }),\n };\n};\n","import { debugId, toDebugString } from \"../debug\";\nimport { evaluateCondition } from \"./evaluateCondition\";\nexport const evaluateConditions = (conditions = [], options) => {\n const conditionsReferenceRecord = {};\n for (const condition of conditions) {\n const { result, toAssign } = evaluateCondition(condition, {\n ...options,\n referenceRecord: {\n ...options.referenceRecord,\n ...conditionsReferenceRecord,\n },\n });\n if (!result) {\n return { result };\n }\n if (toAssign) {\n conditionsReferenceRecord[toAssign.name] = toAssign.value;\n options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);\n }\n }\n return { result: true, referenceRecord: conditionsReferenceRecord };\n};\n","import { EndpointError } from \"../types\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({\n ...acc,\n [headerKey]: headerVal.map((headerValEntry) => {\n const processedExpr = evaluateExpression(headerValEntry, \"Header value entry\", options);\n if (typeof processedExpr !== \"string\") {\n throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);\n }\n return processedExpr;\n }),\n}), {});\n","import { EndpointError } from \"../types\";\nimport { evaluateTemplate } from \"./evaluateTemplate\";\nimport { getEndpointProperties } from \"./getEndpointProperties\";\nexport const getEndpointProperty = (property, options) => {\n if (Array.isArray(property)) {\n return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));\n }\n switch (typeof property) {\n case \"string\":\n return evaluateTemplate(property, options);\n case \"object\":\n if (property === null) {\n throw new EndpointError(`Unexpected endpoint property: ${property}`);\n }\n return getEndpointProperties(property, options);\n case \"boolean\":\n return property;\n default:\n throw new EndpointError(`Unexpected endpoint property type: ${typeof property}`);\n }\n};\n","import { getEndpointProperty } from \"./getEndpointProperty\";\nexport const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({\n ...acc,\n [propertyKey]: getEndpointProperty(propertyVal, options),\n}), {});\n","import { EndpointError } from \"../types\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const getEndpointUrl = (endpointUrl, options) => {\n const expression = evaluateExpression(endpointUrl, \"Endpoint URL\", options);\n if (typeof expression === \"string\") {\n try {\n return new URL(expression);\n }\n catch (error) {\n console.error(`Failed to construct URL with ${expression}`, error);\n throw error;\n }\n }\n throw new EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);\n};\n","import { debugId, toDebugString } from \"../debug\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { getEndpointHeaders } from \"./getEndpointHeaders\";\nimport { getEndpointProperties } from \"./getEndpointProperties\";\nimport { getEndpointUrl } from \"./getEndpointUrl\";\nexport const evaluateEndpointRule = (endpointRule, options) => {\n const { conditions, endpoint } = endpointRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n const endpointRuleOptions = {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n };\n const { url, properties, headers } = endpoint;\n options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`);\n return {\n ...(headers != undefined && {\n headers: getEndpointHeaders(headers, endpointRuleOptions),\n }),\n ...(properties != undefined && {\n properties: getEndpointProperties(properties, endpointRuleOptions),\n }),\n url: getEndpointUrl(url, endpointRuleOptions),\n };\n};\n","import { EndpointError } from \"../types\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const evaluateErrorRule = (errorRule, options) => {\n const { conditions, error } = errorRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n throw new EndpointError(evaluateExpression(error, \"Error\", {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n }));\n};\n","import { evaluateConditions } from \"./evaluateConditions\";\nimport { evaluateRules } from \"./evaluateRules\";\nexport const evaluateTreeRule = (treeRule, options) => {\n const { conditions, rules } = treeRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n return evaluateRules(rules, {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n });\n};\n","import { EndpointError } from \"../types\";\nimport { evaluateEndpointRule } from \"./evaluateEndpointRule\";\nimport { evaluateErrorRule } from \"./evaluateErrorRule\";\nimport { evaluateTreeRule } from \"./evaluateTreeRule\";\nexport const evaluateRules = (rules, options) => {\n for (const rule of rules) {\n if (rule.type === \"endpoint\") {\n const endpointOrUndefined = evaluateEndpointRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else if (rule.type === \"error\") {\n evaluateErrorRule(rule, options);\n }\n else if (rule.type === \"tree\") {\n const endpointOrUndefined = evaluateTreeRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else {\n throw new EndpointError(`Unknown endpoint rule: ${rule}`);\n }\n }\n throw new EndpointError(`Rules evaluation failed`);\n};\n","import { debugId, toDebugString } from \"./debug\";\nimport { EndpointError } from \"./types\";\nimport { evaluateRules } from \"./utils\";\nexport const resolveEndpoint = (ruleSetObject, options) => {\n const { endpointParams, logger } = options;\n const { parameters, rules } = ruleSetObject;\n options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`);\n const paramsWithDefault = Object.entries(parameters)\n .filter(([, v]) => v.default != null)\n .map(([k, v]) => [k, v.default]);\n if (paramsWithDefault.length > 0) {\n for (const [paramKey, paramDefaultValue] of paramsWithDefault) {\n endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue;\n }\n }\n const requiredParams = Object.entries(parameters)\n .filter(([, v]) => v.required)\n .map(([k]) => k);\n for (const requiredParam of requiredParams) {\n if (endpointParams[requiredParam] == null) {\n throw new EndpointError(`Missing required parameter: '${requiredParam}'`);\n }\n }\n const endpoint = evaluateRules(rules, { endpointParams, logger, referenceRecord: {} });\n options.logger?.debug?.(`${debugId} Resolved endpoint: ${toDebugString(endpoint)}`);\n return endpoint;\n};\n","import { isValidHostLabel } from \"@smithy/util-endpoints\";\nimport { isIpAddress } from \"../isIpAddress\";\nexport const isVirtualHostableS3Bucket = (value, allowSubDomains = false) => {\n if (allowSubDomains) {\n for (const label of value.split(\".\")) {\n if (!isVirtualHostableS3Bucket(label)) {\n return false;\n }\n }\n return true;\n }\n if (!isValidHostLabel(value)) {\n return false;\n }\n if (value.length < 3 || value.length > 63) {\n return false;\n }\n if (value !== value.toLowerCase()) {\n return false;\n }\n if (isIpAddress(value)) {\n return false;\n }\n return true;\n};\n","const ARN_DELIMITER = \":\";\nconst RESOURCE_DELIMITER = \"/\";\nexport const parseArn = (value) => {\n const segments = value.split(ARN_DELIMITER);\n if (segments.length < 6)\n return null;\n const [arn, partition, service, region, accountId, ...resourcePath] = segments;\n if (arn !== \"arn\" || partition === \"\" || service === \"\" || resourcePath.join(ARN_DELIMITER) === \"\")\n return null;\n const resourceId = resourcePath.map((resource) => resource.split(RESOURCE_DELIMITER)).flat();\n return {\n partition,\n service,\n region,\n accountId,\n resourceId,\n };\n};\n","{\n \"partitions\": [{\n \"id\": \"aws\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com\",\n \"dualStackDnsSuffix\": \"api.aws\",\n \"implicitGlobalRegion\": \"us-east-1\",\n \"name\": \"aws\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^(us|eu|ap|sa|ca|me|af|il|mx)\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"af-south-1\": {\n \"description\": \"Africa (Cape Town)\"\n },\n \"ap-east-1\": {\n \"description\": \"Asia Pacific (Hong Kong)\"\n },\n \"ap-east-2\": {\n \"description\": \"Asia Pacific (Taipei)\"\n },\n \"ap-northeast-1\": {\n \"description\": \"Asia Pacific (Tokyo)\"\n },\n \"ap-northeast-2\": {\n \"description\": \"Asia Pacific (Seoul)\"\n },\n \"ap-northeast-3\": {\n \"description\": \"Asia Pacific (Osaka)\"\n },\n \"ap-south-1\": {\n \"description\": \"Asia Pacific (Mumbai)\"\n },\n \"ap-south-2\": {\n \"description\": \"Asia Pacific (Hyderabad)\"\n },\n \"ap-southeast-1\": {\n \"description\": \"Asia Pacific (Singapore)\"\n },\n \"ap-southeast-2\": {\n \"description\": \"Asia Pacific (Sydney)\"\n },\n \"ap-southeast-3\": {\n \"description\": \"Asia Pacific (Jakarta)\"\n },\n \"ap-southeast-4\": {\n \"description\": \"Asia Pacific (Melbourne)\"\n },\n \"ap-southeast-5\": {\n \"description\": \"Asia Pacific (Malaysia)\"\n },\n \"ap-southeast-7\": {\n \"description\": \"Asia Pacific (Thailand)\"\n },\n \"aws-global\": {\n \"description\": \"AWS Standard global region\"\n },\n \"ca-central-1\": {\n \"description\": \"Canada (Central)\"\n },\n \"ca-west-1\": {\n \"description\": \"Canada West (Calgary)\"\n },\n \"eu-central-1\": {\n \"description\": \"Europe (Frankfurt)\"\n },\n \"eu-central-2\": {\n \"description\": \"Europe (Zurich)\"\n },\n \"eu-north-1\": {\n \"description\": \"Europe (Stockholm)\"\n },\n \"eu-south-1\": {\n \"description\": \"Europe (Milan)\"\n },\n \"eu-south-2\": {\n \"description\": \"Europe (Spain)\"\n },\n \"eu-west-1\": {\n \"description\": \"Europe (Ireland)\"\n },\n \"eu-west-2\": {\n \"description\": \"Europe (London)\"\n },\n \"eu-west-3\": {\n \"description\": \"Europe (Paris)\"\n },\n \"il-central-1\": {\n \"description\": \"Israel (Tel Aviv)\"\n },\n \"me-central-1\": {\n \"description\": \"Middle East (UAE)\"\n },\n \"me-south-1\": {\n \"description\": \"Middle East (Bahrain)\"\n },\n \"mx-central-1\": {\n \"description\": \"Mexico (Central)\"\n },\n \"sa-east-1\": {\n \"description\": \"South America (Sao Paulo)\"\n },\n \"us-east-1\": {\n \"description\": \"US East (N. Virginia)\"\n },\n \"us-east-2\": {\n \"description\": \"US East (Ohio)\"\n },\n \"us-west-1\": {\n \"description\": \"US West (N. California)\"\n },\n \"us-west-2\": {\n \"description\": \"US West (Oregon)\"\n }\n }\n }, {\n \"id\": \"aws-cn\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com.cn\",\n \"dualStackDnsSuffix\": \"api.amazonwebservices.com.cn\",\n \"implicitGlobalRegion\": \"cn-northwest-1\",\n \"name\": \"aws-cn\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^cn\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-cn-global\": {\n \"description\": \"AWS China global region\"\n },\n \"cn-north-1\": {\n \"description\": \"China (Beijing)\"\n },\n \"cn-northwest-1\": {\n \"description\": \"China (Ningxia)\"\n }\n }\n }, {\n \"id\": \"aws-us-gov\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.com\",\n \"dualStackDnsSuffix\": \"api.aws\",\n \"implicitGlobalRegion\": \"us-gov-west-1\",\n \"name\": \"aws-us-gov\",\n \"supportsDualStack\": true,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-us-gov-global\": {\n \"description\": \"AWS GovCloud (US) global region\"\n },\n \"us-gov-east-1\": {\n \"description\": \"AWS GovCloud (US-East)\"\n },\n \"us-gov-west-1\": {\n \"description\": \"AWS GovCloud (US-West)\"\n }\n }\n }, {\n \"id\": \"aws-iso\",\n \"outputs\": {\n \"dnsSuffix\": \"c2s.ic.gov\",\n \"dualStackDnsSuffix\": \"c2s.ic.gov\",\n \"implicitGlobalRegion\": \"us-iso-east-1\",\n \"name\": \"aws-iso\",\n \"supportsDualStack\": false,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-global\": {\n \"description\": \"AWS ISO (US) global region\"\n },\n \"us-iso-east-1\": {\n \"description\": \"US ISO East\"\n },\n \"us-iso-west-1\": {\n \"description\": \"US ISO WEST\"\n }\n }\n }, {\n \"id\": \"aws-iso-b\",\n \"outputs\": {\n \"dnsSuffix\": \"sc2s.sgov.gov\",\n \"dualStackDnsSuffix\": \"sc2s.sgov.gov\",\n \"implicitGlobalRegion\": \"us-isob-east-1\",\n \"name\": \"aws-iso-b\",\n \"supportsDualStack\": false,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-b-global\": {\n \"description\": \"AWS ISOB (US) global region\"\n },\n \"us-isob-east-1\": {\n \"description\": \"US ISOB East (Ohio)\"\n }\n }\n }, {\n \"id\": \"aws-iso-e\",\n \"outputs\": {\n \"dnsSuffix\": \"cloud.adc-e.uk\",\n \"dualStackDnsSuffix\": \"cloud.adc-e.uk\",\n \"implicitGlobalRegion\": \"eu-isoe-west-1\",\n \"name\": \"aws-iso-e\",\n \"supportsDualStack\": false,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-e-global\": {\n \"description\": \"AWS ISOE (Europe) global region\"\n },\n \"eu-isoe-west-1\": {\n \"description\": \"EU ISOE West\"\n }\n }\n }, {\n \"id\": \"aws-iso-f\",\n \"outputs\": {\n \"dnsSuffix\": \"csp.hci.ic.gov\",\n \"dualStackDnsSuffix\": \"csp.hci.ic.gov\",\n \"implicitGlobalRegion\": \"us-isof-south-1\",\n \"name\": \"aws-iso-f\",\n \"supportsDualStack\": false,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"aws-iso-f-global\": {\n \"description\": \"AWS ISOF global region\"\n },\n \"us-isof-east-1\": {\n \"description\": \"US ISOF EAST\"\n },\n \"us-isof-south-1\": {\n \"description\": \"US ISOF SOUTH\"\n }\n }\n }, {\n \"id\": \"aws-eusc\",\n \"outputs\": {\n \"dnsSuffix\": \"amazonaws.eu\",\n \"dualStackDnsSuffix\": \"amazonaws.eu\",\n \"implicitGlobalRegion\": \"eusc-de-east-1\",\n \"name\": \"aws-eusc\",\n \"supportsDualStack\": false,\n \"supportsFIPS\": true\n },\n \"regionRegex\": \"^eusc\\\\-(de)\\\\-\\\\w+\\\\-\\\\d+$\",\n \"regions\": {\n \"eusc-de-east-1\": {\n \"description\": \"EU (Germany)\"\n }\n }\n }],\n \"version\": \"1.1\"\n}\n","import partitionsInfo from \"./partitions.json\";\nlet selectedPartitionsInfo = partitionsInfo;\nlet selectedUserAgentPrefix = \"\";\nexport const partition = (value) => {\n const { partitions } = selectedPartitionsInfo;\n for (const partition of partitions) {\n const { regions, outputs } = partition;\n for (const [region, regionData] of Object.entries(regions)) {\n if (region === value) {\n return {\n ...outputs,\n ...regionData,\n };\n }\n }\n }\n for (const partition of partitions) {\n const { regionRegex, outputs } = partition;\n if (new RegExp(regionRegex).test(value)) {\n return {\n ...outputs,\n };\n }\n }\n const DEFAULT_PARTITION = partitions.find((partition) => partition.id === \"aws\");\n if (!DEFAULT_PARTITION) {\n throw new Error(\"Provided region was not found in the partition array or regex,\" +\n \" and default partition with id 'aws' doesn't exist.\");\n }\n return {\n ...DEFAULT_PARTITION.outputs,\n };\n};\nexport const setPartitionInfo = (partitionsInfo, userAgentPrefix = \"\") => {\n selectedPartitionsInfo = partitionsInfo;\n selectedUserAgentPrefix = userAgentPrefix;\n};\nexport const useDefaultPartitionInfo = () => {\n setPartitionInfo(partitionsInfo, \"\");\n};\nexport const getUserAgentPrefix = () => selectedUserAgentPrefix;\n","import { customEndpointFunctions } from \"@smithy/util-endpoints\";\nimport { isVirtualHostableS3Bucket } from \"./lib/aws/isVirtualHostableS3Bucket\";\nimport { parseArn } from \"./lib/aws/parseArn\";\nimport { partition } from \"./lib/aws/partition\";\nexport const awsEndpointFunctions = {\n isVirtualHostableS3Bucket: isVirtualHostableS3Bucket,\n parseArn: parseArn,\n partition: partition,\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n","export const state = {\n warningEmitted: false,\n};\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 18) {\n state.warningEmitted = true;\n process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js 16.x on January 6, 2025.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/74kJMmI`);\n }\n};\n","export function setFeature(context, feature, value) {\n if (!context.__aws_sdk_context) {\n context.__aws_sdk_context = {\n features: {},\n };\n }\n else if (!context.__aws_sdk_context.features) {\n context.__aws_sdk_context.features = {};\n }\n context.__aws_sdk_context.features[feature] = value;\n}\n","import { HttpResponse } from \"@smithy/protocol-http\";\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/protocol-http\";\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 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 serverTime = error.ServerTime ?? getDateHeader(error.$response);\n if (serverTime) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const initialSystemClockOffset = config.systemClockOffset;\n config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);\n const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset;\n if (clockSkewCorrected && error.$metadata) {\n error.$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/protocol-http\";\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 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/property-provider\";\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","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 { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\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 } from \"@smithy/is-array-buffer\";\nimport { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\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","import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\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 ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\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, 4);\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] = 5;\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, 6);\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, 7);\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] = 8;\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] = 9;\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 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 > 9223372036854776000 || number < -9223372036854776000) {\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 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/protocol-http\";\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/protocol-http\";\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 { escapeUri } from \"@smithy/util-uri-escape\";\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 { toHex } from \"@smithy/util-hex-encoding\";\nimport { normalizeProvider } from \"@smithy/util-middleware\";\nimport { escapeUri } from \"@smithy/util-uri-escape\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { iso8601 } from \"./utilDate\";\nexport class SignatureV4Base {\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 } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\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 { HeaderFormatter } from \"./HeaderFormatter\";\nimport { hasHeader } from \"./headerUtil\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { SignatureV4Base } from \"./SignatureV4Base\";\nexport class SignatureV4 extends SignatureV4Base {\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 this.headerFormatter = new HeaderFormatter();\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 }) {\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, { signingDate, signingRegion: region, signingService });\n }\n async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService }) {\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 });\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {\n const credentials = 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 resolvedCredentials = async (options) => boundProvider(options).then((creds) => setCredentialFeature(creds, \"CREDENTIALS_CODE\", \"e\"));\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 { collectBody } from \"@smithy/smithy-client\";\nexport const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\n","import { setFeature } from \"@aws-sdk/core\";\nconst ACCOUNT_ID_ENDPOINT_REGEX = /\\d{12}\\.ddb/;\nexport async function checkFeatures(context, config, args) {\n const request = args.request;\n if (request?.headers?.[\"smithy-protocol\"] === \"rpc-v2-cbor\") {\n setFeature(context, \"PROTOCOL_RPC_V2_CBOR\", \"M\");\n }\n if (typeof config.retryStrategy === \"function\") {\n const retryStrategy = await config.retryStrategy();\n if (typeof retryStrategy.acquireInitialRetryToken === \"function\") {\n if (retryStrategy.constructor?.name?.includes(\"Adaptive\")) {\n setFeature(context, \"RETRY_MODE_ADAPTIVE\", \"F\");\n }\n else {\n setFeature(context, \"RETRY_MODE_STANDARD\", \"E\");\n }\n }\n else {\n setFeature(context, \"RETRY_MODE_LEGACY\", \"D\");\n }\n }\n if (typeof config.accountIdEndpointMode === \"function\") {\n const endpointV2 = context.endpointV2;\n if (String(endpointV2?.url?.hostname).match(ACCOUNT_ID_ENDPOINT_REGEX)) {\n setFeature(context, \"ACCOUNT_ID_ENDPOINT\", \"O\");\n }\n switch (await config.accountIdEndpointMode?.()) {\n case \"disabled\":\n setFeature(context, \"ACCOUNT_ID_MODE_DISABLED\", \"Q\");\n break;\n case \"preferred\":\n setFeature(context, \"ACCOUNT_ID_MODE_PREFERRED\", \"P\");\n break;\n case \"required\":\n setFeature(context, \"ACCOUNT_ID_MODE_REQUIRED\", \"R\");\n break;\n }\n }\n const identity = context.__smithy_context?.selectedHttpAuthScheme?.identity;\n if (identity?.$source) {\n const credentials = identity;\n if (credentials.accountId) {\n setFeature(context, \"RESOLVED_ACCOUNT_ID\", \"T\");\n }\n for (const [key, value] of Object.entries(credentials.$source ?? {})) {\n setFeature(context, key, value);\n }\n }\n}\n","export const USER_AGENT = \"user-agent\";\nexport const X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nexport const SPACE = \" \";\nexport const UA_NAME_SEPARATOR = \"/\";\nexport const UA_NAME_ESCAPE_REGEX = /[^\\!\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w]/g;\nexport const UA_VALUE_ESCAPE_REGEX = /[^\\!\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w\\#]/g;\nexport const UA_ESCAPE_CHAR = \"-\";\n","const BYTE_LIMIT = 1024;\nexport function encodeFeatures(features) {\n let buffer = \"\";\n for (const key in features) {\n const val = features[key];\n if (buffer.length + val.length + 1 <= BYTE_LIMIT) {\n if (buffer.length) {\n buffer += \",\" + val;\n }\n else {\n buffer += val;\n }\n continue;\n }\n break;\n }\n return buffer;\n}\n","import { getUserAgentPrefix } from \"@aws-sdk/util-endpoints\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { checkFeatures } from \"./check-features\";\nimport { SPACE, UA_ESCAPE_CHAR, UA_NAME_ESCAPE_REGEX, UA_NAME_SEPARATOR, UA_VALUE_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT, } from \"./constants\";\nimport { encodeFeatures } from \"./encode-features\";\nexport const userAgentMiddleware = (options) => (next, context) => async (args) => {\n const { request } = args;\n if (!HttpRequest.isInstance(request)) {\n return next(args);\n }\n const { headers } = request;\n const userAgent = context?.userAgent?.map(escapeUserAgent) || [];\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n await checkFeatures(context, options, args);\n const awsContext = context;\n defaultUserAgent.push(`m/${encodeFeatures(Object.assign({}, context.__smithy_context?.features, awsContext.__aws_sdk_context?.features))}`);\n const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];\n const appId = await options.userAgentAppId();\n if (appId) {\n defaultUserAgent.push(escapeUserAgent([`app/${appId}`]));\n }\n const prefix = getUserAgentPrefix();\n const sdkUserAgentValue = (prefix ? [prefix] : [])\n .concat([...defaultUserAgent, ...userAgent, ...customUserAgent])\n .join(SPACE);\n const normalUAValue = [\n ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n ...customUserAgent,\n ].join(SPACE);\n if (options.runtime !== \"browser\") {\n if (normalUAValue) {\n headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT]\n ? `${headers[USER_AGENT]} ${normalUAValue}`\n : normalUAValue;\n }\n headers[USER_AGENT] = sdkUserAgentValue;\n }\n else {\n headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;\n }\n return next({\n ...args,\n request,\n });\n};\nconst escapeUserAgent = (userAgentPair) => {\n const name = userAgentPair[0]\n .split(UA_NAME_SEPARATOR)\n .map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR))\n .join(UA_NAME_SEPARATOR);\n const version = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR);\n const prefixSeparatorIndex = name.indexOf(UA_NAME_SEPARATOR);\n const prefix = name.substring(0, prefixSeparatorIndex);\n let uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter((item) => item && item.length > 0)\n .reduce((acc, item, index) => {\n switch (index) {\n case 0:\n return item;\n case 1:\n return `${acc}/${item}`;\n default:\n return `${acc}#${item}`;\n }\n }, \"\");\n};\nexport const getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\nexport const getUserAgentPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\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 { 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 if (typeof region === \"string\") {\n return getRealRegion(region);\n }\n const providedRegion = await region();\n return getRealRegion(providedRegion);\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","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, SelectorType } from \"@smithy/util-config-provider\";\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};\n","import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\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};\n","export 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: () => {\n throw new Error(\"Region is missing\");\n },\n};\nexport const NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\n","import { HttpRequest } from \"@smithy/protocol-http\";\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 request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n catch (error) {\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","export const resolveParamsForS3 = async (endpointParams) => {\n const bucket = endpointParams?.Bucket || \"\";\n if (typeof endpointParams.Bucket === \"string\") {\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\"#\")).replace(/\\?/g, encodeURIComponent(\"?\"));\n }\n if (isArnBucketName(bucket)) {\n if (endpointParams.ForcePathStyle === true) {\n throw new Error(\"Path-style addressing cannot be used with ARN buckets\");\n }\n }\n else if (!isDnsCompatibleBucketName(bucket) ||\n (bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\")) ||\n bucket.toLowerCase() !== bucket ||\n bucket.length < 3) {\n endpointParams.ForcePathStyle = true;\n }\n if (endpointParams.DisableMultiRegionAccessPoints) {\n endpointParams.disableMultiRegionAccessPoints = true;\n endpointParams.DisableMRAP = true;\n }\n return endpointParams;\n};\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nexport const DOT_PATTERN = /\\./;\nexport const S3_HOSTNAME_PATTERN = /^(.+\\.)?s3(-fips)?(\\.dualstack)?[.-]([a-z0-9-]+)\\./;\nexport const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nexport const isArnBucketName = (bucketName) => {\n const [arn, partition, service, , , bucket] = bucketName.split(\":\");\n const isArn = arn === \"arn\" && bucketName.split(\":\").length >= 6;\n const isValidArn = Boolean(isArn && partition && service && bucket);\n if (isArn && !isValidArn) {\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\n }\n return isValidArn;\n};\n","export const createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => {\n const configProvider = async () => {\n const configValue = config[configKey] ?? config[canonicalEndpointParamKey];\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n };\n if (configKey === \"credentialScope\" || canonicalEndpointParamKey === \"CredentialScope\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;\n return configValue;\n };\n }\n if (configKey === \"accountId\" || canonicalEndpointParamKey === \"AccountId\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.accountId ?? credentials?.AccountId;\n return configValue;\n };\n }\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n if (config.isCustomEndpoint === false) {\n return undefined;\n }\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n};\n","import { CONFIG_PREFIX_SEPARATOR } from \"@smithy/shared-ini-file-loader\";\nconst ENV_ENDPOINT_URL = \"AWS_ENDPOINT_URL\";\nconst CONFIG_ENDPOINT_URL = \"endpoint_url\";\nexport const getEndpointUrlConfig = (serviceId) => ({\n environmentVariableSelector: (env) => {\n const serviceSuffixParts = serviceId.split(\" \").map((w) => w.toUpperCase());\n const serviceEndpointUrl = env[[ENV_ENDPOINT_URL, ...serviceSuffixParts].join(\"_\")];\n if (serviceEndpointUrl)\n return serviceEndpointUrl;\n const endpointUrl = env[ENV_ENDPOINT_URL];\n if (endpointUrl)\n return endpointUrl;\n return undefined;\n },\n configFileSelector: (profile, config) => {\n if (config && profile.services) {\n const servicesSection = config[[\"services\", profile.services].join(CONFIG_PREFIX_SEPARATOR)];\n if (servicesSection) {\n const servicePrefixParts = serviceId.split(\" \").map((w) => w.toLowerCase());\n const endpointUrl = servicesSection[[servicePrefixParts.join(\"_\"), CONFIG_ENDPOINT_URL].join(CONFIG_PREFIX_SEPARATOR)];\n if (endpointUrl)\n return endpointUrl;\n }\n }\n const endpointUrl = profile[CONFIG_ENDPOINT_URL];\n if (endpointUrl)\n return endpointUrl;\n return undefined;\n },\n default: undefined,\n});\n","import { loadConfig } from \"@smithy/node-config-provider\";\nimport { getEndpointUrlConfig } from \"./getEndpointUrlConfig\";\nexport const getEndpointFromConfig = async (serviceId) => loadConfig(getEndpointUrlConfig(serviceId ?? \"\"))();\n","import { parseUrl } from \"@smithy/url-parser\";\nexport const toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return parseUrl(endpoint.url);\n }\n return endpoint;\n }\n return parseUrl(endpoint);\n};\n","import { resolveParamsForS3 } from \"../service-customizations\";\nimport { createConfigValueProvider } from \"./createConfigValueProvider\";\nimport { getEndpointFromConfig } from \"./getEndpointFromConfig\";\nimport { toEndpointV1 } from \"./toEndpointV1\";\nexport const getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {\n if (!clientConfig.isCustomEndpoint) {\n let endpointFromConfig;\n if (clientConfig.serviceConfiguredEndpoint) {\n endpointFromConfig = await clientConfig.serviceConfiguredEndpoint();\n }\n else {\n endpointFromConfig = await getEndpointFromConfig(clientConfig.serviceId);\n }\n if (endpointFromConfig) {\n clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));\n clientConfig.isCustomEndpoint = true;\n }\n }\n const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n return endpoint;\n};\nexport const resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {\n const endpointParams = {};\n const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};\n for (const [name, instruction] of Object.entries(instructions)) {\n switch (instruction.type) {\n case \"staticContextParams\":\n endpointParams[name] = instruction.value;\n break;\n case \"contextParams\":\n endpointParams[name] = commandInput[instruction.name];\n break;\n case \"clientContextParams\":\n case \"builtInParams\":\n endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig)();\n break;\n case \"operationContextParams\":\n endpointParams[name] = instruction.get(commandInput);\n break;\n default:\n throw new Error(\"Unrecognized endpoint parameter instruction: \" + JSON.stringify(instruction));\n }\n }\n if (Object.keys(instructions).length === 0) {\n Object.assign(endpointParams, clientConfig);\n }\n if (String(clientConfig.serviceId).toLowerCase() === \"s3\") {\n await resolveParamsForS3(endpointParams);\n }\n return endpointParams;\n};\n","import { setFeature } from \"@smithy/core\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { getEndpointFromInstructions } from \"./adaptors/getEndpointFromInstructions\";\nexport const endpointMiddleware = ({ config, instructions, }) => {\n return (next, context) => async (args) => {\n if (config.isCustomEndpoint) {\n setFeature(context, \"ENDPOINT_OVERRIDE\", \"N\");\n }\n const endpoint = await getEndpointFromInstructions(args.input, {\n getEndpointParameterInstructions() {\n return instructions;\n },\n }, { ...config }, context);\n context.endpointV2 = endpoint;\n context.authSchemes = endpoint.properties?.authSchemes;\n const authScheme = context.authSchemes?.[0];\n if (authScheme) {\n context[\"signing_region\"] = authScheme.signingRegion;\n context[\"signing_service\"] = authScheme.signingName;\n const smithyContext = getSmithyContext(context);\n const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;\n if (httpAuthOption) {\n httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {\n signing_region: authScheme.signingRegion,\n signingRegion: authScheme.signingRegion,\n signing_service: authScheme.signingName,\n signingName: authScheme.signingName,\n signingRegionSet: authScheme.signingRegionSet,\n }, authScheme.properties);\n }\n }\n return next({\n ...args,\n });\n };\n};\n","import { serializerMiddlewareOption } from \"@smithy/middleware-serde\";\nimport { endpointMiddleware } from \"./endpointMiddleware\";\nexport const endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: serializerMiddlewareOption.name,\n};\nexport const getEndpointPlugin = (config, instructions) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(endpointMiddleware({\n config,\n instructions,\n }), endpointMiddlewareOptions);\n },\n});\n","import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { getEndpointFromConfig } from \"./adaptors/getEndpointFromConfig\";\nimport { toEndpointV1 } from \"./adaptors/toEndpointV1\";\nexport const resolveEndpointConfig = (input) => {\n const tls = input.tls ?? true;\n const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await normalizeProvider(endpoint)()) : undefined;\n const isCustomEndpoint = !!endpoint;\n const resolvedConfig = Object.assign(input, {\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false),\n useFipsEndpoint: normalizeProvider(useFipsEndpoint ?? false),\n });\n let configuredEndpointPromise = undefined;\n resolvedConfig.serviceConfiguredEndpoint = async () => {\n if (input.serviceId && !configuredEndpointPromise) {\n configuredEndpointPromise = getEndpointFromConfig(input.serviceId);\n }\n return configuredEndpointPromise;\n };\n return resolvedConfig;\n};\n","export var RETRY_MODES;\n(function (RETRY_MODES) {\n RETRY_MODES[\"STANDARD\"] = \"standard\";\n RETRY_MODES[\"ADAPTIVE\"] = \"adaptive\";\n})(RETRY_MODES || (RETRY_MODES = {}));\nexport const DEFAULT_MAX_ATTEMPTS = 3;\nexport const DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD;\n","export const CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\nexport const THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\",\n];\nexport const TRANSIENT_ERROR_CODES = [\"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nexport const TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nexport const NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"ECONNREFUSED\", \"EPIPE\", \"ETIMEDOUT\"];\nexport const NODEJS_NETWORK_ERROR_CODES = [\"EHOSTUNREACH\", \"ENETUNREACH\", \"ENOTFOUND\"];\n","import { CLOCK_SKEW_ERROR_CODES, NODEJS_NETWORK_ERROR_CODES, NODEJS_TIMEOUT_ERROR_CODES, THROTTLING_ERROR_CODES, TRANSIENT_ERROR_CODES, TRANSIENT_ERROR_STATUS_CODES, } from \"./constants\";\nexport const isRetryableByTrait = (error) => error.$retryable !== undefined;\nexport const isClockSkewError = (error) => CLOCK_SKEW_ERROR_CODES.includes(error.name);\nexport const isClockSkewCorrectedError = (error) => error.$metadata?.clockSkewCorrected;\nexport const isBrowserNetworkError = (error) => {\n const errorMessages = new Set([\n \"Failed to fetch\",\n \"NetworkError when attempting to fetch resource\",\n \"The Internet connection appears to be offline\",\n \"Load failed\",\n \"Network request failed\",\n ]);\n const isValid = error && error instanceof TypeError;\n if (!isValid) {\n return false;\n }\n return errorMessages.has(error.message);\n};\nexport const isThrottlingError = (error) => error.$metadata?.httpStatusCode === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n error.$retryable?.throttling == true;\nexport const isTransientError = (error, depth = 0) => isClockSkewCorrectedError(error) ||\n TRANSIENT_ERROR_CODES.includes(error.name) ||\n NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || \"\") ||\n NODEJS_NETWORK_ERROR_CODES.includes(error?.code || \"\") ||\n TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0) ||\n isBrowserNetworkError(error) ||\n (error.cause !== undefined && depth <= 10 && isTransientError(error.cause, depth + 1));\nexport const isServerError = (error) => {\n if (error.$metadata?.httpStatusCode !== undefined) {\n const statusCode = error.$metadata.httpStatusCode;\n if (500 <= statusCode && statusCode <= 599 && !isTransientError(error)) {\n return true;\n }\n return false;\n }\n return false;\n};\n","import { isThrottlingError } from \"@smithy/service-error-classification\";\nexport class DefaultRateLimiter {\n constructor(options) {\n this.currentCapacity = 0;\n this.enabled = false;\n this.lastMaxRate = 0;\n this.measuredTxRate = 0;\n this.requestCount = 0;\n this.lastTimestamp = 0;\n this.timeWindow = 0;\n this.beta = options?.beta ?? 0.7;\n this.minCapacity = options?.minCapacity ?? 1;\n this.minFillRate = options?.minFillRate ?? 0.5;\n this.scaleConstant = options?.scaleConstant ?? 0.4;\n this.smooth = options?.smooth ?? 0.8;\n const currentTimeInSeconds = this.getCurrentTimeInSeconds();\n this.lastThrottleTime = currentTimeInSeconds;\n this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());\n this.fillRate = this.minFillRate;\n this.maxCapacity = this.minCapacity;\n }\n getCurrentTimeInSeconds() {\n return Date.now() / 1000;\n }\n async getSendToken() {\n return this.acquireTokenBucket(1);\n }\n async acquireTokenBucket(amount) {\n if (!this.enabled) {\n return;\n }\n this.refillTokenBucket();\n if (amount > this.currentCapacity) {\n const delay = ((amount - this.currentCapacity) / this.fillRate) * 1000;\n await new Promise((resolve) => DefaultRateLimiter.setTimeoutFn(resolve, delay));\n }\n this.currentCapacity = this.currentCapacity - amount;\n }\n refillTokenBucket() {\n const timestamp = this.getCurrentTimeInSeconds();\n if (!this.lastTimestamp) {\n this.lastTimestamp = timestamp;\n return;\n }\n const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;\n this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);\n this.lastTimestamp = timestamp;\n }\n updateClientSendingRate(response) {\n let calculatedRate;\n this.updateMeasuredRate();\n if (isThrottlingError(response)) {\n const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);\n this.lastMaxRate = rateToUse;\n this.calculateTimeWindow();\n this.lastThrottleTime = this.getCurrentTimeInSeconds();\n calculatedRate = this.cubicThrottle(rateToUse);\n this.enableTokenBucket();\n }\n else {\n this.calculateTimeWindow();\n calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());\n }\n const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);\n this.updateTokenBucketRate(newRate);\n }\n calculateTimeWindow() {\n this.timeWindow = this.getPrecise(Math.pow((this.lastMaxRate * (1 - this.beta)) / this.scaleConstant, 1 / 3));\n }\n cubicThrottle(rateToUse) {\n return this.getPrecise(rateToUse * this.beta);\n }\n cubicSuccess(timestamp) {\n return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);\n }\n enableTokenBucket() {\n this.enabled = true;\n }\n updateTokenBucketRate(newRate) {\n this.refillTokenBucket();\n this.fillRate = Math.max(newRate, this.minFillRate);\n this.maxCapacity = Math.max(newRate, this.minCapacity);\n this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);\n }\n updateMeasuredRate() {\n const t = this.getCurrentTimeInSeconds();\n const timeBucket = Math.floor(t * 2) / 2;\n this.requestCount++;\n if (timeBucket > this.lastTxRateBucket) {\n const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);\n this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));\n this.requestCount = 0;\n this.lastTxRateBucket = timeBucket;\n }\n }\n getPrecise(num) {\n return parseFloat(num.toFixed(8));\n }\n}\nDefaultRateLimiter.setTimeoutFn = setTimeout;\n","export const DEFAULT_RETRY_DELAY_BASE = 100;\nexport const MAXIMUM_RETRY_DELAY = 20 * 1000;\nexport const THROTTLING_RETRY_DELAY_BASE = 500;\nexport const INITIAL_RETRY_TOKENS = 500;\nexport const RETRY_COST = 5;\nexport const TIMEOUT_RETRY_COST = 10;\nexport const NO_RETRY_INCREMENT = 1;\nexport const INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\nexport const REQUEST_HEADER = \"amz-sdk-request\";\n","import { DEFAULT_RETRY_DELAY_BASE, MAXIMUM_RETRY_DELAY } from \"./constants\";\nexport const getDefaultRetryBackoffStrategy = () => {\n let delayBase = DEFAULT_RETRY_DELAY_BASE;\n const computeNextBackoffDelay = (attempts) => {\n return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n };\n const setDelayBase = (delay) => {\n delayBase = delay;\n };\n return {\n computeNextBackoffDelay,\n setDelayBase,\n };\n};\n","import { MAXIMUM_RETRY_DELAY } from \"./constants\";\nexport const createDefaultRetryToken = ({ retryDelay, retryCount, retryCost, }) => {\n const getRetryCount = () => retryCount;\n const getRetryDelay = () => Math.min(MAXIMUM_RETRY_DELAY, retryDelay);\n const getRetryCost = () => retryCost;\n return {\n getRetryCount,\n getRetryDelay,\n getRetryCost,\n };\n};\n","import { DEFAULT_MAX_ATTEMPTS, RETRY_MODES } from \"./config\";\nimport { DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, NO_RETRY_INCREMENT, RETRY_COST, THROTTLING_RETRY_DELAY_BASE, TIMEOUT_RETRY_COST, } from \"./constants\";\nimport { getDefaultRetryBackoffStrategy } from \"./defaultRetryBackoffStrategy\";\nimport { createDefaultRetryToken } from \"./defaultRetryToken\";\nexport class StandardRetryStrategy {\n constructor(maxAttempts) {\n this.maxAttempts = maxAttempts;\n this.mode = RETRY_MODES.STANDARD;\n this.capacity = INITIAL_RETRY_TOKENS;\n this.retryBackoffStrategy = getDefaultRetryBackoffStrategy();\n this.maxAttemptsProvider = typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts;\n }\n async acquireInitialRetryToken(retryTokenScope) {\n return createDefaultRetryToken({\n retryDelay: DEFAULT_RETRY_DELAY_BASE,\n retryCount: 0,\n });\n }\n async refreshRetryTokenForRetry(token, errorInfo) {\n const maxAttempts = await this.getMaxAttempts();\n if (this.shouldRetry(token, errorInfo, maxAttempts)) {\n const errorType = errorInfo.errorType;\n this.retryBackoffStrategy.setDelayBase(errorType === \"THROTTLING\" ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE);\n const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount());\n const retryDelay = errorInfo.retryAfterHint\n ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType)\n : delayFromErrorType;\n const capacityCost = this.getCapacityCost(errorType);\n this.capacity -= capacityCost;\n return createDefaultRetryToken({\n retryDelay,\n retryCount: token.getRetryCount() + 1,\n retryCost: capacityCost,\n });\n }\n throw new Error(\"No retry token available\");\n }\n recordSuccess(token) {\n this.capacity = Math.max(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT));\n }\n getCapacity() {\n return this.capacity;\n }\n async getMaxAttempts() {\n try {\n return await this.maxAttemptsProvider();\n }\n catch (error) {\n console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`);\n return DEFAULT_MAX_ATTEMPTS;\n }\n }\n shouldRetry(tokenToRenew, errorInfo, maxAttempts) {\n const attempts = tokenToRenew.getRetryCount() + 1;\n return (attempts < maxAttempts &&\n this.capacity >= this.getCapacityCost(errorInfo.errorType) &&\n this.isRetryableError(errorInfo.errorType));\n }\n getCapacityCost(errorType) {\n return errorType === \"TRANSIENT\" ? TIMEOUT_RETRY_COST : RETRY_COST;\n }\n isRetryableError(errorType) {\n return errorType === \"THROTTLING\" || errorType === \"TRANSIENT\";\n }\n}\n","import { RETRY_MODES } from \"./config\";\nimport { DefaultRateLimiter } from \"./DefaultRateLimiter\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nexport class AdaptiveRetryStrategy {\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = RETRY_MODES.ADAPTIVE;\n const { rateLimiter } = options ?? {};\n this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();\n this.standardRetryStrategy = new StandardRetryStrategy(maxAttemptsProvider);\n }\n async acquireInitialRetryToken(retryTokenScope) {\n await this.rateLimiter.getSendToken();\n return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n this.rateLimiter.updateClientSendingRate(errorInfo);\n return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n }\n recordSuccess(token) {\n this.rateLimiter.updateClientSendingRate({});\n this.standardRetryStrategy.recordSuccess(token);\n }\n}\n","import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { AdaptiveRetryStrategy, DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, RETRY_MODES, StandardRetryStrategy, } from \"@smithy/util-retry\";\nexport const ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexport const CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nexport const NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n const value = env[ENV_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: DEFAULT_MAX_ATTEMPTS,\n};\nexport const resolveRetryConfig = (input) => {\n const { retryStrategy, retryMode: _retryMode, maxAttempts: _maxAttempts } = input;\n const maxAttempts = normalizeProvider(_maxAttempts ?? DEFAULT_MAX_ATTEMPTS);\n return Object.assign(input, {\n maxAttempts,\n retryStrategy: async () => {\n if (retryStrategy) {\n return retryStrategy;\n }\n const retryMode = await normalizeProvider(_retryMode)();\n if (retryMode === RETRY_MODES.ADAPTIVE) {\n return new AdaptiveRetryStrategy(maxAttempts);\n }\n return new StandardRetryStrategy(maxAttempts);\n },\n });\n};\nexport const ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexport const CONFIG_RETRY_MODE = \"retry_mode\";\nexport const NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\n default: DEFAULT_RETRY_MODE,\n};\n","import { Readable } from \"stream\";\nexport const isStreamingPayload = (request) => request?.body instanceof Readable ||\n (typeof ReadableStream !== \"undefined\" && request?.body instanceof ReadableStream);\n","export const asSdkError = (error) => {\n if (error instanceof Error)\n return error;\n if (error instanceof Object)\n return Object.assign(new Error(), error);\n if (typeof error === \"string\")\n return new Error(error);\n return new Error(`AWS SDK error wrapper for ${error}`);\n};\n","import { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { isServerError, isThrottlingError, isTransientError } from \"@smithy/service-error-classification\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { INVOCATION_ID_HEADER, REQUEST_HEADER } from \"@smithy/util-retry\";\nimport { v4 } from \"uuid\";\nimport { isStreamingPayload } from \"./isStreamingPayload/isStreamingPayload\";\nimport { asSdkError } from \"./util\";\nexport const retryMiddleware = (options) => (next, context) => async (args) => {\n let retryStrategy = await options.retryStrategy();\n const maxAttempts = await options.maxAttempts();\n if (isRetryStrategyV2(retryStrategy)) {\n retryStrategy = retryStrategy;\n let retryToken = await retryStrategy.acquireInitialRetryToken(context[\"partition_id\"]);\n let lastError = new Error();\n let attempts = 0;\n let totalRetryDelay = 0;\n const { request } = args;\n const isRequest = HttpRequest.isInstance(request);\n if (isRequest) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n while (true) {\n try {\n if (isRequest) {\n request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n retryStrategy.recordSuccess(retryToken);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalRetryDelay;\n return { response, output };\n }\n catch (e) {\n const retryErrorInfo = getRetryErrorInfo(e);\n lastError = asSdkError(e);\n if (isRequest && isStreamingPayload(request)) {\n (context.logger instanceof NoOpLogger ? console : context.logger)?.warn(\"An error was encountered in a non-retryable streaming request.\");\n throw lastError;\n }\n try {\n retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);\n }\n catch (refreshError) {\n if (!lastError.$metadata) {\n lastError.$metadata = {};\n }\n lastError.$metadata.attempts = attempts + 1;\n lastError.$metadata.totalRetryDelay = totalRetryDelay;\n throw lastError;\n }\n attempts = retryToken.getRetryCount();\n const delay = retryToken.getRetryDelay();\n totalRetryDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n }\n }\n else {\n retryStrategy = retryStrategy;\n if (retryStrategy?.mode)\n context.userAgent = [...(context.userAgent || []), [\"cfg/retry-mode\", retryStrategy.mode]];\n return retryStrategy.retry(next, args);\n }\n};\nconst isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== \"undefined\" &&\n typeof retryStrategy.refreshRetryTokenForRetry !== \"undefined\" &&\n typeof retryStrategy.recordSuccess !== \"undefined\";\nconst getRetryErrorInfo = (error) => {\n const errorInfo = {\n error,\n errorType: getRetryErrorType(error),\n };\n const retryAfterHint = getRetryAfterHint(error.$response);\n if (retryAfterHint) {\n errorInfo.retryAfterHint = retryAfterHint;\n }\n return errorInfo;\n};\nconst getRetryErrorType = (error) => {\n if (isThrottlingError(error))\n return \"THROTTLING\";\n if (isTransientError(error))\n return \"TRANSIENT\";\n if (isServerError(error))\n return \"SERVER_ERROR\";\n return \"CLIENT_ERROR\";\n};\nexport const retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nexport const getRetryPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n});\nexport const getRetryAfterHint = (response) => {\n if (!HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return new Date(retryAfterSeconds * 1000);\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate;\n};\n","import { platform, release } from \"os\";\nimport { env, versions } from \"process\";\nimport { isCrtAvailable } from \"./is-crt-available\";\nexport { crtAvailability } from \"./crt-availability\";\nexport const createDefaultUserAgentProvider = ({ serviceId, clientVersion }) => {\n return async (config) => {\n const sections = [\n [\"aws-sdk-js\", clientVersion],\n [\"ua\", \"2.1\"],\n [`os/${platform()}`, release()],\n [\"lang/js\"],\n [\"md/nodejs\", `${versions.node}`],\n ];\n const crtAvailable = isCrtAvailable();\n if (crtAvailable) {\n sections.push(crtAvailable);\n }\n if (serviceId) {\n sections.push([`api/${serviceId}`, clientVersion]);\n }\n if (env.AWS_EXECUTION_ENV) {\n sections.push([`exec-env/${env.AWS_EXECUTION_ENV}`]);\n }\n const appId = await config?.userAgentAppId?.();\n const resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections];\n return resolvedUserAgent;\n };\n};\nexport const defaultUserAgent = createDefaultUserAgentProvider;\n","export const crtAvailability = {\n isCrtAvailable: false,\n};\n","import { crtAvailability } from \"./crt-availability\";\nexport const isCrtAvailable = () => {\n if (crtAvailability.isCrtAvailable) {\n return [\"md/crt-avail\"];\n }\n return null;\n};\n","import { DEFAULT_UA_APP_ID } from \"@aws-sdk/middleware-user-agent\";\nexport const UA_APP_ID_ENV_NAME = \"AWS_SDK_UA_APP_ID\";\nexport const UA_APP_ID_INI_NAME = \"sdk_ua_app_id\";\nconst UA_APP_ID_INI_NAME_DEPRECATED = \"sdk-ua-app-id\";\nexport const NODE_APP_ID_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[UA_APP_ID_ENV_NAME],\n configFileSelector: (profile) => profile[UA_APP_ID_INI_NAME] ?? profile[UA_APP_ID_INI_NAME_DEPRECATED],\n default: DEFAULT_UA_APP_ID,\n};\n","import { fromArrayBuffer, fromString } from \"@smithy/util-buffer-from\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { Buffer } from \"buffer\";\nimport { createHash, createHmac } from \"crypto\";\nexport class Hash {\n constructor(algorithmIdentifier, secret) {\n this.algorithmIdentifier = algorithmIdentifier;\n this.secret = secret;\n this.reset();\n }\n update(toHash, encoding) {\n this.hash.update(toUint8Array(castSourceData(toHash, encoding)));\n }\n digest() {\n return Promise.resolve(this.hash.digest());\n }\n reset() {\n this.hash = this.secret\n ? createHmac(this.algorithmIdentifier, castSourceData(this.secret))\n : createHash(this.algorithmIdentifier);\n }\n}\nfunction castSourceData(toCast, encoding) {\n if (Buffer.isBuffer(toCast)) {\n return toCast;\n }\n if (typeof toCast === \"string\") {\n return fromString(toCast, encoding);\n }\n if (ArrayBuffer.isView(toCast)) {\n return fromArrayBuffer(toCast.buffer, toCast.byteOffset, toCast.byteLength);\n }\n return fromArrayBuffer(toCast);\n}\n","import { fstatSync, lstatSync } from \"fs\";\nexport const calculateBodyLength = (body) => {\n if (!body) {\n return 0;\n }\n if (typeof body === \"string\") {\n return Buffer.byteLength(body);\n }\n else if (typeof body.byteLength === \"number\") {\n return body.byteLength;\n }\n else if (typeof body.size === \"number\") {\n return body.size;\n }\n else if (typeof body.start === \"number\" && typeof body.end === \"number\") {\n return body.end + 1 - body.start;\n }\n else if (typeof body.path === \"string\" || Buffer.isBuffer(body.path)) {\n return lstatSync(body.path).size;\n }\n else if (typeof body.fd === \"number\") {\n return fstatSync(body.fd).size;\n }\n throw new Error(`Body Length computation failed for ${body}`);\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\";\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 \"@smithy/config-resolver\";\nimport { loadConfig } from \"@smithy/node-config-provider\";\nimport { memoize } from \"@smithy/property-provider\";\nimport { AWS_DEFAULT_REGION_ENV, AWS_EXECUTION_ENV, AWS_REGION_ENV, DEFAULTS_MODE_OPTIONS, ENV_IMDS_DISABLED, IMDS_REGION_PATH, } 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 if (!process.env[ENV_IMDS_DISABLED]) {\n try {\n const { getInstanceMetadataEndpoint, httpRequest } = await import(\"@smithy/credential-provider-imds\");\n const endpoint = await getInstanceMetadataEndpoint();\n return (await httpRequest({ ...endpoint, path: IMDS_REGION_PATH })).toString();\n }\n catch (e) {\n }\n }\n};\n","export const getAwsRegionExtensionConfiguration = (runtimeConfig) => {\n return {\n setRegion(region) {\n runtimeConfig.region = region;\n },\n region() {\n return runtimeConfig.region;\n },\n };\n};\nexport const resolveAwsRegionExtensionConfiguration = (awsRegionExtensionConfiguration) => {\n return {\n region: awsRegionExtensionConfiguration.region(),\n };\n};\n"],"mappings":"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","names":["normalizeProvider","normalizeProvider","hostname","protocol","partition","partition","setFeature","env","normalizeProvider","env","HEADER_VALUE_TYPE","value","serialized","normalizeProvider","normalizeProvider","setFeature","SelectorType","env","env","env","partition","env","endpointUrl","RETRY_MODES","env","env","Buffer","env"]}