gemi 0.24.2 → 0.25.0

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 (132) hide show
  1. package/dist/app/index.js +25 -25
  2. package/dist/app/index.js.map +2 -2
  3. package/dist/bin/gemi.js +1 -1
  4. package/dist/bin/gemi.js.map +2 -2
  5. package/dist/broadcasting/index.js +1 -1
  6. package/dist/chunk-0nqce2y1.js +4 -0
  7. package/dist/{chunk-gx3h2xts.js.map → chunk-0nqce2y1.js.map} +6 -6
  8. package/dist/chunk-2ad1cqtt.js +5 -0
  9. package/dist/{chunk-ebcx322z.js.map → chunk-2ad1cqtt.js.map} +1 -1
  10. package/dist/chunk-33p2e7s6.js +5 -0
  11. package/dist/{chunk-k6kx9bhz.js.map → chunk-33p2e7s6.js.map} +2 -2
  12. package/dist/chunk-34cyjp05.js +4 -0
  13. package/dist/{chunk-9f0dmc0v.js.map → chunk-34cyjp05.js.map} +2 -2
  14. package/dist/{chunk-v6hawzhm.js → chunk-3td0xhnw.js} +4 -3
  15. package/dist/{chunk-v6hawzhm.js.map → chunk-3td0xhnw.js.map} +2 -2
  16. package/dist/chunk-697va9vj.js +15 -0
  17. package/dist/chunk-697va9vj.js.map +40 -0
  18. package/dist/chunk-882vm90z.js +5 -0
  19. package/dist/{chunk-47xbr7nj.js.map → chunk-882vm90z.js.map} +2 -2
  20. package/dist/chunk-8rtdf2cd.js +5 -0
  21. package/dist/chunk-8rtdf2cd.js.map +10 -0
  22. package/dist/{chunk-ta6hb843.js → chunk-9rxwxky2.js} +3 -2
  23. package/dist/{chunk-ta6hb843.js.map → chunk-9rxwxky2.js.map} +2 -2
  24. package/dist/chunk-bv0fq16n.js +5 -0
  25. package/dist/{chunk-cp81a2ga.js.map → chunk-bv0fq16n.js.map} +6 -6
  26. package/dist/chunk-c94tyv0f.js +4 -0
  27. package/dist/{chunk-nyqj9vzt.js.map → chunk-c94tyv0f.js.map} +2 -2
  28. package/dist/{chunk-ebcx322z.js → chunk-cbdnkfkw.js} +3 -2
  29. package/dist/chunk-cbdnkfkw.js.map +9 -0
  30. package/dist/chunk-egaxg13a.js +5 -0
  31. package/dist/{chunk-3pw4hcep.js.map → chunk-egaxg13a.js.map} +2 -2
  32. package/dist/chunk-f2qwngan.js +5 -0
  33. package/dist/chunk-f2qwngan.js.map +11 -0
  34. package/dist/{chunk-kbm8egme.js → chunk-fnc2mrgk.js} +4 -3
  35. package/dist/{chunk-kbm8egme.js.map → chunk-fnc2mrgk.js.map} +2 -2
  36. package/dist/chunk-g0qf8xfk.js +5 -0
  37. package/dist/chunk-g0qf8xfk.js.map +10 -0
  38. package/dist/chunk-h5nygx4m.js +26 -0
  39. package/dist/chunk-h5nygx4m.js.map +65 -0
  40. package/dist/chunk-jb8gvdve.js +7 -0
  41. package/dist/{chunk-c3s0zqhy.js.map → chunk-jb8gvdve.js.map} +2 -2
  42. package/dist/{chunk-hj1wc760.js → chunk-m06xgv2s.js} +4 -3
  43. package/dist/{chunk-hj1wc760.js.map → chunk-m06xgv2s.js.map} +2 -2
  44. package/dist/chunk-pmff7dr2.js +4 -0
  45. package/dist/{chunk-z1kwrnv5.js.map → chunk-pmff7dr2.js.map} +2 -2
  46. package/dist/chunk-q47rsdp4.js +4 -0
  47. package/dist/{chunk-5d9ccndf.js.map → chunk-q47rsdp4.js.map} +5 -5
  48. package/dist/chunk-sz5stqah.js +11 -0
  49. package/dist/{chunk-8ctxajfc.js.map → chunk-sz5stqah.js.map} +2 -2
  50. package/dist/chunk-tm1sbeqy.js +4 -0
  51. package/dist/{chunk-nnrnn2qp.js.map → chunk-tm1sbeqy.js.map} +8 -8
  52. package/dist/chunk-tqbe1gyc.js +8 -0
  53. package/dist/{chunk-xpp9rt2p.js.map → chunk-tqbe1gyc.js.map} +2 -2
  54. package/dist/chunk-ve22ma60.js +5 -0
  55. package/dist/chunk-ve22ma60.js.map +14 -0
  56. package/dist/chunk-wt5ayarp.js +6 -0
  57. package/dist/chunk-wt5ayarp.js.map +13 -0
  58. package/dist/{chunk-r5tsj9vp.js → chunk-x6ntsv3z.js} +4 -3
  59. package/dist/{chunk-r5tsj9vp.js.map → chunk-x6ntsv3z.js.map} +2 -2
  60. package/dist/chunk-z7q23s4c.js +4 -0
  61. package/dist/{chunk-x71srja2.js.map → chunk-z7q23s4c.js.map} +2 -2
  62. package/dist/chunk-zf3gtmrt.js +5 -0
  63. package/dist/{chunk-aj408pdc.js.map → chunk-zf3gtmrt.js.map} +2 -2
  64. package/dist/client/QueryResource.d.ts.map +1 -1
  65. package/dist/client/index.d.ts +1 -0
  66. package/dist/client/index.d.ts.map +1 -1
  67. package/dist/client/index.js +61 -2
  68. package/dist/client/index.js.map +1 -1
  69. package/dist/client/useMutate.d.ts +15 -0
  70. package/dist/client/useMutate.d.ts.map +1 -0
  71. package/dist/client/useQuery.d.ts +1 -0
  72. package/dist/client/useQuery.d.ts.map +1 -1
  73. package/dist/email/index.js +2 -2
  74. package/dist/email/index.js.map +2 -2
  75. package/dist/facades/index.js +31 -31
  76. package/dist/facades/index.js.map +7 -7
  77. package/dist/http/index.js +2 -2
  78. package/dist/http/index.js.map +3 -3
  79. package/dist/i18n/index.js +2 -2
  80. package/dist/i18n/index.js.map +2 -2
  81. package/dist/kernel/index.js +2 -2
  82. package/dist/kernel/index.js.map +2 -2
  83. package/dist/server/index.js +2 -2
  84. package/dist/server/index.js.map +2 -2
  85. package/dist/services/index.js +63 -74
  86. package/dist/services/index.js.map +15 -25
  87. package/dist/services/logging/LoggingServiceContainer.d.ts +1 -1
  88. package/dist/services/logging/LoggingServiceContainer.d.ts.map +1 -1
  89. package/dist/services/queue/QueueServiceProvider.d.ts +1 -1
  90. package/dist/services/queue/QueueServiceProvider.d.ts.map +1 -1
  91. package/dist/services/router/createFlatViewRoutes.d.ts +1 -1
  92. package/dist/services/router/createFlatViewRoutes.d.ts.map +1 -1
  93. package/package.json +1 -1
  94. package/dist/chunk-05v9wdf8.js +0 -4
  95. package/dist/chunk-05v9wdf8.js.map +0 -16
  96. package/dist/chunk-2g4nt8nz.js +0 -27
  97. package/dist/chunk-2g4nt8nz.js.map +0 -47
  98. package/dist/chunk-3pw4hcep.js +0 -4
  99. package/dist/chunk-3tn8zz3h.js +0 -3
  100. package/dist/chunk-3tn8zz3h.js.map +0 -23
  101. package/dist/chunk-47xbr7nj.js +0 -4
  102. package/dist/chunk-5d9ccndf.js +0 -4
  103. package/dist/chunk-5yz4jjwj.js +0 -4
  104. package/dist/chunk-5yz4jjwj.js.map +0 -10
  105. package/dist/chunk-7prh8fq1.js +0 -4
  106. package/dist/chunk-7prh8fq1.js.map +0 -100
  107. package/dist/chunk-7tcvk149.js +0 -3
  108. package/dist/chunk-7tcvk149.js.map +0 -15
  109. package/dist/chunk-8ctxajfc.js +0 -11
  110. package/dist/chunk-9f0dmc0v.js +0 -4
  111. package/dist/chunk-aj408pdc.js +0 -4
  112. package/dist/chunk-c3s0zqhy.js +0 -6
  113. package/dist/chunk-cp81a2ga.js +0 -5
  114. package/dist/chunk-cqgt4nb9.js +0 -5
  115. package/dist/chunk-cqgt4nb9.js.map +0 -23
  116. package/dist/chunk-egd5q5dg.js +0 -12
  117. package/dist/chunk-egd5q5dg.js.map +0 -38
  118. package/dist/chunk-g1pmzbbw.js +0 -5
  119. package/dist/chunk-g1pmzbbw.js.map +0 -11
  120. package/dist/chunk-gx3h2xts.js +0 -4
  121. package/dist/chunk-k6kx9bhz.js +0 -4
  122. package/dist/chunk-nnrnn2qp.js +0 -4
  123. package/dist/chunk-nyqj9vzt.js +0 -4
  124. package/dist/chunk-q2rgbdh1.js +0 -5
  125. package/dist/chunk-q2rgbdh1.js.map +0 -39
  126. package/dist/chunk-trs56wy5.js +0 -9
  127. package/dist/chunk-trs56wy5.js.map +0 -25
  128. package/dist/chunk-x71srja2.js +0 -4
  129. package/dist/chunk-xpp9rt2p.js +0 -8
  130. package/dist/chunk-z09sd6xp.js +0 -7
  131. package/dist/chunk-z09sd6xp.js.map +0 -56
  132. package/dist/chunk-z1kwrnv5.js +0 -4
@@ -1,100 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../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/@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/partition.js", "../../../node_modules/@aws-sdk/util-endpoints/dist-es/aws.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/endpointsConfig/resolveCustomEndpointsConfig.js", "../../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/resolveEndpointsConfig.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-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/middleware-endpoint/dist-es/endpointMiddleware.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/getEndpointPlugin.js", "../../../node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js", "../../../node_modules/@smithy/middleware-retry/dist-es/configurations.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/uuid/wrapper.mjs", "../../../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"],
4
- "sourcesContent": [
5
- "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",
6
- "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",
7
- "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",
8
- "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",
9
- "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",
10
- "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",
11
- "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",
12
- "export const customEndpointFunctions = {};\n",
13
- "export const debugId = \"endpoints\";\n",
14
- "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",
15
- "export class EndpointError extends Error {\n constructor(message) {\n super(message);\n this.name = \"EndpointError\";\n }\n}\n",
16
- "export const booleanEquals = (value1, value2) => value1 === value2;\n",
17
- "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",
18
- "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",
19
- "export const isSet = (value) => value != null;\n",
20
- "export const not = (value) => !value;\n",
21
- "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",
22
- "export const stringEquals = (value1, value2) => value1 === value2;\n",
23
- "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",
24
- "export const uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);\n",
25
- "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",
26
- "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",
27
- "export const getReferenceValue = ({ ref }, options) => {\n const referenceRecord = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n return referenceRecord[ref];\n};\n",
28
- "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",
29
- "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",
30
- "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",
31
- "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",
32
- "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",
33
- "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",
34
- "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",
35
- "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",
36
- "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",
37
- "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",
38
- "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",
39
- "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",
40
- "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",
41
- "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",
42
- "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",
43
- "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",
44
- "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",
45
- "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",
46
- "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",
47
- "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",
48
- "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",
49
- "export const isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\n",
50
- "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",
51
- "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",
52
- "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",
53
- "export var SelectorType;\n(function (SelectorType) {\n SelectorType[\"ENV\"] = \"env\";\n SelectorType[\"CONFIG\"] = \"shared config entry\";\n})(SelectorType || (SelectorType = {}));\n",
54
- "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",
55
- "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",
56
- "import { normalizeProvider } from \"@smithy/util-middleware\";\nexport const resolveCustomEndpointsConfig = (input) => {\n const { tls, endpoint, urlParser, useDualstackEndpoint } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint),\n isCustomEndpoint: true,\n useDualstackEndpoint: normalizeProvider(useDualstackEndpoint ?? false),\n });\n};\n",
57
- "import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { getEndpointFromRegion } from \"./utils/getEndpointFromRegion\";\nexport const resolveEndpointsConfig = (input) => {\n const useDualstackEndpoint = normalizeProvider(input.useDualstackEndpoint ?? false);\n const { endpoint, useFipsEndpoint, urlParser, tls } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: endpoint\n ? normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint)\n : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),\n isCustomEndpoint: !!endpoint,\n useDualstackEndpoint,\n });\n};\n",
58
- "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",
59
- "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",
60
- "export 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 }\n throw error;\n }\n};\n",
61
- "export const serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\n const endpoint = context.endpointV2?.url && options.urlParser\n ? async () => options.urlParser(context.endpointV2.url)\n : options.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",
62
- "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",
63
- "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.endpoint) {\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",
64
- "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",
65
- "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 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",
66
- "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",
67
- "import { loadConfig } from \"@smithy/node-config-provider\";\nimport { getEndpointUrlConfig } from \"./getEndpointUrlConfig\";\nexport const getEndpointFromConfig = async (serviceId) => loadConfig(getEndpointUrlConfig(serviceId ?? \"\"))();\n",
68
- "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",
69
- "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.endpoint) {\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 }\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",
70
- "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",
71
- "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",
72
- "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",
73
- "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",
74
- "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\"];\n",
75
- "import { CLOCK_SKEW_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 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 TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0) ||\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",
76
- "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",
77
- "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",
78
- "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",
79
- "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",
80
- "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",
81
- "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",
82
- "import uuid from './dist/index.js';\nexport const v1 = uuid.v1;\nexport const v3 = uuid.v3;\nexport const v4 = uuid.v4;\nexport const v5 = uuid.v5;\nexport const NIL = uuid.NIL;\nexport const version = uuid.version;\nexport const validate = uuid.validate;\nexport const stringify = uuid.stringify;\nexport const parse = uuid.parse;\n",
83
- "import { Readable } from \"stream\";\nexport const isStreamingPayload = (request) => request?.body instanceof Readable ||\n (typeof ReadableStream !== \"undefined\" && request?.body instanceof ReadableStream);\n",
84
- "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",
85
- "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",
86
- "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",
87
- "export const crtAvailability = {\n isCrtAvailable: false,\n};\n",
88
- "import { crtAvailability } from \"./crt-availability\";\nexport const isCrtAvailable = () => {\n if (crtAvailability.isCrtAvailable) {\n return [\"md/crt-avail\"];\n }\n return null;\n};\n",
89
- "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",
90
- "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",
91
- "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",
92
- "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",
93
- "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",
94
- "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",
95
- "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"
96
- ],
97
- "mappings": "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",
98
- "debugId": "EF249A4F686327CB64756E2164756E21",
99
- "names": []
100
- }
@@ -1,3 +0,0 @@
1
- class n extends Error{constructor(t,e=!0){let o,r=!0;if(typeof e==="boolean")o=void 0,r=e;else if(e!=null&&typeof e==="object")o=e.logger,r=e.tryNextLink??!0;super(t);this.name="ProviderError",this.tryNextLink=r,Object.setPrototypeOf(this,n.prototype),o?.debug?.(`@smithy/property-provider ${r?"->":"(!)"} ${t}`)}static from(t,e=!0){return Object.assign(new this(t.message,e),t)}}class u extends n{constructor(t,e=!0){super(t,e);this.name="CredentialsProviderError",Object.setPrototypeOf(this,u.prototype)}}class l extends n{constructor(t,e=!0){super(t,e);this.name="TokenProviderError",Object.setPrototypeOf(this,l.prototype)}}var v=(...t)=>async()=>{if(t.length===0)throw new n("No providers in chain");let e;for(let o of t)try{return await o()}catch(r){if(e=r,r?.tryNextLink)continue;throw r}throw e};var w=(t)=>()=>Promise.resolve(t);var b=(t,e,o)=>{let r,i,s,f=!1,a=async()=>{if(!i)i=t();try{r=await i,s=!0,f=!1}finally{i=void 0}return r};if(e===void 0)return async(c)=>{if(!s||c?.forceRefresh)r=await a();return r};return async(c)=>{if(!s||c?.forceRefresh)r=await a();if(f)return r;if(o&&!o(r))return f=!0,r;if(e(r))return await a(),r;return r}};export{n as Wb,u as Xb,l as Yb,v as Zb,w as _b,b as $b};
2
-
3
- //# debugId=92BB141E1114CF9864756E2164756E21
@@ -1,15 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../node_modules/@smithy/property-provider/dist-es/ProviderError.js", "../../../node_modules/@smithy/property-provider/dist-es/CredentialsProviderError.js", "../../../node_modules/@smithy/property-provider/dist-es/TokenProviderError.js", "../../../node_modules/@smithy/property-provider/dist-es/chain.js", "../../../node_modules/@smithy/property-provider/dist-es/fromStatic.js", "../../../node_modules/@smithy/property-provider/dist-es/memoize.js"],
4
- "sourcesContent": [
5
- "export class ProviderError extends Error {\n constructor(message, options = true) {\n let logger;\n let tryNextLink = true;\n if (typeof options === \"boolean\") {\n logger = undefined;\n tryNextLink = options;\n }\n else if (options != null && typeof options === \"object\") {\n logger = options.logger;\n tryNextLink = options.tryNextLink ?? true;\n }\n super(message);\n this.name = \"ProviderError\";\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, ProviderError.prototype);\n logger?.debug?.(`@smithy/property-provider ${tryNextLink ? \"->\" : \"(!)\"} ${message}`);\n }\n static from(error, options = true) {\n return Object.assign(new this(error.message, options), error);\n }\n}\n",
6
- "import { ProviderError } from \"./ProviderError\";\nexport class CredentialsProviderError extends ProviderError {\n constructor(message, options = true) {\n super(message, options);\n this.name = \"CredentialsProviderError\";\n Object.setPrototypeOf(this, CredentialsProviderError.prototype);\n }\n}\n",
7
- "import { ProviderError } from \"./ProviderError\";\nexport class TokenProviderError extends ProviderError {\n constructor(message, options = true) {\n super(message, options);\n this.name = \"TokenProviderError\";\n Object.setPrototypeOf(this, TokenProviderError.prototype);\n }\n}\n",
8
- "import { ProviderError } from \"./ProviderError\";\nexport const chain = (...providers) => async () => {\n if (providers.length === 0) {\n throw new ProviderError(\"No providers in chain\");\n }\n let lastProviderError;\n for (const provider of providers) {\n try {\n const credentials = await provider();\n return credentials;\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n",
9
- "export const fromStatic = (staticValue) => () => Promise.resolve(staticValue);\n",
10
- "export const memoize = (provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n};\n"
11
- ],
12
- "mappings": "AAAO,MAAM,UAAsB,KAAM,CACrC,WAAW,CAAC,EAAS,EAAU,GAAM,CACjC,IAAI,EACA,EAAc,GAClB,GAAI,OAAO,IAAY,UACnB,EAAS,OACT,EAAc,EAEb,QAAI,GAAW,MAAQ,OAAO,IAAY,SAC3C,EAAS,EAAQ,OACjB,EAAc,EAAQ,aAAe,GAEzC,MAAM,CAAO,EACb,KAAK,KAAO,gBACZ,KAAK,YAAc,EACnB,OAAO,eAAe,KAAM,EAAc,SAAS,EACnD,GAAQ,QAAQ,6BAA6B,EAAc,KAAO,SAAS,GAAS,QAEjF,KAAI,CAAC,EAAO,EAAU,GAAM,CAC/B,OAAO,OAAO,OAAO,IAAI,KAAK,EAAM,QAAS,CAAO,EAAG,CAAK,EAEpE,CCpBO,MAAM,UAAiC,CAAc,CACxD,WAAW,CAAC,EAAS,EAAU,GAAM,CACjC,MAAM,EAAS,CAAO,EACtB,KAAK,KAAO,2BACZ,OAAO,eAAe,KAAM,EAAyB,SAAS,EAEtE,CCNO,MAAM,UAA2B,CAAc,CAClD,WAAW,CAAC,EAAS,EAAU,GAAM,CACjC,MAAM,EAAS,CAAO,EACtB,KAAK,KAAO,qBACZ,OAAO,eAAe,KAAM,EAAmB,SAAS,EAEhE,CCNO,IAAM,EAAQ,IAAI,IAAc,SAAY,CAC/C,GAAI,EAAU,SAAW,EACrB,MAAM,IAAI,EAAc,uBAAuB,EAEnD,IAAI,EACJ,QAAW,KAAY,EACnB,GAAI,CAEA,OADoB,MAAM,EAAS,EAGvC,MAAO,EAAK,CAER,GADA,EAAoB,EAChB,GAAK,YACL,SAEJ,MAAM,EAGd,MAAM,GCnBH,IAAM,EAAa,CAAC,IAAgB,IAAM,QAAQ,QAAQ,CAAW,ECArE,IAAM,EAAU,CAAC,EAAU,EAAW,IAAoB,CAC7D,IAAI,EACA,EACA,EACA,EAAa,GACX,EAAmB,SAAY,CACjC,IAAK,EACD,EAAU,EAAS,EAEvB,GAAI,CACA,EAAW,MAAM,EACjB,EAAY,GACZ,EAAa,UAEjB,CACI,EAAU,OAEd,OAAO,GAEX,GAAI,IAAc,OACd,MAAO,OAAO,IAAY,CACtB,IAAK,GAAa,GAAS,aACvB,EAAW,MAAM,EAAiB,EAEtC,OAAO,GAGf,MAAO,OAAO,IAAY,CACtB,IAAK,GAAa,GAAS,aACvB,EAAW,MAAM,EAAiB,EAEtC,GAAI,EACA,OAAO,EAEX,GAAI,IAAoB,EAAgB,CAAQ,EAE5C,OADA,EAAa,GACN,EAEX,GAAI,EAAU,CAAQ,EAElB,OADA,MAAM,EAAiB,EAChB,EAEX,OAAO",
13
- "debugId": "92BB141E1114CF9864756E2164756E21",
14
- "names": []
15
- }