@dataflint/mcp-server 1.0.14 → 1.0.17

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 (105) hide show
  1. package/dist/auth/auth-strategy-factory.d.ts +60 -0
  2. package/dist/auth/auth-strategy-factory.d.ts.map +1 -0
  3. package/dist/auth/auth-strategy-factory.js +113 -0
  4. package/dist/auth/auth-strategy-factory.js.map +1 -0
  5. package/dist/auth/auth0-m2m-service.d.ts +74 -0
  6. package/dist/auth/auth0-m2m-service.d.ts.map +1 -0
  7. package/dist/auth/auth0-m2m-service.js +195 -0
  8. package/dist/auth/auth0-m2m-service.js.map +1 -0
  9. package/dist/auth/auth0-service.d.ts +64 -0
  10. package/dist/auth/auth0-service.d.ts.map +1 -0
  11. package/dist/auth/auth0-service.js +326 -0
  12. package/dist/auth/auth0-service.js.map +1 -0
  13. package/dist/auth/customer-auth-configs.d.ts +31 -0
  14. package/dist/auth/customer-auth-configs.d.ts.map +1 -0
  15. package/dist/auth/customer-auth-configs.js +39 -0
  16. package/dist/auth/customer-auth-configs.js.map +1 -0
  17. package/dist/auth/index.d.ts +75 -0
  18. package/dist/auth/index.d.ts.map +1 -0
  19. package/dist/auth/index.js +137 -0
  20. package/dist/auth/index.js.map +1 -0
  21. package/dist/auth/secrets/aws-secrets-provider.d.ts +45 -0
  22. package/dist/auth/secrets/aws-secrets-provider.d.ts.map +1 -0
  23. package/dist/auth/secrets/aws-secrets-provider.js +125 -0
  24. package/dist/auth/secrets/aws-secrets-provider.js.map +1 -0
  25. package/dist/auth/secrets/index.d.ts +12 -0
  26. package/dist/auth/secrets/index.d.ts.map +1 -0
  27. package/dist/auth/secrets/index.js +17 -0
  28. package/dist/auth/secrets/index.js.map +1 -0
  29. package/dist/auth/secrets/local-file-secrets-provider.d.ts +47 -0
  30. package/dist/auth/secrets/local-file-secrets-provider.d.ts.map +1 -0
  31. package/dist/auth/secrets/local-file-secrets-provider.js +151 -0
  32. package/dist/auth/secrets/local-file-secrets-provider.js.map +1 -0
  33. package/dist/auth/secrets/secrets-provider.d.ts +54 -0
  34. package/dist/auth/secrets/secrets-provider.d.ts.map +1 -0
  35. package/dist/auth/secrets/secrets-provider.js +106 -0
  36. package/dist/auth/secrets/secrets-provider.js.map +1 -0
  37. package/dist/auth/secrets/types.d.ts +32 -0
  38. package/dist/auth/secrets/types.d.ts.map +1 -0
  39. package/dist/auth/secrets/types.js +8 -0
  40. package/dist/auth/secrets/types.js.map +1 -0
  41. package/dist/auth/service-account-service.d.ts +77 -0
  42. package/dist/auth/service-account-service.d.ts.map +1 -0
  43. package/dist/auth/service-account-service.js +209 -0
  44. package/dist/auth/service-account-service.js.map +1 -0
  45. package/dist/auth/types.d.ts +140 -0
  46. package/dist/auth/types.d.ts.map +1 -0
  47. package/dist/auth/types.js +30 -0
  48. package/dist/auth/types.js.map +1 -0
  49. package/dist/auth.d.ts +47 -0
  50. package/dist/auth.d.ts.map +1 -0
  51. package/dist/auth.js +302 -0
  52. package/dist/auth.js.map +1 -0
  53. package/dist/dataflint-server-service.d.ts +3 -6
  54. package/dist/dataflint-server-service.d.ts.map +1 -1
  55. package/dist/dataflint-server-service.js +48 -133
  56. package/dist/dataflint-server-service.js.map +1 -1
  57. package/dist/index.d.ts +4 -3
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +7 -11
  60. package/dist/index.js.map +1 -1
  61. package/dist/request-context.d.ts +0 -20
  62. package/dist/request-context.d.ts.map +1 -1
  63. package/dist/request-context.js +1 -31
  64. package/dist/request-context.js.map +1 -1
  65. package/dist/server.d.ts +2 -2
  66. package/dist/server.d.ts.map +1 -1
  67. package/dist/server.js +14 -16
  68. package/dist/server.js.map +1 -1
  69. package/dist/standalone/config.d.ts +7 -13
  70. package/dist/standalone/config.d.ts.map +1 -1
  71. package/dist/standalone/config.js +439 -23059
  72. package/dist/standalone/config.js.map +4 -4
  73. package/dist/standalone/logger.js +2 -2
  74. package/dist/standalone/logger.js.map +1 -1
  75. package/dist/standalone/server.d.ts.map +1 -1
  76. package/dist/standalone/server.js +25 -45
  77. package/dist/standalone/server.js.map +1 -1
  78. package/dist/standalone/stdio-transport.d.ts +1 -2
  79. package/dist/standalone/stdio-transport.d.ts.map +1 -1
  80. package/dist/standalone/stdio-transport.js +4 -3
  81. package/dist/standalone/stdio-transport.js.map +1 -1
  82. package/dist/tools/base.d.ts +16 -0
  83. package/dist/tools/base.d.ts.map +1 -1
  84. package/dist/tools/base.js +16 -0
  85. package/dist/tools/base.js.map +1 -1
  86. package/dist/tools/core-tools.d.ts.map +1 -1
  87. package/dist/tools/core-tools.js +4 -4
  88. package/dist/tools/core-tools.js.map +1 -1
  89. package/dist/tools/expertise-tools.d.ts.map +1 -1
  90. package/dist/tools/expertise-tools.js +5 -5
  91. package/dist/tools/expertise-tools.js.map +1 -1
  92. package/dist/tools/findings-tools.d.ts.map +1 -1
  93. package/dist/tools/findings-tools.js +4 -4
  94. package/dist/tools/findings-tools.js.map +1 -1
  95. package/dist/tools/highlight-tools.d.ts.map +1 -1
  96. package/dist/tools/highlight-tools.js +8 -10
  97. package/dist/tools/highlight-tools.js.map +1 -1
  98. package/dist/tools/listing-tools.d.ts.map +1 -1
  99. package/dist/tools/listing-tools.js +1 -1
  100. package/dist/tools/listing-tools.js.map +1 -1
  101. package/dist/types.d.ts +13 -5
  102. package/dist/types.d.ts.map +1 -1
  103. package/dist/types.js +0 -5
  104. package/dist/types.js.map +1 -1
  105. package/package.json +1 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../shared-auth-config/src/customer-auth-configs.ts", "../../../shared-auth-config/src/types.ts", "../../../shared-auth-config/src/auth0-service.ts", "../../../shared-auth-config/src/auth0-m2m-service.ts", "../../../shared-auth-config/src/service-account-service.ts", "../../../../node_modules/@smithy/types/dist-cjs/index.js", "../../../../node_modules/@smithy/protocol-http/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js", "../../../../node_modules/@aws/lambda-invoke-store/dist-es/invoke-store.js", "../../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.js", "../../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js", "../../../../node_modules/@smithy/core/dist-es/getSmithyContext.js", "../../../../node_modules/@smithy/util-middleware/dist-cjs/index.js", "../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/resolveAuthOptions.js", "../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js", "../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js", "../../../../node_modules/@smithy/middleware-serde/dist-cjs/index.js", "../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js", "../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/index.js", "../../../../node_modules/@smithy/core/dist-es/middleware-http-signing/httpSigningMiddleware.js", "../../../../node_modules/@smithy/core/dist-es/middleware-http-signing/getHttpSigningMiddleware.js", "../../../../node_modules/@smithy/core/dist-es/middleware-http-signing/index.js", "../../../../node_modules/@smithy/core/dist-es/normalizeProvider.js", "../../../../node_modules/@smithy/core/dist-es/pagination/createPaginator.js", "../../../../node_modules/@smithy/is-array-buffer/dist-cjs/index.js", "../../../../node_modules/@smithy/util-buffer-from/dist-cjs/index.js", "../../../../node_modules/@smithy/util-base64/dist-cjs/fromBase64.js", "../../../../node_modules/@smithy/util-utf8/dist-cjs/index.js", "../../../../node_modules/@smithy/util-base64/dist-cjs/toBase64.js", "../../../../node_modules/@smithy/util-base64/dist-cjs/index.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/stream-type-check.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/checksum/ChecksumStream.browser.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.browser.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/checksum/createChecksumStream.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/ByteArrayCollector.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/createBufferedReadableStream.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/createBufferedReadable.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.browser.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/getAwsChunkedEncodingStream.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/headStream.browser.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/headStream.js", "../../../../node_modules/@smithy/util-uri-escape/dist-cjs/index.js", "../../../../node_modules/@smithy/querystring-builder/dist-cjs/index.js", "../../../../node_modules/@smithy/node-http-handler/dist-cjs/index.js", "../../../../node_modules/@smithy/fetch-http-handler/dist-cjs/index.js", "../../../../node_modules/@smithy/util-hex-encoding/dist-cjs/index.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.browser.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/sdk-stream-mixin.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/splitStream.browser.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/splitStream.js", "../../../../node_modules/@smithy/util-stream/dist-cjs/index.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/collect-stream-body.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/extended-encode-uri-component.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/deref.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/operation.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaDeserializationMiddleware.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/middleware/schemaSerializationMiddleware.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/middleware/getSchemaSerdePlugin.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/Schema.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/ListSchema.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/MapSchema.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/OperationSchema.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/StructureSchema.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/ErrorSchema.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/translateTraits.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/NormalizedSchema.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/SimpleSchema.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/schemas/sentinels.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/TypeRegistry.js", "../../../../node_modules/@smithy/core/dist-es/submodules/schema/index.js", "../../../../node_modules/@smithy/core/dist-es/submodules/serde/copyDocumentWithTransform.js", "../../../../node_modules/@smithy/core/dist-es/submodules/serde/parse-utils.js", "../../../../node_modules/@smithy/core/dist-es/submodules/serde/date-utils.js", "../../../../node_modules/tslib/tslib.es6.mjs", "../../../../node_modules/@smithy/uuid/dist-cjs/randomUUID.js", "../../../../node_modules/@smithy/uuid/dist-cjs/index.js", "../../../../node_modules/@smithy/core/dist-es/submodules/serde/generateIdempotencyToken.js", "../../../../node_modules/@smithy/core/dist-es/submodules/serde/lazy-json.js", "../../../../node_modules/@smithy/core/dist-es/submodules/serde/quote-header.js", "../../../../node_modules/@smithy/core/dist-es/submodules/serde/schema-serde-lib/schema-date-utils.js", "../../../../node_modules/@smithy/core/dist-es/submodules/serde/split-every.js", "../../../../node_modules/@smithy/core/dist-es/submodules/serde/split-header.js", "../../../../node_modules/@smithy/core/dist-es/submodules/serde/value/NumericValue.js", "../../../../node_modules/@smithy/core/dist-es/submodules/serde/index.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/SerdeContext.js", "../../../../node_modules/@smithy/core/dist-es/submodules/event-streams/EventStreamSerde.js", "../../../../node_modules/@smithy/core/dist-es/submodules/event-streams/index.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/HttpProtocol.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/HttpBindingProtocol.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/RpcProtocol.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/resolve-path.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/requestBuilder.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/determineTimestampFormat.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/FromStringShapeDeserializer.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeDeserializer.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/ToStringShapeSerializer.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/serde/HttpInterceptingShapeSerializer.js", "../../../../node_modules/@smithy/core/dist-es/submodules/protocols/index.js", "../../../../node_modules/@smithy/core/dist-es/request-builder/requestBuilder.js", "../../../../node_modules/@smithy/core/dist-es/setFeature.js", "../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js", "../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpApiKeyAuth.js", "../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/httpBearerAuth.js", "../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/noAuth.js", "../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/httpAuthSchemes/index.js", "../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/memoizeIdentityProvider.js", "../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/index.js", "../../../../node_modules/@smithy/core/dist-es/index.js", "../../../../node_modules/@smithy/util-endpoints/dist-cjs/index.js", "../../../../node_modules/@smithy/querystring-parser/dist-cjs/index.js", "../../../../node_modules/@smithy/url-parser/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/client/emitWarningIfUnsupportedVersion.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/client/setCredentialFeature.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/client/setFeature.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/client/setTokenFeature.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/client/index.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getDateHeader.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getSkewCorrectedDate.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/isClockSkewed.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getUpdatedSystemClockOffset.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/index.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getArrayForCommaSeparatedString.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/utils/getBearerTokenEnvKey.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/NODE_AUTH_SCHEME_PREFERENCE_OPTIONS.js", "../../../../node_modules/@smithy/property-provider/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js", "../../../../node_modules/@smithy/signature-v4/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/index.js", "../../../../node_modules/@smithy/core/dist-es/submodules/cbor/cbor-types.js", "../../../../node_modules/@smithy/core/dist-es/submodules/cbor/cbor-decode.js", "../../../../node_modules/@smithy/core/dist-es/submodules/cbor/cbor-encode.js", "../../../../node_modules/@smithy/core/dist-es/submodules/cbor/cbor.js", "../../../../node_modules/@smithy/core/dist-es/submodules/cbor/parseCborBody.js", "../../../../node_modules/@smithy/core/dist-es/submodules/cbor/CborCodec.js", "../../../../node_modules/@smithy/core/dist-es/submodules/cbor/SmithyRpcV2CborProtocol.js", "../../../../node_modules/@smithy/core/dist-es/submodules/cbor/index.js", "../../../../node_modules/@smithy/middleware-stack/dist-cjs/index.js", "../../../../node_modules/@smithy/smithy-client/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/ProtocolLib.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/cbor/AwsSmithyRpcV2CborProtocol.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/coercing-serializers.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/ConfigurableSerdeContext.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/UnionSerde.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReviver.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/common.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeDeserializer.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/jsonReplacer.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonShapeSerializer.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/JsonCodec.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJsonRpcProtocol.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJson1_0Protocol.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsJson1_1Protocol.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/AwsRestJsonProtocol.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/awsExpectUnion.js", "../../../../node_modules/fast-xml-parser/lib/fxp.cjs", "../../../../node_modules/@aws-sdk/xml-builder/dist-cjs/xml-parser.js", "../../../../node_modules/@aws-sdk/xml-builder/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeDeserializer.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/QueryShapeSerializer.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsQueryProtocol.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/query/AwsEc2QueryProtocol.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/parseXmlBody.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlShapeSerializer.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/XmlCodec.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/xml/AwsRestXmlProtocol.js", "../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/index.js", "../../../../node_modules/@aws-sdk/core/dist-es/index.js", "../../../../node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js", "../../../../node_modules/@smithy/util-config-provider/dist-cjs/index.js", "../../../../node_modules/@smithy/config-resolver/dist-cjs/index.js", "../../../../node_modules/@smithy/middleware-content-length/dist-cjs/index.js", "../../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getHomeDir.js", "../../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFilepath.js", "../../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/getSSOTokenFromFile.js", "../../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/readFile.js", "../../../../node_modules/@smithy/shared-ini-file-loader/dist-cjs/index.js", "../../../../node_modules/@smithy/node-config-provider/dist-cjs/index.js", "../../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointUrlConfig.js", "../../../../node_modules/@smithy/middleware-endpoint/dist-cjs/adaptors/getEndpointFromConfig.js", "../../../../node_modules/@smithy/middleware-endpoint/dist-cjs/index.js", "../../../../node_modules/@smithy/service-error-classification/dist-cjs/index.js", "../../../../node_modules/@smithy/util-retry/dist-cjs/index.js", "../../../../node_modules/@smithy/middleware-retry/dist-cjs/isStreamingPayload/isStreamingPayload.js", "../../../../node_modules/@smithy/middleware-retry/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/client-secrets-manager/dist-cjs/auth/httpAuthSchemeProvider.js", "../../../../node_modules/@aws-sdk/client-secrets-manager/package.json", "../../../../node_modules/@aws-sdk/credential-provider-env/dist-cjs/index.js", "../../../../node_modules/@smithy/credential-provider-imds/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/checkUrl.js", "../../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/requestHelpers.js", "../../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/retry-wrapper.js", "../../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/fromHttp/fromHttp.js", "../../../../node_modules/@aws-sdk/credential-provider-http/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthSchemeProvider.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/EndpointParameters.js", "../../../../node_modules/@aws-sdk/nested-clients/package.json", "../../../../node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js", "../../../../node_modules/@smithy/hash-node/dist-cjs/index.js", "../../../../node_modules/@smithy/util-body-length-node/dist-cjs/index.js", "../../../../node_modules/@smithy/util-defaults-mode-node/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/ruleset.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/endpointResolver.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.shared.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js", "../../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.js", "../../../../node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/auth/httpAuthExtensionConfiguration.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeExtensions.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDCClient.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/SSOOIDCServiceException.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/errors.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/schemas/schemas_0.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/CreateTokenCommand.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDC.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/commands/index.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/enums.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/models/models_0.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/index.js", "../../../../node_modules/@aws-sdk/token-providers/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/client-sso/dist-cjs/auth/httpAuthSchemeProvider.js", "../../../../node_modules/@aws-sdk/client-sso/package.json", "../../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/ruleset.js", "../../../../node_modules/@aws-sdk/client-sso/dist-cjs/endpoint/endpointResolver.js", "../../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.shared.js", "../../../../node_modules/@aws-sdk/client-sso/dist-cjs/runtimeConfig.js", "../../../../node_modules/@aws-sdk/client-sso/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/loadSso-CVy8iqsZ.js", "../../../../node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/auth/httpAuthSchemeProvider.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/EndpointParameters.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/ruleset.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.shared.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/auth/httpAuthExtensionConfiguration.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeExtensions.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/SigninClient.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/SigninServiceException.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/errors.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/schemas/schemas_0.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/CreateOAuth2TokenCommand.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/Signin.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/commands/index.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/enums.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/models/models_0.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/index.js", "../../../../node_modules/@aws-sdk/credential-provider-login/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthSchemeProvider.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/EndpointParameters.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/ruleset.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.shared.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/auth/httpAuthExtensionConfiguration.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/STSServiceException.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/errors.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/schemas/schemas_0.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleCommand.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/AssumeRoleWithWebIdentityCommand.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STS.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/commands/index.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/models/models_0.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultRoleAssumers.js", "../../../../node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/index.js", "../../../../node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromWebToken.js", "../../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/fromTokenFile.js", "../../../../node_modules/@aws-sdk/credential-provider-web-identity/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js", "../../../../node_modules/@aws-sdk/client-secrets-manager/dist-cjs/endpoint/ruleset.js", "../../../../node_modules/@aws-sdk/client-secrets-manager/dist-cjs/endpoint/endpointResolver.js", "../../../../node_modules/@aws-sdk/client-secrets-manager/dist-cjs/runtimeConfig.shared.js", "../../../../node_modules/@aws-sdk/client-secrets-manager/dist-cjs/runtimeConfig.js", "../../../../node_modules/@aws-sdk/client-secrets-manager/dist-cjs/index.js", "../../../shared-auth-config/src/secrets/aws-secrets-provider.ts", "../../../shared-auth-config/src/secrets/local-file-secrets-provider.ts", "../../../shared-auth-config/src/secrets/secrets-provider.ts", "../../../shared-auth-config/src/secrets/index.ts", "../../../shared-auth-config/src/auth-strategy-factory.ts", "../../../shared-auth-config/src/index.ts", "../../src/types.ts", "../../src/logger.ts", "../../src/standalone/config.ts"],
4
- "sourcesContent": ["/**\n * Customer-specific authentication configurations\n *\n * This file contains mappings from hashed customer domains to their Auth0 configurations.\n * Customer domains are hashed using SHA-256 for privacy.\n *\n * To add a new customer:\n * 1. Generate hash: npm run hash-domain -- \"customer.domain.com\"\n * 2. Add entry to customerAuthConfigs with the hash as key\n */\n\nexport interface CustomerAuthConfig {\n /**\n * Auth0 client ID for this customer\n */\n clientId: string;\n\n /**\n * Optional function to produce customer-specific Auth0 domain\n * @param customerDomain - The customer's domain (e.g., \"acme.corp\")\n * @returns Auth0 domain URL (e.g., \"https://dataflint-acme.us.auth0.com/\")\n */\n domainProducer?: (customerDomain: string) => string;\n}\n\n/**\n * Mapping from hashed customer domain to Auth0 configuration\n * Key: SHA-256 hash of customer domain\n * Value: CustomerAuthConfig with clientId and optional domainProducer\n */\nexport const customerAuthConfigs: { [key: string]: CustomerAuthConfig } = {\n // Customer domain hash \u2192 Auth0 configuration\n \"857064adfec4e0e5e37be8afef397155db006bb6009d1b395388d9174eb40795\": {\n clientId: \"CWvpqujjEV2aoRSDVWFSh1U6HQALygB0\",\n domainProducer: (customerDomain) =>\n `https://dataflint-${customerDomain}.us.auth0.com/`,\n },\n\n cafe6e0af028d729afd3c4a386482621af90e8e117b1216f2bbc08e86a5e9445: {\n clientId: \"HRLICLhE0BP4AeZ8dSPAoDHFmMZVacxi\",\n },\n\n \"1613f29ea956158d2ad56a10780feb45d78755819565e76c4bf0d9069d17aab9\": {\n clientId: \"CnyJJKVqes0Y0uU57GreAeaPbJlm4l4w\",\n },\n\n eae8e3404182477f008479b38a6629ee86b23cefe2c418c5dc5c2f0d02af5475: {\n clientId: \"etY3z44ssWohe77PEBIMPzktW4BmvWGT\",\n },\n\n // dataflint-demo (added from commit f38928c)\n cc1677626e05d82b301cc83c22a850eac849555e704f288083108d79f600cea1: {\n clientId: \"u9W23NGvlV58W2N9WXMMhsM12bKK8oGI\",\n },\n};\n", "/**\n * Auth types and interfaces for DataFlint authentication\n *\n * This module defines the core interfaces used across all authentication strategies:\n * - Service Account (M2M token from file)\n * - Auth0 M2M (client credentials grant)\n * - Auth0 User (interactive OAuth2/PKCE flow)\n */\n\n/**\n * Basic authentication configuration for Auth0\n */\nexport interface AuthConfig {\n domain: string;\n clientId: string;\n scope: string;\n audience: string;\n}\n\n/**\n * Result from a successful authentication\n */\nexport interface AuthResult {\n accessToken: string;\n idToken?: string;\n refreshToken?: string;\n expiresAt?: Date;\n userInfo?: unknown;\n}\n\n/**\n * Credentials required for Auth0 M2M (client credentials) authentication\n */\nexport interface Auth0M2MCredentials {\n client_id: string;\n client_secret: string;\n audience: string;\n domain: string;\n}\n\n/**\n * Authentication strategy types\n */\nexport enum AuthStrategyType {\n SERVICE_ACCOUNT = \"service_account\",\n AUTH0_M2M = \"auth0_m2m\",\n AUTH0_USER = \"auth0_user\",\n}\n\n/**\n * M2M authentication mode types\n */\nexport enum M2MType {\n NONE = \"none\",\n SERVICE_ACCOUNT = \"service_account\",\n AUTH0_M2M = \"auth0_m2m\",\n}\n\n/**\n * M2M authentication mode - single source of truth for M2M detection\n */\nexport type M2MMode =\n | { type: M2MType.NONE }\n | { type: M2MType.SERVICE_ACCOUNT; tokenPath: string; tenantId?: string }\n | { type: M2MType.AUTH0_M2M; secretName: string; tenantId?: string };\n\n/**\n * User information returned from authentication\n */\nexport interface AuthUserInfo {\n sub: string;\n name: string;\n tenant_id?: string;\n}\n\n/**\n * Common interface for all authentication strategies\n *\n * Implementations:\n * - ServiceAccountService: Reads JWT from file path\n * - Auth0M2MService: Uses client credentials grant\n * - Auth0Service: Uses interactive OAuth2/PKCE flow\n */\nexport interface IAuthStrategy {\n /**\n * Get the type of this authentication strategy\n */\n getType(): AuthStrategyType;\n\n /**\n * Initialize the authentication strategy (e.g., discover issuer, validate credentials)\n */\n initialize(): Promise<void>;\n\n /**\n * Get a valid access token, refreshing if necessary\n */\n getToken(): Promise<string>;\n\n /**\n * Force refresh the token\n */\n refreshToken(): Promise<void>;\n\n /**\n * Check if currently authenticated with a valid token\n */\n isAuthenticated(): Promise<boolean>;\n\n /**\n * Get user information for the current authentication\n */\n getUserInfo(): Promise<AuthUserInfo>;\n\n /**\n * Get the tenant ID associated with this authentication (if any)\n */\n getTenantId(): string | undefined;\n}\n\n/**\n * Configuration provider interface for authentication\n */\nexport interface IAuthConfigProvider {\n getAuthConfig(): AuthConfig;\n getM2MMode(): M2MMode;\n getTenantId(): string | undefined;\n getEnvironment(): string;\n getServerUrl(): string;\n}\n\n/**\n * Logger interface for authentication services\n */\nexport interface IAuthLogger {\n info(message: string): void;\n warn(message: string): void;\n error(message: string, error?: unknown): void;\n debug(message: string): void;\n}\n\n/**\n * Handler for opening URLs (used for OAuth2 browser-based flow)\n */\nexport type OpenUrlHandler = (url: string) => Promise<void>;\n\n/**\n * Provider function for AuthConfig\n */\nexport type ConfigProvider = () => AuthConfig;\n", "/**\n * Auth0 OAuth2/PKCE Authentication Service\n *\n * Provides interactive browser-based authentication using Auth0 with PKCE flow.\n * This is the primary authentication method for user-facing applications.\n */\n\nimport * as http from \"http\";\nimport { Client, Issuer, generators, custom } from \"openid-client\";\nimport { URL } from \"url\";\nimport {\n AuthConfig,\n AuthResult,\n OpenUrlHandler,\n ConfigProvider,\n IAuthLogger,\n} from \"./types\";\n\nconst AUTH_DISCOVERY_TIMEOUT_MS = 10_000; // 10 seconds\n\ncustom.setHttpOptionsDefaults({\n timeout: AUTH_DISCOVERY_TIMEOUT_MS,\n});\n\n/**\n * Default no-op logger for when no logger is provided\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Auth0 service for interactive OAuth2/PKCE authentication\n *\n * @example\n * ```typescript\n * const auth0Service = new Auth0Service(\n * async (url) => { await open(url); },\n * () => configService.getAuthConfig(),\n * logger\n * );\n *\n * await auth0Service.initialize();\n * const result = await auth0Service.authenticate();\n * console.log('Access Token:', result.accessToken);\n * ```\n */\nexport class Auth0Service {\n private config: AuthConfig;\n private redirectUri: string;\n private callbackPort: number;\n private client: Client | null = null;\n private issuer: Issuer | null = null;\n private initialized = false;\n private openUrlHandler: OpenUrlHandler;\n private logger: IAuthLogger;\n\n constructor(\n openUrlHandler: OpenUrlHandler,\n configProvider: ConfigProvider,\n logger?: IAuthLogger,\n callbackPort: number = 11334\n ) {\n this.logger = logger || noopLogger;\n this.openUrlHandler = openUrlHandler;\n this.config = {\n ...configProvider(),\n scope: configProvider().scope || \"openid profile email\",\n };\n this.callbackPort = callbackPort;\n this.redirectUri = `http://localhost:${callbackPort}/callback`;\n this.logger.info(\n `Auth0Service initialized for domain: ${this.config.domain}`\n );\n }\n\n /**\n * Initialize the Auth0 client by discovering the issuer metadata\n */\n async initialize(): Promise<void> {\n if (this.initialized) {\n this.logger.debug(\"Auth0 client already initialized\");\n return;\n }\n\n try {\n const issuerUrl = this.config.domain.startsWith(\"http\")\n ? this.config.domain\n : `https://${this.config.domain}`;\n\n this.logger.info(\n `Attempting to discover Auth0 issuer at: ${issuerUrl}`\n );\n this.logger.debug(`Discovery URL will be: ${issuerUrl}`);\n\n this.issuer = await Issuer.discover(issuerUrl);\n this.logger.info(\n `Auth0 issuer discovered successfully: ${this.issuer.issuer}`\n );\n\n this.client = new this.issuer.Client({\n client_id: this.config.clientId,\n redirect_uris: [this.redirectUri],\n response_types: [\"code\"],\n token_endpoint_auth_method: \"none\", // Public client, no client secret required\n });\n\n this.initialized = true;\n this.logger.info(\"Auth0 client initialized successfully\");\n } catch (error) {\n this.logger.error(\"Failed to initialize Auth0 client\", error);\n this.logger.error(`Auth0 domain: ${this.config.domain}`);\n this.logger.error(`Client ID: ${this.config.clientId}`);\n this.logger.error(\n `Constructed issuer URL: ${this.config.domain.startsWith(\"http\") ? this.config.domain : `https://${this.config.domain}`}`\n );\n\n // Check if it's a network/discovery error\n if (error instanceof Error) {\n if (\n error.message.includes(\"404\") ||\n error.message.includes(\"Not Found\")\n ) {\n throw new Error(\n `Auth0 domain '${this.config.domain}' not found. Please verify your Auth0 domain configuration. The discovery endpoint ${this.config.domain} returned 404.`\n );\n } else if (\n error.message.includes(\"ENOTFOUND\") ||\n error.message.includes(\"getaddrinfo\")\n ) {\n throw new Error(\n `Cannot connect to Auth0 domain '${this.config.domain}'. Please check your internet connection and verify the domain is correct.`\n );\n }\n }\n\n throw new Error(`Auth0 initialization failed: ${error}`);\n }\n }\n\n /**\n * Start the authentication flow\n */\n async authenticate(): Promise<AuthResult> {\n if (!this.client) {\n await this.initialize();\n }\n\n if (!this.client) {\n throw new Error(\"Auth0 client not initialized\");\n }\n\n // Generate PKCE code verifier/challenge for security\n const codeVerifier = generators.codeVerifier();\n const codeChallenge = generators.codeChallenge(codeVerifier);\n\n // Create the authorization URL\n const authUrl = this.client.authorizationUrl({\n scope: this.config.scope,\n code_challenge: codeChallenge,\n code_challenge_method: \"S256\",\n ...(this.config.audience && { audience: this.config.audience }),\n });\n\n this.logger.info(\"Opening browser for authentication...\");\n\n try {\n await this.openUrlHandler(authUrl);\n } catch (error) {\n this.logger.error(\"Failed to open browser\", error);\n this.logger.info(`Please manually navigate to: ${authUrl}`);\n }\n\n // Wait for the callback and exchange the code for tokens\n return new Promise((resolve, reject) => {\n const server = http.createServer(async (req, res) => {\n try {\n if (!req.url?.startsWith(\"/callback\")) {\n res.writeHead(404, { \"Content-Type\": \"text/plain\" });\n res.end(\"Not Found\");\n return;\n }\n\n const callbackUrl = new URL(\n `http://localhost:${this.callbackPort}${req.url}`\n );\n const params = this.client!.callbackParams(\n callbackUrl.toString()\n );\n\n // Exchange authorization code for tokens\n const tokenSet = await this.client!.callback(\n this.redirectUri,\n params,\n {\n code_verifier: codeVerifier,\n }\n );\n\n const authResult = this.processTokenSet(tokenSet);\n\n // Send success response\n res.writeHead(200, { \"Content-Type\": \"text/html\" });\n res.end(`\n <html>\n <body style=\"font-family: Arial, sans-serif; text-align: center; padding: 50px;\">\n <h2 style=\"color: #4CAF50;\">Authentication Successful!</h2>\n <p>You can now close this tab and return to VS Code/Cursor.</p>\n <script>\n setTimeout(() => {\n window.close();\n }, 3000);\n </script>\n </body>\n </html>\n `);\n\n server.close();\n resolve(authResult);\n } catch (error) {\n this.logger.error(\"Authentication callback error\", error);\n\n // Send error response\n res.writeHead(400, { \"Content-Type\": \"text/html\" });\n res.end(`\n <html>\n <body style=\"font-family: Arial, sans-serif; text-align: center; padding: 50px;\">\n <h2 style=\"color: #f44336;\">Authentication Failed</h2>\n <p>Error: ${error}</p>\n <p>Please try again.</p>\n </body>\n </html>\n `);\n\n server.close();\n reject(error);\n }\n });\n\n server.listen(this.callbackPort, () => {\n this.logger.info(\n `Listening for Auth0 callback on http://localhost:${this.callbackPort}/callback`\n );\n });\n\n // Add timeout to prevent hanging\n setTimeout(() => {\n server.close();\n reject(\n new Error(\n \"Authentication timeout - no response received within 5 minutes\"\n )\n );\n }, 300000); // 5 minutes timeout\n });\n }\n\n /**\n * Get user information using the access token\n */\n async getUserInfo(accessToken: string): Promise<unknown> {\n if (!this.client) {\n throw new Error(\"Auth0 client not initialized\");\n }\n\n try {\n this.logger.info(\"Fetching user information...\");\n\n const userInfo = await this.client.userinfo(accessToken);\n\n this.logger.info(\"User information retrieved successfully\");\n this.logger.debug(`User ID: ${userInfo.sub}`);\n\n return userInfo;\n } catch (error) {\n this.logger.error(\"Failed to get user info\", error);\n throw error;\n }\n }\n\n /**\n * Refresh the access token using refresh token\n */\n async refreshToken(refreshToken: string): Promise<AuthResult> {\n if (!this.client) {\n throw new Error(\"Auth0 client not initialized\");\n }\n\n try {\n this.logger.info(\"Refreshing access token...\");\n\n const tokenSet = await this.client.refresh(refreshToken);\n const result = this.processTokenSet(tokenSet);\n\n this.logger.info(\"Token refresh completed successfully\");\n return result;\n } catch (error) {\n this.logger.error(\"Token refresh failed\", error);\n throw error;\n }\n }\n\n /**\n * Process token set and return structured result\n */\n private processTokenSet(tokenSet: {\n access_token?: string;\n id_token?: string;\n refresh_token?: string;\n expires_at?: number;\n }): AuthResult {\n const result: AuthResult = {\n accessToken: tokenSet.access_token!,\n idToken: tokenSet.id_token,\n refreshToken: tokenSet.refresh_token,\n };\n\n if (tokenSet.expires_at) {\n result.expiresAt = new Date(tokenSet.expires_at * 1000);\n }\n\n this.logger.info(\"Authentication tokens processed successfully\");\n this.logger.debug(\n `Access Token: ${result.accessToken?.substring(0, 20)}...`\n );\n this.logger.debug(\n `ID Token: ${result.idToken ? \"Present\" : \"Not provided\"}`\n );\n this.logger.debug(\n `Refresh Token: ${result.refreshToken ? \"Present\" : \"Not provided\"}`\n );\n this.logger.debug(`Expires At: ${result.expiresAt}`);\n\n return result;\n }\n\n /**\n * Check if a token is expired\n */\n isTokenExpired(authResult: AuthResult): boolean {\n if (!authResult.expiresAt) {\n this.logger.debug(\n \"No expiration time available, considering token valid\"\n );\n return false; // If no expiration time, assume it's still valid\n }\n\n // Ensure expiresAt is a Date object (it might be a string if serialized)\n const expiresAt =\n authResult.expiresAt instanceof Date\n ? authResult.expiresAt\n : new Date(authResult.expiresAt);\n\n const now = new Date();\n const buffer = 5 * 60 * 1000; // 5 minutes buffer\n const isExpired = expiresAt.getTime() - buffer < now.getTime();\n\n if (isExpired) {\n this.logger.warn(\"Access token is expired or will expire soon\");\n } else {\n this.logger.debug(\"Access token is still valid\");\n }\n\n return isExpired;\n }\n\n /**\n * Logout (revoke tokens if supported)\n */\n async logout(accessToken: string): Promise<void> {\n if (!this.client) {\n throw new Error(\"Auth0 client not initialized\");\n }\n\n try {\n await this.client.revoke(accessToken);\n this.logger.info(\"Token revoked successfully\");\n } catch (error) {\n this.logger.error(\"Failed to revoke token\", error);\n // Don't throw error as logout should be graceful\n }\n }\n}\n\n// Re-export AuthResult for convenience\nexport type { AuthResult };\n", "/**\n * Auth0 Machine-to-Machine (M2M) Authentication Service\n *\n * Provides authentication using Auth0's client credentials grant.\n * This is used for server-to-server communication where no user interaction is needed.\n *\n * The service automatically caches tokens and refreshes them before expiration.\n */\n\nimport {\n IAuthStrategy,\n AuthStrategyType,\n AuthUserInfo,\n Auth0M2MCredentials,\n IAuthLogger,\n} from \"./types\";\n\ninterface TokenCacheEntry {\n accessToken: string;\n expiresAt: number;\n}\n\n/**\n * Default no-op logger for when no logger is provided\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Token response from Auth0 client credentials grant\n */\ninterface Auth0TokenResponse {\n access_token: string;\n token_type: string;\n expires_in: number;\n scope?: string;\n}\n\n/**\n * Auth0 M2M authentication strategy using client credentials grant\n *\n * @example\n * ```typescript\n * const credentials: Auth0M2MCredentials = {\n * client_id: 'my-client-id',\n * client_secret: 'my-client-secret',\n * domain: 'https://my-tenant.auth0.com',\n * audience: 'https://api.example.com',\n * };\n *\n * const service = new Auth0M2MService(credentials, 'tenant-123', logger);\n * await service.initialize();\n * const token = await service.getToken();\n * ```\n */\nexport class Auth0M2MService implements IAuthStrategy {\n private credentials: Auth0M2MCredentials;\n private tenantId: string | undefined;\n private tokenCache: TokenCacheEntry | null = null;\n private logger: IAuthLogger;\n private initialized = false;\n\n /**\n * Token expiry buffer in milliseconds (5 minutes)\n * Tokens will be refreshed this long before actual expiration\n */\n private static readonly EXPIRY_BUFFER_MS = 5 * 60 * 1000;\n\n constructor(\n credentials: Auth0M2MCredentials,\n tenantId?: string,\n logger?: IAuthLogger\n ) {\n this.credentials = credentials;\n this.tenantId = tenantId;\n this.logger = logger || noopLogger;\n\n // Security: only log partial client_id\n const clientIdPrefix = credentials.client_id.substring(0, 8);\n this.logger.info(\n `Auth0M2MService created for client: ${clientIdPrefix}...`\n );\n }\n\n /**\n * Get the strategy type identifier\n */\n getType(): AuthStrategyType {\n return AuthStrategyType.AUTH0_M2M;\n }\n\n /**\n * Initialize the M2M service\n * Validates credentials format and performs initial token fetch\n */\n async initialize(): Promise<void> {\n if (this.initialized) {\n this.logger.debug(\"Auth0M2MService already initialized\");\n return;\n }\n\n this.logger.info(\"Initializing Auth0M2MService...\");\n\n // Validate credentials\n if (!this.credentials.client_id || !this.credentials.client_secret) {\n throw new Error(\n \"M2M credentials missing client_id or client_secret\"\n );\n }\n if (!this.credentials.domain) {\n throw new Error(\"M2M credentials missing domain\");\n }\n if (!this.credentials.audience) {\n throw new Error(\"M2M credentials missing audience\");\n }\n\n // Perform initial token fetch to validate credentials\n await this.fetchNewToken();\n\n this.initialized = true;\n this.logger.info(\"Auth0M2MService initialized successfully\");\n }\n\n /**\n * Get a valid access token, fetching a new one if cache is expired\n */\n async getToken(): Promise<string> {\n const now = Date.now();\n\n // Check if we have a valid cached token (with buffer)\n if (\n this.tokenCache &&\n now < this.tokenCache.expiresAt - Auth0M2MService.EXPIRY_BUFFER_MS\n ) {\n this.logger.debug(\"Using cached M2M token\");\n return this.tokenCache.accessToken;\n }\n\n this.logger.info(\n \"M2M token expired or not cached, fetching new token...\"\n );\n await this.fetchNewToken();\n\n return this.tokenCache!.accessToken;\n }\n\n /**\n * Force refresh the token by clearing cache and fetching a new one\n */\n async refreshToken(): Promise<void> {\n this.logger.info(\"Force refreshing M2M token...\");\n this.tokenCache = null;\n await this.fetchNewToken();\n this.logger.info(\"M2M token refreshed\");\n }\n\n /**\n * Check if currently authenticated (credentials are valid)\n */\n async isAuthenticated(): Promise<boolean> {\n try {\n await this.getToken();\n return true;\n } catch {\n return false;\n }\n }\n\n /**\n * Get user information for the M2M client\n * Returns synthetic user info since M2M clients don't have traditional user profiles\n */\n async getUserInfo(): Promise<AuthUserInfo> {\n const clientIdPrefix = this.credentials.client_id.substring(0, 8);\n return {\n sub: `m2m-client-${clientIdPrefix}`,\n name: \"M2M Client\",\n ...(this.tenantId && { tenant_id: this.tenantId }),\n };\n }\n\n /**\n * Get the tenant ID associated with this M2M client\n */\n getTenantId(): string | undefined {\n return this.tenantId;\n }\n\n /**\n * Fetch a new token from Auth0 using client credentials grant\n */\n private async fetchNewToken(): Promise<void> {\n const domain = this.credentials.domain.startsWith(\"http\")\n ? this.credentials.domain\n : `https://${this.credentials.domain}`;\n\n const tokenUrl = `${domain.replace(/\\/$/, \"\")}/oauth/token`;\n\n this.logger.debug(`Fetching M2M token from: ${tokenUrl}`);\n\n const requestBody = {\n grant_type: \"client_credentials\",\n client_id: this.credentials.client_id,\n client_secret: this.credentials.client_secret,\n audience: this.credentials.audience,\n };\n\n try {\n const response = await fetch(tokenUrl, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(requestBody),\n });\n\n if (!response.ok) {\n this.logger.error(\n `M2M token request failed: ${response.status}`\n );\n throw new Error(\n `Auth0 M2M token request failed with status ${response.status}`\n );\n }\n\n const tokenResponse = (await response.json()) as Auth0TokenResponse;\n\n if (!tokenResponse.access_token) {\n throw new Error(\"Auth0 response missing access_token\");\n }\n\n const expiresIn = tokenResponse.expires_in || 3600; // Default to 1 hour\n const expiresAt = Date.now() + expiresIn * 1000;\n\n this.tokenCache = {\n accessToken: tokenResponse.access_token,\n expiresAt,\n };\n\n const expiresInMinutes = Math.floor(expiresIn / 60);\n this.logger.info(\n `M2M token obtained${this.tenantId ? ` for tenant ${this.tenantId}` : \"\"}: expires in ${expiresInMinutes} minutes`\n );\n } catch (error) {\n // Clear cache on error\n this.tokenCache = null;\n\n if (error instanceof Error) {\n this.logger.error(\"Failed to fetch M2M token\", error);\n throw error;\n }\n\n throw new Error(`Failed to fetch M2M token: ${error}`);\n }\n }\n}\n", "/**\n * Service Account Authentication Service\n *\n * Provides authentication using a pre-generated JWT token read from a file.\n * This is typically used for M2M (machine-to-machine) scenarios where a service\n * account token is mounted as a file (e.g., in Kubernetes).\n *\n * The token is expected to be a valid JWT with an 'exp' claim.\n */\n\nimport * as fs from \"fs\";\nimport {\n IAuthStrategy,\n AuthStrategyType,\n AuthUserInfo,\n IAuthLogger,\n} from \"./types\";\n\ninterface TokenCacheEntry {\n token: string;\n expiresAt: number;\n}\n\n/**\n * Default no-op logger for when no logger is provided\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Service Account authentication strategy\n *\n * Reads a JWT token from a file path and manages token caching and expiration.\n *\n * @example\n * ```typescript\n * const service = new ServiceAccountService(\n * '/var/run/secrets/dataflint/token',\n * 'tenant-123',\n * logger\n * );\n *\n * await service.initialize();\n * const token = await service.getToken();\n * ```\n */\nexport class ServiceAccountService implements IAuthStrategy {\n private tokenPath: string;\n private tenantId: string | undefined;\n private tokenCache: TokenCacheEntry | null = null;\n private logger: IAuthLogger;\n\n constructor(tokenPath: string, tenantId?: string, logger?: IAuthLogger) {\n this.tokenPath = tokenPath;\n this.tenantId = tenantId;\n this.logger = logger || noopLogger;\n }\n\n /**\n * Get the strategy type identifier\n */\n getType(): AuthStrategyType {\n return AuthStrategyType.SERVICE_ACCOUNT;\n }\n\n /**\n * Initialize the service account strategy\n * Validates that the token file exists and is readable\n */\n async initialize(): Promise<void> {\n this.logger.info(\n `Initializing ServiceAccountService with token path: ${this.tokenPath}`\n );\n\n if (!fs.existsSync(this.tokenPath)) {\n throw new Error(\n `Service account token file not found: ${this.tokenPath}`\n );\n }\n\n // Pre-load and validate the token\n await this.getToken();\n this.logger.info(\"ServiceAccountService initialized successfully\");\n }\n\n /**\n * Get a valid access token, reading from file if cache is expired\n */\n async getToken(): Promise<string> {\n const now = Date.now();\n\n // Check if we have a valid cached token (with 5-minute buffer)\n const bufferMs = 5 * 60 * 1000;\n if (this.tokenCache && now < this.tokenCache.expiresAt - bufferMs) {\n this.logger.debug(\"Using cached service account token\");\n return this.tokenCache.token;\n }\n\n const rawToken = this.readTokenFromFile();\n this.validateAndCacheToken(rawToken);\n\n return this.tokenCache!.token;\n }\n\n /**\n * Force refresh the token by clearing cache and re-reading from file\n */\n async refreshToken(): Promise<void> {\n this.logger.info(\"Refreshing service account token...\");\n this.tokenCache = null;\n await this.getToken();\n this.logger.info(\"Service account token refreshed\");\n }\n\n /**\n * Check if currently authenticated (token file exists and is valid)\n */\n async isAuthenticated(): Promise<boolean> {\n try {\n await this.getToken();\n return true;\n } catch {\n return false;\n }\n }\n\n /**\n * Get user information for the service account\n * Returns synthetic user info since service accounts don't have traditional user profiles\n */\n async getUserInfo(): Promise<AuthUserInfo> {\n return {\n sub: \"m2m-service-account\",\n name: \"M2M Service Account\",\n ...(this.tenantId && { tenant_id: this.tenantId }),\n };\n }\n\n /**\n * Get the tenant ID associated with this service account\n */\n getTenantId(): string | undefined {\n return this.tenantId;\n }\n\n /**\n * Read the token from the file system\n */\n private readTokenFromFile(): string {\n return fs.readFileSync(this.tokenPath, \"utf8\");\n }\n\n /**\n * Validate the token format and cache it with expiration\n */\n private validateAndCacheToken(rawToken: string): void {\n const token = rawToken.trim();\n\n if (!token) {\n throw new Error(\"Service account token is empty\");\n }\n\n const parts = token.split(\".\");\n if (parts.length !== 3) {\n throw new Error(\n `Invalid JWT format: expected 3 parts, got ${parts.length}`\n );\n }\n\n const expiresAt = this.extractExpiration(token);\n const now = Date.now();\n const expiresIn = Math.floor((expiresAt - now) / 1000);\n\n // Check if token is already expired\n if (expiresAt <= now) {\n throw new Error(\"Service account token is expired\");\n }\n\n this.logger.info(\n `Service account token loaded${this.tenantId ? ` for tenant ${this.tenantId}` : \"\"}: expires in ${expiresIn}s (${new Date(expiresAt).toISOString()})`\n );\n\n this.tokenCache = {\n token,\n expiresAt,\n };\n }\n\n /**\n * Extract expiration time from JWT payload\n */\n private extractExpiration(token: string): number {\n const parts = token.split(\".\");\n\n try {\n const payload = parts[1];\n const decoded = Buffer.from(payload, \"base64url\").toString(\"utf8\");\n const parsed = JSON.parse(decoded);\n\n if (typeof parsed.exp === \"number\") {\n return parsed.exp * 1000;\n }\n\n this.logger.warn(\n \"JWT missing 'exp' field, using fallback expiration\"\n );\n return Date.now() + 300000; // 5 minutes fallback\n } catch (error) {\n this.logger.warn(\n `Failed to parse JWT expiration: ${error}, using fallback expiration`\n );\n return Date.now() + 300000; // 5 minutes fallback\n }\n }\n}\n", "'use strict';\n\nexports.HttpAuthLocation = void 0;\n(function (HttpAuthLocation) {\n HttpAuthLocation[\"HEADER\"] = \"header\";\n HttpAuthLocation[\"QUERY\"] = \"query\";\n})(exports.HttpAuthLocation || (exports.HttpAuthLocation = {}));\n\nexports.HttpApiKeyAuthLocation = void 0;\n(function (HttpApiKeyAuthLocation) {\n HttpApiKeyAuthLocation[\"HEADER\"] = \"header\";\n HttpApiKeyAuthLocation[\"QUERY\"] = \"query\";\n})(exports.HttpApiKeyAuthLocation || (exports.HttpApiKeyAuthLocation = {}));\n\nexports.EndpointURLScheme = void 0;\n(function (EndpointURLScheme) {\n EndpointURLScheme[\"HTTP\"] = \"http\";\n EndpointURLScheme[\"HTTPS\"] = \"https\";\n})(exports.EndpointURLScheme || (exports.EndpointURLScheme = {}));\n\nexports.AlgorithmId = void 0;\n(function (AlgorithmId) {\n AlgorithmId[\"MD5\"] = \"md5\";\n AlgorithmId[\"CRC32\"] = \"crc32\";\n AlgorithmId[\"CRC32C\"] = \"crc32c\";\n AlgorithmId[\"SHA1\"] = \"sha1\";\n AlgorithmId[\"SHA256\"] = \"sha256\";\n})(exports.AlgorithmId || (exports.AlgorithmId = {}));\nconst getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n if (runtimeConfig.sha256 !== undefined) {\n checksumAlgorithms.push({\n algorithmId: () => exports.AlgorithmId.SHA256,\n checksumConstructor: () => runtimeConfig.sha256,\n });\n }\n if (runtimeConfig.md5 != undefined) {\n checksumAlgorithms.push({\n algorithmId: () => exports.AlgorithmId.MD5,\n checksumConstructor: () => runtimeConfig.md5,\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n },\n };\n};\nconst resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n};\n\nconst getDefaultClientConfiguration = (runtimeConfig) => {\n return getChecksumConfiguration(runtimeConfig);\n};\nconst resolveDefaultRuntimeConfig = (config) => {\n return resolveChecksumRuntimeConfig(config);\n};\n\nexports.FieldPosition = void 0;\n(function (FieldPosition) {\n FieldPosition[FieldPosition[\"HEADER\"] = 0] = \"HEADER\";\n FieldPosition[FieldPosition[\"TRAILER\"] = 1] = \"TRAILER\";\n})(exports.FieldPosition || (exports.FieldPosition = {}));\n\nconst SMITHY_CONTEXT_KEY = \"__smithy_context\";\n\nexports.IniSectionType = void 0;\n(function (IniSectionType) {\n IniSectionType[\"PROFILE\"] = \"profile\";\n IniSectionType[\"SSO_SESSION\"] = \"sso-session\";\n IniSectionType[\"SERVICES\"] = \"services\";\n})(exports.IniSectionType || (exports.IniSectionType = {}));\n\nexports.RequestHandlerProtocol = void 0;\n(function (RequestHandlerProtocol) {\n RequestHandlerProtocol[\"HTTP_0_9\"] = \"http/0.9\";\n RequestHandlerProtocol[\"HTTP_1_0\"] = \"http/1.0\";\n RequestHandlerProtocol[\"TDS_8_0\"] = \"tds/8.0\";\n})(exports.RequestHandlerProtocol || (exports.RequestHandlerProtocol = {}));\n\nexports.SMITHY_CONTEXT_KEY = SMITHY_CONTEXT_KEY;\nexports.getDefaultClientConfiguration = getDefaultClientConfiguration;\nexports.resolveDefaultRuntimeConfig = resolveDefaultRuntimeConfig;\n", "'use strict';\n\nvar types = require('@smithy/types');\n\nconst getHttpHandlerExtensionConfiguration = (runtimeConfig) => {\n return {\n setHttpHandler(handler) {\n runtimeConfig.httpHandler = handler;\n },\n httpHandler() {\n return runtimeConfig.httpHandler;\n },\n updateHttpClientConfig(key, value) {\n runtimeConfig.httpHandler?.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return runtimeConfig.httpHandler.httpHandlerConfigs();\n },\n };\n};\nconst resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {\n return {\n httpHandler: httpHandlerExtensionConfiguration.httpHandler(),\n };\n};\n\nclass Field {\n name;\n kind;\n values;\n constructor({ name, kind = types.FieldPosition.HEADER, values = [] }) {\n this.name = name;\n this.kind = kind;\n this.values = values;\n }\n add(value) {\n this.values.push(value);\n }\n set(values) {\n this.values = values;\n }\n remove(value) {\n this.values = this.values.filter((v) => v !== value);\n }\n toString() {\n return this.values.map((v) => (v.includes(\",\") || v.includes(\" \") ? `\"${v}\"` : v)).join(\", \");\n }\n get() {\n return this.values;\n }\n}\n\nclass Fields {\n entries = {};\n encoding;\n constructor({ fields = [], encoding = \"utf-8\" }) {\n fields.forEach(this.setField.bind(this));\n this.encoding = encoding;\n }\n setField(field) {\n this.entries[field.name.toLowerCase()] = field;\n }\n getField(name) {\n return this.entries[name.toLowerCase()];\n }\n removeField(name) {\n delete this.entries[name.toLowerCase()];\n }\n getByType(kind) {\n return Object.values(this.entries).filter((field) => field.kind === kind);\n }\n}\n\nclass HttpRequest {\n method;\n protocol;\n hostname;\n port;\n path;\n query;\n headers;\n username;\n password;\n fragment;\n body;\n constructor(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.slice(-1) !== \":\"\n ? `${options.protocol}:`\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? `/${options.path}` : options.path) : \"/\";\n this.username = options.username;\n this.password = options.password;\n this.fragment = options.fragment;\n }\n static clone(request) {\n const cloned = new HttpRequest({\n ...request,\n headers: { ...request.headers },\n });\n if (cloned.query) {\n cloned.query = cloneQuery(cloned.query);\n }\n return cloned;\n }\n static isInstance(request) {\n if (!request) {\n return false;\n }\n const req = request;\n return (\"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\");\n }\n clone() {\n return HttpRequest.clone(this);\n }\n}\nfunction cloneQuery(query) {\n return Object.keys(query).reduce((carry, paramName) => {\n const param = query[paramName];\n return {\n ...carry,\n [paramName]: Array.isArray(param) ? [...param] : param,\n };\n }, {});\n}\n\nclass HttpResponse {\n statusCode;\n reason;\n headers;\n body;\n constructor(options) {\n this.statusCode = options.statusCode;\n this.reason = options.reason;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n static isInstance(response) {\n if (!response)\n return false;\n const resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n }\n}\n\nfunction isValidHostname(hostname) {\n const hostPattern = /^[a-z0-9][a-z0-9\\.\\-]*[a-z0-9]$/;\n return hostPattern.test(hostname);\n}\n\nexports.Field = Field;\nexports.Fields = Fields;\nexports.HttpRequest = HttpRequest;\nexports.HttpResponse = HttpResponse;\nexports.getHttpHandlerExtensionConfiguration = getHttpHandlerExtensionConfiguration;\nexports.isValidHostname = isValidHostname;\nexports.resolveHttpHandlerRuntimeConfig = resolveHttpHandlerRuntimeConfig;\n", "'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\n\nfunction resolveHostHeaderConfig(input) {\n return input;\n}\nconst hostHeaderMiddleware = (options) => (next) => async (args) => {\n if (!protocolHttp.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};\nconst hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\nconst getHostHeaderPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n },\n});\n\nexports.getHostHeaderPlugin = getHostHeaderPlugin;\nexports.hostHeaderMiddleware = hostHeaderMiddleware;\nexports.hostHeaderMiddlewareOptions = hostHeaderMiddlewareOptions;\nexports.resolveHostHeaderConfig = resolveHostHeaderConfig;\n", "'use strict';\n\nconst 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};\nconst loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\nconst getLoggerPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n});\n\nexports.getLoggerPlugin = getLoggerPlugin;\nexports.loggerMiddleware = loggerMiddleware;\nexports.loggerMiddlewareOptions = loggerMiddlewareOptions;\n", "const PROTECTED_KEYS = {\n REQUEST_ID: Symbol.for(\"_AWS_LAMBDA_REQUEST_ID\"),\n X_RAY_TRACE_ID: Symbol.for(\"_AWS_LAMBDA_X_RAY_TRACE_ID\"),\n TENANT_ID: Symbol.for(\"_AWS_LAMBDA_TENANT_ID\"),\n};\nconst NO_GLOBAL_AWS_LAMBDA = [\"true\", \"1\"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA ?? \"\");\nif (!NO_GLOBAL_AWS_LAMBDA) {\n globalThis.awslambda = globalThis.awslambda || {};\n}\nclass InvokeStoreBase {\n static PROTECTED_KEYS = PROTECTED_KEYS;\n isProtectedKey(key) {\n return Object.values(PROTECTED_KEYS).includes(key);\n }\n getRequestId() {\n return this.get(PROTECTED_KEYS.REQUEST_ID) ?? \"-\";\n }\n getXRayTraceId() {\n return this.get(PROTECTED_KEYS.X_RAY_TRACE_ID);\n }\n getTenantId() {\n return this.get(PROTECTED_KEYS.TENANT_ID);\n }\n}\nclass InvokeStoreSingle extends InvokeStoreBase {\n currentContext;\n getContext() {\n return this.currentContext;\n }\n hasContext() {\n return this.currentContext !== undefined;\n }\n get(key) {\n return this.currentContext?.[key];\n }\n set(key, value) {\n if (this.isProtectedKey(key)) {\n throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);\n }\n this.currentContext = this.currentContext || {};\n this.currentContext[key] = value;\n }\n run(context, fn) {\n this.currentContext = context;\n return fn();\n }\n}\nclass InvokeStoreMulti extends InvokeStoreBase {\n als;\n static async create() {\n const instance = new InvokeStoreMulti();\n const asyncHooks = await import('node:async_hooks');\n instance.als = new asyncHooks.AsyncLocalStorage();\n return instance;\n }\n getContext() {\n return this.als.getStore();\n }\n hasContext() {\n return this.als.getStore() !== undefined;\n }\n get(key) {\n return this.als.getStore()?.[key];\n }\n set(key, value) {\n if (this.isProtectedKey(key)) {\n throw new Error(`Cannot modify protected Lambda context field: ${String(key)}`);\n }\n const store = this.als.getStore();\n if (!store) {\n throw new Error(\"No context available\");\n }\n store[key] = value;\n }\n run(context, fn) {\n return this.als.run(context, fn);\n }\n}\nvar InvokeStore;\n(function (InvokeStore) {\n let instance = null;\n async function getInstanceAsync() {\n if (!instance) {\n instance = (async () => {\n const isMulti = \"AWS_LAMBDA_MAX_CONCURRENCY\" in process.env;\n const newInstance = isMulti\n ? await InvokeStoreMulti.create()\n : new InvokeStoreSingle();\n if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda?.InvokeStore) {\n return globalThis.awslambda.InvokeStore;\n }\n else if (!NO_GLOBAL_AWS_LAMBDA && globalThis.awslambda) {\n globalThis.awslambda.InvokeStore = newInstance;\n return newInstance;\n }\n else {\n return newInstance;\n }\n })();\n }\n return instance;\n }\n InvokeStore.getInstanceAsync = getInstanceAsync;\n InvokeStore._testing = process.env.AWS_LAMBDA_BENCHMARK_MODE === \"1\"\n ? {\n reset: () => {\n instance = null;\n if (globalThis.awslambda?.InvokeStore) {\n delete globalThis.awslambda.InvokeStore;\n }\n globalThis.awslambda = { InvokeStore: undefined };\n },\n }\n : undefined;\n})(InvokeStore || (InvokeStore = {}));\n\nexport { InvokeStore, InvokeStoreBase };\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.recursionDetectionMiddleware = void 0;\nconst lambda_invoke_store_1 = require(\"@aws/lambda-invoke-store\");\nconst protocol_http_1 = require(\"@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\";\nconst recursionDetectionMiddleware = () => (next) => async (args) => {\n const { request } = args;\n if (!protocol_http_1.HttpRequest.isInstance(request)) {\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 traceIdFromEnv = process.env[ENV_TRACE_ID];\n const invokeStore = await lambda_invoke_store_1.InvokeStore.getInstanceAsync();\n const traceIdFromInvokeStore = invokeStore?.getXRayTraceId();\n const traceId = traceIdFromInvokeStore ?? traceIdFromEnv;\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};\nexports.recursionDetectionMiddleware = recursionDetectionMiddleware;\n", "'use strict';\n\nvar recursionDetectionMiddleware = require('./recursionDetectionMiddleware');\n\nconst recursionDetectionMiddlewareOptions = {\n step: \"build\",\n tags: [\"RECURSION_DETECTION\"],\n name: \"recursionDetectionMiddleware\",\n override: true,\n priority: \"low\",\n};\n\nconst getRecursionDetectionPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(recursionDetectionMiddleware.recursionDetectionMiddleware(), recursionDetectionMiddlewareOptions);\n },\n});\n\nexports.getRecursionDetectionPlugin = getRecursionDetectionPlugin;\nObject.keys(recursionDetectionMiddleware).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return recursionDetectionMiddleware[k]; }\n });\n});\n", "import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n", "'use strict';\n\nvar types = require('@smithy/types');\n\nconst getSmithyContext = (context) => context[types.SMITHY_CONTEXT_KEY] || (context[types.SMITHY_CONTEXT_KEY] = {});\n\nconst normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n\nexports.getSmithyContext = getSmithyContext;\nexports.normalizeProvider = normalizeProvider;\n", "export const resolveAuthOptions = (candidateAuthOptions, authSchemePreference) => {\n if (!authSchemePreference || authSchemePreference.length === 0) {\n return candidateAuthOptions;\n }\n const preferredAuthOptions = [];\n for (const preferredSchemeName of authSchemePreference) {\n for (const candidateAuthOption of candidateAuthOptions) {\n const candidateAuthSchemeName = candidateAuthOption.schemeId.split(\"#\")[1];\n if (candidateAuthSchemeName === preferredSchemeName) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n }\n for (const candidateAuthOption of candidateAuthOptions) {\n if (!preferredAuthOptions.find(({ schemeId }) => schemeId === candidateAuthOption.schemeId)) {\n preferredAuthOptions.push(candidateAuthOption);\n }\n }\n return preferredAuthOptions;\n};\n", "import { getSmithyContext } from \"@smithy/util-middleware\";\nimport { resolveAuthOptions } from \"./resolveAuthOptions\";\nfunction convertHttpAuthSchemesToMap(httpAuthSchemes) {\n const map = new Map();\n for (const scheme of httpAuthSchemes) {\n map.set(scheme.schemeId, scheme);\n }\n return map;\n}\nexport const httpAuthSchemeMiddleware = (config, mwOptions) => (next, context) => async (args) => {\n const options = config.httpAuthSchemeProvider(await mwOptions.httpAuthSchemeParametersProvider(config, context, args.input));\n const authSchemePreference = config.authSchemePreference ? await config.authSchemePreference() : [];\n const resolvedOptions = resolveAuthOptions(options, authSchemePreference);\n const authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes);\n const smithyContext = getSmithyContext(context);\n const failureReasons = [];\n for (const option of resolvedOptions) {\n const scheme = authSchemes.get(option.schemeId);\n if (!scheme) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` was not enabled for this service.`);\n continue;\n }\n const identityProvider = scheme.identityProvider(await mwOptions.identityProviderConfigProvider(config));\n if (!identityProvider) {\n failureReasons.push(`HttpAuthScheme \\`${option.schemeId}\\` did not have an IdentityProvider configured.`);\n continue;\n }\n const { identityProperties = {}, signingProperties = {} } = option.propertiesExtractor?.(config, context) || {};\n option.identityProperties = Object.assign(option.identityProperties || {}, identityProperties);\n option.signingProperties = Object.assign(option.signingProperties || {}, signingProperties);\n smithyContext.selectedHttpAuthScheme = {\n httpAuthOption: option,\n identity: await identityProvider(option.identityProperties),\n signer: scheme.signer,\n };\n break;\n }\n if (!smithyContext.selectedHttpAuthScheme) {\n throw new Error(failureReasons.join(\"\\n\"));\n }\n return next(args);\n};\n", "import { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeEndpointRuleSetMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: \"endpointV2Middleware\",\n};\nexport const getHttpAuthSchemeEndpointRuleSetPlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeEndpointRuleSetMiddlewareOptions);\n },\n});\n", "'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\n\nconst 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 enumerable: false,\n writable: false,\n configurable: false,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (protocolHttp.HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 0])[1];\n};\n\nconst serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\n const endpointConfig = options;\n const endpoint = context.endpointV2?.url && endpointConfig.urlParser\n ? async () => endpointConfig.urlParser(context.endpointV2.url)\n : endpointConfig.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request,\n });\n};\n\nconst deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nconst serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nfunction 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\nexports.deserializerMiddleware = deserializerMiddleware;\nexports.deserializerMiddlewareOption = deserializerMiddlewareOption;\nexports.getSerdePlugin = getSerdePlugin;\nexports.serializerMiddleware = serializerMiddleware;\nexports.serializerMiddlewareOption = serializerMiddlewareOption;\n", "import { serializerMiddlewareOption } from \"@smithy/middleware-serde\";\nimport { httpAuthSchemeMiddleware } from \"./httpAuthSchemeMiddleware\";\nexport const httpAuthSchemeMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"HTTP_AUTH_SCHEME\"],\n name: \"httpAuthSchemeMiddleware\",\n override: true,\n relation: \"before\",\n toMiddleware: serializerMiddlewareOption.name,\n};\nexport const getHttpAuthSchemePlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeMiddlewareOptions);\n },\n});\n", "export * from \"./httpAuthSchemeMiddleware\";\nexport * from \"./getHttpAuthSchemeEndpointRuleSetPlugin\";\nexport * from \"./getHttpAuthSchemePlugin\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const httpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n const output = await next({\n ...args,\n request: await signer.sign(args.request, identity, signingProperties),\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\n", "import { httpSigningMiddleware } from \"./httpSigningMiddleware\";\nexport const httpSigningMiddlewareOptions = {\n step: \"finalizeRequest\",\n tags: [\"HTTP_SIGNING\"],\n name: \"httpSigningMiddleware\",\n aliases: [\"apiKeyMiddleware\", \"tokenMiddleware\", \"awsAuthMiddleware\"],\n override: true,\n relation: \"after\",\n toMiddleware: \"retryMiddleware\",\n};\nexport const getHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n", "export * from \"./httpSigningMiddleware\";\nexport * from \"./getHttpSigningMiddleware\";\n", "export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n", "const makePagedClientRequest = async (CommandCtor, client, input, withCommand = (_) => _, ...args) => {\n let command = new CommandCtor(input);\n command = withCommand(command) ?? command;\n return await client.send(command, ...args);\n};\nexport function createPaginator(ClientCtor, CommandCtor, inputTokenName, outputTokenName, pageSizeTokenName) {\n return async function* paginateOperation(config, input, ...additionalArguments) {\n const _input = input;\n let token = config.startingToken ?? _input[inputTokenName];\n let hasNext = true;\n let page;\n while (hasNext) {\n _input[inputTokenName] = token;\n if (pageSizeTokenName) {\n _input[pageSizeTokenName] = _input[pageSizeTokenName] ?? config.pageSize;\n }\n if (config.client instanceof ClientCtor) {\n page = await makePagedClientRequest(CommandCtor, config.client, input, config.withCommand, ...additionalArguments);\n }\n else {\n throw new Error(`Invalid client, expected instance of ${ClientCtor.name}`);\n }\n yield page;\n const prevToken = token;\n token = get(page, outputTokenName);\n hasNext = !!(token && (!config.stopOnSameToken || token !== prevToken));\n }\n return undefined;\n };\n}\nconst get = (fromObject, path) => {\n let cursor = fromObject;\n const pathComponents = path.split(\".\");\n for (const step of pathComponents) {\n if (!cursor || typeof cursor !== \"object\") {\n return undefined;\n }\n cursor = cursor[step];\n }\n return cursor;\n};\n", "'use strict';\n\nconst isArrayBuffer = (arg) => (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n\nexports.isArrayBuffer = isArrayBuffer;\n", "'use strict';\n\nvar isArrayBuffer = require('@smithy/is-array-buffer');\nvar buffer = require('buffer');\n\nconst fromArrayBuffer = (input, offset = 0, length = input.byteLength - offset) => {\n if (!isArrayBuffer.isArrayBuffer(input)) {\n throw new TypeError(`The \"input\" argument must be ArrayBuffer. Received type ${typeof input} (${input})`);\n }\n return buffer.Buffer.from(input, offset, length);\n};\nconst fromString = (input, encoding) => {\n if (typeof input !== \"string\") {\n throw new TypeError(`The \"input\" argument must be of type string. Received type ${typeof input} (${input})`);\n }\n return encoding ? buffer.Buffer.from(input, encoding) : buffer.Buffer.from(input);\n};\n\nexports.fromArrayBuffer = fromArrayBuffer;\nexports.fromString = fromString;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromBase64 = void 0;\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst BASE64_REGEX = /^[A-Za-z0-9+/]*={0,2}$/;\nconst fromBase64 = (input) => {\n if ((input.length * 3) % 4 !== 0) {\n throw new TypeError(`Incorrect padding on base64 string.`);\n }\n if (!BASE64_REGEX.exec(input)) {\n throw new TypeError(`Invalid base64 string.`);\n }\n const buffer = (0, util_buffer_from_1.fromString)(input, \"base64\");\n return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);\n};\nexports.fromBase64 = fromBase64;\n", "'use strict';\n\nvar utilBufferFrom = require('@smithy/util-buffer-from');\n\nconst fromUtf8 = (input) => {\n const buf = utilBufferFrom.fromString(input, \"utf8\");\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n};\n\nconst toUint8Array = (data) => {\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n};\n\nconst toUtf8 = (input) => {\n if (typeof input === \"string\") {\n return input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-utf8: toUtf8 encoder function only accepts string | Uint8Array.\");\n }\n return utilBufferFrom.fromArrayBuffer(input.buffer, input.byteOffset, input.byteLength).toString(\"utf8\");\n};\n\nexports.fromUtf8 = fromUtf8;\nexports.toUint8Array = toUint8Array;\nexports.toUtf8 = toUtf8;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toBase64 = void 0;\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst toBase64 = (_input) => {\n let input;\n if (typeof _input === \"string\") {\n input = (0, util_utf8_1.fromUtf8)(_input);\n }\n else {\n input = _input;\n }\n if (typeof input !== \"object\" || typeof input.byteOffset !== \"number\" || typeof input.byteLength !== \"number\") {\n throw new Error(\"@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.\");\n }\n return (0, util_buffer_from_1.fromArrayBuffer)(input.buffer, input.byteOffset, input.byteLength).toString(\"base64\");\n};\nexports.toBase64 = toBase64;\n", "'use strict';\n\nvar fromBase64 = require('./fromBase64');\nvar toBase64 = require('./toBase64');\n\n\n\nObject.keys(fromBase64).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return fromBase64[k]; }\n\t});\n});\nObject.keys(toBase64).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return toBase64[k]; }\n\t});\n});\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStream = void 0;\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst stream_1 = require(\"stream\");\nclass ChecksumStream extends stream_1.Duplex {\n expectedChecksum;\n checksumSourceLocation;\n checksum;\n source;\n base64Encoder;\n constructor({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) {\n super();\n if (typeof source.pipe === \"function\") {\n this.source = source;\n }\n else {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n this.base64Encoder = base64Encoder ?? util_base64_1.toBase64;\n this.expectedChecksum = expectedChecksum;\n this.checksum = checksum;\n this.checksumSourceLocation = checksumSourceLocation;\n this.source.pipe(this);\n }\n _read(size) { }\n _write(chunk, encoding, callback) {\n try {\n this.checksum.update(chunk);\n this.push(chunk);\n }\n catch (e) {\n return callback(e);\n }\n return callback();\n }\n async _final(callback) {\n try {\n const digest = await this.checksum.digest();\n const received = this.base64Encoder(digest);\n if (this.expectedChecksum !== received) {\n return callback(new Error(`Checksum mismatch: expected \"${this.expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${this.checksumSourceLocation}\".`));\n }\n }\n catch (e) {\n return callback(e);\n }\n this.push(null);\n return callback();\n }\n}\nexports.ChecksumStream = ChecksumStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isBlob = exports.isReadableStream = void 0;\nconst isReadableStream = (stream) => typeof ReadableStream === \"function\" &&\n (stream?.constructor?.name === ReadableStream.name || stream instanceof ReadableStream);\nexports.isReadableStream = isReadableStream;\nconst isBlob = (blob) => {\n return typeof Blob === \"function\" && (blob?.constructor?.name === Blob.name || blob instanceof Blob);\n};\nexports.isBlob = isBlob;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChecksumStream = void 0;\nconst ReadableStreamRef = typeof ReadableStream === \"function\" ? ReadableStream : function () { };\nclass ChecksumStream extends ReadableStreamRef {\n}\nexports.ChecksumStream = ChecksumStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createChecksumStream = void 0;\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst stream_type_check_1 = require(\"../stream-type-check\");\nconst ChecksumStream_browser_1 = require(\"./ChecksumStream.browser\");\nconst createChecksumStream = ({ expectedChecksum, checksum, source, checksumSourceLocation, base64Encoder, }) => {\n if (!(0, stream_type_check_1.isReadableStream)(source)) {\n throw new Error(`@smithy/util-stream: unsupported source type ${source?.constructor?.name ?? source} in ChecksumStream.`);\n }\n const encoder = base64Encoder ?? util_base64_1.toBase64;\n if (typeof TransformStream !== \"function\") {\n throw new Error(\"@smithy/util-stream: unable to instantiate ChecksumStream because API unavailable: ReadableStream/TransformStream.\");\n }\n const transform = new TransformStream({\n start() { },\n async transform(chunk, controller) {\n checksum.update(chunk);\n controller.enqueue(chunk);\n },\n async flush(controller) {\n const digest = await checksum.digest();\n const received = encoder(digest);\n if (expectedChecksum !== received) {\n const error = new Error(`Checksum mismatch: expected \"${expectedChecksum}\" but received \"${received}\"` +\n ` in response header \"${checksumSourceLocation}\".`);\n controller.error(error);\n }\n else {\n controller.terminate();\n }\n },\n });\n source.pipeThrough(transform);\n const readable = transform.readable;\n Object.setPrototypeOf(readable, ChecksumStream_browser_1.ChecksumStream.prototype);\n return readable;\n};\nexports.createChecksumStream = createChecksumStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createChecksumStream = createChecksumStream;\nconst stream_type_check_1 = require(\"../stream-type-check\");\nconst ChecksumStream_1 = require(\"./ChecksumStream\");\nconst createChecksumStream_browser_1 = require(\"./createChecksumStream.browser\");\nfunction createChecksumStream(init) {\n if (typeof ReadableStream === \"function\" && (0, stream_type_check_1.isReadableStream)(init.source)) {\n return (0, createChecksumStream_browser_1.createChecksumStream)(init);\n }\n return new ChecksumStream_1.ChecksumStream(init);\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ByteArrayCollector = void 0;\nclass ByteArrayCollector {\n allocByteArray;\n byteLength = 0;\n byteArrays = [];\n constructor(allocByteArray) {\n this.allocByteArray = allocByteArray;\n }\n push(byteArray) {\n this.byteArrays.push(byteArray);\n this.byteLength += byteArray.byteLength;\n }\n flush() {\n if (this.byteArrays.length === 1) {\n const bytes = this.byteArrays[0];\n this.reset();\n return bytes;\n }\n const aggregation = this.allocByteArray(this.byteLength);\n let cursor = 0;\n for (let i = 0; i < this.byteArrays.length; ++i) {\n const bytes = this.byteArrays[i];\n aggregation.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n this.reset();\n return aggregation;\n }\n reset() {\n this.byteArrays = [];\n this.byteLength = 0;\n }\n}\nexports.ByteArrayCollector = ByteArrayCollector;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBufferedReadable = void 0;\nexports.createBufferedReadableStream = createBufferedReadableStream;\nexports.merge = merge;\nexports.flush = flush;\nexports.sizeOf = sizeOf;\nexports.modeOf = modeOf;\nconst ByteArrayCollector_1 = require(\"./ByteArrayCollector\");\nfunction createBufferedReadableStream(upstream, size, logger) {\n const reader = upstream.getReader();\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\"\", new ByteArrayCollector_1.ByteArrayCollector((size) => new Uint8Array(size))];\n let mode = -1;\n const pull = async (controller) => {\n const { value, done } = await reader.read();\n const chunk = value;\n if (done) {\n if (mode !== -1) {\n const remainder = flush(buffers, mode);\n if (sizeOf(remainder) > 0) {\n controller.enqueue(remainder);\n }\n }\n controller.close();\n }\n else {\n const chunkMode = modeOf(chunk, false);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n controller.enqueue(flush(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n controller.enqueue(chunk);\n return;\n }\n const chunkSize = sizeOf(chunk);\n bytesSeen += chunkSize;\n const bufferSize = sizeOf(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n controller.enqueue(chunk);\n }\n else {\n const newSize = merge(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n controller.enqueue(flush(buffers, mode));\n }\n else {\n await pull(controller);\n }\n }\n }\n };\n return new ReadableStream({\n pull,\n });\n}\nexports.createBufferedReadable = createBufferedReadableStream;\nfunction merge(buffers, mode, chunk) {\n switch (mode) {\n case 0:\n buffers[0] += chunk;\n return sizeOf(buffers[0]);\n case 1:\n case 2:\n buffers[mode].push(chunk);\n return sizeOf(buffers[mode]);\n }\n}\nfunction flush(buffers, mode) {\n switch (mode) {\n case 0:\n const s = buffers[0];\n buffers[0] = \"\";\n return s;\n case 1:\n case 2:\n return buffers[mode].flush();\n }\n throw new Error(`@smithy/util-stream - invalid index ${mode} given to flush()`);\n}\nfunction sizeOf(chunk) {\n return chunk?.byteLength ?? chunk?.length ?? 0;\n}\nfunction modeOf(chunk, allowBuffer = true) {\n if (allowBuffer && typeof Buffer !== \"undefined\" && chunk instanceof Buffer) {\n return 2;\n }\n if (chunk instanceof Uint8Array) {\n return 1;\n }\n if (typeof chunk === \"string\") {\n return 0;\n }\n return -1;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createBufferedReadable = createBufferedReadable;\nconst node_stream_1 = require(\"node:stream\");\nconst ByteArrayCollector_1 = require(\"./ByteArrayCollector\");\nconst createBufferedReadableStream_1 = require(\"./createBufferedReadableStream\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nfunction createBufferedReadable(upstream, size, logger) {\n if ((0, stream_type_check_1.isReadableStream)(upstream)) {\n return (0, createBufferedReadableStream_1.createBufferedReadableStream)(upstream, size, logger);\n }\n const downstream = new node_stream_1.Readable({ read() { } });\n let streamBufferingLoggedWarning = false;\n let bytesSeen = 0;\n const buffers = [\n \"\",\n new ByteArrayCollector_1.ByteArrayCollector((size) => new Uint8Array(size)),\n new ByteArrayCollector_1.ByteArrayCollector((size) => Buffer.from(new Uint8Array(size))),\n ];\n let mode = -1;\n upstream.on(\"data\", (chunk) => {\n const chunkMode = (0, createBufferedReadableStream_1.modeOf)(chunk, true);\n if (mode !== chunkMode) {\n if (mode >= 0) {\n downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));\n }\n mode = chunkMode;\n }\n if (mode === -1) {\n downstream.push(chunk);\n return;\n }\n const chunkSize = (0, createBufferedReadableStream_1.sizeOf)(chunk);\n bytesSeen += chunkSize;\n const bufferSize = (0, createBufferedReadableStream_1.sizeOf)(buffers[mode]);\n if (chunkSize >= size && bufferSize === 0) {\n downstream.push(chunk);\n }\n else {\n const newSize = (0, createBufferedReadableStream_1.merge)(buffers, mode, chunk);\n if (!streamBufferingLoggedWarning && bytesSeen > size * 2) {\n streamBufferingLoggedWarning = true;\n logger?.warn(`@smithy/util-stream - stream chunk size ${chunkSize} is below threshold of ${size}, automatically buffering.`);\n }\n if (newSize >= size) {\n downstream.push((0, createBufferedReadableStream_1.flush)(buffers, mode));\n }\n }\n });\n upstream.on(\"end\", () => {\n if (mode !== -1) {\n const remainder = (0, createBufferedReadableStream_1.flush)(buffers, mode);\n if ((0, createBufferedReadableStream_1.sizeOf)(remainder) > 0) {\n downstream.push(remainder);\n }\n }\n downstream.push(null);\n });\n return downstream;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAwsChunkedEncodingStream = void 0;\nconst getAwsChunkedEncodingStream = (readableStream, options) => {\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n bodyLengthChecker !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readableStream) : undefined;\n const reader = readableStream.getReader();\n return new ReadableStream({\n async pull(controller) {\n const { value, done } = await reader.read();\n if (done) {\n controller.enqueue(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n controller.enqueue(`${checksumLocationName}:${checksum}\\r\\n`);\n controller.enqueue(`\\r\\n`);\n }\n controller.close();\n }\n else {\n controller.enqueue(`${(bodyLengthChecker(value) || 0).toString(16)}\\r\\n${value}\\r\\n`);\n }\n },\n });\n};\nexports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getAwsChunkedEncodingStream = getAwsChunkedEncodingStream;\nconst node_stream_1 = require(\"node:stream\");\nconst getAwsChunkedEncodingStream_browser_1 = require(\"./getAwsChunkedEncodingStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nfunction getAwsChunkedEncodingStream(stream, options) {\n const readable = stream;\n const readableStream = stream;\n if ((0, stream_type_check_1.isReadableStream)(readableStream)) {\n return (0, getAwsChunkedEncodingStream_browser_1.getAwsChunkedEncodingStream)(readableStream, options);\n }\n const { base64Encoder, bodyLengthChecker, checksumAlgorithmFn, checksumLocationName, streamHasher } = options;\n const checksumRequired = base64Encoder !== undefined &&\n checksumAlgorithmFn !== undefined &&\n checksumLocationName !== undefined &&\n streamHasher !== undefined;\n const digest = checksumRequired ? streamHasher(checksumAlgorithmFn, readable) : undefined;\n const awsChunkedEncodingStream = new node_stream_1.Readable({\n read: () => { },\n });\n readable.on(\"data\", (data) => {\n const length = bodyLengthChecker(data) || 0;\n if (length === 0) {\n return;\n }\n awsChunkedEncodingStream.push(`${length.toString(16)}\\r\\n`);\n awsChunkedEncodingStream.push(data);\n awsChunkedEncodingStream.push(\"\\r\\n\");\n });\n readable.on(\"end\", async () => {\n awsChunkedEncodingStream.push(`0\\r\\n`);\n if (checksumRequired) {\n const checksum = base64Encoder(await digest);\n awsChunkedEncodingStream.push(`${checksumLocationName}:${checksum}\\r\\n`);\n awsChunkedEncodingStream.push(`\\r\\n`);\n }\n awsChunkedEncodingStream.push(null);\n });\n return awsChunkedEncodingStream;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.headStream = headStream;\nasync function headStream(stream, bytes) {\n let byteLengthCounter = 0;\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n byteLengthCounter += value?.byteLength ?? 0;\n }\n if (byteLengthCounter >= bytes) {\n break;\n }\n isDone = done;\n }\n reader.releaseLock();\n const collected = new Uint8Array(Math.min(bytes, byteLengthCounter));\n let offset = 0;\n for (const chunk of chunks) {\n if (chunk.byteLength > collected.byteLength - offset) {\n collected.set(chunk.subarray(0, collected.byteLength - offset), offset);\n break;\n }\n else {\n collected.set(chunk, offset);\n }\n offset += chunk.length;\n }\n return collected;\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.headStream = void 0;\nconst stream_1 = require(\"stream\");\nconst headStream_browser_1 = require(\"./headStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nconst headStream = (stream, bytes) => {\n if ((0, stream_type_check_1.isReadableStream)(stream)) {\n return (0, headStream_browser_1.headStream)(stream, bytes);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n collector.limit = bytes;\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.buffers));\n resolve(bytes);\n });\n });\n};\nexports.headStream = headStream;\nclass Collector extends stream_1.Writable {\n buffers = [];\n limit = Infinity;\n bytesBuffered = 0;\n _write(chunk, encoding, callback) {\n this.buffers.push(chunk);\n this.bytesBuffered += chunk.byteLength ?? 0;\n if (this.bytesBuffered >= this.limit) {\n const excess = this.bytesBuffered - this.limit;\n const tailBuffer = this.buffers[this.buffers.length - 1];\n this.buffers[this.buffers.length - 1] = tailBuffer.subarray(0, tailBuffer.byteLength - excess);\n this.emit(\"finish\");\n }\n callback();\n }\n}\n", "'use strict';\n\nconst escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n\nconst escapeUriPath = (uri) => uri.split(\"/\").map(escapeUri).join(\"/\");\n\nexports.escapeUri = escapeUri;\nexports.escapeUriPath = escapeUriPath;\n", "'use strict';\n\nvar utilUriEscape = require('@smithy/util-uri-escape');\n\nfunction buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = utilUriEscape.escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${utilUriEscape.escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${utilUriEscape.escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n\nexports.buildQueryString = buildQueryString;\n", "'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\nvar querystringBuilder = require('@smithy/querystring-builder');\nvar http = require('http');\nvar https = require('https');\nvar stream = require('stream');\nvar http2 = require('http2');\n\nconst NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"EPIPE\", \"ETIMEDOUT\"];\n\nconst getTransformedHeaders = (headers) => {\n const transformedHeaders = {};\n for (const name of Object.keys(headers)) {\n const headerValues = headers[name];\n transformedHeaders[name] = Array.isArray(headerValues) ? headerValues.join(\",\") : headerValues;\n }\n return transformedHeaders;\n};\n\nconst timing = {\n setTimeout: (cb, ms) => setTimeout(cb, ms),\n clearTimeout: (timeoutId) => clearTimeout(timeoutId),\n};\n\nconst DEFER_EVENT_LISTENER_TIME$2 = 1000;\nconst setConnectionTimeout = (request, reject, timeoutInMs = 0) => {\n if (!timeoutInMs) {\n return -1;\n }\n const registerTimeout = (offset) => {\n const timeoutId = timing.setTimeout(() => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket did not establish a connection with the server within the configured timeout of ${timeoutInMs} ms.`), {\n name: \"TimeoutError\",\n }));\n }, timeoutInMs - offset);\n const doWithSocket = (socket) => {\n if (socket?.connecting) {\n socket.on(\"connect\", () => {\n timing.clearTimeout(timeoutId);\n });\n }\n else {\n timing.clearTimeout(timeoutId);\n }\n };\n if (request.socket) {\n doWithSocket(request.socket);\n }\n else {\n request.on(\"socket\", doWithSocket);\n }\n };\n if (timeoutInMs < 2000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, DEFER_EVENT_LISTENER_TIME$2), DEFER_EVENT_LISTENER_TIME$2);\n};\n\nconst setRequestTimeout = (req, reject, timeoutInMs = 0, throwOnRequestTimeout, logger) => {\n if (timeoutInMs) {\n return timing.setTimeout(() => {\n let msg = `@smithy/node-http-handler - [${throwOnRequestTimeout ? \"ERROR\" : \"WARN\"}] a request has exceeded the configured ${timeoutInMs} ms requestTimeout.`;\n if (throwOnRequestTimeout) {\n const error = Object.assign(new Error(msg), {\n name: \"TimeoutError\",\n code: \"ETIMEDOUT\",\n });\n req.destroy(error);\n reject(error);\n }\n else {\n msg += ` Init client requestHandler with throwOnRequestTimeout=true to turn this into an error.`;\n logger?.warn?.(msg);\n }\n }, timeoutInMs);\n }\n return -1;\n};\n\nconst DEFER_EVENT_LISTENER_TIME$1 = 3000;\nconst setSocketKeepAlive = (request, { keepAlive, keepAliveMsecs }, deferTimeMs = DEFER_EVENT_LISTENER_TIME$1) => {\n if (keepAlive !== true) {\n return -1;\n }\n const registerListener = () => {\n if (request.socket) {\n request.socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n }\n else {\n request.on(\"socket\", (socket) => {\n socket.setKeepAlive(keepAlive, keepAliveMsecs || 0);\n });\n }\n };\n if (deferTimeMs === 0) {\n registerListener();\n return 0;\n }\n return timing.setTimeout(registerListener, deferTimeMs);\n};\n\nconst DEFER_EVENT_LISTENER_TIME = 3000;\nconst setSocketTimeout = (request, reject, timeoutInMs = 0) => {\n const registerTimeout = (offset) => {\n const timeout = timeoutInMs - offset;\n const onTimeout = () => {\n request.destroy();\n reject(Object.assign(new Error(`@smithy/node-http-handler - the request socket timed out after ${timeoutInMs} ms of inactivity (configured by client requestHandler).`), { name: \"TimeoutError\" }));\n };\n if (request.socket) {\n request.socket.setTimeout(timeout, onTimeout);\n request.on(\"close\", () => request.socket?.removeListener(\"timeout\", onTimeout));\n }\n else {\n request.setTimeout(timeout, onTimeout);\n }\n };\n if (0 < timeoutInMs && timeoutInMs < 6000) {\n registerTimeout(0);\n return 0;\n }\n return timing.setTimeout(registerTimeout.bind(null, timeoutInMs === 0 ? 0 : DEFER_EVENT_LISTENER_TIME), DEFER_EVENT_LISTENER_TIME);\n};\n\nconst MIN_WAIT_TIME = 6_000;\nasync function writeRequestBody(httpRequest, request, maxContinueTimeoutMs = MIN_WAIT_TIME, externalAgent = false) {\n const headers = request.headers ?? {};\n const expect = headers.Expect || headers.expect;\n let timeoutId = -1;\n let sendBody = true;\n if (!externalAgent && expect === \"100-continue\") {\n sendBody = await Promise.race([\n new Promise((resolve) => {\n timeoutId = Number(timing.setTimeout(() => resolve(true), Math.max(MIN_WAIT_TIME, maxContinueTimeoutMs)));\n }),\n new Promise((resolve) => {\n httpRequest.on(\"continue\", () => {\n timing.clearTimeout(timeoutId);\n resolve(true);\n });\n httpRequest.on(\"response\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n httpRequest.on(\"error\", () => {\n timing.clearTimeout(timeoutId);\n resolve(false);\n });\n }),\n ]);\n }\n if (sendBody) {\n writeBody(httpRequest, request.body);\n }\n}\nfunction writeBody(httpRequest, body) {\n if (body instanceof stream.Readable) {\n body.pipe(httpRequest);\n return;\n }\n if (body) {\n if (Buffer.isBuffer(body) || typeof body === \"string\") {\n httpRequest.end(body);\n return;\n }\n const uint8 = body;\n if (typeof uint8 === \"object\" &&\n uint8.buffer &&\n typeof uint8.byteOffset === \"number\" &&\n typeof uint8.byteLength === \"number\") {\n httpRequest.end(Buffer.from(uint8.buffer, uint8.byteOffset, uint8.byteLength));\n return;\n }\n httpRequest.end(Buffer.from(body));\n return;\n }\n httpRequest.end();\n}\n\nconst DEFAULT_REQUEST_TIMEOUT = 0;\nclass NodeHttpHandler {\n config;\n configProvider;\n socketWarningTimestamp = 0;\n externalAgent = false;\n metadata = { handlerProtocol: \"http/1.1\" };\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttpHandler(instanceOrOptions);\n }\n static checkSocketUsage(agent, socketWarningTimestamp, logger = console) {\n const { sockets, requests, maxSockets } = agent;\n if (typeof maxSockets !== \"number\" || maxSockets === Infinity) {\n return socketWarningTimestamp;\n }\n const interval = 15_000;\n if (Date.now() - interval < socketWarningTimestamp) {\n return socketWarningTimestamp;\n }\n if (sockets && requests) {\n for (const origin in sockets) {\n const socketsInUse = sockets[origin]?.length ?? 0;\n const requestsEnqueued = requests[origin]?.length ?? 0;\n if (socketsInUse >= maxSockets && requestsEnqueued >= 2 * maxSockets) {\n logger?.warn?.(`@smithy/node-http-handler:WARN - socket usage at capacity=${socketsInUse} and ${requestsEnqueued} additional requests are enqueued.\nSee https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/node-configuring-maxsockets.html\nor increase socketAcquisitionWarningTimeout=(millis) in the NodeHttpHandler config.`);\n return Date.now();\n }\n }\n }\n return socketWarningTimestamp;\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((_options) => {\n resolve(this.resolveDefaultConfig(_options));\n })\n .catch(reject);\n }\n else {\n resolve(this.resolveDefaultConfig(options));\n }\n });\n }\n resolveDefaultConfig(options) {\n const { requestTimeout, connectionTimeout, socketTimeout, socketAcquisitionWarningTimeout, httpAgent, httpsAgent, throwOnRequestTimeout, logger, } = options || {};\n const keepAlive = true;\n const maxSockets = 50;\n return {\n connectionTimeout,\n requestTimeout,\n socketTimeout,\n socketAcquisitionWarningTimeout,\n throwOnRequestTimeout,\n httpAgent: (() => {\n if (httpAgent instanceof http.Agent || typeof httpAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpAgent;\n }\n return new http.Agent({ keepAlive, maxSockets, ...httpAgent });\n })(),\n httpsAgent: (() => {\n if (httpsAgent instanceof https.Agent || typeof httpsAgent?.destroy === \"function\") {\n this.externalAgent = true;\n return httpsAgent;\n }\n return new https.Agent({ keepAlive, maxSockets, ...httpsAgent });\n })(),\n logger,\n };\n }\n destroy() {\n this.config?.httpAgent?.destroy();\n this.config?.httpsAgent?.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n return new Promise((_resolve, _reject) => {\n const config = this.config;\n let writeRequestBodyPromise = undefined;\n const timeouts = [];\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n timeouts.forEach(timing.clearTimeout);\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const isSSL = request.protocol === \"https:\";\n const headers = request.headers ?? {};\n const expectContinue = (headers.Expect ?? headers.expect) === \"100-continue\";\n let agent = isSSL ? config.httpsAgent : config.httpAgent;\n if (expectContinue && !this.externalAgent) {\n agent = new (isSSL ? https.Agent : http.Agent)({\n keepAlive: false,\n maxSockets: Infinity,\n });\n }\n timeouts.push(timing.setTimeout(() => {\n this.socketWarningTimestamp = NodeHttpHandler.checkSocketUsage(agent, this.socketWarningTimestamp, config.logger);\n }, config.socketAcquisitionWarningTimeout ?? (config.requestTimeout ?? 2000) + (config.connectionTimeout ?? 1000)));\n const queryString = querystringBuilder.buildQueryString(request.query || {});\n let auth = undefined;\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}`;\n }\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let hostname = request.hostname ?? \"\";\n if (hostname[0] === \"[\" && hostname.endsWith(\"]\")) {\n hostname = request.hostname.slice(1, -1);\n }\n else {\n hostname = request.hostname;\n }\n const nodeHttpsOptions = {\n headers: request.headers,\n host: hostname,\n method: request.method,\n path,\n port: request.port,\n agent,\n auth,\n };\n const requestFunc = isSSL ? https.request : http.request;\n const req = requestFunc(nodeHttpsOptions, (res) => {\n const httpResponse = new protocolHttp.HttpResponse({\n statusCode: res.statusCode || -1,\n reason: res.statusMessage,\n headers: getTransformedHeaders(res.headers),\n body: res,\n });\n resolve({ response: httpResponse });\n });\n req.on(\"error\", (err) => {\n if (NODEJS_TIMEOUT_ERROR_CODES.includes(err.code)) {\n reject(Object.assign(err, { name: \"TimeoutError\" }));\n }\n else {\n reject(err);\n }\n });\n if (abortSignal) {\n const onAbort = () => {\n req.destroy();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n const effectiveRequestTimeout = requestTimeout ?? config.requestTimeout;\n timeouts.push(setConnectionTimeout(req, reject, config.connectionTimeout));\n timeouts.push(setRequestTimeout(req, reject, effectiveRequestTimeout, config.throwOnRequestTimeout, config.logger ?? console));\n timeouts.push(setSocketTimeout(req, reject, config.socketTimeout));\n const httpAgent = nodeHttpsOptions.agent;\n if (typeof httpAgent === \"object\" && \"keepAlive\" in httpAgent) {\n timeouts.push(setSocketKeepAlive(req, {\n keepAlive: httpAgent.keepAlive,\n keepAliveMsecs: httpAgent.keepAliveMsecs,\n }));\n }\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout, this.externalAgent).catch((e) => {\n timeouts.forEach(timing.clearTimeout);\n return _reject(e);\n });\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\n\nclass NodeHttp2ConnectionPool {\n sessions = [];\n constructor(sessions) {\n this.sessions = sessions ?? [];\n }\n poll() {\n if (this.sessions.length > 0) {\n return this.sessions.shift();\n }\n }\n offerLast(session) {\n this.sessions.push(session);\n }\n contains(session) {\n return this.sessions.includes(session);\n }\n remove(session) {\n this.sessions = this.sessions.filter((s) => s !== session);\n }\n [Symbol.iterator]() {\n return this.sessions[Symbol.iterator]();\n }\n destroy(connection) {\n for (const session of this.sessions) {\n if (session === connection) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n }\n }\n}\n\nclass NodeHttp2ConnectionManager {\n constructor(config) {\n this.config = config;\n if (this.config.maxConcurrency && this.config.maxConcurrency <= 0) {\n throw new RangeError(\"maxConcurrency must be greater than zero.\");\n }\n }\n config;\n sessionCache = new Map();\n lease(requestContext, connectionConfiguration) {\n const url = this.getUrlString(requestContext);\n const existingPool = this.sessionCache.get(url);\n if (existingPool) {\n const existingSession = existingPool.poll();\n if (existingSession && !this.config.disableConcurrency) {\n return existingSession;\n }\n }\n const session = http2.connect(url);\n if (this.config.maxConcurrency) {\n session.settings({ maxConcurrentStreams: this.config.maxConcurrency }, (err) => {\n if (err) {\n throw new Error(\"Fail to set maxConcurrentStreams to \" +\n this.config.maxConcurrency +\n \"when creating new session for \" +\n requestContext.destination.toString());\n }\n });\n }\n session.unref();\n const destroySessionCb = () => {\n session.destroy();\n this.deleteSession(url, session);\n };\n session.on(\"goaway\", destroySessionCb);\n session.on(\"error\", destroySessionCb);\n session.on(\"frameError\", destroySessionCb);\n session.on(\"close\", () => this.deleteSession(url, session));\n if (connectionConfiguration.requestTimeout) {\n session.setTimeout(connectionConfiguration.requestTimeout, destroySessionCb);\n }\n const connectionPool = this.sessionCache.get(url) || new NodeHttp2ConnectionPool();\n connectionPool.offerLast(session);\n this.sessionCache.set(url, connectionPool);\n return session;\n }\n deleteSession(authority, session) {\n const existingConnectionPool = this.sessionCache.get(authority);\n if (!existingConnectionPool) {\n return;\n }\n if (!existingConnectionPool.contains(session)) {\n return;\n }\n existingConnectionPool.remove(session);\n this.sessionCache.set(authority, existingConnectionPool);\n }\n release(requestContext, session) {\n const cacheKey = this.getUrlString(requestContext);\n this.sessionCache.get(cacheKey)?.offerLast(session);\n }\n destroy() {\n for (const [key, connectionPool] of this.sessionCache) {\n for (const session of connectionPool) {\n if (!session.destroyed) {\n session.destroy();\n }\n connectionPool.remove(session);\n }\n this.sessionCache.delete(key);\n }\n }\n setMaxConcurrentStreams(maxConcurrentStreams) {\n if (maxConcurrentStreams && maxConcurrentStreams <= 0) {\n throw new RangeError(\"maxConcurrentStreams must be greater than zero.\");\n }\n this.config.maxConcurrency = maxConcurrentStreams;\n }\n setDisableConcurrentStreams(disableConcurrentStreams) {\n this.config.disableConcurrency = disableConcurrentStreams;\n }\n getUrlString(request) {\n return request.destination.toString();\n }\n}\n\nclass NodeHttp2Handler {\n config;\n configProvider;\n metadata = { handlerProtocol: \"h2\" };\n connectionManager = new NodeHttp2ConnectionManager({});\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new NodeHttp2Handler(instanceOrOptions);\n }\n constructor(options) {\n this.configProvider = new Promise((resolve, reject) => {\n if (typeof options === \"function\") {\n options()\n .then((opts) => {\n resolve(opts || {});\n })\n .catch(reject);\n }\n else {\n resolve(options || {});\n }\n });\n }\n destroy() {\n this.connectionManager.destroy();\n }\n async handle(request, { abortSignal, requestTimeout } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n this.connectionManager.setDisableConcurrentStreams(this.config.disableConcurrentStreams || false);\n if (this.config.maxConcurrentStreams) {\n this.connectionManager.setMaxConcurrentStreams(this.config.maxConcurrentStreams);\n }\n }\n const { requestTimeout: configRequestTimeout, disableConcurrentStreams } = this.config;\n const effectiveRequestTimeout = requestTimeout ?? configRequestTimeout;\n return new Promise((_resolve, _reject) => {\n let fulfilled = false;\n let writeRequestBodyPromise = undefined;\n const resolve = async (arg) => {\n await writeRequestBodyPromise;\n _resolve(arg);\n };\n const reject = async (arg) => {\n await writeRequestBodyPromise;\n _reject(arg);\n };\n if (abortSignal?.aborted) {\n fulfilled = true;\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n return;\n }\n const { hostname, method, port, protocol, query } = request;\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const authority = `${protocol}//${auth}${hostname}${port ? `:${port}` : \"\"}`;\n const requestContext = { destination: new URL(authority) };\n const session = this.connectionManager.lease(requestContext, {\n requestTimeout: this.config?.sessionTimeout,\n disableConcurrentStreams: disableConcurrentStreams || false,\n });\n const rejectWithDestroy = (err) => {\n if (disableConcurrentStreams) {\n this.destroySession(session);\n }\n fulfilled = true;\n reject(err);\n };\n const queryString = querystringBuilder.buildQueryString(query || {});\n let path = request.path;\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n const req = session.request({\n ...request.headers,\n [http2.constants.HTTP2_HEADER_PATH]: path,\n [http2.constants.HTTP2_HEADER_METHOD]: method,\n });\n session.ref();\n req.on(\"response\", (headers) => {\n const httpResponse = new protocolHttp.HttpResponse({\n statusCode: headers[\":status\"] || -1,\n headers: getTransformedHeaders(headers),\n body: req,\n });\n fulfilled = true;\n resolve({ response: httpResponse });\n if (disableConcurrentStreams) {\n session.close();\n this.connectionManager.deleteSession(authority, session);\n }\n });\n if (effectiveRequestTimeout) {\n req.setTimeout(effectiveRequestTimeout, () => {\n req.close();\n const timeoutError = new Error(`Stream timed out because of no activity for ${effectiveRequestTimeout} ms`);\n timeoutError.name = \"TimeoutError\";\n rejectWithDestroy(timeoutError);\n });\n }\n if (abortSignal) {\n const onAbort = () => {\n req.close();\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n rejectWithDestroy(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n req.once(\"close\", () => signal.removeEventListener(\"abort\", onAbort));\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }\n req.on(\"frameError\", (type, code, id) => {\n rejectWithDestroy(new Error(`Frame type id ${type} in stream id ${id} has failed with code ${code}.`));\n });\n req.on(\"error\", rejectWithDestroy);\n req.on(\"aborted\", () => {\n rejectWithDestroy(new Error(`HTTP/2 stream is abnormally aborted in mid-communication with result code ${req.rstCode}.`));\n });\n req.on(\"close\", () => {\n session.unref();\n if (disableConcurrentStreams) {\n session.destroy();\n }\n if (!fulfilled) {\n rejectWithDestroy(new Error(\"Unexpected error: http2 request did not get a response\"));\n }\n });\n writeRequestBodyPromise = writeRequestBody(req, request, effectiveRequestTimeout);\n });\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n return {\n ...config,\n [key]: value,\n };\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n destroySession(session) {\n if (!session.destroyed) {\n session.destroy();\n }\n }\n}\n\nclass Collector extends stream.Writable {\n bufferedBytes = [];\n _write(chunk, encoding, callback) {\n this.bufferedBytes.push(chunk);\n callback();\n }\n}\n\nconst streamCollector = (stream) => {\n if (isReadableStreamInstance(stream)) {\n return collectReadableStream(stream);\n }\n return new Promise((resolve, reject) => {\n const collector = new Collector();\n stream.pipe(collector);\n stream.on(\"error\", (err) => {\n collector.end();\n reject(err);\n });\n collector.on(\"error\", reject);\n collector.on(\"finish\", function () {\n const bytes = new Uint8Array(Buffer.concat(this.bufferedBytes));\n resolve(bytes);\n });\n });\n};\nconst isReadableStreamInstance = (stream) => typeof ReadableStream === \"function\" && stream instanceof ReadableStream;\nasync function collectReadableStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\n\nexports.DEFAULT_REQUEST_TIMEOUT = DEFAULT_REQUEST_TIMEOUT;\nexports.NodeHttp2Handler = NodeHttp2Handler;\nexports.NodeHttpHandler = NodeHttpHandler;\nexports.streamCollector = streamCollector;\n", "'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\nvar querystringBuilder = require('@smithy/querystring-builder');\nvar utilBase64 = require('@smithy/util-base64');\n\nfunction createRequest(url, requestOptions) {\n return new Request(url, requestOptions);\n}\n\nfunction requestTimeout(timeoutInMs = 0) {\n return new Promise((resolve, reject) => {\n if (timeoutInMs) {\n setTimeout(() => {\n const timeoutError = new Error(`Request did not complete within ${timeoutInMs} ms`);\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n\nconst keepAliveSupport = {\n supported: undefined,\n};\nclass FetchHttpHandler {\n config;\n configProvider;\n static create(instanceOrOptions) {\n if (typeof instanceOrOptions?.handle === \"function\") {\n return instanceOrOptions;\n }\n return new FetchHttpHandler(instanceOrOptions);\n }\n constructor(options) {\n if (typeof options === \"function\") {\n this.configProvider = options().then((opts) => opts || {});\n }\n else {\n this.config = options ?? {};\n this.configProvider = Promise.resolve(this.config);\n }\n if (keepAliveSupport.supported === undefined) {\n keepAliveSupport.supported = Boolean(typeof Request !== \"undefined\" && \"keepalive\" in createRequest(\"https://[::1]\"));\n }\n }\n destroy() {\n }\n async handle(request, { abortSignal, requestTimeout: requestTimeout$1 } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const requestTimeoutInMs = requestTimeout$1 ?? this.config.requestTimeout;\n const keepAlive = this.config.keepAlive === true;\n const credentials = this.config.credentials;\n if (abortSignal?.aborted) {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return Promise.reject(abortError);\n }\n let path = request.path;\n const queryString = querystringBuilder.buildQueryString(request.query || {});\n if (queryString) {\n path += `?${queryString}`;\n }\n if (request.fragment) {\n path += `#${request.fragment}`;\n }\n let auth = \"\";\n if (request.username != null || request.password != null) {\n const username = request.username ?? \"\";\n const password = request.password ?? \"\";\n auth = `${username}:${password}@`;\n }\n const { port, method } = request;\n const url = `${request.protocol}//${auth}${request.hostname}${port ? `:${port}` : \"\"}${path}`;\n const body = method === \"GET\" || method === \"HEAD\" ? undefined : request.body;\n const requestOptions = {\n body,\n headers: new Headers(request.headers),\n method: method,\n credentials,\n };\n if (this.config?.cache) {\n requestOptions.cache = this.config.cache;\n }\n if (body) {\n requestOptions.duplex = \"half\";\n }\n if (typeof AbortController !== \"undefined\") {\n requestOptions.signal = abortSignal;\n }\n if (keepAliveSupport.supported) {\n requestOptions.keepalive = keepAlive;\n }\n if (typeof this.config.requestInit === \"function\") {\n Object.assign(requestOptions, this.config.requestInit(request));\n }\n let removeSignalEventListener = () => { };\n const fetchRequest = createRequest(url, requestOptions);\n const raceOfPromises = [\n fetch(fetchRequest).then((response) => {\n const fetchHeaders = response.headers;\n const transformedHeaders = {};\n for (const pair of fetchHeaders.entries()) {\n transformedHeaders[pair[0]] = pair[1];\n }\n const hasReadableStream = response.body != undefined;\n if (!hasReadableStream) {\n return response.blob().then((body) => ({\n response: new protocolHttp.HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body,\n }),\n }));\n }\n return {\n response: new protocolHttp.HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body: response.body,\n }),\n };\n }),\n requestTimeout(requestTimeoutInMs),\n ];\n if (abortSignal) {\n raceOfPromises.push(new Promise((resolve, reject) => {\n const onAbort = () => {\n const abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n if (typeof abortSignal.addEventListener === \"function\") {\n const signal = abortSignal;\n signal.addEventListener(\"abort\", onAbort, { once: true });\n removeSignalEventListener = () => signal.removeEventListener(\"abort\", onAbort);\n }\n else {\n abortSignal.onabort = onAbort;\n }\n }));\n }\n return Promise.race(raceOfPromises).finally(removeSignalEventListener);\n }\n updateHttpClientConfig(key, value) {\n this.config = undefined;\n this.configProvider = this.configProvider.then((config) => {\n config[key] = value;\n return config;\n });\n }\n httpHandlerConfigs() {\n return this.config ?? {};\n }\n}\n\nconst streamCollector = async (stream) => {\n if ((typeof Blob === \"function\" && stream instanceof Blob) || stream.constructor?.name === \"Blob\") {\n if (Blob.prototype.arrayBuffer !== undefined) {\n return new Uint8Array(await stream.arrayBuffer());\n }\n return collectBlob(stream);\n }\n return collectStream(stream);\n};\nasync function collectBlob(blob) {\n const base64 = await readToBase64(blob);\n const arrayBuffer = utilBase64.fromBase64(base64);\n return new Uint8Array(arrayBuffer);\n}\nasync function collectStream(stream) {\n const chunks = [];\n const reader = stream.getReader();\n let isDone = false;\n let length = 0;\n while (!isDone) {\n const { done, value } = await reader.read();\n if (value) {\n chunks.push(value);\n length += value.length;\n }\n isDone = done;\n }\n const collected = new Uint8Array(length);\n let offset = 0;\n for (const chunk of chunks) {\n collected.set(chunk, offset);\n offset += chunk.length;\n }\n return collected;\n}\nfunction readToBase64(blob) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onloadend = () => {\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n const result = (reader.result ?? \"\");\n const commaIndex = result.indexOf(\",\");\n const dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = () => reject(new Error(\"Read aborted\"));\n reader.onerror = () => reject(reader.error);\n reader.readAsDataURL(blob);\n });\n}\n\nexports.FetchHttpHandler = FetchHttpHandler;\nexports.keepAliveSupport = keepAliveSupport;\nexports.streamCollector = streamCollector;\n", "'use strict';\n\nconst SHORT_TO_HEX = {};\nconst HEX_TO_SHORT = {};\nfor (let i = 0; i < 256; i++) {\n let encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = `0${encodedByte}`;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\nfunction fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n const out = new Uint8Array(encoded.length / 2);\n for (let i = 0; i < encoded.length; i += 2) {\n const encodedByte = encoded.slice(i, i + 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(`Cannot decode unrecognized sequence ${encodedByte} as hexadecimal`);\n }\n }\n return out;\n}\nfunction toHex(bytes) {\n let out = \"\";\n for (let i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n\nexports.fromHex = fromHex;\nexports.toHex = toHex;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst fetch_http_handler_1 = require(\"@smithy/fetch-http-handler\");\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst util_hex_encoding_1 = require(\"@smithy/util-hex-encoding\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n if (!isBlobInstance(stream) && !(0, stream_type_check_1.isReadableStream)(stream)) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Blob or ReadableStream, got ${name}`);\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, fetch_http_handler_1.streamCollector)(stream);\n };\n const blobToWebStream = (blob) => {\n if (typeof blob.stream !== \"function\") {\n throw new Error(\"Cannot transform payload Blob to web stream. Please make sure the Blob.stream() is polyfilled.\\n\" +\n \"If you are using React Native, this API is not yet supported, see: https://react-native.canny.io/feature-requests/p/fetch-streaming-body\");\n }\n return blob.stream();\n };\n return Object.assign(stream, {\n transformToByteArray: transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === \"base64\") {\n return (0, util_base64_1.toBase64)(buf);\n }\n else if (encoding === \"hex\") {\n return (0, util_hex_encoding_1.toHex)(buf);\n }\n else if (encoding === undefined || encoding === \"utf8\" || encoding === \"utf-8\") {\n return (0, util_utf8_1.toUtf8)(buf);\n }\n else if (typeof TextDecoder === \"function\") {\n return new TextDecoder(encoding).decode(buf);\n }\n else {\n throw new Error(\"TextDecoder is not available, please make sure polyfill is provided.\");\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n if (isBlobInstance(stream)) {\n return blobToWebStream(stream);\n }\n else if ((0, stream_type_check_1.isReadableStream)(stream)) {\n return stream;\n }\n else {\n throw new Error(`Cannot transform payload to web stream, got ${stream}`);\n }\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\nconst isBlobInstance = (stream) => typeof Blob === \"function\" && stream instanceof Blob;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sdkStreamMixin = void 0;\nconst node_http_handler_1 = require(\"@smithy/node-http-handler\");\nconst util_buffer_from_1 = require(\"@smithy/util-buffer-from\");\nconst stream_1 = require(\"stream\");\nconst sdk_stream_mixin_browser_1 = require(\"./sdk-stream-mixin.browser\");\nconst ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED = \"The stream has already been transformed.\";\nconst sdkStreamMixin = (stream) => {\n if (!(stream instanceof stream_1.Readable)) {\n try {\n return (0, sdk_stream_mixin_browser_1.sdkStreamMixin)(stream);\n }\n catch (e) {\n const name = stream?.__proto__?.constructor?.name || stream;\n throw new Error(`Unexpected stream implementation, expect Stream.Readable instance, got ${name}`);\n }\n }\n let transformed = false;\n const transformToByteArray = async () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n transformed = true;\n return await (0, node_http_handler_1.streamCollector)(stream);\n };\n return Object.assign(stream, {\n transformToByteArray,\n transformToString: async (encoding) => {\n const buf = await transformToByteArray();\n if (encoding === undefined || Buffer.isEncoding(encoding)) {\n return (0, util_buffer_from_1.fromArrayBuffer)(buf.buffer, buf.byteOffset, buf.byteLength).toString(encoding);\n }\n else {\n const decoder = new TextDecoder(encoding);\n return decoder.decode(buf);\n }\n },\n transformToWebStream: () => {\n if (transformed) {\n throw new Error(ERR_MSG_STREAM_HAS_BEEN_TRANSFORMED);\n }\n if (stream.readableFlowing !== null) {\n throw new Error(\"The stream has been consumed by other callbacks.\");\n }\n if (typeof stream_1.Readable.toWeb !== \"function\") {\n throw new Error(\"Readable.toWeb() is not supported. Please ensure a polyfill is available.\");\n }\n transformed = true;\n return stream_1.Readable.toWeb(stream);\n },\n });\n};\nexports.sdkStreamMixin = sdkStreamMixin;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitStream = splitStream;\nasync function splitStream(stream) {\n if (typeof stream.stream === \"function\") {\n stream = stream.stream();\n }\n const readableStream = stream;\n return readableStream.tee();\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.splitStream = splitStream;\nconst stream_1 = require(\"stream\");\nconst splitStream_browser_1 = require(\"./splitStream.browser\");\nconst stream_type_check_1 = require(\"./stream-type-check\");\nasync function splitStream(stream) {\n if ((0, stream_type_check_1.isReadableStream)(stream) || (0, stream_type_check_1.isBlob)(stream)) {\n return (0, splitStream_browser_1.splitStream)(stream);\n }\n const stream1 = new stream_1.PassThrough();\n const stream2 = new stream_1.PassThrough();\n stream.pipe(stream1);\n stream.pipe(stream2);\n return [stream1, stream2];\n}\n", "'use strict';\n\nvar utilBase64 = require('@smithy/util-base64');\nvar utilUtf8 = require('@smithy/util-utf8');\nvar ChecksumStream = require('./checksum/ChecksumStream');\nvar createChecksumStream = require('./checksum/createChecksumStream');\nvar createBufferedReadable = require('./createBufferedReadable');\nvar getAwsChunkedEncodingStream = require('./getAwsChunkedEncodingStream');\nvar headStream = require('./headStream');\nvar sdkStreamMixin = require('./sdk-stream-mixin');\nvar splitStream = require('./splitStream');\nvar streamTypeCheck = require('./stream-type-check');\n\nclass Uint8ArrayBlobAdapter extends Uint8Array {\n static fromString(source, encoding = \"utf-8\") {\n if (typeof source === \"string\") {\n if (encoding === \"base64\") {\n return Uint8ArrayBlobAdapter.mutate(utilBase64.fromBase64(source));\n }\n return Uint8ArrayBlobAdapter.mutate(utilUtf8.fromUtf8(source));\n }\n throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);\n }\n static mutate(source) {\n Object.setPrototypeOf(source, Uint8ArrayBlobAdapter.prototype);\n return source;\n }\n transformToString(encoding = \"utf-8\") {\n if (encoding === \"base64\") {\n return utilBase64.toBase64(this);\n }\n return utilUtf8.toUtf8(this);\n }\n}\n\nObject.defineProperty(exports, \"isBlob\", {\n enumerable: true,\n get: function () { return streamTypeCheck.isBlob; }\n});\nObject.defineProperty(exports, \"isReadableStream\", {\n enumerable: true,\n get: function () { return streamTypeCheck.isReadableStream; }\n});\nexports.Uint8ArrayBlobAdapter = Uint8ArrayBlobAdapter;\nObject.keys(ChecksumStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return ChecksumStream[k]; }\n });\n});\nObject.keys(createChecksumStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return createChecksumStream[k]; }\n });\n});\nObject.keys(createBufferedReadable).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return createBufferedReadable[k]; }\n });\n});\nObject.keys(getAwsChunkedEncodingStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return getAwsChunkedEncodingStream[k]; }\n });\n});\nObject.keys(headStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return headStream[k]; }\n });\n});\nObject.keys(sdkStreamMixin).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return sdkStreamMixin[k]; }\n });\n});\nObject.keys(splitStream).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return splitStream[k]; }\n });\n});\n", "import { Uint8ArrayBlobAdapter } from \"@smithy/util-stream\";\nexport const collectBody = async (streamBody = new Uint8Array(), context) => {\n if (streamBody instanceof Uint8Array) {\n return Uint8ArrayBlobAdapter.mutate(streamBody);\n }\n if (!streamBody) {\n return Uint8ArrayBlobAdapter.mutate(new Uint8Array());\n }\n const fromContext = context.streamCollector(streamBody);\n return Uint8ArrayBlobAdapter.mutate(await fromContext);\n};\n", "export function extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n", "export const deref = (schemaRef) => {\n if (typeof schemaRef === \"function\") {\n return schemaRef();\n }\n return schemaRef;\n};\n", "export const operation = (namespace, name, traits, input, output) => ({\n name,\n namespace,\n traits,\n input,\n output,\n});\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { operation } from \"../schemas/operation\";\nexport const schemaDeserializationMiddleware = (config) => (next, context) => async (args) => {\n const { response } = await next(args);\n const { operationSchema } = getSmithyContext(context);\n const [, ns, n, t, i, o] = operationSchema ?? [];\n try {\n const parsed = await config.protocol.deserializeResponse(operation(ns, n, t, i, o), {\n ...config,\n ...context,\n }, response);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n enumerable: false,\n writable: false,\n configurable: false,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n try {\n error.message += \"\\n \" + hint;\n }\n catch (e) {\n if (!context.logger || context.logger?.constructor?.name === \"NoOpLogger\") {\n console.warn(hint);\n }\n else {\n context.logger?.warn?.(hint);\n }\n }\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n try {\n if (HttpResponse.isInstance(response)) {\n const { headers = {} } = response;\n const headerEntries = Object.entries(headers);\n error.$metadata = {\n httpStatusCode: response.statusCode,\n requestId: findHeader(/^x-[\\w-]+-request-?id$/, headerEntries),\n extendedRequestId: findHeader(/^x-[\\w-]+-id-2$/, headerEntries),\n cfId: findHeader(/^x-[\\w-]+-cf-id$/, headerEntries),\n };\n }\n }\n catch (e) {\n }\n }\n throw error;\n }\n};\nconst findHeader = (pattern, headers) => {\n return (headers.find(([k]) => {\n return k.match(pattern);\n }) || [void 0, void 1])[1];\n};\n", "import { getSmithyContext } from \"@smithy/util-middleware\";\nimport { operation } from \"../schemas/operation\";\nexport const schemaSerializationMiddleware = (config) => (next, context) => async (args) => {\n const { operationSchema } = getSmithyContext(context);\n const [, ns, n, t, i, o] = operationSchema ?? [];\n const endpoint = context.endpointV2?.url && config.urlParser\n ? async () => config.urlParser(context.endpointV2.url)\n : config.endpoint;\n const request = await config.protocol.serializeRequest(operation(ns, n, t, i, o), args.input, {\n ...config,\n ...context,\n endpoint,\n });\n return next({\n ...args,\n request,\n });\n};\n", "import { schemaDeserializationMiddleware } from \"./schemaDeserializationMiddleware\";\nimport { schemaSerializationMiddleware } from \"./schemaSerializationMiddleware\";\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 getSchemaSerdePlugin(config) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(schemaSerializationMiddleware(config), serializerMiddlewareOption);\n commandStack.add(schemaDeserializationMiddleware(config), deserializerMiddlewareOption);\n config.protocol.setSerdeContext(config);\n },\n };\n}\n", "export class Schema {\n name;\n namespace;\n traits;\n static assign(instance, values) {\n const schema = Object.assign(instance, values);\n return schema;\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const list = lhs;\n return list.symbol === this.symbol;\n }\n return isPrototype;\n }\n getName() {\n return this.namespace + \"#\" + this.name;\n }\n}\n", "import { Schema } from \"./Schema\";\nexport class ListSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/lis\");\n name;\n traits;\n valueSchema;\n symbol = ListSchema.symbol;\n}\nexport const list = (namespace, name, traits, valueSchema) => Schema.assign(new ListSchema(), {\n name,\n namespace,\n traits,\n valueSchema,\n});\n", "import { Schema } from \"./Schema\";\nexport class MapSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/map\");\n name;\n traits;\n keySchema;\n valueSchema;\n symbol = MapSchema.symbol;\n}\nexport const map = (namespace, name, traits, keySchema, valueSchema) => Schema.assign(new MapSchema(), {\n name,\n namespace,\n traits,\n keySchema,\n valueSchema,\n});\n", "import { Schema } from \"./Schema\";\nexport class OperationSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/ope\");\n name;\n traits;\n input;\n output;\n symbol = OperationSchema.symbol;\n}\nexport const op = (namespace, name, traits, input, output) => Schema.assign(new OperationSchema(), {\n name,\n namespace,\n traits,\n input,\n output,\n});\n", "import { Schema } from \"./Schema\";\nexport class StructureSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/str\");\n name;\n traits;\n memberNames;\n memberList;\n symbol = StructureSchema.symbol;\n}\nexport const struct = (namespace, name, traits, memberNames, memberList) => Schema.assign(new StructureSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n});\n", "import { Schema } from \"./Schema\";\nimport { StructureSchema } from \"./StructureSchema\";\nexport class ErrorSchema extends StructureSchema {\n static symbol = Symbol.for(\"@smithy/err\");\n ctor;\n symbol = ErrorSchema.symbol;\n}\nexport const error = (namespace, name, traits, memberNames, memberList, ctor) => Schema.assign(new ErrorSchema(), {\n name,\n namespace,\n traits,\n memberNames,\n memberList,\n ctor: null,\n});\n", "export function translateTraits(indicator) {\n if (typeof indicator === \"object\") {\n return indicator;\n }\n indicator = indicator | 0;\n const traits = {};\n let i = 0;\n for (const trait of [\n \"httpLabel\",\n \"idempotent\",\n \"idempotencyToken\",\n \"sensitive\",\n \"httpPayload\",\n \"httpResponseCode\",\n \"httpQueryParams\",\n ]) {\n if (((indicator >> i++) & 1) === 1) {\n traits[trait] = 1;\n }\n }\n return traits;\n}\n", "import { deref } from \"../deref\";\nimport { translateTraits } from \"./translateTraits\";\nconst anno = {\n it: Symbol.for(\"@smithy/nor-struct-it\"),\n};\nexport class NormalizedSchema {\n ref;\n memberName;\n static symbol = Symbol.for(\"@smithy/nor\");\n symbol = NormalizedSchema.symbol;\n name;\n schema;\n _isMemberSchema;\n traits;\n memberTraits;\n normalizedTraits;\n constructor(ref, memberName) {\n this.ref = ref;\n this.memberName = memberName;\n const traitStack = [];\n let _ref = ref;\n let schema = ref;\n this._isMemberSchema = false;\n while (isMemberSchema(_ref)) {\n traitStack.push(_ref[1]);\n _ref = _ref[0];\n schema = deref(_ref);\n this._isMemberSchema = true;\n }\n if (traitStack.length > 0) {\n this.memberTraits = {};\n for (let i = traitStack.length - 1; i >= 0; --i) {\n const traitSet = traitStack[i];\n Object.assign(this.memberTraits, translateTraits(traitSet));\n }\n }\n else {\n this.memberTraits = 0;\n }\n if (schema instanceof NormalizedSchema) {\n const computedMemberTraits = this.memberTraits;\n Object.assign(this, schema);\n this.memberTraits = Object.assign({}, computedMemberTraits, schema.getMemberTraits(), this.getMemberTraits());\n this.normalizedTraits = void 0;\n this.memberName = memberName ?? schema.memberName;\n return;\n }\n this.schema = deref(schema);\n if (isStaticSchema(this.schema)) {\n this.name = `${this.schema[1]}#${this.schema[2]}`;\n this.traits = this.schema[3];\n }\n else {\n this.name = this.memberName ?? String(schema);\n this.traits = 0;\n }\n if (this._isMemberSchema && !memberName) {\n throw new Error(`@smithy/core/schema - NormalizedSchema member init ${this.getName(true)} missing member name.`);\n }\n }\n static [Symbol.hasInstance](lhs) {\n const isPrototype = this.prototype.isPrototypeOf(lhs);\n if (!isPrototype && typeof lhs === \"object\" && lhs !== null) {\n const ns = lhs;\n return ns.symbol === this.symbol;\n }\n return isPrototype;\n }\n static of(ref) {\n const sc = deref(ref);\n if (sc instanceof NormalizedSchema) {\n return sc;\n }\n if (isMemberSchema(sc)) {\n const [ns, traits] = sc;\n if (ns instanceof NormalizedSchema) {\n Object.assign(ns.getMergedTraits(), translateTraits(traits));\n return ns;\n }\n throw new Error(`@smithy/core/schema - may not init unwrapped member schema=${JSON.stringify(ref, null, 2)}.`);\n }\n return new NormalizedSchema(sc);\n }\n getSchema() {\n const sc = this.schema;\n if (Array.isArray(sc) && sc[0] === 0) {\n return sc[4];\n }\n return sc;\n }\n getName(withNamespace = false) {\n const { name } = this;\n const short = !withNamespace && name && name.includes(\"#\");\n return short ? name.split(\"#\")[1] : name || undefined;\n }\n getMemberName() {\n return this.memberName;\n }\n isMemberSchema() {\n return this._isMemberSchema;\n }\n isListSchema() {\n const sc = this.getSchema();\n return typeof sc === \"number\"\n ? sc >= 64 && sc < 128\n : sc[0] === 1;\n }\n isMapSchema() {\n const sc = this.getSchema();\n return typeof sc === \"number\"\n ? sc >= 128 && sc <= 0b1111_1111\n : sc[0] === 2;\n }\n isStructSchema() {\n const sc = this.getSchema();\n if (typeof sc !== \"object\") {\n return false;\n }\n const id = sc[0];\n return (id === 3 ||\n id === -3 ||\n id === 4);\n }\n isUnionSchema() {\n const sc = this.getSchema();\n if (typeof sc !== \"object\") {\n return false;\n }\n return sc[0] === 4;\n }\n isBlobSchema() {\n const sc = this.getSchema();\n return sc === 21 || sc === 42;\n }\n isTimestampSchema() {\n const sc = this.getSchema();\n return (typeof sc === \"number\" &&\n sc >= 4 &&\n sc <= 7);\n }\n isUnitSchema() {\n return this.getSchema() === \"unit\";\n }\n isDocumentSchema() {\n return this.getSchema() === 15;\n }\n isStringSchema() {\n return this.getSchema() === 0;\n }\n isBooleanSchema() {\n return this.getSchema() === 2;\n }\n isNumericSchema() {\n return this.getSchema() === 1;\n }\n isBigIntegerSchema() {\n return this.getSchema() === 17;\n }\n isBigDecimalSchema() {\n return this.getSchema() === 19;\n }\n isStreaming() {\n const { streaming } = this.getMergedTraits();\n return !!streaming || this.getSchema() === 42;\n }\n isIdempotencyToken() {\n return !!this.getMergedTraits().idempotencyToken;\n }\n getMergedTraits() {\n return (this.normalizedTraits ??\n (this.normalizedTraits = {\n ...this.getOwnTraits(),\n ...this.getMemberTraits(),\n }));\n }\n getMemberTraits() {\n return translateTraits(this.memberTraits);\n }\n getOwnTraits() {\n return translateTraits(this.traits);\n }\n getKeySchema() {\n const [isDoc, isMap] = [this.isDocumentSchema(), this.isMapSchema()];\n if (!isDoc && !isMap) {\n throw new Error(`@smithy/core/schema - cannot get key for non-map: ${this.getName(true)}`);\n }\n const schema = this.getSchema();\n const memberSchema = isDoc\n ? 15\n : schema[4] ?? 0;\n return member([memberSchema, 0], \"key\");\n }\n getValueSchema() {\n const sc = this.getSchema();\n const [isDoc, isMap, isList] = [this.isDocumentSchema(), this.isMapSchema(), this.isListSchema()];\n const memberSchema = typeof sc === \"number\"\n ? 0b0011_1111 & sc\n : sc && typeof sc === \"object\" && (isMap || isList)\n ? sc[3 + sc[0]]\n : isDoc\n ? 15\n : void 0;\n if (memberSchema != null) {\n return member([memberSchema, 0], isMap ? \"value\" : \"member\");\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no value member.`);\n }\n getMemberSchema(memberName) {\n const struct = this.getSchema();\n if (this.isStructSchema() && struct[4].includes(memberName)) {\n const i = struct[4].indexOf(memberName);\n const memberSchema = struct[5][i];\n return member(isMemberSchema(memberSchema) ? memberSchema : [memberSchema, 0], memberName);\n }\n if (this.isDocumentSchema()) {\n return member([15, 0], memberName);\n }\n throw new Error(`@smithy/core/schema - ${this.getName(true)} has no no member=${memberName}.`);\n }\n getMemberSchemas() {\n const buffer = {};\n try {\n for (const [k, v] of this.structIterator()) {\n buffer[k] = v;\n }\n }\n catch (ignored) { }\n return buffer;\n }\n getEventStreamMember() {\n if (this.isStructSchema()) {\n for (const [memberName, memberSchema] of this.structIterator()) {\n if (memberSchema.isStreaming() && memberSchema.isStructSchema()) {\n return memberName;\n }\n }\n }\n return \"\";\n }\n *structIterator() {\n if (this.isUnitSchema()) {\n return;\n }\n if (!this.isStructSchema()) {\n throw new Error(\"@smithy/core/schema - cannot iterate non-struct schema.\");\n }\n const struct = this.getSchema();\n const z = struct[4].length;\n let it = struct[anno.it];\n if (it && z === it.length) {\n yield* it;\n return;\n }\n it = Array(z);\n for (let i = 0; i < z; ++i) {\n const k = struct[4][i];\n const v = member([struct[5][i], 0], k);\n yield (it[i] = [k, v]);\n }\n struct[anno.it] = it;\n }\n}\nfunction member(memberSchema, memberName) {\n if (memberSchema instanceof NormalizedSchema) {\n return Object.assign(memberSchema, {\n memberName,\n _isMemberSchema: true,\n });\n }\n const internalCtorAccess = NormalizedSchema;\n return new internalCtorAccess(memberSchema, memberName);\n}\nconst isMemberSchema = (sc) => Array.isArray(sc) && sc.length === 2;\nexport const isStaticSchema = (sc) => Array.isArray(sc) && sc.length >= 5;\n", "import { Schema } from \"./Schema\";\nexport class SimpleSchema extends Schema {\n static symbol = Symbol.for(\"@smithy/sim\");\n name;\n schemaRef;\n traits;\n symbol = SimpleSchema.symbol;\n}\nexport const sim = (namespace, name, schemaRef, traits) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\nexport const simAdapter = (namespace, name, traits, schemaRef) => Schema.assign(new SimpleSchema(), {\n name,\n namespace,\n traits,\n schemaRef,\n});\n", "export const SCHEMA = {\n BLOB: 0b0001_0101,\n STREAMING_BLOB: 0b0010_1010,\n BOOLEAN: 0b0000_0010,\n STRING: 0b0000_0000,\n NUMERIC: 0b0000_0001,\n BIG_INTEGER: 0b0001_0001,\n BIG_DECIMAL: 0b0001_0011,\n DOCUMENT: 0b0000_1111,\n TIMESTAMP_DEFAULT: 0b0000_0100,\n TIMESTAMP_DATE_TIME: 0b0000_0101,\n TIMESTAMP_HTTP_DATE: 0b0000_0110,\n TIMESTAMP_EPOCH_SECONDS: 0b0000_0111,\n LIST_MODIFIER: 0b0100_0000,\n MAP_MODIFIER: 0b1000_0000,\n};\n", "export class TypeRegistry {\n namespace;\n schemas;\n exceptions;\n static registries = new Map();\n constructor(namespace, schemas = new Map(), exceptions = new Map()) {\n this.namespace = namespace;\n this.schemas = schemas;\n this.exceptions = exceptions;\n }\n static for(namespace) {\n if (!TypeRegistry.registries.has(namespace)) {\n TypeRegistry.registries.set(namespace, new TypeRegistry(namespace));\n }\n return TypeRegistry.registries.get(namespace);\n }\n register(shapeId, schema) {\n const qualifiedName = this.normalizeShapeId(shapeId);\n const registry = TypeRegistry.for(qualifiedName.split(\"#\")[0]);\n registry.schemas.set(qualifiedName, schema);\n }\n getSchema(shapeId) {\n const id = this.normalizeShapeId(shapeId);\n if (!this.schemas.has(id)) {\n throw new Error(`@smithy/core/schema - schema not found for ${id}`);\n }\n return this.schemas.get(id);\n }\n registerError(es, ctor) {\n const $error = es;\n const registry = TypeRegistry.for($error[1]);\n registry.schemas.set($error[1] + \"#\" + $error[2], $error);\n registry.exceptions.set($error, ctor);\n }\n getErrorCtor(es) {\n const $error = es;\n const registry = TypeRegistry.for($error[1]);\n return registry.exceptions.get($error);\n }\n getBaseException() {\n for (const exceptionKey of this.exceptions.keys()) {\n if (Array.isArray(exceptionKey)) {\n const [, ns, name] = exceptionKey;\n const id = ns + \"#\" + name;\n if (id.startsWith(\"smithy.ts.sdk.synthetic.\") && id.endsWith(\"ServiceException\")) {\n return exceptionKey;\n }\n }\n }\n return undefined;\n }\n find(predicate) {\n return [...this.schemas.values()].find(predicate);\n }\n clear() {\n this.schemas.clear();\n this.exceptions.clear();\n }\n normalizeShapeId(shapeId) {\n if (shapeId.includes(\"#\")) {\n return shapeId;\n }\n return this.namespace + \"#\" + shapeId;\n }\n}\n", "export * from \"./deref\";\nexport * from \"./middleware/getSchemaSerdePlugin\";\nexport * from \"./schemas/ListSchema\";\nexport * from \"./schemas/MapSchema\";\nexport * from \"./schemas/OperationSchema\";\nexport * from \"./schemas/operation\";\nexport * from \"./schemas/ErrorSchema\";\nexport * from \"./schemas/NormalizedSchema\";\nexport * from \"./schemas/Schema\";\nexport * from \"./schemas/SimpleSchema\";\nexport * from \"./schemas/StructureSchema\";\nexport * from \"./schemas/sentinels\";\nexport * from \"./schemas/translateTraits\";\nexport * from \"./TypeRegistry\";\n", "export const copyDocumentWithTransform = (source, schemaRef, transform = (_) => _) => source;\n", "export const parseBoolean = (value) => {\n switch (value) {\n case \"true\":\n return true;\n case \"false\":\n return false;\n default:\n throw new Error(`Unable to parse boolean value \"${value}\"`);\n }\n};\nexport const expectBoolean = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"number\") {\n if (value === 0 || value === 1) {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (value === 0) {\n return false;\n }\n if (value === 1) {\n return true;\n }\n }\n if (typeof value === \"string\") {\n const lower = value.toLowerCase();\n if (lower === \"false\" || lower === \"true\") {\n logger.warn(stackTraceWarning(`Expected boolean, got ${typeof value}: ${value}`));\n }\n if (lower === \"false\") {\n return false;\n }\n if (lower === \"true\") {\n return true;\n }\n }\n if (typeof value === \"boolean\") {\n return value;\n }\n throw new TypeError(`Expected boolean, got ${typeof value}: ${value}`);\n};\nexport const expectNumber = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n const parsed = parseFloat(value);\n if (!Number.isNaN(parsed)) {\n if (String(parsed) !== String(value)) {\n logger.warn(stackTraceWarning(`Expected number but observed string: ${value}`));\n }\n return parsed;\n }\n }\n if (typeof value === \"number\") {\n return value;\n }\n throw new TypeError(`Expected number, got ${typeof value}: ${value}`);\n};\nconst MAX_FLOAT = Math.ceil(2 ** 127 * (2 - 2 ** -23));\nexport const expectFloat32 = (value) => {\n const expected = expectNumber(value);\n if (expected !== undefined && !Number.isNaN(expected) && expected !== Infinity && expected !== -Infinity) {\n if (Math.abs(expected) > MAX_FLOAT) {\n throw new TypeError(`Expected 32-bit float, got ${value}`);\n }\n }\n return expected;\n};\nexport const expectLong = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (Number.isInteger(value) && !Number.isNaN(value)) {\n return value;\n }\n throw new TypeError(`Expected integer, got ${typeof value}: ${value}`);\n};\nexport const expectInt = expectLong;\nexport const expectInt32 = (value) => expectSizedInt(value, 32);\nexport const expectShort = (value) => expectSizedInt(value, 16);\nexport const expectByte = (value) => expectSizedInt(value, 8);\nconst expectSizedInt = (value, size) => {\n const expected = expectLong(value);\n if (expected !== undefined && castInt(expected, size) !== expected) {\n throw new TypeError(`Expected ${size}-bit integer, got ${value}`);\n }\n return expected;\n};\nconst castInt = (value, size) => {\n switch (size) {\n case 32:\n return Int32Array.of(value)[0];\n case 16:\n return Int16Array.of(value)[0];\n case 8:\n return Int8Array.of(value)[0];\n }\n};\nexport const expectNonNull = (value, location) => {\n if (value === null || value === undefined) {\n if (location) {\n throw new TypeError(`Expected a non-null value for ${location}`);\n }\n throw new TypeError(\"Expected a non-null value\");\n }\n return value;\n};\nexport const expectObject = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"object\" && !Array.isArray(value)) {\n return value;\n }\n const receivedType = Array.isArray(value) ? \"array\" : typeof value;\n throw new TypeError(`Expected object, got ${receivedType}: ${value}`);\n};\nexport const expectString = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value === \"string\") {\n return value;\n }\n if ([\"boolean\", \"number\", \"bigint\"].includes(typeof value)) {\n logger.warn(stackTraceWarning(`Expected string, got ${typeof value}: ${value}`));\n return String(value);\n }\n throw new TypeError(`Expected string, got ${typeof value}: ${value}`);\n};\nexport const expectUnion = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n const asObject = expectObject(value);\n const setKeys = Object.entries(asObject)\n .filter(([, v]) => v != null)\n .map(([k]) => k);\n if (setKeys.length === 0) {\n throw new TypeError(`Unions must have exactly one non-null member. None were found.`);\n }\n if (setKeys.length > 1) {\n throw new TypeError(`Unions must have exactly one non-null member. Keys ${setKeys} were not null.`);\n }\n return asObject;\n};\nexport const strictParseDouble = (value) => {\n if (typeof value == \"string\") {\n return expectNumber(parseNumber(value));\n }\n return expectNumber(value);\n};\nexport const strictParseFloat = strictParseDouble;\nexport const strictParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return expectFloat32(parseNumber(value));\n }\n return expectFloat32(value);\n};\nconst NUMBER_REGEX = /(-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)|(-?Infinity)|(NaN)/g;\nconst parseNumber = (value) => {\n const matches = value.match(NUMBER_REGEX);\n if (matches === null || matches[0].length !== value.length) {\n throw new TypeError(`Expected real number, got implicit NaN`);\n }\n return parseFloat(value);\n};\nexport const limitedParseDouble = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectNumber(value);\n};\nexport const handleFloat = limitedParseDouble;\nexport const limitedParseFloat = limitedParseDouble;\nexport const limitedParseFloat32 = (value) => {\n if (typeof value == \"string\") {\n return parseFloatString(value);\n }\n return expectFloat32(value);\n};\nconst parseFloatString = (value) => {\n switch (value) {\n case \"NaN\":\n return NaN;\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n default:\n throw new Error(`Unable to parse float value: ${value}`);\n }\n};\nexport const strictParseLong = (value) => {\n if (typeof value === \"string\") {\n return expectLong(parseNumber(value));\n }\n return expectLong(value);\n};\nexport const strictParseInt = strictParseLong;\nexport const strictParseInt32 = (value) => {\n if (typeof value === \"string\") {\n return expectInt32(parseNumber(value));\n }\n return expectInt32(value);\n};\nexport const strictParseShort = (value) => {\n if (typeof value === \"string\") {\n return expectShort(parseNumber(value));\n }\n return expectShort(value);\n};\nexport const strictParseByte = (value) => {\n if (typeof value === \"string\") {\n return expectByte(parseNumber(value));\n }\n return expectByte(value);\n};\nconst stackTraceWarning = (message) => {\n return String(new TypeError(message).stack || message)\n .split(\"\\n\")\n .slice(0, 5)\n .filter((s) => !s.includes(\"stackTraceWarning\"))\n .join(\"\\n\");\n};\nexport const logger = {\n warn: console.warn,\n};\n", "import { strictParseByte, strictParseDouble, strictParseFloat32, strictParseShort } from \"./parse-utils\";\nconst DAYS = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\nconst MONTHS = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport function dateToUtcString(date) {\n const year = date.getUTCFullYear();\n const month = date.getUTCMonth();\n const dayOfWeek = date.getUTCDay();\n const dayOfMonthInt = date.getUTCDate();\n const hoursInt = date.getUTCHours();\n const minutesInt = date.getUTCMinutes();\n const secondsInt = date.getUTCSeconds();\n const dayOfMonthString = dayOfMonthInt < 10 ? `0${dayOfMonthInt}` : `${dayOfMonthInt}`;\n const hoursString = hoursInt < 10 ? `0${hoursInt}` : `${hoursInt}`;\n const minutesString = minutesInt < 10 ? `0${minutesInt}` : `${minutesInt}`;\n const secondsString = secondsInt < 10 ? `0${secondsInt}` : `${secondsInt}`;\n return `${DAYS[dayOfWeek]}, ${dayOfMonthString} ${MONTHS[month]} ${year} ${hoursString}:${minutesString}:${secondsString} GMT`;\n}\nconst RFC3339 = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?[zZ]$/);\nexport const parseRfc3339DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n return buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n};\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d{2})-(\\d{2})[tT](\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(([-+]\\d{2}\\:\\d{2})|[zZ])$/);\nexport const parseRfc3339DateTimeWithOffset = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-3339 date-times must be expressed as strings\");\n }\n const match = RFC3339_WITH_OFFSET.exec(value);\n if (!match) {\n throw new TypeError(\"Invalid RFC-3339 date-time value\");\n }\n const [_, yearStr, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, offsetStr] = match;\n const year = strictParseShort(stripLeadingZeroes(yearStr));\n const month = parseDateValue(monthStr, \"month\", 1, 12);\n const day = parseDateValue(dayStr, \"day\", 1, 31);\n const date = buildDate(year, month, day, { hours, minutes, seconds, fractionalMilliseconds });\n if (offsetStr.toUpperCase() != \"Z\") {\n date.setTime(date.getTime() - parseOffsetToMilliseconds(offsetStr));\n }\n return date;\n};\nconst IMF_FIXDATE = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\\d{2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\\d{4}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst RFC_850_DATE = new RegExp(/^(?:Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\\d{2})-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? GMT$/);\nconst ASC_TIME = new RegExp(/^(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( [1-9]|\\d{2}) (\\d{1,2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))? (\\d{4})$/);\nexport const parseRfc7231DateTime = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC-7231 date-times must be expressed as strings\");\n }\n let match = IMF_FIXDATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n match = RFC_850_DATE.exec(value);\n if (match) {\n const [_, dayStr, monthStr, yearStr, hours, minutes, seconds, fractionalMilliseconds] = match;\n return adjustRfc850Year(buildDate(parseTwoDigitYear(yearStr), parseMonthByShortName(monthStr), parseDateValue(dayStr, \"day\", 1, 31), {\n hours,\n minutes,\n seconds,\n fractionalMilliseconds,\n }));\n }\n match = ASC_TIME.exec(value);\n if (match) {\n const [_, monthStr, dayStr, hours, minutes, seconds, fractionalMilliseconds, yearStr] = match;\n return buildDate(strictParseShort(stripLeadingZeroes(yearStr)), parseMonthByShortName(monthStr), parseDateValue(dayStr.trimLeft(), \"day\", 1, 31), { hours, minutes, seconds, fractionalMilliseconds });\n }\n throw new TypeError(\"Invalid RFC-7231 date-time value\");\n};\nexport const parseEpochTimestamp = (value) => {\n if (value === null || value === undefined) {\n return undefined;\n }\n let valueAsDouble;\n if (typeof value === \"number\") {\n valueAsDouble = value;\n }\n else if (typeof value === \"string\") {\n valueAsDouble = strictParseDouble(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n valueAsDouble = value.value;\n }\n else {\n throw new TypeError(\"Epoch timestamps must be expressed as floating point numbers or their string representation\");\n }\n if (Number.isNaN(valueAsDouble) || valueAsDouble === Infinity || valueAsDouble === -Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid, non-Infinite, non-NaN numerics\");\n }\n return new Date(Math.round(valueAsDouble * 1000));\n};\nconst buildDate = (year, month, day, time) => {\n const adjustedMonth = month - 1;\n validateDayOfMonth(year, adjustedMonth, day);\n return new Date(Date.UTC(year, adjustedMonth, day, parseDateValue(time.hours, \"hour\", 0, 23), parseDateValue(time.minutes, \"minute\", 0, 59), parseDateValue(time.seconds, \"seconds\", 0, 60), parseMilliseconds(time.fractionalMilliseconds)));\n};\nconst parseTwoDigitYear = (value) => {\n const thisYear = new Date().getUTCFullYear();\n const valueInThisCentury = Math.floor(thisYear / 100) * 100 + strictParseShort(stripLeadingZeroes(value));\n if (valueInThisCentury < thisYear) {\n return valueInThisCentury + 100;\n }\n return valueInThisCentury;\n};\nconst FIFTY_YEARS_IN_MILLIS = 50 * 365 * 24 * 60 * 60 * 1000;\nconst adjustRfc850Year = (input) => {\n if (input.getTime() - new Date().getTime() > FIFTY_YEARS_IN_MILLIS) {\n return new Date(Date.UTC(input.getUTCFullYear() - 100, input.getUTCMonth(), input.getUTCDate(), input.getUTCHours(), input.getUTCMinutes(), input.getUTCSeconds(), input.getUTCMilliseconds()));\n }\n return input;\n};\nconst parseMonthByShortName = (value) => {\n const monthIdx = MONTHS.indexOf(value);\n if (monthIdx < 0) {\n throw new TypeError(`Invalid month: ${value}`);\n }\n return monthIdx + 1;\n};\nconst DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nconst validateDayOfMonth = (year, month, day) => {\n let maxDays = DAYS_IN_MONTH[month];\n if (month === 1 && isLeapYear(year)) {\n maxDays = 29;\n }\n if (day > maxDays) {\n throw new TypeError(`Invalid day for ${MONTHS[month]} in ${year}: ${day}`);\n }\n};\nconst isLeapYear = (year) => {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n};\nconst parseDateValue = (value, type, lower, upper) => {\n const dateVal = strictParseByte(stripLeadingZeroes(value));\n if (dateVal < lower || dateVal > upper) {\n throw new TypeError(`${type} must be between ${lower} and ${upper}, inclusive`);\n }\n return dateVal;\n};\nconst parseMilliseconds = (value) => {\n if (value === null || value === undefined) {\n return 0;\n }\n return strictParseFloat32(\"0.\" + value) * 1000;\n};\nconst parseOffsetToMilliseconds = (value) => {\n const directionStr = value[0];\n let direction = 1;\n if (directionStr == \"+\") {\n direction = 1;\n }\n else if (directionStr == \"-\") {\n direction = -1;\n }\n else {\n throw new TypeError(`Offset direction, ${directionStr}, must be \"+\" or \"-\"`);\n }\n const hour = Number(value.substring(1, 3));\n const minute = Number(value.substring(4, 6));\n return direction * (hour * 60 + minute) * 60 * 1000;\n};\nconst stripLeadingZeroes = (value) => {\n let idx = 0;\n while (idx < value.length - 1 && value.charAt(idx) === \"0\") {\n idx++;\n }\n if (idx === 0) {\n return value;\n }\n return value.slice(idx);\n};\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.randomUUID = void 0;\nconst tslib_1 = require(\"tslib\");\nconst crypto_1 = tslib_1.__importDefault(require(\"crypto\"));\nexports.randomUUID = crypto_1.default.randomUUID.bind(crypto_1.default);\n", "'use strict';\n\nvar randomUUID = require('./randomUUID');\n\nconst decimalToHex = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, \"0\"));\nconst v4 = () => {\n if (randomUUID.randomUUID) {\n return randomUUID.randomUUID();\n }\n const rnds = new Uint8Array(16);\n crypto.getRandomValues(rnds);\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n return (decimalToHex[rnds[0]] +\n decimalToHex[rnds[1]] +\n decimalToHex[rnds[2]] +\n decimalToHex[rnds[3]] +\n \"-\" +\n decimalToHex[rnds[4]] +\n decimalToHex[rnds[5]] +\n \"-\" +\n decimalToHex[rnds[6]] +\n decimalToHex[rnds[7]] +\n \"-\" +\n decimalToHex[rnds[8]] +\n decimalToHex[rnds[9]] +\n \"-\" +\n decimalToHex[rnds[10]] +\n decimalToHex[rnds[11]] +\n decimalToHex[rnds[12]] +\n decimalToHex[rnds[13]] +\n decimalToHex[rnds[14]] +\n decimalToHex[rnds[15]]);\n};\n\nexports.v4 = v4;\n", "import { v4 as generateIdempotencyToken } from \"@smithy/uuid\";\nexport { generateIdempotencyToken };\n", "export const LazyJsonString = function LazyJsonString(val) {\n const str = Object.assign(new String(val), {\n deserializeJSON() {\n return JSON.parse(String(val));\n },\n toString() {\n return String(val);\n },\n toJSON() {\n return String(val);\n },\n });\n return str;\n};\nLazyJsonString.from = (object) => {\n if (object && typeof object === \"object\" && (object instanceof LazyJsonString || \"deserializeJSON\" in object)) {\n return object;\n }\n else if (typeof object === \"string\" || Object.getPrototypeOf(object) === String.prototype) {\n return LazyJsonString(String(object));\n }\n return LazyJsonString(JSON.stringify(object));\n};\nLazyJsonString.fromObject = LazyJsonString.from;\n", "export function quoteHeader(part) {\n if (part.includes(\",\") || part.includes('\"')) {\n part = `\"${part.replace(/\"/g, '\\\\\"')}\"`;\n }\n return part;\n}\n", "const ddd = `(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun)(?:[ne|u?r]?s?day)?`;\nconst mmm = `(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)`;\nconst time = `(\\\\d?\\\\d):(\\\\d{2}):(\\\\d{2})(?:\\\\.(\\\\d+))?`;\nconst date = `(\\\\d?\\\\d)`;\nconst year = `(\\\\d{4})`;\nconst RFC3339_WITH_OFFSET = new RegExp(/^(\\d{4})-(\\d\\d)-(\\d\\d)[tT](\\d\\d):(\\d\\d):(\\d\\d)(\\.(\\d+))?(([-+]\\d\\d:\\d\\d)|[zZ])$/);\nconst IMF_FIXDATE = new RegExp(`^${ddd}, ${date} ${mmm} ${year} ${time} GMT$`);\nconst RFC_850_DATE = new RegExp(`^${ddd}, ${date}-${mmm}-(\\\\d\\\\d) ${time} GMT$`);\nconst ASC_TIME = new RegExp(`^${ddd} ${mmm} ( [1-9]|\\\\d\\\\d) ${time} ${year}$`);\nconst months = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\nexport const _parseEpochTimestamp = (value) => {\n if (value == null) {\n return void 0;\n }\n let num = NaN;\n if (typeof value === \"number\") {\n num = value;\n }\n else if (typeof value === \"string\") {\n if (!/^-?\\d*\\.?\\d+$/.test(value)) {\n throw new TypeError(`parseEpochTimestamp - numeric string invalid.`);\n }\n num = Number.parseFloat(value);\n }\n else if (typeof value === \"object\" && value.tag === 1) {\n num = value.value;\n }\n if (isNaN(num) || Math.abs(num) === Infinity) {\n throw new TypeError(\"Epoch timestamps must be valid finite numbers.\");\n }\n return new Date(Math.round(num * 1000));\n};\nexport const _parseRfc3339DateTimeWithOffset = (value) => {\n if (value == null) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC3339 timestamps must be strings\");\n }\n const matches = RFC3339_WITH_OFFSET.exec(value);\n if (!matches) {\n throw new TypeError(`Invalid RFC3339 timestamp format ${value}`);\n }\n const [, yearStr, monthStr, dayStr, hours, minutes, seconds, , ms, offsetStr] = matches;\n range(monthStr, 1, 12);\n range(dayStr, 1, 31);\n range(hours, 0, 23);\n range(minutes, 0, 59);\n range(seconds, 0, 60);\n const date = new Date(Date.UTC(Number(yearStr), Number(monthStr) - 1, Number(dayStr), Number(hours), Number(minutes), Number(seconds), Number(ms) ? Math.round(parseFloat(`0.${ms}`) * 1000) : 0));\n date.setUTCFullYear(Number(yearStr));\n if (offsetStr.toUpperCase() != \"Z\") {\n const [, sign, offsetH, offsetM] = /([+-])(\\d\\d):(\\d\\d)/.exec(offsetStr) || [void 0, \"+\", 0, 0];\n const scalar = sign === \"-\" ? 1 : -1;\n date.setTime(date.getTime() + scalar * (Number(offsetH) * 60 * 60 * 1000 + Number(offsetM) * 60 * 1000));\n }\n return date;\n};\nexport const _parseRfc7231DateTime = (value) => {\n if (value == null) {\n return void 0;\n }\n if (typeof value !== \"string\") {\n throw new TypeError(\"RFC7231 timestamps must be strings.\");\n }\n let day;\n let month;\n let year;\n let hour;\n let minute;\n let second;\n let fraction;\n let matches;\n if ((matches = IMF_FIXDATE.exec(value))) {\n [, day, month, year, hour, minute, second, fraction] = matches;\n }\n else if ((matches = RFC_850_DATE.exec(value))) {\n [, day, month, year, hour, minute, second, fraction] = matches;\n year = (Number(year) + 1900).toString();\n }\n else if ((matches = ASC_TIME.exec(value))) {\n [, month, day, hour, minute, second, fraction, year] = matches;\n }\n if (year && second) {\n const timestamp = Date.UTC(Number(year), months.indexOf(month), Number(day), Number(hour), Number(minute), Number(second), fraction ? Math.round(parseFloat(`0.${fraction}`) * 1000) : 0);\n range(day, 1, 31);\n range(hour, 0, 23);\n range(minute, 0, 59);\n range(second, 0, 60);\n const date = new Date(timestamp);\n date.setUTCFullYear(Number(year));\n return date;\n }\n throw new TypeError(`Invalid RFC7231 date-time value ${value}.`);\n};\nfunction range(v, min, max) {\n const _v = Number(v);\n if (_v < min || _v > max) {\n throw new Error(`Value ${_v} out of range [${min}, ${max}]`);\n }\n}\n", "export function splitEvery(value, delimiter, numDelimiters) {\n if (numDelimiters <= 0 || !Number.isInteger(numDelimiters)) {\n throw new Error(\"Invalid number of delimiters (\" + numDelimiters + \") for splitEvery.\");\n }\n const segments = value.split(delimiter);\n if (numDelimiters === 1) {\n return segments;\n }\n const compoundSegments = [];\n let currentSegment = \"\";\n for (let i = 0; i < segments.length; i++) {\n if (currentSegment === \"\") {\n currentSegment = segments[i];\n }\n else {\n currentSegment += delimiter + segments[i];\n }\n if ((i + 1) % numDelimiters === 0) {\n compoundSegments.push(currentSegment);\n currentSegment = \"\";\n }\n }\n if (currentSegment !== \"\") {\n compoundSegments.push(currentSegment);\n }\n return compoundSegments;\n}\n", "export const splitHeader = (value) => {\n const z = value.length;\n const values = [];\n let withinQuotes = false;\n let prevChar = undefined;\n let anchor = 0;\n for (let i = 0; i < z; ++i) {\n const char = value[i];\n switch (char) {\n case `\"`:\n if (prevChar !== \"\\\\\") {\n withinQuotes = !withinQuotes;\n }\n break;\n case \",\":\n if (!withinQuotes) {\n values.push(value.slice(anchor, i));\n anchor = i + 1;\n }\n break;\n default:\n }\n prevChar = char;\n }\n values.push(value.slice(anchor));\n return values.map((v) => {\n v = v.trim();\n const z = v.length;\n if (z < 2) {\n return v;\n }\n if (v[0] === `\"` && v[z - 1] === `\"`) {\n v = v.slice(1, z - 1);\n }\n return v.replace(/\\\\\"/g, '\"');\n });\n};\n", "const format = /^-?\\d*(\\.\\d+)?$/;\nexport class NumericValue {\n string;\n type;\n constructor(string, type) {\n this.string = string;\n this.type = type;\n if (!format.test(string)) {\n throw new Error(`@smithy/core/serde - NumericValue must only contain [0-9], at most one decimal point \".\", and an optional negation prefix \"-\".`);\n }\n }\n toString() {\n return this.string;\n }\n static [Symbol.hasInstance](object) {\n if (!object || typeof object !== \"object\") {\n return false;\n }\n const _nv = object;\n return NumericValue.prototype.isPrototypeOf(object) || (_nv.type === \"bigDecimal\" && format.test(_nv.string));\n }\n}\nexport function nv(input) {\n return new NumericValue(String(input), \"bigDecimal\");\n}\n", "export * from \"./copyDocumentWithTransform\";\nexport * from \"./date-utils\";\nexport * from \"./generateIdempotencyToken\";\nexport * from \"./lazy-json\";\nexport * from \"./parse-utils\";\nexport * from \"./quote-header\";\nexport * from \"./schema-serde-lib/schema-date-utils\";\nexport * from \"./split-every\";\nexport * from \"./split-header\";\nexport * from \"./value/NumericValue\";\n", "export class SerdeContext {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n", "import { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nexport class EventStreamSerde {\n marshaller;\n serializer;\n deserializer;\n serdeContext;\n defaultContentType;\n constructor({ marshaller, serializer, deserializer, serdeContext, defaultContentType, }) {\n this.marshaller = marshaller;\n this.serializer = serializer;\n this.deserializer = deserializer;\n this.serdeContext = serdeContext;\n this.defaultContentType = defaultContentType;\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = requestSchema.getEventStreamMember();\n const unionSchema = requestSchema.getMemberSchema(eventStreamMember);\n const serializer = this.serializer;\n const defaultContentType = this.defaultContentType;\n const initialRequestMarker = Symbol(\"initialRequestMarker\");\n const eventStreamIterable = {\n async *[Symbol.asyncIterator]() {\n if (initialRequest) {\n const headers = {\n \":event-type\": { type: \"string\", value: \"initial-request\" },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: defaultContentType },\n };\n serializer.write(requestSchema, initialRequest);\n const body = serializer.flush();\n yield {\n [initialRequestMarker]: true,\n headers,\n body,\n };\n }\n for await (const page of eventStream) {\n yield page;\n }\n },\n };\n return marshaller.serialize(eventStreamIterable, (event) => {\n if (event[initialRequestMarker]) {\n return {\n headers: event.headers,\n body: event.body,\n };\n }\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n const { additionalHeaders, body, eventType, explicitPayloadContentType } = this.writeEventBody(unionMember, unionSchema, event);\n const headers = {\n \":event-type\": { type: \"string\", value: eventType },\n \":message-type\": { type: \"string\", value: \"event\" },\n \":content-type\": { type: \"string\", value: explicitPayloadContentType ?? defaultContentType },\n ...additionalHeaders,\n };\n return {\n headers,\n body,\n };\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const marshaller = this.marshaller;\n const eventStreamMember = responseSchema.getEventStreamMember();\n const unionSchema = responseSchema.getMemberSchema(eventStreamMember);\n const memberSchemas = unionSchema.getMemberSchemas();\n const initialResponseMarker = Symbol(\"initialResponseMarker\");\n const asyncIterable = marshaller.deserialize(response.body, async (event) => {\n const unionMember = Object.keys(event).find((key) => {\n return key !== \"__type\";\n }) ?? \"\";\n const body = event[unionMember].body;\n if (unionMember === \"initial-response\") {\n const dataObject = await this.deserializer.read(responseSchema, body);\n delete dataObject[eventStreamMember];\n return {\n [initialResponseMarker]: true,\n ...dataObject,\n };\n }\n else if (unionMember in memberSchemas) {\n const eventStreamSchema = memberSchemas[unionMember];\n if (eventStreamSchema.isStructSchema()) {\n const out = {};\n let hasBindings = false;\n for (const [name, member] of eventStreamSchema.structIterator()) {\n const { eventHeader, eventPayload } = member.getMergedTraits();\n hasBindings = hasBindings || Boolean(eventHeader || eventPayload);\n if (eventPayload) {\n if (member.isBlobSchema()) {\n out[name] = body;\n }\n else if (member.isStringSchema()) {\n out[name] = (this.serdeContext?.utf8Encoder ?? toUtf8)(body);\n }\n else if (member.isStructSchema()) {\n out[name] = await this.deserializer.read(member, body);\n }\n }\n else if (eventHeader) {\n const value = event[unionMember].headers[name]?.value;\n if (value != null) {\n if (member.isNumericSchema()) {\n if (value && typeof value === \"object\" && \"bytes\" in value) {\n out[name] = BigInt(value.toString());\n }\n else {\n out[name] = Number(value);\n }\n }\n else {\n out[name] = value;\n }\n }\n }\n }\n if (hasBindings) {\n return {\n [unionMember]: out,\n };\n }\n if (body.byteLength === 0) {\n return {\n [unionMember]: {},\n };\n }\n }\n return {\n [unionMember]: await this.deserializer.read(eventStreamSchema, body),\n };\n }\n else {\n return {\n $unknown: event,\n };\n }\n });\n const asyncIterator = asyncIterable[Symbol.asyncIterator]();\n const firstEvent = await asyncIterator.next();\n if (firstEvent.done) {\n return asyncIterable;\n }\n if (firstEvent.value?.[initialResponseMarker]) {\n if (!responseSchema) {\n throw new Error(\"@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.\");\n }\n for (const [key, value] of Object.entries(firstEvent.value)) {\n initialResponseContainer[key] = value;\n }\n }\n return {\n async *[Symbol.asyncIterator]() {\n if (!firstEvent?.value?.[initialResponseMarker]) {\n yield firstEvent.value;\n }\n while (true) {\n const { done, value } = await asyncIterator.next();\n if (done) {\n break;\n }\n yield value;\n }\n },\n };\n }\n writeEventBody(unionMember, unionSchema, event) {\n const serializer = this.serializer;\n let eventType = unionMember;\n let explicitPayloadMember = null;\n let explicitPayloadContentType;\n const isKnownSchema = (() => {\n const struct = unionSchema.getSchema();\n return struct[4].includes(unionMember);\n })();\n const additionalHeaders = {};\n if (!isKnownSchema) {\n const [type, value] = event[unionMember];\n eventType = type;\n serializer.write(15, value);\n }\n else {\n const eventSchema = unionSchema.getMemberSchema(unionMember);\n if (eventSchema.isStructSchema()) {\n for (const [memberName, memberSchema] of eventSchema.structIterator()) {\n const { eventHeader, eventPayload } = memberSchema.getMergedTraits();\n if (eventPayload) {\n explicitPayloadMember = memberName;\n }\n else if (eventHeader) {\n const value = event[unionMember][memberName];\n let type = \"binary\";\n if (memberSchema.isNumericSchema()) {\n if ((-2) ** 31 <= value && value <= 2 ** 31 - 1) {\n type = \"integer\";\n }\n else {\n type = \"long\";\n }\n }\n else if (memberSchema.isTimestampSchema()) {\n type = \"timestamp\";\n }\n else if (memberSchema.isStringSchema()) {\n type = \"string\";\n }\n else if (memberSchema.isBooleanSchema()) {\n type = \"boolean\";\n }\n if (value != null) {\n additionalHeaders[memberName] = {\n type,\n value,\n };\n delete event[unionMember][memberName];\n }\n }\n }\n if (explicitPayloadMember !== null) {\n const payloadSchema = eventSchema.getMemberSchema(explicitPayloadMember);\n if (payloadSchema.isBlobSchema()) {\n explicitPayloadContentType = \"application/octet-stream\";\n }\n else if (payloadSchema.isStringSchema()) {\n explicitPayloadContentType = \"text/plain\";\n }\n serializer.write(payloadSchema, event[unionMember][explicitPayloadMember]);\n }\n else {\n serializer.write(eventSchema, event[unionMember]);\n }\n }\n else {\n throw new Error(\"@smithy/core/event-streams - non-struct member not supported in event stream union.\");\n }\n }\n const messageSerialization = serializer.flush();\n const body = typeof messageSerialization === \"string\"\n ? (this.serdeContext?.utf8Decoder ?? fromUtf8)(messageSerialization)\n : messageSerialization;\n return {\n body,\n eventType,\n explicitPayloadContentType,\n additionalHeaders,\n };\n }\n}\n", "export * from \"./EventStreamSerde\";\n", "import { NormalizedSchema, translateTraits } from \"@smithy/core/schema\";\nimport { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { SerdeContext } from \"./SerdeContext\";\nexport class HttpProtocol extends SerdeContext {\n options;\n constructor(options) {\n super();\n this.options = options;\n }\n getRequestType() {\n return HttpRequest;\n }\n getResponseType() {\n return HttpResponse;\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n if (this.getPayloadCodec()) {\n this.getPayloadCodec().setSerdeContext(serdeContext);\n }\n }\n updateServiceEndpoint(request, endpoint) {\n if (\"url\" in endpoint) {\n request.protocol = endpoint.url.protocol;\n request.hostname = endpoint.url.hostname;\n request.port = endpoint.url.port ? Number(endpoint.url.port) : undefined;\n request.path = endpoint.url.pathname;\n request.fragment = endpoint.url.hash || void 0;\n request.username = endpoint.url.username || void 0;\n request.password = endpoint.url.password || void 0;\n if (!request.query) {\n request.query = {};\n }\n for (const [k, v] of endpoint.url.searchParams.entries()) {\n request.query[k] = v;\n }\n return request;\n }\n else {\n request.protocol = endpoint.protocol;\n request.hostname = endpoint.hostname;\n request.port = endpoint.port ? Number(endpoint.port) : undefined;\n request.path = endpoint.path;\n request.query = {\n ...endpoint.query,\n };\n return request;\n }\n }\n setHostPrefix(request, operationSchema, input) {\n if (this.serdeContext?.disableHostPrefix) {\n return;\n }\n const inputNs = NormalizedSchema.of(operationSchema.input);\n const opTraits = translateTraits(operationSchema.traits ?? {});\n if (opTraits.endpoint) {\n let hostPrefix = opTraits.endpoint?.[0];\n if (typeof hostPrefix === \"string\") {\n const hostLabelInputs = [...inputNs.structIterator()].filter(([, member]) => member.getMergedTraits().hostLabel);\n for (const [name] of hostLabelInputs) {\n const replacement = input[name];\n if (typeof replacement !== \"string\") {\n throw new Error(`@smithy/core/schema - ${name} in input must be a string as hostLabel.`);\n }\n hostPrefix = hostPrefix.replace(`{${name}}`, replacement);\n }\n request.hostname = hostPrefix + request.hostname;\n }\n }\n }\n deserializeMetadata(output) {\n return {\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n };\n }\n async serializeEventStream({ eventStream, requestSchema, initialRequest, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.serializeEventStream({\n eventStream,\n requestSchema,\n initialRequest,\n });\n }\n async deserializeEventStream({ response, responseSchema, initialResponseContainer, }) {\n const eventStreamSerde = await this.loadEventStreamCapability();\n return eventStreamSerde.deserializeEventStream({\n response,\n responseSchema,\n initialResponseContainer,\n });\n }\n async loadEventStreamCapability() {\n const { EventStreamSerde } = await import(\"@smithy/core/event-streams\");\n return new EventStreamSerde({\n marshaller: this.getEventStreamMarshaller(),\n serializer: this.serializer,\n deserializer: this.deserializer,\n serdeContext: this.serdeContext,\n defaultContentType: this.getDefaultContentType(),\n });\n }\n getDefaultContentType() {\n throw new Error(`@smithy/core/protocols - ${this.constructor.name} getDefaultContentType() implementation missing.`);\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n void schema;\n void context;\n void response;\n void arg4;\n void arg5;\n return [];\n }\n getEventStreamMarshaller() {\n const context = this.serdeContext;\n if (!context.eventStreamMarshaller) {\n throw new Error(\"@smithy/core - HttpProtocol: eventStreamMarshaller missing in serdeContext.\");\n }\n return context.eventStreamMarshaller;\n }\n}\n", "import { NormalizedSchema, translateTraits } from \"@smithy/core/schema\";\nimport { splitEvery, splitHeader } from \"@smithy/core/serde\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { sdkStreamMixin } from \"@smithy/util-stream\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class HttpBindingProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, _input, context) {\n const input = {\n ...(_input ?? {}),\n };\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const schema = ns.getSchema();\n let hasNonHttpBindingMember = false;\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n const opTraits = translateTraits(operationSchema.traits);\n if (opTraits.http) {\n request.method = opTraits.http[0];\n const [path, search] = opTraits.http[1].split(\"?\");\n if (request.path == \"/\") {\n request.path = path;\n }\n else {\n request.path += path;\n }\n const traitSearchParams = new URLSearchParams(search ?? \"\");\n Object.assign(query, Object.fromEntries(traitSearchParams));\n }\n }\n for (const [memberName, memberNs] of ns.structIterator()) {\n const memberTraits = memberNs.getMergedTraits() ?? {};\n const inputMemberValue = input[memberName];\n if (inputMemberValue == null && !memberNs.isIdempotencyToken()) {\n if (memberTraits.httpLabel) {\n if (request.path.includes(`{${memberName}+}`) || request.path.includes(`{${memberName}}`)) {\n throw new Error(`No value provided for input HTTP label: ${memberName}.`);\n }\n }\n continue;\n }\n if (memberTraits.httpPayload) {\n const isStreaming = memberNs.isStreaming();\n if (isStreaming) {\n const isEventStream = memberNs.isStructSchema();\n if (isEventStream) {\n if (input[memberName]) {\n payload = await this.serializeEventStream({\n eventStream: input[memberName],\n requestSchema: ns,\n });\n }\n }\n else {\n payload = inputMemberValue;\n }\n }\n else {\n serializer.write(memberNs, inputMemberValue);\n payload = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpLabel) {\n serializer.write(memberNs, inputMemberValue);\n const replacement = serializer.flush();\n if (request.path.includes(`{${memberName}+}`)) {\n request.path = request.path.replace(`{${memberName}+}`, replacement.split(\"/\").map(extendedEncodeURIComponent).join(\"/\"));\n }\n else if (request.path.includes(`{${memberName}}`)) {\n request.path = request.path.replace(`{${memberName}}`, extendedEncodeURIComponent(replacement));\n }\n delete input[memberName];\n }\n else if (memberTraits.httpHeader) {\n serializer.write(memberNs, inputMemberValue);\n headers[memberTraits.httpHeader.toLowerCase()] = String(serializer.flush());\n delete input[memberName];\n }\n else if (typeof memberTraits.httpPrefixHeaders === \"string\") {\n for (const [key, val] of Object.entries(inputMemberValue)) {\n const amalgam = memberTraits.httpPrefixHeaders + key;\n serializer.write([memberNs.getValueSchema(), { httpHeader: amalgam }], val);\n headers[amalgam.toLowerCase()] = serializer.flush();\n }\n delete input[memberName];\n }\n else if (memberTraits.httpQuery || memberTraits.httpQueryParams) {\n this.serializeQuery(memberNs, inputMemberValue, query);\n delete input[memberName];\n }\n else {\n hasNonHttpBindingMember = true;\n }\n }\n if (hasNonHttpBindingMember && input) {\n serializer.write(schema, input);\n payload = serializer.flush();\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n return request;\n }\n serializeQuery(ns, data, query) {\n const serializer = this.serializer;\n const traits = ns.getMergedTraits();\n if (traits.httpQueryParams) {\n for (const [key, val] of Object.entries(data)) {\n if (!(key in query)) {\n const valueSchema = ns.getValueSchema();\n Object.assign(valueSchema.getMergedTraits(), {\n ...traits,\n httpQuery: key,\n httpQueryParams: undefined,\n });\n this.serializeQuery(valueSchema, val, query);\n }\n }\n return;\n }\n if (ns.isListSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const buffer = [];\n for (const item of data) {\n serializer.write([ns.getValueSchema(), traits], item);\n const serializable = serializer.flush();\n if (sparse || serializable !== undefined) {\n buffer.push(serializable);\n }\n }\n query[traits.httpQuery] = buffer;\n }\n else {\n serializer.write([ns, traits], data);\n query[traits.httpQuery] = serializer.flush();\n }\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - HTTP Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const nonHttpBindingMembers = await this.deserializeHttpMessage(ns, context, response, dataObject);\n if (nonHttpBindingMembers.length) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n const dataFromBody = await deserializer.read(ns, bytes);\n for (const member of nonHttpBindingMembers) {\n dataObject[member] = dataFromBody[member];\n }\n }\n }\n else if (nonHttpBindingMembers.discardResponseBody) {\n await collectBody(response.body, context);\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n async deserializeHttpMessage(schema, context, response, arg4, arg5) {\n let dataObject;\n if (arg4 instanceof Set) {\n dataObject = arg5;\n }\n else {\n dataObject = arg4;\n }\n let discardResponseBody = true;\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(schema);\n const nonHttpBindingMembers = [];\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMemberTraits();\n if (memberTraits.httpPayload) {\n discardResponseBody = false;\n const isStreaming = memberSchema.isStreaming();\n if (isStreaming) {\n const isEventStream = memberSchema.isStructSchema();\n if (isEventStream) {\n dataObject[memberName] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n });\n }\n else {\n dataObject[memberName] = sdkStreamMixin(response.body);\n }\n }\n else if (response.body) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n dataObject[memberName] = await deserializer.read(memberSchema, bytes);\n }\n }\n }\n else if (memberTraits.httpHeader) {\n const key = String(memberTraits.httpHeader).toLowerCase();\n const value = response.headers[key];\n if (null != value) {\n if (memberSchema.isListSchema()) {\n const headerListValueSchema = memberSchema.getValueSchema();\n headerListValueSchema.getMergedTraits().httpHeader = key;\n let sections;\n if (headerListValueSchema.isTimestampSchema() &&\n headerListValueSchema.getSchema() === 4) {\n sections = splitEvery(value, \",\", 2);\n }\n else {\n sections = splitHeader(value);\n }\n const list = [];\n for (const section of sections) {\n list.push(await deserializer.read(headerListValueSchema, section.trim()));\n }\n dataObject[memberName] = list;\n }\n else {\n dataObject[memberName] = await deserializer.read(memberSchema, value);\n }\n }\n }\n else if (memberTraits.httpPrefixHeaders !== undefined) {\n dataObject[memberName] = {};\n for (const [header, value] of Object.entries(response.headers)) {\n if (header.startsWith(memberTraits.httpPrefixHeaders)) {\n const valueSchema = memberSchema.getValueSchema();\n valueSchema.getMergedTraits().httpHeader = header;\n dataObject[memberName][header.slice(memberTraits.httpPrefixHeaders.length)] = await deserializer.read(valueSchema, value);\n }\n }\n }\n else if (memberTraits.httpResponseCode) {\n dataObject[memberName] = response.statusCode;\n }\n else {\n nonHttpBindingMembers.push(memberName);\n }\n }\n nonHttpBindingMembers.discardResponseBody = discardResponseBody;\n return nonHttpBindingMembers;\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { collectBody } from \"./collect-stream-body\";\nimport { HttpProtocol } from \"./HttpProtocol\";\nexport class RpcProtocol extends HttpProtocol {\n async serializeRequest(operationSchema, input, context) {\n const serializer = this.serializer;\n const query = {};\n const headers = {};\n const endpoint = await context.endpoint();\n const ns = NormalizedSchema.of(operationSchema?.input);\n const schema = ns.getSchema();\n let payload;\n const request = new HttpRequest({\n protocol: \"\",\n hostname: \"\",\n port: undefined,\n path: \"/\",\n fragment: undefined,\n query: query,\n headers: headers,\n body: undefined,\n });\n if (endpoint) {\n this.updateServiceEndpoint(request, endpoint);\n this.setHostPrefix(request, operationSchema, input);\n }\n const _input = {\n ...input,\n };\n if (input) {\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n if (_input[eventStreamMember]) {\n const initialRequest = {};\n for (const [memberName, memberSchema] of ns.structIterator()) {\n if (memberName !== eventStreamMember && _input[memberName]) {\n serializer.write(memberSchema, _input[memberName]);\n initialRequest[memberName] = serializer.flush();\n }\n }\n payload = await this.serializeEventStream({\n eventStream: _input[eventStreamMember],\n requestSchema: ns,\n initialRequest,\n });\n }\n }\n else {\n serializer.write(schema, _input);\n payload = serializer.flush();\n }\n }\n request.headers = headers;\n request.query = query;\n request.body = payload;\n request.method = \"POST\";\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n throw new Error(\"@smithy/core/protocols - RPC Protocol error handler failed to throw.\");\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const eventStreamMember = ns.getEventStreamMember();\n if (eventStreamMember) {\n dataObject[eventStreamMember] = await this.deserializeEventStream({\n response,\n responseSchema: ns,\n initialResponseContainer: dataObject,\n });\n }\n else {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes));\n }\n }\n dataObject.$metadata = this.deserializeMetadata(response);\n return dataObject;\n }\n}\n", "import { extendedEncodeURIComponent } from \"./extended-encode-uri-component\";\nexport const resolvedPath = (resolvedPath, input, memberName, labelValueProvider, uriLabel, isGreedyLabel) => {\n if (input != null && input[memberName] !== undefined) {\n const labelValue = labelValueProvider();\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: \" + memberName + \".\");\n }\n resolvedPath = resolvedPath.replace(uriLabel, isGreedyLabel\n ? labelValue\n .split(\"/\")\n .map((segment) => extendedEncodeURIComponent(segment))\n .join(\"/\")\n : extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: \" + memberName + \".\");\n }\n return resolvedPath;\n};\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { resolvedPath } from \"./resolve-path\";\nexport function requestBuilder(input, context) {\n return new RequestBuilder(input, context);\n}\nexport class RequestBuilder {\n input;\n context;\n query = {};\n method = \"\";\n headers = {};\n path = \"\";\n body = null;\n hostname = \"\";\n resolvePathStack = [];\n constructor(input, context) {\n this.input = input;\n this.context = context;\n }\n async build() {\n const { hostname, protocol = \"https\", port, path: basePath } = await this.context.endpoint();\n this.path = basePath;\n for (const resolvePath of this.resolvePathStack) {\n resolvePath(this.path);\n }\n return new HttpRequest({\n protocol,\n hostname: this.hostname || hostname,\n port,\n method: this.method,\n path: this.path,\n query: this.query,\n body: this.body,\n headers: this.headers,\n });\n }\n hn(hostname) {\n this.hostname = hostname;\n return this;\n }\n bp(uriLabel) {\n this.resolvePathStack.push((basePath) => {\n this.path = `${basePath?.endsWith(\"/\") ? basePath.slice(0, -1) : basePath || \"\"}` + uriLabel;\n });\n return this;\n }\n p(memberName, labelValueProvider, uriLabel, isGreedyLabel) {\n this.resolvePathStack.push((path) => {\n this.path = resolvedPath(path, this.input, memberName, labelValueProvider, uriLabel, isGreedyLabel);\n });\n return this;\n }\n h(headers) {\n this.headers = headers;\n return this;\n }\n q(query) {\n this.query = query;\n return this;\n }\n b(body) {\n this.body = body;\n return this;\n }\n m(method) {\n this.method = method;\n return this;\n }\n}\n", "export function determineTimestampFormat(ns, settings) {\n if (settings.timestampFormat.useTrait) {\n if (ns.isTimestampSchema() &&\n (ns.getSchema() === 5 ||\n ns.getSchema() === 6 ||\n ns.getSchema() === 7)) {\n return ns.getSchema();\n }\n }\n const { httpLabel, httpPrefixHeaders, httpHeader, httpQuery } = ns.getMergedTraits();\n const bindingFormat = settings.httpBindings\n ? typeof httpPrefixHeaders === \"string\" || Boolean(httpHeader)\n ? 6\n : Boolean(httpQuery) || Boolean(httpLabel)\n ? 5\n : undefined\n : undefined;\n return bindingFormat ?? settings.timestampFormat.default;\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { _parseEpochTimestamp, _parseRfc3339DateTimeWithOffset, _parseRfc7231DateTime, LazyJsonString, NumericValue, splitHeader, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class FromStringShapeDeserializer extends SerdeContext {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n read(_schema, data) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isListSchema()) {\n return splitHeader(data).map((item) => this.read(ns.getValueSchema(), item));\n }\n if (ns.isBlobSchema()) {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(data);\n }\n if (ns.isTimestampSchema()) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return _parseRfc3339DateTimeWithOffset(data);\n case 6:\n return _parseRfc7231DateTime(data);\n case 7:\n return _parseEpochTimestamp(data);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", data);\n return new Date(data);\n }\n }\n if (ns.isStringSchema()) {\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = data;\n if (mediaType) {\n if (ns.getMergedTraits().httpHeader) {\n intermediateValue = this.base64ToUtf8(intermediateValue);\n }\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n return intermediateValue;\n }\n }\n if (ns.isNumericSchema()) {\n return Number(data);\n }\n if (ns.isBigIntegerSchema()) {\n return BigInt(data);\n }\n if (ns.isBigDecimalSchema()) {\n return new NumericValue(data, \"bigDecimal\");\n }\n if (ns.isBooleanSchema()) {\n return String(data).toLowerCase() === \"true\";\n }\n return data;\n }\n base64ToUtf8(base64String) {\n return (this.serdeContext?.utf8Encoder ?? toUtf8)((this.serdeContext?.base64Decoder ?? fromBase64)(base64String));\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { FromStringShapeDeserializer } from \"./FromStringShapeDeserializer\";\nexport class HttpInterceptingShapeDeserializer extends SerdeContext {\n codecDeserializer;\n stringDeserializer;\n constructor(codecDeserializer, codecSettings) {\n super();\n this.codecDeserializer = codecDeserializer;\n this.stringDeserializer = new FromStringShapeDeserializer(codecSettings);\n }\n setSerdeContext(serdeContext) {\n this.stringDeserializer.setSerdeContext(serdeContext);\n this.codecDeserializer.setSerdeContext(serdeContext);\n this.serdeContext = serdeContext;\n }\n read(schema, data) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n const toString = this.serdeContext?.utf8Encoder ?? toUtf8;\n if (traits.httpHeader || traits.httpResponseCode) {\n return this.stringDeserializer.read(ns, toString(data));\n }\n if (traits.httpPayload) {\n if (ns.isBlobSchema()) {\n const toBytes = this.serdeContext?.utf8Decoder ?? fromUtf8;\n if (typeof data === \"string\") {\n return toBytes(data);\n }\n return data;\n }\n else if (ns.isStringSchema()) {\n if (\"byteLength\" in data) {\n return toString(data);\n }\n return data;\n }\n }\n return this.codecDeserializer.read(ns, data);\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { dateToUtcString, generateIdempotencyToken, LazyJsonString, quoteHeader } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContext } from \"../SerdeContext\";\nimport { determineTimestampFormat } from \"./determineTimestampFormat\";\nexport class ToStringShapeSerializer extends SerdeContext {\n settings;\n stringBuffer = \"\";\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n switch (typeof value) {\n case \"object\":\n if (value === null) {\n this.stringBuffer = \"null\";\n return;\n }\n if (ns.isTimestampSchema()) {\n if (!(value instanceof Date)) {\n throw new Error(`@smithy/core/protocols - received non-Date value ${value} when schema expected Date in ${ns.getName(true)}`);\n }\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.stringBuffer = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n this.stringBuffer = dateToUtcString(value);\n break;\n case 7:\n this.stringBuffer = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n this.stringBuffer = String(value.getTime() / 1000);\n }\n return;\n }\n if (ns.isBlobSchema() && \"byteLength\" in value) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n return;\n }\n if (ns.isListSchema() && Array.isArray(value)) {\n let buffer = \"\";\n for (const item of value) {\n this.write([ns.getValueSchema(), ns.getMergedTraits()], item);\n const headerItem = this.flush();\n const serialized = ns.getValueSchema().isTimestampSchema() ? headerItem : quoteHeader(headerItem);\n if (buffer !== \"\") {\n buffer += \", \";\n }\n buffer += serialized;\n }\n this.stringBuffer = buffer;\n return;\n }\n this.stringBuffer = JSON.stringify(value, null, 2);\n break;\n case \"string\":\n const mediaType = ns.getMergedTraits().mediaType;\n let intermediateValue = value;\n if (mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n intermediateValue = LazyJsonString.from(intermediateValue);\n }\n if (ns.getMergedTraits().httpHeader) {\n this.stringBuffer = (this.serdeContext?.base64Encoder ?? toBase64)(intermediateValue.toString());\n return;\n }\n }\n this.stringBuffer = value;\n break;\n default:\n if (ns.isIdempotencyToken()) {\n this.stringBuffer = generateIdempotencyToken();\n }\n else {\n this.stringBuffer = String(value);\n }\n }\n }\n flush() {\n const buffer = this.stringBuffer;\n this.stringBuffer = \"\";\n return buffer;\n }\n}\n", "import { NormalizedSchema } from \"@smithy/core/schema\";\nimport { ToStringShapeSerializer } from \"./ToStringShapeSerializer\";\nexport class HttpInterceptingShapeSerializer {\n codecSerializer;\n stringSerializer;\n buffer;\n constructor(codecSerializer, codecSettings, stringSerializer = new ToStringShapeSerializer(codecSettings)) {\n this.codecSerializer = codecSerializer;\n this.stringSerializer = stringSerializer;\n }\n setSerdeContext(serdeContext) {\n this.codecSerializer.setSerdeContext(serdeContext);\n this.stringSerializer.setSerdeContext(serdeContext);\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n const traits = ns.getMergedTraits();\n if (traits.httpHeader || traits.httpLabel || traits.httpQuery) {\n this.stringSerializer.write(ns, value);\n this.buffer = this.stringSerializer.flush();\n return;\n }\n return this.codecSerializer.write(ns, value);\n }\n flush() {\n if (this.buffer !== undefined) {\n const buffer = this.buffer;\n this.buffer = undefined;\n return buffer;\n }\n return this.codecSerializer.flush();\n }\n}\n", "export * from \"./collect-stream-body\";\nexport * from \"./extended-encode-uri-component\";\nexport * from \"./HttpBindingProtocol\";\nexport * from \"./HttpProtocol\";\nexport * from \"./RpcProtocol\";\nexport * from \"./requestBuilder\";\nexport * from \"./resolve-path\";\nexport * from \"./serde/FromStringShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeDeserializer\";\nexport * from \"./serde/HttpInterceptingShapeSerializer\";\nexport * from \"./serde/ToStringShapeSerializer\";\nexport * from \"./serde/determineTimestampFormat\";\nexport * from \"./SerdeContext\";\n", "export { requestBuilder } from \"@smithy/core/protocols\";\n", "export function setFeature(context, feature, value) {\n if (!context.__smithy_context) {\n context.__smithy_context = {\n features: {},\n };\n }\n else if (!context.__smithy_context.features) {\n context.__smithy_context.features = {};\n }\n context.__smithy_context.features[feature] = value;\n}\n", "export class DefaultIdentityProviderConfig {\n authSchemes = new Map();\n constructor(config) {\n for (const [key, value] of Object.entries(config)) {\n if (value !== undefined) {\n this.authSchemes.set(key, value);\n }\n }\n }\n getIdentityProvider(schemeId) {\n return this.authSchemes.get(schemeId);\n }\n}\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { HttpApiKeyAuthLocation } from \"@smithy/types\";\nexport class HttpApiKeyAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n if (!signingProperties) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` and `in` signer properties are missing\");\n }\n if (!signingProperties.name) {\n throw new Error(\"request could not be signed with `apiKey` since the `name` signer property is missing\");\n }\n if (!signingProperties.in) {\n throw new Error(\"request could not be signed with `apiKey` since the `in` signer property is missing\");\n }\n if (!identity.apiKey) {\n throw new Error(\"request could not be signed with `apiKey` since the `apiKey` is not defined\");\n }\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (signingProperties.in === HttpApiKeyAuthLocation.QUERY) {\n clonedRequest.query[signingProperties.name] = identity.apiKey;\n }\n else if (signingProperties.in === HttpApiKeyAuthLocation.HEADER) {\n clonedRequest.headers[signingProperties.name] = signingProperties.scheme\n ? `${signingProperties.scheme} ${identity.apiKey}`\n : identity.apiKey;\n }\n else {\n throw new Error(\"request can only be signed with `apiKey` locations `query` or `header`, \" +\n \"but found: `\" +\n signingProperties.in +\n \"`\");\n }\n return clonedRequest;\n }\n}\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nexport class HttpBearerAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n const clonedRequest = HttpRequest.clone(httpRequest);\n if (!identity.token) {\n throw new Error(\"request could not be signed with `token` since the `token` is not defined\");\n }\n clonedRequest.headers[\"Authorization\"] = `Bearer ${identity.token}`;\n return clonedRequest;\n }\n}\n", "export class NoAuthSigner {\n async sign(httpRequest, identity, signingProperties) {\n return httpRequest;\n }\n}\n", "export * from \"./httpApiKeyAuth\";\nexport * from \"./httpBearerAuth\";\nexport * from \"./noAuth\";\n", "export const createIsIdentityExpiredFunction = (expirationMs) => function isIdentityExpired(identity) {\n return doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs;\n};\nexport const EXPIRATION_MS = 300_000;\nexport const isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);\nexport const doesIdentityRequireRefresh = (identity) => identity.expiration !== undefined;\nexport const memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => {\n if (provider === undefined) {\n return undefined;\n }\n const normalizedProvider = typeof provider !== \"function\" ? async () => Promise.resolve(provider) : provider;\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async (options) => {\n if (!pending) {\n pending = normalizedProvider(options);\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n if (isConstant) {\n return resolved;\n }\n if (!requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider(options);\n return resolved;\n }\n return resolved;\n };\n};\n", "export * from \"./DefaultIdentityProviderConfig\";\nexport * from \"./httpAuthSchemes\";\nexport * from \"./memoizeIdentityProvider\";\n", "export * from \"./getSmithyContext\";\nexport * from \"./middleware-http-auth-scheme\";\nexport * from \"./middleware-http-signing\";\nexport * from \"./normalizeProvider\";\nexport { createPaginator } from \"./pagination/createPaginator\";\nexport * from \"./request-builder/requestBuilder\";\nexport * from \"./setFeature\";\nexport * from \"./util-identity-and-auth\";\n", "'use strict';\n\nvar types = require('@smithy/types');\n\nclass EndpointCache {\n capacity;\n data = new Map();\n parameters = [];\n constructor({ size, params }) {\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\nconst 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}$`);\nconst isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith(\"[\") && value.endsWith(\"]\"));\n\nconst VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);\nconst 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\nconst customEndpointFunctions = {};\n\nconst debugId = \"endpoints\";\n\nfunction 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\nclass EndpointError extends Error {\n constructor(message) {\n super(message);\n this.name = \"EndpointError\";\n }\n}\n\nconst booleanEquals = (value1, value2) => value1 === value2;\n\nconst 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\nconst 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\nconst isSet = (value) => value != null;\n\nconst not = (value) => !value;\n\nconst DEFAULT_PORTS = {\n [types.EndpointURLScheme.HTTP]: 80,\n [types.EndpointURLScheme.HTTPS]: 443,\n};\nconst 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(types.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\nconst stringEquals = (value1, value2) => value1 === value2;\n\nconst 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\nconst uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);\n\nconst endpointFunctions = {\n booleanEquals,\n getAttr,\n isSet,\n isValidHostLabel,\n not,\n parseURL,\n stringEquals,\n substring,\n uriEncode,\n};\n\nconst 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\nconst getReferenceValue = ({ ref }, options) => {\n const referenceRecord = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n return referenceRecord[ref];\n};\n\nconst evaluateExpression = (obj, keyName, options) => {\n if (typeof obj === \"string\") {\n return evaluateTemplate(obj, options);\n }\n else if (obj[\"fn\"]) {\n return group$2.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};\nconst callFunction = ({ fn, argv }, options) => {\n const evaluatedArgs = argv.map((arg) => [\"boolean\", \"number\"].includes(typeof arg) ? arg : group$2.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};\nconst group$2 = {\n evaluateExpression,\n callFunction,\n};\n\nconst 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\nconst 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\nconst 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\nconst getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({\n ...acc,\n [propertyKey]: group$1.getEndpointProperty(propertyVal, options),\n}), {});\nconst 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 group$1.getEndpointProperties(property, options);\n case \"boolean\":\n return property;\n default:\n throw new EndpointError(`Unexpected endpoint property type: ${typeof property}`);\n }\n};\nconst group$1 = {\n getEndpointProperty,\n getEndpointProperties,\n};\n\nconst 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\nconst 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\nconst 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\nconst 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 = group.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};\nconst evaluateTreeRule = (treeRule, options) => {\n const { conditions, rules } = treeRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n return group.evaluateRules(rules, {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n });\n};\nconst group = {\n evaluateRules,\n evaluateTreeRule,\n};\n\nconst 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\nexports.EndpointCache = EndpointCache;\nexports.EndpointError = EndpointError;\nexports.customEndpointFunctions = customEndpointFunctions;\nexports.isIpAddress = isIpAddress;\nexports.isValidHostLabel = isValidHostLabel;\nexports.resolveEndpoint = resolveEndpoint;\n", "'use strict';\n\nfunction parseQueryString(querystring) {\n const query = {};\n querystring = querystring.replace(/^\\?/, \"\");\n if (querystring) {\n for (const pair of querystring.split(\"&\")) {\n let [key, value = null] = pair.split(\"=\");\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n }\n else if (Array.isArray(query[key])) {\n query[key].push(value);\n }\n else {\n query[key] = [query[key], value];\n }\n }\n }\n return query;\n}\n\nexports.parseQueryString = parseQueryString;\n", "'use strict';\n\nvar querystringParser = require('@smithy/querystring-parser');\n\nconst parseUrl = (url) => {\n if (typeof url === \"string\") {\n return parseUrl(new URL(url));\n }\n const { hostname, pathname, port, protocol, search } = url;\n let query;\n if (search) {\n query = querystringParser.parseQueryString(search);\n }\n return {\n hostname,\n port: port ? parseInt(port) : undefined,\n protocol,\n path: pathname,\n query,\n };\n};\n\nexports.parseUrl = parseUrl;\n", "'use strict';\n\nvar utilEndpoints = require('@smithy/util-endpoints');\nvar urlParser = require('@smithy/url-parser');\n\nconst 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 (!utilEndpoints.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 (utilEndpoints.isIpAddress(value)) {\n return false;\n }\n return true;\n};\n\nconst ARN_DELIMITER = \":\";\nconst RESOURCE_DELIMITER = \"/\";\nconst 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\nvar partitions = [\n\t{\n\t\tid: \"aws\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"amazonaws.com\",\n\t\t\tdualStackDnsSuffix: \"api.aws\",\n\t\t\timplicitGlobalRegion: \"us-east-1\",\n\t\t\tname: \"aws\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^(us|eu|ap|sa|ca|me|af|il|mx)\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"af-south-1\": {\n\t\t\t\tdescription: \"Africa (Cape Town)\"\n\t\t\t},\n\t\t\t\"ap-east-1\": {\n\t\t\t\tdescription: \"Asia Pacific (Hong Kong)\"\n\t\t\t},\n\t\t\t\"ap-east-2\": {\n\t\t\t\tdescription: \"Asia Pacific (Taipei)\"\n\t\t\t},\n\t\t\t\"ap-northeast-1\": {\n\t\t\t\tdescription: \"Asia Pacific (Tokyo)\"\n\t\t\t},\n\t\t\t\"ap-northeast-2\": {\n\t\t\t\tdescription: \"Asia Pacific (Seoul)\"\n\t\t\t},\n\t\t\t\"ap-northeast-3\": {\n\t\t\t\tdescription: \"Asia Pacific (Osaka)\"\n\t\t\t},\n\t\t\t\"ap-south-1\": {\n\t\t\t\tdescription: \"Asia Pacific (Mumbai)\"\n\t\t\t},\n\t\t\t\"ap-south-2\": {\n\t\t\t\tdescription: \"Asia Pacific (Hyderabad)\"\n\t\t\t},\n\t\t\t\"ap-southeast-1\": {\n\t\t\t\tdescription: \"Asia Pacific (Singapore)\"\n\t\t\t},\n\t\t\t\"ap-southeast-2\": {\n\t\t\t\tdescription: \"Asia Pacific (Sydney)\"\n\t\t\t},\n\t\t\t\"ap-southeast-3\": {\n\t\t\t\tdescription: \"Asia Pacific (Jakarta)\"\n\t\t\t},\n\t\t\t\"ap-southeast-4\": {\n\t\t\t\tdescription: \"Asia Pacific (Melbourne)\"\n\t\t\t},\n\t\t\t\"ap-southeast-5\": {\n\t\t\t\tdescription: \"Asia Pacific (Malaysia)\"\n\t\t\t},\n\t\t\t\"ap-southeast-6\": {\n\t\t\t\tdescription: \"Asia Pacific (New Zealand)\"\n\t\t\t},\n\t\t\t\"ap-southeast-7\": {\n\t\t\t\tdescription: \"Asia Pacific (Thailand)\"\n\t\t\t},\n\t\t\t\"aws-global\": {\n\t\t\t\tdescription: \"aws global region\"\n\t\t\t},\n\t\t\t\"ca-central-1\": {\n\t\t\t\tdescription: \"Canada (Central)\"\n\t\t\t},\n\t\t\t\"ca-west-1\": {\n\t\t\t\tdescription: \"Canada West (Calgary)\"\n\t\t\t},\n\t\t\t\"eu-central-1\": {\n\t\t\t\tdescription: \"Europe (Frankfurt)\"\n\t\t\t},\n\t\t\t\"eu-central-2\": {\n\t\t\t\tdescription: \"Europe (Zurich)\"\n\t\t\t},\n\t\t\t\"eu-north-1\": {\n\t\t\t\tdescription: \"Europe (Stockholm)\"\n\t\t\t},\n\t\t\t\"eu-south-1\": {\n\t\t\t\tdescription: \"Europe (Milan)\"\n\t\t\t},\n\t\t\t\"eu-south-2\": {\n\t\t\t\tdescription: \"Europe (Spain)\"\n\t\t\t},\n\t\t\t\"eu-west-1\": {\n\t\t\t\tdescription: \"Europe (Ireland)\"\n\t\t\t},\n\t\t\t\"eu-west-2\": {\n\t\t\t\tdescription: \"Europe (London)\"\n\t\t\t},\n\t\t\t\"eu-west-3\": {\n\t\t\t\tdescription: \"Europe (Paris)\"\n\t\t\t},\n\t\t\t\"il-central-1\": {\n\t\t\t\tdescription: \"Israel (Tel Aviv)\"\n\t\t\t},\n\t\t\t\"me-central-1\": {\n\t\t\t\tdescription: \"Middle East (UAE)\"\n\t\t\t},\n\t\t\t\"me-south-1\": {\n\t\t\t\tdescription: \"Middle East (Bahrain)\"\n\t\t\t},\n\t\t\t\"mx-central-1\": {\n\t\t\t\tdescription: \"Mexico (Central)\"\n\t\t\t},\n\t\t\t\"sa-east-1\": {\n\t\t\t\tdescription: \"South America (Sao Paulo)\"\n\t\t\t},\n\t\t\t\"us-east-1\": {\n\t\t\t\tdescription: \"US East (N. Virginia)\"\n\t\t\t},\n\t\t\t\"us-east-2\": {\n\t\t\t\tdescription: \"US East (Ohio)\"\n\t\t\t},\n\t\t\t\"us-west-1\": {\n\t\t\t\tdescription: \"US West (N. California)\"\n\t\t\t},\n\t\t\t\"us-west-2\": {\n\t\t\t\tdescription: \"US West (Oregon)\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-cn\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"amazonaws.com.cn\",\n\t\t\tdualStackDnsSuffix: \"api.amazonwebservices.com.cn\",\n\t\t\timplicitGlobalRegion: \"cn-northwest-1\",\n\t\t\tname: \"aws-cn\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^cn\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-cn-global\": {\n\t\t\t\tdescription: \"aws-cn global region\"\n\t\t\t},\n\t\t\t\"cn-north-1\": {\n\t\t\t\tdescription: \"China (Beijing)\"\n\t\t\t},\n\t\t\t\"cn-northwest-1\": {\n\t\t\t\tdescription: \"China (Ningxia)\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-eusc\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"amazonaws.eu\",\n\t\t\tdualStackDnsSuffix: \"api.amazonwebservices.eu\",\n\t\t\timplicitGlobalRegion: \"eusc-de-east-1\",\n\t\t\tname: \"aws-eusc\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^eusc\\\\-(de)\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"eusc-de-east-1\": {\n\t\t\t\tdescription: \"AWS European Sovereign Cloud (Germany)\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-iso\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"c2s.ic.gov\",\n\t\t\tdualStackDnsSuffix: \"api.aws.ic.gov\",\n\t\t\timplicitGlobalRegion: \"us-iso-east-1\",\n\t\t\tname: \"aws-iso\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-iso-global\": {\n\t\t\t\tdescription: \"aws-iso global region\"\n\t\t\t},\n\t\t\t\"us-iso-east-1\": {\n\t\t\t\tdescription: \"US ISO East\"\n\t\t\t},\n\t\t\t\"us-iso-west-1\": {\n\t\t\t\tdescription: \"US ISO WEST\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-iso-b\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"sc2s.sgov.gov\",\n\t\t\tdualStackDnsSuffix: \"api.aws.scloud\",\n\t\t\timplicitGlobalRegion: \"us-isob-east-1\",\n\t\t\tname: \"aws-iso-b\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-iso-b-global\": {\n\t\t\t\tdescription: \"aws-iso-b global region\"\n\t\t\t},\n\t\t\t\"us-isob-east-1\": {\n\t\t\t\tdescription: \"US ISOB East (Ohio)\"\n\t\t\t},\n\t\t\t\"us-isob-west-1\": {\n\t\t\t\tdescription: \"US ISOB West\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-iso-e\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"cloud.adc-e.uk\",\n\t\t\tdualStackDnsSuffix: \"api.cloud-aws.adc-e.uk\",\n\t\t\timplicitGlobalRegion: \"eu-isoe-west-1\",\n\t\t\tname: \"aws-iso-e\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^eu\\\\-isoe\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-iso-e-global\": {\n\t\t\t\tdescription: \"aws-iso-e global region\"\n\t\t\t},\n\t\t\t\"eu-isoe-west-1\": {\n\t\t\t\tdescription: \"EU ISOE West\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-iso-f\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"csp.hci.ic.gov\",\n\t\t\tdualStackDnsSuffix: \"api.aws.hci.ic.gov\",\n\t\t\timplicitGlobalRegion: \"us-isof-south-1\",\n\t\t\tname: \"aws-iso-f\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^us\\\\-isof\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-iso-f-global\": {\n\t\t\t\tdescription: \"aws-iso-f global region\"\n\t\t\t},\n\t\t\t\"us-isof-east-1\": {\n\t\t\t\tdescription: \"US ISOF EAST\"\n\t\t\t},\n\t\t\t\"us-isof-south-1\": {\n\t\t\t\tdescription: \"US ISOF SOUTH\"\n\t\t\t}\n\t\t}\n\t},\n\t{\n\t\tid: \"aws-us-gov\",\n\t\toutputs: {\n\t\t\tdnsSuffix: \"amazonaws.com\",\n\t\t\tdualStackDnsSuffix: \"api.aws\",\n\t\t\timplicitGlobalRegion: \"us-gov-west-1\",\n\t\t\tname: \"aws-us-gov\",\n\t\t\tsupportsDualStack: true,\n\t\t\tsupportsFIPS: true\n\t\t},\n\t\tregionRegex: \"^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$\",\n\t\tregions: {\n\t\t\t\"aws-us-gov-global\": {\n\t\t\t\tdescription: \"aws-us-gov global region\"\n\t\t\t},\n\t\t\t\"us-gov-east-1\": {\n\t\t\t\tdescription: \"AWS GovCloud (US-East)\"\n\t\t\t},\n\t\t\t\"us-gov-west-1\": {\n\t\t\t\tdescription: \"AWS GovCloud (US-West)\"\n\t\t\t}\n\t\t}\n\t}\n];\nvar version = \"1.1\";\nvar partitionsInfo = {\n\tpartitions: partitions,\n\tversion: version\n};\n\nlet selectedPartitionsInfo = partitionsInfo;\nlet selectedUserAgentPrefix = \"\";\nconst 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};\nconst setPartitionInfo = (partitionsInfo, userAgentPrefix = \"\") => {\n selectedPartitionsInfo = partitionsInfo;\n selectedUserAgentPrefix = userAgentPrefix;\n};\nconst useDefaultPartitionInfo = () => {\n setPartitionInfo(partitionsInfo, \"\");\n};\nconst getUserAgentPrefix = () => selectedUserAgentPrefix;\n\nconst awsEndpointFunctions = {\n isVirtualHostableS3Bucket: isVirtualHostableS3Bucket,\n parseArn: parseArn,\n partition: partition,\n};\nutilEndpoints.customEndpointFunctions.aws = awsEndpointFunctions;\n\nconst resolveDefaultAwsRegionalEndpointsConfig = (input) => {\n if (typeof input.endpointProvider !== \"function\") {\n throw new Error(\"@aws-sdk/util-endpoint - endpointProvider and endpoint missing in config for this client.\");\n }\n const { endpoint } = input;\n if (endpoint === undefined) {\n input.endpoint = async () => {\n return toEndpointV1(input.endpointProvider({\n Region: typeof input.region === \"function\" ? await input.region() : input.region,\n UseDualStack: typeof input.useDualstackEndpoint === \"function\"\n ? await input.useDualstackEndpoint()\n : input.useDualstackEndpoint,\n UseFIPS: typeof input.useFipsEndpoint === \"function\" ? await input.useFipsEndpoint() : input.useFipsEndpoint,\n Endpoint: undefined,\n }, { logger: input.logger }));\n };\n }\n return input;\n};\nconst toEndpointV1 = (endpoint) => urlParser.parseUrl(endpoint.url);\n\nObject.defineProperty(exports, \"EndpointError\", {\n enumerable: true,\n get: function () { return utilEndpoints.EndpointError; }\n});\nObject.defineProperty(exports, \"isIpAddress\", {\n enumerable: true,\n get: function () { return utilEndpoints.isIpAddress; }\n});\nObject.defineProperty(exports, \"resolveEndpoint\", {\n enumerable: true,\n get: function () { return utilEndpoints.resolveEndpoint; }\n});\nexports.awsEndpointFunctions = awsEndpointFunctions;\nexports.getUserAgentPrefix = getUserAgentPrefix;\nexports.partition = partition;\nexports.resolveDefaultAwsRegionalEndpointsConfig = resolveDefaultAwsRegionalEndpointsConfig;\nexports.setPartitionInfo = setPartitionInfo;\nexports.toEndpointV1 = toEndpointV1;\nexports.useDefaultPartitionInfo = useDefaultPartitionInfo;\n", "export const state = {\n warningEmitted: false,\n};\nexport const emitWarningIfUnsupportedVersion = (version) => {\n if (version && !state.warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 20) {\n state.warningEmitted = true;\n process.emitWarning(`NodeDeprecationWarning: The AWS SDK for JavaScript (v3) will\nno longer support Node.js ${version} in January 2026.\n\nTo continue receiving updates to AWS services, bug fixes, and security\nupdates please upgrade to a supported Node.js LTS version.\n\nMore information can be found at: https://a.co/c895JFp`);\n }\n};\n", "export function setCredentialFeature(credentials, feature, value) {\n if (!credentials.$source) {\n credentials.$source = {};\n }\n credentials.$source[feature] = value;\n return credentials;\n}\n", "export function setFeature(context, feature, value) {\n if (!context.__aws_sdk_context) {\n context.__aws_sdk_context = {\n features: {},\n };\n }\n else if (!context.__aws_sdk_context.features) {\n context.__aws_sdk_context.features = {};\n }\n context.__aws_sdk_context.features[feature] = value;\n}\n", "export function setTokenFeature(token, feature, value) {\n if (!token.$source) {\n token.$source = {};\n }\n token.$source[feature] = value;\n return token;\n}\n", "export * from \"./emitWarningIfUnsupportedVersion\";\nexport * from \"./setCredentialFeature\";\nexport * from \"./setFeature\";\nexport * from \"./setTokenFeature\";\n", "import { HttpResponse } from \"@smithy/protocol-http\";\nexport const getDateHeader = (response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;\n", "export const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\n", "import { getSkewCorrectedDate } from \"./getSkewCorrectedDate\";\nexport const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;\n", "import { isClockSkewed } from \"./isClockSkewed\";\nexport const getUpdatedSystemClockOffset = (clockTime, currentSystemClockOffset) => {\n const clockTimeInMs = Date.parse(clockTime);\n if (isClockSkewed(clockTimeInMs, currentSystemClockOffset)) {\n return clockTimeInMs - Date.now();\n }\n return currentSystemClockOffset;\n};\n", "export * from \"./getDateHeader\";\nexport * from \"./getSkewCorrectedDate\";\nexport * from \"./getUpdatedSystemClockOffset\";\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getDateHeader, getSkewCorrectedDate, getUpdatedSystemClockOffset } from \"../utils\";\nconst throwSigningPropertyError = (name, property) => {\n if (!property) {\n throw new Error(`Property \\`${name}\\` is not resolved for AWS SDK SigV4Auth`);\n }\n return property;\n};\nexport const validateSigningProperties = async (signingProperties) => {\n const context = throwSigningPropertyError(\"context\", signingProperties.context);\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const authScheme = context.endpointV2?.properties?.authSchemes?.[0];\n const signerFunction = throwSigningPropertyError(\"signer\", config.signer);\n const signer = await signerFunction(authScheme);\n const signingRegion = signingProperties?.signingRegion;\n const signingRegionSet = signingProperties?.signingRegionSet;\n const signingName = signingProperties?.signingName;\n return {\n config,\n signer,\n signingRegion,\n signingRegionSet,\n signingName,\n };\n};\nexport class AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const validatedProps = await validateSigningProperties(signingProperties);\n const { config, signer } = validatedProps;\n let { signingRegion, signingName } = validatedProps;\n const handlerExecutionContext = signingProperties.context;\n if (handlerExecutionContext?.authSchemes?.length ?? 0 > 1) {\n const [first, second] = handlerExecutionContext.authSchemes;\n if (first?.name === \"sigv4a\" && second?.name === \"sigv4\") {\n signingRegion = second?.signingRegion ?? signingRegion;\n signingName = second?.signingName ?? signingName;\n }\n }\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: signingRegion,\n signingService: signingName,\n });\n return signedRequest;\n }\n errorHandler(signingProperties) {\n return (error) => {\n const serverTime = error.ServerTime ?? getDateHeader(error.$response);\n if (serverTime) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n const initialSystemClockOffset = config.systemClockOffset;\n config.systemClockOffset = getUpdatedSystemClockOffset(serverTime, config.systemClockOffset);\n const clockSkewCorrected = config.systemClockOffset !== initialSystemClockOffset;\n if (clockSkewCorrected && error.$metadata) {\n error.$metadata.clockSkewCorrected = true;\n }\n }\n throw error;\n };\n }\n successHandler(httpResponse, signingProperties) {\n const dateHeader = getDateHeader(httpResponse);\n if (dateHeader) {\n const config = throwSigningPropertyError(\"config\", signingProperties.config);\n config.systemClockOffset = getUpdatedSystemClockOffset(dateHeader, config.systemClockOffset);\n }\n }\n}\nexport const AWSSDKSigV4Signer = AwsSdkSigV4Signer;\n", "import { HttpRequest } from \"@smithy/protocol-http\";\nimport { getSkewCorrectedDate } from \"../utils\";\nimport { AwsSdkSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {\n async sign(httpRequest, identity, signingProperties) {\n if (!HttpRequest.isInstance(httpRequest)) {\n throw new Error(\"The request is not an instance of `HttpRequest` and cannot be signed\");\n }\n const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);\n const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();\n const multiRegionOverride = (configResolvedSigningRegionSet ??\n signingRegionSet ?? [signingRegion]).join(\",\");\n const signedRequest = await signer.sign(httpRequest, {\n signingDate: getSkewCorrectedDate(config.systemClockOffset),\n signingRegion: multiRegionOverride,\n signingService: signingName,\n });\n return signedRequest;\n }\n}\n", "export const getArrayForCommaSeparatedString = (str) => typeof str === \"string\" && str.length > 0 ? str.split(\",\").map((item) => item.trim()) : [];\n", "export const getBearerTokenEnvKey = (signingName) => `AWS_BEARER_TOKEN_${signingName.replace(/[\\s-]/g, \"_\").toUpperCase()}`;\n", "import { getArrayForCommaSeparatedString } from \"../utils/getArrayForCommaSeparatedString\";\nimport { getBearerTokenEnvKey } from \"../utils/getBearerTokenEnvKey\";\nconst NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY = \"AWS_AUTH_SCHEME_PREFERENCE\";\nconst NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY = \"auth_scheme_preference\";\nexport const NODE_AUTH_SCHEME_PREFERENCE_OPTIONS = {\n environmentVariableSelector: (env, options) => {\n if (options?.signingName) {\n const bearerTokenKey = getBearerTokenEnvKey(options.signingName);\n if (bearerTokenKey in env)\n return [\"httpBearerAuth\"];\n }\n if (!(NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY in env))\n return undefined;\n return getArrayForCommaSeparatedString(env[NODE_AUTH_SCHEME_PREFERENCE_ENV_KEY]);\n },\n configFileSelector: (profile) => {\n if (!(NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY in profile))\n return undefined;\n return getArrayForCommaSeparatedString(profile[NODE_AUTH_SCHEME_PREFERENCE_CONFIG_KEY]);\n },\n default: [],\n};\n", "'use strict';\n\nclass ProviderError extends Error {\n name = \"ProviderError\";\n tryNextLink;\n constructor(message, options = true) {\n let logger;\n let tryNextLink = true;\n if (typeof options === \"boolean\") {\n logger = undefined;\n tryNextLink = options;\n }\n else if (options != null && typeof options === \"object\") {\n logger = options.logger;\n tryNextLink = options.tryNextLink ?? true;\n }\n super(message);\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, ProviderError.prototype);\n logger?.debug?.(`@smithy/property-provider ${tryNextLink ? \"->\" : \"(!)\"} ${message}`);\n }\n static from(error, options = true) {\n return Object.assign(new this(error.message, options), error);\n }\n}\n\nclass CredentialsProviderError extends ProviderError {\n name = \"CredentialsProviderError\";\n constructor(message, options = true) {\n super(message, options);\n Object.setPrototypeOf(this, CredentialsProviderError.prototype);\n }\n}\n\nclass TokenProviderError extends ProviderError {\n name = \"TokenProviderError\";\n constructor(message, options = true) {\n super(message, options);\n Object.setPrototypeOf(this, TokenProviderError.prototype);\n }\n}\n\nconst 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\nconst fromStatic = (staticValue) => () => Promise.resolve(staticValue);\n\nconst 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\nexports.CredentialsProviderError = CredentialsProviderError;\nexports.ProviderError = ProviderError;\nexports.TokenProviderError = TokenProviderError;\nexports.chain = chain;\nexports.fromStatic = fromStatic;\nexports.memoize = memoize;\n", "import { normalizeProvider } from \"@smithy/core\";\nimport { ProviderError } from \"@smithy/property-provider\";\nexport const resolveAwsSdkSigV4AConfig = (config) => {\n config.sigv4aSigningRegionSet = normalizeProvider(config.sigv4aSigningRegionSet);\n return config;\n};\nexport const NODE_SIGV4A_CONFIG_OPTIONS = {\n environmentVariableSelector(env) {\n if (env.AWS_SIGV4A_SIGNING_REGION_SET) {\n return env.AWS_SIGV4A_SIGNING_REGION_SET.split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"AWS_SIGV4A_SIGNING_REGION_SET not set in env.\", {\n tryNextLink: true,\n });\n },\n configFileSelector(profile) {\n if (profile.sigv4a_signing_region_set) {\n return (profile.sigv4a_signing_region_set ?? \"\").split(\",\").map((_) => _.trim());\n }\n throw new ProviderError(\"sigv4a_signing_region_set not set in profile.\", {\n tryNextLink: true,\n });\n },\n default: undefined,\n};\n", "'use strict';\n\nvar utilHexEncoding = require('@smithy/util-hex-encoding');\nvar utilUtf8 = require('@smithy/util-utf8');\nvar isArrayBuffer = require('@smithy/is-array-buffer');\nvar protocolHttp = require('@smithy/protocol-http');\nvar utilMiddleware = require('@smithy/util-middleware');\nvar utilUriEscape = require('@smithy/util-uri-escape');\n\nconst ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nconst CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nconst AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nconst SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nconst EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nconst SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nconst TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nconst REGION_SET_PARAM = \"X-Amz-Region-Set\";\nconst AUTH_HEADER = \"authorization\";\nconst AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nconst DATE_HEADER = \"date\";\nconst GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nconst SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nconst SHA256_HEADER = \"x-amz-content-sha256\";\nconst TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nconst HOST_HEADER = \"host\";\nconst ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nconst PROXY_HEADER_PATTERN = /^proxy-/;\nconst SEC_HEADER_PATTERN = /^sec-/;\nconst UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nconst ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nconst ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nconst EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nconst UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nconst MAX_CACHE_SIZE = 50;\nconst KEY_TYPE_IDENTIFIER = \"aws4_request\";\nconst MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n\nconst signingKeyCache = {};\nconst cacheQueue = [];\nconst createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\nconst getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${utilHexEncoding.toHex(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key);\n};\nconst clearCredentialCache = () => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n};\nconst hmac = (ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update(utilUtf8.toUint8Array(data));\n return hash.digest();\n};\n\nconst getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == undefined) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n};\n\nconst getPayloadHash = async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n }\n else if (typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer.isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(utilUtf8.toUint8Array(body));\n return utilHexEncoding.toHex(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n};\n\nclass HeaderFormatter {\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = utilUtf8.fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = utilUtf8.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(utilHexEncoding.fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n}\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nclass Int64 {\n bytes;\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9_223_372_036_854_775_807 || number < -9223372036854776e3) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(utilHexEncoding.toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n\nconst hasHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\n\nconst moveHeadersToQuery = (request, options = {}) => {\n const { headers, query = {} } = protocolHttp.HttpRequest.clone(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if ((lname.slice(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname)) ||\n options.hoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query,\n };\n};\n\nconst prepareRequest = (request) => {\n request = protocolHttp.HttpRequest.clone(request);\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n};\n\nconst getCanonicalQuery = ({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query)) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n const encodedKey = utilUriEscape.escapeUri(key);\n keys.push(encodedKey);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[encodedKey] = `${encodedKey}=${utilUriEscape.escapeUri(value)}`;\n }\n else if (Array.isArray(value)) {\n serialized[encodedKey] = value\n .slice(0)\n .reduce((encoded, value) => encoded.concat([`${encodedKey}=${utilUriEscape.escapeUri(value)}`]), [])\n .sort()\n .join(\"&\");\n }\n }\n return keys\n .sort()\n .map((key) => serialized[key])\n .filter((serialized) => serialized)\n .join(\"&\");\n};\n\nconst iso8601 = (time) => toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\nconst toDate = (time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n};\n\nclass SignatureV4Base {\n service;\n regionProvider;\n credentialProvider;\n sha256;\n uriEscapePath;\n applyChecksum;\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = utilMiddleware.normalizeProvider(region);\n this.credentialProvider = utilMiddleware.normalizeProvider(credentials);\n }\n createCanonicalRequest(request, canonicalHeaders, payloadHash) {\n const sortedHeaders = Object.keys(canonicalHeaders).sort();\n return `${request.method}\n${this.getCanonicalPath(request)}\n${getCanonicalQuery(request)}\n${sortedHeaders.map((name) => `${name}:${canonicalHeaders[name]}`).join(\"\\n\")}\n\n${sortedHeaders.join(\";\")}\n${payloadHash}`;\n }\n async createStringToSign(longDate, credentialScope, canonicalRequest, algorithmIdentifier) {\n const hash = new this.sha256();\n hash.update(utilUtf8.toUint8Array(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${algorithmIdentifier}\n${longDate}\n${credentialScope}\n${utilHexEncoding.toHex(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if (pathSegment?.length === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = utilUriEscape.escapeUri(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n validateResolvedCredentials(credentials) {\n if (typeof credentials !== \"object\" ||\n typeof credentials.accessKeyId !== \"string\" ||\n typeof credentials.secretAccessKey !== \"string\") {\n throw new Error(\"Resolved credential object is not valid\");\n }\n }\n formatDate(now) {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8),\n };\n }\n getCanonicalHeaderList(headers) {\n return Object.keys(headers).sort().join(\";\");\n }\n}\n\nclass SignatureV4 extends SignatureV4Base {\n headerFormatter = new HeaderFormatter();\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n super({\n applyChecksum,\n credentials,\n region,\n service,\n sha256,\n uriEscapePath,\n });\n }\n async presign(originalRequest, options = {}) {\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, hoistableHeaders, signingRegion, signingService, } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { longDate, shortDate } = this.formatDate(signingDate);\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\");\n }\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders, hoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = `${credentials.accessKeyId}/${scope}`;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = this.getCanonicalHeaderList(canonicalHeaders);\n request.query[SIGNATURE_QUERY_PARAM] = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, await getPayloadHash(originalRequest, this.sha256)));\n return request;\n }\n async sign(toSign, options) {\n if (typeof toSign === \"string\") {\n return this.signString(toSign, options);\n }\n else if (toSign.headers && toSign.payload) {\n return this.signEvent(toSign, options);\n }\n else if (toSign.message) {\n return this.signMessage(toSign, options);\n }\n else {\n return this.signRequest(toSign, options);\n }\n }\n async signEvent({ headers, payload }, { signingDate = new Date(), priorSignature, signingRegion, signingService }) {\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate, longDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = utilHexEncoding.toHex(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService }) {\n const promise = this.signEvent({\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body,\n }, {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature,\n });\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = this.formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(utilUtf8.toUint8Array(stringToSign));\n return utilHexEncoding.toHex(await hash.digest());\n }\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = this.formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n const payloadHash = await getPayloadHash(request, this.sha256);\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n const canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n const signature = await this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash));\n request.headers[AUTH_HEADER] =\n `${ALGORITHM_IDENTIFIER} ` +\n `Credential=${credentials.accessKeyId}/${scope}, ` +\n `SignedHeaders=${this.getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n return request;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest, ALGORITHM_IDENTIFIER);\n const hash = new this.sha256(await keyPromise);\n hash.update(utilUtf8.toUint8Array(stringToSign));\n return utilHexEncoding.toHex(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n}\n\nconst signatureV4aContainer = {\n SignatureV4a: null,\n};\n\nexports.ALGORITHM_IDENTIFIER = ALGORITHM_IDENTIFIER;\nexports.ALGORITHM_IDENTIFIER_V4A = ALGORITHM_IDENTIFIER_V4A;\nexports.ALGORITHM_QUERY_PARAM = ALGORITHM_QUERY_PARAM;\nexports.ALWAYS_UNSIGNABLE_HEADERS = ALWAYS_UNSIGNABLE_HEADERS;\nexports.AMZ_DATE_HEADER = AMZ_DATE_HEADER;\nexports.AMZ_DATE_QUERY_PARAM = AMZ_DATE_QUERY_PARAM;\nexports.AUTH_HEADER = AUTH_HEADER;\nexports.CREDENTIAL_QUERY_PARAM = CREDENTIAL_QUERY_PARAM;\nexports.DATE_HEADER = DATE_HEADER;\nexports.EVENT_ALGORITHM_IDENTIFIER = EVENT_ALGORITHM_IDENTIFIER;\nexports.EXPIRES_QUERY_PARAM = EXPIRES_QUERY_PARAM;\nexports.GENERATED_HEADERS = GENERATED_HEADERS;\nexports.HOST_HEADER = HOST_HEADER;\nexports.KEY_TYPE_IDENTIFIER = KEY_TYPE_IDENTIFIER;\nexports.MAX_CACHE_SIZE = MAX_CACHE_SIZE;\nexports.MAX_PRESIGNED_TTL = MAX_PRESIGNED_TTL;\nexports.PROXY_HEADER_PATTERN = PROXY_HEADER_PATTERN;\nexports.REGION_SET_PARAM = REGION_SET_PARAM;\nexports.SEC_HEADER_PATTERN = SEC_HEADER_PATTERN;\nexports.SHA256_HEADER = SHA256_HEADER;\nexports.SIGNATURE_HEADER = SIGNATURE_HEADER;\nexports.SIGNATURE_QUERY_PARAM = SIGNATURE_QUERY_PARAM;\nexports.SIGNED_HEADERS_QUERY_PARAM = SIGNED_HEADERS_QUERY_PARAM;\nexports.SignatureV4 = SignatureV4;\nexports.SignatureV4Base = SignatureV4Base;\nexports.TOKEN_HEADER = TOKEN_HEADER;\nexports.TOKEN_QUERY_PARAM = TOKEN_QUERY_PARAM;\nexports.UNSIGNABLE_PATTERNS = UNSIGNABLE_PATTERNS;\nexports.UNSIGNED_PAYLOAD = UNSIGNED_PAYLOAD;\nexports.clearCredentialCache = clearCredentialCache;\nexports.createScope = createScope;\nexports.getCanonicalHeaders = getCanonicalHeaders;\nexports.getCanonicalQuery = getCanonicalQuery;\nexports.getPayloadHash = getPayloadHash;\nexports.getSigningKey = getSigningKey;\nexports.hasHeader = hasHeader;\nexports.moveHeadersToQuery = moveHeadersToQuery;\nexports.prepareRequest = prepareRequest;\nexports.signatureV4aContainer = signatureV4aContainer;\n", "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider, normalizeProvider, } from \"@smithy/core\";\nimport { SignatureV4 } from \"@smithy/signature-v4\";\nexport const resolveAwsSdkSigV4Config = (config) => {\n let inputCredentials = config.credentials;\n let isUserSupplied = !!config.credentials;\n let resolvedCredentials = undefined;\n Object.defineProperty(config, \"credentials\", {\n set(credentials) {\n if (credentials && credentials !== inputCredentials && credentials !== resolvedCredentials) {\n isUserSupplied = true;\n }\n inputCredentials = credentials;\n const memoizedProvider = normalizeCredentialProvider(config, {\n credentials: inputCredentials,\n credentialDefaultProvider: config.credentialDefaultProvider,\n });\n const boundProvider = bindCallerConfig(config, memoizedProvider);\n if (isUserSupplied && !boundProvider.attributed) {\n const isCredentialObject = typeof inputCredentials === \"object\" && inputCredentials !== null;\n resolvedCredentials = async (options) => {\n const creds = await boundProvider(options);\n const attributedCreds = creds;\n if (isCredentialObject && (!attributedCreds.$source || Object.keys(attributedCreds.$source).length === 0)) {\n return setCredentialFeature(attributedCreds, \"CREDENTIALS_CODE\", \"e\");\n }\n return attributedCreds;\n };\n resolvedCredentials.memoized = boundProvider.memoized;\n resolvedCredentials.configBound = boundProvider.configBound;\n resolvedCredentials.attributed = true;\n }\n else {\n resolvedCredentials = boundProvider;\n }\n },\n get() {\n return resolvedCredentials;\n },\n enumerable: true,\n configurable: true,\n });\n config.credentials = inputCredentials;\n const { signingEscapePath = true, systemClockOffset = config.systemClockOffset || 0, sha256, } = config;\n let signer;\n if (config.signer) {\n signer = normalizeProvider(config.signer);\n }\n else if (config.regionInfoProvider) {\n signer = () => normalizeProvider(config.region)()\n .then(async (region) => [\n (await config.regionInfoProvider(region, {\n useFipsEndpoint: await config.useFipsEndpoint(),\n useDualstackEndpoint: await config.useDualstackEndpoint(),\n })) || {},\n region,\n ])\n .then(([regionInfo, region]) => {\n const { signingRegion, signingService } = regionInfo;\n config.signingRegion = config.signingRegion || signingRegion || region;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n });\n }\n else {\n signer = async (authScheme) => {\n authScheme = Object.assign({}, {\n name: \"sigv4\",\n signingName: config.signingName || config.defaultSigningName,\n signingRegion: await normalizeProvider(config.region)(),\n properties: {},\n }, authScheme);\n const signingRegion = authScheme.signingRegion;\n const signingService = authScheme.signingName;\n config.signingRegion = config.signingRegion || signingRegion;\n config.signingName = config.signingName || signingService || config.serviceId;\n const params = {\n ...config,\n credentials: config.credentials,\n region: config.signingRegion,\n service: config.signingName,\n sha256,\n uriEscapePath: signingEscapePath,\n };\n const SignerCtor = config.signerConstructor || SignatureV4;\n return new SignerCtor(params);\n };\n }\n const resolvedConfig = Object.assign(config, {\n systemClockOffset,\n signingEscapePath,\n signer,\n });\n return resolvedConfig;\n};\nexport const resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;\nfunction normalizeCredentialProvider(config, { credentials, credentialDefaultProvider, }) {\n let credentialsProvider;\n if (credentials) {\n if (!credentials?.memoized) {\n credentialsProvider = memoizeIdentityProvider(credentials, isIdentityExpired, doesIdentityRequireRefresh);\n }\n else {\n credentialsProvider = credentials;\n }\n }\n else {\n if (credentialDefaultProvider) {\n credentialsProvider = normalizeProvider(credentialDefaultProvider(Object.assign({}, config, {\n parentClientConfig: config,\n })));\n }\n else {\n credentialsProvider = async () => {\n throw new Error(\"@aws-sdk/core::resolveAwsSdkSigV4Config - `credentials` not provided and no credentialDefaultProvider was configured.\");\n };\n }\n }\n credentialsProvider.memoized = true;\n return credentialsProvider;\n}\nfunction bindCallerConfig(config, credentialsProvider) {\n if (credentialsProvider.configBound) {\n return credentialsProvider;\n }\n const fn = async (options) => credentialsProvider({ ...options, callerClientConfig: config });\n fn.memoized = credentialsProvider.memoized;\n fn.configBound = true;\n return fn;\n}\n", "export { AwsSdkSigV4Signer, AWSSDKSigV4Signer, validateSigningProperties } from \"./AwsSdkSigV4Signer\";\nexport { AwsSdkSigV4ASigner } from \"./AwsSdkSigV4ASigner\";\nexport * from \"./NODE_AUTH_SCHEME_PREFERENCE_OPTIONS\";\nexport * from \"./resolveAwsSdkSigV4AConfig\";\nexport * from \"./resolveAwsSdkSigV4Config\";\n", "export * from \"./aws_sdk\";\nexport * from \"./utils/getBearerTokenEnvKey\";\n", "export const majorUint64 = 0;\nexport const majorNegativeInt64 = 1;\nexport const majorUnstructuredByteString = 2;\nexport const majorUtf8String = 3;\nexport const majorList = 4;\nexport const majorMap = 5;\nexport const majorTag = 6;\nexport const majorSpecial = 7;\nexport const specialFalse = 20;\nexport const specialTrue = 21;\nexport const specialNull = 22;\nexport const specialUndefined = 23;\nexport const extendedOneByte = 24;\nexport const extendedFloat16 = 25;\nexport const extendedFloat32 = 26;\nexport const extendedFloat64 = 27;\nexport const minorIndefinite = 31;\nexport function alloc(size) {\n return typeof Buffer !== \"undefined\" ? Buffer.alloc(size) : new Uint8Array(size);\n}\nexport const tagSymbol = Symbol(\"@smithy/core/cbor::tagSymbol\");\nexport function tag(data) {\n data[tagSymbol] = true;\n return data;\n}\n", "import { nv } from \"@smithy/core/serde\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { alloc, extendedFloat16, extendedFloat32, extendedFloat64, extendedOneByte, majorList, majorMap, majorNegativeInt64, majorTag, majorUint64, majorUnstructuredByteString, majorUtf8String, minorIndefinite, specialFalse, specialNull, specialTrue, specialUndefined, tag, } from \"./cbor-types\";\nconst USE_TEXT_DECODER = typeof TextDecoder !== \"undefined\";\nconst USE_BUFFER = typeof Buffer !== \"undefined\";\nlet payload = alloc(0);\nlet dataView = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);\nconst textDecoder = USE_TEXT_DECODER ? new TextDecoder() : null;\nlet _offset = 0;\nexport function setPayload(bytes) {\n payload = bytes;\n dataView = new DataView(payload.buffer, payload.byteOffset, payload.byteLength);\n}\nexport function decode(at, to) {\n if (at >= to) {\n throw new Error(\"unexpected end of (decode) payload.\");\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n const minor = payload[at] & 0b0001_1111;\n switch (major) {\n case majorUint64:\n case majorNegativeInt64:\n case majorTag:\n let unsignedInt;\n let offset;\n if (minor < 24) {\n unsignedInt = minor;\n offset = 1;\n }\n else {\n switch (minor) {\n case extendedOneByte:\n case extendedFloat16:\n case extendedFloat32:\n case extendedFloat64:\n const countLength = minorValueToArgumentLength[minor];\n const countOffset = (countLength + 1);\n offset = countOffset;\n if (to - at < countOffset) {\n throw new Error(`countLength ${countLength} greater than remaining buf len.`);\n }\n const countIndex = at + 1;\n if (countLength === 1) {\n unsignedInt = payload[countIndex];\n }\n else if (countLength === 2) {\n unsignedInt = dataView.getUint16(countIndex);\n }\n else if (countLength === 4) {\n unsignedInt = dataView.getUint32(countIndex);\n }\n else {\n unsignedInt = dataView.getBigUint64(countIndex);\n }\n break;\n default:\n throw new Error(`unexpected minor value ${minor}.`);\n }\n }\n if (major === majorUint64) {\n _offset = offset;\n return castBigInt(unsignedInt);\n }\n else if (major === majorNegativeInt64) {\n let negativeInt;\n if (typeof unsignedInt === \"bigint\") {\n negativeInt = BigInt(-1) - unsignedInt;\n }\n else {\n negativeInt = -1 - unsignedInt;\n }\n _offset = offset;\n return castBigInt(negativeInt);\n }\n else {\n if (minor === 2 || minor === 3) {\n const length = decodeCount(at + offset, to);\n let b = BigInt(0);\n const start = at + offset + _offset;\n for (let i = start; i < start + length; ++i) {\n b = (b << BigInt(8)) | BigInt(payload[i]);\n }\n _offset = offset + _offset + length;\n return minor === 3 ? -b - BigInt(1) : b;\n }\n else if (minor === 4) {\n const decimalFraction = decode(at + offset, to);\n const [exponent, mantissa] = decimalFraction;\n const normalizer = mantissa < 0 ? -1 : 1;\n const mantissaStr = \"0\".repeat(Math.abs(exponent) + 1) + String(BigInt(normalizer) * BigInt(mantissa));\n let numericString;\n const sign = mantissa < 0 ? \"-\" : \"\";\n numericString =\n exponent === 0\n ? mantissaStr\n : mantissaStr.slice(0, mantissaStr.length + exponent) + \".\" + mantissaStr.slice(exponent);\n numericString = numericString.replace(/^0+/g, \"\");\n if (numericString === \"\") {\n numericString = \"0\";\n }\n if (numericString[0] === \".\") {\n numericString = \"0\" + numericString;\n }\n numericString = sign + numericString;\n _offset = offset + _offset;\n return nv(numericString);\n }\n else {\n const value = decode(at + offset, to);\n const valueOffset = _offset;\n _offset = offset + valueOffset;\n return tag({ tag: castBigInt(unsignedInt), value });\n }\n }\n case majorUtf8String:\n case majorMap:\n case majorList:\n case majorUnstructuredByteString:\n if (minor === minorIndefinite) {\n switch (major) {\n case majorUtf8String:\n return decodeUtf8StringIndefinite(at, to);\n case majorMap:\n return decodeMapIndefinite(at, to);\n case majorList:\n return decodeListIndefinite(at, to);\n case majorUnstructuredByteString:\n return decodeUnstructuredByteStringIndefinite(at, to);\n }\n }\n else {\n switch (major) {\n case majorUtf8String:\n return decodeUtf8String(at, to);\n case majorMap:\n return decodeMap(at, to);\n case majorList:\n return decodeList(at, to);\n case majorUnstructuredByteString:\n return decodeUnstructuredByteString(at, to);\n }\n }\n default:\n return decodeSpecial(at, to);\n }\n}\nfunction bytesToUtf8(bytes, at, to) {\n if (USE_BUFFER && bytes.constructor?.name === \"Buffer\") {\n return bytes.toString(\"utf-8\", at, to);\n }\n if (textDecoder) {\n return textDecoder.decode(bytes.subarray(at, to));\n }\n return toUtf8(bytes.subarray(at, to));\n}\nfunction demote(bigInteger) {\n const num = Number(bigInteger);\n if (num < Number.MIN_SAFE_INTEGER || Number.MAX_SAFE_INTEGER < num) {\n console.warn(new Error(`@smithy/core/cbor - truncating BigInt(${bigInteger}) to ${num} with loss of precision.`));\n }\n return num;\n}\nconst minorValueToArgumentLength = {\n [extendedOneByte]: 1,\n [extendedFloat16]: 2,\n [extendedFloat32]: 4,\n [extendedFloat64]: 8,\n};\nexport function bytesToFloat16(a, b) {\n const sign = a >> 7;\n const exponent = (a & 0b0111_1100) >> 2;\n const fraction = ((a & 0b0000_0011) << 8) | b;\n const scalar = sign === 0 ? 1 : -1;\n let exponentComponent;\n let summation;\n if (exponent === 0b00000) {\n if (fraction === 0b00000_00000) {\n return 0;\n }\n else {\n exponentComponent = Math.pow(2, 1 - 15);\n summation = 0;\n }\n }\n else if (exponent === 0b11111) {\n if (fraction === 0b00000_00000) {\n return scalar * Infinity;\n }\n else {\n return NaN;\n }\n }\n else {\n exponentComponent = Math.pow(2, exponent - 15);\n summation = 1;\n }\n summation += fraction / 1024;\n return scalar * (exponentComponent * summation);\n}\nfunction decodeCount(at, to) {\n const minor = payload[at] & 0b0001_1111;\n if (minor < 24) {\n _offset = 1;\n return minor;\n }\n if (minor === extendedOneByte ||\n minor === extendedFloat16 ||\n minor === extendedFloat32 ||\n minor === extendedFloat64) {\n const countLength = minorValueToArgumentLength[minor];\n _offset = (countLength + 1);\n if (to - at < _offset) {\n throw new Error(`countLength ${countLength} greater than remaining buf len.`);\n }\n const countIndex = at + 1;\n if (countLength === 1) {\n return payload[countIndex];\n }\n else if (countLength === 2) {\n return dataView.getUint16(countIndex);\n }\n else if (countLength === 4) {\n return dataView.getUint32(countIndex);\n }\n return demote(dataView.getBigUint64(countIndex));\n }\n throw new Error(`unexpected minor value ${minor}.`);\n}\nfunction decodeUtf8String(at, to) {\n const length = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n if (to - at < length) {\n throw new Error(`string len ${length} greater than remaining buf len.`);\n }\n const value = bytesToUtf8(payload, at, at + length);\n _offset = offset + length;\n return value;\n}\nfunction decodeUtf8StringIndefinite(at, to) {\n at += 1;\n const vector = [];\n for (const base = at; at < to;) {\n if (payload[at] === 0b1111_1111) {\n const data = alloc(vector.length);\n data.set(vector, 0);\n _offset = at - base + 2;\n return bytesToUtf8(data, 0, data.length);\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n const minor = payload[at] & 0b0001_1111;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} in indefinite string.`);\n }\n if (minor === minorIndefinite) {\n throw new Error(\"nested indefinite string.\");\n }\n const bytes = decodeUnstructuredByteString(at, to);\n const length = _offset;\n at += length;\n for (let i = 0; i < bytes.length; ++i) {\n vector.push(bytes[i]);\n }\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeUnstructuredByteString(at, to) {\n const length = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n if (to - at < length) {\n throw new Error(`unstructured byte string len ${length} greater than remaining buf len.`);\n }\n const value = payload.subarray(at, at + length);\n _offset = offset + length;\n return value;\n}\nfunction decodeUnstructuredByteStringIndefinite(at, to) {\n at += 1;\n const vector = [];\n for (const base = at; at < to;) {\n if (payload[at] === 0b1111_1111) {\n const data = alloc(vector.length);\n data.set(vector, 0);\n _offset = at - base + 2;\n return data;\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n const minor = payload[at] & 0b0001_1111;\n if (major !== majorUnstructuredByteString) {\n throw new Error(`unexpected major type ${major} in indefinite string.`);\n }\n if (minor === minorIndefinite) {\n throw new Error(\"nested indefinite string.\");\n }\n const bytes = decodeUnstructuredByteString(at, to);\n const length = _offset;\n at += length;\n for (let i = 0; i < bytes.length; ++i) {\n vector.push(bytes[i]);\n }\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeList(at, to) {\n const listDataLength = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n const base = at;\n const list = Array(listDataLength);\n for (let i = 0; i < listDataLength; ++i) {\n const item = decode(at, to);\n const itemOffset = _offset;\n list[i] = item;\n at += itemOffset;\n }\n _offset = offset + (at - base);\n return list;\n}\nfunction decodeListIndefinite(at, to) {\n at += 1;\n const list = [];\n for (const base = at; at < to;) {\n if (payload[at] === 0b1111_1111) {\n _offset = at - base + 2;\n return list;\n }\n const item = decode(at, to);\n const n = _offset;\n at += n;\n list.push(item);\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeMap(at, to) {\n const mapDataLength = decodeCount(at, to);\n const offset = _offset;\n at += offset;\n const base = at;\n const map = {};\n for (let i = 0; i < mapDataLength; ++i) {\n if (at >= to) {\n throw new Error(\"unexpected end of map payload.\");\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} for map key at index ${at}.`);\n }\n const key = decode(at, to);\n at += _offset;\n const value = decode(at, to);\n at += _offset;\n map[key] = value;\n }\n _offset = offset + (at - base);\n return map;\n}\nfunction decodeMapIndefinite(at, to) {\n at += 1;\n const base = at;\n const map = {};\n for (; at < to;) {\n if (at >= to) {\n throw new Error(\"unexpected end of map payload.\");\n }\n if (payload[at] === 0b1111_1111) {\n _offset = at - base + 2;\n return map;\n }\n const major = (payload[at] & 0b1110_0000) >> 5;\n if (major !== majorUtf8String) {\n throw new Error(`unexpected major type ${major} for map key.`);\n }\n const key = decode(at, to);\n at += _offset;\n const value = decode(at, to);\n at += _offset;\n map[key] = value;\n }\n throw new Error(\"expected break marker.\");\n}\nfunction decodeSpecial(at, to) {\n const minor = payload[at] & 0b0001_1111;\n switch (minor) {\n case specialTrue:\n case specialFalse:\n _offset = 1;\n return minor === specialTrue;\n case specialNull:\n _offset = 1;\n return null;\n case specialUndefined:\n _offset = 1;\n return null;\n case extendedFloat16:\n if (to - at < 3) {\n throw new Error(\"incomplete float16 at end of buf.\");\n }\n _offset = 3;\n return bytesToFloat16(payload[at + 1], payload[at + 2]);\n case extendedFloat32:\n if (to - at < 5) {\n throw new Error(\"incomplete float32 at end of buf.\");\n }\n _offset = 5;\n return dataView.getFloat32(at + 1);\n case extendedFloat64:\n if (to - at < 9) {\n throw new Error(\"incomplete float64 at end of buf.\");\n }\n _offset = 9;\n return dataView.getFloat64(at + 1);\n default:\n throw new Error(`unexpected minor value ${minor}.`);\n }\n}\nfunction castBigInt(bigInt) {\n if (typeof bigInt === \"number\") {\n return bigInt;\n }\n const num = Number(bigInt);\n if (Number.MIN_SAFE_INTEGER <= num && num <= Number.MAX_SAFE_INTEGER) {\n return num;\n }\n return bigInt;\n}\n", "import { NumericValue } from \"@smithy/core/serde\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nimport { alloc, extendedFloat16, extendedFloat32, extendedFloat64, majorList, majorMap, majorNegativeInt64, majorSpecial, majorTag, majorUint64, majorUnstructuredByteString, majorUtf8String, specialFalse, specialNull, specialTrue, tagSymbol, } from \"./cbor-types\";\nconst USE_BUFFER = typeof Buffer !== \"undefined\";\nconst initialSize = 2048;\nlet data = alloc(initialSize);\nlet dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\nlet cursor = 0;\nfunction ensureSpace(bytes) {\n const remaining = data.byteLength - cursor;\n if (remaining < bytes) {\n if (cursor < 16_000_000) {\n resize(Math.max(data.byteLength * 4, data.byteLength + bytes));\n }\n else {\n resize(data.byteLength + bytes + 16_000_000);\n }\n }\n}\nexport function toUint8Array() {\n const out = alloc(cursor);\n out.set(data.subarray(0, cursor), 0);\n cursor = 0;\n return out;\n}\nexport function resize(size) {\n const old = data;\n data = alloc(size);\n if (old) {\n if (old.copy) {\n old.copy(data, 0, 0, old.byteLength);\n }\n else {\n data.set(old, 0);\n }\n }\n dataView = new DataView(data.buffer, data.byteOffset, data.byteLength);\n}\nfunction encodeHeader(major, value) {\n if (value < 24) {\n data[cursor++] = (major << 5) | value;\n }\n else if (value < 1 << 8) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = value;\n }\n else if (value < 1 << 16) {\n data[cursor++] = (major << 5) | extendedFloat16;\n dataView.setUint16(cursor, value);\n cursor += 2;\n }\n else if (value < 2 ** 32) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, value);\n cursor += 4;\n }\n else {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, typeof value === \"bigint\" ? value : BigInt(value));\n cursor += 8;\n }\n}\nexport function encode(_input) {\n const encodeStack = [_input];\n while (encodeStack.length) {\n const input = encodeStack.pop();\n ensureSpace(typeof input === \"string\" ? input.length * 4 : 64);\n if (typeof input === \"string\") {\n if (USE_BUFFER) {\n encodeHeader(majorUtf8String, Buffer.byteLength(input));\n cursor += data.write(input, cursor);\n }\n else {\n const bytes = fromUtf8(input);\n encodeHeader(majorUtf8String, bytes.byteLength);\n data.set(bytes, cursor);\n cursor += bytes.byteLength;\n }\n continue;\n }\n else if (typeof input === \"number\") {\n if (Number.isInteger(input)) {\n const nonNegative = input >= 0;\n const major = nonNegative ? majorUint64 : majorNegativeInt64;\n const value = nonNegative ? input : -input - 1;\n if (value < 24) {\n data[cursor++] = (major << 5) | value;\n }\n else if (value < 256) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = value;\n }\n else if (value < 65536) {\n data[cursor++] = (major << 5) | extendedFloat16;\n data[cursor++] = value >> 8;\n data[cursor++] = value;\n }\n else if (value < 4294967296) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, value);\n cursor += 4;\n }\n else {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, BigInt(value));\n cursor += 8;\n }\n continue;\n }\n data[cursor++] = (majorSpecial << 5) | extendedFloat64;\n dataView.setFloat64(cursor, input);\n cursor += 8;\n continue;\n }\n else if (typeof input === \"bigint\") {\n const nonNegative = input >= 0;\n const major = nonNegative ? majorUint64 : majorNegativeInt64;\n const value = nonNegative ? input : -input - BigInt(1);\n const n = Number(value);\n if (n < 24) {\n data[cursor++] = (major << 5) | n;\n }\n else if (n < 256) {\n data[cursor++] = (major << 5) | 24;\n data[cursor++] = n;\n }\n else if (n < 65536) {\n data[cursor++] = (major << 5) | extendedFloat16;\n data[cursor++] = n >> 8;\n data[cursor++] = n & 0b1111_1111;\n }\n else if (n < 4294967296) {\n data[cursor++] = (major << 5) | extendedFloat32;\n dataView.setUint32(cursor, n);\n cursor += 4;\n }\n else if (value < BigInt(\"18446744073709551616\")) {\n data[cursor++] = (major << 5) | extendedFloat64;\n dataView.setBigUint64(cursor, value);\n cursor += 8;\n }\n else {\n const binaryBigInt = value.toString(2);\n const bigIntBytes = new Uint8Array(Math.ceil(binaryBigInt.length / 8));\n let b = value;\n let i = 0;\n while (bigIntBytes.byteLength - ++i >= 0) {\n bigIntBytes[bigIntBytes.byteLength - i] = Number(b & BigInt(255));\n b >>= BigInt(8);\n }\n ensureSpace(bigIntBytes.byteLength * 2);\n data[cursor++] = nonNegative ? 0b110_00010 : 0b110_00011;\n if (USE_BUFFER) {\n encodeHeader(majorUnstructuredByteString, Buffer.byteLength(bigIntBytes));\n }\n else {\n encodeHeader(majorUnstructuredByteString, bigIntBytes.byteLength);\n }\n data.set(bigIntBytes, cursor);\n cursor += bigIntBytes.byteLength;\n }\n continue;\n }\n else if (input === null) {\n data[cursor++] = (majorSpecial << 5) | specialNull;\n continue;\n }\n else if (typeof input === \"boolean\") {\n data[cursor++] = (majorSpecial << 5) | (input ? specialTrue : specialFalse);\n continue;\n }\n else if (typeof input === \"undefined\") {\n throw new Error(\"@smithy/core/cbor: client may not serialize undefined value.\");\n }\n else if (Array.isArray(input)) {\n for (let i = input.length - 1; i >= 0; --i) {\n encodeStack.push(input[i]);\n }\n encodeHeader(majorList, input.length);\n continue;\n }\n else if (typeof input.byteLength === \"number\") {\n ensureSpace(input.length * 2);\n encodeHeader(majorUnstructuredByteString, input.length);\n data.set(input, cursor);\n cursor += input.byteLength;\n continue;\n }\n else if (typeof input === \"object\") {\n if (input instanceof NumericValue) {\n const decimalIndex = input.string.indexOf(\".\");\n const exponent = decimalIndex === -1 ? 0 : decimalIndex - input.string.length + 1;\n const mantissa = BigInt(input.string.replace(\".\", \"\"));\n data[cursor++] = 0b110_00100;\n encodeStack.push(mantissa);\n encodeStack.push(exponent);\n encodeHeader(majorList, 2);\n continue;\n }\n if (input[tagSymbol]) {\n if (\"tag\" in input && \"value\" in input) {\n encodeStack.push(input.value);\n encodeHeader(majorTag, input.tag);\n continue;\n }\n else {\n throw new Error(\"tag encountered with missing fields, need 'tag' and 'value', found: \" + JSON.stringify(input));\n }\n }\n const keys = Object.keys(input);\n for (let i = keys.length - 1; i >= 0; --i) {\n const key = keys[i];\n encodeStack.push(input[key]);\n encodeStack.push(key);\n }\n encodeHeader(majorMap, keys.length);\n continue;\n }\n throw new Error(`data type ${input?.constructor?.name ?? typeof input} not compatible for encoding.`);\n }\n}\n", "import { decode, setPayload } from \"./cbor-decode\";\nimport { encode, resize, toUint8Array } from \"./cbor-encode\";\nexport const cbor = {\n deserialize(payload) {\n setPayload(payload);\n return decode(0, payload.length);\n },\n serialize(input) {\n try {\n encode(input);\n return toUint8Array();\n }\n catch (e) {\n toUint8Array();\n throw e;\n }\n },\n resizeEncodingBuffer(size) {\n resize(size);\n },\n};\n", "import { collectBody } from \"@smithy/core/protocols\";\nimport { HttpRequest as __HttpRequest } from \"@smithy/protocol-http\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-browser\";\nimport { cbor } from \"./cbor\";\nimport { tag } from \"./cbor-types\";\nexport const parseCborBody = (streamBody, context) => {\n return collectBody(streamBody, context).then(async (bytes) => {\n if (bytes.length) {\n try {\n return cbor.deserialize(bytes);\n }\n catch (e) {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: context.utf8Encoder(bytes),\n });\n throw e;\n }\n }\n return {};\n });\n};\nexport const dateToTag = (date) => {\n return tag({\n tag: 1,\n value: date.getTime() / 1000,\n });\n};\nexport const parseCborErrorBody = async (errorBody, context) => {\n const value = await parseCborBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nexport const loadSmithyRpcV2CborErrorCode = (output, data) => {\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n const codeKey = Object.keys(data).find((key) => key.toLowerCase() === \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n};\nexport const checkCborResponse = (response) => {\n if (String(response.headers[\"smithy-protocol\"]).toLowerCase() !== \"rpc-v2-cbor\") {\n throw new Error(\"Malformed RPCv2 CBOR response, status: \" + response.statusCode);\n }\n};\nexport const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {\n const { hostname, protocol = \"https\", port, path: basePath } = await context.endpoint();\n const contents = {\n protocol,\n hostname,\n port,\n method: \"POST\",\n path: basePath.endsWith(\"/\") ? basePath.slice(0, -1) + path : basePath + path,\n headers: {\n ...headers,\n },\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (body !== undefined) {\n contents.body = body;\n try {\n contents.headers[\"content-length\"] = String(calculateBodyLength(body));\n }\n catch (e) { }\n }\n return new __HttpRequest(contents);\n};\n", "import { SerdeContext } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { _parseEpochTimestamp, generateIdempotencyToken } from \"@smithy/core/serde\";\nimport { NumericValue } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { cbor } from \"./cbor\";\nimport { dateToTag } from \"./parseCborBody\";\nexport class CborCodec extends SerdeContext {\n createSerializer() {\n const serializer = new CborShapeSerializer();\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new CborShapeDeserializer();\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\nexport class CborShapeSerializer extends SerdeContext {\n value;\n write(schema, value) {\n this.value = this.serialize(schema, value);\n }\n serialize(schema, source) {\n const ns = NormalizedSchema.of(schema);\n if (source == null) {\n if (ns.isIdempotencyToken()) {\n return generateIdempotencyToken();\n }\n return source;\n }\n if (ns.isBlobSchema()) {\n if (typeof source === \"string\") {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(source);\n }\n return source;\n }\n if (ns.isTimestampSchema()) {\n if (typeof source === \"number\" || typeof source === \"bigint\") {\n return dateToTag(new Date((Number(source) / 1000) | 0));\n }\n return dateToTag(source);\n }\n if (typeof source === \"function\" || typeof source === \"object\") {\n const sourceObject = source;\n if (ns.isListSchema() && Array.isArray(sourceObject)) {\n const sparse = !!ns.getMergedTraits().sparse;\n const newArray = [];\n let i = 0;\n for (const item of sourceObject) {\n const value = this.serialize(ns.getValueSchema(), item);\n if (value != null || sparse) {\n newArray[i++] = value;\n }\n }\n return newArray;\n }\n if (sourceObject instanceof Date) {\n return dateToTag(sourceObject);\n }\n const newObject = {};\n if (ns.isMapSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n for (const key of Object.keys(sourceObject)) {\n const value = this.serialize(ns.getValueSchema(), sourceObject[key]);\n if (value != null || sparse) {\n newObject[key] = value;\n }\n }\n }\n else if (ns.isStructSchema()) {\n for (const [key, memberSchema] of ns.structIterator()) {\n const value = this.serialize(memberSchema, sourceObject[key]);\n if (value != null) {\n newObject[key] = value;\n }\n }\n const isUnion = ns.isUnionSchema();\n if (isUnion && Array.isArray(sourceObject.$unknown)) {\n const [k, v] = sourceObject.$unknown;\n newObject[k] = v;\n }\n else if (typeof sourceObject.__type === \"string\") {\n for (const [k, v] of Object.entries(sourceObject)) {\n if (!(k in newObject)) {\n newObject[k] = this.serialize(15, v);\n }\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n for (const key of Object.keys(sourceObject)) {\n newObject[key] = this.serialize(ns.getValueSchema(), sourceObject[key]);\n }\n }\n else if (ns.isBigDecimalSchema()) {\n return sourceObject;\n }\n return newObject;\n }\n return source;\n }\n flush() {\n const buffer = cbor.serialize(this.value);\n this.value = undefined;\n return buffer;\n }\n}\nexport class CborShapeDeserializer extends SerdeContext {\n read(schema, bytes) {\n const data = cbor.deserialize(bytes);\n return this.readValue(schema, data);\n }\n readValue(_schema, value) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isTimestampSchema()) {\n if (typeof value === \"number\") {\n return _parseEpochTimestamp(value);\n }\n if (typeof value === \"object\") {\n if (value.tag === 1 && \"value\" in value) {\n return _parseEpochTimestamp(value.value);\n }\n }\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\") {\n return (this.serdeContext?.base64Decoder ?? fromBase64)(value);\n }\n return value;\n }\n if (typeof value === \"undefined\" ||\n typeof value === \"boolean\" ||\n typeof value === \"number\" ||\n typeof value === \"string\" ||\n typeof value === \"bigint\" ||\n typeof value === \"symbol\") {\n return value;\n }\n else if (typeof value === \"object\") {\n if (value === null) {\n return null;\n }\n if (\"byteLength\" in value) {\n return value;\n }\n if (value instanceof Date) {\n return value;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n if (ns.isListSchema()) {\n const newArray = [];\n const memberSchema = ns.getValueSchema();\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n const itemValue = this.readValue(memberSchema, item);\n if (itemValue != null || sparse) {\n newArray.push(itemValue);\n }\n }\n return newArray;\n }\n const newObject = {};\n if (ns.isMapSchema()) {\n const sparse = !!ns.getMergedTraits().sparse;\n const targetSchema = ns.getValueSchema();\n for (const key of Object.keys(value)) {\n const itemValue = this.readValue(targetSchema, value[key]);\n if (itemValue != null || sparse) {\n newObject[key] = itemValue;\n }\n }\n }\n else if (ns.isStructSchema()) {\n const isUnion = ns.isUnionSchema();\n let keys;\n if (isUnion) {\n keys = new Set(Object.keys(value).filter((k) => k !== \"__type\"));\n }\n for (const [key, memberSchema] of ns.structIterator()) {\n if (isUnion) {\n keys.delete(key);\n }\n if (value[key] != null) {\n newObject[key] = this.readValue(memberSchema, value[key]);\n }\n }\n if (isUnion && keys?.size === 1 && Object.keys(newObject).length === 0) {\n const k = keys.values().next().value;\n newObject.$unknown = [k, value[k]];\n }\n else if (typeof value.__type === \"string\") {\n for (const [k, v] of Object.entries(value)) {\n if (!(k in newObject)) {\n newObject[k] = v;\n }\n }\n }\n }\n else if (value instanceof NumericValue) {\n return value;\n }\n return newObject;\n }\n else {\n return value;\n }\n }\n}\n", "import { RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nimport { CborCodec } from \"./CborCodec\";\nimport { loadSmithyRpcV2CborErrorCode } from \"./parseCborBody\";\nexport class SmithyRpcV2CborProtocol extends RpcProtocol {\n codec = new CborCodec();\n serializer = this.codec.createSerializer();\n deserializer = this.codec.createDeserializer();\n constructor({ defaultNamespace }) {\n super({ defaultNamespace });\n }\n getShapeId() {\n return \"smithy.protocols#rpcv2Cbor\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n Object.assign(request.headers, {\n \"content-type\": this.getDefaultContentType(),\n \"smithy-protocol\": \"rpc-v2-cbor\",\n accept: this.getDefaultContentType(),\n });\n if (deref(operationSchema.input) === \"unit\") {\n delete request.body;\n delete request.headers[\"content-type\"];\n }\n else {\n if (!request.body) {\n this.serializer.write(15, {});\n request.body = this.serializer.flush();\n }\n try {\n request.headers[\"content-length\"] = String(request.body.byteLength);\n }\n catch (e) { }\n }\n const { service, operation } = getSmithyContext(context);\n const path = `/service/${service}/operation/${operation}`;\n if (request.path.endsWith(\"/\")) {\n request.path += path.slice(1);\n }\n else {\n request.path += path;\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorName = loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n let namespace = this.options.defaultNamespace;\n if (errorName.includes(\"#\")) {\n [namespace] = errorName.split(\"#\");\n }\n const errorMetadata = {\n $metadata: metadata,\n $fault: response.statusCode <= 500 ? \"client\" : \"server\",\n };\n const registry = TypeRegistry.for(namespace);\n let errorSchema;\n try {\n errorSchema = registry.getSchema(errorName);\n }\n catch (e) {\n if (dataObject.Message) {\n dataObject.message = dataObject.Message;\n }\n const synthetic = TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + namespace);\n const baseExceptionSchema = synthetic.getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema);\n throw Object.assign(new ErrorCtor({ name: errorName }), errorMetadata, dataObject);\n }\n throw Object.assign(new Error(errorName), errorMetadata, dataObject);\n }\n const ns = NormalizedSchema.of(errorSchema);\n const ErrorCtor = registry.getErrorCtor(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const exception = new ErrorCtor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n throw Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output);\n }\n getDefaultContentType() {\n return \"application/cbor\";\n }\n}\n", "export { cbor } from \"./cbor\";\nexport { tag, tagSymbol } from \"./cbor-types\";\nexport * from \"./parseCborBody\";\nexport * from \"./SmithyRpcV2CborProtocol\";\nexport * from \"./CborCodec\";\n", "'use strict';\n\nconst getAllAliases = (name, aliases) => {\n const _aliases = [];\n if (name) {\n _aliases.push(name);\n }\n if (aliases) {\n for (const alias of aliases) {\n _aliases.push(alias);\n }\n }\n return _aliases;\n};\nconst getMiddlewareNameWithAliases = (name, aliases) => {\n return `${name || \"anonymous\"}${aliases && aliases.length > 0 ? ` (a.k.a. ${aliases.join(\",\")})` : \"\"}`;\n};\nconst constructStack = () => {\n let absoluteEntries = [];\n let relativeEntries = [];\n let identifyOnResolve = false;\n const entriesNameSet = new Set();\n const sort = (entries) => entries.sort((a, b) => stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"]);\n const removeByName = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const aliases = getAllAliases(entry.name, entry.aliases);\n if (aliases.includes(toRemove)) {\n isRemoved = true;\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const removeByReference = (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n for (const alias of getAllAliases(entry.name, entry.aliases)) {\n entriesNameSet.delete(alias);\n }\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n const cloneTo = (toStack) => {\n absoluteEntries.forEach((entry) => {\n toStack.add(entry.middleware, { ...entry });\n });\n relativeEntries.forEach((entry) => {\n toStack.addRelativeTo(entry.middleware, { ...entry });\n });\n toStack.identifyOnResolve?.(stack.identifyOnResolve());\n return toStack;\n };\n const expandRelativeMiddlewareList = (from) => {\n const expandedMiddlewareList = [];\n from.before.forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach((entry) => {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push(...expandRelativeMiddlewareList(entry));\n }\n });\n return expandedMiddlewareList;\n };\n const getMiddlewareList = (debug = false) => {\n const normalizedAbsoluteEntries = [];\n const normalizedRelativeEntries = [];\n const normalizedEntriesNameMap = {};\n absoluteEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach((entry) => {\n const normalizedEntry = {\n ...entry,\n before: [],\n after: [],\n };\n for (const alias of getAllAliases(normalizedEntry.name, normalizedEntry.aliases)) {\n normalizedEntriesNameMap[alias] = normalizedEntry;\n }\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach((entry) => {\n if (entry.toMiddleware) {\n const toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n if (debug) {\n return;\n }\n throw new Error(`${entry.toMiddleware} is not found when adding ` +\n `${getMiddlewareNameWithAliases(entry.name, entry.aliases)} ` +\n `middleware ${entry.relation} ${entry.toMiddleware}`);\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n const mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce((wholeList, expandedMiddlewareList) => {\n wholeList.push(...expandedMiddlewareList);\n return wholeList;\n }, []);\n return mainChain;\n };\n const stack = {\n add: (middleware, options = {}) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n step: \"initialize\",\n priority: \"normal\",\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = absoluteEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || entry.priority !== toOverride.priority) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware with ` +\n `${toOverride.priority} priority in ${toOverride.step} step cannot ` +\n `be overridden by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware with ` +\n `${entry.priority} priority in ${entry.step} step.`);\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n absoluteEntries.push(entry);\n },\n addRelativeTo: (middleware, options) => {\n const { name, override, aliases: _aliases } = options;\n const entry = {\n middleware,\n ...options,\n };\n const aliases = getAllAliases(name, _aliases);\n if (aliases.length > 0) {\n if (aliases.some((alias) => entriesNameSet.has(alias))) {\n if (!override)\n throw new Error(`Duplicate middleware name '${getMiddlewareNameWithAliases(name, _aliases)}'`);\n for (const alias of aliases) {\n const toOverrideIndex = relativeEntries.findIndex((entry) => entry.name === alias || entry.aliases?.some((a) => a === alias));\n if (toOverrideIndex === -1) {\n continue;\n }\n const toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(`\"${getMiddlewareNameWithAliases(toOverride.name, toOverride.aliases)}\" middleware ` +\n `${toOverride.relation} \"${toOverride.toMiddleware}\" middleware cannot be overridden ` +\n `by \"${getMiddlewareNameWithAliases(name, _aliases)}\" middleware ${entry.relation} ` +\n `\"${entry.toMiddleware}\" middleware.`);\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n }\n for (const alias of aliases) {\n entriesNameSet.add(alias);\n }\n }\n relativeEntries.push(entry);\n },\n clone: () => cloneTo(constructStack()),\n use: (plugin) => {\n plugin.applyToStack(stack);\n },\n remove: (toRemove) => {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: (toRemove) => {\n let isRemoved = false;\n const filterCb = (entry) => {\n const { tags, name, aliases: _aliases } = entry;\n if (tags && tags.includes(toRemove)) {\n const aliases = getAllAliases(name, _aliases);\n for (const alias of aliases) {\n entriesNameSet.delete(alias);\n }\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: (from) => {\n const cloned = cloneTo(constructStack());\n cloned.use(from);\n cloned.identifyOnResolve(identifyOnResolve || cloned.identifyOnResolve() || (from.identifyOnResolve?.() ?? false));\n return cloned;\n },\n applyToStack: cloneTo,\n identify: () => {\n return getMiddlewareList(true).map((mw) => {\n const step = mw.step ??\n mw.relation +\n \" \" +\n mw.toMiddleware;\n return getMiddlewareNameWithAliases(mw.name, mw.aliases) + \" - \" + step;\n });\n },\n identifyOnResolve(toggle) {\n if (typeof toggle === \"boolean\")\n identifyOnResolve = toggle;\n return identifyOnResolve;\n },\n resolve: (handler, context) => {\n for (const middleware of getMiddlewareList()\n .map((entry) => entry.middleware)\n .reverse()) {\n handler = middleware(handler, context);\n }\n if (identifyOnResolve) {\n console.log(stack.identify());\n }\n return handler;\n },\n };\n return stack;\n};\nconst stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\nconst priorityWeights = {\n high: 3,\n normal: 2,\n low: 1,\n};\n\nexports.constructStack = constructStack;\n", "'use strict';\n\nvar middlewareStack = require('@smithy/middleware-stack');\nvar protocols = require('@smithy/core/protocols');\nvar types = require('@smithy/types');\nvar schema = require('@smithy/core/schema');\nvar serde = require('@smithy/core/serde');\n\nclass Client {\n config;\n middlewareStack = middlewareStack.constructStack();\n initConfig;\n handlers;\n constructor(config) {\n this.config = config;\n const { protocol, protocolSettings } = config;\n if (protocolSettings) {\n if (typeof protocol === \"function\") {\n config.protocol = new protocol(protocolSettings);\n }\n }\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const useHandlerCache = options === undefined && this.config.cacheMiddleware === true;\n let handler;\n if (useHandlerCache) {\n if (!this.handlers) {\n this.handlers = new WeakMap();\n }\n const handlers = this.handlers;\n if (handlers.has(command.constructor)) {\n handler = handlers.get(command.constructor);\n }\n else {\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n handlers.set(command.constructor, handler);\n }\n }\n else {\n delete this.handlers;\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n }\n if (callback) {\n handler(command)\n .then((result) => callback(null, result.output), (err) => callback(err))\n .catch(() => { });\n }\n else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n this.config?.requestHandler?.destroy?.();\n delete this.handlers;\n }\n}\n\nconst SENSITIVE_STRING$1 = \"***SensitiveInformation***\";\nfunction schemaLogFilter(schema$1, data) {\n if (data == null) {\n return data;\n }\n const ns = schema.NormalizedSchema.of(schema$1);\n if (ns.getMergedTraits().sensitive) {\n return SENSITIVE_STRING$1;\n }\n if (ns.isListSchema()) {\n const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING$1;\n }\n }\n else if (ns.isMapSchema()) {\n const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING$1;\n }\n }\n else if (ns.isStructSchema() && typeof data === \"object\") {\n const object = data;\n const newObject = {};\n for (const [member, memberNs] of ns.structIterator()) {\n if (object[member] != null) {\n newObject[member] = schemaLogFilter(memberNs, object[member]);\n }\n }\n return newObject;\n }\n return data;\n}\n\nclass Command {\n middlewareStack = middlewareStack.constructStack();\n schema;\n static classBuilder() {\n return new ClassBuilder();\n }\n resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor, }) {\n for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {\n this.middlewareStack.use(mw);\n }\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n [types.SMITHY_CONTEXT_KEY]: {\n commandInstance: this,\n ...smithyContext,\n },\n ...additionalContext,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n}\nclass ClassBuilder {\n _init = () => { };\n _ep = {};\n _middlewareFn = () => [];\n _commandName = \"\";\n _clientName = \"\";\n _additionalContext = {};\n _smithyContext = {};\n _inputFilterSensitiveLog = undefined;\n _outputFilterSensitiveLog = undefined;\n _serializer = null;\n _deserializer = null;\n _operationSchema;\n init(cb) {\n this._init = cb;\n }\n ep(endpointParameterInstructions) {\n this._ep = endpointParameterInstructions;\n return this;\n }\n m(middlewareSupplier) {\n this._middlewareFn = middlewareSupplier;\n return this;\n }\n s(service, operation, smithyContext = {}) {\n this._smithyContext = {\n service,\n operation,\n ...smithyContext,\n };\n return this;\n }\n c(additionalContext = {}) {\n this._additionalContext = additionalContext;\n return this;\n }\n n(clientName, commandName) {\n this._clientName = clientName;\n this._commandName = commandName;\n return this;\n }\n f(inputFilter = (_) => _, outputFilter = (_) => _) {\n this._inputFilterSensitiveLog = inputFilter;\n this._outputFilterSensitiveLog = outputFilter;\n return this;\n }\n ser(serializer) {\n this._serializer = serializer;\n return this;\n }\n de(deserializer) {\n this._deserializer = deserializer;\n return this;\n }\n sc(operation) {\n this._operationSchema = operation;\n this._smithyContext.operationSchema = operation;\n return this;\n }\n build() {\n const closure = this;\n let CommandRef;\n return (CommandRef = class extends Command {\n input;\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n constructor(...[input]) {\n super();\n this.input = input ?? {};\n closure._init(this);\n this.schema = closure._operationSchema;\n }\n resolveMiddleware(stack, configuration, options) {\n const op = closure._operationSchema;\n const input = op?.[4] ?? op?.input;\n const output = op?.[5] ?? op?.output;\n return this.resolveMiddlewareWithContext(stack, configuration, options, {\n CommandCtor: CommandRef,\n middlewareFn: closure._middlewareFn,\n clientName: closure._clientName,\n commandName: closure._commandName,\n inputFilterSensitiveLog: closure._inputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, input) : (_) => _),\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, output) : (_) => _),\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext,\n });\n }\n serialize = closure._serializer;\n deserialize = closure._deserializer;\n });\n }\n}\n\nconst SENSITIVE_STRING = \"***SensitiveInformation***\";\n\nconst createAggregatedClient = (commands, Client, options) => {\n for (const [command, CommandCtor] of Object.entries(commands)) {\n const methodImpl = async function (args, optionsOrCb, cb) {\n const command = new CommandCtor(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n };\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \"\");\n Client.prototype[methodName] = methodImpl;\n }\n const { paginators = {}, waiters = {} } = options ?? {};\n for (const [paginatorName, paginatorFn] of Object.entries(paginators)) {\n if (Client.prototype[paginatorName] === void 0) {\n Client.prototype[paginatorName] = function (commandInput = {}, paginationConfiguration, ...rest) {\n return paginatorFn({\n ...paginationConfiguration,\n client: this,\n }, commandInput, ...rest);\n };\n }\n }\n for (const [waiterName, waiterFn] of Object.entries(waiters)) {\n if (Client.prototype[waiterName] === void 0) {\n Client.prototype[waiterName] = async function (commandInput = {}, waiterConfiguration, ...rest) {\n let config = waiterConfiguration;\n if (typeof waiterConfiguration === \"number\") {\n config = {\n maxWaitTime: waiterConfiguration,\n };\n }\n return waiterFn({\n ...config,\n client: this,\n }, commandInput, ...rest);\n };\n }\n }\n};\n\nclass ServiceException extends Error {\n $fault;\n $response;\n $retryable;\n $metadata;\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n static isInstance(value) {\n if (!value)\n return false;\n const candidate = value;\n return (ServiceException.prototype.isPrototypeOf(candidate) ||\n (Boolean(candidate.$fault) &&\n Boolean(candidate.$metadata) &&\n (candidate.$fault === \"client\" || candidate.$fault === \"server\")));\n }\n static [Symbol.hasInstance](instance) {\n if (!instance)\n return false;\n const candidate = instance;\n if (this === ServiceException) {\n return ServiceException.isInstance(instance);\n }\n if (ServiceException.isInstance(instance)) {\n if (candidate.name && this.name) {\n return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;\n }\n return this.prototype.isPrototypeOf(instance);\n }\n return false;\n }\n}\nconst decorateServiceException = (exception, additions = {}) => {\n Object.entries(additions)\n .filter(([, v]) => v !== undefined)\n .forEach(([k, v]) => {\n if (exception[k] == undefined || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n};\n\nconst throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : undefined;\n const response = new exceptionCtor({\n name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata,\n });\n throw decorateServiceException(response, parsedBody);\n};\nconst withBaseException = (ExceptionCtor) => {\n return ({ output, parsedBody, errorCode }) => {\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\n };\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\n\nconst loadConfigsForDefaultMode = (mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100,\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 30000,\n };\n default:\n return {};\n }\n};\n\nlet warningEmitted = false;\nconst emitWarningIfUnsupportedVersion = (version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 16) {\n warningEmitted = true;\n }\n};\n\nconst getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in types.AlgorithmId) {\n const algorithmId = types.AlgorithmId[id];\n if (runtimeConfig[algorithmId] === undefined) {\n continue;\n }\n checksumAlgorithms.push({\n algorithmId: () => algorithmId,\n checksumConstructor: () => runtimeConfig[algorithmId],\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n },\n };\n};\nconst resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n};\n\nconst getRetryConfiguration = (runtimeConfig) => {\n return {\n setRetryStrategy(retryStrategy) {\n runtimeConfig.retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return runtimeConfig.retryStrategy;\n },\n };\n};\nconst resolveRetryRuntimeConfig = (retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n};\n\nconst getDefaultExtensionConfiguration = (runtimeConfig) => {\n return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));\n};\nconst getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nconst resolveDefaultRuntimeConfig = (config) => {\n return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));\n};\n\nconst getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n\nconst getValueFromTextNode = (obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n\nconst isSerializableHeaderValue = (value) => {\n return value != null;\n};\n\nclass NoOpLogger {\n trace() { }\n debug() { }\n info() { }\n warn() { }\n error() { }\n}\n\nfunction map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n }\n else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n }\n else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n applyInstruction(target, null, instructions, key);\n }\n return target;\n}\nconst convertMap = (target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n};\nconst take = (source, instructions) => {\n const out = {};\n for (const key in instructions) {\n applyInstruction(out, source, instructions, key);\n }\n return out;\n};\nconst mapWithFilter = (target, filter, instructions) => {\n return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n }\n else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n }\n else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n }, {}));\n};\nconst applyInstruction = (target, source, instructions, targetKey) => {\n if (source !== null) {\n let instruction = instructions[targetKey];\n if (typeof instruction === \"function\") {\n instruction = [, instruction];\n }\n const [filter = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\n if ((typeof filter === \"function\" && filter(source[sourceKey])) || (typeof filter !== \"function\" && !!filter)) {\n target[targetKey] = valueFn(source[sourceKey]);\n }\n return;\n }\n let [filter, value] = instructions[targetKey];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === undefined && (_value = value()) != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(void 0)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed) {\n target[targetKey] = _value;\n }\n else if (customFilterPassed) {\n target[targetKey] = value();\n }\n }\n else {\n const defaultFilterPassed = filter === undefined && value != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(value)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed || customFilterPassed) {\n target[targetKey] = value;\n }\n }\n};\nconst nonNullish = (_) => _ != null;\nconst pass = (_) => _;\n\nconst serializeFloat = (value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n};\nconst serializeDateTime = (date) => date.toISOString().replace(\".000Z\", \"Z\");\n\nconst _json = (obj) => {\n if (obj == null) {\n return {};\n }\n if (Array.isArray(obj)) {\n return obj.filter((_) => _ != null).map(_json);\n }\n if (typeof obj === \"object\") {\n const target = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] == null) {\n continue;\n }\n target[key] = _json(obj[key]);\n }\n return target;\n }\n return obj;\n};\n\nObject.defineProperty(exports, \"collectBody\", {\n enumerable: true,\n get: function () { return protocols.collectBody; }\n});\nObject.defineProperty(exports, \"extendedEncodeURIComponent\", {\n enumerable: true,\n get: function () { return protocols.extendedEncodeURIComponent; }\n});\nObject.defineProperty(exports, \"resolvedPath\", {\n enumerable: true,\n get: function () { return protocols.resolvedPath; }\n});\nexports.Client = Client;\nexports.Command = Command;\nexports.NoOpLogger = NoOpLogger;\nexports.SENSITIVE_STRING = SENSITIVE_STRING;\nexports.ServiceException = ServiceException;\nexports._json = _json;\nexports.convertMap = convertMap;\nexports.createAggregatedClient = createAggregatedClient;\nexports.decorateServiceException = decorateServiceException;\nexports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;\nexports.getArrayIfSingleItem = getArrayIfSingleItem;\nexports.getDefaultClientConfiguration = getDefaultClientConfiguration;\nexports.getDefaultExtensionConfiguration = getDefaultExtensionConfiguration;\nexports.getValueFromTextNode = getValueFromTextNode;\nexports.isSerializableHeaderValue = isSerializableHeaderValue;\nexports.loadConfigsForDefaultMode = loadConfigsForDefaultMode;\nexports.map = map;\nexports.resolveDefaultRuntimeConfig = resolveDefaultRuntimeConfig;\nexports.serializeDateTime = serializeDateTime;\nexports.serializeFloat = serializeFloat;\nexports.take = take;\nexports.throwDefaultError = throwDefaultError;\nexports.withBaseException = withBaseException;\nObject.keys(serde).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return serde[k]; }\n });\n});\n", "import { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { decorateServiceException } from \"@smithy/smithy-client\";\nexport class ProtocolLib {\n queryCompat;\n constructor(queryCompat = false) {\n this.queryCompat = queryCompat;\n }\n resolveRestContentType(defaultContentType, inputSchema) {\n const members = inputSchema.getMemberSchemas();\n const httpPayloadMember = Object.values(members).find((m) => {\n return !!m.getMergedTraits().httpPayload;\n });\n if (httpPayloadMember) {\n const mediaType = httpPayloadMember.getMergedTraits().mediaType;\n if (mediaType) {\n return mediaType;\n }\n else if (httpPayloadMember.isStringSchema()) {\n return \"text/plain\";\n }\n else if (httpPayloadMember.isBlobSchema()) {\n return \"application/octet-stream\";\n }\n else {\n return defaultContentType;\n }\n }\n else if (!inputSchema.isUnitSchema()) {\n const hasBody = Object.values(members).find((m) => {\n const { httpQuery, httpQueryParams, httpHeader, httpLabel, httpPrefixHeaders } = m.getMergedTraits();\n const noPrefixHeaders = httpPrefixHeaders === void 0;\n return !httpQuery && !httpQueryParams && !httpHeader && !httpLabel && noPrefixHeaders;\n });\n if (hasBody) {\n return defaultContentType;\n }\n }\n }\n async getErrorSchemaOrThrowBaseException(errorIdentifier, defaultNamespace, response, dataObject, metadata, getErrorSchema) {\n let namespace = defaultNamespace;\n let errorName = errorIdentifier;\n if (errorIdentifier.includes(\"#\")) {\n [namespace, errorName] = errorIdentifier.split(\"#\");\n }\n const errorMetadata = {\n $metadata: metadata,\n $fault: response.statusCode < 500 ? \"client\" : \"server\",\n };\n const registry = TypeRegistry.for(namespace);\n try {\n const errorSchema = getErrorSchema?.(registry, errorName) ?? registry.getSchema(errorIdentifier);\n return { errorSchema, errorMetadata };\n }\n catch (e) {\n dataObject.message = dataObject.message ?? dataObject.Message ?? \"UnknownError\";\n const synthetic = TypeRegistry.for(\"smithy.ts.sdk.synthetic.\" + namespace);\n const baseExceptionSchema = synthetic.getBaseException();\n if (baseExceptionSchema) {\n const ErrorCtor = synthetic.getErrorCtor(baseExceptionSchema) ?? Error;\n throw this.decorateServiceException(Object.assign(new ErrorCtor({ name: errorName }), errorMetadata), dataObject);\n }\n throw this.decorateServiceException(Object.assign(new Error(errorName), errorMetadata), dataObject);\n }\n }\n decorateServiceException(exception, additions = {}) {\n if (this.queryCompat) {\n const msg = exception.Message ?? additions.Message;\n const error = decorateServiceException(exception, additions);\n if (msg) {\n error.message = msg;\n }\n error.Error = {\n ...error.Error,\n Type: error.Error.Type,\n Code: error.Error.Code,\n Message: error.Error.message ?? error.Error.Message ?? msg,\n };\n const reqId = error.$metadata.requestId;\n if (reqId) {\n error.RequestId = reqId;\n }\n return error;\n }\n return decorateServiceException(exception, additions);\n }\n setQueryCompatError(output, response) {\n const queryErrorHeader = response.headers?.[\"x-amzn-query-error\"];\n if (output !== undefined && queryErrorHeader != null) {\n const [Code, Type] = queryErrorHeader.split(\";\");\n const entries = Object.entries(output);\n const Error = {\n Code,\n Type,\n };\n Object.assign(output, Error);\n for (const [k, v] of entries) {\n Error[k === \"message\" ? \"Message\" : k] = v;\n }\n delete Error.__type;\n output.Error = Error;\n }\n }\n queryCompatOutput(queryCompatErrorData, errorData) {\n if (queryCompatErrorData.Error) {\n errorData.Error = queryCompatErrorData.Error;\n }\n if (queryCompatErrorData.Type) {\n errorData.Type = queryCompatErrorData.Type;\n }\n if (queryCompatErrorData.Code) {\n errorData.Code = queryCompatErrorData.Code;\n }\n }\n findQueryCompatibleError(registry, errorName) {\n try {\n return registry.getSchema(errorName);\n }\n catch (e) {\n return registry.find((schema) => NormalizedSchema.of(schema).getMergedTraits().awsQueryError?.[0] === errorName);\n }\n }\n}\n", "import { loadSmithyRpcV2CborErrorCode, SmithyRpcV2CborProtocol } from \"@smithy/core/cbor\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nexport class AwsSmithyRpcV2CborProtocol extends SmithyRpcV2CborProtocol {\n awsQueryCompatible;\n mixin;\n constructor({ defaultNamespace, awsQueryCompatible, }) {\n super({ defaultNamespace });\n this.awsQueryCompatible = !!awsQueryCompatible;\n this.mixin = new ProtocolLib(this.awsQueryCompatible);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n return request;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorName = (() => {\n const compatHeader = response.headers[\"x-amzn-query-error\"];\n if (compatHeader && this.awsQueryCompatible) {\n return compatHeader.split(\";\")[0];\n }\n return loadSmithyRpcV2CborErrorCode(response, dataObject) ?? \"Unknown\";\n })();\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorName, this.options.defaultNamespace, response, dataObject, metadata, this.awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n if (dataObject[name] != null) {\n output[name] = this.deserializer.readValue(member, dataObject[name]);\n }\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n}\n", "export const _toStr = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\" || typeof val === \"bigint\") {\n const warning = new Error(`Received number ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n if (typeof val === \"boolean\") {\n const warning = new Error(`Received boolean ${val} where a string was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return String(val);\n }\n return val;\n};\nexport const _toBool = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"number\") {\n }\n if (typeof val === \"string\") {\n const lowercase = val.toLowerCase();\n if (val !== \"\" && lowercase !== \"false\" && lowercase !== \"true\") {\n const warning = new Error(`Received string \"${val}\" where a boolean was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n }\n return val !== \"\" && lowercase !== \"false\";\n }\n return val;\n};\nexport const _toNum = (val) => {\n if (val == null) {\n return val;\n }\n if (typeof val === \"boolean\") {\n }\n if (typeof val === \"string\") {\n const num = Number(val);\n if (num.toString() !== val) {\n const warning = new Error(`Received string \"${val}\" where a number was expected.`);\n warning.name = \"Warning\";\n console.warn(warning);\n return val;\n }\n return num;\n }\n return val;\n};\n", "export class SerdeContextConfig {\n serdeContext;\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n }\n}\n", "export class UnionSerde {\n from;\n to;\n keys;\n constructor(from, to) {\n this.from = from;\n this.to = to;\n this.keys = new Set(Object.keys(this.from).filter((k) => k !== \"__type\"));\n }\n mark(key) {\n this.keys.delete(key);\n }\n hasUnknown() {\n return this.keys.size === 1 && Object.keys(this.to).length === 0;\n }\n writeUnknown() {\n if (this.hasUnknown()) {\n const k = this.keys.values().next().value;\n const v = this.from[k];\n this.to.$unknown = [k, v];\n }\n }\n}\n", "import { NumericValue } from \"@smithy/core/serde\";\nexport function jsonReviver(key, value, context) {\n if (context?.source) {\n const numericString = context.source;\n if (typeof value === \"number\") {\n if (value > Number.MAX_SAFE_INTEGER || value < Number.MIN_SAFE_INTEGER || numericString !== String(value)) {\n const isFractional = numericString.includes(\".\");\n if (isFractional) {\n return new NumericValue(numericString, \"bigDecimal\");\n }\n else {\n return BigInt(numericString);\n }\n }\n }\n }\n return value;\n}\n", "import { collectBody } from \"@smithy/smithy-client\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nexport const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => (context?.utf8Encoder ?? toUtf8)(body));\n", "import { collectBodyString } from \"../common\";\nexport const parseJsonBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n try {\n return JSON.parse(encoded);\n }\n catch (e) {\n if (e?.name === \"SyntaxError\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n }\n return {};\n});\nexport const parseJsonErrorBody = async (errorBody, context) => {\n const value = await parseJsonBody(errorBody, context);\n value.message = value.message ?? value.Message;\n return value;\n};\nexport const loadRestJsonErrorCode = (output, data) => {\n const findKey = (object, key) => Object.keys(object).find((k) => k.toLowerCase() === key.toLowerCase());\n const sanitizeErrorCode = (rawValue) => {\n let cleanValue = rawValue;\n if (typeof cleanValue === \"number\") {\n cleanValue = cleanValue.toString();\n }\n if (cleanValue.indexOf(\",\") >= 0) {\n cleanValue = cleanValue.split(\",\")[0];\n }\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n const headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data && typeof data === \"object\") {\n const codeKey = findKey(data, \"code\");\n if (codeKey && data[codeKey] !== undefined) {\n return sanitizeErrorCode(data[codeKey]);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n }\n};\n", "import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { LazyJsonString, NumericValue, parseEpochTimestamp, parseRfc3339DateTimeWithOffset, parseRfc7231DateTime, } from \"@smithy/core/serde\";\nimport { fromBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { UnionSerde } from \"../UnionSerde\";\nimport { jsonReviver } from \"./jsonReviver\";\nimport { parseJsonBody } from \"./parseJsonBody\";\nexport class JsonShapeDeserializer extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n async read(schema, data) {\n return this._read(schema, typeof data === \"string\" ? JSON.parse(data, jsonReviver) : await parseJsonBody(data, this.serdeContext));\n }\n readObject(schema, data) {\n return this._read(schema, data);\n }\n _read(schema, value) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const union = ns.isUnionSchema();\n const out = {};\n let nameMap = void 0;\n const { jsonName } = this.settings;\n if (jsonName) {\n nameMap = {};\n }\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(record, out);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n let fromKey = memberName;\n if (jsonName) {\n fromKey = memberSchema.getMergedTraits().jsonName ?? fromKey;\n nameMap[fromKey] = memberName;\n }\n if (union) {\n unionSerde.mark(fromKey);\n }\n if (record[fromKey] != null) {\n out[memberName] = this._read(memberSchema, record[fromKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n else if (typeof record.__type === \"string\") {\n for (const [k, v] of Object.entries(record)) {\n const t = jsonName ? nameMap[k] ?? k : k;\n if (!(t in out)) {\n out[t] = v;\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n if (sparse || item != null) {\n out.push(this._read(listMember, item));\n }\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n const sparse = !!ns.getMergedTraits().sparse;\n for (const [_k, _v] of Object.entries(value)) {\n if (sparse || _v != null) {\n out[_k] = this._read(mapMember, _v);\n }\n }\n return out;\n }\n }\n if (ns.isBlobSchema() && typeof value === \"string\") {\n return fromBase64(value);\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (ns.isStringSchema() && typeof value === \"string\" && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n return value;\n }\n if (ns.isTimestampSchema() && value != null) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return parseRfc3339DateTimeWithOffset(value);\n case 6:\n return parseRfc7231DateTime(value);\n case 7:\n return parseEpochTimestamp(value);\n default:\n console.warn(\"Missing timestamp format, parsing value with Date constructor:\", value);\n return new Date(value);\n }\n }\n if (ns.isBigIntegerSchema() && (typeof value === \"number\" || typeof value === \"string\")) {\n return BigInt(value);\n }\n if (ns.isBigDecimalSchema() && value != undefined) {\n if (value instanceof NumericValue) {\n return value;\n }\n const untyped = value;\n if (untyped.type === \"bigDecimal\" && \"string\" in untyped) {\n return new NumericValue(untyped.string, untyped.type);\n }\n return new NumericValue(String(value), \"bigDecimal\");\n }\n if (ns.isNumericSchema() && typeof value === \"string\") {\n switch (value) {\n case \"Infinity\":\n return Infinity;\n case \"-Infinity\":\n return -Infinity;\n case \"NaN\":\n return NaN;\n }\n return value;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n out[k] = v;\n }\n else {\n out[k] = this._read(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n", "import { NumericValue } from \"@smithy/core/serde\";\nconst NUMERIC_CONTROL_CHAR = String.fromCharCode(925);\nexport class JsonReplacer {\n values = new Map();\n counter = 0;\n stage = 0;\n createReplacer() {\n if (this.stage === 1) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer already created.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 1;\n return (key, value) => {\n if (value instanceof NumericValue) {\n const v = `${NUMERIC_CONTROL_CHAR + \"nv\" + this.counter++}_` + value.string;\n this.values.set(`\"${v}\"`, value.string);\n return v;\n }\n if (typeof value === \"bigint\") {\n const s = value.toString();\n const v = `${NUMERIC_CONTROL_CHAR + \"b\" + this.counter++}_` + s;\n this.values.set(`\"${v}\"`, s);\n return v;\n }\n return value;\n };\n }\n replaceInJson(json) {\n if (this.stage === 0) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer not created yet.\");\n }\n if (this.stage === 2) {\n throw new Error(\"@aws-sdk/core/protocols - JsonReplacer exhausted.\");\n }\n this.stage = 2;\n if (this.counter === 0) {\n return json;\n }\n for (const [key, value] of this.values) {\n json = json.replace(key, value);\n }\n return json;\n }\n}\n", "import { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { dateToUtcString, generateIdempotencyToken, LazyJsonString, NumericValue } from \"@smithy/core/serde\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonReplacer } from \"./jsonReplacer\";\nexport class JsonShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n useReplacer = false;\n rootSchema;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n this.rootSchema = NormalizedSchema.of(schema);\n this.buffer = this._write(this.rootSchema, value);\n }\n writeDiscriminatedDocument(schema, value) {\n this.write(schema, value);\n if (typeof this.buffer === \"object\") {\n this.buffer.__type = NormalizedSchema.of(schema).getName(true);\n }\n }\n flush() {\n const { rootSchema, useReplacer } = this;\n this.rootSchema = undefined;\n this.useReplacer = false;\n if (rootSchema?.isStructSchema() || rootSchema?.isDocumentSchema()) {\n if (!useReplacer) {\n return JSON.stringify(this.buffer);\n }\n const replacer = new JsonReplacer();\n return replacer.replaceInJson(JSON.stringify(this.buffer, replacer.createReplacer(), 0));\n }\n return this.buffer;\n }\n _write(schema, value, container) {\n const isObject = value !== null && typeof value === \"object\";\n const ns = NormalizedSchema.of(schema);\n if (isObject) {\n if (ns.isStructSchema()) {\n const record = value;\n const out = {};\n const { jsonName } = this.settings;\n let nameMap = void 0;\n if (jsonName) {\n nameMap = {};\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const serializableValue = this._write(memberSchema, record[memberName], ns);\n if (serializableValue !== undefined) {\n let targetKey = memberName;\n if (jsonName) {\n targetKey = memberSchema.getMergedTraits().jsonName ?? memberName;\n nameMap[memberName] = targetKey;\n }\n out[targetKey] = serializableValue;\n }\n }\n if (ns.isUnionSchema() && Object.keys(out).length === 0) {\n const { $unknown } = record;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n out[k] = this._write(15, v);\n }\n }\n else if (typeof record.__type === \"string\") {\n for (const [k, v] of Object.entries(record)) {\n const targetKey = jsonName ? nameMap[k] ?? k : k;\n if (!(targetKey in out)) {\n out[targetKey] = this._write(15, v);\n }\n }\n }\n return out;\n }\n if (Array.isArray(value) && ns.isListSchema()) {\n const listMember = ns.getValueSchema();\n const out = [];\n const sparse = !!ns.getMergedTraits().sparse;\n for (const item of value) {\n if (sparse || item != null) {\n out.push(this._write(listMember, item));\n }\n }\n return out;\n }\n if (ns.isMapSchema()) {\n const mapMember = ns.getValueSchema();\n const out = {};\n const sparse = !!ns.getMergedTraits().sparse;\n for (const [_k, _v] of Object.entries(value)) {\n if (sparse || _v != null) {\n out[_k] = this._write(mapMember, _v);\n }\n }\n return out;\n }\n if (value instanceof Uint8Array && (ns.isBlobSchema() || ns.isDocumentSchema())) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n if (value instanceof Date && (ns.isTimestampSchema() || ns.isDocumentSchema())) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n return value.toISOString().replace(\".000Z\", \"Z\");\n case 6:\n return dateToUtcString(value);\n case 7:\n return value.getTime() / 1000;\n default:\n console.warn(\"Missing timestamp format, using epoch seconds\", value);\n return value.getTime() / 1000;\n }\n }\n if (value instanceof NumericValue) {\n this.useReplacer = true;\n }\n }\n if (value === null && container?.isStructSchema()) {\n return void 0;\n }\n if (ns.isStringSchema()) {\n if (typeof value === \"undefined\" && ns.isIdempotencyToken()) {\n return generateIdempotencyToken();\n }\n const mediaType = ns.getMergedTraits().mediaType;\n if (value != null && mediaType) {\n const isJson = mediaType === \"application/json\" || mediaType.endsWith(\"+json\");\n if (isJson) {\n return LazyJsonString.from(value);\n }\n }\n return value;\n }\n if (typeof value === \"number\" && ns.isNumericSchema()) {\n if (Math.abs(value) === Infinity || isNaN(value)) {\n return String(value);\n }\n return value;\n }\n if (typeof value === \"string\" && ns.isBlobSchema()) {\n if (ns === this.rootSchema) {\n return value;\n }\n return (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n if (typeof value === \"bigint\") {\n this.useReplacer = true;\n }\n if (ns.isDocumentSchema()) {\n if (isObject) {\n const out = Array.isArray(value) ? [] : {};\n for (const [k, v] of Object.entries(value)) {\n if (v instanceof NumericValue) {\n this.useReplacer = true;\n out[k] = v;\n }\n else {\n out[k] = this._write(ns, v);\n }\n }\n return out;\n }\n else {\n return structuredClone(value);\n }\n }\n return value;\n }\n}\n", "import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { JsonShapeDeserializer } from \"./JsonShapeDeserializer\";\nimport { JsonShapeSerializer } from \"./JsonShapeSerializer\";\nexport class JsonCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new JsonShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new JsonShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n", "import { RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsJsonRpcProtocol extends RpcProtocol {\n serializer;\n deserializer;\n serviceTarget;\n codec;\n mixin;\n awsQueryCompatible;\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n });\n this.serviceTarget = serviceTarget;\n this.codec =\n jsonCodec ??\n new JsonCodec({\n timestampFormat: {\n useTrait: true,\n default: 7,\n },\n jsonName: false,\n });\n this.serializer = this.codec.createSerializer();\n this.deserializer = this.codec.createDeserializer();\n this.awsQueryCompatible = !!awsQueryCompatible;\n this.mixin = new ProtocolLib(this.awsQueryCompatible);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-amz-json-${this.getJsonRpcVersion()}`,\n \"x-amz-target\": `${this.serviceTarget}.${operationSchema.name}`,\n });\n if (this.awsQueryCompatible) {\n request.headers[\"x-amzn-query-mode\"] = \"true\";\n }\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"{}\";\n }\n return request;\n }\n getPayloadCodec() {\n return this.codec;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n if (this.awsQueryCompatible) {\n this.mixin.setQueryCompatError(dataObject, response);\n }\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata, this.awsQueryCompatible ? this.mixin.findQueryCompatibleError : undefined);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n if (dataObject[name] != null) {\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[name]);\n }\n }\n if (this.awsQueryCompatible) {\n this.mixin.queryCompatOutput(dataObject, output);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n}\n", "import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_0Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n jsonCodec,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_0\";\n }\n getJsonRpcVersion() {\n return \"1.0\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.0\";\n }\n}\n", "import { AwsJsonRpcProtocol } from \"./AwsJsonRpcProtocol\";\nexport class AwsJson1_1Protocol extends AwsJsonRpcProtocol {\n constructor({ defaultNamespace, serviceTarget, awsQueryCompatible, jsonCodec, }) {\n super({\n defaultNamespace,\n serviceTarget,\n awsQueryCompatible,\n jsonCodec,\n });\n }\n getShapeId() {\n return \"aws.protocols#awsJson1_1\";\n }\n getJsonRpcVersion() {\n return \"1.1\";\n }\n getDefaultContentType() {\n return \"application/x-amz-json-1.1\";\n }\n}\n", "import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { JsonCodec } from \"./JsonCodec\";\nimport { loadRestJsonErrorCode } from \"./parseJsonBody\";\nexport class AwsRestJsonProtocol extends HttpBindingProtocol {\n serializer;\n deserializer;\n codec;\n mixin = new ProtocolLib();\n constructor({ defaultNamespace }) {\n super({\n defaultNamespace,\n });\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 7,\n },\n httpBindings: true,\n jsonName: true,\n };\n this.codec = new JsonCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getShapeId() {\n return \"aws.protocols#restJson1\";\n }\n getPayloadCodec() {\n return this.codec;\n }\n setSerdeContext(serdeContext) {\n this.codec.setSerdeContext(serdeContext);\n super.setSerdeContext(serdeContext);\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (request.body == null && request.headers[\"content-type\"] === this.getDefaultContentType()) {\n request.body = \"{}\";\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const output = await super.deserializeResponse(operationSchema, context, response);\n const outputSchema = NormalizedSchema.of(operationSchema.output);\n for (const [name, member] of outputSchema.structIterator()) {\n if (member.getMemberTraits().httpPayload && !(name in output)) {\n output[name] = null;\n }\n }\n return output;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestJsonErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().jsonName ?? name;\n output[name] = this.codec.createDeserializer().readObject(member, dataObject[target]);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n getDefaultContentType() {\n return \"application/json\";\n }\n}\n", "import { expectUnion } from \"@smithy/smithy-client\";\nexport const awsExpectUnion = (value) => {\n if (value == null) {\n return undefined;\n }\n if (typeof value === \"object\" && \"__type\" in value) {\n delete value.__type;\n }\n return expectUnion(value);\n};\n", "(()=>{\"use strict\";var t={d:(e,i)=>{for(var n in i)t.o(i,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:i[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})}},e={};t.r(e),t.d(e,{XMLBuilder:()=>ut,XMLParser:()=>et,XMLValidator:()=>ft});const i=\":A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",n=new RegExp(\"^[\"+i+\"][\"+i+\"\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\");function s(t,e){const i=[];let n=e.exec(t);for(;n;){const s=[];s.startIndex=e.lastIndex-n[0].length;const r=n.length;for(let t=0;t<r;t++)s.push(n[t]);i.push(s),n=e.exec(t)}return i}const r=function(t){return!(null==n.exec(t))},o={allowBooleanAttributes:!1,unpairedTags:[]};function a(t,e){e=Object.assign({},o,e);const i=[];let n=!1,s=!1;\"\\ufeff\"===t[0]&&(t=t.substr(1));for(let o=0;o<t.length;o++)if(\"<\"===t[o]&&\"?\"===t[o+1]){if(o+=2,o=u(t,o),o.err)return o}else{if(\"<\"!==t[o]){if(l(t[o]))continue;return x(\"InvalidChar\",\"char '\"+t[o]+\"' is not expected.\",b(t,o))}{let a=o;if(o++,\"!\"===t[o]){o=h(t,o);continue}{let d=!1;\"/\"===t[o]&&(d=!0,o++);let p=\"\";for(;o<t.length&&\">\"!==t[o]&&\" \"!==t[o]&&\"\\t\"!==t[o]&&\"\\n\"!==t[o]&&\"\\r\"!==t[o];o++)p+=t[o];if(p=p.trim(),\"/\"===p[p.length-1]&&(p=p.substring(0,p.length-1),o--),!r(p)){let e;return e=0===p.trim().length?\"Invalid space after '<'.\":\"Tag '\"+p+\"' is an invalid name.\",x(\"InvalidTag\",e,b(t,o))}const c=f(t,o);if(!1===c)return x(\"InvalidAttr\",\"Attributes for '\"+p+\"' have open quote.\",b(t,o));let N=c.value;if(o=c.index,\"/\"===N[N.length-1]){const i=o-N.length;N=N.substring(0,N.length-1);const s=g(N,e);if(!0!==s)return x(s.err.code,s.err.msg,b(t,i+s.err.line));n=!0}else if(d){if(!c.tagClosed)return x(\"InvalidTag\",\"Closing tag '\"+p+\"' doesn't have proper closing.\",b(t,o));if(N.trim().length>0)return x(\"InvalidTag\",\"Closing tag '\"+p+\"' can't have attributes or invalid starting.\",b(t,a));if(0===i.length)return x(\"InvalidTag\",\"Closing tag '\"+p+\"' has not been opened.\",b(t,a));{const e=i.pop();if(p!==e.tagName){let i=b(t,e.tagStartPos);return x(\"InvalidTag\",\"Expected closing tag '\"+e.tagName+\"' (opened in line \"+i.line+\", col \"+i.col+\") instead of closing tag '\"+p+\"'.\",b(t,a))}0==i.length&&(s=!0)}}else{const r=g(N,e);if(!0!==r)return x(r.err.code,r.err.msg,b(t,o-N.length+r.err.line));if(!0===s)return x(\"InvalidXml\",\"Multiple possible root nodes found.\",b(t,o));-1!==e.unpairedTags.indexOf(p)||i.push({tagName:p,tagStartPos:a}),n=!0}for(o++;o<t.length;o++)if(\"<\"===t[o]){if(\"!\"===t[o+1]){o++,o=h(t,o);continue}if(\"?\"!==t[o+1])break;if(o=u(t,++o),o.err)return o}else if(\"&\"===t[o]){const e=m(t,o);if(-1==e)return x(\"InvalidChar\",\"char '&' is not expected.\",b(t,o));o=e}else if(!0===s&&!l(t[o]))return x(\"InvalidXml\",\"Extra text at the end\",b(t,o));\"<\"===t[o]&&o--}}}return n?1==i.length?x(\"InvalidTag\",\"Unclosed tag '\"+i[0].tagName+\"'.\",b(t,i[0].tagStartPos)):!(i.length>0)||x(\"InvalidXml\",\"Invalid '\"+JSON.stringify(i.map((t=>t.tagName)),null,4).replace(/\\r?\\n/g,\"\")+\"' found.\",{line:1,col:1}):x(\"InvalidXml\",\"Start tag expected.\",1)}function l(t){return\" \"===t||\"\\t\"===t||\"\\n\"===t||\"\\r\"===t}function u(t,e){const i=e;for(;e<t.length;e++)if(\"?\"!=t[e]&&\" \"!=t[e]);else{const n=t.substr(i,e-i);if(e>5&&\"xml\"===n)return x(\"InvalidXml\",\"XML declaration allowed only at the start of the document.\",b(t,e));if(\"?\"==t[e]&&\">\"==t[e+1]){e++;break}}return e}function h(t,e){if(t.length>e+5&&\"-\"===t[e+1]&&\"-\"===t[e+2]){for(e+=3;e<t.length;e++)if(\"-\"===t[e]&&\"-\"===t[e+1]&&\">\"===t[e+2]){e+=2;break}}else if(t.length>e+8&&\"D\"===t[e+1]&&\"O\"===t[e+2]&&\"C\"===t[e+3]&&\"T\"===t[e+4]&&\"Y\"===t[e+5]&&\"P\"===t[e+6]&&\"E\"===t[e+7]){let i=1;for(e+=8;e<t.length;e++)if(\"<\"===t[e])i++;else if(\">\"===t[e]&&(i--,0===i))break}else if(t.length>e+9&&\"[\"===t[e+1]&&\"C\"===t[e+2]&&\"D\"===t[e+3]&&\"A\"===t[e+4]&&\"T\"===t[e+5]&&\"A\"===t[e+6]&&\"[\"===t[e+7])for(e+=8;e<t.length;e++)if(\"]\"===t[e]&&\"]\"===t[e+1]&&\">\"===t[e+2]){e+=2;break}return e}const d='\"',p=\"'\";function f(t,e){let i=\"\",n=\"\",s=!1;for(;e<t.length;e++){if(t[e]===d||t[e]===p)\"\"===n?n=t[e]:n!==t[e]||(n=\"\");else if(\">\"===t[e]&&\"\"===n){s=!0;break}i+=t[e]}return\"\"===n&&{value:i,index:e,tagClosed:s}}const c=new RegExp(\"(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*(['\\\"])(([\\\\s\\\\S])*?)\\\\5)?\",\"g\");function g(t,e){const i=s(t,c),n={};for(let t=0;t<i.length;t++){if(0===i[t][1].length)return x(\"InvalidAttr\",\"Attribute '\"+i[t][2]+\"' has no space in starting.\",E(i[t]));if(void 0!==i[t][3]&&void 0===i[t][4])return x(\"InvalidAttr\",\"Attribute '\"+i[t][2]+\"' is without value.\",E(i[t]));if(void 0===i[t][3]&&!e.allowBooleanAttributes)return x(\"InvalidAttr\",\"boolean attribute '\"+i[t][2]+\"' is not allowed.\",E(i[t]));const s=i[t][2];if(!N(s))return x(\"InvalidAttr\",\"Attribute '\"+s+\"' is an invalid name.\",E(i[t]));if(n.hasOwnProperty(s))return x(\"InvalidAttr\",\"Attribute '\"+s+\"' is repeated.\",E(i[t]));n[s]=1}return!0}function m(t,e){if(\";\"===t[++e])return-1;if(\"#\"===t[e])return function(t,e){let i=/\\d/;for(\"x\"===t[e]&&(e++,i=/[\\da-fA-F]/);e<t.length;e++){if(\";\"===t[e])return e;if(!t[e].match(i))break}return-1}(t,++e);let i=0;for(;e<t.length;e++,i++)if(!(t[e].match(/\\w/)&&i<20)){if(\";\"===t[e])break;return-1}return e}function x(t,e,i){return{err:{code:t,msg:e,line:i.line||i,col:i.col}}}function N(t){return r(t)}function b(t,e){const i=t.substring(0,e).split(/\\r?\\n/);return{line:i.length,col:i[i.length-1].length+1}}function E(t){return t.startIndex+t[1].length}const v={preserveOrder:!1,attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,i){return t},captureMetaData:!1};let T;T=\"function\"!=typeof Symbol?\"@@xmlMetadata\":Symbol(\"XML Node Metadata\");class y{constructor(t){this.tagname=t,this.child=[],this[\":@\"]={}}add(t,e){\"__proto__\"===t&&(t=\"#__proto__\"),this.child.push({[t]:e})}addChild(t,e){\"__proto__\"===t.tagname&&(t.tagname=\"#__proto__\"),t[\":@\"]&&Object.keys(t[\":@\"]).length>0?this.child.push({[t.tagname]:t.child,\":@\":t[\":@\"]}):this.child.push({[t.tagname]:t.child}),void 0!==e&&(this.child[this.child.length-1][T]={startIndex:e})}static getMetaDataSymbol(){return T}}class w{constructor(t){this.suppressValidationErr=!t}readDocType(t,e){const i={};if(\"O\"!==t[e+3]||\"C\"!==t[e+4]||\"T\"!==t[e+5]||\"Y\"!==t[e+6]||\"P\"!==t[e+7]||\"E\"!==t[e+8])throw new Error(\"Invalid Tag instead of DOCTYPE\");{e+=9;let n=1,s=!1,r=!1,o=\"\";for(;e<t.length;e++)if(\"<\"!==t[e]||r)if(\">\"===t[e]){if(r?\"-\"===t[e-1]&&\"-\"===t[e-2]&&(r=!1,n--):n--,0===n)break}else\"[\"===t[e]?s=!0:o+=t[e];else{if(s&&P(t,\"!ENTITY\",e)){let n,s;e+=7,[n,s,e]=this.readEntityExp(t,e+1,this.suppressValidationErr),-1===s.indexOf(\"&\")&&(i[n]={regx:RegExp(`&${n};`,\"g\"),val:s})}else if(s&&P(t,\"!ELEMENT\",e)){e+=8;const{index:i}=this.readElementExp(t,e+1);e=i}else if(s&&P(t,\"!ATTLIST\",e))e+=8;else if(s&&P(t,\"!NOTATION\",e)){e+=9;const{index:i}=this.readNotationExp(t,e+1,this.suppressValidationErr);e=i}else{if(!P(t,\"!--\",e))throw new Error(\"Invalid DOCTYPE\");r=!0}n++,o=\"\"}if(0!==n)throw new Error(\"Unclosed DOCTYPE\")}return{entities:i,i:e}}readEntityExp(t,e){e=I(t,e);let i=\"\";for(;e<t.length&&!/\\s/.test(t[e])&&'\"'!==t[e]&&\"'\"!==t[e];)i+=t[e],e++;if(O(i),e=I(t,e),!this.suppressValidationErr){if(\"SYSTEM\"===t.substring(e,e+6).toUpperCase())throw new Error(\"External entities are not supported\");if(\"%\"===t[e])throw new Error(\"Parameter entities are not supported\")}let n=\"\";return[e,n]=this.readIdentifierVal(t,e,\"entity\"),[i,n,--e]}readNotationExp(t,e){e=I(t,e);let i=\"\";for(;e<t.length&&!/\\s/.test(t[e]);)i+=t[e],e++;!this.suppressValidationErr&&O(i),e=I(t,e);const n=t.substring(e,e+6).toUpperCase();if(!this.suppressValidationErr&&\"SYSTEM\"!==n&&\"PUBLIC\"!==n)throw new Error(`Expected SYSTEM or PUBLIC, found \"${n}\"`);e+=n.length,e=I(t,e);let s=null,r=null;if(\"PUBLIC\"===n)[e,s]=this.readIdentifierVal(t,e,\"publicIdentifier\"),'\"'!==t[e=I(t,e)]&&\"'\"!==t[e]||([e,r]=this.readIdentifierVal(t,e,\"systemIdentifier\"));else if(\"SYSTEM\"===n&&([e,r]=this.readIdentifierVal(t,e,\"systemIdentifier\"),!this.suppressValidationErr&&!r))throw new Error(\"Missing mandatory system identifier for SYSTEM notation\");return{notationName:i,publicIdentifier:s,systemIdentifier:r,index:--e}}readIdentifierVal(t,e,i){let n=\"\";const s=t[e];if('\"'!==s&&\"'\"!==s)throw new Error(`Expected quoted string, found \"${s}\"`);for(e++;e<t.length&&t[e]!==s;)n+=t[e],e++;if(t[e]!==s)throw new Error(`Unterminated ${i} value`);return[++e,n]}readElementExp(t,e){e=I(t,e);let i=\"\";for(;e<t.length&&!/\\s/.test(t[e]);)i+=t[e],e++;if(!this.suppressValidationErr&&!r(i))throw new Error(`Invalid element name: \"${i}\"`);let n=\"\";if(\"E\"===t[e=I(t,e)]&&P(t,\"MPTY\",e))e+=4;else if(\"A\"===t[e]&&P(t,\"NY\",e))e+=2;else if(\"(\"===t[e]){for(e++;e<t.length&&\")\"!==t[e];)n+=t[e],e++;if(\")\"!==t[e])throw new Error(\"Unterminated content model\")}else if(!this.suppressValidationErr)throw new Error(`Invalid Element Expression, found \"${t[e]}\"`);return{elementName:i,contentModel:n.trim(),index:e}}readAttlistExp(t,e){e=I(t,e);let i=\"\";for(;e<t.length&&!/\\s/.test(t[e]);)i+=t[e],e++;O(i),e=I(t,e);let n=\"\";for(;e<t.length&&!/\\s/.test(t[e]);)n+=t[e],e++;if(!O(n))throw new Error(`Invalid attribute name: \"${n}\"`);e=I(t,e);let s=\"\";if(\"NOTATION\"===t.substring(e,e+8).toUpperCase()){if(s=\"NOTATION\",\"(\"!==t[e=I(t,e+=8)])throw new Error(`Expected '(', found \"${t[e]}\"`);e++;let i=[];for(;e<t.length&&\")\"!==t[e];){let n=\"\";for(;e<t.length&&\"|\"!==t[e]&&\")\"!==t[e];)n+=t[e],e++;if(n=n.trim(),!O(n))throw new Error(`Invalid notation name: \"${n}\"`);i.push(n),\"|\"===t[e]&&(e++,e=I(t,e))}if(\")\"!==t[e])throw new Error(\"Unterminated list of notations\");e++,s+=\" (\"+i.join(\"|\")+\")\"}else{for(;e<t.length&&!/\\s/.test(t[e]);)s+=t[e],e++;const i=[\"CDATA\",\"ID\",\"IDREF\",\"IDREFS\",\"ENTITY\",\"ENTITIES\",\"NMTOKEN\",\"NMTOKENS\"];if(!this.suppressValidationErr&&!i.includes(s.toUpperCase()))throw new Error(`Invalid attribute type: \"${s}\"`)}e=I(t,e);let r=\"\";return\"#REQUIRED\"===t.substring(e,e+8).toUpperCase()?(r=\"#REQUIRED\",e+=8):\"#IMPLIED\"===t.substring(e,e+7).toUpperCase()?(r=\"#IMPLIED\",e+=7):[e,r]=this.readIdentifierVal(t,e,\"ATTLIST\"),{elementName:i,attributeName:n,attributeType:s,defaultValue:r,index:e}}}const I=(t,e)=>{for(;e<t.length&&/\\s/.test(t[e]);)e++;return e};function P(t,e,i){for(let n=0;n<e.length;n++)if(e[n]!==t[i+n+1])return!1;return!0}function O(t){if(r(t))return t;throw new Error(`Invalid entity name ${t}`)}const A=/^[-+]?0x[a-fA-F0-9]+$/,S=/^([\\-\\+])?(0*)([0-9]*(\\.[0-9]*)?)$/,C={hex:!0,leadingZeros:!0,decimalPoint:\".\",eNotation:!0};const V=/^([-+])?(0*)(\\d*(\\.\\d*)?[eE][-\\+]?\\d+)$/;function $(t){return\"function\"==typeof t?t:Array.isArray(t)?e=>{for(const i of t){if(\"string\"==typeof i&&e===i)return!0;if(i instanceof RegExp&&i.test(e))return!0}}:()=>!1}class D{constructor(t){if(this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:\"'\"},gt:{regex:/&(gt|#62|#x3E);/g,val:\">\"},lt:{regex:/&(lt|#60|#x3C);/g,val:\"<\"},quot:{regex:/&(quot|#34|#x22);/g,val:'\"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:\"&\"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:\" \"},cent:{regex:/&(cent|#162);/g,val:\"\u00A2\"},pound:{regex:/&(pound|#163);/g,val:\"\u00A3\"},yen:{regex:/&(yen|#165);/g,val:\"\u00A5\"},euro:{regex:/&(euro|#8364);/g,val:\"\u20AC\"},copyright:{regex:/&(copy|#169);/g,val:\"\u00A9\"},reg:{regex:/&(reg|#174);/g,val:\"\u00AE\"},inr:{regex:/&(inr|#8377);/g,val:\"\u20B9\"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,e)=>Z(e,10,\"&#\")},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,e)=>Z(e,16,\"&#x\")}},this.addExternalEntities=j,this.parseXml=L,this.parseTextData=M,this.resolveNameSpace=F,this.buildAttributesMap=k,this.isItStopNode=Y,this.replaceEntitiesValue=B,this.readStopNodeData=W,this.saveTextToParentTag=R,this.addChild=U,this.ignoreAttributesFn=$(this.options.ignoreAttributes),this.options.stopNodes&&this.options.stopNodes.length>0){this.stopNodesExact=new Set,this.stopNodesWildcard=new Set;for(let t=0;t<this.options.stopNodes.length;t++){const e=this.options.stopNodes[t];\"string\"==typeof e&&(e.startsWith(\"*.\")?this.stopNodesWildcard.add(e.substring(2)):this.stopNodesExact.add(e))}}}}function j(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const n=e[i];this.lastEntities[n]={regex:new RegExp(\"&\"+n+\";\",\"g\"),val:t[n]}}}function M(t,e,i,n,s,r,o){if(void 0!==t&&(this.options.trimValues&&!n&&(t=t.trim()),t.length>0)){o||(t=this.replaceEntitiesValue(t));const n=this.options.tagValueProcessor(e,t,i,s,r);return null==n?t:typeof n!=typeof t||n!==t?n:this.options.trimValues||t.trim()===t?q(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function F(t){if(this.options.removeNSPrefix){const e=t.split(\":\"),i=\"/\"===t.charAt(0)?\"/\":\"\";if(\"xmlns\"===e[0])return\"\";2===e.length&&(t=i+e[1])}return t}const _=new RegExp(\"([^\\\\s=]+)\\\\s*(=\\\\s*(['\\\"])([\\\\s\\\\S]*?)\\\\3)?\",\"gm\");function k(t,e){if(!0!==this.options.ignoreAttributes&&\"string\"==typeof t){const i=s(t,_),n=i.length,r={};for(let t=0;t<n;t++){const n=this.resolveNameSpace(i[t][1]);if(this.ignoreAttributesFn(n,e))continue;let s=i[t][4],o=this.options.attributeNamePrefix+n;if(n.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),\"__proto__\"===o&&(o=\"#__proto__\"),void 0!==s){this.options.trimValues&&(s=s.trim()),s=this.replaceEntitiesValue(s);const t=this.options.attributeValueProcessor(n,s,e);r[o]=null==t?s:typeof t!=typeof s||t!==s?t:q(s,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(r[o]=!0)}if(!Object.keys(r).length)return;if(this.options.attributesGroupName){const t={};return t[this.options.attributesGroupName]=r,t}return r}}const L=function(t){t=t.replace(/\\r\\n?/g,\"\\n\");const e=new y(\"!xml\");let i=e,n=\"\",s=\"\";const r=new w(this.options.processEntities);for(let o=0;o<t.length;o++)if(\"<\"===t[o])if(\"/\"===t[o+1]){const e=G(t,\">\",o,\"Closing Tag is not closed.\");let r=t.substring(o+2,e).trim();if(this.options.removeNSPrefix){const t=r.indexOf(\":\");-1!==t&&(r=r.substr(t+1))}this.options.transformTagName&&(r=this.options.transformTagName(r)),i&&(n=this.saveTextToParentTag(n,i,s));const a=s.substring(s.lastIndexOf(\".\")+1);if(r&&-1!==this.options.unpairedTags.indexOf(r))throw new Error(`Unpaired tag can not be used as closing tag: </${r}>`);let l=0;a&&-1!==this.options.unpairedTags.indexOf(a)?(l=s.lastIndexOf(\".\",s.lastIndexOf(\".\")-1),this.tagsNodeStack.pop()):l=s.lastIndexOf(\".\"),s=s.substring(0,l),i=this.tagsNodeStack.pop(),n=\"\",o=e}else if(\"?\"===t[o+1]){let e=X(t,o,!1,\"?>\");if(!e)throw new Error(\"Pi Tag is not closed.\");if(n=this.saveTextToParentTag(n,i,s),this.options.ignoreDeclaration&&\"?xml\"===e.tagName||this.options.ignorePiTags);else{const t=new y(e.tagName);t.add(this.options.textNodeName,\"\"),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[\":@\"]=this.buildAttributesMap(e.tagExp,s)),this.addChild(i,t,s,o)}o=e.closeIndex+1}else if(\"!--\"===t.substr(o+1,3)){const e=G(t,\"--\\x3e\",o+4,\"Comment is not closed.\");if(this.options.commentPropName){const r=t.substring(o+4,e-2);n=this.saveTextToParentTag(n,i,s),i.add(this.options.commentPropName,[{[this.options.textNodeName]:r}])}o=e}else if(\"!D\"===t.substr(o+1,2)){const e=r.readDocType(t,o);this.docTypeEntities=e.entities,o=e.i}else if(\"![\"===t.substr(o+1,2)){const e=G(t,\"]]>\",o,\"CDATA is not closed.\")-2,r=t.substring(o+9,e);n=this.saveTextToParentTag(n,i,s);let a=this.parseTextData(r,i.tagname,s,!0,!1,!0,!0);null==a&&(a=\"\"),this.options.cdataPropName?i.add(this.options.cdataPropName,[{[this.options.textNodeName]:r}]):i.add(this.options.textNodeName,a),o=e+2}else{let r=X(t,o,this.options.removeNSPrefix),a=r.tagName;const l=r.rawTagName;let u=r.tagExp,h=r.attrExpPresent,d=r.closeIndex;if(this.options.transformTagName){const t=this.options.transformTagName(a);u===a&&(u=t),a=t}i&&n&&\"!xml\"!==i.tagname&&(n=this.saveTextToParentTag(n,i,s,!1));const p=i;p&&-1!==this.options.unpairedTags.indexOf(p.tagname)&&(i=this.tagsNodeStack.pop(),s=s.substring(0,s.lastIndexOf(\".\"))),a!==e.tagname&&(s+=s?\".\"+a:a);const f=o;if(this.isItStopNode(this.stopNodesExact,this.stopNodesWildcard,s,a)){let e=\"\";if(u.length>0&&u.lastIndexOf(\"/\")===u.length-1)\"/\"===a[a.length-1]?(a=a.substr(0,a.length-1),s=s.substr(0,s.length-1),u=a):u=u.substr(0,u.length-1),o=r.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(a))o=r.closeIndex;else{const i=this.readStopNodeData(t,l,d+1);if(!i)throw new Error(`Unexpected end of ${l}`);o=i.i,e=i.tagContent}const n=new y(a);a!==u&&h&&(n[\":@\"]=this.buildAttributesMap(u,s)),e&&(e=this.parseTextData(e,a,s,!0,h,!0,!0)),s=s.substr(0,s.lastIndexOf(\".\")),n.add(this.options.textNodeName,e),this.addChild(i,n,s,f)}else{if(u.length>0&&u.lastIndexOf(\"/\")===u.length-1){if(\"/\"===a[a.length-1]?(a=a.substr(0,a.length-1),s=s.substr(0,s.length-1),u=a):u=u.substr(0,u.length-1),this.options.transformTagName){const t=this.options.transformTagName(a);u===a&&(u=t),a=t}const t=new y(a);a!==u&&h&&(t[\":@\"]=this.buildAttributesMap(u,s)),this.addChild(i,t,s,f),s=s.substr(0,s.lastIndexOf(\".\"))}else{const t=new y(a);this.tagsNodeStack.push(i),a!==u&&h&&(t[\":@\"]=this.buildAttributesMap(u,s)),this.addChild(i,t,s,f),i=t}n=\"\",o=d}}else n+=t[o];return e.child};function U(t,e,i,n){this.options.captureMetaData||(n=void 0);const s=this.options.updateTag(e.tagname,i,e[\":@\"]);!1===s||(\"string\"==typeof s?(e.tagname=s,t.addChild(e,n)):t.addChild(e,n))}const B=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const i=this.docTypeEntities[e];t=t.replace(i.regx,i.val)}for(let e in this.lastEntities){const i=this.lastEntities[e];t=t.replace(i.regex,i.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const i=this.htmlEntities[e];t=t.replace(i.regex,i.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function R(t,e,i,n){return t&&(void 0===n&&(n=0===e.child.length),void 0!==(t=this.parseTextData(t,e.tagname,i,!1,!!e[\":@\"]&&0!==Object.keys(e[\":@\"]).length,n))&&\"\"!==t&&e.add(this.options.textNodeName,t),t=\"\"),t}function Y(t,e,i,n){return!(!e||!e.has(n))||!(!t||!t.has(i))}function G(t,e,i,n){const s=t.indexOf(e,i);if(-1===s)throw new Error(n);return s+e.length-1}function X(t,e,i,n=\">\"){const s=function(t,e,i=\">\"){let n,s=\"\";for(let r=e;r<t.length;r++){let e=t[r];if(n)e===n&&(n=\"\");else if('\"'===e||\"'\"===e)n=e;else if(e===i[0]){if(!i[1])return{data:s,index:r};if(t[r+1]===i[1])return{data:s,index:r}}else\"\\t\"===e&&(e=\" \");s+=e}}(t,e+1,n);if(!s)return;let r=s.data;const o=s.index,a=r.search(/\\s/);let l=r,u=!0;-1!==a&&(l=r.substring(0,a),r=r.substring(a+1).trimStart());const h=l;if(i){const t=l.indexOf(\":\");-1!==t&&(l=l.substr(t+1),u=l!==s.data.substr(t+1))}return{tagName:l,tagExp:r,closeIndex:o,attrExpPresent:u,rawTagName:h}}function W(t,e,i){const n=i;let s=1;for(;i<t.length;i++)if(\"<\"===t[i])if(\"/\"===t[i+1]){const r=G(t,\">\",i,`${e} is not closed`);if(t.substring(i+2,r).trim()===e&&(s--,0===s))return{tagContent:t.substring(n,i),i:r};i=r}else if(\"?\"===t[i+1])i=G(t,\"?>\",i+1,\"StopNode is not closed.\");else if(\"!--\"===t.substr(i+1,3))i=G(t,\"--\\x3e\",i+3,\"StopNode is not closed.\");else if(\"![\"===t.substr(i+1,2))i=G(t,\"]]>\",i,\"StopNode is not closed.\")-2;else{const n=X(t,i,\">\");n&&((n&&n.tagName)===e&&\"/\"!==n.tagExp[n.tagExp.length-1]&&s++,i=n.closeIndex)}}function q(t,e,i){if(e&&\"string\"==typeof t){const e=t.trim();return\"true\"===e||\"false\"!==e&&function(t,e={}){if(e=Object.assign({},C,e),!t||\"string\"!=typeof t)return t;let i=t.trim();if(void 0!==e.skipLike&&e.skipLike.test(i))return t;if(\"0\"===t)return 0;if(e.hex&&A.test(i))return function(t){if(parseInt)return parseInt(t,16);if(Number.parseInt)return Number.parseInt(t,16);if(window&&window.parseInt)return window.parseInt(t,16);throw new Error(\"parseInt, Number.parseInt, window.parseInt are not supported\")}(i);if(-1!==i.search(/.+[eE].+/))return function(t,e,i){if(!i.eNotation)return t;const n=e.match(V);if(n){let s=n[1]||\"\";const r=-1===n[3].indexOf(\"e\")?\"E\":\"e\",o=n[2],a=s?t[o.length+1]===r:t[o.length]===r;return o.length>1&&a?t:1!==o.length||!n[3].startsWith(`.${r}`)&&n[3][0]!==r?i.leadingZeros&&!a?(e=(n[1]||\"\")+n[3],Number(e)):t:Number(e)}return t}(t,i,e);{const s=S.exec(i);if(s){const r=s[1]||\"\",o=s[2];let a=(n=s[3])&&-1!==n.indexOf(\".\")?(\".\"===(n=n.replace(/0+$/,\"\"))?n=\"0\":\".\"===n[0]?n=\"0\"+n:\".\"===n[n.length-1]&&(n=n.substring(0,n.length-1)),n):n;const l=r?\".\"===t[o.length+1]:\".\"===t[o.length];if(!e.leadingZeros&&(o.length>1||1===o.length&&!l))return t;{const n=Number(i),s=String(n);if(0===n||-0===n)return n;if(-1!==s.search(/[eE]/))return e.eNotation?n:t;if(-1!==i.indexOf(\".\"))return\"0\"===s||s===a||s===`${r}${a}`?n:t;let l=o?a:i;return o?l===s||r+l===s?n:t:l===s||l===r+s?n:t}}return t}var n}(t,i)}return void 0!==t?t:\"\"}function Z(t,e,i){const n=Number.parseInt(t,e);return n>=0&&n<=1114111?String.fromCodePoint(n):i+t+\";\"}const K=y.getMetaDataSymbol();function Q(t,e){return z(t,e)}function z(t,e,i){let n;const s={};for(let r=0;r<t.length;r++){const o=t[r],a=J(o);let l=\"\";if(l=void 0===i?a:i+\".\"+a,a===e.textNodeName)void 0===n?n=o[a]:n+=\"\"+o[a];else{if(void 0===a)continue;if(o[a]){let t=z(o[a],e,l);const i=tt(t,e);void 0!==o[K]&&(t[K]=o[K]),o[\":@\"]?H(t,o[\":@\"],l,e):1!==Object.keys(t).length||void 0===t[e.textNodeName]||e.alwaysCreateTextNode?0===Object.keys(t).length&&(e.alwaysCreateTextNode?t[e.textNodeName]=\"\":t=\"\"):t=t[e.textNodeName],void 0!==s[a]&&s.hasOwnProperty(a)?(Array.isArray(s[a])||(s[a]=[s[a]]),s[a].push(t)):e.isArray(a,l,i)?s[a]=[t]:s[a]=t}}}return\"string\"==typeof n?n.length>0&&(s[e.textNodeName]=n):void 0!==n&&(s[e.textNodeName]=n),s}function J(t){const e=Object.keys(t);for(let t=0;t<e.length;t++){const i=e[t];if(\":@\"!==i)return i}}function H(t,e,i,n){if(e){const s=Object.keys(e),r=s.length;for(let o=0;o<r;o++){const r=s[o];n.isArray(r,i+\".\"+r,!0,!0)?t[r]=[e[r]]:t[r]=e[r]}}}function tt(t,e){const{textNodeName:i}=e,n=Object.keys(t).length;return 0===n||!(1!==n||!t[i]&&\"boolean\"!=typeof t[i]&&0!==t[i])}class et{constructor(t){this.externalEntities={},this.options=function(t){return Object.assign({},v,t)}(t)}parse(t,e){if(\"string\"!=typeof t&&t.toString)t=t.toString();else if(\"string\"!=typeof t)throw new Error(\"XML data is accepted in String or Bytes[] form.\");if(e){!0===e&&(e={});const i=a(t,e);if(!0!==i)throw Error(`${i.err.msg}:${i.err.line}:${i.err.col}`)}const i=new D(this.options);i.addExternalEntities(this.externalEntities);const n=i.parseXml(t);return this.options.preserveOrder||void 0===n?n:Q(n,this.options)}addEntity(t,e){if(-1!==e.indexOf(\"&\"))throw new Error(\"Entity value can't have '&'\");if(-1!==t.indexOf(\"&\")||-1!==t.indexOf(\";\"))throw new Error(\"An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'\");if(\"&\"===e)throw new Error(\"An entity with value '&' is not permitted\");this.externalEntities[t]=e}static getMetaDataSymbol(){return y.getMetaDataSymbol()}}function it(t,e){let i=\"\";return e.format&&e.indentBy.length>0&&(i=\"\\n\"),nt(t,e,\"\",i)}function nt(t,e,i,n){let s=\"\",r=!1;for(let o=0;o<t.length;o++){const a=t[o],l=st(a);if(void 0===l)continue;let u=\"\";if(u=0===i.length?l:`${i}.${l}`,l===e.textNodeName){let t=a[l];ot(u,e)||(t=e.tagValueProcessor(l,t),t=at(t,e)),r&&(s+=n),s+=t,r=!1;continue}if(l===e.cdataPropName){r&&(s+=n),s+=`<![CDATA[${a[l][0][e.textNodeName]}]]>`,r=!1;continue}if(l===e.commentPropName){s+=n+`\\x3c!--${a[l][0][e.textNodeName]}--\\x3e`,r=!0;continue}if(\"?\"===l[0]){const t=rt(a[\":@\"],e),i=\"?xml\"===l?\"\":n;let o=a[l][0][e.textNodeName];o=0!==o.length?\" \"+o:\"\",s+=i+`<${l}${o}${t}?>`,r=!0;continue}let h=n;\"\"!==h&&(h+=e.indentBy);const d=n+`<${l}${rt(a[\":@\"],e)}`,p=nt(a[l],e,u,h);-1!==e.unpairedTags.indexOf(l)?e.suppressUnpairedNode?s+=d+\">\":s+=d+\"/>\":p&&0!==p.length||!e.suppressEmptyNode?p&&p.endsWith(\">\")?s+=d+`>${p}${n}</${l}>`:(s+=d+\">\",p&&\"\"!==n&&(p.includes(\"/>\")||p.includes(\"</\"))?s+=n+e.indentBy+p+n:s+=p,s+=`</${l}>`):s+=d+\"/>\",r=!0}return s}function st(t){const e=Object.keys(t);for(let i=0;i<e.length;i++){const n=e[i];if(t.hasOwnProperty(n)&&\":@\"!==n)return n}}function rt(t,e){let i=\"\";if(t&&!e.ignoreAttributes)for(let n in t){if(!t.hasOwnProperty(n))continue;let s=e.attributeValueProcessor(n,t[n]);s=at(s,e),!0===s&&e.suppressBooleanAttributes?i+=` ${n.substr(e.attributeNamePrefix.length)}`:i+=` ${n.substr(e.attributeNamePrefix.length)}=\"${s}\"`}return i}function ot(t,e){let i=(t=t.substr(0,t.length-e.textNodeName.length-1)).substr(t.lastIndexOf(\".\")+1);for(let n in e.stopNodes)if(e.stopNodes[n]===t||e.stopNodes[n]===\"*.\"+i)return!0;return!1}function at(t,e){if(t&&t.length>0&&e.processEntities)for(let i=0;i<e.entities.length;i++){const n=e.entities[i];t=t.replace(n.regex,n.val)}return t}const lt={attributeNamePrefix:\"@_\",attributesGroupName:!1,textNodeName:\"#text\",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:\" \",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp(\"&\",\"g\"),val:\"&amp;\"},{regex:new RegExp(\">\",\"g\"),val:\"&gt;\"},{regex:new RegExp(\"<\",\"g\"),val:\"&lt;\"},{regex:new RegExp(\"'\",\"g\"),val:\"&apos;\"},{regex:new RegExp('\"',\"g\"),val:\"&quot;\"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function ut(t){this.options=Object.assign({},lt,t),!0===this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignoreAttributesFn=$(this.options.ignoreAttributes),this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=pt),this.processTextOrObjNode=ht,this.options.format?(this.indentate=dt,this.tagEndChar=\">\\n\",this.newLine=\"\\n\"):(this.indentate=function(){return\"\"},this.tagEndChar=\">\",this.newLine=\"\")}function ht(t,e,i,n){const s=this.j2x(t,i+1,n.concat(e));return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,s.attrStr,i):this.buildObjectNode(s.val,e,s.attrStr,i)}function dt(t){return this.options.indentBy.repeat(t)}function pt(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}ut.prototype.build=function(t){return this.options.preserveOrder?it(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0,[]).val)},ut.prototype.j2x=function(t,e,i){let n=\"\",s=\"\";const r=i.join(\".\");for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o))if(void 0===t[o])this.isAttribute(o)&&(s+=\"\");else if(null===t[o])this.isAttribute(o)||o===this.options.cdataPropName?s+=\"\":\"?\"===o[0]?s+=this.indentate(e)+\"<\"+o+\"?\"+this.tagEndChar:s+=this.indentate(e)+\"<\"+o+\"/\"+this.tagEndChar;else if(t[o]instanceof Date)s+=this.buildTextValNode(t[o],o,\"\",e);else if(\"object\"!=typeof t[o]){const i=this.isAttribute(o);if(i&&!this.ignoreAttributesFn(i,r))n+=this.buildAttrPairStr(i,\"\"+t[o]);else if(!i)if(o===this.options.textNodeName){let e=this.options.tagValueProcessor(o,\"\"+t[o]);s+=this.replaceEntitiesValue(e)}else s+=this.buildTextValNode(t[o],o,\"\",e)}else if(Array.isArray(t[o])){const n=t[o].length;let r=\"\",a=\"\";for(let l=0;l<n;l++){const n=t[o][l];if(void 0===n);else if(null===n)\"?\"===o[0]?s+=this.indentate(e)+\"<\"+o+\"?\"+this.tagEndChar:s+=this.indentate(e)+\"<\"+o+\"/\"+this.tagEndChar;else if(\"object\"==typeof n)if(this.options.oneListGroup){const t=this.j2x(n,e+1,i.concat(o));r+=t.val,this.options.attributesGroupName&&n.hasOwnProperty(this.options.attributesGroupName)&&(a+=t.attrStr)}else r+=this.processTextOrObjNode(n,o,e,i);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(o,n);t=this.replaceEntitiesValue(t),r+=t}else r+=this.buildTextValNode(n,o,\"\",e)}this.options.oneListGroup&&(r=this.buildObjectNode(r,o,a,e)),s+=r}else if(this.options.attributesGroupName&&o===this.options.attributesGroupName){const e=Object.keys(t[o]),i=e.length;for(let s=0;s<i;s++)n+=this.buildAttrPairStr(e[s],\"\"+t[o][e[s]])}else s+=this.processTextOrObjNode(t[o],o,e,i);return{attrStr:n,val:s}},ut.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,\"\"+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&\"true\"===e?\" \"+t:\" \"+t+'=\"'+e+'\"'},ut.prototype.buildObjectNode=function(t,e,i,n){if(\"\"===t)return\"?\"===e[0]?this.indentate(n)+\"<\"+e+i+\"?\"+this.tagEndChar:this.indentate(n)+\"<\"+e+i+this.closeTag(e)+this.tagEndChar;{let s=\"</\"+e+this.tagEndChar,r=\"\";return\"?\"===e[0]&&(r=\"?\",s=\"\"),!i&&\"\"!==i||-1!==t.indexOf(\"<\")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===r.length?this.indentate(n)+`\\x3c!--${t}--\\x3e`+this.newLine:this.indentate(n)+\"<\"+e+i+r+this.tagEndChar+t+this.indentate(n)+s:this.indentate(n)+\"<\"+e+i+r+\">\"+t+s}},ut.prototype.closeTag=function(t){let e=\"\";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e=\"/\"):e=this.options.suppressEmptyNode?\"/\":`></${t}`,e},ut.prototype.buildTextValNode=function(t,e,i,n){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(n)+`<![CDATA[${t}]]>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(n)+`\\x3c!--${t}--\\x3e`+this.newLine;if(\"?\"===e[0])return this.indentate(n)+\"<\"+e+i+\"?\"+this.tagEndChar;{let s=this.options.tagValueProcessor(e,t);return s=this.replaceEntitiesValue(s),\"\"===s?this.indentate(n)+\"<\"+e+i+this.closeTag(e)+this.tagEndChar:this.indentate(n)+\"<\"+e+i+\">\"+s+\"</\"+e+this.tagEndChar}},ut.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const i=this.options.entities[e];t=t.replace(i.regex,i.val)}return t};const ft={validate:a};module.exports=e})();", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseXML = parseXML;\nconst fast_xml_parser_1 = require(\"fast-xml-parser\");\nconst parser = new fast_xml_parser_1.XMLParser({\n attributeNamePrefix: \"\",\n htmlEntities: true,\n ignoreAttributes: false,\n ignoreDeclaration: true,\n parseTagValue: false,\n trimValues: false,\n tagValueProcessor: (_, val) => (val.trim() === \"\" && val.includes(\"\\n\") ? \"\" : undefined),\n});\nparser.addEntity(\"#xD\", \"\\r\");\nparser.addEntity(\"#10\", \"\\n\");\nfunction parseXML(xmlString) {\n return parser.parse(xmlString, true);\n}\n", "'use strict';\n\nvar xmlParser = require('./xml-parser');\n\nfunction escapeAttribute(value) {\n return value.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\");\n}\n\nfunction escapeElement(value) {\n return value\n .replace(/&/g, \"&amp;\")\n .replace(/\"/g, \"&quot;\")\n .replace(/'/g, \"&apos;\")\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\")\n .replace(/\\r/g, \"&#x0D;\")\n .replace(/\\n/g, \"&#x0A;\")\n .replace(/\\u0085/g, \"&#x85;\")\n .replace(/\\u2028/, \"&#x2028;\");\n}\n\nclass XmlText {\n value;\n constructor(value) {\n this.value = value;\n }\n toString() {\n return escapeElement(\"\" + this.value);\n }\n}\n\nclass XmlNode {\n name;\n children;\n attributes = {};\n static of(name, childText, withName) {\n const node = new XmlNode(name);\n if (childText !== undefined) {\n node.addChildNode(new XmlText(childText));\n }\n if (withName !== undefined) {\n node.withName(withName);\n }\n return node;\n }\n constructor(name, children = []) {\n this.name = name;\n this.children = children;\n }\n withName(name) {\n this.name = name;\n return this;\n }\n addAttribute(name, value) {\n this.attributes[name] = value;\n return this;\n }\n addChildNode(child) {\n this.children.push(child);\n return this;\n }\n removeAttribute(name) {\n delete this.attributes[name];\n return this;\n }\n n(name) {\n this.name = name;\n return this;\n }\n c(child) {\n this.children.push(child);\n return this;\n }\n a(name, value) {\n if (value != null) {\n this.attributes[name] = value;\n }\n return this;\n }\n cc(input, field, withName = field) {\n if (input[field] != null) {\n const node = XmlNode.of(field, input[field]).withName(withName);\n this.c(node);\n }\n }\n l(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n nodes.map((node) => {\n node.withName(memberName);\n this.c(node);\n });\n }\n }\n lc(input, listName, memberName, valueProvider) {\n if (input[listName] != null) {\n const nodes = valueProvider();\n const containerNode = new XmlNode(memberName);\n nodes.map((node) => {\n containerNode.c(node);\n });\n this.c(containerNode);\n }\n }\n toString() {\n const hasChildren = Boolean(this.children.length);\n let xmlText = `<${this.name}`;\n const attributes = this.attributes;\n for (const attributeName of Object.keys(attributes)) {\n const attribute = attributes[attributeName];\n if (attribute != null) {\n xmlText += ` ${attributeName}=\"${escapeAttribute(\"\" + attribute)}\"`;\n }\n }\n return (xmlText += !hasChildren ? \"/>\" : `>${this.children.map((c) => c.toString()).join(\"\")}</${this.name}>`);\n }\n}\n\nObject.defineProperty(exports, \"parseXML\", {\n enumerable: true,\n get: function () { return xmlParser.parseXML; }\n});\nexports.XmlNode = XmlNode;\nexports.XmlText = XmlText;\n", "import { parseXML } from \"@aws-sdk/xml-builder\";\nimport { FromStringShapeDeserializer } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { toUtf8 } from \"@smithy/util-utf8\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { UnionSerde } from \"../UnionSerde\";\nexport class XmlShapeDeserializer extends SerdeContextConfig {\n settings;\n stringDeserializer;\n constructor(settings) {\n super();\n this.settings = settings;\n this.stringDeserializer = new FromStringShapeDeserializer(settings);\n }\n setSerdeContext(serdeContext) {\n this.serdeContext = serdeContext;\n this.stringDeserializer.setSerdeContext(serdeContext);\n }\n read(schema, bytes, key) {\n const ns = NormalizedSchema.of(schema);\n const memberSchemas = ns.getMemberSchemas();\n const isEventPayload = ns.isStructSchema() &&\n ns.isMemberSchema() &&\n !!Object.values(memberSchemas).find((memberNs) => {\n return !!memberNs.getMemberTraits().eventPayload;\n });\n if (isEventPayload) {\n const output = {};\n const memberName = Object.keys(memberSchemas)[0];\n const eventMemberSchema = memberSchemas[memberName];\n if (eventMemberSchema.isBlobSchema()) {\n output[memberName] = bytes;\n }\n else {\n output[memberName] = this.read(memberSchemas[memberName], bytes);\n }\n return output;\n }\n const xmlString = (this.serdeContext?.utf8Encoder ?? toUtf8)(bytes);\n const parsedObject = this.parseXml(xmlString);\n return this.readSchema(schema, key ? parsedObject[key] : parsedObject);\n }\n readSchema(_schema, value) {\n const ns = NormalizedSchema.of(_schema);\n if (ns.isUnitSchema()) {\n return;\n }\n const traits = ns.getMergedTraits();\n if (ns.isListSchema() && !Array.isArray(value)) {\n return this.readSchema(ns, [value]);\n }\n if (value == null) {\n return value;\n }\n if (typeof value === \"object\") {\n const sparse = !!traits.sparse;\n const flat = !!traits.xmlFlattened;\n if (ns.isListSchema()) {\n const listValue = ns.getValueSchema();\n const buffer = [];\n const sourceKey = listValue.getMergedTraits().xmlName ?? \"member\";\n const source = flat ? value : (value[0] ?? value)[sourceKey];\n const sourceArray = Array.isArray(source) ? source : [source];\n for (const v of sourceArray) {\n if (v != null || sparse) {\n buffer.push(this.readSchema(listValue, v));\n }\n }\n return buffer;\n }\n const buffer = {};\n if (ns.isMapSchema()) {\n const keyNs = ns.getKeySchema();\n const memberNs = ns.getValueSchema();\n let entries;\n if (flat) {\n entries = Array.isArray(value) ? value : [value];\n }\n else {\n entries = Array.isArray(value.entry) ? value.entry : [value.entry];\n }\n const keyProperty = keyNs.getMergedTraits().xmlName ?? \"key\";\n const valueProperty = memberNs.getMergedTraits().xmlName ?? \"value\";\n for (const entry of entries) {\n const key = entry[keyProperty];\n const value = entry[valueProperty];\n if (value != null || sparse) {\n buffer[key] = this.readSchema(memberNs, value);\n }\n }\n return buffer;\n }\n if (ns.isStructSchema()) {\n const union = ns.isUnionSchema();\n let unionSerde;\n if (union) {\n unionSerde = new UnionSerde(value, buffer);\n }\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const memberTraits = memberSchema.getMergedTraits();\n const xmlObjectKey = !memberTraits.httpPayload\n ? memberSchema.getMemberTraits().xmlName ?? memberName\n : memberTraits.xmlName ?? memberSchema.getName();\n if (union) {\n unionSerde.mark(xmlObjectKey);\n }\n if (value[xmlObjectKey] != null) {\n buffer[memberName] = this.readSchema(memberSchema, value[xmlObjectKey]);\n }\n }\n if (union) {\n unionSerde.writeUnknown();\n }\n return buffer;\n }\n if (ns.isDocumentSchema()) {\n return value;\n }\n throw new Error(`@aws-sdk/core/protocols - xml deserializer unhandled schema type for ${ns.getName(true)}`);\n }\n if (ns.isListSchema()) {\n return [];\n }\n if (ns.isMapSchema() || ns.isStructSchema()) {\n return {};\n }\n return this.stringDeserializer.read(ns, value);\n }\n parseXml(xml) {\n if (xml.length) {\n let parsedObj;\n try {\n parsedObj = parseXML(xml);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: xml,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n }\n}\n", "import { determineTimestampFormat, extendedEncodeURIComponent } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class QueryShapeSerializer extends SerdeContextConfig {\n settings;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value, prefix = \"\") {\n if (this.buffer === undefined) {\n this.buffer = \"\";\n }\n const ns = NormalizedSchema.of(schema);\n if (prefix && !prefix.endsWith(\".\")) {\n prefix += \".\";\n }\n if (ns.isBlobSchema()) {\n if (typeof value === \"string\" || value instanceof Uint8Array) {\n this.writeKey(prefix);\n this.writeValue((this.serdeContext?.base64Encoder ?? toBase64)(value));\n }\n }\n else if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isStringSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n else if (ns.isIdempotencyToken()) {\n this.writeKey(prefix);\n this.writeValue(generateIdempotencyToken());\n }\n }\n else if (ns.isBigIntegerSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isBigDecimalSchema()) {\n if (value != null) {\n this.writeKey(prefix);\n this.writeValue(value instanceof NumericValue ? value.string : String(value));\n }\n }\n else if (ns.isTimestampSchema()) {\n if (value instanceof Date) {\n this.writeKey(prefix);\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n this.writeValue(value.toISOString().replace(\".000Z\", \"Z\"));\n break;\n case 6:\n this.writeValue(dateToUtcString(value));\n break;\n case 7:\n this.writeValue(String(value.getTime() / 1000));\n break;\n }\n }\n }\n else if (ns.isDocumentSchema()) {\n if (Array.isArray(value)) {\n this.write(64 | 15, value, prefix);\n }\n else if (value instanceof Date) {\n this.write(4, value, prefix);\n }\n else if (value instanceof Uint8Array) {\n this.write(21, value, prefix);\n }\n else if (value && typeof value === \"object\") {\n this.write(128 | 15, value, prefix);\n }\n else {\n this.writeKey(prefix);\n this.writeValue(String(value));\n }\n }\n else if (ns.isListSchema()) {\n if (Array.isArray(value)) {\n if (value.length === 0) {\n if (this.settings.serializeEmptyLists) {\n this.writeKey(prefix);\n this.writeValue(\"\");\n }\n }\n else {\n const member = ns.getValueSchema();\n const flat = this.settings.flattenLists || ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const item of value) {\n if (item == null) {\n continue;\n }\n const suffix = this.getKey(\"member\", member.getMergedTraits().xmlName);\n const key = flat ? `${prefix}${i}` : `${prefix}${suffix}.${i}`;\n this.write(member, item, key);\n ++i;\n }\n }\n }\n }\n else if (ns.isMapSchema()) {\n if (value && typeof value === \"object\") {\n const keySchema = ns.getKeySchema();\n const memberSchema = ns.getValueSchema();\n const flat = ns.getMergedTraits().xmlFlattened;\n let i = 1;\n for (const [k, v] of Object.entries(value)) {\n if (v == null) {\n continue;\n }\n const keySuffix = this.getKey(\"key\", keySchema.getMergedTraits().xmlName);\n const key = flat ? `${prefix}${i}.${keySuffix}` : `${prefix}entry.${i}.${keySuffix}`;\n const valueSuffix = this.getKey(\"value\", memberSchema.getMergedTraits().xmlName);\n const valueKey = flat ? `${prefix}${i}.${valueSuffix}` : `${prefix}entry.${i}.${valueSuffix}`;\n this.write(keySchema, k, key);\n this.write(memberSchema, v, valueKey);\n ++i;\n }\n }\n }\n else if (ns.isStructSchema()) {\n if (value && typeof value === \"object\") {\n let didWriteMember = false;\n for (const [memberName, member] of ns.structIterator()) {\n if (value[memberName] == null && !member.isIdempotencyToken()) {\n continue;\n }\n const suffix = this.getKey(memberName, member.getMergedTraits().xmlName);\n const key = `${prefix}${suffix}`;\n this.write(member, value[memberName], key);\n didWriteMember = true;\n }\n if (!didWriteMember && ns.isUnionSchema()) {\n const { $unknown } = value;\n if (Array.isArray($unknown)) {\n const [k, v] = $unknown;\n const key = `${prefix}${k}`;\n this.write(15, v, key);\n }\n }\n }\n }\n else if (ns.isUnitSchema()) {\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - QuerySerializer unrecognized schema type ${ns.getName(true)}`);\n }\n }\n flush() {\n if (this.buffer === undefined) {\n throw new Error(\"@aws-sdk/core/protocols - QuerySerializer cannot flush with nothing written to buffer.\");\n }\n const str = this.buffer;\n delete this.buffer;\n return str;\n }\n getKey(memberName, xmlName) {\n const key = xmlName ?? memberName;\n if (this.settings.capitalizeKeys) {\n return key[0].toUpperCase() + key.slice(1);\n }\n return key;\n }\n writeKey(key) {\n if (key.endsWith(\".\")) {\n key = key.slice(0, key.length - 1);\n }\n this.buffer += `&${extendedEncodeURIComponent(key)}=`;\n }\n writeValue(value) {\n this.buffer += extendedEncodeURIComponent(value);\n }\n}\n", "import { collectBody, RpcProtocol } from \"@smithy/core/protocols\";\nimport { deref, NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { XmlShapeDeserializer } from \"../xml/XmlShapeDeserializer\";\nimport { QueryShapeSerializer } from \"./QueryShapeSerializer\";\nexport class AwsQueryProtocol extends RpcProtocol {\n options;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super({\n defaultNamespace: options.defaultNamespace,\n });\n this.options = options;\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 5,\n },\n httpBindings: false,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n serializeEmptyLists: true,\n };\n this.serializer = new QueryShapeSerializer(settings);\n this.deserializer = new XmlShapeDeserializer(settings);\n }\n getShapeId() {\n return \"aws.protocols#awsQuery\";\n }\n setSerdeContext(serdeContext) {\n this.serializer.setSerdeContext(serdeContext);\n this.deserializer.setSerdeContext(serdeContext);\n }\n getPayloadCodec() {\n throw new Error(\"AWSQuery protocol has no payload codec.\");\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n if (!request.path.endsWith(\"/\")) {\n request.path += \"/\";\n }\n Object.assign(request.headers, {\n \"content-type\": `application/x-www-form-urlencoded`,\n });\n if (deref(operationSchema.input) === \"unit\" || !request.body) {\n request.body = \"\";\n }\n const action = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n request.body = `Action=${action}&Version=${this.options.version}` + request.body;\n if (request.body.endsWith(\"&\")) {\n request.body = request.body.slice(-1);\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n const deserializer = this.deserializer;\n const ns = NormalizedSchema.of(operationSchema.output);\n const dataObject = {};\n if (response.statusCode >= 300) {\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(15, bytes));\n }\n await this.handleError(operationSchema, context, response, dataObject, this.deserializeMetadata(response));\n }\n for (const header in response.headers) {\n const value = response.headers[header];\n delete response.headers[header];\n response.headers[header.toLowerCase()] = value;\n }\n const shortName = operationSchema.name.split(\"#\")[1] ?? operationSchema.name;\n const awsQueryResultKey = ns.isStructSchema() && this.useNestedResult() ? shortName + \"Result\" : undefined;\n const bytes = await collectBody(response.body, context);\n if (bytes.byteLength > 0) {\n Object.assign(dataObject, await deserializer.read(ns, bytes, awsQueryResultKey));\n }\n const output = {\n $metadata: this.deserializeMetadata(response),\n ...dataObject,\n };\n return output;\n }\n useNestedResult() {\n return true;\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = this.loadQueryErrorCode(response, dataObject) ?? \"Unknown\";\n const errorData = this.loadQueryError(dataObject);\n const message = this.loadQueryErrorMessage(dataObject);\n errorData.message = message;\n errorData.Error = {\n Type: errorData.Type,\n Code: errorData.Code,\n Message: message,\n };\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, errorData, metadata, this.mixin.findQueryCompatibleError);\n const ns = NormalizedSchema.of(errorSchema);\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n const output = {\n Type: errorData.Error.Type,\n Code: errorData.Error.Code,\n Error: errorData.Error,\n };\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = errorData[target] ?? dataObject[target];\n output[name] = this.deserializer.readSchema(member, value);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n loadQueryErrorCode(output, data) {\n const code = (data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error)?.Code;\n if (code !== undefined) {\n return code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n }\n loadQueryError(data) {\n return data.Errors?.[0]?.Error ?? data.Errors?.Error ?? data.Error;\n }\n loadQueryErrorMessage(data) {\n const errorData = this.loadQueryError(data);\n return errorData?.message ?? errorData?.Message ?? data.message ?? data.Message ?? \"Unknown\";\n }\n getDefaultContentType() {\n return \"application/x-www-form-urlencoded\";\n }\n}\n", "import { AwsQueryProtocol } from \"./AwsQueryProtocol\";\nexport class AwsEc2QueryProtocol extends AwsQueryProtocol {\n options;\n constructor(options) {\n super(options);\n this.options = options;\n const ec2Settings = {\n capitalizeKeys: true,\n flattenLists: true,\n serializeEmptyLists: false,\n };\n Object.assign(this.serializer.settings, ec2Settings);\n }\n useNestedResult() {\n return false;\n }\n}\n", "import { parseXML } from \"@aws-sdk/xml-builder\";\nimport { getValueFromTextNode } from \"@smithy/smithy-client\";\nimport { collectBodyString } from \"../common\";\nexport const parseXmlBody = (streamBody, context) => collectBodyString(streamBody, context).then((encoded) => {\n if (encoded.length) {\n let parsedObj;\n try {\n parsedObj = parseXML(encoded);\n }\n catch (e) {\n if (e && typeof e === \"object\") {\n Object.defineProperty(e, \"$responseBodyText\", {\n value: encoded,\n });\n }\n throw e;\n }\n const textNodeName = \"#text\";\n const key = Object.keys(parsedObj)[0];\n const parsedObjToReturn = parsedObj[key];\n if (parsedObjToReturn[textNodeName]) {\n parsedObjToReturn[key] = parsedObjToReturn[textNodeName];\n delete parsedObjToReturn[textNodeName];\n }\n return getValueFromTextNode(parsedObjToReturn);\n }\n return {};\n});\nexport const parseXmlErrorBody = async (errorBody, context) => {\n const value = await parseXmlBody(errorBody, context);\n if (value.Error) {\n value.Error.message = value.Error.message ?? value.Error.Message;\n }\n return value;\n};\nexport const loadRestXmlErrorCode = (output, data) => {\n if (data?.Error?.Code !== undefined) {\n return data.Error.Code;\n }\n if (data?.Code !== undefined) {\n return data.Code;\n }\n if (output.statusCode == 404) {\n return \"NotFound\";\n }\n};\n", "import { XmlNode, XmlText } from \"@aws-sdk/xml-builder\";\nimport { determineTimestampFormat } from \"@smithy/core/protocols\";\nimport { NormalizedSchema } from \"@smithy/core/schema\";\nimport { generateIdempotencyToken, NumericValue } from \"@smithy/core/serde\";\nimport { dateToUtcString } from \"@smithy/smithy-client\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nexport class XmlShapeSerializer extends SerdeContextConfig {\n settings;\n stringBuffer;\n byteBuffer;\n buffer;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n write(schema, value) {\n const ns = NormalizedSchema.of(schema);\n if (ns.isStringSchema() && typeof value === \"string\") {\n this.stringBuffer = value;\n }\n else if (ns.isBlobSchema()) {\n this.byteBuffer =\n \"byteLength\" in value\n ? value\n : (this.serdeContext?.base64Decoder ?? fromBase64)(value);\n }\n else {\n this.buffer = this.writeStruct(ns, value, undefined);\n const traits = ns.getMergedTraits();\n if (traits.httpPayload && !traits.xmlName) {\n this.buffer.withName(ns.getName());\n }\n }\n }\n flush() {\n if (this.byteBuffer !== undefined) {\n const bytes = this.byteBuffer;\n delete this.byteBuffer;\n return bytes;\n }\n if (this.stringBuffer !== undefined) {\n const str = this.stringBuffer;\n delete this.stringBuffer;\n return str;\n }\n const buffer = this.buffer;\n if (this.settings.xmlNamespace) {\n if (!buffer?.attributes?.[\"xmlns\"]) {\n buffer.addAttribute(\"xmlns\", this.settings.xmlNamespace);\n }\n }\n delete this.buffer;\n return buffer.toString();\n }\n writeStruct(ns, value, parentXmlns) {\n const traits = ns.getMergedTraits();\n const name = ns.isMemberSchema() && !traits.httpPayload\n ? ns.getMemberTraits().xmlName ?? ns.getMemberName()\n : traits.xmlName ?? ns.getName();\n if (!name || !ns.isStructSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write struct with empty name or non-struct, schema=${ns.getName(true)}.`);\n }\n const structXmlNode = XmlNode.of(name);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n for (const [memberName, memberSchema] of ns.structIterator()) {\n const val = value[memberName];\n if (val != null || memberSchema.isIdempotencyToken()) {\n if (memberSchema.getMergedTraits().xmlAttribute) {\n structXmlNode.addAttribute(memberSchema.getMergedTraits().xmlName ?? memberName, this.writeSimple(memberSchema, val));\n continue;\n }\n if (memberSchema.isListSchema()) {\n this.writeList(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isMapSchema()) {\n this.writeMap(memberSchema, val, structXmlNode, xmlns);\n }\n else if (memberSchema.isStructSchema()) {\n structXmlNode.addChildNode(this.writeStruct(memberSchema, val, xmlns));\n }\n else {\n const memberNode = XmlNode.of(memberSchema.getMergedTraits().xmlName ?? memberSchema.getMemberName());\n this.writeSimpleInto(memberSchema, val, memberNode, xmlns);\n structXmlNode.addChildNode(memberNode);\n }\n }\n }\n const { $unknown } = value;\n if ($unknown && ns.isUnionSchema() && Array.isArray($unknown) && Object.keys(value).length === 1) {\n const [k, v] = $unknown;\n const node = XmlNode.of(k);\n if (typeof v !== \"string\") {\n if (value instanceof XmlNode || value instanceof XmlText) {\n structXmlNode.addChildNode(value);\n }\n else {\n throw new Error(`@aws-sdk - $unknown union member in XML requires ` +\n `value of type string, @aws-sdk/xml-builder::XmlNode or XmlText.`);\n }\n }\n this.writeSimpleInto(0, v, node, xmlns);\n structXmlNode.addChildNode(node);\n }\n if (xmlns) {\n structXmlNode.addAttribute(xmlnsAttr, xmlns);\n }\n return structXmlNode;\n }\n writeList(listMember, array, container, parentXmlns) {\n if (!listMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member list: ${listMember.getName(true)}`);\n }\n const listTraits = listMember.getMergedTraits();\n const listValueSchema = listMember.getValueSchema();\n const listValueTraits = listValueSchema.getMergedTraits();\n const sparse = !!listValueTraits.sparse;\n const flat = !!listTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(listMember, parentXmlns);\n const writeItem = (container, value) => {\n if (listValueSchema.isListSchema()) {\n this.writeList(listValueSchema, Array.isArray(value) ? value : [value], container, xmlns);\n }\n else if (listValueSchema.isMapSchema()) {\n this.writeMap(listValueSchema, value, container, xmlns);\n }\n else if (listValueSchema.isStructSchema()) {\n const struct = this.writeStruct(listValueSchema, value, xmlns);\n container.addChildNode(struct.withName(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\"));\n }\n else {\n const listItemNode = XmlNode.of(flat ? listTraits.xmlName ?? listMember.getMemberName() : listValueTraits.xmlName ?? \"member\");\n this.writeSimpleInto(listValueSchema, value, listItemNode, xmlns);\n container.addChildNode(listItemNode);\n }\n };\n if (flat) {\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(container, value);\n }\n }\n }\n else {\n const listNode = XmlNode.of(listTraits.xmlName ?? listMember.getMemberName());\n if (xmlns) {\n listNode.addAttribute(xmlnsAttr, xmlns);\n }\n for (const value of array) {\n if (sparse || value != null) {\n writeItem(listNode, value);\n }\n }\n container.addChildNode(listNode);\n }\n }\n writeMap(mapMember, map, container, parentXmlns, containerIsMap = false) {\n if (!mapMember.isMemberSchema()) {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, cannot write non-member map: ${mapMember.getName(true)}`);\n }\n const mapTraits = mapMember.getMergedTraits();\n const mapKeySchema = mapMember.getKeySchema();\n const mapKeyTraits = mapKeySchema.getMergedTraits();\n const keyTag = mapKeyTraits.xmlName ?? \"key\";\n const mapValueSchema = mapMember.getValueSchema();\n const mapValueTraits = mapValueSchema.getMergedTraits();\n const valueTag = mapValueTraits.xmlName ?? \"value\";\n const sparse = !!mapValueTraits.sparse;\n const flat = !!mapTraits.xmlFlattened;\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(mapMember, parentXmlns);\n const addKeyValue = (entry, key, val) => {\n const keyNode = XmlNode.of(keyTag, key);\n const [keyXmlnsAttr, keyXmlns] = this.getXmlnsAttribute(mapKeySchema, xmlns);\n if (keyXmlns) {\n keyNode.addAttribute(keyXmlnsAttr, keyXmlns);\n }\n entry.addChildNode(keyNode);\n let valueNode = XmlNode.of(valueTag);\n if (mapValueSchema.isListSchema()) {\n this.writeList(mapValueSchema, val, valueNode, xmlns);\n }\n else if (mapValueSchema.isMapSchema()) {\n this.writeMap(mapValueSchema, val, valueNode, xmlns, true);\n }\n else if (mapValueSchema.isStructSchema()) {\n valueNode = this.writeStruct(mapValueSchema, val, xmlns);\n }\n else {\n this.writeSimpleInto(mapValueSchema, val, valueNode, xmlns);\n }\n entry.addChildNode(valueNode);\n };\n if (flat) {\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n addKeyValue(entry, key, val);\n container.addChildNode(entry);\n }\n }\n }\n else {\n let mapNode;\n if (!containerIsMap) {\n mapNode = XmlNode.of(mapTraits.xmlName ?? mapMember.getMemberName());\n if (xmlns) {\n mapNode.addAttribute(xmlnsAttr, xmlns);\n }\n container.addChildNode(mapNode);\n }\n for (const [key, val] of Object.entries(map)) {\n if (sparse || val != null) {\n const entry = XmlNode.of(\"entry\");\n addKeyValue(entry, key, val);\n (containerIsMap ? container : mapNode).addChildNode(entry);\n }\n }\n }\n }\n writeSimple(_schema, value) {\n if (null === value) {\n throw new Error(\"@aws-sdk/core/protocols - (XML serializer) cannot write null value.\");\n }\n const ns = NormalizedSchema.of(_schema);\n let nodeContents = null;\n if (value && typeof value === \"object\") {\n if (ns.isBlobSchema()) {\n nodeContents = (this.serdeContext?.base64Encoder ?? toBase64)(value);\n }\n else if (ns.isTimestampSchema() && value instanceof Date) {\n const format = determineTimestampFormat(ns, this.settings);\n switch (format) {\n case 5:\n nodeContents = value.toISOString().replace(\".000Z\", \"Z\");\n break;\n case 6:\n nodeContents = dateToUtcString(value);\n break;\n case 7:\n nodeContents = String(value.getTime() / 1000);\n break;\n default:\n console.warn(\"Missing timestamp format, using http date\", value);\n nodeContents = dateToUtcString(value);\n break;\n }\n }\n else if (ns.isBigDecimalSchema() && value) {\n if (value instanceof NumericValue) {\n return value.string;\n }\n return String(value);\n }\n else if (ns.isMapSchema() || ns.isListSchema()) {\n throw new Error(\"@aws-sdk/core/protocols - xml serializer, cannot call _write() on List/Map schema, call writeList or writeMap() instead.\");\n }\n else {\n throw new Error(`@aws-sdk/core/protocols - xml serializer, unhandled schema type for object value and schema: ${ns.getName(true)}`);\n }\n }\n if (ns.isBooleanSchema() || ns.isNumericSchema() || ns.isBigIntegerSchema() || ns.isBigDecimalSchema()) {\n nodeContents = String(value);\n }\n if (ns.isStringSchema()) {\n if (value === undefined && ns.isIdempotencyToken()) {\n nodeContents = generateIdempotencyToken();\n }\n else {\n nodeContents = String(value);\n }\n }\n if (nodeContents === null) {\n throw new Error(`Unhandled schema-value pair ${ns.getName(true)}=${value}`);\n }\n return nodeContents;\n }\n writeSimpleInto(_schema, value, into, parentXmlns) {\n const nodeContents = this.writeSimple(_schema, value);\n const ns = NormalizedSchema.of(_schema);\n const content = new XmlText(nodeContents);\n const [xmlnsAttr, xmlns] = this.getXmlnsAttribute(ns, parentXmlns);\n if (xmlns) {\n into.addAttribute(xmlnsAttr, xmlns);\n }\n into.addChildNode(content);\n }\n getXmlnsAttribute(ns, parentXmlns) {\n const traits = ns.getMergedTraits();\n const [prefix, xmlns] = traits.xmlNamespace ?? [];\n if (xmlns && xmlns !== parentXmlns) {\n return [prefix ? `xmlns:${prefix}` : \"xmlns\", xmlns];\n }\n return [void 0, void 0];\n }\n}\n", "import { SerdeContextConfig } from \"../ConfigurableSerdeContext\";\nimport { XmlShapeDeserializer } from \"./XmlShapeDeserializer\";\nimport { XmlShapeSerializer } from \"./XmlShapeSerializer\";\nexport class XmlCodec extends SerdeContextConfig {\n settings;\n constructor(settings) {\n super();\n this.settings = settings;\n }\n createSerializer() {\n const serializer = new XmlShapeSerializer(this.settings);\n serializer.setSerdeContext(this.serdeContext);\n return serializer;\n }\n createDeserializer() {\n const deserializer = new XmlShapeDeserializer(this.settings);\n deserializer.setSerdeContext(this.serdeContext);\n return deserializer;\n }\n}\n", "import { HttpBindingProtocol, HttpInterceptingShapeDeserializer, HttpInterceptingShapeSerializer, } from \"@smithy/core/protocols\";\nimport { NormalizedSchema, TypeRegistry } from \"@smithy/core/schema\";\nimport { ProtocolLib } from \"../ProtocolLib\";\nimport { loadRestXmlErrorCode } from \"./parseXmlBody\";\nimport { XmlCodec } from \"./XmlCodec\";\nexport class AwsRestXmlProtocol extends HttpBindingProtocol {\n codec;\n serializer;\n deserializer;\n mixin = new ProtocolLib();\n constructor(options) {\n super(options);\n const settings = {\n timestampFormat: {\n useTrait: true,\n default: 5,\n },\n httpBindings: true,\n xmlNamespace: options.xmlNamespace,\n serviceNamespace: options.defaultNamespace,\n };\n this.codec = new XmlCodec(settings);\n this.serializer = new HttpInterceptingShapeSerializer(this.codec.createSerializer(), settings);\n this.deserializer = new HttpInterceptingShapeDeserializer(this.codec.createDeserializer(), settings);\n }\n getPayloadCodec() {\n return this.codec;\n }\n getShapeId() {\n return \"aws.protocols#restXml\";\n }\n async serializeRequest(operationSchema, input, context) {\n const request = await super.serializeRequest(operationSchema, input, context);\n const inputSchema = NormalizedSchema.of(operationSchema.input);\n if (!request.headers[\"content-type\"]) {\n const contentType = this.mixin.resolveRestContentType(this.getDefaultContentType(), inputSchema);\n if (contentType) {\n request.headers[\"content-type\"] = contentType;\n }\n }\n if (typeof request.body === \"string\" &&\n request.headers[\"content-type\"] === this.getDefaultContentType() &&\n !request.body.startsWith(\"<?xml \") &&\n !this.hasUnstructuredPayloadBinding(inputSchema)) {\n request.body = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>' + request.body;\n }\n return request;\n }\n async deserializeResponse(operationSchema, context, response) {\n return super.deserializeResponse(operationSchema, context, response);\n }\n async handleError(operationSchema, context, response, dataObject, metadata) {\n const errorIdentifier = loadRestXmlErrorCode(response, dataObject) ?? \"Unknown\";\n const { errorSchema, errorMetadata } = await this.mixin.getErrorSchemaOrThrowBaseException(errorIdentifier, this.options.defaultNamespace, response, dataObject, metadata);\n const ns = NormalizedSchema.of(errorSchema);\n const message = dataObject.Error?.message ?? dataObject.Error?.Message ?? dataObject.message ?? dataObject.Message ?? \"Unknown\";\n const ErrorCtor = TypeRegistry.for(errorSchema[1]).getErrorCtor(errorSchema) ?? Error;\n const exception = new ErrorCtor(message);\n await this.deserializeHttpMessage(errorSchema, context, response, dataObject);\n const output = {};\n for (const [name, member] of ns.structIterator()) {\n const target = member.getMergedTraits().xmlName ?? name;\n const value = dataObject.Error?.[target] ?? dataObject[target];\n output[name] = this.codec.createDeserializer().readSchema(member, value);\n }\n throw this.mixin.decorateServiceException(Object.assign(exception, errorMetadata, {\n $fault: ns.getMergedTraits().error,\n message,\n }, output), dataObject);\n }\n getDefaultContentType() {\n return \"application/xml\";\n }\n hasUnstructuredPayloadBinding(ns) {\n for (const [, member] of ns.structIterator()) {\n if (member.getMergedTraits().httpPayload) {\n return !(member.isStructSchema() || member.isMapSchema() || member.isListSchema());\n }\n }\n return false;\n }\n}\n", "export * from \"./cbor/AwsSmithyRpcV2CborProtocol\";\nexport * from \"./coercing-serializers\";\nexport * from \"./json/AwsJson1_0Protocol\";\nexport * from \"./json/AwsJson1_1Protocol\";\nexport * from \"./json/AwsJsonRpcProtocol\";\nexport * from \"./json/AwsRestJsonProtocol\";\nexport * from \"./json/JsonCodec\";\nexport * from \"./json/JsonShapeDeserializer\";\nexport * from \"./json/JsonShapeSerializer\";\nexport * from \"./json/awsExpectUnion\";\nexport * from \"./json/parseJsonBody\";\nexport * from \"./query/AwsEc2QueryProtocol\";\nexport * from \"./query/AwsQueryProtocol\";\nexport * from \"./xml/AwsRestXmlProtocol\";\nexport * from \"./xml/XmlCodec\";\nexport * from \"./xml/XmlShapeDeserializer\";\nexport * from \"./xml/XmlShapeSerializer\";\nexport * from \"./xml/parseXmlBody\";\n", "export * from \"./submodules/client/index\";\nexport * from \"./submodules/httpAuthSchemes/index\";\nexport * from \"./submodules/protocols/index\";\n", "'use strict';\n\nvar core = require('@smithy/core');\nvar utilEndpoints = require('@aws-sdk/util-endpoints');\nvar protocolHttp = require('@smithy/protocol-http');\nvar core$1 = require('@aws-sdk/core');\n\nconst 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}\nfunction resolveUserAgentConfig(input) {\n const normalizedAppIdProvider = core.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\nconst ACCOUNT_ID_ENDPOINT_REGEX = /\\d{12}\\.ddb/;\nasync function checkFeatures(context, config, args) {\n const request = args.request;\n if (request?.headers?.[\"smithy-protocol\"] === \"rpc-v2-cbor\") {\n core$1.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 core$1.setFeature(context, \"RETRY_MODE_ADAPTIVE\", \"F\");\n }\n else {\n core$1.setFeature(context, \"RETRY_MODE_STANDARD\", \"E\");\n }\n }\n else {\n core$1.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 core$1.setFeature(context, \"ACCOUNT_ID_ENDPOINT\", \"O\");\n }\n switch (await config.accountIdEndpointMode?.()) {\n case \"disabled\":\n core$1.setFeature(context, \"ACCOUNT_ID_MODE_DISABLED\", \"Q\");\n break;\n case \"preferred\":\n core$1.setFeature(context, \"ACCOUNT_ID_MODE_PREFERRED\", \"P\");\n break;\n case \"required\":\n core$1.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 core$1.setFeature(context, \"RESOLVED_ACCOUNT_ID\", \"T\");\n }\n for (const [key, value] of Object.entries(credentials.$source ?? {})) {\n core$1.setFeature(context, key, value);\n }\n }\n}\n\nconst USER_AGENT = \"user-agent\";\nconst X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nconst SPACE = \" \";\nconst UA_NAME_SEPARATOR = \"/\";\nconst UA_NAME_ESCAPE_REGEX = /[^!$%&'*+\\-.^_`|~\\w]/g;\nconst UA_VALUE_ESCAPE_REGEX = /[^!$%&'*+\\-.^_`|~\\w#]/g;\nconst UA_ESCAPE_CHAR = \"-\";\n\nconst BYTE_LIMIT = 1024;\nfunction 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\nconst userAgentMiddleware = (options) => (next, context) => async (args) => {\n const { request } = args;\n if (!protocolHttp.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 = utilEndpoints.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};\nconst getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\nconst getUserAgentPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n },\n});\n\nexports.DEFAULT_UA_APP_ID = DEFAULT_UA_APP_ID;\nexports.getUserAgentMiddlewareOptions = getUserAgentMiddlewareOptions;\nexports.getUserAgentPlugin = getUserAgentPlugin;\nexports.resolveUserAgentConfig = resolveUserAgentConfig;\nexports.userAgentMiddleware = userAgentMiddleware;\n", "'use strict';\n\nconst 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\nconst numberSelector = (obj, key, type) => {\n if (!(key in obj))\n return undefined;\n const numberValue = parseInt(obj[key], 10);\n if (Number.isNaN(numberValue)) {\n throw new TypeError(`Cannot load ${type} '${key}'. Expected number, got '${obj[key]}'.`);\n }\n return numberValue;\n};\n\nexports.SelectorType = void 0;\n(function (SelectorType) {\n SelectorType[\"ENV\"] = \"env\";\n SelectorType[\"CONFIG\"] = \"shared config entry\";\n})(exports.SelectorType || (exports.SelectorType = {}));\n\nexports.booleanSelector = booleanSelector;\nexports.numberSelector = numberSelector;\n", "'use strict';\n\nvar utilConfigProvider = require('@smithy/util-config-provider');\nvar utilMiddleware = require('@smithy/util-middleware');\nvar utilEndpoints = require('@smithy/util-endpoints');\n\nconst ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nconst CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nconst DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nconst NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => utilConfigProvider.booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, utilConfigProvider.SelectorType.ENV),\n configFileSelector: (profile) => utilConfigProvider.booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, utilConfigProvider.SelectorType.CONFIG),\n default: false,\n};\n\nconst ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nconst CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nconst DEFAULT_USE_FIPS_ENDPOINT = false;\nconst NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => utilConfigProvider.booleanSelector(env, ENV_USE_FIPS_ENDPOINT, utilConfigProvider.SelectorType.ENV),\n configFileSelector: (profile) => utilConfigProvider.booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, utilConfigProvider.SelectorType.CONFIG),\n default: false,\n};\n\nconst resolveCustomEndpointsConfig = (input) => {\n const { tls, endpoint, urlParser, useDualstackEndpoint } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: utilMiddleware.normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint),\n isCustomEndpoint: true,\n useDualstackEndpoint: utilMiddleware.normalizeProvider(useDualstackEndpoint ?? false),\n });\n};\n\nconst getEndpointFromRegion = async (input) => {\n const { tls = true } = input;\n const region = await input.region();\n const dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!dnsHostRegex.test(region)) {\n throw new Error(\"Invalid region in client config\");\n }\n const useDualstackEndpoint = await input.useDualstackEndpoint();\n const useFipsEndpoint = await input.useFipsEndpoint();\n const { hostname } = (await input.regionInfoProvider(region, { useDualstackEndpoint, useFipsEndpoint })) ?? {};\n if (!hostname) {\n throw new Error(\"Cannot resolve hostname from client config\");\n }\n return input.urlParser(`${tls ? \"https:\" : \"http:\"}//${hostname}`);\n};\n\nconst resolveEndpointsConfig = (input) => {\n const useDualstackEndpoint = utilMiddleware.normalizeProvider(input.useDualstackEndpoint ?? false);\n const { endpoint, useFipsEndpoint, urlParser, tls } = input;\n return Object.assign(input, {\n tls: tls ?? true,\n endpoint: endpoint\n ? utilMiddleware.normalizeProvider(typeof endpoint === \"string\" ? urlParser(endpoint) : endpoint)\n : () => getEndpointFromRegion({ ...input, useDualstackEndpoint, useFipsEndpoint }),\n isCustomEndpoint: !!endpoint,\n useDualstackEndpoint,\n });\n};\n\nconst REGION_ENV_NAME = \"AWS_REGION\";\nconst REGION_INI_NAME = \"region\";\nconst 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};\nconst NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\n\nconst validRegions = new Set();\nconst checkRegion = (region, check = utilEndpoints.isValidHostLabel) => {\n if (!validRegions.has(region) && !check(region)) {\n if (region === \"*\") {\n console.warn(`@smithy/config-resolver WARN - Please use the caller region instead of \"*\". See \"sigv4a\" in https://github.com/aws/aws-sdk-js-v3/blob/main/supplemental-docs/CLIENTS.md.`);\n }\n else {\n throw new Error(`Region not accepted: region=\"${region}\" is not a valid hostname component.`);\n }\n }\n else {\n validRegions.add(region);\n }\n};\n\nconst isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\n\nconst 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\nconst resolveRegionConfig = (input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return Object.assign(input, {\n region: async () => {\n const providedRegion = typeof region === \"function\" ? await region() : region;\n const realRegion = getRealRegion(providedRegion);\n checkRegion(realRegion);\n return realRegion;\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if (isFipsRegion(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n },\n });\n};\n\nconst getHostnameFromVariants = (variants = [], { useFipsEndpoint, useDualstackEndpoint }) => variants.find(({ tags }) => useFipsEndpoint === tags.includes(\"fips\") && useDualstackEndpoint === tags.includes(\"dualstack\"))?.hostname;\n\nconst getResolvedHostname = (resolvedRegion, { regionHostname, partitionHostname }) => regionHostname\n ? regionHostname\n : partitionHostname\n ? partitionHostname.replace(\"{region}\", resolvedRegion)\n : undefined;\n\nconst getResolvedPartition = (region, { partitionHash }) => Object.keys(partitionHash || {}).find((key) => partitionHash[key].regions.includes(region)) ?? \"aws\";\n\nconst getResolvedSigningRegion = (hostname, { signingRegion, regionRegex, useFipsEndpoint }) => {\n if (signingRegion) {\n return signingRegion;\n }\n else if (useFipsEndpoint) {\n const regionRegexJs = regionRegex.replace(\"\\\\\\\\\", \"\\\\\").replace(/^\\^/g, \"\\\\.\").replace(/\\$$/g, \"\\\\.\");\n const regionRegexmatchArray = hostname.match(regionRegexJs);\n if (regionRegexmatchArray) {\n return regionRegexmatchArray[0].slice(1, -1);\n }\n }\n};\n\nconst getRegionInfo = (region, { useFipsEndpoint = false, useDualstackEndpoint = false, signingService, regionHash, partitionHash, }) => {\n const partition = getResolvedPartition(region, { partitionHash });\n const resolvedRegion = region in regionHash ? region : partitionHash[partition]?.endpoint ?? region;\n const hostnameOptions = { useFipsEndpoint, useDualstackEndpoint };\n const regionHostname = getHostnameFromVariants(regionHash[resolvedRegion]?.variants, hostnameOptions);\n const partitionHostname = getHostnameFromVariants(partitionHash[partition]?.variants, hostnameOptions);\n const hostname = getResolvedHostname(resolvedRegion, { regionHostname, partitionHostname });\n if (hostname === undefined) {\n throw new Error(`Endpoint resolution failed for: ${{ resolvedRegion, useFipsEndpoint, useDualstackEndpoint }}`);\n }\n const signingRegion = getResolvedSigningRegion(hostname, {\n signingRegion: regionHash[resolvedRegion]?.signingRegion,\n regionRegex: partitionHash[partition].regionRegex,\n useFipsEndpoint,\n });\n return {\n partition,\n signingService,\n hostname,\n ...(signingRegion && { signingRegion }),\n ...(regionHash[resolvedRegion]?.signingService && {\n signingService: regionHash[resolvedRegion].signingService,\n }),\n };\n};\n\nexports.CONFIG_USE_DUALSTACK_ENDPOINT = CONFIG_USE_DUALSTACK_ENDPOINT;\nexports.CONFIG_USE_FIPS_ENDPOINT = CONFIG_USE_FIPS_ENDPOINT;\nexports.DEFAULT_USE_DUALSTACK_ENDPOINT = DEFAULT_USE_DUALSTACK_ENDPOINT;\nexports.DEFAULT_USE_FIPS_ENDPOINT = DEFAULT_USE_FIPS_ENDPOINT;\nexports.ENV_USE_DUALSTACK_ENDPOINT = ENV_USE_DUALSTACK_ENDPOINT;\nexports.ENV_USE_FIPS_ENDPOINT = ENV_USE_FIPS_ENDPOINT;\nexports.NODE_REGION_CONFIG_FILE_OPTIONS = NODE_REGION_CONFIG_FILE_OPTIONS;\nexports.NODE_REGION_CONFIG_OPTIONS = NODE_REGION_CONFIG_OPTIONS;\nexports.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS;\nexports.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS;\nexports.REGION_ENV_NAME = REGION_ENV_NAME;\nexports.REGION_INI_NAME = REGION_INI_NAME;\nexports.getRegionInfo = getRegionInfo;\nexports.resolveCustomEndpointsConfig = resolveCustomEndpointsConfig;\nexports.resolveEndpointsConfig = resolveEndpointsConfig;\nexports.resolveRegionConfig = resolveRegionConfig;\n", "'use strict';\n\nvar protocolHttp = require('@smithy/protocol-http');\n\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nfunction contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (protocolHttp.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}\nconst contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nconst getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n\nexports.contentLengthMiddleware = contentLengthMiddleware;\nexports.contentLengthMiddlewareOptions = contentLengthMiddlewareOptions;\nexports.getContentLengthPlugin = getContentLengthPlugin;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getHomeDir = void 0;\nconst os_1 = require(\"os\");\nconst path_1 = require(\"path\");\nconst homeDirCache = {};\nconst getHomeDirCacheKey = () => {\n if (process && process.geteuid) {\n return `${process.geteuid()}`;\n }\n return \"DEFAULT\";\n};\nconst getHomeDir = () => {\n const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env;\n if (HOME)\n return HOME;\n if (USERPROFILE)\n return USERPROFILE;\n if (HOMEPATH)\n return `${HOMEDRIVE}${HOMEPATH}`;\n const homeDirCacheKey = getHomeDirCacheKey();\n if (!homeDirCache[homeDirCacheKey])\n homeDirCache[homeDirCacheKey] = (0, os_1.homedir)();\n return homeDirCache[homeDirCacheKey];\n};\nexports.getHomeDir = getHomeDir;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFilepath = void 0;\nconst crypto_1 = require(\"crypto\");\nconst path_1 = require(\"path\");\nconst getHomeDir_1 = require(\"./getHomeDir\");\nconst getSSOTokenFilepath = (id) => {\n const hasher = (0, crypto_1.createHash)(\"sha1\");\n const cacheName = hasher.update(id).digest(\"hex\");\n return (0, path_1.join)((0, getHomeDir_1.getHomeDir)(), \".aws\", \"sso\", \"cache\", `${cacheName}.json`);\n};\nexports.getSSOTokenFilepath = getSSOTokenFilepath;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSSOTokenFromFile = exports.tokenIntercept = void 0;\nconst promises_1 = require(\"fs/promises\");\nconst getSSOTokenFilepath_1 = require(\"./getSSOTokenFilepath\");\nexports.tokenIntercept = {};\nconst getSSOTokenFromFile = async (id) => {\n if (exports.tokenIntercept[id]) {\n return exports.tokenIntercept[id];\n }\n const ssoTokenFilepath = (0, getSSOTokenFilepath_1.getSSOTokenFilepath)(id);\n const ssoTokenText = await (0, promises_1.readFile)(ssoTokenFilepath, \"utf8\");\n return JSON.parse(ssoTokenText);\n};\nexports.getSSOTokenFromFile = getSSOTokenFromFile;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.readFile = exports.fileIntercept = exports.filePromises = void 0;\nconst promises_1 = require(\"node:fs/promises\");\nexports.filePromises = {};\nexports.fileIntercept = {};\nconst readFile = (path, options) => {\n if (exports.fileIntercept[path] !== undefined) {\n return exports.fileIntercept[path];\n }\n if (!exports.filePromises[path] || options?.ignoreCache) {\n exports.filePromises[path] = (0, promises_1.readFile)(path, \"utf8\");\n }\n return exports.filePromises[path];\n};\nexports.readFile = readFile;\n", "'use strict';\n\nvar getHomeDir = require('./getHomeDir');\nvar getSSOTokenFilepath = require('./getSSOTokenFilepath');\nvar getSSOTokenFromFile = require('./getSSOTokenFromFile');\nvar path = require('path');\nvar types = require('@smithy/types');\nvar readFile = require('./readFile');\n\nconst ENV_PROFILE = \"AWS_PROFILE\";\nconst DEFAULT_PROFILE = \"default\";\nconst getProfileName = (init) => init.profile || process.env[ENV_PROFILE] || DEFAULT_PROFILE;\n\nconst CONFIG_PREFIX_SEPARATOR = \".\";\n\nconst getConfigData = (data) => Object.entries(data)\n .filter(([key]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n if (indexOfSeparator === -1) {\n return false;\n }\n return Object.values(types.IniSectionType).includes(key.substring(0, indexOfSeparator));\n})\n .reduce((acc, [key, value]) => {\n const indexOfSeparator = key.indexOf(CONFIG_PREFIX_SEPARATOR);\n const updatedKey = key.substring(0, indexOfSeparator) === types.IniSectionType.PROFILE ? key.substring(indexOfSeparator + 1) : key;\n acc[updatedKey] = value;\n return acc;\n}, {\n ...(data.default && { default: data.default }),\n});\n\nconst ENV_CONFIG_PATH = \"AWS_CONFIG_FILE\";\nconst getConfigFilepath = () => process.env[ENV_CONFIG_PATH] || path.join(getHomeDir.getHomeDir(), \".aws\", \"config\");\n\nconst ENV_CREDENTIALS_PATH = \"AWS_SHARED_CREDENTIALS_FILE\";\nconst getCredentialsFilepath = () => process.env[ENV_CREDENTIALS_PATH] || path.join(getHomeDir.getHomeDir(), \".aws\", \"credentials\");\n\nconst prefixKeyRegex = /^([\\w-]+)\\s([\"'])?([\\w-@\\+\\.%:/]+)\\2$/;\nconst profileNameBlockList = [\"__proto__\", \"profile __proto__\"];\nconst parseIni = (iniData) => {\n const map = {};\n let currentSection;\n let currentSubSection;\n for (const iniLine of iniData.split(/\\r?\\n/)) {\n const trimmedLine = iniLine.split(/(^|\\s)[;#]/)[0].trim();\n const isSection = trimmedLine[0] === \"[\" && trimmedLine[trimmedLine.length - 1] === \"]\";\n if (isSection) {\n currentSection = undefined;\n currentSubSection = undefined;\n const sectionName = trimmedLine.substring(1, trimmedLine.length - 1);\n const matches = prefixKeyRegex.exec(sectionName);\n if (matches) {\n const [, prefix, , name] = matches;\n if (Object.values(types.IniSectionType).includes(prefix)) {\n currentSection = [prefix, name].join(CONFIG_PREFIX_SEPARATOR);\n }\n }\n else {\n currentSection = sectionName;\n }\n if (profileNameBlockList.includes(sectionName)) {\n throw new Error(`Found invalid profile name \"${sectionName}\"`);\n }\n }\n else if (currentSection) {\n const indexOfEqualsSign = trimmedLine.indexOf(\"=\");\n if (![0, -1].includes(indexOfEqualsSign)) {\n const [name, value] = [\n trimmedLine.substring(0, indexOfEqualsSign).trim(),\n trimmedLine.substring(indexOfEqualsSign + 1).trim(),\n ];\n if (value === \"\") {\n currentSubSection = name;\n }\n else {\n if (currentSubSection && iniLine.trimStart() === iniLine) {\n currentSubSection = undefined;\n }\n map[currentSection] = map[currentSection] || {};\n const key = currentSubSection ? [currentSubSection, name].join(CONFIG_PREFIX_SEPARATOR) : name;\n map[currentSection][key] = value;\n }\n }\n }\n }\n return map;\n};\n\nconst swallowError$1 = () => ({});\nconst loadSharedConfigFiles = async (init = {}) => {\n const { filepath = getCredentialsFilepath(), configFilepath = getConfigFilepath() } = init;\n const homeDir = getHomeDir.getHomeDir();\n const relativeHomeDirPrefix = \"~/\";\n let resolvedFilepath = filepath;\n if (filepath.startsWith(relativeHomeDirPrefix)) {\n resolvedFilepath = path.join(homeDir, filepath.slice(2));\n }\n let resolvedConfigFilepath = configFilepath;\n if (configFilepath.startsWith(relativeHomeDirPrefix)) {\n resolvedConfigFilepath = path.join(homeDir, configFilepath.slice(2));\n }\n const parsedFiles = await Promise.all([\n readFile.readFile(resolvedConfigFilepath, {\n ignoreCache: init.ignoreCache,\n })\n .then(parseIni)\n .then(getConfigData)\n .catch(swallowError$1),\n readFile.readFile(resolvedFilepath, {\n ignoreCache: init.ignoreCache,\n })\n .then(parseIni)\n .catch(swallowError$1),\n ]);\n return {\n configFile: parsedFiles[0],\n credentialsFile: parsedFiles[1],\n };\n};\n\nconst getSsoSessionData = (data) => Object.entries(data)\n .filter(([key]) => key.startsWith(types.IniSectionType.SSO_SESSION + CONFIG_PREFIX_SEPARATOR))\n .reduce((acc, [key, value]) => ({ ...acc, [key.substring(key.indexOf(CONFIG_PREFIX_SEPARATOR) + 1)]: value }), {});\n\nconst swallowError = () => ({});\nconst loadSsoSessionData = async (init = {}) => readFile.readFile(init.configFilepath ?? getConfigFilepath())\n .then(parseIni)\n .then(getSsoSessionData)\n .catch(swallowError);\n\nconst mergeConfigFiles = (...files) => {\n const merged = {};\n for (const file of files) {\n for (const [key, values] of Object.entries(file)) {\n if (merged[key] !== undefined) {\n Object.assign(merged[key], values);\n }\n else {\n merged[key] = values;\n }\n }\n }\n return merged;\n};\n\nconst parseKnownFiles = async (init) => {\n const parsedFiles = await loadSharedConfigFiles(init);\n return mergeConfigFiles(parsedFiles.configFile, parsedFiles.credentialsFile);\n};\n\nconst externalDataInterceptor = {\n getFileRecord() {\n return readFile.fileIntercept;\n },\n interceptFile(path, contents) {\n readFile.fileIntercept[path] = Promise.resolve(contents);\n },\n getTokenRecord() {\n return getSSOTokenFromFile.tokenIntercept;\n },\n interceptToken(id, contents) {\n getSSOTokenFromFile.tokenIntercept[id] = contents;\n },\n};\n\nObject.defineProperty(exports, \"getSSOTokenFromFile\", {\n enumerable: true,\n get: function () { return getSSOTokenFromFile.getSSOTokenFromFile; }\n});\nObject.defineProperty(exports, \"readFile\", {\n enumerable: true,\n get: function () { return readFile.readFile; }\n});\nexports.CONFIG_PREFIX_SEPARATOR = CONFIG_PREFIX_SEPARATOR;\nexports.DEFAULT_PROFILE = DEFAULT_PROFILE;\nexports.ENV_PROFILE = ENV_PROFILE;\nexports.externalDataInterceptor = externalDataInterceptor;\nexports.getProfileName = getProfileName;\nexports.loadSharedConfigFiles = loadSharedConfigFiles;\nexports.loadSsoSessionData = loadSsoSessionData;\nexports.parseKnownFiles = parseKnownFiles;\nObject.keys(getHomeDir).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return getHomeDir[k]; }\n });\n});\nObject.keys(getSSOTokenFilepath).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return getSSOTokenFilepath[k]; }\n });\n});\n", "'use strict';\n\nvar propertyProvider = require('@smithy/property-provider');\nvar sharedIniFileLoader = require('@smithy/shared-ini-file-loader');\n\nfunction getSelectorName(functionString) {\n try {\n const constants = new Set(Array.from(functionString.match(/([A-Z_]){3,}/g) ?? []));\n constants.delete(\"CONFIG\");\n constants.delete(\"CONFIG_PREFIX_SEPARATOR\");\n constants.delete(\"ENV\");\n return [...constants].join(\", \");\n }\n catch (e) {\n return functionString;\n }\n}\n\nconst fromEnv = (envVarSelector, options) => async () => {\n try {\n const config = envVarSelector(process.env, options);\n if (config === undefined) {\n throw new Error();\n }\n return config;\n }\n catch (e) {\n throw new propertyProvider.CredentialsProviderError(e.message || `Not found in ENV: ${getSelectorName(envVarSelector.toString())}`, { logger: options?.logger });\n }\n};\n\nconst fromSharedConfigFiles = (configSelector, { preferredFile = \"config\", ...init } = {}) => async () => {\n const profile = sharedIniFileLoader.getProfileName(init);\n const { configFile, credentialsFile } = await sharedIniFileLoader.loadSharedConfigFiles(init);\n const profileFromCredentials = credentialsFile[profile] || {};\n const profileFromConfig = configFile[profile] || {};\n const mergedProfile = preferredFile === \"config\"\n ? { ...profileFromCredentials, ...profileFromConfig }\n : { ...profileFromConfig, ...profileFromCredentials };\n try {\n const cfgFile = preferredFile === \"config\" ? configFile : credentialsFile;\n const configValue = configSelector(mergedProfile, cfgFile);\n if (configValue === undefined) {\n throw new Error();\n }\n return configValue;\n }\n catch (e) {\n throw new propertyProvider.CredentialsProviderError(e.message || `Not found in config files w/ profile [${profile}]: ${getSelectorName(configSelector.toString())}`, { logger: init.logger });\n }\n};\n\nconst isFunction = (func) => typeof func === \"function\";\nconst fromStatic = (defaultValue) => isFunction(defaultValue) ? async () => await defaultValue() : propertyProvider.fromStatic(defaultValue);\n\nconst loadConfig = ({ environmentVariableSelector, configFileSelector, default: defaultValue }, configuration = {}) => {\n const { signingName, logger } = configuration;\n const envOptions = { signingName, logger };\n return propertyProvider.memoize(propertyProvider.chain(fromEnv(environmentVariableSelector, envOptions), fromSharedConfigFiles(configFileSelector, configuration), fromStatic(defaultValue)));\n};\n\nexports.loadConfig = loadConfig;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointUrlConfig = void 0;\nconst shared_ini_file_loader_1 = require(\"@smithy/shared-ini-file-loader\");\nconst ENV_ENDPOINT_URL = \"AWS_ENDPOINT_URL\";\nconst CONFIG_ENDPOINT_URL = \"endpoint_url\";\nconst 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(shared_ini_file_loader_1.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(shared_ini_file_loader_1.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});\nexports.getEndpointUrlConfig = getEndpointUrlConfig;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getEndpointFromConfig = void 0;\nconst node_config_provider_1 = require(\"@smithy/node-config-provider\");\nconst getEndpointUrlConfig_1 = require(\"./getEndpointUrlConfig\");\nconst getEndpointFromConfig = async (serviceId) => (0, node_config_provider_1.loadConfig)((0, getEndpointUrlConfig_1.getEndpointUrlConfig)(serviceId ?? \"\"))();\nexports.getEndpointFromConfig = getEndpointFromConfig;\n", "'use strict';\n\nvar getEndpointFromConfig = require('./adaptors/getEndpointFromConfig');\nvar urlParser = require('@smithy/url-parser');\nvar core = require('@smithy/core');\nvar utilMiddleware = require('@smithy/util-middleware');\nvar middlewareSerde = require('@smithy/middleware-serde');\n\nconst 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 = /\\.\\./;\nconst isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nconst 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\nconst createConfigValueProvider = (configKey, canonicalEndpointParamKey, config, isClientContextParam = false) => {\n const configProvider = async () => {\n let configValue;\n if (isClientContextParam) {\n const clientContextParams = config.clientContextParams;\n const nestedValue = clientContextParams?.[configKey];\n configValue = nestedValue ?? config[configKey] ?? config[canonicalEndpointParamKey];\n }\n else {\n configValue = config[configKey] ?? config[canonicalEndpointParamKey];\n }\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n };\n if (configKey === \"credentialScope\" || canonicalEndpointParamKey === \"CredentialScope\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;\n return configValue;\n };\n }\n if (configKey === \"accountId\" || canonicalEndpointParamKey === \"AccountId\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.accountId ?? credentials?.AccountId;\n return configValue;\n };\n }\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n if (config.isCustomEndpoint === false) {\n return undefined;\n }\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n};\n\nconst toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return urlParser.parseUrl(endpoint.url);\n }\n return endpoint;\n }\n return urlParser.parseUrl(endpoint);\n};\n\nconst getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {\n if (!clientConfig.isCustomEndpoint) {\n let endpointFromConfig;\n if (clientConfig.serviceConfiguredEndpoint) {\n endpointFromConfig = await clientConfig.serviceConfiguredEndpoint();\n }\n else {\n endpointFromConfig = await getEndpointFromConfig.getEndpointFromConfig(clientConfig.serviceId);\n }\n if (endpointFromConfig) {\n clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));\n clientConfig.isCustomEndpoint = true;\n }\n }\n const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n return endpoint;\n};\nconst 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, instruction.type !== \"builtInParams\")();\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\nconst endpointMiddleware = ({ config, instructions, }) => {\n return (next, context) => async (args) => {\n if (config.isCustomEndpoint) {\n core.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 = utilMiddleware.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\nconst endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: middlewareSerde.serializerMiddlewareOption.name,\n};\nconst getEndpointPlugin = (config, instructions) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(endpointMiddleware({\n config,\n instructions,\n }), endpointMiddlewareOptions);\n },\n});\n\nconst resolveEndpointConfig = (input) => {\n const tls = input.tls ?? true;\n const { endpoint, useDualstackEndpoint, useFipsEndpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await utilMiddleware.normalizeProvider(endpoint)()) : undefined;\n const isCustomEndpoint = !!endpoint;\n const resolvedConfig = Object.assign(input, {\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: utilMiddleware.normalizeProvider(useDualstackEndpoint ?? false),\n useFipsEndpoint: utilMiddleware.normalizeProvider(useFipsEndpoint ?? false),\n });\n let configuredEndpointPromise = undefined;\n resolvedConfig.serviceConfiguredEndpoint = async () => {\n if (input.serviceId && !configuredEndpointPromise) {\n configuredEndpointPromise = getEndpointFromConfig.getEndpointFromConfig(input.serviceId);\n }\n return configuredEndpointPromise;\n };\n return resolvedConfig;\n};\n\nconst resolveEndpointRequiredConfig = (input) => {\n const { endpoint } = input;\n if (endpoint === undefined) {\n input.endpoint = async () => {\n throw new Error(\"@smithy/middleware-endpoint: (default endpointRuleSet) endpoint is not set - you must configure an endpoint.\");\n };\n }\n return input;\n};\n\nexports.endpointMiddleware = endpointMiddleware;\nexports.endpointMiddlewareOptions = endpointMiddlewareOptions;\nexports.getEndpointFromInstructions = getEndpointFromInstructions;\nexports.getEndpointPlugin = getEndpointPlugin;\nexports.resolveEndpointConfig = resolveEndpointConfig;\nexports.resolveEndpointRequiredConfig = resolveEndpointRequiredConfig;\nexports.resolveParams = resolveParams;\nexports.toEndpointV1 = toEndpointV1;\n", "'use strict';\n\nconst CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\nconst 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];\nconst TRANSIENT_ERROR_CODES = [\"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nconst TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nconst NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"ECONNREFUSED\", \"EPIPE\", \"ETIMEDOUT\"];\nconst NODEJS_NETWORK_ERROR_CODES = [\"EHOSTUNREACH\", \"ENETUNREACH\", \"ENOTFOUND\"];\n\nconst isRetryableByTrait = (error) => error?.$retryable !== undefined;\nconst isClockSkewError = (error) => CLOCK_SKEW_ERROR_CODES.includes(error.name);\nconst isClockSkewCorrectedError = (error) => error.$metadata?.clockSkewCorrected;\nconst isBrowserNetworkError = (error) => {\n const errorMessages = new Set([\n \"Failed to fetch\",\n \"NetworkError when attempting to fetch resource\",\n \"The Internet connection appears to be offline\",\n \"Load failed\",\n \"Network request failed\",\n ]);\n const isValid = error && error instanceof TypeError;\n if (!isValid) {\n return false;\n }\n return errorMessages.has(error.message);\n};\nconst isThrottlingError = (error) => error.$metadata?.httpStatusCode === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n error.$retryable?.throttling == true;\nconst isTransientError = (error, depth = 0) => isRetryableByTrait(error) ||\n isClockSkewCorrectedError(error) ||\n TRANSIENT_ERROR_CODES.includes(error.name) ||\n NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || \"\") ||\n NODEJS_NETWORK_ERROR_CODES.includes(error?.code || \"\") ||\n TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0) ||\n isBrowserNetworkError(error) ||\n (error.cause !== undefined && depth <= 10 && isTransientError(error.cause, depth + 1));\nconst 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\nexports.isBrowserNetworkError = isBrowserNetworkError;\nexports.isClockSkewCorrectedError = isClockSkewCorrectedError;\nexports.isClockSkewError = isClockSkewError;\nexports.isRetryableByTrait = isRetryableByTrait;\nexports.isServerError = isServerError;\nexports.isThrottlingError = isThrottlingError;\nexports.isTransientError = isTransientError;\n", "'use strict';\n\nvar serviceErrorClassification = require('@smithy/service-error-classification');\n\nexports.RETRY_MODES = void 0;\n(function (RETRY_MODES) {\n RETRY_MODES[\"STANDARD\"] = \"standard\";\n RETRY_MODES[\"ADAPTIVE\"] = \"adaptive\";\n})(exports.RETRY_MODES || (exports.RETRY_MODES = {}));\nconst DEFAULT_MAX_ATTEMPTS = 3;\nconst DEFAULT_RETRY_MODE = exports.RETRY_MODES.STANDARD;\n\nclass DefaultRateLimiter {\n static setTimeoutFn = setTimeout;\n beta;\n minCapacity;\n minFillRate;\n scaleConstant;\n smooth;\n currentCapacity = 0;\n enabled = false;\n lastMaxRate = 0;\n measuredTxRate = 0;\n requestCount = 0;\n fillRate;\n lastThrottleTime;\n lastTimestamp = 0;\n lastTxRateBucket;\n maxCapacity;\n timeWindow = 0;\n constructor(options) {\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 (serviceErrorClassification.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}\n\nconst DEFAULT_RETRY_DELAY_BASE = 100;\nconst MAXIMUM_RETRY_DELAY = 20 * 1000;\nconst THROTTLING_RETRY_DELAY_BASE = 500;\nconst INITIAL_RETRY_TOKENS = 500;\nconst RETRY_COST = 5;\nconst TIMEOUT_RETRY_COST = 10;\nconst NO_RETRY_INCREMENT = 1;\nconst INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\nconst REQUEST_HEADER = \"amz-sdk-request\";\n\nconst 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\nconst 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\nclass StandardRetryStrategy {\n maxAttempts;\n mode = exports.RETRY_MODES.STANDARD;\n capacity = INITIAL_RETRY_TOKENS;\n retryBackoffStrategy = getDefaultRetryBackoffStrategy();\n maxAttemptsProvider;\n constructor(maxAttempts) {\n this.maxAttempts = maxAttempts;\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\nclass AdaptiveRetryStrategy {\n maxAttemptsProvider;\n rateLimiter;\n standardRetryStrategy;\n mode = exports.RETRY_MODES.ADAPTIVE;\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\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\nclass ConfiguredRetryStrategy extends StandardRetryStrategy {\n computeNextBackoffDelay;\n constructor(maxAttempts, computeNextBackoffDelay = DEFAULT_RETRY_DELAY_BASE) {\n super(typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts);\n if (typeof computeNextBackoffDelay === \"number\") {\n this.computeNextBackoffDelay = () => computeNextBackoffDelay;\n }\n else {\n this.computeNextBackoffDelay = computeNextBackoffDelay;\n }\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n const token = await super.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n token.getRetryDelay = () => this.computeNextBackoffDelay(token.getRetryCount());\n return token;\n }\n}\n\nexports.AdaptiveRetryStrategy = AdaptiveRetryStrategy;\nexports.ConfiguredRetryStrategy = ConfiguredRetryStrategy;\nexports.DEFAULT_MAX_ATTEMPTS = DEFAULT_MAX_ATTEMPTS;\nexports.DEFAULT_RETRY_DELAY_BASE = DEFAULT_RETRY_DELAY_BASE;\nexports.DEFAULT_RETRY_MODE = DEFAULT_RETRY_MODE;\nexports.DefaultRateLimiter = DefaultRateLimiter;\nexports.INITIAL_RETRY_TOKENS = INITIAL_RETRY_TOKENS;\nexports.INVOCATION_ID_HEADER = INVOCATION_ID_HEADER;\nexports.MAXIMUM_RETRY_DELAY = MAXIMUM_RETRY_DELAY;\nexports.NO_RETRY_INCREMENT = NO_RETRY_INCREMENT;\nexports.REQUEST_HEADER = REQUEST_HEADER;\nexports.RETRY_COST = RETRY_COST;\nexports.StandardRetryStrategy = StandardRetryStrategy;\nexports.THROTTLING_RETRY_DELAY_BASE = THROTTLING_RETRY_DELAY_BASE;\nexports.TIMEOUT_RETRY_COST = TIMEOUT_RETRY_COST;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isStreamingPayload = void 0;\nconst stream_1 = require(\"stream\");\nconst isStreamingPayload = (request) => request?.body instanceof stream_1.Readable ||\n (typeof ReadableStream !== \"undefined\" && request?.body instanceof ReadableStream);\nexports.isStreamingPayload = isStreamingPayload;\n", "'use strict';\n\nvar utilRetry = require('@smithy/util-retry');\nvar protocolHttp = require('@smithy/protocol-http');\nvar serviceErrorClassification = require('@smithy/service-error-classification');\nvar uuid = require('@smithy/uuid');\nvar utilMiddleware = require('@smithy/util-middleware');\nvar smithyClient = require('@smithy/smithy-client');\nvar isStreamingPayload = require('./isStreamingPayload/isStreamingPayload');\n\nconst getDefaultRetryQuota = (initialRetryTokens, options) => {\n const MAX_CAPACITY = initialRetryTokens;\n const noRetryIncrement = utilRetry.NO_RETRY_INCREMENT;\n const retryCost = utilRetry.RETRY_COST;\n const timeoutRetryCost = utilRetry.TIMEOUT_RETRY_COST;\n let availableCapacity = initialRetryTokens;\n const getCapacityAmount = (error) => (error.name === \"TimeoutError\" ? timeoutRetryCost : retryCost);\n const hasRetryTokens = (error) => getCapacityAmount(error) <= availableCapacity;\n const retrieveRetryTokens = (error) => {\n if (!hasRetryTokens(error)) {\n throw new Error(\"No retry token available\");\n }\n const capacityAmount = getCapacityAmount(error);\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n const releaseRetryTokens = (capacityReleaseAmount) => {\n availableCapacity += capacityReleaseAmount ?? noRetryIncrement;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n return Object.freeze({\n hasRetryTokens,\n retrieveRetryTokens,\n releaseRetryTokens,\n });\n};\n\nconst defaultDelayDecider = (delayBase, attempts) => Math.floor(Math.min(utilRetry.MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n\nconst defaultRetryDecider = (error) => {\n if (!error) {\n return false;\n }\n return serviceErrorClassification.isRetryableByTrait(error) || serviceErrorClassification.isClockSkewError(error) || serviceErrorClassification.isThrottlingError(error) || serviceErrorClassification.isTransientError(error);\n};\n\nconst 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\nclass StandardRetryStrategy {\n maxAttemptsProvider;\n retryDecider;\n delayDecider;\n retryQuota;\n mode = utilRetry.RETRY_MODES.STANDARD;\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.retryDecider = options?.retryDecider ?? defaultRetryDecider;\n this.delayDecider = options?.delayDecider ?? defaultDelayDecider;\n this.retryQuota = options?.retryQuota ?? getDefaultRetryQuota(utilRetry.INITIAL_RETRY_TOKENS);\n }\n shouldRetry(error, attempts, maxAttempts) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n }\n async getMaxAttempts() {\n let maxAttempts;\n try {\n maxAttempts = await this.maxAttemptsProvider();\n }\n catch (error) {\n maxAttempts = utilRetry.DEFAULT_MAX_ATTEMPTS;\n }\n return maxAttempts;\n }\n async retry(next, args, options) {\n let retryTokenAmount;\n let attempts = 0;\n let totalDelay = 0;\n const maxAttempts = await this.getMaxAttempts();\n const { request } = args;\n if (protocolHttp.HttpRequest.isInstance(request)) {\n request.headers[utilRetry.INVOCATION_ID_HEADER] = uuid.v4();\n }\n while (true) {\n try {\n if (protocolHttp.HttpRequest.isInstance(request)) {\n request.headers[utilRetry.REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n if (options?.beforeRequest) {\n await options.beforeRequest();\n }\n const { response, output } = await next(args);\n if (options?.afterRequest) {\n options.afterRequest(response);\n }\n this.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n return { response, output };\n }\n catch (e) {\n const err = asSdkError(e);\n attempts++;\n if (this.shouldRetry(err, attempts, maxAttempts)) {\n retryTokenAmount = this.retryQuota.retrieveRetryTokens(err);\n const delayFromDecider = this.delayDecider(serviceErrorClassification.isThrottlingError(err) ? utilRetry.THROTTLING_RETRY_DELAY_BASE : utilRetry.DEFAULT_RETRY_DELAY_BASE, attempts);\n const delayFromResponse = getDelayFromRetryAfterHeader(err.$response);\n const delay = Math.max(delayFromResponse || 0, delayFromDecider);\n totalDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n continue;\n }\n if (!err.$metadata) {\n err.$metadata = {};\n }\n err.$metadata.attempts = attempts;\n err.$metadata.totalRetryDelay = totalDelay;\n throw err;\n }\n }\n }\n}\nconst getDelayFromRetryAfterHeader = (response) => {\n if (!protocolHttp.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 retryAfterSeconds * 1000;\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate.getTime() - Date.now();\n};\n\nclass AdaptiveRetryStrategy extends StandardRetryStrategy {\n rateLimiter;\n constructor(maxAttemptsProvider, options) {\n const { rateLimiter, ...superOptions } = options ?? {};\n super(maxAttemptsProvider, superOptions);\n this.rateLimiter = rateLimiter ?? new utilRetry.DefaultRateLimiter();\n this.mode = utilRetry.RETRY_MODES.ADAPTIVE;\n }\n async retry(next, args) {\n return super.retry(next, args, {\n beforeRequest: async () => {\n return this.rateLimiter.getSendToken();\n },\n afterRequest: (response) => {\n this.rateLimiter.updateClientSendingRate(response);\n },\n });\n }\n}\n\nconst ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nconst CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nconst 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: utilRetry.DEFAULT_MAX_ATTEMPTS,\n};\nconst resolveRetryConfig = (input) => {\n const { retryStrategy, retryMode: _retryMode, maxAttempts: _maxAttempts } = input;\n const maxAttempts = utilMiddleware.normalizeProvider(_maxAttempts ?? utilRetry.DEFAULT_MAX_ATTEMPTS);\n return Object.assign(input, {\n maxAttempts,\n retryStrategy: async () => {\n if (retryStrategy) {\n return retryStrategy;\n }\n const retryMode = await utilMiddleware.normalizeProvider(_retryMode)();\n if (retryMode === utilRetry.RETRY_MODES.ADAPTIVE) {\n return new utilRetry.AdaptiveRetryStrategy(maxAttempts);\n }\n return new utilRetry.StandardRetryStrategy(maxAttempts);\n },\n });\n};\nconst ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nconst CONFIG_RETRY_MODE = \"retry_mode\";\nconst NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\n default: utilRetry.DEFAULT_RETRY_MODE,\n};\n\nconst omitRetryHeadersMiddleware = () => (next) => async (args) => {\n const { request } = args;\n if (protocolHttp.HttpRequest.isInstance(request)) {\n delete request.headers[utilRetry.INVOCATION_ID_HEADER];\n delete request.headers[utilRetry.REQUEST_HEADER];\n }\n return next(args);\n};\nconst omitRetryHeadersMiddlewareOptions = {\n name: \"omitRetryHeadersMiddleware\",\n tags: [\"RETRY\", \"HEADERS\", \"OMIT_RETRY_HEADERS\"],\n relation: \"before\",\n toMiddleware: \"awsAuthMiddleware\",\n override: true,\n};\nconst getOmitRetryHeadersPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(omitRetryHeadersMiddleware(), omitRetryHeadersMiddlewareOptions);\n },\n});\n\nconst 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 = protocolHttp.HttpRequest.isInstance(request);\n if (isRequest) {\n request.headers[utilRetry.INVOCATION_ID_HEADER] = uuid.v4();\n }\n while (true) {\n try {\n if (isRequest) {\n request.headers[utilRetry.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.isStreamingPayload(request)) {\n (context.logger instanceof smithyClient.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 (serviceErrorClassification.isThrottlingError(error))\n return \"THROTTLING\";\n if (serviceErrorClassification.isTransientError(error))\n return \"TRANSIENT\";\n if (serviceErrorClassification.isServerError(error))\n return \"SERVER_ERROR\";\n return \"CLIENT_ERROR\";\n};\nconst retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nconst getRetryPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n});\nconst getRetryAfterHint = (response) => {\n if (!protocolHttp.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\nexports.AdaptiveRetryStrategy = AdaptiveRetryStrategy;\nexports.CONFIG_MAX_ATTEMPTS = CONFIG_MAX_ATTEMPTS;\nexports.CONFIG_RETRY_MODE = CONFIG_RETRY_MODE;\nexports.ENV_MAX_ATTEMPTS = ENV_MAX_ATTEMPTS;\nexports.ENV_RETRY_MODE = ENV_RETRY_MODE;\nexports.NODE_MAX_ATTEMPT_CONFIG_OPTIONS = NODE_MAX_ATTEMPT_CONFIG_OPTIONS;\nexports.NODE_RETRY_MODE_CONFIG_OPTIONS = NODE_RETRY_MODE_CONFIG_OPTIONS;\nexports.StandardRetryStrategy = StandardRetryStrategy;\nexports.defaultDelayDecider = defaultDelayDecider;\nexports.defaultRetryDecider = defaultRetryDecider;\nexports.getOmitRetryHeadersPlugin = getOmitRetryHeadersPlugin;\nexports.getRetryAfterHint = getRetryAfterHint;\nexports.getRetryPlugin = getRetryPlugin;\nexports.omitRetryHeadersMiddleware = omitRetryHeadersMiddleware;\nexports.omitRetryHeadersMiddlewareOptions = omitRetryHeadersMiddlewareOptions;\nexports.resolveRetryConfig = resolveRetryConfig;\nexports.retryMiddleware = retryMiddleware;\nexports.retryMiddlewareOptions = retryMiddlewareOptions;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveHttpAuthSchemeConfig = exports.defaultSecretsManagerHttpAuthSchemeProvider = exports.defaultSecretsManagerHttpAuthSchemeParametersProvider = void 0;\nconst core_1 = require(\"@aws-sdk/core\");\nconst util_middleware_1 = require(\"@smithy/util-middleware\");\nconst defaultSecretsManagerHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: (0, util_middleware_1.getSmithyContext)(context).operation,\n region: await (0, util_middleware_1.normalizeProvider)(config.region)() || (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nexports.defaultSecretsManagerHttpAuthSchemeParametersProvider = defaultSecretsManagerHttpAuthSchemeParametersProvider;\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"secretsmanager\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nconst defaultSecretsManagerHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexports.defaultSecretsManagerHttpAuthSchemeProvider = defaultSecretsManagerHttpAuthSchemeProvider;\nconst resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = (0, core_1.resolveAwsSdkSigV4Config)(config);\n return Object.assign(config_0, {\n authSchemePreference: (0, util_middleware_1.normalizeProvider)(config.authSchemePreference ?? []),\n });\n};\nexports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;\n", "{\n \"name\": \"@aws-sdk/client-secrets-manager\",\n \"description\": \"AWS SDK for JavaScript Secrets Manager Client for Node.js, Browser and React Native\",\n \"version\": \"3.982.0\",\n \"scripts\": {\n \"build\": \"concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs\",\n \"build:cjs\": \"node ../../scripts/compilation/inline client-secrets-manager\",\n \"build:es\": \"tsc -p tsconfig.es.json\",\n \"build:include:deps\": \"yarn g:turbo run build -F=\\\"$npm_package_name\\\"\",\n \"build:types\": \"tsc -p tsconfig.types.json\",\n \"build:types:downlevel\": \"downlevel-dts dist-types dist-types/ts3.4\",\n \"clean\": \"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo\",\n \"extract:docs\": \"api-extractor run --local\",\n \"generate:client\": \"node ../../scripts/generate-clients/single-service --solo secrets-manager\",\n \"test:index\": \"tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs\"\n },\n \"main\": \"./dist-cjs/index.js\",\n \"types\": \"./dist-types/index.d.ts\",\n \"module\": \"./dist-es/index.js\",\n \"sideEffects\": false,\n \"dependencies\": {\n \"@aws-crypto/sha256-browser\": \"5.2.0\",\n \"@aws-crypto/sha256-js\": \"5.2.0\",\n \"@aws-sdk/core\": \"^3.973.6\",\n \"@aws-sdk/credential-provider-node\": \"^3.972.5\",\n \"@aws-sdk/middleware-host-header\": \"^3.972.3\",\n \"@aws-sdk/middleware-logger\": \"^3.972.3\",\n \"@aws-sdk/middleware-recursion-detection\": \"^3.972.3\",\n \"@aws-sdk/middleware-user-agent\": \"^3.972.6\",\n \"@aws-sdk/region-config-resolver\": \"^3.972.3\",\n \"@aws-sdk/types\": \"^3.973.1\",\n \"@aws-sdk/util-endpoints\": \"3.982.0\",\n \"@aws-sdk/util-user-agent-browser\": \"^3.972.3\",\n \"@aws-sdk/util-user-agent-node\": \"^3.972.4\",\n \"@smithy/config-resolver\": \"^4.4.6\",\n \"@smithy/core\": \"^3.22.0\",\n \"@smithy/fetch-http-handler\": \"^5.3.9\",\n \"@smithy/hash-node\": \"^4.2.8\",\n \"@smithy/invalid-dependency\": \"^4.2.8\",\n \"@smithy/middleware-content-length\": \"^4.2.8\",\n \"@smithy/middleware-endpoint\": \"^4.4.12\",\n \"@smithy/middleware-retry\": \"^4.4.29\",\n \"@smithy/middleware-serde\": \"^4.2.9\",\n \"@smithy/middleware-stack\": \"^4.2.8\",\n \"@smithy/node-config-provider\": \"^4.3.8\",\n \"@smithy/node-http-handler\": \"^4.4.8\",\n \"@smithy/protocol-http\": \"^5.3.8\",\n \"@smithy/smithy-client\": \"^4.11.1\",\n \"@smithy/types\": \"^4.12.0\",\n \"@smithy/url-parser\": \"^4.2.8\",\n \"@smithy/util-base64\": \"^4.3.0\",\n \"@smithy/util-body-length-browser\": \"^4.2.0\",\n \"@smithy/util-body-length-node\": \"^4.2.1\",\n \"@smithy/util-defaults-mode-browser\": \"^4.3.28\",\n \"@smithy/util-defaults-mode-node\": \"^4.2.31\",\n \"@smithy/util-endpoints\": \"^3.2.8\",\n \"@smithy/util-middleware\": \"^4.2.8\",\n \"@smithy/util-retry\": \"^4.2.8\",\n \"@smithy/util-utf8\": \"^4.2.0\",\n \"tslib\": \"^2.6.2\"\n },\n \"devDependencies\": {\n \"@tsconfig/node20\": \"20.1.8\",\n \"@types/node\": \"^20.14.8\",\n \"concurrently\": \"7.0.0\",\n \"downlevel-dts\": \"0.10.1\",\n \"premove\": \"4.0.0\",\n \"typescript\": \"~5.8.3\"\n },\n \"engines\": {\n \"node\": \">=20.0.0\"\n },\n \"typesVersions\": {\n \"<4.0\": {\n \"dist-types/*\": [\n \"dist-types/ts3.4/*\"\n ]\n }\n },\n \"files\": [\n \"dist-*/**\"\n ],\n \"author\": {\n \"name\": \"AWS SDK for JavaScript Team\",\n \"url\": \"https://aws.amazon.com/javascript/\"\n },\n \"license\": \"Apache-2.0\",\n \"browser\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.browser\"\n },\n \"react-native\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.native\"\n },\n \"homepage\": \"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-secrets-manager\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/aws/aws-sdk-js-v3.git\",\n \"directory\": \"clients/client-secrets-manager\"\n }\n}\n", "'use strict';\n\nvar client = require('@aws-sdk/core/client');\nvar propertyProvider = require('@smithy/property-provider');\n\nconst ENV_KEY = \"AWS_ACCESS_KEY_ID\";\nconst ENV_SECRET = \"AWS_SECRET_ACCESS_KEY\";\nconst ENV_SESSION = \"AWS_SESSION_TOKEN\";\nconst ENV_EXPIRATION = \"AWS_CREDENTIAL_EXPIRATION\";\nconst ENV_CREDENTIAL_SCOPE = \"AWS_CREDENTIAL_SCOPE\";\nconst ENV_ACCOUNT_ID = \"AWS_ACCOUNT_ID\";\nconst fromEnv = (init) => async () => {\n init?.logger?.debug(\"@aws-sdk/credential-provider-env - fromEnv\");\n const accessKeyId = process.env[ENV_KEY];\n const secretAccessKey = process.env[ENV_SECRET];\n const sessionToken = process.env[ENV_SESSION];\n const expiry = process.env[ENV_EXPIRATION];\n const credentialScope = process.env[ENV_CREDENTIAL_SCOPE];\n const accountId = process.env[ENV_ACCOUNT_ID];\n if (accessKeyId && secretAccessKey) {\n const credentials = {\n accessKeyId,\n secretAccessKey,\n ...(sessionToken && { sessionToken }),\n ...(expiry && { expiration: new Date(expiry) }),\n ...(credentialScope && { credentialScope }),\n ...(accountId && { accountId }),\n };\n client.setCredentialFeature(credentials, \"CREDENTIALS_ENV_VARS\", \"g\");\n return credentials;\n }\n throw new propertyProvider.CredentialsProviderError(\"Unable to find environment variable credentials.\", { logger: init?.logger });\n};\n\nexports.ENV_ACCOUNT_ID = ENV_ACCOUNT_ID;\nexports.ENV_CREDENTIAL_SCOPE = ENV_CREDENTIAL_SCOPE;\nexports.ENV_EXPIRATION = ENV_EXPIRATION;\nexports.ENV_KEY = ENV_KEY;\nexports.ENV_SECRET = ENV_SECRET;\nexports.ENV_SESSION = ENV_SESSION;\nexports.fromEnv = fromEnv;\n", "'use strict';\n\nvar propertyProvider = require('@smithy/property-provider');\nvar url = require('url');\nvar buffer = require('buffer');\nvar http = require('http');\nvar nodeConfigProvider = require('@smithy/node-config-provider');\nvar urlParser = require('@smithy/url-parser');\n\nfunction httpRequest(options) {\n return new Promise((resolve, reject) => {\n const req = http.request({\n method: \"GET\",\n ...options,\n hostname: options.hostname?.replace(/^\\[(.+)\\]$/, \"$1\"),\n });\n req.on(\"error\", (err) => {\n reject(Object.assign(new propertyProvider.ProviderError(\"Unable to connect to instance metadata service\"), err));\n req.destroy();\n });\n req.on(\"timeout\", () => {\n reject(new propertyProvider.ProviderError(\"TimeoutError from instance metadata service\"));\n req.destroy();\n });\n req.on(\"response\", (res) => {\n const { statusCode = 400 } = res;\n if (statusCode < 200 || 300 <= statusCode) {\n reject(Object.assign(new propertyProvider.ProviderError(\"Error response received from instance metadata service\"), { statusCode }));\n req.destroy();\n }\n const chunks = [];\n res.on(\"data\", (chunk) => {\n chunks.push(chunk);\n });\n res.on(\"end\", () => {\n resolve(buffer.Buffer.concat(chunks));\n req.destroy();\n });\n });\n req.end();\n });\n}\n\nconst isImdsCredentials = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.AccessKeyId === \"string\" &&\n typeof arg.SecretAccessKey === \"string\" &&\n typeof arg.Token === \"string\" &&\n typeof arg.Expiration === \"string\";\nconst fromImdsCredentials = (creds) => ({\n accessKeyId: creds.AccessKeyId,\n secretAccessKey: creds.SecretAccessKey,\n sessionToken: creds.Token,\n expiration: new Date(creds.Expiration),\n ...(creds.AccountId && { accountId: creds.AccountId }),\n});\n\nconst DEFAULT_TIMEOUT = 1000;\nconst DEFAULT_MAX_RETRIES = 0;\nconst providerConfigFromInit = ({ maxRetries = DEFAULT_MAX_RETRIES, timeout = DEFAULT_TIMEOUT, }) => ({ maxRetries, timeout });\n\nconst retry = (toRetry, maxRetries) => {\n let promise = toRetry();\n for (let i = 0; i < maxRetries; i++) {\n promise = promise.catch(toRetry);\n }\n return promise;\n};\n\nconst ENV_CMDS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nconst ENV_CMDS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nconst ENV_CMDS_AUTH_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nconst fromContainerMetadata = (init = {}) => {\n const { timeout, maxRetries } = providerConfigFromInit(init);\n return () => retry(async () => {\n const requestOptions = await getCmdsUri({ logger: init.logger });\n const credsResponse = JSON.parse(await requestFromEcsImds(timeout, requestOptions));\n if (!isImdsCredentials(credsResponse)) {\n throw new propertyProvider.CredentialsProviderError(\"Invalid response received from instance metadata service.\", {\n logger: init.logger,\n });\n }\n return fromImdsCredentials(credsResponse);\n }, maxRetries);\n};\nconst requestFromEcsImds = async (timeout, options) => {\n if (process.env[ENV_CMDS_AUTH_TOKEN]) {\n options.headers = {\n ...options.headers,\n Authorization: process.env[ENV_CMDS_AUTH_TOKEN],\n };\n }\n const buffer = await httpRequest({\n ...options,\n timeout,\n });\n return buffer.toString();\n};\nconst CMDS_IP = \"169.254.170.2\";\nconst GREENGRASS_HOSTS = {\n localhost: true,\n \"127.0.0.1\": true,\n};\nconst GREENGRASS_PROTOCOLS = {\n \"http:\": true,\n \"https:\": true,\n};\nconst getCmdsUri = async ({ logger }) => {\n if (process.env[ENV_CMDS_RELATIVE_URI]) {\n return {\n hostname: CMDS_IP,\n path: process.env[ENV_CMDS_RELATIVE_URI],\n };\n }\n if (process.env[ENV_CMDS_FULL_URI]) {\n const parsed = url.parse(process.env[ENV_CMDS_FULL_URI]);\n if (!parsed.hostname || !(parsed.hostname in GREENGRASS_HOSTS)) {\n throw new propertyProvider.CredentialsProviderError(`${parsed.hostname} is not a valid container metadata service hostname`, {\n tryNextLink: false,\n logger,\n });\n }\n if (!parsed.protocol || !(parsed.protocol in GREENGRASS_PROTOCOLS)) {\n throw new propertyProvider.CredentialsProviderError(`${parsed.protocol} is not a valid container metadata service protocol`, {\n tryNextLink: false,\n logger,\n });\n }\n return {\n ...parsed,\n port: parsed.port ? parseInt(parsed.port, 10) : undefined,\n };\n }\n throw new propertyProvider.CredentialsProviderError(\"The container metadata credential provider cannot be used unless\" +\n ` the ${ENV_CMDS_RELATIVE_URI} or ${ENV_CMDS_FULL_URI} environment` +\n \" variable is set\", {\n tryNextLink: false,\n logger,\n });\n};\n\nclass InstanceMetadataV1FallbackError extends propertyProvider.CredentialsProviderError {\n tryNextLink;\n name = \"InstanceMetadataV1FallbackError\";\n constructor(message, tryNextLink = true) {\n super(message, tryNextLink);\n this.tryNextLink = tryNextLink;\n Object.setPrototypeOf(this, InstanceMetadataV1FallbackError.prototype);\n }\n}\n\nexports.Endpoint = void 0;\n(function (Endpoint) {\n Endpoint[\"IPv4\"] = \"http://169.254.169.254\";\n Endpoint[\"IPv6\"] = \"http://[fd00:ec2::254]\";\n})(exports.Endpoint || (exports.Endpoint = {}));\n\nconst ENV_ENDPOINT_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT\";\nconst CONFIG_ENDPOINT_NAME = \"ec2_metadata_service_endpoint\";\nconst ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_ENDPOINT_NAME],\n configFileSelector: (profile) => profile[CONFIG_ENDPOINT_NAME],\n default: undefined,\n};\n\nvar EndpointMode;\n(function (EndpointMode) {\n EndpointMode[\"IPv4\"] = \"IPv4\";\n EndpointMode[\"IPv6\"] = \"IPv6\";\n})(EndpointMode || (EndpointMode = {}));\n\nconst ENV_ENDPOINT_MODE_NAME = \"AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE\";\nconst CONFIG_ENDPOINT_MODE_NAME = \"ec2_metadata_service_endpoint_mode\";\nconst ENDPOINT_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_ENDPOINT_MODE_NAME],\n configFileSelector: (profile) => profile[CONFIG_ENDPOINT_MODE_NAME],\n default: EndpointMode.IPv4,\n};\n\nconst getInstanceMetadataEndpoint = async () => urlParser.parseUrl((await getFromEndpointConfig()) || (await getFromEndpointModeConfig()));\nconst getFromEndpointConfig = async () => nodeConfigProvider.loadConfig(ENDPOINT_CONFIG_OPTIONS)();\nconst getFromEndpointModeConfig = async () => {\n const endpointMode = await nodeConfigProvider.loadConfig(ENDPOINT_MODE_CONFIG_OPTIONS)();\n switch (endpointMode) {\n case EndpointMode.IPv4:\n return exports.Endpoint.IPv4;\n case EndpointMode.IPv6:\n return exports.Endpoint.IPv6;\n default:\n throw new Error(`Unsupported endpoint mode: ${endpointMode}.` + ` Select from ${Object.values(EndpointMode)}`);\n }\n};\n\nconst STATIC_STABILITY_REFRESH_INTERVAL_SECONDS = 5 * 60;\nconst STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS = 5 * 60;\nconst STATIC_STABILITY_DOC_URL = \"https://docs.aws.amazon.com/sdkref/latest/guide/feature-static-credentials.html\";\nconst getExtendedInstanceMetadataCredentials = (credentials, logger) => {\n const refreshInterval = STATIC_STABILITY_REFRESH_INTERVAL_SECONDS +\n Math.floor(Math.random() * STATIC_STABILITY_REFRESH_INTERVAL_JITTER_WINDOW_SECONDS);\n const newExpiration = new Date(Date.now() + refreshInterval * 1000);\n logger.warn(\"Attempting credential expiration extension due to a credential service availability issue. A refresh of these \" +\n `credentials will be attempted after ${new Date(newExpiration)}.\\nFor more information, please visit: ` +\n STATIC_STABILITY_DOC_URL);\n const originalExpiration = credentials.originalExpiration ?? credentials.expiration;\n return {\n ...credentials,\n ...(originalExpiration ? { originalExpiration } : {}),\n expiration: newExpiration,\n };\n};\n\nconst staticStabilityProvider = (provider, options = {}) => {\n const logger = options?.logger || console;\n let pastCredentials;\n return async () => {\n let credentials;\n try {\n credentials = await provider();\n if (credentials.expiration && credentials.expiration.getTime() < Date.now()) {\n credentials = getExtendedInstanceMetadataCredentials(credentials, logger);\n }\n }\n catch (e) {\n if (pastCredentials) {\n logger.warn(\"Credential renew failed: \", e);\n credentials = getExtendedInstanceMetadataCredentials(pastCredentials, logger);\n }\n else {\n throw e;\n }\n }\n pastCredentials = credentials;\n return credentials;\n };\n};\n\nconst IMDS_PATH = \"/latest/meta-data/iam/security-credentials/\";\nconst IMDS_TOKEN_PATH = \"/latest/api/token\";\nconst AWS_EC2_METADATA_V1_DISABLED = \"AWS_EC2_METADATA_V1_DISABLED\";\nconst PROFILE_AWS_EC2_METADATA_V1_DISABLED = \"ec2_metadata_v1_disabled\";\nconst X_AWS_EC2_METADATA_TOKEN = \"x-aws-ec2-metadata-token\";\nconst fromInstanceMetadata = (init = {}) => staticStabilityProvider(getInstanceMetadataProvider(init), { logger: init.logger });\nconst getInstanceMetadataProvider = (init = {}) => {\n let disableFetchToken = false;\n const { logger, profile } = init;\n const { timeout, maxRetries } = providerConfigFromInit(init);\n const getCredentials = async (maxRetries, options) => {\n const isImdsV1Fallback = disableFetchToken || options.headers?.[X_AWS_EC2_METADATA_TOKEN] == null;\n if (isImdsV1Fallback) {\n let fallbackBlockedFromProfile = false;\n let fallbackBlockedFromProcessEnv = false;\n const configValue = await nodeConfigProvider.loadConfig({\n environmentVariableSelector: (env) => {\n const envValue = env[AWS_EC2_METADATA_V1_DISABLED];\n fallbackBlockedFromProcessEnv = !!envValue && envValue !== \"false\";\n if (envValue === undefined) {\n throw new propertyProvider.CredentialsProviderError(`${AWS_EC2_METADATA_V1_DISABLED} not set in env, checking config file next.`, { logger: init.logger });\n }\n return fallbackBlockedFromProcessEnv;\n },\n configFileSelector: (profile) => {\n const profileValue = profile[PROFILE_AWS_EC2_METADATA_V1_DISABLED];\n fallbackBlockedFromProfile = !!profileValue && profileValue !== \"false\";\n return fallbackBlockedFromProfile;\n },\n default: false,\n }, {\n profile,\n })();\n if (init.ec2MetadataV1Disabled || configValue) {\n const causes = [];\n if (init.ec2MetadataV1Disabled)\n causes.push(\"credential provider initialization (runtime option ec2MetadataV1Disabled)\");\n if (fallbackBlockedFromProfile)\n causes.push(`config file profile (${PROFILE_AWS_EC2_METADATA_V1_DISABLED})`);\n if (fallbackBlockedFromProcessEnv)\n causes.push(`process environment variable (${AWS_EC2_METADATA_V1_DISABLED})`);\n throw new InstanceMetadataV1FallbackError(`AWS EC2 Metadata v1 fallback has been blocked by AWS SDK configuration in the following: [${causes.join(\", \")}].`);\n }\n }\n const imdsProfile = (await retry(async () => {\n let profile;\n try {\n profile = await getProfile(options);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return profile;\n }, maxRetries)).trim();\n return retry(async () => {\n let creds;\n try {\n creds = await getCredentialsFromProfile(imdsProfile, options, init);\n }\n catch (err) {\n if (err.statusCode === 401) {\n disableFetchToken = false;\n }\n throw err;\n }\n return creds;\n }, maxRetries);\n };\n return async () => {\n const endpoint = await getInstanceMetadataEndpoint();\n if (disableFetchToken) {\n logger?.debug(\"AWS SDK Instance Metadata\", \"using v1 fallback (no token fetch)\");\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n else {\n let token;\n try {\n token = (await getMetadataToken({ ...endpoint, timeout })).toString();\n }\n catch (error) {\n if (error?.statusCode === 400) {\n throw Object.assign(error, {\n message: \"EC2 Metadata token request returned error\",\n });\n }\n else if (error.message === \"TimeoutError\" || [403, 404, 405].includes(error.statusCode)) {\n disableFetchToken = true;\n }\n logger?.debug(\"AWS SDK Instance Metadata\", \"using v1 fallback (initial)\");\n return getCredentials(maxRetries, { ...endpoint, timeout });\n }\n return getCredentials(maxRetries, {\n ...endpoint,\n headers: {\n [X_AWS_EC2_METADATA_TOKEN]: token,\n },\n timeout,\n });\n }\n };\n};\nconst getMetadataToken = async (options) => httpRequest({\n ...options,\n path: IMDS_TOKEN_PATH,\n method: \"PUT\",\n headers: {\n \"x-aws-ec2-metadata-token-ttl-seconds\": \"21600\",\n },\n});\nconst getProfile = async (options) => (await httpRequest({ ...options, path: IMDS_PATH })).toString();\nconst getCredentialsFromProfile = async (profile, options, init) => {\n const credentialsResponse = JSON.parse((await httpRequest({\n ...options,\n path: IMDS_PATH + profile,\n })).toString());\n if (!isImdsCredentials(credentialsResponse)) {\n throw new propertyProvider.CredentialsProviderError(\"Invalid response received from instance metadata service.\", {\n logger: init.logger,\n });\n }\n return fromImdsCredentials(credentialsResponse);\n};\n\nexports.DEFAULT_MAX_RETRIES = DEFAULT_MAX_RETRIES;\nexports.DEFAULT_TIMEOUT = DEFAULT_TIMEOUT;\nexports.ENV_CMDS_AUTH_TOKEN = ENV_CMDS_AUTH_TOKEN;\nexports.ENV_CMDS_FULL_URI = ENV_CMDS_FULL_URI;\nexports.ENV_CMDS_RELATIVE_URI = ENV_CMDS_RELATIVE_URI;\nexports.fromContainerMetadata = fromContainerMetadata;\nexports.fromInstanceMetadata = fromInstanceMetadata;\nexports.getInstanceMetadataEndpoint = getInstanceMetadataEndpoint;\nexports.httpRequest = httpRequest;\nexports.providerConfigFromInit = providerConfigFromInit;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.checkUrl = void 0;\nconst property_provider_1 = require(\"@smithy/property-provider\");\nconst LOOPBACK_CIDR_IPv4 = \"127.0.0.0/8\";\nconst LOOPBACK_CIDR_IPv6 = \"::1/128\";\nconst ECS_CONTAINER_HOST = \"169.254.170.2\";\nconst EKS_CONTAINER_HOST_IPv4 = \"169.254.170.23\";\nconst EKS_CONTAINER_HOST_IPv6 = \"[fd00:ec2::23]\";\nconst checkUrl = (url, logger) => {\n if (url.protocol === \"https:\") {\n return;\n }\n if (url.hostname === ECS_CONTAINER_HOST ||\n url.hostname === EKS_CONTAINER_HOST_IPv4 ||\n url.hostname === EKS_CONTAINER_HOST_IPv6) {\n return;\n }\n if (url.hostname.includes(\"[\")) {\n if (url.hostname === \"[::1]\" || url.hostname === \"[0000:0000:0000:0000:0000:0000:0000:0001]\") {\n return;\n }\n }\n else {\n if (url.hostname === \"localhost\") {\n return;\n }\n const ipComponents = url.hostname.split(\".\");\n const inRange = (component) => {\n const num = parseInt(component, 10);\n return 0 <= num && num <= 255;\n };\n if (ipComponents[0] === \"127\" &&\n inRange(ipComponents[1]) &&\n inRange(ipComponents[2]) &&\n inRange(ipComponents[3]) &&\n ipComponents.length === 4) {\n return;\n }\n }\n throw new property_provider_1.CredentialsProviderError(`URL not accepted. It must either be HTTPS or match one of the following:\n - loopback CIDR 127.0.0.0/8 or [::1/128]\n - ECS container host 169.254.170.2\n - EKS container host 169.254.170.23 or [fd00:ec2::23]`, { logger });\n};\nexports.checkUrl = checkUrl;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createGetRequest = createGetRequest;\nexports.getCredentials = getCredentials;\nconst property_provider_1 = require(\"@smithy/property-provider\");\nconst protocol_http_1 = require(\"@smithy/protocol-http\");\nconst smithy_client_1 = require(\"@smithy/smithy-client\");\nconst util_stream_1 = require(\"@smithy/util-stream\");\nfunction createGetRequest(url) {\n return new protocol_http_1.HttpRequest({\n protocol: url.protocol,\n hostname: url.hostname,\n port: Number(url.port),\n path: url.pathname,\n query: Array.from(url.searchParams.entries()).reduce((acc, [k, v]) => {\n acc[k] = v;\n return acc;\n }, {}),\n fragment: url.hash,\n });\n}\nasync function getCredentials(response, logger) {\n const stream = (0, util_stream_1.sdkStreamMixin)(response.body);\n const str = await stream.transformToString();\n if (response.statusCode === 200) {\n const parsed = JSON.parse(str);\n if (typeof parsed.AccessKeyId !== \"string\" ||\n typeof parsed.SecretAccessKey !== \"string\" ||\n typeof parsed.Token !== \"string\" ||\n typeof parsed.Expiration !== \"string\") {\n throw new property_provider_1.CredentialsProviderError(\"HTTP credential provider response not of the required format, an object matching: \" +\n \"{ AccessKeyId: string, SecretAccessKey: string, Token: string, Expiration: string(rfc3339) }\", { logger });\n }\n return {\n accessKeyId: parsed.AccessKeyId,\n secretAccessKey: parsed.SecretAccessKey,\n sessionToken: parsed.Token,\n expiration: (0, smithy_client_1.parseRfc3339DateTime)(parsed.Expiration),\n };\n }\n if (response.statusCode >= 400 && response.statusCode < 500) {\n let parsedBody = {};\n try {\n parsedBody = JSON.parse(str);\n }\n catch (e) { }\n throw Object.assign(new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger }), {\n Code: parsedBody.Code,\n Message: parsedBody.Message,\n });\n }\n throw new property_provider_1.CredentialsProviderError(`Server responded with status: ${response.statusCode}`, { logger });\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.retryWrapper = void 0;\nconst retryWrapper = (toRetry, maxRetries, delayMs) => {\n return async () => {\n for (let i = 0; i < maxRetries; ++i) {\n try {\n return await toRetry();\n }\n catch (e) {\n await new Promise((resolve) => setTimeout(resolve, delayMs));\n }\n }\n return await toRetry();\n };\n};\nexports.retryWrapper = retryWrapper;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromHttp = void 0;\nconst tslib_1 = require(\"tslib\");\nconst client_1 = require(\"@aws-sdk/core/client\");\nconst node_http_handler_1 = require(\"@smithy/node-http-handler\");\nconst property_provider_1 = require(\"@smithy/property-provider\");\nconst promises_1 = tslib_1.__importDefault(require(\"fs/promises\"));\nconst checkUrl_1 = require(\"./checkUrl\");\nconst requestHelpers_1 = require(\"./requestHelpers\");\nconst retry_wrapper_1 = require(\"./retry-wrapper\");\nconst AWS_CONTAINER_CREDENTIALS_RELATIVE_URI = \"AWS_CONTAINER_CREDENTIALS_RELATIVE_URI\";\nconst DEFAULT_LINK_LOCAL_HOST = \"http://169.254.170.2\";\nconst AWS_CONTAINER_CREDENTIALS_FULL_URI = \"AWS_CONTAINER_CREDENTIALS_FULL_URI\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE = \"AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE\";\nconst AWS_CONTAINER_AUTHORIZATION_TOKEN = \"AWS_CONTAINER_AUTHORIZATION_TOKEN\";\nconst fromHttp = (options = {}) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-http - fromHttp\");\n let host;\n const relative = options.awsContainerCredentialsRelativeUri ?? process.env[AWS_CONTAINER_CREDENTIALS_RELATIVE_URI];\n const full = options.awsContainerCredentialsFullUri ?? process.env[AWS_CONTAINER_CREDENTIALS_FULL_URI];\n const token = options.awsContainerAuthorizationToken ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN];\n const tokenFile = options.awsContainerAuthorizationTokenFile ?? process.env[AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE];\n const warn = options.logger?.constructor?.name === \"NoOpLogger\" || !options.logger?.warn\n ? console.warn\n : options.logger.warn.bind(options.logger);\n if (relative && full) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerCredentialsRelativeUri and awsContainerCredentialsFullUri.\");\n warn(\"awsContainerCredentialsFullUri will take precedence.\");\n }\n if (token && tokenFile) {\n warn(\"@aws-sdk/credential-provider-http: \" +\n \"you have set both awsContainerAuthorizationToken and awsContainerAuthorizationTokenFile.\");\n warn(\"awsContainerAuthorizationToken will take precedence.\");\n }\n if (full) {\n host = full;\n }\n else if (relative) {\n host = `${DEFAULT_LINK_LOCAL_HOST}${relative}`;\n }\n else {\n throw new property_provider_1.CredentialsProviderError(`No HTTP credential provider host provided.\nSet AWS_CONTAINER_CREDENTIALS_FULL_URI or AWS_CONTAINER_CREDENTIALS_RELATIVE_URI.`, { logger: options.logger });\n }\n const url = new URL(host);\n (0, checkUrl_1.checkUrl)(url, options.logger);\n const requestHandler = node_http_handler_1.NodeHttpHandler.create({\n requestTimeout: options.timeout ?? 1000,\n connectionTimeout: options.timeout ?? 1000,\n });\n return (0, retry_wrapper_1.retryWrapper)(async () => {\n const request = (0, requestHelpers_1.createGetRequest)(url);\n if (token) {\n request.headers.Authorization = token;\n }\n else if (tokenFile) {\n request.headers.Authorization = (await promises_1.default.readFile(tokenFile)).toString();\n }\n try {\n const result = await requestHandler.handle(request);\n return (0, requestHelpers_1.getCredentials)(result.response).then((creds) => (0, client_1.setCredentialFeature)(creds, \"CREDENTIALS_HTTP\", \"z\"));\n }\n catch (e) {\n throw new property_provider_1.CredentialsProviderError(String(e), { logger: options.logger });\n }\n }, options.maxRetries ?? 3, options.timeout ?? 1000);\n};\nexports.fromHttp = fromHttp;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromHttp = void 0;\nvar fromHttp_1 = require(\"./fromHttp/fromHttp\");\nObject.defineProperty(exports, \"fromHttp\", { enumerable: true, get: function () { return fromHttp_1.fromHttp; } });\n", "import { resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nexport const defaultSSOOIDCHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: getSmithyContext(context).operation,\n region: (await normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"sso-oauth\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nexport const defaultSSOOIDCHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"CreateToken\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexport const resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = resolveAwsSdkSigV4Config(config);\n return Object.assign(config_0, {\n authSchemePreference: normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n", "export const resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"sso-oauth\",\n });\n};\nexport const commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n", "{\n \"name\": \"@aws-sdk/nested-clients\",\n \"version\": \"3.982.0\",\n \"description\": \"Nested clients for AWS SDK packages.\",\n \"main\": \"./dist-cjs/index.js\",\n \"module\": \"./dist-es/index.js\",\n \"types\": \"./dist-types/index.d.ts\",\n \"scripts\": {\n \"build\": \"yarn lint && concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs\",\n \"build:cjs\": \"node ../../scripts/compilation/inline nested-clients\",\n \"build:es\": \"tsc -p tsconfig.es.json\",\n \"build:include:deps\": \"yarn g:turbo run build -F=\\\"$npm_package_name\\\"\",\n \"build:types\": \"tsc -p tsconfig.types.json\",\n \"build:types:downlevel\": \"downlevel-dts dist-types dist-types/ts3.4\",\n \"clean\": \"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo\",\n \"lint\": \"node ../../scripts/validation/submodules-linter.js --pkg nested-clients\",\n \"test\": \"yarn g:vitest run\",\n \"test:watch\": \"yarn g:vitest watch\"\n },\n \"engines\": {\n \"node\": \">=20.0.0\"\n },\n \"sideEffects\": false,\n \"author\": {\n \"name\": \"AWS SDK for JavaScript Team\",\n \"url\": \"https://aws.amazon.com/javascript/\"\n },\n \"license\": \"Apache-2.0\",\n \"dependencies\": {\n \"@aws-crypto/sha256-browser\": \"5.2.0\",\n \"@aws-crypto/sha256-js\": \"5.2.0\",\n \"@aws-sdk/core\": \"^3.973.6\",\n \"@aws-sdk/middleware-host-header\": \"^3.972.3\",\n \"@aws-sdk/middleware-logger\": \"^3.972.3\",\n \"@aws-sdk/middleware-recursion-detection\": \"^3.972.3\",\n \"@aws-sdk/middleware-user-agent\": \"^3.972.6\",\n \"@aws-sdk/region-config-resolver\": \"^3.972.3\",\n \"@aws-sdk/types\": \"^3.973.1\",\n \"@aws-sdk/util-endpoints\": \"3.982.0\",\n \"@aws-sdk/util-user-agent-browser\": \"^3.972.3\",\n \"@aws-sdk/util-user-agent-node\": \"^3.972.4\",\n \"@smithy/config-resolver\": \"^4.4.6\",\n \"@smithy/core\": \"^3.22.0\",\n \"@smithy/fetch-http-handler\": \"^5.3.9\",\n \"@smithy/hash-node\": \"^4.2.8\",\n \"@smithy/invalid-dependency\": \"^4.2.8\",\n \"@smithy/middleware-content-length\": \"^4.2.8\",\n \"@smithy/middleware-endpoint\": \"^4.4.12\",\n \"@smithy/middleware-retry\": \"^4.4.29\",\n \"@smithy/middleware-serde\": \"^4.2.9\",\n \"@smithy/middleware-stack\": \"^4.2.8\",\n \"@smithy/node-config-provider\": \"^4.3.8\",\n \"@smithy/node-http-handler\": \"^4.4.8\",\n \"@smithy/protocol-http\": \"^5.3.8\",\n \"@smithy/smithy-client\": \"^4.11.1\",\n \"@smithy/types\": \"^4.12.0\",\n \"@smithy/url-parser\": \"^4.2.8\",\n \"@smithy/util-base64\": \"^4.3.0\",\n \"@smithy/util-body-length-browser\": \"^4.2.0\",\n \"@smithy/util-body-length-node\": \"^4.2.1\",\n \"@smithy/util-defaults-mode-browser\": \"^4.3.28\",\n \"@smithy/util-defaults-mode-node\": \"^4.2.31\",\n \"@smithy/util-endpoints\": \"^3.2.8\",\n \"@smithy/util-middleware\": \"^4.2.8\",\n \"@smithy/util-retry\": \"^4.2.8\",\n \"@smithy/util-utf8\": \"^4.2.0\",\n \"tslib\": \"^2.6.2\"\n },\n \"devDependencies\": {\n \"concurrently\": \"7.0.0\",\n \"downlevel-dts\": \"0.10.1\",\n \"premove\": \"4.0.0\",\n \"typescript\": \"~5.8.3\"\n },\n \"typesVersions\": {\n \"<4.0\": {\n \"dist-types/*\": [\n \"dist-types/ts3.4/*\"\n ]\n }\n },\n \"files\": [\n \"./signin.d.ts\",\n \"./signin.js\",\n \"./sso-oidc.d.ts\",\n \"./sso-oidc.js\",\n \"./sts.d.ts\",\n \"./sts.js\",\n \"dist-*/**\"\n ],\n \"browser\": {\n \"./dist-es/submodules/signin/runtimeConfig\": \"./dist-es/submodules/signin/runtimeConfig.browser\",\n \"./dist-es/submodules/sso-oidc/runtimeConfig\": \"./dist-es/submodules/sso-oidc/runtimeConfig.browser\",\n \"./dist-es/submodules/sts/runtimeConfig\": \"./dist-es/submodules/sts/runtimeConfig.browser\"\n },\n \"react-native\": {},\n \"homepage\": \"https://github.com/aws/aws-sdk-js-v3/tree/main/packages/nested-clients\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/aws/aws-sdk-js-v3.git\",\n \"directory\": \"packages/nested-clients\"\n },\n \"exports\": {\n \"./package.json\": \"./package.json\",\n \"./sso-oidc\": {\n \"types\": \"./dist-types/submodules/sso-oidc/index.d.ts\",\n \"module\": \"./dist-es/submodules/sso-oidc/index.js\",\n \"node\": \"./dist-cjs/submodules/sso-oidc/index.js\",\n \"import\": \"./dist-es/submodules/sso-oidc/index.js\",\n \"require\": \"./dist-cjs/submodules/sso-oidc/index.js\"\n },\n \"./sts\": {\n \"types\": \"./dist-types/submodules/sts/index.d.ts\",\n \"module\": \"./dist-es/submodules/sts/index.js\",\n \"node\": \"./dist-cjs/submodules/sts/index.js\",\n \"import\": \"./dist-es/submodules/sts/index.js\",\n \"require\": \"./dist-cjs/submodules/sts/index.js\"\n },\n \"./signin\": {\n \"types\": \"./dist-types/submodules/signin/index.d.ts\",\n \"module\": \"./dist-es/submodules/signin/index.js\",\n \"node\": \"./dist-cjs/submodules/signin/index.js\",\n \"import\": \"./dist-es/submodules/signin/index.js\",\n \"require\": \"./dist-cjs/submodules/signin/index.js\"\n }\n }\n}\n", "'use strict';\n\nvar os = require('os');\nvar process = require('process');\nvar middlewareUserAgent = require('@aws-sdk/middleware-user-agent');\n\nconst crtAvailability = {\n isCrtAvailable: false,\n};\n\nconst isCrtAvailable = () => {\n if (crtAvailability.isCrtAvailable) {\n return [\"md/crt-avail\"];\n }\n return null;\n};\n\nconst createDefaultUserAgentProvider = ({ serviceId, clientVersion }) => {\n return async (config) => {\n const sections = [\n [\"aws-sdk-js\", clientVersion],\n [\"ua\", \"2.1\"],\n [`os/${os.platform()}`, os.release()],\n [\"lang/js\"],\n [\"md/nodejs\", `${process.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 (process.env.AWS_EXECUTION_ENV) {\n sections.push([`exec-env/${process.env.AWS_EXECUTION_ENV}`]);\n }\n const appId = await config?.userAgentAppId?.();\n const resolvedUserAgent = appId ? [...sections, [`app/${appId}`]] : [...sections];\n return resolvedUserAgent;\n };\n};\nconst defaultUserAgent = createDefaultUserAgentProvider;\n\nconst UA_APP_ID_ENV_NAME = \"AWS_SDK_UA_APP_ID\";\nconst UA_APP_ID_INI_NAME = \"sdk_ua_app_id\";\nconst UA_APP_ID_INI_NAME_DEPRECATED = \"sdk-ua-app-id\";\nconst 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: middlewareUserAgent.DEFAULT_UA_APP_ID,\n};\n\nexports.NODE_APP_ID_CONFIG_OPTIONS = NODE_APP_ID_CONFIG_OPTIONS;\nexports.UA_APP_ID_ENV_NAME = UA_APP_ID_ENV_NAME;\nexports.UA_APP_ID_INI_NAME = UA_APP_ID_INI_NAME;\nexports.createDefaultUserAgentProvider = createDefaultUserAgentProvider;\nexports.crtAvailability = crtAvailability;\nexports.defaultUserAgent = defaultUserAgent;\n", "'use strict';\n\nvar utilBufferFrom = require('@smithy/util-buffer-from');\nvar utilUtf8 = require('@smithy/util-utf8');\nvar buffer = require('buffer');\nvar crypto = require('crypto');\n\nclass Hash {\n algorithmIdentifier;\n secret;\n 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(utilUtf8.toUint8Array(castSourceData(toHash, encoding)));\n }\n digest() {\n return Promise.resolve(this.hash.digest());\n }\n reset() {\n this.hash = this.secret\n ? crypto.createHmac(this.algorithmIdentifier, castSourceData(this.secret))\n : crypto.createHash(this.algorithmIdentifier);\n }\n}\nfunction castSourceData(toCast, encoding) {\n if (buffer.Buffer.isBuffer(toCast)) {\n return toCast;\n }\n if (typeof toCast === \"string\") {\n return utilBufferFrom.fromString(toCast, encoding);\n }\n if (ArrayBuffer.isView(toCast)) {\n return utilBufferFrom.fromArrayBuffer(toCast.buffer, toCast.byteOffset, toCast.byteLength);\n }\n return utilBufferFrom.fromArrayBuffer(toCast);\n}\n\nexports.Hash = Hash;\n", "'use strict';\n\nvar node_fs = require('node:fs');\n\nconst 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 (body instanceof node_fs.ReadStream) {\n if (body.path != null) {\n return node_fs.lstatSync(body.path).size;\n }\n else if (typeof body.fd === \"number\") {\n return node_fs.fstatSync(body.fd).size;\n }\n }\n throw new Error(`Body Length computation failed for ${body}`);\n};\n\nexports.calculateBodyLength = calculateBodyLength;\n", "'use strict';\n\nvar configResolver = require('@smithy/config-resolver');\nvar nodeConfigProvider = require('@smithy/node-config-provider');\nvar propertyProvider = require('@smithy/property-provider');\n\nconst AWS_EXECUTION_ENV = \"AWS_EXECUTION_ENV\";\nconst AWS_REGION_ENV = \"AWS_REGION\";\nconst AWS_DEFAULT_REGION_ENV = \"AWS_DEFAULT_REGION\";\nconst ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nconst DEFAULTS_MODE_OPTIONS = [\"in-region\", \"cross-region\", \"mobile\", \"standard\", \"legacy\"];\nconst IMDS_REGION_PATH = \"/latest/meta-data/placement/region\";\n\nconst AWS_DEFAULTS_MODE_ENV = \"AWS_DEFAULTS_MODE\";\nconst AWS_DEFAULTS_MODE_CONFIG = \"defaults_mode\";\nconst 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\nconst resolveDefaultsModeConfig = ({ region = nodeConfigProvider.loadConfig(configResolver.NODE_REGION_CONFIG_OPTIONS), defaultsMode = nodeConfigProvider.loadConfig(NODE_DEFAULTS_MODE_CONFIG_OPTIONS), } = {}) => propertyProvider.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\nexports.resolveDefaultsModeConfig = resolveDefaultsModeConfig;\n", "const u = \"required\", v = \"fn\", w = \"argv\", x = \"ref\";\nconst a = true, b = \"isSet\", c = \"booleanEquals\", d = \"error\", e = \"endpoint\", f = \"tree\", g = \"PartitionResult\", h = \"getAttr\", i = { [u]: false, \"type\": \"string\" }, j = { [u]: true, \"default\": false, \"type\": \"boolean\" }, k = { [x]: \"Endpoint\" }, l = { [v]: c, [w]: [{ [x]: \"UseFIPS\" }, true] }, m = { [v]: c, [w]: [{ [x]: \"UseDualStack\" }, true] }, n = {}, o = { [v]: h, [w]: [{ [x]: g }, \"supportsFIPS\"] }, p = { [x]: g }, q = { [v]: c, [w]: [true, { [v]: h, [w]: [p, \"supportsDualStack\"] }] }, r = [l], s = [m], t = [{ [x]: \"Region\" }];\nconst _data = { version: \"1.0\", parameters: { Region: i, UseDualStack: j, UseFIPS: j, Endpoint: i }, rules: [{ conditions: [{ [v]: b, [w]: [k] }], rules: [{ conditions: r, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: d }, { conditions: s, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: d }, { endpoint: { url: k, properties: n, headers: n }, type: e }], type: f }, { conditions: [{ [v]: b, [w]: t }], rules: [{ conditions: [{ [v]: \"aws.partition\", [w]: t, assign: g }], rules: [{ conditions: [l, m], rules: [{ conditions: [{ [v]: c, [w]: [a, o] }, q], rules: [{ endpoint: { url: \"https://oidc-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: d }], type: f }, { conditions: r, rules: [{ conditions: [{ [v]: c, [w]: [o, a] }], rules: [{ conditions: [{ [v]: \"stringEquals\", [w]: [{ [v]: h, [w]: [p, \"name\"] }, \"aws-us-gov\"] }], endpoint: { url: \"https://oidc.{Region}.amazonaws.com\", properties: n, headers: n }, type: e }, { endpoint: { url: \"https://oidc-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: d }], type: f }, { conditions: s, rules: [{ conditions: [q], rules: [{ endpoint: { url: \"https://oidc.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: d }], type: f }, { endpoint: { url: \"https://oidc.{Region}.{PartitionResult#dnsSuffix}\", properties: n, headers: n }, type: e }], type: f }], type: f }, { error: \"Invalid Configuration: Missing Region\", type: d }] };\nexport const ruleSet = _data;\n", "import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, EndpointCache, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nconst cache = new EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n", "import { AwsSdkSigV4Signer } from \"@aws-sdk/core\";\nimport { AwsRestJsonProtocol } from \"@aws-sdk/core/protocols\";\nimport { NoAuthSigner } from \"@smithy/core\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { defaultSSOOIDCHttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? fromBase64,\n base64Encoder: config?.base64Encoder ?? toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSSOOIDCHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new NoOpLogger(),\n protocol: config?.protocol ?? AwsRestJsonProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.ssooidc\",\n version: \"2019-06-10\",\n serviceTarget: \"AWSSSOOIDCService\",\n },\n serviceId: config?.serviceId ?? \"SSO OIDC\",\n urlParser: config?.urlParser ?? parseUrl,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n", "import packageInfo from \"../../../package.json\";\nimport { emitWarningIfUnsupportedVersion as awsCheckVersion, NODE_AUTH_SCHEME_PREFERENCE_OPTIONS } from \"@aws-sdk/core\";\nimport { createDefaultUserAgentProvider, NODE_APP_ID_CONFIG_OPTIONS } from \"@aws-sdk/util-user-agent-node\";\nimport { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from \"@smithy/config-resolver\";\nimport { Hash } from \"@smithy/hash-node\";\nimport { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from \"@smithy/middleware-retry\";\nimport { loadConfig as loadNodeConfig } from \"@smithy/node-config-provider\";\nimport { NodeHttpHandler as RequestHandler, streamCollector } from \"@smithy/node-http-handler\";\nimport { emitWarningIfUnsupportedVersion, loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-node\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-node\";\nimport { DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nexport const getRuntimeConfig = (config) => {\n emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n awsCheckVersion(process.version);\n const loaderConfig = {\n profile: config?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config?.authSchemePreference ?? loadNodeConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config),\n region: config?.region ??\n loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ??\n loadNodeConfig({\n ...NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,\n }, config),\n sha256: config?.sha256 ?? Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config?.userAgentAppId ?? loadNodeConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.warning = void 0;\nexports.stsRegionDefaultResolver = stsRegionDefaultResolver;\nconst config_resolver_1 = require(\"@smithy/config-resolver\");\nconst node_config_provider_1 = require(\"@smithy/node-config-provider\");\nfunction stsRegionDefaultResolver(loaderConfig = {}) {\n return (0, node_config_provider_1.loadConfig)({\n ...config_resolver_1.NODE_REGION_CONFIG_OPTIONS,\n async default() {\n if (!exports.warning.silence) {\n console.warn(\"@aws-sdk - WARN - default STS region of us-east-1 used. See @aws-sdk/credential-providers README and set a region explicitly.\");\n }\n return \"us-east-1\";\n },\n }, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig });\n}\nexports.warning = {\n silence: false,\n};\n", "'use strict';\n\nvar stsRegionDefaultResolver = require('./regionConfig/stsRegionDefaultResolver');\nvar configResolver = require('@smithy/config-resolver');\n\nconst getAwsRegionExtensionConfiguration = (runtimeConfig) => {\n return {\n setRegion(region) {\n runtimeConfig.region = region;\n },\n region() {\n return runtimeConfig.region;\n },\n };\n};\nconst resolveAwsRegionExtensionConfiguration = (awsRegionExtensionConfiguration) => {\n return {\n region: awsRegionExtensionConfiguration.region(),\n };\n};\n\nObject.defineProperty(exports, \"NODE_REGION_CONFIG_FILE_OPTIONS\", {\n enumerable: true,\n get: function () { return configResolver.NODE_REGION_CONFIG_FILE_OPTIONS; }\n});\nObject.defineProperty(exports, \"NODE_REGION_CONFIG_OPTIONS\", {\n enumerable: true,\n get: function () { return configResolver.NODE_REGION_CONFIG_OPTIONS; }\n});\nObject.defineProperty(exports, \"REGION_ENV_NAME\", {\n enumerable: true,\n get: function () { return configResolver.REGION_ENV_NAME; }\n});\nObject.defineProperty(exports, \"REGION_INI_NAME\", {\n enumerable: true,\n get: function () { return configResolver.REGION_INI_NAME; }\n});\nObject.defineProperty(exports, \"resolveRegionConfig\", {\n enumerable: true,\n get: function () { return configResolver.resolveRegionConfig; }\n});\nexports.getAwsRegionExtensionConfiguration = getAwsRegionExtensionConfiguration;\nexports.resolveAwsRegionExtensionConfiguration = resolveAwsRegionExtensionConfiguration;\nObject.keys(stsRegionDefaultResolver).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return stsRegionDefaultResolver[k]; }\n });\n});\n", "export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nexport const resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n", "import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from \"@aws-sdk/region-config-resolver\";\nimport { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from \"@smithy/protocol-http\";\nimport { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from \"@smithy/smithy-client\";\nimport { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from \"./auth/httpAuthExtensionConfiguration\";\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n", "import { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { resolveRegionConfig } from \"@smithy/config-resolver\";\nimport { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from \"@smithy/core\";\nimport { getSchemaSerdePlugin } from \"@smithy/core/schema\";\nimport { getContentLengthPlugin } from \"@smithy/middleware-content-length\";\nimport { resolveEndpointConfig, } from \"@smithy/middleware-endpoint\";\nimport { getRetryPlugin, resolveRetryConfig, } from \"@smithy/middleware-retry\";\nimport { Client as __Client, } from \"@smithy/smithy-client\";\nimport { defaultSSOOIDCHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class SSOOIDCClient extends __Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = resolveUserAgentConfig(_config_1);\n const _config_3 = resolveRetryConfig(_config_2);\n const _config_4 = resolveRegionConfig(_config_3);\n const _config_5 = resolveHostHeaderConfig(_config_4);\n const _config_6 = resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultSSOOIDCHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n", "import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class SSOOIDCServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOOIDCServiceException.prototype);\n }\n}\n", "import { SSOOIDCServiceException as __BaseException } from \"./SSOOIDCServiceException\";\nexport class AccessDeniedException extends __BaseException {\n name = \"AccessDeniedException\";\n $fault = \"client\";\n error;\n reason;\n error_description;\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n this.error = opts.error;\n this.reason = opts.reason;\n this.error_description = opts.error_description;\n }\n}\nexport class AuthorizationPendingException extends __BaseException {\n name = \"AuthorizationPendingException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"AuthorizationPendingException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AuthorizationPendingException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class ExpiredTokenException extends __BaseException {\n name = \"ExpiredTokenException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"ExpiredTokenException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ExpiredTokenException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class InternalServerException extends __BaseException {\n name = \"InternalServerException\";\n $fault = \"server\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n Object.setPrototypeOf(this, InternalServerException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class InvalidClientException extends __BaseException {\n name = \"InvalidClientException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidClientException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class InvalidGrantException extends __BaseException {\n name = \"InvalidGrantException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidGrantException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidGrantException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class InvalidRequestException extends __BaseException {\n name = \"InvalidRequestException\";\n $fault = \"client\";\n error;\n reason;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n this.error = opts.error;\n this.reason = opts.reason;\n this.error_description = opts.error_description;\n }\n}\nexport class InvalidScopeException extends __BaseException {\n name = \"InvalidScopeException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"InvalidScopeException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidScopeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class SlowDownException extends __BaseException {\n name = \"SlowDownException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"SlowDownException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, SlowDownException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class UnauthorizedClientException extends __BaseException {\n name = \"UnauthorizedClientException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"UnauthorizedClientException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, UnauthorizedClientException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\nexport class UnsupportedGrantTypeException extends __BaseException {\n name = \"UnsupportedGrantTypeException\";\n $fault = \"client\";\n error;\n error_description;\n constructor(opts) {\n super({\n name: \"UnsupportedGrantTypeException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, UnsupportedGrantTypeException.prototype);\n this.error = opts.error;\n this.error_description = opts.error_description;\n }\n}\n", "const _ADE = \"AccessDeniedException\";\nconst _APE = \"AuthorizationPendingException\";\nconst _AT = \"AccessToken\";\nconst _CS = \"ClientSecret\";\nconst _CT = \"CreateToken\";\nconst _CTR = \"CreateTokenRequest\";\nconst _CTRr = \"CreateTokenResponse\";\nconst _CV = \"CodeVerifier\";\nconst _ETE = \"ExpiredTokenException\";\nconst _ICE = \"InvalidClientException\";\nconst _IGE = \"InvalidGrantException\";\nconst _IRE = \"InvalidRequestException\";\nconst _ISE = \"InternalServerException\";\nconst _ISEn = \"InvalidScopeException\";\nconst _IT = \"IdToken\";\nconst _RT = \"RefreshToken\";\nconst _SDE = \"SlowDownException\";\nconst _UCE = \"UnauthorizedClientException\";\nconst _UGTE = \"UnsupportedGrantTypeException\";\nconst _aT = \"accessToken\";\nconst _c = \"client\";\nconst _cI = \"clientId\";\nconst _cS = \"clientSecret\";\nconst _cV = \"codeVerifier\";\nconst _co = \"code\";\nconst _dC = \"deviceCode\";\nconst _e = \"error\";\nconst _eI = \"expiresIn\";\nconst _ed = \"error_description\";\nconst _gT = \"grantType\";\nconst _h = \"http\";\nconst _hE = \"httpError\";\nconst _iT = \"idToken\";\nconst _r = \"reason\";\nconst _rT = \"refreshToken\";\nconst _rU = \"redirectUri\";\nconst _s = \"scope\";\nconst _se = \"server\";\nconst _sm = \"smithy.ts.sdk.synthetic.com.amazonaws.ssooidc\";\nconst _tT = \"tokenType\";\nconst n0 = \"com.amazonaws.ssooidc\";\nimport { TypeRegistry } from \"@smithy/core/schema\";\nimport { AccessDeniedException, AuthorizationPendingException, ExpiredTokenException, InternalServerException, InvalidClientException, InvalidGrantException, InvalidRequestException, InvalidScopeException, SlowDownException, UnauthorizedClientException, UnsupportedGrantTypeException, } from \"../models/errors\";\nimport { SSOOIDCServiceException } from \"../models/SSOOIDCServiceException\";\nvar AccessToken = [0, n0, _AT, 8, 0];\nvar ClientSecret = [0, n0, _CS, 8, 0];\nvar CodeVerifier = [0, n0, _CV, 8, 0];\nvar IdToken = [0, n0, _IT, 8, 0];\nvar RefreshToken = [0, n0, _RT, 8, 0];\nexport var AccessDeniedException$ = [\n -3,\n n0,\n _ADE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _r, _ed],\n [0, 0, 0],\n];\nTypeRegistry.for(n0).registerError(AccessDeniedException$, AccessDeniedException);\nexport var AuthorizationPendingException$ = [\n -3,\n n0,\n _APE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _ed],\n [0, 0],\n];\nTypeRegistry.for(n0).registerError(AuthorizationPendingException$, AuthorizationPendingException);\nexport var CreateTokenRequest$ = [\n 3,\n n0,\n _CTR,\n 0,\n [_cI, _cS, _gT, _dC, _co, _rT, _s, _rU, _cV],\n [0, [() => ClientSecret, 0], 0, 0, 0, [() => RefreshToken, 0], 64 | 0, 0, [() => CodeVerifier, 0]],\n 3,\n];\nexport var CreateTokenResponse$ = [\n 3,\n n0,\n _CTRr,\n 0,\n [_aT, _tT, _eI, _rT, _iT],\n [[() => AccessToken, 0], 0, 1, [() => RefreshToken, 0], [() => IdToken, 0]],\n];\nexport var ExpiredTokenException$ = [-3, n0, _ETE, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nTypeRegistry.for(n0).registerError(ExpiredTokenException$, ExpiredTokenException);\nexport var InternalServerException$ = [-3, n0, _ISE, { [_e]: _se, [_hE]: 500 }, [_e, _ed], [0, 0]];\nTypeRegistry.for(n0).registerError(InternalServerException$, InternalServerException);\nexport var InvalidClientException$ = [-3, n0, _ICE, { [_e]: _c, [_hE]: 401 }, [_e, _ed], [0, 0]];\nTypeRegistry.for(n0).registerError(InvalidClientException$, InvalidClientException);\nexport var InvalidGrantException$ = [-3, n0, _IGE, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nTypeRegistry.for(n0).registerError(InvalidGrantException$, InvalidGrantException);\nexport var InvalidRequestException$ = [\n -3,\n n0,\n _IRE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _r, _ed],\n [0, 0, 0],\n];\nTypeRegistry.for(n0).registerError(InvalidRequestException$, InvalidRequestException);\nexport var InvalidScopeException$ = [-3, n0, _ISEn, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nTypeRegistry.for(n0).registerError(InvalidScopeException$, InvalidScopeException);\nexport var SlowDownException$ = [-3, n0, _SDE, { [_e]: _c, [_hE]: 400 }, [_e, _ed], [0, 0]];\nTypeRegistry.for(n0).registerError(SlowDownException$, SlowDownException);\nexport var UnauthorizedClientException$ = [\n -3,\n n0,\n _UCE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _ed],\n [0, 0],\n];\nTypeRegistry.for(n0).registerError(UnauthorizedClientException$, UnauthorizedClientException);\nexport var UnsupportedGrantTypeException$ = [\n -3,\n n0,\n _UGTE,\n { [_e]: _c, [_hE]: 400 },\n [_e, _ed],\n [0, 0],\n];\nTypeRegistry.for(n0).registerError(UnsupportedGrantTypeException$, UnsupportedGrantTypeException);\nexport var SSOOIDCServiceException$ = [-3, _sm, \"SSOOIDCServiceException\", 0, [], []];\nTypeRegistry.for(_sm).registerError(SSOOIDCServiceException$, SSOOIDCServiceException);\nvar Scopes = 64 | 0;\nexport var CreateToken$ = [\n 9,\n n0,\n _CT,\n { [_h]: [\"POST\", \"/token\", 200] },\n () => CreateTokenRequest$,\n () => CreateTokenResponse$,\n];\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateToken$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateTokenCommand extends $Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AWSSSOOIDCService\", \"CreateToken\", {})\n .n(\"SSOOIDCClient\", \"CreateTokenCommand\")\n .sc(CreateToken$)\n .build() {\n}\n", "import { createAggregatedClient } from \"@smithy/smithy-client\";\nimport { CreateTokenCommand } from \"./commands/CreateTokenCommand\";\nimport { SSOOIDCClient } from \"./SSOOIDCClient\";\nconst commands = {\n CreateTokenCommand,\n};\nexport class SSOOIDC extends SSOOIDCClient {\n}\ncreateAggregatedClient(commands, SSOOIDC);\n", "export * from \"./CreateTokenCommand\";\n", "export const AccessDeniedExceptionReason = {\n KMS_ACCESS_DENIED: \"KMS_AccessDeniedException\",\n};\nexport const InvalidRequestExceptionReason = {\n KMS_DISABLED_KEY: \"KMS_DisabledException\",\n KMS_INVALID_KEY_USAGE: \"KMS_InvalidKeyUsageException\",\n KMS_INVALID_STATE: \"KMS_InvalidStateException\",\n KMS_KEY_NOT_FOUND: \"KMS_NotFoundException\",\n};\n", "export {};\n", "export * from \"./SSOOIDCClient\";\nexport * from \"./SSOOIDC\";\nexport * from \"./commands\";\nexport * from \"./schemas/schemas_0\";\nexport * from \"./models/enums\";\nexport * from \"./models/errors\";\nexport * from \"./models/models_0\";\nexport { SSOOIDCServiceException } from \"./models/SSOOIDCServiceException\";\n", "'use strict';\n\nvar client = require('@aws-sdk/core/client');\nvar httpAuthSchemes = require('@aws-sdk/core/httpAuthSchemes');\nvar propertyProvider = require('@smithy/property-provider');\nvar sharedIniFileLoader = require('@smithy/shared-ini-file-loader');\nvar fs = require('fs');\n\nconst fromEnvSigningName = ({ logger, signingName } = {}) => async () => {\n logger?.debug?.(\"@aws-sdk/token-providers - fromEnvSigningName\");\n if (!signingName) {\n throw new propertyProvider.TokenProviderError(\"Please pass 'signingName' to compute environment variable key\", { logger });\n }\n const bearerTokenKey = httpAuthSchemes.getBearerTokenEnvKey(signingName);\n if (!(bearerTokenKey in process.env)) {\n throw new propertyProvider.TokenProviderError(`Token not present in '${bearerTokenKey}' environment variable`, { logger });\n }\n const token = { token: process.env[bearerTokenKey] };\n client.setTokenFeature(token, \"BEARER_SERVICE_ENV_VARS\", \"3\");\n return token;\n};\n\nconst EXPIRE_WINDOW_MS = 5 * 60 * 1000;\nconst REFRESH_MESSAGE = `To refresh this SSO session run 'aws sso login' with the corresponding profile.`;\n\nconst getSsoOidcClient = async (ssoRegion, init = {}, callerClientConfig) => {\n const { SSOOIDCClient } = await import('@aws-sdk/nested-clients/sso-oidc');\n const coalesce = (prop) => init.clientConfig?.[prop] ?? init.parentClientConfig?.[prop] ?? callerClientConfig?.[prop];\n const ssoOidcClient = new SSOOIDCClient(Object.assign({}, init.clientConfig ?? {}, {\n region: ssoRegion ?? init.clientConfig?.region,\n logger: coalesce(\"logger\"),\n userAgentAppId: coalesce(\"userAgentAppId\"),\n }));\n return ssoOidcClient;\n};\n\nconst getNewSsoOidcToken = async (ssoToken, ssoRegion, init = {}, callerClientConfig) => {\n const { CreateTokenCommand } = await import('@aws-sdk/nested-clients/sso-oidc');\n const ssoOidcClient = await getSsoOidcClient(ssoRegion, init, callerClientConfig);\n return ssoOidcClient.send(new CreateTokenCommand({\n clientId: ssoToken.clientId,\n clientSecret: ssoToken.clientSecret,\n refreshToken: ssoToken.refreshToken,\n grantType: \"refresh_token\",\n }));\n};\n\nconst validateTokenExpiry = (token) => {\n if (token.expiration && token.expiration.getTime() < Date.now()) {\n throw new propertyProvider.TokenProviderError(`Token is expired. ${REFRESH_MESSAGE}`, false);\n }\n};\n\nconst validateTokenKey = (key, value, forRefresh = false) => {\n if (typeof value === \"undefined\") {\n throw new propertyProvider.TokenProviderError(`Value not present for '${key}' in SSO Token${forRefresh ? \". Cannot refresh\" : \"\"}. ${REFRESH_MESSAGE}`, false);\n }\n};\n\nconst { writeFile } = fs.promises;\nconst writeSSOTokenToFile = (id, ssoToken) => {\n const tokenFilepath = sharedIniFileLoader.getSSOTokenFilepath(id);\n const tokenString = JSON.stringify(ssoToken, null, 2);\n return writeFile(tokenFilepath, tokenString);\n};\n\nconst lastRefreshAttemptTime = new Date(0);\nconst fromSso = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/token-providers - fromSso\");\n const profiles = await sharedIniFileLoader.parseKnownFiles(init);\n const profileName = sharedIniFileLoader.getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n });\n const profile = profiles[profileName];\n if (!profile) {\n throw new propertyProvider.TokenProviderError(`Profile '${profileName}' could not be found in shared credentials file.`, false);\n }\n else if (!profile[\"sso_session\"]) {\n throw new propertyProvider.TokenProviderError(`Profile '${profileName}' is missing required property 'sso_session'.`);\n }\n const ssoSessionName = profile[\"sso_session\"];\n const ssoSessions = await sharedIniFileLoader.loadSsoSessionData(init);\n const ssoSession = ssoSessions[ssoSessionName];\n if (!ssoSession) {\n throw new propertyProvider.TokenProviderError(`Sso session '${ssoSessionName}' could not be found in shared credentials file.`, false);\n }\n for (const ssoSessionRequiredKey of [\"sso_start_url\", \"sso_region\"]) {\n if (!ssoSession[ssoSessionRequiredKey]) {\n throw new propertyProvider.TokenProviderError(`Sso session '${ssoSessionName}' is missing required property '${ssoSessionRequiredKey}'.`, false);\n }\n }\n ssoSession[\"sso_start_url\"];\n const ssoRegion = ssoSession[\"sso_region\"];\n let ssoToken;\n try {\n ssoToken = await sharedIniFileLoader.getSSOTokenFromFile(ssoSessionName);\n }\n catch (e) {\n throw new propertyProvider.TokenProviderError(`The SSO session token associated with profile=${profileName} was not found or is invalid. ${REFRESH_MESSAGE}`, false);\n }\n validateTokenKey(\"accessToken\", ssoToken.accessToken);\n validateTokenKey(\"expiresAt\", ssoToken.expiresAt);\n const { accessToken, expiresAt } = ssoToken;\n const existingToken = { token: accessToken, expiration: new Date(expiresAt) };\n if (existingToken.expiration.getTime() - Date.now() > EXPIRE_WINDOW_MS) {\n return existingToken;\n }\n if (Date.now() - lastRefreshAttemptTime.getTime() < 30 * 1000) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n validateTokenKey(\"clientId\", ssoToken.clientId, true);\n validateTokenKey(\"clientSecret\", ssoToken.clientSecret, true);\n validateTokenKey(\"refreshToken\", ssoToken.refreshToken, true);\n try {\n lastRefreshAttemptTime.setTime(Date.now());\n const newSsoOidcToken = await getNewSsoOidcToken(ssoToken, ssoRegion, init, callerClientConfig);\n validateTokenKey(\"accessToken\", newSsoOidcToken.accessToken);\n validateTokenKey(\"expiresIn\", newSsoOidcToken.expiresIn);\n const newTokenExpiration = new Date(Date.now() + newSsoOidcToken.expiresIn * 1000);\n try {\n await writeSSOTokenToFile(ssoSessionName, {\n ...ssoToken,\n accessToken: newSsoOidcToken.accessToken,\n expiresAt: newTokenExpiration.toISOString(),\n refreshToken: newSsoOidcToken.refreshToken,\n });\n }\n catch (error) {\n }\n return {\n token: newSsoOidcToken.accessToken,\n expiration: newTokenExpiration,\n };\n }\n catch (error) {\n validateTokenExpiry(existingToken);\n return existingToken;\n }\n};\n\nconst fromStatic = ({ token, logger }) => async () => {\n logger?.debug(\"@aws-sdk/token-providers - fromStatic\");\n if (!token || !token.token) {\n throw new propertyProvider.TokenProviderError(`Please pass a valid token to fromStatic`, false);\n }\n return token;\n};\n\nconst nodeProvider = (init = {}) => propertyProvider.memoize(propertyProvider.chain(fromSso(init), async () => {\n throw new propertyProvider.TokenProviderError(\"Could not load token from any providers\", false);\n}), (token) => token.expiration !== undefined && token.expiration.getTime() - Date.now() < 300000, (token) => token.expiration !== undefined);\n\nexports.fromEnvSigningName = fromEnvSigningName;\nexports.fromSso = fromSso;\nexports.fromStatic = fromStatic;\nexports.nodeProvider = nodeProvider;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveHttpAuthSchemeConfig = exports.defaultSSOHttpAuthSchemeProvider = exports.defaultSSOHttpAuthSchemeParametersProvider = void 0;\nconst core_1 = require(\"@aws-sdk/core\");\nconst util_middleware_1 = require(\"@smithy/util-middleware\");\nconst defaultSSOHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: (0, util_middleware_1.getSmithyContext)(context).operation,\n region: await (0, util_middleware_1.normalizeProvider)(config.region)() || (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nexports.defaultSSOHttpAuthSchemeParametersProvider = defaultSSOHttpAuthSchemeParametersProvider;\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"awsssoportal\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nconst defaultSSOHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"GetRoleCredentials\":\n {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n ;\n case \"ListAccountRoles\":\n {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n ;\n case \"ListAccounts\":\n {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n ;\n case \"Logout\":\n {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n ;\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexports.defaultSSOHttpAuthSchemeProvider = defaultSSOHttpAuthSchemeProvider;\nconst resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = (0, core_1.resolveAwsSdkSigV4Config)(config);\n return Object.assign(config_0, {\n authSchemePreference: (0, util_middleware_1.normalizeProvider)(config.authSchemePreference ?? []),\n });\n};\nexports.resolveHttpAuthSchemeConfig = resolveHttpAuthSchemeConfig;\n", "{\n \"name\": \"@aws-sdk/client-sso\",\n \"description\": \"AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native\",\n \"version\": \"3.982.0\",\n \"scripts\": {\n \"build\": \"concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs\",\n \"build:cjs\": \"node ../../scripts/compilation/inline client-sso\",\n \"build:es\": \"tsc -p tsconfig.es.json\",\n \"build:include:deps\": \"yarn g:turbo run build -F=\\\"$npm_package_name\\\"\",\n \"build:types\": \"tsc -p tsconfig.types.json\",\n \"build:types:downlevel\": \"downlevel-dts dist-types dist-types/ts3.4\",\n \"clean\": \"premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo\",\n \"extract:docs\": \"api-extractor run --local\",\n \"generate:client\": \"node ../../scripts/generate-clients/single-service --solo sso\",\n \"test:index\": \"tsc --noEmit ./test/index-types.ts && node ./test/index-objects.spec.mjs\"\n },\n \"main\": \"./dist-cjs/index.js\",\n \"types\": \"./dist-types/index.d.ts\",\n \"module\": \"./dist-es/index.js\",\n \"sideEffects\": false,\n \"dependencies\": {\n \"@aws-crypto/sha256-browser\": \"5.2.0\",\n \"@aws-crypto/sha256-js\": \"5.2.0\",\n \"@aws-sdk/core\": \"^3.973.6\",\n \"@aws-sdk/middleware-host-header\": \"^3.972.3\",\n \"@aws-sdk/middleware-logger\": \"^3.972.3\",\n \"@aws-sdk/middleware-recursion-detection\": \"^3.972.3\",\n \"@aws-sdk/middleware-user-agent\": \"^3.972.6\",\n \"@aws-sdk/region-config-resolver\": \"^3.972.3\",\n \"@aws-sdk/types\": \"^3.973.1\",\n \"@aws-sdk/util-endpoints\": \"3.982.0\",\n \"@aws-sdk/util-user-agent-browser\": \"^3.972.3\",\n \"@aws-sdk/util-user-agent-node\": \"^3.972.4\",\n \"@smithy/config-resolver\": \"^4.4.6\",\n \"@smithy/core\": \"^3.22.0\",\n \"@smithy/fetch-http-handler\": \"^5.3.9\",\n \"@smithy/hash-node\": \"^4.2.8\",\n \"@smithy/invalid-dependency\": \"^4.2.8\",\n \"@smithy/middleware-content-length\": \"^4.2.8\",\n \"@smithy/middleware-endpoint\": \"^4.4.12\",\n \"@smithy/middleware-retry\": \"^4.4.29\",\n \"@smithy/middleware-serde\": \"^4.2.9\",\n \"@smithy/middleware-stack\": \"^4.2.8\",\n \"@smithy/node-config-provider\": \"^4.3.8\",\n \"@smithy/node-http-handler\": \"^4.4.8\",\n \"@smithy/protocol-http\": \"^5.3.8\",\n \"@smithy/smithy-client\": \"^4.11.1\",\n \"@smithy/types\": \"^4.12.0\",\n \"@smithy/url-parser\": \"^4.2.8\",\n \"@smithy/util-base64\": \"^4.3.0\",\n \"@smithy/util-body-length-browser\": \"^4.2.0\",\n \"@smithy/util-body-length-node\": \"^4.2.1\",\n \"@smithy/util-defaults-mode-browser\": \"^4.3.28\",\n \"@smithy/util-defaults-mode-node\": \"^4.2.31\",\n \"@smithy/util-endpoints\": \"^3.2.8\",\n \"@smithy/util-middleware\": \"^4.2.8\",\n \"@smithy/util-retry\": \"^4.2.8\",\n \"@smithy/util-utf8\": \"^4.2.0\",\n \"tslib\": \"^2.6.2\"\n },\n \"devDependencies\": {\n \"@tsconfig/node20\": \"20.1.8\",\n \"@types/node\": \"^20.14.8\",\n \"concurrently\": \"7.0.0\",\n \"downlevel-dts\": \"0.10.1\",\n \"premove\": \"4.0.0\",\n \"typescript\": \"~5.8.3\"\n },\n \"engines\": {\n \"node\": \">=20.0.0\"\n },\n \"typesVersions\": {\n \"<4.0\": {\n \"dist-types/*\": [\n \"dist-types/ts3.4/*\"\n ]\n }\n },\n \"files\": [\n \"dist-*/**\"\n ],\n \"author\": {\n \"name\": \"AWS SDK for JavaScript Team\",\n \"url\": \"https://aws.amazon.com/javascript/\"\n },\n \"license\": \"Apache-2.0\",\n \"browser\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.browser\"\n },\n \"react-native\": {\n \"./dist-es/runtimeConfig\": \"./dist-es/runtimeConfig.native\"\n },\n \"homepage\": \"https://github.com/aws/aws-sdk-js-v3/tree/main/clients/client-sso\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/aws/aws-sdk-js-v3.git\",\n \"directory\": \"clients/client-sso\"\n }\n}\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ruleSet = void 0;\nconst u = \"required\", v = \"fn\", w = \"argv\", x = \"ref\";\nconst a = true, b = \"isSet\", c = \"booleanEquals\", d = \"error\", e = \"endpoint\", f = \"tree\", g = \"PartitionResult\", h = \"getAttr\", i = { [u]: false, \"type\": \"string\" }, j = { [u]: true, \"default\": false, \"type\": \"boolean\" }, k = { [x]: \"Endpoint\" }, l = { [v]: c, [w]: [{ [x]: \"UseFIPS\" }, true] }, m = { [v]: c, [w]: [{ [x]: \"UseDualStack\" }, true] }, n = {}, o = { [v]: h, [w]: [{ [x]: g }, \"supportsFIPS\"] }, p = { [x]: g }, q = { [v]: c, [w]: [true, { [v]: h, [w]: [p, \"supportsDualStack\"] }] }, r = [l], s = [m], t = [{ [x]: \"Region\" }];\nconst _data = { version: \"1.0\", parameters: { Region: i, UseDualStack: j, UseFIPS: j, Endpoint: i }, rules: [{ conditions: [{ [v]: b, [w]: [k] }], rules: [{ conditions: r, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: d }, { conditions: s, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: d }, { endpoint: { url: k, properties: n, headers: n }, type: e }], type: f }, { conditions: [{ [v]: b, [w]: t }], rules: [{ conditions: [{ [v]: \"aws.partition\", [w]: t, assign: g }], rules: [{ conditions: [l, m], rules: [{ conditions: [{ [v]: c, [w]: [a, o] }, q], rules: [{ endpoint: { url: \"https://portal.sso-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: d }], type: f }, { conditions: r, rules: [{ conditions: [{ [v]: c, [w]: [o, a] }], rules: [{ conditions: [{ [v]: \"stringEquals\", [w]: [{ [v]: h, [w]: [p, \"name\"] }, \"aws-us-gov\"] }], endpoint: { url: \"https://portal.sso.{Region}.amazonaws.com\", properties: n, headers: n }, type: e }, { endpoint: { url: \"https://portal.sso-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: d }], type: f }, { conditions: s, rules: [{ conditions: [q], rules: [{ endpoint: { url: \"https://portal.sso.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: d }], type: f }, { endpoint: { url: \"https://portal.sso.{Region}.{PartitionResult#dnsSuffix}\", properties: n, headers: n }, type: e }], type: f }], type: f }, { error: \"Invalid Configuration: Missing Region\", type: d }] };\nexports.ruleSet = _data;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEndpointResolver = void 0;\nconst util_endpoints_1 = require(\"@aws-sdk/util-endpoints\");\nconst util_endpoints_2 = require(\"@smithy/util-endpoints\");\nconst ruleset_1 = require(\"./ruleset\");\nconst cache = new util_endpoints_2.EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\nexports.defaultEndpointResolver = defaultEndpointResolver;\nutil_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst core_1 = require(\"@aws-sdk/core\");\nconst protocols_1 = require(\"@aws-sdk/core/protocols\");\nconst core_2 = require(\"@smithy/core\");\nconst smithy_client_1 = require(\"@smithy/smithy-client\");\nconst url_parser_1 = require(\"@smithy/url-parser\");\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst httpAuthSchemeProvider_1 = require(\"./auth/httpAuthSchemeProvider\");\nconst endpointResolver_1 = require(\"./endpoint/endpointResolver\");\nconst getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2019-06-10\",\n base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64,\n base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSSOHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new core_1.AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new core_2.NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new smithy_client_1.NoOpLogger(),\n protocol: config?.protocol ?? protocols_1.AwsRestJsonProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.sso\",\n version: \"2019-06-10\",\n serviceTarget: \"SWBPortalService\",\n },\n serviceId: config?.serviceId ?? \"SSO\",\n urlParser: config?.urlParser ?? url_parser_1.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8,\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst tslib_1 = require(\"tslib\");\nconst package_json_1 = tslib_1.__importDefault(require(\"../package.json\"));\nconst core_1 = require(\"@aws-sdk/core\");\nconst util_user_agent_node_1 = require(\"@aws-sdk/util-user-agent-node\");\nconst config_resolver_1 = require(\"@smithy/config-resolver\");\nconst hash_node_1 = require(\"@smithy/hash-node\");\nconst middleware_retry_1 = require(\"@smithy/middleware-retry\");\nconst node_config_provider_1 = require(\"@smithy/node-config-provider\");\nconst node_http_handler_1 = require(\"@smithy/node-http-handler\");\nconst smithy_client_1 = require(\"@smithy/smithy-client\");\nconst util_body_length_node_1 = require(\"@smithy/util-body-length-node\");\nconst util_defaults_mode_node_1 = require(\"@smithy/util-defaults-mode-node\");\nconst util_retry_1 = require(\"@smithy/util-retry\");\nconst runtimeConfig_shared_1 = require(\"./runtimeConfig.shared\");\nconst getRuntimeConfig = (config) => {\n (0, smithy_client_1.emitWarningIfUnsupportedVersion)(process.version);\n const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config);\n const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);\n const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config);\n (0, core_1.emitWarningIfUnsupportedVersion)(process.version);\n const loaderConfig = {\n profile: config?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config?.authSchemePreference ?? (0, node_config_provider_1.loadConfig)(core_1.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.createDefaultUserAgentProvider)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),\n maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config),\n region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: node_http_handler_1.NodeHttpHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ??\n (0, node_config_provider_1.loadConfig)({\n ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE,\n }, config),\n sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config?.userAgentAppId ?? (0, node_config_provider_1.loadConfig)(util_user_agent_node_1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n", "'use strict';\n\nvar middlewareHostHeader = require('@aws-sdk/middleware-host-header');\nvar middlewareLogger = require('@aws-sdk/middleware-logger');\nvar middlewareRecursionDetection = require('@aws-sdk/middleware-recursion-detection');\nvar middlewareUserAgent = require('@aws-sdk/middleware-user-agent');\nvar configResolver = require('@smithy/config-resolver');\nvar core = require('@smithy/core');\nvar schema = require('@smithy/core/schema');\nvar middlewareContentLength = require('@smithy/middleware-content-length');\nvar middlewareEndpoint = require('@smithy/middleware-endpoint');\nvar middlewareRetry = require('@smithy/middleware-retry');\nvar smithyClient = require('@smithy/smithy-client');\nvar httpAuthSchemeProvider = require('./auth/httpAuthSchemeProvider');\nvar runtimeConfig = require('./runtimeConfig');\nvar regionConfigResolver = require('@aws-sdk/region-config-resolver');\nvar protocolHttp = require('@smithy/protocol-http');\n\nconst resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"awsssoportal\",\n });\n};\nconst commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n\nconst getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nconst resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n\nconst resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(regionConfigResolver.getAwsRegionExtensionConfiguration(runtimeConfig), smithyClient.getDefaultExtensionConfiguration(runtimeConfig), protocolHttp.getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, regionConfigResolver.resolveAwsRegionExtensionConfiguration(extensionConfiguration), smithyClient.resolveDefaultRuntimeConfig(extensionConfiguration), protocolHttp.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n\nclass SSOClient extends smithyClient.Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = runtimeConfig.getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = middlewareUserAgent.resolveUserAgentConfig(_config_1);\n const _config_3 = middlewareRetry.resolveRetryConfig(_config_2);\n const _config_4 = configResolver.resolveRegionConfig(_config_3);\n const _config_5 = middlewareHostHeader.resolveHostHeaderConfig(_config_4);\n const _config_6 = middlewareEndpoint.resolveEndpointConfig(_config_5);\n const _config_7 = httpAuthSchemeProvider.resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(middlewareUserAgent.getUserAgentPlugin(this.config));\n this.middlewareStack.use(middlewareRetry.getRetryPlugin(this.config));\n this.middlewareStack.use(middlewareContentLength.getContentLengthPlugin(this.config));\n this.middlewareStack.use(middlewareHostHeader.getHostHeaderPlugin(this.config));\n this.middlewareStack.use(middlewareLogger.getLoggerPlugin(this.config));\n this.middlewareStack.use(middlewareRecursionDetection.getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(core.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: httpAuthSchemeProvider.defaultSSOHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new core.DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(core.getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n\nclass SSOServiceException extends smithyClient.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SSOServiceException.prototype);\n }\n}\n\nclass InvalidRequestException extends SSOServiceException {\n name = \"InvalidRequestException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n }\n}\nclass ResourceNotFoundException extends SSOServiceException {\n name = \"ResourceNotFoundException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n }\n}\nclass TooManyRequestsException extends SSOServiceException {\n name = \"TooManyRequestsException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"TooManyRequestsException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, TooManyRequestsException.prototype);\n }\n}\nclass UnauthorizedException extends SSOServiceException {\n name = \"UnauthorizedException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"UnauthorizedException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, UnauthorizedException.prototype);\n }\n}\n\nconst _AI = \"AccountInfo\";\nconst _ALT = \"AccountListType\";\nconst _ATT = \"AccessTokenType\";\nconst _GRC = \"GetRoleCredentials\";\nconst _GRCR = \"GetRoleCredentialsRequest\";\nconst _GRCRe = \"GetRoleCredentialsResponse\";\nconst _IRE = \"InvalidRequestException\";\nconst _L = \"Logout\";\nconst _LA = \"ListAccounts\";\nconst _LAR = \"ListAccountsRequest\";\nconst _LARR = \"ListAccountRolesRequest\";\nconst _LARRi = \"ListAccountRolesResponse\";\nconst _LARi = \"ListAccountsResponse\";\nconst _LARis = \"ListAccountRoles\";\nconst _LR = \"LogoutRequest\";\nconst _RC = \"RoleCredentials\";\nconst _RI = \"RoleInfo\";\nconst _RLT = \"RoleListType\";\nconst _RNFE = \"ResourceNotFoundException\";\nconst _SAKT = \"SecretAccessKeyType\";\nconst _STT = \"SessionTokenType\";\nconst _TMRE = \"TooManyRequestsException\";\nconst _UE = \"UnauthorizedException\";\nconst _aI = \"accountId\";\nconst _aKI = \"accessKeyId\";\nconst _aL = \"accountList\";\nconst _aN = \"accountName\";\nconst _aT = \"accessToken\";\nconst _ai = \"account_id\";\nconst _c = \"client\";\nconst _e = \"error\";\nconst _eA = \"emailAddress\";\nconst _ex = \"expiration\";\nconst _h = \"http\";\nconst _hE = \"httpError\";\nconst _hH = \"httpHeader\";\nconst _hQ = \"httpQuery\";\nconst _m = \"message\";\nconst _mR = \"maxResults\";\nconst _mr = \"max_result\";\nconst _nT = \"nextToken\";\nconst _nt = \"next_token\";\nconst _rC = \"roleCredentials\";\nconst _rL = \"roleList\";\nconst _rN = \"roleName\";\nconst _rn = \"role_name\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.sso\";\nconst _sAK = \"secretAccessKey\";\nconst _sT = \"sessionToken\";\nconst _xasbt = \"x-amz-sso_bearer_token\";\nconst n0 = \"com.amazonaws.sso\";\nvar AccessTokenType = [0, n0, _ATT, 8, 0];\nvar SecretAccessKeyType = [0, n0, _SAKT, 8, 0];\nvar SessionTokenType = [0, n0, _STT, 8, 0];\nvar AccountInfo$ = [3, n0, _AI,\n 0,\n [_aI, _aN, _eA],\n [0, 0, 0]\n];\nvar GetRoleCredentialsRequest$ = [3, n0, _GRCR,\n 0,\n [_rN, _aI, _aT],\n [[0, { [_hQ]: _rn }], [0, { [_hQ]: _ai }], [() => AccessTokenType, { [_hH]: _xasbt }]], 3\n];\nvar GetRoleCredentialsResponse$ = [3, n0, _GRCRe,\n 0,\n [_rC],\n [[() => RoleCredentials$, 0]]\n];\nvar InvalidRequestException$ = [-3, n0, _IRE,\n { [_e]: _c, [_hE]: 400 },\n [_m],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(InvalidRequestException$, InvalidRequestException);\nvar ListAccountRolesRequest$ = [3, n0, _LARR,\n 0,\n [_aT, _aI, _nT, _mR],\n [[() => AccessTokenType, { [_hH]: _xasbt }], [0, { [_hQ]: _ai }], [0, { [_hQ]: _nt }], [1, { [_hQ]: _mr }]], 2\n];\nvar ListAccountRolesResponse$ = [3, n0, _LARRi,\n 0,\n [_nT, _rL],\n [0, () => RoleListType]\n];\nvar ListAccountsRequest$ = [3, n0, _LAR,\n 0,\n [_aT, _nT, _mR],\n [[() => AccessTokenType, { [_hH]: _xasbt }], [0, { [_hQ]: _nt }], [1, { [_hQ]: _mr }]], 1\n];\nvar ListAccountsResponse$ = [3, n0, _LARi,\n 0,\n [_nT, _aL],\n [0, () => AccountListType]\n];\nvar LogoutRequest$ = [3, n0, _LR,\n 0,\n [_aT],\n [[() => AccessTokenType, { [_hH]: _xasbt }]], 1\n];\nvar ResourceNotFoundException$ = [-3, n0, _RNFE,\n { [_e]: _c, [_hE]: 404 },\n [_m],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(ResourceNotFoundException$, ResourceNotFoundException);\nvar RoleCredentials$ = [3, n0, _RC,\n 0,\n [_aKI, _sAK, _sT, _ex],\n [0, [() => SecretAccessKeyType, 0], [() => SessionTokenType, 0], 1]\n];\nvar RoleInfo$ = [3, n0, _RI,\n 0,\n [_rN, _aI],\n [0, 0]\n];\nvar TooManyRequestsException$ = [-3, n0, _TMRE,\n { [_e]: _c, [_hE]: 429 },\n [_m],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(TooManyRequestsException$, TooManyRequestsException);\nvar UnauthorizedException$ = [-3, n0, _UE,\n { [_e]: _c, [_hE]: 401 },\n [_m],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(UnauthorizedException$, UnauthorizedException);\nvar __Unit = \"unit\";\nvar SSOServiceException$ = [-3, _s, \"SSOServiceException\", 0, [], []];\nschema.TypeRegistry.for(_s).registerError(SSOServiceException$, SSOServiceException);\nvar AccountListType = [1, n0, _ALT,\n 0, () => AccountInfo$\n];\nvar RoleListType = [1, n0, _RLT,\n 0, () => RoleInfo$\n];\nvar GetRoleCredentials$ = [9, n0, _GRC,\n { [_h]: [\"GET\", \"/federation/credentials\", 200] }, () => GetRoleCredentialsRequest$, () => GetRoleCredentialsResponse$\n];\nvar ListAccountRoles$ = [9, n0, _LARis,\n { [_h]: [\"GET\", \"/assignment/roles\", 200] }, () => ListAccountRolesRequest$, () => ListAccountRolesResponse$\n];\nvar ListAccounts$ = [9, n0, _LA,\n { [_h]: [\"GET\", \"/assignment/accounts\", 200] }, () => ListAccountsRequest$, () => ListAccountsResponse$\n];\nvar Logout$ = [9, n0, _L,\n { [_h]: [\"POST\", \"/logout\", 200] }, () => LogoutRequest$, () => __Unit\n];\n\nclass GetRoleCredentialsCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"SWBPortalService\", \"GetRoleCredentials\", {})\n .n(\"SSOClient\", \"GetRoleCredentialsCommand\")\n .sc(GetRoleCredentials$)\n .build() {\n}\n\nclass ListAccountRolesCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"SWBPortalService\", \"ListAccountRoles\", {})\n .n(\"SSOClient\", \"ListAccountRolesCommand\")\n .sc(ListAccountRoles$)\n .build() {\n}\n\nclass ListAccountsCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"SWBPortalService\", \"ListAccounts\", {})\n .n(\"SSOClient\", \"ListAccountsCommand\")\n .sc(ListAccounts$)\n .build() {\n}\n\nclass LogoutCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"SWBPortalService\", \"Logout\", {})\n .n(\"SSOClient\", \"LogoutCommand\")\n .sc(Logout$)\n .build() {\n}\n\nconst paginateListAccountRoles = core.createPaginator(SSOClient, ListAccountRolesCommand, \"nextToken\", \"nextToken\", \"maxResults\");\n\nconst paginateListAccounts = core.createPaginator(SSOClient, ListAccountsCommand, \"nextToken\", \"nextToken\", \"maxResults\");\n\nconst commands = {\n GetRoleCredentialsCommand,\n ListAccountRolesCommand,\n ListAccountsCommand,\n LogoutCommand,\n};\nconst paginators = {\n paginateListAccountRoles,\n paginateListAccounts,\n};\nclass SSO extends SSOClient {\n}\nsmithyClient.createAggregatedClient(commands, SSO, { paginators });\n\nObject.defineProperty(exports, \"$Command\", {\n enumerable: true,\n get: function () { return smithyClient.Command; }\n});\nObject.defineProperty(exports, \"__Client\", {\n enumerable: true,\n get: function () { return smithyClient.Client; }\n});\nexports.AccountInfo$ = AccountInfo$;\nexports.GetRoleCredentials$ = GetRoleCredentials$;\nexports.GetRoleCredentialsCommand = GetRoleCredentialsCommand;\nexports.GetRoleCredentialsRequest$ = GetRoleCredentialsRequest$;\nexports.GetRoleCredentialsResponse$ = GetRoleCredentialsResponse$;\nexports.InvalidRequestException = InvalidRequestException;\nexports.InvalidRequestException$ = InvalidRequestException$;\nexports.ListAccountRoles$ = ListAccountRoles$;\nexports.ListAccountRolesCommand = ListAccountRolesCommand;\nexports.ListAccountRolesRequest$ = ListAccountRolesRequest$;\nexports.ListAccountRolesResponse$ = ListAccountRolesResponse$;\nexports.ListAccounts$ = ListAccounts$;\nexports.ListAccountsCommand = ListAccountsCommand;\nexports.ListAccountsRequest$ = ListAccountsRequest$;\nexports.ListAccountsResponse$ = ListAccountsResponse$;\nexports.Logout$ = Logout$;\nexports.LogoutCommand = LogoutCommand;\nexports.LogoutRequest$ = LogoutRequest$;\nexports.ResourceNotFoundException = ResourceNotFoundException;\nexports.ResourceNotFoundException$ = ResourceNotFoundException$;\nexports.RoleCredentials$ = RoleCredentials$;\nexports.RoleInfo$ = RoleInfo$;\nexports.SSO = SSO;\nexports.SSOClient = SSOClient;\nexports.SSOServiceException = SSOServiceException;\nexports.SSOServiceException$ = SSOServiceException$;\nexports.TooManyRequestsException = TooManyRequestsException;\nexports.TooManyRequestsException$ = TooManyRequestsException$;\nexports.UnauthorizedException = UnauthorizedException;\nexports.UnauthorizedException$ = UnauthorizedException$;\nexports.paginateListAccountRoles = paginateListAccountRoles;\nexports.paginateListAccounts = paginateListAccounts;\n", "'use strict';\n\nvar clientSso = require('@aws-sdk/client-sso');\n\n\n\nObject.defineProperty(exports, \"GetRoleCredentialsCommand\", {\n\tenumerable: true,\n\tget: function () { return clientSso.GetRoleCredentialsCommand; }\n});\nObject.defineProperty(exports, \"SSOClient\", {\n\tenumerable: true,\n\tget: function () { return clientSso.SSOClient; }\n});\n", "'use strict';\n\nvar propertyProvider = require('@smithy/property-provider');\nvar sharedIniFileLoader = require('@smithy/shared-ini-file-loader');\nvar client = require('@aws-sdk/core/client');\nvar tokenProviders = require('@aws-sdk/token-providers');\n\nconst isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n\nconst SHOULD_FAIL_CREDENTIAL_CHAIN = false;\nconst resolveSSOCredentials = async ({ ssoStartUrl, ssoSession, ssoAccountId, ssoRegion, ssoRoleName, ssoClient, clientConfig, parentClientConfig, callerClientConfig, profile, filepath, configFilepath, ignoreCache, logger, }) => {\n let token;\n const refreshMessage = `To refresh this SSO session run aws sso login with the corresponding profile.`;\n if (ssoSession) {\n try {\n const _token = await tokenProviders.fromSso({\n profile,\n filepath,\n configFilepath,\n ignoreCache,\n })();\n token = {\n accessToken: _token.token,\n expiresAt: new Date(_token.expiration).toISOString(),\n };\n }\n catch (e) {\n throw new propertyProvider.CredentialsProviderError(e.message, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n else {\n try {\n token = await sharedIniFileLoader.getSSOTokenFromFile(ssoStartUrl);\n }\n catch (e) {\n throw new propertyProvider.CredentialsProviderError(`The SSO session associated with this profile is invalid. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n }\n if (new Date(token.expiresAt).getTime() - Date.now() <= 0) {\n throw new propertyProvider.CredentialsProviderError(`The SSO session associated with this profile has expired. ${refreshMessage}`, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { accessToken } = token;\n const { SSOClient, GetRoleCredentialsCommand } = await Promise.resolve().then(function () { return require('./loadSso-CVy8iqsZ.js'); });\n const sso = ssoClient ||\n new SSOClient(Object.assign({}, clientConfig ?? {}, {\n logger: clientConfig?.logger ?? callerClientConfig?.logger ?? parentClientConfig?.logger,\n region: clientConfig?.region ?? ssoRegion,\n userAgentAppId: clientConfig?.userAgentAppId ?? callerClientConfig?.userAgentAppId ?? parentClientConfig?.userAgentAppId,\n }));\n let ssoResp;\n try {\n ssoResp = await sso.send(new GetRoleCredentialsCommand({\n accountId: ssoAccountId,\n roleName: ssoRoleName,\n accessToken,\n }));\n }\n catch (e) {\n throw new propertyProvider.CredentialsProviderError(e, {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const { roleCredentials: { accessKeyId, secretAccessKey, sessionToken, expiration, credentialScope, accountId } = {}, } = ssoResp;\n if (!accessKeyId || !secretAccessKey || !sessionToken || !expiration) {\n throw new propertyProvider.CredentialsProviderError(\"SSO returns an invalid temporary credential.\", {\n tryNextLink: SHOULD_FAIL_CREDENTIAL_CHAIN,\n logger,\n });\n }\n const credentials = {\n accessKeyId,\n secretAccessKey,\n sessionToken,\n expiration: new Date(expiration),\n ...(credentialScope && { credentialScope }),\n ...(accountId && { accountId }),\n };\n if (ssoSession) {\n client.setCredentialFeature(credentials, \"CREDENTIALS_SSO\", \"s\");\n }\n else {\n client.setCredentialFeature(credentials, \"CREDENTIALS_SSO_LEGACY\", \"u\");\n }\n return credentials;\n};\n\nconst validateSsoProfile = (profile, logger) => {\n const { sso_start_url, sso_account_id, sso_region, sso_role_name } = profile;\n if (!sso_start_url || !sso_account_id || !sso_region || !sso_role_name) {\n throw new propertyProvider.CredentialsProviderError(`Profile is configured with invalid SSO credentials. Required parameters \"sso_account_id\", ` +\n `\"sso_region\", \"sso_role_name\", \"sso_start_url\". Got ${Object.keys(profile).join(\", \")}\\nReference: https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html`, { tryNextLink: false, logger });\n }\n return profile;\n};\n\nconst fromSSO = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-sso - fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n const { ssoClient } = init;\n const profileName = sharedIniFileLoader.getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n });\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n const profiles = await sharedIniFileLoader.parseKnownFiles(init);\n const profile = profiles[profileName];\n if (!profile) {\n throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} was not found.`, { logger: init.logger });\n }\n if (!isSsoProfile(profile)) {\n throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} is not configured with SSO credentials.`, {\n logger: init.logger,\n });\n }\n if (profile?.sso_session) {\n const ssoSessions = await sharedIniFileLoader.loadSsoSessionData(init);\n const session = ssoSessions[profile.sso_session];\n const conflictMsg = ` configurations in profile ${profileName} and sso-session ${profile.sso_session}`;\n if (ssoRegion && ssoRegion !== session.sso_region) {\n throw new propertyProvider.CredentialsProviderError(`Conflicting SSO region` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n if (ssoStartUrl && ssoStartUrl !== session.sso_start_url) {\n throw new propertyProvider.CredentialsProviderError(`Conflicting SSO start_url` + conflictMsg, {\n tryNextLink: false,\n logger: init.logger,\n });\n }\n profile.sso_region = session.sso_region;\n profile.sso_start_url = session.sso_start_url;\n }\n const { sso_start_url, sso_account_id, sso_region, sso_role_name, sso_session } = validateSsoProfile(profile, init.logger);\n return resolveSSOCredentials({\n ssoStartUrl: sso_start_url,\n ssoSession: sso_session,\n ssoAccountId: sso_account_id,\n ssoRegion: sso_region,\n ssoRoleName: sso_role_name,\n ssoClient: ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n callerClientConfig: init.callerClientConfig,\n profile: profileName,\n filepath: init.filepath,\n configFilepath: init.configFilepath,\n ignoreCache: init.ignoreCache,\n logger: init.logger,\n });\n }\n else if (!ssoStartUrl || !ssoAccountId || !ssoRegion || !ssoRoleName) {\n throw new propertyProvider.CredentialsProviderError(\"Incomplete configuration. The fromSSO() argument hash must include \" +\n '\"ssoStartUrl\", \"ssoAccountId\", \"ssoRegion\", \"ssoRoleName\"', { tryNextLink: false, logger: init.logger });\n }\n else {\n return resolveSSOCredentials({\n ssoStartUrl,\n ssoSession,\n ssoAccountId,\n ssoRegion,\n ssoRoleName,\n ssoClient,\n clientConfig: init.clientConfig,\n parentClientConfig: init.parentClientConfig,\n callerClientConfig: init.callerClientConfig,\n profile: profileName,\n filepath: init.filepath,\n configFilepath: init.configFilepath,\n ignoreCache: init.ignoreCache,\n logger: init.logger,\n });\n }\n};\n\nexports.fromSSO = fromSSO;\nexports.isSsoProfile = isSsoProfile;\nexports.validateSsoProfile = validateSsoProfile;\n", "import { resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nexport const defaultSigninHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: getSmithyContext(context).operation,\n region: (await normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"signin\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nexport const defaultSigninHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"CreateOAuth2Token\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexport const resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = resolveAwsSdkSigV4Config(config);\n return Object.assign(config_0, {\n authSchemePreference: normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n", "export const resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"signin\",\n });\n};\nexport const commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n", "const u = \"required\", v = \"fn\", w = \"argv\", x = \"ref\";\nconst a = true, b = \"isSet\", c = \"booleanEquals\", d = \"error\", e = \"endpoint\", f = \"tree\", g = \"PartitionResult\", h = \"stringEquals\", i = { [u]: true, \"default\": false, \"type\": \"boolean\" }, j = { [u]: false, \"type\": \"string\" }, k = { [x]: \"Endpoint\" }, l = { [v]: c, [w]: [{ [x]: \"UseFIPS\" }, true] }, m = { [v]: c, [w]: [{ [x]: \"UseDualStack\" }, true] }, n = {}, o = { [v]: \"getAttr\", [w]: [{ [x]: g }, \"name\"] }, p = { [v]: c, [w]: [{ [x]: \"UseFIPS\" }, false] }, q = { [v]: c, [w]: [{ [x]: \"UseDualStack\" }, false] }, r = { [v]: \"getAttr\", [w]: [{ [x]: g }, \"supportsFIPS\"] }, s = { [v]: c, [w]: [true, { [v]: \"getAttr\", [w]: [{ [x]: g }, \"supportsDualStack\"] }] }, t = [{ [x]: \"Region\" }];\nconst _data = { version: \"1.0\", parameters: { UseDualStack: i, UseFIPS: i, Endpoint: j, Region: j }, rules: [{ conditions: [{ [v]: b, [w]: [k] }], rules: [{ conditions: [l], error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: d }, { rules: [{ conditions: [m], error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: d }, { endpoint: { url: k, properties: n, headers: n }, type: e }], type: f }], type: f }, { rules: [{ conditions: [{ [v]: b, [w]: t }], rules: [{ conditions: [{ [v]: \"aws.partition\", [w]: t, assign: g }], rules: [{ conditions: [{ [v]: h, [w]: [o, \"aws\"] }, p, q], endpoint: { url: \"https://{Region}.signin.aws.amazon.com\", properties: n, headers: n }, type: e }, { conditions: [{ [v]: h, [w]: [o, \"aws-cn\"] }, p, q], endpoint: { url: \"https://{Region}.signin.amazonaws.cn\", properties: n, headers: n }, type: e }, { conditions: [{ [v]: h, [w]: [o, \"aws-us-gov\"] }, p, q], endpoint: { url: \"https://{Region}.signin.amazonaws-us-gov.com\", properties: n, headers: n }, type: e }, { conditions: [l, m], rules: [{ conditions: [{ [v]: c, [w]: [a, r] }, s], rules: [{ endpoint: { url: \"https://signin-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: d }], type: f }, { conditions: [l, q], rules: [{ conditions: [{ [v]: c, [w]: [r, a] }], rules: [{ endpoint: { url: \"https://signin-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: d }], type: f }, { conditions: [p, m], rules: [{ conditions: [s], rules: [{ endpoint: { url: \"https://signin.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: n, headers: n }, type: e }], type: f }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: d }], type: f }, { endpoint: { url: \"https://signin.{Region}.{PartitionResult#dnsSuffix}\", properties: n, headers: n }, type: e }], type: f }], type: f }, { error: \"Invalid Configuration: Missing Region\", type: d }], type: f }] };\nexport const ruleSet = _data;\n", "import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, EndpointCache, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nconst cache = new EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n", "import { AwsSdkSigV4Signer } from \"@aws-sdk/core\";\nimport { AwsRestJsonProtocol } from \"@aws-sdk/core/protocols\";\nimport { NoAuthSigner } from \"@smithy/core\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { defaultSigninHttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2023-01-01\",\n base64Decoder: config?.base64Decoder ?? fromBase64,\n base64Encoder: config?.base64Encoder ?? toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSigninHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new NoOpLogger(),\n protocol: config?.protocol ?? AwsRestJsonProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.signin\",\n version: \"2023-01-01\",\n serviceTarget: \"Signin\",\n },\n serviceId: config?.serviceId ?? \"Signin\",\n urlParser: config?.urlParser ?? parseUrl,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n", "import packageInfo from \"../../../package.json\";\nimport { emitWarningIfUnsupportedVersion as awsCheckVersion, NODE_AUTH_SCHEME_PREFERENCE_OPTIONS } from \"@aws-sdk/core\";\nimport { createDefaultUserAgentProvider, NODE_APP_ID_CONFIG_OPTIONS } from \"@aws-sdk/util-user-agent-node\";\nimport { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from \"@smithy/config-resolver\";\nimport { Hash } from \"@smithy/hash-node\";\nimport { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from \"@smithy/middleware-retry\";\nimport { loadConfig as loadNodeConfig } from \"@smithy/node-config-provider\";\nimport { NodeHttpHandler as RequestHandler, streamCollector } from \"@smithy/node-http-handler\";\nimport { emitWarningIfUnsupportedVersion, loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-node\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-node\";\nimport { DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nexport const getRuntimeConfig = (config) => {\n emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n awsCheckVersion(process.version);\n const loaderConfig = {\n profile: config?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config?.authSchemePreference ?? loadNodeConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config),\n region: config?.region ??\n loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ??\n loadNodeConfig({\n ...NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,\n }, config),\n sha256: config?.sha256 ?? Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config?.userAgentAppId ?? loadNodeConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n", "export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nexport const resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n", "import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from \"@aws-sdk/region-config-resolver\";\nimport { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from \"@smithy/protocol-http\";\nimport { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from \"@smithy/smithy-client\";\nimport { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from \"./auth/httpAuthExtensionConfiguration\";\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n", "import { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { resolveRegionConfig } from \"@smithy/config-resolver\";\nimport { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from \"@smithy/core\";\nimport { getSchemaSerdePlugin } from \"@smithy/core/schema\";\nimport { getContentLengthPlugin } from \"@smithy/middleware-content-length\";\nimport { resolveEndpointConfig, } from \"@smithy/middleware-endpoint\";\nimport { getRetryPlugin, resolveRetryConfig, } from \"@smithy/middleware-retry\";\nimport { Client as __Client, } from \"@smithy/smithy-client\";\nimport { defaultSigninHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class SigninClient extends __Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = resolveUserAgentConfig(_config_1);\n const _config_3 = resolveRetryConfig(_config_2);\n const _config_4 = resolveRegionConfig(_config_3);\n const _config_5 = resolveHostHeaderConfig(_config_4);\n const _config_6 = resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultSigninHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n", "import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class SigninServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SigninServiceException.prototype);\n }\n}\n", "import { SigninServiceException as __BaseException } from \"./SigninServiceException\";\nexport class AccessDeniedException extends __BaseException {\n name = \"AccessDeniedException\";\n $fault = \"client\";\n error;\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n this.error = opts.error;\n }\n}\nexport class InternalServerException extends __BaseException {\n name = \"InternalServerException\";\n $fault = \"server\";\n error;\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n Object.setPrototypeOf(this, InternalServerException.prototype);\n this.error = opts.error;\n }\n}\nexport class TooManyRequestsError extends __BaseException {\n name = \"TooManyRequestsError\";\n $fault = \"client\";\n error;\n constructor(opts) {\n super({\n name: \"TooManyRequestsError\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, TooManyRequestsError.prototype);\n this.error = opts.error;\n }\n}\nexport class ValidationException extends __BaseException {\n name = \"ValidationException\";\n $fault = \"client\";\n error;\n constructor(opts) {\n super({\n name: \"ValidationException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ValidationException.prototype);\n this.error = opts.error;\n }\n}\n", "const _ADE = \"AccessDeniedException\";\nconst _AT = \"AccessToken\";\nconst _COAT = \"CreateOAuth2Token\";\nconst _COATR = \"CreateOAuth2TokenRequest\";\nconst _COATRB = \"CreateOAuth2TokenRequestBody\";\nconst _COATRBr = \"CreateOAuth2TokenResponseBody\";\nconst _COATRr = \"CreateOAuth2TokenResponse\";\nconst _ISE = \"InternalServerException\";\nconst _RT = \"RefreshToken\";\nconst _TMRE = \"TooManyRequestsError\";\nconst _VE = \"ValidationException\";\nconst _aKI = \"accessKeyId\";\nconst _aT = \"accessToken\";\nconst _c = \"client\";\nconst _cI = \"clientId\";\nconst _cV = \"codeVerifier\";\nconst _co = \"code\";\nconst _e = \"error\";\nconst _eI = \"expiresIn\";\nconst _gT = \"grantType\";\nconst _h = \"http\";\nconst _hE = \"httpError\";\nconst _iT = \"idToken\";\nconst _jN = \"jsonName\";\nconst _m = \"message\";\nconst _rT = \"refreshToken\";\nconst _rU = \"redirectUri\";\nconst _s = \"server\";\nconst _sAK = \"secretAccessKey\";\nconst _sT = \"sessionToken\";\nconst _sm = \"smithy.ts.sdk.synthetic.com.amazonaws.signin\";\nconst _tI = \"tokenInput\";\nconst _tO = \"tokenOutput\";\nconst _tT = \"tokenType\";\nconst n0 = \"com.amazonaws.signin\";\nimport { TypeRegistry } from \"@smithy/core/schema\";\nimport { AccessDeniedException, InternalServerException, TooManyRequestsError, ValidationException, } from \"../models/errors\";\nimport { SigninServiceException } from \"../models/SigninServiceException\";\nvar RefreshToken = [0, n0, _RT, 8, 0];\nexport var AccessDeniedException$ = [-3, n0, _ADE, { [_e]: _c }, [_e, _m], [0, 0], 2];\nTypeRegistry.for(n0).registerError(AccessDeniedException$, AccessDeniedException);\nexport var AccessToken$ = [\n 3,\n n0,\n _AT,\n 8,\n [_aKI, _sAK, _sT],\n [\n [0, { [_jN]: _aKI }],\n [0, { [_jN]: _sAK }],\n [0, { [_jN]: _sT }],\n ],\n 3,\n];\nexport var CreateOAuth2TokenRequest$ = [\n 3,\n n0,\n _COATR,\n 0,\n [_tI],\n [[() => CreateOAuth2TokenRequestBody$, 16]],\n 1,\n];\nexport var CreateOAuth2TokenRequestBody$ = [\n 3,\n n0,\n _COATRB,\n 0,\n [_cI, _gT, _co, _rU, _cV, _rT],\n [\n [0, { [_jN]: _cI }],\n [0, { [_jN]: _gT }],\n 0,\n [0, { [_jN]: _rU }],\n [0, { [_jN]: _cV }],\n [() => RefreshToken, { [_jN]: _rT }],\n ],\n 2,\n];\nexport var CreateOAuth2TokenResponse$ = [\n 3,\n n0,\n _COATRr,\n 0,\n [_tO],\n [[() => CreateOAuth2TokenResponseBody$, 16]],\n 1,\n];\nexport var CreateOAuth2TokenResponseBody$ = [\n 3,\n n0,\n _COATRBr,\n 0,\n [_aT, _tT, _eI, _rT, _iT],\n [\n [() => AccessToken$, { [_jN]: _aT }],\n [0, { [_jN]: _tT }],\n [1, { [_jN]: _eI }],\n [() => RefreshToken, { [_jN]: _rT }],\n [0, { [_jN]: _iT }],\n ],\n 4,\n];\nexport var InternalServerException$ = [-3, n0, _ISE, { [_e]: _s, [_hE]: 500 }, [_e, _m], [0, 0], 2];\nTypeRegistry.for(n0).registerError(InternalServerException$, InternalServerException);\nexport var TooManyRequestsError$ = [-3, n0, _TMRE, { [_e]: _c, [_hE]: 429 }, [_e, _m], [0, 0], 2];\nTypeRegistry.for(n0).registerError(TooManyRequestsError$, TooManyRequestsError);\nexport var ValidationException$ = [-3, n0, _VE, { [_e]: _c, [_hE]: 400 }, [_e, _m], [0, 0], 2];\nTypeRegistry.for(n0).registerError(ValidationException$, ValidationException);\nexport var SigninServiceException$ = [-3, _sm, \"SigninServiceException\", 0, [], []];\nTypeRegistry.for(_sm).registerError(SigninServiceException$, SigninServiceException);\nexport var CreateOAuth2Token$ = [\n 9,\n n0,\n _COAT,\n { [_h]: [\"POST\", \"/v1/token\", 200] },\n () => CreateOAuth2TokenRequest$,\n () => CreateOAuth2TokenResponse$,\n];\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { CreateOAuth2Token$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class CreateOAuth2TokenCommand extends $Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"Signin\", \"CreateOAuth2Token\", {})\n .n(\"SigninClient\", \"CreateOAuth2TokenCommand\")\n .sc(CreateOAuth2Token$)\n .build() {\n}\n", "import { createAggregatedClient } from \"@smithy/smithy-client\";\nimport { CreateOAuth2TokenCommand, } from \"./commands/CreateOAuth2TokenCommand\";\nimport { SigninClient } from \"./SigninClient\";\nconst commands = {\n CreateOAuth2TokenCommand,\n};\nexport class Signin extends SigninClient {\n}\ncreateAggregatedClient(commands, Signin);\n", "export * from \"./CreateOAuth2TokenCommand\";\n", "export const OAuth2ErrorCode = {\n AUTHCODE_EXPIRED: \"AUTHCODE_EXPIRED\",\n INSUFFICIENT_PERMISSIONS: \"INSUFFICIENT_PERMISSIONS\",\n INVALID_REQUEST: \"INVALID_REQUEST\",\n SERVER_ERROR: \"server_error\",\n TOKEN_EXPIRED: \"TOKEN_EXPIRED\",\n USER_CREDENTIALS_CHANGED: \"USER_CREDENTIALS_CHANGED\",\n};\n", "export {};\n", "export * from \"./SigninClient\";\nexport * from \"./Signin\";\nexport * from \"./commands\";\nexport * from \"./schemas/schemas_0\";\nexport * from \"./models/enums\";\nexport * from \"./models/errors\";\nexport * from \"./models/models_0\";\nexport { SigninServiceException } from \"./models/SigninServiceException\";\n", "'use strict';\n\nvar client = require('@aws-sdk/core/client');\nvar propertyProvider = require('@smithy/property-provider');\nvar sharedIniFileLoader = require('@smithy/shared-ini-file-loader');\nvar protocolHttp = require('@smithy/protocol-http');\nvar node_crypto = require('node:crypto');\nvar node_fs = require('node:fs');\nvar node_os = require('node:os');\nvar node_path = require('node:path');\n\nclass LoginCredentialsFetcher {\n profileData;\n init;\n callerClientConfig;\n static REFRESH_THRESHOLD = 5 * 60 * 1000;\n constructor(profileData, init, callerClientConfig) {\n this.profileData = profileData;\n this.init = init;\n this.callerClientConfig = callerClientConfig;\n }\n async loadCredentials() {\n const token = await this.loadToken();\n if (!token) {\n throw new propertyProvider.CredentialsProviderError(`Failed to load a token for session ${this.loginSession}, please re-authenticate using aws login`, { tryNextLink: false, logger: this.logger });\n }\n const accessToken = token.accessToken;\n const now = Date.now();\n const expiryTime = new Date(accessToken.expiresAt).getTime();\n const timeUntilExpiry = expiryTime - now;\n if (timeUntilExpiry <= LoginCredentialsFetcher.REFRESH_THRESHOLD) {\n return this.refresh(token);\n }\n return {\n accessKeyId: accessToken.accessKeyId,\n secretAccessKey: accessToken.secretAccessKey,\n sessionToken: accessToken.sessionToken,\n accountId: accessToken.accountId,\n expiration: new Date(accessToken.expiresAt),\n };\n }\n get logger() {\n return this.init?.logger;\n }\n get loginSession() {\n return this.profileData.login_session;\n }\n async refresh(token) {\n const { SigninClient, CreateOAuth2TokenCommand } = await import('@aws-sdk/nested-clients/signin');\n const { logger, userAgentAppId } = this.callerClientConfig ?? {};\n const isH2 = (requestHandler) => {\n return requestHandler?.metadata?.handlerProtocol === \"h2\";\n };\n const requestHandler = isH2(this.callerClientConfig?.requestHandler)\n ? undefined\n : this.callerClientConfig?.requestHandler;\n const region = this.profileData.region ?? (await this.callerClientConfig?.region?.()) ?? process.env.AWS_REGION;\n const client = new SigninClient({\n credentials: {\n accessKeyId: \"\",\n secretAccessKey: \"\",\n },\n region,\n requestHandler,\n logger,\n userAgentAppId,\n ...this.init?.clientConfig,\n });\n this.createDPoPInterceptor(client.middlewareStack);\n const commandInput = {\n tokenInput: {\n clientId: token.clientId,\n refreshToken: token.refreshToken,\n grantType: \"refresh_token\",\n },\n };\n try {\n const response = await client.send(new CreateOAuth2TokenCommand(commandInput));\n const { accessKeyId, secretAccessKey, sessionToken } = response.tokenOutput?.accessToken ?? {};\n const { refreshToken, expiresIn } = response.tokenOutput ?? {};\n if (!accessKeyId || !secretAccessKey || !sessionToken || !refreshToken) {\n throw new propertyProvider.CredentialsProviderError(\"Token refresh response missing required fields\", {\n logger: this.logger,\n tryNextLink: false,\n });\n }\n const expiresInMs = (expiresIn ?? 900) * 1000;\n const expiration = new Date(Date.now() + expiresInMs);\n const updatedToken = {\n ...token,\n accessToken: {\n ...token.accessToken,\n accessKeyId: accessKeyId,\n secretAccessKey: secretAccessKey,\n sessionToken: sessionToken,\n expiresAt: expiration.toISOString(),\n },\n refreshToken: refreshToken,\n };\n await this.saveToken(updatedToken);\n const newAccessToken = updatedToken.accessToken;\n return {\n accessKeyId: newAccessToken.accessKeyId,\n secretAccessKey: newAccessToken.secretAccessKey,\n sessionToken: newAccessToken.sessionToken,\n accountId: newAccessToken.accountId,\n expiration,\n };\n }\n catch (error) {\n if (error.name === \"AccessDeniedException\") {\n const errorType = error.error;\n let message;\n switch (errorType) {\n case \"TOKEN_EXPIRED\":\n message = \"Your session has expired. Please reauthenticate.\";\n break;\n case \"USER_CREDENTIALS_CHANGED\":\n message =\n \"Unable to refresh credentials because of a change in your password. Please reauthenticate with your new password.\";\n break;\n case \"INSUFFICIENT_PERMISSIONS\":\n message =\n \"Unable to refresh credentials due to insufficient permissions. You may be missing permission for the 'CreateOAuth2Token' action.\";\n break;\n default:\n message = `Failed to refresh token: ${String(error)}. Please re-authenticate using \\`aws login\\``;\n }\n throw new propertyProvider.CredentialsProviderError(message, { logger: this.logger, tryNextLink: false });\n }\n throw new propertyProvider.CredentialsProviderError(`Failed to refresh token: ${String(error)}. Please re-authenticate using aws login`, { logger: this.logger });\n }\n }\n async loadToken() {\n const tokenFilePath = this.getTokenFilePath();\n try {\n let tokenData;\n try {\n tokenData = await sharedIniFileLoader.readFile(tokenFilePath, { ignoreCache: this.init?.ignoreCache });\n }\n catch {\n tokenData = await node_fs.promises.readFile(tokenFilePath, \"utf8\");\n }\n const token = JSON.parse(tokenData);\n const missingFields = [\"accessToken\", \"clientId\", \"refreshToken\", \"dpopKey\"].filter((k) => !token[k]);\n if (!token.accessToken?.accountId) {\n missingFields.push(\"accountId\");\n }\n if (missingFields.length > 0) {\n throw new propertyProvider.CredentialsProviderError(`Token validation failed, missing fields: ${missingFields.join(\", \")}`, {\n logger: this.logger,\n tryNextLink: false,\n });\n }\n return token;\n }\n catch (error) {\n throw new propertyProvider.CredentialsProviderError(`Failed to load token from ${tokenFilePath}: ${String(error)}`, {\n logger: this.logger,\n tryNextLink: false,\n });\n }\n }\n async saveToken(token) {\n const tokenFilePath = this.getTokenFilePath();\n const directory = node_path.dirname(tokenFilePath);\n try {\n await node_fs.promises.mkdir(directory, { recursive: true });\n }\n catch (error) {\n }\n await node_fs.promises.writeFile(tokenFilePath, JSON.stringify(token, null, 2), \"utf8\");\n }\n getTokenFilePath() {\n const directory = process.env.AWS_LOGIN_CACHE_DIRECTORY ?? node_path.join(node_os.homedir(), \".aws\", \"login\", \"cache\");\n const loginSessionBytes = Buffer.from(this.loginSession, \"utf8\");\n const loginSessionSha256 = node_crypto.createHash(\"sha256\").update(loginSessionBytes).digest(\"hex\");\n return node_path.join(directory, `${loginSessionSha256}.json`);\n }\n derToRawSignature(derSignature) {\n let offset = 2;\n if (derSignature[offset] !== 0x02) {\n throw new Error(\"Invalid DER signature\");\n }\n offset++;\n const rLength = derSignature[offset++];\n let r = derSignature.subarray(offset, offset + rLength);\n offset += rLength;\n if (derSignature[offset] !== 0x02) {\n throw new Error(\"Invalid DER signature\");\n }\n offset++;\n const sLength = derSignature[offset++];\n let s = derSignature.subarray(offset, offset + sLength);\n r = r[0] === 0x00 ? r.subarray(1) : r;\n s = s[0] === 0x00 ? s.subarray(1) : s;\n const rPadded = Buffer.concat([Buffer.alloc(32 - r.length), r]);\n const sPadded = Buffer.concat([Buffer.alloc(32 - s.length), s]);\n return Buffer.concat([rPadded, sPadded]);\n }\n createDPoPInterceptor(middlewareStack) {\n middlewareStack.add((next) => async (args) => {\n if (protocolHttp.HttpRequest.isInstance(args.request)) {\n const request = args.request;\n const actualEndpoint = `${request.protocol}//${request.hostname}${request.port ? `:${request.port}` : \"\"}${request.path}`;\n const dpop = await this.generateDpop(request.method, actualEndpoint);\n request.headers = {\n ...request.headers,\n DPoP: dpop,\n };\n }\n return next(args);\n }, {\n step: \"finalizeRequest\",\n name: \"dpopInterceptor\",\n override: true,\n });\n }\n async generateDpop(method = \"POST\", endpoint) {\n const token = await this.loadToken();\n try {\n const privateKey = node_crypto.createPrivateKey({\n key: token.dpopKey,\n format: \"pem\",\n type: \"sec1\",\n });\n const publicKey = node_crypto.createPublicKey(privateKey);\n const publicDer = publicKey.export({ format: \"der\", type: \"spki\" });\n let pointStart = -1;\n for (let i = 0; i < publicDer.length; i++) {\n if (publicDer[i] === 0x04) {\n pointStart = i;\n break;\n }\n }\n const x = publicDer.slice(pointStart + 1, pointStart + 33);\n const y = publicDer.slice(pointStart + 33, pointStart + 65);\n const header = {\n alg: \"ES256\",\n typ: \"dpop+jwt\",\n jwk: {\n kty: \"EC\",\n crv: \"P-256\",\n x: x.toString(\"base64url\"),\n y: y.toString(\"base64url\"),\n },\n };\n const payload = {\n jti: crypto.randomUUID(),\n htm: method,\n htu: endpoint,\n iat: Math.floor(Date.now() / 1000),\n };\n const headerB64 = Buffer.from(JSON.stringify(header)).toString(\"base64url\");\n const payloadB64 = Buffer.from(JSON.stringify(payload)).toString(\"base64url\");\n const message = `${headerB64}.${payloadB64}`;\n const asn1Signature = node_crypto.sign(\"sha256\", Buffer.from(message), privateKey);\n const rawSignature = this.derToRawSignature(asn1Signature);\n const signatureB64 = rawSignature.toString(\"base64url\");\n return `${message}.${signatureB64}`;\n }\n catch (error) {\n throw new propertyProvider.CredentialsProviderError(`Failed to generate Dpop proof: ${error instanceof Error ? error.message : String(error)}`, { logger: this.logger, tryNextLink: false });\n }\n }\n}\n\nconst fromLoginCredentials = (init) => async ({ callerClientConfig } = {}) => {\n init?.logger?.debug?.(\"@aws-sdk/credential-providers - fromLoginCredentials\");\n const profiles = await sharedIniFileLoader.parseKnownFiles(init || {});\n const profileName = sharedIniFileLoader.getProfileName({\n profile: init?.profile ?? callerClientConfig?.profile,\n });\n const profile = profiles[profileName];\n if (!profile?.login_session) {\n throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} does not contain login_session.`, {\n tryNextLink: true,\n logger: init?.logger,\n });\n }\n const fetcher = new LoginCredentialsFetcher(profile, init, callerClientConfig);\n const credentials = await fetcher.loadCredentials();\n return client.setCredentialFeature(credentials, \"CREDENTIALS_LOGIN\", \"AD\");\n};\n\nexports.fromLoginCredentials = fromLoginCredentials;\n", "import { resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nimport { STSClient } from \"../STSClient\";\nexport const defaultSTSHttpAuthSchemeParametersProvider = async (config, context, input) => {\n return {\n operation: getSmithyContext(context).operation,\n region: (await normalizeProvider(config.region)()) ||\n (() => {\n throw new Error(\"expected `region` to be configured for `aws.auth#sigv4`\");\n })(),\n };\n};\nfunction createAwsAuthSigv4HttpAuthOption(authParameters) {\n return {\n schemeId: \"aws.auth#sigv4\",\n signingProperties: {\n name: \"sts\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nfunction createSmithyApiNoAuthHttpAuthOption(authParameters) {\n return {\n schemeId: \"smithy.api#noAuth\",\n };\n}\nexport const defaultSTSHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\n case \"AssumeRoleWithWebIdentity\": {\n options.push(createSmithyApiNoAuthHttpAuthOption(authParameters));\n break;\n }\n default: {\n options.push(createAwsAuthSigv4HttpAuthOption(authParameters));\n }\n }\n return options;\n};\nexport const resolveStsAuthConfig = (input) => Object.assign(input, {\n stsClientCtor: STSClient,\n});\nexport const resolveHttpAuthSchemeConfig = (config) => {\n const config_0 = resolveStsAuthConfig(config);\n const config_1 = resolveAwsSdkSigV4Config(config_0);\n return Object.assign(config_1, {\n authSchemePreference: normalizeProvider(config.authSchemePreference ?? []),\n });\n};\n", "export const resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n useGlobalEndpoint: options.useGlobalEndpoint ?? false,\n defaultSigningName: \"sts\",\n });\n};\nexport const commonParams = {\n UseGlobalEndpoint: { type: \"builtInParams\", name: \"useGlobalEndpoint\" },\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n", "const F = \"required\", G = \"type\", H = \"fn\", I = \"argv\", J = \"ref\";\nconst a = false, b = true, c = \"booleanEquals\", d = \"stringEquals\", e = \"sigv4\", f = \"sts\", g = \"us-east-1\", h = \"endpoint\", i = \"https://sts.{Region}.{PartitionResult#dnsSuffix}\", j = \"tree\", k = \"error\", l = \"getAttr\", m = { [F]: false, [G]: \"string\" }, n = { [F]: true, \"default\": false, [G]: \"boolean\" }, o = { [J]: \"Endpoint\" }, p = { [H]: \"isSet\", [I]: [{ [J]: \"Region\" }] }, q = { [J]: \"Region\" }, r = { [H]: \"aws.partition\", [I]: [q], \"assign\": \"PartitionResult\" }, s = { [J]: \"UseFIPS\" }, t = { [J]: \"UseDualStack\" }, u = { \"url\": \"https://sts.amazonaws.com\", \"properties\": { \"authSchemes\": [{ \"name\": e, \"signingName\": f, \"signingRegion\": g }] }, \"headers\": {} }, v = {}, w = { \"conditions\": [{ [H]: d, [I]: [q, \"aws-global\"] }], [h]: u, [G]: h }, x = { [H]: c, [I]: [s, true] }, y = { [H]: c, [I]: [t, true] }, z = { [H]: l, [I]: [{ [J]: \"PartitionResult\" }, \"supportsFIPS\"] }, A = { [J]: \"PartitionResult\" }, B = { [H]: c, [I]: [true, { [H]: l, [I]: [A, \"supportsDualStack\"] }] }, C = [{ [H]: \"isSet\", [I]: [o] }], D = [x], E = [y];\nconst _data = { version: \"1.0\", parameters: { Region: m, UseDualStack: n, UseFIPS: n, Endpoint: m, UseGlobalEndpoint: n }, rules: [{ conditions: [{ [H]: c, [I]: [{ [J]: \"UseGlobalEndpoint\" }, b] }, { [H]: \"not\", [I]: C }, p, r, { [H]: c, [I]: [s, a] }, { [H]: c, [I]: [t, a] }], rules: [{ conditions: [{ [H]: d, [I]: [q, \"ap-northeast-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"ap-south-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"ap-southeast-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"ap-southeast-2\"] }], endpoint: u, [G]: h }, w, { conditions: [{ [H]: d, [I]: [q, \"ca-central-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-central-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-north-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-west-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-west-2\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"eu-west-3\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"sa-east-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, g] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"us-east-2\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"us-west-1\"] }], endpoint: u, [G]: h }, { conditions: [{ [H]: d, [I]: [q, \"us-west-2\"] }], endpoint: u, [G]: h }, { endpoint: { url: i, properties: { authSchemes: [{ name: e, signingName: f, signingRegion: \"{Region}\" }] }, headers: v }, [G]: h }], [G]: j }, { conditions: C, rules: [{ conditions: D, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", [G]: k }, { conditions: E, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", [G]: k }, { endpoint: { url: o, properties: v, headers: v }, [G]: h }], [G]: j }, { conditions: [p], rules: [{ conditions: [r], rules: [{ conditions: [x, y], rules: [{ conditions: [{ [H]: c, [I]: [b, z] }, B], rules: [{ endpoint: { url: \"https://sts-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: v, headers: v }, [G]: h }], [G]: j }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", [G]: k }], [G]: j }, { conditions: D, rules: [{ conditions: [{ [H]: c, [I]: [z, b] }], rules: [{ conditions: [{ [H]: d, [I]: [{ [H]: l, [I]: [A, \"name\"] }, \"aws-us-gov\"] }], endpoint: { url: \"https://sts.{Region}.amazonaws.com\", properties: v, headers: v }, [G]: h }, { endpoint: { url: \"https://sts-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: v, headers: v }, [G]: h }], [G]: j }, { error: \"FIPS is enabled but this partition does not support FIPS\", [G]: k }], [G]: j }, { conditions: E, rules: [{ conditions: [B], rules: [{ endpoint: { url: \"https://sts.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: v, headers: v }, [G]: h }], [G]: j }, { error: \"DualStack is enabled but this partition does not support DualStack\", [G]: k }], [G]: j }, w, { endpoint: { url: i, properties: v, headers: v }, [G]: h }], [G]: j }], [G]: j }, { error: \"Invalid Configuration: Missing Region\", [G]: k }] };\nexport const ruleSet = _data;\n", "import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, EndpointCache, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nconst cache = new EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\", \"UseGlobalEndpoint\"],\n});\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n", "import { AwsSdkSigV4Signer } from \"@aws-sdk/core\";\nimport { AwsQueryProtocol } from \"@aws-sdk/core/protocols\";\nimport { NoAuthSigner } from \"@smithy/core\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { parseUrl } from \"@smithy/url-parser\";\nimport { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { defaultSTSHttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2011-06-15\",\n base64Decoder: config?.base64Decoder ?? fromBase64,\n base64Encoder: config?.base64Encoder ?? toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? defaultSTSHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new NoAuthSigner(),\n },\n ],\n logger: config?.logger ?? new NoOpLogger(),\n protocol: config?.protocol ?? AwsQueryProtocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.sts\",\n xmlNamespace: \"https://sts.amazonaws.com/doc/2011-06-15/\",\n version: \"2011-06-15\",\n serviceTarget: \"AWSSecurityTokenServiceV20110615\",\n },\n serviceId: config?.serviceId ?? \"STS\",\n urlParser: config?.urlParser ?? parseUrl,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n", "import packageInfo from \"../../../package.json\";\nimport { AwsSdkSigV4Signer, emitWarningIfUnsupportedVersion as awsCheckVersion, NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, } from \"@aws-sdk/core\";\nimport { createDefaultUserAgentProvider, NODE_APP_ID_CONFIG_OPTIONS } from \"@aws-sdk/util-user-agent-node\";\nimport { NODE_REGION_CONFIG_FILE_OPTIONS, NODE_REGION_CONFIG_OPTIONS, NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, } from \"@smithy/config-resolver\";\nimport { NoAuthSigner } from \"@smithy/core\";\nimport { Hash } from \"@smithy/hash-node\";\nimport { NODE_MAX_ATTEMPT_CONFIG_OPTIONS, NODE_RETRY_MODE_CONFIG_OPTIONS } from \"@smithy/middleware-retry\";\nimport { loadConfig as loadNodeConfig } from \"@smithy/node-config-provider\";\nimport { NodeHttpHandler as RequestHandler, streamCollector } from \"@smithy/node-http-handler\";\nimport { emitWarningIfUnsupportedVersion, loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-node\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-node\";\nimport { DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nexport const getRuntimeConfig = (config) => {\n emitWarningIfUnsupportedVersion(process.version);\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n awsCheckVersion(process.version);\n const loaderConfig = {\n profile: config?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config?.authSchemePreference ?? loadNodeConfig(NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n createDefaultUserAgentProvider({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\") ||\n (async (idProps) => await config.credentialDefaultProvider(idProps?.__config || {})()),\n signer: new AwsSdkSigV4Signer(),\n },\n {\n schemeId: \"smithy.api#noAuth\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"smithy.api#noAuth\") || (async () => ({})),\n signer: new NoAuthSigner(),\n },\n ],\n maxAttempts: config?.maxAttempts ?? loadNodeConfig(NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config),\n region: config?.region ??\n loadNodeConfig(NODE_REGION_CONFIG_OPTIONS, { ...NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ??\n loadNodeConfig({\n ...NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE,\n }, config),\n sha256: config?.sha256 ?? Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? loadNodeConfig(NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config?.useFipsEndpoint ?? loadNodeConfig(NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config?.userAgentAppId ?? loadNodeConfig(NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\n", "export const getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nexport const resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n", "import { getAwsRegionExtensionConfiguration, resolveAwsRegionExtensionConfiguration, } from \"@aws-sdk/region-config-resolver\";\nimport { getHttpHandlerExtensionConfiguration, resolveHttpHandlerRuntimeConfig } from \"@smithy/protocol-http\";\nimport { getDefaultExtensionConfiguration, resolveDefaultRuntimeConfig } from \"@smithy/smithy-client\";\nimport { getHttpAuthExtensionConfiguration, resolveHttpAuthRuntimeConfig } from \"./auth/httpAuthExtensionConfiguration\";\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(getAwsRegionExtensionConfiguration(runtimeConfig), getDefaultExtensionConfiguration(runtimeConfig), getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, resolveAwsRegionExtensionConfiguration(extensionConfiguration), resolveDefaultRuntimeConfig(extensionConfiguration), resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n", "import { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRecursionDetectionPlugin } from \"@aws-sdk/middleware-recursion-detection\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { resolveRegionConfig } from \"@smithy/config-resolver\";\nimport { DefaultIdentityProviderConfig, getHttpAuthSchemeEndpointRuleSetPlugin, getHttpSigningPlugin, } from \"@smithy/core\";\nimport { getSchemaSerdePlugin } from \"@smithy/core/schema\";\nimport { getContentLengthPlugin } from \"@smithy/middleware-content-length\";\nimport { resolveEndpointConfig, } from \"@smithy/middleware-endpoint\";\nimport { getRetryPlugin, resolveRetryConfig, } from \"@smithy/middleware-retry\";\nimport { Client as __Client, } from \"@smithy/smithy-client\";\nimport { defaultSTSHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class STSClient extends __Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = resolveUserAgentConfig(_config_1);\n const _config_3 = resolveRetryConfig(_config_2);\n const _config_4 = resolveRegionConfig(_config_3);\n const _config_5 = resolveHostHeaderConfig(_config_4);\n const _config_6 = resolveEndpointConfig(_config_5);\n const _config_7 = resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(getUserAgentPlugin(this.config));\n this.middlewareStack.use(getRetryPlugin(this.config));\n this.middlewareStack.use(getContentLengthPlugin(this.config));\n this.middlewareStack.use(getHostHeaderPlugin(this.config));\n this.middlewareStack.use(getLoggerPlugin(this.config));\n this.middlewareStack.use(getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: defaultSTSHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n", "import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class STSServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, STSServiceException.prototype);\n }\n}\n", "import { STSServiceException as __BaseException } from \"./STSServiceException\";\nexport class ExpiredTokenException extends __BaseException {\n name = \"ExpiredTokenException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"ExpiredTokenException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ExpiredTokenException.prototype);\n }\n}\nexport class MalformedPolicyDocumentException extends __BaseException {\n name = \"MalformedPolicyDocumentException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"MalformedPolicyDocumentException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, MalformedPolicyDocumentException.prototype);\n }\n}\nexport class PackedPolicyTooLargeException extends __BaseException {\n name = \"PackedPolicyTooLargeException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"PackedPolicyTooLargeException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, PackedPolicyTooLargeException.prototype);\n }\n}\nexport class RegionDisabledException extends __BaseException {\n name = \"RegionDisabledException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"RegionDisabledException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, RegionDisabledException.prototype);\n }\n}\nexport class IDPRejectedClaimException extends __BaseException {\n name = \"IDPRejectedClaimException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"IDPRejectedClaimException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, IDPRejectedClaimException.prototype);\n }\n}\nexport class InvalidIdentityTokenException extends __BaseException {\n name = \"InvalidIdentityTokenException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"InvalidIdentityTokenException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidIdentityTokenException.prototype);\n }\n}\nexport class IDPCommunicationErrorException extends __BaseException {\n name = \"IDPCommunicationErrorException\";\n $fault = \"client\";\n constructor(opts) {\n super({\n name: \"IDPCommunicationErrorException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, IDPCommunicationErrorException.prototype);\n }\n}\n", "const _A = \"Arn\";\nconst _AKI = \"AccessKeyId\";\nconst _AR = \"AssumeRole\";\nconst _ARI = \"AssumedRoleId\";\nconst _ARR = \"AssumeRoleRequest\";\nconst _ARRs = \"AssumeRoleResponse\";\nconst _ARU = \"AssumedRoleUser\";\nconst _ARWWI = \"AssumeRoleWithWebIdentity\";\nconst _ARWWIR = \"AssumeRoleWithWebIdentityRequest\";\nconst _ARWWIRs = \"AssumeRoleWithWebIdentityResponse\";\nconst _Au = \"Audience\";\nconst _C = \"Credentials\";\nconst _CA = \"ContextAssertion\";\nconst _DS = \"DurationSeconds\";\nconst _E = \"Expiration\";\nconst _EI = \"ExternalId\";\nconst _ETE = \"ExpiredTokenException\";\nconst _IDPCEE = \"IDPCommunicationErrorException\";\nconst _IDPRCE = \"IDPRejectedClaimException\";\nconst _IITE = \"InvalidIdentityTokenException\";\nconst _K = \"Key\";\nconst _MPDE = \"MalformedPolicyDocumentException\";\nconst _P = \"Policy\";\nconst _PA = \"PolicyArns\";\nconst _PAr = \"ProviderArn\";\nconst _PC = \"ProvidedContexts\";\nconst _PCLT = \"ProvidedContextsListType\";\nconst _PCr = \"ProvidedContext\";\nconst _PDT = \"PolicyDescriptorType\";\nconst _PI = \"ProviderId\";\nconst _PPS = \"PackedPolicySize\";\nconst _PPTLE = \"PackedPolicyTooLargeException\";\nconst _Pr = \"Provider\";\nconst _RA = \"RoleArn\";\nconst _RDE = \"RegionDisabledException\";\nconst _RSN = \"RoleSessionName\";\nconst _SAK = \"SecretAccessKey\";\nconst _SFWIT = \"SubjectFromWebIdentityToken\";\nconst _SI = \"SourceIdentity\";\nconst _SN = \"SerialNumber\";\nconst _ST = \"SessionToken\";\nconst _T = \"Tags\";\nconst _TC = \"TokenCode\";\nconst _TTK = \"TransitiveTagKeys\";\nconst _Ta = \"Tag\";\nconst _V = \"Value\";\nconst _WIT = \"WebIdentityToken\";\nconst _a = \"arn\";\nconst _aKST = \"accessKeySecretType\";\nconst _aQE = \"awsQueryError\";\nconst _c = \"client\";\nconst _cTT = \"clientTokenType\";\nconst _e = \"error\";\nconst _hE = \"httpError\";\nconst _m = \"message\";\nconst _pDLT = \"policyDescriptorListType\";\nconst _s = \"smithy.ts.sdk.synthetic.com.amazonaws.sts\";\nconst _tLT = \"tagListType\";\nconst n0 = \"com.amazonaws.sts\";\nimport { TypeRegistry } from \"@smithy/core/schema\";\nimport { ExpiredTokenException, IDPCommunicationErrorException, IDPRejectedClaimException, InvalidIdentityTokenException, MalformedPolicyDocumentException, PackedPolicyTooLargeException, RegionDisabledException, } from \"../models/errors\";\nimport { STSServiceException } from \"../models/STSServiceException\";\nvar accessKeySecretType = [0, n0, _aKST, 8, 0];\nvar clientTokenType = [0, n0, _cTT, 8, 0];\nexport var AssumedRoleUser$ = [3, n0, _ARU, 0, [_ARI, _A], [0, 0], 2];\nexport var AssumeRoleRequest$ = [\n 3,\n n0,\n _ARR,\n 0,\n [_RA, _RSN, _PA, _P, _DS, _T, _TTK, _EI, _SN, _TC, _SI, _PC],\n [0, 0, () => policyDescriptorListType, 0, 1, () => tagListType, 64 | 0, 0, 0, 0, 0, () => ProvidedContextsListType],\n 2,\n];\nexport var AssumeRoleResponse$ = [\n 3,\n n0,\n _ARRs,\n 0,\n [_C, _ARU, _PPS, _SI],\n [[() => Credentials$, 0], () => AssumedRoleUser$, 1, 0],\n];\nexport var AssumeRoleWithWebIdentityRequest$ = [\n 3,\n n0,\n _ARWWIR,\n 0,\n [_RA, _RSN, _WIT, _PI, _PA, _P, _DS],\n [0, 0, [() => clientTokenType, 0], 0, () => policyDescriptorListType, 0, 1],\n 3,\n];\nexport var AssumeRoleWithWebIdentityResponse$ = [\n 3,\n n0,\n _ARWWIRs,\n 0,\n [_C, _SFWIT, _ARU, _PPS, _Pr, _Au, _SI],\n [[() => Credentials$, 0], 0, () => AssumedRoleUser$, 1, 0, 0, 0],\n];\nexport var Credentials$ = [\n 3,\n n0,\n _C,\n 0,\n [_AKI, _SAK, _ST, _E],\n [0, [() => accessKeySecretType, 0], 0, 4],\n 4,\n];\nexport var ExpiredTokenException$ = [\n -3,\n n0,\n _ETE,\n { [_aQE]: [`ExpiredTokenException`, 400], [_e]: _c, [_hE]: 400 },\n [_m],\n [0],\n];\nTypeRegistry.for(n0).registerError(ExpiredTokenException$, ExpiredTokenException);\nexport var IDPCommunicationErrorException$ = [\n -3,\n n0,\n _IDPCEE,\n { [_aQE]: [`IDPCommunicationError`, 400], [_e]: _c, [_hE]: 400 },\n [_m],\n [0],\n];\nTypeRegistry.for(n0).registerError(IDPCommunicationErrorException$, IDPCommunicationErrorException);\nexport var IDPRejectedClaimException$ = [\n -3,\n n0,\n _IDPRCE,\n { [_aQE]: [`IDPRejectedClaim`, 403], [_e]: _c, [_hE]: 403 },\n [_m],\n [0],\n];\nTypeRegistry.for(n0).registerError(IDPRejectedClaimException$, IDPRejectedClaimException);\nexport var InvalidIdentityTokenException$ = [\n -3,\n n0,\n _IITE,\n { [_aQE]: [`InvalidIdentityToken`, 400], [_e]: _c, [_hE]: 400 },\n [_m],\n [0],\n];\nTypeRegistry.for(n0).registerError(InvalidIdentityTokenException$, InvalidIdentityTokenException);\nexport var MalformedPolicyDocumentException$ = [\n -3,\n n0,\n _MPDE,\n { [_aQE]: [`MalformedPolicyDocument`, 400], [_e]: _c, [_hE]: 400 },\n [_m],\n [0],\n];\nTypeRegistry.for(n0).registerError(MalformedPolicyDocumentException$, MalformedPolicyDocumentException);\nexport var PackedPolicyTooLargeException$ = [\n -3,\n n0,\n _PPTLE,\n { [_aQE]: [`PackedPolicyTooLarge`, 400], [_e]: _c, [_hE]: 400 },\n [_m],\n [0],\n];\nTypeRegistry.for(n0).registerError(PackedPolicyTooLargeException$, PackedPolicyTooLargeException);\nexport var PolicyDescriptorType$ = [3, n0, _PDT, 0, [_a], [0]];\nexport var ProvidedContext$ = [3, n0, _PCr, 0, [_PAr, _CA], [0, 0]];\nexport var RegionDisabledException$ = [\n -3,\n n0,\n _RDE,\n { [_aQE]: [`RegionDisabledException`, 403], [_e]: _c, [_hE]: 403 },\n [_m],\n [0],\n];\nTypeRegistry.for(n0).registerError(RegionDisabledException$, RegionDisabledException);\nexport var Tag$ = [3, n0, _Ta, 0, [_K, _V], [0, 0], 2];\nexport var STSServiceException$ = [-3, _s, \"STSServiceException\", 0, [], []];\nTypeRegistry.for(_s).registerError(STSServiceException$, STSServiceException);\nvar policyDescriptorListType = [1, n0, _pDLT, 0, () => PolicyDescriptorType$];\nvar ProvidedContextsListType = [1, n0, _PCLT, 0, () => ProvidedContext$];\nvar tagKeyListType = 64 | 0;\nvar tagListType = [1, n0, _tLT, 0, () => Tag$];\nexport var AssumeRole$ = [9, n0, _AR, 0, () => AssumeRoleRequest$, () => AssumeRoleResponse$];\nexport var AssumeRoleWithWebIdentity$ = [\n 9,\n n0,\n _ARWWI,\n 0,\n () => AssumeRoleWithWebIdentityRequest$,\n () => AssumeRoleWithWebIdentityResponse$,\n];\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { AssumeRole$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class AssumeRoleCommand extends $Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"AssumeRole\", {})\n .n(\"STSClient\", \"AssumeRoleCommand\")\n .sc(AssumeRole$)\n .build() {\n}\n", "import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { AssumeRoleWithWebIdentity$ } from \"../schemas/schemas_0\";\nexport { $Command };\nexport class AssumeRoleWithWebIdentityCommand extends $Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"AWSSecurityTokenServiceV20110615\", \"AssumeRoleWithWebIdentity\", {})\n .n(\"STSClient\", \"AssumeRoleWithWebIdentityCommand\")\n .sc(AssumeRoleWithWebIdentity$)\n .build() {\n}\n", "import { createAggregatedClient } from \"@smithy/smithy-client\";\nimport { AssumeRoleCommand } from \"./commands/AssumeRoleCommand\";\nimport { AssumeRoleWithWebIdentityCommand, } from \"./commands/AssumeRoleWithWebIdentityCommand\";\nimport { STSClient } from \"./STSClient\";\nconst commands = {\n AssumeRoleCommand,\n AssumeRoleWithWebIdentityCommand,\n};\nexport class STS extends STSClient {\n}\ncreateAggregatedClient(commands, STS);\n", "export * from \"./AssumeRoleCommand\";\nexport * from \"./AssumeRoleWithWebIdentityCommand\";\n", "export {};\n", "import { setCredentialFeature } from \"@aws-sdk/core/client\";\nimport { stsRegionDefaultResolver } from \"@aws-sdk/region-config-resolver\";\nimport { AssumeRoleCommand } from \"./commands/AssumeRoleCommand\";\nimport { AssumeRoleWithWebIdentityCommand, } from \"./commands/AssumeRoleWithWebIdentityCommand\";\nconst getAccountIdFromAssumedRoleUser = (assumedRoleUser) => {\n if (typeof assumedRoleUser?.Arn === \"string\") {\n const arnComponents = assumedRoleUser.Arn.split(\":\");\n if (arnComponents.length > 4 && arnComponents[4] !== \"\") {\n return arnComponents[4];\n }\n }\n return undefined;\n};\nconst resolveRegion = async (_region, _parentRegion, credentialProviderLogger, loaderConfig = {}) => {\n const region = typeof _region === \"function\" ? await _region() : _region;\n const parentRegion = typeof _parentRegion === \"function\" ? await _parentRegion() : _parentRegion;\n let stsDefaultRegion = \"\";\n const resolvedRegion = region ?? parentRegion ?? (stsDefaultRegion = await stsRegionDefaultResolver(loaderConfig)());\n credentialProviderLogger?.debug?.(\"@aws-sdk/client-sts::resolveRegion\", \"accepting first of:\", `${region} (credential provider clientConfig)`, `${parentRegion} (contextual client)`, `${stsDefaultRegion} (STS default: AWS_REGION, profile region, or us-east-1)`);\n return resolvedRegion;\n};\nexport const getDefaultRoleAssumer = (stsOptions, STSClient) => {\n let stsClient;\n let closureSourceCreds;\n return async (sourceCreds, params) => {\n closureSourceCreds = sourceCreds;\n if (!stsClient) {\n const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId, } = stsOptions;\n const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {\n logger,\n profile,\n });\n const isCompatibleRequestHandler = !isH2(requestHandler);\n stsClient = new STSClient({\n ...stsOptions,\n userAgentAppId,\n profile,\n credentialDefaultProvider: () => async () => closureSourceCreds,\n region: resolvedRegion,\n requestHandler: isCompatibleRequestHandler ? requestHandler : undefined,\n logger: logger,\n });\n }\n const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new Error(`Invalid response from STS.assumeRole call with role ${params.RoleArn}`);\n }\n const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);\n const credentials = {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n ...(Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope }),\n ...(accountId && { accountId }),\n };\n setCredentialFeature(credentials, \"CREDENTIALS_STS_ASSUME_ROLE\", \"i\");\n return credentials;\n };\n};\nexport const getDefaultRoleAssumerWithWebIdentity = (stsOptions, STSClient) => {\n let stsClient;\n return async (params) => {\n if (!stsClient) {\n const { logger = stsOptions?.parentClientConfig?.logger, profile = stsOptions?.parentClientConfig?.profile, region, requestHandler = stsOptions?.parentClientConfig?.requestHandler, credentialProviderLogger, userAgentAppId = stsOptions?.parentClientConfig?.userAgentAppId, } = stsOptions;\n const resolvedRegion = await resolveRegion(region, stsOptions?.parentClientConfig?.region, credentialProviderLogger, {\n logger,\n profile,\n });\n const isCompatibleRequestHandler = !isH2(requestHandler);\n stsClient = new STSClient({\n ...stsOptions,\n userAgentAppId,\n profile,\n region: resolvedRegion,\n requestHandler: isCompatibleRequestHandler ? requestHandler : undefined,\n logger: logger,\n });\n }\n const { Credentials, AssumedRoleUser } = await stsClient.send(new AssumeRoleWithWebIdentityCommand(params));\n if (!Credentials || !Credentials.AccessKeyId || !Credentials.SecretAccessKey) {\n throw new Error(`Invalid response from STS.assumeRoleWithWebIdentity call with role ${params.RoleArn}`);\n }\n const accountId = getAccountIdFromAssumedRoleUser(AssumedRoleUser);\n const credentials = {\n accessKeyId: Credentials.AccessKeyId,\n secretAccessKey: Credentials.SecretAccessKey,\n sessionToken: Credentials.SessionToken,\n expiration: Credentials.Expiration,\n ...(Credentials.CredentialScope && { credentialScope: Credentials.CredentialScope }),\n ...(accountId && { accountId }),\n };\n if (accountId) {\n setCredentialFeature(credentials, \"RESOLVED_ACCOUNT_ID\", \"T\");\n }\n setCredentialFeature(credentials, \"CREDENTIALS_STS_ASSUME_ROLE_WEB_ID\", \"k\");\n return credentials;\n };\n};\nexport const decorateDefaultCredentialProvider = (provider) => (input) => provider({\n roleAssumer: getDefaultRoleAssumer(input, input.stsClientCtor),\n roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity(input, input.stsClientCtor),\n ...input,\n});\nconst isH2 = (requestHandler) => {\n return requestHandler?.metadata?.handlerProtocol === \"h2\";\n};\n", "import { getDefaultRoleAssumer as StsGetDefaultRoleAssumer, getDefaultRoleAssumerWithWebIdentity as StsGetDefaultRoleAssumerWithWebIdentity, } from \"./defaultStsRoleAssumers\";\nimport { STSClient } from \"./STSClient\";\nconst getCustomizableStsClientCtor = (baseCtor, customizations) => {\n if (!customizations)\n return baseCtor;\n else\n return class CustomizableSTSClient extends baseCtor {\n constructor(config) {\n super(config);\n for (const customization of customizations) {\n this.middlewareStack.use(customization);\n }\n }\n };\n};\nexport const getDefaultRoleAssumer = (stsOptions = {}, stsPlugins) => StsGetDefaultRoleAssumer(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins));\nexport const getDefaultRoleAssumerWithWebIdentity = (stsOptions = {}, stsPlugins) => StsGetDefaultRoleAssumerWithWebIdentity(stsOptions, getCustomizableStsClientCtor(STSClient, stsPlugins));\nexport const decorateDefaultCredentialProvider = (provider) => (input) => provider({\n roleAssumer: getDefaultRoleAssumer(input),\n roleAssumerWithWebIdentity: getDefaultRoleAssumerWithWebIdentity(input),\n ...input,\n});\n", "export * from \"./STSClient\";\nexport * from \"./STS\";\nexport * from \"./commands\";\nexport * from \"./schemas/schemas_0\";\nexport * from \"./models/errors\";\nexport * from \"./models/models_0\";\nexport * from \"./defaultRoleAssumers\";\nexport { STSServiceException } from \"./models/STSServiceException\";\n", "'use strict';\n\nvar sharedIniFileLoader = require('@smithy/shared-ini-file-loader');\nvar propertyProvider = require('@smithy/property-provider');\nvar child_process = require('child_process');\nvar util = require('util');\nvar client = require('@aws-sdk/core/client');\n\nconst getValidatedProcessCredentials = (profileName, data, profiles) => {\n if (data.Version !== 1) {\n throw Error(`Profile ${profileName} credential_process did not return Version 1.`);\n }\n if (data.AccessKeyId === undefined || data.SecretAccessKey === undefined) {\n throw Error(`Profile ${profileName} credential_process returned invalid credentials.`);\n }\n if (data.Expiration) {\n const currentTime = new Date();\n const expireTime = new Date(data.Expiration);\n if (expireTime < currentTime) {\n throw Error(`Profile ${profileName} credential_process returned expired credentials.`);\n }\n }\n let accountId = data.AccountId;\n if (!accountId && profiles?.[profileName]?.aws_account_id) {\n accountId = profiles[profileName].aws_account_id;\n }\n const credentials = {\n accessKeyId: data.AccessKeyId,\n secretAccessKey: data.SecretAccessKey,\n ...(data.SessionToken && { sessionToken: data.SessionToken }),\n ...(data.Expiration && { expiration: new Date(data.Expiration) }),\n ...(data.CredentialScope && { credentialScope: data.CredentialScope }),\n ...(accountId && { accountId }),\n };\n client.setCredentialFeature(credentials, \"CREDENTIALS_PROCESS\", \"w\");\n return credentials;\n};\n\nconst resolveProcessCredentials = async (profileName, profiles, logger) => {\n const profile = profiles[profileName];\n if (profiles[profileName]) {\n const credentialProcess = profile[\"credential_process\"];\n if (credentialProcess !== undefined) {\n const execPromise = util.promisify(sharedIniFileLoader.externalDataInterceptor?.getTokenRecord?.().exec ?? child_process.exec);\n try {\n const { stdout } = await execPromise(credentialProcess);\n let data;\n try {\n data = JSON.parse(stdout.trim());\n }\n catch {\n throw Error(`Profile ${profileName} credential_process returned invalid JSON.`);\n }\n return getValidatedProcessCredentials(profileName, data, profiles);\n }\n catch (error) {\n throw new propertyProvider.CredentialsProviderError(error.message, { logger });\n }\n }\n else {\n throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} did not contain credential_process.`, { logger });\n }\n }\n else {\n throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} could not be found in shared credentials file.`, {\n logger,\n });\n }\n};\n\nconst fromProcess = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-process - fromProcess\");\n const profiles = await sharedIniFileLoader.parseKnownFiles(init);\n return resolveProcessCredentials(sharedIniFileLoader.getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n }), profiles, init.logger);\n};\n\nexports.fromProcess = fromProcess;\n", "\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromWebToken = void 0;\nconst fromWebToken = (init) => async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-web-identity - fromWebToken\");\n const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init;\n let { roleAssumerWithWebIdentity } = init;\n if (!roleAssumerWithWebIdentity) {\n const { getDefaultRoleAssumerWithWebIdentity } = await Promise.resolve().then(() => __importStar(require(\"@aws-sdk/nested-clients/sts\")));\n roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity({\n ...init.clientConfig,\n credentialProviderLogger: init.logger,\n parentClientConfig: {\n ...awsIdentityProperties?.callerClientConfig,\n ...init.parentClientConfig,\n },\n }, init.clientPlugins);\n }\n return roleAssumerWithWebIdentity({\n RoleArn: roleArn,\n RoleSessionName: roleSessionName ?? `aws-sdk-js-session-${Date.now()}`,\n WebIdentityToken: webIdentityToken,\n ProviderId: providerId,\n PolicyArns: policyArns,\n Policy: policy,\n DurationSeconds: durationSeconds,\n });\n};\nexports.fromWebToken = fromWebToken;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.fromTokenFile = void 0;\nconst client_1 = require(\"@aws-sdk/core/client\");\nconst property_provider_1 = require(\"@smithy/property-provider\");\nconst shared_ini_file_loader_1 = require(\"@smithy/shared-ini-file-loader\");\nconst fs_1 = require(\"fs\");\nconst fromWebToken_1 = require(\"./fromWebToken\");\nconst ENV_TOKEN_FILE = \"AWS_WEB_IDENTITY_TOKEN_FILE\";\nconst ENV_ROLE_ARN = \"AWS_ROLE_ARN\";\nconst ENV_ROLE_SESSION_NAME = \"AWS_ROLE_SESSION_NAME\";\nconst fromTokenFile = (init = {}) => async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-web-identity - fromTokenFile\");\n const webIdentityTokenFile = init?.webIdentityTokenFile ?? process.env[ENV_TOKEN_FILE];\n const roleArn = init?.roleArn ?? process.env[ENV_ROLE_ARN];\n const roleSessionName = init?.roleSessionName ?? process.env[ENV_ROLE_SESSION_NAME];\n if (!webIdentityTokenFile || !roleArn) {\n throw new property_provider_1.CredentialsProviderError(\"Web identity configuration not specified\", {\n logger: init.logger,\n });\n }\n const credentials = await (0, fromWebToken_1.fromWebToken)({\n ...init,\n webIdentityToken: shared_ini_file_loader_1.externalDataInterceptor?.getTokenRecord?.()[webIdentityTokenFile] ??\n (0, fs_1.readFileSync)(webIdentityTokenFile, { encoding: \"ascii\" }),\n roleArn,\n roleSessionName,\n })(awsIdentityProperties);\n if (webIdentityTokenFile === process.env[ENV_TOKEN_FILE]) {\n (0, client_1.setCredentialFeature)(credentials, \"CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN\", \"h\");\n }\n return credentials;\n};\nexports.fromTokenFile = fromTokenFile;\n", "'use strict';\n\nvar fromTokenFile = require('./fromTokenFile');\nvar fromWebToken = require('./fromWebToken');\n\n\n\nObject.keys(fromTokenFile).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return fromTokenFile[k]; }\n\t});\n});\nObject.keys(fromWebToken).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return fromWebToken[k]; }\n\t});\n});\n", "'use strict';\n\nvar sharedIniFileLoader = require('@smithy/shared-ini-file-loader');\nvar propertyProvider = require('@smithy/property-provider');\nvar client = require('@aws-sdk/core/client');\nvar credentialProviderLogin = require('@aws-sdk/credential-provider-login');\n\nconst resolveCredentialSource = (credentialSource, profileName, logger) => {\n const sourceProvidersMap = {\n EcsContainer: async (options) => {\n const { fromHttp } = await import('@aws-sdk/credential-provider-http');\n const { fromContainerMetadata } = await import('@smithy/credential-provider-imds');\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is EcsContainer\");\n return async () => propertyProvider.chain(fromHttp(options ?? {}), fromContainerMetadata(options))().then(setNamedProvider);\n },\n Ec2InstanceMetadata: async (options) => {\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is Ec2InstanceMetadata\");\n const { fromInstanceMetadata } = await import('@smithy/credential-provider-imds');\n return async () => fromInstanceMetadata(options)().then(setNamedProvider);\n },\n Environment: async (options) => {\n logger?.debug(\"@aws-sdk/credential-provider-ini - credential_source is Environment\");\n const { fromEnv } = await import('@aws-sdk/credential-provider-env');\n return async () => fromEnv(options)().then(setNamedProvider);\n },\n };\n if (credentialSource in sourceProvidersMap) {\n return sourceProvidersMap[credentialSource];\n }\n else {\n throw new propertyProvider.CredentialsProviderError(`Unsupported credential source in profile ${profileName}. Got ${credentialSource}, ` +\n `expected EcsContainer or Ec2InstanceMetadata or Environment.`, { logger });\n }\n};\nconst setNamedProvider = (creds) => client.setCredentialFeature(creds, \"CREDENTIALS_PROFILE_NAMED_PROVIDER\", \"p\");\n\nconst isAssumeRoleProfile = (arg, { profile = \"default\", logger } = {}) => {\n return (Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.external_id) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.mfa_serial) > -1 &&\n (isAssumeRoleWithSourceProfile(arg, { profile, logger }) || isCredentialSourceProfile(arg, { profile, logger })));\n};\nconst isAssumeRoleWithSourceProfile = (arg, { profile, logger }) => {\n const withSourceProfile = typeof arg.source_profile === \"string\" && typeof arg.credential_source === \"undefined\";\n if (withSourceProfile) {\n logger?.debug?.(` ${profile} isAssumeRoleWithSourceProfile source_profile=${arg.source_profile}`);\n }\n return withSourceProfile;\n};\nconst isCredentialSourceProfile = (arg, { profile, logger }) => {\n const withProviderProfile = typeof arg.credential_source === \"string\" && typeof arg.source_profile === \"undefined\";\n if (withProviderProfile) {\n logger?.debug?.(` ${profile} isCredentialSourceProfile credential_source=${arg.credential_source}`);\n }\n return withProviderProfile;\n};\nconst resolveAssumeRoleCredentials = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, resolveProfileData) => {\n options.logger?.debug(\"@aws-sdk/credential-provider-ini - resolveAssumeRoleCredentials (STS)\");\n const profileData = profiles[profileName];\n const { source_profile, region } = profileData;\n if (!options.roleAssumer) {\n const { getDefaultRoleAssumer } = await import('@aws-sdk/nested-clients/sts');\n options.roleAssumer = getDefaultRoleAssumer({\n ...options.clientConfig,\n credentialProviderLogger: options.logger,\n parentClientConfig: {\n ...callerClientConfig,\n ...options?.parentClientConfig,\n region: region ?? options?.parentClientConfig?.region ?? callerClientConfig?.region,\n },\n }, options.clientPlugins);\n }\n if (source_profile && source_profile in visitedProfiles) {\n throw new propertyProvider.CredentialsProviderError(`Detected a cycle attempting to resolve credentials for profile` +\n ` ${sharedIniFileLoader.getProfileName(options)}. Profiles visited: ` +\n Object.keys(visitedProfiles).join(\", \"), { logger: options.logger });\n }\n options.logger?.debug(`@aws-sdk/credential-provider-ini - finding credential resolver using ${source_profile ? `source_profile=[${source_profile}]` : `profile=[${profileName}]`}`);\n const sourceCredsProvider = source_profile\n ? resolveProfileData(source_profile, profiles, options, callerClientConfig, {\n ...visitedProfiles,\n [source_profile]: true,\n }, isCredentialSourceWithoutRoleArn(profiles[source_profile] ?? {}))\n : (await resolveCredentialSource(profileData.credential_source, profileName, options.logger)(options))();\n if (isCredentialSourceWithoutRoleArn(profileData)) {\n return sourceCredsProvider.then((creds) => client.setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SOURCE_PROFILE\", \"o\"));\n }\n else {\n const params = {\n RoleArn: profileData.role_arn,\n RoleSessionName: profileData.role_session_name || `aws-sdk-js-${Date.now()}`,\n ExternalId: profileData.external_id,\n DurationSeconds: parseInt(profileData.duration_seconds || \"3600\", 10),\n };\n const { mfa_serial } = profileData;\n if (mfa_serial) {\n if (!options.mfaCodeProvider) {\n throw new propertyProvider.CredentialsProviderError(`Profile ${profileName} requires multi-factor authentication, but no MFA code callback was provided.`, { logger: options.logger, tryNextLink: false });\n }\n params.SerialNumber = mfa_serial;\n params.TokenCode = await options.mfaCodeProvider(mfa_serial);\n }\n const sourceCreds = await sourceCredsProvider;\n return options.roleAssumer(sourceCreds, params).then((creds) => client.setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SOURCE_PROFILE\", \"o\"));\n }\n};\nconst isCredentialSourceWithoutRoleArn = (section) => {\n return !section.role_arn && !!section.credential_source;\n};\n\nconst isLoginProfile = (data) => {\n return Boolean(data && data.login_session);\n};\nconst resolveLoginCredentials = async (profileName, options, callerClientConfig) => {\n const credentials = await credentialProviderLogin.fromLoginCredentials({\n ...options,\n profile: profileName,\n })({ callerClientConfig });\n return client.setCredentialFeature(credentials, \"CREDENTIALS_PROFILE_LOGIN\", \"AC\");\n};\n\nconst isProcessProfile = (arg) => Boolean(arg) && typeof arg === \"object\" && typeof arg.credential_process === \"string\";\nconst resolveProcessCredentials = async (options, profile) => import('@aws-sdk/credential-provider-process').then(({ fromProcess }) => fromProcess({\n ...options,\n profile,\n})().then((creds) => client.setCredentialFeature(creds, \"CREDENTIALS_PROFILE_PROCESS\", \"v\")));\n\nconst resolveSsoCredentials = async (profile, profileData, options = {}, callerClientConfig) => {\n const { fromSSO } = await import('@aws-sdk/credential-provider-sso');\n return fromSSO({\n profile,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n clientConfig: options.clientConfig,\n })({\n callerClientConfig,\n }).then((creds) => {\n if (profileData.sso_session) {\n return client.setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SSO\", \"r\");\n }\n else {\n return client.setCredentialFeature(creds, \"CREDENTIALS_PROFILE_SSO_LEGACY\", \"t\");\n }\n });\n};\nconst isSsoProfile = (arg) => arg &&\n (typeof arg.sso_start_url === \"string\" ||\n typeof arg.sso_account_id === \"string\" ||\n typeof arg.sso_session === \"string\" ||\n typeof arg.sso_region === \"string\" ||\n typeof arg.sso_role_name === \"string\");\n\nconst isStaticCredsProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.aws_access_key_id === \"string\" &&\n typeof arg.aws_secret_access_key === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_session_token) > -1 &&\n [\"undefined\", \"string\"].indexOf(typeof arg.aws_account_id) > -1;\nconst resolveStaticCredentials = async (profile, options) => {\n options?.logger?.debug(\"@aws-sdk/credential-provider-ini - resolveStaticCredentials\");\n const credentials = {\n accessKeyId: profile.aws_access_key_id,\n secretAccessKey: profile.aws_secret_access_key,\n sessionToken: profile.aws_session_token,\n ...(profile.aws_credential_scope && { credentialScope: profile.aws_credential_scope }),\n ...(profile.aws_account_id && { accountId: profile.aws_account_id }),\n };\n return client.setCredentialFeature(credentials, \"CREDENTIALS_PROFILE\", \"n\");\n};\n\nconst isWebIdentityProfile = (arg) => Boolean(arg) &&\n typeof arg === \"object\" &&\n typeof arg.web_identity_token_file === \"string\" &&\n typeof arg.role_arn === \"string\" &&\n [\"undefined\", \"string\"].indexOf(typeof arg.role_session_name) > -1;\nconst resolveWebIdentityCredentials = async (profile, options, callerClientConfig) => import('@aws-sdk/credential-provider-web-identity').then(({ fromTokenFile }) => fromTokenFile({\n webIdentityTokenFile: profile.web_identity_token_file,\n roleArn: profile.role_arn,\n roleSessionName: profile.role_session_name,\n roleAssumerWithWebIdentity: options.roleAssumerWithWebIdentity,\n logger: options.logger,\n parentClientConfig: options.parentClientConfig,\n})({\n callerClientConfig,\n}).then((creds) => client.setCredentialFeature(creds, \"CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN\", \"q\")));\n\nconst resolveProfileData = async (profileName, profiles, options, callerClientConfig, visitedProfiles = {}, isAssumeRoleRecursiveCall = false) => {\n const data = profiles[profileName];\n if (Object.keys(visitedProfiles).length > 0 && isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isAssumeRoleRecursiveCall || isAssumeRoleProfile(data, { profile: profileName, logger: options.logger })) {\n return resolveAssumeRoleCredentials(profileName, profiles, options, callerClientConfig, visitedProfiles, resolveProfileData);\n }\n if (isStaticCredsProfile(data)) {\n return resolveStaticCredentials(data, options);\n }\n if (isWebIdentityProfile(data)) {\n return resolveWebIdentityCredentials(data, options, callerClientConfig);\n }\n if (isProcessProfile(data)) {\n return resolveProcessCredentials(options, profileName);\n }\n if (isSsoProfile(data)) {\n return await resolveSsoCredentials(profileName, data, options, callerClientConfig);\n }\n if (isLoginProfile(data)) {\n return resolveLoginCredentials(profileName, options, callerClientConfig);\n }\n throw new propertyProvider.CredentialsProviderError(`Could not resolve credentials using profile: [${profileName}] in configuration/credentials file(s).`, { logger: options.logger });\n};\n\nconst fromIni = (init = {}) => async ({ callerClientConfig } = {}) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-ini - fromIni\");\n const profiles = await sharedIniFileLoader.parseKnownFiles(init);\n return resolveProfileData(sharedIniFileLoader.getProfileName({\n profile: init.profile ?? callerClientConfig?.profile,\n }), profiles, init, callerClientConfig);\n};\n\nexports.fromIni = fromIni;\n", "'use strict';\n\nvar credentialProviderEnv = require('@aws-sdk/credential-provider-env');\nvar propertyProvider = require('@smithy/property-provider');\nvar sharedIniFileLoader = require('@smithy/shared-ini-file-loader');\n\nconst ENV_IMDS_DISABLED = \"AWS_EC2_METADATA_DISABLED\";\nconst remoteProvider = async (init) => {\n const { ENV_CMDS_FULL_URI, ENV_CMDS_RELATIVE_URI, fromContainerMetadata, fromInstanceMetadata } = await import('@smithy/credential-provider-imds');\n if (process.env[ENV_CMDS_RELATIVE_URI] || process.env[ENV_CMDS_FULL_URI]) {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - remoteProvider::fromHttp/fromContainerMetadata\");\n const { fromHttp } = await import('@aws-sdk/credential-provider-http');\n return propertyProvider.chain(fromHttp(init), fromContainerMetadata(init));\n }\n if (process.env[ENV_IMDS_DISABLED] && process.env[ENV_IMDS_DISABLED] !== \"false\") {\n return async () => {\n throw new propertyProvider.CredentialsProviderError(\"EC2 Instance Metadata Service access disabled\", { logger: init.logger });\n };\n }\n init.logger?.debug(\"@aws-sdk/credential-provider-node - remoteProvider::fromInstanceMetadata\");\n return fromInstanceMetadata(init);\n};\n\nfunction memoizeChain(providers, treatAsExpired) {\n const chain = internalCreateChain(providers);\n let activeLock;\n let passiveLock;\n let credentials;\n const provider = async (options) => {\n if (options?.forceRefresh) {\n return await chain(options);\n }\n if (credentials?.expiration) {\n if (credentials?.expiration?.getTime() < Date.now()) {\n credentials = undefined;\n }\n }\n if (activeLock) {\n await activeLock;\n }\n else if (!credentials || treatAsExpired?.(credentials)) {\n if (credentials) {\n if (!passiveLock) {\n passiveLock = chain(options)\n .then((c) => {\n credentials = c;\n })\n .finally(() => {\n passiveLock = undefined;\n });\n }\n }\n else {\n activeLock = chain(options)\n .then((c) => {\n credentials = c;\n })\n .finally(() => {\n activeLock = undefined;\n });\n return provider(options);\n }\n }\n return credentials;\n };\n return provider;\n}\nconst internalCreateChain = (providers) => async (awsIdentityProperties) => {\n let lastProviderError;\n for (const provider of providers) {\n try {\n return await provider(awsIdentityProperties);\n }\n catch (err) {\n lastProviderError = err;\n if (err?.tryNextLink) {\n continue;\n }\n throw err;\n }\n }\n throw lastProviderError;\n};\n\nlet multipleCredentialSourceWarningEmitted = false;\nconst defaultProvider = (init = {}) => memoizeChain([\n async () => {\n const profile = init.profile ?? process.env[sharedIniFileLoader.ENV_PROFILE];\n if (profile) {\n const envStaticCredentialsAreSet = process.env[credentialProviderEnv.ENV_KEY] && process.env[credentialProviderEnv.ENV_SECRET];\n if (envStaticCredentialsAreSet) {\n if (!multipleCredentialSourceWarningEmitted) {\n const warnFn = init.logger?.warn && init.logger?.constructor?.name !== \"NoOpLogger\"\n ? init.logger.warn.bind(init.logger)\n : console.warn;\n warnFn(`@aws-sdk/credential-provider-node - defaultProvider::fromEnv WARNING:\n Multiple credential sources detected: \n Both AWS_PROFILE and the pair AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY static credentials are set.\n This SDK will proceed with the AWS_PROFILE value.\n \n However, a future version may change this behavior to prefer the ENV static credentials.\n Please ensure that your environment only sets either the AWS_PROFILE or the\n AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY pair.\n`);\n multipleCredentialSourceWarningEmitted = true;\n }\n }\n throw new propertyProvider.CredentialsProviderError(\"AWS_PROFILE is set, skipping fromEnv provider.\", {\n logger: init.logger,\n tryNextLink: true,\n });\n }\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromEnv\");\n return credentialProviderEnv.fromEnv(init)();\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromSSO\");\n const { ssoStartUrl, ssoAccountId, ssoRegion, ssoRoleName, ssoSession } = init;\n if (!ssoStartUrl && !ssoAccountId && !ssoRegion && !ssoRoleName && !ssoSession) {\n throw new propertyProvider.CredentialsProviderError(\"Skipping SSO provider in default chain (inputs do not include SSO fields).\", { logger: init.logger });\n }\n const { fromSSO } = await import('@aws-sdk/credential-provider-sso');\n return fromSSO(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromIni\");\n const { fromIni } = await import('@aws-sdk/credential-provider-ini');\n return fromIni(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromProcess\");\n const { fromProcess } = await import('@aws-sdk/credential-provider-process');\n return fromProcess(init)(awsIdentityProperties);\n },\n async (awsIdentityProperties) => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::fromTokenFile\");\n const { fromTokenFile } = await import('@aws-sdk/credential-provider-web-identity');\n return fromTokenFile(init)(awsIdentityProperties);\n },\n async () => {\n init.logger?.debug(\"@aws-sdk/credential-provider-node - defaultProvider::remoteProvider\");\n return (await remoteProvider(init))();\n },\n async () => {\n throw new propertyProvider.CredentialsProviderError(\"Could not load credentials from any providers\", {\n tryNextLink: false,\n logger: init.logger,\n });\n },\n], credentialsTreatedAsExpired);\nconst credentialsWillNeedRefresh = (credentials) => credentials?.expiration !== undefined;\nconst credentialsTreatedAsExpired = (credentials) => credentials?.expiration !== undefined && credentials.expiration.getTime() - Date.now() < 300000;\n\nexports.credentialsTreatedAsExpired = credentialsTreatedAsExpired;\nexports.credentialsWillNeedRefresh = credentialsWillNeedRefresh;\nexports.defaultProvider = defaultProvider;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ruleSet = void 0;\nconst y = \"required\", z = \"fn\", A = \"argv\", B = \"ref\", C = \"properties\", D = \"headers\";\nconst a = true, b = \"isSet\", c = \"booleanEquals\", d = \"error\", e = \"endpoint\", f = \"tree\", g = \"PartitionResult\", h = \"stringEquals\", i = { [y]: false, \"type\": \"string\" }, j = { [y]: true, \"default\": false, \"type\": \"boolean\" }, k = { [B]: \"Endpoint\" }, l = { [z]: c, [A]: [{ [B]: \"UseFIPS\" }, true] }, m = { [z]: c, [A]: [{ [B]: \"UseDualStack\" }, true] }, n = {}, o = { [z]: \"getAttr\", [A]: [{ [B]: g }, \"supportsFIPS\"] }, p = { [z]: c, [A]: [true, { [z]: \"getAttr\", [A]: [{ [B]: g }, \"supportsDualStack\"] }] }, q = { [z]: \"getAttr\", [A]: [{ [B]: g }, \"name\"] }, r = { \"url\": \"https://secretsmanager-fips.{Region}.amazonaws.com\", [C]: {}, [D]: {} }, s = { \"url\": \"https://secretsmanager.{Region}.amazonaws.com\", [C]: {}, [D]: {} }, t = [l], u = [m], v = [{ [B]: \"Region\" }], w = [{ [z]: h, [A]: [\"aws\", q] }], x = [{ [z]: h, [A]: [\"aws-us-gov\", q] }];\nconst _data = { version: \"1.0\", parameters: { Region: i, UseDualStack: j, UseFIPS: j, Endpoint: i }, rules: [{ conditions: [{ [z]: b, [A]: [k] }], rules: [{ conditions: t, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: d }, { conditions: u, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: d }, { endpoint: { url: k, [C]: n, [D]: n }, type: e }], type: f }, { conditions: [{ [z]: b, [A]: v }], rules: [{ conditions: [{ [z]: \"aws.partition\", [A]: v, assign: g }], rules: [{ conditions: [l, m], rules: [{ conditions: [{ [z]: c, [A]: [a, o] }, p], rules: [{ conditions: w, endpoint: r, type: e }, { conditions: x, endpoint: r, type: e }, { endpoint: { url: \"https://secretsmanager-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", [C]: n, [D]: n }, type: e }], type: f }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: d }], type: f }, { conditions: t, rules: [{ conditions: [{ [z]: c, [A]: [o, a] }], rules: [{ endpoint: { url: \"https://secretsmanager-fips.{Region}.{PartitionResult#dnsSuffix}\", [C]: n, [D]: n }, type: e }], type: f }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: d }], type: f }, { conditions: u, rules: [{ conditions: [p], rules: [{ conditions: w, endpoint: s, type: e }, { conditions: [{ [z]: h, [A]: [\"aws-cn\", q] }], endpoint: { url: \"https://secretsmanager.{Region}.amazonaws.com.cn\", [C]: n, [D]: n }, type: e }, { conditions: x, endpoint: s, type: e }, { endpoint: { url: \"https://secretsmanager.{Region}.{PartitionResult#dualStackDnsSuffix}\", [C]: n, [D]: n }, type: e }], type: f }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: d }], type: f }, { endpoint: { url: \"https://secretsmanager.{Region}.{PartitionResult#dnsSuffix}\", [C]: n, [D]: n }, type: e }], type: f }], type: f }, { error: \"Invalid Configuration: Missing Region\", type: d }] };\nexports.ruleSet = _data;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defaultEndpointResolver = void 0;\nconst util_endpoints_1 = require(\"@aws-sdk/util-endpoints\");\nconst util_endpoints_2 = require(\"@smithy/util-endpoints\");\nconst ruleset_1 = require(\"./ruleset\");\nconst cache = new util_endpoints_2.EndpointCache({\n size: 50,\n params: [\"Endpoint\", \"Region\", \"UseDualStack\", \"UseFIPS\"],\n});\nconst defaultEndpointResolver = (endpointParams, context = {}) => {\n return cache.get(endpointParams, () => (0, util_endpoints_2.resolveEndpoint)(ruleset_1.ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n }));\n};\nexports.defaultEndpointResolver = defaultEndpointResolver;\nutil_endpoints_2.customEndpointFunctions.aws = util_endpoints_1.awsEndpointFunctions;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst core_1 = require(\"@aws-sdk/core\");\nconst protocols_1 = require(\"@aws-sdk/core/protocols\");\nconst smithy_client_1 = require(\"@smithy/smithy-client\");\nconst url_parser_1 = require(\"@smithy/url-parser\");\nconst util_base64_1 = require(\"@smithy/util-base64\");\nconst util_utf8_1 = require(\"@smithy/util-utf8\");\nconst httpAuthSchemeProvider_1 = require(\"./auth/httpAuthSchemeProvider\");\nconst endpointResolver_1 = require(\"./endpoint/endpointResolver\");\nconst getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2017-10-17\",\n base64Decoder: config?.base64Decoder ?? util_base64_1.fromBase64,\n base64Encoder: config?.base64Encoder ?? util_base64_1.toBase64,\n disableHostPrefix: config?.disableHostPrefix ?? false,\n endpointProvider: config?.endpointProvider ?? endpointResolver_1.defaultEndpointResolver,\n extensions: config?.extensions ?? [],\n httpAuthSchemeProvider: config?.httpAuthSchemeProvider ?? httpAuthSchemeProvider_1.defaultSecretsManagerHttpAuthSchemeProvider,\n httpAuthSchemes: config?.httpAuthSchemes ?? [\n {\n schemeId: \"aws.auth#sigv4\",\n identityProvider: (ipc) => ipc.getIdentityProvider(\"aws.auth#sigv4\"),\n signer: new core_1.AwsSdkSigV4Signer(),\n },\n ],\n logger: config?.logger ?? new smithy_client_1.NoOpLogger(),\n protocol: config?.protocol ?? protocols_1.AwsJson1_1Protocol,\n protocolSettings: config?.protocolSettings ?? {\n defaultNamespace: \"com.amazonaws.secretsmanager\",\n version: \"2017-10-17\",\n serviceTarget: \"secretsmanager\",\n },\n serviceId: config?.serviceId ?? \"Secrets Manager\",\n urlParser: config?.urlParser ?? url_parser_1.parseUrl,\n utf8Decoder: config?.utf8Decoder ?? util_utf8_1.fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? util_utf8_1.toUtf8,\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n", "\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRuntimeConfig = void 0;\nconst tslib_1 = require(\"tslib\");\nconst package_json_1 = tslib_1.__importDefault(require(\"../package.json\"));\nconst core_1 = require(\"@aws-sdk/core\");\nconst credential_provider_node_1 = require(\"@aws-sdk/credential-provider-node\");\nconst util_user_agent_node_1 = require(\"@aws-sdk/util-user-agent-node\");\nconst config_resolver_1 = require(\"@smithy/config-resolver\");\nconst hash_node_1 = require(\"@smithy/hash-node\");\nconst middleware_retry_1 = require(\"@smithy/middleware-retry\");\nconst node_config_provider_1 = require(\"@smithy/node-config-provider\");\nconst node_http_handler_1 = require(\"@smithy/node-http-handler\");\nconst smithy_client_1 = require(\"@smithy/smithy-client\");\nconst util_body_length_node_1 = require(\"@smithy/util-body-length-node\");\nconst util_defaults_mode_node_1 = require(\"@smithy/util-defaults-mode-node\");\nconst util_retry_1 = require(\"@smithy/util-retry\");\nconst runtimeConfig_shared_1 = require(\"./runtimeConfig.shared\");\nconst getRuntimeConfig = (config) => {\n (0, smithy_client_1.emitWarningIfUnsupportedVersion)(process.version);\n const defaultsMode = (0, util_defaults_mode_node_1.resolveDefaultsModeConfig)(config);\n const defaultConfigProvider = () => defaultsMode().then(smithy_client_1.loadConfigsForDefaultMode);\n const clientSharedValues = (0, runtimeConfig_shared_1.getRuntimeConfig)(config);\n (0, core_1.emitWarningIfUnsupportedVersion)(process.version);\n const loaderConfig = {\n profile: config?.profile,\n logger: clientSharedValues.logger,\n };\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"node\",\n defaultsMode,\n authSchemePreference: config?.authSchemePreference ?? (0, node_config_provider_1.loadConfig)(core_1.NODE_AUTH_SCHEME_PREFERENCE_OPTIONS, loaderConfig),\n bodyLengthChecker: config?.bodyLengthChecker ?? util_body_length_node_1.calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? credential_provider_node_1.defaultProvider,\n defaultUserAgentProvider: config?.defaultUserAgentProvider ?? (0, util_user_agent_node_1.createDefaultUserAgentProvider)({ serviceId: clientSharedValues.serviceId, clientVersion: package_json_1.default.version }),\n maxAttempts: config?.maxAttempts ?? (0, node_config_provider_1.loadConfig)(middleware_retry_1.NODE_MAX_ATTEMPT_CONFIG_OPTIONS, config),\n region: config?.region ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_REGION_CONFIG_OPTIONS, { ...config_resolver_1.NODE_REGION_CONFIG_FILE_OPTIONS, ...loaderConfig }),\n requestHandler: node_http_handler_1.NodeHttpHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ??\n (0, node_config_provider_1.loadConfig)({\n ...middleware_retry_1.NODE_RETRY_MODE_CONFIG_OPTIONS,\n default: async () => (await defaultConfigProvider()).retryMode || util_retry_1.DEFAULT_RETRY_MODE,\n }, config),\n sha256: config?.sha256 ?? hash_node_1.Hash.bind(null, \"sha256\"),\n streamCollector: config?.streamCollector ?? node_http_handler_1.streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n useFipsEndpoint: config?.useFipsEndpoint ?? (0, node_config_provider_1.loadConfig)(config_resolver_1.NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS, loaderConfig),\n userAgentAppId: config?.userAgentAppId ?? (0, node_config_provider_1.loadConfig)(util_user_agent_node_1.NODE_APP_ID_CONFIG_OPTIONS, loaderConfig),\n };\n};\nexports.getRuntimeConfig = getRuntimeConfig;\n", "'use strict';\n\nvar middlewareHostHeader = require('@aws-sdk/middleware-host-header');\nvar middlewareLogger = require('@aws-sdk/middleware-logger');\nvar middlewareRecursionDetection = require('@aws-sdk/middleware-recursion-detection');\nvar middlewareUserAgent = require('@aws-sdk/middleware-user-agent');\nvar configResolver = require('@smithy/config-resolver');\nvar core = require('@smithy/core');\nvar schema = require('@smithy/core/schema');\nvar middlewareContentLength = require('@smithy/middleware-content-length');\nvar middlewareEndpoint = require('@smithy/middleware-endpoint');\nvar middlewareRetry = require('@smithy/middleware-retry');\nvar smithyClient = require('@smithy/smithy-client');\nvar httpAuthSchemeProvider = require('./auth/httpAuthSchemeProvider');\nvar runtimeConfig = require('./runtimeConfig');\nvar regionConfigResolver = require('@aws-sdk/region-config-resolver');\nvar protocolHttp = require('@smithy/protocol-http');\n\nconst resolveClientEndpointParameters = (options) => {\n return Object.assign(options, {\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"secretsmanager\",\n });\n};\nconst commonParams = {\n UseFIPS: { type: \"builtInParams\", name: \"useFipsEndpoint\" },\n Endpoint: { type: \"builtInParams\", name: \"endpoint\" },\n Region: { type: \"builtInParams\", name: \"region\" },\n UseDualStack: { type: \"builtInParams\", name: \"useDualstackEndpoint\" },\n};\n\nconst getHttpAuthExtensionConfiguration = (runtimeConfig) => {\n const _httpAuthSchemes = runtimeConfig.httpAuthSchemes;\n let _httpAuthSchemeProvider = runtimeConfig.httpAuthSchemeProvider;\n let _credentials = runtimeConfig.credentials;\n return {\n setHttpAuthScheme(httpAuthScheme) {\n const index = _httpAuthSchemes.findIndex((scheme) => scheme.schemeId === httpAuthScheme.schemeId);\n if (index === -1) {\n _httpAuthSchemes.push(httpAuthScheme);\n }\n else {\n _httpAuthSchemes.splice(index, 1, httpAuthScheme);\n }\n },\n httpAuthSchemes() {\n return _httpAuthSchemes;\n },\n setHttpAuthSchemeProvider(httpAuthSchemeProvider) {\n _httpAuthSchemeProvider = httpAuthSchemeProvider;\n },\n httpAuthSchemeProvider() {\n return _httpAuthSchemeProvider;\n },\n setCredentials(credentials) {\n _credentials = credentials;\n },\n credentials() {\n return _credentials;\n },\n };\n};\nconst resolveHttpAuthRuntimeConfig = (config) => {\n return {\n httpAuthSchemes: config.httpAuthSchemes(),\n httpAuthSchemeProvider: config.httpAuthSchemeProvider(),\n credentials: config.credentials(),\n };\n};\n\nconst resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = Object.assign(regionConfigResolver.getAwsRegionExtensionConfiguration(runtimeConfig), smithyClient.getDefaultExtensionConfiguration(runtimeConfig), protocolHttp.getHttpHandlerExtensionConfiguration(runtimeConfig), getHttpAuthExtensionConfiguration(runtimeConfig));\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return Object.assign(runtimeConfig, regionConfigResolver.resolveAwsRegionExtensionConfiguration(extensionConfiguration), smithyClient.resolveDefaultRuntimeConfig(extensionConfiguration), protocolHttp.resolveHttpHandlerRuntimeConfig(extensionConfiguration), resolveHttpAuthRuntimeConfig(extensionConfiguration));\n};\n\nclass SecretsManagerClient extends smithyClient.Client {\n config;\n constructor(...[configuration]) {\n const _config_0 = runtimeConfig.getRuntimeConfig(configuration || {});\n super(_config_0);\n this.initConfig = _config_0;\n const _config_1 = resolveClientEndpointParameters(_config_0);\n const _config_2 = middlewareUserAgent.resolveUserAgentConfig(_config_1);\n const _config_3 = middlewareRetry.resolveRetryConfig(_config_2);\n const _config_4 = configResolver.resolveRegionConfig(_config_3);\n const _config_5 = middlewareHostHeader.resolveHostHeaderConfig(_config_4);\n const _config_6 = middlewareEndpoint.resolveEndpointConfig(_config_5);\n const _config_7 = httpAuthSchemeProvider.resolveHttpAuthSchemeConfig(_config_6);\n const _config_8 = resolveRuntimeExtensions(_config_7, configuration?.extensions || []);\n this.config = _config_8;\n this.middlewareStack.use(schema.getSchemaSerdePlugin(this.config));\n this.middlewareStack.use(middlewareUserAgent.getUserAgentPlugin(this.config));\n this.middlewareStack.use(middlewareRetry.getRetryPlugin(this.config));\n this.middlewareStack.use(middlewareContentLength.getContentLengthPlugin(this.config));\n this.middlewareStack.use(middlewareHostHeader.getHostHeaderPlugin(this.config));\n this.middlewareStack.use(middlewareLogger.getLoggerPlugin(this.config));\n this.middlewareStack.use(middlewareRecursionDetection.getRecursionDetectionPlugin(this.config));\n this.middlewareStack.use(core.getHttpAuthSchemeEndpointRuleSetPlugin(this.config, {\n httpAuthSchemeParametersProvider: httpAuthSchemeProvider.defaultSecretsManagerHttpAuthSchemeParametersProvider,\n identityProviderConfigProvider: async (config) => new core.DefaultIdentityProviderConfig({\n \"aws.auth#sigv4\": config.credentials,\n }),\n }));\n this.middlewareStack.use(core.getHttpSigningPlugin(this.config));\n }\n destroy() {\n super.destroy();\n }\n}\n\nclass SecretsManagerServiceException extends smithyClient.ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, SecretsManagerServiceException.prototype);\n }\n}\n\nclass DecryptionFailure extends SecretsManagerServiceException {\n name = \"DecryptionFailure\";\n $fault = \"client\";\n Message;\n constructor(opts) {\n super({\n name: \"DecryptionFailure\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, DecryptionFailure.prototype);\n this.Message = opts.Message;\n }\n}\nclass InternalServiceError extends SecretsManagerServiceException {\n name = \"InternalServiceError\";\n $fault = \"server\";\n Message;\n constructor(opts) {\n super({\n name: \"InternalServiceError\",\n $fault: \"server\",\n ...opts,\n });\n Object.setPrototypeOf(this, InternalServiceError.prototype);\n this.Message = opts.Message;\n }\n}\nclass InvalidNextTokenException extends SecretsManagerServiceException {\n name = \"InvalidNextTokenException\";\n $fault = \"client\";\n Message;\n constructor(opts) {\n super({\n name: \"InvalidNextTokenException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidNextTokenException.prototype);\n this.Message = opts.Message;\n }\n}\nclass InvalidParameterException extends SecretsManagerServiceException {\n name = \"InvalidParameterException\";\n $fault = \"client\";\n Message;\n constructor(opts) {\n super({\n name: \"InvalidParameterException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidParameterException.prototype);\n this.Message = opts.Message;\n }\n}\nclass InvalidRequestException extends SecretsManagerServiceException {\n name = \"InvalidRequestException\";\n $fault = \"client\";\n Message;\n constructor(opts) {\n super({\n name: \"InvalidRequestException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, InvalidRequestException.prototype);\n this.Message = opts.Message;\n }\n}\nclass ResourceNotFoundException extends SecretsManagerServiceException {\n name = \"ResourceNotFoundException\";\n $fault = \"client\";\n Message;\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n this.Message = opts.Message;\n }\n}\nclass EncryptionFailure extends SecretsManagerServiceException {\n name = \"EncryptionFailure\";\n $fault = \"client\";\n Message;\n constructor(opts) {\n super({\n name: \"EncryptionFailure\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, EncryptionFailure.prototype);\n this.Message = opts.Message;\n }\n}\nclass LimitExceededException extends SecretsManagerServiceException {\n name = \"LimitExceededException\";\n $fault = \"client\";\n Message;\n constructor(opts) {\n super({\n name: \"LimitExceededException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, LimitExceededException.prototype);\n this.Message = opts.Message;\n }\n}\nclass MalformedPolicyDocumentException extends SecretsManagerServiceException {\n name = \"MalformedPolicyDocumentException\";\n $fault = \"client\";\n Message;\n constructor(opts) {\n super({\n name: \"MalformedPolicyDocumentException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, MalformedPolicyDocumentException.prototype);\n this.Message = opts.Message;\n }\n}\nclass PreconditionNotMetException extends SecretsManagerServiceException {\n name = \"PreconditionNotMetException\";\n $fault = \"client\";\n Message;\n constructor(opts) {\n super({\n name: \"PreconditionNotMetException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, PreconditionNotMetException.prototype);\n this.Message = opts.Message;\n }\n}\nclass ResourceExistsException extends SecretsManagerServiceException {\n name = \"ResourceExistsException\";\n $fault = \"client\";\n Message;\n constructor(opts) {\n super({\n name: \"ResourceExistsException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, ResourceExistsException.prototype);\n this.Message = opts.Message;\n }\n}\nclass PublicPolicyException extends SecretsManagerServiceException {\n name = \"PublicPolicyException\";\n $fault = \"client\";\n Message;\n constructor(opts) {\n super({\n name: \"PublicPolicyException\",\n $fault: \"client\",\n ...opts,\n });\n Object.setPrototypeOf(this, PublicPolicyException.prototype);\n this.Message = opts.Message;\n }\n}\n\nconst _AAD = \"AutomaticallyAfterDays\";\nconst _APIELT = \"APIErrorListType\";\nconst _APIET = \"APIErrorType\";\nconst _ARN = \"ARN\";\nconst _ARR = \"AddReplicaRegions\";\nconst _ARRLT = \"AddReplicaRegionListType\";\nconst _BGSV = \"BatchGetSecretValue\";\nconst _BGSVR = \"BatchGetSecretValueRequest\";\nconst _BGSVRa = \"BatchGetSecretValueResponse\";\nconst _BPP = \"BlockPublicPolicy\";\nconst _CD = \"CreatedDate\";\nconst _CN = \"CheckName\";\nconst _CRS = \"CancelRotateSecret\";\nconst _CRSR = \"CancelRotateSecretRequest\";\nconst _CRSRa = \"CancelRotateSecretResponse\";\nconst _CRT = \"ClientRequestToken\";\nconst _CS = \"CreateSecret\";\nconst _CSR = \"CreateSecretRequest\";\nconst _CSRr = \"CreateSecretResponse\";\nconst _D = \"Description\";\nconst _DD = \"DeletionDate\";\nconst _DDe = \"DeletedDate\";\nconst _DF = \"DecryptionFailure\";\nconst _DRP = \"DeleteResourcePolicy\";\nconst _DRPR = \"DeleteResourcePolicyRequest\";\nconst _DRPRe = \"DeleteResourcePolicyResponse\";\nconst _DS = \"DeleteSecret\";\nconst _DSR = \"DeleteSecretRequest\";\nconst _DSRe = \"DeleteSecretResponse\";\nconst _DSRes = \"DescribeSecretRequest\";\nconst _DSResc = \"DescribeSecretResponse\";\nconst _DSe = \"DescribeSecret\";\nconst _Du = \"Duration\";\nconst _E = \"Errors\";\nconst _EC = \"ErrorCode\";\nconst _ECx = \"ExcludeCharacters\";\nconst _EF = \"EncryptionFailure\";\nconst _EL = \"ExcludeLowercase\";\nconst _EM = \"ErrorMessage\";\nconst _EN = \"ExcludeNumbers\";\nconst _EP = \"ExcludePunctuation\";\nconst _ESRM = \"ExternalSecretRotationMetadata\";\nconst _ESRMI = \"ExternalSecretRotationMetadataItem\";\nconst _ESRMT = \"ExternalSecretRotationMetadataType\";\nconst _ESRRA = \"ExternalSecretRotationRoleArn\";\nconst _EU = \"ExcludeUppercase\";\nconst _F = \"Filters\";\nconst _FDWR = \"ForceDeleteWithoutRecovery\";\nconst _FLT = \"FiltersListType\";\nconst _FORS = \"ForceOverwriteReplicaSecret\";\nconst _Fi = \"Filter\";\nconst _GRP = \"GetRandomPassword\";\nconst _GRPR = \"GetRandomPasswordRequest\";\nconst _GRPRe = \"GetRandomPasswordResponse\";\nconst _GRPRet = \"GetResourcePolicyRequest\";\nconst _GRPRete = \"GetResourcePolicyResponse\";\nconst _GRPe = \"GetResourcePolicy\";\nconst _GSV = \"GetSecretValue\";\nconst _GSVR = \"GetSecretValueRequest\";\nconst _GSVRe = \"GetSecretValueResponse\";\nconst _ID = \"IncludeDeprecated\";\nconst _INTE = \"InvalidNextTokenException\";\nconst _IPD = \"IncludePlannedDeletion\";\nconst _IPE = \"InvalidParameterException\";\nconst _IRE = \"InvalidRequestException\";\nconst _IS = \"IncludeSpace\";\nconst _ISE = \"InternalServiceError\";\nconst _K = \"Key\";\nconst _KKI = \"KmsKeyId\";\nconst _KKIm = \"KmsKeyIds\";\nconst _LAD = \"LastAccessedDate\";\nconst _LCD = \"LastChangedDate\";\nconst _LEE = \"LimitExceededException\";\nconst _LRD = \"LastRotatedDate\";\nconst _LS = \"ListSecrets\";\nconst _LSR = \"ListSecretsRequest\";\nconst _LSRi = \"ListSecretsResponse\";\nconst _LSVI = \"ListSecretVersionIds\";\nconst _LSVIR = \"ListSecretVersionIdsRequest\";\nconst _LSVIRi = \"ListSecretVersionIdsResponse\";\nconst _M = \"Message\";\nconst _MPDE = \"MalformedPolicyDocumentException\";\nconst _MR = \"MaxResults\";\nconst _MTVI = \"MoveToVersionId\";\nconst _N = \"Name\";\nconst _NRD = \"NextRotationDate\";\nconst _NT = \"NextToken\";\nconst _OS = \"OwningService\";\nconst _PL = \"PasswordLength\";\nconst _PNME = \"PreconditionNotMetException\";\nconst _PPE = \"PublicPolicyException\";\nconst _PR = \"PrimaryRegion\";\nconst _PRP = \"PutResourcePolicy\";\nconst _PRPR = \"PutResourcePolicyRequest\";\nconst _PRPRu = \"PutResourcePolicyResponse\";\nconst _PSV = \"PutSecretValue\";\nconst _PSVR = \"PutSecretValueRequest\";\nconst _PSVRu = \"PutSecretValueResponse\";\nconst _PVP = \"PolicyValidationPassed\";\nconst _R = \"Region\";\nconst _RE = \"RotationEnabled\";\nconst _REE = \"ResourceExistsException\";\nconst _REIT = \"RequireEachIncludedType\";\nconst _RFVI = \"RemoveFromVersionId\";\nconst _RI = \"RotateImmediately\";\nconst _RLARN = \"RotationLambdaARN\";\nconst _RNFE = \"ResourceNotFoundException\";\nconst _RP = \"RandomPassword\";\nconst _RPT = \"RandomPasswordType\";\nconst _RPe = \"ResourcePolicy\";\nconst _RR = \"RotationRules\";\nconst _RRFR = \"RemoveRegionsFromReplication\";\nconst _RRFRR = \"RemoveRegionsFromReplicationRequest\";\nconst _RRFRRe = \"RemoveRegionsFromReplicationResponse\";\nconst _RRR = \"RemoveReplicaRegions\";\nconst _RRT = \"ReplicaRegionType\";\nconst _RRTo = \"RotationRulesType\";\nconst _RS = \"ReplicationStatus\";\nconst _RSLT = \"ReplicationStatusListType\";\nconst _RSR = \"RestoreSecretRequest\";\nconst _RSRe = \"RestoreSecretResponse\";\nconst _RSRo = \"RotateSecretRequest\";\nconst _RSRot = \"RotateSecretResponse\";\nconst _RST = \"ReplicationStatusType\";\nconst _RSTR = \"ReplicateSecretToRegions\";\nconst _RSTRR = \"ReplicateSecretToRegionsRequest\";\nconst _RSTRRe = \"ReplicateSecretToRegionsResponse\";\nconst _RSe = \"RestoreSecret\";\nconst _RSo = \"RotateSecret\";\nconst _RT = \"RotationToken\";\nconst _RTT = \"RotationTokenType\";\nconst _RWID = \"RecoveryWindowInDays\";\nconst _S = \"Status\";\nconst _SB = \"SecretBinary\";\nconst _SBT = \"SecretBinaryType\";\nconst _SBo = \"SortBy\";\nconst _SE = \"ScheduleExpression\";\nconst _SI = \"SecretId\";\nconst _SIL = \"SecretIdList\";\nconst _SL = \"SecretList\";\nconst _SLE = \"SecretListEntry\";\nconst _SLT = \"SecretListType\";\nconst _SM = \"StatusMessage\";\nconst _SO = \"SortOrder\";\nconst _SRTR = \"StopReplicationToReplica\";\nconst _SRTRR = \"StopReplicationToReplicaRequest\";\nconst _SRTRRt = \"StopReplicationToReplicaResponse\";\nconst _SS = \"SecretString\";\nconst _SST = \"SecretStringType\";\nconst _SV = \"SecretValues\";\nconst _SVE = \"SecretValueEntry\";\nconst _SVLE = \"SecretVersionsListEntry\";\nconst _SVLT = \"SecretVersionsListType\";\nconst _SVT = \"SecretValuesType\";\nconst _SVTS = \"SecretVersionsToStages\";\nconst _SVTSMT = \"SecretVersionsToStagesMapType\";\nconst _T = \"Tags\";\nconst _TK = \"TagKeys\";\nconst _TLT = \"TagListType\";\nconst _TR = \"TagResource\";\nconst _TRR = \"TagResourceRequest\";\nconst _Ta = \"Tag\";\nconst _Ty = \"Type\";\nconst _UR = \"UntagResource\";\nconst _URR = \"UntagResourceRequest\";\nconst _US = \"UpdateSecret\";\nconst _USR = \"UpdateSecretRequest\";\nconst _USRp = \"UpdateSecretResponse\";\nconst _USVS = \"UpdateSecretVersionStage\";\nconst _USVSR = \"UpdateSecretVersionStageRequest\";\nconst _USVSRp = \"UpdateSecretVersionStageResponse\";\nconst _V = \"Value\";\nconst _VE = \"ValidationErrors\";\nconst _VEE = \"ValidationErrorsEntry\";\nconst _VET = \"ValidationErrorsType\";\nconst _VI = \"VersionId\";\nconst _VITS = \"VersionIdsToStages\";\nconst _VRP = \"ValidateResourcePolicy\";\nconst _VRPR = \"ValidateResourcePolicyRequest\";\nconst _VRPRa = \"ValidateResourcePolicyResponse\";\nconst _VS = \"VersionStage\";\nconst _VSe = \"VersionStages\";\nconst _Va = \"Values\";\nconst _Ve = \"Versions\";\nconst _c = \"client\";\nconst _e = \"error\";\nconst _s = \"server\";\nconst _sm = \"smithy.ts.sdk.synthetic.com.amazonaws.secretsmanager\";\nconst n0 = \"com.amazonaws.secretsmanager\";\nvar RandomPasswordType = [0, n0, _RPT, 8, 0];\nvar RotationTokenType = [0, n0, _RTT, 8, 0];\nvar SecretBinaryType = [0, n0, _SBT, 8, 21];\nvar SecretStringType = [0, n0, _SST, 8, 0];\nvar APIErrorType$ = [3, n0, _APIET,\n 0,\n [_SI, _EC, _M],\n [0, 0, 0]\n];\nvar BatchGetSecretValueRequest$ = [3, n0, _BGSVR,\n 0,\n [_SIL, _F, _MR, _NT],\n [64 | 0, () => FiltersListType, 1, 0]\n];\nvar BatchGetSecretValueResponse$ = [3, n0, _BGSVRa,\n 0,\n [_SV, _NT, _E],\n [[() => SecretValuesType, 0], 0, () => APIErrorListType]\n];\nvar CancelRotateSecretRequest$ = [3, n0, _CRSR,\n 0,\n [_SI],\n [0], 1\n];\nvar CancelRotateSecretResponse$ = [3, n0, _CRSRa,\n 0,\n [_ARN, _N, _VI],\n [0, 0, 0]\n];\nvar CreateSecretRequest$ = [3, n0, _CSR,\n 0,\n [_N, _CRT, _D, _KKI, _SB, _SS, _T, _ARR, _FORS, _Ty],\n [0, [0, 4], 0, 0, [() => SecretBinaryType, 0], [() => SecretStringType, 0], () => TagListType, () => AddReplicaRegionListType, 2, 0], 1\n];\nvar CreateSecretResponse$ = [3, n0, _CSRr,\n 0,\n [_ARN, _N, _VI, _RS],\n [0, 0, 0, () => ReplicationStatusListType]\n];\nvar DecryptionFailure$ = [-3, n0, _DF,\n { [_e]: _c },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(DecryptionFailure$, DecryptionFailure);\nvar DeleteResourcePolicyRequest$ = [3, n0, _DRPR,\n 0,\n [_SI],\n [0], 1\n];\nvar DeleteResourcePolicyResponse$ = [3, n0, _DRPRe,\n 0,\n [_ARN, _N],\n [0, 0]\n];\nvar DeleteSecretRequest$ = [3, n0, _DSR,\n 0,\n [_SI, _RWID, _FDWR],\n [0, 1, 2], 1\n];\nvar DeleteSecretResponse$ = [3, n0, _DSRe,\n 0,\n [_ARN, _N, _DD],\n [0, 0, 4]\n];\nvar DescribeSecretRequest$ = [3, n0, _DSRes,\n 0,\n [_SI],\n [0], 1\n];\nvar DescribeSecretResponse$ = [3, n0, _DSResc,\n 0,\n [_ARN, _N, _Ty, _D, _KKI, _RE, _RLARN, _RR, _ESRM, _ESRRA, _LRD, _LCD, _LAD, _DDe, _NRD, _T, _VITS, _OS, _CD, _PR, _RS],\n [0, 0, 0, 0, 0, 2, 0, () => RotationRulesType$, () => ExternalSecretRotationMetadataType, 0, 4, 4, 4, 4, 4, () => TagListType, [2, n0, _SVTSMT, 0, 0, 64 | 0], 0, 4, 0, () => ReplicationStatusListType]\n];\nvar EncryptionFailure$ = [-3, n0, _EF,\n { [_e]: _c },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(EncryptionFailure$, EncryptionFailure);\nvar ExternalSecretRotationMetadataItem$ = [3, n0, _ESRMI,\n 0,\n [_K, _V],\n [0, 0]\n];\nvar Filter$ = [3, n0, _Fi,\n 0,\n [_K, _Va],\n [0, 64 | 0]\n];\nvar GetRandomPasswordRequest$ = [3, n0, _GRPR,\n 0,\n [_PL, _ECx, _EN, _EP, _EU, _EL, _IS, _REIT],\n [1, 0, 2, 2, 2, 2, 2, 2]\n];\nvar GetRandomPasswordResponse$ = [3, n0, _GRPRe,\n 0,\n [_RP],\n [[() => RandomPasswordType, 0]]\n];\nvar GetResourcePolicyRequest$ = [3, n0, _GRPRet,\n 0,\n [_SI],\n [0], 1\n];\nvar GetResourcePolicyResponse$ = [3, n0, _GRPRete,\n 0,\n [_ARN, _N, _RPe],\n [0, 0, 0]\n];\nvar GetSecretValueRequest$ = [3, n0, _GSVR,\n 0,\n [_SI, _VI, _VS],\n [0, 0, 0], 1\n];\nvar GetSecretValueResponse$ = [3, n0, _GSVRe,\n 0,\n [_ARN, _N, _VI, _SB, _SS, _VSe, _CD],\n [0, 0, 0, [() => SecretBinaryType, 0], [() => SecretStringType, 0], 64 | 0, 4]\n];\nvar InternalServiceError$ = [-3, n0, _ISE,\n { [_e]: _s },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(InternalServiceError$, InternalServiceError);\nvar InvalidNextTokenException$ = [-3, n0, _INTE,\n { [_e]: _c },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(InvalidNextTokenException$, InvalidNextTokenException);\nvar InvalidParameterException$ = [-3, n0, _IPE,\n { [_e]: _c },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(InvalidParameterException$, InvalidParameterException);\nvar InvalidRequestException$ = [-3, n0, _IRE,\n { [_e]: _c },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(InvalidRequestException$, InvalidRequestException);\nvar LimitExceededException$ = [-3, n0, _LEE,\n { [_e]: _c },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(LimitExceededException$, LimitExceededException);\nvar ListSecretsRequest$ = [3, n0, _LSR,\n 0,\n [_IPD, _MR, _NT, _F, _SO, _SBo],\n [2, 1, 0, () => FiltersListType, 0, 0]\n];\nvar ListSecretsResponse$ = [3, n0, _LSRi,\n 0,\n [_SL, _NT],\n [() => SecretListType, 0]\n];\nvar ListSecretVersionIdsRequest$ = [3, n0, _LSVIR,\n 0,\n [_SI, _MR, _NT, _ID],\n [0, 1, 0, 2], 1\n];\nvar ListSecretVersionIdsResponse$ = [3, n0, _LSVIRi,\n 0,\n [_Ve, _NT, _ARN, _N],\n [() => SecretVersionsListType, 0, 0, 0]\n];\nvar MalformedPolicyDocumentException$ = [-3, n0, _MPDE,\n { [_e]: _c },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(MalformedPolicyDocumentException$, MalformedPolicyDocumentException);\nvar PreconditionNotMetException$ = [-3, n0, _PNME,\n { [_e]: _c },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(PreconditionNotMetException$, PreconditionNotMetException);\nvar PublicPolicyException$ = [-3, n0, _PPE,\n { [_e]: _c },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(PublicPolicyException$, PublicPolicyException);\nvar PutResourcePolicyRequest$ = [3, n0, _PRPR,\n 0,\n [_SI, _RPe, _BPP],\n [0, 0, 2], 2\n];\nvar PutResourcePolicyResponse$ = [3, n0, _PRPRu,\n 0,\n [_ARN, _N],\n [0, 0]\n];\nvar PutSecretValueRequest$ = [3, n0, _PSVR,\n 0,\n [_SI, _CRT, _SB, _SS, _VSe, _RT],\n [0, [0, 4], [() => SecretBinaryType, 0], [() => SecretStringType, 0], 64 | 0, [() => RotationTokenType, 0]], 1\n];\nvar PutSecretValueResponse$ = [3, n0, _PSVRu,\n 0,\n [_ARN, _N, _VI, _VSe],\n [0, 0, 0, 64 | 0]\n];\nvar RemoveRegionsFromReplicationRequest$ = [3, n0, _RRFRR,\n 0,\n [_SI, _RRR],\n [0, 64 | 0], 2\n];\nvar RemoveRegionsFromReplicationResponse$ = [3, n0, _RRFRRe,\n 0,\n [_ARN, _RS],\n [0, () => ReplicationStatusListType]\n];\nvar ReplicaRegionType$ = [3, n0, _RRT,\n 0,\n [_R, _KKI],\n [0, 0]\n];\nvar ReplicateSecretToRegionsRequest$ = [3, n0, _RSTRR,\n 0,\n [_SI, _ARR, _FORS],\n [0, () => AddReplicaRegionListType, 2], 2\n];\nvar ReplicateSecretToRegionsResponse$ = [3, n0, _RSTRRe,\n 0,\n [_ARN, _RS],\n [0, () => ReplicationStatusListType]\n];\nvar ReplicationStatusType$ = [3, n0, _RST,\n 0,\n [_R, _KKI, _S, _SM, _LAD],\n [0, 0, 0, 0, 4]\n];\nvar ResourceExistsException$ = [-3, n0, _REE,\n { [_e]: _c },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(ResourceExistsException$, ResourceExistsException);\nvar ResourceNotFoundException$ = [-3, n0, _RNFE,\n { [_e]: _c },\n [_M],\n [0]\n];\nschema.TypeRegistry.for(n0).registerError(ResourceNotFoundException$, ResourceNotFoundException);\nvar RestoreSecretRequest$ = [3, n0, _RSR,\n 0,\n [_SI],\n [0], 1\n];\nvar RestoreSecretResponse$ = [3, n0, _RSRe,\n 0,\n [_ARN, _N],\n [0, 0]\n];\nvar RotateSecretRequest$ = [3, n0, _RSRo,\n 0,\n [_SI, _CRT, _RLARN, _RR, _ESRM, _ESRRA, _RI],\n [0, [0, 4], 0, () => RotationRulesType$, () => ExternalSecretRotationMetadataType, 0, 2], 1\n];\nvar RotateSecretResponse$ = [3, n0, _RSRot,\n 0,\n [_ARN, _N, _VI],\n [0, 0, 0]\n];\nvar RotationRulesType$ = [3, n0, _RRTo,\n 0,\n [_AAD, _Du, _SE],\n [1, 0, 0]\n];\nvar SecretListEntry$ = [3, n0, _SLE,\n 0,\n [_ARN, _N, _Ty, _D, _KKI, _RE, _RLARN, _RR, _ESRM, _ESRRA, _LRD, _LCD, _LAD, _DDe, _NRD, _T, _SVTS, _OS, _CD, _PR],\n [0, 0, 0, 0, 0, 2, 0, () => RotationRulesType$, () => ExternalSecretRotationMetadataType, 0, 4, 4, 4, 4, 4, () => TagListType, [2, n0, _SVTSMT, 0, 0, 64 | 0], 0, 4, 0]\n];\nvar SecretValueEntry$ = [3, n0, _SVE,\n 0,\n [_ARN, _N, _VI, _SB, _SS, _VSe, _CD],\n [0, 0, 0, [() => SecretBinaryType, 0], [() => SecretStringType, 0], 64 | 0, 4]\n];\nvar SecretVersionsListEntry$ = [3, n0, _SVLE,\n 0,\n [_VI, _VSe, _LAD, _CD, _KKIm],\n [0, 64 | 0, 4, 4, 64 | 0]\n];\nvar StopReplicationToReplicaRequest$ = [3, n0, _SRTRR,\n 0,\n [_SI],\n [0], 1\n];\nvar StopReplicationToReplicaResponse$ = [3, n0, _SRTRRt,\n 0,\n [_ARN],\n [0]\n];\nvar Tag$ = [3, n0, _Ta,\n 0,\n [_K, _V],\n [0, 0]\n];\nvar TagResourceRequest$ = [3, n0, _TRR,\n 0,\n [_SI, _T],\n [0, () => TagListType], 2\n];\nvar UntagResourceRequest$ = [3, n0, _URR,\n 0,\n [_SI, _TK],\n [0, 64 | 0], 2\n];\nvar UpdateSecretRequest$ = [3, n0, _USR,\n 0,\n [_SI, _CRT, _D, _KKI, _SB, _SS, _Ty],\n [0, [0, 4], 0, 0, [() => SecretBinaryType, 0], [() => SecretStringType, 0], 0], 1\n];\nvar UpdateSecretResponse$ = [3, n0, _USRp,\n 0,\n [_ARN, _N, _VI],\n [0, 0, 0]\n];\nvar UpdateSecretVersionStageRequest$ = [3, n0, _USVSR,\n 0,\n [_SI, _VS, _RFVI, _MTVI],\n [0, 0, 0, 0], 2\n];\nvar UpdateSecretVersionStageResponse$ = [3, n0, _USVSRp,\n 0,\n [_ARN, _N],\n [0, 0]\n];\nvar ValidateResourcePolicyRequest$ = [3, n0, _VRPR,\n 0,\n [_RPe, _SI],\n [0, 0], 1\n];\nvar ValidateResourcePolicyResponse$ = [3, n0, _VRPRa,\n 0,\n [_PVP, _VE],\n [2, () => ValidationErrorsType]\n];\nvar ValidationErrorsEntry$ = [3, n0, _VEE,\n 0,\n [_CN, _EM],\n [0, 0]\n];\nvar __Unit = \"unit\";\nvar SecretsManagerServiceException$ = [-3, _sm, \"SecretsManagerServiceException\", 0, [], []];\nschema.TypeRegistry.for(_sm).registerError(SecretsManagerServiceException$, SecretsManagerServiceException);\nvar AddReplicaRegionListType = [1, n0, _ARRLT,\n 0, () => ReplicaRegionType$\n];\nvar APIErrorListType = [1, n0, _APIELT,\n 0, () => APIErrorType$\n];\nvar ExternalSecretRotationMetadataType = [1, n0, _ESRMT,\n 0, () => ExternalSecretRotationMetadataItem$\n];\nvar FiltersListType = [1, n0, _FLT,\n 0, () => Filter$\n];\nvar ReplicationStatusListType = [1, n0, _RSLT,\n 0, () => ReplicationStatusType$\n];\nvar SecretListType = [1, n0, _SLT,\n 0, () => SecretListEntry$\n];\nvar SecretValuesType = [1, n0, _SVT,\n 0, [() => SecretValueEntry$,\n 0]\n];\nvar SecretVersionsListType = [1, n0, _SVLT,\n 0, () => SecretVersionsListEntry$\n];\nvar TagListType = [1, n0, _TLT,\n 0, () => Tag$\n];\nvar ValidationErrorsType = [1, n0, _VET,\n 0, () => ValidationErrorsEntry$\n];\nvar BatchGetSecretValue$ = [9, n0, _BGSV,\n 0, () => BatchGetSecretValueRequest$, () => BatchGetSecretValueResponse$\n];\nvar CancelRotateSecret$ = [9, n0, _CRS,\n 0, () => CancelRotateSecretRequest$, () => CancelRotateSecretResponse$\n];\nvar CreateSecret$ = [9, n0, _CS,\n 0, () => CreateSecretRequest$, () => CreateSecretResponse$\n];\nvar DeleteResourcePolicy$ = [9, n0, _DRP,\n 0, () => DeleteResourcePolicyRequest$, () => DeleteResourcePolicyResponse$\n];\nvar DeleteSecret$ = [9, n0, _DS,\n 0, () => DeleteSecretRequest$, () => DeleteSecretResponse$\n];\nvar DescribeSecret$ = [9, n0, _DSe,\n 0, () => DescribeSecretRequest$, () => DescribeSecretResponse$\n];\nvar GetRandomPassword$ = [9, n0, _GRP,\n 0, () => GetRandomPasswordRequest$, () => GetRandomPasswordResponse$\n];\nvar GetResourcePolicy$ = [9, n0, _GRPe,\n 0, () => GetResourcePolicyRequest$, () => GetResourcePolicyResponse$\n];\nvar GetSecretValue$ = [9, n0, _GSV,\n 0, () => GetSecretValueRequest$, () => GetSecretValueResponse$\n];\nvar ListSecrets$ = [9, n0, _LS,\n 0, () => ListSecretsRequest$, () => ListSecretsResponse$\n];\nvar ListSecretVersionIds$ = [9, n0, _LSVI,\n 0, () => ListSecretVersionIdsRequest$, () => ListSecretVersionIdsResponse$\n];\nvar PutResourcePolicy$ = [9, n0, _PRP,\n 0, () => PutResourcePolicyRequest$, () => PutResourcePolicyResponse$\n];\nvar PutSecretValue$ = [9, n0, _PSV,\n 0, () => PutSecretValueRequest$, () => PutSecretValueResponse$\n];\nvar RemoveRegionsFromReplication$ = [9, n0, _RRFR,\n 0, () => RemoveRegionsFromReplicationRequest$, () => RemoveRegionsFromReplicationResponse$\n];\nvar ReplicateSecretToRegions$ = [9, n0, _RSTR,\n 0, () => ReplicateSecretToRegionsRequest$, () => ReplicateSecretToRegionsResponse$\n];\nvar RestoreSecret$ = [9, n0, _RSe,\n 0, () => RestoreSecretRequest$, () => RestoreSecretResponse$\n];\nvar RotateSecret$ = [9, n0, _RSo,\n 0, () => RotateSecretRequest$, () => RotateSecretResponse$\n];\nvar StopReplicationToReplica$ = [9, n0, _SRTR,\n 0, () => StopReplicationToReplicaRequest$, () => StopReplicationToReplicaResponse$\n];\nvar TagResource$ = [9, n0, _TR,\n 0, () => TagResourceRequest$, () => __Unit\n];\nvar UntagResource$ = [9, n0, _UR,\n 0, () => UntagResourceRequest$, () => __Unit\n];\nvar UpdateSecret$ = [9, n0, _US,\n 0, () => UpdateSecretRequest$, () => UpdateSecretResponse$\n];\nvar UpdateSecretVersionStage$ = [9, n0, _USVS,\n 0, () => UpdateSecretVersionStageRequest$, () => UpdateSecretVersionStageResponse$\n];\nvar ValidateResourcePolicy$ = [9, n0, _VRP,\n 0, () => ValidateResourcePolicyRequest$, () => ValidateResourcePolicyResponse$\n];\n\nclass BatchGetSecretValueCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"BatchGetSecretValue\", {})\n .n(\"SecretsManagerClient\", \"BatchGetSecretValueCommand\")\n .sc(BatchGetSecretValue$)\n .build() {\n}\n\nclass CancelRotateSecretCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"CancelRotateSecret\", {})\n .n(\"SecretsManagerClient\", \"CancelRotateSecretCommand\")\n .sc(CancelRotateSecret$)\n .build() {\n}\n\nclass CreateSecretCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"CreateSecret\", {})\n .n(\"SecretsManagerClient\", \"CreateSecretCommand\")\n .sc(CreateSecret$)\n .build() {\n}\n\nclass DeleteResourcePolicyCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"DeleteResourcePolicy\", {})\n .n(\"SecretsManagerClient\", \"DeleteResourcePolicyCommand\")\n .sc(DeleteResourcePolicy$)\n .build() {\n}\n\nclass DeleteSecretCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"DeleteSecret\", {})\n .n(\"SecretsManagerClient\", \"DeleteSecretCommand\")\n .sc(DeleteSecret$)\n .build() {\n}\n\nclass DescribeSecretCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"DescribeSecret\", {})\n .n(\"SecretsManagerClient\", \"DescribeSecretCommand\")\n .sc(DescribeSecret$)\n .build() {\n}\n\nclass GetRandomPasswordCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"GetRandomPassword\", {})\n .n(\"SecretsManagerClient\", \"GetRandomPasswordCommand\")\n .sc(GetRandomPassword$)\n .build() {\n}\n\nclass GetResourcePolicyCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"GetResourcePolicy\", {})\n .n(\"SecretsManagerClient\", \"GetResourcePolicyCommand\")\n .sc(GetResourcePolicy$)\n .build() {\n}\n\nclass GetSecretValueCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"GetSecretValue\", {})\n .n(\"SecretsManagerClient\", \"GetSecretValueCommand\")\n .sc(GetSecretValue$)\n .build() {\n}\n\nclass ListSecretsCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"ListSecrets\", {})\n .n(\"SecretsManagerClient\", \"ListSecretsCommand\")\n .sc(ListSecrets$)\n .build() {\n}\n\nclass ListSecretVersionIdsCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"ListSecretVersionIds\", {})\n .n(\"SecretsManagerClient\", \"ListSecretVersionIdsCommand\")\n .sc(ListSecretVersionIds$)\n .build() {\n}\n\nclass PutResourcePolicyCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"PutResourcePolicy\", {})\n .n(\"SecretsManagerClient\", \"PutResourcePolicyCommand\")\n .sc(PutResourcePolicy$)\n .build() {\n}\n\nclass PutSecretValueCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"PutSecretValue\", {})\n .n(\"SecretsManagerClient\", \"PutSecretValueCommand\")\n .sc(PutSecretValue$)\n .build() {\n}\n\nclass RemoveRegionsFromReplicationCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"RemoveRegionsFromReplication\", {})\n .n(\"SecretsManagerClient\", \"RemoveRegionsFromReplicationCommand\")\n .sc(RemoveRegionsFromReplication$)\n .build() {\n}\n\nclass ReplicateSecretToRegionsCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"ReplicateSecretToRegions\", {})\n .n(\"SecretsManagerClient\", \"ReplicateSecretToRegionsCommand\")\n .sc(ReplicateSecretToRegions$)\n .build() {\n}\n\nclass RestoreSecretCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"RestoreSecret\", {})\n .n(\"SecretsManagerClient\", \"RestoreSecretCommand\")\n .sc(RestoreSecret$)\n .build() {\n}\n\nclass RotateSecretCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"RotateSecret\", {})\n .n(\"SecretsManagerClient\", \"RotateSecretCommand\")\n .sc(RotateSecret$)\n .build() {\n}\n\nclass StopReplicationToReplicaCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"StopReplicationToReplica\", {})\n .n(\"SecretsManagerClient\", \"StopReplicationToReplicaCommand\")\n .sc(StopReplicationToReplica$)\n .build() {\n}\n\nclass TagResourceCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"TagResource\", {})\n .n(\"SecretsManagerClient\", \"TagResourceCommand\")\n .sc(TagResource$)\n .build() {\n}\n\nclass UntagResourceCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"UntagResource\", {})\n .n(\"SecretsManagerClient\", \"UntagResourceCommand\")\n .sc(UntagResource$)\n .build() {\n}\n\nclass UpdateSecretCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"UpdateSecret\", {})\n .n(\"SecretsManagerClient\", \"UpdateSecretCommand\")\n .sc(UpdateSecret$)\n .build() {\n}\n\nclass UpdateSecretVersionStageCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"UpdateSecretVersionStage\", {})\n .n(\"SecretsManagerClient\", \"UpdateSecretVersionStageCommand\")\n .sc(UpdateSecretVersionStage$)\n .build() {\n}\n\nclass ValidateResourcePolicyCommand extends smithyClient.Command\n .classBuilder()\n .ep(commonParams)\n .m(function (Command, cs, config, o) {\n return [middlewareEndpoint.getEndpointPlugin(config, Command.getEndpointParameterInstructions())];\n})\n .s(\"secretsmanager\", \"ValidateResourcePolicy\", {})\n .n(\"SecretsManagerClient\", \"ValidateResourcePolicyCommand\")\n .sc(ValidateResourcePolicy$)\n .build() {\n}\n\nconst paginateBatchGetSecretValue = core.createPaginator(SecretsManagerClient, BatchGetSecretValueCommand, \"NextToken\", \"NextToken\", \"MaxResults\");\n\nconst paginateListSecrets = core.createPaginator(SecretsManagerClient, ListSecretsCommand, \"NextToken\", \"NextToken\", \"MaxResults\");\n\nconst paginateListSecretVersionIds = core.createPaginator(SecretsManagerClient, ListSecretVersionIdsCommand, \"NextToken\", \"NextToken\", \"MaxResults\");\n\nconst commands = {\n BatchGetSecretValueCommand,\n CancelRotateSecretCommand,\n CreateSecretCommand,\n DeleteResourcePolicyCommand,\n DeleteSecretCommand,\n DescribeSecretCommand,\n GetRandomPasswordCommand,\n GetResourcePolicyCommand,\n GetSecretValueCommand,\n ListSecretsCommand,\n ListSecretVersionIdsCommand,\n PutResourcePolicyCommand,\n PutSecretValueCommand,\n RemoveRegionsFromReplicationCommand,\n ReplicateSecretToRegionsCommand,\n RestoreSecretCommand,\n RotateSecretCommand,\n StopReplicationToReplicaCommand,\n TagResourceCommand,\n UntagResourceCommand,\n UpdateSecretCommand,\n UpdateSecretVersionStageCommand,\n ValidateResourcePolicyCommand,\n};\nconst paginators = {\n paginateBatchGetSecretValue,\n paginateListSecrets,\n paginateListSecretVersionIds,\n};\nclass SecretsManager extends SecretsManagerClient {\n}\nsmithyClient.createAggregatedClient(commands, SecretsManager, { paginators });\n\nconst FilterNameStringType = {\n all: \"all\",\n description: \"description\",\n name: \"name\",\n owning_service: \"owning-service\",\n primary_region: \"primary-region\",\n tag_key: \"tag-key\",\n tag_value: \"tag-value\",\n};\nconst StatusType = {\n Failed: \"Failed\",\n InProgress: \"InProgress\",\n InSync: \"InSync\",\n};\nconst SortByType = {\n created_date: \"created-date\",\n last_accessed_date: \"last-accessed-date\",\n last_changed_date: \"last-changed-date\",\n name: \"name\",\n};\nconst SortOrderType = {\n asc: \"asc\",\n desc: \"desc\",\n};\n\nObject.defineProperty(exports, \"$Command\", {\n enumerable: true,\n get: function () { return smithyClient.Command; }\n});\nObject.defineProperty(exports, \"__Client\", {\n enumerable: true,\n get: function () { return smithyClient.Client; }\n});\nexports.APIErrorType$ = APIErrorType$;\nexports.BatchGetSecretValue$ = BatchGetSecretValue$;\nexports.BatchGetSecretValueCommand = BatchGetSecretValueCommand;\nexports.BatchGetSecretValueRequest$ = BatchGetSecretValueRequest$;\nexports.BatchGetSecretValueResponse$ = BatchGetSecretValueResponse$;\nexports.CancelRotateSecret$ = CancelRotateSecret$;\nexports.CancelRotateSecretCommand = CancelRotateSecretCommand;\nexports.CancelRotateSecretRequest$ = CancelRotateSecretRequest$;\nexports.CancelRotateSecretResponse$ = CancelRotateSecretResponse$;\nexports.CreateSecret$ = CreateSecret$;\nexports.CreateSecretCommand = CreateSecretCommand;\nexports.CreateSecretRequest$ = CreateSecretRequest$;\nexports.CreateSecretResponse$ = CreateSecretResponse$;\nexports.DecryptionFailure = DecryptionFailure;\nexports.DecryptionFailure$ = DecryptionFailure$;\nexports.DeleteResourcePolicy$ = DeleteResourcePolicy$;\nexports.DeleteResourcePolicyCommand = DeleteResourcePolicyCommand;\nexports.DeleteResourcePolicyRequest$ = DeleteResourcePolicyRequest$;\nexports.DeleteResourcePolicyResponse$ = DeleteResourcePolicyResponse$;\nexports.DeleteSecret$ = DeleteSecret$;\nexports.DeleteSecretCommand = DeleteSecretCommand;\nexports.DeleteSecretRequest$ = DeleteSecretRequest$;\nexports.DeleteSecretResponse$ = DeleteSecretResponse$;\nexports.DescribeSecret$ = DescribeSecret$;\nexports.DescribeSecretCommand = DescribeSecretCommand;\nexports.DescribeSecretRequest$ = DescribeSecretRequest$;\nexports.DescribeSecretResponse$ = DescribeSecretResponse$;\nexports.EncryptionFailure = EncryptionFailure;\nexports.EncryptionFailure$ = EncryptionFailure$;\nexports.ExternalSecretRotationMetadataItem$ = ExternalSecretRotationMetadataItem$;\nexports.Filter$ = Filter$;\nexports.FilterNameStringType = FilterNameStringType;\nexports.GetRandomPassword$ = GetRandomPassword$;\nexports.GetRandomPasswordCommand = GetRandomPasswordCommand;\nexports.GetRandomPasswordRequest$ = GetRandomPasswordRequest$;\nexports.GetRandomPasswordResponse$ = GetRandomPasswordResponse$;\nexports.GetResourcePolicy$ = GetResourcePolicy$;\nexports.GetResourcePolicyCommand = GetResourcePolicyCommand;\nexports.GetResourcePolicyRequest$ = GetResourcePolicyRequest$;\nexports.GetResourcePolicyResponse$ = GetResourcePolicyResponse$;\nexports.GetSecretValue$ = GetSecretValue$;\nexports.GetSecretValueCommand = GetSecretValueCommand;\nexports.GetSecretValueRequest$ = GetSecretValueRequest$;\nexports.GetSecretValueResponse$ = GetSecretValueResponse$;\nexports.InternalServiceError = InternalServiceError;\nexports.InternalServiceError$ = InternalServiceError$;\nexports.InvalidNextTokenException = InvalidNextTokenException;\nexports.InvalidNextTokenException$ = InvalidNextTokenException$;\nexports.InvalidParameterException = InvalidParameterException;\nexports.InvalidParameterException$ = InvalidParameterException$;\nexports.InvalidRequestException = InvalidRequestException;\nexports.InvalidRequestException$ = InvalidRequestException$;\nexports.LimitExceededException = LimitExceededException;\nexports.LimitExceededException$ = LimitExceededException$;\nexports.ListSecretVersionIds$ = ListSecretVersionIds$;\nexports.ListSecretVersionIdsCommand = ListSecretVersionIdsCommand;\nexports.ListSecretVersionIdsRequest$ = ListSecretVersionIdsRequest$;\nexports.ListSecretVersionIdsResponse$ = ListSecretVersionIdsResponse$;\nexports.ListSecrets$ = ListSecrets$;\nexports.ListSecretsCommand = ListSecretsCommand;\nexports.ListSecretsRequest$ = ListSecretsRequest$;\nexports.ListSecretsResponse$ = ListSecretsResponse$;\nexports.MalformedPolicyDocumentException = MalformedPolicyDocumentException;\nexports.MalformedPolicyDocumentException$ = MalformedPolicyDocumentException$;\nexports.PreconditionNotMetException = PreconditionNotMetException;\nexports.PreconditionNotMetException$ = PreconditionNotMetException$;\nexports.PublicPolicyException = PublicPolicyException;\nexports.PublicPolicyException$ = PublicPolicyException$;\nexports.PutResourcePolicy$ = PutResourcePolicy$;\nexports.PutResourcePolicyCommand = PutResourcePolicyCommand;\nexports.PutResourcePolicyRequest$ = PutResourcePolicyRequest$;\nexports.PutResourcePolicyResponse$ = PutResourcePolicyResponse$;\nexports.PutSecretValue$ = PutSecretValue$;\nexports.PutSecretValueCommand = PutSecretValueCommand;\nexports.PutSecretValueRequest$ = PutSecretValueRequest$;\nexports.PutSecretValueResponse$ = PutSecretValueResponse$;\nexports.RemoveRegionsFromReplication$ = RemoveRegionsFromReplication$;\nexports.RemoveRegionsFromReplicationCommand = RemoveRegionsFromReplicationCommand;\nexports.RemoveRegionsFromReplicationRequest$ = RemoveRegionsFromReplicationRequest$;\nexports.RemoveRegionsFromReplicationResponse$ = RemoveRegionsFromReplicationResponse$;\nexports.ReplicaRegionType$ = ReplicaRegionType$;\nexports.ReplicateSecretToRegions$ = ReplicateSecretToRegions$;\nexports.ReplicateSecretToRegionsCommand = ReplicateSecretToRegionsCommand;\nexports.ReplicateSecretToRegionsRequest$ = ReplicateSecretToRegionsRequest$;\nexports.ReplicateSecretToRegionsResponse$ = ReplicateSecretToRegionsResponse$;\nexports.ReplicationStatusType$ = ReplicationStatusType$;\nexports.ResourceExistsException = ResourceExistsException;\nexports.ResourceExistsException$ = ResourceExistsException$;\nexports.ResourceNotFoundException = ResourceNotFoundException;\nexports.ResourceNotFoundException$ = ResourceNotFoundException$;\nexports.RestoreSecret$ = RestoreSecret$;\nexports.RestoreSecretCommand = RestoreSecretCommand;\nexports.RestoreSecretRequest$ = RestoreSecretRequest$;\nexports.RestoreSecretResponse$ = RestoreSecretResponse$;\nexports.RotateSecret$ = RotateSecret$;\nexports.RotateSecretCommand = RotateSecretCommand;\nexports.RotateSecretRequest$ = RotateSecretRequest$;\nexports.RotateSecretResponse$ = RotateSecretResponse$;\nexports.RotationRulesType$ = RotationRulesType$;\nexports.SecretListEntry$ = SecretListEntry$;\nexports.SecretValueEntry$ = SecretValueEntry$;\nexports.SecretVersionsListEntry$ = SecretVersionsListEntry$;\nexports.SecretsManager = SecretsManager;\nexports.SecretsManagerClient = SecretsManagerClient;\nexports.SecretsManagerServiceException = SecretsManagerServiceException;\nexports.SecretsManagerServiceException$ = SecretsManagerServiceException$;\nexports.SortByType = SortByType;\nexports.SortOrderType = SortOrderType;\nexports.StatusType = StatusType;\nexports.StopReplicationToReplica$ = StopReplicationToReplica$;\nexports.StopReplicationToReplicaCommand = StopReplicationToReplicaCommand;\nexports.StopReplicationToReplicaRequest$ = StopReplicationToReplicaRequest$;\nexports.StopReplicationToReplicaResponse$ = StopReplicationToReplicaResponse$;\nexports.Tag$ = Tag$;\nexports.TagResource$ = TagResource$;\nexports.TagResourceCommand = TagResourceCommand;\nexports.TagResourceRequest$ = TagResourceRequest$;\nexports.UntagResource$ = UntagResource$;\nexports.UntagResourceCommand = UntagResourceCommand;\nexports.UntagResourceRequest$ = UntagResourceRequest$;\nexports.UpdateSecret$ = UpdateSecret$;\nexports.UpdateSecretCommand = UpdateSecretCommand;\nexports.UpdateSecretRequest$ = UpdateSecretRequest$;\nexports.UpdateSecretResponse$ = UpdateSecretResponse$;\nexports.UpdateSecretVersionStage$ = UpdateSecretVersionStage$;\nexports.UpdateSecretVersionStageCommand = UpdateSecretVersionStageCommand;\nexports.UpdateSecretVersionStageRequest$ = UpdateSecretVersionStageRequest$;\nexports.UpdateSecretVersionStageResponse$ = UpdateSecretVersionStageResponse$;\nexports.ValidateResourcePolicy$ = ValidateResourcePolicy$;\nexports.ValidateResourcePolicyCommand = ValidateResourcePolicyCommand;\nexports.ValidateResourcePolicyRequest$ = ValidateResourcePolicyRequest$;\nexports.ValidateResourcePolicyResponse$ = ValidateResourcePolicyResponse$;\nexports.ValidationErrorsEntry$ = ValidationErrorsEntry$;\nexports.paginateBatchGetSecretValue = paginateBatchGetSecretValue;\nexports.paginateListSecretVersionIds = paginateListSecretVersionIds;\nexports.paginateListSecrets = paginateListSecrets;\n", "/**\n * AWS Secrets Manager Provider\n *\n * Loads M2M credentials from AWS Secrets Manager.\n * Uses dynamic import to avoid requiring AWS SDK when not in AWS environment.\n */\n\nimport { Auth0M2MCredentials, IAuthLogger } from \"../types\";\nimport { ISecretsProvider } from \"./types\";\n\n/**\n * Default no-op logger\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * AWS Secrets Manager provider for M2M credentials\n *\n * This provider:\n * 1. Detects AWS environment via env vars\n * 2. Dynamically imports AWS SDK to avoid bundling overhead\n * 3. Loads credentials from Secrets Manager\n *\n * @example\n * ```typescript\n * const provider = new AWSSecretsProvider(logger);\n * if (await provider.isAvailable()) {\n * const credentials = await provider.loadAuth0M2MCredentials('my-secret-name');\n * }\n * ```\n */\nexport class AWSSecretsProvider implements ISecretsProvider {\n private logger: IAuthLogger;\n private region: string | undefined;\n\n constructor(logger?: IAuthLogger) {\n this.logger = logger || noopLogger;\n this.region = process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION;\n }\n\n /**\n * Get the provider name for logging\n */\n getName(): string {\n return \"AWS Secrets Manager\";\n }\n\n /**\n * Check if running in AWS environment with credentials available\n */\n async isAvailable(): Promise<boolean> {\n // Check for AWS environment indicators\n const hasRegion = !!(\n process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION\n );\n const hasExecutionEnv = !!process.env.AWS_EXECUTION_ENV;\n const hasCredentials = !!(\n process.env.AWS_ACCESS_KEY_ID ||\n process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI ||\n process.env.AWS_WEB_IDENTITY_TOKEN_FILE\n );\n\n const isAWSEnvironment =\n hasRegion && (hasExecutionEnv || hasCredentials);\n\n if (isAWSEnvironment) {\n this.logger.debug(\"AWS environment detected\");\n } else {\n this.logger.debug(\"Not in AWS environment\");\n }\n\n return isAWSEnvironment;\n }\n\n /**\n * Load Auth0 M2M credentials from AWS Secrets Manager\n *\n * @param secretName - The name or ARN of the secret in Secrets Manager\n * @returns M2M credentials or null if not found\n */\n async loadAuth0M2MCredentials(\n secretName: string\n ): Promise<Auth0M2MCredentials | null> {\n this.logger.info(\n `Loading M2M credentials from AWS Secrets Manager: ${secretName}`\n );\n\n try {\n // Dynamic import to avoid bundling AWS SDK when not needed\n const { SecretsManagerClient, GetSecretValueCommand } =\n await import(\"@aws-sdk/client-secrets-manager\");\n\n const client = new SecretsManagerClient({\n region: this.region,\n });\n\n const command = new GetSecretValueCommand({\n SecretId: secretName,\n });\n\n const response = await client.send(command);\n\n if (!response.SecretString) {\n this.logger.error(\"Secret value is empty or binary\");\n return null;\n }\n\n const secretValue = JSON.parse(response.SecretString);\n\n // Validate required fields\n if (\n !secretValue.client_id ||\n !secretValue.client_secret ||\n !secretValue.audience ||\n !secretValue.domain\n ) {\n this.logger.error(\n \"Secret missing required fields (client_id, client_secret, audience, domain)\"\n );\n return null;\n }\n\n this.logger.info(\"M2M credentials loaded from AWS Secrets Manager\");\n return {\n client_id: secretValue.client_id,\n client_secret: secretValue.client_secret,\n audience: secretValue.audience,\n domain: secretValue.domain,\n };\n } catch (error) {\n if (error instanceof Error) {\n if (error.name === \"ResourceNotFoundException\") {\n this.logger.warn(`Secret not found: ${secretName}`);\n return null;\n }\n if (error.message.includes(\"Cannot find module\")) {\n this.logger.warn(\n \"AWS SDK not available - @aws-sdk/client-secrets-manager not installed\"\n );\n return null;\n }\n this.logger.error(\"Failed to load secret from AWS\", error);\n }\n return null;\n }\n }\n}\n", "/**\n * Local File Secrets Provider\n *\n * Loads M2M credentials from local file system.\n * Primarily used for local development and testing.\n */\n\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as os from \"os\";\nimport { Auth0M2MCredentials, IAuthLogger } from \"../types\";\nimport { ISecretsProvider } from \"./types\";\n\n/**\n * Default no-op logger\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Local file secrets provider for M2M credentials\n *\n * Loads credentials from `~/.dataflint/m2m_secret.{environment}.json`\n *\n * @example\n * ```typescript\n * const provider = new LocalFileSecretsProvider('prod', logger);\n * if (await provider.isAvailable()) {\n * const credentials = await provider.loadAuth0M2MCredentials('unused');\n * }\n * ```\n */\nexport class LocalFileSecretsProvider implements ISecretsProvider {\n private logger: IAuthLogger;\n private environment: string;\n private secretFilePath: string;\n\n constructor(environment: string, logger?: IAuthLogger) {\n this.logger = logger || noopLogger;\n this.environment = environment;\n this.secretFilePath = path.join(\n os.homedir(),\n \".dataflint\",\n `m2m_secret.${environment}.json`\n );\n }\n\n /**\n * Get the provider name for logging\n */\n getName(): string {\n return \"Local File\";\n }\n\n /**\n * Check if the local secret file exists\n */\n async isAvailable(): Promise<boolean> {\n const exists = fs.existsSync(this.secretFilePath);\n\n if (exists) {\n this.logger.debug(\n `Local M2M secret file found: ${this.secretFilePath}`\n );\n } else {\n this.logger.debug(\n `Local M2M secret file not found: ${this.secretFilePath}`\n );\n }\n\n return exists;\n }\n\n /**\n * Load Auth0 M2M credentials from local file\n *\n * @param _secretName - Ignored, uses environment-based file path\n * @returns M2M credentials or null if not found or invalid\n */\n async loadAuth0M2MCredentials(\n _secretName: string\n ): Promise<Auth0M2MCredentials | null> {\n this.logger.info(\n `Loading M2M credentials from local file: ${this.secretFilePath}`\n );\n\n try {\n if (!fs.existsSync(this.secretFilePath)) {\n this.logger.debug(\"Local secret file does not exist\");\n return null;\n }\n\n // Check file permissions (should be 0600 for security)\n const stats = fs.statSync(this.secretFilePath);\n const mode = stats.mode & 0o777;\n if (mode !== 0o600) {\n this.logger.warn(\n `Secret file has insecure permissions: ${mode.toString(8)}. Should be 600.`\n );\n }\n\n const content = fs.readFileSync(this.secretFilePath, \"utf8\");\n const secretValue = JSON.parse(content);\n\n // Validate required fields\n if (\n !secretValue.client_id ||\n !secretValue.client_secret ||\n !secretValue.audience ||\n !secretValue.domain\n ) {\n this.logger.error(\n \"Local secret file missing required fields (client_id, client_secret, audience, domain)\"\n );\n return null;\n }\n\n this.logger.info(\"M2M credentials loaded from local file\");\n return {\n client_id: secretValue.client_id,\n client_secret: secretValue.client_secret,\n audience: secretValue.audience,\n domain: secretValue.domain,\n };\n } catch (error) {\n if (error instanceof SyntaxError) {\n this.logger.error(\"Failed to parse local secret file as JSON\");\n } else {\n this.logger.error(\"Failed to load local secret file\", error);\n }\n return null;\n }\n }\n\n /**\n * Get the path to the secret file (for diagnostics)\n */\n getSecretFilePath(): string {\n return this.secretFilePath;\n }\n}\n", "/**\n * Composite Secrets Provider\n *\n * Tries multiple secrets providers in priority order:\n * 1. AWS Secrets Manager (production environments)\n * 2. Local file (development/testing)\n */\n\nimport { Auth0M2MCredentials, IAuthLogger } from \"../types\";\nimport { ISecretsProvider } from \"./types\";\nimport { AWSSecretsProvider } from \"./aws-secrets-provider\";\nimport { LocalFileSecretsProvider } from \"./local-file-secrets-provider\";\n\n/**\n * Default no-op logger\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Composite secrets provider that tries multiple sources in order\n *\n * Priority:\n * 1. AWS Secrets Manager (if in AWS environment)\n * 2. Local file (~/.dataflint/m2m_secret.{env}.json)\n *\n * @example\n * ```typescript\n * const provider = new SecretsProvider('prod', logger);\n * const credentials = await provider.loadAuth0M2MCredentials('auth0_m2m_databricks_loader_prod');\n * if (credentials) {\n * // Use credentials for Auth0 M2M authentication\n * }\n * ```\n */\nexport class SecretsProvider implements ISecretsProvider {\n private logger: IAuthLogger;\n private providers: ISecretsProvider[];\n private environment: string;\n\n constructor(environment: string, logger?: IAuthLogger) {\n this.logger = logger || noopLogger;\n this.environment = environment;\n\n // Initialize providers in priority order\n this.providers = [\n new AWSSecretsProvider(logger),\n new LocalFileSecretsProvider(environment, logger),\n ];\n }\n\n /**\n * Get the provider name for logging\n */\n getName(): string {\n return \"Composite Secrets Provider\";\n }\n\n /**\n * Check if any provider is available\n */\n async isAvailable(): Promise<boolean> {\n for (const provider of this.providers) {\n if (await provider.isAvailable()) {\n this.logger.debug(\n `Secrets provider available: ${provider.getName()}`\n );\n return true;\n }\n }\n this.logger.debug(\"No secrets providers available\");\n return false;\n }\n\n /**\n * Load Auth0 M2M credentials from the first available provider\n *\n * @param secretName - The name of the secret (used for AWS, ignored for local file)\n * @returns M2M credentials or null if not found in any provider\n */\n async loadAuth0M2MCredentials(\n secretName: string\n ): Promise<Auth0M2MCredentials | null> {\n this.logger.info(\"Attempting to load M2M credentials...\");\n\n for (const provider of this.providers) {\n const providerName = provider.getName();\n\n if (!(await provider.isAvailable())) {\n this.logger.debug(`Provider not available: ${providerName}`);\n continue;\n }\n\n this.logger.info(`Trying provider: ${providerName}`);\n const credentials =\n await provider.loadAuth0M2MCredentials(secretName);\n\n if (credentials) {\n this.logger.info(\n `M2M credentials loaded from: ${providerName}`\n );\n return credentials;\n }\n\n this.logger.debug(\n `No credentials found in provider: ${providerName}`\n );\n }\n\n this.logger.info(\"No M2M credentials found in any provider\");\n return null;\n }\n\n /**\n * Get the default secret name for M2M credentials based on environment\n *\n * @param environment - The environment (prod, staging, local)\n * @returns The default secret name\n */\n static getDefaultSecretName(environment: string): string {\n return `auth0_m2m_databricks_loader_${environment}`;\n }\n}\n", "/**\n * Secrets Providers Module\n *\n * Provides multiple strategies for loading M2M credentials:\n * - AWS Secrets Manager (production)\n * - Local file (development)\n */\n\nexport { ISecretsProvider } from \"./types\";\nexport { AWSSecretsProvider } from \"./aws-secrets-provider\";\nexport { LocalFileSecretsProvider } from \"./local-file-secrets-provider\";\nexport { SecretsProvider } from \"./secrets-provider\";\n", "/**\n * Authentication Strategy Factory\n *\n * Creates the appropriate authentication strategy based on configuration and environment.\n *\n * Strategy Priority (for MCP standalone server):\n * 1. Service Account - M2M_SA_TOKEN_PATH env var \u2192 read JWT from file\n * 2. Auth0 M2M - Secrets available \u2192 client credentials grant\n * 3. Auth0 User - Interactive OAuth2/PKCE flow (fallback, returned as null)\n *\n * Note: VS Code Extension only uses Auth0 User flow directly (no factory needed).\n */\n\nimport {\n IAuthStrategy,\n AuthStrategyType,\n IAuthConfigProvider,\n IAuthLogger,\n M2MMode,\n M2MType,\n} from \"./types\";\nimport { ServiceAccountService } from \"./service-account-service\";\nimport { Auth0M2MService } from \"./auth0-m2m-service\";\nimport { SecretsProvider } from \"./secrets\";\n\n/**\n * Result from strategy creation\n */\nexport interface StrategyResult {\n /**\n * The created strategy, or null if fallback to interactive OAuth is needed\n */\n strategy: IAuthStrategy | null;\n\n /**\n * The type of strategy created (or 'auth0_user' if null strategy)\n */\n strategyType: AuthStrategyType;\n}\n\n/**\n * Default no-op logger\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Factory for creating authentication strategies\n *\n * This factory determines the best authentication strategy based on:\n * 1. Environment configuration (M2M_SA_TOKEN_PATH)\n * 2. Available secrets (AWS Secrets Manager or local file)\n * 3. Falls back to interactive OAuth if no M2M strategy is available\n *\n * @example\n * ```typescript\n * const factory = new AuthStrategyFactory(configService, logger);\n * const { strategy, strategyType } = await factory.createStrategy();\n *\n * if (strategy) {\n * // Use M2M strategy (ServiceAccount or Auth0 M2M)\n * await strategy.initialize();\n * const token = await strategy.getToken();\n * } else {\n * // Fall back to interactive Auth0 OAuth flow\n * const auth0Service = new Auth0Service(...);\n * await auth0Service.authenticate();\n * }\n * ```\n */\nexport class AuthStrategyFactory {\n private configProvider: IAuthConfigProvider;\n private logger: IAuthLogger;\n\n constructor(configProvider: IAuthConfigProvider, logger?: IAuthLogger) {\n this.configProvider = configProvider;\n this.logger = logger || noopLogger;\n }\n\n async createStrategy(): Promise<StrategyResult> {\n const m2mMode = this.configProvider.getM2MMode();\n\n switch (m2mMode.type) {\n case M2MType.SERVICE_ACCOUNT:\n return this.buildServiceAccountStrategy(m2mMode);\n case M2MType.AUTH0_M2M:\n return await this.buildAuth0M2MStrategy(m2mMode);\n default:\n this.logger.info(\"Using interactive OAuth flow\");\n return {\n strategy: null,\n strategyType: AuthStrategyType.AUTH0_USER,\n };\n }\n }\n\n private buildServiceAccountStrategy(\n mode: Extract<M2MMode, { type: M2MType.SERVICE_ACCOUNT }>\n ): StrategyResult {\n this.logger.info(`Service Account mode: ${mode.tokenPath}`);\n return {\n strategy: new ServiceAccountService(\n mode.tokenPath,\n mode.tenantId,\n this.logger\n ),\n strategyType: AuthStrategyType.SERVICE_ACCOUNT,\n };\n }\n\n private async buildAuth0M2MStrategy(\n mode: Extract<M2MMode, { type: M2MType.AUTH0_M2M }>\n ): Promise<StrategyResult> {\n const secretsProvider = new SecretsProvider(\n this.configProvider.getEnvironment(),\n this.logger\n );\n\n if (!(await secretsProvider.isAvailable())) {\n throw new Error(\n `Auth0 M2M mode requires a secrets provider. ` +\n `M2M_AUTH0_SECRET_NAME is set to \"${mode.secretName}\" but no secrets provider is available. ` +\n `Ensure AWS credentials are configured or use Service Account mode instead.`\n );\n }\n\n const credentials = await secretsProvider.loadAuth0M2MCredentials(\n mode.secretName\n );\n if (!credentials) {\n throw new Error(\n `Auth0 M2M credentials not found: \"${mode.secretName}\". ` +\n `Ensure the secret exists and contains valid Auth0 M2M credentials.`\n );\n }\n\n this.logger.info(`Auth0 M2M mode: ${mode.secretName}`);\n return {\n strategy: new Auth0M2MService(\n credentials,\n mode.tenantId,\n this.logger\n ),\n strategyType: AuthStrategyType.AUTH0_M2M,\n };\n }\n\n async isM2MAvailable(): Promise<boolean> {\n const mode = this.configProvider.getM2MMode();\n if (mode.type === M2MType.SERVICE_ACCOUNT) {\n return true;\n }\n if (mode.type === M2MType.AUTH0_M2M) {\n const secretsProvider = new SecretsProvider(\n this.configProvider.getEnvironment(),\n this.logger\n );\n return secretsProvider.isAvailable();\n }\n return false;\n }\n}\n", "/**\n * Shared authentication configuration and services for DataFlint\n *\n * This package provides:\n * - Customer-specific Auth0 configuration lookup\n * - Multiple authentication strategies (Service Account, Auth0 M2M, Auth0 User)\n * - Secrets providers (AWS Secrets Manager, Local File)\n * - Strategy factory for automatic strategy selection\n *\n * @example Basic usage with Auth0 user flow:\n * ```typescript\n * import { Auth0Service, getCustomerAuthConfig } from \"@dataflint/shared-auth-config\";\n *\n * const config = getCustomerAuthConfig(\"acme.corp\");\n * const auth0 = new Auth0Service(openUrl, () => config, logger);\n * await auth0.authenticate();\n * ```\n *\n * @example Using the strategy factory (MCP standalone):\n * ```typescript\n * import { AuthStrategyFactory } from \"@dataflint/shared-auth-config\";\n *\n * const factory = new AuthStrategyFactory(configService, logger);\n * const { strategy, strategyType } = await factory.createStrategy();\n *\n * if (strategy) {\n * await strategy.initialize();\n * const token = await strategy.getToken();\n * } else {\n * // Fall back to interactive OAuth\n * }\n * ```\n */\n\nimport * as crypto from \"node:crypto\";\nimport {\n customerAuthConfigs,\n CustomerAuthConfig,\n} from \"./customer-auth-configs\";\n\n// ============================================================================\n// Customer Auth Configuration\n// ============================================================================\n\n/**\n * Resolved authentication configuration for a customer\n */\nexport interface ResolvedAuthConfig {\n /**\n * Auth0 domain URL (e.g., \"https://dataflint-acme.us.auth0.com/\")\n */\n domain: string;\n\n /**\n * Auth0 client ID\n */\n clientId: string;\n\n /**\n * Auth0 audience (API identifier)\n */\n audience: string;\n\n /**\n * DataFlint API server URL\n */\n serverUrl: string;\n}\n\n/**\n * Get customer-specific authentication configuration\n *\n * This function:\n * 1. Hashes the customer domain using SHA-256\n * 2. Looks up the hash in customerAuthConfigs\n * 3. Returns the resolved Auth0 configuration\n *\n * @param customerDomain - Customer's domain (e.g., \"acme.corp\")\n * @returns ResolvedAuthConfig or null if customer not found\n */\nexport function getCustomerAuthConfig(\n customerDomain: string\n): ResolvedAuthConfig | null {\n // Step 1: Hash the customer domain using SHA-256\n const customerHash = crypto\n .createHash(\"sha256\")\n .update(customerDomain)\n .digest(\"hex\");\n\n // Step 2: Look up the hash in our customer configurations\n const customerConfig = customerAuthConfigs[customerHash];\n if (!customerConfig) {\n // Customer not found in registry\n return null;\n }\n\n // Step 3: Build the complete authentication configuration\n return {\n // Use custom Auth0 domain if domainProducer is defined, otherwise use default\n domain:\n customerConfig.domainProducer?.(customerDomain) ||\n \"https://dataflint.us.auth0.com/\",\n\n // Customer-specific Auth0 client ID\n clientId: customerConfig.clientId,\n\n // Customer-specific API audience\n audience: `https://api.${customerDomain}.dataflint.io`,\n\n // Customer-specific server URL\n serverUrl: `https://api.${customerDomain}.dataflint.io`,\n };\n}\n\n// Re-export customer configs for direct access if needed\nexport { customerAuthConfigs, CustomerAuthConfig };\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport {\n AuthConfig,\n AuthResult,\n Auth0M2MCredentials,\n AuthStrategyType,\n M2MType,\n M2MMode,\n AuthUserInfo,\n IAuthStrategy,\n IAuthConfigProvider,\n IAuthLogger,\n OpenUrlHandler,\n ConfigProvider,\n} from \"./types\";\n\n// ============================================================================\n// Authentication Services\n// ============================================================================\n\nexport { Auth0Service } from \"./auth0-service\";\nexport { Auth0M2MService } from \"./auth0-m2m-service\";\nexport { ServiceAccountService } from \"./service-account-service\";\n\n// ============================================================================\n// Authentication Strategy Factory\n// ============================================================================\n\nexport { AuthStrategyFactory, StrategyResult } from \"./auth-strategy-factory\";\n\n// ============================================================================\n// Secrets Providers\n// ============================================================================\n\nexport {\n ISecretsProvider,\n AWSSecretsProvider,\n LocalFileSecretsProvider,\n SecretsProvider,\n} from \"./secrets\";\n", "// Import types needed locally in this file\nimport type { AuthConfig, M2MMode } from \"@dataflint/shared-auth-config\";\n\n// Re-export types from shared-auth-config\nexport type {\n AuthConfig,\n AuthResult,\n IAuthStrategy,\n AuthUserInfo,\n IAuthConfigProvider,\n IAuthLogger,\n OpenUrlHandler,\n ConfigProvider,\n M2MMode,\n} from \"@dataflint/shared-auth-config\";\n\n// Re-export enums (includes both type and runtime value)\nexport { AuthStrategyType, M2MType } from \"@dataflint/shared-auth-config\";\n\nexport type AddHighlightsHandler = (\n highlights: HighlightDTO[],\n clearExisting: boolean\n) => Promise<void>;\n\n/**\n * Function to obfuscate source code for privacy.\n * Returns obfuscated code or null if obfuscation is unavailable.\n *\n * @param code - Raw source code to obfuscate\n * @param language - Language hint (e.g., \"Python\", \"Scala\")\n * @returns Obfuscated code string, or null if obfuscation not available\n */\nexport type ObfuscateCodeHandler = (\n code: string,\n language: string\n) => Promise<string | null>;\n\nexport interface IConfigService {\n getServerUrl(): string;\n getEnvironment(): string;\n getCustomerDomain(): string | null;\n getAdminCompanyDomain(): string;\n getAuthConfig(): AuthConfig;\n setAuthSecret(value: string): Promise<void>;\n getAuthSecret(): Promise<string | undefined>;\n deleteAuthSecret(): Promise<void>;\n getSendSourceCode(): boolean;\n getM2MMode(): M2MMode;\n getTenantId(): string | undefined;\n}\n\nexport interface IMcpLogger {\n info(message: string): void;\n warn(message: string): void;\n error(message: string, error?: any): void;\n debug(message: string): void;\n}\n\nexport interface AlertInfo {\n title: string;\n icon: string;\n sqlId?: number;\n nodeIds: number[];\n}\n\nexport interface ContributionInfo {\n sqlId: number;\n nodeId: number;\n nodeName: string;\n durationPct: number;\n metricsLine: string;\n queryPrefix: string;\n}\n\nexport interface TooltipHeader {\n type: \"hotspot\" | \"failed\" | \"analysis\";\n title: string;\n reason?: string;\n}\n\nexport interface TooltipSummary {\n operationCount: number;\n queryCount: number;\n totalDurationPct: number;\n}\n\nexport interface TooltipFailedQuery {\n sqlId: number;\n description: string;\n}\n\nexport interface TooltipAlert {\n severity: \"critical\" | \"warning\" | \"info\";\n title: string;\n message: string;\n suggestion?: string;\n}\n\nexport interface TooltipOperation {\n sqlId: number;\n queryDescription?: string;\n nodeName: string;\n durationPct: number;\n metricsLine?: string;\n isHotspot: boolean;\n isFailed: boolean;\n}\n\nexport interface TooltipFinding {\n type: \"critical\" | \"warning\" | \"hint\" | \"insight\" | \"context\";\n // Aligned with SHS Alert structure\n title: string; // Short display title\n message?: string; // Detailed explanation\n suggestion?: string;\n estimatedImpact?: string;\n codeSnippet?: string;\n fixComplexity?: string; // XS/S/M/L/XL\n}\n\nexport interface TooltipFooter {\n deepLinkUrl?: string;\n deepLinkText: string;\n}\n\nexport interface StructuredTooltip {\n header: TooltipHeader;\n summary?: TooltipSummary;\n failedQueries: TooltipFailedQuery[];\n alerts: TooltipAlert[];\n operations: TooltipOperation[];\n findings: TooltipFinding[];\n footer?: TooltipFooter;\n}\n\nexport interface HighlightDTO {\n jobId: number;\n filePath: string;\n codeLine: number;\n mappingHash?: string;\n queryPrefix: string;\n displayText: string;\n shortDisplayText?: string;\n tooltip: string;\n structuredTooltip?: StructuredTooltip;\n deepLinkUrl?: string;\n url?: string;\n sqlIds: number[];\n nodeIds: number[];\n severity: string;\n isHotspot: boolean;\n alertCount: number;\n findingCount: number;\n topItemDisplay?: string;\n hasFix?: boolean;\n additionalCount?: number;\n contributions?: ContributionInfo[];\n\n // Legacy fields for backward compatibility\n name?: string;\n summary?: string;\n shortSummary?: string;\n sqlId?: number;\n nodeId?: number;\n alerts?: AlertInfo[];\n}\n", "import { IMcpLogger } from \"./types\";\n\nconst LOGGER_KEY = \"__dataflint_mcp_logger__\";\n\n/**\n * Logger singleton using globalThis to survive bundling across multiple imports\n */\nexport class Logger {\n static setInstance(logger: IMcpLogger): void {\n (globalThis as any)[LOGGER_KEY] = logger;\n }\n\n static getInstance(): IMcpLogger {\n const instance = (globalThis as any)[LOGGER_KEY] as\n | IMcpLogger\n | undefined;\n if (!instance) {\n throw new Error(\n \"Logger not initialized. Call Logger.setInstance() first.\"\n );\n }\n return instance;\n }\n\n static clear(): void {\n (globalThis as any)[LOGGER_KEY] = undefined;\n }\n}\n", "import * as fs from \"node:fs\";\nimport * as fsPromises from \"node:fs/promises\";\nimport * as path from \"node:path\";\nimport * as os from \"node:os\";\nimport * as crypto from \"node:crypto\";\nimport { z } from \"zod\";\nimport { AuthConfig, IConfigService, M2MMode, M2MType } from \"../types\";\nimport { getCustomerAuthConfig } from \"@dataflint/shared-auth-config\";\nimport { Logger } from \"../logger\";\n\n// Constants\nconst DEFAULT_CLIENT_ID_FOR_HASH = \"default\";\nconst HASH_PREFIX_LENGTH = 8;\nconst DEFAULT_ADMIN_COMPANY_DOMAIN = \"none\";\nconst DEFAULT_SERVER_URL = \"https://api.dataflint.io\";\nconst DEFAULT_AUTH_DOMAIN = \"https://dataflint.us.auth0.com/\";\nconst DEFAULT_AUDIENCE = \"https://api.dataflint.io\";\nconst DEFAULT_SCOPE = \"openid profile email offline_access\";\nconst DEFAULT_PUBLIC_CLIENT_ID = \"1NdbhkYoLyqQWtevBNal1BozB9pSZe3g\";\nconst CREDENTIALS_DIR_MODE = 0o700;\nconst CREDENTIALS_FILE_MODE = 0o600;\n\n// Zod schema for config file validation\nconst StandaloneConfigSchema = z\n .object({\n serverUrl: z.string().url().optional(),\n authDomain: z.string().optional(),\n clientId: z.string().optional(),\n audience: z.string().optional(),\n scope: z.string().optional(),\n credentialsPath: z.string().optional(),\n adminCompanyDomain: z.string().optional(),\n customerDomain: z.string().optional(),\n m2mTokenPath: z.string().optional(),\n m2mSecretName: z.string().optional(),\n tenantId: z.string().optional(),\n })\n .strict();\n\nexport type StandaloneConfig = Readonly<{\n serverUrl?: string;\n authDomain?: string;\n clientId?: string;\n audience?: string;\n scope?: string;\n credentialsPath?: string;\n adminCompanyDomain?: string;\n customerDomain?: string;\n m2mTokenPath?: string;\n m2mSecretName?: string;\n tenantId?: string;\n}>;\n\nexport class StandaloneConfigService implements IConfigService {\n private config: StandaloneConfig;\n private credentialsPath: string;\n private m2mMode: M2MMode;\n\n constructor(config: StandaloneConfig = {}) {\n this.config = this.mergeWithDefaults(config);\n this.m2mMode = this.detectM2MMode();\n this.validateM2MConfig();\n this.credentialsPath =\n config.credentialsPath || this.defaultCredentialsPath();\n this.ensureDataflintDirectory();\n }\n\n private defaultCredentialsPath(): string {\n const hash = crypto\n .createHash(\"sha256\")\n .update(this.config.clientId || DEFAULT_CLIENT_ID_FOR_HASH)\n .digest(\"hex\")\n .substring(0, HASH_PREFIX_LENGTH);\n return path.join(\n os.homedir(),\n \".dataflint\",\n `credentials-${hash}.json`\n );\n }\n\n private ensureDataflintDirectory(): void {\n const dir = path.dirname(this.credentialsPath);\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir, { recursive: true, mode: CREDENTIALS_DIR_MODE });\n }\n }\n\n private detectM2MMode(): M2MMode {\n const tokenPath = this.config.m2mTokenPath;\n const secretName = this.config.m2mSecretName;\n const tenantId = this.config.tenantId;\n const logger = Logger.getInstance();\n\n if (tokenPath) {\n logger.info(\"M2M mode: Service Account\");\n return { type: M2MType.SERVICE_ACCOUNT, tokenPath, tenantId };\n }\n if (secretName) {\n logger.info(\"M2M mode: Auth0 M2M\");\n return { type: M2MType.AUTH0_M2M, secretName, tenantId };\n }\n return { type: M2MType.NONE };\n }\n\n private validateM2MConfig(): void {\n if (this.m2mMode.type !== M2MType.NONE && !this.config.serverUrl) {\n throw new Error(\"DATAFLINT_SERVER_URL is required in M2M mode\");\n }\n }\n\n private loadFileConfig(): StandaloneConfig {\n const configFilePath = path.join(\n os.homedir(),\n \".dataflint\",\n \"config.json\"\n );\n if (!fs.existsSync(configFilePath)) {\n return {};\n }\n const logger = Logger.getInstance();\n try {\n const rawContent = JSON.parse(\n fs.readFileSync(configFilePath, \"utf8\")\n );\n const result = StandaloneConfigSchema.safeParse(rawContent);\n if (!result.success) {\n logger.warn(\n `Invalid config file format at ${configFilePath}: ${result.error.issues.map((i) => i.message).join(\", \")}`\n );\n return {};\n }\n return result.data;\n } catch (error) {\n logger.warn(\n `Failed to parse config file at ${configFilePath}: ${error instanceof Error ? error.message : String(error)}`\n );\n return {};\n }\n }\n\n private mergeWithDefaults(config: StandaloneConfig): StandaloneConfig {\n const envConfig: StandaloneConfig = {\n serverUrl: process.env.DATAFLINT_SERVER_URL,\n authDomain: process.env.DATAFLINT_AUTH_DOMAIN,\n clientId: process.env.DATAFLINT_CLIENT_ID,\n audience: process.env.DATAFLINT_AUDIENCE,\n scope: process.env.DATAFLINT_SCOPE,\n adminCompanyDomain: process.env.DATAFLINT_ADMIN_COMPANY_DOMAIN,\n customerDomain: process.env.DATAFLINT_CUSTOMER_DOMAIN,\n m2mTokenPath: process.env.M2M_SA_TOKEN_PATH,\n m2mSecretName: process.env.M2M_AUTH0_SECRET_NAME,\n tenantId: process.env.TENANT_ID,\n };\n\n const fileConfig = this.loadFileConfig();\n const logger = Logger.getInstance();\n\n const customerDomain =\n config.customerDomain ||\n envConfig.customerDomain ||\n fileConfig.customerDomain;\n\n if (customerDomain) {\n // Customer domain provided - resolve customer-specific config\n logger.info(`Customer domain detected: ${customerDomain}`);\n\n const customerConfig = getCustomerAuthConfig(customerDomain);\n\n if (!customerConfig) {\n logger.error(`Unknown customer domain: ${customerDomain}`);\n throw new Error(\n `Unknown customer domain: \"${customerDomain}\". ` +\n `This customer is not registered in the system. ` +\n `Please check the domain name or contact support.`\n );\n }\n\n logger.info(`Using customer-specific configuration:`);\n logger.info(`Server URL: ${customerConfig.serverUrl}`);\n logger.info(`Auth0 Domain: ${customerConfig.domain}`);\n logger.info(\n `Client ID: ${customerConfig.clientId.substring(0, 8)}...`\n );\n\n // Return customer-specific configuration\n // Customer config takes precedence over everything else\n return {\n serverUrl: customerConfig.serverUrl,\n authDomain: customerConfig.domain,\n clientId: customerConfig.clientId,\n audience: customerConfig.audience,\n scope: DEFAULT_SCOPE,\n // Credentials path only configurable via CLI argument for security\n credentialsPath: config.credentialsPath,\n adminCompanyDomain:\n config.adminCompanyDomain ||\n envConfig.adminCompanyDomain ||\n fileConfig.adminCompanyDomain ||\n DEFAULT_ADMIN_COMPANY_DOMAIN,\n customerDomain: customerDomain,\n m2mTokenPath:\n config.m2mTokenPath ||\n envConfig.m2mTokenPath ||\n fileConfig.m2mTokenPath,\n m2mSecretName:\n config.m2mSecretName ||\n envConfig.m2mSecretName ||\n fileConfig.m2mSecretName,\n tenantId:\n config.tenantId ||\n envConfig.tenantId ||\n fileConfig.tenantId,\n };\n }\n\n // No customer domain - use existing merge logic\n logger.info(\n `No customer domain - using default/explicit configuration`\n );\n\n return {\n serverUrl:\n config.serverUrl ||\n envConfig.serverUrl ||\n fileConfig.serverUrl ||\n DEFAULT_SERVER_URL,\n authDomain:\n config.authDomain ||\n envConfig.authDomain ||\n fileConfig.authDomain ||\n DEFAULT_AUTH_DOMAIN,\n clientId:\n config.clientId ||\n envConfig.clientId ||\n fileConfig.clientId ||\n DEFAULT_PUBLIC_CLIENT_ID,\n audience:\n config.audience ||\n envConfig.audience ||\n fileConfig.audience ||\n DEFAULT_AUDIENCE,\n scope:\n config.scope ||\n envConfig.scope ||\n fileConfig.scope ||\n DEFAULT_SCOPE,\n adminCompanyDomain:\n config.adminCompanyDomain ||\n envConfig.adminCompanyDomain ||\n fileConfig.adminCompanyDomain ||\n DEFAULT_ADMIN_COMPANY_DOMAIN,\n // Credentials path only configurable via CLI argument for security\n credentialsPath: config.credentialsPath,\n customerDomain: undefined,\n m2mTokenPath:\n config.m2mTokenPath ||\n envConfig.m2mTokenPath ||\n fileConfig.m2mTokenPath,\n m2mSecretName:\n config.m2mSecretName ||\n envConfig.m2mSecretName ||\n fileConfig.m2mSecretName,\n tenantId:\n config.tenantId || envConfig.tenantId || fileConfig.tenantId,\n };\n }\n\n // IConfigService interface implementation\n\n getServerUrl(): string {\n if (!this.config.serverUrl) {\n throw new Error(\n \"Server URL not configured. Set DATAFLINT_SERVER_URL environment variable or configure in ~/.dataflint/config.json\"\n );\n }\n return this.config.serverUrl;\n }\n\n getEnvironment(): string {\n return \"prod\";\n }\n\n getCustomerDomain(): string | null {\n return this.config.customerDomain ?? null;\n }\n\n getAdminCompanyDomain(): string {\n return this.config.adminCompanyDomain ?? DEFAULT_ADMIN_COMPANY_DOMAIN;\n }\n\n getAuthConfig(): AuthConfig {\n if (!this.config.authDomain) {\n throw new Error(\n \"Auth domain not configured. Set DATAFLINT_AUTH_DOMAIN environment variable or configure in ~/.dataflint/config.json\"\n );\n }\n if (!this.config.clientId) {\n throw new Error(\n \"Client ID not configured. Set DATAFLINT_CLIENT_ID environment variable or configure in ~/.dataflint/config.json\"\n );\n }\n if (!this.config.audience) {\n throw new Error(\n \"Audience not configured. Set DATAFLINT_AUDIENCE environment variable or configure in ~/.dataflint/config.json\"\n );\n }\n return {\n domain: this.config.authDomain,\n clientId: this.config.clientId,\n audience: this.config.audience,\n scope: this.config.scope ?? DEFAULT_SCOPE,\n };\n }\n\n async getAuthSecret(): Promise<string | undefined> {\n try {\n return await fsPromises.readFile(this.credentialsPath, \"utf8\");\n } catch (error) {\n const nodeError = error as NodeJS.ErrnoException;\n if (nodeError.code === \"ENOENT\") {\n // File doesn't exist - this is expected, not an error\n return undefined;\n }\n Logger.getInstance().warn(\n `Failed to read credentials from ${this.credentialsPath}: ${nodeError.message}`\n );\n return undefined;\n }\n }\n\n async setAuthSecret(value: string): Promise<void> {\n // Ensure directory exists\n this.ensureDataflintDirectory();\n\n // Write with restricted permissions (600)\n await fsPromises.writeFile(this.credentialsPath, value, {\n mode: CREDENTIALS_FILE_MODE,\n encoding: \"utf8\",\n });\n }\n\n async deleteAuthSecret(): Promise<void> {\n try {\n await fsPromises.unlink(this.credentialsPath);\n } catch (error) {\n const nodeError = error as NodeJS.ErrnoException;\n if (nodeError.code === \"ENOENT\") {\n // File doesn't exist - nothing to delete\n return;\n }\n Logger.getInstance().warn(\n `Failed to delete credentials at ${this.credentialsPath}: ${nodeError.message}`\n );\n }\n }\n\n getSendSourceCode(): boolean {\n const envValue = process.env.DATAFLINT_SEND_SOURCE_CODE;\n return envValue?.toLowerCase() === \"true\";\n }\n\n getM2MMode(): M2MMode {\n return this.m2mMode;\n }\n\n getTenantId(): string | undefined {\n return this.config.tenantId;\n }\n}\n"],
5
- "mappings": "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E;AAAA,IACJ;AACO,IAAM,4BAAN,MAAM,mCAAkC,oBAAgB;AAAA,MAC3D,OAAO;AAAA,MACP,SAAS;AAAA,MACT,YAAY,MAAM;AACd,cAAM;AAAA,UACF,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,GAAG;AAAA,QACP,CAAC;AACD,eAAO,eAAe,MAAM,2BAA0B,SAAS;AAAA,MACnE;AAAA,IACJ;AACO,IAAM,gCAAN,MAAM,uCAAsC,oBAAgB;AAAA,MAC/D,OAAO;AAAA,MACP,SAAS;AAAA,MACT,YAAY,MAAM;AACd,cAAM;AAAA,UACF,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,GAAG;AAAA,QACP,CAAC;AACD,eAAO,eAAe,MAAM,+BAA8B,SAAS;AAAA,MACvE;AAAA,IACJ;AACO,IAAM,iCAAN,MAAM,wCAAuC,oBAAgB;AAAA,MAChE,OAAO;AAAA,MACP,SAAS;AAAA,MACT,YAAY,MAAM;AACd,cAAM;AAAA,UACF,MAAM;AAAA,UACN,QAAQ;AAAA,UACR,GAAG;AAAA,QACP,CAAC;AACD,eAAO,eAAe,MAAM,gCAA+B,SAAS;AAAA,MACxE;AAAA,IACJ;AAAA;AAAA;;;ACpFA,IAAM,IACA,MACA,KACA,MACA,MACA,OACA,MACA,QACA,SACA,UACA,KACA,IACA,KACA,KACA,IACA,KACAE,OACA,SACA,SACA,OACA,IACA,OACA,IACA,KACA,MACA,KACA,OACA,MACA,MACA,KACA,MACA,QACA,KACA,KACA,MACA,MACA,MACA,QACA,KACA,KACA,KACA,IACA,KACA,MACA,KACA,IACA,MACAC,KACA,OACA,MACAC,KACA,MACAC,KACAC,MACAC,KACA,OACAC,KACA,MACAC,KAIF,qBACA,iBACO,kBACA,oBASA,qBAQA,mCASA,oCAQA,cASAC,yBASA,iCASA,4BASA,gCASA,mCASA,gCASA,uBACA,kBACA,0BASA,MACA,sBAEP,0BACA,0BACA,gBACA,aACO,aACA;AArLX,IAAAC,kBAAA;AAAA;AA2DA;AACA,IAAAC;AACA;AA7DA,IAAM,KAAK;AACX,IAAM,OAAO;AACb,IAAM,MAAM;AAC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",
6
- "names": ["exports", "AuthStrategyType", "exports", "M2MType", "__importStar", "logger", "error", "_a", "exports", "types_1", "logger", "error", "exports", "fs", "__importStar", "types_1", "logger", "payload", "error", "exports", "exports", "HttpApiKeyAuthLocation", "resolveDefaultRuntimeConfig", "SMITHY_CONTEXT_KEY", "require_dist_cjs", "exports", "getHttpHandlerExtensionConfiguration", "_a", "resolveHttpHandlerRuntimeConfig", "v", "HttpRequest", "HttpResponse", "require_dist_cjs", "exports", "resolveHostHeaderConfig", "getHostHeaderPlugin", "require_dist_cjs", "exports", "_a", "logger", "error", "getLoggerPlugin", "_a", "InvokeStore", "exports", "h", "require_dist_cjs", "exports", "getRecursionDetectionPlugin", "k", "require_dist_cjs", "exports", "getSmithyContext", "normalizeProvider", "map", "_a", "require_dist_cjs", "exports", "_a", "_c", "error", "e", "findHeader", "k", "deserializerMiddlewareOption", "serializerMiddlewareOption", "import_util_middleware", "error", "path", "cursor", "require_dist_cjs", "exports", "require_dist_cjs", "exports", "exports", "fromBase64", "require_dist_cjs", "exports", "fromUtf8", "toUint8Array", "data", "toUtf8", "exports", "toBase64", "require_dist_cjs", "exports", "fromBase64", "toBase64", "k", "exports", "_a", "e", "exports", "_a", "exports", "exports", "_a", "error", "exports", "exports", "cursor", "i", "exports", "logger", "size", "s", "exports", "logger", "size", "exports", "exports", "data", "exports", "exports", "bytes", "require_dist_cjs", "exports", "c", "require_dist_cjs", "exports", "i", "require_dist_cjs", "exports", "logger", "_a", "error", "_c", "path", "e", "s", "streamCollector", "stream", "require_dist_cjs", "exports", "_a", "path", "body", "streamCollector", "require_dist_cjs", "exports", "i", "exports", "sdkStreamMixin", "_a", "exports", "sdkStreamMixin", "_a", "e", "exports", "exports", "require_dist_cjs", "exports", "sdkStreamMixin", "Uint8ArrayBlobAdapter", "k", "c", "import_protocol_http", "import_util_middleware", "_a", "_c", "n", "t", "i", "o", "error", "e", "k", "import_util_middleware", "_a", "n", "t", "i", "o", "serializerMiddlewareOption", "list", "i", "i", "struct", "k", "v", "z", "serializerMiddlewareOption", "v", "k", "s", "date", "year", "time", "d", "b", "s", "e", "t", "p", "i", "c", "r", "f", "x", "y", "g", "n", "v", "op", "m", "o", "error", "k", "a", "j", "l", "q", "state", "path", "__assign", "k2", "exports", "require_dist_cjs", "exports", "i", "LazyJsonString", "v", "RFC3339_WITH_OFFSET", "IMF_FIXDATE", "RFC_850_DATE", "ASC_TIME", "date", "year", "i", "z", "i", "v", "generateIdempotencyToken", "_a", "member", "struct", "import_protocol_http", "k", "v", "_a", "member", "EventStreamSerde", "import_protocol_http", "import_util_stream", "payload", "path", "data", "member", "list", "import_protocol_http", "payload", "resolvedPath", "import_protocol_http", "path", "import_util_utf8", "data", "_a", "format", "import_util_utf8", "data", "_a", "import_util_base64", "_a", "format", "generateIdempotencyToken", "init_requestBuilder", "import_protocol_http", "import_types", "import_protocol_http", "isIdentityExpired", "init_requestBuilder", "require_dist_cjs", "exports", "EndpointCache", "i", "customEndpointFunctions", "path", "hostname", "protocol", "k", "v", "error", "c", "_a", "resolveEndpoint", "_c", "logger", "require_dist_cjs", "exports", "require_dist_cjs", "exports", "parseUrl", "require_dist_cjs", "exports", "partition", "partitions", "partitionsInfo", "awsEndpointFunctions", "setFeature", "init_setFeature", "setFeature", "init_setFeature", "import_protocol_http", "_a", "import_protocol_http", "_a", "_c", "error", "import_protocol_http", "_a", "require_dist_cjs", "exports", "ProviderError", "_a", "logger", "error", "require_dist_cjs", "exports", "data", "i", "_a", "value", "serialized", "time", "path", "SignatureV4", "payload", "init_httpAuthSchemes", "data", "b", "i", "_a", "a", "data", "list", "n", "map", "import_util_utf8", "dataView", "_a", "USE_BUFFER", "n", "b", "i", "import_util_utf8", "payload", "e", "date", "data", "import_util_base64", "_a", "generateIdempotencyToken", "i", "k", "v", "data", "import_util_middleware", "e", "operation", "path", "ErrorCtor", "member", "init_cbor", "require_dist_cjs", "exports", "a", "b", "_a", "entry", "require_dist_cjs", "exports", "_a", "_c", "data", "member", "logger", "operation", "op", "createAggregatedClient", "commands", "Client", "command", "decorateServiceException", "v", "k", "loadConfigsForDefaultMode", "emitWarningIfUnsupportedVersion", "getDefaultExtensionConfiguration", "resolveDefaultRuntimeConfig", "getValueFromTextNode", "NoOpLogger", "map", "filter", "date", "m", "e", "error", "_a", "Error", "k", "v", "init_cbor", "member", "k", "v", "import_smithy_client", "import_util_utf8", "e", "data", "k", "import_util_base64", "data", "k", "v", "t", "format", "v", "s", "import_util_base64", "_a", "k", "v", "format", "generateIdempotencyToken", "member", "member", "import_smithy_client", "exports", "module", "t", "e", "i", "n", "s", "r", "o", "a", "u", "l", "x", "b", "h", "d", "p", "c", "f", "N", "g", "m", "E", "v", "y", "w", "I", "A", "C", "D", "j", "F", "k", "B", "q", "G", "z", "J", "H", "exports", "parseXML", "require_dist_cjs", "exports", "XmlText", "XmlNode", "c", "import_smithy_client", "import_util_utf8", "_a", "buffer", "v", "value", "e", "import_smithy_client", "import_util_base64", "_a", "generateIdempotencyToken", "format", "member", "i", "k", "v", "bytes", "member", "data", "_a", "_c", "import_xml_builder", "import_smithy_client", "e", "data", "_a", "import_xml_builder", "import_smithy_client", "import_util_base64", "_a", "k", "v", "container", "struct", "map", "format", "generateIdempotencyToken", "_a", "_c", "member", "protocols_exports", "init_protocols", "dist_es_exports", "setFeature", "init_dist_es", "init_httpAuthSchemes", "init_protocols", "require_dist_cjs", "exports", "resolveUserAgentConfig", "_a", "logger", "_c", "_e", "getUserAgentPlugin", "require_dist_cjs", "exports", "require_dist_cjs", "exports", "NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS", "NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS", "NODE_REGION_CONFIG_OPTIONS", "NODE_REGION_CONFIG_FILE_OPTIONS", "resolveRegionConfig", "_a", "_c", "_e", "require_dist_cjs", "exports", "error", "getContentLengthPlugin", "exports", "exports", "exports", "exports", "path", "require_dist_cjs", "exports", "path", "data", "map", "k", "require_dist_cjs", "exports", "e", "logger", "exports", "w", "endpointUrl", "exports", "require_dist_cjs", "exports", "path", "_a", "_c", "getEndpointPlugin", "resolveEndpointConfig", "require_dist_cjs", "exports", "error", "_a", "require_dist_cjs", "exports", "DEFAULT_RETRY_MODE", "t", "error", "exports", "require_dist_cjs", "exports", "error", "e", "NODE_MAX_ATTEMPT_CONFIG_OPTIONS", "resolveRetryConfig", "NODE_RETRY_MODE_CONFIG_OPTIONS", "_a", "getRetryPlugin", "exports", "createAwsAuthSigv4HttpAuthOption", "resolveHttpAuthSchemeConfig", "exports", "module", "require_dist_cjs", "exports", "_a", "require_dist_cjs", "exports", "_a", "i", "buffer", "logger", "EndpointMode", "e", "maxRetries", "profile", "error", "exports", "logger", "exports", "k", "v", "logger", "e", "exports", "i", "e", "exports", "_a", "_c", "e", "require_dist_cjs", "exports", "import_util_middleware", "init_dist_es", "require_dist_cjs", "exports", "os", "process", "createDefaultUserAgentProvider", "_a", "NODE_APP_ID_CONFIG_OPTIONS", "require_dist_cjs", "exports", "crypto", "Hash", "require_dist_cjs", "exports", "calculateBodyLength", "require_dist_cjs", "exports", "resolveDefaultsModeConfig", "e", "import_util_endpoints", "import_smithy_client", "import_util_base64", "import_util_utf8", "init_dist_es", "init_protocols", "import_smithy_client", "getRuntimeConfig", "init_dist_es", "loadNodeConfig", "RequestHandler", "exports", "stsRegionDefaultResolver", "require_dist_cjs", "exports", "stsRegionDefaultResolver", "getAwsRegionExtensionConfiguration", "resolveAwsRegionExtensionConfiguration", "k", "import_protocol_http", "import_smithy_client", "import_config_resolver", "import_middleware_retry", "import_smithy_client", "__Client", "getRuntimeConfig", "import_smithy_client", "__ServiceException", "import_middleware_endpoint", "import_smithy_client", "$Command", "o", "import_smithy_client", "$Command", "__Client", "require_dist_cjs", "exports", "fs", "logger", "_a", "SSOOIDCClient", "CreateTokenCommand", "e", "error", "require_httpAuthSchemeProvider", "exports", "createAwsAuthSigv4HttpAuthOption", "createSmithyApiNoAuthHttpAuthOption", "resolveHttpAuthSchemeConfig", "require_package", "exports", "module", "exports", "u", "v", "w", "x", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "_data", "exports", "cache", "defaultEndpointResolver", "exports", "getRuntimeConfig", "exports", "getRuntimeConfig", "require_dist_cjs", "exports", "resolveClientEndpointParameters", "commonParams", "getHttpAuthExtensionConfiguration", "runtimeConfig", "httpAuthSchemeProvider", "resolveHttpAuthRuntimeConfig", "resolveRuntimeExtensions", "InvalidRequestException", "_IRE", "_TMRE", "_aKI", "_aT", "_c", "_e", "_h", "_hE", "_m", "_s", "_sAK", "_sT", "n0", "InvalidRequestException$", "o", "commands", "exports", "require_dist_cjs", "exports", "logger", "e", "_a", "createAwsAuthSigv4HttpAuthOption", "createSmithyApiNoAuthHttpAuthOption", "import_util_middleware", "resolveHttpAuthSchemeConfig", "init_httpAuthSchemeProvider", "init_dist_es", "resolveClientEndpointParameters", "commonParams", "init_EndpointParameters", "u", "v", "w", "x", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "_data", "ruleSet", "init_ruleset", "import_util_endpoints", "cache", "defaultEndpointResolver", "init_endpointResolver", "init_ruleset", "ruleSet", "import_smithy_client", "import_url_parser", "import_util_base64", "import_util_utf8", "getRuntimeConfig", "init_runtimeConfig_shared", "init_dist_es", "init_protocols", "init_httpAuthSchemeProvider", "init_endpointResolver", "defaultEndpointResolver", "import_util_user_agent_node", "import_config_resolver", "import_hash_node", "import_middleware_retry", "import_node_config_provider", "import_node_http_handler", "import_smithy_client", "import_util_body_length_node", "import_util_defaults_mode_node", "import_util_retry", "getRuntimeConfig", "init_runtimeConfig", "init_dist_es", "init_runtimeConfig_shared", "loadNodeConfig", "RequestHandler", "getHttpAuthExtensionConfiguration", "resolveHttpAuthRuntimeConfig", "init_httpAuthExtensionConfiguration", "import_region_config_resolver", "import_protocol_http", "import_smithy_client", "resolveRuntimeExtensions", "init_runtimeExtensions", "init_httpAuthExtensionConfiguration", "getHttpAuthExtensionConfiguration", "resolveHttpAuthRuntimeConfig", "import_middleware_host_header", "import_middleware_logger", "import_middleware_recursion_detection", "import_middleware_user_agent", "import_config_resolver", "import_middleware_content_length", "import_middleware_endpoint", "import_middleware_retry", "import_smithy_client", "init_httpAuthSchemeProvider", "init_EndpointParameters", "init_runtimeConfig", "init_runtimeExtensions", "__Client", "getRuntimeConfig", "resolveClientEndpointParameters", "resolveHttpAuthSchemeConfig", "resolveRuntimeExtensions", "import_smithy_client", "__ServiceException", "AccessDeniedException", "InternalServerException", "init_errors", "_ADE", "_AT", "_ISE", "_RT", "_aT", "_c", "_cI", "_cV", "_co", "_e", "_eI", "_gT", "_h", "_hE", "_iT", "_rT", "_rU", "_s", "_sm", "_tT", "n0", "RefreshToken", "AccessDeniedException$", "InternalServerException$", "init_schemas_0", "init_errors", "AccessDeniedException", "InternalServerException", "import_middleware_endpoint", "import_smithy_client", "init_EndpointParameters", "init_schemas_0", "$Command", "commonParams", "o", "import_smithy_client", "commands", "init_commands", "init_enums", "init_models_0", "$Command", "AccessDeniedException", "AccessDeniedException$", "InternalServerException", "InternalServerException$", "__Client", "init_commands", "init_schemas_0", "init_enums", "init_errors", "init_models_0", "require_dist_cjs", "exports", "_a", "_c", "_e", "SigninClient", "CreateOAuth2TokenCommand", "logger", "isH2", "requestHandler", "client", "error", "k", "r", "s", "i", "x", "y", "payload", "createAwsAuthSigv4HttpAuthOption", "createSmithyApiNoAuthHttpAuthOption", "import_util_middleware", "resolveHttpAuthSchemeConfig", "init_httpAuthSchemeProvider", "init_dist_es", "resolveClientEndpointParameters", "commonParams", "init_EndpointParameters", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "_data", "ruleSet", "init_ruleset", "import_util_endpoints", "cache", "defaultEndpointResolver", "init_endpointResolver", "init_ruleset", "ruleSet", "import_smithy_client", "import_url_parser", "import_util_base64", "import_util_utf8", "getRuntimeConfig", "init_runtimeConfig_shared", "init_dist_es", "init_protocols", "init_httpAuthSchemeProvider", "init_endpointResolver", "defaultEndpointResolver", "import_util_user_agent_node", "import_config_resolver", "import_hash_node", "import_middleware_retry", "import_node_config_provider", "import_node_http_handler", "import_smithy_client", "import_util_body_length_node", "import_util_defaults_mode_node", "import_util_retry", "getRuntimeConfig", "init_runtimeConfig", "init_dist_es", "init_runtimeConfig_shared", "loadNodeConfig", "RequestHandler", "getHttpAuthExtensionConfiguration", "resolveHttpAuthRuntimeConfig", "init_httpAuthExtensionConfiguration", "import_region_config_resolver", "import_protocol_http", "import_smithy_client", "resolveRuntimeExtensions", "init_runtimeExtensions", "init_httpAuthExtensionConfiguration", "getHttpAuthExtensionConfiguration", "resolveHttpAuthRuntimeConfig", "import_middleware_host_header", "import_middleware_logger", "import_middleware_recursion_detection", "import_middleware_user_agent", "import_config_resolver", "import_middleware_content_length", "import_middleware_endpoint", "import_middleware_retry", "import_smithy_client", "init_httpAuthSchemeProvider", "init_EndpointParameters", "init_runtimeConfig", "init_runtimeExtensions", "__Client", "getRuntimeConfig", "resolveClientEndpointParameters", "resolveHttpAuthSchemeConfig", "resolveRuntimeExtensions", "import_smithy_client", "__ServiceException", "ExpiredTokenException", "init_errors", "_ETE", "_a", "_c", "_e", "_hE", "_m", "_s", "n0", "ExpiredTokenException$", "init_schemas_0", "init_errors", "ExpiredTokenException", "import_middleware_endpoint", "import_smithy_client", "init_EndpointParameters", "init_schemas_0", "$Command", "commonParams", "o", "import_middleware_endpoint", "import_smithy_client", "init_EndpointParameters", "init_schemas_0", "$Command", "commonParams", "o", "import_smithy_client", "commands", "init_commands", "init_models_0", "import_region_config_resolver", "_a", "STSClient", "_c", "_e", "logger", "getDefaultRoleAssumer", "getDefaultRoleAssumerWithWebIdentity", "ExpiredTokenException", "ExpiredTokenException$", "__Client", "getDefaultRoleAssumer", "getDefaultRoleAssumerWithWebIdentity", "init_commands", "init_schemas_0", "init_errors", "init_models_0", "require_dist_cjs", "exports", "data", "_a", "logger", "error", "exports", "__createBinding", "o", "m", "k", "k2", "__setModuleDefault", "v", "__importStar", "ownKeys", "i", "_a", "getDefaultRoleAssumerWithWebIdentity", "exports", "_a", "_c", "require_dist_cjs", "exports", "k", "require_dist_cjs", "exports", "logger", "_a", "resolveProfileData", "_c", "getDefaultRoleAssumer", "data", "require_dist_cjs", "exports", "_a", "c", "_c", "require_ruleset", "exports", "y", "z", "A", "B", "C", "D", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "_data", "require_endpointResolver", "exports", "cache", "defaultEndpointResolver", "require_runtimeConfig_shared", "exports", "getRuntimeConfig", "require_runtimeConfig", "exports", "getRuntimeConfig", "require_dist_cjs", "exports", "resolveClientEndpointParameters", "commonParams", "getHttpAuthExtensionConfiguration", "runtimeConfig", "httpAuthSchemeProvider", "resolveHttpAuthRuntimeConfig", "resolveRuntimeExtensions", "InvalidRequestException", "MalformedPolicyDocumentException", "_ARR", "_CS", "_DS", "_E", "_IRE", "_ISE", "_K", "_MPDE", "_RT", "_SI", "_T", "_Ta", "_V", "_VE", "_c", "_e", "_s", "_sm", "n0", "InvalidRequestException$", "MalformedPolicyDocumentException$", "Tag$", "o", "commands", "logger", "error", "exports", "fs", "__importStar", "path", "os", "logger", "error", "exports", "logger", "exports", "exports", "types_1", "logger", "exports", "exports", "crypto", "__importStar", "_a", "types_1", "shared_auth_config_1", "exports", "logger", "exports", "__importStar", "crypto", "logger", "i", "error"]
3
+ "sources": ["../../src/auth/customer-auth-configs.ts", "../../src/auth/types.ts", "../../src/auth/auth0-service.ts", "../../src/auth/auth0-m2m-service.ts", "../../src/auth/service-account-service.ts", "../../src/auth/secrets/aws-secrets-provider.ts", "../../src/auth/secrets/local-file-secrets-provider.ts", "../../src/auth/secrets/secrets-provider.ts", "../../src/auth/secrets/index.ts", "../../src/auth/auth-strategy-factory.ts", "../../src/auth/index.ts", "../../src/standalone/config.ts"],
4
+ "sourcesContent": ["/**\n * Customer-specific authentication configurations\n *\n * This file contains mappings from hashed customer domains to their Auth0 configurations.\n * Customer domains are hashed using SHA-256 for privacy.\n *\n * To add a new customer:\n * 1. Generate hash: npm run hash-domain -- \"customer.domain.com\"\n * 2. Add entry to customerAuthConfigs with the hash as key\n */\n\nexport interface CustomerAuthConfig {\n /**\n * Auth0 client ID for this customer\n */\n clientId: string;\n\n /**\n * Optional function to produce customer-specific Auth0 domain\n * @param customerDomain - The customer's domain (e.g., \"acme.corp\")\n * @returns Auth0 domain URL (e.g., \"https://dataflint-acme.us.auth0.com/\")\n */\n domainProducer?: (customerDomain: string) => string;\n}\n\n/**\n * Mapping from hashed customer domain to Auth0 configuration\n * Key: SHA-256 hash of customer domain\n * Value: CustomerAuthConfig with clientId and optional domainProducer\n */\nexport const customerAuthConfigs: { [key: string]: CustomerAuthConfig } = {\n // Customer domain hash \u2192 Auth0 configuration\n \"857064adfec4e0e5e37be8afef397155db006bb6009d1b395388d9174eb40795\": {\n clientId: \"CWvpqujjEV2aoRSDVWFSh1U6HQALygB0\",\n domainProducer: (customerDomain) =>\n `https://dataflint-${customerDomain}.us.auth0.com/`,\n },\n\n cafe6e0af028d729afd3c4a386482621af90e8e117b1216f2bbc08e86a5e9445: {\n clientId: \"HRLICLhE0BP4AeZ8dSPAoDHFmMZVacxi\",\n },\n\n \"1613f29ea956158d2ad56a10780feb45d78755819565e76c4bf0d9069d17aab9\": {\n clientId: \"CnyJJKVqes0Y0uU57GreAeaPbJlm4l4w\",\n },\n\n eae8e3404182477f008479b38a6629ee86b23cefe2c418c5dc5c2f0d02af5475: {\n clientId: \"etY3z44ssWohe77PEBIMPzktW4BmvWGT\",\n },\n\n // dataflint-demo (added from commit f38928c)\n cc1677626e05d82b301cc83c22a850eac849555e704f288083108d79f600cea1: {\n clientId: \"u9W23NGvlV58W2N9WXMMhsM12bKK8oGI\",\n },\n};\n", "/**\n * Auth types and interfaces for DataFlint authentication\n *\n * This module defines the core interfaces used across all authentication strategies:\n * - Service Account (M2M token from file)\n * - Auth0 M2M (client credentials grant)\n * - Auth0 User (interactive OAuth2/PKCE flow)\n */\n\n/**\n * Basic authentication configuration for Auth0\n */\nexport interface AuthConfig {\n domain: string;\n clientId: string;\n scope: string;\n audience: string;\n}\n\n/**\n * Result from a successful authentication\n */\nexport interface AuthResult {\n accessToken: string;\n idToken?: string;\n refreshToken?: string;\n expiresAt?: Date;\n userInfo?: unknown;\n}\n\n/**\n * Credentials required for Auth0 M2M (client credentials) authentication\n */\nexport interface Auth0M2MCredentials {\n client_id: string;\n client_secret: string;\n audience: string;\n domain: string;\n}\n\n/**\n * Authentication strategy types\n */\nexport enum AuthStrategyType {\n SERVICE_ACCOUNT = \"service_account\",\n AUTH0_M2M = \"auth0_m2m\",\n AUTH0_USER = \"auth0_user\",\n}\n\n/**\n * M2M authentication mode types\n */\nexport enum M2MType {\n NONE = \"none\",\n SERVICE_ACCOUNT = \"service_account\",\n AUTH0_M2M = \"auth0_m2m\",\n}\n\n/**\n * M2M authentication mode - single source of truth for M2M detection\n */\nexport type M2MMode =\n | { type: M2MType.NONE }\n | { type: M2MType.SERVICE_ACCOUNT; tokenPath: string; tenantId?: string }\n | { type: M2MType.AUTH0_M2M; secretName: string; tenantId?: string };\n\n/**\n * User information returned from authentication\n */\nexport interface AuthUserInfo {\n sub: string;\n name: string;\n tenant_id?: string;\n}\n\n/**\n * Common interface for all authentication strategies\n *\n * Implementations:\n * - ServiceAccountService: Reads JWT from file path\n * - Auth0M2MService: Uses client credentials grant\n * - Auth0Service: Uses interactive OAuth2/PKCE flow\n */\nexport interface IAuthStrategy {\n /**\n * Get the type of this authentication strategy\n */\n getType(): AuthStrategyType;\n\n /**\n * Initialize the authentication strategy (e.g., discover issuer, validate credentials)\n */\n initialize(): Promise<void>;\n\n /**\n * Get a valid access token, refreshing if necessary\n */\n getToken(): Promise<string>;\n\n /**\n * Force refresh the token\n */\n refreshToken(): Promise<void>;\n\n /**\n * Check if currently authenticated with a valid token\n */\n isAuthenticated(): Promise<boolean>;\n\n /**\n * Get user information for the current authentication\n */\n getUserInfo(): Promise<AuthUserInfo>;\n\n /**\n * Get the tenant ID associated with this authentication (if any)\n */\n getTenantId(): string | undefined;\n}\n\n/**\n * Configuration provider interface for authentication\n */\nexport interface IAuthConfigProvider {\n getAuthConfig(): AuthConfig;\n getM2MMode(): M2MMode;\n getTenantId(): string | undefined;\n getEnvironment(): string;\n getServerUrl(): string;\n}\n\n/**\n * Logger interface for authentication services\n */\nexport interface IAuthLogger {\n info(message: string): void;\n warn(message: string): void;\n error(message: string, error?: unknown): void;\n debug(message: string): void;\n}\n\n/**\n * Handler for opening URLs (used for OAuth2 browser-based flow)\n */\nexport type OpenUrlHandler = (url: string) => Promise<void>;\n\n/**\n * Provider function for AuthConfig\n */\nexport type ConfigProvider = () => AuthConfig;\n", "/**\n * Auth0 OAuth2/PKCE Authentication Service\n *\n * Provides interactive browser-based authentication using Auth0 with PKCE flow.\n * This is the primary authentication method for user-facing applications.\n */\n\nimport * as http from \"http\";\nimport { Client, Issuer, generators, custom } from \"openid-client\";\nimport { URL } from \"url\";\nimport {\n AuthConfig,\n AuthResult,\n OpenUrlHandler,\n ConfigProvider,\n IAuthLogger,\n} from \"./types\";\n\nconst AUTH_DISCOVERY_TIMEOUT_MS = 10_000; // 10 seconds\n\ncustom.setHttpOptionsDefaults({\n timeout: AUTH_DISCOVERY_TIMEOUT_MS,\n});\n\n/**\n * Default no-op logger for when no logger is provided\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Auth0 service for interactive OAuth2/PKCE authentication\n *\n * @example\n * ```typescript\n * const auth0Service = new Auth0Service(\n * async (url) => { await open(url); },\n * () => configService.getAuthConfig(),\n * logger\n * );\n *\n * await auth0Service.initialize();\n * const result = await auth0Service.authenticate();\n * console.log('Access Token:', result.accessToken);\n * ```\n */\nexport class Auth0Service {\n private config: AuthConfig;\n private redirectUri: string;\n private callbackPort: number;\n private client: Client | null = null;\n private issuer: Issuer | null = null;\n private initialized = false;\n private openUrlHandler: OpenUrlHandler;\n private logger: IAuthLogger;\n\n constructor(\n openUrlHandler: OpenUrlHandler,\n configProvider: ConfigProvider,\n logger?: IAuthLogger,\n callbackPort: number = 11334\n ) {\n this.logger = logger || noopLogger;\n this.openUrlHandler = openUrlHandler;\n this.config = {\n ...configProvider(),\n scope: configProvider().scope || \"openid profile email\",\n };\n this.callbackPort = callbackPort;\n this.redirectUri = `http://localhost:${callbackPort}/callback`;\n this.logger.info(\n `Auth0Service initialized for domain: ${this.config.domain}`\n );\n }\n\n /**\n * Initialize the Auth0 client by discovering the issuer metadata\n */\n async initialize(): Promise<void> {\n if (this.initialized) {\n this.logger.debug(\"Auth0 client already initialized\");\n return;\n }\n\n try {\n const issuerUrl = this.config.domain.startsWith(\"http\")\n ? this.config.domain\n : `https://${this.config.domain}`;\n\n this.logger.info(\n `Attempting to discover Auth0 issuer at: ${issuerUrl}`\n );\n this.logger.debug(`Discovery URL will be: ${issuerUrl}`);\n\n this.issuer = await Issuer.discover(issuerUrl);\n this.logger.info(\n `Auth0 issuer discovered successfully: ${this.issuer.issuer}`\n );\n\n this.client = new this.issuer.Client({\n client_id: this.config.clientId,\n redirect_uris: [this.redirectUri],\n response_types: [\"code\"],\n token_endpoint_auth_method: \"none\", // Public client, no client secret required\n });\n\n this.initialized = true;\n this.logger.info(\"Auth0 client initialized successfully\");\n } catch (error) {\n this.logger.error(\"Failed to initialize Auth0 client\", error);\n this.logger.error(`Auth0 domain: ${this.config.domain}`);\n this.logger.error(`Client ID: ${this.config.clientId}`);\n this.logger.error(\n `Constructed issuer URL: ${this.config.domain.startsWith(\"http\") ? this.config.domain : `https://${this.config.domain}`}`\n );\n\n // Check if it's a network/discovery error\n if (error instanceof Error) {\n if (\n error.message.includes(\"404\") ||\n error.message.includes(\"Not Found\")\n ) {\n throw new Error(\n `Auth0 domain '${this.config.domain}' not found. Please verify your Auth0 domain configuration. The discovery endpoint ${this.config.domain} returned 404.`\n );\n } else if (\n error.message.includes(\"ENOTFOUND\") ||\n error.message.includes(\"getaddrinfo\")\n ) {\n throw new Error(\n `Cannot connect to Auth0 domain '${this.config.domain}'. Please check your internet connection and verify the domain is correct.`\n );\n }\n }\n\n throw new Error(`Auth0 initialization failed: ${error}`);\n }\n }\n\n /**\n * Start the authentication flow\n */\n async authenticate(): Promise<AuthResult> {\n if (!this.client) {\n await this.initialize();\n }\n\n if (!this.client) {\n throw new Error(\"Auth0 client not initialized\");\n }\n\n // Generate PKCE code verifier/challenge for security\n const codeVerifier = generators.codeVerifier();\n const codeChallenge = generators.codeChallenge(codeVerifier);\n\n // Create the authorization URL\n const authUrl = this.client.authorizationUrl({\n scope: this.config.scope,\n code_challenge: codeChallenge,\n code_challenge_method: \"S256\",\n ...(this.config.audience && { audience: this.config.audience }),\n });\n\n this.logger.info(\"Opening browser for authentication...\");\n\n try {\n await this.openUrlHandler(authUrl);\n } catch (error) {\n this.logger.error(\"Failed to open browser\", error);\n this.logger.info(`Please manually navigate to: ${authUrl}`);\n }\n\n // Wait for the callback and exchange the code for tokens\n return new Promise((resolve, reject) => {\n const server = http.createServer(async (req, res) => {\n try {\n if (!req.url?.startsWith(\"/callback\")) {\n res.writeHead(404, { \"Content-Type\": \"text/plain\" });\n res.end(\"Not Found\");\n return;\n }\n\n const callbackUrl = new URL(\n `http://localhost:${this.callbackPort}${req.url}`\n );\n const params = this.client!.callbackParams(\n callbackUrl.toString()\n );\n\n // Exchange authorization code for tokens\n const tokenSet = await this.client!.callback(\n this.redirectUri,\n params,\n {\n code_verifier: codeVerifier,\n }\n );\n\n const authResult = this.processTokenSet(tokenSet);\n\n // Send success response\n res.writeHead(200, { \"Content-Type\": \"text/html\" });\n res.end(`\n <html>\n <body style=\"font-family: Arial, sans-serif; text-align: center; padding: 50px;\">\n <h2 style=\"color: #4CAF50;\">Authentication Successful!</h2>\n <p>You can now close this tab and return to VS Code/Cursor.</p>\n <script>\n setTimeout(() => {\n window.close();\n }, 3000);\n </script>\n </body>\n </html>\n `);\n\n server.close();\n resolve(authResult);\n } catch (error) {\n this.logger.error(\"Authentication callback error\", error);\n\n // Send error response\n res.writeHead(400, { \"Content-Type\": \"text/html\" });\n res.end(`\n <html>\n <body style=\"font-family: Arial, sans-serif; text-align: center; padding: 50px;\">\n <h2 style=\"color: #f44336;\">Authentication Failed</h2>\n <p>Error: ${error}</p>\n <p>Please try again.</p>\n </body>\n </html>\n `);\n\n server.close();\n reject(error);\n }\n });\n\n server.listen(this.callbackPort, () => {\n this.logger.info(\n `Listening for Auth0 callback on http://localhost:${this.callbackPort}/callback`\n );\n });\n\n // Add timeout to prevent hanging\n setTimeout(() => {\n server.close();\n reject(\n new Error(\n \"Authentication timeout - no response received within 5 minutes\"\n )\n );\n }, 300000); // 5 minutes timeout\n });\n }\n\n /**\n * Get user information using the access token\n */\n async getUserInfo(accessToken: string): Promise<unknown> {\n if (!this.client) {\n throw new Error(\"Auth0 client not initialized\");\n }\n\n try {\n this.logger.info(\"Fetching user information...\");\n\n const userInfo = await this.client.userinfo(accessToken);\n\n this.logger.info(\"User information retrieved successfully\");\n this.logger.debug(`User ID: ${userInfo.sub}`);\n\n return userInfo;\n } catch (error) {\n this.logger.error(\"Failed to get user info\", error);\n throw error;\n }\n }\n\n /**\n * Refresh the access token using refresh token\n */\n async refreshToken(refreshToken: string): Promise<AuthResult> {\n if (!this.client) {\n throw new Error(\"Auth0 client not initialized\");\n }\n\n try {\n this.logger.info(\"Refreshing access token...\");\n\n const tokenSet = await this.client.refresh(refreshToken);\n const result = this.processTokenSet(tokenSet);\n\n this.logger.info(\"Token refresh completed successfully\");\n return result;\n } catch (error) {\n this.logger.error(\"Token refresh failed\", error);\n throw error;\n }\n }\n\n /**\n * Process token set and return structured result\n */\n private processTokenSet(tokenSet: {\n access_token?: string;\n id_token?: string;\n refresh_token?: string;\n expires_at?: number;\n }): AuthResult {\n const result: AuthResult = {\n accessToken: tokenSet.access_token!,\n idToken: tokenSet.id_token,\n refreshToken: tokenSet.refresh_token,\n };\n\n if (tokenSet.expires_at) {\n result.expiresAt = new Date(tokenSet.expires_at * 1000);\n }\n\n this.logger.info(\"Authentication tokens processed successfully\");\n this.logger.debug(\n `Access Token: ${result.accessToken?.substring(0, 20)}...`\n );\n this.logger.debug(\n `ID Token: ${result.idToken ? \"Present\" : \"Not provided\"}`\n );\n this.logger.debug(\n `Refresh Token: ${result.refreshToken ? \"Present\" : \"Not provided\"}`\n );\n this.logger.debug(`Expires At: ${result.expiresAt}`);\n\n return result;\n }\n\n /**\n * Check if a token is expired\n */\n isTokenExpired(authResult: AuthResult): boolean {\n if (!authResult.expiresAt) {\n this.logger.debug(\n \"No expiration time available, considering token valid\"\n );\n return false; // If no expiration time, assume it's still valid\n }\n\n // Ensure expiresAt is a Date object (it might be a string if serialized)\n const expiresAt =\n authResult.expiresAt instanceof Date\n ? authResult.expiresAt\n : new Date(authResult.expiresAt);\n\n const now = new Date();\n const buffer = 5 * 60 * 1000; // 5 minutes buffer\n const isExpired = expiresAt.getTime() - buffer < now.getTime();\n\n if (isExpired) {\n this.logger.warn(\"Access token is expired or will expire soon\");\n } else {\n this.logger.debug(\"Access token is still valid\");\n }\n\n return isExpired;\n }\n\n /**\n * Logout (revoke tokens if supported)\n */\n async logout(accessToken: string): Promise<void> {\n if (!this.client) {\n throw new Error(\"Auth0 client not initialized\");\n }\n\n try {\n await this.client.revoke(accessToken);\n this.logger.info(\"Token revoked successfully\");\n } catch (error) {\n this.logger.error(\"Failed to revoke token\", error);\n // Don't throw error as logout should be graceful\n }\n }\n}\n\n// Re-export AuthResult for convenience\nexport type { AuthResult };\n", "/**\n * Auth0 Machine-to-Machine (M2M) Authentication Service\n *\n * Provides authentication using Auth0's client credentials grant.\n * This is used for server-to-server communication where no user interaction is needed.\n *\n * The service automatically caches tokens and refreshes them before expiration.\n */\n\nimport {\n IAuthStrategy,\n AuthStrategyType,\n AuthUserInfo,\n Auth0M2MCredentials,\n IAuthLogger,\n} from \"./types\";\n\ninterface TokenCacheEntry {\n accessToken: string;\n expiresAt: number;\n}\n\n/**\n * Default no-op logger for when no logger is provided\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Token response from Auth0 client credentials grant\n */\ninterface Auth0TokenResponse {\n access_token: string;\n token_type: string;\n expires_in: number;\n scope?: string;\n}\n\n/**\n * Auth0 M2M authentication strategy using client credentials grant\n *\n * @example\n * ```typescript\n * const credentials: Auth0M2MCredentials = {\n * client_id: 'my-client-id',\n * client_secret: 'my-client-secret',\n * domain: 'https://my-tenant.auth0.com',\n * audience: 'https://api.example.com',\n * };\n *\n * const service = new Auth0M2MService(credentials, 'tenant-123', logger);\n * await service.initialize();\n * const token = await service.getToken();\n * ```\n */\nexport class Auth0M2MService implements IAuthStrategy {\n private credentials: Auth0M2MCredentials;\n private tenantId: string | undefined;\n private tokenCache: TokenCacheEntry | null = null;\n private logger: IAuthLogger;\n private initialized = false;\n\n /**\n * Token expiry buffer in milliseconds (5 minutes)\n * Tokens will be refreshed this long before actual expiration\n */\n private static readonly EXPIRY_BUFFER_MS = 5 * 60 * 1000;\n\n constructor(\n credentials: Auth0M2MCredentials,\n tenantId?: string,\n logger?: IAuthLogger\n ) {\n this.credentials = credentials;\n this.tenantId = tenantId;\n this.logger = logger || noopLogger;\n\n // Security: only log partial client_id\n const clientIdPrefix = credentials.client_id.substring(0, 8);\n this.logger.info(\n `Auth0M2MService created for client: ${clientIdPrefix}...`\n );\n }\n\n /**\n * Get the strategy type identifier\n */\n getType(): AuthStrategyType {\n return AuthStrategyType.AUTH0_M2M;\n }\n\n /**\n * Initialize the M2M service\n * Validates credentials format and performs initial token fetch\n */\n async initialize(): Promise<void> {\n if (this.initialized) {\n this.logger.debug(\"Auth0M2MService already initialized\");\n return;\n }\n\n this.logger.info(\"Initializing Auth0M2MService...\");\n\n // Validate credentials\n if (!this.credentials.client_id || !this.credentials.client_secret) {\n throw new Error(\n \"M2M credentials missing client_id or client_secret\"\n );\n }\n if (!this.credentials.domain) {\n throw new Error(\"M2M credentials missing domain\");\n }\n if (!this.credentials.audience) {\n throw new Error(\"M2M credentials missing audience\");\n }\n\n // Perform initial token fetch to validate credentials\n await this.fetchNewToken();\n\n this.initialized = true;\n this.logger.info(\"Auth0M2MService initialized successfully\");\n }\n\n /**\n * Get a valid access token, fetching a new one if cache is expired\n */\n async getToken(): Promise<string> {\n const now = Date.now();\n\n // Check if we have a valid cached token (with buffer)\n if (\n this.tokenCache &&\n now < this.tokenCache.expiresAt - Auth0M2MService.EXPIRY_BUFFER_MS\n ) {\n this.logger.debug(\"Using cached M2M token\");\n return this.tokenCache.accessToken;\n }\n\n this.logger.info(\n \"M2M token expired or not cached, fetching new token...\"\n );\n await this.fetchNewToken();\n\n return this.tokenCache!.accessToken;\n }\n\n /**\n * Force refresh the token by clearing cache and fetching a new one\n */\n async refreshToken(): Promise<void> {\n this.logger.info(\"Force refreshing M2M token...\");\n this.tokenCache = null;\n await this.fetchNewToken();\n this.logger.info(\"M2M token refreshed\");\n }\n\n /**\n * Check if currently authenticated (credentials are valid)\n */\n async isAuthenticated(): Promise<boolean> {\n try {\n await this.getToken();\n return true;\n } catch {\n return false;\n }\n }\n\n /**\n * Get user information for the M2M client\n * Returns synthetic user info since M2M clients don't have traditional user profiles\n */\n async getUserInfo(): Promise<AuthUserInfo> {\n const clientIdPrefix = this.credentials.client_id.substring(0, 8);\n return {\n sub: `m2m-client-${clientIdPrefix}`,\n name: \"M2M Client\",\n ...(this.tenantId && { tenant_id: this.tenantId }),\n };\n }\n\n /**\n * Get the tenant ID associated with this M2M client\n */\n getTenantId(): string | undefined {\n return this.tenantId;\n }\n\n /**\n * Fetch a new token from Auth0 using client credentials grant\n */\n private async fetchNewToken(): Promise<void> {\n const domain = this.credentials.domain.startsWith(\"http\")\n ? this.credentials.domain\n : `https://${this.credentials.domain}`;\n\n const tokenUrl = `${domain.replace(/\\/$/, \"\")}/oauth/token`;\n\n this.logger.debug(`Fetching M2M token from: ${tokenUrl}`);\n\n const requestBody = {\n grant_type: \"client_credentials\",\n client_id: this.credentials.client_id,\n client_secret: this.credentials.client_secret,\n audience: this.credentials.audience,\n };\n\n try {\n const response = await fetch(tokenUrl, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(requestBody),\n });\n\n if (!response.ok) {\n this.logger.error(\n `M2M token request failed: ${response.status}`\n );\n throw new Error(\n `Auth0 M2M token request failed with status ${response.status}`\n );\n }\n\n const tokenResponse = (await response.json()) as Auth0TokenResponse;\n\n if (!tokenResponse.access_token) {\n throw new Error(\"Auth0 response missing access_token\");\n }\n\n const expiresIn = tokenResponse.expires_in || 3600; // Default to 1 hour\n const expiresAt = Date.now() + expiresIn * 1000;\n\n this.tokenCache = {\n accessToken: tokenResponse.access_token,\n expiresAt,\n };\n\n const expiresInMinutes = Math.floor(expiresIn / 60);\n this.logger.info(\n `M2M token obtained${this.tenantId ? ` for tenant ${this.tenantId}` : \"\"}: expires in ${expiresInMinutes} minutes`\n );\n } catch (error) {\n // Clear cache on error\n this.tokenCache = null;\n\n if (error instanceof Error) {\n this.logger.error(\"Failed to fetch M2M token\", error);\n throw error;\n }\n\n throw new Error(`Failed to fetch M2M token: ${error}`);\n }\n }\n}\n", "/**\n * Service Account Authentication Service\n *\n * Provides authentication using a pre-generated JWT token read from a file.\n * This is typically used for M2M (machine-to-machine) scenarios where a service\n * account token is mounted as a file (e.g., in Kubernetes).\n *\n * The token is expected to be a valid JWT with an 'exp' claim.\n */\n\nimport * as fs from \"fs\";\nimport {\n IAuthStrategy,\n AuthStrategyType,\n AuthUserInfo,\n IAuthLogger,\n} from \"./types\";\n\ninterface TokenCacheEntry {\n token: string;\n expiresAt: number;\n}\n\n/**\n * Default no-op logger for when no logger is provided\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Service Account authentication strategy\n *\n * Reads a JWT token from a file path and manages token caching and expiration.\n *\n * @example\n * ```typescript\n * const service = new ServiceAccountService(\n * '/var/run/secrets/dataflint/token',\n * 'tenant-123',\n * logger\n * );\n *\n * await service.initialize();\n * const token = await service.getToken();\n * ```\n */\nexport class ServiceAccountService implements IAuthStrategy {\n private tokenPath: string;\n private tenantId: string | undefined;\n private tokenCache: TokenCacheEntry | null = null;\n private logger: IAuthLogger;\n\n constructor(tokenPath: string, tenantId?: string, logger?: IAuthLogger) {\n this.tokenPath = tokenPath;\n this.tenantId = tenantId;\n this.logger = logger || noopLogger;\n }\n\n /**\n * Get the strategy type identifier\n */\n getType(): AuthStrategyType {\n return AuthStrategyType.SERVICE_ACCOUNT;\n }\n\n /**\n * Initialize the service account strategy\n * Validates that the token file exists and is readable\n */\n async initialize(): Promise<void> {\n this.logger.info(\n `Initializing ServiceAccountService with token path: ${this.tokenPath}`\n );\n\n if (!fs.existsSync(this.tokenPath)) {\n throw new Error(\n `Service account token file not found: ${this.tokenPath}`\n );\n }\n\n // Pre-load and validate the token\n await this.getToken();\n this.logger.info(\"ServiceAccountService initialized successfully\");\n }\n\n /**\n * Get a valid access token, reading from file if cache is expired\n */\n async getToken(): Promise<string> {\n const now = Date.now();\n\n // Check if we have a valid cached token (with 5-minute buffer)\n const bufferMs = 5 * 60 * 1000;\n if (this.tokenCache && now < this.tokenCache.expiresAt - bufferMs) {\n this.logger.debug(\"Using cached service account token\");\n return this.tokenCache.token;\n }\n\n const rawToken = this.readTokenFromFile();\n this.validateAndCacheToken(rawToken);\n\n return this.tokenCache!.token;\n }\n\n /**\n * Force refresh the token by clearing cache and re-reading from file\n */\n async refreshToken(): Promise<void> {\n this.logger.info(\"Refreshing service account token...\");\n this.tokenCache = null;\n await this.getToken();\n this.logger.info(\"Service account token refreshed\");\n }\n\n /**\n * Check if currently authenticated (token file exists and is valid)\n */\n async isAuthenticated(): Promise<boolean> {\n try {\n await this.getToken();\n return true;\n } catch {\n return false;\n }\n }\n\n /**\n * Get user information for the service account\n * Returns synthetic user info since service accounts don't have traditional user profiles\n */\n async getUserInfo(): Promise<AuthUserInfo> {\n return {\n sub: \"m2m-service-account\",\n name: \"M2M Service Account\",\n ...(this.tenantId && { tenant_id: this.tenantId }),\n };\n }\n\n /**\n * Get the tenant ID associated with this service account\n */\n getTenantId(): string | undefined {\n return this.tenantId;\n }\n\n /**\n * Read the token from the file system\n */\n private readTokenFromFile(): string {\n return fs.readFileSync(this.tokenPath, \"utf8\");\n }\n\n /**\n * Validate the token format and cache it with expiration\n */\n private validateAndCacheToken(rawToken: string): void {\n const token = rawToken.trim();\n\n if (!token) {\n throw new Error(\"Service account token is empty\");\n }\n\n const parts = token.split(\".\");\n if (parts.length !== 3) {\n throw new Error(\n `Invalid JWT format: expected 3 parts, got ${parts.length}`\n );\n }\n\n const expiresAt = this.extractExpiration(token);\n const now = Date.now();\n const expiresIn = Math.floor((expiresAt - now) / 1000);\n\n // Check if token is already expired\n if (expiresAt <= now) {\n throw new Error(\"Service account token is expired\");\n }\n\n this.logger.info(\n `Service account token loaded${this.tenantId ? ` for tenant ${this.tenantId}` : \"\"}: expires in ${expiresIn}s (${new Date(expiresAt).toISOString()})`\n );\n\n this.tokenCache = {\n token,\n expiresAt,\n };\n }\n\n /**\n * Extract expiration time from JWT payload\n */\n private extractExpiration(token: string): number {\n const parts = token.split(\".\");\n\n try {\n const payload = parts[1];\n const decoded = Buffer.from(payload, \"base64url\").toString(\"utf8\");\n const parsed = JSON.parse(decoded);\n\n if (typeof parsed.exp === \"number\") {\n return parsed.exp * 1000;\n }\n\n this.logger.warn(\n \"JWT missing 'exp' field, using fallback expiration\"\n );\n return Date.now() + 300000; // 5 minutes fallback\n } catch (error) {\n this.logger.warn(\n `Failed to parse JWT expiration: ${error}, using fallback expiration`\n );\n return Date.now() + 300000; // 5 minutes fallback\n }\n }\n}\n", "/**\n * AWS Secrets Manager Provider\n *\n * Loads M2M credentials from AWS Secrets Manager.\n * Uses dynamic import to avoid requiring AWS SDK when not in AWS environment.\n */\n\nimport { Auth0M2MCredentials, IAuthLogger } from \"../types\";\nimport { ISecretsProvider } from \"./types\";\n\n/**\n * Default no-op logger\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * AWS Secrets Manager provider for M2M credentials\n *\n * This provider:\n * 1. Detects AWS environment via env vars\n * 2. Dynamically imports AWS SDK to avoid bundling overhead\n * 3. Loads credentials from Secrets Manager\n *\n * @example\n * ```typescript\n * const provider = new AWSSecretsProvider(logger);\n * if (await provider.isAvailable()) {\n * const credentials = await provider.loadAuth0M2MCredentials('my-secret-name');\n * }\n * ```\n */\nexport class AWSSecretsProvider implements ISecretsProvider {\n private logger: IAuthLogger;\n private region: string | undefined;\n\n constructor(logger?: IAuthLogger) {\n this.logger = logger || noopLogger;\n this.region = process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION;\n }\n\n /**\n * Get the provider name for logging\n */\n getName(): string {\n return \"AWS Secrets Manager\";\n }\n\n /**\n * Check if running in AWS environment with credentials available\n */\n async isAvailable(): Promise<boolean> {\n // Check for AWS environment indicators\n const hasRegion = !!(\n process.env.AWS_REGION || process.env.AWS_DEFAULT_REGION\n );\n const hasExecutionEnv = !!process.env.AWS_EXECUTION_ENV;\n const hasCredentials = !!(\n process.env.AWS_ACCESS_KEY_ID ||\n process.env.AWS_CONTAINER_CREDENTIALS_RELATIVE_URI ||\n process.env.AWS_WEB_IDENTITY_TOKEN_FILE\n );\n\n const isAWSEnvironment =\n hasRegion && (hasExecutionEnv || hasCredentials);\n\n if (isAWSEnvironment) {\n this.logger.debug(\"AWS environment detected\");\n } else {\n this.logger.debug(\"Not in AWS environment\");\n }\n\n return isAWSEnvironment;\n }\n\n /**\n * Load Auth0 M2M credentials from AWS Secrets Manager\n *\n * @param secretName - The name or ARN of the secret in Secrets Manager\n * @returns M2M credentials or null if not found\n */\n async loadAuth0M2MCredentials(\n secretName: string\n ): Promise<Auth0M2MCredentials | null> {\n this.logger.info(\n `Loading M2M credentials from AWS Secrets Manager: ${secretName}`\n );\n\n try {\n // Dynamic import to avoid bundling AWS SDK when not needed\n const { SecretsManagerClient, GetSecretValueCommand } =\n // @ts-expect-error - @aws-sdk/client-secrets-manager is an optional runtime dependency\n await import(\"@aws-sdk/client-secrets-manager\");\n\n const client = new SecretsManagerClient({\n region: this.region,\n });\n\n const command = new GetSecretValueCommand({\n SecretId: secretName,\n });\n\n const response = await client.send(command);\n\n if (!response.SecretString) {\n this.logger.error(\"Secret value is empty or binary\");\n return null;\n }\n\n const secretValue = JSON.parse(response.SecretString);\n\n // Validate required fields\n if (\n !secretValue.client_id ||\n !secretValue.client_secret ||\n !secretValue.audience ||\n !secretValue.domain\n ) {\n this.logger.error(\n \"Secret missing required fields (client_id, client_secret, audience, domain)\"\n );\n return null;\n }\n\n this.logger.info(\"M2M credentials loaded from AWS Secrets Manager\");\n return {\n client_id: secretValue.client_id,\n client_secret: secretValue.client_secret,\n audience: secretValue.audience,\n domain: secretValue.domain,\n };\n } catch (error) {\n if (error instanceof Error) {\n if (error.name === \"ResourceNotFoundException\") {\n this.logger.warn(`Secret not found: ${secretName}`);\n return null;\n }\n if (error.message.includes(\"Cannot find module\")) {\n this.logger.warn(\n \"AWS SDK not available - @aws-sdk/client-secrets-manager not installed\"\n );\n return null;\n }\n this.logger.error(\"Failed to load secret from AWS\", error);\n }\n return null;\n }\n }\n}\n", "/**\n * Local File Secrets Provider\n *\n * Loads M2M credentials from local file system.\n * Primarily used for local development and testing.\n */\n\nimport * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as os from \"os\";\nimport { Auth0M2MCredentials, IAuthLogger } from \"../types\";\nimport { ISecretsProvider } from \"./types\";\n\n/**\n * Default no-op logger\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Local file secrets provider for M2M credentials\n *\n * Loads credentials from `~/.dataflint/m2m_secret.{environment}.json`\n *\n * @example\n * ```typescript\n * const provider = new LocalFileSecretsProvider('prod', logger);\n * if (await provider.isAvailable()) {\n * const credentials = await provider.loadAuth0M2MCredentials('unused');\n * }\n * ```\n */\nexport class LocalFileSecretsProvider implements ISecretsProvider {\n private logger: IAuthLogger;\n private environment: string;\n private secretFilePath: string;\n\n constructor(environment: string, logger?: IAuthLogger) {\n this.logger = logger || noopLogger;\n this.environment = environment;\n this.secretFilePath = path.join(\n os.homedir(),\n \".dataflint\",\n `m2m_secret.${environment}.json`\n );\n }\n\n /**\n * Get the provider name for logging\n */\n getName(): string {\n return \"Local File\";\n }\n\n /**\n * Check if the local secret file exists\n */\n async isAvailable(): Promise<boolean> {\n const exists = fs.existsSync(this.secretFilePath);\n\n if (exists) {\n this.logger.debug(\n `Local M2M secret file found: ${this.secretFilePath}`\n );\n } else {\n this.logger.debug(\n `Local M2M secret file not found: ${this.secretFilePath}`\n );\n }\n\n return exists;\n }\n\n /**\n * Load Auth0 M2M credentials from local file\n *\n * @param _secretName - Ignored, uses environment-based file path\n * @returns M2M credentials or null if not found or invalid\n */\n async loadAuth0M2MCredentials(\n _secretName: string\n ): Promise<Auth0M2MCredentials | null> {\n this.logger.info(\n `Loading M2M credentials from local file: ${this.secretFilePath}`\n );\n\n try {\n if (!fs.existsSync(this.secretFilePath)) {\n this.logger.debug(\"Local secret file does not exist\");\n return null;\n }\n\n // Check file permissions (should be 0600 for security)\n const stats = fs.statSync(this.secretFilePath);\n const mode = stats.mode & 0o777;\n if (mode !== 0o600) {\n this.logger.warn(\n `Secret file has insecure permissions: ${mode.toString(8)}. Should be 600.`\n );\n }\n\n const content = fs.readFileSync(this.secretFilePath, \"utf8\");\n const secretValue = JSON.parse(content);\n\n // Validate required fields\n if (\n !secretValue.client_id ||\n !secretValue.client_secret ||\n !secretValue.audience ||\n !secretValue.domain\n ) {\n this.logger.error(\n \"Local secret file missing required fields (client_id, client_secret, audience, domain)\"\n );\n return null;\n }\n\n this.logger.info(\"M2M credentials loaded from local file\");\n return {\n client_id: secretValue.client_id,\n client_secret: secretValue.client_secret,\n audience: secretValue.audience,\n domain: secretValue.domain,\n };\n } catch (error) {\n if (error instanceof SyntaxError) {\n this.logger.error(\"Failed to parse local secret file as JSON\");\n } else {\n this.logger.error(\"Failed to load local secret file\", error);\n }\n return null;\n }\n }\n\n /**\n * Get the path to the secret file (for diagnostics)\n */\n getSecretFilePath(): string {\n return this.secretFilePath;\n }\n}\n", "/**\n * Composite Secrets Provider\n *\n * Tries multiple secrets providers in priority order:\n * 1. AWS Secrets Manager (production environments)\n * 2. Local file (development/testing)\n */\n\nimport { Auth0M2MCredentials, IAuthLogger } from \"../types\";\nimport { ISecretsProvider } from \"./types\";\nimport { AWSSecretsProvider } from \"./aws-secrets-provider\";\nimport { LocalFileSecretsProvider } from \"./local-file-secrets-provider\";\n\n/**\n * Default no-op logger\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Composite secrets provider that tries multiple sources in order\n *\n * Priority:\n * 1. AWS Secrets Manager (if in AWS environment)\n * 2. Local file (~/.dataflint/m2m_secret.{env}.json)\n *\n * @example\n * ```typescript\n * const provider = new SecretsProvider('prod', logger);\n * const credentials = await provider.loadAuth0M2MCredentials('auth0_m2m_databricks_loader_prod');\n * if (credentials) {\n * // Use credentials for Auth0 M2M authentication\n * }\n * ```\n */\nexport class SecretsProvider implements ISecretsProvider {\n private logger: IAuthLogger;\n private providers: ISecretsProvider[];\n private environment: string;\n\n constructor(environment: string, logger?: IAuthLogger) {\n this.logger = logger || noopLogger;\n this.environment = environment;\n\n // Initialize providers in priority order\n this.providers = [\n new AWSSecretsProvider(logger),\n new LocalFileSecretsProvider(environment, logger),\n ];\n }\n\n /**\n * Get the provider name for logging\n */\n getName(): string {\n return \"Composite Secrets Provider\";\n }\n\n /**\n * Check if any provider is available\n */\n async isAvailable(): Promise<boolean> {\n for (const provider of this.providers) {\n if (await provider.isAvailable()) {\n this.logger.debug(\n `Secrets provider available: ${provider.getName()}`\n );\n return true;\n }\n }\n this.logger.debug(\"No secrets providers available\");\n return false;\n }\n\n /**\n * Load Auth0 M2M credentials from the first available provider\n *\n * @param secretName - The name of the secret (used for AWS, ignored for local file)\n * @returns M2M credentials or null if not found in any provider\n */\n async loadAuth0M2MCredentials(\n secretName: string\n ): Promise<Auth0M2MCredentials | null> {\n this.logger.info(\"Attempting to load M2M credentials...\");\n\n for (const provider of this.providers) {\n const providerName = provider.getName();\n\n if (!(await provider.isAvailable())) {\n this.logger.debug(`Provider not available: ${providerName}`);\n continue;\n }\n\n this.logger.info(`Trying provider: ${providerName}`);\n const credentials =\n await provider.loadAuth0M2MCredentials(secretName);\n\n if (credentials) {\n this.logger.info(\n `M2M credentials loaded from: ${providerName}`\n );\n return credentials;\n }\n\n this.logger.debug(\n `No credentials found in provider: ${providerName}`\n );\n }\n\n this.logger.info(\"No M2M credentials found in any provider\");\n return null;\n }\n\n /**\n * Get the default secret name for M2M credentials based on environment\n *\n * @param environment - The environment (prod, staging, local)\n * @returns The default secret name\n */\n static getDefaultSecretName(environment: string): string {\n return `auth0_m2m_databricks_loader_${environment}`;\n }\n}\n", "/**\n * Secrets Providers Module\n *\n * Provides multiple strategies for loading M2M credentials:\n * - AWS Secrets Manager (production)\n * - Local file (development)\n */\n\nexport { ISecretsProvider } from \"./types\";\nexport { AWSSecretsProvider } from \"./aws-secrets-provider\";\nexport { LocalFileSecretsProvider } from \"./local-file-secrets-provider\";\nexport { SecretsProvider } from \"./secrets-provider\";\n", "/**\n * Authentication Strategy Factory\n *\n * Creates the appropriate authentication strategy based on configuration and environment.\n *\n * Strategy Priority (for MCP standalone server):\n * 1. Service Account - M2M_SA_TOKEN_PATH env var \u2192 read JWT from file\n * 2. Auth0 M2M - Secrets available \u2192 client credentials grant\n * 3. Auth0 User - Interactive OAuth2/PKCE flow (fallback, returned as null)\n *\n * Note: VS Code Extension only uses Auth0 User flow directly (no factory needed).\n */\n\nimport {\n IAuthStrategy,\n AuthStrategyType,\n IAuthConfigProvider,\n IAuthLogger,\n M2MMode,\n M2MType,\n} from \"./types\";\nimport { ServiceAccountService } from \"./service-account-service\";\nimport { Auth0M2MService } from \"./auth0-m2m-service\";\nimport { SecretsProvider } from \"./secrets\";\n\n/**\n * Result from strategy creation\n */\nexport interface StrategyResult {\n /**\n * The created strategy, or null if fallback to interactive OAuth is needed\n */\n strategy: IAuthStrategy | null;\n\n /**\n * The type of strategy created (or 'auth0_user' if null strategy)\n */\n strategyType: AuthStrategyType;\n}\n\n/**\n * Default no-op logger\n */\nconst noopLogger: IAuthLogger = {\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n};\n\n/**\n * Factory for creating authentication strategies\n *\n * This factory determines the best authentication strategy based on:\n * 1. Environment configuration (M2M_SA_TOKEN_PATH)\n * 2. Available secrets (AWS Secrets Manager or local file)\n * 3. Falls back to interactive OAuth if no M2M strategy is available\n *\n * @example\n * ```typescript\n * const factory = new AuthStrategyFactory(configService, logger);\n * const { strategy, strategyType } = await factory.createStrategy();\n *\n * if (strategy) {\n * // Use M2M strategy (ServiceAccount or Auth0 M2M)\n * await strategy.initialize();\n * const token = await strategy.getToken();\n * } else {\n * // Fall back to interactive Auth0 OAuth flow\n * const auth0Service = new Auth0Service(...);\n * await auth0Service.authenticate();\n * }\n * ```\n */\nexport class AuthStrategyFactory {\n private configProvider: IAuthConfigProvider;\n private logger: IAuthLogger;\n\n constructor(configProvider: IAuthConfigProvider, logger?: IAuthLogger) {\n this.configProvider = configProvider;\n this.logger = logger || noopLogger;\n }\n\n async createStrategy(): Promise<StrategyResult> {\n const m2mMode = this.configProvider.getM2MMode();\n\n switch (m2mMode.type) {\n case M2MType.SERVICE_ACCOUNT:\n return this.buildServiceAccountStrategy(m2mMode);\n case M2MType.AUTH0_M2M:\n return await this.buildAuth0M2MStrategy(m2mMode);\n default:\n this.logger.info(\"Using interactive OAuth flow\");\n return {\n strategy: null,\n strategyType: AuthStrategyType.AUTH0_USER,\n };\n }\n }\n\n private buildServiceAccountStrategy(\n mode: Extract<M2MMode, { type: M2MType.SERVICE_ACCOUNT }>\n ): StrategyResult {\n this.logger.info(`Service Account mode: ${mode.tokenPath}`);\n return {\n strategy: new ServiceAccountService(\n mode.tokenPath,\n mode.tenantId,\n this.logger\n ),\n strategyType: AuthStrategyType.SERVICE_ACCOUNT,\n };\n }\n\n private async buildAuth0M2MStrategy(\n mode: Extract<M2MMode, { type: M2MType.AUTH0_M2M }>\n ): Promise<StrategyResult> {\n const secretsProvider = new SecretsProvider(\n this.configProvider.getEnvironment(),\n this.logger\n );\n\n if (!(await secretsProvider.isAvailable())) {\n throw new Error(\n `Auth0 M2M mode requires a secrets provider. ` +\n `M2M_AUTH0_SECRET_NAME is set to \"${mode.secretName}\" but no secrets provider is available. ` +\n `Ensure AWS credentials are configured or use Service Account mode instead.`\n );\n }\n\n const credentials = await secretsProvider.loadAuth0M2MCredentials(\n mode.secretName\n );\n if (!credentials) {\n throw new Error(\n `Auth0 M2M credentials not found: \"${mode.secretName}\". ` +\n `Ensure the secret exists and contains valid Auth0 M2M credentials.`\n );\n }\n\n this.logger.info(`Auth0 M2M mode: ${mode.secretName}`);\n return {\n strategy: new Auth0M2MService(\n credentials,\n mode.tenantId,\n this.logger\n ),\n strategyType: AuthStrategyType.AUTH0_M2M,\n };\n }\n\n async isM2MAvailable(): Promise<boolean> {\n const mode = this.configProvider.getM2MMode();\n if (mode.type === M2MType.SERVICE_ACCOUNT) {\n return true;\n }\n if (mode.type === M2MType.AUTH0_M2M) {\n const secretsProvider = new SecretsProvider(\n this.configProvider.getEnvironment(),\n this.logger\n );\n return secretsProvider.isAvailable();\n }\n return false;\n }\n}\n", "/**\n * Shared authentication configuration and services for DataFlint\n *\n * This package provides:\n * - Customer-specific Auth0 configuration lookup\n * - Multiple authentication strategies (Service Account, Auth0 M2M, Auth0 User)\n * - Secrets providers (AWS Secrets Manager, Local File)\n * - Strategy factory for automatic strategy selection\n *\n * @example Basic usage with Auth0 user flow:\n * ```typescript\n * import { Auth0Service, getCustomerAuthConfig } from \"@dataflint/shared-auth-config\";\n *\n * const config = getCustomerAuthConfig(\"acme.corp\");\n * const auth0 = new Auth0Service(openUrl, () => config, logger);\n * await auth0.authenticate();\n * ```\n *\n * @example Using the strategy factory (MCP standalone):\n * ```typescript\n * import { AuthStrategyFactory } from \"@dataflint/shared-auth-config\";\n *\n * const factory = new AuthStrategyFactory(configService, logger);\n * const { strategy, strategyType } = await factory.createStrategy();\n *\n * if (strategy) {\n * await strategy.initialize();\n * const token = await strategy.getToken();\n * } else {\n * // Fall back to interactive OAuth\n * }\n * ```\n */\n\nimport * as crypto from \"node:crypto\";\nimport {\n customerAuthConfigs,\n CustomerAuthConfig,\n} from \"./customer-auth-configs\";\n\n// ============================================================================\n// Customer Auth Configuration\n// ============================================================================\n\n/**\n * Resolved authentication configuration for a customer\n */\nexport interface ResolvedAuthConfig {\n /**\n * Auth0 domain URL (e.g., \"https://dataflint-acme.us.auth0.com/\")\n */\n domain: string;\n\n /**\n * Auth0 client ID\n */\n clientId: string;\n\n /**\n * Auth0 audience (API identifier)\n */\n audience: string;\n\n /**\n * DataFlint API server URL\n */\n serverUrl: string;\n}\n\n/**\n * Get customer-specific authentication configuration\n *\n * This function:\n * 1. Hashes the customer domain using SHA-256\n * 2. Looks up the hash in customerAuthConfigs\n * 3. Returns the resolved Auth0 configuration\n *\n * @param customerDomain - Customer's domain (e.g., \"acme.corp\")\n * @returns ResolvedAuthConfig or null if customer not found\n */\nexport function getCustomerAuthConfig(\n customerDomain: string\n): ResolvedAuthConfig | null {\n // Step 1: Hash the customer domain using SHA-256\n const customerHash = crypto\n .createHash(\"sha256\")\n .update(customerDomain)\n .digest(\"hex\");\n\n // Step 2: Look up the hash in our customer configurations\n const customerConfig = customerAuthConfigs[customerHash];\n if (!customerConfig) {\n // Customer not found in registry\n return null;\n }\n\n // Step 3: Build the complete authentication configuration\n return {\n // Use custom Auth0 domain if domainProducer is defined, otherwise use default\n domain:\n customerConfig.domainProducer?.(customerDomain) ||\n \"https://dataflint.us.auth0.com/\",\n\n // Customer-specific Auth0 client ID\n clientId: customerConfig.clientId,\n\n // Customer-specific API audience\n audience: `https://api.${customerDomain}.dataflint.io`,\n\n // Customer-specific server URL\n serverUrl: `https://api.${customerDomain}.dataflint.io`,\n };\n}\n\n// Re-export customer configs for direct access if needed\nexport { customerAuthConfigs, CustomerAuthConfig };\n\n// ============================================================================\n// Types\n// ============================================================================\n\nexport {\n AuthConfig,\n AuthResult,\n Auth0M2MCredentials,\n AuthStrategyType,\n M2MType,\n M2MMode,\n AuthUserInfo,\n IAuthStrategy,\n IAuthConfigProvider,\n IAuthLogger,\n OpenUrlHandler,\n ConfigProvider,\n} from \"./types\";\n\n// ============================================================================\n// Authentication Services\n// ============================================================================\n\nexport { Auth0Service } from \"./auth0-service\";\nexport { Auth0M2MService } from \"./auth0-m2m-service\";\nexport { ServiceAccountService } from \"./service-account-service\";\n\n// ============================================================================\n// Authentication Strategy Factory\n// ============================================================================\n\nexport { AuthStrategyFactory, StrategyResult } from \"./auth-strategy-factory\";\n\n// ============================================================================\n// Secrets Providers\n// ============================================================================\n\nexport {\n ISecretsProvider,\n AWSSecretsProvider,\n LocalFileSecretsProvider,\n SecretsProvider,\n} from \"./secrets\";\n", "import * as fs from \"fs\";\nimport * as path from \"path\";\nimport * as os from \"os\";\nimport * as crypto from \"crypto\";\nimport { AuthConfig, IConfigService } from \"../types\";\nimport { getCustomerAuthConfig } from \"../auth/index.js\";\n\nexport interface StandaloneConfig {\n serverUrl?: string;\n authDomain?: string;\n clientId?: string;\n audience?: string;\n scope?: string;\n credentialsPath?: string;\n adminCompanyDomain?: string;\n customerDomain?: string;\n}\n\n/**\n * Configuration service for standalone MCP server\n * Implements IConfigService without VS Code dependencies\n */\nexport class StandaloneConfigService implements IConfigService {\n private config: StandaloneConfig;\n private credentialsPath: string;\n\n constructor(config: StandaloneConfig = {}) {\n this.config = this.mergeWithDefaults(config);\n\n // Generate credentials path based on clientId hash to avoid collisions\n if (config.credentialsPath) {\n this.credentialsPath = config.credentialsPath;\n } else {\n const clientIdHash = crypto\n .createHash(\"sha256\")\n .update(this.config.clientId!)\n .digest(\"hex\")\n .substring(0, 8); // Use first 8 chars of hash\n\n this.credentialsPath = path.join(\n os.homedir(),\n \".dataflint\",\n `credentials-${clientIdHash}.json`\n );\n }\n\n // Ensure .dataflint directory exists\n this.ensureDataflintDirectory();\n }\n\n private ensureDataflintDirectory(): void {\n const dataflintDir = path.dirname(this.credentialsPath);\n if (!fs.existsSync(dataflintDir)) {\n fs.mkdirSync(dataflintDir, { recursive: true, mode: 0o700 });\n }\n }\n\n private mergeWithDefaults(config: StandaloneConfig): StandaloneConfig {\n // Environment variable overrides\n const envConfig: StandaloneConfig = {\n serverUrl: process.env.DATAFLINT_SERVER_URL,\n authDomain: process.env.DATAFLINT_AUTH_DOMAIN,\n clientId: process.env.DATAFLINT_CLIENT_ID,\n audience: process.env.DATAFLINT_AUDIENCE,\n scope: process.env.DATAFLINT_SCOPE,\n adminCompanyDomain: process.env.DATAFLINT_ADMIN_COMPANY_DOMAIN,\n customerDomain: process.env.DATAFLINT_CUSTOMER_DOMAIN,\n };\n\n // Config file (if exists)\n const configFilePath = path.join(\n os.homedir(),\n \".dataflint\",\n \"config.json\"\n );\n let fileConfig: StandaloneConfig = {};\n if (fs.existsSync(configFilePath)) {\n try {\n const fileContent = fs.readFileSync(configFilePath, \"utf8\");\n fileConfig = JSON.parse(fileContent);\n } catch (error) {\n // Ignore file reading errors, use defaults\n }\n }\n\n // Check for customer domain (highest priority for auth config)\n const customerDomain =\n config.customerDomain ||\n envConfig.customerDomain ||\n fileConfig.customerDomain;\n\n if (customerDomain) {\n // Customer domain provided - resolve customer-specific config\n console.error(\n `[CONFIG] Customer domain detected: ${customerDomain}`\n );\n\n const customerConfig = getCustomerAuthConfig(customerDomain);\n\n if (!customerConfig) {\n console.error(\n `[CONFIG] ERROR: Unknown customer domain: ${customerDomain}`\n );\n throw new Error(\n `Unknown customer domain: \"${customerDomain}\". ` +\n `This customer is not registered in the system. ` +\n `Please check the domain name or contact support.`\n );\n }\n\n console.error(`[CONFIG] Using customer-specific configuration:`);\n console.error(\n `[CONFIG] - Server URL: ${customerConfig.serverUrl}`\n );\n console.error(\n `[CONFIG] - Auth0 Domain: ${customerConfig.domain}`\n );\n console.error(\n `[CONFIG] - Client ID: ${customerConfig.clientId.substring(0, 8)}...`\n );\n\n // Return customer-specific configuration\n // Customer config takes precedence over everything else\n return {\n serverUrl: customerConfig.serverUrl,\n authDomain: customerConfig.domain,\n clientId: customerConfig.clientId,\n audience: customerConfig.audience,\n scope: \"openid profile email offline_access\",\n // Credentials path only configurable via CLI argument for security\n credentialsPath: config.credentialsPath,\n adminCompanyDomain:\n config.adminCompanyDomain ||\n envConfig.adminCompanyDomain ||\n fileConfig.adminCompanyDomain ||\n \"none\",\n customerDomain: customerDomain,\n };\n }\n\n // No customer domain - use existing merge logic\n console.error(\n `[CONFIG] No customer domain - using default/explicit configuration`\n );\n\n return {\n serverUrl:\n config.serverUrl ||\n envConfig.serverUrl ||\n fileConfig.serverUrl ||\n \"https://api.dataflint.io\",\n authDomain:\n config.authDomain ||\n envConfig.authDomain ||\n fileConfig.authDomain ||\n \"https://dataflint.us.auth0.com/\",\n clientId:\n config.clientId ||\n envConfig.clientId ||\n fileConfig.clientId ||\n \"1NdbhkYoLyqQWtevBNal1BozB9pSZe3g\",\n audience:\n config.audience ||\n envConfig.audience ||\n fileConfig.audience ||\n \"https://api.dataflint.io\",\n scope:\n config.scope ||\n envConfig.scope ||\n fileConfig.scope ||\n \"openid profile email offline_access\",\n adminCompanyDomain:\n config.adminCompanyDomain ||\n envConfig.adminCompanyDomain ||\n fileConfig.adminCompanyDomain ||\n \"none\",\n // Credentials path only configurable via CLI argument for security\n credentialsPath: config.credentialsPath,\n customerDomain: undefined,\n };\n }\n\n // IConfigService interface implementation\n\n getServerUrl(): string {\n return this.config.serverUrl!;\n }\n\n getEnvironment(): string {\n return \"prod\";\n }\n\n getCustomerDomain(): string | null {\n return this.config.customerDomain || null;\n }\n\n getAdminCompanyDomain(): string {\n return this.config.adminCompanyDomain || \"none\";\n }\n\n getAuthConfig(): AuthConfig {\n return {\n domain: this.config.authDomain!,\n clientId: this.config.clientId!,\n audience: this.config.audience!,\n scope: this.config.scope || \"openid profile email offline_access\",\n };\n }\n\n async getAuthSecret(): Promise<string | undefined> {\n try {\n if (fs.existsSync(this.credentialsPath)) {\n const content = fs.readFileSync(this.credentialsPath, \"utf8\");\n return content;\n }\n return undefined;\n } catch (error) {\n return undefined;\n }\n }\n\n async setAuthSecret(value: string): Promise<void> {\n // Ensure directory exists\n this.ensureDataflintDirectory();\n\n // Write with restricted permissions (600)\n fs.writeFileSync(this.credentialsPath, value, {\n mode: 0o600,\n encoding: \"utf8\",\n });\n }\n\n async deleteAuthSecret(): Promise<void> {\n try {\n if (fs.existsSync(this.credentialsPath)) {\n fs.unlinkSync(this.credentialsPath);\n }\n } catch (error) {\n // Ignore deletion errors\n }\n }\n\n getSendSourceCode(): boolean {\n // In standalone mode, default to false (privacy-first)\n // Can be configured via DATAFLINT_SEND_SOURCE_CODE env var\n const envValue = process.env.DATAFLINT_SEND_SOURCE_CODE;\n return envValue?.toLowerCase() === \"true\";\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["exports", "AuthStrategyType", "exports", "M2MType", "__importStar", "exports", "exports", "fs", "__importStar", "exports", "exports", "fs", "__importStar", "path", "os", "exports", "exports", "exports", "exports", "exports", "crypto", "__importStar"]
7
7
  }