From f2da915b20e72ccded5a3f0880e1d32f4c3d3818 Mon Sep 17 00:00:00 2001 From: martmull Date: Fri, 14 Feb 2025 09:18:49 +0100 Subject: [PATCH] Poc lambda subhosting (#10192) Add `SERVERLESS_LAMBDA_SUBHOSTING_ROLE` to allow hosting lambdas in separate aws account Tested with old configuration and new configuration --- package.json | 1 + .../environment/environment-variables.ts | 10 +- .../serverless/drivers/lambda.driver.ts | 89 +- .../serverless/serverless-module.factory.ts | 11 +- .../jobs/workflow-statuses-update.job.ts | 2 - .../content/developers/self-hosting/setup.mdx | 4 +- yarn.lock | 853 ++++++++++++++++++ 7 files changed, 945 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index beeec0284..6514a0be3 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "@apollo/server": "^4.7.3", "@aws-sdk/client-lambda": "^3.614.0", "@aws-sdk/client-s3": "^3.363.0", + "@aws-sdk/client-sts": "^3.744.0", "@aws-sdk/credential-providers": "^3.363.0", "@blocknote/mantine": "^0.22.0", "@blocknote/react": "^0.22.0", diff --git a/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts b/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts index 56767abcc..460880425 100644 --- a/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts +++ b/packages/twenty-server/src/engine/core-modules/environment/environment-variables.ts @@ -409,9 +409,17 @@ export class EnvironmentVariables { }) @ValidateIf((env) => env.SERVERLESS_TYPE === ServerlessDriverType.Lambda) @IsString() - @IsOptional() SERVERLESS_LAMBDA_ROLE: string; + @EnvironmentVariablesMetadata({ + group: EnvironmentVariablesGroup.ServerlessConfig, + description: 'Role to assume when hosting lambdas in dedicated AWS account', + }) + @ValidateIf((env) => env.SERVERLESS_TYPE === ServerlessDriverType.Lambda) + @IsString() + @IsOptional() + SERVERLESS_LAMBDA_SUBHOSTING_ROLE?: string; + @EnvironmentVariablesMetadata({ group: EnvironmentVariablesGroup.ServerlessConfig, sensitive: true, diff --git a/packages/twenty-server/src/engine/core-modules/serverless/drivers/lambda.driver.ts b/packages/twenty-server/src/engine/core-modules/serverless/drivers/lambda.driver.ts index 742c8614f..396489eb8 100644 --- a/packages/twenty-server/src/engine/core-modules/serverless/drivers/lambda.driver.ts +++ b/packages/twenty-server/src/engine/core-modules/serverless/drivers/lambda.driver.ts @@ -21,6 +21,7 @@ import { UpdateFunctionConfigurationCommandInput, waitUntilFunctionUpdatedV2, } from '@aws-sdk/client-lambda'; +import { AssumeRoleCommand, STSClient } from '@aws-sdk/client-sts'; import { CreateFunctionCommandInput } from '@aws-sdk/client-lambda/dist-types/commands/CreateFunctionCommand'; import { UpdateFunctionCodeCommandInput } from '@aws-sdk/client-lambda/dist-types/commands/UpdateFunctionCodeCommand'; import dotenv from 'dotenv'; @@ -55,26 +56,76 @@ import { } from 'src/engine/metadata-modules/serverless-function/serverless-function.exception'; const UPDATE_FUNCTION_DURATION_TIMEOUT_IN_SECONDS = 60; +const CREDENTIALS_DURATION_IN_SECONDS = 10 * 60 * 60; // 10h export interface LambdaDriverOptions extends LambdaClientConfig { fileStorageService: FileStorageService; region: string; - role: string; + lambdaRole: string; + subhostingRole?: string; } export class LambdaDriver implements ServerlessDriver { - private readonly lambdaClient: Lambda; - private readonly lambdaRole: string; + private lambdaClient: Lambda | undefined; + private credentialsExpiry: Date | null = null; + private readonly options: LambdaDriverOptions; private readonly fileStorageService: FileStorageService; constructor(options: LambdaDriverOptions) { - const { region, role, ...lambdaOptions } = options; - - this.lambdaClient = new Lambda({ ...lambdaOptions, region }); - this.lambdaRole = role; + this.options = options; + this.lambdaClient = undefined; this.fileStorageService = options.fileStorageService; } + private async getLambdaClient() { + if ( + !isDefined(this.lambdaClient) || + (isDefined(this.options.subhostingRole) && + isDefined(this.credentialsExpiry) && + new Date() >= this.credentialsExpiry) + ) { + this.lambdaClient = new Lambda({ + ...this.options, + ...(isDefined(this.options.subhostingRole) && { + credentials: await this.getAssumeRoleCredentials(), + }), + }); + } + + return this.lambdaClient; + } + + private async getAssumeRoleCredentials() { + const stsClient = new STSClient({ region: this.options.region }); + + this.credentialsExpiry = new Date( + Date.now() + (CREDENTIALS_DURATION_IN_SECONDS - 60 * 5) * 1000, + ); + + const assumeRoleCommand = new AssumeRoleCommand({ + RoleArn: 'arn:aws:iam::820242914089:role/LambdaDeploymentRole', + RoleSessionName: 'LambdaSession', + DurationSeconds: CREDENTIALS_DURATION_IN_SECONDS, + }); + + const { Credentials } = await stsClient.send(assumeRoleCommand); + + if ( + !isDefined(Credentials) || + !isDefined(Credentials.AccessKeyId) || + !isDefined(Credentials.SecretAccessKey) || + !isDefined(Credentials.SessionToken) + ) { + throw new Error('Failed to assume role'); + } + + return { + accessKeyId: Credentials.AccessKeyId, + secretAccessKey: Credentials.SecretAccessKey, + sessionToken: Credentials.SessionToken, + }; + } + private async waitFunctionUpdates( serverlessFunctionId: string, maxWaitTime: number = UPDATE_FUNCTION_DURATION_TIMEOUT_IN_SECONDS, @@ -82,7 +133,7 @@ export class LambdaDriver implements ServerlessDriver { const waitParams = { FunctionName: serverlessFunctionId }; await waitUntilFunctionUpdatedV2( - { client: this.lambdaClient, maxWaitTime }, + { client: await this.getLambdaClient(), maxWaitTime }, waitParams, ); } @@ -93,7 +144,9 @@ export class LambdaDriver implements ServerlessDriver { MaxItems: 1, }; const listLayerCommand = new ListLayerVersionsCommand(listLayerParams); - const listLayerResult = await this.lambdaClient.send(listLayerCommand); + const listLayerResult = await ( + await this.getLambdaClient() + ).send(listLayerCommand); if ( isDefined(listLayerResult.LayerVersions) && @@ -128,7 +181,7 @@ export class LambdaDriver implements ServerlessDriver { const command = new PublishLayerVersionCommand(params); - const result = await this.lambdaClient.send(command); + const result = await (await this.getLambdaClient()).send(command); await lambdaBuildDirectoryManager.clean(); @@ -145,7 +198,7 @@ export class LambdaDriver implements ServerlessDriver { FunctionName: functionName, }); - await this.lambdaClient.send(getFunctionCommand); + await (await this.getLambdaClient()).send(getFunctionCommand); return true; } catch (error) { @@ -166,7 +219,7 @@ export class LambdaDriver implements ServerlessDriver { FunctionName: serverlessFunction.id, }); - await this.lambdaClient.send(deleteFunctionCommand); + await (await this.getLambdaClient()).send(deleteFunctionCommand); } } @@ -232,7 +285,7 @@ export class LambdaDriver implements ServerlessDriver { Environment: { Variables: envVariables, }, - Role: this.lambdaRole, + Role: this.options.lambdaRole, Runtime: serverlessFunction.runtime, Description: 'Lambda function to run user script', Timeout: serverlessFunction.timeoutSeconds, @@ -240,7 +293,7 @@ export class LambdaDriver implements ServerlessDriver { const command = new CreateFunctionCommand(params); - await this.lambdaClient.send(command); + await (await this.getLambdaClient()).send(command); } else { const updateCodeParams: UpdateFunctionCodeCommandInput = { ZipFile: await fs.readFile(lambdaZipPath), @@ -249,7 +302,7 @@ export class LambdaDriver implements ServerlessDriver { const updateCodeCommand = new UpdateFunctionCodeCommand(updateCodeParams); - await this.lambdaClient.send(updateCodeCommand); + await (await this.getLambdaClient()).send(updateCodeCommand); const updateConfigurationParams: UpdateFunctionConfigurationCommandInput = { @@ -266,7 +319,7 @@ export class LambdaDriver implements ServerlessDriver { await this.waitFunctionUpdates(serverlessFunction.id); - await this.lambdaClient.send(updateConfigurationCommand); + await (await this.getLambdaClient()).send(updateConfigurationCommand); } await this.waitFunctionUpdates(serverlessFunction.id); @@ -280,7 +333,7 @@ export class LambdaDriver implements ServerlessDriver { const command = new PublishVersionCommand(params); - const result = await this.lambdaClient.send(command); + const result = await (await this.getLambdaClient()).send(command); const newVersion = result.Version; if (!newVersion) { @@ -331,7 +384,7 @@ export class LambdaDriver implements ServerlessDriver { const command = new InvokeCommand(params); try { - const result = await this.lambdaClient.send(command); + const result = await (await this.getLambdaClient()).send(command); const parsedResult = result.Payload ? JSON.parse(result.Payload.transformToString()) diff --git a/packages/twenty-server/src/engine/core-modules/serverless/serverless-module.factory.ts b/packages/twenty-server/src/engine/core-modules/serverless/serverless-module.factory.ts index e8c2d7baa..6f6f23da9 100644 --- a/packages/twenty-server/src/engine/core-modules/serverless/serverless-module.factory.ts +++ b/packages/twenty-server/src/engine/core-modules/serverless/serverless-module.factory.ts @@ -29,7 +29,11 @@ export const serverlessModuleFactory = async ( const secretAccessKey = environmentService.get( 'SERVERLESS_LAMBDA_SECRET_ACCESS_KEY', ); - const role = environmentService.get('SERVERLESS_LAMBDA_ROLE'); + const lambdaRole = environmentService.get('SERVERLESS_LAMBDA_ROLE'); + + const subhostingRole = environmentService.get( + 'SERVERLESS_LAMBDA_SUBHOSTING_ROLE', + ); return { type: ServerlessDriverType.Lambda, @@ -43,8 +47,9 @@ export const serverlessModuleFactory = async ( : fromNodeProviderChain({ clientConfig: { region }, }), - region: region ?? '', - role: role ?? '', + region, + lambdaRole, + subhostingRole, }, }; } diff --git a/packages/twenty-server/src/modules/workflow/workflow-status/jobs/workflow-statuses-update.job.ts b/packages/twenty-server/src/modules/workflow/workflow-status/jobs/workflow-statuses-update.job.ts index e5897f9b5..ce1bce885 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-status/jobs/workflow-statuses-update.job.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-status/jobs/workflow-statuses-update.job.ts @@ -197,8 +197,6 @@ export class WorkflowStatusesUpdateJob { serverlessFunction.latestVersion; newStep.settings = newStepSettings; - - this.logger.log(`New step computed for code step -> ${newStep}`); } newSteps.push(newStep); } diff --git a/packages/twenty-website/src/content/developers/self-hosting/setup.mdx b/packages/twenty-website/src/content/developers/self-hosting/setup.mdx index 46a65da8b..7f34727a9 100644 --- a/packages/twenty-website/src/content/developers/self-hosting/setup.mdx +++ b/packages/twenty-website/src/content/developers/self-hosting/setup.mdx @@ -271,6 +271,7 @@ yarn command:prod cron:calendar:ongoing-stale ['SERVERLESS_TYPE', 'local', "Serverless driver type: 'local' or 'lambda'"], ['SERVERLESS_LAMBDA_REGION', '', 'Lambda Region'], ['SERVERLESS_LAMBDA_ROLE', '', 'Lambda Role'], + ['SERVERLESS_LAMBDA_SUBHOSTING_ROLE', '', 'Role to assume when hosting lambdas in dedicated AWS account'], ['SERVERLESS_LAMBDA_ACCESS_KEY_ID', '', 'Optional depending on the authentication method'], ['SERVERLESS_LAMBDA_SECRET_ACCESS_KEY', '', 'Optional depending on the authentication method'], ]}> @@ -304,7 +305,8 @@ This feature is WIP and is not yet useful for most users. diff --git a/yarn.lock b/yarn.lock index bdb7fb5c5..dc87b5f32 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1129,6 +1129,52 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/client-sso@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/client-sso@npm:3.744.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/core": "npm:3.744.0" + "@aws-sdk/middleware-host-header": "npm:3.734.0" + "@aws-sdk/middleware-logger": "npm:3.734.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.734.0" + "@aws-sdk/middleware-user-agent": "npm:3.744.0" + "@aws-sdk/region-config-resolver": "npm:3.734.0" + "@aws-sdk/types": "npm:3.734.0" + "@aws-sdk/util-endpoints": "npm:3.743.0" + "@aws-sdk/util-user-agent-browser": "npm:3.734.0" + "@aws-sdk/util-user-agent-node": "npm:3.744.0" + "@smithy/config-resolver": "npm:^4.0.1" + "@smithy/core": "npm:^3.1.2" + "@smithy/fetch-http-handler": "npm:^5.0.1" + "@smithy/hash-node": "npm:^4.0.1" + "@smithy/invalid-dependency": "npm:^4.0.1" + "@smithy/middleware-content-length": "npm:^4.0.1" + "@smithy/middleware-endpoint": "npm:^4.0.3" + "@smithy/middleware-retry": "npm:^4.0.4" + "@smithy/middleware-serde": "npm:^4.0.2" + "@smithy/middleware-stack": "npm:^4.0.1" + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/node-http-handler": "npm:^4.0.2" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/smithy-client": "npm:^4.1.3" + "@smithy/types": "npm:^4.1.0" + "@smithy/url-parser": "npm:^4.0.1" + "@smithy/util-base64": "npm:^4.0.0" + "@smithy/util-body-length-browser": "npm:^4.0.0" + "@smithy/util-body-length-node": "npm:^4.0.0" + "@smithy/util-defaults-mode-browser": "npm:^4.0.4" + "@smithy/util-defaults-mode-node": "npm:^4.0.4" + "@smithy/util-endpoints": "npm:^3.0.1" + "@smithy/util-middleware": "npm:^4.0.1" + "@smithy/util-retry": "npm:^4.0.1" + "@smithy/util-utf8": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/a61d128f3055e604d3d81f9ddce9e9915570a4206ce7b3a66644d7820ece38dede094fe597b6545fbc8c43defd13d6a04990d5cf2cb40349a027129bf1f6f781 + languageName: node + linkType: hard + "@aws-sdk/client-sts@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/client-sts@npm:3.624.0" @@ -1177,6 +1223,53 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/client-sts@npm:^3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/client-sts@npm:3.744.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/core": "npm:3.744.0" + "@aws-sdk/credential-provider-node": "npm:3.744.0" + "@aws-sdk/middleware-host-header": "npm:3.734.0" + "@aws-sdk/middleware-logger": "npm:3.734.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.734.0" + "@aws-sdk/middleware-user-agent": "npm:3.744.0" + "@aws-sdk/region-config-resolver": "npm:3.734.0" + "@aws-sdk/types": "npm:3.734.0" + "@aws-sdk/util-endpoints": "npm:3.743.0" + "@aws-sdk/util-user-agent-browser": "npm:3.734.0" + "@aws-sdk/util-user-agent-node": "npm:3.744.0" + "@smithy/config-resolver": "npm:^4.0.1" + "@smithy/core": "npm:^3.1.2" + "@smithy/fetch-http-handler": "npm:^5.0.1" + "@smithy/hash-node": "npm:^4.0.1" + "@smithy/invalid-dependency": "npm:^4.0.1" + "@smithy/middleware-content-length": "npm:^4.0.1" + "@smithy/middleware-endpoint": "npm:^4.0.3" + "@smithy/middleware-retry": "npm:^4.0.4" + "@smithy/middleware-serde": "npm:^4.0.2" + "@smithy/middleware-stack": "npm:^4.0.1" + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/node-http-handler": "npm:^4.0.2" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/smithy-client": "npm:^4.1.3" + "@smithy/types": "npm:^4.1.0" + "@smithy/url-parser": "npm:^4.0.1" + "@smithy/util-base64": "npm:^4.0.0" + "@smithy/util-body-length-browser": "npm:^4.0.0" + "@smithy/util-body-length-node": "npm:^4.0.0" + "@smithy/util-defaults-mode-browser": "npm:^4.0.4" + "@smithy/util-defaults-mode-node": "npm:^4.0.4" + "@smithy/util-endpoints": "npm:^3.0.1" + "@smithy/util-middleware": "npm:^4.0.1" + "@smithy/util-retry": "npm:^4.0.1" + "@smithy/util-utf8": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/166cdb35963966d0e81ef75492ee5a8135218b363fc9a424ed14ee100a615fbc90a951d5d07969d84af6a34070658bec75860d7df11978ad35d13a06f464e3d3 + languageName: node + linkType: hard + "@aws-sdk/core@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/core@npm:3.624.0" @@ -1194,6 +1287,25 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/core@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/core@npm:3.744.0" + dependencies: + "@aws-sdk/types": "npm:3.734.0" + "@smithy/core": "npm:^3.1.2" + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/signature-v4": "npm:^5.0.1" + "@smithy/smithy-client": "npm:^4.1.3" + "@smithy/types": "npm:^4.1.0" + "@smithy/util-middleware": "npm:^4.0.1" + fast-xml-parser: "npm:4.4.1" + tslib: "npm:^2.6.2" + checksum: 10c0/d0e3238083bfe58129e73d6de50b972156b0b4b058d6344ecb01185753cae891908611b04406a1a6a455e3cad723d5d3189e63d5b147c23cf6b6f5f4382176a3 + languageName: node + linkType: hard + "@aws-sdk/credential-provider-cognito-identity@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/credential-provider-cognito-identity@npm:3.624.0" @@ -1219,6 +1331,19 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/credential-provider-env@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/credential-provider-env@npm:3.744.0" + dependencies: + "@aws-sdk/core": "npm:3.744.0" + "@aws-sdk/types": "npm:3.734.0" + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/759f0d7684af4045418c95115cdc4d5878be792c3b0ccb15e571b7e49b00478f4457ff7bb6fa8dcdeb0d331bab397553c676c62daa6117839be690b020a56bd0 + languageName: node + linkType: hard + "@aws-sdk/credential-provider-http@npm:3.622.0": version: 3.622.0 resolution: "@aws-sdk/credential-provider-http@npm:3.622.0" @@ -1236,6 +1361,24 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/credential-provider-http@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/credential-provider-http@npm:3.744.0" + dependencies: + "@aws-sdk/core": "npm:3.744.0" + "@aws-sdk/types": "npm:3.734.0" + "@smithy/fetch-http-handler": "npm:^5.0.1" + "@smithy/node-http-handler": "npm:^4.0.2" + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/smithy-client": "npm:^4.1.3" + "@smithy/types": "npm:^4.1.0" + "@smithy/util-stream": "npm:^4.0.2" + tslib: "npm:^2.6.2" + checksum: 10c0/48204c4135b7c2e5ab590a1b9e08a7e0d22d0082b528b86def44293bc393725a7ef87c0eafb7b379bf43960b71c13d49b89264ca8e9757c35ce6c076bb78cda6 + languageName: node + linkType: hard + "@aws-sdk/credential-provider-ini@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/credential-provider-ini@npm:3.624.0" @@ -1257,6 +1400,27 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/credential-provider-ini@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/credential-provider-ini@npm:3.744.0" + dependencies: + "@aws-sdk/core": "npm:3.744.0" + "@aws-sdk/credential-provider-env": "npm:3.744.0" + "@aws-sdk/credential-provider-http": "npm:3.744.0" + "@aws-sdk/credential-provider-process": "npm:3.744.0" + "@aws-sdk/credential-provider-sso": "npm:3.744.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.744.0" + "@aws-sdk/nested-clients": "npm:3.744.0" + "@aws-sdk/types": "npm:3.734.0" + "@smithy/credential-provider-imds": "npm:^4.0.1" + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/shared-ini-file-loader": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/88cccc04bc4e3db9850a9473f32ded2dbc4d98f8f9d264792e7638c787f61a4b8e88254b19ce9712615af8b0f4e0b1ab9bae43a762b511f3b6f9dea47ab9a696 + languageName: node + linkType: hard + "@aws-sdk/credential-provider-node@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/credential-provider-node@npm:3.624.0" @@ -1277,6 +1441,26 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/credential-provider-node@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/credential-provider-node@npm:3.744.0" + dependencies: + "@aws-sdk/credential-provider-env": "npm:3.744.0" + "@aws-sdk/credential-provider-http": "npm:3.744.0" + "@aws-sdk/credential-provider-ini": "npm:3.744.0" + "@aws-sdk/credential-provider-process": "npm:3.744.0" + "@aws-sdk/credential-provider-sso": "npm:3.744.0" + "@aws-sdk/credential-provider-web-identity": "npm:3.744.0" + "@aws-sdk/types": "npm:3.734.0" + "@smithy/credential-provider-imds": "npm:^4.0.1" + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/shared-ini-file-loader": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/94db2864ad275ea4bedeee2174c06f1843f007c8d69ae880f2be5f6baa40120dc1c3a9b43d2c080df4d9d402042ae64d75e807c0069cf8cfbf101c3170ddeb2a + languageName: node + linkType: hard + "@aws-sdk/credential-provider-process@npm:3.620.1": version: 3.620.1 resolution: "@aws-sdk/credential-provider-process@npm:3.620.1" @@ -1290,6 +1474,20 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/credential-provider-process@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/credential-provider-process@npm:3.744.0" + dependencies: + "@aws-sdk/core": "npm:3.744.0" + "@aws-sdk/types": "npm:3.734.0" + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/shared-ini-file-loader": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/bc712a37a9c4f0d33515e60931902fb415b9a97f35158cf511d4cc89e0960917580039698faec00e58e67e1998bf5add2d7f34436921cf38a330750fba2adcf9 + languageName: node + linkType: hard + "@aws-sdk/credential-provider-sso@npm:3.624.0": version: 3.624.0 resolution: "@aws-sdk/credential-provider-sso@npm:3.624.0" @@ -1305,6 +1503,22 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/credential-provider-sso@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/credential-provider-sso@npm:3.744.0" + dependencies: + "@aws-sdk/client-sso": "npm:3.744.0" + "@aws-sdk/core": "npm:3.744.0" + "@aws-sdk/token-providers": "npm:3.744.0" + "@aws-sdk/types": "npm:3.734.0" + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/shared-ini-file-loader": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/6b23fe8cb8f46aff55af27a2b841054d1f9907967c027dd09dcd6adeeac10889811536f3a8659248de7a2cf5a4d03ac361b2ea6353182b043c6217f09d9c95a4 + languageName: node + linkType: hard + "@aws-sdk/credential-provider-web-identity@npm:3.621.0": version: 3.621.0 resolution: "@aws-sdk/credential-provider-web-identity@npm:3.621.0" @@ -1319,6 +1533,20 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/credential-provider-web-identity@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/credential-provider-web-identity@npm:3.744.0" + dependencies: + "@aws-sdk/core": "npm:3.744.0" + "@aws-sdk/nested-clients": "npm:3.744.0" + "@aws-sdk/types": "npm:3.734.0" + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/10a6e3fbc08d25826cab40f63d15d29c76e80187f90f19063f12c3b3ddc79bfc0e4b0e2130272e5e8e95b55f447c7ec376798ae34b2230e053b6278b81479f59 + languageName: node + linkType: hard + "@aws-sdk/credential-providers@npm:^3.363.0": version: 3.624.0 resolution: "@aws-sdk/credential-providers@npm:3.624.0" @@ -1398,6 +1626,18 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/middleware-host-header@npm:3.734.0": + version: 3.734.0 + resolution: "@aws-sdk/middleware-host-header@npm:3.734.0" + dependencies: + "@aws-sdk/types": "npm:3.734.0" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/56e8501c3beda2961ebba56f1146849594edafa0d33ce2bdb04b62df9732d1218ffe89882333d87d76079798dc575af1756db4d7270916d8d83f8d9ef7c4798e + languageName: node + linkType: hard + "@aws-sdk/middleware-location-constraint@npm:3.609.0": version: 3.609.0 resolution: "@aws-sdk/middleware-location-constraint@npm:3.609.0" @@ -1420,6 +1660,17 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/middleware-logger@npm:3.734.0": + version: 3.734.0 + resolution: "@aws-sdk/middleware-logger@npm:3.734.0" + dependencies: + "@aws-sdk/types": "npm:3.734.0" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/dc690e546d0411929ff5888cd2dad56b7583f160ce4339f24d4963b9d11022f06da76d5f96c56d2ff2624493885254200788c763f113c26695875b8a229ee9a1 + languageName: node + linkType: hard + "@aws-sdk/middleware-recursion-detection@npm:3.620.0": version: 3.620.0 resolution: "@aws-sdk/middleware-recursion-detection@npm:3.620.0" @@ -1432,6 +1683,18 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/middleware-recursion-detection@npm:3.734.0": + version: 3.734.0 + resolution: "@aws-sdk/middleware-recursion-detection@npm:3.734.0" + dependencies: + "@aws-sdk/types": "npm:3.734.0" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/e46e5f99895a4370141b3439c58b94670fddd01d18bbda43a621cb0a5f2bb3384db66757f16da49815af52d29f2cfb8c5d12e273853ad34c919f4f71d078572f + languageName: node + linkType: hard + "@aws-sdk/middleware-sdk-s3@npm:3.626.0": version: 3.626.0 resolution: "@aws-sdk/middleware-sdk-s3@npm:3.626.0" @@ -1478,6 +1741,67 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/middleware-user-agent@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/middleware-user-agent@npm:3.744.0" + dependencies: + "@aws-sdk/core": "npm:3.744.0" + "@aws-sdk/types": "npm:3.734.0" + "@aws-sdk/util-endpoints": "npm:3.743.0" + "@smithy/core": "npm:^3.1.2" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/eba9f2c273cce3764696d24dcd0bbc839e5e231e0cebaa51f4b7cc2cb4a625827d77e6614270d1d58c85a592d11345741b52852be60f836677c70d39c3777a63 + languageName: node + linkType: hard + +"@aws-sdk/nested-clients@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/nested-clients@npm:3.744.0" + dependencies: + "@aws-crypto/sha256-browser": "npm:5.2.0" + "@aws-crypto/sha256-js": "npm:5.2.0" + "@aws-sdk/core": "npm:3.744.0" + "@aws-sdk/middleware-host-header": "npm:3.734.0" + "@aws-sdk/middleware-logger": "npm:3.734.0" + "@aws-sdk/middleware-recursion-detection": "npm:3.734.0" + "@aws-sdk/middleware-user-agent": "npm:3.744.0" + "@aws-sdk/region-config-resolver": "npm:3.734.0" + "@aws-sdk/types": "npm:3.734.0" + "@aws-sdk/util-endpoints": "npm:3.743.0" + "@aws-sdk/util-user-agent-browser": "npm:3.734.0" + "@aws-sdk/util-user-agent-node": "npm:3.744.0" + "@smithy/config-resolver": "npm:^4.0.1" + "@smithy/core": "npm:^3.1.2" + "@smithy/fetch-http-handler": "npm:^5.0.1" + "@smithy/hash-node": "npm:^4.0.1" + "@smithy/invalid-dependency": "npm:^4.0.1" + "@smithy/middleware-content-length": "npm:^4.0.1" + "@smithy/middleware-endpoint": "npm:^4.0.3" + "@smithy/middleware-retry": "npm:^4.0.4" + "@smithy/middleware-serde": "npm:^4.0.2" + "@smithy/middleware-stack": "npm:^4.0.1" + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/node-http-handler": "npm:^4.0.2" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/smithy-client": "npm:^4.1.3" + "@smithy/types": "npm:^4.1.0" + "@smithy/url-parser": "npm:^4.0.1" + "@smithy/util-base64": "npm:^4.0.0" + "@smithy/util-body-length-browser": "npm:^4.0.0" + "@smithy/util-body-length-node": "npm:^4.0.0" + "@smithy/util-defaults-mode-browser": "npm:^4.0.4" + "@smithy/util-defaults-mode-node": "npm:^4.0.4" + "@smithy/util-endpoints": "npm:^3.0.1" + "@smithy/util-middleware": "npm:^4.0.1" + "@smithy/util-retry": "npm:^4.0.1" + "@smithy/util-utf8": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/0cf2f091421f39ba21fff02c7731f2e3baa0f97bda2d90dc361f89c687667c8737382481918f1a47b04f241e1afecc92d81d3fcd198058e54bcd81df3a13bdc8 + languageName: node + linkType: hard + "@aws-sdk/region-config-resolver@npm:3.614.0": version: 3.614.0 resolution: "@aws-sdk/region-config-resolver@npm:3.614.0" @@ -1492,6 +1816,20 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/region-config-resolver@npm:3.734.0": + version: 3.734.0 + resolution: "@aws-sdk/region-config-resolver@npm:3.734.0" + dependencies: + "@aws-sdk/types": "npm:3.734.0" + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + "@smithy/util-config-provider": "npm:^4.0.0" + "@smithy/util-middleware": "npm:^4.0.1" + tslib: "npm:^2.6.2" + checksum: 10c0/c1e026dcbe9d7529ec5efee979a868d0c868287d68e7e219bd730d887ab1ccf17ef48516477e57325fef55543217496bcfe7ba6d17d9ecad98cf8cf18d5ced63 + languageName: node + linkType: hard + "@aws-sdk/signature-v4-multi-region@npm:3.626.0": version: 3.626.0 resolution: "@aws-sdk/signature-v4-multi-region@npm:3.626.0" @@ -1521,6 +1859,20 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/token-providers@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/token-providers@npm:3.744.0" + dependencies: + "@aws-sdk/nested-clients": "npm:3.744.0" + "@aws-sdk/types": "npm:3.734.0" + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/shared-ini-file-loader": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/fc6f2fc25892f734c104ed2a94e019b0fd99c10e17b41a18186ade5aa18f052003062f868521d115041ba88ffeb36f2da96fa95e423519f060b336f26771c2a9 + languageName: node + linkType: hard + "@aws-sdk/types@npm:3.609.0, @aws-sdk/types@npm:^3.222.0": version: 3.609.0 resolution: "@aws-sdk/types@npm:3.609.0" @@ -1531,6 +1883,16 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/types@npm:3.734.0": + version: 3.734.0 + resolution: "@aws-sdk/types@npm:3.734.0" + dependencies: + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/74313849619b8bce9e6a52c70fcdaa212574a443503c78bccdba77cdc7bc66b8cecefe461852e0bab7376cc2ec3e1891730b1a027be63efb47394115c8ddb856 + languageName: node + linkType: hard + "@aws-sdk/util-arn-parser@npm:3.568.0": version: 3.568.0 resolution: "@aws-sdk/util-arn-parser@npm:3.568.0" @@ -1552,6 +1914,18 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/util-endpoints@npm:3.743.0": + version: 3.743.0 + resolution: "@aws-sdk/util-endpoints@npm:3.743.0" + dependencies: + "@aws-sdk/types": "npm:3.734.0" + "@smithy/types": "npm:^4.1.0" + "@smithy/util-endpoints": "npm:^3.0.1" + tslib: "npm:^2.6.2" + checksum: 10c0/9adba3aa9a5a3cadb7f89c7b3424034c5efb7c10c55114ab02e3d069b4112a05a1e8578ff6ed937412f5d5d1a9cdeeac03b80e5b5d47eaf8fb167d031915e424 + languageName: node + linkType: hard + "@aws-sdk/util-locate-window@npm:^3.0.0": version: 3.568.0 resolution: "@aws-sdk/util-locate-window@npm:3.568.0" @@ -1573,6 +1947,18 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/util-user-agent-browser@npm:3.734.0": + version: 3.734.0 + resolution: "@aws-sdk/util-user-agent-browser@npm:3.734.0" + dependencies: + "@aws-sdk/types": "npm:3.734.0" + "@smithy/types": "npm:^4.1.0" + bowser: "npm:^2.11.0" + tslib: "npm:^2.6.2" + checksum: 10c0/7fc8c5e29f3219f8abf1d0cff73dd6bb34f32a235473843e50f61375b1c05f4c49269cd956c9e4623c87c025e1eeef9fc699ae3389665459721bc11e00c25ead + languageName: node + linkType: hard + "@aws-sdk/util-user-agent-node@npm:3.614.0": version: 3.614.0 resolution: "@aws-sdk/util-user-agent-node@npm:3.614.0" @@ -1590,6 +1976,24 @@ __metadata: languageName: node linkType: hard +"@aws-sdk/util-user-agent-node@npm:3.744.0": + version: 3.744.0 + resolution: "@aws-sdk/util-user-agent-node@npm:3.744.0" + dependencies: + "@aws-sdk/middleware-user-agent": "npm:3.744.0" + "@aws-sdk/types": "npm:3.734.0" + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + peerDependencies: + aws-crt: ">=1.0.0" + peerDependenciesMeta: + aws-crt: + optional: true + checksum: 10c0/a0c480d53998a01ba090dd89e49030698b7e6dbe2415cf2e1d7ac6bd8da350db9b7e7c0e65e8d9ac114f2208978aecf480b2de7213884ddfdcb873a0fc7d315f + languageName: node + linkType: hard + "@aws-sdk/xml-builder@npm:3.609.0": version: 3.609.0 resolution: "@aws-sdk/xml-builder@npm:3.609.0" @@ -12884,6 +13288,16 @@ __metadata: languageName: node linkType: hard +"@smithy/abort-controller@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/abort-controller@npm:4.0.1" + dependencies: + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/1ecd5c3454ced008463e6de826c294f31f6073ba91e22e443e0269ee0854d9376f73ea756b3acf77aa806a9a98e8b2568ce2e7f15ddf0a7816c99b7deefeef57 + languageName: node + linkType: hard + "@smithy/chunked-blob-reader-native@npm:^3.0.0": version: 3.0.0 resolution: "@smithy/chunked-blob-reader-native@npm:3.0.0" @@ -12916,6 +13330,19 @@ __metadata: languageName: node linkType: hard +"@smithy/config-resolver@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/config-resolver@npm:4.0.1" + dependencies: + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + "@smithy/util-config-provider": "npm:^4.0.0" + "@smithy/util-middleware": "npm:^4.0.1" + tslib: "npm:^2.6.2" + checksum: 10c0/4ec3486deb3017607ed1b9a42b4b806b78e2c7a00f6dd51b98ccb82d9f7506b206bd9412ec0d2a05e95bc2ac3fbbafe55b1ffce9faccc4086f837645f3f7e64d + languageName: node + linkType: hard + "@smithy/core@npm:^2.3.2": version: 2.3.2 resolution: "@smithy/core@npm:2.3.2" @@ -12932,6 +13359,22 @@ __metadata: languageName: node linkType: hard +"@smithy/core@npm:^3.1.2": + version: 3.1.2 + resolution: "@smithy/core@npm:3.1.2" + dependencies: + "@smithy/middleware-serde": "npm:^4.0.2" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/types": "npm:^4.1.0" + "@smithy/util-body-length-browser": "npm:^4.0.0" + "@smithy/util-middleware": "npm:^4.0.1" + "@smithy/util-stream": "npm:^4.0.2" + "@smithy/util-utf8": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/971f6459041a088a9f571f5264e958c6b252f9d56aee210a2a4d4e6a2932a1f8754e48c37ef7c04c2c5e4073465cd6a2be255240c1bd45c30c7ff0669250f382 + languageName: node + linkType: hard + "@smithy/credential-provider-imds@npm:^3.2.0": version: 3.2.0 resolution: "@smithy/credential-provider-imds@npm:3.2.0" @@ -12945,6 +13388,19 @@ __metadata: languageName: node linkType: hard +"@smithy/credential-provider-imds@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/credential-provider-imds@npm:4.0.1" + dependencies: + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + "@smithy/url-parser": "npm:^4.0.1" + tslib: "npm:^2.6.2" + checksum: 10c0/76b5d82dfd2924f2b7a701fa159af54d3e9b16a644a210e3a74e5a3776bb28c2ffbdd342ed3f2bb1d2adf401e8144e84614523b1fad245b43e319e1d01fa1652 + languageName: node + linkType: hard + "@smithy/eventstream-codec@npm:^3.1.2": version: 3.1.2 resolution: "@smithy/eventstream-codec@npm:3.1.2" @@ -13013,6 +13469,19 @@ __metadata: languageName: node linkType: hard +"@smithy/fetch-http-handler@npm:^5.0.1": + version: 5.0.1 + resolution: "@smithy/fetch-http-handler@npm:5.0.1" + dependencies: + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/querystring-builder": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + "@smithy/util-base64": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/5123f6119de50d4c992ebf29b769382d7000db4ed8f564680c5727e2a8beb71664198eb2eaf7cb6152ab777f654d54cf9bff5a4658e1cfdeef2987eeea7f1149 + languageName: node + linkType: hard + "@smithy/hash-blob-browser@npm:^3.1.2": version: 3.1.2 resolution: "@smithy/hash-blob-browser@npm:3.1.2" @@ -13037,6 +13506,18 @@ __metadata: languageName: node linkType: hard +"@smithy/hash-node@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/hash-node@npm:4.0.1" + dependencies: + "@smithy/types": "npm:^4.1.0" + "@smithy/util-buffer-from": "npm:^4.0.0" + "@smithy/util-utf8": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/d84be63a2c8a4aafa3b9f23ae76c9cf92a31fa7c49c85930424da1335259b29f6333c5c82d2e7bf689549290ffd0d995043c9ea6f05b0b2a8dfad1f649eac43f + languageName: node + linkType: hard + "@smithy/hash-stream-node@npm:^3.1.2": version: 3.1.2 resolution: "@smithy/hash-stream-node@npm:3.1.2" @@ -13058,6 +13539,16 @@ __metadata: languageName: node linkType: hard +"@smithy/invalid-dependency@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/invalid-dependency@npm:4.0.1" + dependencies: + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/74bebdffb6845f6060eed482ad6e921df66af90d2f8c63f39a3bb334fa68a3e3aa8bd5cd7aa5f65628857e235e113895433895db910ba290633daa0df5725eb7 + languageName: node + linkType: hard + "@smithy/is-array-buffer@npm:^2.2.0": version: 2.2.0 resolution: "@smithy/is-array-buffer@npm:2.2.0" @@ -13076,6 +13567,15 @@ __metadata: languageName: node linkType: hard +"@smithy/is-array-buffer@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/is-array-buffer@npm:4.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/ae393fbd5944d710443cd5dd225d1178ef7fb5d6259c14f3e1316ec75e401bda6cf86f7eb98bfd38e5ed76e664b810426a5756b916702cbd418f0933e15e7a3b + languageName: node + linkType: hard + "@smithy/md5-js@npm:^3.0.3": version: 3.0.3 resolution: "@smithy/md5-js@npm:3.0.3" @@ -13098,6 +13598,17 @@ __metadata: languageName: node linkType: hard +"@smithy/middleware-content-length@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/middleware-content-length@npm:4.0.1" + dependencies: + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/3dfbfe658cc8636e9e923a10151a32c6234897c4a86856e55fe4fadc322b3f3e977e50d15553afcb34cadb213de2d95a82af9c8f735e758f4dc21a031e8ecb17 + languageName: node + linkType: hard + "@smithy/middleware-endpoint@npm:^3.1.0": version: 3.1.0 resolution: "@smithy/middleware-endpoint@npm:3.1.0" @@ -13113,6 +13624,22 @@ __metadata: languageName: node linkType: hard +"@smithy/middleware-endpoint@npm:^4.0.3": + version: 4.0.3 + resolution: "@smithy/middleware-endpoint@npm:4.0.3" + dependencies: + "@smithy/core": "npm:^3.1.2" + "@smithy/middleware-serde": "npm:^4.0.2" + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/shared-ini-file-loader": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + "@smithy/url-parser": "npm:^4.0.1" + "@smithy/util-middleware": "npm:^4.0.1" + tslib: "npm:^2.6.2" + checksum: 10c0/9248c2faedb2249c9bd70cedd3fb07be6b739b3ac544a87a9be22c9e61795fcff420f53b81f223d7b0d83156dad2acfe10e614a3d92bffebf57bd93252533d31 + languageName: node + linkType: hard + "@smithy/middleware-retry@npm:^3.0.14": version: 3.0.14 resolution: "@smithy/middleware-retry@npm:3.0.14" @@ -13130,6 +13657,23 @@ __metadata: languageName: node linkType: hard +"@smithy/middleware-retry@npm:^4.0.4": + version: 4.0.4 + resolution: "@smithy/middleware-retry@npm:4.0.4" + dependencies: + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/service-error-classification": "npm:^4.0.1" + "@smithy/smithy-client": "npm:^4.1.3" + "@smithy/types": "npm:^4.1.0" + "@smithy/util-middleware": "npm:^4.0.1" + "@smithy/util-retry": "npm:^4.0.1" + tslib: "npm:^2.6.2" + uuid: "npm:^9.0.1" + checksum: 10c0/d15fecaca5758f0877cecd7de8f9434450850ada42e1e4ac871a181b90e4186dc6d6a912e5e7a4778bf637673823b24922de11cd4e3bbfb75036eef8152bb918 + languageName: node + linkType: hard + "@smithy/middleware-serde@npm:^3.0.3": version: 3.0.3 resolution: "@smithy/middleware-serde@npm:3.0.3" @@ -13140,6 +13684,16 @@ __metadata: languageName: node linkType: hard +"@smithy/middleware-serde@npm:^4.0.2": + version: 4.0.2 + resolution: "@smithy/middleware-serde@npm:4.0.2" + dependencies: + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/b1efee86ecc37a063bdfdb89cf691c9b9627502473f2caa0c964c0648f7b550b7a49755a9b13cdfc11aebf1641cf3ae6f8b5f1895a20241960504936da9b3138 + languageName: node + linkType: hard + "@smithy/middleware-stack@npm:^3.0.3": version: 3.0.3 resolution: "@smithy/middleware-stack@npm:3.0.3" @@ -13150,6 +13704,16 @@ __metadata: languageName: node linkType: hard +"@smithy/middleware-stack@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/middleware-stack@npm:4.0.1" + dependencies: + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/b7f710e263e37a8c80c8d31c7d8fe5f66dec2955cde412054eefcc8df53905e1e2e53a01fd7930eb82c82a3a28eadd00e69f07dfc6e793b1d9272db58a982e9b + languageName: node + linkType: hard + "@smithy/node-config-provider@npm:^3.1.4": version: 3.1.4 resolution: "@smithy/node-config-provider@npm:3.1.4" @@ -13162,6 +13726,18 @@ __metadata: languageName: node linkType: hard +"@smithy/node-config-provider@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/node-config-provider@npm:4.0.1" + dependencies: + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/shared-ini-file-loader": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/f8d3b1fe91eeba41426ec57d62cfbeaed027650b5549fb2ba5bc889c1cfb7880d4fdb5a484d231b3fb2a9c9023c1f4e8907a5d18d75b3787481cde9f87c4d9cb + languageName: node + linkType: hard + "@smithy/node-http-handler@npm:^3.1.4": version: 3.1.4 resolution: "@smithy/node-http-handler@npm:3.1.4" @@ -13175,6 +13751,19 @@ __metadata: languageName: node linkType: hard +"@smithy/node-http-handler@npm:^4.0.2": + version: 4.0.2 + resolution: "@smithy/node-http-handler@npm:4.0.2" + dependencies: + "@smithy/abort-controller": "npm:^4.0.1" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/querystring-builder": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/6a3446dcf3bf006cf55b065edfbe7636f2aa13073f2937e224890902de44b191a5214dce4cb61e98b1ad53889bdbb35386e8810a338bc75ea3743f8d4550a2ad + languageName: node + linkType: hard + "@smithy/property-provider@npm:^3.1.3": version: 3.1.3 resolution: "@smithy/property-provider@npm:3.1.3" @@ -13185,6 +13774,16 @@ __metadata: languageName: node linkType: hard +"@smithy/property-provider@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/property-provider@npm:4.0.1" + dependencies: + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/43960a6bdf25944e1cc9d4ee83bf45ab5641f7e2068c46d5015166c0f035b1752e03847d7c15d3c013f5f0467441c9c5a8d6a0428f5401988035867709e4dea3 + languageName: node + linkType: hard + "@smithy/protocol-http@npm:^4.1.0": version: 4.1.0 resolution: "@smithy/protocol-http@npm:4.1.0" @@ -13195,6 +13794,16 @@ __metadata: languageName: node linkType: hard +"@smithy/protocol-http@npm:^5.0.1": + version: 5.0.1 + resolution: "@smithy/protocol-http@npm:5.0.1" + dependencies: + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/87b157cc86c23f7199acad237e5e0cc309b18a2a4162dfd8f99609f6cca403f832b645535e58173e2933b4d96ec71f2df16d04e1bdcf52b7b0fcbdbc0067de93 + languageName: node + linkType: hard + "@smithy/querystring-builder@npm:^3.0.3": version: 3.0.3 resolution: "@smithy/querystring-builder@npm:3.0.3" @@ -13206,6 +13815,17 @@ __metadata: languageName: node linkType: hard +"@smithy/querystring-builder@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/querystring-builder@npm:4.0.1" + dependencies: + "@smithy/types": "npm:^4.1.0" + "@smithy/util-uri-escape": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/21f39e3a79458d343f3dec76b38598c49a34a3c4d1d3c23b6c8895eae2b610fb3c704f995a1730599ef7a881216ea064a25bb7dc8abe5bb1ee50dc6078ad97a4 + languageName: node + linkType: hard + "@smithy/querystring-parser@npm:^3.0.3": version: 3.0.3 resolution: "@smithy/querystring-parser@npm:3.0.3" @@ -13216,6 +13836,16 @@ __metadata: languageName: node linkType: hard +"@smithy/querystring-parser@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/querystring-parser@npm:4.0.1" + dependencies: + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/10e5aba13fbb9a602299fb92f02142e291ab5c7cd221e0ca542981414533e081abdd7442de335f2267ee4a9ff8eba4d7ba848455df50d2771f0ddb8b7d8f9d8b + languageName: node + linkType: hard + "@smithy/service-error-classification@npm:^3.0.3": version: 3.0.3 resolution: "@smithy/service-error-classification@npm:3.0.3" @@ -13225,6 +13855,15 @@ __metadata: languageName: node linkType: hard +"@smithy/service-error-classification@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/service-error-classification@npm:4.0.1" + dependencies: + "@smithy/types": "npm:^4.1.0" + checksum: 10c0/de015fd140bf4e97da34a2283ce73971eb3b3aae53a257000dce0c99b8974a5e76bae9e517545ef58bd00ca8094c813cd1bcf0696c2c51e731418e2a769c744f + languageName: node + linkType: hard + "@smithy/shared-ini-file-loader@npm:^3.1.4": version: 3.1.4 resolution: "@smithy/shared-ini-file-loader@npm:3.1.4" @@ -13235,6 +13874,16 @@ __metadata: languageName: node linkType: hard +"@smithy/shared-ini-file-loader@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/shared-ini-file-loader@npm:4.0.1" + dependencies: + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/0f0173dbe61c8dac6847cc2c5115db5f1292c956c7f0559ce7bc8e5ed196a4b102977445ee1adb72206a15226a1098cdea01e92aa8ce19f4343f1135e7d37bcf + languageName: node + linkType: hard + "@smithy/signature-v4@npm:^4.1.0": version: 4.1.0 resolution: "@smithy/signature-v4@npm:4.1.0" @@ -13251,6 +13900,22 @@ __metadata: languageName: node linkType: hard +"@smithy/signature-v4@npm:^5.0.1": + version: 5.0.1 + resolution: "@smithy/signature-v4@npm:5.0.1" + dependencies: + "@smithy/is-array-buffer": "npm:^4.0.0" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/types": "npm:^4.1.0" + "@smithy/util-hex-encoding": "npm:^4.0.0" + "@smithy/util-middleware": "npm:^4.0.1" + "@smithy/util-uri-escape": "npm:^4.0.0" + "@smithy/util-utf8": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/a7f118642c9641f813098faad355fc5b54ae215fec589fb238d72d44149248c02e32dcfe034000f151ab665450542df88c70d269f9a3233e01a905ec03512514 + languageName: node + linkType: hard + "@smithy/smithy-client@npm:^3.1.12": version: 3.1.12 resolution: "@smithy/smithy-client@npm:3.1.12" @@ -13265,6 +13930,21 @@ __metadata: languageName: node linkType: hard +"@smithy/smithy-client@npm:^4.1.3": + version: 4.1.3 + resolution: "@smithy/smithy-client@npm:4.1.3" + dependencies: + "@smithy/core": "npm:^3.1.2" + "@smithy/middleware-endpoint": "npm:^4.0.3" + "@smithy/middleware-stack": "npm:^4.0.1" + "@smithy/protocol-http": "npm:^5.0.1" + "@smithy/types": "npm:^4.1.0" + "@smithy/util-stream": "npm:^4.0.2" + tslib: "npm:^2.6.2" + checksum: 10c0/d02044c4ff9e5e6d4c9fbc04b18c4718b1394c72ea5a926e2b6ea47da10a69b87dc27cd48da6c1a0272cc3f4c797591b4016d01bbba1b26397aab404231eda6c + languageName: node + linkType: hard + "@smithy/types@npm:^3.3.0": version: 3.3.0 resolution: "@smithy/types@npm:3.3.0" @@ -13274,6 +13954,15 @@ __metadata: languageName: node linkType: hard +"@smithy/types@npm:^4.1.0": + version: 4.1.0 + resolution: "@smithy/types@npm:4.1.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/d8817145ea043c5b29783df747ed47c3a1c584fd9d02bbdb609d38b7cb4dded1197ac214ae112744c86abe0537a314dae0edbc0e752bb639ef2d9fb84c67a9d9 + languageName: node + linkType: hard + "@smithy/url-parser@npm:^3.0.3": version: 3.0.3 resolution: "@smithy/url-parser@npm:3.0.3" @@ -13285,6 +13974,17 @@ __metadata: languageName: node linkType: hard +"@smithy/url-parser@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/url-parser@npm:4.0.1" + dependencies: + "@smithy/querystring-parser": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/fc969b55857b3bcdc920f54bbb9b0c88b5c7695ac7100bea1c7038fd4c9a09ebe0fbb38c4839d39acea28da0d8cb4fea71ffbf362d8aec295acbb94c1b45fc86 + languageName: node + linkType: hard + "@smithy/util-base64@npm:^3.0.0": version: 3.0.0 resolution: "@smithy/util-base64@npm:3.0.0" @@ -13296,6 +13996,17 @@ __metadata: languageName: node linkType: hard +"@smithy/util-base64@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-base64@npm:4.0.0" + dependencies: + "@smithy/util-buffer-from": "npm:^4.0.0" + "@smithy/util-utf8": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/ad18ec66cc357c189eef358d96876b114faf7086b13e47e009b265d0ff80cec046052500489c183957b3a036768409acdd1a373e01074cc002ca6983f780cffc + languageName: node + linkType: hard + "@smithy/util-body-length-browser@npm:^3.0.0": version: 3.0.0 resolution: "@smithy/util-body-length-browser@npm:3.0.0" @@ -13305,6 +14016,15 @@ __metadata: languageName: node linkType: hard +"@smithy/util-body-length-browser@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-body-length-browser@npm:4.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/574a10934024a86556e9dcde1a9776170284326c3dfcc034afa128cc5a33c1c8179fca9cfb622ef8be5f2004316cc3f427badccceb943e829105536ec26306d9 + languageName: node + linkType: hard + "@smithy/util-body-length-node@npm:^3.0.0": version: 3.0.0 resolution: "@smithy/util-body-length-node@npm:3.0.0" @@ -13314,6 +14034,15 @@ __metadata: languageName: node linkType: hard +"@smithy/util-body-length-node@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-body-length-node@npm:4.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/e91fd3816767606c5f786166ada26440457fceb60f96653b3d624dcf762a8c650e513c275ff3f647cb081c63c283cc178853a7ed9aa224abc8ece4eeeef7a1dd + languageName: node + linkType: hard + "@smithy/util-buffer-from@npm:^2.2.0": version: 2.2.0 resolution: "@smithy/util-buffer-from@npm:2.2.0" @@ -13334,6 +14063,16 @@ __metadata: languageName: node linkType: hard +"@smithy/util-buffer-from@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-buffer-from@npm:4.0.0" + dependencies: + "@smithy/is-array-buffer": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/be7cd33b6cb91503982b297716251e67cdca02819a15797632091cadab2dc0b4a147fff0709a0aa9bbc0b82a2644a7ed7c8afdd2194d5093cee2e9605b3a9f6f + languageName: node + linkType: hard + "@smithy/util-config-provider@npm:^3.0.0": version: 3.0.0 resolution: "@smithy/util-config-provider@npm:3.0.0" @@ -13343,6 +14082,15 @@ __metadata: languageName: node linkType: hard +"@smithy/util-config-provider@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-config-provider@npm:4.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/cd9498d5f77a73aadd575084bcb22d2bb5945bac4605d605d36f2efe3f165f2b60f4dc88b7a62c2ed082ffa4b2c2f19621d0859f18399edbc2b5988d92e4649f + languageName: node + linkType: hard + "@smithy/util-defaults-mode-browser@npm:^3.0.14": version: 3.0.14 resolution: "@smithy/util-defaults-mode-browser@npm:3.0.14" @@ -13356,6 +14104,19 @@ __metadata: languageName: node linkType: hard +"@smithy/util-defaults-mode-browser@npm:^4.0.4": + version: 4.0.4 + resolution: "@smithy/util-defaults-mode-browser@npm:4.0.4" + dependencies: + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/smithy-client": "npm:^4.1.3" + "@smithy/types": "npm:^4.1.0" + bowser: "npm:^2.11.0" + tslib: "npm:^2.6.2" + checksum: 10c0/20c23f94a50d807abaa7dc00e5ec6adb3179672fc967018075e88b5c725ae8d87d8569c9987108b022b856428d55a7abb667d478f8756ad57159d7e65651d3b6 + languageName: node + linkType: hard + "@smithy/util-defaults-mode-node@npm:^3.0.14": version: 3.0.14 resolution: "@smithy/util-defaults-mode-node@npm:3.0.14" @@ -13371,6 +14132,21 @@ __metadata: languageName: node linkType: hard +"@smithy/util-defaults-mode-node@npm:^4.0.4": + version: 4.0.4 + resolution: "@smithy/util-defaults-mode-node@npm:4.0.4" + dependencies: + "@smithy/config-resolver": "npm:^4.0.1" + "@smithy/credential-provider-imds": "npm:^4.0.1" + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/property-provider": "npm:^4.0.1" + "@smithy/smithy-client": "npm:^4.1.3" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/90c213b09c694f1f2d71b147dbbd398be7283a30b0071e85ec968713073e4d5a4cac283426682ee2c09ee50a279a9a6f7f738c45887ba8005eb3a0d4f33d2b11 + languageName: node + linkType: hard + "@smithy/util-endpoints@npm:^2.0.5": version: 2.0.5 resolution: "@smithy/util-endpoints@npm:2.0.5" @@ -13382,6 +14158,17 @@ __metadata: languageName: node linkType: hard +"@smithy/util-endpoints@npm:^3.0.1": + version: 3.0.1 + resolution: "@smithy/util-endpoints@npm:3.0.1" + dependencies: + "@smithy/node-config-provider": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/fed80f300e6a6e69873e613cdd12f640d33a19fc09a41e3afd536f7ea36f7785edd96fbd0402b6980a0e5dfc9bcb8b37f503d522b4ef317f31f4fd0100c466ff + languageName: node + linkType: hard + "@smithy/util-hex-encoding@npm:^3.0.0": version: 3.0.0 resolution: "@smithy/util-hex-encoding@npm:3.0.0" @@ -13391,6 +14178,15 @@ __metadata: languageName: node linkType: hard +"@smithy/util-hex-encoding@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-hex-encoding@npm:4.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/70dbb3aa1a79aff3329d07a66411ff26398df338bdd8a6d077b438231afe3dc86d9a7022204baddecd8bc633f059d5c841fa916d81dd7447ea79b64148f386d2 + languageName: node + linkType: hard + "@smithy/util-middleware@npm:^3.0.3": version: 3.0.3 resolution: "@smithy/util-middleware@npm:3.0.3" @@ -13401,6 +14197,16 @@ __metadata: languageName: node linkType: hard +"@smithy/util-middleware@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/util-middleware@npm:4.0.1" + dependencies: + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/1dd2b058f392fb6788809f14c2c1d53411f79f6e9f88b515ffd36792f9f5939fe4af96fb5b0486a3d0cd30181783b7a5393dce2e8b83ba62db7c6d3af6572eff + languageName: node + linkType: hard + "@smithy/util-retry@npm:^3.0.3": version: 3.0.3 resolution: "@smithy/util-retry@npm:3.0.3" @@ -13412,6 +14218,17 @@ __metadata: languageName: node linkType: hard +"@smithy/util-retry@npm:^4.0.1": + version: 4.0.1 + resolution: "@smithy/util-retry@npm:4.0.1" + dependencies: + "@smithy/service-error-classification": "npm:^4.0.1" + "@smithy/types": "npm:^4.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/93ef89572651b8a30b9a648292660ae9532508ec6d2577afc62e1d9125fe6d14086e0f70a2981bf9f12256b41a57152368b5ed839cdd2df47ba78dd005615173 + languageName: node + linkType: hard + "@smithy/util-stream@npm:^3.1.3": version: 3.1.3 resolution: "@smithy/util-stream@npm:3.1.3" @@ -13428,6 +14245,22 @@ __metadata: languageName: node linkType: hard +"@smithy/util-stream@npm:^4.0.2": + version: 4.0.2 + resolution: "@smithy/util-stream@npm:4.0.2" + dependencies: + "@smithy/fetch-http-handler": "npm:^5.0.1" + "@smithy/node-http-handler": "npm:^4.0.2" + "@smithy/types": "npm:^4.1.0" + "@smithy/util-base64": "npm:^4.0.0" + "@smithy/util-buffer-from": "npm:^4.0.0" + "@smithy/util-hex-encoding": "npm:^4.0.0" + "@smithy/util-utf8": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/f9c9afc51189e4d3d33e119fd639970e7abbb598c50ce20f493a2656a469177be4e8a52aa9b8c42ce1f86dd5d71333364a18d179e515e6cc7d28d636cc985f55 + languageName: node + linkType: hard + "@smithy/util-uri-escape@npm:^3.0.0": version: 3.0.0 resolution: "@smithy/util-uri-escape@npm:3.0.0" @@ -13437,6 +14270,15 @@ __metadata: languageName: node linkType: hard +"@smithy/util-uri-escape@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-uri-escape@npm:4.0.0" + dependencies: + tslib: "npm:^2.6.2" + checksum: 10c0/23984624060756adba8aa4ab1693fe6b387ee5064d8ec4dfd39bb5908c4ee8b9c3f2dc755da9b07505d8e3ce1338c1867abfa74158931e4728bf3cfcf2c05c3d + languageName: node + linkType: hard + "@smithy/util-utf8@npm:^2.0.0": version: 2.3.0 resolution: "@smithy/util-utf8@npm:2.3.0" @@ -13457,6 +14299,16 @@ __metadata: languageName: node linkType: hard +"@smithy/util-utf8@npm:^4.0.0": + version: 4.0.0 + resolution: "@smithy/util-utf8@npm:4.0.0" + dependencies: + "@smithy/util-buffer-from": "npm:^4.0.0" + tslib: "npm:^2.6.2" + checksum: 10c0/28a5a5372cbf0b3d2e32dd16f79b04c2aec6f704cf13789db922e9686fde38dde0171491cfa4c2c201595d54752a319faaeeed3c325329610887694431e28c98 + languageName: node + linkType: hard + "@smithy/util-waiter@npm:^3.1.2": version: 3.1.2 resolution: "@smithy/util-waiter@npm:3.1.2" @@ -46003,6 +46855,7 @@ __metadata: "@apollo/server": "npm:^4.7.3" "@aws-sdk/client-lambda": "npm:^3.614.0" "@aws-sdk/client-s3": "npm:^3.363.0" + "@aws-sdk/client-sts": "npm:^3.744.0" "@aws-sdk/credential-providers": "npm:^3.363.0" "@babel/core": "npm:^7.14.5" "@babel/preset-react": "npm:^7.14.5"