From a1a16e81ea5168d02f881aa3aa5a36502929d783 Mon Sep 17 00:00:00 2001 From: Roy Li Date: Tue, 24 Sep 2024 14:00:32 -0400 Subject: [PATCH] Add function to fetch availability zone id --- indexer/packages/base/package.json | 1 + indexer/packages/base/src/az-id.ts | 51 ++ indexer/packages/base/src/config.ts | 1 + indexer/packages/base/src/index.ts | 1 + indexer/pnpm-lock.yaml | 907 +++++++++++++++++++++++++++- 5 files changed, 960 insertions(+), 1 deletion(-) create mode 100644 indexer/packages/base/src/az-id.ts diff --git a/indexer/packages/base/package.json b/indexer/packages/base/package.json index b4c9e344eb..25219008df 100644 --- a/indexer/packages/base/package.json +++ b/indexer/packages/base/package.json @@ -32,6 +32,7 @@ }, "homepage": "https://github.com/dydxprotocol/indexer#readme", "dependencies": { + "@aws-sdk/client-ec2": "^3.354.0", "axios": "^1.2.1", "big.js": "^6.2.1", "bignumber.js": "^9.0.2", diff --git a/indexer/packages/base/src/az-id.ts b/indexer/packages/base/src/az-id.ts new file mode 100644 index 0000000000..d790c5f8cc --- /dev/null +++ b/indexer/packages/base/src/az-id.ts @@ -0,0 +1,51 @@ +import { DescribeAvailabilityZonesCommand, EC2Client } from '@aws-sdk/client-ec2'; + +import { axiosRequest } from './axios'; +import config from './config'; +import logger from './logger'; + +export async function getAvailabilityZoneId(): Promise { + if (config.ECS_CONTAINER_METADATA_URI_V4 !== '' && config.AWS_REGION !== '') { + const taskUrl = `${config.ECS_CONTAINER_METADATA_URI_V4}/task`; + try { + const response = await axiosRequest({ + method: 'GET', + url: taskUrl, + }) as { AvailabilityZone: string }; + const client = new EC2Client({ region: config.AWS_REGION }); + const command = new DescribeAvailabilityZonesCommand({ + ZoneNames: [response.AvailabilityZone], + }); + try { + const ec2Response = await client.send(command); + const zoneId = ec2Response.AvailabilityZones![0].ZoneId!; + logger.info({ + at: 'az-id#getAvailabilityZoneId', + message: `Got availability zone id ${zoneId}.`, + }); + return ec2Response.AvailabilityZones![0].ZoneId!; + } catch (error) { + logger.error({ + at: 'az-id#getAvailabilityZoneId', + message: 'Failed to fetch availabilty zone id from EC2. ', + error, + }); + return ''; + } + } catch (error) { + logger.error({ + at: 'az-id#getAvailabilityZoneId', + message: 'Failed to retrieve availability zone from metadata endpoint. No availabilty zone id found.', + error, + taskUrl, + }); + return ''; + } + } else { + logger.error({ + at: 'az-id#getAvailabilityZoneId', + message: 'No metadata URI or region. No availabilty zone id found.', + }); + return ''; + } +} diff --git a/indexer/packages/base/src/config.ts b/indexer/packages/base/src/config.ts index 1d88cc3284..4cee7802e7 100644 --- a/indexer/packages/base/src/config.ts +++ b/indexer/packages/base/src/config.ts @@ -39,6 +39,7 @@ export const baseConfigSchema = { STATSD_PORT: parseInteger({ default: 8125 }), LOG_LEVEL: parseString({ default: 'debug' }), ECS_CONTAINER_METADATA_URI_V4: parseString({ default: '' }), + AWS_REGION: parseString({ default: '' }), }; export default parseSchema(baseConfigSchema); diff --git a/indexer/packages/base/src/index.ts b/indexer/packages/base/src/index.ts index 5ec5dae958..77bbdf34e8 100644 --- a/indexer/packages/base/src/index.ts +++ b/indexer/packages/base/src/index.ts @@ -14,6 +14,7 @@ export * from './bugsnag'; export * from './stats-util'; export * from './date-helpers'; export * from './instance-id'; +export * from './az-id'; // Do this outside logger.ts to avoid a dependency cycle with logger transports that may trigger // additional logging. diff --git a/indexer/pnpm-lock.yaml b/indexer/pnpm-lock.yaml index 8f0733538a..6ae7930603 100644 --- a/indexer/pnpm-lock.yaml +++ b/indexer/pnpm-lock.yaml @@ -13,6 +13,7 @@ importers: packages/base: specifiers: + '@aws-sdk/client-ec2': ^3.354.0 '@bugsnag/core': ^7.18.0 '@bugsnag/js': ^7.18.0 '@bugsnag/node': ^7.18.0 @@ -36,6 +37,7 @@ importers: winston: ^3.8.1 winston-transport: ^4.5.0 dependencies: + '@aws-sdk/client-ec2': 3.657.0 '@bugsnag/core': 7.18.0 '@bugsnag/js': 7.18.0 '@bugsnag/node': 7.18.0 @@ -863,6 +865,18 @@ packages: tslib: 1.14.1 dev: false + /@aws-crypto/sha256-browser/5.2.0: + resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} + dependencies: + '@aws-crypto/sha256-js': 5.2.0 + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.654.0 + '@aws-sdk/util-locate-window': 3.310.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.7.0 + dev: false + /@aws-crypto/sha256-js/3.0.0: resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: @@ -871,12 +885,27 @@ packages: tslib: 1.14.1 dev: false + /@aws-crypto/sha256-js/5.2.0: + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.654.0 + tslib: 2.7.0 + dev: false + /@aws-crypto/supports-web-crypto/3.0.0: resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} dependencies: tslib: 1.14.1 dev: false + /@aws-crypto/supports-web-crypto/5.2.0: + resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} + dependencies: + tslib: 2.7.0 + dev: false + /@aws-crypto/util/3.0.0: resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: @@ -885,6 +914,14 @@ packages: tslib: 1.14.1 dev: false + /@aws-crypto/util/5.2.0: + resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.7.0 + dev: false + /@aws-sdk/abort-controller/3.347.0: resolution: {integrity: sha512-P/2qE6ntYEmYG4Ez535nJWZbXqgbkJx8CMz7ChEuEg3Gp3dvVYEKg+iEUEvlqQ2U5dWP5J3ehw5po9t86IsVPQ==} engines: {node: '>=14.0.0'} @@ -893,6 +930,58 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/client-ec2/3.657.0: + resolution: {integrity: sha512-ljO/l0oGCF84wEgf/XIiCmrFTi09pXnePrZRaoFA/LozMNwsXnmxGMuN7zktnsC7pR2xFcPOx05ATamdmq9MXg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.654.0_@aws-sdk+client-sts@3.654.0 + '@aws-sdk/client-sts': 3.654.0 + '@aws-sdk/core': 3.654.0 + '@aws-sdk/credential-provider-node': 3.654.0_dd593e7ba5da13c837cde3c86c12c068 + '@aws-sdk/middleware-host-header': 3.654.0 + '@aws-sdk/middleware-logger': 3.654.0 + '@aws-sdk/middleware-recursion-detection': 3.654.0 + '@aws-sdk/middleware-sdk-ec2': 3.654.0 + '@aws-sdk/middleware-user-agent': 3.654.0 + '@aws-sdk/region-config-resolver': 3.654.0 + '@aws-sdk/types': 3.654.0 + '@aws-sdk/util-endpoints': 3.654.0 + '@aws-sdk/util-user-agent-browser': 3.654.0 + '@aws-sdk/util-user-agent-node': 3.654.0 + '@smithy/config-resolver': 3.0.8 + '@smithy/core': 2.4.5 + '@smithy/fetch-http-handler': 3.2.8 + '@smithy/hash-node': 3.0.6 + '@smithy/invalid-dependency': 3.0.6 + '@smithy/middleware-content-length': 3.0.8 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-retry': 3.0.20 + '@smithy/middleware-serde': 3.0.6 + '@smithy/middleware-stack': 3.0.6 + '@smithy/node-config-provider': 3.1.7 + '@smithy/node-http-handler': 3.2.3 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.4 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.20 + '@smithy/util-defaults-mode-node': 3.0.20 + '@smithy/util-endpoints': 2.1.2 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-retry': 3.0.6 + '@smithy/util-utf8': 3.0.0 + '@smithy/util-waiter': 3.1.5 + tslib: 2.7.0 + uuid: 9.0.1 + transitivePeerDependencies: + - aws-crt + dev: false + /@aws-sdk/client-ecr/3.354.0: resolution: {integrity: sha512-gy6cNm2y4TatqCoGkUspAgPfEGT2fsMIZGrfyPcx7cLsOiq+L5Wbs5AWFw6jywaRC88c6raUrpFLkPeVZjDZiQ==} engines: {node: '>=14.0.0'} @@ -1113,6 +1202,56 @@ packages: - aws-crt dev: false + /@aws-sdk/client-sso-oidc/3.654.0_@aws-sdk+client-sts@3.654.0: + resolution: {integrity: sha512-gbHrKsEnaAtmkNCVQzLyiqMzpDaThV/bWl/ODEklI+t6stW3Pe3oDMstEHLfJ6JU5g8sYnx4VLuxlnJMtUkvPw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.654.0 + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sts': 3.654.0 + '@aws-sdk/core': 3.654.0 + '@aws-sdk/credential-provider-node': 3.654.0_dd593e7ba5da13c837cde3c86c12c068 + '@aws-sdk/middleware-host-header': 3.654.0 + '@aws-sdk/middleware-logger': 3.654.0 + '@aws-sdk/middleware-recursion-detection': 3.654.0 + '@aws-sdk/middleware-user-agent': 3.654.0 + '@aws-sdk/region-config-resolver': 3.654.0 + '@aws-sdk/types': 3.654.0 + '@aws-sdk/util-endpoints': 3.654.0 + '@aws-sdk/util-user-agent-browser': 3.654.0 + '@aws-sdk/util-user-agent-node': 3.654.0 + '@smithy/config-resolver': 3.0.8 + '@smithy/core': 2.4.5 + '@smithy/fetch-http-handler': 3.2.8 + '@smithy/hash-node': 3.0.6 + '@smithy/invalid-dependency': 3.0.6 + '@smithy/middleware-content-length': 3.0.8 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-retry': 3.0.20 + '@smithy/middleware-serde': 3.0.6 + '@smithy/middleware-stack': 3.0.6 + '@smithy/node-config-provider': 3.1.7 + '@smithy/node-http-handler': 3.2.3 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.4 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.20 + '@smithy/util-defaults-mode-node': 3.0.20 + '@smithy/util-endpoints': 2.1.2 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-retry': 3.0.6 + '@smithy/util-utf8': 3.0.0 + tslib: 2.7.0 + transitivePeerDependencies: + - aws-crt + dev: false + /@aws-sdk/client-sso/3.353.0: resolution: {integrity: sha512-/dP5jLvZYskk6eVxI/5uaC1AVEbE7B2yuQ+9O3Z9plPIlZXyZxzXHf06s4gwsS4hAc7TDs3DaB+AnfMVLOPHbQ==} engines: {node: '>=14.0.0'} @@ -1195,6 +1334,52 @@ packages: - aws-crt dev: false + /@aws-sdk/client-sso/3.654.0: + resolution: {integrity: sha512-4kBxs2IzCDtj6a6lRXa/lXK5wWpMGzwKtb+HMXf/rJYVM6x7wYRzc1hYrOd3DYkFQ/sR3dUFj+0mTP0os3aAbA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.654.0 + '@aws-sdk/middleware-host-header': 3.654.0 + '@aws-sdk/middleware-logger': 3.654.0 + '@aws-sdk/middleware-recursion-detection': 3.654.0 + '@aws-sdk/middleware-user-agent': 3.654.0 + '@aws-sdk/region-config-resolver': 3.654.0 + '@aws-sdk/types': 3.654.0 + '@aws-sdk/util-endpoints': 3.654.0 + '@aws-sdk/util-user-agent-browser': 3.654.0 + '@aws-sdk/util-user-agent-node': 3.654.0 + '@smithy/config-resolver': 3.0.8 + '@smithy/core': 2.4.5 + '@smithy/fetch-http-handler': 3.2.8 + '@smithy/hash-node': 3.0.6 + '@smithy/invalid-dependency': 3.0.6 + '@smithy/middleware-content-length': 3.0.8 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-retry': 3.0.20 + '@smithy/middleware-serde': 3.0.6 + '@smithy/middleware-stack': 3.0.6 + '@smithy/node-config-provider': 3.1.7 + '@smithy/node-http-handler': 3.2.3 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.4 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.20 + '@smithy/util-defaults-mode-node': 3.0.20 + '@smithy/util-endpoints': 2.1.2 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-retry': 3.0.6 + '@smithy/util-utf8': 3.0.0 + tslib: 2.7.0 + transitivePeerDependencies: + - aws-crt + dev: false + /@aws-sdk/client-sts/3.353.0: resolution: {integrity: sha512-jOnh242TtxG6st60AxLSav0MTgYlJn4c8ZDxk4Wk4+n5bypnXRrqgVXob99lyVnCRfP3OsDl1eilcVp94EXzVw==} engines: {node: '>=14.0.0'} @@ -1285,6 +1470,54 @@ packages: - aws-crt dev: false + /@aws-sdk/client-sts/3.654.0: + resolution: {integrity: sha512-tyHa8jsBy+/NQZFHm6Q2Q09Vi9p3EH4yPy6PU8yPewpi2klreObtrUd0anJa6nzjS9SSuqnlZWsRic3cQ4QwCg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.654.0_@aws-sdk+client-sts@3.654.0 + '@aws-sdk/core': 3.654.0 + '@aws-sdk/credential-provider-node': 3.654.0_dd593e7ba5da13c837cde3c86c12c068 + '@aws-sdk/middleware-host-header': 3.654.0 + '@aws-sdk/middleware-logger': 3.654.0 + '@aws-sdk/middleware-recursion-detection': 3.654.0 + '@aws-sdk/middleware-user-agent': 3.654.0 + '@aws-sdk/region-config-resolver': 3.654.0 + '@aws-sdk/types': 3.654.0 + '@aws-sdk/util-endpoints': 3.654.0 + '@aws-sdk/util-user-agent-browser': 3.654.0 + '@aws-sdk/util-user-agent-node': 3.654.0 + '@smithy/config-resolver': 3.0.8 + '@smithy/core': 2.4.5 + '@smithy/fetch-http-handler': 3.2.8 + '@smithy/hash-node': 3.0.6 + '@smithy/invalid-dependency': 3.0.6 + '@smithy/middleware-content-length': 3.0.8 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-retry': 3.0.20 + '@smithy/middleware-serde': 3.0.6 + '@smithy/middleware-stack': 3.0.6 + '@smithy/node-config-provider': 3.1.7 + '@smithy/node-http-handler': 3.2.3 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.4 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.20 + '@smithy/util-defaults-mode-node': 3.0.20 + '@smithy/util-endpoints': 2.1.2 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-retry': 3.0.6 + '@smithy/util-utf8': 3.0.0 + tslib: 2.7.0 + transitivePeerDependencies: + - aws-crt + dev: false + /@aws-sdk/config-resolver/3.353.0: resolution: {integrity: sha512-rJJ1ebb8E4vfdGWym6jql1vodV+NUEATI1QqlwxQ0AZ8MGPIsT3uR52VyX7gp+yIrLZBJZdGYVNwrWSJgZ3B3w==} engines: {node: '>=14.0.0'} @@ -1305,6 +1538,22 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/core/3.654.0: + resolution: {integrity: sha512-4Rwx7BVaNaFqmXBDmnOkMbyuIFFbpZ+ru4lr660p45zY1QoNNSalechfoRffcokLFOZO+VWEJkdcorPUUU993w==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/core': 2.4.5 + '@smithy/node-config-provider': 3.1.7 + '@smithy/property-provider': 3.1.6 + '@smithy/protocol-http': 4.1.3 + '@smithy/signature-v4': 4.1.4 + '@smithy/smithy-client': 3.3.4 + '@smithy/types': 3.4.2 + '@smithy/util-middleware': 3.0.6 + fast-xml-parser: 4.4.1 + tslib: 2.7.0 + dev: false + /@aws-sdk/credential-provider-env/3.353.0: resolution: {integrity: sha512-Y4VsNS8O1FAD5J7S5itOhnOghQ5LIXlZ44t35nF8cbcF+JPvY3ToKzYpjYN1jM7DXKqU4shtqgYpzSqxlvEgKQ==} engines: {node: '>=14.0.0'} @@ -1314,6 +1563,31 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/credential-provider-env/3.654.0: + resolution: {integrity: sha512-kogsx3Ql81JouHS7DkheCDU9MYAvK0AokxjcshDveGmf7BbgbWCA8Fnb9wjQyNDaOXNvkZu8Z8rgkX91z324/w==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/property-provider': 3.1.6 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@aws-sdk/credential-provider-http/3.654.0: + resolution: {integrity: sha512-tgmAH4MBi/aDR882lfw48+tDV95ZH3GWc1Eoe6DpNLiM3GN2VfU/cZwuHmi6aq+vAbdIlswBHJ/+va0fOvlyjw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/fetch-http-handler': 3.2.8 + '@smithy/node-http-handler': 3.2.3 + '@smithy/property-provider': 3.1.6 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.4 + '@smithy/types': 3.4.2 + '@smithy/util-stream': 3.1.8 + tslib: 2.7.0 + dev: false + /@aws-sdk/credential-provider-imds/3.353.0: resolution: {integrity: sha512-n70yvXBN7E6NX7vA/wLTqyVayu/QKYsPvVn8Y+0A/j5oXXlVY+hQvjjEaNo0Zq1U8Z0L/kj3mutDpe57nTLKSg==} engines: {node: '>=14.0.0'} @@ -1370,6 +1644,29 @@ packages: - aws-crt dev: false + /@aws-sdk/credential-provider-ini/3.654.0_dd593e7ba5da13c837cde3c86c12c068: + resolution: {integrity: sha512-DKSdaNu2hwdmuvnm9KnA0NLqMWxxmxSOLWjSUSoFIm++wGXUjPrRMFYKvMktaXnPuyf5my8gF/yGbwzPZ8wlTg==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.654.0 + dependencies: + '@aws-sdk/client-sts': 3.654.0 + '@aws-sdk/credential-provider-env': 3.654.0 + '@aws-sdk/credential-provider-http': 3.654.0 + '@aws-sdk/credential-provider-process': 3.654.0 + '@aws-sdk/credential-provider-sso': 3.654.0_@aws-sdk+client-sso-oidc@3.654.0 + '@aws-sdk/credential-provider-web-identity': 3.654.0_@aws-sdk+client-sts@3.654.0 + '@aws-sdk/types': 3.654.0 + '@smithy/credential-provider-imds': 3.2.3 + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + dev: false + /@aws-sdk/credential-provider-node/3.353.0: resolution: {integrity: sha512-OIyZ7OG1OQJ1aQGAu78hggSkK4jiWO1/Sm6wj5wvwylbST8NnR+dHjikZGFB3hoYt1uEe2O2LeGW67bI54VIEQ==} engines: {node: '>=14.0.0'} @@ -1406,6 +1703,28 @@ packages: - aws-crt dev: false + /@aws-sdk/credential-provider-node/3.654.0_dd593e7ba5da13c837cde3c86c12c068: + resolution: {integrity: sha512-wPV7CNYaXDEc+SS+3R0v8SZwkHRUE1z2k2j1d49tH5QBDT4tb/k2V/biXWkwSk3hbR+IMWXmuhJDv/5lybhIvg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/credential-provider-env': 3.654.0 + '@aws-sdk/credential-provider-http': 3.654.0 + '@aws-sdk/credential-provider-ini': 3.654.0_dd593e7ba5da13c837cde3c86c12c068 + '@aws-sdk/credential-provider-process': 3.654.0 + '@aws-sdk/credential-provider-sso': 3.654.0_@aws-sdk+client-sso-oidc@3.654.0 + '@aws-sdk/credential-provider-web-identity': 3.654.0_@aws-sdk+client-sts@3.654.0 + '@aws-sdk/types': 3.654.0 + '@smithy/credential-provider-imds': 3.2.3 + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' + - aws-crt + dev: false + /@aws-sdk/credential-provider-process/3.353.0: resolution: {integrity: sha512-IBkuxj3pCdmnTzIcRXhq+5sp1hsWACQLi9fHLK+mDEgaiaO+u2r3Th5tV3rJUfNhZY4qa62QNGsHwsVstVxGvw==} engines: {node: '>=14.0.0'} @@ -1426,6 +1745,17 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/credential-provider-process/3.654.0: + resolution: {integrity: sha512-PmQoo8sZ9Q2Ow8OMzK++Z9lI7MsRUG7sNq3E72DVA215dhtTICTDQwGlXH2AAmIp7n+G9LLRds+4wo2ehG4mkg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@aws-sdk/credential-provider-sso/3.353.0: resolution: {integrity: sha512-S16tpQ7Zra2O3PNCV4a89wn8wVEgv8oRwjF7p87AM902fXEuag4VHIhaI/TgANQT737JDA/ZCFL2XSilCbHxYQ==} engines: {node: '>=14.0.0'} @@ -1454,6 +1784,22 @@ packages: - aws-crt dev: false + /@aws-sdk/credential-provider-sso/3.654.0_@aws-sdk+client-sso-oidc@3.654.0: + resolution: {integrity: sha512-7GFme6fWEdA/XYKzZPOAdj/jS6fMBy1NdSIZsDXikS0v9jU+ZzHrAaWt13YLzHyjgxB9Sg9id9ncdY1IiubQXQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/client-sso': 3.654.0 + '@aws-sdk/token-providers': 3.654.0_@aws-sdk+client-sso-oidc@3.654.0 + '@aws-sdk/types': 3.654.0 + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + dev: false + /@aws-sdk/credential-provider-web-identity/3.353.0: resolution: {integrity: sha512-l3TdZB6tEDhLIl0oLIIy1njlxogpyIXSMW9fpuHBt7LDUwfBdCwVPE6+JpGXra6tJAfRQSv5l0lYx5osSLq98g==} engines: {node: '>=14.0.0'} @@ -1472,6 +1818,19 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/credential-provider-web-identity/3.654.0_@aws-sdk+client-sts@3.654.0: + resolution: {integrity: sha512-6a2g9gMtZToqSu+CusjNK5zvbLJahQ9di7buO3iXgbizXpLXU1rnawCpWxwslMpT5fLgMSKDnKDrr6wdEk7jSw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.654.0 + dependencies: + '@aws-sdk/client-sts': 3.654.0 + '@aws-sdk/types': 3.654.0 + '@smithy/property-provider': 3.1.6 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@aws-sdk/eventstream-codec/3.347.0: resolution: {integrity: sha512-61q+SyspjsaQ4sdgjizMyRgVph2CiW4aAtfpoH69EJFJfTxTR/OqnZ9Jx/3YiYi0ksrvDenJddYodfWWJqD8/w==} dependencies: @@ -1579,6 +1938,16 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/middleware-host-header/3.654.0: + resolution: {integrity: sha512-rxGgVHWKp8U2ubMv+t+vlIk7QYUaRCHaVpmUlJv0Wv6Q0KeO9a42T9FxHphjOTlCGQOLcjCreL9CF8Qhtb4mdQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@aws-sdk/middleware-logger/3.347.0: resolution: {integrity: sha512-NYC+Id5UCkVn+3P1t/YtmHt75uED06vwaKyxDy0UmB2K66PZLVtwWbLpVWrhbroaw1bvUHYcRyQ9NIfnVcXQjA==} engines: {node: '>=14.0.0'} @@ -1587,6 +1956,15 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/middleware-logger/3.654.0: + resolution: {integrity: sha512-OQYb+nWlmASyXfRb989pwkJ9EVUMP1CrKn2eyTk3usl20JZmKo2Vjis6I0tLUkMSxMhnBJJlQKyWkRpD/u1FVg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@aws-sdk/middleware-recursion-detection/3.347.0: resolution: {integrity: sha512-qfnSvkFKCAMjMHR31NdsT0gv5Sq/ZHTUD4yQsSLpbVQ6iYAS834lrzXt41iyEHt57Y514uG7F/Xfvude3u4icQ==} engines: {node: '>=14.0.0'} @@ -1596,6 +1974,16 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/middleware-recursion-detection/3.654.0: + resolution: {integrity: sha512-gKSomgltKVmsT8sC6W7CrADZ4GHwX9epk3GcH6QhebVO3LA9LRbkL3TwOPUXakxxOLLUTYdOZLIOtFf7iH00lg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@aws-sdk/middleware-retry/3.353.0: resolution: {integrity: sha512-v81NEzDGGvnpvFUy388razpicn7STwBA5gItlr3Ukz8ZWWudfQarTBr0nfVyODXb+76du2LwzEQOd6YtfoOZ+w==} engines: {node: '>=14.0.0'} @@ -1622,6 +2010,20 @@ packages: uuid: 8.3.2 dev: false + /@aws-sdk/middleware-sdk-ec2/3.654.0: + resolution: {integrity: sha512-DNC8S53duM6Dx9QuzmVRjZgEcYzsWMxeVU35bzI9ZMHPvw/91VQ//tVIWv1qjnQZGafYC0pPRspMU8V7Atx9GA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.654.0 + '@aws-sdk/util-format-url': 3.654.0 + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/protocol-http': 4.1.3 + '@smithy/signature-v4': 4.1.4 + '@smithy/smithy-client': 3.3.4 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@aws-sdk/middleware-sdk-sts/3.353.0: resolution: {integrity: sha512-GDpjznRBjvCvBfyLEhWb/FSmsnFR+nhBQC0N7d8pqWRqI084sy2ZRyQ6hNDWnImi6AvOabTBSfDm6cB5RexDow==} engines: {node: '>=14.0.0'} @@ -1689,6 +2091,17 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/middleware-user-agent/3.654.0: + resolution: {integrity: sha512-liCcqPAyRsr53cy2tYu4qeH4MMN0eh9g6k56XzI5xd4SghXH5YWh4qOYAlQ8T66ZV4nPMtD8GLtLXGzsH8moFg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.654.0 + '@aws-sdk/util-endpoints': 3.654.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@aws-sdk/node-config-provider/3.353.0: resolution: {integrity: sha512-4j0dFHAIa0NwQOPZ/PgkyfCWRaaLhilGbL/cOHkndtUdV54WtG+9+21pKNtakfxncF0irtZvVOv/CW/5x909ZQ==} engines: {node: '>=14.0.0'} @@ -1753,6 +2166,18 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/region-config-resolver/3.654.0: + resolution: {integrity: sha512-ydGOrXJxj3x0sJhsXyTmvJVLAE0xxuTWFJihTl67RtaO7VRNtd82I3P3bwoMMaDn5WpmV5mPo8fEUDRlBm3fPg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/node-config-provider': 3.1.7 + '@smithy/types': 3.4.2 + '@smithy/util-config-provider': 3.0.0 + '@smithy/util-middleware': 3.0.6 + tslib: 2.7.0 + dev: false + /@aws-sdk/service-error-classification/3.347.0: resolution: {integrity: sha512-xZ3MqSY81Oy2gh5g0fCtooAbahqh9VhsF8vcKjVX8+XPbGC8y+kej82+MsMg4gYL8gRFB9u4hgYbNgIS6JTAvg==} engines: {node: '>=14.0.0'} @@ -1837,6 +2262,20 @@ packages: - aws-crt dev: false + /@aws-sdk/token-providers/3.654.0_@aws-sdk+client-sso-oidc@3.654.0: + resolution: {integrity: sha512-D8GeJYmvbfWkQDtTB4owmIobSMexZel0fOoetwvgCQ/7L8VPph3Q2bn1TRRIXvH7wdt6DcDxA3tKMHPBkT3GlA==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sso-oidc': ^3.654.0 + dependencies: + '@aws-sdk/client-sso-oidc': 3.654.0_@aws-sdk+client-sts@3.654.0 + '@aws-sdk/types': 3.654.0 + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@aws-sdk/types/3.347.0: resolution: {integrity: sha512-GkCMy79mdjU9OTIe5KT58fI/6uqdf8UmMdWqVHmFJ+UpEzOci7L/uw4sOXWo7xpPzLs6cJ7s5ouGZW4GRPmHFA==} engines: {node: '>=14.0.0'} @@ -1844,6 +2283,14 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/types/3.654.0: + resolution: {integrity: sha512-VWvbED3SV+10QJIcmU/PKjsKilsTV16d1I7/on4bvD/jo1qGeMXqLDBSen3ks/tuvXZF/mFc7ZW/W2DiLVtO7A==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@aws-sdk/url-parser/3.347.0: resolution: {integrity: sha512-lhrnVjxdV7hl+yCnJfDZOaVLSqKjxN20MIOiijRiqaWGLGEAiSqBreMhL89X1WKCifxAs4zZf9YB9SbdziRpAA==} dependencies: @@ -1930,6 +2377,26 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/util-endpoints/3.654.0: + resolution: {integrity: sha512-i902fcBknHs0Irgdpi62+QMvzxE+bczvILXigYrlHL4+PiEnlMVpni5L5W1qCkNZXf8AaMrSBuR1NZAGp6UOUw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/types': 3.4.2 + '@smithy/util-endpoints': 2.1.2 + tslib: 2.7.0 + dev: false + + /@aws-sdk/util-format-url/3.654.0: + resolution: {integrity: sha512-2yAlJ/l1uTJhS52iu4+/EvdIyQhDBL+nATY8rEjFI0H+BHGVrJIH2CL4DByhvi2yvYwsqQX0HYah6pF/yoXukA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/querystring-builder': 3.0.6 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@aws-sdk/util-hex-encoding/3.310.0: resolution: {integrity: sha512-sVN7mcCCDSJ67pI1ZMtk84SKGqyix6/0A1Ab163YKn+lFBQRMKexleZzpYzNGxYzmQS6VanP/cfU7NiLQOaSfA==} engines: {node: '>=14.0.0'} @@ -1941,7 +2408,7 @@ packages: resolution: {integrity: sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==} engines: {node: '>=14.0.0'} dependencies: - tslib: 2.5.0 + tslib: 2.7.0 dev: false /@aws-sdk/util-middleware/3.347.0: @@ -1974,6 +2441,15 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/util-user-agent-browser/3.654.0: + resolution: {integrity: sha512-ykYAJqvnxLt7wfrqya28wuH3/7NdrwzfiFd7NqEVQf7dXVxL5RPEpD7DxjcyQo3DsHvvdUvGZVaQhozycn1pzA==} + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/types': 3.4.2 + bowser: 2.11.0 + tslib: 2.7.0 + dev: false + /@aws-sdk/util-user-agent-node/3.353.0: resolution: {integrity: sha512-wAviGE0NFqGnaBi6JdjCjp/3DA4AprXQayg9fGphRmP6ncOHNHGonPj/60l+Itu+m78V2CbIS76jqCdUtyAZEQ==} engines: {node: '>=14.0.0'} @@ -2002,6 +2478,21 @@ packages: tslib: 2.5.0 dev: false + /@aws-sdk/util-user-agent-node/3.654.0: + resolution: {integrity: sha512-a0ojjdBN6pqv6gB4H/QPPSfhs7mFtlVwnmKCM/QrTaFzN0U810PJ1BST3lBx5sa23I5jWHGaoFY+5q65C3clLQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + dependencies: + '@aws-sdk/types': 3.654.0 + '@smithy/node-config-provider': 3.1.7 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@aws-sdk/util-utf8-browser/3.259.0: resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} dependencies: @@ -5723,6 +6214,175 @@ packages: dependencies: '@sinonjs/commons': 1.8.3 + /@smithy/abort-controller/3.1.4: + resolution: {integrity: sha512-VupaALAQlXViW3/enTf/f5l5JZYSAxoJL7f0nanhNNKnww6DGCg1oYIuNP78KDugnkwthBO6iEcym16HhWV8RQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/config-resolver/3.0.8: + resolution: {integrity: sha512-Tv1obAC18XOd2OnDAjSWmmthzx6Pdeh63FbLin8MlPiuJ2ATpKkq0NcNOJFr0dO+JmZXnwu8FQxKJ3TKJ3Hulw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/node-config-provider': 3.1.7 + '@smithy/types': 3.4.2 + '@smithy/util-config-provider': 3.0.0 + '@smithy/util-middleware': 3.0.6 + tslib: 2.7.0 + dev: false + + /@smithy/core/2.4.5: + resolution: {integrity: sha512-Z0qlPXgZ0pouYgnu/cZTEYeRAvniiKZmVl4wIbZHX/nEMHkMDV9ao6KFArsU9KndE0TuhL149xcRx45wfw1YCA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-retry': 3.0.20 + '@smithy/middleware-serde': 3.0.6 + '@smithy/protocol-http': 4.1.3 + '@smithy/smithy-client': 3.3.4 + '@smithy/types': 3.4.2 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-utf8': 3.0.0 + tslib: 2.7.0 + dev: false + + /@smithy/credential-provider-imds/3.2.3: + resolution: {integrity: sha512-VoxMzSzdvkkjMJNE38yQgx4CfnmT+Z+5EUXkg4x7yag93eQkVQgZvN3XBSHC/ylfBbLbAtdu7flTCChX9I+mVg==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/node-config-provider': 3.1.7 + '@smithy/property-provider': 3.1.6 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 + tslib: 2.7.0 + dev: false + + /@smithy/fetch-http-handler/3.2.8: + resolution: {integrity: sha512-Lqe0B8F5RM7zkw//6avq1SJ8AfaRd3ubFUS1eVp5WszV7p6Ne5hQ4dSuMHDpNRPhgTvj4va9Kd/pcVigHEHRow==} + dependencies: + '@smithy/protocol-http': 4.1.3 + '@smithy/querystring-builder': 3.0.6 + '@smithy/types': 3.4.2 + '@smithy/util-base64': 3.0.0 + tslib: 2.7.0 + dev: false + + /@smithy/hash-node/3.0.6: + resolution: {integrity: sha512-c/FHEdKK/7DU2z6ZE91L36ahyXWayR3B+FzELjnYq7wH5YqIseM24V+pWCS9kFn1Ln8OFGTf+pyYPiHZuX0s/Q==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.7.0 + dev: false + + /@smithy/invalid-dependency/3.0.6: + resolution: {integrity: sha512-czM7Ioq3s8pIXht7oD+vmgy4Wfb4XavU/k/irO8NdXFFOx7YAlsCCcKOh/lJD1mJSYQqiR7NmpZ9JviryD/7AQ==} + dependencies: + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/is-array-buffer/2.2.0: + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} + dependencies: + tslib: 2.7.0 + dev: false + + /@smithy/is-array-buffer/3.0.0: + resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.7.0 + dev: false + + /@smithy/middleware-content-length/3.0.8: + resolution: {integrity: sha512-VuyszlSO49WKh3H9/kIO2kf07VUwGV80QRiaDxUfP8P8UKlokz381ETJvwLhwuypBYhLymCYyNhB3fLAGBX2og==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/middleware-endpoint/3.1.3: + resolution: {integrity: sha512-KeM/OrK8MVFUsoJsmCN0MZMVPjKKLudn13xpgwIMpGTYpA8QZB2Xq5tJ+RE6iu3A6NhOI4VajDTwBsm8pwwrhg==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/middleware-serde': 3.0.6 + '@smithy/node-config-provider': 3.1.7 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 + '@smithy/url-parser': 3.0.6 + '@smithy/util-middleware': 3.0.6 + tslib: 2.7.0 + dev: false + + /@smithy/middleware-retry/3.0.20: + resolution: {integrity: sha512-HELCOVwYw5hFDBm69d+LmmGjBCjWnwp/t7SJiHmp+c4u9vgfIaCjdSeIdnlOsLrr5ic5jGTJXvJFUQnd987b/g==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/node-config-provider': 3.1.7 + '@smithy/protocol-http': 4.1.3 + '@smithy/service-error-classification': 3.0.6 + '@smithy/smithy-client': 3.3.4 + '@smithy/types': 3.4.2 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-retry': 3.0.6 + tslib: 2.7.0 + uuid: 9.0.1 + dev: false + + /@smithy/middleware-serde/3.0.6: + resolution: {integrity: sha512-KKTUSl1MzOM0MAjGbudeaVNtIDo+PpekTBkCNwvfZlKndodrnvRo+00USatiyLOc0ujjO9UydMRu3O9dYML7ag==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/middleware-stack/3.0.6: + resolution: {integrity: sha512-2c0eSYhTQ8xQqHMcRxLMpadFbTXg6Zla5l0mwNftFCZMQmuhI7EbAJMx6R5eqfuV3YbJ3QGyS3d5uSmrHV8Khg==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/node-config-provider/3.1.7: + resolution: {integrity: sha512-g3mfnC3Oo8pOI0dYuPXLtdW1WGVb3bR2tkV21GNkm0ZvQjLTtamXAwCWt/FCb0HGvKt3gHHmF1XerG0ICfalOg==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/property-provider': 3.1.6 + '@smithy/shared-ini-file-loader': 3.1.7 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/node-http-handler/3.2.3: + resolution: {integrity: sha512-/gcm5DJ3k1b1zEInzBGAZC8ntJ+jwrz1NcSIu+9dSXd1FfG0G6QgkDI40tt8/WYUbHtLyo8fEqtm2v29koWo/w==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/abort-controller': 3.1.4 + '@smithy/protocol-http': 4.1.3 + '@smithy/querystring-builder': 3.0.6 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/property-provider/3.1.6: + resolution: {integrity: sha512-NK3y/T7Q/Bw+Z8vsVs9MYIQ5v7gOX7clyrXcwhhIBQhbPgRl6JDrZbusO9qWDhcEus75Tg+VCxtIRfo3H76fpw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@smithy/protocol-http/1.0.1: resolution: {integrity: sha512-9OrEn0WfOVtBNYJUjUAn9AOiJ4lzERCJJ/JeZs8E6yajTGxBaFRxUnNBHiNqoDJVg076hY36UmEnPx7xXrvUSg==} engines: {node: '>=14.0.0'} @@ -5731,6 +6391,72 @@ packages: tslib: 2.5.0 dev: false + /@smithy/protocol-http/4.1.3: + resolution: {integrity: sha512-GcbMmOYpH9iRqtC05RbRnc/0FssxSTHlmaNhYBTgSgNCYpdR3Kt88u5GAZTBmouzv+Zlj/VRv92J9ruuDeJuEw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/querystring-builder/3.0.6: + resolution: {integrity: sha512-sQe08RunoObe+Usujn9+R2zrLuQERi3CWvRO3BvnoWSYUaIrLKuAIeY7cMeDax6xGyfIP3x/yFWbEKSXvOnvVg==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + '@smithy/util-uri-escape': 3.0.0 + tslib: 2.7.0 + dev: false + + /@smithy/querystring-parser/3.0.6: + resolution: {integrity: sha512-UJKw4LlEkytzz2Wq+uIdHf6qOtFfee/o7ruH0jF5I6UAuU+19r9QV7nU3P/uI0l6+oElRHmG/5cBBcGJrD7Ozg==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/service-error-classification/3.0.6: + resolution: {integrity: sha512-53SpchU3+DUZrN7J6sBx9tBiCVGzsib2e4sc512Q7K9fpC5zkJKs6Z9s+qbMxSYrkEkle6hnMtrts7XNkMJJMg==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + dev: false + + /@smithy/shared-ini-file-loader/3.1.7: + resolution: {integrity: sha512-IA4K2qTJYXkF5OfVN4vsY1hfnUZjaslEE8Fsr/gGFza4TAC2A9NfnZuSY2srQIbt9bwtjHiAayrRVgKse4Q7fA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/signature-v4/4.1.4: + resolution: {integrity: sha512-72MiK7xYukNsnLJI9NqvUHqTu0ziEsfMsYNlWpiJfuGQnCTFKpckThlEatirvcA/LmT1h7rRO+pJD06PYsPu9Q==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/is-array-buffer': 3.0.0 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 + '@smithy/util-hex-encoding': 3.0.0 + '@smithy/util-middleware': 3.0.6 + '@smithy/util-uri-escape': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.7.0 + dev: false + + /@smithy/smithy-client/3.3.4: + resolution: {integrity: sha512-NKw/2XxOW/Rg3rzB90HxsmGok5oS6vRzJgMh/JN4BHaOQQ4q5OuX999GmOGxEp730wbpIXIowfKZmIMXkG4v0Q==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/middleware-endpoint': 3.1.3 + '@smithy/middleware-stack': 3.0.6 + '@smithy/protocol-http': 4.1.3 + '@smithy/types': 3.4.2 + '@smithy/util-stream': 3.1.8 + tslib: 2.7.0 + dev: false + /@smithy/types/1.0.0: resolution: {integrity: sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg==} engines: {node: '>=14.0.0'} @@ -5738,6 +6464,169 @@ packages: tslib: 2.5.0 dev: false + /@smithy/types/3.4.2: + resolution: {integrity: sha512-tHiFcfcVedVBHpmHUEUHOCCih8iZbIAYn9NvPsNzaPm/237I3imdDdZoOC8c87H5HBAVEa06tTgb+OcSWV9g5w==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.7.0 + dev: false + + /@smithy/url-parser/3.0.6: + resolution: {integrity: sha512-47Op/NU8Opt49KyGpHtVdnmmJMsp2hEwBdyjuFB9M2V5QVOwA7pBhhxKN5z6ztKGrMw76gd8MlbPuzzvaAncuQ==} + dependencies: + '@smithy/querystring-parser': 3.0.6 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/util-base64/3.0.0: + resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.7.0 + dev: false + + /@smithy/util-body-length-browser/3.0.0: + resolution: {integrity: sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==} + dependencies: + tslib: 2.7.0 + dev: false + + /@smithy/util-body-length-node/3.0.0: + resolution: {integrity: sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.7.0 + dev: false + + /@smithy/util-buffer-from/2.2.0: + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} + dependencies: + '@smithy/is-array-buffer': 2.2.0 + tslib: 2.7.0 + dev: false + + /@smithy/util-buffer-from/3.0.0: + resolution: {integrity: sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/is-array-buffer': 3.0.0 + tslib: 2.7.0 + dev: false + + /@smithy/util-config-provider/3.0.0: + resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.7.0 + dev: false + + /@smithy/util-defaults-mode-browser/3.0.20: + resolution: {integrity: sha512-HpYmCpEThQJpCKzwzrGrklhdegRfuXI9keHRrHidbyEMliCdgic6t38MikJeZEkdIcEMhO1g95HIYMzjUzB+xg==} + engines: {node: '>= 10.0.0'} + dependencies: + '@smithy/property-provider': 3.1.6 + '@smithy/smithy-client': 3.3.4 + '@smithy/types': 3.4.2 + bowser: 2.11.0 + tslib: 2.7.0 + dev: false + + /@smithy/util-defaults-mode-node/3.0.20: + resolution: {integrity: sha512-atdsHNtAX0rwTvRRGsrONU0C0XzapH6tI8T1y/OReOvWN7uBwXqqWRft6m8egU2DgeReU0xqT3PHdGCe5VRaaQ==} + engines: {node: '>= 10.0.0'} + dependencies: + '@smithy/config-resolver': 3.0.8 + '@smithy/credential-provider-imds': 3.2.3 + '@smithy/node-config-provider': 3.1.7 + '@smithy/property-provider': 3.1.6 + '@smithy/smithy-client': 3.3.4 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/util-endpoints/2.1.2: + resolution: {integrity: sha512-FEISzffb4H8DLzGq1g4MuDpcv6CIG15fXoQzDH9SjpRJv6h7J++1STFWWinilG0tQh9H1v2UKWG19Jjr2B16zQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/node-config-provider': 3.1.7 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/util-hex-encoding/3.0.0: + resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.7.0 + dev: false + + /@smithy/util-middleware/3.0.6: + resolution: {integrity: sha512-BxbX4aBhI1O9p87/xM+zWy0GzT3CEVcXFPBRDoHAM+pV0eSW156pR+PSYEz0DQHDMYDsYAflC2bQNz2uaDBUZQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/util-retry/3.0.6: + resolution: {integrity: sha512-BRZiuF7IwDntAbevqMco67an0Sr9oLQJqqRCsSPZZHYRnehS0LHDAkJk/pSmI7Z8c/1Vet294H7fY2fWUgB+Rg==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/service-error-classification': 3.0.6 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + + /@smithy/util-stream/3.1.8: + resolution: {integrity: sha512-hoKOqSmb8FD3WLObuB5hwbM7bNIWgcnvkThokTvVq7J5PKjlLUK5qQQcB9zWLHIoSaIlf3VIv2OxZY2wtQjcRQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/fetch-http-handler': 3.2.8 + '@smithy/node-http-handler': 3.2.3 + '@smithy/types': 3.4.2 + '@smithy/util-base64': 3.0.0 + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-hex-encoding': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.7.0 + dev: false + + /@smithy/util-uri-escape/3.0.0: + resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.7.0 + dev: false + + /@smithy/util-utf8/2.3.0: + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} + dependencies: + '@smithy/util-buffer-from': 2.2.0 + tslib: 2.7.0 + dev: false + + /@smithy/util-utf8/3.0.0: + resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/util-buffer-from': 3.0.0 + tslib: 2.7.0 + dev: false + + /@smithy/util-waiter/3.1.5: + resolution: {integrity: sha512-jYOSvM3H6sZe3CHjzD2VQNCjWBJs+4DbtwBMvUp9y5EnnwNa7NQxTeYeQw0CKCAdGGZ3QvVkyJmvbvs5M/B10A==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/abort-controller': 3.1.4 + '@smithy/types': 3.4.2 + tslib: 2.7.0 + dev: false + /@tsconfig/node10/1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} @@ -8709,6 +9598,13 @@ packages: strnum: 1.0.5 dev: false + /fast-xml-parser/4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: false + /fastq/1.13.0: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} dependencies: @@ -13452,6 +14348,10 @@ packages: /tslib/2.5.0: resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + /tslib/2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + dev: false + /tsoa/5.1.1: resolution: {integrity: sha512-U6+5CyD3+u9Dtza0fBnv4+lgmbZEskYljzRpKf3edGCAGtMKD2rfjtDw9jUdTfWb1FEDvsnR3pRvsSGBXaOdsA==} engines: {node: '>=12.0.0', yarn: '>=1.9.4'} @@ -13721,6 +14621,11 @@ packages: hasBin: true dev: false + /uuid/9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + dev: false + /v8-compile-cache-lib/3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}