diff --git a/docs/core/logger.md b/docs/core/logger.md index f4ae99ca9c..fb1c02aed4 100644 --- a/docs/core/logger.md +++ b/docs/core/logger.md @@ -282,6 +282,125 @@ To remove the keys you added, you can use the `removeKeys` method. !!! tip "Logger will automatically ignore any key with an `undefined` value" +#### Clearing all state + +The Logger utility is commonly initialized in the global scope, outside the handler function. +When you attach persistent log attributes through the `persistentLogAttributes` constructor option or via the `appendKeys`, `addPersistentLogAttributes` methods, this data is attached to the Logger instance. + +Due to the [Lambda Execution Context reuse](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html), this means those persistent log attributes may be reused across invocations. +If you want to make sure that persistent attributes added **inside the handler function** code are not persisted across invocations, you can set the parameter `clearState` as `true` in the `injectLambdaContext` middleware or decorator. + +=== "Middy Middleware" + + ```typescript hl_lines="27" + import { Logger, injectLambdaContext } from '@aws-lambda-powertools/logger'; + import middy from '@middy/core'; + + // Persistent attributes added outside the handler will be + // cached across invocations + const logger = new Logger({ + logLevel: 'DEBUG', + persistentLogAttributes: { + foo: "bar", + biz: "baz" + } + }); + + const lambdaHandler = async (event: { special_key: string }, _context: any): Promise => { + // Persistent attributes added inside the handler will NOT be cached + // across invocations + if (event['special_key'] === '123456') { + logger.appendKeys({ + details: { special_key: event['special_key'] } + }); + } + logger.debug('This is a DEBUG log'); + }; + + // Enable the clear state flag + export const handler = middy(lambdaHandler) + .use(injectLambdaContext(logger, { clearState: true })); + ``` + +=== "Decorator" + + ```typescript hl_lines="16" + import { Logger } from '@aws-lambda-powertools/logger'; + import { LambdaInterface } from '@aws-lambda-powertools/commons'; + + // Persistent attributes added outside the handler will be + // cached across invocations + const logger = new Logger({ + logLevel: 'DEBUG', + persistentLogAttributes: { + foo: "bar", + biz: "baz" + } + }); + + class Lambda implements LambdaInterface { + // Enable the clear state flag + @logger.injectLambdaContext({ clearState: true }) + public async handler(_event: any, _context: any): Promise { + // Persistent attributes added inside the handler will NOT be cached + // across invocations + if (event['special_key'] === '123456'){ + logger.appendKeys({ + details: { special_key: '123456' } + }); + } + logger.debug('This is a DEBUG log'); + } + + } + + export const myFunction = new Lambda(); + export const handler = myFunction.handler; + ``` + +In each case, the printed log will look like this: + +=== "First invocation" + + ```json hl_lines="2 4-7" + { + "biz": "baz", + "cold_start": true, + "details": { + "special_key": "123456", + }, + "foo": "bar", + "function_arn": "arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function", + "function_memory_size": 128, + "function_name": "foo-bar-function", + "function_request_id": "abcdef123456abcdef123456", + "level": "DEBUG", + "message": "This is a DEBUG log with the user_id", + "service": "hello-world", + "timestamp": "2021-12-12T22:32:54.670Z", + "xray_trace_id": "1-5759e988-bd862e3fe1be46a994272793" + } + ``` +=== "Second invocation" + + ```json hl_lines="2 4" + { + "biz": "baz", + "cold_start": false, + "foo": "bar", + "function_arn": "arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function", + "function_memory_size": 128, + "function_name": "foo-bar-function", + "function_request_id": "abcdef123456abcdef123456", + "level": "DEBUG", + "message": "This is a DEBUG log with the user_id", + "service": "hello-world", + "timestamp": "2021-12-12T22:40:23.120Z", + "xray_trace_id": "1-5759e988-bd862e3fe1be46a994272793" + } + ``` + + ### Appending additional data to a single log item You can append additional data to a single log item by passing objects as additional parameters. @@ -440,6 +559,7 @@ The error will be logged with default key name `error`, but you can also pass yo !!! tip "Logging errors and log level" You can also log errors using the `warn`, `info`, and `debug` methods. Be aware of the log level though, you might miss those errors when analyzing the log later depending on the log level configuration. + ## Advanced ### Using multiple Logger instances across your code diff --git a/package-lock.json b/package-lock.json index d7b9d016fa..89d85ba2e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -69,9 +69,9 @@ } }, "node_modules/@aws-cdk/cfnspec": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-2.27.0.tgz", - "integrity": "sha512-ankMDOeTijS1hVM668eJP7SDLlWI3cfZIN/Khx88je16IH6nSe4EbcvR4dTswMC4aTwcrJt/IMh202T3qdLQgA==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-2.25.0.tgz", + "integrity": "sha512-bdiPeudKouMV3lgEOKC3VyaNw7rfom3z08vfOpYd0J81mo5k71RaxzqJaOXRBM2JpXqD1L5UpnCf+WahFAc4vg==", "dev": true, "dependencies": { "fs-extra": "^9.1.0", @@ -79,9 +79,9 @@ } }, "node_modules/@aws-cdk/cloud-assembly-schema": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-2.27.0.tgz", - "integrity": "sha512-Lk66nwFA/EMhTL7BstLPluwiykDJUsYJO2lQETBBHX4kffCZbGeED0XyAvWvBSGqKJ2hdeOPAi0U/p1x9e06kA==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-2.25.0.tgz", + "integrity": "sha512-leAHCe12QCGrxbOG5AeqzPQhbZEZTqlyaxZfJaPHj0fxROXFfmO+9tIMgHADx+MwJtHQGa873I+3oVkcjRVxuw==", "bundleDependencies": [ "jsonschema", "semver" @@ -138,12 +138,12 @@ "license": "ISC" }, "node_modules/@aws-cdk/cloudformation-diff": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-2.27.0.tgz", - "integrity": "sha512-4yRycQQYtYbPmWaXJv8K1CVmJ4gWJc+3aPBecdr2DdM+brNASlDuu+VeuSKd+xrYSRgDSlj9eWGQIMIig4yEXg==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-2.25.0.tgz", + "integrity": "sha512-EkqlIgl8/NdvWSnQkS31zgUZA8/GAAk64fsz+9u/cTClmB7zRyhJaxflMWhpNsWWPJ20KybLRd9KiEgk8b5cOw==", "dev": true, "dependencies": { - "@aws-cdk/cfnspec": "2.27.0", + "@aws-cdk/cfnspec": "2.25.0", "@types/node": "^10.17.60", "chalk": "^4", "diff": "^5.0.0", @@ -162,22 +162,22 @@ "dev": true }, "node_modules/@aws-cdk/cx-api": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-2.27.0.tgz", - "integrity": "sha512-HqRMkGjBU5CglEThBATcGHnie7bqx2ij4gkHosuq9S8e8rA6cNMJeLK2i15vsxA3Pw6W5QKnrPQ6N8WKvyGfKg==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-2.25.0.tgz", + "integrity": "sha512-WzylRlcc6oIlYPlWHlZu+GW289U/Hz++rFPcif/flyI+z9Qw/OgZUnHLYUamSJ5N0jbffmeTHvgjdaIf8S7kWw==", "bundleDependencies": [ "semver" ], "dev": true, "dependencies": { - "@aws-cdk/cloud-assembly-schema": "2.27.0", + "@aws-cdk/cloud-assembly-schema": "2.25.0", "semver": "^7.3.7" }, "engines": { "node": ">= 14.15.0" }, "peerDependencies": { - "@aws-cdk/cloud-assembly-schema": "2.27.0" + "@aws-cdk/cloud-assembly-schema": "2.25.0" } }, "node_modules/@aws-cdk/cx-api/node_modules/lru-cache": { @@ -316,12 +316,12 @@ "link": true }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.78.0.tgz", - "integrity": "sha512-iz1YLwM2feJUj/y97yO4XmDeTxs+yZ1XJwQgoawKuc8IDBKUutnJNCHL5jL04WUKU7Nrlq+Hr2fCTScFh2z9zg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.110.0.tgz", + "integrity": "sha512-zok/WEVuK7Jh6V9YeA56pNZtxUASon9LTkS7vE65A4UFmNkPGNBCNgoiBcbhWfxwrZ8wtXcQk6rtUut39831mA==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -329,45 +329,46 @@ } }, "node_modules/@aws-sdk/client-dynamodb": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.100.0.tgz", - "integrity": "sha512-0/PDutv4DDEpckH89x0hn6yFJGjtGhV+JnVimMw0dT+f+plWt706RTqPKgLCPftKTEDWncoQlSux+FO7vvXb4Q==", + "version": "3.113.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.113.0.tgz", + "integrity": "sha512-tp0/smnSBqoPdSbZqRaH46S9cDkOMXsbG8Qph+gV3+SL+V3nJLeGFzA+3WPmF0l0Bnv0/9Tms4ySZB0MsBSy/A==", "dev": true, "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.100.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-node": "3.100.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-endpoint-discovery": "3.80.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.94.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.99.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", + "@aws-sdk/client-sts": "3.112.0", + "@aws-sdk/config-resolver": "3.110.0", + "@aws-sdk/credential-provider-node": "3.112.0", + "@aws-sdk/fetch-http-handler": "3.110.0", + "@aws-sdk/hash-node": "3.110.0", + "@aws-sdk/invalid-dependency": "3.110.0", + "@aws-sdk/middleware-content-length": "3.110.0", + "@aws-sdk/middleware-endpoint-discovery": "3.110.0", + "@aws-sdk/middleware-host-header": "3.110.0", + "@aws-sdk/middleware-logger": "3.110.0", + "@aws-sdk/middleware-recursion-detection": "3.110.0", + "@aws-sdk/middleware-retry": "3.110.0", + "@aws-sdk/middleware-serde": "3.110.0", + "@aws-sdk/middleware-signing": "3.110.0", + "@aws-sdk/middleware-stack": "3.110.0", + "@aws-sdk/middleware-user-agent": "3.110.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/node-http-handler": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/smithy-client": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/url-parser": "3.110.0", + "@aws-sdk/util-base64-browser": "3.109.0", "@aws-sdk/util-base64-node": "3.55.0", "@aws-sdk/util-body-length-browser": "3.55.0", "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.99.0", - "@aws-sdk/util-defaults-mode-node": "3.99.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", - "@aws-sdk/util-waiter": "3.78.0", + "@aws-sdk/util-defaults-mode-browser": "3.110.0", + "@aws-sdk/util-defaults-mode-node": "3.110.0", + "@aws-sdk/util-user-agent-browser": "3.110.0", + "@aws-sdk/util-user-agent-node": "3.110.0", + "@aws-sdk/util-utf8-browser": "3.109.0", + "@aws-sdk/util-utf8-node": "3.109.0", + "@aws-sdk/util-waiter": "3.110.0", "tslib": "^2.3.1", "uuid": "^8.3.2" }, @@ -376,40 +377,41 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.100.0.tgz", - "integrity": "sha512-nmBRUO5QfQ2IO8fHb37p8HT3n1ZooPb3sfTQejrpFH9Eq82VEOatIGt6yH3yTQ8+mhbabEhV5aY2wt/0D7wGVA==", + "version": "3.112.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.112.0.tgz", + "integrity": "sha512-FwFmiapxuVQiyMdDaBvCpajnJkVWEUHBdO+7rIpzgKHkODEPou5/AwboaGRPEFYULOyYeI0HiDFzpK0G6de+7Q==", "dev": true, "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.94.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.99.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", + "@aws-sdk/config-resolver": "3.110.0", + "@aws-sdk/fetch-http-handler": "3.110.0", + "@aws-sdk/hash-node": "3.110.0", + "@aws-sdk/invalid-dependency": "3.110.0", + "@aws-sdk/middleware-content-length": "3.110.0", + "@aws-sdk/middleware-host-header": "3.110.0", + "@aws-sdk/middleware-logger": "3.110.0", + "@aws-sdk/middleware-recursion-detection": "3.110.0", + "@aws-sdk/middleware-retry": "3.110.0", + "@aws-sdk/middleware-serde": "3.110.0", + "@aws-sdk/middleware-stack": "3.110.0", + "@aws-sdk/middleware-user-agent": "3.110.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/node-http-handler": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/smithy-client": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/url-parser": "3.110.0", + "@aws-sdk/util-base64-browser": "3.109.0", "@aws-sdk/util-base64-node": "3.55.0", "@aws-sdk/util-body-length-browser": "3.55.0", "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.99.0", - "@aws-sdk/util-defaults-mode-node": "3.99.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", + "@aws-sdk/util-defaults-mode-browser": "3.110.0", + "@aws-sdk/util-defaults-mode-node": "3.110.0", + "@aws-sdk/util-user-agent-browser": "3.110.0", + "@aws-sdk/util-user-agent-node": "3.110.0", + "@aws-sdk/util-utf8-browser": "3.109.0", + "@aws-sdk/util-utf8-node": "3.109.0", "tslib": "^2.3.1" }, "engines": { @@ -417,43 +419,44 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.100.0.tgz", - "integrity": "sha512-WHy0e6COf6/LfMsYqG9H4SGaQRDjuckMtwOLtu6cYr4cro3bOU5pNuyEjAdUHCpuhZgiE6gkZozhTlxMJqIuRQ==", + "version": "3.112.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.112.0.tgz", + "integrity": "sha512-hSApRO2wg3jk9VRGM6SCZO3aFP7DKVSUqs6FrvlXlj+JU88ZKObjrGE61cCzXoD89Dh+b9t8A2T6W51Nzriaxw==", "dev": true, "dependencies": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-node": "3.100.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-sdk-sts": "3.78.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.94.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.99.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", + "@aws-sdk/config-resolver": "3.110.0", + "@aws-sdk/credential-provider-node": "3.112.0", + "@aws-sdk/fetch-http-handler": "3.110.0", + "@aws-sdk/hash-node": "3.110.0", + "@aws-sdk/invalid-dependency": "3.110.0", + "@aws-sdk/middleware-content-length": "3.110.0", + "@aws-sdk/middleware-host-header": "3.110.0", + "@aws-sdk/middleware-logger": "3.110.0", + "@aws-sdk/middleware-recursion-detection": "3.110.0", + "@aws-sdk/middleware-retry": "3.110.0", + "@aws-sdk/middleware-sdk-sts": "3.110.0", + "@aws-sdk/middleware-serde": "3.110.0", + "@aws-sdk/middleware-signing": "3.110.0", + "@aws-sdk/middleware-stack": "3.110.0", + "@aws-sdk/middleware-user-agent": "3.110.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/node-http-handler": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/smithy-client": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/url-parser": "3.110.0", + "@aws-sdk/util-base64-browser": "3.109.0", "@aws-sdk/util-base64-node": "3.55.0", "@aws-sdk/util-body-length-browser": "3.55.0", "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.99.0", - "@aws-sdk/util-defaults-mode-node": "3.99.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", + "@aws-sdk/util-defaults-mode-browser": "3.110.0", + "@aws-sdk/util-defaults-mode-node": "3.110.0", + "@aws-sdk/util-user-agent-browser": "3.110.0", + "@aws-sdk/util-user-agent-node": "3.110.0", + "@aws-sdk/util-utf8-browser": "3.109.0", + "@aws-sdk/util-utf8-node": "3.109.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.1" @@ -463,15 +466,15 @@ } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.80.0.tgz", - "integrity": "sha512-vFruNKlmhsaC8yjnHmasi1WW/7EELlEuFTj4mqcqNqR4dfraf0maVvpqF1VSR8EstpFMsGYI5dmoWAnnG4PcLQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.110.0.tgz", + "integrity": "sha512-7VvtKy4CL63BAktQ2vgsjhWDSXpkXO5YdiI56LQnHztrvSuJBBaxJ7R1p/k0b2tEUhYKUziAIW8EKE/7EGPR4g==", "dev": true, "dependencies": { - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-config-provider": "3.55.0", - "@aws-sdk/util-middleware": "3.78.0", + "@aws-sdk/signature-v4": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/util-config-provider": "3.109.0", + "@aws-sdk/util-middleware": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -479,13 +482,13 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.78.0.tgz", - "integrity": "sha512-K41VTIzVHm2RyIwtBER8Hte3huUBXdV1WKO+i7olYVgLFmaqcZUNrlyoGDRqZcQ/u4AbxTzBU9jeMIbIfzMOWg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.110.0.tgz", + "integrity": "sha512-oFU3IYk/Bl5tdsz1qigtm3I25a9cvXPqlE8VjYjxVDdLujF5zd/4HLbhP4GQWhpEwZmM1ijcSNfLcyywVevTZg==", "dev": true, "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -493,15 +496,15 @@ } }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.81.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.81.0.tgz", - "integrity": "sha512-BHopP+gaovTYj+4tSrwCk8NNCR48gE9CWmpIOLkP9ell0gOL81Qh7aCEiIK0BZBZkccv1s16cYq1MSZZGS7PEQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.110.0.tgz", + "integrity": "sha512-atl+7/dAB+8fG9XI2fYyCgXKYDbOzot65VAwis+14bOEUCVp7PCJifBEZ/L8GEq564p+Fa2p1IpV0wuQXxqFUQ==", "dev": true, "dependencies": { - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/url-parser": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -509,18 +512,18 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.100.0.tgz", - "integrity": "sha512-2pCtth/Iv4mATRwb2g1nJdd9TolMyhTnhcskopukFvzp13VS5cgtz0hgYmJNnztTF8lpKJhJaidtKS5JJTWnHg==", - "dev": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.78.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/credential-provider-sso": "3.100.0", - "@aws-sdk/credential-provider-web-identity": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "version": "3.112.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.112.0.tgz", + "integrity": "sha512-ebgZ6/jZdTGHQ3zfq/ccmS+7YmLk6yUWHDmh69VK+B1Dd+S1jFwbD9EQ+pYWCp/gEl9F620NSwb6KghRylPWEQ==", + "dev": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.110.0", + "@aws-sdk/credential-provider-imds": "3.110.0", + "@aws-sdk/credential-provider-sso": "3.112.0", + "@aws-sdk/credential-provider-web-identity": "3.110.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/shared-ini-file-loader": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -528,20 +531,20 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.100.0.tgz", - "integrity": "sha512-PMIPnn/dhv9tlWR0qXnANJpTumujWfhKnLAsV3BUqB1K9IzWqz/zXjCT0jcSUTY8X/VkSuehtBdCKvOOM5mMqg==", - "dev": true, - "dependencies": { - "@aws-sdk/credential-provider-env": "3.78.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/credential-provider-ini": "3.100.0", - "@aws-sdk/credential-provider-process": "3.80.0", - "@aws-sdk/credential-provider-sso": "3.100.0", - "@aws-sdk/credential-provider-web-identity": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "version": "3.112.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.112.0.tgz", + "integrity": "sha512-7txS7P3BAaU4cksFw/PnoVskVvO8h/TPvOl/BxFtCiUdwA6FRltLvBeMlN08fwUoqgM6z06q8areBdeDqCHOSw==", + "dev": true, + "dependencies": { + "@aws-sdk/credential-provider-env": "3.110.0", + "@aws-sdk/credential-provider-imds": "3.110.0", + "@aws-sdk/credential-provider-ini": "3.112.0", + "@aws-sdk/credential-provider-process": "3.110.0", + "@aws-sdk/credential-provider-sso": "3.112.0", + "@aws-sdk/credential-provider-web-identity": "3.110.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/shared-ini-file-loader": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -549,14 +552,14 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.80.0.tgz", - "integrity": "sha512-3Ro+kMMyLUJHefOhGc5pOO/ibGcJi8bkj0z/Jtqd5I2Sm1qi7avoztST67/k48KMW1OqPnD/FUqxz5T8B2d+FQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.110.0.tgz", + "integrity": "sha512-JJcZePvRTfQHYj/+EEY13yItnZH/e8exlARFUjN0L13UrgHpOJtDQBa+YBHXo6MbTFQh+re25z2kzc+zOYSMNQ==", "dev": true, "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/shared-ini-file-loader": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -564,15 +567,15 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.100.0.tgz", - "integrity": "sha512-DwJvrh77vBJ1/fS9z0i2QuIvSk4pATA4DH8AEWoQ8LQX97tp3es7gZV5Wu93wFsEyIYC8penz6pNVq5QajMk2A==", + "version": "3.112.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.112.0.tgz", + "integrity": "sha512-b6rOrSXbNK3fGyPvNpyF5zdktmAoNOqHCTmFSUcxRxOipyRGb5JACsbjWthIQkpWkpNCT8GFNLEg9spXPFIdLA==", "dev": true, "dependencies": { - "@aws-sdk/client-sso": "3.100.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/client-sso": "3.112.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/shared-ini-file-loader": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -580,13 +583,13 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.78.0.tgz", - "integrity": "sha512-9/IvqHdJaVqMEABA8xZE3t5YF1S2PepfckVu0Ws9YUglj6oO+2QyVX6aRgMF1xph6781+Yc31TDh8/3eaDja7w==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.110.0.tgz", + "integrity": "sha512-e4e5u7v3fsUFZsMcFMhMy1NdJBQpunYcLwpYlszm3OEICwTTekQ+hVvnVRd134doHvzepE4yp9sAop0Cj+IRVQ==", "dev": true, "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -607,25 +610,25 @@ } }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.78.0.tgz", - "integrity": "sha512-cR6r2h2kJ1DNEZSXC6GknQB7OKmy+s9ZNV+g3AsNqkrUmNNOaHpFoSn+m6SC3qaclcGd0eQBpqzSu/TDn23Ihw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.110.0.tgz", + "integrity": "sha512-vk+K4GeCZL2J2rtvKO+T0Q7i3MDpEGZBMg5K2tj9sMcEQwty0BF0aFnP7Eu2l4/Zif2z1mWuUFM2WcZI6DVnbw==", "dev": true, "dependencies": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/querystring-builder": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/querystring-builder": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/util-base64-browser": "3.109.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/hash-node": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.78.0.tgz", - "integrity": "sha512-ev48yXaqZVtMeuKy52LUZPHCyKvkKQ9uiUebqkA+zFxIk+eN8SMPFHmsififIHWuS6ZkXBUSctjH9wmLebH60A==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.110.0.tgz", + "integrity": "sha512-wakl+kP2O8wTGYiQ3InZy+CVfGrIpFfq9fo4zif9PZac0BbUbguUU1dkY34uZiaf+4o2/9MoDYrHU2HYeXKxWw==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "@aws-sdk/util-buffer-from": "3.55.0", "tslib": "^2.3.1" }, @@ -634,12 +637,12 @@ } }, "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.78.0.tgz", - "integrity": "sha512-zUo+PbeRMN/Mzj6y+6p9qqk/znuFetT1gmpOcZGL9Rp2T+b9WJWd+daq5ktsL10sVCzIt2UvneJRz6b+aU+bfw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.110.0.tgz", + "integrity": "sha512-O8J1InmtJkoiUMbQDtxBfOzgigBp9iSVsNXQrhs2qHh3826cJOfE7NGT3u+NMw73Pk5j2cfmOh1+7k/76IqxOg==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, @@ -656,13 +659,13 @@ } }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.78.0.tgz", - "integrity": "sha512-5MpKt6lB9TdFy25/AGrpOjPY0iDHZAKpEHc+jSOJBXLl6xunXA7qHdiYaVqkWodLxy70nIckGNHqQ3drabidkA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.110.0.tgz", + "integrity": "sha512-hKU+zdqfAJQg22LXMVu/z35nNIHrVAKpVKPe9+WYVdL/Z7JKUPK7QymqKGOyDuDbzW6OxyulC1zKGEX12zGmdA==", "dev": true, "dependencies": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -670,15 +673,15 @@ } }, "node_modules/@aws-sdk/middleware-endpoint-discovery": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.80.0.tgz", - "integrity": "sha512-73pKz8ossZKisG684raP1dn2u3fQRktWY29oa9Q3cBvRYdyu5UOhwayt2MObgSC8S6NfNdTGC/DGf7+/JRSY7A==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.110.0.tgz", + "integrity": "sha512-GUnNcuEBqD21E8EgevTcaBXJGnH5dp7eDSfWceYJP+iSscFXLzFFOf1I6H0cwvfARVMHVvlFz0tQcojCSHUZig==", "dev": true, "dependencies": { - "@aws-sdk/config-resolver": "3.80.0", + "@aws-sdk/config-resolver": "3.110.0", "@aws-sdk/endpoint-cache": "3.55.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -686,13 +689,13 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.78.0.tgz", - "integrity": "sha512-1zL8uaDWGmH50c8B8jjz75e0ePj6/3QeZEhjJgTgL6DTdiqvRt32p3t+XWHW+yDI14fZZUYeTklAaLVxqFrHqQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.110.0.tgz", + "integrity": "sha512-/Cknn1vL2LTlclI0MX2RzmtdPlCJ5palCRXxm/mod1oHwg4oNTKRlUX3LUD+L8g7JuJ4h053Ch9KS/A0vanE5Q==", "dev": true, "dependencies": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -700,12 +703,26 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.78.0.tgz", - "integrity": "sha512-GBhwxNjhCJUIeQQDaGasX/C23Jay77al2vRyGwmxf8no0DdFsa4J1Ik6/2hhIqkqko+WM4SpCnpZrY4MtnxNvA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.110.0.tgz", + "integrity": "sha512-+pz+a+8dfTnzLj79nHrv3aONMp/N36/erMd+7JXeR84QEosVLrFBUwKA8x5x6O3s1iBbQzRKMYEIuja9xn1BPA==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", + "tslib": "^2.3.1" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.110.0.tgz", + "integrity": "sha512-Wav782zd7bcd1e6txRob76CDOdVOaUQ8HXoywiIm/uFrEEUZvhs2mgnXjVUVCMBUehdNgnL99z420aS13JeL/Q==", + "dev": true, + "dependencies": { + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -713,15 +730,15 @@ } }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.80.0.tgz", - "integrity": "sha512-CTk+tA4+WMUNOcUfR6UQrkhwvPYFpnMsQ1vuHlpLFOGG3nCqywA2hueLMRQmVcDXzP0sGeygce6dzRI9dJB/GA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.110.0.tgz", + "integrity": "sha512-lwLAQQveCiUqymQvVYjCee6QOXw3Zqbc9yq+pxYdXbs1Cv1XMA6PeJeUU5r5KEVuSceBLyyrnl6E0R1l1om1MQ==", "dev": true, "dependencies": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/service-error-classification": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-middleware": "3.78.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/service-error-classification": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/util-middleware": "3.110.0", "tslib": "^2.3.1", "uuid": "^8.3.2" }, @@ -730,16 +747,16 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.78.0.tgz", - "integrity": "sha512-Lu/kN0J0/Kt0ON1hvwNel+y8yvf35licfIgtedHbBCa/ju8qQ9j+uL9Lla6Y5Tqu29yVaye1JxhiIDhscSwrLA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.110.0.tgz", + "integrity": "sha512-EjY/YFdlr5jECde6qIrTIyGBbn/34CKcQGKvmvRd31+3qaClIJLAwNuHfcVzWvCUGbAslsfvdbOpLju33pSQRA==", "dev": true, "dependencies": { - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/middleware-signing": "3.110.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/signature-v4": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -747,12 +764,12 @@ } }, "node_modules/@aws-sdk/middleware-serde": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.78.0.tgz", - "integrity": "sha512-4DPsNOxsl1bxRzfo1WXEZjmD7OEi7qGNpxrDWucVe96Fqj2dH08jR8wxvBIVV1e6bAad07IwdPuCGmivNvwRuQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.110.0.tgz", + "integrity": "sha512-brVupxgEAmcZ9cZvdHEH8zncjvGKIiud8pOe4fiimp5NpHmjBLew4jUbnOKNZNAjaidcKUtz//cxtutD6yXEww==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -760,15 +777,15 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.78.0.tgz", - "integrity": "sha512-OEjJJCNhHHSOprLZ9CzjHIXEKFtPHWP/bG9pMhkV3/6Bmscsgcf8gWHcOnmIrjqX+hT1VALDNpl/RIh0J6/eQw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.110.0.tgz", + "integrity": "sha512-y6ZKrGYfgDlFMzWhZmoq5J1UctBgZOUvMmnU9sSeZ020IlEPiOxFMvR0Zu6TcYThp8uy3P0wyjQtGYeTl9Z/kA==", "dev": true, "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/signature-v4": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -776,9 +793,9 @@ } }, "node_modules/@aws-sdk/middleware-stack": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.78.0.tgz", - "integrity": "sha512-UoNfRh6eAJN3BJHlG1eb+KeuSe+zARTC2cglroJRyHc2j7GxH2i9FD3IJbj5wvzopJEnQzuY/VCs6STFkqWL1g==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.110.0.tgz", + "integrity": "sha512-iaLHw6ctOuGa9UxNueU01Xes+15dR+mqioRpUOUZ9Zx+vhXVpD7C8lnNqhRnYeFXs10/rNIzASgsIrAHTlnlIQ==", "dev": true, "dependencies": { "tslib": "^2.3.1" @@ -788,13 +805,13 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.78.0.tgz", - "integrity": "sha512-wdN5uoq8RxxhLhj0EPeuDSRFuXfUwKeEqRzCKMsYAOC0cAm+PryaP2leo0oTGJ9LUK8REK7zyfFcmtC4oOzlkA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.110.0.tgz", + "integrity": "sha512-Y6FgiZr99DilYq6AjeaaWcNwVlSQpNGKrILzvV4Tmz03OaBIspe4KL+8EZ2YA/sAu5Lpw80vItdezqDOwGAlnQ==", "dev": true, "dependencies": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -802,14 +819,14 @@ } }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.80.0.tgz", - "integrity": "sha512-vyTOMK04huB7n10ZUv0thd2TE6KlY8livOuLqFTMtj99AJ6vyeB5XBNwKnQtJIt/P7CijYgp8KcFvI9fndOmKg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.110.0.tgz", + "integrity": "sha512-46p4dCPGYctuybTQTwLpjenA1QFHeyJw/OyggGbtUJUy+833+ldnAwcPVML2aXJKUKv3APGI8vq1kaloyNku3Q==", "dev": true, "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/shared-ini-file-loader": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -817,15 +834,15 @@ } }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.94.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.94.0.tgz", - "integrity": "sha512-g9q6k+PS+BrtOzt8jrBWr9D543uB3ZoYZ2JCriwuCwnP4uIHlMf9wAOGcOgqgykfUAPBOLvz2rTwVs3Xl8GUmQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.110.0.tgz", + "integrity": "sha512-/rP+hY516DpP8fZhwFW5xM/ElH0w6lxw/15VvZCoY5EnOLAF5XIsJdzscWPSEW2FHCylBM4SNrKhGar14BDXhA==", "dev": true, "dependencies": { - "@aws-sdk/abort-controller": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/querystring-builder": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/abort-controller": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/querystring-builder": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -833,12 +850,12 @@ } }, "node_modules/@aws-sdk/property-provider": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.78.0.tgz", - "integrity": "sha512-PZpLvV0hF6lqg3CSN9YmphrB/t5LVJVWGJLB9d9qm7sJs5ksjTYBb5bY91OQ3zit0F4cqBMU8xt2GQ9J6d4DvQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.110.0.tgz", + "integrity": "sha512-7NkpmYeOkK3mhWBNU+/zSDqwzeaSPH1qrq4L//WV7WS/weYyE/jusQeZoOxVsuZQnQEXHt5O2hKVeUwShl12xA==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -846,12 +863,12 @@ } }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.78.0.tgz", - "integrity": "sha512-SQB26MhEK96yDxyXd3UAaxLz1Y/ZvgE4pzv7V3wZiokdEedM0kawHKEn1UQJlqJLEZcQI9QYyysh3rTvHZ3fyg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.110.0.tgz", + "integrity": "sha512-qdi2gCbJiyPyLn+afebPNp/5nVCRh1X7t7IRIFl3FHVEC+o54u/ojay/MLZ4M/+X9Fa4Zxsb0Wpp3T0xAHVDBg==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -859,12 +876,12 @@ } }, "node_modules/@aws-sdk/querystring-builder": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.78.0.tgz", - "integrity": "sha512-aib6RW1WAaTQDqVgRU1Ku9idkhm90gJKbCxVaGId+as6QHNUqMChEfK2v+0afuKiPNOs5uWmqvOXI9+Gt+UGDg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.110.0.tgz", + "integrity": "sha512-7V3CDXj519izmbBn9ZE68ymASwGriA+Aq+cb/yHSVtffnvXjPtvONNw7G/5iVblisGLSCUe2hSvpYtcaXozbHw==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "@aws-sdk/util-uri-escape": "3.55.0", "tslib": "^2.3.1" }, @@ -873,12 +890,12 @@ } }, "node_modules/@aws-sdk/querystring-parser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.78.0.tgz", - "integrity": "sha512-csaH8YTyN+KMNczeK6fBS8l7iJaqcQcKOIbpQFg5upX4Ly5A56HJn4sVQhY1LSgfSk4xRsNfMy5mu6BlsIiaXA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.110.0.tgz", + "integrity": "sha512-//pJHH7hrhdDMZGBPKXKymmC/tJM7gFT0w/qbu/yd3Wm4W2fMB+8gkmj6EZctx7jrsWlfRQuvFejKqEfapur/g==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -886,17 +903,17 @@ } }, "node_modules/@aws-sdk/service-error-classification": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.78.0.tgz", - "integrity": "sha512-x7Lx8KWctJa01q4Q72Zb4ol9L/era3vy2daASu8l2paHHxsAPBE0PThkvLdUSLZSzlHSVdh3YHESIsT++VsK4w==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.110.0.tgz", + "integrity": "sha512-ccgCE0pU/4RmXR6CP3fLAdhPAve7bK/yXBbGzpSHGAQOXqNxYzOsAvQ30Jg6X+qjLHsI/HR2pLIE65z4k6tynw==", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.80.0.tgz", - "integrity": "sha512-3d5EBJjnWWkjLK9skqLLHYbagtFaZZy+3jUTlbTuOKhlOwe8jF7CUM3j6I4JA6yXNcB3w0exDKKHa8w+l+05aA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.110.0.tgz", + "integrity": "sha512-E1ERoqEoG206XNBYWCKLgHkzCbTxdpDEGbsLET2DnvjFsT0s9p2dPvVux3bYl7JVAhyGduE+qcqWk7MzhFCBNQ==", "dev": true, "dependencies": { "tslib": "^2.3.1" @@ -906,15 +923,15 @@ } }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.78.0.tgz", - "integrity": "sha512-eePjRYuzKoi3VMr/lgrUEF1ytLeH4fA/NMCykr/uR6NMo4bSJA59KrFLYSM7SlWLRIyB0UvJqygVEvSxFluyDw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.110.0.tgz", + "integrity": "sha512-utxxdllOnmQDhbpipnFAbuQ4c2pwefZ+2hi48jKvQRULQ2PO4nxLmdZm6B0FXaTijbKsyO7GrMik+EZ6mi3ARQ==", "dev": true, "dependencies": { "@aws-sdk/is-array-buffer": "3.55.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-hex-encoding": "3.58.0", - "@aws-sdk/util-middleware": "3.78.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/util-hex-encoding": "3.109.0", + "@aws-sdk/util-middleware": "3.110.0", "@aws-sdk/util-uri-escape": "3.55.0", "tslib": "^2.3.1" }, @@ -923,13 +940,13 @@ } }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.99.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.99.0.tgz", - "integrity": "sha512-N9xgCcwbOBZ4/WuROzlErExXV6+vFrFkNJzeBT31/avvrHXjxgxwQlMoXoQCfM8PyRuDuVSfZeoh1iIRfoxidA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.110.0.tgz", + "integrity": "sha512-gNLYrmdAe/1hVF2Nv2LF4OkL1A0a1o708pEMZHzql9xP164omRDaLrGDhz9tH7tsJEgLz+Bf4E8nTuISeDwvGg==", "dev": true, "dependencies": { - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/middleware-stack": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -937,28 +954,28 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz", - "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.110.0.tgz", + "integrity": "sha512-dLVoqODU3laaqNFPyN1QLtlQnwX4gNPMXptEBIt/iJpuZf66IYJe6WCzVZGt4Zfa1CnUmrlA428AzdcA/KCr2A==", "engines": { "node": ">= 12.0.0" } }, "node_modules/@aws-sdk/url-parser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.78.0.tgz", - "integrity": "sha512-iQn2AjECUoJE0Ae9XtgHtGGKvUkvE8hhbktGopdj+zsPBe4WrBN2DgVxlKPPrBonG/YlcL1D7a5EXaujWSlUUw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.110.0.tgz", + "integrity": "sha512-tILFB8/Q73yzgO0dErJNnELmmBszd0E6FucwAnG3hfDefjqCBe09Q/1yhu2aARXyRmZa4AKp0sWcdwIWHc8dnA==", "dev": true, "dependencies": { - "@aws-sdk/querystring-parser": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/querystring-parser": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-base64-browser": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.58.0.tgz", - "integrity": "sha512-0ebsXIZNpu/fup9OgsFPnRKfCFbuuI9PPRzvP6twzLxUB0c/aix6Co7LGHFKcRKHZdaykoJMXArf8eHj2Nzv1Q==", + "version": "3.109.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.109.0.tgz", + "integrity": "sha512-lAZ6fyDGiRLaIsKT9qh7P9FGuNyZ4gAbr1YOSQk/5mHtaTuUvxlPptZuInNM/0MPQm6lpcot00D8IWTucn4PbA==", "dev": true, "dependencies": { "tslib": "^2.3.1" @@ -1012,9 +1029,9 @@ } }, "node_modules/@aws-sdk/util-config-provider": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.55.0.tgz", - "integrity": "sha512-30dzofQQfx6tp1jVZkZ0DGRsT0wwC15nEysKRiAcjncM64A0Cm6sra77d0os3vbKiKoPCI/lMsFr4o3533+qvQ==", + "version": "3.109.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.109.0.tgz", + "integrity": "sha512-GrAZl/aBv0A28LkyNyq8SPJ5fmViCwz80fWLMeWx/6q5AbivuILogjlWwEZSvZ9zrlHOcFC0+AnCa5pQrjaslw==", "dev": true, "dependencies": { "tslib": "^2.3.1" @@ -1024,13 +1041,13 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.99.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.99.0.tgz", - "integrity": "sha512-qSYjUGuN8n7Q/zAi0tzU4BrU389jQosXtjp7eHpLATl0pKGpaHx6rJNwbiNhvBhBEfmSgqsJ09b4gZUpUezHEw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.110.0.tgz", + "integrity": "sha512-Y2dcOOD20S3bv/IjUqpdKIiDt6995SXNG5Pu/LeSdXNyLCOIm9rX4gHTxl9fC1KK5M/gR9fGJ362f67WwqEEqw==", "dev": true, "dependencies": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", "bowser": "^2.11.0", "tslib": "^2.3.1" }, @@ -1039,16 +1056,16 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.99.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.99.0.tgz", - "integrity": "sha512-8TUO0kEnQcgT1gAW9y9oO6a5gKhfEGEUeKidEgbTczEUrjr3aCXIC+p0DI5FJfImwPrTKXra8A22utDM92phWw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.110.0.tgz", + "integrity": "sha512-Cr3Z5nyrw1KowjbW76xp8hkT/zJtYjAVZ9PS4l84KxIicbVvDOBpxG3yNddkuQcavmlH6G4wH9uM5DcnpKDncg==", "dev": true, "dependencies": { - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/config-resolver": "3.110.0", + "@aws-sdk/credential-provider-imds": "3.110.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -1056,9 +1073,9 @@ } }, "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.58.0.tgz", - "integrity": "sha512-Rl+jXUzk/FJkOLYfUVYPhKa2aUmTpeobRP31l8IatQltSzDgLyRHO35f6UEs7Ztn5s1jbu/POatLAZ2WjbgVyg==", + "version": "3.109.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.109.0.tgz", + "integrity": "sha512-s8CgTNrn3cLkrdiohfxLuOYPCanzvHn/aH5RW6DaMoeQiG5Hl9QUiP/WtdQ9QQx3xvpQFpmvxIaSBwSgFNLQxA==", "dev": true, "dependencies": { "tslib": "^2.3.1" @@ -1080,9 +1097,9 @@ } }, "node_modules/@aws-sdk/util-middleware": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.78.0.tgz", - "integrity": "sha512-Hi3wv2b0VogO4mzyeEaeU5KgIt4qeo0LXU5gS6oRrG0T7s2FyKbMBkJW3YDh/Y8fNwqArZ+/QQFujpP0PIKwkA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.110.0.tgz", + "integrity": "sha512-PTVWrI5fA9d5hHJs6RzX2dIS2jRQ3uW073Fm0BePpQeDdZrEk+S5KNwRhUtpN6sdSV45vm6S9rrjZUG51qwGmA==", "dev": true, "dependencies": { "tslib": "^2.3.1" @@ -1104,24 +1121,24 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.78.0.tgz", - "integrity": "sha512-diGO/Bf4ggBOEnfD7lrrXaaXOwOXGz0bAJ0HhpizwEMlBld5zfDlWXjNpslh+8+u3EHRjPJQ16KGT6mp/Dm+aw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.110.0.tgz", + "integrity": "sha512-rNdhmHDMV5dNJctqlBWimkZLJRB+x03DB+61pm+SKSFk6gPIVIvc1WNXqDFphkiswT4vA13ZUkGHzt+N4+noQQ==", "dev": true, "dependencies": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.80.0.tgz", - "integrity": "sha512-QV26qIXws1m6sZXg65NS+XrQ5NhAzbDVQLtEVE4nC39UN8fuieP6Uet/gZm9mlLI9hllwvcV7EfgBM3GSC7pZg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.110.0.tgz", + "integrity": "sha512-OQ915TPCCBwZWz5Np8zkNWn7U6KvrTZfFoCOy/VIemK3dUqmnBZ7HqGpuZx8SwJ2R9JE1x+j0niYSJ5fWJZZKA==", "dev": true, "dependencies": { - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -1129,18 +1146,18 @@ } }, "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.55.0.tgz", - "integrity": "sha512-ljzqJcyjfJpEVSIAxwtIS8xMRUly84BdjlBXyp6cu4G8TUufgjNS31LWdhyGhgmW5vYBNr+LTz0Kwf6J+ou7Ug==", + "version": "3.109.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.109.0.tgz", + "integrity": "sha512-FmcGSz0v7Bqpl1SE8G1Gc0CtDpug+rvqNCG/szn86JApD/f5x8oByjbEiAyTU2ZH2VevUntx6EW68ulHyH+x+w==", "dev": true, "dependencies": { "tslib": "^2.3.1" } }, "node_modules/@aws-sdk/util-utf8-node": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.55.0.tgz", - "integrity": "sha512-FsFm7GFaC7j0tlPEm/ri8bU2QCwFW5WKjxUg8lm1oWaxplCpKGUsmcfPJ4sw58GIoyoGu4QXBK60oCWosZYYdQ==", + "version": "3.109.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.109.0.tgz", + "integrity": "sha512-Ti/ZBdvz2eSTElsucjzNmzpyg2MwfD1rXmxD0hZuIF8bPON/0+sZYnWd5CbDw9kgmhy28dmKue086tbZ1G0iLQ==", "dev": true, "dependencies": { "@aws-sdk/util-buffer-from": "3.55.0", @@ -1151,13 +1168,13 @@ } }, "node_modules/@aws-sdk/util-waiter": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.78.0.tgz", - "integrity": "sha512-8pWd0XiNOS8AkWQyac8VNEI+gz/cGWlC2TAE2CJp0rOK5XhvlcNBINai4D6TxQ+9foyJXLOI1b8nuXemekoG8A==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.110.0.tgz", + "integrity": "sha512-8dE6W6XYfjk1gx/aeb8NeLfMMLkLFhlV1lmKpFSBJhY8msajU8aQahTuykq5JW8QT/wCGbqbu7dH35SdX7kO+A==", "dev": true, "dependencies": { - "@aws-sdk/abort-controller": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/abort-controller": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" }, "engines": { @@ -1743,9 +1760,9 @@ "dev": true }, "node_modules/@commitlint/cli": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.0.2.tgz", - "integrity": "sha512-Axe89Js0YzGGd4gxo3JLlF7yIdjOVpG1LbOorGc6PfYF+drBh14PvarSDLzyd2TNqdylUCq9wb9/A88ZjIdyhA==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.0.1.tgz", + "integrity": "sha512-5xT1G5pnynR0tk/ms8Ji7yr9lZCeQs4GLVVtyK/gw20w+enoLTVuRKKY9zg88hy9FoCycc/W8iip2xv3c8payg==", "dev": true, "dependencies": { "@commitlint/format": "^17.0.0", @@ -3783,9 +3800,9 @@ "dev": true }, "node_modules/@types/aws-lambda": { - "version": "8.10.100", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.100.tgz", - "integrity": "sha512-Qldp1LhbgQ4tEHewci0/q5qVRaDr8ylvsYfpitJ+FFixzAHpgitvM2NM449uYWt2tYo/iJy25aSRRUVvwIT+ng==", + "version": "8.10.97", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.97.tgz", + "integrity": "sha512-BZk3qO4R2KN8Ts3eR6CW1n8LI46UOgv1KoDZjo8J9vOQvDeX/rsrv1H0BpEAMcSqZ1mLwTEyAMtlua5tlSn0kw==", "dev": true }, "node_modules/@types/babel__core": { @@ -4003,14 +4020,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.28.0.tgz", - "integrity": "sha512-DXVU6Cg29H2M6EybqSg2A+x8DgO9TCUBRp4QEXQHJceLS7ogVDP0g3Lkg/SZCqcvkAP/RruuQqK0gdlkgmhSUA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz", + "integrity": "sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.28.0", - "@typescript-eslint/type-utils": "5.28.0", - "@typescript-eslint/utils": "5.28.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/type-utils": "5.26.0", + "@typescript-eslint/utils": "5.26.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -4036,14 +4053,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.28.0.tgz", - "integrity": "sha512-ekqoNRNK1lAcKhZESN/PdpVsWbP9jtiNqzFWkp/yAUdZvJalw2heCYuqRmM5eUJSIYEkgq5sGOjq+ZqsLMjtRA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.26.0.tgz", + "integrity": "sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.28.0", - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/typescript-estree": "5.28.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/typescript-estree": "5.26.0", "debug": "^4.3.4" }, "engines": { @@ -4063,13 +4080,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.28.0.tgz", - "integrity": "sha512-LeBLTqF/he1Z+boRhSqnso6YrzcKMTQ8bO/YKEe+6+O/JGof9M0g3IJlIsqfrK/6K03MlFIlycbf1uQR1IjE+w==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz", + "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/visitor-keys": "5.28.0" + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4080,9 +4097,9 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.28.0.tgz", - "integrity": "sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz", + "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4093,13 +4110,13 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.28.0.tgz", - "integrity": "sha512-9GX+GfpV+F4hdTtYc6OV9ZkyYilGXPmQpm6AThInpBmKJEyRSIjORJd1G9+bknb7OTFYL+Vd4FBJAO6T78OVqA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz", + "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/visitor-keys": "5.28.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4120,12 +4137,12 @@ } }, "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.28.0.tgz", - "integrity": "sha512-BtfP1vCor8cWacovzzPFOoeW4kBQxzmhxGoOpt0v1SFvG+nJ0cWaVdJk7cky1ArTcFHHKNIxyo2LLr3oNkSuXA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz", + "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.28.0", + "@typescript-eslint/types": "5.26.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -4137,13 +4154,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.28.0.tgz", - "integrity": "sha512-LeBLTqF/he1Z+boRhSqnso6YrzcKMTQ8bO/YKEe+6+O/JGof9M0g3IJlIsqfrK/6K03MlFIlycbf1uQR1IjE+w==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz", + "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/visitor-keys": "5.28.0" + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4154,12 +4171,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.28.0.tgz", - "integrity": "sha512-SyKjKh4CXPglueyC6ceAFytjYWMoPHMswPQae236zqe1YbhvCVQyIawesYywGiu98L9DwrxsBN69vGIVxJ4mQQ==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz", + "integrity": "sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.28.0", + "@typescript-eslint/utils": "5.26.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -4180,9 +4197,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.28.0.tgz", - "integrity": "sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz", + "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -4193,13 +4210,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.28.0.tgz", - "integrity": "sha512-9GX+GfpV+F4hdTtYc6OV9ZkyYilGXPmQpm6AThInpBmKJEyRSIjORJd1G9+bknb7OTFYL+Vd4FBJAO6T78OVqA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz", + "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/visitor-keys": "5.28.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4220,15 +4237,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.28.0.tgz", - "integrity": "sha512-E60N5L0fjv7iPJV3UGc4EC+A3Lcj4jle9zzR0gW7vXhflO7/J29kwiTGITA2RlrmPokKiZbBy2DgaclCaEUs6g==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.26.0.tgz", + "integrity": "sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.28.0", - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/typescript-estree": "5.28.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/typescript-estree": "5.26.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -4244,12 +4261,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.28.0.tgz", - "integrity": "sha512-BtfP1vCor8cWacovzzPFOoeW4kBQxzmhxGoOpt0v1SFvG+nJ0cWaVdJk7cky1ArTcFHHKNIxyo2LLr3oNkSuXA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz", + "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.28.0", + "@typescript-eslint/types": "5.26.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -4731,9 +4748,9 @@ } }, "node_modules/aws-cdk-lib": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.27.0.tgz", - "integrity": "sha512-CsTy/+RIBMvP9LlZjkQakkKPpwU50+HAMCMaGOcyIHADDQdXobGcZXTO+Tq00sH2DoQjPV1ZhhBim5z3k/2KXw==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.25.0.tgz", + "integrity": "sha512-rcQeQu/lTmi1tg5DwV0gBqJtF73khApfHt9n7BIHkKbUWvCB50lIL1Q1/7cHvTicfQ62UnwFoPWwB0YqQceDVQ==", "bundleDependencies": [ "@balena/dockerignore", "case", @@ -4934,9 +4951,9 @@ } }, "node_modules/aws-sdk": { - "version": "2.1157.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1157.0.tgz", - "integrity": "sha512-30t+zhCECib8uaggd0Du8ifab4vtJjgVvNKxHWTpiLa3deTnM+0K7x3pwM99zxw0gLDxAUet/oURaoPJHwk/5Q==", + "version": "2.1140.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1140.0.tgz", + "integrity": "sha512-cNdq56UQrUzXmCgwo0/J5GGLmfHn+Vp38qgcK/Xd86Sch8P9v2o8tNv7J82mYU98YY2vO007BMxRylA4Sd8PkQ==", "dev": true, "dependencies": { "buffer": "4.9.2", @@ -4946,7 +4963,7 @@ "querystring": "0.2.0", "sax": "1.2.1", "url": "0.10.3", - "uuid": "8.0.0", + "uuid": "3.3.2", "xml2js": "0.4.19" }, "engines": { @@ -4954,12 +4971,13 @@ } }, "node_modules/aws-sdk/node_modules/uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", "dev": true, "bin": { - "uuid": "dist/bin/uuid" + "uuid": "bin/uuid" } }, "node_modules/aws-sign2": { @@ -5424,14 +5442,14 @@ "dev": true }, "node_modules/cdk-assets": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-2.27.0.tgz", - "integrity": "sha512-n5BQBflzI5KEvQ1q6VrOBzFW+NbF87bSgtg2Uiwldtba6tslMAYn49r9e/ctY55dsnVR19uW13o3NRkliMaBIg==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-2.25.0.tgz", + "integrity": "sha512-ItiYgIrIBMyhxVOVrs8oO3d3T5BQeNDAAq1ZwqlHzf94c8B7O9rwZ37LSCpgYY8PZjprISbpL9/AgKQGt/7vwA==", "dev": true, "hasShrinkwrap": true, "dependencies": { - "@aws-cdk/cloud-assembly-schema": "2.27.0", - "@aws-cdk/cx-api": "2.27.0", + "@aws-cdk/cloud-assembly-schema": "2.25.0", + "@aws-cdk/cx-api": "2.25.0", "archiver": "^5.3.1", "aws-sdk": "^2.1093.0", "glob": "^7.2.0", @@ -5447,7 +5465,7 @@ } }, "node_modules/cdk-assets/node_modules/@aws-cdk/cloud-assembly-schema": { - "version": "2.27.0", + "version": "2.25.0", "dev": true, "dependencies": { "jsonschema": "^1.4.0", @@ -5455,10 +5473,10 @@ } }, "node_modules/cdk-assets/node_modules/@aws-cdk/cx-api": { - "version": "2.27.0", + "version": "2.25.0", "dev": true, "dependencies": { - "@aws-cdk/cloud-assembly-schema": "2.27.0", + "@aws-cdk/cloud-assembly-schema": "2.25.0", "semver": "^7.3.7" } }, @@ -6424,9 +6442,9 @@ "dev": true }, "node_modules/constructs": { - "version": "10.1.25", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.25.tgz", - "integrity": "sha512-etUavUwFJ3oTxoP9ax8Dvzv47Nzk9QHRnubL3cEOxLATd8b0SOLFN4xB7FP6eEg/D+cI7rgXTOQH9Oj4rIhwqw==", + "version": "10.1.19", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.19.tgz", + "integrity": "sha512-fkwDjoJ1LW8sjfXDkSftTJnoQm3+EmsKyM8i+bgQh/n5zOAvW9znMU7o3qooKiGJZ8iJtvkEX54I6ZRGrmJhYw==", "dev": true, "engines": { "node": ">= 14.17.0" @@ -6668,7 +6686,7 @@ "node_modules/crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", "dev": true, "engines": { "node": "*" @@ -7263,9 +7281,9 @@ } }, "node_modules/esbuild": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.46.tgz", - "integrity": "sha512-vdm5G1JdZBktva8dwQci/s44VbeBUg8g907xoZx77mqFZ4gU5GlMULNsdGeID+qXCXocsfYSGtE0LvqH3eiNQg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.40.tgz", + "integrity": "sha512-toIoQk3ODEEIudsN74wXGdw1eiUN4aKRijOqiwEAqfUFlhORPYFJtACzRdRRlpUysRUUlvIUoGE1aw/MIVCWnA==", "dev": true, "hasInstallScript": true, "bin": { @@ -7275,32 +7293,32 @@ "node": ">=12" }, "optionalDependencies": { - "esbuild-android-64": "0.14.46", - "esbuild-android-arm64": "0.14.46", - "esbuild-darwin-64": "0.14.46", - "esbuild-darwin-arm64": "0.14.46", - "esbuild-freebsd-64": "0.14.46", - "esbuild-freebsd-arm64": "0.14.46", - "esbuild-linux-32": "0.14.46", - "esbuild-linux-64": "0.14.46", - "esbuild-linux-arm": "0.14.46", - "esbuild-linux-arm64": "0.14.46", - "esbuild-linux-mips64le": "0.14.46", - "esbuild-linux-ppc64le": "0.14.46", - "esbuild-linux-riscv64": "0.14.46", - "esbuild-linux-s390x": "0.14.46", - "esbuild-netbsd-64": "0.14.46", - "esbuild-openbsd-64": "0.14.46", - "esbuild-sunos-64": "0.14.46", - "esbuild-windows-32": "0.14.46", - "esbuild-windows-64": "0.14.46", - "esbuild-windows-arm64": "0.14.46" + "esbuild-android-64": "0.14.40", + "esbuild-android-arm64": "0.14.40", + "esbuild-darwin-64": "0.14.40", + "esbuild-darwin-arm64": "0.14.40", + "esbuild-freebsd-64": "0.14.40", + "esbuild-freebsd-arm64": "0.14.40", + "esbuild-linux-32": "0.14.40", + "esbuild-linux-64": "0.14.40", + "esbuild-linux-arm": "0.14.40", + "esbuild-linux-arm64": "0.14.40", + "esbuild-linux-mips64le": "0.14.40", + "esbuild-linux-ppc64le": "0.14.40", + "esbuild-linux-riscv64": "0.14.40", + "esbuild-linux-s390x": "0.14.40", + "esbuild-netbsd-64": "0.14.40", + "esbuild-openbsd-64": "0.14.40", + "esbuild-sunos-64": "0.14.40", + "esbuild-windows-32": "0.14.40", + "esbuild-windows-64": "0.14.40", + "esbuild-windows-arm64": "0.14.40" } }, "node_modules/esbuild-android-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.46.tgz", - "integrity": "sha512-ZyJqwAcjNbZprs0ZAxnUAOhEhdE5kTKwz+CZuLmZYNLAPyRgBtaC8pT2PCuPifNvV8Cl3yLlrQPaOCjovoyb5g==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.40.tgz", + "integrity": "sha512-+69t+bmJWWhTyG8waJZcu4UGzM4NbDXAwssTEDYwonyz6L/Is11Y3csJhE16RM0a1GeDin0n810vNP+NVjttKA==", "cpu": [ "x64" ], @@ -7314,9 +7332,9 @@ } }, "node_modules/esbuild-android-arm64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.46.tgz", - "integrity": "sha512-BKcnUksvCijO9ONv6b4SikZE/OZftwJvX91XROODZGQmuwGVg97jmLDVu3lxuHdFlMNNzxh8taJ2mbCWZzH/Iw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.40.tgz", + "integrity": "sha512-lVDn4d7/NL5Svrxuskmd/YcluI6uI4Ebp7A1/tWyLJJYbvfIy5l4Vy8GMhErGLePbRyJJiuBP9xusapK4u+6bg==", "cpu": [ "arm64" ], @@ -7330,9 +7348,9 @@ } }, "node_modules/esbuild-darwin-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.46.tgz", - "integrity": "sha512-/ss2kO92sUJ9/1nHnMb3+oab8w6dyqKrMtPMvSYJ9KZIYGAZxz/WYxfFprY7Xk+ZxWnnlASSyZlG+If1nVmFYg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.40.tgz", + "integrity": "sha512-b5u3IXCHhOjkRHIQTSxCN7ObUR5NTyJCP9LrnJ69dEEi1w1usI40T/VNyTTCs7n0UgEH7/zi27vBxbZU+sU4Ew==", "cpu": [ "x64" ], @@ -7346,9 +7364,9 @@ } }, "node_modules/esbuild-darwin-arm64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.46.tgz", - "integrity": "sha512-WX0JOaEFf6t+rIjXO6THsf/0fhQAt2Zb0/PSYlvXnuQQAmOmFAfPsuRNocp5ME0NGaUqZd4FxqqmLEVK3RzPAg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.40.tgz", + "integrity": "sha512-Wn0C2nrZSANvzK9efcxjKpv9l8yUC4PtYMmnf775gUNwak7sqecuoelhbUTshhrwsfjCNfjsrUhsHY2OHUiEdw==", "cpu": [ "arm64" ], @@ -7362,9 +7380,9 @@ } }, "node_modules/esbuild-freebsd-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.46.tgz", - "integrity": "sha512-o+ozPFuHRCAGCVWU2bLurOUgVkT0jcPEu082VBUY2Q/yLf+B+/3nXzh4Fjp5O21tOvJRTn7hUVydG9j5+vYE6A==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.40.tgz", + "integrity": "sha512-B9WZNUn7Y9f97xrQGBAQPKsebeFZzAd+JCdsLCexrVfTjB24b+/Iuq5O2z/q5Meg7Yz0S+j8AO6ncpvNkK2u0w==", "cpu": [ "x64" ], @@ -7378,9 +7396,9 @@ } }, "node_modules/esbuild-freebsd-arm64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.46.tgz", - "integrity": "sha512-9zicZ0X43WDKz3sjNfcqYO38xbfJpSWYXB+FxvYYkmBwGA52K0SAu4oKuTTLi8od8X2IIo1x5C5TUNvKDSVJww==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.40.tgz", + "integrity": "sha512-3aB9uJv2/lmQNzwmieNyyOdxKi+3ERwrqf3snBu/oEng8b7nMBNrEN+p7jjkTYNYmo291KiH/5EIAXwpsZndFw==", "cpu": [ "arm64" ], @@ -7394,9 +7412,9 @@ } }, "node_modules/esbuild-linux-32": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.46.tgz", - "integrity": "sha512-ZnTpZMVb0VGvL99R5eh4OrJwbUyvpM6M88VAMuHP4LvFjuvZrhgefjKqEGuWZZW7JRnAjKqjXLjWdhdSjwMFnQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.40.tgz", + "integrity": "sha512-LMI9BMeuGf6NRS23LbyVarN3nf+JyNcfiVEnR9M8691kL5Ffp3e7oTYRH65XdTUirM9D6e5cppfWLjvrRbGnRw==", "cpu": [ "ia32" ], @@ -7410,9 +7428,9 @@ } }, "node_modules/esbuild-linux-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.46.tgz", - "integrity": "sha512-ECCRRZtX6l4ubeVhHhiVoK/uYAkvzNqfmR4gP4N/9H9RPu+b8YCcN4bQGp7xCuYIV6Xd41WpOMyO+xpcQvjtQQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.40.tgz", + "integrity": "sha512-D/NkZ9QR2KShJXNuRWANxJzPCrwJoAoWVetQiGIAepzXbNh+dBo5ZLmlh8Txs6tE600N67MF/ScHP1S4FxLaJg==", "cpu": [ "x64" ], @@ -7426,9 +7444,9 @@ } }, "node_modules/esbuild-linux-arm": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.46.tgz", - "integrity": "sha512-RvTJEi4vj13c5FP9YPp+8Y6x6HK1E7uSqfy3y9UoeaNAzNZWA7fN1U3hQjTL/dy5zTJH5KE64mrt5k5+he+CQA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.40.tgz", + "integrity": "sha512-2a0yZXbzr/s3iCgZ84jFTHf+NyyXQ/7/Sd28oQq5iyy7TbJNS973XUOwgdlHdRqBxvw0nIWTw2FuwyUJAFa6Qg==", "cpu": [ "arm" ], @@ -7442,9 +7460,9 @@ } }, "node_modules/esbuild-linux-arm64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.46.tgz", - "integrity": "sha512-HX0TXCHyI0NEWG4jg8LlW1PbZQbnz+PUH56yjx996cgM5pC90u32drKs/tyJiyyQmNk9OXOogjKw7LEdp/Qc1w==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.40.tgz", + "integrity": "sha512-TIoZWKjrMJxZujh2nSsrrLkLDLzD/oBpSiobdUGe2bqKZpT4m7fkR0tEDNyM6Xvzj9uTQ4iTfJr2ekmpg3DyTQ==", "cpu": [ "arm64" ], @@ -7458,9 +7476,9 @@ } }, "node_modules/esbuild-linux-mips64le": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.46.tgz", - "integrity": "sha512-jnb2NDwGqJUVmxn1v0f7seNdDm0nRNWHP9Z3MrWAGnBCdnnDlsjqRFDnbKoaQvWONEa+rOOr/giK+VL0hgQExA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.40.tgz", + "integrity": "sha512-SP30CYYSDMwr6mPUbjvD4K2R03GQHIQGrkrbXt5NM6mFqzR+S+JKVv9juq/CjlM9V7iIPPPqe4mb4DWC3b8pBw==", "cpu": [ "mips64el" ], @@ -7474,9 +7492,9 @@ } }, "node_modules/esbuild-linux-ppc64le": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.46.tgz", - "integrity": "sha512-uu3JTQUrwwauKY9z8yq5MnDyOlT3f2DNOzBcYz4dB78HqwEqilCsifoBGd0WcbED5n57dc59X+LZMTZ8Ose44w==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.40.tgz", + "integrity": "sha512-HlU3dfIdwzm/zhbXvMa5yWIafBeI7v6BDaEuApAww5Av8ht7lXgD1fZ11iJVPjRWNLcCZUgZaJKFrosSPQO/Bw==", "cpu": [ "ppc64" ], @@ -7490,9 +7508,9 @@ } }, "node_modules/esbuild-linux-riscv64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.46.tgz", - "integrity": "sha512-OB29r1EG44ZY34JnXCRERxo7k4pRKoQdaoRg2HIeCavatsXZwW4LCakpLnMQ72vXT1HtpBUABEjHkKkn5JyrUg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.40.tgz", + "integrity": "sha512-4ImTBEUykhIcIq3c97dIXnsmAHb//cjHh4nxttLhwpTZ+b/KdM1IpttqFhB0AFLUsrjP4WOCMxAm5FOL7FC2uw==", "cpu": [ "riscv64" ], @@ -7506,9 +7524,9 @@ } }, "node_modules/esbuild-linux-s390x": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.46.tgz", - "integrity": "sha512-XQ/U9TueMSGYyPTKyZsJVraiuvxhwCDIMn/QwFXCRCJ6H/Cy/Rq33u9qhpeSziinHKfzJROGx5A8mQY6aYamdQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.40.tgz", + "integrity": "sha512-kFCPKictYjpt5rt0bFdbSmb8AWut75sIh1fZUTCVkujWMcpdL8ADuYMfVrN7R0CSQvkF1nQtrIBfp+ZU7R7KNQ==", "cpu": [ "s390x" ], @@ -7522,9 +7540,9 @@ } }, "node_modules/esbuild-netbsd-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.46.tgz", - "integrity": "sha512-i15BwqHaAIFp1vBJkitAbHtwXcLk9TdHs/Ia1xGIAutQYXSJNPLM3Z4B4hyfHNEFl2yBqBIYpglMohv2ClNdOQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.40.tgz", + "integrity": "sha512-Hwzw2cSI6+p03TUjugzec54W6uW4tA1J/WovmlHl96Icjy73eWnAyCQwgG6ZLirXpt2aDfTEVShNaC2fE4KVhQ==", "cpu": [ "x64" ], @@ -7538,9 +7556,9 @@ } }, "node_modules/esbuild-openbsd-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.46.tgz", - "integrity": "sha512-XwOIFCE140Y/PvjrwjFfa/QLWBuvhR1mPCOa35mKx02jt++wPNgf0qhn6HfdVC3vQe7R46RwTp4q2cp99fepEg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.40.tgz", + "integrity": "sha512-L4Pix+N2Sb0HvLl8zyn1Aq2aYD5Jt8rk9zwW3NUx19yafJqAFsnUN7L/XbbWSv5/XMqnY4hpAvIP2pyeV9+Bjw==", "cpu": [ "x64" ], @@ -7554,9 +7572,9 @@ } }, "node_modules/esbuild-sunos-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.46.tgz", - "integrity": "sha512-+kV3JnmfdxBVpHyFvuGXWtu6tXxXApOLPkSrVkMJf6+ns/3PLtPndpzwCzHjD+qYUEk8ln4MA+ufQ2qmjW5mZg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.40.tgz", + "integrity": "sha512-iEITaelmmCO43ewk0bOYRGrewu2i2h2V0gKHQ/rz1MRqif8ohY/FNLn4WnThGUlrEgA1nTL1tc57PL12QbOo2Q==", "cpu": [ "x64" ], @@ -7570,9 +7588,9 @@ } }, "node_modules/esbuild-windows-32": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.46.tgz", - "integrity": "sha512-gzGC1Q11B/Bo5A2EX4N22oigWmhL7Z0eDyc8kbSoJjqSrGQuRE7B0uMpluO+q0O/gZ1S3zdw+M4PCWlqOIeXLA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.40.tgz", + "integrity": "sha512-uXHmKl4RtCkK1v6QQK4hsP8Xiku6CwUM/W7Yv2rGtfylSOrrWKcpqwlDWx6bIm1Hav1uBC8hbgJ1hY6pWFNhNA==", "cpu": [ "ia32" ], @@ -7586,9 +7604,9 @@ } }, "node_modules/esbuild-windows-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.46.tgz", - "integrity": "sha512-Do2daaskfOjmCB7o3ygz6fD3K6SPjZLERiZLktzHz2oUCwsebKu/gmop0+j/XdrVIXC32wFzHzDS+9CTu9OShw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.40.tgz", + "integrity": "sha512-dvgQLVYnJzqce97AeHvxWtV9lHRDxIPatOikmrh1vt/SCE4tyVo5nAT/2SiZBJ6DzYmZT3BcJTV24bBLyu4ZUA==", "cpu": [ "x64" ], @@ -7602,9 +7620,9 @@ } }, "node_modules/esbuild-windows-arm64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.46.tgz", - "integrity": "sha512-VEzMy6bM60/HT/URTDElyhfi2Pk0quCCrEhRlI4MRno/AIqYUGw0rZwkPl6PeoqVI6BgoBHGY576GWTiPmshCA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.40.tgz", + "integrity": "sha512-c8ohQSFtRq78pZ/LQcpMft2xuR2IEitQkW07f9K7iN4EBdJMrCpOoXrZCfmX9lAC8yYOU7xHoLFYVln3n6fK1Q==", "cpu": [ "arm64" ], @@ -7721,9 +7739,9 @@ } }, "node_modules/eslint": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz", - "integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.0", @@ -11219,9 +11237,9 @@ } }, "node_modules/marked": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.16.tgz", - "integrity": "sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA==", + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", + "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==", "dev": true, "bin": { "marked": "bin/marked.js" @@ -14558,9 +14576,9 @@ } }, "node_modules/ts-node": { - "version": "10.8.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz", - "integrity": "sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", + "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", "dev": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -14745,15 +14763,15 @@ } }, "node_modules/typedoc": { - "version": "0.22.17", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.17.tgz", - "integrity": "sha512-h6+uXHVVCPDaANzjwzdsj9aePBjZiBTpiMpBBeyh1zcN2odVsDCNajz8zyKnixF93HJeGpl34j/70yoEE5BfNg==", + "version": "0.22.15", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.15.tgz", + "integrity": "sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q==", "dev": true, "dependencies": { - "glob": "^8.0.3", + "glob": "^7.2.0", "lunr": "^2.3.9", - "marked": "^4.0.16", - "minimatch": "^5.1.0", + "marked": "^4.0.12", + "minimatch": "^5.0.1", "shiki": "^0.10.1" }, "bin": { @@ -14763,7 +14781,7 @@ "node": ">= 12.10.0" }, "peerDependencies": { - "typescript": "4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x || 4.7.x" + "typescript": "4.0.x || 4.1.x || 4.2.x || 4.3.x || 4.4.x || 4.5.x || 4.6.x" } }, "node_modules/typedoc-plugin-missing-exports": { @@ -14784,29 +14802,10 @@ "balanced-match": "^1.0.0" } }, - "node_modules/typedoc/node_modules/glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/typedoc/node_modules/minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -14816,9 +14815,9 @@ } }, "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -15601,9 +15600,9 @@ } }, "@aws-cdk/cfnspec": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-2.27.0.tgz", - "integrity": "sha512-ankMDOeTijS1hVM668eJP7SDLlWI3cfZIN/Khx88je16IH6nSe4EbcvR4dTswMC4aTwcrJt/IMh202T3qdLQgA==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cfnspec/-/cfnspec-2.25.0.tgz", + "integrity": "sha512-bdiPeudKouMV3lgEOKC3VyaNw7rfom3z08vfOpYd0J81mo5k71RaxzqJaOXRBM2JpXqD1L5UpnCf+WahFAc4vg==", "dev": true, "requires": { "fs-extra": "^9.1.0", @@ -15611,9 +15610,9 @@ } }, "@aws-cdk/cloud-assembly-schema": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-2.27.0.tgz", - "integrity": "sha512-Lk66nwFA/EMhTL7BstLPluwiykDJUsYJO2lQETBBHX4kffCZbGeED0XyAvWvBSGqKJ2hdeOPAi0U/p1x9e06kA==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-2.25.0.tgz", + "integrity": "sha512-leAHCe12QCGrxbOG5AeqzPQhbZEZTqlyaxZfJaPHj0fxROXFfmO+9tIMgHADx+MwJtHQGa873I+3oVkcjRVxuw==", "dev": true, "requires": { "jsonschema": "^1.4.0", @@ -15649,12 +15648,12 @@ } }, "@aws-cdk/cloudformation-diff": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-2.27.0.tgz", - "integrity": "sha512-4yRycQQYtYbPmWaXJv8K1CVmJ4gWJc+3aPBecdr2DdM+brNASlDuu+VeuSKd+xrYSRgDSlj9eWGQIMIig4yEXg==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloudformation-diff/-/cloudformation-diff-2.25.0.tgz", + "integrity": "sha512-EkqlIgl8/NdvWSnQkS31zgUZA8/GAAk64fsz+9u/cTClmB7zRyhJaxflMWhpNsWWPJ20KybLRd9KiEgk8b5cOw==", "dev": true, "requires": { - "@aws-cdk/cfnspec": "2.27.0", + "@aws-cdk/cfnspec": "2.25.0", "@types/node": "^10.17.60", "chalk": "^4", "diff": "^5.0.0", @@ -15672,12 +15671,12 @@ } }, "@aws-cdk/cx-api": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-2.27.0.tgz", - "integrity": "sha512-HqRMkGjBU5CglEThBATcGHnie7bqx2ij4gkHosuq9S8e8rA6cNMJeLK2i15vsxA3Pw6W5QKnrPQ6N8WKvyGfKg==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cx-api/-/cx-api-2.25.0.tgz", + "integrity": "sha512-WzylRlcc6oIlYPlWHlZu+GW289U/Hz++rFPcif/flyI+z9Qw/OgZUnHLYUamSJ5N0jbffmeTHvgjdaIf8S7kWw==", "dev": true, "requires": { - "@aws-cdk/cloud-assembly-schema": "2.27.0", + "@aws-cdk/cloud-assembly-schema": "2.25.0", "semver": "^7.3.7" }, "dependencies": { @@ -15835,244 +15834,247 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.78.0.tgz", - "integrity": "sha512-iz1YLwM2feJUj/y97yO4XmDeTxs+yZ1XJwQgoawKuc8IDBKUutnJNCHL5jL04WUKU7Nrlq+Hr2fCTScFh2z9zg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.110.0.tgz", + "integrity": "sha512-zok/WEVuK7Jh6V9YeA56pNZtxUASon9LTkS7vE65A4UFmNkPGNBCNgoiBcbhWfxwrZ8wtXcQk6rtUut39831mA==", "dev": true, "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-dynamodb": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.100.0.tgz", - "integrity": "sha512-0/PDutv4DDEpckH89x0hn6yFJGjtGhV+JnVimMw0dT+f+plWt706RTqPKgLCPftKTEDWncoQlSux+FO7vvXb4Q==", + "version": "3.113.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.113.0.tgz", + "integrity": "sha512-tp0/smnSBqoPdSbZqRaH46S9cDkOMXsbG8Qph+gV3+SL+V3nJLeGFzA+3WPmF0l0Bnv0/9Tms4ySZB0MsBSy/A==", "dev": true, "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/client-sts": "3.100.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-node": "3.100.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-endpoint-discovery": "3.80.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.94.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.99.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", + "@aws-sdk/client-sts": "3.112.0", + "@aws-sdk/config-resolver": "3.110.0", + "@aws-sdk/credential-provider-node": "3.112.0", + "@aws-sdk/fetch-http-handler": "3.110.0", + "@aws-sdk/hash-node": "3.110.0", + "@aws-sdk/invalid-dependency": "3.110.0", + "@aws-sdk/middleware-content-length": "3.110.0", + "@aws-sdk/middleware-endpoint-discovery": "3.110.0", + "@aws-sdk/middleware-host-header": "3.110.0", + "@aws-sdk/middleware-logger": "3.110.0", + "@aws-sdk/middleware-recursion-detection": "3.110.0", + "@aws-sdk/middleware-retry": "3.110.0", + "@aws-sdk/middleware-serde": "3.110.0", + "@aws-sdk/middleware-signing": "3.110.0", + "@aws-sdk/middleware-stack": "3.110.0", + "@aws-sdk/middleware-user-agent": "3.110.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/node-http-handler": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/smithy-client": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/url-parser": "3.110.0", + "@aws-sdk/util-base64-browser": "3.109.0", "@aws-sdk/util-base64-node": "3.55.0", "@aws-sdk/util-body-length-browser": "3.55.0", "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.99.0", - "@aws-sdk/util-defaults-mode-node": "3.99.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", - "@aws-sdk/util-waiter": "3.78.0", + "@aws-sdk/util-defaults-mode-browser": "3.110.0", + "@aws-sdk/util-defaults-mode-node": "3.110.0", + "@aws-sdk/util-user-agent-browser": "3.110.0", + "@aws-sdk/util-user-agent-node": "3.110.0", + "@aws-sdk/util-utf8-browser": "3.109.0", + "@aws-sdk/util-utf8-node": "3.109.0", + "@aws-sdk/util-waiter": "3.110.0", "tslib": "^2.3.1", "uuid": "^8.3.2" } }, "@aws-sdk/client-sso": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.100.0.tgz", - "integrity": "sha512-nmBRUO5QfQ2IO8fHb37p8HT3n1ZooPb3sfTQejrpFH9Eq82VEOatIGt6yH3yTQ8+mhbabEhV5aY2wt/0D7wGVA==", + "version": "3.112.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.112.0.tgz", + "integrity": "sha512-FwFmiapxuVQiyMdDaBvCpajnJkVWEUHBdO+7rIpzgKHkODEPou5/AwboaGRPEFYULOyYeI0HiDFzpK0G6de+7Q==", "dev": true, "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.94.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.99.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", + "@aws-sdk/config-resolver": "3.110.0", + "@aws-sdk/fetch-http-handler": "3.110.0", + "@aws-sdk/hash-node": "3.110.0", + "@aws-sdk/invalid-dependency": "3.110.0", + "@aws-sdk/middleware-content-length": "3.110.0", + "@aws-sdk/middleware-host-header": "3.110.0", + "@aws-sdk/middleware-logger": "3.110.0", + "@aws-sdk/middleware-recursion-detection": "3.110.0", + "@aws-sdk/middleware-retry": "3.110.0", + "@aws-sdk/middleware-serde": "3.110.0", + "@aws-sdk/middleware-stack": "3.110.0", + "@aws-sdk/middleware-user-agent": "3.110.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/node-http-handler": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/smithy-client": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/url-parser": "3.110.0", + "@aws-sdk/util-base64-browser": "3.109.0", "@aws-sdk/util-base64-node": "3.55.0", "@aws-sdk/util-body-length-browser": "3.55.0", "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.99.0", - "@aws-sdk/util-defaults-mode-node": "3.99.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", + "@aws-sdk/util-defaults-mode-browser": "3.110.0", + "@aws-sdk/util-defaults-mode-node": "3.110.0", + "@aws-sdk/util-user-agent-browser": "3.110.0", + "@aws-sdk/util-user-agent-node": "3.110.0", + "@aws-sdk/util-utf8-browser": "3.109.0", + "@aws-sdk/util-utf8-node": "3.109.0", "tslib": "^2.3.1" } }, "@aws-sdk/client-sts": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.100.0.tgz", - "integrity": "sha512-WHy0e6COf6/LfMsYqG9H4SGaQRDjuckMtwOLtu6cYr4cro3bOU5pNuyEjAdUHCpuhZgiE6gkZozhTlxMJqIuRQ==", + "version": "3.112.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.112.0.tgz", + "integrity": "sha512-hSApRO2wg3jk9VRGM6SCZO3aFP7DKVSUqs6FrvlXlj+JU88ZKObjrGE61cCzXoD89Dh+b9t8A2T6W51Nzriaxw==", "dev": true, "requires": { "@aws-crypto/sha256-browser": "2.0.0", "@aws-crypto/sha256-js": "2.0.0", - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-node": "3.100.0", - "@aws-sdk/fetch-http-handler": "3.78.0", - "@aws-sdk/hash-node": "3.78.0", - "@aws-sdk/invalid-dependency": "3.78.0", - "@aws-sdk/middleware-content-length": "3.78.0", - "@aws-sdk/middleware-host-header": "3.78.0", - "@aws-sdk/middleware-logger": "3.78.0", - "@aws-sdk/middleware-retry": "3.80.0", - "@aws-sdk/middleware-sdk-sts": "3.78.0", - "@aws-sdk/middleware-serde": "3.78.0", - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/middleware-user-agent": "3.78.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/node-http-handler": "3.94.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/smithy-client": "3.99.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", + "@aws-sdk/config-resolver": "3.110.0", + "@aws-sdk/credential-provider-node": "3.112.0", + "@aws-sdk/fetch-http-handler": "3.110.0", + "@aws-sdk/hash-node": "3.110.0", + "@aws-sdk/invalid-dependency": "3.110.0", + "@aws-sdk/middleware-content-length": "3.110.0", + "@aws-sdk/middleware-host-header": "3.110.0", + "@aws-sdk/middleware-logger": "3.110.0", + "@aws-sdk/middleware-recursion-detection": "3.110.0", + "@aws-sdk/middleware-retry": "3.110.0", + "@aws-sdk/middleware-sdk-sts": "3.110.0", + "@aws-sdk/middleware-serde": "3.110.0", + "@aws-sdk/middleware-signing": "3.110.0", + "@aws-sdk/middleware-stack": "3.110.0", + "@aws-sdk/middleware-user-agent": "3.110.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/node-http-handler": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/smithy-client": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/url-parser": "3.110.0", + "@aws-sdk/util-base64-browser": "3.109.0", "@aws-sdk/util-base64-node": "3.55.0", "@aws-sdk/util-body-length-browser": "3.55.0", "@aws-sdk/util-body-length-node": "3.55.0", - "@aws-sdk/util-defaults-mode-browser": "3.99.0", - "@aws-sdk/util-defaults-mode-node": "3.99.0", - "@aws-sdk/util-user-agent-browser": "3.78.0", - "@aws-sdk/util-user-agent-node": "3.80.0", - "@aws-sdk/util-utf8-browser": "3.55.0", - "@aws-sdk/util-utf8-node": "3.55.0", + "@aws-sdk/util-defaults-mode-browser": "3.110.0", + "@aws-sdk/util-defaults-mode-node": "3.110.0", + "@aws-sdk/util-user-agent-browser": "3.110.0", + "@aws-sdk/util-user-agent-node": "3.110.0", + "@aws-sdk/util-utf8-browser": "3.109.0", + "@aws-sdk/util-utf8-node": "3.109.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.1" } }, "@aws-sdk/config-resolver": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.80.0.tgz", - "integrity": "sha512-vFruNKlmhsaC8yjnHmasi1WW/7EELlEuFTj4mqcqNqR4dfraf0maVvpqF1VSR8EstpFMsGYI5dmoWAnnG4PcLQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.110.0.tgz", + "integrity": "sha512-7VvtKy4CL63BAktQ2vgsjhWDSXpkXO5YdiI56LQnHztrvSuJBBaxJ7R1p/k0b2tEUhYKUziAIW8EKE/7EGPR4g==", "dev": true, "requires": { - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-config-provider": "3.55.0", - "@aws-sdk/util-middleware": "3.78.0", + "@aws-sdk/signature-v4": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/util-config-provider": "3.109.0", + "@aws-sdk/util-middleware": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-env": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.78.0.tgz", - "integrity": "sha512-K41VTIzVHm2RyIwtBER8Hte3huUBXdV1WKO+i7olYVgLFmaqcZUNrlyoGDRqZcQ/u4AbxTzBU9jeMIbIfzMOWg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.110.0.tgz", + "integrity": "sha512-oFU3IYk/Bl5tdsz1qigtm3I25a9cvXPqlE8VjYjxVDdLujF5zd/4HLbhP4GQWhpEwZmM1ijcSNfLcyywVevTZg==", "dev": true, "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-imds": { - "version": "3.81.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.81.0.tgz", - "integrity": "sha512-BHopP+gaovTYj+4tSrwCk8NNCR48gE9CWmpIOLkP9ell0gOL81Qh7aCEiIK0BZBZkccv1s16cYq1MSZZGS7PEQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.110.0.tgz", + "integrity": "sha512-atl+7/dAB+8fG9XI2fYyCgXKYDbOzot65VAwis+14bOEUCVp7PCJifBEZ/L8GEq564p+Fa2p1IpV0wuQXxqFUQ==", "dev": true, "requires": { - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/url-parser": "3.78.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/url-parser": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.100.0.tgz", - "integrity": "sha512-2pCtth/Iv4mATRwb2g1nJdd9TolMyhTnhcskopukFvzp13VS5cgtz0hgYmJNnztTF8lpKJhJaidtKS5JJTWnHg==", - "dev": true, - "requires": { - "@aws-sdk/credential-provider-env": "3.78.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/credential-provider-sso": "3.100.0", - "@aws-sdk/credential-provider-web-identity": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "version": "3.112.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.112.0.tgz", + "integrity": "sha512-ebgZ6/jZdTGHQ3zfq/ccmS+7YmLk6yUWHDmh69VK+B1Dd+S1jFwbD9EQ+pYWCp/gEl9F620NSwb6KghRylPWEQ==", + "dev": true, + "requires": { + "@aws-sdk/credential-provider-env": "3.110.0", + "@aws-sdk/credential-provider-imds": "3.110.0", + "@aws-sdk/credential-provider-sso": "3.112.0", + "@aws-sdk/credential-provider-web-identity": "3.110.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/shared-ini-file-loader": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-node": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.100.0.tgz", - "integrity": "sha512-PMIPnn/dhv9tlWR0qXnANJpTumujWfhKnLAsV3BUqB1K9IzWqz/zXjCT0jcSUTY8X/VkSuehtBdCKvOOM5mMqg==", - "dev": true, - "requires": { - "@aws-sdk/credential-provider-env": "3.78.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/credential-provider-ini": "3.100.0", - "@aws-sdk/credential-provider-process": "3.80.0", - "@aws-sdk/credential-provider-sso": "3.100.0", - "@aws-sdk/credential-provider-web-identity": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "version": "3.112.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.112.0.tgz", + "integrity": "sha512-7txS7P3BAaU4cksFw/PnoVskVvO8h/TPvOl/BxFtCiUdwA6FRltLvBeMlN08fwUoqgM6z06q8areBdeDqCHOSw==", + "dev": true, + "requires": { + "@aws-sdk/credential-provider-env": "3.110.0", + "@aws-sdk/credential-provider-imds": "3.110.0", + "@aws-sdk/credential-provider-ini": "3.112.0", + "@aws-sdk/credential-provider-process": "3.110.0", + "@aws-sdk/credential-provider-sso": "3.112.0", + "@aws-sdk/credential-provider-web-identity": "3.110.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/shared-ini-file-loader": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-process": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.80.0.tgz", - "integrity": "sha512-3Ro+kMMyLUJHefOhGc5pOO/ibGcJi8bkj0z/Jtqd5I2Sm1qi7avoztST67/k48KMW1OqPnD/FUqxz5T8B2d+FQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.110.0.tgz", + "integrity": "sha512-JJcZePvRTfQHYj/+EEY13yItnZH/e8exlARFUjN0L13UrgHpOJtDQBa+YBHXo6MbTFQh+re25z2kzc+zOYSMNQ==", "dev": true, "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/shared-ini-file-loader": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.100.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.100.0.tgz", - "integrity": "sha512-DwJvrh77vBJ1/fS9z0i2QuIvSk4pATA4DH8AEWoQ8LQX97tp3es7gZV5Wu93wFsEyIYC8penz6pNVq5QajMk2A==", + "version": "3.112.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.112.0.tgz", + "integrity": "sha512-b6rOrSXbNK3fGyPvNpyF5zdktmAoNOqHCTmFSUcxRxOipyRGb5JACsbjWthIQkpWkpNCT8GFNLEg9spXPFIdLA==", "dev": true, "requires": { - "@aws-sdk/client-sso": "3.100.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/client-sso": "3.112.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/shared-ini-file-loader": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.78.0.tgz", - "integrity": "sha512-9/IvqHdJaVqMEABA8xZE3t5YF1S2PepfckVu0Ws9YUglj6oO+2QyVX6aRgMF1xph6781+Yc31TDh8/3eaDja7w==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.110.0.tgz", + "integrity": "sha512-e4e5u7v3fsUFZsMcFMhMy1NdJBQpunYcLwpYlszm3OEICwTTekQ+hVvnVRd134doHvzepE4yp9sAop0Cj+IRVQ==", "dev": true, "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, @@ -16087,36 +16089,36 @@ } }, "@aws-sdk/fetch-http-handler": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.78.0.tgz", - "integrity": "sha512-cR6r2h2kJ1DNEZSXC6GknQB7OKmy+s9ZNV+g3AsNqkrUmNNOaHpFoSn+m6SC3qaclcGd0eQBpqzSu/TDn23Ihw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.110.0.tgz", + "integrity": "sha512-vk+K4GeCZL2J2rtvKO+T0Q7i3MDpEGZBMg5K2tj9sMcEQwty0BF0aFnP7Eu2l4/Zif2z1mWuUFM2WcZI6DVnbw==", "dev": true, "requires": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/querystring-builder": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-base64-browser": "3.58.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/querystring-builder": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/util-base64-browser": "3.109.0", "tslib": "^2.3.1" } }, "@aws-sdk/hash-node": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.78.0.tgz", - "integrity": "sha512-ev48yXaqZVtMeuKy52LUZPHCyKvkKQ9uiUebqkA+zFxIk+eN8SMPFHmsififIHWuS6ZkXBUSctjH9wmLebH60A==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.110.0.tgz", + "integrity": "sha512-wakl+kP2O8wTGYiQ3InZy+CVfGrIpFfq9fo4zif9PZac0BbUbguUU1dkY34uZiaf+4o2/9MoDYrHU2HYeXKxWw==", "dev": true, "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "@aws-sdk/util-buffer-from": "3.55.0", "tslib": "^2.3.1" } }, "@aws-sdk/invalid-dependency": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.78.0.tgz", - "integrity": "sha512-zUo+PbeRMN/Mzj6y+6p9qqk/znuFetT1gmpOcZGL9Rp2T+b9WJWd+daq5ktsL10sVCzIt2UvneJRz6b+aU+bfw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.110.0.tgz", + "integrity": "sha512-O8J1InmtJkoiUMbQDtxBfOzgigBp9iSVsNXQrhs2qHh3826cJOfE7NGT3u+NMw73Pk5j2cfmOh1+7k/76IqxOg==", "dev": true, "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, @@ -16130,246 +16132,257 @@ } }, "@aws-sdk/middleware-content-length": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.78.0.tgz", - "integrity": "sha512-5MpKt6lB9TdFy25/AGrpOjPY0iDHZAKpEHc+jSOJBXLl6xunXA7qHdiYaVqkWodLxy70nIckGNHqQ3drabidkA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.110.0.tgz", + "integrity": "sha512-hKU+zdqfAJQg22LXMVu/z35nNIHrVAKpVKPe9+WYVdL/Z7JKUPK7QymqKGOyDuDbzW6OxyulC1zKGEX12zGmdA==", "dev": true, "requires": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-endpoint-discovery": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.80.0.tgz", - "integrity": "sha512-73pKz8ossZKisG684raP1dn2u3fQRktWY29oa9Q3cBvRYdyu5UOhwayt2MObgSC8S6NfNdTGC/DGf7+/JRSY7A==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.110.0.tgz", + "integrity": "sha512-GUnNcuEBqD21E8EgevTcaBXJGnH5dp7eDSfWceYJP+iSscFXLzFFOf1I6H0cwvfARVMHVvlFz0tQcojCSHUZig==", "dev": true, "requires": { - "@aws-sdk/config-resolver": "3.80.0", + "@aws-sdk/config-resolver": "3.110.0", "@aws-sdk/endpoint-cache": "3.55.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-host-header": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.78.0.tgz", - "integrity": "sha512-1zL8uaDWGmH50c8B8jjz75e0ePj6/3QeZEhjJgTgL6DTdiqvRt32p3t+XWHW+yDI14fZZUYeTklAaLVxqFrHqQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.110.0.tgz", + "integrity": "sha512-/Cknn1vL2LTlclI0MX2RzmtdPlCJ5palCRXxm/mod1oHwg4oNTKRlUX3LUD+L8g7JuJ4h053Ch9KS/A0vanE5Q==", "dev": true, "requires": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-logger": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.78.0.tgz", - "integrity": "sha512-GBhwxNjhCJUIeQQDaGasX/C23Jay77al2vRyGwmxf8no0DdFsa4J1Ik6/2hhIqkqko+WM4SpCnpZrY4MtnxNvA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.110.0.tgz", + "integrity": "sha512-+pz+a+8dfTnzLj79nHrv3aONMp/N36/erMd+7JXeR84QEosVLrFBUwKA8x5x6O3s1iBbQzRKMYEIuja9xn1BPA==", + "dev": true, + "requires": { + "@aws-sdk/types": "3.110.0", + "tslib": "^2.3.1" + } + }, + "@aws-sdk/middleware-recursion-detection": { + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.110.0.tgz", + "integrity": "sha512-Wav782zd7bcd1e6txRob76CDOdVOaUQ8HXoywiIm/uFrEEUZvhs2mgnXjVUVCMBUehdNgnL99z420aS13JeL/Q==", "dev": true, "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-retry": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.80.0.tgz", - "integrity": "sha512-CTk+tA4+WMUNOcUfR6UQrkhwvPYFpnMsQ1vuHlpLFOGG3nCqywA2hueLMRQmVcDXzP0sGeygce6dzRI9dJB/GA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.110.0.tgz", + "integrity": "sha512-lwLAQQveCiUqymQvVYjCee6QOXw3Zqbc9yq+pxYdXbs1Cv1XMA6PeJeUU5r5KEVuSceBLyyrnl6E0R1l1om1MQ==", "dev": true, "requires": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/service-error-classification": "3.78.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-middleware": "3.78.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/service-error-classification": "3.110.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/util-middleware": "3.110.0", "tslib": "^2.3.1", "uuid": "^8.3.2" } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.78.0.tgz", - "integrity": "sha512-Lu/kN0J0/Kt0ON1hvwNel+y8yvf35licfIgtedHbBCa/ju8qQ9j+uL9Lla6Y5Tqu29yVaye1JxhiIDhscSwrLA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.110.0.tgz", + "integrity": "sha512-EjY/YFdlr5jECde6qIrTIyGBbn/34CKcQGKvmvRd31+3qaClIJLAwNuHfcVzWvCUGbAslsfvdbOpLju33pSQRA==", "dev": true, "requires": { - "@aws-sdk/middleware-signing": "3.78.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/middleware-signing": "3.110.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/signature-v4": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-serde": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.78.0.tgz", - "integrity": "sha512-4DPsNOxsl1bxRzfo1WXEZjmD7OEi7qGNpxrDWucVe96Fqj2dH08jR8wxvBIVV1e6bAad07IwdPuCGmivNvwRuQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.110.0.tgz", + "integrity": "sha512-brVupxgEAmcZ9cZvdHEH8zncjvGKIiud8pOe4fiimp5NpHmjBLew4jUbnOKNZNAjaidcKUtz//cxtutD6yXEww==", "dev": true, "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-signing": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.78.0.tgz", - "integrity": "sha512-OEjJJCNhHHSOprLZ9CzjHIXEKFtPHWP/bG9pMhkV3/6Bmscsgcf8gWHcOnmIrjqX+hT1VALDNpl/RIh0J6/eQw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.110.0.tgz", + "integrity": "sha512-y6ZKrGYfgDlFMzWhZmoq5J1UctBgZOUvMmnU9sSeZ020IlEPiOxFMvR0Zu6TcYThp8uy3P0wyjQtGYeTl9Z/kA==", "dev": true, "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/signature-v4": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/signature-v4": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/middleware-stack": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.78.0.tgz", - "integrity": "sha512-UoNfRh6eAJN3BJHlG1eb+KeuSe+zARTC2cglroJRyHc2j7GxH2i9FD3IJbj5wvzopJEnQzuY/VCs6STFkqWL1g==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.110.0.tgz", + "integrity": "sha512-iaLHw6ctOuGa9UxNueU01Xes+15dR+mqioRpUOUZ9Zx+vhXVpD7C8lnNqhRnYeFXs10/rNIzASgsIrAHTlnlIQ==", "dev": true, "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/middleware-user-agent": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.78.0.tgz", - "integrity": "sha512-wdN5uoq8RxxhLhj0EPeuDSRFuXfUwKeEqRzCKMsYAOC0cAm+PryaP2leo0oTGJ9LUK8REK7zyfFcmtC4oOzlkA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.110.0.tgz", + "integrity": "sha512-Y6FgiZr99DilYq6AjeaaWcNwVlSQpNGKrILzvV4Tmz03OaBIspe4KL+8EZ2YA/sAu5Lpw80vItdezqDOwGAlnQ==", "dev": true, "requires": { - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/node-config-provider": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.80.0.tgz", - "integrity": "sha512-vyTOMK04huB7n10ZUv0thd2TE6KlY8livOuLqFTMtj99AJ6vyeB5XBNwKnQtJIt/P7CijYgp8KcFvI9fndOmKg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.110.0.tgz", + "integrity": "sha512-46p4dCPGYctuybTQTwLpjenA1QFHeyJw/OyggGbtUJUy+833+ldnAwcPVML2aXJKUKv3APGI8vq1kaloyNku3Q==", "dev": true, "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/shared-ini-file-loader": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/shared-ini-file-loader": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/node-http-handler": { - "version": "3.94.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.94.0.tgz", - "integrity": "sha512-g9q6k+PS+BrtOzt8jrBWr9D543uB3ZoYZ2JCriwuCwnP4uIHlMf9wAOGcOgqgykfUAPBOLvz2rTwVs3Xl8GUmQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.110.0.tgz", + "integrity": "sha512-/rP+hY516DpP8fZhwFW5xM/ElH0w6lxw/15VvZCoY5EnOLAF5XIsJdzscWPSEW2FHCylBM4SNrKhGar14BDXhA==", "dev": true, "requires": { - "@aws-sdk/abort-controller": "3.78.0", - "@aws-sdk/protocol-http": "3.78.0", - "@aws-sdk/querystring-builder": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/abort-controller": "3.110.0", + "@aws-sdk/protocol-http": "3.110.0", + "@aws-sdk/querystring-builder": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/property-provider": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.78.0.tgz", - "integrity": "sha512-PZpLvV0hF6lqg3CSN9YmphrB/t5LVJVWGJLB9d9qm7sJs5ksjTYBb5bY91OQ3zit0F4cqBMU8xt2GQ9J6d4DvQ==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.110.0.tgz", + "integrity": "sha512-7NkpmYeOkK3mhWBNU+/zSDqwzeaSPH1qrq4L//WV7WS/weYyE/jusQeZoOxVsuZQnQEXHt5O2hKVeUwShl12xA==", "dev": true, "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/protocol-http": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.78.0.tgz", - "integrity": "sha512-SQB26MhEK96yDxyXd3UAaxLz1Y/ZvgE4pzv7V3wZiokdEedM0kawHKEn1UQJlqJLEZcQI9QYyysh3rTvHZ3fyg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.110.0.tgz", + "integrity": "sha512-qdi2gCbJiyPyLn+afebPNp/5nVCRh1X7t7IRIFl3FHVEC+o54u/ojay/MLZ4M/+X9Fa4Zxsb0Wpp3T0xAHVDBg==", "dev": true, "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/querystring-builder": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.78.0.tgz", - "integrity": "sha512-aib6RW1WAaTQDqVgRU1Ku9idkhm90gJKbCxVaGId+as6QHNUqMChEfK2v+0afuKiPNOs5uWmqvOXI9+Gt+UGDg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.110.0.tgz", + "integrity": "sha512-7V3CDXj519izmbBn9ZE68ymASwGriA+Aq+cb/yHSVtffnvXjPtvONNw7G/5iVblisGLSCUe2hSvpYtcaXozbHw==", "dev": true, "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "@aws-sdk/util-uri-escape": "3.55.0", "tslib": "^2.3.1" } }, "@aws-sdk/querystring-parser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.78.0.tgz", - "integrity": "sha512-csaH8YTyN+KMNczeK6fBS8l7iJaqcQcKOIbpQFg5upX4Ly5A56HJn4sVQhY1LSgfSk4xRsNfMy5mu6BlsIiaXA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.110.0.tgz", + "integrity": "sha512-//pJHH7hrhdDMZGBPKXKymmC/tJM7gFT0w/qbu/yd3Wm4W2fMB+8gkmj6EZctx7jrsWlfRQuvFejKqEfapur/g==", "dev": true, "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/service-error-classification": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.78.0.tgz", - "integrity": "sha512-x7Lx8KWctJa01q4Q72Zb4ol9L/era3vy2daASu8l2paHHxsAPBE0PThkvLdUSLZSzlHSVdh3YHESIsT++VsK4w==" + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.110.0.tgz", + "integrity": "sha512-ccgCE0pU/4RmXR6CP3fLAdhPAve7bK/yXBbGzpSHGAQOXqNxYzOsAvQ30Jg6X+qjLHsI/HR2pLIE65z4k6tynw==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.80.0.tgz", - "integrity": "sha512-3d5EBJjnWWkjLK9skqLLHYbagtFaZZy+3jUTlbTuOKhlOwe8jF7CUM3j6I4JA6yXNcB3w0exDKKHa8w+l+05aA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.110.0.tgz", + "integrity": "sha512-E1ERoqEoG206XNBYWCKLgHkzCbTxdpDEGbsLET2DnvjFsT0s9p2dPvVux3bYl7JVAhyGduE+qcqWk7MzhFCBNQ==", "dev": true, "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/signature-v4": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.78.0.tgz", - "integrity": "sha512-eePjRYuzKoi3VMr/lgrUEF1ytLeH4fA/NMCykr/uR6NMo4bSJA59KrFLYSM7SlWLRIyB0UvJqygVEvSxFluyDw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.110.0.tgz", + "integrity": "sha512-utxxdllOnmQDhbpipnFAbuQ4c2pwefZ+2hi48jKvQRULQ2PO4nxLmdZm6B0FXaTijbKsyO7GrMik+EZ6mi3ARQ==", "dev": true, "requires": { "@aws-sdk/is-array-buffer": "3.55.0", - "@aws-sdk/types": "3.78.0", - "@aws-sdk/util-hex-encoding": "3.58.0", - "@aws-sdk/util-middleware": "3.78.0", + "@aws-sdk/types": "3.110.0", + "@aws-sdk/util-hex-encoding": "3.109.0", + "@aws-sdk/util-middleware": "3.110.0", "@aws-sdk/util-uri-escape": "3.55.0", "tslib": "^2.3.1" } }, "@aws-sdk/smithy-client": { - "version": "3.99.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.99.0.tgz", - "integrity": "sha512-N9xgCcwbOBZ4/WuROzlErExXV6+vFrFkNJzeBT31/avvrHXjxgxwQlMoXoQCfM8PyRuDuVSfZeoh1iIRfoxidA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.110.0.tgz", + "integrity": "sha512-gNLYrmdAe/1hVF2Nv2LF4OkL1A0a1o708pEMZHzql9xP164omRDaLrGDhz9tH7tsJEgLz+Bf4E8nTuISeDwvGg==", "dev": true, "requires": { - "@aws-sdk/middleware-stack": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/middleware-stack": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/types": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.78.0.tgz", - "integrity": "sha512-I9PTlVNSbwhIgMfmDM5as1tqRIkVZunjVmfogb2WVVPp4CaX0Ll01S0FSMSLL9k6tcQLXqh45pFRjrxCl9WKdQ==" + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.110.0.tgz", + "integrity": "sha512-dLVoqODU3laaqNFPyN1QLtlQnwX4gNPMXptEBIt/iJpuZf66IYJe6WCzVZGt4Zfa1CnUmrlA428AzdcA/KCr2A==" }, "@aws-sdk/url-parser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.78.0.tgz", - "integrity": "sha512-iQn2AjECUoJE0Ae9XtgHtGGKvUkvE8hhbktGopdj+zsPBe4WrBN2DgVxlKPPrBonG/YlcL1D7a5EXaujWSlUUw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.110.0.tgz", + "integrity": "sha512-tILFB8/Q73yzgO0dErJNnELmmBszd0E6FucwAnG3hfDefjqCBe09Q/1yhu2aARXyRmZa4AKp0sWcdwIWHc8dnA==", "dev": true, "requires": { - "@aws-sdk/querystring-parser": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/querystring-parser": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-base64-browser": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.58.0.tgz", - "integrity": "sha512-0ebsXIZNpu/fup9OgsFPnRKfCFbuuI9PPRzvP6twzLxUB0c/aix6Co7LGHFKcRKHZdaykoJMXArf8eHj2Nzv1Q==", + "version": "3.109.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.109.0.tgz", + "integrity": "sha512-lAZ6fyDGiRLaIsKT9qh7P9FGuNyZ4gAbr1YOSQk/5mHtaTuUvxlPptZuInNM/0MPQm6lpcot00D8IWTucn4PbA==", "dev": true, "requires": { "tslib": "^2.3.1" @@ -16414,44 +16427,44 @@ } }, "@aws-sdk/util-config-provider": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.55.0.tgz", - "integrity": "sha512-30dzofQQfx6tp1jVZkZ0DGRsT0wwC15nEysKRiAcjncM64A0Cm6sra77d0os3vbKiKoPCI/lMsFr4o3533+qvQ==", + "version": "3.109.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.109.0.tgz", + "integrity": "sha512-GrAZl/aBv0A28LkyNyq8SPJ5fmViCwz80fWLMeWx/6q5AbivuILogjlWwEZSvZ9zrlHOcFC0+AnCa5pQrjaslw==", "dev": true, "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-browser": { - "version": "3.99.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.99.0.tgz", - "integrity": "sha512-qSYjUGuN8n7Q/zAi0tzU4BrU389jQosXtjp7eHpLATl0pKGpaHx6rJNwbiNhvBhBEfmSgqsJ09b4gZUpUezHEw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.110.0.tgz", + "integrity": "sha512-Y2dcOOD20S3bv/IjUqpdKIiDt6995SXNG5Pu/LeSdXNyLCOIm9rX4gHTxl9fC1KK5M/gR9fGJ362f67WwqEEqw==", "dev": true, "requires": { - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-defaults-mode-node": { - "version": "3.99.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.99.0.tgz", - "integrity": "sha512-8TUO0kEnQcgT1gAW9y9oO6a5gKhfEGEUeKidEgbTczEUrjr3aCXIC+p0DI5FJfImwPrTKXra8A22utDM92phWw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.110.0.tgz", + "integrity": "sha512-Cr3Z5nyrw1KowjbW76xp8hkT/zJtYjAVZ9PS4l84KxIicbVvDOBpxG3yNddkuQcavmlH6G4wH9uM5DcnpKDncg==", "dev": true, "requires": { - "@aws-sdk/config-resolver": "3.80.0", - "@aws-sdk/credential-provider-imds": "3.81.0", - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/property-provider": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/config-resolver": "3.110.0", + "@aws-sdk/credential-provider-imds": "3.110.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/property-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-hex-encoding": { - "version": "3.58.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.58.0.tgz", - "integrity": "sha512-Rl+jXUzk/FJkOLYfUVYPhKa2aUmTpeobRP31l8IatQltSzDgLyRHO35f6UEs7Ztn5s1jbu/POatLAZ2WjbgVyg==", + "version": "3.109.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.109.0.tgz", + "integrity": "sha512-s8CgTNrn3cLkrdiohfxLuOYPCanzvHn/aH5RW6DaMoeQiG5Hl9QUiP/WtdQ9QQx3xvpQFpmvxIaSBwSgFNLQxA==", "dev": true, "requires": { "tslib": "^2.3.1" @@ -16467,9 +16480,9 @@ } }, "@aws-sdk/util-middleware": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.78.0.tgz", - "integrity": "sha512-Hi3wv2b0VogO4mzyeEaeU5KgIt4qeo0LXU5gS6oRrG0T7s2FyKbMBkJW3YDh/Y8fNwqArZ+/QQFujpP0PIKwkA==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.110.0.tgz", + "integrity": "sha512-PTVWrI5fA9d5hHJs6RzX2dIS2jRQ3uW073Fm0BePpQeDdZrEk+S5KNwRhUtpN6sdSV45vm6S9rrjZUG51qwGmA==", "dev": true, "requires": { "tslib": "^2.3.1" @@ -16485,40 +16498,40 @@ } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.78.0.tgz", - "integrity": "sha512-diGO/Bf4ggBOEnfD7lrrXaaXOwOXGz0bAJ0HhpizwEMlBld5zfDlWXjNpslh+8+u3EHRjPJQ16KGT6mp/Dm+aw==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.110.0.tgz", + "integrity": "sha512-rNdhmHDMV5dNJctqlBWimkZLJRB+x03DB+61pm+SKSFk6gPIVIvc1WNXqDFphkiswT4vA13ZUkGHzt+N4+noQQ==", "dev": true, "requires": { - "@aws-sdk/types": "3.78.0", + "@aws-sdk/types": "3.110.0", "bowser": "^2.11.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.80.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.80.0.tgz", - "integrity": "sha512-QV26qIXws1m6sZXg65NS+XrQ5NhAzbDVQLtEVE4nC39UN8fuieP6Uet/gZm9mlLI9hllwvcV7EfgBM3GSC7pZg==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.110.0.tgz", + "integrity": "sha512-OQ915TPCCBwZWz5Np8zkNWn7U6KvrTZfFoCOy/VIemK3dUqmnBZ7HqGpuZx8SwJ2R9JE1x+j0niYSJ5fWJZZKA==", "dev": true, "requires": { - "@aws-sdk/node-config-provider": "3.80.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/node-config-provider": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, "@aws-sdk/util-utf8-browser": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.55.0.tgz", - "integrity": "sha512-ljzqJcyjfJpEVSIAxwtIS8xMRUly84BdjlBXyp6cu4G8TUufgjNS31LWdhyGhgmW5vYBNr+LTz0Kwf6J+ou7Ug==", + "version": "3.109.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.109.0.tgz", + "integrity": "sha512-FmcGSz0v7Bqpl1SE8G1Gc0CtDpug+rvqNCG/szn86JApD/f5x8oByjbEiAyTU2ZH2VevUntx6EW68ulHyH+x+w==", "dev": true, "requires": { "tslib": "^2.3.1" } }, "@aws-sdk/util-utf8-node": { - "version": "3.55.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.55.0.tgz", - "integrity": "sha512-FsFm7GFaC7j0tlPEm/ri8bU2QCwFW5WKjxUg8lm1oWaxplCpKGUsmcfPJ4sw58GIoyoGu4QXBK60oCWosZYYdQ==", + "version": "3.109.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.109.0.tgz", + "integrity": "sha512-Ti/ZBdvz2eSTElsucjzNmzpyg2MwfD1rXmxD0hZuIF8bPON/0+sZYnWd5CbDw9kgmhy28dmKue086tbZ1G0iLQ==", "dev": true, "requires": { "@aws-sdk/util-buffer-from": "3.55.0", @@ -16526,13 +16539,13 @@ } }, "@aws-sdk/util-waiter": { - "version": "3.78.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.78.0.tgz", - "integrity": "sha512-8pWd0XiNOS8AkWQyac8VNEI+gz/cGWlC2TAE2CJp0rOK5XhvlcNBINai4D6TxQ+9foyJXLOI1b8nuXemekoG8A==", + "version": "3.110.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.110.0.tgz", + "integrity": "sha512-8dE6W6XYfjk1gx/aeb8NeLfMMLkLFhlV1lmKpFSBJhY8msajU8aQahTuykq5JW8QT/wCGbqbu7dH35SdX7kO+A==", "dev": true, "requires": { - "@aws-sdk/abort-controller": "3.78.0", - "@aws-sdk/types": "3.78.0", + "@aws-sdk/abort-controller": "3.110.0", + "@aws-sdk/types": "3.110.0", "tslib": "^2.3.1" } }, @@ -16977,9 +16990,9 @@ "dev": true }, "@commitlint/cli": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.0.2.tgz", - "integrity": "sha512-Axe89Js0YzGGd4gxo3JLlF7yIdjOVpG1LbOorGc6PfYF+drBh14PvarSDLzyd2TNqdylUCq9wb9/A88ZjIdyhA==", + "version": "17.0.1", + "resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-17.0.1.tgz", + "integrity": "sha512-5xT1G5pnynR0tk/ms8Ji7yr9lZCeQs4GLVVtyK/gw20w+enoLTVuRKKY9zg88hy9FoCycc/W8iip2xv3c8payg==", "dev": true, "requires": { "@commitlint/format": "^17.0.0", @@ -18652,9 +18665,9 @@ "dev": true }, "@types/aws-lambda": { - "version": "8.10.100", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.100.tgz", - "integrity": "sha512-Qldp1LhbgQ4tEHewci0/q5qVRaDr8ylvsYfpitJ+FFixzAHpgitvM2NM449uYWt2tYo/iJy25aSRRUVvwIT+ng==", + "version": "8.10.97", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.97.tgz", + "integrity": "sha512-BZk3qO4R2KN8Ts3eR6CW1n8LI46UOgv1KoDZjo8J9vOQvDeX/rsrv1H0BpEAMcSqZ1mLwTEyAMtlua5tlSn0kw==", "dev": true }, "@types/babel__core": { @@ -18872,14 +18885,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.28.0.tgz", - "integrity": "sha512-DXVU6Cg29H2M6EybqSg2A+x8DgO9TCUBRp4QEXQHJceLS7ogVDP0g3Lkg/SZCqcvkAP/RruuQqK0gdlkgmhSUA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.26.0.tgz", + "integrity": "sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.28.0", - "@typescript-eslint/type-utils": "5.28.0", - "@typescript-eslint/utils": "5.28.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/type-utils": "5.26.0", + "@typescript-eslint/utils": "5.26.0", "debug": "^4.3.4", "functional-red-black-tree": "^1.0.1", "ignore": "^5.2.0", @@ -18889,41 +18902,41 @@ } }, "@typescript-eslint/parser": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.28.0.tgz", - "integrity": "sha512-ekqoNRNK1lAcKhZESN/PdpVsWbP9jtiNqzFWkp/yAUdZvJalw2heCYuqRmM5eUJSIYEkgq5sGOjq+ZqsLMjtRA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.26.0.tgz", + "integrity": "sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.28.0", - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/typescript-estree": "5.28.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/typescript-estree": "5.26.0", "debug": "^4.3.4" }, "dependencies": { "@typescript-eslint/scope-manager": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.28.0.tgz", - "integrity": "sha512-LeBLTqF/he1Z+boRhSqnso6YrzcKMTQ8bO/YKEe+6+O/JGof9M0g3IJlIsqfrK/6K03MlFIlycbf1uQR1IjE+w==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz", + "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/visitor-keys": "5.28.0" + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0" } }, "@typescript-eslint/types": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.28.0.tgz", - "integrity": "sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz", + "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.28.0.tgz", - "integrity": "sha512-9GX+GfpV+F4hdTtYc6OV9ZkyYilGXPmQpm6AThInpBmKJEyRSIjORJd1G9+bknb7OTFYL+Vd4FBJAO6T78OVqA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz", + "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/visitor-keys": "5.28.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -18932,52 +18945,52 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.28.0.tgz", - "integrity": "sha512-BtfP1vCor8cWacovzzPFOoeW4kBQxzmhxGoOpt0v1SFvG+nJ0cWaVdJk7cky1ArTcFHHKNIxyo2LLr3oNkSuXA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz", + "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==", "dev": true, "requires": { - "@typescript-eslint/types": "5.28.0", + "@typescript-eslint/types": "5.26.0", "eslint-visitor-keys": "^3.3.0" } } } }, "@typescript-eslint/scope-manager": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.28.0.tgz", - "integrity": "sha512-LeBLTqF/he1Z+boRhSqnso6YrzcKMTQ8bO/YKEe+6+O/JGof9M0g3IJlIsqfrK/6K03MlFIlycbf1uQR1IjE+w==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.26.0.tgz", + "integrity": "sha512-gVzTJUESuTwiju/7NiTb4c5oqod8xt5GhMbExKsCTp6adU3mya6AGJ4Pl9xC7x2DX9UYFsjImC0mA62BCY22Iw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/visitor-keys": "5.28.0" + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0" } }, "@typescript-eslint/type-utils": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.28.0.tgz", - "integrity": "sha512-SyKjKh4CXPglueyC6ceAFytjYWMoPHMswPQae236zqe1YbhvCVQyIawesYywGiu98L9DwrxsBN69vGIVxJ4mQQ==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.26.0.tgz", + "integrity": "sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==", "dev": true, "requires": { - "@typescript-eslint/utils": "5.28.0", + "@typescript-eslint/utils": "5.26.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.28.0.tgz", - "integrity": "sha512-2OOm8ZTOQxqkPbf+DAo8oc16sDlVR5owgJfKheBkxBKg1vAfw2JsSofH9+16VPlN9PWtv8Wzhklkqw3k/zCVxA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.26.0.tgz", + "integrity": "sha512-8794JZFE1RN4XaExLWLI2oSXsVImNkl79PzTOOWt9h0UHROwJedNOD2IJyfL0NbddFllcktGIO2aOu10avQQyA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.28.0.tgz", - "integrity": "sha512-9GX+GfpV+F4hdTtYc6OV9ZkyYilGXPmQpm6AThInpBmKJEyRSIjORJd1G9+bknb7OTFYL+Vd4FBJAO6T78OVqA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.26.0.tgz", + "integrity": "sha512-EyGpw6eQDsfD6jIqmXP3rU5oHScZ51tL/cZgFbFBvWuCwrIptl+oueUZzSmLtxFuSOQ9vDcJIs+279gnJkfd1w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/visitor-keys": "5.28.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/visitor-keys": "5.26.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -18986,26 +18999,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.28.0.tgz", - "integrity": "sha512-E60N5L0fjv7iPJV3UGc4EC+A3Lcj4jle9zzR0gW7vXhflO7/J29kwiTGITA2RlrmPokKiZbBy2DgaclCaEUs6g==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.26.0.tgz", + "integrity": "sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.28.0", - "@typescript-eslint/types": "5.28.0", - "@typescript-eslint/typescript-estree": "5.28.0", + "@typescript-eslint/scope-manager": "5.26.0", + "@typescript-eslint/types": "5.26.0", + "@typescript-eslint/typescript-estree": "5.26.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.28.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.28.0.tgz", - "integrity": "sha512-BtfP1vCor8cWacovzzPFOoeW4kBQxzmhxGoOpt0v1SFvG+nJ0cWaVdJk7cky1ArTcFHHKNIxyo2LLr3oNkSuXA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.26.0.tgz", + "integrity": "sha512-wei+ffqHanYDOQgg/fS6Hcar6wAWv0CUPQ3TZzOWd2BLfgP539rb49bwua8WRAs7R6kOSLn82rfEu2ro6Llt8Q==", "dev": true, "requires": { - "@typescript-eslint/types": "5.28.0", + "@typescript-eslint/types": "5.26.0", "eslint-visitor-keys": "^3.3.0" } }, @@ -19386,9 +19399,9 @@ } }, "aws-cdk-lib": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.27.0.tgz", - "integrity": "sha512-CsTy/+RIBMvP9LlZjkQakkKPpwU50+HAMCMaGOcyIHADDQdXobGcZXTO+Tq00sH2DoQjPV1ZhhBim5z3k/2KXw==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.25.0.tgz", + "integrity": "sha512-rcQeQu/lTmi1tg5DwV0gBqJtF73khApfHt9n7BIHkKbUWvCB50lIL1Q1/7cHvTicfQ62UnwFoPWwB0YqQceDVQ==", "dev": true, "requires": { "@balena/dockerignore": "^1.0.2", @@ -19518,9 +19531,9 @@ } }, "aws-sdk": { - "version": "2.1157.0", - "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1157.0.tgz", - "integrity": "sha512-30t+zhCECib8uaggd0Du8ifab4vtJjgVvNKxHWTpiLa3deTnM+0K7x3pwM99zxw0gLDxAUet/oURaoPJHwk/5Q==", + "version": "2.1140.0", + "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1140.0.tgz", + "integrity": "sha512-cNdq56UQrUzXmCgwo0/J5GGLmfHn+Vp38qgcK/Xd86Sch8P9v2o8tNv7J82mYU98YY2vO007BMxRylA4Sd8PkQ==", "dev": true, "requires": { "buffer": "4.9.2", @@ -19530,14 +19543,14 @@ "querystring": "0.2.0", "sax": "1.2.1", "url": "0.10.3", - "uuid": "8.0.0", + "uuid": "3.3.2", "xml2js": "0.4.19" }, "dependencies": { "uuid": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz", - "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", "dev": true } } @@ -19899,13 +19912,13 @@ "dev": true }, "cdk-assets": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-2.27.0.tgz", - "integrity": "sha512-n5BQBflzI5KEvQ1q6VrOBzFW+NbF87bSgtg2Uiwldtba6tslMAYn49r9e/ctY55dsnVR19uW13o3NRkliMaBIg==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/cdk-assets/-/cdk-assets-2.25.0.tgz", + "integrity": "sha512-ItiYgIrIBMyhxVOVrs8oO3d3T5BQeNDAAq1ZwqlHzf94c8B7O9rwZ37LSCpgYY8PZjprISbpL9/AgKQGt/7vwA==", "dev": true, "requires": { - "@aws-cdk/cloud-assembly-schema": "2.27.0", - "@aws-cdk/cx-api": "2.27.0", + "@aws-cdk/cloud-assembly-schema": "2.25.0", + "@aws-cdk/cx-api": "2.25.0", "archiver": "^5.3.1", "aws-sdk": "^2.1093.0", "glob": "^7.2.0", @@ -19914,7 +19927,7 @@ }, "dependencies": { "@aws-cdk/cloud-assembly-schema": { - "version": "2.27.0", + "version": "2.25.0", "dev": true, "requires": { "jsonschema": "^1.4.0", @@ -19922,10 +19935,10 @@ } }, "@aws-cdk/cx-api": { - "version": "2.27.0", + "version": "2.25.0", "dev": true, "requires": { - "@aws-cdk/cloud-assembly-schema": "2.27.0", + "@aws-cdk/cloud-assembly-schema": "2.25.0", "semver": "^7.3.7" } }, @@ -20845,9 +20858,9 @@ "dev": true }, "constructs": { - "version": "10.1.25", - "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.25.tgz", - "integrity": "sha512-etUavUwFJ3oTxoP9ax8Dvzv47Nzk9QHRnubL3cEOxLATd8b0SOLFN4xB7FP6eEg/D+cI7rgXTOQH9Oj4rIhwqw==", + "version": "10.1.19", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.1.19.tgz", + "integrity": "sha512-fkwDjoJ1LW8sjfXDkSftTJnoQm3+EmsKyM8i+bgQh/n5zOAvW9znMU7o3qooKiGJZ8iJtvkEX54I6ZRGrmJhYw==", "dev": true }, "conventional-changelog-angular": { @@ -21031,7 +21044,7 @@ "crypt": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", - "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", "dev": true }, "cssom": { @@ -21496,170 +21509,170 @@ } }, "esbuild": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.46.tgz", - "integrity": "sha512-vdm5G1JdZBktva8dwQci/s44VbeBUg8g907xoZx77mqFZ4gU5GlMULNsdGeID+qXCXocsfYSGtE0LvqH3eiNQg==", - "dev": true, - "requires": { - "esbuild-android-64": "0.14.46", - "esbuild-android-arm64": "0.14.46", - "esbuild-darwin-64": "0.14.46", - "esbuild-darwin-arm64": "0.14.46", - "esbuild-freebsd-64": "0.14.46", - "esbuild-freebsd-arm64": "0.14.46", - "esbuild-linux-32": "0.14.46", - "esbuild-linux-64": "0.14.46", - "esbuild-linux-arm": "0.14.46", - "esbuild-linux-arm64": "0.14.46", - "esbuild-linux-mips64le": "0.14.46", - "esbuild-linux-ppc64le": "0.14.46", - "esbuild-linux-riscv64": "0.14.46", - "esbuild-linux-s390x": "0.14.46", - "esbuild-netbsd-64": "0.14.46", - "esbuild-openbsd-64": "0.14.46", - "esbuild-sunos-64": "0.14.46", - "esbuild-windows-32": "0.14.46", - "esbuild-windows-64": "0.14.46", - "esbuild-windows-arm64": "0.14.46" + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.40.tgz", + "integrity": "sha512-toIoQk3ODEEIudsN74wXGdw1eiUN4aKRijOqiwEAqfUFlhORPYFJtACzRdRRlpUysRUUlvIUoGE1aw/MIVCWnA==", + "dev": true, + "requires": { + "esbuild-android-64": "0.14.40", + "esbuild-android-arm64": "0.14.40", + "esbuild-darwin-64": "0.14.40", + "esbuild-darwin-arm64": "0.14.40", + "esbuild-freebsd-64": "0.14.40", + "esbuild-freebsd-arm64": "0.14.40", + "esbuild-linux-32": "0.14.40", + "esbuild-linux-64": "0.14.40", + "esbuild-linux-arm": "0.14.40", + "esbuild-linux-arm64": "0.14.40", + "esbuild-linux-mips64le": "0.14.40", + "esbuild-linux-ppc64le": "0.14.40", + "esbuild-linux-riscv64": "0.14.40", + "esbuild-linux-s390x": "0.14.40", + "esbuild-netbsd-64": "0.14.40", + "esbuild-openbsd-64": "0.14.40", + "esbuild-sunos-64": "0.14.40", + "esbuild-windows-32": "0.14.40", + "esbuild-windows-64": "0.14.40", + "esbuild-windows-arm64": "0.14.40" } }, "esbuild-android-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.46.tgz", - "integrity": "sha512-ZyJqwAcjNbZprs0ZAxnUAOhEhdE5kTKwz+CZuLmZYNLAPyRgBtaC8pT2PCuPifNvV8Cl3yLlrQPaOCjovoyb5g==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.40.tgz", + "integrity": "sha512-+69t+bmJWWhTyG8waJZcu4UGzM4NbDXAwssTEDYwonyz6L/Is11Y3csJhE16RM0a1GeDin0n810vNP+NVjttKA==", "dev": true, "optional": true }, "esbuild-android-arm64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.46.tgz", - "integrity": "sha512-BKcnUksvCijO9ONv6b4SikZE/OZftwJvX91XROODZGQmuwGVg97jmLDVu3lxuHdFlMNNzxh8taJ2mbCWZzH/Iw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.40.tgz", + "integrity": "sha512-lVDn4d7/NL5Svrxuskmd/YcluI6uI4Ebp7A1/tWyLJJYbvfIy5l4Vy8GMhErGLePbRyJJiuBP9xusapK4u+6bg==", "dev": true, "optional": true }, "esbuild-darwin-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.46.tgz", - "integrity": "sha512-/ss2kO92sUJ9/1nHnMb3+oab8w6dyqKrMtPMvSYJ9KZIYGAZxz/WYxfFprY7Xk+ZxWnnlASSyZlG+If1nVmFYg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.40.tgz", + "integrity": "sha512-b5u3IXCHhOjkRHIQTSxCN7ObUR5NTyJCP9LrnJ69dEEi1w1usI40T/VNyTTCs7n0UgEH7/zi27vBxbZU+sU4Ew==", "dev": true, "optional": true }, "esbuild-darwin-arm64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.46.tgz", - "integrity": "sha512-WX0JOaEFf6t+rIjXO6THsf/0fhQAt2Zb0/PSYlvXnuQQAmOmFAfPsuRNocp5ME0NGaUqZd4FxqqmLEVK3RzPAg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.40.tgz", + "integrity": "sha512-Wn0C2nrZSANvzK9efcxjKpv9l8yUC4PtYMmnf775gUNwak7sqecuoelhbUTshhrwsfjCNfjsrUhsHY2OHUiEdw==", "dev": true, "optional": true }, "esbuild-freebsd-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.46.tgz", - "integrity": "sha512-o+ozPFuHRCAGCVWU2bLurOUgVkT0jcPEu082VBUY2Q/yLf+B+/3nXzh4Fjp5O21tOvJRTn7hUVydG9j5+vYE6A==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.40.tgz", + "integrity": "sha512-B9WZNUn7Y9f97xrQGBAQPKsebeFZzAd+JCdsLCexrVfTjB24b+/Iuq5O2z/q5Meg7Yz0S+j8AO6ncpvNkK2u0w==", "dev": true, "optional": true }, "esbuild-freebsd-arm64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.46.tgz", - "integrity": "sha512-9zicZ0X43WDKz3sjNfcqYO38xbfJpSWYXB+FxvYYkmBwGA52K0SAu4oKuTTLi8od8X2IIo1x5C5TUNvKDSVJww==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.40.tgz", + "integrity": "sha512-3aB9uJv2/lmQNzwmieNyyOdxKi+3ERwrqf3snBu/oEng8b7nMBNrEN+p7jjkTYNYmo291KiH/5EIAXwpsZndFw==", "dev": true, "optional": true }, "esbuild-linux-32": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.46.tgz", - "integrity": "sha512-ZnTpZMVb0VGvL99R5eh4OrJwbUyvpM6M88VAMuHP4LvFjuvZrhgefjKqEGuWZZW7JRnAjKqjXLjWdhdSjwMFnQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.40.tgz", + "integrity": "sha512-LMI9BMeuGf6NRS23LbyVarN3nf+JyNcfiVEnR9M8691kL5Ffp3e7oTYRH65XdTUirM9D6e5cppfWLjvrRbGnRw==", "dev": true, "optional": true }, "esbuild-linux-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.46.tgz", - "integrity": "sha512-ECCRRZtX6l4ubeVhHhiVoK/uYAkvzNqfmR4gP4N/9H9RPu+b8YCcN4bQGp7xCuYIV6Xd41WpOMyO+xpcQvjtQQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.40.tgz", + "integrity": "sha512-D/NkZ9QR2KShJXNuRWANxJzPCrwJoAoWVetQiGIAepzXbNh+dBo5ZLmlh8Txs6tE600N67MF/ScHP1S4FxLaJg==", "dev": true, "optional": true }, "esbuild-linux-arm": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.46.tgz", - "integrity": "sha512-RvTJEi4vj13c5FP9YPp+8Y6x6HK1E7uSqfy3y9UoeaNAzNZWA7fN1U3hQjTL/dy5zTJH5KE64mrt5k5+he+CQA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.40.tgz", + "integrity": "sha512-2a0yZXbzr/s3iCgZ84jFTHf+NyyXQ/7/Sd28oQq5iyy7TbJNS973XUOwgdlHdRqBxvw0nIWTw2FuwyUJAFa6Qg==", "dev": true, "optional": true }, "esbuild-linux-arm64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.46.tgz", - "integrity": "sha512-HX0TXCHyI0NEWG4jg8LlW1PbZQbnz+PUH56yjx996cgM5pC90u32drKs/tyJiyyQmNk9OXOogjKw7LEdp/Qc1w==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.40.tgz", + "integrity": "sha512-TIoZWKjrMJxZujh2nSsrrLkLDLzD/oBpSiobdUGe2bqKZpT4m7fkR0tEDNyM6Xvzj9uTQ4iTfJr2ekmpg3DyTQ==", "dev": true, "optional": true }, "esbuild-linux-mips64le": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.46.tgz", - "integrity": "sha512-jnb2NDwGqJUVmxn1v0f7seNdDm0nRNWHP9Z3MrWAGnBCdnnDlsjqRFDnbKoaQvWONEa+rOOr/giK+VL0hgQExA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.40.tgz", + "integrity": "sha512-SP30CYYSDMwr6mPUbjvD4K2R03GQHIQGrkrbXt5NM6mFqzR+S+JKVv9juq/CjlM9V7iIPPPqe4mb4DWC3b8pBw==", "dev": true, "optional": true }, "esbuild-linux-ppc64le": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.46.tgz", - "integrity": "sha512-uu3JTQUrwwauKY9z8yq5MnDyOlT3f2DNOzBcYz4dB78HqwEqilCsifoBGd0WcbED5n57dc59X+LZMTZ8Ose44w==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.40.tgz", + "integrity": "sha512-HlU3dfIdwzm/zhbXvMa5yWIafBeI7v6BDaEuApAww5Av8ht7lXgD1fZ11iJVPjRWNLcCZUgZaJKFrosSPQO/Bw==", "dev": true, "optional": true }, "esbuild-linux-riscv64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.46.tgz", - "integrity": "sha512-OB29r1EG44ZY34JnXCRERxo7k4pRKoQdaoRg2HIeCavatsXZwW4LCakpLnMQ72vXT1HtpBUABEjHkKkn5JyrUg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.40.tgz", + "integrity": "sha512-4ImTBEUykhIcIq3c97dIXnsmAHb//cjHh4nxttLhwpTZ+b/KdM1IpttqFhB0AFLUsrjP4WOCMxAm5FOL7FC2uw==", "dev": true, "optional": true }, "esbuild-linux-s390x": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.46.tgz", - "integrity": "sha512-XQ/U9TueMSGYyPTKyZsJVraiuvxhwCDIMn/QwFXCRCJ6H/Cy/Rq33u9qhpeSziinHKfzJROGx5A8mQY6aYamdQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.40.tgz", + "integrity": "sha512-kFCPKictYjpt5rt0bFdbSmb8AWut75sIh1fZUTCVkujWMcpdL8ADuYMfVrN7R0CSQvkF1nQtrIBfp+ZU7R7KNQ==", "dev": true, "optional": true }, "esbuild-netbsd-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.46.tgz", - "integrity": "sha512-i15BwqHaAIFp1vBJkitAbHtwXcLk9TdHs/Ia1xGIAutQYXSJNPLM3Z4B4hyfHNEFl2yBqBIYpglMohv2ClNdOQ==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.40.tgz", + "integrity": "sha512-Hwzw2cSI6+p03TUjugzec54W6uW4tA1J/WovmlHl96Icjy73eWnAyCQwgG6ZLirXpt2aDfTEVShNaC2fE4KVhQ==", "dev": true, "optional": true }, "esbuild-openbsd-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.46.tgz", - "integrity": "sha512-XwOIFCE140Y/PvjrwjFfa/QLWBuvhR1mPCOa35mKx02jt++wPNgf0qhn6HfdVC3vQe7R46RwTp4q2cp99fepEg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.40.tgz", + "integrity": "sha512-L4Pix+N2Sb0HvLl8zyn1Aq2aYD5Jt8rk9zwW3NUx19yafJqAFsnUN7L/XbbWSv5/XMqnY4hpAvIP2pyeV9+Bjw==", "dev": true, "optional": true }, "esbuild-sunos-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.46.tgz", - "integrity": "sha512-+kV3JnmfdxBVpHyFvuGXWtu6tXxXApOLPkSrVkMJf6+ns/3PLtPndpzwCzHjD+qYUEk8ln4MA+ufQ2qmjW5mZg==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.40.tgz", + "integrity": "sha512-iEITaelmmCO43ewk0bOYRGrewu2i2h2V0gKHQ/rz1MRqif8ohY/FNLn4WnThGUlrEgA1nTL1tc57PL12QbOo2Q==", "dev": true, "optional": true }, "esbuild-windows-32": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.46.tgz", - "integrity": "sha512-gzGC1Q11B/Bo5A2EX4N22oigWmhL7Z0eDyc8kbSoJjqSrGQuRE7B0uMpluO+q0O/gZ1S3zdw+M4PCWlqOIeXLA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.40.tgz", + "integrity": "sha512-uXHmKl4RtCkK1v6QQK4hsP8Xiku6CwUM/W7Yv2rGtfylSOrrWKcpqwlDWx6bIm1Hav1uBC8hbgJ1hY6pWFNhNA==", "dev": true, "optional": true }, "esbuild-windows-64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.46.tgz", - "integrity": "sha512-Do2daaskfOjmCB7o3ygz6fD3K6SPjZLERiZLktzHz2oUCwsebKu/gmop0+j/XdrVIXC32wFzHzDS+9CTu9OShw==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.40.tgz", + "integrity": "sha512-dvgQLVYnJzqce97AeHvxWtV9lHRDxIPatOikmrh1vt/SCE4tyVo5nAT/2SiZBJ6DzYmZT3BcJTV24bBLyu4ZUA==", "dev": true, "optional": true }, "esbuild-windows-arm64": { - "version": "0.14.46", - "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.46.tgz", - "integrity": "sha512-VEzMy6bM60/HT/URTDElyhfi2Pk0quCCrEhRlI4MRno/AIqYUGw0rZwkPl6PeoqVI6BgoBHGY576GWTiPmshCA==", + "version": "0.14.40", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.40.tgz", + "integrity": "sha512-c8ohQSFtRq78pZ/LQcpMft2xuR2IEitQkW07f9K7iN4EBdJMrCpOoXrZCfmX9lAC8yYOU7xHoLFYVln3n6fK1Q==", "dev": true, "optional": true }, @@ -21736,9 +21749,9 @@ } }, "eslint": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.18.0.tgz", - "integrity": "sha512-As1EfFMVk7Xc6/CvhssHUjsAQSkpfXvUGMFC3ce8JDe6WvqCgRrLOBQbVpsBFr1X1V+RACOadnzVvcUS5ni2bA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.16.0.tgz", + "integrity": "sha512-MBndsoXY/PeVTDJeWsYj7kLZ5hQpJOfMYLsF6LicLHQWbRDG19lK5jOix4DPl8yY4SUFcE3txy86OzFLWT+yoA==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.0", @@ -24480,9 +24493,9 @@ "dev": true }, "marked": { - "version": "4.0.16", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.16.tgz", - "integrity": "sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA==", + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", + "integrity": "sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==", "dev": true }, "md5": { @@ -27030,9 +27043,9 @@ } }, "ts-node": { - "version": "10.8.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz", - "integrity": "sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.0.tgz", + "integrity": "sha512-/fNd5Qh+zTt8Vt1KbYZjRHCE9sI5i7nqfD/dzBBRDeVXZXS6kToW6R7tTU6Nd4XavFs0mAVCg29Q//ML7WsZYA==", "dev": true, "requires": { "@cspotcode/source-map-support": "^0.8.0", @@ -27168,15 +27181,15 @@ } }, "typedoc": { - "version": "0.22.17", - "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.17.tgz", - "integrity": "sha512-h6+uXHVVCPDaANzjwzdsj9aePBjZiBTpiMpBBeyh1zcN2odVsDCNajz8zyKnixF93HJeGpl34j/70yoEE5BfNg==", + "version": "0.22.15", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.22.15.tgz", + "integrity": "sha512-CMd1lrqQbFvbx6S9G6fL4HKp3GoIuhujJReWqlIvSb2T26vGai+8Os3Mde7Pn832pXYemd9BMuuYWhFpL5st0Q==", "dev": true, "requires": { - "glob": "^8.0.3", + "glob": "^7.2.0", "lunr": "^2.3.9", - "marked": "^4.0.16", - "minimatch": "^5.1.0", + "marked": "^4.0.12", + "minimatch": "^5.0.1", "shiki": "^0.10.1" }, "dependencies": { @@ -27189,23 +27202,10 @@ "balanced-match": "^1.0.0" } }, - "glob": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", - "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, "minimatch": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", - "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -27221,9 +27221,9 @@ "requires": {} }, "typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.6.4.tgz", + "integrity": "sha512-9ia/jWHIEbo49HfjrLGfKbZSuWo9iTMwXO+Ca3pRsSpbsMbc7/IU8NKdCZVRRBafVPGnoJeFL76ZOAA84I9fEg==", "dev": true }, "uglify-js": { diff --git a/packages/commons/tests/utils/e2eUtils.ts b/packages/commons/tests/utils/e2eUtils.ts index c4c38d1d21..44f0375a6e 100644 --- a/packages/commons/tests/utils/e2eUtils.ts +++ b/packages/commons/tests/utils/e2eUtils.ts @@ -63,12 +63,15 @@ export const generateUniqueName = (name_prefix: string, uuid: string, runtime: s export const invokeFunction = async (functionName: string, times: number = 1, invocationMode: 'PARALLEL' | 'SEQUENTIAL' = 'PARALLEL', payload: FunctionPayload = {}): Promise => { const invocationLogs: InvocationLogs[] = []; - const promiseFactory = (): Promise => { + const promiseFactory = (index?: number): Promise => { const invokePromise = lambdaClient .invoke({ FunctionName: functionName, LogType: 'Tail', // Wait until execution completes and return all logs - Payload: JSON.stringify(payload), + Payload: JSON.stringify({ + invocation: index, + ...payload + }), }) .promise() .then((response) => { @@ -84,16 +87,15 @@ export const invokeFunction = async (functionName: string, times: number = 1, in const promiseFactories = Array.from({ length: times }, () => promiseFactory ); const invocation = invocationMode == 'PARALLEL' - ? Promise.all(promiseFactories.map(factory => factory())) + ? Promise.all(promiseFactories.map((factory, index) => factory(index))) : chainPromises(promiseFactories); await invocation; return invocationLogs; }; -const chainPromises = async (promiseFactories: (() => Promise)[]) : Promise => { - let chain = Promise.resolve(); - promiseFactories.forEach(factory => chain = chain.then(factory)); - - return chain; +const chainPromises = async (promiseFactories: ((index?: number) => Promise)[]) : Promise => { + for (let index = 0; index < promiseFactories.length; index++) { + await promiseFactories[index](index); + } }; diff --git a/packages/logger/src/Logger.ts b/packages/logger/src/Logger.ts index f83e0d3b8f..c446e9c404 100644 --- a/packages/logger/src/Logger.ts +++ b/packages/logger/src/Logger.ts @@ -12,12 +12,13 @@ import type { HandlerMethodDecorator, LambdaFunctionContext, LogAttributes, - LoggerOptions, + ConstructorOptions, LogItemExtraInput, LogItemMessage, LogLevel, LogLevelThresholds, PowertoolLogData, + HandlerOptions, } from './types'; /** @@ -138,9 +139,9 @@ class Logger extends Utility implements ClassThatLogs { /** * It initializes the Logger class with an optional set of options (settings). * * - * @param {LoggerOptions} options + * @param {ConstructorOptions} options */ - public constructor(options: LoggerOptions = {}) { + public constructor(options: ConstructorOptions = {}) { super(); this.setOptions(options); @@ -192,10 +193,10 @@ class Logger extends Utility implements ClassThatLogs { * It creates a separate Logger instance, identical to the current one * It's possible to overwrite the new instance options by passing them. * - * @param {LoggerOptions} options + * @param {ConstructorOptions} options * @returns {Logger} */ - public createChild(options: LoggerOptions = {}): Logger { + public createChild(options: ConstructorOptions = {}): Logger { return cloneDeep(this).setOptions(options); } @@ -230,6 +231,17 @@ class Logger extends Utility implements ClassThatLogs { return this.logsSampled; } + /** + * It returns the persistent log attributes, which are the attributes + * that will be logged in all log items. + * + * @private + * @returns {LogAttributes} + */ + public getPersistentLogAttributes(): LogAttributes { + return this.persistentLogAttributes; + } + /** * It prints a log item with level INFO. * @@ -250,18 +262,33 @@ class Logger extends Utility implements ClassThatLogs { * @see https://www.typescriptlang.org/docs/handbook/decorators.html#method-decorators * @returns {HandlerMethodDecorator} */ - public injectLambdaContext(): HandlerMethodDecorator { + public injectLambdaContext(options?: HandlerOptions): HandlerMethodDecorator { + const isClearStateEnabled = options && options.clearState === true; + return (target, _propertyKey, descriptor) => { /** * The descriptor.value is the method this decorator decorates, it cannot be undefined. - */ + */ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const originalMethod = descriptor.value!; + const originalMethod = descriptor.value; descriptor.value = (event, context, callback) => { + + let initialPersistentAttributes: LogAttributes = {}; + if (isClearStateEnabled) { + initialPersistentAttributes = { ...this.getPersistentLogAttributes() }; + } + this.addContext(context); - return originalMethod.apply(target, [ event, context, callback ]); + /* eslint-disable @typescript-eslint/no-non-null-assertion */ + const result = originalMethod!.apply(target, [ event, context, callback ]); + + if (isClearStateEnabled) { + this.setPersistentLogAttributes(initialPersistentAttributes); + } + + return result; }; }; } @@ -302,6 +329,17 @@ class Logger extends Utility implements ClassThatLogs { }); } + /** + * It sets the given attributes (key-value pairs) to all log items generated by this Logger instance. + * Note: this replaces the pre-existing value. + * + * @param {LogAttributes} attributes + * @returns {void} + */ + public setPersistentLogAttributes(attributes: LogAttributes): void { + this.persistentLogAttributes = attributes; + } + /** * It sets the user-provided sample rate value. * @@ -421,17 +459,6 @@ class Logger extends Utility implements ClassThatLogs { return this.logLevel; } - /** - * It returns the persistent log attributes, which are the attributes - * that will be logged in all log items. - * - * @private - * @returns {LogAttributes} - */ - private getPersistentLogAttributes(): LogAttributes { - return this.persistentLogAttributes; - } - /** * It returns information that will be added in all log item by * this Logger instance (different from user-provided persistent attributes). @@ -624,10 +651,10 @@ class Logger extends Utility implements ClassThatLogs { * and the content of all logs. * * @private - * @param {LoggerOptions} options + * @param {ConstructorOptions} options * @returns {Logger} */ - private setOptions(options: LoggerOptions): Logger { + private setOptions(options: ConstructorOptions): Logger { const { logLevel, serviceName, diff --git a/packages/logger/src/helpers.ts b/packages/logger/src/helpers.ts index 7a18741316..9ddd10009e 100644 --- a/packages/logger/src/helpers.ts +++ b/packages/logger/src/helpers.ts @@ -1,7 +1,7 @@ import { Logger } from '.'; -import { LoggerOptions } from './types'; +import { ConstructorOptions } from './types'; -const createLogger = (options: LoggerOptions = {}): Logger => new Logger(options); +const createLogger = (options: ConstructorOptions = {}): Logger => new Logger(options); export { createLogger, diff --git a/packages/logger/src/middleware/middy.ts b/packages/logger/src/middleware/middy.ts index cdb53183e2..5768e05397 100644 --- a/packages/logger/src/middleware/middy.ts +++ b/packages/logger/src/middleware/middy.ts @@ -1,5 +1,6 @@ import type { Logger } from '../Logger'; import type middy from '@middy/core'; +import { HandlerOptions, LogAttributes } from '../types'; /** * A middy middleware that adds the current Lambda invocation's context inside all log items. @@ -26,16 +27,31 @@ import type middy from '@middy/core'; * @param {Logger|Logger[]} target - The Tracer instance to use for tracing * @returns {middy.MiddlewareObj} - The middy middleware object */ -const injectLambdaContext = (target: Logger | Logger[]): middy.MiddlewareObj => { +const injectLambdaContext = (target: Logger | Logger[], options?: HandlerOptions): middy.MiddlewareObj => { + + const loggers = target instanceof Array ? target : [target]; + const persistentAttributes: LogAttributes[] = []; + const injectLambdaContextBefore = async (request: middy.Request): Promise => { - const loggers = target instanceof Array ? target : [target]; loggers.forEach((logger: Logger) => { logger.addContext(request.context); + if (options && options.clearState === true) { + persistentAttributes.push({ ...logger.getPersistentLogAttributes() }); + } }); }; + + const injectLambdaContextAfter = async (): Promise => { + if (options && options.clearState === true) { + loggers.forEach((logger: Logger, index: number) => { + logger.setPersistentLogAttributes(persistentAttributes[index]); + }); + } + }; return { before: injectLambdaContextBefore, + after: injectLambdaContextAfter }; }; diff --git a/packages/logger/src/types/Logger.ts b/packages/logger/src/types/Logger.ts index 16bd1e454b..c0de42eadc 100644 --- a/packages/logger/src/types/Logger.ts +++ b/packages/logger/src/types/Logger.ts @@ -8,7 +8,11 @@ type ClassThatLogs = { [key in 'debug' | 'error' | 'info' | 'warn']: (input: LogItemMessage, ...extraInput: LogItemExtraInput) => void; }; -type LoggerOptions = { +type HandlerOptions = { + clearState?: boolean +}; + +type ConstructorOptions = { logLevel?: LogLevel serviceName?: string sampleRateValue?: number @@ -66,5 +70,6 @@ export { LambdaFunctionContext, UnformattedAttributes, PowertoolLogData, - LoggerOptions, + ConstructorOptions, + HandlerOptions }; diff --git a/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts b/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts index 8a80ed8985..30e5323d9a 100644 --- a/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts +++ b/packages/logger/tests/e2e/basicFeatures.middy.test.FunctionCode.ts @@ -1,5 +1,5 @@ import { injectLambdaContext, Logger } from '../../src'; -import { APIGatewayProxyEvent, Context, APIGatewayAuthorizerResult } from 'aws-lambda'; +import { Context, APIGatewayAuthorizerResult } from 'aws-lambda'; import middy from '@middy/core'; const PERSISTENT_KEY = process.env.PERSISTENT_KEY; @@ -12,6 +12,10 @@ const SINGLE_LOG_ITEM_VALUE = process.env.SINGLE_LOG_ITEM_VALUE; const ARBITRARY_OBJECT_KEY = process.env.ARBITRARY_OBJECT_KEY; const ARBITRARY_OBJECT_DATA = process.env.ARBITRARY_OBJECT_DATA; +type LambdaEvent = { + invocation: number +}; + const logger = new Logger({ persistentLogAttributes: { [PERSISTENT_KEY]: PERSISTENT_VALUE, @@ -19,12 +23,20 @@ const logger = new Logger({ }, }); -const testFunction = async (event: APIGatewayProxyEvent, context: Context): Promise<{requestId: string}> => { +const testFunction = async (event: LambdaEvent, context: Context): Promise<{requestId: string}> => { // Test feature 1: Log level filtering // Test feature 2: Context data // Test feature 3: Add and remove persistent additional log keys and value // Test feature 4: X-Ray Trace ID injection logger.removeKeys([REMOVABLE_KEY]); + + const specialValue = event.invocation; + if (specialValue === 0) { + logger.appendKeys({ + specialKey: specialValue + }); + } + logger.debug('##### This should not appear'); logger.info('This is an INFO log with context and persistent key'); @@ -60,4 +72,4 @@ const testFunction = async (event: APIGatewayProxyEvent, context: Context): Prom }; }; -export const handler = middy(testFunction).use(injectLambdaContext(logger)); +export const handler = middy(testFunction).use(injectLambdaContext(logger, { clearState: true })); diff --git a/packages/logger/tests/e2e/basicFeatures.middy.test.ts b/packages/logger/tests/e2e/basicFeatures.middy.test.ts index 2595b92ec6..921d20ee92 100644 --- a/packages/logger/tests/e2e/basicFeatures.middy.test.ts +++ b/packages/logger/tests/e2e/basicFeatures.middy.test.ts @@ -159,6 +159,18 @@ describe(`logger E2E tests basic functionalities (middy) for runtime: ${runtime} expect(message).not.toContain(`"${REMOVABLE_KEY}":"${REMOVABLE_VALUE}"`); } }, TEST_CASE_TIMEOUT); + + it('with clear state enabled, should not persist keys across invocations', async () => { + const firstInvocationMessages = invocationLogs[0].getFunctionLogs(); + for (const message of firstInvocationMessages) { + expect(message).toContain(`"specialKey":0`); + } + + const secondInvocationMessages = invocationLogs[1].getFunctionLogs(); + for (const message of secondInvocationMessages) { + expect(message).not.toContain(`"specialKey":0`); + } + }, TEST_CASE_TIMEOUT); }); describe('X-Ray Trace ID injection', () => { diff --git a/packages/logger/tests/unit/Logger.test.ts b/packages/logger/tests/unit/Logger.test.ts index 46f1f2615e..ca3a830e05 100644 --- a/packages/logger/tests/unit/Logger.test.ts +++ b/packages/logger/tests/unit/Logger.test.ts @@ -937,6 +937,49 @@ describe('Class: Logger', () => { }); + test('when used as decorator with the clear state flag enabled, the persistent log attributes added in the handler are removed after the handler\'s code is executed', async () => { + + // Prepare + const logger = new Logger({ + logLevel: 'DEBUG', + persistentLogAttributes: { + foo: 'bar', + biz: 'baz' + } + }); + + type CustomEvent = { user_id: string }; + + class LambdaFunction implements LambdaInterface { + + @logger.injectLambdaContext({ clearState: true }) + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + public handler(event: CustomEvent, _context: Context, _callback: Callback): void | Promise { + // Only add these persistent for the scope of this lambda handler + logger.appendKeys({ + details: { user_id: event['user_id'] } + }); + logger.debug('This is a DEBUG log with the user_id'); + logger.debug('This is another DEBUG log with the user_id'); + } + } + + const persistentAttribs = { ...logger.getPersistentLogAttributes() }; + + // Act + await new LambdaFunction().handler({ user_id: '123456' }, dummyContext, () => console.log('Lambda invoked!')); + const persistentAttribsAfterInvocation = { ...logger.getPersistentLogAttributes() }; + + // Assess + expect(persistentAttribs).toEqual({ + foo: 'bar', + biz: 'baz' + }); + expect(persistentAttribsAfterInvocation).toEqual(persistentAttribs); + + }); + }); describe('Method: refreshSampleRateCalculation', () => { diff --git a/packages/logger/tests/unit/helpers.test.ts b/packages/logger/tests/unit/helpers.test.ts index b90882df38..931a21c6b8 100644 --- a/packages/logger/tests/unit/helpers.test.ts +++ b/packages/logger/tests/unit/helpers.test.ts @@ -7,7 +7,7 @@ import { Console } from 'console'; import { ConfigServiceInterface, EnvironmentVariablesService } from '../../src/config'; import { LogFormatter, PowertoolLogFormatter } from '../../src/formatter'; -import { LoggerOptions } from '../../src/types'; +import { ConstructorOptions } from '../../src/types'; import { createLogger, Logger } from './../../src'; describe('Helper: createLogger function', () => { @@ -139,7 +139,7 @@ describe('Helper: createLogger function', () => { test('when a custom logFormatter is passed, returns a Logger instance with the correct proprieties', () => { // Prepare - const loggerOptions:LoggerOptions = { + const loggerOptions:ConstructorOptions = { logFormatter: expect.any(LogFormatter), }; @@ -167,7 +167,7 @@ describe('Helper: createLogger function', () => { test('when a custom serviceName is passed, returns a Logger instance with the correct proprieties', () => { // Prepare - const loggerOptions:LoggerOptions = { + const loggerOptions:ConstructorOptions = { serviceName: 'my-backend-service', }; @@ -195,7 +195,7 @@ describe('Helper: createLogger function', () => { test('when a custom logLevel is passed, returns a Logger instance with the correct proprieties', () => { // Prepare - const loggerOptions:LoggerOptions = { + const loggerOptions:ConstructorOptions = { logLevel: 'ERROR', }; @@ -223,7 +223,7 @@ describe('Helper: createLogger function', () => { test('when no log level is set, returns a Logger instance with INFO level', () => { // Prepare - const loggerOptions:LoggerOptions = {}; + const loggerOptions:ConstructorOptions = {}; delete process.env.LOG_LEVEL; // Act @@ -258,7 +258,7 @@ describe('Helper: createLogger function', () => { test('when a custom sampleRateValue is passed, returns a Logger instance with the correct proprieties', () => { // Prepare - const loggerOptions:LoggerOptions = { + const loggerOptions:ConstructorOptions = { sampleRateValue: 1, }; @@ -304,7 +304,7 @@ describe('Helper: createLogger function', () => { }; // Prepare - const loggerOptions:LoggerOptions = { + const loggerOptions:ConstructorOptions = { customConfigService: configService, }; @@ -332,7 +332,7 @@ describe('Helper: createLogger function', () => { test('when custom persistentLogAttributes is passed, returns a Logger instance with the correct proprieties', () => { // Prepare - const loggerOptions:LoggerOptions = { + const loggerOptions:ConstructorOptions = { persistentLogAttributes: { aws_account_id: '123456789012', aws_region: 'eu-west-1', @@ -374,7 +374,7 @@ describe('Helper: createLogger function', () => { test('when A custom environment is passed, returns a Logger instance with the correct proprieties', () => { // Prepare - const loggerOptions:LoggerOptions = { + const loggerOptions:ConstructorOptions = { environment: 'dev', }; diff --git a/packages/logger/tests/unit/middleware/middy.test.ts b/packages/logger/tests/unit/middleware/middy.test.ts index 6a25f8f713..4601a91300 100644 --- a/packages/logger/tests/unit/middleware/middy.test.ts +++ b/packages/logger/tests/unit/middleware/middy.test.ts @@ -27,122 +27,179 @@ describe('Middy middleware', () => { describe('injectLambdaContext', () => { - test('when a logger object is passed, it adds the context to the logger instance', async () => { - - // Prepare - const logger = new Logger(); - const lambdaHandler = (): void => { - logger.info('This is an INFO log with some context'); - }; - const handler = middy(lambdaHandler).use(injectLambdaContext(logger)); - const event = { foo: 'bar' }; - const getRandomInt = (): number => Math.floor(Math.random() * 1000000000); - - const awsRequestId = getRandomInt().toString(); - const context = { - callbackWaitsForEmptyEventLoop: true, - functionVersion: '$LATEST', - functionName: 'foo-bar-function', - memoryLimitInMB: '128', - logGroupName: '/aws/lambda/foo-bar-function', - logStreamName: '2021/03/09/[$LATEST]abcdef123456abcdef123456abcdef123456', - invokedFunctionArn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', - awsRequestId: awsRequestId, - getRemainingTimeInMillis: () => 1234, - done: () => console.log('Done!'), - fail: () => console.log('Failed!'), - succeed: () => console.log('Succeeded!'), - }; - - // Act - await handler(event, context, () => console.log('Lambda invoked!')); - - // Assess - expect(logger).toEqual(expect.objectContaining({ - logsSampled: false, - persistentLogAttributes: {}, - powertoolLogData: { - sampleRateValue: undefined, - awsRegion: 'eu-west-1', - environment: '', - lambdaContext: { - awsRequestId: awsRequestId, - coldStart: true, - functionName: 'foo-bar-function', - functionVersion: '$LATEST', - invokedFunctionArn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', - memoryLimitInMB: 128, + describe('Feature: add context data', () => { + + test('when a logger object is passed, it adds the context to the logger instance', async () => { + + // Prepare + const logger = new Logger(); + const lambdaHandler = (): void => { + logger.info('This is an INFO log with some context'); + }; + const handler = middy(lambdaHandler).use(injectLambdaContext(logger)); + const event = { foo: 'bar' }; + const getRandomInt = (): number => Math.floor(Math.random() * 1000000000); + + const awsRequestId = getRandomInt().toString(); + const context = { + callbackWaitsForEmptyEventLoop: true, + functionVersion: '$LATEST', + functionName: 'foo-bar-function', + memoryLimitInMB: '128', + logGroupName: '/aws/lambda/foo-bar-function', + logStreamName: '2021/03/09/[$LATEST]abcdef123456abcdef123456abcdef123456', + invokedFunctionArn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', + awsRequestId: awsRequestId, + getRemainingTimeInMillis: () => 1234, + done: () => console.log('Done!'), + fail: () => console.log('Failed!'), + succeed: () => console.log('Succeeded!'), + }; + + // Act + await handler(event, context, () => console.log('Lambda invoked!')); + + // Assess + expect(logger).toEqual(expect.objectContaining({ + logsSampled: false, + persistentLogAttributes: {}, + powertoolLogData: { + sampleRateValue: undefined, + awsRegion: 'eu-west-1', + environment: '', + lambdaContext: { + awsRequestId: awsRequestId, + coldStart: true, + functionName: 'foo-bar-function', + functionVersion: '$LATEST', + invokedFunctionArn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', + memoryLimitInMB: 128, + }, + serviceName: 'hello-world', }, - serviceName: 'hello-world', - }, - envVarsService: expect.any(EnvironmentVariablesService), - customConfigService: undefined, - logLevel: 'DEBUG', - logFormatter: expect.any(PowertoolLogFormatter), - })); + envVarsService: expect.any(EnvironmentVariablesService), + customConfigService: undefined, + logLevel: 'DEBUG', + logFormatter: expect.any(PowertoolLogFormatter), + })); - }); + }); - test('when a logger array is passed, it adds the context to all logger instances', async () => { - - // Prepare - const logger = new Logger(); - const anotherLogger = new Logger(); - const lambdaHandler = (): void => { - logger.info('This is an INFO log with some context'); - anotherLogger.info('This is an INFO log with some context'); - }; - const handler = middy(lambdaHandler).use(injectLambdaContext([ logger, anotherLogger ])); - const event = { foo: 'bar' }; - - const getRandomInt = (): number => Math.floor(Math.random() * 1000000000); - - const awsRequestId = getRandomInt().toString(); - - const context = { - callbackWaitsForEmptyEventLoop: true, - functionVersion: '$LATEST', - functionName: 'foo-bar-function', - memoryLimitInMB: '128', - logGroupName: '/aws/lambda/foo-bar-function', - logStreamName: '2021/03/09/[$LATEST]abcdef123456abcdef123456abcdef123456', - invokedFunctionArn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', - awsRequestId: awsRequestId, - getRemainingTimeInMillis: () => 1234, - done: () => console.log('Done!'), - fail: () => console.log('Failed!'), - succeed: () => console.log('Succeeded!'), - }; - - // Act - await handler(event, context, () => console.log('Lambda invoked!')); - - // Assess - const expectation = expect.objectContaining({ - logsSampled: false, - persistentLogAttributes: {}, - powertoolLogData: { - sampleRateValue: undefined, - awsRegion: 'eu-west-1', - environment: '', - lambdaContext: { - awsRequestId: awsRequestId, - coldStart: true, - functionName: 'foo-bar-function', - functionVersion: '$LATEST', - invokedFunctionArn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', - memoryLimitInMB: 128, + test('when a logger array is passed, it adds the context to all logger instances', async () => { + + // Prepare + const logger = new Logger(); + const anotherLogger = new Logger(); + const lambdaHandler = (): void => { + logger.info('This is an INFO log with some context'); + anotherLogger.info('This is an INFO log with some context'); + }; + const handler = middy(lambdaHandler).use(injectLambdaContext([ logger, anotherLogger ])); + const event = { foo: 'bar' }; + + const getRandomInt = (): number => Math.floor(Math.random() * 1000000000); + + const awsRequestId = getRandomInt().toString(); + + const context = { + callbackWaitsForEmptyEventLoop: true, + functionVersion: '$LATEST', + functionName: 'foo-bar-function', + memoryLimitInMB: '128', + logGroupName: '/aws/lambda/foo-bar-function', + logStreamName: '2021/03/09/[$LATEST]abcdef123456abcdef123456abcdef123456', + invokedFunctionArn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', + awsRequestId: awsRequestId, + getRemainingTimeInMillis: () => 1234, + done: () => console.log('Done!'), + fail: () => console.log('Failed!'), + succeed: () => console.log('Succeeded!'), + }; + + // Act + await handler(event, context, () => console.log('Lambda invoked!')); + + // Assess + const expectation = expect.objectContaining({ + logsSampled: false, + persistentLogAttributes: {}, + powertoolLogData: { + sampleRateValue: undefined, + awsRegion: 'eu-west-1', + environment: '', + lambdaContext: { + awsRequestId: awsRequestId, + coldStart: true, + functionName: 'foo-bar-function', + functionVersion: '$LATEST', + invokedFunctionArn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', + memoryLimitInMB: 128, + }, + serviceName: 'hello-world', }, - serviceName: 'hello-world', - }, - envVarsService: expect.any(EnvironmentVariablesService), - customConfigService: undefined, - logLevel: 'DEBUG', - logFormatter: expect.any(PowertoolLogFormatter), - console: expect.any(Console), + envVarsService: expect.any(EnvironmentVariablesService), + customConfigService: undefined, + logLevel: 'DEBUG', + logFormatter: expect.any(PowertoolLogFormatter), + console: expect.any(Console), + }); + expect(logger).toEqual(expectation); + expect(anotherLogger).toEqual(expectation); + + }); + + }); + + describe('Feature: clear state', () => { + + test('when enabled, the persistent log attributes added in the handler are removed after the handler\'s code is executed', async () => { + + // Prepare + const logger = new Logger({ + logLevel: 'DEBUG', + persistentLogAttributes: { + foo: 'bar', + biz: 'baz' + } + }); + const context = { + callbackWaitsForEmptyEventLoop: true, + functionVersion: '$LATEST', + functionName: 'foo-bar-function', + memoryLimitInMB: '128', + logGroupName: '/aws/lambda/foo-bar-function', + logStreamName: '2021/03/09/[$LATEST]abcdef123456abcdef123456abcdef123456', + invokedFunctionArn: 'arn:aws:lambda:eu-west-1:123456789012:function:foo-bar-function', + awsRequestId: 'abcdef123456abcdef123456', + getRemainingTimeInMillis: () => 1234, + done: () => console.log('Done!'), + fail: () => console.log('Failed!'), + succeed: () => console.log('Succeeded!'), + }; + + const lambdaHandler = (event: { user_id: string }): void => { + // Only add these persistent for the scope of this lambda handler + logger.appendKeys({ + details: { user_id: event['user_id'] } + }); + logger.debug('This is a DEBUG log with the user_id'); + logger.debug('This is another DEBUG log with the user_id'); + }; + const handler = middy(lambdaHandler).use(injectLambdaContext(logger, { clearState: true })); + const persistentAttribs = { ...logger.getPersistentLogAttributes() }; + + // Act + await handler({ user_id: '123456' }, context, () => console.log('Lambda invoked!')); + const persistentAttribsAfterInvocation = { ...logger.getPersistentLogAttributes() }; + + // Assess + expect(persistentAttribs).toEqual({ + foo: 'bar', + biz: 'baz' + }); + expect(persistentAttribsAfterInvocation).toEqual(persistentAttribs); + }); - expect(logger).toEqual(expectation); - expect(anotherLogger).toEqual(expectation); });