@stacksjs/ai 0.63.0 → 0.63.1
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.
- package/dist/index.js +11 -67
- package/dist/index.js.map +224 -3
- package/package.json +1 -4
package/dist/index.js.map
CHANGED
|
@@ -1,11 +1,232 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/utils/client-bedrock.ts", "../src/utils/client-bedrock-runtime.ts"],
|
|
3
|
+
"sources": ["../../../../../node_modules/bowser/es5.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/extensions/httpExtensionConfiguration.js", "../../../../../node_modules/@smithy/types/dist-es/auth/auth.js", "../../../../../node_modules/@smithy/types/dist-es/auth/HttpApiKeyAuth.js", "../../../../../node_modules/@smithy/types/dist-es/endpoint.js", "../../../../../node_modules/@smithy/types/dist-es/extensions/checksum.js", "../../../../../node_modules/@smithy/types/dist-es/http.js", "../../../../../node_modules/@smithy/types/dist-es/middleware.js", "../../../../../node_modules/@smithy/types/dist-es/profile.js", "../../../../../node_modules/@smithy/types/dist-es/transfer.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/httpRequest.js", "../../../../../node_modules/@smithy/protocol-http/dist-es/httpResponse.js", "../../../../../node_modules/@aws-sdk/middleware-host-header/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-logger/dist-es/loggerMiddleware.js", "../../../../../node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js", "../../../../../node_modules/@aws-sdk/middleware-user-agent/dist-es/configurations.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/isIpAddress.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/isValidHostLabel.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/customEndpointFunctions.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/debug/debugId.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/debug/toDebugString.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/types/EndpointError.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/booleanEquals.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/getAttrPathList.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/getAttr.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/isSet.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/not.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/parseURL.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/stringEquals.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/substring.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/lib/uriEncode.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/endpointFunctions.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTemplate.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/getReferenceValue.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateExpression.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/callFunction.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateCondition.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateConditions.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointHeaders.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperty.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointProperties.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/getEndpointUrl.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateEndpointRule.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateErrorRule.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateTreeRule.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/utils/evaluateRules.js", "../../../../../node_modules/@smithy/util-endpoints/dist-es/resolveEndpoint.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/isVirtualHostableS3Bucket.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partition.js", "../../../../../node_modules/@aws-sdk/util-endpoints/dist-es/aws.js", "../../../../../node_modules/@aws-sdk/middleware-user-agent/dist-es/constants.js", "../../../../../node_modules/@aws-sdk/middleware-user-agent/dist-es/user-agent-middleware.js", "../../../../../node_modules/@smithy/util-config-provider/dist-es/types.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseDualstackEndpointConfigOptions.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/endpointsConfig/NodeUseFipsEndpointConfigOptions.js", "../../../../../node_modules/@smithy/util-middleware/dist-es/getSmithyContext.js", "../../../../../node_modules/@smithy/util-middleware/dist-es/normalizeProvider.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionConfig/isFipsRegion.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionConfig/getRealRegion.js", "../../../../../node_modules/@smithy/config-resolver/dist-es/regionConfig/resolveRegionConfig.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/httpAuthSchemeMiddleware.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/service-customizations/s3.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/createConfigValueProvider.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromConfig.browser.js", "../../../../../node_modules/@smithy/querystring-parser/dist-es/index.js", "../../../../../node_modules/@smithy/url-parser/dist-es/index.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/toEndpointV1.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/adaptors/getEndpointFromInstructions.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/endpointMiddleware.js", "../../../../../node_modules/@smithy/middleware-serde/dist-es/deserializerMiddleware.js", "../../../../../node_modules/@smithy/middleware-serde/dist-es/serializerMiddleware.js", "../../../../../node_modules/@smithy/middleware-serde/dist-es/serdePlugin.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/getEndpointPlugin.js", "../../../../../node_modules/@smithy/middleware-endpoint/dist-es/resolveEndpointConfig.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemeEndpointRuleSetPlugin.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-auth-scheme/getHttpAuthSchemePlugin.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-signing/httpSigningMiddleware.js", "../../../../../node_modules/@smithy/util-retry/dist-es/config.js", "../../../../../node_modules/@smithy/service-error-classification/dist-es/constants.js", "../../../../../node_modules/@smithy/service-error-classification/dist-es/index.js", "../../../../../node_modules/@smithy/util-retry/dist-es/DefaultRateLimiter.js", "../../../../../node_modules/@smithy/util-retry/dist-es/constants.js", "../../../../../node_modules/@smithy/util-retry/dist-es/defaultRetryBackoffStrategy.js", "../../../../../node_modules/@smithy/util-retry/dist-es/defaultRetryToken.js", "../../../../../node_modules/@smithy/util-retry/dist-es/StandardRetryStrategy.js", "../../../../../node_modules/@smithy/util-retry/dist-es/AdaptiveRetryStrategy.js", "../../../../../node_modules/uuid/dist/esm-browser/rng.js", "../../../../../node_modules/uuid/dist/esm-browser/stringify.js", "../../../../../node_modules/uuid/dist/esm-browser/native.js", "../../../../../node_modules/uuid/dist/esm-browser/v4.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/util.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/configurations.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/NoOpLogger.js", "../../../../../node_modules/@smithy/middleware-stack/dist-es/MiddlewareStack.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/client.js", "../../../../../node_modules/@smithy/util-base64/dist-es/constants.browser.js", "../../../../../node_modules/@smithy/util-base64/dist-es/fromBase64.browser.js", "../../../../../node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js", "../../../../../node_modules/@smithy/util-utf8/dist-es/toUint8Array.js", "../../../../../node_modules/@smithy/util-utf8/dist-es/toUtf8.browser.js", "../../../../../node_modules/@smithy/util-base64/dist-es/toBase64.browser.js", "../../../../../node_modules/@smithy/util-stream/dist-es/blob/transforms.js", "../../../../../node_modules/@smithy/util-stream/dist-es/blob/Uint8ArrayBlobAdapter.js", "../../../../../node_modules/@smithy/util-uri-escape/dist-es/escape-uri.js", "../../../../../node_modules/@smithy/querystring-builder/dist-es/index.js", "../../../../../node_modules/@smithy/fetch-http-handler/dist-es/request-timeout.js", "../../../../../node_modules/@smithy/fetch-http-handler/dist-es/fetch-http-handler.js", "../../../../../node_modules/@smithy/fetch-http-handler/dist-es/stream-collector.js", "../../../../../node_modules/@smithy/util-hex-encoding/dist-es/index.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/collect-stream-body.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/command.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/constants.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/parse-utils.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/date-utils.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/exceptions.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/default-error-handler.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/defaults-mode.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/extensions/checksum.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/extensions/retry.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/extensions/defaultExtensionConfiguration.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/extended-encode-uri-component.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/lazy-json.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/object-mapping.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/resolve-path.js", "../../../../../node_modules/@smithy/smithy-client/dist-es/serde-json.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/isStreamingPayload/isStreamingPayload.browser.js", "../../../../../node_modules/@smithy/middleware-retry/dist-es/retryMiddleware.js", "../../../../../node_modules/@smithy/core/dist-es/middleware-http-signing/getHttpSigningMiddleware.js", "../../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/DefaultIdentityProviderConfig.js", "../../../../../node_modules/@smithy/core/dist-es/util-identity-and-auth/memoizeIdentityProvider.js", "../../../../../node_modules/@smithy/core/dist-es/normalizeProvider.js", "../../../../../node_modules/@smithy/core/dist-es/protocols/requestBuilder.js", "../../../../../node_modules/@smithy/middleware-content-length/dist-es/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/aws_sdk/AwsSdkSigV4Signer.js", "../../../../../node_modules/@smithy/property-provider/dist-es/memoize.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/constants.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/credentialDerivation.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/getCanonicalHeaders.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/getCanonicalQuery.js", "../../../../../node_modules/@smithy/is-array-buffer/dist-es/index.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/getPayloadHash.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/HeaderFormatter.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/headerUtil.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/moveHeadersToQuery.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/prepareRequest.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/utilDate.js", "../../../../../node_modules/@smithy/signature-v4/dist-es/SignatureV4.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/common.js", "../../../../../node_modules/@aws-sdk/core/dist-es/submodules/protocols/json/parseJsonBody.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/auth/httpAuthSchemeProvider.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/endpoint/EndpointParameters.js", "../../../../../node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8/dist-es/fromUtf8.browser.js", "../../../../../node_modules/@aws-crypto/util/build/module/convertToBuffer.js", "../../../../../node_modules/@aws-crypto/util/build/module/isEmptyData.js", "../../../../../node_modules/@aws-crypto/util/build/module/numToUint8.js", "../../../../../node_modules/@aws-crypto/util/build/module/uint32ArrayFrom.js", "../../../../../node_modules/@aws-crypto/sha256-browser/build/module/constants.js", "../../../../../node_modules/@aws-sdk/util-locate-window/dist-es/index.js", "../../../../../node_modules/@aws-crypto/sha256-browser/build/module/webCryptoSha256.js", "../../../../../node_modules/tslib/tslib.es6.mjs", "../../../../../node_modules/@aws-crypto/sha256-js/build/module/constants.js", "../../../../../node_modules/@aws-crypto/sha256-js/build/module/RawSha256.js", "../../../../../node_modules/@aws-crypto/sha256-js/build/module/jsSha256.js", "../../../../../node_modules/@aws-crypto/supports-web-crypto/build/module/supportsWebCrypto.js", "../../../../../node_modules/@aws-crypto/sha256-browser/build/module/crossPlatformSha256.js", "../../../../../node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.js", "../../../../../node_modules/@smithy/invalid-dependency/dist-es/invalidProvider.js", "../../../../../node_modules/@smithy/util-body-length-browser/dist-es/calculateBodyLength.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/endpoint/ruleset.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/endpoint/endpointResolver.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/runtimeConfig.shared.js", "../../../../../node_modules/@smithy/util-defaults-mode-browser/dist-es/resolveDefaultsModeConfig.js", "../../../../../node_modules/@smithy/util-defaults-mode-browser/dist-es/constants.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/runtimeConfig.browser.js", "../../../../../node_modules/@aws-sdk/region-config-resolver/dist-es/extensions/index.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/auth/httpAuthExtensionConfiguration.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/runtimeExtensions.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/BedrockClient.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/models/BedrockServiceException.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/models/models_0.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/protocols/Aws_restJson1.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/commands/CreateModelCustomizationJobCommand.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/commands/GetModelCustomizationJobCommand.js", "../../../../../node_modules/@aws-sdk/client-bedrock/dist-es/commands/ListFoundationModelsCommand.js", "../src/utils/client-bedrock.ts", "../../../../../node_modules/@smithy/eventstream-serde-config-resolver/dist-es/EventStreamSerdeConfig.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/auth/httpAuthSchemeProvider.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/endpoint/EndpointParameters.js", "../../../../../node_modules/@aws-crypto/crc32/build/module/aws_crc32.js", "../../../../../node_modules/@aws-crypto/crc32/build/module/index.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/Int64.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/HeaderMarshaller.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/splitMessage.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/EventStreamCodec.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/MessageDecoderStream.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/MessageEncoderStream.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageDecoderStream.js", "../../../../../node_modules/@smithy/eventstream-codec/dist-es/SmithyMessageEncoderStream.js", "../../../../../node_modules/@smithy/eventstream-serde-universal/dist-es/getChunkedStream.js", "../../../../../node_modules/@smithy/eventstream-serde-universal/dist-es/getUnmarshalledStream.js", "../../../../../node_modules/@smithy/eventstream-serde-universal/dist-es/EventStreamMarshaller.js", "../../../../../node_modules/@smithy/eventstream-serde-browser/dist-es/utils.js", "../../../../../node_modules/@smithy/eventstream-serde-browser/dist-es/EventStreamMarshaller.js", "../../../../../node_modules/@smithy/eventstream-serde-browser/dist-es/provider.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/endpoint/ruleset.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/endpoint/endpointResolver.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeConfig.shared.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeConfig.browser.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/auth/httpAuthExtensionConfiguration.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeExtensions.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/BedrockRuntimeClient.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/models/BedrockRuntimeServiceException.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/models/models_0.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/protocols/Aws_restJson1.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/commands/InvokeModelCommand.js", "../../../../../node_modules/@aws-sdk/client-bedrock-runtime/dist-es/commands/InvokeModelWithResponseStreamCommand.js", "../src/utils/client-bedrock-runtime.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
+
"!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]<u[1][a])return-1}},e.map=function(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r+=1)n.push(t(e[r]));return n},e.find=function(e,t){var r,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(r=0,n=e.length;r<n;r+=1){var i=e[r];if(t(i,r))return i}},e.assign=function(e){for(var t,r,n=e,i=arguments.length,s=new Array(i>1?i-1:0),a=1;a<i;a++)s[a-1]=arguments[a];if(Object.assign)return Object.assign.apply(Object,[e].concat(s));var o=function(){var e=s[t];\"object\"==typeof e&&null!==e&&Object.keys(e).forEach((function(t){n[t]=e[t]}))};for(t=0,r=s.length;t<r;t+=1)o();return e},e.getBrowserAlias=function(e){return n.BROWSER_ALIASES_MAP[e]},e.getBrowserTypeByAlias=function(e){return n.BROWSER_MAP[e]||\"\"},e}();t.default=i,e.exports=t.default},18:function(e,t,r){\"use strict\";t.__esModule=!0,t.ENGINE_MAP=t.OS_MAP=t.PLATFORMS_MAP=t.BROWSER_MAP=t.BROWSER_ALIASES_MAP=void 0;t.BROWSER_ALIASES_MAP={\"Amazon Silk\":\"amazon_silk\",\"Android Browser\":\"android\",Bada:\"bada\",BlackBerry:\"blackberry\",Chrome:\"chrome\",Chromium:\"chromium\",Electron:\"electron\",Epiphany:\"epiphany\",Firefox:\"firefox\",Focus:\"focus\",Generic:\"generic\",\"Google Search\":\"google_search\",Googlebot:\"googlebot\",\"Internet Explorer\":\"ie\",\"K-Meleon\":\"k_meleon\",Maxthon:\"maxthon\",\"Microsoft Edge\":\"edge\",\"MZ Browser\":\"mz\",\"NAVER Whale Browser\":\"naver\",Opera:\"opera\",\"Opera Coast\":\"opera_coast\",PhantomJS:\"phantomjs\",Puffin:\"puffin\",QupZilla:\"qupzilla\",QQ:\"qq\",QQLite:\"qqlite\",Safari:\"safari\",Sailfish:\"sailfish\",\"Samsung Internet for Android\":\"samsung_internet\",SeaMonkey:\"seamonkey\",Sleipnir:\"sleipnir\",Swing:\"swing\",Tizen:\"tizen\",\"UC Browser\":\"uc\",Vivaldi:\"vivaldi\",\"WebOS Browser\":\"webos\",WeChat:\"wechat\",\"Yandex Browser\":\"yandex\",Roku:\"roku\"};t.BROWSER_MAP={amazon_silk:\"Amazon Silk\",android:\"Android Browser\",bada:\"Bada\",blackberry:\"BlackBerry\",chrome:\"Chrome\",chromium:\"Chromium\",electron:\"Electron\",epiphany:\"Epiphany\",firefox:\"Firefox\",focus:\"Focus\",generic:\"Generic\",googlebot:\"Googlebot\",google_search:\"Google Search\",ie:\"Internet Explorer\",k_meleon:\"K-Meleon\",maxthon:\"Maxthon\",edge:\"Microsoft Edge\",mz:\"MZ Browser\",naver:\"NAVER Whale Browser\",opera:\"Opera\",opera_coast:\"Opera Coast\",phantomjs:\"PhantomJS\",puffin:\"Puffin\",qupzilla:\"QupZilla\",qq:\"QQ Browser\",qqlite:\"QQ Browser Lite\",safari:\"Safari\",sailfish:\"Sailfish\",samsung_internet:\"Samsung Internet for Android\",seamonkey:\"SeaMonkey\",sleipnir:\"Sleipnir\",swing:\"Swing\",tizen:\"Tizen\",uc:\"UC Browser\",vivaldi:\"Vivaldi\",webos:\"WebOS Browser\",wechat:\"WeChat\",yandex:\"Yandex Browser\"};t.PLATFORMS_MAP={tablet:\"tablet\",mobile:\"mobile\",desktop:\"desktop\",tv:\"tv\"};t.OS_MAP={WindowsPhone:\"Windows Phone\",Windows:\"Windows\",MacOS:\"macOS\",iOS:\"iOS\",Android:\"Android\",WebOS:\"WebOS\",BlackBerry:\"BlackBerry\",Bada:\"Bada\",Tizen:\"Tizen\",Linux:\"Linux\",ChromeOS:\"Chrome OS\",PlayStation4:\"PlayStation 4\",Roku:\"Roku\"};t.ENGINE_MAP={EdgeHTML:\"EdgeHTML\",Blink:\"Blink\",Trident:\"Trident\",Presto:\"Presto\",Gecko:\"Gecko\",WebKit:\"WebKit\"}},90:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(91))&&n.__esModule?n:{default:n},s=r(18);function a(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var o=function(){function e(){}var t,r,n;return e.getParser=function(e,t){if(void 0===t&&(t=!1),\"string\"!=typeof e)throw new Error(\"UserAgent should be a string\");return new i.default(e,t)},e.parse=function(e){return new i.default(e).getResult()},t=e,n=[{key:\"BROWSER_MAP\",get:function(){return s.BROWSER_MAP}},{key:\"ENGINE_MAP\",get:function(){return s.ENGINE_MAP}},{key:\"OS_MAP\",get:function(){return s.OS_MAP}},{key:\"PLATFORMS_MAP\",get:function(){return s.PLATFORMS_MAP}}],(r=null)&&a(t.prototype,r),n&&a(t,n),e}();t.default=o,e.exports=t.default},91:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=u(r(92)),i=u(r(93)),s=u(r(94)),a=u(r(95)),o=u(r(17));function u(e){return e&&e.__esModule?e:{default:e}}var d=function(){function e(e,t){if(void 0===t&&(t=!1),null==e||\"\"===e)throw new Error(\"UserAgent parameter can't be empty\");this._ua=e,this.parsedResult={},!0!==t&&this.parse()}var t=e.prototype;return t.getUA=function(){return this._ua},t.test=function(e){return e.test(this._ua)},t.parseBrowser=function(){var e=this;this.parsedResult.browser={};var t=o.default.find(n.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.browser=t.describe(this.getUA())),this.parsedResult.browser},t.getBrowser=function(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()},t.getBrowserName=function(e){return e?String(this.getBrowser().name).toLowerCase()||\"\":this.getBrowser().name||\"\"},t.getBrowserVersion=function(){return this.getBrowser().version},t.getOS=function(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()},t.parseOS=function(){var e=this;this.parsedResult.os={};var t=o.default.find(i.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.os=t.describe(this.getUA())),this.parsedResult.os},t.getOSName=function(e){var t=this.getOS().name;return e?String(t).toLowerCase()||\"\":t||\"\"},t.getOSVersion=function(){return this.getOS().version},t.getPlatform=function(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()},t.getPlatformType=function(e){void 0===e&&(e=!1);var t=this.getPlatform().type;return e?String(t).toLowerCase()||\"\":t||\"\"},t.parsePlatform=function(){var e=this;this.parsedResult.platform={};var t=o.default.find(s.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.platform=t.describe(this.getUA())),this.parsedResult.platform},t.getEngine=function(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()},t.getEngineName=function(e){return e?String(this.getEngine().name).toLowerCase()||\"\":this.getEngine().name||\"\"},t.parseEngine=function(){var e=this;this.parsedResult.engine={};var t=o.default.find(a.default,(function(t){if(\"function\"==typeof t.test)return t.test(e);if(t.test instanceof Array)return t.test.some((function(t){return e.test(t)}));throw new Error(\"Browser's test function is not valid\")}));return t&&(this.parsedResult.engine=t.describe(this.getUA())),this.parsedResult.engine},t.parse=function(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this},t.getResult=function(){return o.default.assign({},this.parsedResult)},t.satisfies=function(e){var t=this,r={},n=0,i={},s=0;if(Object.keys(e).forEach((function(t){var a=e[t];\"string\"==typeof a?(i[t]=a,s+=1):\"object\"==typeof a&&(r[t]=a,n+=1)})),n>0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));",
|
|
6
|
+
"export const getHttpHandlerExtensionConfiguration = (runtimeConfig) => {\n let httpHandler = runtimeConfig.httpHandler;\n return {\n setHttpHandler(handler) {\n httpHandler = handler;\n },\n httpHandler() {\n return httpHandler;\n },\n updateHttpClientConfig(key, value) {\n httpHandler.updateHttpClientConfig(key, value);\n },\n httpHandlerConfigs() {\n return httpHandler.httpHandlerConfigs();\n },\n };\n};\nexport const resolveHttpHandlerRuntimeConfig = (httpHandlerExtensionConfiguration) => {\n return {\n httpHandler: httpHandlerExtensionConfiguration.httpHandler(),\n };\n};\n",
|
|
7
|
+
"export var HttpAuthLocation;\n(function (HttpAuthLocation) {\n HttpAuthLocation[\"HEADER\"] = \"header\";\n HttpAuthLocation[\"QUERY\"] = \"query\";\n})(HttpAuthLocation || (HttpAuthLocation = {}));\n",
|
|
8
|
+
"export var HttpApiKeyAuthLocation;\n(function (HttpApiKeyAuthLocation) {\n HttpApiKeyAuthLocation[\"HEADER\"] = \"header\";\n HttpApiKeyAuthLocation[\"QUERY\"] = \"query\";\n})(HttpApiKeyAuthLocation || (HttpApiKeyAuthLocation = {}));\n",
|
|
9
|
+
"export var EndpointURLScheme;\n(function (EndpointURLScheme) {\n EndpointURLScheme[\"HTTP\"] = \"http\";\n EndpointURLScheme[\"HTTPS\"] = \"https\";\n})(EndpointURLScheme || (EndpointURLScheme = {}));\n",
|
|
10
|
+
"export var AlgorithmId;\n(function (AlgorithmId) {\n AlgorithmId[\"MD5\"] = \"md5\";\n AlgorithmId[\"CRC32\"] = \"crc32\";\n AlgorithmId[\"CRC32C\"] = \"crc32c\";\n AlgorithmId[\"SHA1\"] = \"sha1\";\n AlgorithmId[\"SHA256\"] = \"sha256\";\n})(AlgorithmId || (AlgorithmId = {}));\nexport const getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n if (runtimeConfig.sha256 !== undefined) {\n checksumAlgorithms.push({\n algorithmId: () => AlgorithmId.SHA256,\n checksumConstructor: () => runtimeConfig.sha256,\n });\n }\n if (runtimeConfig.md5 != undefined) {\n checksumAlgorithms.push({\n algorithmId: () => AlgorithmId.MD5,\n checksumConstructor: () => runtimeConfig.md5,\n });\n }\n return {\n _checksumAlgorithms: checksumAlgorithms,\n addChecksumAlgorithm(algo) {\n this._checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return this._checksumAlgorithms;\n },\n };\n};\nexport const resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n};\n",
|
|
11
|
+
"export var FieldPosition;\n(function (FieldPosition) {\n FieldPosition[FieldPosition[\"HEADER\"] = 0] = \"HEADER\";\n FieldPosition[FieldPosition[\"TRAILER\"] = 1] = \"TRAILER\";\n})(FieldPosition || (FieldPosition = {}));\n",
|
|
12
|
+
"export const SMITHY_CONTEXT_KEY = \"__smithy_context\";\n",
|
|
13
|
+
"export var IniSectionType;\n(function (IniSectionType) {\n IniSectionType[\"PROFILE\"] = \"profile\";\n IniSectionType[\"SSO_SESSION\"] = \"sso-session\";\n IniSectionType[\"SERVICES\"] = \"services\";\n})(IniSectionType || (IniSectionType = {}));\n",
|
|
14
|
+
"export var RequestHandlerProtocol;\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})(RequestHandlerProtocol || (RequestHandlerProtocol = {}));\n",
|
|
15
|
+
"export class HttpRequest {\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",
|
|
16
|
+
"export class HttpResponse {\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",
|
|
17
|
+
"import { HttpRequest } from \"@smithy/protocol-http\";\nexport function resolveHostHeaderConfig(input) {\n return input;\n}\nexport const hostHeaderMiddleware = (options) => (next) => async (args) => {\n if (!HttpRequest.isInstance(args.request))\n return next(args);\n const { request } = args;\n const { handlerProtocol = \"\" } = options.requestHandler.metadata || {};\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = request.hostname + (request.port ? \":\" + request.port : \"\");\n }\n else if (!request.headers[\"host\"]) {\n let host = request.hostname;\n if (request.port != null)\n host += `:${request.port}`;\n request.headers[\"host\"] = host;\n }\n return next(args);\n};\nexport const hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\nexport const getHostHeaderPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n },\n});\n",
|
|
18
|
+
"export const loggerMiddleware = () => (next, context) => async (args) => {\n try {\n const response = await next(args);\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog, overrideOutputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n const outputFilterSensitiveLog = overrideOutputFilterSensitiveLog ?? context.outputFilterSensitiveLog;\n const { $metadata, ...outputWithoutMetadata } = response.output;\n logger?.info?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n output: outputFilterSensitiveLog(outputWithoutMetadata),\n metadata: $metadata,\n });\n return response;\n }\n catch (error) {\n const { clientName, commandName, logger, dynamoDbDocumentClientOptions = {} } = context;\n const { overrideInputFilterSensitiveLog } = dynamoDbDocumentClientOptions;\n const inputFilterSensitiveLog = overrideInputFilterSensitiveLog ?? context.inputFilterSensitiveLog;\n logger?.error?.({\n clientName,\n commandName,\n input: inputFilterSensitiveLog(args.input),\n error,\n metadata: error.$metadata,\n });\n throw error;\n }\n};\nexport const loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\nexport const getLoggerPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n});\n",
|
|
19
|
+
"import { HttpRequest } from \"@smithy/protocol-http\";\nconst TRACE_ID_HEADER_NAME = \"X-Amzn-Trace-Id\";\nconst ENV_LAMBDA_FUNCTION_NAME = \"AWS_LAMBDA_FUNCTION_NAME\";\nconst ENV_TRACE_ID = \"_X_AMZN_TRACE_ID\";\nexport const recursionDetectionMiddleware = (options) => (next) => async (args) => {\n const { request } = args;\n if (!HttpRequest.isInstance(request) ||\n options.runtime !== \"node\" ||\n request.headers.hasOwnProperty(TRACE_ID_HEADER_NAME)) {\n return next(args);\n }\n const functionName = process.env[ENV_LAMBDA_FUNCTION_NAME];\n const traceId = process.env[ENV_TRACE_ID];\n const nonEmptyString = (str) => typeof str === \"string\" && str.length > 0;\n if (nonEmptyString(functionName) && nonEmptyString(traceId)) {\n request.headers[TRACE_ID_HEADER_NAME] = traceId;\n }\n return next({\n ...args,\n request,\n });\n};\nexport const addRecursionDetectionMiddlewareOptions = {\n step: \"build\",\n tags: [\"RECURSION_DETECTION\"],\n name: \"recursionDetectionMiddleware\",\n override: true,\n priority: \"low\",\n};\nexport const getRecursionDetectionPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(recursionDetectionMiddleware(options), addRecursionDetectionMiddlewareOptions);\n },\n});\n",
|
|
20
|
+
"export function resolveUserAgentConfig(input) {\n return {\n ...input,\n customUserAgent: typeof input.customUserAgent === \"string\" ? [[input.customUserAgent]] : input.customUserAgent,\n };\n}\n",
|
|
21
|
+
"const IP_V4_REGEX = new RegExp(`^(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}$`);\nexport const isIpAddress = (value) => IP_V4_REGEX.test(value) || (value.startsWith(\"[\") && value.endsWith(\"]\"));\n",
|
|
22
|
+
"const VALID_HOST_LABEL_REGEX = new RegExp(`^(?!.*-$)(?!-)[a-zA-Z0-9-]{1,63}$`);\nexport const isValidHostLabel = (value, allowSubDomains = false) => {\n if (!allowSubDomains) {\n return VALID_HOST_LABEL_REGEX.test(value);\n }\n const labels = value.split(\".\");\n for (const label of labels) {\n if (!isValidHostLabel(label)) {\n return false;\n }\n }\n return true;\n};\n",
|
|
23
|
+
"export const customEndpointFunctions = {};\n",
|
|
24
|
+
"export const debugId = \"endpoints\";\n",
|
|
25
|
+
"export function toDebugString(input) {\n if (typeof input !== \"object\" || input == null) {\n return input;\n }\n if (\"ref\" in input) {\n return `$${toDebugString(input.ref)}`;\n }\n if (\"fn\" in input) {\n return `${input.fn}(${(input.argv || []).map(toDebugString).join(\", \")})`;\n }\n return JSON.stringify(input, null, 2);\n}\n",
|
|
26
|
+
"export class EndpointError extends Error {\n constructor(message) {\n super(message);\n this.name = \"EndpointError\";\n }\n}\n",
|
|
27
|
+
"export const booleanEquals = (value1, value2) => value1 === value2;\n",
|
|
28
|
+
"import { EndpointError } from \"../types\";\nexport const getAttrPathList = (path) => {\n const parts = path.split(\".\");\n const pathList = [];\n for (const part of parts) {\n const squareBracketIndex = part.indexOf(\"[\");\n if (squareBracketIndex !== -1) {\n if (part.indexOf(\"]\") !== part.length - 1) {\n throw new EndpointError(`Path: '${path}' does not end with ']'`);\n }\n const arrayIndex = part.slice(squareBracketIndex + 1, -1);\n if (Number.isNaN(parseInt(arrayIndex))) {\n throw new EndpointError(`Invalid array index: '${arrayIndex}' in path: '${path}'`);\n }\n if (squareBracketIndex !== 0) {\n pathList.push(part.slice(0, squareBracketIndex));\n }\n pathList.push(arrayIndex);\n }\n else {\n pathList.push(part);\n }\n }\n return pathList;\n};\n",
|
|
29
|
+
"import { EndpointError } from \"../types\";\nimport { getAttrPathList } from \"./getAttrPathList\";\nexport const getAttr = (value, path) => getAttrPathList(path).reduce((acc, index) => {\n if (typeof acc !== \"object\") {\n throw new EndpointError(`Index '${index}' in '${path}' not found in '${JSON.stringify(value)}'`);\n }\n else if (Array.isArray(acc)) {\n return acc[parseInt(index)];\n }\n return acc[index];\n}, value);\n",
|
|
30
|
+
"export const isSet = (value) => value != null;\n",
|
|
31
|
+
"export const not = (value) => !value;\n",
|
|
32
|
+
"import { EndpointURLScheme } from \"@smithy/types\";\nimport { isIpAddress } from \"./isIpAddress\";\nconst DEFAULT_PORTS = {\n [EndpointURLScheme.HTTP]: 80,\n [EndpointURLScheme.HTTPS]: 443,\n};\nexport const parseURL = (value) => {\n const whatwgURL = (() => {\n try {\n if (value instanceof URL) {\n return value;\n }\n if (typeof value === \"object\" && \"hostname\" in value) {\n const { hostname, port, protocol = \"\", path = \"\", query = {} } = value;\n const url = new URL(`${protocol}//${hostname}${port ? `:${port}` : \"\"}${path}`);\n url.search = Object.entries(query)\n .map(([k, v]) => `${k}=${v}`)\n .join(\"&\");\n return url;\n }\n return new URL(value);\n }\n catch (error) {\n return null;\n }\n })();\n if (!whatwgURL) {\n console.error(`Unable to parse ${JSON.stringify(value)} as a whatwg URL.`);\n return null;\n }\n const urlString = whatwgURL.href;\n const { host, hostname, pathname, protocol, search } = whatwgURL;\n if (search) {\n return null;\n }\n const scheme = protocol.slice(0, -1);\n if (!Object.values(EndpointURLScheme).includes(scheme)) {\n return null;\n }\n const isIp = isIpAddress(hostname);\n const inputContainsDefaultPort = urlString.includes(`${host}:${DEFAULT_PORTS[scheme]}`) ||\n (typeof value === \"string\" && value.includes(`${host}:${DEFAULT_PORTS[scheme]}`));\n const authority = `${host}${inputContainsDefaultPort ? `:${DEFAULT_PORTS[scheme]}` : ``}`;\n return {\n scheme,\n authority,\n path: pathname,\n normalizedPath: pathname.endsWith(\"/\") ? pathname : `${pathname}/`,\n isIp,\n };\n};\n",
|
|
33
|
+
"export const stringEquals = (value1, value2) => value1 === value2;\n",
|
|
34
|
+
"export const substring = (input, start, stop, reverse) => {\n if (start >= stop || input.length < stop) {\n return null;\n }\n if (!reverse) {\n return input.substring(start, stop);\n }\n return input.substring(input.length - stop, input.length - start);\n};\n",
|
|
35
|
+
"export const uriEncode = (value) => encodeURIComponent(value).replace(/[!*'()]/g, (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`);\n",
|
|
36
|
+
"import { booleanEquals, getAttr, isSet, isValidHostLabel, not, parseURL, stringEquals, substring, uriEncode, } from \"../lib\";\nexport const endpointFunctions = {\n booleanEquals,\n getAttr,\n isSet,\n isValidHostLabel,\n not,\n parseURL,\n stringEquals,\n substring,\n uriEncode,\n};\n",
|
|
37
|
+
"import { getAttr } from \"../lib\";\nexport const evaluateTemplate = (template, options) => {\n const evaluatedTemplateArr = [];\n const templateContext = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n let currentIndex = 0;\n while (currentIndex < template.length) {\n const openingBraceIndex = template.indexOf(\"{\", currentIndex);\n if (openingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(currentIndex));\n break;\n }\n evaluatedTemplateArr.push(template.slice(currentIndex, openingBraceIndex));\n const closingBraceIndex = template.indexOf(\"}\", openingBraceIndex);\n if (closingBraceIndex === -1) {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex));\n break;\n }\n if (template[openingBraceIndex + 1] === \"{\" && template[closingBraceIndex + 1] === \"}\") {\n evaluatedTemplateArr.push(template.slice(openingBraceIndex + 1, closingBraceIndex));\n currentIndex = closingBraceIndex + 2;\n }\n const parameterName = template.substring(openingBraceIndex + 1, closingBraceIndex);\n if (parameterName.includes(\"#\")) {\n const [refName, attrName] = parameterName.split(\"#\");\n evaluatedTemplateArr.push(getAttr(templateContext[refName], attrName));\n }\n else {\n evaluatedTemplateArr.push(templateContext[parameterName]);\n }\n currentIndex = closingBraceIndex + 1;\n }\n return evaluatedTemplateArr.join(\"\");\n};\n",
|
|
38
|
+
"export const getReferenceValue = ({ ref }, options) => {\n const referenceRecord = {\n ...options.endpointParams,\n ...options.referenceRecord,\n };\n return referenceRecord[ref];\n};\n",
|
|
39
|
+
"import { EndpointError } from \"../types\";\nimport { callFunction } from \"./callFunction\";\nimport { evaluateTemplate } from \"./evaluateTemplate\";\nimport { getReferenceValue } from \"./getReferenceValue\";\nexport const evaluateExpression = (obj, keyName, options) => {\n if (typeof obj === \"string\") {\n return evaluateTemplate(obj, options);\n }\n else if (obj[\"fn\"]) {\n return callFunction(obj, options);\n }\n else if (obj[\"ref\"]) {\n return getReferenceValue(obj, options);\n }\n throw new EndpointError(`'${keyName}': ${String(obj)} is not a string, function or reference.`);\n};\n",
|
|
40
|
+
"import { customEndpointFunctions } from \"./customEndpointFunctions\";\nimport { endpointFunctions } from \"./endpointFunctions\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const callFunction = ({ fn, argv }, options) => {\n const evaluatedArgs = argv.map((arg) => [\"boolean\", \"number\"].includes(typeof arg) ? arg : evaluateExpression(arg, \"arg\", options));\n const fnSegments = fn.split(\".\");\n if (fnSegments[0] in customEndpointFunctions && fnSegments[1] != null) {\n return customEndpointFunctions[fnSegments[0]][fnSegments[1]](...evaluatedArgs);\n }\n return endpointFunctions[fn](...evaluatedArgs);\n};\n",
|
|
41
|
+
"import { debugId, toDebugString } from \"../debug\";\nimport { EndpointError } from \"../types\";\nimport { callFunction } from \"./callFunction\";\nexport const evaluateCondition = ({ assign, ...fnArgs }, options) => {\n if (assign && assign in options.referenceRecord) {\n throw new EndpointError(`'${assign}' is already defined in Reference Record.`);\n }\n const value = callFunction(fnArgs, options);\n options.logger?.debug?.(`${debugId} evaluateCondition: ${toDebugString(fnArgs)} = ${toDebugString(value)}`);\n return {\n result: value === \"\" ? true : !!value,\n ...(assign != null && { toAssign: { name: assign, value } }),\n };\n};\n",
|
|
42
|
+
"import { debugId, toDebugString } from \"../debug\";\nimport { evaluateCondition } from \"./evaluateCondition\";\nexport const evaluateConditions = (conditions = [], options) => {\n const conditionsReferenceRecord = {};\n for (const condition of conditions) {\n const { result, toAssign } = evaluateCondition(condition, {\n ...options,\n referenceRecord: {\n ...options.referenceRecord,\n ...conditionsReferenceRecord,\n },\n });\n if (!result) {\n return { result };\n }\n if (toAssign) {\n conditionsReferenceRecord[toAssign.name] = toAssign.value;\n options.logger?.debug?.(`${debugId} assign: ${toAssign.name} := ${toDebugString(toAssign.value)}`);\n }\n }\n return { result: true, referenceRecord: conditionsReferenceRecord };\n};\n",
|
|
43
|
+
"import { EndpointError } from \"../types\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const getEndpointHeaders = (headers, options) => Object.entries(headers).reduce((acc, [headerKey, headerVal]) => ({\n ...acc,\n [headerKey]: headerVal.map((headerValEntry) => {\n const processedExpr = evaluateExpression(headerValEntry, \"Header value entry\", options);\n if (typeof processedExpr !== \"string\") {\n throw new EndpointError(`Header '${headerKey}' value '${processedExpr}' is not a string`);\n }\n return processedExpr;\n }),\n}), {});\n",
|
|
44
|
+
"import { EndpointError } from \"../types\";\nimport { evaluateTemplate } from \"./evaluateTemplate\";\nimport { getEndpointProperties } from \"./getEndpointProperties\";\nexport const getEndpointProperty = (property, options) => {\n if (Array.isArray(property)) {\n return property.map((propertyEntry) => getEndpointProperty(propertyEntry, options));\n }\n switch (typeof property) {\n case \"string\":\n return evaluateTemplate(property, options);\n case \"object\":\n if (property === null) {\n throw new EndpointError(`Unexpected endpoint property: ${property}`);\n }\n return getEndpointProperties(property, options);\n case \"boolean\":\n return property;\n default:\n throw new EndpointError(`Unexpected endpoint property type: ${typeof property}`);\n }\n};\n",
|
|
45
|
+
"import { getEndpointProperty } from \"./getEndpointProperty\";\nexport const getEndpointProperties = (properties, options) => Object.entries(properties).reduce((acc, [propertyKey, propertyVal]) => ({\n ...acc,\n [propertyKey]: getEndpointProperty(propertyVal, options),\n}), {});\n",
|
|
46
|
+
"import { EndpointError } from \"../types\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const getEndpointUrl = (endpointUrl, options) => {\n const expression = evaluateExpression(endpointUrl, \"Endpoint URL\", options);\n if (typeof expression === \"string\") {\n try {\n return new URL(expression);\n }\n catch (error) {\n console.error(`Failed to construct URL with ${expression}`, error);\n throw error;\n }\n }\n throw new EndpointError(`Endpoint URL must be a string, got ${typeof expression}`);\n};\n",
|
|
47
|
+
"import { debugId, toDebugString } from \"../debug\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { getEndpointHeaders } from \"./getEndpointHeaders\";\nimport { getEndpointProperties } from \"./getEndpointProperties\";\nimport { getEndpointUrl } from \"./getEndpointUrl\";\nexport const evaluateEndpointRule = (endpointRule, options) => {\n const { conditions, endpoint } = endpointRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n const endpointRuleOptions = {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n };\n const { url, properties, headers } = endpoint;\n options.logger?.debug?.(`${debugId} Resolving endpoint from template: ${toDebugString(endpoint)}`);\n return {\n ...(headers != undefined && {\n headers: getEndpointHeaders(headers, endpointRuleOptions),\n }),\n ...(properties != undefined && {\n properties: getEndpointProperties(properties, endpointRuleOptions),\n }),\n url: getEndpointUrl(url, endpointRuleOptions),\n };\n};\n",
|
|
48
|
+
"import { EndpointError } from \"../types\";\nimport { evaluateConditions } from \"./evaluateConditions\";\nimport { evaluateExpression } from \"./evaluateExpression\";\nexport const evaluateErrorRule = (errorRule, options) => {\n const { conditions, error } = errorRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n throw new EndpointError(evaluateExpression(error, \"Error\", {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n }));\n};\n",
|
|
49
|
+
"import { evaluateConditions } from \"./evaluateConditions\";\nimport { evaluateRules } from \"./evaluateRules\";\nexport const evaluateTreeRule = (treeRule, options) => {\n const { conditions, rules } = treeRule;\n const { result, referenceRecord } = evaluateConditions(conditions, options);\n if (!result) {\n return;\n }\n return evaluateRules(rules, {\n ...options,\n referenceRecord: { ...options.referenceRecord, ...referenceRecord },\n });\n};\n",
|
|
50
|
+
"import { EndpointError } from \"../types\";\nimport { evaluateEndpointRule } from \"./evaluateEndpointRule\";\nimport { evaluateErrorRule } from \"./evaluateErrorRule\";\nimport { evaluateTreeRule } from \"./evaluateTreeRule\";\nexport const evaluateRules = (rules, options) => {\n for (const rule of rules) {\n if (rule.type === \"endpoint\") {\n const endpointOrUndefined = evaluateEndpointRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else if (rule.type === \"error\") {\n evaluateErrorRule(rule, options);\n }\n else if (rule.type === \"tree\") {\n const endpointOrUndefined = evaluateTreeRule(rule, options);\n if (endpointOrUndefined) {\n return endpointOrUndefined;\n }\n }\n else {\n throw new EndpointError(`Unknown endpoint rule: ${rule}`);\n }\n }\n throw new EndpointError(`Rules evaluation failed`);\n};\n",
|
|
51
|
+
"import { debugId, toDebugString } from \"./debug\";\nimport { EndpointError } from \"./types\";\nimport { evaluateRules } from \"./utils\";\nexport const resolveEndpoint = (ruleSetObject, options) => {\n const { endpointParams, logger } = options;\n const { parameters, rules } = ruleSetObject;\n options.logger?.debug?.(`${debugId} Initial EndpointParams: ${toDebugString(endpointParams)}`);\n const paramsWithDefault = Object.entries(parameters)\n .filter(([, v]) => v.default != null)\n .map(([k, v]) => [k, v.default]);\n if (paramsWithDefault.length > 0) {\n for (const [paramKey, paramDefaultValue] of paramsWithDefault) {\n endpointParams[paramKey] = endpointParams[paramKey] ?? paramDefaultValue;\n }\n }\n const requiredParams = Object.entries(parameters)\n .filter(([, v]) => v.required)\n .map(([k]) => k);\n for (const requiredParam of requiredParams) {\n if (endpointParams[requiredParam] == null) {\n throw new EndpointError(`Missing required parameter: '${requiredParam}'`);\n }\n }\n const endpoint = evaluateRules(rules, { endpointParams, logger, referenceRecord: {} });\n if (options.endpointParams?.Endpoint) {\n try {\n const givenEndpoint = new URL(options.endpointParams.Endpoint);\n const { protocol, port } = givenEndpoint;\n endpoint.url.protocol = protocol;\n endpoint.url.port = port;\n }\n catch (e) {\n }\n }\n options.logger?.debug?.(`${debugId} Resolved endpoint: ${toDebugString(endpoint)}`);\n return endpoint;\n};\n",
|
|
52
|
+
"import { isValidHostLabel } from \"@smithy/util-endpoints\";\nimport { isIpAddress } from \"../isIpAddress\";\nexport const isVirtualHostableS3Bucket = (value, allowSubDomains = false) => {\n if (allowSubDomains) {\n for (const label of value.split(\".\")) {\n if (!isVirtualHostableS3Bucket(label)) {\n return false;\n }\n }\n return true;\n }\n if (!isValidHostLabel(value)) {\n return false;\n }\n if (value.length < 3 || value.length > 63) {\n return false;\n }\n if (value !== value.toLowerCase()) {\n return false;\n }\n if (isIpAddress(value)) {\n return false;\n }\n return true;\n};\n",
|
|
53
|
+
"const ARN_DELIMITER = \":\";\nconst RESOURCE_DELIMITER = \"/\";\nexport const parseArn = (value) => {\n const segments = value.split(ARN_DELIMITER);\n if (segments.length < 6)\n return null;\n const [arn, partition, service, region, accountId, ...resourcePath] = segments;\n if (arn !== \"arn\" || partition === \"\" || service === \"\" || resourcePath.join(ARN_DELIMITER) === \"\")\n return null;\n const resourceId = resourcePath.map((resource) => resource.split(RESOURCE_DELIMITER)).flat();\n return {\n partition,\n service,\n region,\n accountId,\n resourceId,\n };\n};\n",
|
|
54
|
+
"import partitionsInfo from \"./partitions.json\";\nlet selectedPartitionsInfo = partitionsInfo;\nlet selectedUserAgentPrefix = \"\";\nexport const partition = (value) => {\n const { partitions } = selectedPartitionsInfo;\n for (const partition of partitions) {\n const { regions, outputs } = partition;\n for (const [region, regionData] of Object.entries(regions)) {\n if (region === value) {\n return {\n ...outputs,\n ...regionData,\n };\n }\n }\n }\n for (const partition of partitions) {\n const { regionRegex, outputs } = partition;\n if (new RegExp(regionRegex).test(value)) {\n return {\n ...outputs,\n };\n }\n }\n const DEFAULT_PARTITION = partitions.find((partition) => partition.id === \"aws\");\n if (!DEFAULT_PARTITION) {\n throw new Error(\"Provided region was not found in the partition array or regex,\" +\n \" and default partition with id 'aws' doesn't exist.\");\n }\n return {\n ...DEFAULT_PARTITION.outputs,\n };\n};\nexport const setPartitionInfo = (partitionsInfo, userAgentPrefix = \"\") => {\n selectedPartitionsInfo = partitionsInfo;\n selectedUserAgentPrefix = userAgentPrefix;\n};\nexport const useDefaultPartitionInfo = () => {\n setPartitionInfo(partitionsInfo, \"\");\n};\nexport const getUserAgentPrefix = () => selectedUserAgentPrefix;\n",
|
|
55
|
+
"import { customEndpointFunctions } from \"@smithy/util-endpoints\";\nimport { isVirtualHostableS3Bucket } from \"./lib/aws/isVirtualHostableS3Bucket\";\nimport { parseArn } from \"./lib/aws/parseArn\";\nimport { partition } from \"./lib/aws/partition\";\nexport const awsEndpointFunctions = {\n isVirtualHostableS3Bucket: isVirtualHostableS3Bucket,\n parseArn: parseArn,\n partition: partition,\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n",
|
|
56
|
+
"export const USER_AGENT = \"user-agent\";\nexport const X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nexport const SPACE = \" \";\nexport const UA_NAME_SEPARATOR = \"/\";\nexport const UA_NAME_ESCAPE_REGEX = /[^\\!\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w]/g;\nexport const UA_VALUE_ESCAPE_REGEX = /[^\\!\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w\\#]/g;\nexport const UA_ESCAPE_CHAR = \"-\";\n",
|
|
57
|
+
"import { getUserAgentPrefix } from \"@aws-sdk/util-endpoints\";\nimport { HttpRequest } from \"@smithy/protocol-http\";\nimport { SPACE, UA_ESCAPE_CHAR, UA_NAME_ESCAPE_REGEX, UA_NAME_SEPARATOR, UA_VALUE_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT, } from \"./constants\";\nexport const userAgentMiddleware = (options) => (next, context) => async (args) => {\n const { request } = args;\n if (!HttpRequest.isInstance(request))\n return next(args);\n const { headers } = request;\n const userAgent = context?.userAgent?.map(escapeUserAgent) || [];\n const defaultUserAgent = (await options.defaultUserAgentProvider()).map(escapeUserAgent);\n const customUserAgent = options?.customUserAgent?.map(escapeUserAgent) || [];\n const prefix = getUserAgentPrefix();\n const sdkUserAgentValue = (prefix ? [prefix] : [])\n .concat([...defaultUserAgent, ...userAgent, ...customUserAgent])\n .join(SPACE);\n const normalUAValue = [\n ...defaultUserAgent.filter((section) => section.startsWith(\"aws-sdk-\")),\n ...customUserAgent,\n ].join(SPACE);\n if (options.runtime !== \"browser\") {\n if (normalUAValue) {\n headers[X_AMZ_USER_AGENT] = headers[X_AMZ_USER_AGENT]\n ? `${headers[USER_AGENT]} ${normalUAValue}`\n : normalUAValue;\n }\n headers[USER_AGENT] = sdkUserAgentValue;\n }\n else {\n headers[X_AMZ_USER_AGENT] = sdkUserAgentValue;\n }\n return next({\n ...args,\n request,\n });\n};\nconst escapeUserAgent = (userAgentPair) => {\n const name = userAgentPair[0]\n .split(UA_NAME_SEPARATOR)\n .map((part) => part.replace(UA_NAME_ESCAPE_REGEX, UA_ESCAPE_CHAR))\n .join(UA_NAME_SEPARATOR);\n const version = userAgentPair[1]?.replace(UA_VALUE_ESCAPE_REGEX, UA_ESCAPE_CHAR);\n const prefixSeparatorIndex = name.indexOf(UA_NAME_SEPARATOR);\n const prefix = name.substring(0, prefixSeparatorIndex);\n let uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter((item) => item && item.length > 0)\n .reduce((acc, item, index) => {\n switch (index) {\n case 0:\n return item;\n case 1:\n return `${acc}/${item}`;\n default:\n return `${acc}#${item}`;\n }\n }, \"\");\n};\nexport const getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\nexport const getUserAgentPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n },\n});\n",
|
|
58
|
+
"export var SelectorType;\n(function (SelectorType) {\n SelectorType[\"ENV\"] = \"env\";\n SelectorType[\"CONFIG\"] = \"shared config entry\";\n})(SelectorType || (SelectorType = {}));\n",
|
|
59
|
+
"import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const ENV_USE_DUALSTACK_ENDPOINT = \"AWS_USE_DUALSTACK_ENDPOINT\";\nexport const CONFIG_USE_DUALSTACK_ENDPOINT = \"use_dualstack_endpoint\";\nexport const DEFAULT_USE_DUALSTACK_ENDPOINT = false;\nexport const NODE_USE_DUALSTACK_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_DUALSTACK_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_DUALSTACK_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\n",
|
|
60
|
+
"import { booleanSelector, SelectorType } from \"@smithy/util-config-provider\";\nexport const ENV_USE_FIPS_ENDPOINT = \"AWS_USE_FIPS_ENDPOINT\";\nexport const CONFIG_USE_FIPS_ENDPOINT = \"use_fips_endpoint\";\nexport const DEFAULT_USE_FIPS_ENDPOINT = false;\nexport const NODE_USE_FIPS_ENDPOINT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => booleanSelector(env, ENV_USE_FIPS_ENDPOINT, SelectorType.ENV),\n configFileSelector: (profile) => booleanSelector(profile, CONFIG_USE_FIPS_ENDPOINT, SelectorType.CONFIG),\n default: false,\n};\n",
|
|
61
|
+
"import { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport const getSmithyContext = (context) => context[SMITHY_CONTEXT_KEY] || (context[SMITHY_CONTEXT_KEY] = {});\n",
|
|
62
|
+
"export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n",
|
|
63
|
+
"export const isFipsRegion = (region) => typeof region === \"string\" && (region.startsWith(\"fips-\") || region.endsWith(\"-fips\"));\n",
|
|
64
|
+
"import { isFipsRegion } from \"./isFipsRegion\";\nexport const getRealRegion = (region) => isFipsRegion(region)\n ? [\"fips-aws-global\", \"aws-fips\"].includes(region)\n ? \"us-east-1\"\n : region.replace(/fips-(dkr-|prod-)?|-fips/, \"\")\n : region;\n",
|
|
65
|
+
"import { getRealRegion } from \"./getRealRegion\";\nimport { isFipsRegion } from \"./isFipsRegion\";\nexport const resolveRegionConfig = (input) => {\n const { region, useFipsEndpoint } = input;\n if (!region) {\n throw new Error(\"Region is missing\");\n }\n return {\n ...input,\n region: async () => {\n if (typeof region === \"string\") {\n return getRealRegion(region);\n }\n const providedRegion = await region();\n return getRealRegion(providedRegion);\n },\n useFipsEndpoint: async () => {\n const providedRegion = typeof region === \"string\" ? region : await region();\n if (isFipsRegion(providedRegion)) {\n return true;\n }\n return typeof useFipsEndpoint !== \"function\" ? Promise.resolve(!!useFipsEndpoint) : useFipsEndpoint();\n },\n };\n};\n",
|
|
66
|
+
"import { SMITHY_CONTEXT_KEY, } from \"@smithy/types\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\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 authSchemes = convertHttpAuthSchemesToMap(config.httpAuthSchemes);\n const smithyContext = getSmithyContext(context);\n const failureReasons = [];\n for (const option of options) {\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",
|
|
67
|
+
"export const resolveParamsForS3 = async (endpointParams) => {\n const bucket = endpointParams?.Bucket || \"\";\n if (typeof endpointParams.Bucket === \"string\") {\n endpointParams.Bucket = bucket.replace(/#/g, encodeURIComponent(\"#\")).replace(/\\?/g, encodeURIComponent(\"?\"));\n }\n if (isArnBucketName(bucket)) {\n if (endpointParams.ForcePathStyle === true) {\n throw new Error(\"Path-style addressing cannot be used with ARN buckets\");\n }\n }\n else if (!isDnsCompatibleBucketName(bucket) ||\n (bucket.indexOf(\".\") !== -1 && !String(endpointParams.Endpoint).startsWith(\"http:\")) ||\n bucket.toLowerCase() !== bucket ||\n bucket.length < 3) {\n endpointParams.ForcePathStyle = true;\n }\n if (endpointParams.DisableMultiRegionAccessPoints) {\n endpointParams.disableMultiRegionAccessPoints = true;\n endpointParams.DisableMRAP = true;\n }\n return endpointParams;\n};\nconst DOMAIN_PATTERN = /^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/;\nconst IP_ADDRESS_PATTERN = /(\\d+\\.){3}\\d+/;\nconst DOTS_PATTERN = /\\.\\./;\nexport const DOT_PATTERN = /\\./;\nexport const S3_HOSTNAME_PATTERN = /^(.+\\.)?s3(-fips)?(\\.dualstack)?[.-]([a-z0-9-]+)\\./;\nexport const isDnsCompatibleBucketName = (bucketName) => DOMAIN_PATTERN.test(bucketName) && !IP_ADDRESS_PATTERN.test(bucketName) && !DOTS_PATTERN.test(bucketName);\nexport const isArnBucketName = (bucketName) => {\n const [arn, partition, service, , , bucket] = bucketName.split(\":\");\n const isArn = arn === \"arn\" && bucketName.split(\":\").length >= 6;\n const isValidArn = Boolean(isArn && partition && service && bucket);\n if (isArn && !isValidArn) {\n throw new Error(`Invalid ARN: ${bucketName} was an invalid ARN.`);\n }\n return isValidArn;\n};\n",
|
|
68
|
+
"export const createConfigValueProvider = (configKey, canonicalEndpointParamKey, config) => {\n const configProvider = async () => {\n const configValue = config[configKey] ?? config[canonicalEndpointParamKey];\n if (typeof configValue === \"function\") {\n return configValue();\n }\n return configValue;\n };\n if (configKey === \"credentialScope\" || canonicalEndpointParamKey === \"CredentialScope\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.credentialScope ?? credentials?.CredentialScope;\n return configValue;\n };\n }\n if (configKey === \"accountId\" || canonicalEndpointParamKey === \"AccountId\") {\n return async () => {\n const credentials = typeof config.credentials === \"function\" ? await config.credentials() : config.credentials;\n const configValue = credentials?.accountId ?? credentials?.AccountId;\n return configValue;\n };\n }\n if (configKey === \"endpoint\" || canonicalEndpointParamKey === \"endpoint\") {\n return async () => {\n const endpoint = await configProvider();\n if (endpoint && typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return endpoint.url.href;\n }\n if (\"hostname\" in endpoint) {\n const { protocol, hostname, port, path } = endpoint;\n return `${protocol}//${hostname}${port ? \":\" + port : \"\"}${path}`;\n }\n }\n return endpoint;\n };\n }\n return configProvider;\n};\n",
|
|
69
|
+
"export const getEndpointFromConfig = async (serviceId) => undefined;\n",
|
|
70
|
+
"export function 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",
|
|
71
|
+
"import { parseQueryString } from \"@smithy/querystring-parser\";\nexport const 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 = parseQueryString(search);\n }\n return {\n hostname,\n port: port ? parseInt(port) : undefined,\n protocol,\n path: pathname,\n query,\n };\n};\n",
|
|
72
|
+
"import { parseUrl } from \"@smithy/url-parser\";\nexport const toEndpointV1 = (endpoint) => {\n if (typeof endpoint === \"object\") {\n if (\"url\" in endpoint) {\n return parseUrl(endpoint.url);\n }\n return endpoint;\n }\n return parseUrl(endpoint);\n};\n",
|
|
73
|
+
"import { resolveParamsForS3 } from \"../service-customizations\";\nimport { createConfigValueProvider } from \"./createConfigValueProvider\";\nimport { getEndpointFromConfig } from \"./getEndpointFromConfig\";\nimport { toEndpointV1 } from \"./toEndpointV1\";\nexport const getEndpointFromInstructions = async (commandInput, instructionsSupplier, clientConfig, context) => {\n if (!clientConfig.endpoint) {\n const endpointFromConfig = await getEndpointFromConfig(clientConfig.serviceId || \"\");\n if (endpointFromConfig) {\n clientConfig.endpoint = () => Promise.resolve(toEndpointV1(endpointFromConfig));\n }\n }\n const endpointParams = await resolveParams(commandInput, instructionsSupplier, clientConfig);\n if (typeof clientConfig.endpointProvider !== \"function\") {\n throw new Error(\"config.endpointProvider is not set.\");\n }\n const endpoint = clientConfig.endpointProvider(endpointParams, context);\n return endpoint;\n};\nexport const resolveParams = async (commandInput, instructionsSupplier, clientConfig) => {\n const endpointParams = {};\n const instructions = instructionsSupplier?.getEndpointParameterInstructions?.() || {};\n for (const [name, instruction] of Object.entries(instructions)) {\n switch (instruction.type) {\n case \"staticContextParams\":\n endpointParams[name] = instruction.value;\n break;\n case \"contextParams\":\n endpointParams[name] = commandInput[instruction.name];\n break;\n case \"clientContextParams\":\n case \"builtInParams\":\n endpointParams[name] = await createConfigValueProvider(instruction.name, name, clientConfig)();\n break;\n 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",
|
|
74
|
+
"import { getSmithyContext } from \"@smithy/util-middleware\";\nimport { getEndpointFromInstructions } from \"./adaptors/getEndpointFromInstructions\";\nexport const endpointMiddleware = ({ config, instructions, }) => {\n return (next, context) => async (args) => {\n const endpoint = await getEndpointFromInstructions(args.input, {\n getEndpointParameterInstructions() {\n return instructions;\n },\n }, { ...config }, context);\n context.endpointV2 = endpoint;\n context.authSchemes = endpoint.properties?.authSchemes;\n const authScheme = context.authSchemes?.[0];\n if (authScheme) {\n context[\"signing_region\"] = authScheme.signingRegion;\n context[\"signing_service\"] = authScheme.signingName;\n const smithyContext = getSmithyContext(context);\n const httpAuthOption = smithyContext?.selectedHttpAuthScheme?.httpAuthOption;\n if (httpAuthOption) {\n httpAuthOption.signingProperties = Object.assign(httpAuthOption.signingProperties || {}, {\n signing_region: authScheme.signingRegion,\n signingRegion: authScheme.signingRegion,\n signing_service: authScheme.signingName,\n signingName: authScheme.signingName,\n signingRegionSet: authScheme.signingRegionSet,\n }, authScheme.properties);\n }\n }\n return next({\n ...args,\n });\n };\n};\n",
|
|
75
|
+
"export const deserializerMiddleware = (options, deserializer) => (next) => async (args) => {\n const { response } = await next(args);\n try {\n const parsed = await deserializer(response, options);\n return {\n response,\n output: parsed,\n };\n }\n catch (error) {\n Object.defineProperty(error, \"$response\", {\n value: response,\n });\n if (!(\"$metadata\" in error)) {\n const hint = `Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object.`;\n error.message += \"\\n \" + hint;\n if (typeof error.$responseBodyText !== \"undefined\") {\n if (error.$response) {\n error.$response.body = error.$responseBodyText;\n }\n }\n }\n throw error;\n }\n};\n",
|
|
76
|
+
"export const serializerMiddleware = (options, serializer) => (next, context) => async (args) => {\n const endpoint = context.endpointV2?.url && options.urlParser\n ? async () => options.urlParser(context.endpointV2.url)\n : options.endpoint;\n if (!endpoint) {\n throw new Error(\"No valid endpoint provider available.\");\n }\n const request = await serializer(args.input, { ...options, endpoint });\n return next({\n ...args,\n request,\n });\n};\n",
|
|
77
|
+
"import { deserializerMiddleware } from \"./deserializerMiddleware\";\nimport { serializerMiddleware } from \"./serializerMiddleware\";\nexport const deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport const serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: (commandStack) => {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n },\n };\n}\n",
|
|
78
|
+
"import { serializerMiddlewareOption } from \"@smithy/middleware-serde\";\nimport { endpointMiddleware } from \"./endpointMiddleware\";\nexport const endpointMiddlewareOptions = {\n step: \"serialize\",\n tags: [\"ENDPOINT_PARAMETERS\", \"ENDPOINT_V2\", \"ENDPOINT\"],\n name: \"endpointV2Middleware\",\n override: true,\n relation: \"before\",\n toMiddleware: serializerMiddlewareOption.name,\n};\nexport const getEndpointPlugin = (config, instructions) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(endpointMiddleware({\n config,\n instructions,\n }), endpointMiddlewareOptions);\n },\n});\n",
|
|
79
|
+
"import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { toEndpointV1 } from \"./adaptors/toEndpointV1\";\nexport const resolveEndpointConfig = (input) => {\n const tls = input.tls ?? true;\n const { endpoint } = input;\n const customEndpointProvider = endpoint != null ? async () => toEndpointV1(await normalizeProvider(endpoint)()) : undefined;\n const isCustomEndpoint = !!endpoint;\n return {\n ...input,\n endpoint: customEndpointProvider,\n tls,\n isCustomEndpoint,\n useDualstackEndpoint: normalizeProvider(input.useDualstackEndpoint ?? false),\n useFipsEndpoint: normalizeProvider(input.useFipsEndpoint ?? false),\n };\n};\n",
|
|
80
|
+
"import { endpointMiddlewareOptions } from \"@smithy/middleware-endpoint\";\nimport { 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: endpointMiddlewareOptions.name,\n};\nexport const getHttpAuthSchemeEndpointRuleSetPlugin = (config, { httpAuthSchemeParametersProvider, identityProviderConfigProvider, }) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpAuthSchemeMiddleware(config, {\n httpAuthSchemeParametersProvider,\n identityProviderConfigProvider,\n }), httpAuthSchemeEndpointRuleSetMiddlewareOptions);\n },\n});\n",
|
|
81
|
+
"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",
|
|
82
|
+
"import { HttpRequest } from \"@smithy/protocol-http\";\nimport { SMITHY_CONTEXT_KEY, } from \"@smithy/types\";\nimport { getSmithyContext } from \"@smithy/util-middleware\";\nconst defaultErrorHandler = (signingProperties) => (error) => {\n throw error;\n};\nconst defaultSuccessHandler = (httpResponse, signingProperties) => { };\nexport const httpSigningMiddleware = (config) => (next, context) => async (args) => {\n if (!HttpRequest.isInstance(args.request)) {\n return next(args);\n }\n const smithyContext = getSmithyContext(context);\n const scheme = smithyContext.selectedHttpAuthScheme;\n if (!scheme) {\n throw new Error(`No HttpAuthScheme was selected: unable to sign request`);\n }\n const { httpAuthOption: { signingProperties = {} }, identity, signer, } = scheme;\n const output = await next({\n ...args,\n request: await signer.sign(args.request, identity, signingProperties),\n }).catch((signer.errorHandler || defaultErrorHandler)(signingProperties));\n (signer.successHandler || defaultSuccessHandler)(output.response, signingProperties);\n return output;\n};\n",
|
|
83
|
+
"export var RETRY_MODES;\n(function (RETRY_MODES) {\n RETRY_MODES[\"STANDARD\"] = \"standard\";\n RETRY_MODES[\"ADAPTIVE\"] = \"adaptive\";\n})(RETRY_MODES || (RETRY_MODES = {}));\nexport const DEFAULT_MAX_ATTEMPTS = 3;\nexport const DEFAULT_RETRY_MODE = RETRY_MODES.STANDARD;\n",
|
|
84
|
+
"export const CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\nexport const THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\",\n];\nexport const TRANSIENT_ERROR_CODES = [\"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\nexport const TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\nexport const NODEJS_TIMEOUT_ERROR_CODES = [\"ECONNRESET\", \"ECONNREFUSED\", \"EPIPE\", \"ETIMEDOUT\"];\n",
|
|
85
|
+
"import { CLOCK_SKEW_ERROR_CODES, NODEJS_TIMEOUT_ERROR_CODES, THROTTLING_ERROR_CODES, TRANSIENT_ERROR_CODES, TRANSIENT_ERROR_STATUS_CODES, } from \"./constants\";\nexport const isRetryableByTrait = (error) => error.$retryable !== undefined;\nexport const isClockSkewError = (error) => CLOCK_SKEW_ERROR_CODES.includes(error.name);\nexport const isClockSkewCorrectedError = (error) => error.$metadata?.clockSkewCorrected;\nexport const isThrottlingError = (error) => error.$metadata?.httpStatusCode === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n error.$retryable?.throttling == true;\nexport const isTransientError = (error) => isClockSkewCorrectedError(error) ||\n TRANSIENT_ERROR_CODES.includes(error.name) ||\n NODEJS_TIMEOUT_ERROR_CODES.includes(error?.code || \"\") ||\n TRANSIENT_ERROR_STATUS_CODES.includes(error.$metadata?.httpStatusCode || 0);\nexport const isServerError = (error) => {\n if (error.$metadata?.httpStatusCode !== undefined) {\n const statusCode = error.$metadata.httpStatusCode;\n if (500 <= statusCode && statusCode <= 599 && !isTransientError(error)) {\n return true;\n }\n return false;\n }\n return false;\n};\n",
|
|
86
|
+
"import { isThrottlingError } from \"@smithy/service-error-classification\";\nexport class DefaultRateLimiter {\n constructor(options) {\n this.currentCapacity = 0;\n this.enabled = false;\n this.lastMaxRate = 0;\n this.measuredTxRate = 0;\n this.requestCount = 0;\n this.lastTimestamp = 0;\n this.timeWindow = 0;\n this.beta = options?.beta ?? 0.7;\n this.minCapacity = options?.minCapacity ?? 1;\n this.minFillRate = options?.minFillRate ?? 0.5;\n this.scaleConstant = options?.scaleConstant ?? 0.4;\n this.smooth = options?.smooth ?? 0.8;\n const currentTimeInSeconds = this.getCurrentTimeInSeconds();\n this.lastThrottleTime = currentTimeInSeconds;\n this.lastTxRateBucket = Math.floor(this.getCurrentTimeInSeconds());\n this.fillRate = this.minFillRate;\n this.maxCapacity = this.minCapacity;\n }\n getCurrentTimeInSeconds() {\n return Date.now() / 1000;\n }\n async getSendToken() {\n return this.acquireTokenBucket(1);\n }\n async acquireTokenBucket(amount) {\n if (!this.enabled) {\n return;\n }\n this.refillTokenBucket();\n if (amount > this.currentCapacity) {\n const delay = ((amount - this.currentCapacity) / this.fillRate) * 1000;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n this.currentCapacity = this.currentCapacity - amount;\n }\n refillTokenBucket() {\n const timestamp = this.getCurrentTimeInSeconds();\n if (!this.lastTimestamp) {\n this.lastTimestamp = timestamp;\n return;\n }\n const fillAmount = (timestamp - this.lastTimestamp) * this.fillRate;\n this.currentCapacity = Math.min(this.maxCapacity, this.currentCapacity + fillAmount);\n this.lastTimestamp = timestamp;\n }\n updateClientSendingRate(response) {\n let calculatedRate;\n this.updateMeasuredRate();\n if (isThrottlingError(response)) {\n const rateToUse = !this.enabled ? this.measuredTxRate : Math.min(this.measuredTxRate, this.fillRate);\n this.lastMaxRate = rateToUse;\n this.calculateTimeWindow();\n this.lastThrottleTime = this.getCurrentTimeInSeconds();\n calculatedRate = this.cubicThrottle(rateToUse);\n this.enableTokenBucket();\n }\n else {\n this.calculateTimeWindow();\n calculatedRate = this.cubicSuccess(this.getCurrentTimeInSeconds());\n }\n const newRate = Math.min(calculatedRate, 2 * this.measuredTxRate);\n this.updateTokenBucketRate(newRate);\n }\n calculateTimeWindow() {\n this.timeWindow = this.getPrecise(Math.pow((this.lastMaxRate * (1 - this.beta)) / this.scaleConstant, 1 / 3));\n }\n cubicThrottle(rateToUse) {\n return this.getPrecise(rateToUse * this.beta);\n }\n cubicSuccess(timestamp) {\n return this.getPrecise(this.scaleConstant * Math.pow(timestamp - this.lastThrottleTime - this.timeWindow, 3) + this.lastMaxRate);\n }\n enableTokenBucket() {\n this.enabled = true;\n }\n updateTokenBucketRate(newRate) {\n this.refillTokenBucket();\n this.fillRate = Math.max(newRate, this.minFillRate);\n this.maxCapacity = Math.max(newRate, this.minCapacity);\n this.currentCapacity = Math.min(this.currentCapacity, this.maxCapacity);\n }\n updateMeasuredRate() {\n const t = this.getCurrentTimeInSeconds();\n const timeBucket = Math.floor(t * 2) / 2;\n this.requestCount++;\n if (timeBucket > this.lastTxRateBucket) {\n const currentRate = this.requestCount / (timeBucket - this.lastTxRateBucket);\n this.measuredTxRate = this.getPrecise(currentRate * this.smooth + this.measuredTxRate * (1 - this.smooth));\n this.requestCount = 0;\n this.lastTxRateBucket = timeBucket;\n }\n }\n getPrecise(num) {\n return parseFloat(num.toFixed(8));\n }\n}\n",
|
|
87
|
+
"export const DEFAULT_RETRY_DELAY_BASE = 100;\nexport const MAXIMUM_RETRY_DELAY = 20 * 1000;\nexport const THROTTLING_RETRY_DELAY_BASE = 500;\nexport const INITIAL_RETRY_TOKENS = 500;\nexport const RETRY_COST = 5;\nexport const TIMEOUT_RETRY_COST = 10;\nexport const NO_RETRY_INCREMENT = 1;\nexport const INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\nexport const REQUEST_HEADER = \"amz-sdk-request\";\n",
|
|
88
|
+
"import { DEFAULT_RETRY_DELAY_BASE, MAXIMUM_RETRY_DELAY } from \"./constants\";\nexport const getDefaultRetryBackoffStrategy = () => {\n let delayBase = DEFAULT_RETRY_DELAY_BASE;\n const computeNextBackoffDelay = (attempts) => {\n return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * 2 ** attempts * delayBase));\n };\n const setDelayBase = (delay) => {\n delayBase = delay;\n };\n return {\n computeNextBackoffDelay,\n setDelayBase,\n };\n};\n",
|
|
89
|
+
"import { MAXIMUM_RETRY_DELAY } from \"./constants\";\nexport const createDefaultRetryToken = ({ retryDelay, retryCount, retryCost, }) => {\n const getRetryCount = () => retryCount;\n const getRetryDelay = () => Math.min(MAXIMUM_RETRY_DELAY, retryDelay);\n const getRetryCost = () => retryCost;\n return {\n getRetryCount,\n getRetryDelay,\n getRetryCost,\n };\n};\n",
|
|
90
|
+
"import { DEFAULT_MAX_ATTEMPTS, RETRY_MODES } from \"./config\";\nimport { DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, NO_RETRY_INCREMENT, RETRY_COST, THROTTLING_RETRY_DELAY_BASE, TIMEOUT_RETRY_COST, } from \"./constants\";\nimport { getDefaultRetryBackoffStrategy } from \"./defaultRetryBackoffStrategy\";\nimport { createDefaultRetryToken } from \"./defaultRetryToken\";\nexport class StandardRetryStrategy {\n constructor(maxAttempts) {\n this.maxAttempts = maxAttempts;\n this.mode = RETRY_MODES.STANDARD;\n this.capacity = INITIAL_RETRY_TOKENS;\n this.retryBackoffStrategy = getDefaultRetryBackoffStrategy();\n this.maxAttemptsProvider = typeof maxAttempts === \"function\" ? maxAttempts : async () => maxAttempts;\n }\n async acquireInitialRetryToken(retryTokenScope) {\n return createDefaultRetryToken({\n retryDelay: DEFAULT_RETRY_DELAY_BASE,\n retryCount: 0,\n });\n }\n async refreshRetryTokenForRetry(token, errorInfo) {\n const maxAttempts = await this.getMaxAttempts();\n if (this.shouldRetry(token, errorInfo, maxAttempts)) {\n const errorType = errorInfo.errorType;\n this.retryBackoffStrategy.setDelayBase(errorType === \"THROTTLING\" ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE);\n const delayFromErrorType = this.retryBackoffStrategy.computeNextBackoffDelay(token.getRetryCount());\n const retryDelay = errorInfo.retryAfterHint\n ? Math.max(errorInfo.retryAfterHint.getTime() - Date.now() || 0, delayFromErrorType)\n : delayFromErrorType;\n const capacityCost = this.getCapacityCost(errorType);\n this.capacity -= capacityCost;\n return createDefaultRetryToken({\n retryDelay,\n retryCount: token.getRetryCount() + 1,\n retryCost: capacityCost,\n });\n }\n throw new Error(\"No retry token available\");\n }\n recordSuccess(token) {\n this.capacity = Math.max(INITIAL_RETRY_TOKENS, this.capacity + (token.getRetryCost() ?? NO_RETRY_INCREMENT));\n }\n getCapacity() {\n return this.capacity;\n }\n async getMaxAttempts() {\n try {\n return await this.maxAttemptsProvider();\n }\n catch (error) {\n console.warn(`Max attempts provider could not resolve. Using default of ${DEFAULT_MAX_ATTEMPTS}`);\n return DEFAULT_MAX_ATTEMPTS;\n }\n }\n shouldRetry(tokenToRenew, errorInfo, maxAttempts) {\n const attempts = tokenToRenew.getRetryCount() + 1;\n return (attempts < maxAttempts &&\n this.capacity >= this.getCapacityCost(errorInfo.errorType) &&\n this.isRetryableError(errorInfo.errorType));\n }\n getCapacityCost(errorType) {\n return errorType === \"TRANSIENT\" ? TIMEOUT_RETRY_COST : RETRY_COST;\n }\n isRetryableError(errorType) {\n return errorType === \"THROTTLING\" || errorType === \"TRANSIENT\";\n }\n}\n",
|
|
91
|
+
"import { RETRY_MODES } from \"./config\";\nimport { DefaultRateLimiter } from \"./DefaultRateLimiter\";\nimport { StandardRetryStrategy } from \"./StandardRetryStrategy\";\nexport class AdaptiveRetryStrategy {\n constructor(maxAttemptsProvider, options) {\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = RETRY_MODES.ADAPTIVE;\n const { rateLimiter } = options ?? {};\n this.rateLimiter = rateLimiter ?? new DefaultRateLimiter();\n this.standardRetryStrategy = new StandardRetryStrategy(maxAttemptsProvider);\n }\n async acquireInitialRetryToken(retryTokenScope) {\n await this.rateLimiter.getSendToken();\n return this.standardRetryStrategy.acquireInitialRetryToken(retryTokenScope);\n }\n async refreshRetryTokenForRetry(tokenToRenew, errorInfo) {\n this.rateLimiter.updateClientSendingRate(errorInfo);\n return this.standardRetryStrategy.refreshRetryTokenForRetry(tokenToRenew, errorInfo);\n }\n recordSuccess(token) {\n this.rateLimiter.updateClientSendingRate({});\n this.standardRetryStrategy.recordSuccess(token);\n }\n}\n",
|
|
92
|
+
"// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}",
|
|
93
|
+
"import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\n\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];\n}\n\nfunction stringify(arr, offset = 0) {\n const uuid = unsafeStringify(arr, offset); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;",
|
|
94
|
+
"const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};",
|
|
95
|
+
"import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\n\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n\n options = options || {};\n const rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return unsafeStringify(rnds);\n}\n\nexport default v4;",
|
|
96
|
+
"export const asSdkError = (error) => {\n if (error instanceof Error)\n return error;\n if (error instanceof Object)\n return Object.assign(new Error(), error);\n if (typeof error === \"string\")\n return new Error(error);\n return new Error(`AWS SDK error wrapper for ${error}`);\n};\n",
|
|
97
|
+
"import { normalizeProvider } from \"@smithy/util-middleware\";\nimport { AdaptiveRetryStrategy, DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, RETRY_MODES, StandardRetryStrategy, } from \"@smithy/util-retry\";\nexport const ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexport const CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nexport const NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => {\n const value = env[ENV_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Environment variable ${ENV_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n configFileSelector: (profile) => {\n const value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n const maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(`Shared config file entry ${CONFIG_MAX_ATTEMPTS} mast be a number, got \"${value}\"`);\n }\n return maxAttempt;\n },\n default: DEFAULT_MAX_ATTEMPTS,\n};\nexport const resolveRetryConfig = (input) => {\n const { retryStrategy } = input;\n const maxAttempts = normalizeProvider(input.maxAttempts ?? DEFAULT_MAX_ATTEMPTS);\n return {\n ...input,\n maxAttempts,\n retryStrategy: async () => {\n if (retryStrategy) {\n return retryStrategy;\n }\n const retryMode = await normalizeProvider(input.retryMode)();\n if (retryMode === RETRY_MODES.ADAPTIVE) {\n return new AdaptiveRetryStrategy(maxAttempts);\n }\n return new StandardRetryStrategy(maxAttempts);\n },\n };\n};\nexport const ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexport const CONFIG_RETRY_MODE = \"retry_mode\";\nexport const NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: (env) => env[ENV_RETRY_MODE],\n configFileSelector: (profile) => profile[CONFIG_RETRY_MODE],\n default: DEFAULT_RETRY_MODE,\n};\n",
|
|
98
|
+
"export class NoOpLogger {\n trace() { }\n debug() { }\n info() { }\n warn() { }\n error() { }\n}\n",
|
|
99
|
+
"const 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};\nexport const 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",
|
|
100
|
+
"import { constructStack } from \"@smithy/middleware-stack\";\nexport class Client {\n constructor(config) {\n this.middlewareStack = constructStack();\n this.config = config;\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\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 if (this.config.requestHandler.destroy)\n this.config.requestHandler.destroy();\n }\n}\n",
|
|
101
|
+
"const alphabetByEncoding = {};\nconst alphabetByValue = new Array(64);\nfor (let i = 0, start = \"A\".charCodeAt(0), limit = \"Z\".charCodeAt(0); i + start <= limit; i++) {\n const char = String.fromCharCode(i + start);\n alphabetByEncoding[char] = i;\n alphabetByValue[i] = char;\n}\nfor (let i = 0, start = \"a\".charCodeAt(0), limit = \"z\".charCodeAt(0); i + start <= limit; i++) {\n const char = String.fromCharCode(i + start);\n const index = i + 26;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\nfor (let i = 0; i < 10; i++) {\n alphabetByEncoding[i.toString(10)] = i + 52;\n const char = i.toString(10);\n const index = i + 52;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\nalphabetByEncoding[\"+\"] = 62;\nalphabetByValue[62] = \"+\";\nalphabetByEncoding[\"/\"] = 63;\nalphabetByValue[63] = \"/\";\nconst bitsPerLetter = 6;\nconst bitsPerByte = 8;\nconst maxLetterValue = 0b111111;\nexport { alphabetByEncoding, alphabetByValue, bitsPerLetter, bitsPerByte, maxLetterValue };\n",
|
|
102
|
+
"import { alphabetByEncoding, bitsPerByte, bitsPerLetter } from \"./constants.browser\";\nexport const fromBase64 = (input) => {\n let totalByteLength = (input.length / 4) * 3;\n if (input.slice(-2) === \"==\") {\n totalByteLength -= 2;\n }\n else if (input.slice(-1) === \"=\") {\n totalByteLength--;\n }\n const out = new ArrayBuffer(totalByteLength);\n const dataView = new DataView(out);\n for (let i = 0; i < input.length; i += 4) {\n let bits = 0;\n let bitLength = 0;\n for (let j = i, limit = i + 3; j <= limit; j++) {\n if (input[j] !== \"=\") {\n if (!(input[j] in alphabetByEncoding)) {\n throw new TypeError(`Invalid character ${input[j]} in base64 string.`);\n }\n bits |= alphabetByEncoding[input[j]] << ((limit - j) * bitsPerLetter);\n bitLength += bitsPerLetter;\n }\n else {\n bits >>= bitsPerLetter;\n }\n }\n const chunkOffset = (i / 4) * 3;\n bits >>= bitLength % bitsPerByte;\n const byteLength = Math.floor(bitLength / bitsPerByte);\n for (let k = 0; k < byteLength; k++) {\n const offset = (byteLength - k - 1) * bitsPerByte;\n dataView.setUint8(chunkOffset + k, (bits & (255 << offset)) >> offset);\n }\n }\n return new Uint8Array(out);\n};\n",
|
|
103
|
+
"export const fromUtf8 = (input) => new TextEncoder().encode(input);\n",
|
|
104
|
+
"import { fromUtf8 } from \"./fromUtf8\";\nexport const 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",
|
|
105
|
+
"export const 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 new TextDecoder(\"utf-8\").decode(input);\n};\n",
|
|
106
|
+
"import { fromUtf8 } from \"@smithy/util-utf8\";\nimport { alphabetByValue, bitsPerByte, bitsPerLetter, maxLetterValue } from \"./constants.browser\";\nexport function toBase64(_input) {\n let input;\n if (typeof _input === \"string\") {\n input = fromUtf8(_input);\n }\n else {\n input = _input;\n }\n const isArrayLike = typeof input === \"object\" && typeof input.length === \"number\";\n const isUint8Array = typeof input === \"object\" &&\n typeof input.byteOffset === \"number\" &&\n typeof input.byteLength === \"number\";\n if (!isArrayLike && !isUint8Array) {\n throw new Error(\"@smithy/util-base64: toBase64 encoder function only accepts string | Uint8Array.\");\n }\n let str = \"\";\n for (let i = 0; i < input.length; i += 3) {\n let bits = 0;\n let bitLength = 0;\n for (let j = i, limit = Math.min(i + 3, input.length); j < limit; j++) {\n bits |= input[j] << ((limit - j - 1) * bitsPerByte);\n bitLength += bitsPerByte;\n }\n const bitClusterCount = Math.ceil(bitLength / bitsPerLetter);\n bits <<= bitClusterCount * bitsPerLetter - bitLength;\n for (let k = 1; k <= bitClusterCount; k++) {\n const offset = (bitClusterCount - k) * bitsPerLetter;\n str += alphabetByValue[(bits & (maxLetterValue << offset)) >> offset];\n }\n str += \"==\".slice(0, 4 - bitClusterCount);\n }\n return str;\n}\n",
|
|
107
|
+
"import { fromBase64, toBase64 } from \"@smithy/util-base64\";\nimport { fromUtf8, toUtf8 } from \"@smithy/util-utf8\";\nimport { Uint8ArrayBlobAdapter } from \"./Uint8ArrayBlobAdapter\";\nexport function transformToString(payload, encoding = \"utf-8\") {\n if (encoding === \"base64\") {\n return toBase64(payload);\n }\n return toUtf8(payload);\n}\nexport function transformFromString(str, encoding) {\n if (encoding === \"base64\") {\n return Uint8ArrayBlobAdapter.mutate(fromBase64(str));\n }\n return Uint8ArrayBlobAdapter.mutate(fromUtf8(str));\n}\n",
|
|
108
|
+
"import { transformFromString, transformToString } from \"./transforms\";\nexport class Uint8ArrayBlobAdapter extends Uint8Array {\n static fromString(source, encoding = \"utf-8\") {\n switch (typeof source) {\n case \"string\":\n return transformFromString(source, encoding);\n default:\n throw new Error(`Unsupported conversion from ${typeof source} to Uint8ArrayBlobAdapter.`);\n }\n }\n static mutate(source) {\n Object.setPrototypeOf(source, Uint8ArrayBlobAdapter.prototype);\n return source;\n }\n transformToString(encoding = \"utf-8\") {\n return transformToString(this, encoding);\n }\n}\n",
|
|
109
|
+
"export const escapeUri = (uri) => encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\nconst hexEncode = (c) => `%${c.charCodeAt(0).toString(16).toUpperCase()}`;\n",
|
|
110
|
+
"import { escapeUri } from \"@smithy/util-uri-escape\";\nexport function buildQueryString(query) {\n const parts = [];\n for (let key of Object.keys(query).sort()) {\n const value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (let i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(`${key}=${escapeUri(value[i])}`);\n }\n }\n else {\n let qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += `=${escapeUri(value)}`;\n }\n parts.push(qsEntry);\n }\n }\n return parts.join(\"&\");\n}\n",
|
|
111
|
+
"export function 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",
|
|
112
|
+
"import { HttpResponse } from \"@smithy/protocol-http\";\nimport { buildQueryString } from \"@smithy/querystring-builder\";\nimport { requestTimeout } from \"./request-timeout\";\nexport const keepAliveSupport = {\n supported: undefined,\n};\nexport class FetchHttpHandler {\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 new Request(\"https://[::1]\"));\n }\n }\n destroy() {\n }\n async handle(request, { abortSignal } = {}) {\n if (!this.config) {\n this.config = await this.configProvider;\n }\n const requestTimeoutInMs = 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 = 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 (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 let removeSignalEventListener = () => { };\n const fetchRequest = new Request(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 HttpResponse({\n headers: transformedHeaders,\n reason: response.statusText,\n statusCode: response.status,\n body,\n }),\n }));\n }\n return {\n response: new 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",
|
|
113
|
+
"import { fromBase64 } from \"@smithy/util-base64\";\nexport const streamCollector = (stream) => {\n if (typeof Blob === \"function\" && stream instanceof Blob) {\n return collectBlob(stream);\n }\n return collectStream(stream);\n};\nasync function collectBlob(blob) {\n const base64 = await readToBase64(blob);\n const arrayBuffer = 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",
|
|
114
|
+
"const 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}\nexport function 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}\nexport function 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",
|
|
115
|
+
"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",
|
|
116
|
+
"import { constructStack } from \"@smithy/middleware-stack\";\nimport { SMITHY_CONTEXT_KEY } from \"@smithy/types\";\nexport class Command {\n constructor() {\n this.middlewareStack = constructStack();\n }\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 [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 constructor() {\n this._init = () => { };\n this._ep = {};\n this._middlewareFn = () => [];\n this._commandName = \"\";\n this._clientName = \"\";\n this._additionalContext = {};\n this._smithyContext = {};\n this._inputFilterSensitiveLog = (_) => _;\n this._outputFilterSensitiveLog = (_) => _;\n this._serializer = null;\n this._deserializer = null;\n }\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 build() {\n const closure = this;\n let CommandRef;\n return (CommandRef = class extends Command {\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n constructor(...[input]) {\n super();\n this.serialize = closure._serializer;\n this.deserialize = closure._deserializer;\n this.input = input ?? {};\n closure._init(this);\n }\n resolveMiddleware(stack, configuration, options) {\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,\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog,\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext,\n });\n }\n });\n }\n}\n",
|
|
117
|
+
"export const SENSITIVE_STRING = \"***SensitiveInformation***\";\n",
|
|
118
|
+
"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",
|
|
119
|
+
"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",
|
|
120
|
+
"export class ServiceException extends Error {\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, ServiceException.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n}\nexport const 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",
|
|
121
|
+
"import { decorateServiceException } from \"./exceptions\";\nexport const 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};\nexport const 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",
|
|
122
|
+
"export const 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",
|
|
123
|
+
"import { AlgorithmId } from \"@smithy/types\";\nexport { AlgorithmId };\nexport const getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in AlgorithmId) {\n const algorithmId = 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 _checksumAlgorithms: checksumAlgorithms,\n addChecksumAlgorithm(algo) {\n this._checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return this._checksumAlgorithms;\n },\n };\n};\nexport const resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n runtimeConfig[checksumAlgorithm.algorithmId()] = checksumAlgorithm.checksumConstructor();\n });\n return runtimeConfig;\n};\n",
|
|
124
|
+
"export const getRetryConfiguration = (runtimeConfig) => {\n let _retryStrategy = runtimeConfig.retryStrategy;\n return {\n setRetryStrategy(retryStrategy) {\n _retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return _retryStrategy;\n },\n };\n};\nexport const resolveRetryRuntimeConfig = (retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n};\n",
|
|
125
|
+
"import { getChecksumConfiguration, resolveChecksumRuntimeConfig } from \"./checksum\";\nimport { getRetryConfiguration, resolveRetryRuntimeConfig } from \"./retry\";\nexport const getDefaultExtensionConfiguration = (runtimeConfig) => {\n return {\n ...getChecksumConfiguration(runtimeConfig),\n ...getRetryConfiguration(runtimeConfig),\n };\n};\nexport const getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nexport const resolveDefaultRuntimeConfig = (config) => {\n return {\n ...resolveChecksumRuntimeConfig(config),\n ...resolveRetryRuntimeConfig(config),\n };\n};\n",
|
|
126
|
+
"export function extendedEncodeURIComponent(str) {\n return encodeURIComponent(str).replace(/[!'()*]/g, function (c) {\n return \"%\" + c.charCodeAt(0).toString(16).toUpperCase();\n });\n}\n",
|
|
127
|
+
"export const StringWrapper = function () {\n const Class = Object.getPrototypeOf(this).constructor;\n const Constructor = Function.bind.apply(String, [null, ...arguments]);\n const instance = new Constructor();\n Object.setPrototypeOf(instance, Class.prototype);\n return instance;\n};\nStringWrapper.prototype = Object.create(String.prototype, {\n constructor: {\n value: StringWrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n },\n});\nObject.setPrototypeOf(StringWrapper, String);\nexport class LazyJsonString extends StringWrapper {\n deserializeJSON() {\n return JSON.parse(super.toString());\n }\n toJSON() {\n return super.toString();\n }\n static fromObject(object) {\n if (object instanceof LazyJsonString) {\n return object;\n }\n else if (object instanceof String || typeof object === \"string\") {\n return new LazyJsonString(object);\n }\n return new LazyJsonString(JSON.stringify(object));\n }\n}\n",
|
|
128
|
+
"export function 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}\nexport const convertMap = (target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n};\nexport const 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",
|
|
129
|
+
"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",
|
|
130
|
+
"export const _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",
|
|
131
|
+
"export const isStreamingPayload = (request) => request?.body instanceof ReadableStream;\n",
|
|
132
|
+
"import { HttpRequest, HttpResponse } from \"@smithy/protocol-http\";\nimport { isServerError, isThrottlingError, isTransientError } from \"@smithy/service-error-classification\";\nimport { NoOpLogger } from \"@smithy/smithy-client\";\nimport { INVOCATION_ID_HEADER, REQUEST_HEADER } from \"@smithy/util-retry\";\nimport { v4 } from \"uuid\";\nimport { isStreamingPayload } from \"./isStreamingPayload/isStreamingPayload\";\nimport { asSdkError } from \"./util\";\nexport const retryMiddleware = (options) => (next, context) => async (args) => {\n let retryStrategy = await options.retryStrategy();\n const maxAttempts = await options.maxAttempts();\n if (isRetryStrategyV2(retryStrategy)) {\n retryStrategy = retryStrategy;\n let retryToken = await retryStrategy.acquireInitialRetryToken(context[\"partition_id\"]);\n let lastError = new Error();\n let attempts = 0;\n let totalRetryDelay = 0;\n const { request } = args;\n const isRequest = HttpRequest.isInstance(request);\n if (isRequest) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n while (true) {\n try {\n if (isRequest) {\n request.headers[REQUEST_HEADER] = `attempt=${attempts + 1}; max=${maxAttempts}`;\n }\n const { response, output } = await next(args);\n retryStrategy.recordSuccess(retryToken);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalRetryDelay;\n return { response, output };\n }\n catch (e) {\n const retryErrorInfo = getRetryErrorInfo(e);\n lastError = asSdkError(e);\n if (isRequest && isStreamingPayload(request)) {\n (context.logger instanceof NoOpLogger ? console : context.logger)?.warn(\"An error was encountered in a non-retryable streaming request.\");\n throw lastError;\n }\n try {\n retryToken = await retryStrategy.refreshRetryTokenForRetry(retryToken, retryErrorInfo);\n }\n catch (refreshError) {\n if (!lastError.$metadata) {\n lastError.$metadata = {};\n }\n lastError.$metadata.attempts = attempts + 1;\n lastError.$metadata.totalRetryDelay = totalRetryDelay;\n throw lastError;\n }\n attempts = retryToken.getRetryCount();\n const delay = retryToken.getRetryDelay();\n totalRetryDelay += delay;\n await new Promise((resolve) => setTimeout(resolve, delay));\n }\n }\n }\n else {\n retryStrategy = retryStrategy;\n if (retryStrategy?.mode)\n context.userAgent = [...(context.userAgent || []), [\"cfg/retry-mode\", retryStrategy.mode]];\n return retryStrategy.retry(next, args);\n }\n};\nconst isRetryStrategyV2 = (retryStrategy) => typeof retryStrategy.acquireInitialRetryToken !== \"undefined\" &&\n typeof retryStrategy.refreshRetryTokenForRetry !== \"undefined\" &&\n typeof retryStrategy.recordSuccess !== \"undefined\";\nconst getRetryErrorInfo = (error) => {\n const errorInfo = {\n error,\n errorType: getRetryErrorType(error),\n };\n const retryAfterHint = getRetryAfterHint(error.$response);\n if (retryAfterHint) {\n errorInfo.retryAfterHint = retryAfterHint;\n }\n return errorInfo;\n};\nconst getRetryErrorType = (error) => {\n if (isThrottlingError(error))\n return \"THROTTLING\";\n if (isTransientError(error))\n return \"TRANSIENT\";\n if (isServerError(error))\n return \"SERVER_ERROR\";\n return \"CLIENT_ERROR\";\n};\nexport const retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nexport const getRetryPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n});\nexport const getRetryAfterHint = (response) => {\n if (!HttpResponse.isInstance(response))\n return;\n const retryAfterHeaderName = Object.keys(response.headers).find((key) => key.toLowerCase() === \"retry-after\");\n if (!retryAfterHeaderName)\n return;\n const retryAfter = response.headers[retryAfterHeaderName];\n const retryAfterSeconds = Number(retryAfter);\n if (!Number.isNaN(retryAfterSeconds))\n return new Date(retryAfterSeconds * 1000);\n const retryAfterDate = new Date(retryAfter);\n return retryAfterDate;\n};\n",
|
|
133
|
+
"import { retryMiddlewareOptions } from \"@smithy/middleware-retry\";\nimport { 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: retryMiddlewareOptions.name,\n};\nexport const getHttpSigningPlugin = (config) => ({\n applyToStack: (clientStack) => {\n clientStack.addRelativeTo(httpSigningMiddleware(config), httpSigningMiddlewareOptions);\n },\n});\n",
|
|
134
|
+
"export class DefaultIdentityProviderConfig {\n constructor(config) {\n this.authSchemes = new Map();\n for (const [key, value] of Object.entries(config)) {\n if (value !== undefined) {\n this.authSchemes.set(key, value);\n }\n }\n }\n getIdentityProvider(schemeId) {\n return this.authSchemes.get(schemeId);\n }\n}\n",
|
|
135
|
+
"export const createIsIdentityExpiredFunction = (expirationMs) => (identity) => doesIdentityRequireRefresh(identity) && identity.expiration.getTime() - Date.now() < expirationMs;\nexport const EXPIRATION_MS = 300000;\nexport const isIdentityExpired = createIsIdentityExpiredFunction(EXPIRATION_MS);\nexport const doesIdentityRequireRefresh = (identity) => identity.expiration !== undefined;\nexport const memoizeIdentityProvider = (provider, isExpired, requiresRefresh) => {\n if (provider === undefined) {\n return undefined;\n }\n const normalizedProvider = typeof provider !== \"function\" ? async () => Promise.resolve(provider) : provider;\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async (options) => {\n if (!pending) {\n pending = normalizedProvider(options);\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider(options);\n }\n if (isConstant) {\n return resolved;\n }\n if (!requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider(options);\n return resolved;\n }\n return resolved;\n };\n};\n",
|
|
136
|
+
"export const normalizeProvider = (input) => {\n if (typeof input === \"function\")\n return input;\n const promisified = Promise.resolve(input);\n return () => promisified;\n};\n",
|
|
137
|
+
"import { HttpRequest } from \"@smithy/protocol-http\";\nimport { resolvedPath } from \"@smithy/smithy-client\";\nexport function requestBuilder(input, context) {\n return new RequestBuilder(input, context);\n}\nexport class RequestBuilder {\n constructor(input, context) {\n this.input = input;\n this.context = context;\n this.query = {};\n this.method = \"\";\n this.headers = {};\n this.path = \"\";\n this.body = null;\n this.hostname = \"\";\n this.resolvePathStack = [];\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",
|
|
138
|
+
"import { HttpRequest } from \"@smithy/protocol-http\";\nconst CONTENT_LENGTH_HEADER = \"content-length\";\nexport function contentLengthMiddleware(bodyLengthChecker) {\n return (next) => async (args) => {\n const request = args.request;\n if (HttpRequest.isInstance(request)) {\n const { body, headers } = request;\n if (body &&\n Object.keys(headers)\n .map((str) => str.toLowerCase())\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n try {\n const length = bodyLengthChecker(body);\n request.headers = {\n ...request.headers,\n [CONTENT_LENGTH_HEADER]: String(length),\n };\n }\n catch (error) {\n }\n }\n }\n return next({\n ...args,\n request,\n });\n };\n}\nexport const contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nexport const getContentLengthPlugin = (options) => ({\n applyToStack: (clientStack) => {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n});\n",
|
|
139
|
+
"import { HttpResponse } from \"@smithy/protocol-http\";\nexport const getDateHeader = (response) => HttpResponse.isInstance(response) ? response.headers?.date ?? response.headers?.Date : undefined;\n",
|
|
140
|
+
"export const getSkewCorrectedDate = (systemClockOffset) => new Date(Date.now() + systemClockOffset);\n",
|
|
141
|
+
"import { getSkewCorrectedDate } from \"./getSkewCorrectedDate\";\nexport const isClockSkewed = (clockTime, systemClockOffset) => Math.abs(getSkewCorrectedDate(systemClockOffset).getTime() - clockTime) >= 300000;\n",
|
|
142
|
+
"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",
|
|
143
|
+
"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",
|
|
144
|
+
"export const memoize = (provider, isExpired, requiresRefresh) => {\n let resolved;\n let pending;\n let hasResult;\n let isConstant = false;\n const coalesceProvider = async () => {\n if (!pending) {\n pending = provider();\n }\n try {\n resolved = await pending;\n hasResult = true;\n isConstant = false;\n }\n finally {\n pending = undefined;\n }\n return resolved;\n };\n if (isExpired === undefined) {\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n return resolved;\n };\n }\n return async (options) => {\n if (!hasResult || options?.forceRefresh) {\n resolved = await coalesceProvider();\n }\n if (isConstant) {\n return resolved;\n }\n if (requiresRefresh && !requiresRefresh(resolved)) {\n isConstant = true;\n return resolved;\n }\n if (isExpired(resolved)) {\n await coalesceProvider();\n return resolved;\n }\n return resolved;\n };\n};\n",
|
|
145
|
+
"export const ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport const CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport const AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport const SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport const EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport const SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport const TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nexport const REGION_SET_PARAM = \"X-Amz-Region-Set\";\nexport const AUTH_HEADER = \"authorization\";\nexport const AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport const DATE_HEADER = \"date\";\nexport const GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport const SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport const SHA256_HEADER = \"x-amz-content-sha256\";\nexport const TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport const HOST_HEADER = \"host\";\nexport const ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nexport const PROXY_HEADER_PATTERN = /^proxy-/;\nexport const SEC_HEADER_PATTERN = /^sec-/;\nexport const UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nexport const ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nexport const ALGORITHM_IDENTIFIER_V4A = \"AWS4-ECDSA-P256-SHA256\";\nexport const EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nexport const UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport const MAX_CACHE_SIZE = 50;\nexport const KEY_TYPE_IDENTIFIER = \"aws4_request\";\nexport const MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n",
|
|
146
|
+
"import { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\nconst signingKeyCache = {};\nconst cacheQueue = [];\nexport const createScope = (shortDate, region, service) => `${shortDate}/${region}/${service}/${KEY_TYPE_IDENTIFIER}`;\nexport const getSigningKey = async (sha256Constructor, credentials, shortDate, region, service) => {\n const credsHash = await hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId);\n const cacheKey = `${shortDate}:${region}:${service}:${toHex(credsHash)}:${credentials.sessionToken}`;\n if (cacheKey in signingKeyCache) {\n return signingKeyCache[cacheKey];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n let key = `AWS4${credentials.secretAccessKey}`;\n for (const signable of [shortDate, region, service, KEY_TYPE_IDENTIFIER]) {\n key = await hmac(sha256Constructor, key, signable);\n }\n return (signingKeyCache[cacheKey] = key);\n};\nexport const clearCredentialCache = () => {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach((cacheKey) => {\n delete signingKeyCache[cacheKey];\n });\n};\nconst hmac = (ctor, secret, data) => {\n const hash = new ctor(secret);\n hash.update(toUint8Array(data));\n return hash.digest();\n};\n",
|
|
147
|
+
"import { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\nexport const getCanonicalHeaders = ({ headers }, unsignableHeaders, signableHeaders) => {\n const canonical = {};\n for (const headerName of Object.keys(headers).sort()) {\n if (headers[headerName] == undefined) {\n continue;\n }\n const canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS ||\n unsignableHeaders?.has(canonicalHeaderName) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n return canonical;\n};\n",
|
|
148
|
+
"import { escapeUri } from \"@smithy/util-uri-escape\";\nimport { SIGNATURE_HEADER } from \"./constants\";\nexport const getCanonicalQuery = ({ query = {} }) => {\n const keys = [];\n const serialized = {};\n for (const key of Object.keys(query).sort()) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n continue;\n }\n keys.push(key);\n const value = query[key];\n if (typeof value === \"string\") {\n serialized[key] = `${escapeUri(key)}=${escapeUri(value)}`;\n }\n else if (Array.isArray(value)) {\n serialized[key] = value\n .slice(0)\n .reduce((encoded, value) => encoded.concat([`${escapeUri(key)}=${escapeUri(value)}`]), [])\n .sort()\n .join(\"&\");\n }\n }\n return keys\n .map((key) => serialized[key])\n .filter((serialized) => serialized)\n .join(\"&\");\n};\n",
|
|
149
|
+
"export const isArrayBuffer = (arg) => (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n",
|
|
150
|
+
"import { isArrayBuffer } from \"@smithy/is-array-buffer\";\nimport { toHex } from \"@smithy/util-hex-encoding\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\nexport const getPayloadHash = async ({ headers, body }, hashConstructor) => {\n for (const headerName of Object.keys(headers)) {\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return headers[headerName];\n }\n }\n if (body == undefined) {\n return \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n }\n else if (typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body)) {\n const hashCtor = new hashConstructor();\n hashCtor.update(toUint8Array(body));\n return toHex(await hashCtor.digest());\n }\n return UNSIGNED_PAYLOAD;\n};\n",
|
|
151
|
+
"import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { fromUtf8 } from \"@smithy/util-utf8\";\nexport class HeaderFormatter {\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = fromUtf8(headerName);\n chunks.push(Uint8Array.from([bytes.byteLength]), bytes, this.formatHeaderValue(headers[headerName]));\n }\n const out = new Uint8Array(chunks.reduce((carry, bytes) => carry + bytes.byteLength, 0));\n let position = 0;\n for (const chunk of chunks) {\n out.set(chunk, position);\n position += chunk.byteLength;\n }\n return out;\n }\n formatHeaderValue(header) {\n switch (header.type) {\n case \"boolean\":\n return Uint8Array.from([header.value ? 0 : 1]);\n case \"byte\":\n return Uint8Array.from([2, header.value]);\n case \"short\":\n const shortView = new DataView(new ArrayBuffer(3));\n shortView.setUint8(0, 3);\n shortView.setInt16(1, header.value, false);\n return new Uint8Array(shortView.buffer);\n case \"integer\":\n const intView = new DataView(new ArrayBuffer(5));\n intView.setUint8(0, 4);\n intView.setInt32(1, header.value, false);\n return new Uint8Array(intView.buffer);\n case \"long\":\n const longBytes = new Uint8Array(9);\n longBytes[0] = 5;\n longBytes.set(header.value.bytes, 1);\n return longBytes;\n case \"binary\":\n const binView = new DataView(new ArrayBuffer(3 + header.value.byteLength));\n binView.setUint8(0, 6);\n binView.setUint16(1, header.value.byteLength, false);\n const binBytes = new Uint8Array(binView.buffer);\n binBytes.set(header.value, 3);\n return binBytes;\n case \"string\":\n const utf8Bytes = fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\nexport class Int64 {\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9223372036854776000 || number < -9223372036854776000) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n",
|
|
152
|
+
"export const hasHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n return false;\n};\nexport const getHeaderValue = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n return headers[headerName];\n }\n }\n return undefined;\n};\nexport const deleteHeader = (soughtHeader, headers) => {\n soughtHeader = soughtHeader.toLowerCase();\n for (const headerName of Object.keys(headers)) {\n if (soughtHeader === headerName.toLowerCase()) {\n delete headers[headerName];\n }\n }\n};\n",
|
|
153
|
+
"import { HttpRequest } from \"@smithy/protocol-http\";\nexport const moveHeadersToQuery = (request, options = {}) => {\n const { headers, query = {} } = HttpRequest.clone(request);\n for (const name of Object.keys(headers)) {\n const lname = name.toLowerCase();\n if (lname.slice(0, 6) === \"x-amz-\" && !options.unhoistableHeaders?.has(lname)) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n return {\n ...request,\n headers,\n query,\n };\n};\n",
|
|
154
|
+
"import { HttpRequest } from \"@smithy/protocol-http\";\nimport { GENERATED_HEADERS } from \"./constants\";\nexport const prepareRequest = (request) => {\n request = HttpRequest.clone(request);\n for (const headerName of Object.keys(request.headers)) {\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n return request;\n};\n",
|
|
155
|
+
"export const iso8601 = (time) => toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\nexport const toDate = (time) => {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n};\n",
|
|
156
|
+
"import { toHex } from \"@smithy/util-hex-encoding\";\nimport { normalizeProvider } from \"@smithy/util-middleware\";\nimport { escapeUri } from \"@smithy/util-uri-escape\";\nimport { toUint8Array } from \"@smithy/util-utf8\";\nimport { ALGORITHM_IDENTIFIER, ALGORITHM_QUERY_PARAM, AMZ_DATE_HEADER, AMZ_DATE_QUERY_PARAM, AUTH_HEADER, CREDENTIAL_QUERY_PARAM, EVENT_ALGORITHM_IDENTIFIER, EXPIRES_QUERY_PARAM, MAX_PRESIGNED_TTL, SHA256_HEADER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_HEADER, TOKEN_QUERY_PARAM, } from \"./constants\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { HeaderFormatter } from \"./HeaderFormatter\";\nimport { hasHeader } from \"./headerUtil\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { iso8601 } from \"./utilDate\";\nexport class SignatureV4 {\n constructor({ applyChecksum, credentials, region, service, sha256, uriEscapePath = true, }) {\n this.headerFormatter = new HeaderFormatter();\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeProvider(region);\n this.credentialProvider = normalizeProvider(credentials);\n }\n async presign(originalRequest, options = {}) {\n const { signingDate = new Date(), expiresIn = 3600, unsignableHeaders, unhoistableHeaders, signableHeaders, signingRegion, signingService, } = options;\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { longDate, shortDate } = 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 });\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] = 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 } = formatDate(signingDate);\n const scope = createScope(shortDate, region, signingService ?? this.service);\n const hashedPayload = await getPayloadHash({ headers: {}, body: payload }, this.sha256);\n const hash = new this.sha256();\n hash.update(headers);\n const hashedHeaders = toHex(await hash.digest());\n const stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return this.signString(stringToSign, { signingDate, signingRegion: region, signingService });\n }\n async signMessage(signableMessage, { signingDate = new Date(), signingRegion, signingService }) {\n const promise = this.signEvent({\n headers: this.headerFormatter.format(signableMessage.message.headers),\n payload: signableMessage.message.body,\n }, {\n signingDate,\n signingRegion,\n signingService,\n priorSignature: signableMessage.priorSignature,\n });\n return promise.then((signature) => {\n return { message: signableMessage.message, signature };\n });\n }\n async signString(stringToSign, { signingDate = new Date(), signingRegion, signingService } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const { shortDate } = formatDate(signingDate);\n const hash = new this.sha256(await this.getSigningKey(credentials, region, shortDate, signingService));\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n async signRequest(requestToSign, { signingDate = new Date(), signableHeaders, unsignableHeaders, signingRegion, signingService, } = {}) {\n const credentials = await this.credentialProvider();\n this.validateResolvedCredentials(credentials);\n const region = signingRegion ?? (await this.regionProvider());\n const request = prepareRequest(requestToSign);\n const { longDate, shortDate } = 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=${getCanonicalHeaderList(canonicalHeaders)}, ` +\n `Signature=${signature}`;\n return request;\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) {\n const hash = new this.sha256();\n hash.update(toUint8Array(canonicalRequest));\n const hashedRequest = await hash.digest();\n return `${ALGORITHM_IDENTIFIER}\n${longDate}\n${credentialScope}\n${toHex(hashedRequest)}`;\n }\n getCanonicalPath({ path }) {\n if (this.uriEscapePath) {\n const normalizedPathSegments = [];\n for (const pathSegment of path.split(\"/\")) {\n if (pathSegment?.length === 0)\n continue;\n if (pathSegment === \".\")\n continue;\n if (pathSegment === \"..\") {\n normalizedPathSegments.pop();\n }\n else {\n normalizedPathSegments.push(pathSegment);\n }\n }\n const normalizedPath = `${path?.startsWith(\"/\") ? \"/\" : \"\"}${normalizedPathSegments.join(\"/\")}${normalizedPathSegments.length > 0 && path?.endsWith(\"/\") ? \"/\" : \"\"}`;\n const doubleEncoded = escapeUri(normalizedPath);\n return doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n }\n async getSignature(longDate, credentialScope, keyPromise, canonicalRequest) {\n const stringToSign = await this.createStringToSign(longDate, credentialScope, canonicalRequest);\n const hash = new this.sha256(await keyPromise);\n hash.update(toUint8Array(stringToSign));\n return toHex(await hash.digest());\n }\n getSigningKey(credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n }\n 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}\nconst formatDate = (now) => {\n const longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate,\n shortDate: longDate.slice(0, 8),\n };\n};\nconst getCanonicalHeaderList = (headers) => Object.keys(headers).sort().join(\";\");\n",
|
|
157
|
+
"import { doesIdentityRequireRefresh, isIdentityExpired, memoizeIdentityProvider, normalizeProvider, } from \"@smithy/core\";\nimport { SignatureV4 } from \"@smithy/signature-v4\";\nexport const resolveAwsSdkSigV4Config = (config) => {\n let normalizedCreds;\n if (config.credentials) {\n normalizedCreds = memoizeIdentityProvider(config.credentials, isIdentityExpired, doesIdentityRequireRefresh);\n }\n if (!normalizedCreds) {\n if (config.credentialDefaultProvider) {\n normalizedCreds = normalizeProvider(config.credentialDefaultProvider(Object.assign({}, config, {\n parentClientConfig: config,\n })));\n }\n else {\n normalizedCreds = async () => {\n throw new Error(\"`credentials` is missing\");\n };\n }\n }\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: normalizedCreds,\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: normalizedCreds,\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 return {\n ...config,\n systemClockOffset,\n signingEscapePath,\n credentials: normalizedCreds,\n signer,\n };\n};\nexport const resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;\n",
|
|
158
|
+
"import { collectBody } from \"@smithy/smithy-client\";\nexport const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\n",
|
|
159
|
+
"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.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n};\n",
|
|
160
|
+
"import { resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nexport const defaultBedrockHttpAuthSchemeParametersProvider = 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: \"bedrock\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nexport const defaultBedrockHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\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 {\n ...config_0,\n };\n};\n",
|
|
161
|
+
"export const resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"bedrock\",\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",
|
|
162
|
+
"export const fromUtf8 = (input) => new TextEncoder().encode(input);\n",
|
|
163
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { fromUtf8 as fromUtf8Browser } from \"@smithy/util-utf8\";\n// Quick polyfill\nvar fromUtf8 = typeof Buffer !== \"undefined\" && Buffer.from\n ? function (input) { return Buffer.from(input, \"utf8\"); }\n : fromUtf8Browser;\nexport function convertToBuffer(data) {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array)\n return 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//# sourceMappingURL=convertToBuffer.js.map",
|
|
164
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\n//# sourceMappingURL=isEmptyData.js.map",
|
|
165
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport function numToUint8(num) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\n//# sourceMappingURL=numToUint8.js.map",
|
|
166
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// IE 11 does not support Array.from, so we do it manually\nexport function uint32ArrayFrom(a_lookUpTable) {\n if (!Uint32Array.from) {\n var return_array = new Uint32Array(a_lookUpTable.length);\n var a_index = 0;\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index];\n a_index += 1;\n }\n return return_array;\n }\n return Uint32Array.from(a_lookUpTable);\n}\n//# sourceMappingURL=uint32ArrayFrom.js.map",
|
|
167
|
+
"export var SHA_256_HASH = { name: \"SHA-256\" };\nexport var SHA_256_HMAC_ALGO = {\n name: \"HMAC\",\n hash: SHA_256_HASH\n};\nexport var EMPTY_DATA_SHA_256 = new Uint8Array([\n 227,\n 176,\n 196,\n 66,\n 152,\n 252,\n 28,\n 20,\n 154,\n 251,\n 244,\n 200,\n 153,\n 111,\n 185,\n 36,\n 39,\n 174,\n 65,\n 228,\n 100,\n 155,\n 147,\n 76,\n 164,\n 149,\n 153,\n 27,\n 120,\n 82,\n 184,\n 85\n]);\n//# sourceMappingURL=constants.js.map",
|
|
168
|
+
"const fallbackWindow = {};\nexport function locateWindow() {\n if (typeof window !== \"undefined\") {\n return window;\n }\n else if (typeof self !== \"undefined\") {\n return self;\n }\n return fallbackWindow;\n}\n",
|
|
169
|
+
"import { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\nimport { EMPTY_DATA_SHA_256, SHA_256_HASH, SHA_256_HMAC_ALGO, } from \"./constants\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n this.toHash = new Uint8Array(0);\n this.secret = secret;\n this.reset();\n }\n Sha256.prototype.update = function (data) {\n if (isEmptyData(data)) {\n return;\n }\n var update = convertToBuffer(data);\n var typedArray = new Uint8Array(this.toHash.byteLength + update.byteLength);\n typedArray.set(this.toHash, 0);\n typedArray.set(update, this.toHash.byteLength);\n this.toHash = typedArray;\n };\n Sha256.prototype.digest = function () {\n var _this = this;\n if (this.key) {\n return this.key.then(function (key) {\n return locateWindow()\n .crypto.subtle.sign(SHA_256_HMAC_ALGO, key, _this.toHash)\n .then(function (data) { return new Uint8Array(data); });\n });\n }\n if (isEmptyData(this.toHash)) {\n return Promise.resolve(EMPTY_DATA_SHA_256);\n }\n return Promise.resolve()\n .then(function () {\n return locateWindow().crypto.subtle.digest(SHA_256_HASH, _this.toHash);\n })\n .then(function (data) { return Promise.resolve(new Uint8Array(data)); });\n };\n Sha256.prototype.reset = function () {\n var _this = this;\n this.toHash = new Uint8Array(0);\n if (this.secret && this.secret !== void 0) {\n this.key = new Promise(function (resolve, reject) {\n locateWindow()\n .crypto.subtle.importKey(\"raw\", convertToBuffer(_this.secret), SHA_256_HMAC_ALGO, false, [\"sign\"])\n .then(resolve, reject);\n });\n this.key.catch(function () { });\n }\n };\n return Sha256;\n}());\nexport { Sha256 };\n//# sourceMappingURL=webCryptoSha256.js.map",
|
|
170
|
+
"/******************************************************************************\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 */\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;\n return g = { next: verb(0), \"throw\": verb(1), \"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 = {}, 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\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\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 function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\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};\n",
|
|
171
|
+
"/**\n * @internal\n */\nexport var BLOCK_SIZE = 64;\n/**\n * @internal\n */\nexport var DIGEST_LENGTH = 32;\n/**\n * @internal\n */\nexport var KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n/**\n * @internal\n */\nexport var INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n/**\n * @internal\n */\nexport var MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;\n//# sourceMappingURL=constants.js.map",
|
|
172
|
+
"import { BLOCK_SIZE, DIGEST_LENGTH, INIT, KEY, MAX_HASHABLE_LENGTH } from \"./constants\";\n/**\n * @internal\n */\nvar RawSha256 = /** @class */ (function () {\n function RawSha256() {\n this.state = Int32Array.from(INIT);\n this.temp = new Int32Array(64);\n this.buffer = new Uint8Array(64);\n this.bufferLength = 0;\n this.bytesHashed = 0;\n /**\n * @internal\n */\n this.finished = false;\n }\n RawSha256.prototype.update = function (data) {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n var position = 0;\n var byteLength = data.byteLength;\n this.bytesHashed += byteLength;\n if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n };\n RawSha256.prototype.digest = function () {\n if (!this.finished) {\n var bitsHashed = this.bytesHashed * 8;\n var bufferView = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\n var undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (var i = this.bufferLength; i < BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (var i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(BLOCK_SIZE - 8, Math.floor(bitsHashed / 0x100000000), true);\n bufferView.setUint32(BLOCK_SIZE - 4, bitsHashed);\n this.hashBuffer();\n this.finished = true;\n }\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n var out = new Uint8Array(DIGEST_LENGTH);\n for (var i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n return out;\n };\n RawSha256.prototype.hashBuffer = function () {\n var _a = this, buffer = _a.buffer, state = _a.state;\n var state0 = state[0], state1 = state[1], state2 = state[2], state3 = state[3], state4 = state[4], state5 = state[5], state6 = state[6], state7 = state[7];\n for (var i = 0; i < BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n }\n else {\n var u = this.temp[i - 2];\n var t1_1 = ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n u = this.temp[i - 15];\n var t2_1 = ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n this.temp[i] =\n ((t1_1 + this.temp[i - 7]) | 0) + ((t2_1 + this.temp[i - 16]) | 0);\n }\n var t1 = ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n var t2 = ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n };\n return RawSha256;\n}());\nexport { RawSha256 };\n//# sourceMappingURL=RawSha256.js.map",
|
|
173
|
+
"import { __awaiter, __generator } from \"tslib\";\nimport { BLOCK_SIZE } from \"./constants\";\nimport { RawSha256 } from \"./RawSha256\";\nimport { isEmptyData, convertToBuffer } from \"@aws-crypto/util\";\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n this.secret = secret;\n this.hash = new RawSha256();\n this.reset();\n }\n Sha256.prototype.update = function (toHash) {\n if (isEmptyData(toHash) || this.error) {\n return;\n }\n try {\n this.hash.update(convertToBuffer(toHash));\n }\n catch (e) {\n this.error = e;\n }\n };\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n Sha256.prototype.digestSync = function () {\n if (this.error) {\n throw this.error;\n }\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n return this.outer.digest();\n }\n return this.hash.digest();\n };\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n Sha256.prototype.digest = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.digestSync()];\n });\n });\n };\n Sha256.prototype.reset = function () {\n this.hash = new RawSha256();\n if (this.secret) {\n this.outer = new RawSha256();\n var inner = bufferFromSecret(this.secret);\n var outer = new Uint8Array(BLOCK_SIZE);\n outer.set(inner);\n for (var i = 0; i < BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n this.hash.update(inner);\n this.outer.update(outer);\n // overwrite the copied key in memory\n for (var i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n };\n return Sha256;\n}());\nexport { Sha256 };\nfunction bufferFromSecret(secret) {\n var input = convertToBuffer(secret);\n if (input.byteLength > BLOCK_SIZE) {\n var bufferHash = new RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n var buffer = new Uint8Array(BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n//# sourceMappingURL=jsSha256.js.map",
|
|
174
|
+
"import { __awaiter, __generator } from \"tslib\";\nvar subtleCryptoMethods = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\nexport function supportsWebCrypto(window) {\n if (supportsSecureRandom(window) &&\n typeof window.crypto.subtle === \"object\") {\n var subtle = window.crypto.subtle;\n return supportsSubtleCrypto(subtle);\n }\n return false;\n}\nexport function supportsSecureRandom(window) {\n if (typeof window === \"object\" && typeof window.crypto === \"object\") {\n var getRandomValues = window.crypto.getRandomValues;\n return typeof getRandomValues === \"function\";\n }\n return false;\n}\nexport function supportsSubtleCrypto(subtle) {\n return (subtle &&\n subtleCryptoMethods.every(function (methodName) { return typeof subtle[methodName] === \"function\"; }));\n}\nexport function supportsZeroByteGCM(subtle) {\n return __awaiter(this, void 0, void 0, function () {\n var key, zeroByteAuthTag, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!supportsSubtleCrypto(subtle))\n return [2 /*return*/, false];\n _b.label = 1;\n case 1:\n _b.trys.push([1, 4, , 5]);\n return [4 /*yield*/, subtle.generateKey({ name: \"AES-GCM\", length: 128 }, false, [\"encrypt\"])];\n case 2:\n key = _b.sent();\n return [4 /*yield*/, subtle.encrypt({\n name: \"AES-GCM\",\n iv: new Uint8Array(Array(12)),\n additionalData: new Uint8Array(Array(16)),\n tagLength: 128\n }, key, new Uint8Array(0))];\n case 3:\n zeroByteAuthTag = _b.sent();\n return [2 /*return*/, zeroByteAuthTag.byteLength === 16];\n case 4:\n _a = _b.sent();\n return [2 /*return*/, false];\n case 5: return [2 /*return*/];\n }\n });\n });\n}\n//# sourceMappingURL=supportsWebCrypto.js.map",
|
|
175
|
+
"import { Sha256 as WebCryptoSha256 } from \"./webCryptoSha256\";\nimport { Sha256 as JsSha256 } from \"@aws-crypto/sha256-js\";\nimport { supportsWebCrypto } from \"@aws-crypto/supports-web-crypto\";\nimport { locateWindow } from \"@aws-sdk/util-locate-window\";\nimport { convertToBuffer } from \"@aws-crypto/util\";\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n if (supportsWebCrypto(locateWindow())) {\n this.hash = new WebCryptoSha256(secret);\n }\n else {\n this.hash = new JsSha256(secret);\n }\n }\n Sha256.prototype.update = function (data, encoding) {\n this.hash.update(convertToBuffer(data));\n };\n Sha256.prototype.digest = function () {\n return this.hash.digest();\n };\n Sha256.prototype.reset = function () {\n this.hash.reset();\n };\n return Sha256;\n}());\nexport { Sha256 };\n//# sourceMappingURL=crossPlatformSha256.js.map",
|
|
176
|
+
"import bowser from \"bowser\";\nexport const defaultUserAgent = ({ serviceId, clientVersion }) => async () => {\n const parsedUA = typeof window !== \"undefined\" && window?.navigator?.userAgent\n ? bowser.parse(window.navigator.userAgent)\n : undefined;\n const sections = [\n [\"aws-sdk-js\", clientVersion],\n [\"ua\", \"2.0\"],\n [`os/${parsedUA?.os?.name || \"other\"}`, parsedUA?.os?.version],\n [\"lang/js\"],\n [\"md/browser\", `${parsedUA?.browser?.name ?? \"unknown\"}_${parsedUA?.browser?.version ?? \"unknown\"}`],\n ];\n if (serviceId) {\n sections.push([`api/${serviceId}`, clientVersion]);\n }\n return sections;\n};\n",
|
|
177
|
+
"export const invalidProvider = (message) => () => Promise.reject(message);\n",
|
|
178
|
+
"const TEXT_ENCODER = typeof TextEncoder == \"function\" ? new TextEncoder() : null;\nexport const calculateBodyLength = (body) => {\n if (typeof body === \"string\") {\n if (TEXT_ENCODER) {\n return TEXT_ENCODER.encode(body).byteLength;\n }\n let len = body.length;\n for (let i = len - 1; i >= 0; i--) {\n const code = body.charCodeAt(i);\n if (code > 0x7f && code <= 0x7ff)\n len++;\n else if (code > 0x7ff && code <= 0xffff)\n len += 2;\n if (code >= 0xdc00 && code <= 0xdfff)\n i--;\n }\n return len;\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 throw new Error(`Body Length computation failed for ${body}`);\n};\n",
|
|
179
|
+
"const s = \"required\", t = \"fn\", u = \"argv\", v = \"ref\";\nconst a = true, b = \"isSet\", c = \"booleanEquals\", d = \"error\", e = \"endpoint\", f = \"tree\", g = \"PartitionResult\", h = { [s]: false, \"type\": \"String\" }, i = { [s]: true, \"default\": false, \"type\": \"Boolean\" }, j = { [v]: \"Endpoint\" }, k = { [t]: c, [u]: [{ [v]: \"UseFIPS\" }, true] }, l = { [t]: c, [u]: [{ [v]: \"UseDualStack\" }, true] }, m = {}, n = { [t]: \"getAttr\", [u]: [{ [v]: g }, \"supportsFIPS\"] }, o = { [t]: c, [u]: [true, { [t]: \"getAttr\", [u]: [{ [v]: g }, \"supportsDualStack\"] }] }, p = [k], q = [l], r = [{ [v]: \"Region\" }];\nconst _data = { version: \"1.0\", parameters: { Region: h, UseDualStack: i, UseFIPS: i, Endpoint: h }, rules: [{ conditions: [{ [t]: b, [u]: [j] }], rules: [{ conditions: p, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: d }, { rules: [{ conditions: q, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: d }, { endpoint: { url: j, properties: m, headers: m }, type: e }], type: f }], type: f }, { rules: [{ conditions: [{ [t]: b, [u]: r }], rules: [{ conditions: [{ [t]: \"aws.partition\", [u]: r, assign: g }], rules: [{ conditions: [k, l], rules: [{ conditions: [{ [t]: c, [u]: [a, n] }, o], rules: [{ rules: [{ endpoint: { url: \"https://bedrock-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: d }], type: f }, { conditions: p, rules: [{ conditions: [{ [t]: c, [u]: [n, a] }], rules: [{ rules: [{ endpoint: { url: \"https://bedrock-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: d }], type: f }, { conditions: q, rules: [{ conditions: [o], rules: [{ rules: [{ endpoint: { url: \"https://bedrock.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: d }], type: f }, { rules: [{ endpoint: { url: \"https://bedrock.{Region}.{PartitionResult#dnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }], type: f }, { error: \"Invalid Configuration: Missing Region\", type: d }], type: f }] };\nexport const ruleSet = _data;\n",
|
|
180
|
+
"import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n",
|
|
181
|
+
"import { AwsSdkSigV4Signer } from \"@aws-sdk/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 { defaultBedrockHttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2023-04-20\",\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 ?? defaultBedrockHttpAuthSchemeProvider,\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 logger: config?.logger ?? new NoOpLogger(),\n serviceId: config?.serviceId ?? \"Bedrock\",\n urlParser: config?.urlParser ?? parseUrl,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n",
|
|
182
|
+
"import { memoize } from \"@smithy/property-provider\";\nimport bowser from \"bowser\";\nimport { DEFAULTS_MODE_OPTIONS } from \"./constants\";\nexport const resolveDefaultsModeConfig = ({ defaultsMode, } = {}) => memoize(async () => {\n const mode = typeof defaultsMode === \"function\" ? await defaultsMode() : defaultsMode;\n switch (mode?.toLowerCase()) {\n case \"auto\":\n return Promise.resolve(isMobileBrowser() ? \"mobile\" : \"standard\");\n case \"mobile\":\n case \"in-region\":\n case \"cross-region\":\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 isMobileBrowser = () => {\n const parsedUA = typeof window !== \"undefined\" && window?.navigator?.userAgent\n ? bowser.parse(window.navigator.userAgent)\n : undefined;\n const platform = parsedUA?.platform?.type;\n return platform === \"tablet\" || platform === \"mobile\";\n};\n",
|
|
183
|
+
"export const DEFAULTS_MODE_OPTIONS = [\"in-region\", \"cross-region\", \"mobile\", \"standard\", \"legacy\"];\n",
|
|
184
|
+
"import packageInfo from \"../package.json\";\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-browser\";\nimport { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from \"@smithy/config-resolver\";\nimport { FetchHttpHandler as RequestHandler, streamCollector } from \"@smithy/fetch-http-handler\";\nimport { invalidProvider } from \"@smithy/invalid-dependency\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-browser\";\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nimport { loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-browser\";\nexport const getRuntimeConfig = (config) => {\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"browser\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? ((_) => () => Promise.reject(new Error(\"Credential is missing\"))),\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,\n region: config?.region ?? invalidProvider(\"Region is missing\"),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),\n sha256: config?.sha256 ?? Sha256,\n streamCollector: config?.streamCollector ?? streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),\n useFipsEndpoint: config?.useFipsEndpoint ?? (() => Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT)),\n };\n};\n",
|
|
185
|
+
"export const getAwsRegionExtensionConfiguration = (runtimeConfig) => {\n let runtimeConfigRegion = async () => {\n if (runtimeConfig.region === undefined) {\n throw new Error(\"Region is missing from runtimeConfig\");\n }\n const region = runtimeConfig.region;\n if (typeof region === \"string\") {\n return region;\n }\n return region();\n };\n return {\n setRegion(region) {\n runtimeConfigRegion = region;\n },\n region() {\n return runtimeConfigRegion;\n },\n };\n};\nexport const resolveAwsRegionExtensionConfiguration = (awsRegionExtensionConfiguration) => {\n return {\n region: awsRegionExtensionConfiguration.region(),\n };\n};\n",
|
|
186
|
+
"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",
|
|
187
|
+
"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\";\nconst asPartial = (t) => t;\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = {\n ...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),\n ...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)),\n };\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return {\n ...runtimeConfig,\n ...resolveAwsRegionExtensionConfiguration(extensionConfiguration),\n ...resolveDefaultRuntimeConfig(extensionConfiguration),\n ...resolveHttpHandlerRuntimeConfig(extensionConfiguration),\n ...resolveHttpAuthRuntimeConfig(extensionConfiguration),\n };\n};\n",
|
|
188
|
+
"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 { 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 { defaultBedrockHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class BedrockClient extends __Client {\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\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 super(_config_8);\n this.config = _config_8;\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: defaultBedrockHttpAuthSchemeParametersProvider,\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",
|
|
189
|
+
"import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class BedrockServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, BedrockServiceException.prototype);\n }\n}\n",
|
|
190
|
+
"import { SENSITIVE_STRING } from \"@smithy/smithy-client\";\nimport { BedrockServiceException as __BaseException } from \"./BedrockServiceException\";\nexport class AccessDeniedException extends __BaseException {\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"AccessDeniedException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n }\n}\nexport class ConflictException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ConflictException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ConflictException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ConflictException.prototype);\n }\n}\nexport var EvaluationDatasetLocation;\n(function (EvaluationDatasetLocation) {\n EvaluationDatasetLocation.visit = (value, visitor) => {\n if (value.s3Uri !== undefined)\n return visitor.s3Uri(value.s3Uri);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(EvaluationDatasetLocation || (EvaluationDatasetLocation = {}));\nexport const EvaluationTaskType = {\n CLASSIFICATION: \"Classification\",\n CUSTOM: \"Custom\",\n GENERATION: \"Generation\",\n QUESTION_AND_ANSWER: \"QuestionAndAnswer\",\n SUMMARIZATION: \"Summarization\",\n};\nexport var EvaluationConfig;\n(function (EvaluationConfig) {\n EvaluationConfig.visit = (value, visitor) => {\n if (value.automated !== undefined)\n return visitor.automated(value.automated);\n if (value.human !== undefined)\n return visitor.human(value.human);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(EvaluationConfig || (EvaluationConfig = {}));\nexport var EvaluationModelConfig;\n(function (EvaluationModelConfig) {\n EvaluationModelConfig.visit = (value, visitor) => {\n if (value.bedrockModel !== undefined)\n return visitor.bedrockModel(value.bedrockModel);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(EvaluationModelConfig || (EvaluationModelConfig = {}));\nexport var EvaluationInferenceConfig;\n(function (EvaluationInferenceConfig) {\n EvaluationInferenceConfig.visit = (value, visitor) => {\n if (value.models !== undefined)\n return visitor.models(value.models);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(EvaluationInferenceConfig || (EvaluationInferenceConfig = {}));\nexport class InternalServerException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n this.name = \"InternalServerException\";\n this.$fault = \"server\";\n Object.setPrototypeOf(this, InternalServerException.prototype);\n }\n}\nexport class ResourceNotFoundException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ResourceNotFoundException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n }\n}\nexport class ServiceQuotaExceededException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ServiceQuotaExceededException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ServiceQuotaExceededException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ServiceQuotaExceededException.prototype);\n }\n}\nexport class ThrottlingException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ThrottlingException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ThrottlingException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ThrottlingException.prototype);\n }\n}\nexport class ValidationException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ValidationException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ValidationException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ValidationException.prototype);\n }\n}\nexport const EvaluationJobType = {\n AUTOMATED: \"Automated\",\n HUMAN: \"Human\",\n};\nexport const EvaluationJobStatus = {\n COMPLETED: \"Completed\",\n FAILED: \"Failed\",\n IN_PROGRESS: \"InProgress\",\n STOPPED: \"Stopped\",\n STOPPING: \"Stopping\",\n};\nexport const SortJobsBy = {\n CREATION_TIME: \"CreationTime\",\n};\nexport const SortOrder = {\n ASCENDING: \"Ascending\",\n DESCENDING: \"Descending\",\n};\nexport const GuardrailFilterStrength = {\n HIGH: \"HIGH\",\n LOW: \"LOW\",\n MEDIUM: \"MEDIUM\",\n NONE: \"NONE\",\n};\nexport const GuardrailContentFilterType = {\n HATE: \"HATE\",\n INSULTS: \"INSULTS\",\n MISCONDUCT: \"MISCONDUCT\",\n PROMPT_ATTACK: \"PROMPT_ATTACK\",\n SEXUAL: \"SEXUAL\",\n VIOLENCE: \"VIOLENCE\",\n};\nexport const GuardrailContextualGroundingFilterType = {\n GROUNDING: \"GROUNDING\",\n RELEVANCE: \"RELEVANCE\",\n};\nexport const GuardrailSensitiveInformationAction = {\n ANONYMIZE: \"ANONYMIZE\",\n BLOCK: \"BLOCK\",\n};\nexport const GuardrailPiiEntityType = {\n ADDRESS: \"ADDRESS\",\n AGE: \"AGE\",\n AWS_ACCESS_KEY: \"AWS_ACCESS_KEY\",\n AWS_SECRET_KEY: \"AWS_SECRET_KEY\",\n CA_HEALTH_NUMBER: \"CA_HEALTH_NUMBER\",\n CA_SOCIAL_INSURANCE_NUMBER: \"CA_SOCIAL_INSURANCE_NUMBER\",\n CREDIT_DEBIT_CARD_CVV: \"CREDIT_DEBIT_CARD_CVV\",\n CREDIT_DEBIT_CARD_EXPIRY: \"CREDIT_DEBIT_CARD_EXPIRY\",\n CREDIT_DEBIT_CARD_NUMBER: \"CREDIT_DEBIT_CARD_NUMBER\",\n DRIVER_ID: \"DRIVER_ID\",\n EMAIL: \"EMAIL\",\n INTERNATIONAL_BANK_ACCOUNT_NUMBER: \"INTERNATIONAL_BANK_ACCOUNT_NUMBER\",\n IP_ADDRESS: \"IP_ADDRESS\",\n LICENSE_PLATE: \"LICENSE_PLATE\",\n MAC_ADDRESS: \"MAC_ADDRESS\",\n NAME: \"NAME\",\n PASSWORD: \"PASSWORD\",\n PHONE: \"PHONE\",\n PIN: \"PIN\",\n SWIFT_CODE: \"SWIFT_CODE\",\n UK_NATIONAL_HEALTH_SERVICE_NUMBER: \"UK_NATIONAL_HEALTH_SERVICE_NUMBER\",\n UK_NATIONAL_INSURANCE_NUMBER: \"UK_NATIONAL_INSURANCE_NUMBER\",\n UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER: \"UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER\",\n URL: \"URL\",\n USERNAME: \"USERNAME\",\n US_BANK_ACCOUNT_NUMBER: \"US_BANK_ACCOUNT_NUMBER\",\n US_BANK_ROUTING_NUMBER: \"US_BANK_ROUTING_NUMBER\",\n US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER: \"US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER\",\n US_PASSPORT_NUMBER: \"US_PASSPORT_NUMBER\",\n US_SOCIAL_SECURITY_NUMBER: \"US_SOCIAL_SECURITY_NUMBER\",\n VEHICLE_IDENTIFICATION_NUMBER: \"VEHICLE_IDENTIFICATION_NUMBER\",\n};\nexport const GuardrailTopicType = {\n DENY: \"DENY\",\n};\nexport const GuardrailManagedWordsType = {\n PROFANITY: \"PROFANITY\",\n};\nexport class TooManyTagsException extends __BaseException {\n constructor(opts) {\n super({\n name: \"TooManyTagsException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"TooManyTagsException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, TooManyTagsException.prototype);\n this.resourceName = opts.resourceName;\n }\n}\nexport const GuardrailStatus = {\n CREATING: \"CREATING\",\n DELETING: \"DELETING\",\n FAILED: \"FAILED\",\n READY: \"READY\",\n UPDATING: \"UPDATING\",\n VERSIONING: \"VERSIONING\",\n};\nexport const ModelCopyJobStatus = {\n COMPLETED: \"Completed\",\n FAILED: \"Failed\",\n IN_PROGRESS: \"InProgress\",\n};\nexport const CustomizationType = {\n CONTINUED_PRE_TRAINING: \"CONTINUED_PRE_TRAINING\",\n FINE_TUNING: \"FINE_TUNING\",\n};\nexport const ModelCustomization = {\n CONTINUED_PRE_TRAINING: \"CONTINUED_PRE_TRAINING\",\n FINE_TUNING: \"FINE_TUNING\",\n};\nexport const InferenceType = {\n ON_DEMAND: \"ON_DEMAND\",\n PROVISIONED: \"PROVISIONED\",\n};\nexport const ModelModality = {\n EMBEDDING: \"EMBEDDING\",\n IMAGE: \"IMAGE\",\n TEXT: \"TEXT\",\n};\nexport const FoundationModelLifecycleStatus = {\n ACTIVE: \"ACTIVE\",\n LEGACY: \"LEGACY\",\n};\nexport const SortModelsBy = {\n CREATION_TIME: \"CreationTime\",\n};\nexport const CommitmentDuration = {\n ONE_MONTH: \"OneMonth\",\n SIX_MONTHS: \"SixMonths\",\n};\nexport const ProvisionedModelStatus = {\n CREATING: \"Creating\",\n FAILED: \"Failed\",\n IN_SERVICE: \"InService\",\n UPDATING: \"Updating\",\n};\nexport const SortByProvisionedModels = {\n CREATION_TIME: \"CreationTime\",\n};\nexport const ModelCustomizationJobStatus = {\n COMPLETED: \"Completed\",\n FAILED: \"Failed\",\n IN_PROGRESS: \"InProgress\",\n STOPPED: \"Stopped\",\n STOPPING: \"Stopping\",\n};\nexport const FineTuningJobStatus = {\n COMPLETED: \"Completed\",\n FAILED: \"Failed\",\n IN_PROGRESS: \"InProgress\",\n STOPPED: \"Stopped\",\n STOPPING: \"Stopping\",\n};\nexport const EvaluationDatasetFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.name && { name: SENSITIVE_STRING }),\n ...(obj.datasetLocation && { datasetLocation: obj.datasetLocation }),\n});\nexport const EvaluationDatasetMetricConfigFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.dataset && { dataset: EvaluationDatasetFilterSensitiveLog(obj.dataset) }),\n ...(obj.metricNames && { metricNames: SENSITIVE_STRING }),\n});\nexport const AutomatedEvaluationConfigFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.datasetMetricConfigs && {\n datasetMetricConfigs: obj.datasetMetricConfigs.map((item) => EvaluationDatasetMetricConfigFilterSensitiveLog(item)),\n }),\n});\nexport const HumanEvaluationCustomMetricFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.name && { name: SENSITIVE_STRING }),\n ...(obj.description && { description: SENSITIVE_STRING }),\n});\nexport const HumanWorkflowConfigFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.instructions && { instructions: SENSITIVE_STRING }),\n});\nexport const HumanEvaluationConfigFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.humanWorkflowConfig && {\n humanWorkflowConfig: HumanWorkflowConfigFilterSensitiveLog(obj.humanWorkflowConfig),\n }),\n ...(obj.customMetrics && {\n customMetrics: obj.customMetrics.map((item) => HumanEvaluationCustomMetricFilterSensitiveLog(item)),\n }),\n ...(obj.datasetMetricConfigs && {\n datasetMetricConfigs: obj.datasetMetricConfigs.map((item) => EvaluationDatasetMetricConfigFilterSensitiveLog(item)),\n }),\n});\nexport const EvaluationConfigFilterSensitiveLog = (obj) => {\n if (obj.automated !== undefined)\n return { automated: AutomatedEvaluationConfigFilterSensitiveLog(obj.automated) };\n if (obj.human !== undefined)\n return { human: HumanEvaluationConfigFilterSensitiveLog(obj.human) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexport const EvaluationBedrockModelFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.inferenceParams && { inferenceParams: SENSITIVE_STRING }),\n});\nexport const EvaluationModelConfigFilterSensitiveLog = (obj) => {\n if (obj.bedrockModel !== undefined)\n return { bedrockModel: EvaluationBedrockModelFilterSensitiveLog(obj.bedrockModel) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexport const EvaluationInferenceConfigFilterSensitiveLog = (obj) => {\n if (obj.models !== undefined)\n return { models: obj.models.map((item) => EvaluationModelConfigFilterSensitiveLog(item)) };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexport const CreateEvaluationJobRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.jobDescription && { jobDescription: SENSITIVE_STRING }),\n ...(obj.evaluationConfig && { evaluationConfig: EvaluationConfigFilterSensitiveLog(obj.evaluationConfig) }),\n ...(obj.inferenceConfig && { inferenceConfig: EvaluationInferenceConfigFilterSensitiveLog(obj.inferenceConfig) }),\n});\nexport const GetEvaluationJobRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.jobIdentifier && { jobIdentifier: SENSITIVE_STRING }),\n});\nexport const GetEvaluationJobResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.jobDescription && { jobDescription: SENSITIVE_STRING }),\n ...(obj.evaluationConfig && { evaluationConfig: EvaluationConfigFilterSensitiveLog(obj.evaluationConfig) }),\n ...(obj.inferenceConfig && { inferenceConfig: EvaluationInferenceConfigFilterSensitiveLog(obj.inferenceConfig) }),\n});\nexport const StopEvaluationJobRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.jobIdentifier && { jobIdentifier: SENSITIVE_STRING }),\n});\nexport const GuardrailTopicConfigFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.name && { name: SENSITIVE_STRING }),\n ...(obj.definition && { definition: SENSITIVE_STRING }),\n ...(obj.examples && { examples: SENSITIVE_STRING }),\n});\nexport const GuardrailTopicPolicyConfigFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.topicsConfig && {\n topicsConfig: obj.topicsConfig.map((item) => GuardrailTopicConfigFilterSensitiveLog(item)),\n }),\n});\nexport const CreateGuardrailRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.name && { name: SENSITIVE_STRING }),\n ...(obj.description && { description: SENSITIVE_STRING }),\n ...(obj.topicPolicyConfig && {\n topicPolicyConfig: GuardrailTopicPolicyConfigFilterSensitiveLog(obj.topicPolicyConfig),\n }),\n ...(obj.blockedInputMessaging && { blockedInputMessaging: SENSITIVE_STRING }),\n ...(obj.blockedOutputsMessaging && { blockedOutputsMessaging: SENSITIVE_STRING }),\n});\nexport const CreateGuardrailVersionRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.description && { description: SENSITIVE_STRING }),\n});\nexport const GuardrailTopicFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.name && { name: SENSITIVE_STRING }),\n ...(obj.definition && { definition: SENSITIVE_STRING }),\n ...(obj.examples && { examples: SENSITIVE_STRING }),\n});\nexport const GuardrailTopicPolicyFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.topics && { topics: obj.topics.map((item) => GuardrailTopicFilterSensitiveLog(item)) }),\n});\nexport const GetGuardrailResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.name && { name: SENSITIVE_STRING }),\n ...(obj.description && { description: SENSITIVE_STRING }),\n ...(obj.topicPolicy && { topicPolicy: GuardrailTopicPolicyFilterSensitiveLog(obj.topicPolicy) }),\n ...(obj.statusReasons && { statusReasons: SENSITIVE_STRING }),\n ...(obj.failureRecommendations && { failureRecommendations: SENSITIVE_STRING }),\n ...(obj.blockedInputMessaging && { blockedInputMessaging: SENSITIVE_STRING }),\n ...(obj.blockedOutputsMessaging && { blockedOutputsMessaging: SENSITIVE_STRING }),\n});\nexport const GuardrailSummaryFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.name && { name: SENSITIVE_STRING }),\n ...(obj.description && { description: SENSITIVE_STRING }),\n});\nexport const ListGuardrailsResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.guardrails && { guardrails: obj.guardrails.map((item) => GuardrailSummaryFilterSensitiveLog(item)) }),\n});\nexport const UpdateGuardrailRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.name && { name: SENSITIVE_STRING }),\n ...(obj.description && { description: SENSITIVE_STRING }),\n ...(obj.topicPolicyConfig && {\n topicPolicyConfig: GuardrailTopicPolicyConfigFilterSensitiveLog(obj.topicPolicyConfig),\n }),\n ...(obj.blockedInputMessaging && { blockedInputMessaging: SENSITIVE_STRING }),\n ...(obj.blockedOutputsMessaging && { blockedOutputsMessaging: SENSITIVE_STRING }),\n});\n",
|
|
191
|
+
"import { awsExpectUnion as __expectUnion, loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody, } from \"@aws-sdk/core\";\nimport { requestBuilder as rb } from \"@smithy/core\";\nimport { _json, collectBody, decorateServiceException as __decorateServiceException, expectInt32 as __expectInt32, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, limitedParseDouble as __limitedParseDouble, limitedParseFloat32 as __limitedParseFloat32, map, parseRfc3339DateTimeWithOffset as __parseRfc3339DateTimeWithOffset, serializeDateTime as __serializeDateTime, serializeFloat as __serializeFloat, take, withBaseException, } from \"@smithy/smithy-client\";\nimport { v4 as generateIdempotencyToken } from \"uuid\";\nimport { BedrockServiceException as __BaseException } from \"../models/BedrockServiceException\";\nimport { AccessDeniedException, ConflictException, InternalServerException, ResourceNotFoundException, ServiceQuotaExceededException, ThrottlingException, TooManyTagsException, ValidationException, } from \"../models/models_0\";\nexport const se_CreateEvaluationJobCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/evaluation-jobs\");\n let body;\n body = JSON.stringify(take(input, {\n clientRequestToken: [true, (_) => _ ?? generateIdempotencyToken()],\n customerEncryptionKeyId: [],\n evaluationConfig: (_) => _json(_),\n inferenceConfig: (_) => _json(_),\n jobDescription: [],\n jobName: [],\n jobTags: (_) => _json(_),\n outputDataConfig: (_) => _json(_),\n roleArn: [],\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_CreateGuardrailCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/guardrails\");\n let body;\n body = JSON.stringify(take(input, {\n blockedInputMessaging: [],\n blockedOutputsMessaging: [],\n clientRequestToken: [true, (_) => _ ?? generateIdempotencyToken()],\n contentPolicyConfig: (_) => _json(_),\n contextualGroundingPolicyConfig: (_) => se_GuardrailContextualGroundingPolicyConfig(_, context),\n description: [],\n kmsKeyId: [],\n name: [],\n sensitiveInformationPolicyConfig: (_) => _json(_),\n tags: (_) => _json(_),\n topicPolicyConfig: (_) => _json(_),\n wordPolicyConfig: (_) => _json(_),\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_CreateGuardrailVersionCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/guardrails/{guardrailIdentifier}\");\n b.p(\"guardrailIdentifier\", () => input.guardrailIdentifier, \"{guardrailIdentifier}\", false);\n let body;\n body = JSON.stringify(take(input, {\n clientRequestToken: [true, (_) => _ ?? generateIdempotencyToken()],\n description: [],\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_CreateModelCopyJobCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/model-copy-jobs\");\n let body;\n body = JSON.stringify(take(input, {\n clientRequestToken: [true, (_) => _ ?? generateIdempotencyToken()],\n modelKmsKeyId: [],\n sourceModelArn: [],\n targetModelName: [],\n targetModelTags: (_) => _json(_),\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_CreateModelCustomizationJobCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/model-customization-jobs\");\n let body;\n body = JSON.stringify(take(input, {\n baseModelIdentifier: [],\n clientRequestToken: [true, (_) => _ ?? generateIdempotencyToken()],\n customModelKmsKeyId: [],\n customModelName: [],\n customModelTags: (_) => _json(_),\n customizationType: [],\n hyperParameters: (_) => _json(_),\n jobName: [],\n jobTags: (_) => _json(_),\n outputDataConfig: (_) => _json(_),\n roleArn: [],\n trainingDataConfig: (_) => _json(_),\n validationDataConfig: (_) => _json(_),\n vpcConfig: (_) => _json(_),\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_CreateProvisionedModelThroughputCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/provisioned-model-throughput\");\n let body;\n body = JSON.stringify(take(input, {\n clientRequestToken: [true, (_) => _ ?? generateIdempotencyToken()],\n commitmentDuration: [],\n modelId: [],\n modelUnits: [],\n provisionedModelName: [],\n tags: (_) => _json(_),\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_DeleteCustomModelCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/custom-models/{modelIdentifier}\");\n b.p(\"modelIdentifier\", () => input.modelIdentifier, \"{modelIdentifier}\", false);\n let body;\n b.m(\"DELETE\").h(headers).b(body);\n return b.build();\n};\nexport const se_DeleteGuardrailCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/guardrails/{guardrailIdentifier}\");\n b.p(\"guardrailIdentifier\", () => input.guardrailIdentifier, \"{guardrailIdentifier}\", false);\n const query = map({\n [_gV]: [, input[_gV]],\n });\n let body;\n b.m(\"DELETE\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_DeleteModelInvocationLoggingConfigurationCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/logging/modelinvocations\");\n let body;\n b.m(\"DELETE\").h(headers).b(body);\n return b.build();\n};\nexport const se_DeleteProvisionedModelThroughputCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/provisioned-model-throughput/{provisionedModelId}\");\n b.p(\"provisionedModelId\", () => input.provisionedModelId, \"{provisionedModelId}\", false);\n let body;\n b.m(\"DELETE\").h(headers).b(body);\n return b.build();\n};\nexport const se_GetCustomModelCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/custom-models/{modelIdentifier}\");\n b.p(\"modelIdentifier\", () => input.modelIdentifier, \"{modelIdentifier}\", false);\n let body;\n b.m(\"GET\").h(headers).b(body);\n return b.build();\n};\nexport const se_GetEvaluationJobCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/evaluation-jobs/{jobIdentifier}\");\n b.p(\"jobIdentifier\", () => input.jobIdentifier, \"{jobIdentifier}\", false);\n let body;\n b.m(\"GET\").h(headers).b(body);\n return b.build();\n};\nexport const se_GetFoundationModelCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/foundation-models/{modelIdentifier}\");\n b.p(\"modelIdentifier\", () => input.modelIdentifier, \"{modelIdentifier}\", false);\n let body;\n b.m(\"GET\").h(headers).b(body);\n return b.build();\n};\nexport const se_GetGuardrailCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/guardrails/{guardrailIdentifier}\");\n b.p(\"guardrailIdentifier\", () => input.guardrailIdentifier, \"{guardrailIdentifier}\", false);\n const query = map({\n [_gV]: [, input[_gV]],\n });\n let body;\n b.m(\"GET\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_GetModelCopyJobCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/model-copy-jobs/{jobArn}\");\n b.p(\"jobArn\", () => input.jobArn, \"{jobArn}\", false);\n let body;\n b.m(\"GET\").h(headers).b(body);\n return b.build();\n};\nexport const se_GetModelCustomizationJobCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/model-customization-jobs/{jobIdentifier}\");\n b.p(\"jobIdentifier\", () => input.jobIdentifier, \"{jobIdentifier}\", false);\n let body;\n b.m(\"GET\").h(headers).b(body);\n return b.build();\n};\nexport const se_GetModelInvocationLoggingConfigurationCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/logging/modelinvocations\");\n let body;\n b.m(\"GET\").h(headers).b(body);\n return b.build();\n};\nexport const se_GetProvisionedModelThroughputCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/provisioned-model-throughput/{provisionedModelId}\");\n b.p(\"provisionedModelId\", () => input.provisionedModelId, \"{provisionedModelId}\", false);\n let body;\n b.m(\"GET\").h(headers).b(body);\n return b.build();\n};\nexport const se_ListCustomModelsCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/custom-models\");\n const query = map({\n [_cTB]: [() => input.creationTimeBefore !== void 0, () => __serializeDateTime(input[_cTB]).toString()],\n [_cTA]: [() => input.creationTimeAfter !== void 0, () => __serializeDateTime(input[_cTA]).toString()],\n [_nC]: [, input[_nC]],\n [_bMAE]: [, input[_bMAE]],\n [_fMAE]: [, input[_fMAE]],\n [_mR]: [() => input.maxResults !== void 0, () => input[_mR].toString()],\n [_nT]: [, input[_nT]],\n [_sB]: [, input[_sB]],\n [_sO]: [, input[_sO]],\n [_iO]: [() => input.isOwned !== void 0, () => input[_iO].toString()],\n });\n let body;\n b.m(\"GET\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_ListEvaluationJobsCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/evaluation-jobs\");\n const query = map({\n [_cTA]: [() => input.creationTimeAfter !== void 0, () => __serializeDateTime(input[_cTA]).toString()],\n [_cTB]: [() => input.creationTimeBefore !== void 0, () => __serializeDateTime(input[_cTB]).toString()],\n [_sE]: [, input[_sE]],\n [_nC]: [, input[_nC]],\n [_mR]: [() => input.maxResults !== void 0, () => input[_mR].toString()],\n [_nT]: [, input[_nT]],\n [_sB]: [, input[_sB]],\n [_sO]: [, input[_sO]],\n });\n let body;\n b.m(\"GET\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_ListFoundationModelsCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/foundation-models\");\n const query = map({\n [_bP]: [, input[_bP]],\n [_bCT]: [, input[_bCT]],\n [_bOM]: [, input[_bOM]],\n [_bIT]: [, input[_bIT]],\n });\n let body;\n b.m(\"GET\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_ListGuardrailsCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/guardrails\");\n const query = map({\n [_gI]: [, input[_gI]],\n [_mR]: [() => input.maxResults !== void 0, () => input[_mR].toString()],\n [_nT]: [, input[_nT]],\n });\n let body;\n b.m(\"GET\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_ListModelCopyJobsCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/model-copy-jobs\");\n const query = map({\n [_cTA]: [() => input.creationTimeAfter !== void 0, () => __serializeDateTime(input[_cTA]).toString()],\n [_cTB]: [() => input.creationTimeBefore !== void 0, () => __serializeDateTime(input[_cTB]).toString()],\n [_sE]: [, input[_sE]],\n [_sAE]: [, input[_sAE]],\n [_sMAE]: [, input[_sMAE]],\n [_oMNC]: [, input[_tMNC]],\n [_mR]: [() => input.maxResults !== void 0, () => input[_mR].toString()],\n [_nT]: [, input[_nT]],\n [_sB]: [, input[_sB]],\n [_sO]: [, input[_sO]],\n });\n let body;\n b.m(\"GET\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_ListModelCustomizationJobsCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/model-customization-jobs\");\n const query = map({\n [_cTA]: [() => input.creationTimeAfter !== void 0, () => __serializeDateTime(input[_cTA]).toString()],\n [_cTB]: [() => input.creationTimeBefore !== void 0, () => __serializeDateTime(input[_cTB]).toString()],\n [_sE]: [, input[_sE]],\n [_nC]: [, input[_nC]],\n [_mR]: [() => input.maxResults !== void 0, () => input[_mR].toString()],\n [_nT]: [, input[_nT]],\n [_sB]: [, input[_sB]],\n [_sO]: [, input[_sO]],\n });\n let body;\n b.m(\"GET\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_ListProvisionedModelThroughputsCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/provisioned-model-throughputs\");\n const query = map({\n [_cTA]: [() => input.creationTimeAfter !== void 0, () => __serializeDateTime(input[_cTA]).toString()],\n [_cTB]: [() => input.creationTimeBefore !== void 0, () => __serializeDateTime(input[_cTB]).toString()],\n [_sE]: [, input[_sE]],\n [_mAE]: [, input[_mAE]],\n [_nC]: [, input[_nC]],\n [_mR]: [() => input.maxResults !== void 0, () => input[_mR].toString()],\n [_nT]: [, input[_nT]],\n [_sB]: [, input[_sB]],\n [_sO]: [, input[_sO]],\n });\n let body;\n b.m(\"GET\").h(headers).q(query).b(body);\n return b.build();\n};\nexport const se_ListTagsForResourceCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/listTagsForResource\");\n let body;\n body = JSON.stringify(take(input, {\n resourceARN: [],\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_PutModelInvocationLoggingConfigurationCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/logging/modelinvocations\");\n let body;\n body = JSON.stringify(take(input, {\n loggingConfig: (_) => _json(_),\n }));\n b.m(\"PUT\").h(headers).b(body);\n return b.build();\n};\nexport const se_StopEvaluationJobCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/evaluation-job/{jobIdentifier}/stop\");\n b.p(\"jobIdentifier\", () => input.jobIdentifier, \"{jobIdentifier}\", false);\n let body;\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_StopModelCustomizationJobCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {};\n b.bp(\"/model-customization-jobs/{jobIdentifier}/stop\");\n b.p(\"jobIdentifier\", () => input.jobIdentifier, \"{jobIdentifier}\", false);\n let body;\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_TagResourceCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/tagResource\");\n let body;\n body = JSON.stringify(take(input, {\n resourceARN: [],\n tags: (_) => _json(_),\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_UntagResourceCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/untagResource\");\n let body;\n body = JSON.stringify(take(input, {\n resourceARN: [],\n tagKeys: (_) => _json(_),\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_UpdateGuardrailCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/guardrails/{guardrailIdentifier}\");\n b.p(\"guardrailIdentifier\", () => input.guardrailIdentifier, \"{guardrailIdentifier}\", false);\n let body;\n body = JSON.stringify(take(input, {\n blockedInputMessaging: [],\n blockedOutputsMessaging: [],\n contentPolicyConfig: (_) => _json(_),\n contextualGroundingPolicyConfig: (_) => se_GuardrailContextualGroundingPolicyConfig(_, context),\n description: [],\n kmsKeyId: [],\n name: [],\n sensitiveInformationPolicyConfig: (_) => _json(_),\n topicPolicyConfig: (_) => _json(_),\n wordPolicyConfig: (_) => _json(_),\n }));\n b.m(\"PUT\").h(headers).b(body);\n return b.build();\n};\nexport const se_UpdateProvisionedModelThroughputCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/provisioned-model-throughput/{provisionedModelId}\");\n b.p(\"provisionedModelId\", () => input.provisionedModelId, \"{provisionedModelId}\", false);\n let body;\n body = JSON.stringify(take(input, {\n desiredModelId: [],\n desiredProvisionedModelName: [],\n }));\n b.m(\"PATCH\").h(headers).b(body);\n return b.build();\n};\nexport const de_CreateEvaluationJobCommand = async (output, context) => {\n if (output.statusCode !== 202 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n jobArn: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_CreateGuardrailCommand = async (output, context) => {\n if (output.statusCode !== 202 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n createdAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n guardrailArn: __expectString,\n guardrailId: __expectString,\n version: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_CreateGuardrailVersionCommand = async (output, context) => {\n if (output.statusCode !== 202 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n guardrailId: __expectString,\n version: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_CreateModelCopyJobCommand = async (output, context) => {\n if (output.statusCode !== 201 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n jobArn: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_CreateModelCustomizationJobCommand = async (output, context) => {\n if (output.statusCode !== 201 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n jobArn: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_CreateProvisionedModelThroughputCommand = async (output, context) => {\n if (output.statusCode !== 201 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n provisionedModelArn: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_DeleteCustomModelCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexport const de_DeleteGuardrailCommand = async (output, context) => {\n if (output.statusCode !== 202 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexport const de_DeleteModelInvocationLoggingConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexport const de_DeleteProvisionedModelThroughputCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexport const de_GetCustomModelCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n baseModelArn: __expectString,\n creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n customizationType: __expectString,\n hyperParameters: _json,\n jobArn: __expectString,\n jobName: __expectString,\n modelArn: __expectString,\n modelKmsKeyArn: __expectString,\n modelName: __expectString,\n outputDataConfig: _json,\n trainingDataConfig: _json,\n trainingMetrics: (_) => de_TrainingMetrics(_, context),\n validationDataConfig: _json,\n validationMetrics: (_) => de_ValidationMetrics(_, context),\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_GetEvaluationJobCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n customerEncryptionKeyId: __expectString,\n evaluationConfig: (_) => _json(__expectUnion(_)),\n failureMessages: _json,\n inferenceConfig: (_) => _json(__expectUnion(_)),\n jobArn: __expectString,\n jobDescription: __expectString,\n jobName: __expectString,\n jobType: __expectString,\n lastModifiedTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n outputDataConfig: _json,\n roleArn: __expectString,\n status: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_GetFoundationModelCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n modelDetails: _json,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_GetGuardrailCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n blockedInputMessaging: __expectString,\n blockedOutputsMessaging: __expectString,\n contentPolicy: _json,\n contextualGroundingPolicy: (_) => de_GuardrailContextualGroundingPolicy(_, context),\n createdAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n description: __expectString,\n failureRecommendations: _json,\n guardrailArn: __expectString,\n guardrailId: __expectString,\n kmsKeyArn: __expectString,\n name: __expectString,\n sensitiveInformationPolicy: _json,\n status: __expectString,\n statusReasons: _json,\n topicPolicy: _json,\n updatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n version: __expectString,\n wordPolicy: _json,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_GetModelCopyJobCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n failureMessage: __expectString,\n jobArn: __expectString,\n sourceAccountId: __expectString,\n sourceModelArn: __expectString,\n sourceModelName: __expectString,\n status: __expectString,\n targetModelArn: __expectString,\n targetModelKmsKeyArn: __expectString,\n targetModelName: __expectString,\n targetModelTags: _json,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_GetModelCustomizationJobCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n baseModelArn: __expectString,\n clientRequestToken: __expectString,\n creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n customizationType: __expectString,\n endTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n failureMessage: __expectString,\n hyperParameters: _json,\n jobArn: __expectString,\n jobName: __expectString,\n lastModifiedTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n outputDataConfig: _json,\n outputModelArn: __expectString,\n outputModelKmsKeyArn: __expectString,\n outputModelName: __expectString,\n roleArn: __expectString,\n status: __expectString,\n trainingDataConfig: _json,\n trainingMetrics: (_) => de_TrainingMetrics(_, context),\n validationDataConfig: _json,\n validationMetrics: (_) => de_ValidationMetrics(_, context),\n vpcConfig: _json,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_GetModelInvocationLoggingConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n loggingConfig: _json,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_GetProvisionedModelThroughputCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n commitmentDuration: __expectString,\n commitmentExpirationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n desiredModelArn: __expectString,\n desiredModelUnits: __expectInt32,\n failureMessage: __expectString,\n foundationModelArn: __expectString,\n lastModifiedTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n modelArn: __expectString,\n modelUnits: __expectInt32,\n provisionedModelArn: __expectString,\n provisionedModelName: __expectString,\n status: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ListCustomModelsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n modelSummaries: (_) => de_CustomModelSummaryList(_, context),\n nextToken: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ListEvaluationJobsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n jobSummaries: (_) => de_EvaluationSummaries(_, context),\n nextToken: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ListFoundationModelsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n modelSummaries: _json,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ListGuardrailsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n guardrails: (_) => de_GuardrailSummaries(_, context),\n nextToken: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ListModelCopyJobsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n modelCopyJobSummaries: (_) => de_ModelCopyJobSummaries(_, context),\n nextToken: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ListModelCustomizationJobsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n modelCustomizationJobSummaries: (_) => de_ModelCustomizationJobSummaries(_, context),\n nextToken: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ListProvisionedModelThroughputsCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n nextToken: __expectString,\n provisionedModelSummaries: (_) => de_ProvisionedModelSummaries(_, context),\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ListTagsForResourceCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n tags: _json,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_PutModelInvocationLoggingConfigurationCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexport const de_StopEvaluationJobCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexport const de_StopModelCustomizationJobCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexport const de_TagResourceCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexport const de_UntagResourceCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nexport const de_UpdateGuardrailCommand = async (output, context) => {\n if (output.statusCode !== 202 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n guardrailArn: __expectString,\n guardrailId: __expectString,\n updatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n version: __expectString,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_UpdateProvisionedModelThroughputCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n await collectBody(output.body, context);\n return contents;\n};\nconst de_CommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"AccessDeniedException\":\n case \"com.amazonaws.bedrock#AccessDeniedException\":\n throw await de_AccessDeniedExceptionRes(parsedOutput, context);\n case \"ConflictException\":\n case \"com.amazonaws.bedrock#ConflictException\":\n throw await de_ConflictExceptionRes(parsedOutput, context);\n case \"InternalServerException\":\n case \"com.amazonaws.bedrock#InternalServerException\":\n throw await de_InternalServerExceptionRes(parsedOutput, context);\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.bedrock#ResourceNotFoundException\":\n throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);\n case \"ServiceQuotaExceededException\":\n case \"com.amazonaws.bedrock#ServiceQuotaExceededException\":\n throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context);\n case \"ThrottlingException\":\n case \"com.amazonaws.bedrock#ThrottlingException\":\n throw await de_ThrottlingExceptionRes(parsedOutput, context);\n case \"ValidationException\":\n case \"com.amazonaws.bedrock#ValidationException\":\n throw await de_ValidationExceptionRes(parsedOutput, context);\n case \"TooManyTagsException\":\n case \"com.amazonaws.bedrock#TooManyTagsException\":\n throw await de_TooManyTagsExceptionRes(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n return throwDefaultError({\n output,\n parsedBody,\n errorCode,\n });\n }\n};\nconst throwDefaultError = withBaseException(__BaseException);\nconst de_AccessDeniedExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new AccessDeniedException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ConflictExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ConflictException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_InternalServerExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new InternalServerException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ResourceNotFoundException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ServiceQuotaExceededExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ServiceQuotaExceededException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ThrottlingExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ThrottlingException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_TooManyTagsExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n resourceName: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new TooManyTagsException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ValidationExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ValidationException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst se_GuardrailContextualGroundingFilterConfig = (input, context) => {\n return take(input, {\n threshold: __serializeFloat,\n type: [],\n });\n};\nconst se_GuardrailContextualGroundingFiltersConfig = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n return se_GuardrailContextualGroundingFilterConfig(entry, context);\n });\n};\nconst se_GuardrailContextualGroundingPolicyConfig = (input, context) => {\n return take(input, {\n filtersConfig: (_) => se_GuardrailContextualGroundingFiltersConfig(_, context),\n });\n};\nconst de_CustomModelSummary = (output, context) => {\n return take(output, {\n baseModelArn: __expectString,\n baseModelName: __expectString,\n creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n customizationType: __expectString,\n modelArn: __expectString,\n modelName: __expectString,\n ownerAccountId: __expectString,\n });\n};\nconst de_CustomModelSummaryList = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_CustomModelSummary(entry, context);\n });\n return retVal;\n};\nconst de_EvaluationSummaries = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_EvaluationSummary(entry, context);\n });\n return retVal;\n};\nconst de_EvaluationSummary = (output, context) => {\n return take(output, {\n creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n evaluationTaskTypes: _json,\n jobArn: __expectString,\n jobName: __expectString,\n jobType: __expectString,\n modelIdentifiers: _json,\n status: __expectString,\n });\n};\nconst de_GuardrailContextualGroundingFilter = (output, context) => {\n return take(output, {\n threshold: __limitedParseDouble,\n type: __expectString,\n });\n};\nconst de_GuardrailContextualGroundingFilters = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_GuardrailContextualGroundingFilter(entry, context);\n });\n return retVal;\n};\nconst de_GuardrailContextualGroundingPolicy = (output, context) => {\n return take(output, {\n filters: (_) => de_GuardrailContextualGroundingFilters(_, context),\n });\n};\nconst de_GuardrailSummaries = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_GuardrailSummary(entry, context);\n });\n return retVal;\n};\nconst de_GuardrailSummary = (output, context) => {\n return take(output, {\n arn: __expectString,\n createdAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n description: __expectString,\n id: __expectString,\n name: __expectString,\n status: __expectString,\n updatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n version: __expectString,\n });\n};\nconst de_ModelCopyJobSummaries = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_ModelCopyJobSummary(entry, context);\n });\n return retVal;\n};\nconst de_ModelCopyJobSummary = (output, context) => {\n return take(output, {\n creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n failureMessage: __expectString,\n jobArn: __expectString,\n sourceAccountId: __expectString,\n sourceModelArn: __expectString,\n sourceModelName: __expectString,\n status: __expectString,\n targetModelArn: __expectString,\n targetModelKmsKeyArn: __expectString,\n targetModelName: __expectString,\n targetModelTags: _json,\n });\n};\nconst de_ModelCustomizationJobSummaries = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_ModelCustomizationJobSummary(entry, context);\n });\n return retVal;\n};\nconst de_ModelCustomizationJobSummary = (output, context) => {\n return take(output, {\n baseModelArn: __expectString,\n creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n customModelArn: __expectString,\n customModelName: __expectString,\n customizationType: __expectString,\n endTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n jobArn: __expectString,\n jobName: __expectString,\n lastModifiedTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n status: __expectString,\n });\n};\nconst de_ProvisionedModelSummaries = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_ProvisionedModelSummary(entry, context);\n });\n return retVal;\n};\nconst de_ProvisionedModelSummary = (output, context) => {\n return take(output, {\n commitmentDuration: __expectString,\n commitmentExpirationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n creationTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n desiredModelArn: __expectString,\n desiredModelUnits: __expectInt32,\n foundationModelArn: __expectString,\n lastModifiedTime: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)),\n modelArn: __expectString,\n modelUnits: __expectInt32,\n provisionedModelArn: __expectString,\n provisionedModelName: __expectString,\n status: __expectString,\n });\n};\nconst de_TrainingMetrics = (output, context) => {\n return take(output, {\n trainingLoss: __limitedParseFloat32,\n });\n};\nconst de_ValidationMetrics = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_ValidatorMetric(entry, context);\n });\n return retVal;\n};\nconst de_ValidatorMetric = (output, context) => {\n return take(output, {\n validationLoss: __limitedParseFloat32,\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});\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst isSerializableHeaderValue = (value) => value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\nconst _bCT = \"byCustomizationType\";\nconst _bIT = \"byInferenceType\";\nconst _bMAE = \"baseModelArnEquals\";\nconst _bOM = \"byOutputModality\";\nconst _bP = \"byProvider\";\nconst _cTA = \"creationTimeAfter\";\nconst _cTB = \"creationTimeBefore\";\nconst _fMAE = \"foundationModelArnEquals\";\nconst _gI = \"guardrailIdentifier\";\nconst _gV = \"guardrailVersion\";\nconst _iO = \"isOwned\";\nconst _mAE = \"modelArnEquals\";\nconst _mR = \"maxResults\";\nconst _nC = \"nameContains\";\nconst _nT = \"nextToken\";\nconst _oMNC = \"outputModelNameContains\";\nconst _sAE = \"sourceAccountEquals\";\nconst _sB = \"sortBy\";\nconst _sE = \"statusEquals\";\nconst _sMAE = \"sourceModelArnEquals\";\nconst _sO = \"sortOrder\";\nconst _tMNC = \"targetModelNameContains\";\n",
|
|
192
|
+
"import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { de_CreateModelCustomizationJobCommand, se_CreateModelCustomizationJobCommand, } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class CreateModelCustomizationJobCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AmazonBedrockControlPlaneService\", \"CreateModelCustomizationJob\", {})\n .n(\"BedrockClient\", \"CreateModelCustomizationJobCommand\")\n .f(void 0, void 0)\n .ser(se_CreateModelCustomizationJobCommand)\n .de(de_CreateModelCustomizationJobCommand)\n .build() {\n}\n",
|
|
193
|
+
"import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { de_GetModelCustomizationJobCommand, se_GetModelCustomizationJobCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class GetModelCustomizationJobCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AmazonBedrockControlPlaneService\", \"GetModelCustomizationJob\", {})\n .n(\"BedrockClient\", \"GetModelCustomizationJobCommand\")\n .f(void 0, void 0)\n .ser(se_GetModelCustomizationJobCommand)\n .de(de_GetModelCustomizationJobCommand)\n .build() {\n}\n",
|
|
194
|
+
"import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { de_ListFoundationModelsCommand, se_ListFoundationModelsCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class ListFoundationModelsCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AmazonBedrockControlPlaneService\", \"ListFoundationModels\", {})\n .n(\"BedrockClient\", \"ListFoundationModelsCommand\")\n .f(void 0, void 0)\n .ser(se_ListFoundationModelsCommand)\n .de(de_ListFoundationModelsCommand)\n .build() {\n}\n",
|
|
5
195
|
"import type {\n CreateModelCustomizationJobCommandInput,\n CreateModelCustomizationJobCommandOutput,\n GetModelCustomizationJobCommandInput,\n GetModelCustomizationJobCommandOutput,\n ListFoundationModelsCommandInput,\n ListFoundationModelsCommandOutput,\n} from '@aws-sdk/client-bedrock'\nimport {\n BedrockClient,\n CreateModelCustomizationJobCommand,\n GetModelCustomizationJobCommand,\n ListFoundationModelsCommand,\n} from '@aws-sdk/client-bedrock'\n\nconst client = new BedrockClient({ region: process.env.REGION || 'us-east-1' })\nconst logger = console // import your own logger\n\n/*\n * Create Model Customization Job\n * @param {CreateModelCustomizationJobCommandInput} params\n * @returns {Promise<CreateModelCustomizationJobCommandOutput>}\n * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Bedrock.html#CreateModelCustomizationJob-property\n */\nexport async function createModelCustomizationJob(\n param: CreateModelCustomizationJobCommandInput,\n): Promise<CreateModelCustomizationJobCommandOutput> {\n logger.debug(param)\n const command = new CreateModelCustomizationJobCommand(param)\n const res = await client.send(command)\n logger.debug('Successfully create model customization job')\n logger.debug(res)\n return res\n}\n\n/*\n * Get Model Customization Job\n * @param {GetModelCustomizationJobCommandInput} params\n * @returns {Promise<GetModelCustomizationJobCommandOutput>}\n * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Bedrock.html#getModelCustomizationJob-property\n */\nexport async function getModelCustomizationJob(\n params: GetModelCustomizationJobCommandInput,\n): Promise<GetModelCustomizationJobCommandOutput> {\n logger.debug(params)\n const command = new GetModelCustomizationJobCommand(params)\n const res = await client.send(command)\n logger.debug('Successfully get model customization job')\n logger.debug(res)\n return res\n}\n\n/*\n * List Foundation Models\n * @param {ListFoundationModelsCommandInput} params\n * @returns {Promise<ListFoundationModelsCommandOutput>}\n * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Bedrock.html#listFoundationModels-property\n */\nexport async function listFoundationModels(\n params: ListFoundationModelsCommandInput,\n): Promise<ListFoundationModelsCommandOutput> {\n logger.debug(params)\n const command = new ListFoundationModelsCommand(params)\n const res = await client.send(command)\n logger.debug('Successfully list foundation models')\n logger.debug(res)\n return res\n}\n\nexport type {\n CreateModelCustomizationJobCommandInput,\n GetModelCustomizationJobCommandInput,\n ListFoundationModelsCommandInput,\n}\n",
|
|
196
|
+
"export const resolveEventStreamSerdeConfig = (input) => ({\n ...input,\n eventStreamMarshaller: input.eventStreamSerdeProvider(input),\n});\n",
|
|
197
|
+
"import { resolveAwsSdkSigV4Config, } from \"@aws-sdk/core\";\nimport { getSmithyContext, normalizeProvider } from \"@smithy/util-middleware\";\nexport const defaultBedrockRuntimeHttpAuthSchemeParametersProvider = 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: \"bedrock\",\n region: authParameters.region,\n },\n propertiesExtractor: (config, context) => ({\n signingProperties: {\n config,\n context,\n },\n }),\n };\n}\nexport const defaultBedrockRuntimeHttpAuthSchemeProvider = (authParameters) => {\n const options = [];\n switch (authParameters.operation) {\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 {\n ...config_0,\n };\n};\n",
|
|
198
|
+
"export const resolveClientEndpointParameters = (options) => {\n return {\n ...options,\n useDualstackEndpoint: options.useDualstackEndpoint ?? false,\n useFipsEndpoint: options.useFipsEndpoint ?? false,\n defaultSigningName: \"bedrock\",\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",
|
|
199
|
+
"// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __awaiter, __generator } from \"tslib\";\nimport { convertToBuffer, isEmptyData, numToUint8 } from \"@aws-crypto/util\";\nimport { Crc32 } from \"./index\";\nvar AwsCrc32 = /** @class */ (function () {\n function AwsCrc32() {\n this.crc32 = new Crc32();\n }\n AwsCrc32.prototype.update = function (toHash) {\n if (isEmptyData(toHash))\n return;\n this.crc32.update(convertToBuffer(toHash));\n };\n AwsCrc32.prototype.digest = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, numToUint8(this.crc32.digest())];\n });\n });\n };\n AwsCrc32.prototype.reset = function () {\n this.crc32 = new Crc32();\n };\n return AwsCrc32;\n}());\nexport { AwsCrc32 };\n//# sourceMappingURL=aws_crc32.js.map",
|
|
200
|
+
"import { __values } from \"tslib\";\nimport { uint32ArrayFrom } from \"@aws-crypto/util\";\nexport function crc32(data) {\n return new Crc32().update(data).digest();\n}\nvar Crc32 = /** @class */ (function () {\n function Crc32() {\n this.checksum = 0xffffffff;\n }\n Crc32.prototype.update = function (data) {\n var e_1, _a;\n try {\n for (var data_1 = __values(data), data_1_1 = data_1.next(); !data_1_1.done; data_1_1 = data_1.next()) {\n var byte = data_1_1.value;\n this.checksum =\n (this.checksum >>> 8) ^ lookupTable[(this.checksum ^ byte) & 0xff];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (data_1_1 && !data_1_1.done && (_a = data_1.return)) _a.call(data_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return this;\n };\n Crc32.prototype.digest = function () {\n return (this.checksum ^ 0xffffffff) >>> 0;\n };\n return Crc32;\n}());\nexport { Crc32 };\n// prettier-ignore\nvar a_lookUpTable = [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA,\n 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3,\n 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988,\n 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91,\n 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7,\n 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC,\n 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5,\n 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172,\n 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940,\n 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59,\n 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116,\n 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F,\n 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D,\n 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A,\n 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433,\n 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818,\n 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E,\n 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457,\n 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C,\n 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65,\n 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB,\n 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0,\n 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9,\n 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086,\n 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4,\n 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD,\n 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A,\n 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683,\n 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1,\n 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE,\n 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7,\n 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC,\n 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252,\n 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B,\n 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60,\n 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79,\n 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F,\n 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04,\n 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D,\n 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A,\n 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38,\n 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21,\n 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E,\n 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777,\n 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45,\n 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2,\n 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB,\n 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0,\n 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6,\n 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF,\n 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94,\n 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D,\n];\nvar lookupTable = uint32ArrayFrom(a_lookUpTable);\nexport { AwsCrc32 } from \"./aws_crc32\";\n//# sourceMappingURL=index.js.map",
|
|
201
|
+
"import { toHex } from \"@smithy/util-hex-encoding\";\nexport class Int64 {\n constructor(bytes) {\n this.bytes = bytes;\n if (bytes.byteLength !== 8) {\n throw new Error(\"Int64 buffers must be exactly 8 bytes\");\n }\n }\n static fromNumber(number) {\n if (number > 9223372036854776000 || number < -9223372036854776000) {\n throw new Error(`${number} is too large (or, if negative, too small) to represent as an Int64`);\n }\n const bytes = new Uint8Array(8);\n for (let i = 7, remaining = Math.abs(Math.round(number)); i > -1 && remaining > 0; i--, remaining /= 256) {\n bytes[i] = remaining;\n }\n if (number < 0) {\n negate(bytes);\n }\n return new Int64(bytes);\n }\n valueOf() {\n const bytes = this.bytes.slice(0);\n const negative = bytes[0] & 0b10000000;\n if (negative) {\n negate(bytes);\n }\n return parseInt(toHex(bytes), 16) * (negative ? -1 : 1);\n }\n toString() {\n return String(this.valueOf());\n }\n}\nfunction negate(bytes) {\n for (let i = 0; i < 8; i++) {\n bytes[i] ^= 0xff;\n }\n for (let i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0)\n break;\n }\n}\n",
|
|
202
|
+
"import { fromHex, toHex } from \"@smithy/util-hex-encoding\";\nimport { Int64 } from \"./Int64\";\nexport class HeaderMarshaller {\n constructor(toUtf8, fromUtf8) {\n this.toUtf8 = toUtf8;\n this.fromUtf8 = fromUtf8;\n }\n format(headers) {\n const chunks = [];\n for (const headerName of Object.keys(headers)) {\n const bytes = this.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 = this.fromUtf8(header.value);\n const strView = new DataView(new ArrayBuffer(3 + utf8Bytes.byteLength));\n strView.setUint8(0, 7);\n strView.setUint16(1, utf8Bytes.byteLength, false);\n const strBytes = new Uint8Array(strView.buffer);\n strBytes.set(utf8Bytes, 3);\n return strBytes;\n case \"timestamp\":\n const tsBytes = new Uint8Array(9);\n tsBytes[0] = 8;\n tsBytes.set(Int64.fromNumber(header.value.valueOf()).bytes, 1);\n return tsBytes;\n case \"uuid\":\n if (!UUID_PATTERN.test(header.value)) {\n throw new Error(`Invalid UUID received: ${header.value}`);\n }\n const uuidBytes = new Uint8Array(17);\n uuidBytes[0] = 9;\n uuidBytes.set(fromHex(header.value.replace(/\\-/g, \"\")), 1);\n return uuidBytes;\n }\n }\n parse(headers) {\n const out = {};\n let position = 0;\n while (position < headers.byteLength) {\n const nameLength = headers.getUint8(position++);\n const name = this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, nameLength));\n position += nameLength;\n switch (headers.getUint8(position++)) {\n case 0:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true,\n };\n break;\n case 1:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false,\n };\n break;\n case 2:\n out[name] = {\n type: BYTE_TAG,\n value: headers.getInt8(position++),\n };\n break;\n case 3:\n out[name] = {\n type: SHORT_TAG,\n value: headers.getInt16(position, false),\n };\n position += 2;\n break;\n case 4:\n out[name] = {\n type: INT_TAG,\n value: headers.getInt32(position, false),\n };\n position += 4;\n break;\n case 5:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)),\n };\n position += 8;\n break;\n case 6:\n const binaryLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: new Uint8Array(headers.buffer, headers.byteOffset + position, binaryLength),\n };\n position += binaryLength;\n break;\n case 7:\n const stringLength = headers.getUint16(position, false);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: this.toUtf8(new Uint8Array(headers.buffer, headers.byteOffset + position, stringLength)),\n };\n position += stringLength;\n break;\n case 8:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(new Int64(new Uint8Array(headers.buffer, headers.byteOffset + position, 8)).valueOf()),\n };\n position += 8;\n break;\n case 9:\n const uuidBytes = new Uint8Array(headers.buffer, headers.byteOffset + position, 16);\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: `${toHex(uuidBytes.subarray(0, 4))}-${toHex(uuidBytes.subarray(4, 6))}-${toHex(uuidBytes.subarray(6, 8))}-${toHex(uuidBytes.subarray(8, 10))}-${toHex(uuidBytes.subarray(10))}`,\n };\n break;\n default:\n throw new Error(`Unrecognized header type tag`);\n }\n }\n return out;\n }\n}\nvar HEADER_VALUE_TYPE;\n(function (HEADER_VALUE_TYPE) {\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolTrue\"] = 0] = \"boolTrue\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"boolFalse\"] = 1] = \"boolFalse\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byte\"] = 2] = \"byte\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"short\"] = 3] = \"short\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"integer\"] = 4] = \"integer\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"long\"] = 5] = \"long\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"byteArray\"] = 6] = \"byteArray\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"string\"] = 7] = \"string\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"timestamp\"] = 8] = \"timestamp\";\n HEADER_VALUE_TYPE[HEADER_VALUE_TYPE[\"uuid\"] = 9] = \"uuid\";\n})(HEADER_VALUE_TYPE || (HEADER_VALUE_TYPE = {}));\nconst BOOLEAN_TAG = \"boolean\";\nconst BYTE_TAG = \"byte\";\nconst SHORT_TAG = \"short\";\nconst INT_TAG = \"integer\";\nconst LONG_TAG = \"long\";\nconst BINARY_TAG = \"binary\";\nconst STRING_TAG = \"string\";\nconst TIMESTAMP_TAG = \"timestamp\";\nconst UUID_TAG = \"uuid\";\nconst UUID_PATTERN = /^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;\n",
|
|
203
|
+
"import { Crc32 } from \"@aws-crypto/crc32\";\nconst PRELUDE_MEMBER_LENGTH = 4;\nconst PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\nconst CHECKSUM_LENGTH = 4;\nconst MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\nexport function splitMessage({ byteLength, byteOffset, buffer }) {\n if (byteLength < MINIMUM_MESSAGE_LENGTH) {\n throw new Error(\"Provided message too short to accommodate event stream message overhead\");\n }\n const view = new DataView(buffer, byteOffset, byteLength);\n const messageLength = view.getUint32(0, false);\n if (byteLength !== messageLength) {\n throw new Error(\"Reported message length does not match received message length\");\n }\n const headerLength = view.getUint32(PRELUDE_MEMBER_LENGTH, false);\n const expectedPreludeChecksum = view.getUint32(PRELUDE_LENGTH, false);\n const expectedMessageChecksum = view.getUint32(byteLength - CHECKSUM_LENGTH, false);\n const checksummer = new Crc32().update(new Uint8Array(buffer, byteOffset, PRELUDE_LENGTH));\n if (expectedPreludeChecksum !== checksummer.digest()) {\n throw new Error(`The prelude checksum specified in the message (${expectedPreludeChecksum}) does not match the calculated CRC32 checksum (${checksummer.digest()})`);\n }\n checksummer.update(new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH, byteLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH)));\n if (expectedMessageChecksum !== checksummer.digest()) {\n throw new Error(`The message checksum (${checksummer.digest()}) did not match the expected value of ${expectedMessageChecksum}`);\n }\n return {\n headers: new DataView(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH, headerLength),\n body: new Uint8Array(buffer, byteOffset + PRELUDE_LENGTH + CHECKSUM_LENGTH + headerLength, messageLength - headerLength - (PRELUDE_LENGTH + CHECKSUM_LENGTH + CHECKSUM_LENGTH)),\n };\n}\n",
|
|
204
|
+
"import { Crc32 } from \"@aws-crypto/crc32\";\nimport { HeaderMarshaller } from \"./HeaderMarshaller\";\nimport { splitMessage } from \"./splitMessage\";\nexport class EventStreamCodec {\n constructor(toUtf8, fromUtf8) {\n this.headerMarshaller = new HeaderMarshaller(toUtf8, fromUtf8);\n this.messageBuffer = [];\n this.isEndOfStream = false;\n }\n feed(message) {\n this.messageBuffer.push(this.decode(message));\n }\n endOfStream() {\n this.isEndOfStream = true;\n }\n getMessage() {\n const message = this.messageBuffer.pop();\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessage() {\n return message;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n getAvailableMessages() {\n const messages = this.messageBuffer;\n this.messageBuffer = [];\n const isEndOfStream = this.isEndOfStream;\n return {\n getMessages() {\n return messages;\n },\n isEndOfStream() {\n return isEndOfStream;\n },\n };\n }\n encode({ headers: rawHeaders, body }) {\n const headers = this.headerMarshaller.format(rawHeaders);\n const length = headers.byteLength + body.byteLength + 16;\n const out = new Uint8Array(length);\n const view = new DataView(out.buffer, out.byteOffset, out.byteLength);\n const checksum = new Crc32();\n view.setUint32(0, length, false);\n view.setUint32(4, headers.byteLength, false);\n view.setUint32(8, checksum.update(out.subarray(0, 8)).digest(), false);\n out.set(headers, 12);\n out.set(body, headers.byteLength + 12);\n view.setUint32(length - 4, checksum.update(out.subarray(8, length - 4)).digest(), false);\n return out;\n }\n decode(message) {\n const { headers, body } = splitMessage(message);\n return { headers: this.headerMarshaller.parse(headers), body };\n }\n formatHeaders(rawHeaders) {\n return this.headerMarshaller.format(rawHeaders);\n }\n}\n",
|
|
205
|
+
"export class MessageDecoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const bytes of this.options.inputStream) {\n const decoded = this.options.decoder.decode(bytes);\n yield decoded;\n }\n }\n}\n",
|
|
206
|
+
"export class MessageEncoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const msg of this.options.messageStream) {\n const encoded = this.options.encoder.encode(msg);\n yield encoded;\n }\n if (this.options.includeEndFrame) {\n yield new Uint8Array(0);\n }\n }\n}\n",
|
|
207
|
+
"export class SmithyMessageDecoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const message of this.options.messageStream) {\n const deserialized = await this.options.deserializer(message);\n if (deserialized === undefined)\n continue;\n yield deserialized;\n }\n }\n}\n",
|
|
208
|
+
"export class SmithyMessageEncoderStream {\n constructor(options) {\n this.options = options;\n }\n [Symbol.asyncIterator]() {\n return this.asyncIterator();\n }\n async *asyncIterator() {\n for await (const chunk of this.options.inputStream) {\n const payloadBuf = this.options.serializer(chunk);\n yield payloadBuf;\n }\n }\n}\n",
|
|
209
|
+
"export function getChunkedStream(source) {\n let currentMessageTotalLength = 0;\n let currentMessagePendingLength = 0;\n let currentMessage = null;\n let messageLengthBuffer = null;\n const allocateMessage = (size) => {\n if (typeof size !== \"number\") {\n throw new Error(\"Attempted to allocate an event message where size was not a number: \" + size);\n }\n currentMessageTotalLength = size;\n currentMessagePendingLength = 4;\n currentMessage = new Uint8Array(size);\n const currentMessageView = new DataView(currentMessage.buffer);\n currentMessageView.setUint32(0, size, false);\n };\n const iterator = async function* () {\n const sourceIterator = source[Symbol.asyncIterator]();\n while (true) {\n const { value, done } = await sourceIterator.next();\n if (done) {\n if (!currentMessageTotalLength) {\n return;\n }\n else if (currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n }\n else {\n throw new Error(\"Truncated event message received.\");\n }\n return;\n }\n const chunkLength = value.length;\n let currentOffset = 0;\n while (currentOffset < chunkLength) {\n if (!currentMessage) {\n const bytesRemaining = chunkLength - currentOffset;\n if (!messageLengthBuffer) {\n messageLengthBuffer = new Uint8Array(4);\n }\n const numBytesForTotal = Math.min(4 - currentMessagePendingLength, bytesRemaining);\n messageLengthBuffer.set(value.slice(currentOffset, currentOffset + numBytesForTotal), currentMessagePendingLength);\n currentMessagePendingLength += numBytesForTotal;\n currentOffset += numBytesForTotal;\n if (currentMessagePendingLength < 4) {\n break;\n }\n allocateMessage(new DataView(messageLengthBuffer.buffer).getUint32(0, false));\n messageLengthBuffer = null;\n }\n const numBytesToWrite = Math.min(currentMessageTotalLength - currentMessagePendingLength, chunkLength - currentOffset);\n currentMessage.set(value.slice(currentOffset, currentOffset + numBytesToWrite), currentMessagePendingLength);\n currentMessagePendingLength += numBytesToWrite;\n currentOffset += numBytesToWrite;\n if (currentMessageTotalLength && currentMessageTotalLength === currentMessagePendingLength) {\n yield currentMessage;\n currentMessage = null;\n currentMessageTotalLength = 0;\n currentMessagePendingLength = 0;\n }\n }\n }\n };\n return {\n [Symbol.asyncIterator]: iterator,\n };\n}\n",
|
|
210
|
+
"export function getUnmarshalledStream(source, options) {\n const messageUnmarshaller = getMessageUnmarshaller(options.deserializer, options.toUtf8);\n return {\n [Symbol.asyncIterator]: async function* () {\n for await (const chunk of source) {\n const message = options.eventStreamCodec.decode(chunk);\n const type = await messageUnmarshaller(message);\n if (type === undefined)\n continue;\n yield type;\n }\n },\n };\n}\nexport function getMessageUnmarshaller(deserializer, toUtf8) {\n return async function (message) {\n const { value: messageType } = message.headers[\":message-type\"];\n if (messageType === \"error\") {\n const unmodeledError = new Error(message.headers[\":error-message\"].value || \"UnknownError\");\n unmodeledError.name = message.headers[\":error-code\"].value;\n throw unmodeledError;\n }\n else if (messageType === \"exception\") {\n const code = message.headers[\":exception-type\"].value;\n const exception = { [code]: message };\n const deserializedException = await deserializer(exception);\n if (deserializedException.$unknown) {\n const error = new Error(toUtf8(message.body));\n error.name = code;\n throw error;\n }\n throw deserializedException[code];\n }\n else if (messageType === \"event\") {\n const event = {\n [message.headers[\":event-type\"].value]: message,\n };\n const deserialized = await deserializer(event);\n if (deserialized.$unknown)\n return;\n return deserialized;\n }\n else {\n throw Error(`Unrecognizable event type: ${message.headers[\":event-type\"].value}`);\n }\n };\n}\n",
|
|
211
|
+
"import { EventStreamCodec, MessageDecoderStream, MessageEncoderStream, SmithyMessageDecoderStream, SmithyMessageEncoderStream, } from \"@smithy/eventstream-codec\";\nimport { getChunkedStream } from \"./getChunkedStream\";\nimport { getMessageUnmarshaller } from \"./getUnmarshalledStream\";\nexport class EventStreamMarshaller {\n constructor({ utf8Encoder, utf8Decoder }) {\n this.eventStreamCodec = new EventStreamCodec(utf8Encoder, utf8Decoder);\n this.utfEncoder = utf8Encoder;\n }\n deserialize(body, deserializer) {\n const inputStream = getChunkedStream(body);\n return new SmithyMessageDecoderStream({\n messageStream: new MessageDecoderStream({ inputStream, decoder: this.eventStreamCodec }),\n deserializer: getMessageUnmarshaller(deserializer, this.utfEncoder),\n });\n }\n serialize(inputStream, serializer) {\n return new MessageEncoderStream({\n messageStream: new SmithyMessageEncoderStream({ inputStream, serializer }),\n encoder: this.eventStreamCodec,\n includeEndFrame: true,\n });\n }\n}\n",
|
|
212
|
+
"export const readableStreamtoIterable = (readableStream) => ({\n [Symbol.asyncIterator]: async function* () {\n const reader = readableStream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done)\n return;\n yield value;\n }\n }\n finally {\n reader.releaseLock();\n }\n },\n});\nexport const iterableToReadableStream = (asyncIterable) => {\n const iterator = asyncIterable[Symbol.asyncIterator]();\n return new ReadableStream({\n async pull(controller) {\n const { done, value } = await iterator.next();\n if (done) {\n return controller.close();\n }\n controller.enqueue(value);\n },\n });\n};\n",
|
|
213
|
+
"import { EventStreamMarshaller as UniversalEventStreamMarshaller } from \"@smithy/eventstream-serde-universal\";\nimport { iterableToReadableStream, readableStreamtoIterable } from \"./utils\";\nexport class EventStreamMarshaller {\n constructor({ utf8Encoder, utf8Decoder }) {\n this.universalMarshaller = new UniversalEventStreamMarshaller({\n utf8Decoder,\n utf8Encoder,\n });\n }\n deserialize(body, deserializer) {\n const bodyIterable = isReadableStream(body) ? readableStreamtoIterable(body) : body;\n return this.universalMarshaller.deserialize(bodyIterable, deserializer);\n }\n serialize(input, serializer) {\n const serialziedIterable = this.universalMarshaller.serialize(input, serializer);\n return typeof ReadableStream === \"function\" ? iterableToReadableStream(serialziedIterable) : serialziedIterable;\n }\n}\nconst isReadableStream = (body) => typeof ReadableStream === \"function\" && body instanceof ReadableStream;\n",
|
|
214
|
+
"import { EventStreamMarshaller } from \"./EventStreamMarshaller\";\nexport const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);\n",
|
|
215
|
+
"const s = \"required\", t = \"fn\", u = \"argv\", v = \"ref\";\nconst a = true, b = \"isSet\", c = \"booleanEquals\", d = \"error\", e = \"endpoint\", f = \"tree\", g = \"PartitionResult\", h = { [s]: false, \"type\": \"String\" }, i = { [s]: true, \"default\": false, \"type\": \"Boolean\" }, j = { [v]: \"Endpoint\" }, k = { [t]: c, [u]: [{ [v]: \"UseFIPS\" }, true] }, l = { [t]: c, [u]: [{ [v]: \"UseDualStack\" }, true] }, m = {}, n = { [t]: \"getAttr\", [u]: [{ [v]: g }, \"supportsFIPS\"] }, o = { [t]: c, [u]: [true, { [t]: \"getAttr\", [u]: [{ [v]: g }, \"supportsDualStack\"] }] }, p = [k], q = [l], r = [{ [v]: \"Region\" }];\nconst _data = { version: \"1.0\", parameters: { Region: h, UseDualStack: i, UseFIPS: i, Endpoint: h }, rules: [{ conditions: [{ [t]: b, [u]: [j] }], rules: [{ conditions: p, error: \"Invalid Configuration: FIPS and custom endpoint are not supported\", type: d }, { rules: [{ conditions: q, error: \"Invalid Configuration: Dualstack and custom endpoint are not supported\", type: d }, { endpoint: { url: j, properties: m, headers: m }, type: e }], type: f }], type: f }, { rules: [{ conditions: [{ [t]: b, [u]: r }], rules: [{ conditions: [{ [t]: \"aws.partition\", [u]: r, assign: g }], rules: [{ conditions: [k, l], rules: [{ conditions: [{ [t]: c, [u]: [a, n] }, o], rules: [{ rules: [{ endpoint: { url: \"https://bedrock-runtime-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }, { error: \"FIPS and DualStack are enabled, but this partition does not support one or both\", type: d }], type: f }, { conditions: p, rules: [{ conditions: [{ [t]: c, [u]: [n, a] }], rules: [{ rules: [{ endpoint: { url: \"https://bedrock-runtime-fips.{Region}.{PartitionResult#dnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }, { error: \"FIPS is enabled but this partition does not support FIPS\", type: d }], type: f }, { conditions: q, rules: [{ conditions: [o], rules: [{ rules: [{ endpoint: { url: \"https://bedrock-runtime.{Region}.{PartitionResult#dualStackDnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }, { error: \"DualStack is enabled but this partition does not support DualStack\", type: d }], type: f }, { rules: [{ endpoint: { url: \"https://bedrock-runtime.{Region}.{PartitionResult#dnsSuffix}\", properties: m, headers: m }, type: e }], type: f }], type: f }], type: f }, { error: \"Invalid Configuration: Missing Region\", type: d }], type: f }] };\nexport const ruleSet = _data;\n",
|
|
216
|
+
"import { awsEndpointFunctions } from \"@aws-sdk/util-endpoints\";\nimport { customEndpointFunctions, resolveEndpoint } from \"@smithy/util-endpoints\";\nimport { ruleSet } from \"./ruleset\";\nexport const defaultEndpointResolver = (endpointParams, context = {}) => {\n return resolveEndpoint(ruleSet, {\n endpointParams: endpointParams,\n logger: context.logger,\n });\n};\ncustomEndpointFunctions.aws = awsEndpointFunctions;\n",
|
|
217
|
+
"import { AwsSdkSigV4Signer } from \"@aws-sdk/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 { defaultBedrockRuntimeHttpAuthSchemeProvider } from \"./auth/httpAuthSchemeProvider\";\nimport { defaultEndpointResolver } from \"./endpoint/endpointResolver\";\nexport const getRuntimeConfig = (config) => {\n return {\n apiVersion: \"2023-09-30\",\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 ?? defaultBedrockRuntimeHttpAuthSchemeProvider,\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 logger: config?.logger ?? new NoOpLogger(),\n serviceId: config?.serviceId ?? \"Bedrock Runtime\",\n urlParser: config?.urlParser ?? parseUrl,\n utf8Decoder: config?.utf8Decoder ?? fromUtf8,\n utf8Encoder: config?.utf8Encoder ?? toUtf8,\n };\n};\n",
|
|
218
|
+
"import packageInfo from \"../package.json\";\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-browser\";\nimport { DEFAULT_USE_DUALSTACK_ENDPOINT, DEFAULT_USE_FIPS_ENDPOINT } from \"@smithy/config-resolver\";\nimport { eventStreamSerdeProvider } from \"@smithy/eventstream-serde-browser\";\nimport { FetchHttpHandler as RequestHandler, streamCollector } from \"@smithy/fetch-http-handler\";\nimport { invalidProvider } from \"@smithy/invalid-dependency\";\nimport { calculateBodyLength } from \"@smithy/util-body-length-browser\";\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE } from \"@smithy/util-retry\";\nimport { getRuntimeConfig as getSharedRuntimeConfig } from \"./runtimeConfig.shared\";\nimport { loadConfigsForDefaultMode } from \"@smithy/smithy-client\";\nimport { resolveDefaultsModeConfig } from \"@smithy/util-defaults-mode-browser\";\nexport const getRuntimeConfig = (config) => {\n const defaultsMode = resolveDefaultsModeConfig(config);\n const defaultConfigProvider = () => defaultsMode().then(loadConfigsForDefaultMode);\n const clientSharedValues = getSharedRuntimeConfig(config);\n return {\n ...clientSharedValues,\n ...config,\n runtime: \"browser\",\n defaultsMode,\n bodyLengthChecker: config?.bodyLengthChecker ?? calculateBodyLength,\n credentialDefaultProvider: config?.credentialDefaultProvider ?? ((_) => () => Promise.reject(new Error(\"Credential is missing\"))),\n defaultUserAgentProvider: config?.defaultUserAgentProvider ??\n defaultUserAgent({ serviceId: clientSharedValues.serviceId, clientVersion: packageInfo.version }),\n eventStreamSerdeProvider: config?.eventStreamSerdeProvider ?? eventStreamSerdeProvider,\n maxAttempts: config?.maxAttempts ?? DEFAULT_MAX_ATTEMPTS,\n region: config?.region ?? invalidProvider(\"Region is missing\"),\n requestHandler: RequestHandler.create(config?.requestHandler ?? defaultConfigProvider),\n retryMode: config?.retryMode ?? (async () => (await defaultConfigProvider()).retryMode || DEFAULT_RETRY_MODE),\n sha256: config?.sha256 ?? Sha256,\n streamCollector: config?.streamCollector ?? streamCollector,\n useDualstackEndpoint: config?.useDualstackEndpoint ?? (() => Promise.resolve(DEFAULT_USE_DUALSTACK_ENDPOINT)),\n useFipsEndpoint: config?.useFipsEndpoint ?? (() => Promise.resolve(DEFAULT_USE_FIPS_ENDPOINT)),\n };\n};\n",
|
|
219
|
+
"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",
|
|
220
|
+
"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\";\nconst asPartial = (t) => t;\nexport const resolveRuntimeExtensions = (runtimeConfig, extensions) => {\n const extensionConfiguration = {\n ...asPartial(getAwsRegionExtensionConfiguration(runtimeConfig)),\n ...asPartial(getDefaultExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpHandlerExtensionConfiguration(runtimeConfig)),\n ...asPartial(getHttpAuthExtensionConfiguration(runtimeConfig)),\n };\n extensions.forEach((extension) => extension.configure(extensionConfiguration));\n return {\n ...runtimeConfig,\n ...resolveAwsRegionExtensionConfiguration(extensionConfiguration),\n ...resolveDefaultRuntimeConfig(extensionConfiguration),\n ...resolveHttpHandlerRuntimeConfig(extensionConfiguration),\n ...resolveHttpAuthRuntimeConfig(extensionConfiguration),\n };\n};\n",
|
|
221
|
+
"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 { resolveEventStreamSerdeConfig, } from \"@smithy/eventstream-serde-config-resolver\";\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 { defaultBedrockRuntimeHttpAuthSchemeParametersProvider, resolveHttpAuthSchemeConfig, } from \"./auth/httpAuthSchemeProvider\";\nimport { resolveClientEndpointParameters, } from \"./endpoint/EndpointParameters\";\nimport { getRuntimeConfig as __getRuntimeConfig } from \"./runtimeConfig\";\nimport { resolveRuntimeExtensions } from \"./runtimeExtensions\";\nexport { __Client };\nexport class BedrockRuntimeClient extends __Client {\n constructor(...[configuration]) {\n const _config_0 = __getRuntimeConfig(configuration || {});\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 = resolveEventStreamSerdeConfig(_config_6);\n const _config_8 = resolveHttpAuthSchemeConfig(_config_7);\n const _config_9 = resolveRuntimeExtensions(_config_8, configuration?.extensions || []);\n super(_config_9);\n this.config = _config_9;\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: defaultBedrockRuntimeHttpAuthSchemeParametersProvider,\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",
|
|
222
|
+
"import { ServiceException as __ServiceException, } from \"@smithy/smithy-client\";\nexport { __ServiceException };\nexport class BedrockRuntimeServiceException extends __ServiceException {\n constructor(options) {\n super(options);\n Object.setPrototypeOf(this, BedrockRuntimeServiceException.prototype);\n }\n}\n",
|
|
223
|
+
"import { SENSITIVE_STRING } from \"@smithy/smithy-client\";\nimport { BedrockRuntimeServiceException as __BaseException } from \"./BedrockRuntimeServiceException\";\nexport class AccessDeniedException extends __BaseException {\n constructor(opts) {\n super({\n name: \"AccessDeniedException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"AccessDeniedException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, AccessDeniedException.prototype);\n }\n}\nexport const GuardrailContentQualifier = {\n GROUNDING_SOURCE: \"grounding_source\",\n GUARD_CONTENT: \"guard_content\",\n QUERY: \"query\",\n};\nexport var GuardrailContentBlock;\n(function (GuardrailContentBlock) {\n GuardrailContentBlock.visit = (value, visitor) => {\n if (value.text !== undefined)\n return visitor.text(value.text);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(GuardrailContentBlock || (GuardrailContentBlock = {}));\nexport const GuardrailContentSource = {\n INPUT: \"INPUT\",\n OUTPUT: \"OUTPUT\",\n};\nexport const GuardrailAction = {\n GUARDRAIL_INTERVENED: \"GUARDRAIL_INTERVENED\",\n NONE: \"NONE\",\n};\nexport const GuardrailContentPolicyAction = {\n BLOCKED: \"BLOCKED\",\n};\nexport const GuardrailContentFilterConfidence = {\n HIGH: \"HIGH\",\n LOW: \"LOW\",\n MEDIUM: \"MEDIUM\",\n NONE: \"NONE\",\n};\nexport const GuardrailContentFilterType = {\n HATE: \"HATE\",\n INSULTS: \"INSULTS\",\n MISCONDUCT: \"MISCONDUCT\",\n PROMPT_ATTACK: \"PROMPT_ATTACK\",\n SEXUAL: \"SEXUAL\",\n VIOLENCE: \"VIOLENCE\",\n};\nexport const GuardrailContextualGroundingPolicyAction = {\n BLOCKED: \"BLOCKED\",\n NONE: \"NONE\",\n};\nexport const GuardrailContextualGroundingFilterType = {\n GROUNDING: \"GROUNDING\",\n RELEVANCE: \"RELEVANCE\",\n};\nexport const GuardrailSensitiveInformationPolicyAction = {\n ANONYMIZED: \"ANONYMIZED\",\n BLOCKED: \"BLOCKED\",\n};\nexport const GuardrailPiiEntityType = {\n ADDRESS: \"ADDRESS\",\n AGE: \"AGE\",\n AWS_ACCESS_KEY: \"AWS_ACCESS_KEY\",\n AWS_SECRET_KEY: \"AWS_SECRET_KEY\",\n CA_HEALTH_NUMBER: \"CA_HEALTH_NUMBER\",\n CA_SOCIAL_INSURANCE_NUMBER: \"CA_SOCIAL_INSURANCE_NUMBER\",\n CREDIT_DEBIT_CARD_CVV: \"CREDIT_DEBIT_CARD_CVV\",\n CREDIT_DEBIT_CARD_EXPIRY: \"CREDIT_DEBIT_CARD_EXPIRY\",\n CREDIT_DEBIT_CARD_NUMBER: \"CREDIT_DEBIT_CARD_NUMBER\",\n DRIVER_ID: \"DRIVER_ID\",\n EMAIL: \"EMAIL\",\n INTERNATIONAL_BANK_ACCOUNT_NUMBER: \"INTERNATIONAL_BANK_ACCOUNT_NUMBER\",\n IP_ADDRESS: \"IP_ADDRESS\",\n LICENSE_PLATE: \"LICENSE_PLATE\",\n MAC_ADDRESS: \"MAC_ADDRESS\",\n NAME: \"NAME\",\n PASSWORD: \"PASSWORD\",\n PHONE: \"PHONE\",\n PIN: \"PIN\",\n SWIFT_CODE: \"SWIFT_CODE\",\n UK_NATIONAL_HEALTH_SERVICE_NUMBER: \"UK_NATIONAL_HEALTH_SERVICE_NUMBER\",\n UK_NATIONAL_INSURANCE_NUMBER: \"UK_NATIONAL_INSURANCE_NUMBER\",\n UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER: \"UK_UNIQUE_TAXPAYER_REFERENCE_NUMBER\",\n URL: \"URL\",\n USERNAME: \"USERNAME\",\n US_BANK_ACCOUNT_NUMBER: \"US_BANK_ACCOUNT_NUMBER\",\n US_BANK_ROUTING_NUMBER: \"US_BANK_ROUTING_NUMBER\",\n US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER: \"US_INDIVIDUAL_TAX_IDENTIFICATION_NUMBER\",\n US_PASSPORT_NUMBER: \"US_PASSPORT_NUMBER\",\n US_SOCIAL_SECURITY_NUMBER: \"US_SOCIAL_SECURITY_NUMBER\",\n VEHICLE_IDENTIFICATION_NUMBER: \"VEHICLE_IDENTIFICATION_NUMBER\",\n};\nexport const GuardrailTopicPolicyAction = {\n BLOCKED: \"BLOCKED\",\n};\nexport const GuardrailTopicType = {\n DENY: \"DENY\",\n};\nexport const GuardrailWordPolicyAction = {\n BLOCKED: \"BLOCKED\",\n};\nexport const GuardrailManagedWordType = {\n PROFANITY: \"PROFANITY\",\n};\nexport class InternalServerException extends __BaseException {\n constructor(opts) {\n super({\n name: \"InternalServerException\",\n $fault: \"server\",\n ...opts,\n });\n this.name = \"InternalServerException\";\n this.$fault = \"server\";\n Object.setPrototypeOf(this, InternalServerException.prototype);\n }\n}\nexport class ResourceNotFoundException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ResourceNotFoundException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ResourceNotFoundException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ResourceNotFoundException.prototype);\n }\n}\nexport class ServiceQuotaExceededException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ServiceQuotaExceededException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ServiceQuotaExceededException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ServiceQuotaExceededException.prototype);\n }\n}\nexport class ThrottlingException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ThrottlingException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ThrottlingException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ThrottlingException.prototype);\n }\n}\nexport class ValidationException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ValidationException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ValidationException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ValidationException.prototype);\n }\n}\nexport const GuardrailTrace = {\n DISABLED: \"disabled\",\n ENABLED: \"enabled\",\n};\nexport const DocumentFormat = {\n CSV: \"csv\",\n DOC: \"doc\",\n DOCX: \"docx\",\n HTML: \"html\",\n MD: \"md\",\n PDF: \"pdf\",\n TXT: \"txt\",\n XLS: \"xls\",\n XLSX: \"xlsx\",\n};\nexport var DocumentSource;\n(function (DocumentSource) {\n DocumentSource.visit = (value, visitor) => {\n if (value.bytes !== undefined)\n return visitor.bytes(value.bytes);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(DocumentSource || (DocumentSource = {}));\nexport const GuardrailConverseContentQualifier = {\n GROUNDING_SOURCE: \"grounding_source\",\n GUARD_CONTENT: \"guard_content\",\n QUERY: \"query\",\n};\nexport var GuardrailConverseContentBlock;\n(function (GuardrailConverseContentBlock) {\n GuardrailConverseContentBlock.visit = (value, visitor) => {\n if (value.text !== undefined)\n return visitor.text(value.text);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(GuardrailConverseContentBlock || (GuardrailConverseContentBlock = {}));\nexport const ImageFormat = {\n GIF: \"gif\",\n JPEG: \"jpeg\",\n PNG: \"png\",\n WEBP: \"webp\",\n};\nexport var ImageSource;\n(function (ImageSource) {\n ImageSource.visit = (value, visitor) => {\n if (value.bytes !== undefined)\n return visitor.bytes(value.bytes);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ImageSource || (ImageSource = {}));\nexport var ToolResultContentBlock;\n(function (ToolResultContentBlock) {\n ToolResultContentBlock.visit = (value, visitor) => {\n if (value.json !== undefined)\n return visitor.json(value.json);\n if (value.text !== undefined)\n return visitor.text(value.text);\n if (value.image !== undefined)\n return visitor.image(value.image);\n if (value.document !== undefined)\n return visitor.document(value.document);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ToolResultContentBlock || (ToolResultContentBlock = {}));\nexport const ToolResultStatus = {\n ERROR: \"error\",\n SUCCESS: \"success\",\n};\nexport var ContentBlock;\n(function (ContentBlock) {\n ContentBlock.visit = (value, visitor) => {\n if (value.text !== undefined)\n return visitor.text(value.text);\n if (value.image !== undefined)\n return visitor.image(value.image);\n if (value.document !== undefined)\n return visitor.document(value.document);\n if (value.toolUse !== undefined)\n return visitor.toolUse(value.toolUse);\n if (value.toolResult !== undefined)\n return visitor.toolResult(value.toolResult);\n if (value.guardContent !== undefined)\n return visitor.guardContent(value.guardContent);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ContentBlock || (ContentBlock = {}));\nexport const ConversationRole = {\n ASSISTANT: \"assistant\",\n USER: \"user\",\n};\nexport var SystemContentBlock;\n(function (SystemContentBlock) {\n SystemContentBlock.visit = (value, visitor) => {\n if (value.text !== undefined)\n return visitor.text(value.text);\n if (value.guardContent !== undefined)\n return visitor.guardContent(value.guardContent);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(SystemContentBlock || (SystemContentBlock = {}));\nexport var ToolChoice;\n(function (ToolChoice) {\n ToolChoice.visit = (value, visitor) => {\n if (value.auto !== undefined)\n return visitor.auto(value.auto);\n if (value.any !== undefined)\n return visitor.any(value.any);\n if (value.tool !== undefined)\n return visitor.tool(value.tool);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ToolChoice || (ToolChoice = {}));\nexport var ToolInputSchema;\n(function (ToolInputSchema) {\n ToolInputSchema.visit = (value, visitor) => {\n if (value.json !== undefined)\n return visitor.json(value.json);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ToolInputSchema || (ToolInputSchema = {}));\nexport var Tool;\n(function (Tool) {\n Tool.visit = (value, visitor) => {\n if (value.toolSpec !== undefined)\n return visitor.toolSpec(value.toolSpec);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(Tool || (Tool = {}));\nexport var ConverseOutput;\n(function (ConverseOutput) {\n ConverseOutput.visit = (value, visitor) => {\n if (value.message !== undefined)\n return visitor.message(value.message);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ConverseOutput || (ConverseOutput = {}));\nexport const StopReason = {\n CONTENT_FILTERED: \"content_filtered\",\n END_TURN: \"end_turn\",\n GUARDRAIL_INTERVENED: \"guardrail_intervened\",\n MAX_TOKENS: \"max_tokens\",\n STOP_SEQUENCE: \"stop_sequence\",\n TOOL_USE: \"tool_use\",\n};\nexport class ModelErrorException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ModelErrorException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ModelErrorException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ModelErrorException.prototype);\n this.originalStatusCode = opts.originalStatusCode;\n this.resourceName = opts.resourceName;\n }\n}\nexport class ModelNotReadyException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ModelNotReadyException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ModelNotReadyException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ModelNotReadyException.prototype);\n }\n}\nexport class ModelTimeoutException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ModelTimeoutException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ModelTimeoutException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ModelTimeoutException.prototype);\n }\n}\nexport class ServiceUnavailableException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ServiceUnavailableException\",\n $fault: \"server\",\n ...opts,\n });\n this.name = \"ServiceUnavailableException\";\n this.$fault = \"server\";\n Object.setPrototypeOf(this, ServiceUnavailableException.prototype);\n }\n}\nexport const GuardrailStreamProcessingMode = {\n ASYNC: \"async\",\n SYNC: \"sync\",\n};\nexport var ContentBlockDelta;\n(function (ContentBlockDelta) {\n ContentBlockDelta.visit = (value, visitor) => {\n if (value.text !== undefined)\n return visitor.text(value.text);\n if (value.toolUse !== undefined)\n return visitor.toolUse(value.toolUse);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ContentBlockDelta || (ContentBlockDelta = {}));\nexport var ContentBlockStart;\n(function (ContentBlockStart) {\n ContentBlockStart.visit = (value, visitor) => {\n if (value.toolUse !== undefined)\n return visitor.toolUse(value.toolUse);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ContentBlockStart || (ContentBlockStart = {}));\nexport class ModelStreamErrorException extends __BaseException {\n constructor(opts) {\n super({\n name: \"ModelStreamErrorException\",\n $fault: \"client\",\n ...opts,\n });\n this.name = \"ModelStreamErrorException\";\n this.$fault = \"client\";\n Object.setPrototypeOf(this, ModelStreamErrorException.prototype);\n this.originalStatusCode = opts.originalStatusCode;\n this.originalMessage = opts.originalMessage;\n }\n}\nexport var ConverseStreamOutput;\n(function (ConverseStreamOutput) {\n ConverseStreamOutput.visit = (value, visitor) => {\n if (value.messageStart !== undefined)\n return visitor.messageStart(value.messageStart);\n if (value.contentBlockStart !== undefined)\n return visitor.contentBlockStart(value.contentBlockStart);\n if (value.contentBlockDelta !== undefined)\n return visitor.contentBlockDelta(value.contentBlockDelta);\n if (value.contentBlockStop !== undefined)\n return visitor.contentBlockStop(value.contentBlockStop);\n if (value.messageStop !== undefined)\n return visitor.messageStop(value.messageStop);\n if (value.metadata !== undefined)\n return visitor.metadata(value.metadata);\n if (value.internalServerException !== undefined)\n return visitor.internalServerException(value.internalServerException);\n if (value.modelStreamErrorException !== undefined)\n return visitor.modelStreamErrorException(value.modelStreamErrorException);\n if (value.validationException !== undefined)\n return visitor.validationException(value.validationException);\n if (value.throttlingException !== undefined)\n return visitor.throttlingException(value.throttlingException);\n if (value.serviceUnavailableException !== undefined)\n return visitor.serviceUnavailableException(value.serviceUnavailableException);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ConverseStreamOutput || (ConverseStreamOutput = {}));\nexport const Trace = {\n DISABLED: \"DISABLED\",\n ENABLED: \"ENABLED\",\n};\nexport var ResponseStream;\n(function (ResponseStream) {\n ResponseStream.visit = (value, visitor) => {\n if (value.chunk !== undefined)\n return visitor.chunk(value.chunk);\n if (value.internalServerException !== undefined)\n return visitor.internalServerException(value.internalServerException);\n if (value.modelStreamErrorException !== undefined)\n return visitor.modelStreamErrorException(value.modelStreamErrorException);\n if (value.validationException !== undefined)\n return visitor.validationException(value.validationException);\n if (value.throttlingException !== undefined)\n return visitor.throttlingException(value.throttlingException);\n if (value.modelTimeoutException !== undefined)\n return visitor.modelTimeoutException(value.modelTimeoutException);\n if (value.serviceUnavailableException !== undefined)\n return visitor.serviceUnavailableException(value.serviceUnavailableException);\n return visitor._(value.$unknown[0], value.$unknown[1]);\n };\n})(ResponseStream || (ResponseStream = {}));\nexport const ConverseStreamOutputFilterSensitiveLog = (obj) => {\n if (obj.messageStart !== undefined)\n return { messageStart: obj.messageStart };\n if (obj.contentBlockStart !== undefined)\n return { contentBlockStart: obj.contentBlockStart };\n if (obj.contentBlockDelta !== undefined)\n return { contentBlockDelta: obj.contentBlockDelta };\n if (obj.contentBlockStop !== undefined)\n return { contentBlockStop: obj.contentBlockStop };\n if (obj.messageStop !== undefined)\n return { messageStop: obj.messageStop };\n if (obj.metadata !== undefined)\n return { metadata: obj.metadata };\n if (obj.internalServerException !== undefined)\n return { internalServerException: obj.internalServerException };\n if (obj.modelStreamErrorException !== undefined)\n return { modelStreamErrorException: obj.modelStreamErrorException };\n if (obj.validationException !== undefined)\n return { validationException: obj.validationException };\n if (obj.throttlingException !== undefined)\n return { throttlingException: obj.throttlingException };\n if (obj.serviceUnavailableException !== undefined)\n return { serviceUnavailableException: obj.serviceUnavailableException };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexport const ConverseStreamResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.stream && { stream: \"STREAMING_CONTENT\" }),\n});\nexport const InvokeModelRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.body && { body: SENSITIVE_STRING }),\n});\nexport const InvokeModelResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.body && { body: SENSITIVE_STRING }),\n});\nexport const InvokeModelWithResponseStreamRequestFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.body && { body: SENSITIVE_STRING }),\n});\nexport const PayloadPartFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.bytes && { bytes: SENSITIVE_STRING }),\n});\nexport const ResponseStreamFilterSensitiveLog = (obj) => {\n if (obj.chunk !== undefined)\n return { chunk: SENSITIVE_STRING };\n if (obj.internalServerException !== undefined)\n return { internalServerException: obj.internalServerException };\n if (obj.modelStreamErrorException !== undefined)\n return { modelStreamErrorException: obj.modelStreamErrorException };\n if (obj.validationException !== undefined)\n return { validationException: obj.validationException };\n if (obj.throttlingException !== undefined)\n return { throttlingException: obj.throttlingException };\n if (obj.modelTimeoutException !== undefined)\n return { modelTimeoutException: obj.modelTimeoutException };\n if (obj.serviceUnavailableException !== undefined)\n return { serviceUnavailableException: obj.serviceUnavailableException };\n if (obj.$unknown !== undefined)\n return { [obj.$unknown[0]]: \"UNKNOWN\" };\n};\nexport const InvokeModelWithResponseStreamResponseFilterSensitiveLog = (obj) => ({\n ...obj,\n ...(obj.body && { body: \"STREAMING_CONTENT\" }),\n});\n",
|
|
224
|
+
"import { awsExpectUnion as __expectUnion, loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody, } from \"@aws-sdk/core\";\nimport { requestBuilder as rb } from \"@smithy/core\";\nimport { _json, collectBody, decorateServiceException as __decorateServiceException, expectInt32 as __expectInt32, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, limitedParseDouble as __limitedParseDouble, map, serializeFloat as __serializeFloat, take, withBaseException, } from \"@smithy/smithy-client\";\nimport { BedrockRuntimeServiceException as __BaseException } from \"../models/BedrockRuntimeServiceException\";\nimport { AccessDeniedException, ContentBlock, DocumentSource, ImageSource, InternalServerException, ModelErrorException, ModelNotReadyException, ModelStreamErrorException, ModelTimeoutException, ResourceNotFoundException, ServiceQuotaExceededException, ServiceUnavailableException, ThrottlingException, Tool, ToolInputSchema, ToolResultContentBlock, ValidationException, } from \"../models/models_0\";\nexport const se_ApplyGuardrailCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/guardrail/{guardrailIdentifier}/version/{guardrailVersion}/apply\");\n b.p(\"guardrailIdentifier\", () => input.guardrailIdentifier, \"{guardrailIdentifier}\", false);\n b.p(\"guardrailVersion\", () => input.guardrailVersion, \"{guardrailVersion}\", false);\n let body;\n body = JSON.stringify(take(input, {\n content: (_) => _json(_),\n source: [],\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_ConverseCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/model/{modelId}/converse\");\n b.p(\"modelId\", () => input.modelId, \"{modelId}\", false);\n let body;\n body = JSON.stringify(take(input, {\n additionalModelRequestFields: (_) => se_Document(_, context),\n additionalModelResponseFieldPaths: (_) => _json(_),\n guardrailConfig: (_) => _json(_),\n inferenceConfig: (_) => se_InferenceConfiguration(_, context),\n messages: (_) => se_Messages(_, context),\n system: (_) => _json(_),\n toolConfig: (_) => se_ToolConfiguration(_, context),\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_ConverseStreamCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = {\n \"content-type\": \"application/json\",\n };\n b.bp(\"/model/{modelId}/converse-stream\");\n b.p(\"modelId\", () => input.modelId, \"{modelId}\", false);\n let body;\n body = JSON.stringify(take(input, {\n additionalModelRequestFields: (_) => se_Document(_, context),\n additionalModelResponseFieldPaths: (_) => _json(_),\n guardrailConfig: (_) => _json(_),\n inferenceConfig: (_) => se_InferenceConfiguration(_, context),\n messages: (_) => se_Messages(_, context),\n system: (_) => _json(_),\n toolConfig: (_) => se_ToolConfiguration(_, context),\n }));\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_InvokeModelCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = map({}, isSerializableHeaderValue, {\n [_ct]: input[_cT] || \"application/octet-stream\",\n [_a]: input[_a],\n [_xabt]: input[_t],\n [_xabg]: input[_gI],\n [_xabg_]: input[_gV],\n });\n b.bp(\"/model/{modelId}/invoke\");\n b.p(\"modelId\", () => input.modelId, \"{modelId}\", false);\n let body;\n if (input.body !== undefined) {\n body = input.body;\n }\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const se_InvokeModelWithResponseStreamCommand = async (input, context) => {\n const b = rb(input, context);\n const headers = map({}, isSerializableHeaderValue, {\n [_ct]: input[_cT] || \"application/octet-stream\",\n [_xaba]: input[_a],\n [_xabt]: input[_t],\n [_xabg]: input[_gI],\n [_xabg_]: input[_gV],\n });\n b.bp(\"/model/{modelId}/invoke-with-response-stream\");\n b.p(\"modelId\", () => input.modelId, \"{modelId}\", false);\n let body;\n if (input.body !== undefined) {\n body = input.body;\n }\n b.m(\"POST\").h(headers).b(body);\n return b.build();\n};\nexport const de_ApplyGuardrailCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n action: __expectString,\n assessments: (_) => de_GuardrailAssessmentList(_, context),\n outputs: _json,\n usage: _json,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ConverseCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = __expectNonNull(__expectObject(await parseBody(output.body, context)), \"body\");\n const doc = take(data, {\n additionalModelResponseFields: (_) => de_Document(_, context),\n metrics: _json,\n output: (_) => de_ConverseOutput(__expectUnion(_), context),\n stopReason: __expectString,\n trace: (_) => de_ConverseTrace(_, context),\n usage: _json,\n });\n Object.assign(contents, doc);\n return contents;\n};\nexport const de_ConverseStreamCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n });\n const data = output.body;\n contents.stream = de_ConverseStreamOutput(data, context);\n return contents;\n};\nexport const de_InvokeModelCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n [_cT]: [, output.headers[_ct]],\n });\n const data = await collectBody(output.body, context);\n contents.body = data;\n return contents;\n};\nexport const de_InvokeModelWithResponseStreamCommand = async (output, context) => {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return de_CommandError(output, context);\n }\n const contents = map({\n $metadata: deserializeMetadata(output),\n [_cT]: [, output.headers[_xabct]],\n });\n const data = output.body;\n contents.body = de_ResponseStream(data, context);\n return contents;\n};\nconst de_CommandError = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseErrorBody(output.body, context),\n };\n const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n switch (errorCode) {\n case \"AccessDeniedException\":\n case \"com.amazonaws.bedrockruntime#AccessDeniedException\":\n throw await de_AccessDeniedExceptionRes(parsedOutput, context);\n case \"InternalServerException\":\n case \"com.amazonaws.bedrockruntime#InternalServerException\":\n throw await de_InternalServerExceptionRes(parsedOutput, context);\n case \"ResourceNotFoundException\":\n case \"com.amazonaws.bedrockruntime#ResourceNotFoundException\":\n throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);\n case \"ServiceQuotaExceededException\":\n case \"com.amazonaws.bedrockruntime#ServiceQuotaExceededException\":\n throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context);\n case \"ThrottlingException\":\n case \"com.amazonaws.bedrockruntime#ThrottlingException\":\n throw await de_ThrottlingExceptionRes(parsedOutput, context);\n case \"ValidationException\":\n case \"com.amazonaws.bedrockruntime#ValidationException\":\n throw await de_ValidationExceptionRes(parsedOutput, context);\n case \"ModelErrorException\":\n case \"com.amazonaws.bedrockruntime#ModelErrorException\":\n throw await de_ModelErrorExceptionRes(parsedOutput, context);\n case \"ModelNotReadyException\":\n case \"com.amazonaws.bedrockruntime#ModelNotReadyException\":\n throw await de_ModelNotReadyExceptionRes(parsedOutput, context);\n case \"ModelTimeoutException\":\n case \"com.amazonaws.bedrockruntime#ModelTimeoutException\":\n throw await de_ModelTimeoutExceptionRes(parsedOutput, context);\n case \"ServiceUnavailableException\":\n case \"com.amazonaws.bedrockruntime#ServiceUnavailableException\":\n throw await de_ServiceUnavailableExceptionRes(parsedOutput, context);\n case \"ModelStreamErrorException\":\n case \"com.amazonaws.bedrockruntime#ModelStreamErrorException\":\n throw await de_ModelStreamErrorExceptionRes(parsedOutput, context);\n default:\n const parsedBody = parsedOutput.body;\n return throwDefaultError({\n output,\n parsedBody,\n errorCode,\n });\n }\n};\nconst throwDefaultError = withBaseException(__BaseException);\nconst de_AccessDeniedExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new AccessDeniedException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_InternalServerExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new InternalServerException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ModelErrorExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n originalStatusCode: __expectInt32,\n resourceName: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ModelErrorException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ModelNotReadyExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ModelNotReadyException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ModelStreamErrorExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n originalMessage: __expectString,\n originalStatusCode: __expectInt32,\n });\n Object.assign(contents, doc);\n const exception = new ModelStreamErrorException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ModelTimeoutExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ModelTimeoutException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ResourceNotFoundException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ServiceQuotaExceededExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ServiceQuotaExceededException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ServiceUnavailableExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ServiceUnavailableException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ThrottlingExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ThrottlingException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ValidationExceptionRes = async (parsedOutput, context) => {\n const contents = map({});\n const data = parsedOutput.body;\n const doc = take(data, {\n message: __expectString,\n });\n Object.assign(contents, doc);\n const exception = new ValidationException({\n $metadata: deserializeMetadata(parsedOutput),\n ...contents,\n });\n return __decorateServiceException(exception, parsedOutput.body);\n};\nconst de_ConverseStreamOutput = (output, context) => {\n return context.eventStreamMarshaller.deserialize(output, async (event) => {\n if (event[\"messageStart\"] != null) {\n return {\n messageStart: await de_MessageStartEvent_event(event[\"messageStart\"], context),\n };\n }\n if (event[\"contentBlockStart\"] != null) {\n return {\n contentBlockStart: await de_ContentBlockStartEvent_event(event[\"contentBlockStart\"], context),\n };\n }\n if (event[\"contentBlockDelta\"] != null) {\n return {\n contentBlockDelta: await de_ContentBlockDeltaEvent_event(event[\"contentBlockDelta\"], context),\n };\n }\n if (event[\"contentBlockStop\"] != null) {\n return {\n contentBlockStop: await de_ContentBlockStopEvent_event(event[\"contentBlockStop\"], context),\n };\n }\n if (event[\"messageStop\"] != null) {\n return {\n messageStop: await de_MessageStopEvent_event(event[\"messageStop\"], context),\n };\n }\n if (event[\"metadata\"] != null) {\n return {\n metadata: await de_ConverseStreamMetadataEvent_event(event[\"metadata\"], context),\n };\n }\n if (event[\"internalServerException\"] != null) {\n return {\n internalServerException: await de_InternalServerException_event(event[\"internalServerException\"], context),\n };\n }\n if (event[\"modelStreamErrorException\"] != null) {\n return {\n modelStreamErrorException: await de_ModelStreamErrorException_event(event[\"modelStreamErrorException\"], context),\n };\n }\n if (event[\"validationException\"] != null) {\n return {\n validationException: await de_ValidationException_event(event[\"validationException\"], context),\n };\n }\n if (event[\"throttlingException\"] != null) {\n return {\n throttlingException: await de_ThrottlingException_event(event[\"throttlingException\"], context),\n };\n }\n if (event[\"serviceUnavailableException\"] != null) {\n return {\n serviceUnavailableException: await de_ServiceUnavailableException_event(event[\"serviceUnavailableException\"], context),\n };\n }\n return { $unknown: output };\n });\n};\nconst de_ResponseStream = (output, context) => {\n return context.eventStreamMarshaller.deserialize(output, async (event) => {\n if (event[\"chunk\"] != null) {\n return {\n chunk: await de_PayloadPart_event(event[\"chunk\"], context),\n };\n }\n if (event[\"internalServerException\"] != null) {\n return {\n internalServerException: await de_InternalServerException_event(event[\"internalServerException\"], context),\n };\n }\n if (event[\"modelStreamErrorException\"] != null) {\n return {\n modelStreamErrorException: await de_ModelStreamErrorException_event(event[\"modelStreamErrorException\"], context),\n };\n }\n if (event[\"validationException\"] != null) {\n return {\n validationException: await de_ValidationException_event(event[\"validationException\"], context),\n };\n }\n if (event[\"throttlingException\"] != null) {\n return {\n throttlingException: await de_ThrottlingException_event(event[\"throttlingException\"], context),\n };\n }\n if (event[\"modelTimeoutException\"] != null) {\n return {\n modelTimeoutException: await de_ModelTimeoutException_event(event[\"modelTimeoutException\"], context),\n };\n }\n if (event[\"serviceUnavailableException\"] != null) {\n return {\n serviceUnavailableException: await de_ServiceUnavailableException_event(event[\"serviceUnavailableException\"], context),\n };\n }\n return { $unknown: output };\n });\n};\nconst de_ContentBlockDeltaEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, _json(data));\n return contents;\n};\nconst de_ContentBlockStartEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, _json(data));\n return contents;\n};\nconst de_ContentBlockStopEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, _json(data));\n return contents;\n};\nconst de_ConverseStreamMetadataEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, de_ConverseStreamMetadataEvent(data, context));\n return contents;\n};\nconst de_InternalServerException_event = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseBody(output.body, context),\n };\n return de_InternalServerExceptionRes(parsedOutput, context);\n};\nconst de_MessageStartEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, _json(data));\n return contents;\n};\nconst de_MessageStopEvent_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, de_MessageStopEvent(data, context));\n return contents;\n};\nconst de_ModelStreamErrorException_event = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseBody(output.body, context),\n };\n return de_ModelStreamErrorExceptionRes(parsedOutput, context);\n};\nconst de_ModelTimeoutException_event = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseBody(output.body, context),\n };\n return de_ModelTimeoutExceptionRes(parsedOutput, context);\n};\nconst de_PayloadPart_event = async (output, context) => {\n const contents = {};\n const data = await parseBody(output.body, context);\n Object.assign(contents, de_PayloadPart(data, context));\n return contents;\n};\nconst de_ServiceUnavailableException_event = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseBody(output.body, context),\n };\n return de_ServiceUnavailableExceptionRes(parsedOutput, context);\n};\nconst de_ThrottlingException_event = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseBody(output.body, context),\n };\n return de_ThrottlingExceptionRes(parsedOutput, context);\n};\nconst de_ValidationException_event = async (output, context) => {\n const parsedOutput = {\n ...output,\n body: await parseBody(output.body, context),\n };\n return de_ValidationExceptionRes(parsedOutput, context);\n};\nconst se_ContentBlock = (input, context) => {\n return ContentBlock.visit(input, {\n document: (value) => ({ document: se_DocumentBlock(value, context) }),\n guardContent: (value) => ({ guardContent: _json(value) }),\n image: (value) => ({ image: se_ImageBlock(value, context) }),\n text: (value) => ({ text: value }),\n toolResult: (value) => ({ toolResult: se_ToolResultBlock(value, context) }),\n toolUse: (value) => ({ toolUse: se_ToolUseBlock(value, context) }),\n _: (name, value) => ({ name: value }),\n });\n};\nconst se_ContentBlocks = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n return se_ContentBlock(entry, context);\n });\n};\nconst se_DocumentBlock = (input, context) => {\n return take(input, {\n format: [],\n name: [],\n source: (_) => se_DocumentSource(_, context),\n });\n};\nconst se_DocumentSource = (input, context) => {\n return DocumentSource.visit(input, {\n bytes: (value) => ({ bytes: context.base64Encoder(value) }),\n _: (name, value) => ({ name: value }),\n });\n};\nconst se_ImageBlock = (input, context) => {\n return take(input, {\n format: [],\n source: (_) => se_ImageSource(_, context),\n });\n};\nconst se_ImageSource = (input, context) => {\n return ImageSource.visit(input, {\n bytes: (value) => ({ bytes: context.base64Encoder(value) }),\n _: (name, value) => ({ name: value }),\n });\n};\nconst se_InferenceConfiguration = (input, context) => {\n return take(input, {\n maxTokens: [],\n stopSequences: _json,\n temperature: __serializeFloat,\n topP: __serializeFloat,\n });\n};\nconst se_Message = (input, context) => {\n return take(input, {\n content: (_) => se_ContentBlocks(_, context),\n role: [],\n });\n};\nconst se_Messages = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n return se_Message(entry, context);\n });\n};\nconst se_Tool = (input, context) => {\n return Tool.visit(input, {\n toolSpec: (value) => ({ toolSpec: se_ToolSpecification(value, context) }),\n _: (name, value) => ({ name: value }),\n });\n};\nconst se_ToolConfiguration = (input, context) => {\n return take(input, {\n toolChoice: _json,\n tools: (_) => se_Tools(_, context),\n });\n};\nconst se_ToolInputSchema = (input, context) => {\n return ToolInputSchema.visit(input, {\n json: (value) => ({ json: se_Document(value, context) }),\n _: (name, value) => ({ name: value }),\n });\n};\nconst se_ToolResultBlock = (input, context) => {\n return take(input, {\n content: (_) => se_ToolResultContentBlocks(_, context),\n status: [],\n toolUseId: [],\n });\n};\nconst se_ToolResultContentBlock = (input, context) => {\n return ToolResultContentBlock.visit(input, {\n document: (value) => ({ document: se_DocumentBlock(value, context) }),\n image: (value) => ({ image: se_ImageBlock(value, context) }),\n json: (value) => ({ json: se_Document(value, context) }),\n text: (value) => ({ text: value }),\n _: (name, value) => ({ name: value }),\n });\n};\nconst se_ToolResultContentBlocks = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n return se_ToolResultContentBlock(entry, context);\n });\n};\nconst se_Tools = (input, context) => {\n return input\n .filter((e) => e != null)\n .map((entry) => {\n return se_Tool(entry, context);\n });\n};\nconst se_ToolSpecification = (input, context) => {\n return take(input, {\n description: [],\n inputSchema: (_) => se_ToolInputSchema(_, context),\n name: [],\n });\n};\nconst se_ToolUseBlock = (input, context) => {\n return take(input, {\n input: (_) => se_Document(_, context),\n name: [],\n toolUseId: [],\n });\n};\nconst se_Document = (input, context) => {\n return input;\n};\nconst de_ContentBlock = (output, context) => {\n if (output.document != null) {\n return {\n document: de_DocumentBlock(output.document, context),\n };\n }\n if (output.guardContent != null) {\n return {\n guardContent: _json(__expectUnion(output.guardContent)),\n };\n }\n if (output.image != null) {\n return {\n image: de_ImageBlock(output.image, context),\n };\n }\n if (__expectString(output.text) !== undefined) {\n return { text: __expectString(output.text) };\n }\n if (output.toolResult != null) {\n return {\n toolResult: de_ToolResultBlock(output.toolResult, context),\n };\n }\n if (output.toolUse != null) {\n return {\n toolUse: de_ToolUseBlock(output.toolUse, context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst de_ContentBlocks = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_ContentBlock(__expectUnion(entry), context);\n });\n return retVal;\n};\nconst de_ConverseOutput = (output, context) => {\n if (output.message != null) {\n return {\n message: de_Message(output.message, context),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst de_ConverseStreamMetadataEvent = (output, context) => {\n return take(output, {\n metrics: _json,\n trace: (_) => de_ConverseStreamTrace(_, context),\n usage: _json,\n });\n};\nconst de_ConverseStreamTrace = (output, context) => {\n return take(output, {\n guardrail: (_) => de_GuardrailTraceAssessment(_, context),\n });\n};\nconst de_ConverseTrace = (output, context) => {\n return take(output, {\n guardrail: (_) => de_GuardrailTraceAssessment(_, context),\n });\n};\nconst de_DocumentBlock = (output, context) => {\n return take(output, {\n format: __expectString,\n name: __expectString,\n source: (_) => de_DocumentSource(__expectUnion(_), context),\n });\n};\nconst de_DocumentSource = (output, context) => {\n if (output.bytes != null) {\n return {\n bytes: context.base64Decoder(output.bytes),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst de_GuardrailAssessment = (output, context) => {\n return take(output, {\n contentPolicy: _json,\n contextualGroundingPolicy: (_) => de_GuardrailContextualGroundingPolicyAssessment(_, context),\n sensitiveInformationPolicy: _json,\n topicPolicy: _json,\n wordPolicy: _json,\n });\n};\nconst de_GuardrailAssessmentList = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_GuardrailAssessment(entry, context);\n });\n return retVal;\n};\nconst de_GuardrailAssessmentListMap = (output, context) => {\n return Object.entries(output).reduce((acc, [key, value]) => {\n if (value === null) {\n return acc;\n }\n acc[key] = de_GuardrailAssessmentList(value, context);\n return acc;\n }, {});\n};\nconst de_GuardrailAssessmentMap = (output, context) => {\n return Object.entries(output).reduce((acc, [key, value]) => {\n if (value === null) {\n return acc;\n }\n acc[key] = de_GuardrailAssessment(value, context);\n return acc;\n }, {});\n};\nconst de_GuardrailContextualGroundingFilter = (output, context) => {\n return take(output, {\n action: __expectString,\n score: __limitedParseDouble,\n threshold: __limitedParseDouble,\n type: __expectString,\n });\n};\nconst de_GuardrailContextualGroundingFilters = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_GuardrailContextualGroundingFilter(entry, context);\n });\n return retVal;\n};\nconst de_GuardrailContextualGroundingPolicyAssessment = (output, context) => {\n return take(output, {\n filters: (_) => de_GuardrailContextualGroundingFilters(_, context),\n });\n};\nconst de_GuardrailTraceAssessment = (output, context) => {\n return take(output, {\n inputAssessment: (_) => de_GuardrailAssessmentMap(_, context),\n modelOutput: _json,\n outputAssessments: (_) => de_GuardrailAssessmentListMap(_, context),\n });\n};\nconst de_ImageBlock = (output, context) => {\n return take(output, {\n format: __expectString,\n source: (_) => de_ImageSource(__expectUnion(_), context),\n });\n};\nconst de_ImageSource = (output, context) => {\n if (output.bytes != null) {\n return {\n bytes: context.base64Decoder(output.bytes),\n };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst de_Message = (output, context) => {\n return take(output, {\n content: (_) => de_ContentBlocks(_, context),\n role: __expectString,\n });\n};\nconst de_MessageStopEvent = (output, context) => {\n return take(output, {\n additionalModelResponseFields: (_) => de_Document(_, context),\n stopReason: __expectString,\n });\n};\nconst de_PayloadPart = (output, context) => {\n return take(output, {\n bytes: context.base64Decoder,\n });\n};\nconst de_ToolResultBlock = (output, context) => {\n return take(output, {\n content: (_) => de_ToolResultContentBlocks(_, context),\n status: __expectString,\n toolUseId: __expectString,\n });\n};\nconst de_ToolResultContentBlock = (output, context) => {\n if (output.document != null) {\n return {\n document: de_DocumentBlock(output.document, context),\n };\n }\n if (output.image != null) {\n return {\n image: de_ImageBlock(output.image, context),\n };\n }\n if (output.json != null) {\n return {\n json: de_Document(output.json, context),\n };\n }\n if (__expectString(output.text) !== undefined) {\n return { text: __expectString(output.text) };\n }\n return { $unknown: Object.entries(output)[0] };\n};\nconst de_ToolResultContentBlocks = (output, context) => {\n const retVal = (output || [])\n .filter((e) => e != null)\n .map((entry) => {\n return de_ToolResultContentBlock(__expectUnion(entry), context);\n });\n return retVal;\n};\nconst de_ToolUseBlock = (output, context) => {\n return take(output, {\n input: (_) => de_Document(_, context),\n name: __expectString,\n toolUseId: __expectString,\n });\n};\nconst de_Document = (output, context) => {\n return output;\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});\nconst collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));\nconst isSerializableHeaderValue = (value) => value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\nconst _a = \"accept\";\nconst _cT = \"contentType\";\nconst _ct = \"content-type\";\nconst _gI = \"guardrailIdentifier\";\nconst _gV = \"guardrailVersion\";\nconst _t = \"trace\";\nconst _xaba = \"x-amzn-bedrock-accept\";\nconst _xabct = \"x-amzn-bedrock-content-type\";\nconst _xabg = \"x-amzn-bedrock-guardrailidentifier\";\nconst _xabg_ = \"x-amzn-bedrock-guardrailversion\";\nconst _xabt = \"x-amzn-bedrock-trace\";\n",
|
|
225
|
+
"import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { InvokeModelRequestFilterSensitiveLog, InvokeModelResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_InvokeModelCommand, se_InvokeModelCommand } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class InvokeModelCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AmazonBedrockFrontendService\", \"InvokeModel\", {})\n .n(\"BedrockRuntimeClient\", \"InvokeModelCommand\")\n .f(InvokeModelRequestFilterSensitiveLog, InvokeModelResponseFilterSensitiveLog)\n .ser(se_InvokeModelCommand)\n .de(de_InvokeModelCommand)\n .build() {\n}\n",
|
|
226
|
+
"import { getEndpointPlugin } from \"@smithy/middleware-endpoint\";\nimport { getSerdePlugin } from \"@smithy/middleware-serde\";\nimport { Command as $Command } from \"@smithy/smithy-client\";\nimport { commonParams } from \"../endpoint/EndpointParameters\";\nimport { InvokeModelWithResponseStreamRequestFilterSensitiveLog, InvokeModelWithResponseStreamResponseFilterSensitiveLog, } from \"../models/models_0\";\nimport { de_InvokeModelWithResponseStreamCommand, se_InvokeModelWithResponseStreamCommand, } from \"../protocols/Aws_restJson1\";\nexport { $Command };\nexport class InvokeModelWithResponseStreamCommand extends $Command\n .classBuilder()\n .ep({\n ...commonParams,\n})\n .m(function (Command, cs, config, o) {\n return [\n getSerdePlugin(config, this.serialize, this.deserialize),\n getEndpointPlugin(config, Command.getEndpointParameterInstructions()),\n ];\n})\n .s(\"AmazonBedrockFrontendService\", \"InvokeModelWithResponseStream\", {\n eventStream: {\n output: true,\n },\n})\n .n(\"BedrockRuntimeClient\", \"InvokeModelWithResponseStreamCommand\")\n .f(InvokeModelWithResponseStreamRequestFilterSensitiveLog, InvokeModelWithResponseStreamResponseFilterSensitiveLog)\n .ser(se_InvokeModelWithResponseStreamCommand)\n .de(de_InvokeModelWithResponseStreamCommand)\n .build() {\n}\n",
|
|
6
227
|
"import type {\n InvokeModelCommandInput,\n InvokeModelCommandOutput,\n InvokeModelWithResponseStreamCommandInput,\n InvokeModelWithResponseStreamCommandOutput,\n} from '@aws-sdk/client-bedrock-runtime'\nimport {\n BedrockRuntimeClient,\n InvokeModelCommand,\n InvokeModelWithResponseStreamCommand,\n} from '@aws-sdk/client-bedrock-runtime'\n\nconst client = new BedrockRuntimeClient({\n region: process.env.REGION || 'us-east-1',\n})\nconst logger = console // import your own logger\n\n/*\n * Invoke Model\n * @param {InvokeModelCommandInput} params\n * @returns {Promise<InvokeModelCommandOutput>}\n * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/BedrockRuntime.html#invokeModel-property\n */\nexport async function invokeModel(params: InvokeModelCommandInput): Promise<InvokeModelCommandOutput> {\n logger.debug(params)\n const command = new InvokeModelCommand(params)\n const res = await client.send(command)\n logger.debug('Successfully invoke model')\n logger.debug(res)\n return res\n}\n\n/*\n * Invoke Model With Response Stream\n * @param {InvokeModelWithResponseStreamCommandInput} params\n * @returns {Promise<InvokeModelWithResponseStreamCommandOutput>}\n * @see https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/BedrockRuntime.html#invokeModelWithResponseStream-property\n */\nexport async function invokeModelWithResponseStream(\n params: InvokeModelWithResponseStreamCommandInput,\n): Promise<InvokeModelWithResponseStreamCommandOutput> {\n logger.debug(params)\n const command = new InvokeModelWithResponseStreamCommand(params)\n const res = await client.send(command)\n logger.debug('Successfully invoke model with response stream')\n logger.debug(res)\n return res\n}\n\nexport type { InvokeModelCommandInput, InvokeModelWithResponseStreamCommandInput }\n"
|
|
7
228
|
],
|
|
8
|
-
"mappings": ";AAQA;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBA,eAAsB,2BAA2B,CAC/C,OACmD;AACnD,SAAO,MAAM,KAAK;AAClB,QAAM,UAAU,IAAI,mCAAmC,KAAK;AAC5D,QAAM,MAAM,MAAM,OAAO,KAAK,OAAO;AACrC,SAAO,MAAM,6CAA6C;AAC1D,SAAO,MAAM,GAAG;AAChB,SAAO;AAAA;AAST,eAAsB,wBAAwB,CAC5C,QACgD;AAChD,SAAO,MAAM,MAAM;AACnB,QAAM,UAAU,IAAI,gCAAgC,MAAM;AAC1D,QAAM,MAAM,MAAM,OAAO,KAAK,OAAO;AACrC,SAAO,MAAM,0CAA0C;AACvD,SAAO,MAAM,GAAG;AAChB,SAAO;AAAA;AAST,eAAsB,oBAAoB,CACxC,QAC4C;AAC5C,SAAO,MAAM,MAAM;AACnB,QAAM,UAAU,IAAI,4BAA4B,MAAM;AACtD,QAAM,MAAM,MAAM,OAAO,KAAK,OAAO;AACrC,SAAO,MAAM,qCAAqC;AAClD,SAAO,MAAM,GAAG;AAChB,SAAO;AAAA;AAnDT,IAAM,SAAS,IAAI,cAAc,EAAE,QAAQ,QAAQ,IAAI,UAAU,YAAY,CAAC;AAC9E,IAAM,SAAS;;ACVf;AAAA;AAAA;AAAA;AAAA;AAiBA,eAAsB,WAAW,CAAC,QAAoE;AACpG,UAAO,MAAM,MAAM;AACnB,QAAM,UAAU,IAAI,mBAAmB,MAAM;AAC7C,QAAM,MAAM,MAAM,QAAO,KAAK,OAAO;AACrC,UAAO,MAAM,2BAA2B;AACxC,UAAO,MAAM,GAAG;AAChB,SAAO;AAAA;AAST,eAAsB,6BAA6B,CACjD,QACqD;AACrD,UAAO,MAAM,MAAM;AACnB,QAAM,UAAU,IAAI,qCAAqC,MAAM;AAC/D,QAAM,MAAM,MAAM,QAAO,KAAK,OAAO;AACrC,UAAO,MAAM,gDAAgD;AAC7D,UAAO,MAAM,GAAG;AAChB,SAAO;AAAA;AAlCT,IAAM,UAAS,IAAI,qBAAqB;AAAA,EACtC,QAAQ,QAAQ,IAAI,UAAU;AAChC,CAAC;AACD,IAAM,UAAS;",
|
|
9
|
-
"debugId": "
|
|
229
|
+
"mappings": "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",
|
|
230
|
+
"debugId": "383A0CD6F391762E64756E2164756E21",
|
|
10
231
|
"names": []
|
|
11
232
|
}
|