From 01cade103d242e66789bfc1c4dfefdcf52fca2f9 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Sat, 31 May 2025 13:28:21 +0100 Subject: [PATCH 01/14] fix: NodeJS sample --- nodejs/sample-apps/aws-sdk/.eslintignore | 1 - nodejs/sample-apps/aws-sdk/.eslintrc.js | 7 -- nodejs/sample-apps/aws-sdk/.gitignore | 2 + nodejs/sample-apps/aws-sdk/README.md | 63 +++++++++++++++--- nodejs/sample-apps/aws-sdk/bin/app.ts | 6 ++ nodejs/sample-apps/aws-sdk/cdk.json | 3 + .../aws-sdk/deploy/wrapper/main.tf | 53 --------------- .../aws-sdk/deploy/wrapper/outputs.tf | 7 -- .../aws-sdk/deploy/wrapper/variables.tf | 36 ---------- nodejs/sample-apps/aws-sdk/lambda/index.ts | 39 +++++++++++ .../aws-sdk/lib/otel-sample-lambda-stack.ts | 37 ++++++++++ nodejs/sample-apps/aws-sdk/package.json | 35 +++++----- .../sample-apps/aws-sdk/sampleLogOutput.png | Bin 0 -> 206594 bytes nodejs/sample-apps/aws-sdk/src/index.ts | 22 ------ nodejs/sample-apps/aws-sdk/tsconfig.json | 3 +- 15 files changed, 156 insertions(+), 158 deletions(-) delete mode 100644 nodejs/sample-apps/aws-sdk/.eslintignore delete mode 100644 nodejs/sample-apps/aws-sdk/.eslintrc.js create mode 100644 nodejs/sample-apps/aws-sdk/.gitignore create mode 100644 nodejs/sample-apps/aws-sdk/bin/app.ts create mode 100644 nodejs/sample-apps/aws-sdk/cdk.json delete mode 100644 nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf delete mode 100644 nodejs/sample-apps/aws-sdk/deploy/wrapper/outputs.tf delete mode 100644 nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf create mode 100644 nodejs/sample-apps/aws-sdk/lambda/index.ts create mode 100644 nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts create mode 100644 nodejs/sample-apps/aws-sdk/sampleLogOutput.png delete mode 100644 nodejs/sample-apps/aws-sdk/src/index.ts diff --git a/nodejs/sample-apps/aws-sdk/.eslintignore b/nodejs/sample-apps/aws-sdk/.eslintignore deleted file mode 100644 index 378eac25d3..0000000000 --- a/nodejs/sample-apps/aws-sdk/.eslintignore +++ /dev/null @@ -1 +0,0 @@ -build diff --git a/nodejs/sample-apps/aws-sdk/.eslintrc.js b/nodejs/sample-apps/aws-sdk/.eslintrc.js deleted file mode 100644 index f726f3becb..0000000000 --- a/nodejs/sample-apps/aws-sdk/.eslintrc.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - "env": { - "mocha": true, - "node": true - }, - ...require('../../eslint.config.js') -} diff --git a/nodejs/sample-apps/aws-sdk/.gitignore b/nodejs/sample-apps/aws-sdk/.gitignore new file mode 100644 index 0000000000..ab429fc72f --- /dev/null +++ b/nodejs/sample-apps/aws-sdk/.gitignore @@ -0,0 +1,2 @@ +cdk.out +build \ No newline at end of file diff --git a/nodejs/sample-apps/aws-sdk/README.md b/nodejs/sample-apps/aws-sdk/README.md index 57ad4a5107..9448a9d501 100644 --- a/nodejs/sample-apps/aws-sdk/README.md +++ b/nodejs/sample-apps/aws-sdk/README.md @@ -1,15 +1,56 @@ -# AWS SDK Sample Application +# ๐Ÿงช AWS SDK Sample Application with OpenTelemetry -**This Sample App is a work-in-progress because it depends on the OpenTelemetry public layer. The public layer will not be published +This sample demonstrates how to use the **AWS SDK** within a Lambda function with **OpenTelemetry (OTel)** capabilities. It performs a simple `STS GetCallerIdentity` call for demonstration purposes and outputs Otel telemetry data to logs. -This sample application demonstrates usage of the AWS SDK. To try it out, make sure the collector and nodejs Lambda -layers are built. +Example log output: +![Sample Log Output](./sampleLogOutput.png) -In [collector](../../../collector), run `make package`. -In [nodejs](../../), run `npm install`. +--- -Then, run `terraform init` and `terraform apply`. The lambda function will be initialized and the URL for an API Gateway invoking the Lambda -will be displayed at the end. Send a request to the URL in a browser or using curl to execute the function. Then, -navigate to the function's logs [here](https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logStream:group=%252Faws%252Flambda%252Fhello-nodejs). -You will see a log stream with an event time corresponding to when you issued the request - open it and you can find -information about the exported spans in the log stream. +## ๐Ÿš€ Deploy Using AWS CDK + +Follow these steps to deploy the demo stack via CDK: + +1. **Install dependencies** + `npm install` + +2. **Bootstrap your AWS environment (if not done already)** + `npx cdk bootstrap` + +3. **Deploy the stack** + `npx cdk deploy OtelSampleLambdaStack` + +--- + +## ๐Ÿ› ๏ธ Manual Deployment via AWS Console + +If you'd prefer to deploy manually: + +1. **Install dependencies** + `npm install` + +2. **Build the Lambda function artifact** + `npm run build` + +3. **Create a new AWS Lambda function** + - Runtime: Select the latest `nodejs.x` + +4. **Upload the artifact** + - File location: `build/function.zip` + +5. **Set the following environment variables** +``` + OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318/ + OTEL_TRACES_EXPORTER=logging + OTEL_METRICS_EXPORTER=logging + OTEL_LOG_LEVEL=INFO + OTEL_TRACES_SAMPLER=always_on + AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-handler +``` +6. **Attach the Node.js instrumentation layer** + - Refer to the latest ARN in the OpenTelemetry Lambda releases, ie: + https://github.com/open-telemetry/opentelemetry-lambda/releases/tag/layer-nodejs%2F0.14.0 + +7. **Attach the OpenTelemetry Collector layer** + - Refer to the ARN in the release notes, ie: + https://github.com/open-telemetry/opentelemetry-lambda/releases/tag/layer-collector%2F0.15.0 \ No newline at end of file diff --git a/nodejs/sample-apps/aws-sdk/bin/app.ts b/nodejs/sample-apps/aws-sdk/bin/app.ts new file mode 100644 index 0000000000..564fb39d2e --- /dev/null +++ b/nodejs/sample-apps/aws-sdk/bin/app.ts @@ -0,0 +1,6 @@ +#!/usr/bin/env node +import * as cdk from 'aws-cdk-lib'; +import { OtelSampleLambdaStack } from '../lib/otel-sample-lambda-stack'; + +const app = new cdk.App(); +new OtelSampleLambdaStack(app, 'OtelSampleLambdaStack'); \ No newline at end of file diff --git a/nodejs/sample-apps/aws-sdk/cdk.json b/nodejs/sample-apps/aws-sdk/cdk.json new file mode 100644 index 0000000000..c91d7709c0 --- /dev/null +++ b/nodejs/sample-apps/aws-sdk/cdk.json @@ -0,0 +1,3 @@ +{ + "app": "npm run build && npx ts-node bin/app.ts" +} \ No newline at end of file diff --git a/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf b/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf deleted file mode 100644 index 17ede9f2a5..0000000000 --- a/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf +++ /dev/null @@ -1,53 +0,0 @@ -module "hello-lambda-function" { - source = "terraform-aws-modules/lambda/aws" - version = ">= 2.24.0" - - architectures = compact([var.architecture]) - function_name = var.name - handler = "index.handler" - runtime = var.runtime - - create_package = false - local_existing_package = "${path.module}/../../build/function.zip" - - memory_size = 384 - timeout = 20 - - layers = compact([ - var.collector_layer_arn, - var.sdk_layer_arn - ]) - - environment_variables = { - AWS_LAMBDA_EXEC_WRAPPER = "/opt/otel-handler" - OTEL_TRACES_EXPORTER = "logging" - OTEL_METRICS_EXPORTER = "logging" - OTEL_LOG_LEVEL = "DEBUG" - OTEL_EXPORTER_OTLP_ENDPOINT = "http://localhost:4318/" - OTEL_TRACES_SAMPLER = "always_on" - } - - tracing_mode = var.tracing_mode - - attach_policy_statements = true - policy_statements = { - s3 = { - effect = "Allow" - actions = [ - "s3:ListAllMyBuckets" - ] - resources = [ - "*" - ] - } - } -} - -module "api-gateway" { - source = "../../../../../utils/terraform/api-gateway-proxy" - - name = var.name - function_name = module.hello-lambda-function.lambda_function_name - function_invoke_arn = module.hello-lambda-function.lambda_function_invoke_arn - enable_xray_tracing = var.tracing_mode == "Active" -} diff --git a/nodejs/sample-apps/aws-sdk/deploy/wrapper/outputs.tf b/nodejs/sample-apps/aws-sdk/deploy/wrapper/outputs.tf deleted file mode 100644 index 5de8044c90..0000000000 --- a/nodejs/sample-apps/aws-sdk/deploy/wrapper/outputs.tf +++ /dev/null @@ -1,7 +0,0 @@ -output "api-gateway-url" { - value = module.api-gateway.api_gateway_url -} - -output "function_role_name" { - value = module.hello-lambda-function.lambda_role_name -} diff --git a/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf b/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf deleted file mode 100644 index 0346444cf9..0000000000 --- a/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf +++ /dev/null @@ -1,36 +0,0 @@ -variable "name" { - type = string - description = "Name of created function and API Gateway" - default = "hello-nodejs-awssdk" -} - -variable "collector_layer_arn" { - type = string - description = "ARN for the Lambda layer containing the OpenTelemetry collector extension" - // TODO(anuraaga): Add default when a public layer is published. -} - -variable "sdk_layer_arn" { - type = string - description = "ARN for the Lambda layer containing the OpenTelemetry NodeJS Wrapper" - // TODO(anuraaga): Add default when a public layer is published. -} - -variable "tracing_mode" { - type = string - description = "Lambda function tracing mode" - default = "PassThrough" -} - -variable "architecture" { - type = string - description = "Lambda function architecture, valid values are arm64 or x86_64" - default = "x86_64" -} - -variable "runtime" { - type = string - description = "NodeJS runtime version used for sample Lambda Function" - default = "nodejs18.x" -} - diff --git a/nodejs/sample-apps/aws-sdk/lambda/index.ts b/nodejs/sample-apps/aws-sdk/lambda/index.ts new file mode 100644 index 0000000000..aa76748a3d --- /dev/null +++ b/nodejs/sample-apps/aws-sdk/lambda/index.ts @@ -0,0 +1,39 @@ +import { + APIGatewayProxyEvent, + APIGatewayProxyResult, + Context, +} from 'aws-lambda'; + +import { STSClient, GetCallerIdentityCommand } from '@aws-sdk/client-sts'; + +const sts = new STSClient({}); + +export const handler = async ( + _event: APIGatewayProxyEvent, + _context: Context +): Promise => { + console.info('Serving lambda request.'); + + try { + const result = await sts.send(new GetCallerIdentityCommand({})); + + const response: APIGatewayProxyResult = { + statusCode: 200, + body: JSON.stringify({ + message: 'Caller identity retrieved successfully', + identity: { + Account: result.Account, + Arn: result.Arn, + UserId: result.UserId, + }, + }), + }; + return response; + } catch (error) { + console.error('Error retrieving caller identity:', error); + return { + statusCode: 500, + body: 'Internal Server Error', + }; + } +}; diff --git a/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts b/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts new file mode 100644 index 0000000000..a7ce6b71ea --- /dev/null +++ b/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts @@ -0,0 +1,37 @@ +import * as cdk from 'aws-cdk-lib'; +import { Construct } from 'constructs'; +import * as lambda from 'aws-cdk-lib/aws-lambda'; +import * as path from 'path'; + +const AWS_ACCOUNT_ID = '184161586896'; // Replace with your AWS account ID if you want to use a specific layer + +export class OtelSampleLambdaStack extends cdk.Stack { + constructor(scope: Construct, id: string, props?: cdk.StackProps) { + super(scope, id, props); + + const region = cdk.Stack.of(this).region; + const architecture = 'amd64'; // or 'arm64' for ARM architecture + const collectorLayerArn = `arn:aws:lambda:${region}:${AWS_ACCOUNT_ID}:layer:opentelemetry-collector-${architecture}-0_15_0:1`; // Update with the latest version if needed + const nodejsInstrumentationLayerArn = `arn:aws:lambda:${region}:${AWS_ACCOUNT_ID}:layer:opentelemetry-nodejs-0_14_0:1`; // Update with the latest version if needed + + new lambda.Function(this, 'MyLambdaFunction', { + runtime: lambda.Runtime.NODEJS_22_X, + handler: 'index.handler', + code: lambda.Code.fromAsset(path.join(__dirname, '../build/lambda')), + layers: [ + lambda.LayerVersion.fromLayerVersionArn(this, 'OtelCollectorLayer', collectorLayerArn), + lambda.LayerVersion.fromLayerVersionArn(this, 'NodeJsInstrumentationLayer', nodejsInstrumentationLayerArn) + ], + timeout: cdk.Duration.seconds(30), + memorySize: 256, + environment: { + OTEL_EXPORTER_OTLP_ENDPOINT: 'http://localhost:4318/', + OTEL_TRACES_EXPORTER: 'logging', + OTEL_METRICS_EXPORTER: 'logging', + OTEL_LOG_LEVEL: 'INFO', + OTEL_TRACES_SAMPLER: 'always_on', + AWS_LAMBDA_EXEC_WRAPPER: '/opt/otel-handler', + }, + }); + } +} \ No newline at end of file diff --git a/nodejs/sample-apps/aws-sdk/package.json b/nodejs/sample-apps/aws-sdk/package.json index be00199f7b..25ffec8401 100644 --- a/nodejs/sample-apps/aws-sdk/package.json +++ b/nodejs/sample-apps/aws-sdk/package.json @@ -8,8 +8,8 @@ "repository": "open-telemetry/opentelemetry-lambda", "scripts": { "clean": "rimraf build/*", - "lint": "ESLINT_USE_FLAT_CONFIG=false eslint . --ext .ts", - "lint:fix": "ESLINT_USE_FLAT_CONFIG=false eslint . --ext .ts --fix", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "build": "npm run clean && npm run compile && npm run postcompile", "compile": "tsc -p .", "postcompile": "copyfiles 'package*.json' build/src/ && npm install --production --ignore-scripts --prefix build/src/ && cd build/src && bestzip ../function.zip *" @@ -25,25 +25,22 @@ "author": "OpenTelemetry Authors", "license": "Apache-2.0", "engines": { - "node": ">=16.0.0" - }, - "files": [ - "build/src/**/*.js", - "build/src/**/*.d.ts", - "doc", - "LICENSE", - "README.md" - ], - "devDependencies": { - "@types/aws-lambda": "8.10.149", - "@types/node": "22.15.21", - "bestzip": "2.2.1", - "copyfiles": "2.4.1", - "rimraf": "6.0.1", - "ts-node": "10.9.2", - "typescript": "5.8.3" + "node": ">=18.0.0" }, "dependencies": { + "@aws-sdk/client-sts": "^3.821.0", "aws-sdk": "2.1692.0" + }, + "devDependencies": { + "@types/aws-lambda": "^8.10.149", + "@types/node": "^22.15.29", + "aws-cdk": "^2.1017.1", + "aws-cdk-lib": "^2.199.0", + "bestzip": "^2.2.1", + "constructs": "^10.4.2", + "copyfiles": "^2.4.1", + "rimraf": "^6.0.1", + "ts-node": "^10.9.2", + "typescript": "^5.8.3" } } diff --git a/nodejs/sample-apps/aws-sdk/sampleLogOutput.png b/nodejs/sample-apps/aws-sdk/sampleLogOutput.png new file mode 100644 index 0000000000000000000000000000000000000000..6bcfefce974ca52e5acda4f90838345911cff7dc GIT binary patch literal 206594 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

r+qAMW)R$WT7 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

  • -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 h2=tIh6o=vNo=kZ=K3AfW+m+pd# { - console.info('Serving lambda request.'); - - const result = await s3.listBuckets().promise(); - - const response: APIGatewayProxyResult = { - statusCode: 200, - body: `Hello lambda - found ${result.Buckets?.length || 0} buckets`, - }; - return response; -}; diff --git a/nodejs/sample-apps/aws-sdk/tsconfig.json b/nodejs/sample-apps/aws-sdk/tsconfig.json index 4078877ce6..d84b0209f8 100644 --- a/nodejs/sample-apps/aws-sdk/tsconfig.json +++ b/nodejs/sample-apps/aws-sdk/tsconfig.json @@ -5,7 +5,6 @@ "outDir": "build" }, "include": [ - "src/**/*.ts", - "test/**/*.ts" + "lambda/**/*.ts", ] } From c9442c2bcd25f7f7b0b299fa55423d971179080e Mon Sep 17 00:00:00 2001 From: Maxime David Date: Sat, 31 May 2025 13:41:16 +0100 Subject: [PATCH 02/14] feat: add build sample to CI --- .github/workflows/ci-nodejs.yml | 3 +++ nodejs/sample-apps/aws-sdk/package.json | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci-nodejs.yml b/.github/workflows/ci-nodejs.yml index d54ec1a4cf..003160c2ff 100644 --- a/.github/workflows/ci-nodejs.yml +++ b/.github/workflows/ci-nodejs.yml @@ -37,3 +37,6 @@ jobs: working-directory: nodejs - run: npm test working-directory: nodejs + - name: Build AWS SDK Sample + run: npm run build + working-directory: nodejs/samples-apps/aws-sdk diff --git a/nodejs/sample-apps/aws-sdk/package.json b/nodejs/sample-apps/aws-sdk/package.json index 25ffec8401..da1377a672 100644 --- a/nodejs/sample-apps/aws-sdk/package.json +++ b/nodejs/sample-apps/aws-sdk/package.json @@ -8,8 +8,6 @@ "repository": "open-telemetry/opentelemetry-lambda", "scripts": { "clean": "rimraf build/*", - "lint": "eslint . --ext .ts", - "lint:fix": "eslint . --ext .ts --fix", "build": "npm run clean && npm run compile && npm run postcompile", "compile": "tsc -p .", "postcompile": "copyfiles 'package*.json' build/src/ && npm install --production --ignore-scripts --prefix build/src/ && cd build/src && bestzip ../function.zip *" From dba7bc5406a8f12d931a587b02f83fd495a144b6 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Sat, 31 May 2025 14:03:27 +0100 Subject: [PATCH 03/14] fix: eslint --- nodejs/sample-apps/aws-sdk/.eslintignore | 1 + nodejs/sample-apps/aws-sdk/.eslintrc.js | 7 +++++++ nodejs/sample-apps/aws-sdk/package.json | 6 ++++++ 3 files changed, 14 insertions(+) create mode 100644 nodejs/sample-apps/aws-sdk/.eslintignore create mode 100644 nodejs/sample-apps/aws-sdk/.eslintrc.js diff --git a/nodejs/sample-apps/aws-sdk/.eslintignore b/nodejs/sample-apps/aws-sdk/.eslintignore new file mode 100644 index 0000000000..c795b054e5 --- /dev/null +++ b/nodejs/sample-apps/aws-sdk/.eslintignore @@ -0,0 +1 @@ +build \ No newline at end of file diff --git a/nodejs/sample-apps/aws-sdk/.eslintrc.js b/nodejs/sample-apps/aws-sdk/.eslintrc.js new file mode 100644 index 0000000000..2416b303b5 --- /dev/null +++ b/nodejs/sample-apps/aws-sdk/.eslintrc.js @@ -0,0 +1,7 @@ +module.exports = { + "env": { + "mocha": true, + "node": true + }, + ...require('../../eslint.config.js') +} \ No newline at end of file diff --git a/nodejs/sample-apps/aws-sdk/package.json b/nodejs/sample-apps/aws-sdk/package.json index da1377a672..08ff1ef8f8 100644 --- a/nodejs/sample-apps/aws-sdk/package.json +++ b/nodejs/sample-apps/aws-sdk/package.json @@ -8,6 +8,8 @@ "repository": "open-telemetry/opentelemetry-lambda", "scripts": { "clean": "rimraf build/*", + "lint": "eslint .", + "lint:fix": "eslint . --fix", "build": "npm run clean && npm run compile && npm run postcompile", "compile": "tsc -p .", "postcompile": "copyfiles 'package*.json' build/src/ && npm install --production --ignore-scripts --prefix build/src/ && cd build/src && bestzip ../function.zip *" @@ -30,6 +32,7 @@ "aws-sdk": "2.1692.0" }, "devDependencies": { + "@eslint/eslintrc": "^3.3.1", "@types/aws-lambda": "^8.10.149", "@types/node": "^22.15.29", "aws-cdk": "^2.1017.1", @@ -37,6 +40,9 @@ "bestzip": "^2.2.1", "constructs": "^10.4.2", "copyfiles": "^2.4.1", + "eslint": "8", + "eslint-plugin-header": "3.1.1", + "eslint-plugin-import": "2.31.0", "rimraf": "^6.0.1", "ts-node": "^10.9.2", "typescript": "^5.8.3" From 6ce50bd88e65cd985ee9440b923980b1673684b8 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Sat, 31 May 2025 14:14:03 +0100 Subject: [PATCH 04/14] fix: lint --- nodejs/package-lock.json | 3344 +++++++++++++++----- nodejs/sample-apps/aws-sdk/.eslintignore | 5 +- nodejs/sample-apps/aws-sdk/lambda/index.ts | 7 +- nodejs/sample-apps/aws-sdk/package.json | 7 +- 4 files changed, 2536 insertions(+), 827 deletions(-) diff --git a/nodejs/package-lock.json b/nodejs/package-lock.json index 16e1f884e9..ca6cd0060b 100644 --- a/nodejs/package-lock.json +++ b/nodejs/package-lock.json @@ -28,6 +28,629 @@ "typescript": "5.8.3" } }, + "node_modules/@aws-cdk/asset-awscli-v1": { + "version": "2.2.237", + "resolved": "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.237.tgz", + "integrity": "sha512-OlXylbXI52lboFVJBFLae+WB99qWmI121x/wXQHEMj2RaVNVbWE+OAHcDk2Um1BitUQCaTf9ki57B0Fuqx0Rvw==", + "dev": true + }, + "node_modules/@aws-cdk/asset-node-proxy-agent-v6": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v6/-/asset-node-proxy-agent-v6-2.1.0.tgz", + "integrity": "sha512-7bY3J8GCVxLupn/kNmpPc5VJz8grx+4RKfnnJiO1LG+uxkZfANZG3RMHhE+qQxxwkyQ9/MfPtTpf748UhR425A==", + "dev": true + }, + "node_modules/@aws-cdk/cloud-assembly-schema": { + "version": "41.2.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-41.2.0.tgz", + "integrity": "sha512-JaulVS6z9y5+u4jNmoWbHZRs9uGOnmn/ktXygNWKNu1k6lF3ad4so3s18eRu15XCbUIomxN9WPYT6Ehh7hzONw==", + "bundleDependencies": [ + "jsonschema", + "semver" + ], + "dev": true, + "dependencies": { + "jsonschema": "~1.4.1", + "semver": "^7.7.1" + }, + "engines": { + "node": ">= 14.15.0" + } + }, + "node_modules/@aws-cdk/cloud-assembly-schema/node_modules/jsonschema": { + "version": "1.4.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/@aws-cdk/cloud-assembly-schema/node_modules/semver": { + "version": "7.7.1", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", + "dependencies": { + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", + "dependencies": { + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", + "dependencies": { + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", + "dependencies": { + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@aws-sdk/client-sso": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.821.0.tgz", + "integrity": "sha512-aDEBZUKUd/+Tvudi0d9KQlqt2OW2P27LATZX0jkNC8yVk4145bAPS04EYoqdKLuyUn/U33DibEOgKUpxZB12jQ==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.821.0", + "@aws-sdk/middleware-host-header": "3.821.0", + "@aws-sdk/middleware-logger": "3.821.0", + "@aws-sdk/middleware-recursion-detection": "3.821.0", + "@aws-sdk/middleware-user-agent": "3.821.0", + "@aws-sdk/region-config-resolver": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@aws-sdk/util-endpoints": "3.821.0", + "@aws-sdk/util-user-agent-browser": "3.821.0", + "@aws-sdk/util-user-agent-node": "3.821.0", + "@smithy/config-resolver": "^4.1.4", + "@smithy/core": "^3.5.1", + "@smithy/fetch-http-handler": "^5.0.4", + "@smithy/hash-node": "^4.0.4", + "@smithy/invalid-dependency": "^4.0.4", + "@smithy/middleware-content-length": "^4.0.4", + "@smithy/middleware-endpoint": "^4.1.9", + "@smithy/middleware-retry": "^4.1.10", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/node-http-handler": "^4.0.6", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.1", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-body-length-node": "^4.0.0", + "@smithy/util-defaults-mode-browser": "^4.0.17", + "@smithy/util-defaults-mode-node": "^4.0.17", + "@smithy/util-endpoints": "^3.0.6", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.5", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/client-sts": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.821.0.tgz", + "integrity": "sha512-11R+OFIU7R53DqA+WmblP6IPoCRNwC31rFKjSlrrGEvBHHMf6fdEn0nYiGtB/VbQ65I5EbrSDnlG+StCIXqOIA==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.821.0", + "@aws-sdk/credential-provider-node": "3.821.0", + "@aws-sdk/middleware-host-header": "3.821.0", + "@aws-sdk/middleware-logger": "3.821.0", + "@aws-sdk/middleware-recursion-detection": "3.821.0", + "@aws-sdk/middleware-user-agent": "3.821.0", + "@aws-sdk/region-config-resolver": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@aws-sdk/util-endpoints": "3.821.0", + "@aws-sdk/util-user-agent-browser": "3.821.0", + "@aws-sdk/util-user-agent-node": "3.821.0", + "@smithy/config-resolver": "^4.1.4", + "@smithy/core": "^3.5.1", + "@smithy/fetch-http-handler": "^5.0.4", + "@smithy/hash-node": "^4.0.4", + "@smithy/invalid-dependency": "^4.0.4", + "@smithy/middleware-content-length": "^4.0.4", + "@smithy/middleware-endpoint": "^4.1.9", + "@smithy/middleware-retry": "^4.1.10", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/node-http-handler": "^4.0.6", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.1", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-body-length-node": "^4.0.0", + "@smithy/util-defaults-mode-browser": "^4.0.17", + "@smithy/util-defaults-mode-node": "^4.0.17", + "@smithy/util-endpoints": "^3.0.6", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.5", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/core": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.821.0.tgz", + "integrity": "sha512-8eB3wKbmfciQFmxFq7hAjy7mXdUs7vBOR5SwT0ZtQBg0Txc18Lc9tMViqqdO6/KU7OukA6ib2IAVSjIJJEN7FQ==", + "dependencies": { + "@aws-sdk/types": "3.821.0", + "@smithy/core": "^3.5.1", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/property-provider": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/signature-v4": "^5.1.2", + "@smithy/smithy-client": "^4.4.1", + "@smithy/types": "^4.3.1", + "@smithy/util-middleware": "^4.0.4", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.821.0.tgz", + "integrity": "sha512-C+s/A72pd7CXwEsJj9+Uq9T726iIfIF18hGRY8o82xcIEfOyakiPnlisku8zZOaAu+jm0CihbbYN4NyYNQ+HZQ==", + "dependencies": { + "@aws-sdk/core": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.821.0.tgz", + "integrity": "sha512-gIRzTLnAsRfRSNarCag7G7rhcHagz4x5nNTWRihQs5cwTOghEExDy7Tj5m4TEkv3dcTAsNn+l4tnR4nZXo6R+Q==", + "dependencies": { + "@aws-sdk/core": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@smithy/fetch-http-handler": "^5.0.4", + "@smithy/node-http-handler": "^4.0.6", + "@smithy/property-provider": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.1", + "@smithy/types": "^4.3.1", + "@smithy/util-stream": "^4.2.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.821.0.tgz", + "integrity": "sha512-VRTrmsca8kBHtY1tTek1ce+XkK/H0fzodBKcilM/qXjTyumMHPAzVAxKZfSvGC+28/pXyQzhOEyxZfw7giCiWA==", + "dependencies": { + "@aws-sdk/core": "3.821.0", + "@aws-sdk/credential-provider-env": "3.821.0", + "@aws-sdk/credential-provider-http": "3.821.0", + "@aws-sdk/credential-provider-process": "3.821.0", + "@aws-sdk/credential-provider-sso": "3.821.0", + "@aws-sdk/credential-provider-web-identity": "3.821.0", + "@aws-sdk/nested-clients": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@smithy/credential-provider-imds": "^4.0.6", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.821.0.tgz", + "integrity": "sha512-oBgbcgOXWMgknAfhIdTeHSSVIv+k2LXN9oTbxu1r++o4WWBWrEQ8mHU0Zo9dfr7Uaoqi3pezYZznsBkXnMLEOg==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.821.0", + "@aws-sdk/credential-provider-http": "3.821.0", + "@aws-sdk/credential-provider-ini": "3.821.0", + "@aws-sdk/credential-provider-process": "3.821.0", + "@aws-sdk/credential-provider-sso": "3.821.0", + "@aws-sdk/credential-provider-web-identity": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@smithy/credential-provider-imds": "^4.0.6", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.821.0.tgz", + "integrity": "sha512-e18ucfqKB3ICNj5RP/FEdvUfhVK6E9MALOsl8pKP13mwegug46p/1BsZWACD5n+Zf9ViiiHxIO7td03zQixfwA==", + "dependencies": { + "@aws-sdk/core": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.821.0.tgz", + "integrity": "sha512-Dt+pheBLom4O/egO4L75/72k9C1qtUOLl0F0h6lmqZe4Mvhz+wDtjoO/MdGC/P1q0kcIX/bBKr0NQ3cIvAH8pA==", + "dependencies": { + "@aws-sdk/client-sso": "3.821.0", + "@aws-sdk/core": "3.821.0", + "@aws-sdk/token-providers": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.821.0.tgz", + "integrity": "sha512-FF5wnRJkxSQaCVVvWNv53K1MhTMgH8d+O+MHTbkv51gVIgVATrtfFQMKBLcEAxzXrgAliIO3LiNv+1TqqBZ+BA==", + "dependencies": { + "@aws-sdk/core": "3.821.0", + "@aws-sdk/nested-clients": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.821.0.tgz", + "integrity": "sha512-xSMR+sopSeWGx5/4pAGhhfMvGBHioVBbqGvDs6pG64xfNwM5vq5s5v6D04e2i+uSTj4qGa71dLUs5I0UzAK3sw==", + "dependencies": { + "@aws-sdk/types": "3.821.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.821.0.tgz", + "integrity": "sha512-0cvI0ipf2tGx7fXYEEN5fBeZDz2RnHyb9xftSgUsEq7NBxjV0yTZfLJw6Za5rjE6snC80dRN8+bTNR1tuG89zA==", + "dependencies": { + "@aws-sdk/types": "3.821.0", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.821.0.tgz", + "integrity": "sha512-efmaifbhBoqKG3bAoEfDdcM8hn1psF+4qa7ykWuYmfmah59JBeqHLfz5W9m9JoTwoKPkFcVLWZxnyZzAnVBOIg==", + "dependencies": { + "@aws-sdk/types": "3.821.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.821.0.tgz", + "integrity": "sha512-rw8q3TxygMg3VrofN04QyWVCCyGwz3bVthYmBZZseENPWG3Krz1OCKcyqjkTcAxMQlEywOske+GIiOasGKnJ3w==", + "dependencies": { + "@aws-sdk/core": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@aws-sdk/util-endpoints": "3.821.0", + "@smithy/core": "^3.5.1", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/nested-clients": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.821.0.tgz", + "integrity": "sha512-2IuHcUsWw44ftSEDYU4dvktTEqgyDvkOcfpoGC/UmT4Qo6TVCP3U5tWEGpNK9nN+7nLvekruxxG/jaMt5/oWVw==", + "dependencies": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.821.0", + "@aws-sdk/middleware-host-header": "3.821.0", + "@aws-sdk/middleware-logger": "3.821.0", + "@aws-sdk/middleware-recursion-detection": "3.821.0", + "@aws-sdk/middleware-user-agent": "3.821.0", + "@aws-sdk/region-config-resolver": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@aws-sdk/util-endpoints": "3.821.0", + "@aws-sdk/util-user-agent-browser": "3.821.0", + "@aws-sdk/util-user-agent-node": "3.821.0", + "@smithy/config-resolver": "^4.1.4", + "@smithy/core": "^3.5.1", + "@smithy/fetch-http-handler": "^5.0.4", + "@smithy/hash-node": "^4.0.4", + "@smithy/invalid-dependency": "^4.0.4", + "@smithy/middleware-content-length": "^4.0.4", + "@smithy/middleware-endpoint": "^4.1.9", + "@smithy/middleware-retry": "^4.1.10", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/node-http-handler": "^4.0.6", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.1", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-body-length-node": "^4.0.0", + "@smithy/util-defaults-mode-browser": "^4.0.17", + "@smithy/util-defaults-mode-node": "^4.0.17", + "@smithy/util-endpoints": "^3.0.6", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.5", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.821.0.tgz", + "integrity": "sha512-t8og+lRCIIy5nlId0bScNpCkif8sc0LhmtaKsbm0ZPm3sCa/WhCbSZibjbZ28FNjVCV+p0D9RYZx0VDDbtWyjw==", + "dependencies": { + "@aws-sdk/types": "3.821.0", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "@smithy/util-config-provider": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/token-providers": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.821.0.tgz", + "integrity": "sha512-qJ7wgKhdxGbPg718zWXbCYKDuSWZNU3TSw64hPRW6FtbZrIyZxObpiTKC6DKwfsVoZZhHEoP/imGykN1OdOTJA==", + "dependencies": { + "@aws-sdk/core": "3.821.0", + "@aws-sdk/nested-clients": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/types": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.821.0.tgz", + "integrity": "sha512-Znroqdai1a90TlxGaJ+FK1lwC0fHpo97Xjsp5UKGR5JODYm7f9+/fF17ebO1KdoBr/Rm0UIFiF5VmI8ts9F1eA==", + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.821.0.tgz", + "integrity": "sha512-Uknt/zUZnLE76zaAAPEayOeF5/4IZ2puTFXvcSCWHsi9m3tqbb9UozlnlVqvCZLCRWfQryZQoG2W4XSS3qgk5A==", + "dependencies": { + "@aws-sdk/types": "3.821.0", + "@smithy/types": "^4.3.1", + "@smithy/util-endpoints": "^3.0.6", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.804.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.804.0.tgz", + "integrity": "sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.821.0.tgz", + "integrity": "sha512-irWZHyM0Jr1xhC+38OuZ7JB6OXMLPZlj48thElpsO1ZSLRkLZx5+I7VV6k3sp2yZ7BYbKz/G2ojSv4wdm7XTLw==", + "dependencies": { + "@aws-sdk/types": "3.821.0", + "@smithy/types": "^4.3.1", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + } + }, + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.821.0.tgz", + "integrity": "sha512-YwMXc9EvuzJgnLBTyiQly2juPujXwDgcMHB0iSN92tHe7Dd1jJ1feBmTgdClaaqCeHFUaFpw+3JU/ZUJ6LjR+A==", + "dependencies": { + "@aws-sdk/middleware-user-agent": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } + } + }, "node_modules/@babel/code-frame": { "version": "7.26.2", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", @@ -2804,429 +3427,968 @@ "node": ">=4" } }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, + "node_modules/@smithy/abort-controller": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.4.tgz", + "integrity": "sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==", + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, "engines": { - "node": ">= 6" + "node": ">=18.0.0" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@tufjs/canonical-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", - "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", - "dev": true, + "node_modules/@smithy/config-resolver": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.4.tgz", + "integrity": "sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==", + "dependencies": { + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "@smithy/util-config-provider": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "tslib": "^2.6.2" + }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@tufjs/models": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.1.tgz", - "integrity": "sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==", - "dev": true, + "node_modules/@smithy/core": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.5.1.tgz", + "integrity": "sha512-xSw7bZEFKwOKrm/iv8e2BLt2ur98YZdrRD6nII8ditQeUsY2Q1JmIQ0rpILOhaLKYxxG2ivnoOpokzr9qLyDWA==", "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.4" + "@smithy/middleware-serde": "^4.0.8", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-stream": "^4.2.2", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@tybys/wasm-util": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", - "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", - "dev": true, + "node_modules/@smithy/credential-provider-imds": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.6.tgz", + "integrity": "sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==", "dependencies": { - "tslib": "^2.4.0" + "@smithy/node-config-provider": "^4.1.3", + "@smithy/property-provider": "^4.0.4", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@types/aws-lambda": { - "version": "8.10.149", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.149.tgz", - "integrity": "sha512-NXSZIhfJjnXqJgtS7IwutqIF/SOy1Wz5Px4gUY1RWITp3AYTyuJS4xaXr/bIJY1v15XMzrJ5soGnPM+7uigZjA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/bunyan": { - "version": "1.8.11", - "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.11.tgz", - "integrity": "sha512-758fRH7umIMk5qt5ELmRMff4mLDlN+xyYzC+dkPTdKwbSkJFvz6xwyScrytPU0QIBbRRwbiE8/BIg8bpajerNQ==", + "node_modules/@smithy/fetch-http-handler": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.0.4.tgz", + "integrity": "sha512-AMtBR5pHppYMVD7z7G+OlHHAcgAN7v0kVKEpHuTO4Gb199Gowh0taYi9oDStFeUhetkeP55JLSVlTW1n9rFtUw==", "dependencies": { - "@types/node": "*" + "@smithy/protocol-http": "^5.1.2", + "@smithy/querystring-builder": "^4.0.4", + "@smithy/types": "^4.3.1", + "@smithy/util-base64": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "node_modules/@smithy/hash-node": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.4.tgz", + "integrity": "sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==", "dependencies": { - "@types/node": "*" + "@smithy/types": "^4.3.1", + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, + "node_modules/@smithy/invalid-dependency": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.4.tgz", + "integrity": "sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==", "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, + "node_modules/@smithy/is-array-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.0.0.tgz", + "integrity": "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==", "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true + "node_modules/@smithy/middleware-content-length": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.4.tgz", + "integrity": "sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==", + "dependencies": { + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@types/memcached": { - "version": "2.2.10", - "resolved": "https://registry.npmjs.org/@types/memcached/-/memcached-2.2.10.tgz", - "integrity": "sha512-AM9smvZN55Gzs2wRrqeMHVP7KE8KWgCJO/XL5yCly2xF6EKa4YlbpK+cLSAH4NG/Ah64HrlegmGqW8kYws7Vxg==", + "node_modules/@smithy/middleware-endpoint": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.9.tgz", + "integrity": "sha512-AjDgX4UjORLltD/LZCBQTwjQqEfyrx/GeDTHcYLzIgf87pIT70tMWnN87NQpJru1K4ITirY2htSOxNECZJCBOg==", "dependencies": { - "@types/node": "*" + "@smithy/core": "^3.5.1", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-middleware": "^4.0.4", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true + "node_modules/@smithy/middleware-retry": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.10.tgz", + "integrity": "sha512-RyhcA3sZIIvAo6r48b2Nx2qfg0OnyohlaV0fw415xrQyx5HQ2bvHl9vs/WBiDXIP49mCfws5wX4308c9Pi/isw==", + "dependencies": { + "@smithy/node-config-provider": "^4.1.3", + "@smithy/protocol-http": "^5.1.2", + "@smithy/service-error-classification": "^4.0.5", + "@smithy/smithy-client": "^4.4.1", + "@smithy/types": "^4.3.1", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.5", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@types/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", - "dev": true + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } }, - "node_modules/@types/mocha": { - "version": "10.0.10", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz", - "integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==", - "dev": true + "node_modules/@smithy/middleware-serde": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.8.tgz", + "integrity": "sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==", + "dependencies": { + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@types/mysql": { - "version": "2.15.26", - "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.26.tgz", - "integrity": "sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==", + "node_modules/@smithy/middleware-stack": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.4.tgz", + "integrity": "sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==", "dependencies": { - "@types/node": "*" + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@types/node": { - "version": "22.15.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.21.tgz", - "integrity": "sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==", - "license": "MIT", + "node_modules/@smithy/node-config-provider": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.3.tgz", + "integrity": "sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==", "dependencies": { - "undici-types": "~6.21.0" + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true + "node_modules/@smithy/node-http-handler": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.6.tgz", + "integrity": "sha512-NqbmSz7AW2rvw4kXhKGrYTiJVDHnMsFnX4i+/FzcZAfbOBauPYs2ekuECkSbtqaxETLLTu9Rl/ex6+I2BKErPA==", + "dependencies": { + "@smithy/abort-controller": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/querystring-builder": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@types/pg": { - "version": "8.6.1", - "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz", - "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==", + "node_modules/@smithy/property-provider": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.4.tgz", + "integrity": "sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==", "dependencies": { - "@types/node": "*", - "pg-protocol": "*", - "pg-types": "^2.2.0" + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@types/pg-pool": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.6.tgz", - "integrity": "sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==", + "node_modules/@smithy/protocol-http": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.2.tgz", + "integrity": "sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==", "dependencies": { - "@types/pg": "*" + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true + "node_modules/@smithy/querystring-builder": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.4.tgz", + "integrity": "sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==", + "dependencies": { + "@smithy/types": "^4.3.1", + "@smithy/util-uri-escape": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@types/shimmer": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz", - "integrity": "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==" + "node_modules/@smithy/querystring-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.4.tgz", + "integrity": "sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==", + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@types/sinon": { - "version": "17.0.4", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.4.tgz", - "integrity": "sha512-RHnIrhfPO3+tJT0s7cFaXGZvsL4bbR3/k7z3P312qMS4JaS2Tk+KiwiLx1S0rQ56ERj00u1/BtdyVd0FY+Pdew==", - "dev": true, - "license": "MIT", + "node_modules/@smithy/service-error-classification": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.5.tgz", + "integrity": "sha512-LvcfhrnCBvCmTee81pRlh1F39yTS/+kYleVeLCwNtkY8wtGg8V/ca9rbZZvYIl8OjlMtL6KIjaiL/lgVqHD2nA==", "dependencies": { - "@types/sinonjs__fake-timers": "*" + "@smithy/types": "^4.3.1" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", - "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.1.tgz", - "integrity": "sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg==", - "dev": true, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.4.tgz", + "integrity": "sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==", "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.29.1", - "@typescript-eslint/type-utils": "8.29.1", - "@typescript-eslint/utils": "8.29.1", - "@typescript-eslint/visitor-keys": "8.29.1", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.1" + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.2.tgz", + "integrity": "sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==", + "dependencies": { + "@smithy/is-array-buffer": "^4.0.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "@smithy/util-hex-encoding": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-uri-escape": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.4.1.tgz", + "integrity": "sha512-XPbcHRfd0iwx8dY5XCBCGyI7uweMW0oezYezxXcG8ANgvZ5YPuC6Ylh+n0bTHpdU3SCMZOnhzgVklYz+p3fIhw==", + "dependencies": { + "@smithy/core": "^3.5.1", + "@smithy/middleware-endpoint": "^4.1.9", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "@smithy/util-stream": "^4.2.2", + "tslib": "^2.6.2" }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.1.tgz", - "integrity": "sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg==", - "dev": true, + "node_modules/@smithy/types": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.3.1.tgz", + "integrity": "sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==", "dependencies": { - "@typescript-eslint/scope-manager": "8.29.1", - "@typescript-eslint/types": "8.29.1", - "@typescript-eslint/typescript-estree": "8.29.1", - "@typescript-eslint/visitor-keys": "8.29.1", - "debug": "^4.3.4" + "tslib": "^2.6.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "node": ">=18.0.0" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.1.tgz", - "integrity": "sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA==", - "dev": true, + "node_modules/@smithy/url-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.4.tgz", + "integrity": "sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==", "dependencies": { - "@typescript-eslint/types": "8.29.1", - "@typescript-eslint/visitor-keys": "8.29.1" + "@smithy/querystring-parser": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=18.0.0" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.1.tgz", - "integrity": "sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw==", - "dev": true, + "node_modules/@smithy/util-base64": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz", + "integrity": "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==", "dependencies": { - "@typescript-eslint/typescript-estree": "8.29.1", - "@typescript-eslint/utils": "8.29.1", - "debug": "^4.3.4", - "ts-api-utils": "^2.0.1" + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "node": ">=18.0.0" } }, - "node_modules/@typescript-eslint/types": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.1.tgz", - "integrity": "sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ==", - "dev": true, + "node_modules/@smithy/util-body-length-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz", + "integrity": "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz", + "integrity": "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==", + "dependencies": { + "tslib": "^2.6.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.1.tgz", - "integrity": "sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g==", - "dev": true, + "node_modules/@smithy/util-buffer-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz", + "integrity": "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==", "dependencies": { - "@typescript-eslint/types": "8.29.1", - "@typescript-eslint/visitor-keys": "8.29.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" + "@smithy/is-array-buffer": "^4.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz", + "integrity": "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==", + "dependencies": { + "tslib": "^2.6.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.17.tgz", + "integrity": "sha512-HXq5181qnXmIwB7VrwqwP8rsJybHMoYuJnNoXy4PROs2pfSI4sWDMASF2i+7Lo+u64Y6xowhegcdxczowgJtZg==", + "dependencies": { + "@smithy/property-provider": "^4.0.4", + "@smithy/smithy-client": "^4.4.1", + "@smithy/types": "^4.3.1", + "bowser": "^2.11.0", + "tslib": "^2.6.2" }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.1.tgz", - "integrity": "sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA==", - "dev": true, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.17.tgz", + "integrity": "sha512-RfU2A5LjFhEHw4Nwl1GZNitK4AUWu5jGtigAUDoQtfDUvYHpQxcuLw2QGAdKDtKRflIiHSZ8wXBDR36H9R2Ang==", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.29.1", - "@typescript-eslint/types": "8.29.1", - "@typescript-eslint/typescript-estree": "8.29.1" + "@smithy/config-resolver": "^4.1.4", + "@smithy/credential-provider-imds": "^4.0.6", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/property-provider": "^4.0.4", + "@smithy/smithy-client": "^4.4.1", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.6.tgz", + "integrity": "sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==", + "dependencies": { + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.0.0.tgz", + "integrity": "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==", + "dependencies": { + "tslib": "^2.6.2" }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.29.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.1.tgz", - "integrity": "sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg==", - "dev": true, + "node_modules/@smithy/util-middleware": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.4.tgz", + "integrity": "sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==", "dependencies": { - "@typescript-eslint/types": "8.29.1", - "eslint-visitor-keys": "^4.2.0" + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.5.tgz", + "integrity": "sha512-V7MSjVDTlEt/plmOFBn1762Dyu5uqMrV2Pl2X0dYk4XvWfdWJNe9Bs5Bzb56wkCuiWjSfClVMGcsuKrGj7S/yg==", + "dependencies": { + "@smithy/service-error-classification": "^4.0.5", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, + "node_modules/@smithy/util-stream": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.2.tgz", + "integrity": "sha512-aI+GLi7MJoVxg24/3J1ipwLoYzgkB4kUfogZfnslcYlynj3xsQ0e7vk4TnTro9hhsS5PvX1mwmkRqqHQjwcU7w==", + "dependencies": { + "@smithy/fetch-http-handler": "^5.0.4", + "@smithy/node-http-handler": "^4.0.6", + "@smithy/types": "^4.3.1", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-hex-encoding": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz", + "integrity": "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==", + "dependencies": { + "tslib": "^2.6.2" }, - "funding": { - "url": "https://opencollective.com/eslint" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", - "dev": true + "node_modules/@smithy/util-utf8": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz", + "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==", + "dependencies": { + "@smithy/util-buffer-from": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + "engines": { + "node": ">= 6" } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.1.tgz", + "integrity": "sha512-92F7/SFyufn4DXsha9+QfKnN03JGqtMFMXgSHbZOo8JG59WkTni7UzAouNQDf7AuP9OAMxVOPQcqG3sB7w+kkg==", + "dev": true, + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.9.0.tgz", + "integrity": "sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==", + "dev": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/aws-lambda": { + "version": "8.10.149", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.149.tgz", + "integrity": "sha512-NXSZIhfJjnXqJgtS7IwutqIF/SOy1Wz5Px4gUY1RWITp3AYTyuJS4xaXr/bIJY1v15XMzrJ5soGnPM+7uigZjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/bunyan": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/@types/bunyan/-/bunyan-1.8.11.tgz", + "integrity": "sha512-758fRH7umIMk5qt5ELmRMff4mLDlN+xyYzC+dkPTdKwbSkJFvz6xwyScrytPU0QIBbRRwbiE8/BIg8bpajerNQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/memcached": { + "version": "2.2.10", + "resolved": "https://registry.npmjs.org/@types/memcached/-/memcached-2.2.10.tgz", + "integrity": "sha512-AM9smvZN55Gzs2wRrqeMHVP7KE8KWgCJO/XL5yCly2xF6EKa4YlbpK+cLSAH4NG/Ah64HrlegmGqW8kYws7Vxg==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true + }, + "node_modules/@types/mocha": { + "version": "10.0.10", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz", + "integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==", + "dev": true + }, + "node_modules/@types/mysql": { + "version": "2.15.26", + "resolved": "https://registry.npmjs.org/@types/mysql/-/mysql-2.15.26.tgz", + "integrity": "sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "22.15.29", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.29.tgz", + "integrity": "sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "node_modules/@types/pg": { + "version": "8.6.1", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.6.1.tgz", + "integrity": "sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==", + "dependencies": { + "@types/node": "*", + "pg-protocol": "*", + "pg-types": "^2.2.0" + } + }, + "node_modules/@types/pg-pool": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/pg-pool/-/pg-pool-2.0.6.tgz", + "integrity": "sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==", + "dependencies": { + "@types/pg": "*" + } + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "node_modules/@types/shimmer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@types/shimmer/-/shimmer-1.2.0.tgz", + "integrity": "sha512-UE7oxhQLLd9gub6JKIAhDq06T0F6FnztwMNRvYgjeQSBeMc1ZG/tA47EwfduvkuQS8apbkM/lpLpWsaCeYsXVg==" + }, + "node_modules/@types/sinon": { + "version": "17.0.4", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.4.tgz", + "integrity": "sha512-RHnIrhfPO3+tJT0s7cFaXGZvsL4bbR3/k7z3P312qMS4JaS2Tk+KiwiLx1S0rQ56ERj00u1/BtdyVd0FY+Pdew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/sinonjs__fake-timers": "*" + } + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", + "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.29.1.tgz", + "integrity": "sha512-ba0rr4Wfvg23vERs3eB+P3lfj2E+2g3lhWcCVukUuhtcdUx5lSIFZlGFEBHKr+3zizDa/TvZTptdNHVZWAkSBg==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.29.1", + "@typescript-eslint/type-utils": "8.29.1", + "@typescript-eslint/utils": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.29.1.tgz", + "integrity": "sha512-zczrHVEqEaTwh12gWBIJWj8nx+ayDcCJs06yoNMY0kwjMWDM6+kppljY+BxWI06d2Ja+h4+WdufDcwMnnMEWmg==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.29.1", + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/typescript-estree": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.29.1.tgz", + "integrity": "sha512-2nggXGX5F3YrsGN08pw4XpMLO1Rgtnn4AzTegC2MDesv6q3QaTU5yU7IbS1tf1IwCR0Hv/1EFygLn9ms6LIpDA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.29.1.tgz", + "integrity": "sha512-DkDUSDwZVCYN71xA4wzySqqcZsHKic53A4BLqmrWFFpOpNSoxX233lwGu/2135ymTCR04PoKiEEEvN1gFYg4Tw==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "8.29.1", + "@typescript-eslint/utils": "8.29.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/types": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.29.1.tgz", + "integrity": "sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.29.1.tgz", + "integrity": "sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/visitor-keys": "8.29.1", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.0.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.29.1.tgz", + "integrity": "sha512-QAkFEbytSaB8wnmB+DflhUPz6CLbFWE2SnSCrRMEa+KnXIzDYbpsn++1HGvnfAsUY44doDXmvRkO5shlM/3UfA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.29.1", + "@typescript-eslint/types": "8.29.1", + "@typescript-eslint/typescript-estree": "8.29.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.29.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.29.1.tgz", + "integrity": "sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.29.1", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { @@ -3235,375 +4397,793 @@ "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", "dev": true }, - "node_modules/@webassemblyjs/helper-buffer": { + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "node_modules/@webpack-cli/configtest": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", + "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", + "dev": true, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", + "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", + "dev": true, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", + "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", + "dev": true, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "webpack": "^5.82.0", + "webpack-cli": "6.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/@yarnpkg/parsers": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.2.tgz", + "integrity": "sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==", + "dev": true, + "dependencies": { + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=18.12.0" + } + }, + "node_modules/@yarnpkg/parsers/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@yarnpkg/parsers/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/@zkochan/js-yaml": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz", + "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-attributes": { + "version": "1.9.5", + "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", + "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/add-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", + "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", + "dev": true + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "dev": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dev": true, "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, "dependencies": { - "@xtuc/long": "4.2.2" + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" + "engines": { + "node": ">=6" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@webpack-cli/configtest": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", - "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/archiver": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", + "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", "dev": true, - "engines": { - "node": ">=18.12.0" + "dependencies": { + "archiver-utils": "^2.1.0", + "async": "^3.2.4", + "buffer-crc32": "^0.2.1", + "readable-stream": "^3.6.0", + "readdir-glob": "^1.1.2", + "tar-stream": "^2.2.0", + "zip-stream": "^4.1.0" }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" + "engines": { + "node": ">= 10" } }, - "node_modules/@webpack-cli/info": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", - "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", + "node_modules/archiver-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", + "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", "dev": true, - "engines": { - "node": ">=18.12.0" + "dependencies": { + "glob": "^7.1.4", + "graceful-fs": "^4.2.0", + "lazystream": "^1.0.0", + "lodash.defaults": "^4.2.0", + "lodash.difference": "^4.5.0", + "lodash.flatten": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.union": "^4.6.0", + "normalize-path": "^3.0.0", + "readable-stream": "^2.0.0" }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" + "engines": { + "node": ">= 6" } }, - "node_modules/@webpack-cli/serve": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", - "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", + "node_modules/archiver-utils/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "node_modules/archiver-utils/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "node_modules/archiver-utils/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", "dev": true }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/@yarnpkg/parsers": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.2.tgz", - "integrity": "sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==", + "node_modules/array-buffer-byte-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dev": true, "dependencies": { - "js-yaml": "^3.10.0", - "tslib": "^2.4.0" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" }, "engines": { - "node": ">=18.12.0" - } - }, - "node_modules/@yarnpkg/parsers/node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/@yarnpkg/parsers/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8" } }, - "node_modules/@yarnpkg/parsers/node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true }, - "node_modules/@zkochan/js-yaml": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.7.tgz", - "integrity": "sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==", + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, "dependencies": { - "argparse": "^2.0.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/abbrev": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", - "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/acorn": { - "version": "8.14.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", - "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", - "bin": { - "acorn": "bin/acorn" + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" }, "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-attributes": { - "version": "1.9.5", - "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz", - "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==", - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/acorn-walk": { - "version": "8.3.4", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", - "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "node_modules/array.prototype.flat": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, "dependencies": { - "acorn": "^8.11.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { - "node": ">=0.4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/add-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz", - "integrity": "sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==", - "dev": true - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, "dependencies": { - "debug": "4" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/agentkeepalive": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", - "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dev": true, "dependencies": { - "humanize-ms": "^1.2.1" + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" }, "engines": { - "node": ">= 8.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-cdk": { + "version": "2.1017.1", + "resolved": "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.1017.1.tgz", + "integrity": "sha512-KtDdkMhfVjDeexjpMrVoSlz2mTYI5BE/KotvJ7iFbZy1G0nkpW1ImZ54TdBefeeFmZ+8DAjU3I6nUFtymyOI1A==", + "dev": true, + "bin": { + "cdk": "bin/cdk" + }, + "engines": { + "node": ">= 14.15.0" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/aws-cdk-lib": { + "version": "2.199.0", + "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.199.0.tgz", + "integrity": "sha512-hAZHdb7bPHepIGpuyg0jS/F3toY7VRvJDqxo4+C2cYY5zvktGP3lgcC9ukE2ehxYU1Pa9YOAehEDIxrita0Hvw==", + "bundleDependencies": [ + "@balena/dockerignore", + "case", + "fs-extra", + "ignore", + "jsonschema", + "minimatch", + "punycode", + "semver", + "table", + "yaml", + "mime-types" + ], "dev": true, "dependencies": { - "ajv": "^8.0.0" + "@aws-cdk/asset-awscli-v1": "2.2.237", + "@aws-cdk/asset-node-proxy-agent-v6": "^2.1.0", + "@aws-cdk/cloud-assembly-schema": "^41.2.0", + "@balena/dockerignore": "^1.0.2", + "case": "1.6.3", + "fs-extra": "^11.3.0", + "ignore": "^5.3.2", + "jsonschema": "^1.5.0", + "mime-types": "^2.1.35", + "minimatch": "^3.1.2", + "punycode": "^2.3.1", + "semver": "^7.7.2", + "table": "^6.9.0", + "yaml": "1.10.2" }, - "peerDependencies": { - "ajv": "^8.0.0" + "engines": { + "node": ">= 14.15.0" }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } + "peerDependencies": { + "constructs": "^10.0.0" } }, - "node_modules/ajv-formats/node_modules/ajv": { + "node_modules/aws-cdk-lib/node_modules/@balena/dockerignore": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/aws-cdk-lib/node_modules/ajv": { "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -3615,344 +5195,325 @@ "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "node_modules/aws-cdk-lib/node_modules/ansi-regex": { + "version": "5.0.1", "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/aws-cdk-lib/node_modules/ansi-styles": { + "version": "4.3.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/aws-cdk-lib/node_modules/astral-regex": { + "version": "2.0.0", "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/aws-cdk-lib/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/aws-cdk-lib/node_modules/case": { + "version": "1.6.3", "dev": true, + "inBundle": true, + "license": "(MIT OR GPL-3.0-or-later)", "engines": { - "node": ">=8" + "node": ">= 0.8.0" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/aws-cdk-lib/node_modules/color-convert": { + "version": "2.0.1", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=7.0.0" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true + "node_modules/aws-cdk-lib/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "dev": true + "node_modules/aws-cdk-lib/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "node_modules/archiver": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz", - "integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==", + "node_modules/aws-cdk-lib/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/fast-uri": { + "version": "3.0.6", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/aws-cdk-lib/node_modules/fs-extra": { + "version": "11.3.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "archiver-utils": "^2.1.0", - "async": "^3.2.4", - "buffer-crc32": "^0.2.1", - "readable-stream": "^3.6.0", - "readdir-glob": "^1.1.2", - "tar-stream": "^2.2.0", - "zip-stream": "^4.1.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 10" + "node": ">=14.14" } }, - "node_modules/archiver-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-2.1.0.tgz", - "integrity": "sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==", + "node_modules/aws-cdk-lib/node_modules/graceful-fs": { + "version": "4.2.11", "dev": true, - "dependencies": { - "glob": "^7.1.4", - "graceful-fs": "^4.2.0", - "lazystream": "^1.0.0", - "lodash.defaults": "^4.2.0", - "lodash.difference": "^4.5.0", - "lodash.flatten": "^4.4.0", - "lodash.isplainobject": "^4.0.6", - "lodash.union": "^4.6.0", - "normalize-path": "^3.0.0", - "readable-stream": "^2.0.0" - }, + "inBundle": true, + "license": "ISC" + }, + "node_modules/aws-cdk-lib/node_modules/ignore": { + "version": "5.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">= 4" } }, - "node_modules/archiver-utils/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "node_modules/aws-cdk-lib/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/archiver-utils/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "node_modules/aws-cdk-lib/node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "node_modules/archiver-utils/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/aws-cdk-lib/node_modules/jsonfile": { + "version": "6.1.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "node_modules/aws-cdk-lib/node_modules/jsonschema": { + "version": "1.5.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "node_modules/aws-cdk-lib/node_modules/lodash.truncate": { + "version": "4.4.2", + "dev": true, + "inBundle": true, + "license": "MIT" }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", + "node_modules/aws-cdk-lib/node_modules/mime-db": { + "version": "1.52.0", "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.6" } }, - "node_modules/array-differ": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", - "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "node_modules/aws-cdk-lib/node_modules/mime-types": { + "version": "2.1.35", "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", - "dev": true - }, - "node_modules/array-includes": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", - "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "node_modules/aws-cdk-lib/node_modules/minimatch": { + "version": "3.1.2", "dev": true, + "inBundle": true, + "license": "ISC", "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "is-string": "^1.0.7" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "*" } }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "node_modules/aws-cdk-lib/node_modules/punycode": { + "version": "2.3.1", "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", - "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "node_modules/aws-cdk-lib/node_modules/require-from-string": { + "version": "2.0.2", "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/semver": { + "version": "7.7.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=10" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", + "node_modules/aws-cdk-lib/node_modules/slice-ansi": { + "version": "4.0.0", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", + "node_modules/aws-cdk-lib/node_modules/string-width": { + "version": "4.2.3", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", + "node_modules/aws-cdk-lib/node_modules/strip-ansi": { + "version": "6.0.1", "dev": true, + "inBundle": true, + "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "node_modules/aws-cdk-lib/node_modules/table": { + "version": "6.9.0", "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10.0.0" } }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "dev": true - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "node_modules/aws-cdk-lib/node_modules/universalify": { + "version": "2.0.1", "dev": true, + "inBundle": true, + "license": "MIT", "engines": { - "node": ">= 0.4" + "node": ">= 10.0.0" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, + "node_modules/aws-cdk-lib/node_modules/yaml": { + "version": "1.10.2", + "dev": true, + "inBundle": true, + "license": "ISC", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 6" } }, "node_modules/aws-sdk": { @@ -4113,6 +5674,11 @@ "ieee754": "^1.1.13" } }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -4676,6 +6242,12 @@ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "dev": true }, + "node_modules/constructs": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.4.2.tgz", + "integrity": "sha512-wsNxBlAott2qg8Zv87q3eYZYgheb9lchtBfjHzzLHtXbttwSrHPs1NNQbBrmbb1YZvYg2+Vh0Dor76w4mFxJkA==", + "dev": true + }, "node_modules/conventional-changelog-angular": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", @@ -6809,6 +8381,27 @@ } ] }, + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", @@ -7113,6 +8706,20 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -13764,6 +15371,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strnum": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ] + }, "node_modules/strong-log-transformer": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", @@ -14225,8 +15843,7 @@ "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -15408,19 +17025,110 @@ "version": "0.0.0", "license": "Apache-2.0", "dependencies": { + "@aws-sdk/client-sts": "^3.821.0", "aws-sdk": "2.1692.0" }, "devDependencies": { - "@types/aws-lambda": "8.10.149", - "@types/node": "22.15.21", - "bestzip": "2.2.1", - "copyfiles": "2.4.1", - "rimraf": "6.0.1", - "ts-node": "10.9.2", - "typescript": "5.8.3" + "@eslint/eslintrc": "^3.3.1", + "@types/aws-lambda": "^8.10.149", + "@types/node": "^22.15.29", + "aws-cdk": "^2.1017.1", + "aws-cdk-lib": "^2.199.0", + "bestzip": "^2.2.1", + "constructs": "^10.4.2", + "copyfiles": "^2.4.1", + "rimraf": "^6.0.1", + "ts-node": "^10.9.2", + "typescript": "^5.8.3" }, "engines": { - "node": ">=16.0.0" + "node": ">=18.0.0" + } + }, + "sample-apps/aws-sdk/node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "sample-apps/aws-sdk/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "sample-apps/aws-sdk/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "sample-apps/aws-sdk/node_modules/espree": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", + "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", + "dev": true, + "dependencies": { + "acorn": "^8.14.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "sample-apps/aws-sdk/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "sample-apps/aws-sdk/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } } } diff --git a/nodejs/sample-apps/aws-sdk/.eslintignore b/nodejs/sample-apps/aws-sdk/.eslintignore index c795b054e5..8cc5286096 100644 --- a/nodejs/sample-apps/aws-sdk/.eslintignore +++ b/nodejs/sample-apps/aws-sdk/.eslintignore @@ -1 +1,4 @@ -build \ No newline at end of file +build +cdk.out +bin +lib \ No newline at end of file diff --git a/nodejs/sample-apps/aws-sdk/lambda/index.ts b/nodejs/sample-apps/aws-sdk/lambda/index.ts index aa76748a3d..09250e7e4c 100644 --- a/nodejs/sample-apps/aws-sdk/lambda/index.ts +++ b/nodejs/sample-apps/aws-sdk/lambda/index.ts @@ -9,10 +9,11 @@ import { STSClient, GetCallerIdentityCommand } from '@aws-sdk/client-sts'; const sts = new STSClient({}); export const handler = async ( - _event: APIGatewayProxyEvent, - _context: Context + event: APIGatewayProxyEvent, + _context: Context, ): Promise => { - console.info('Serving lambda request.'); + console.log('Received event:', JSON.stringify(event, null, 2)); + console.log('Received context:', JSON.stringify(_context, null, 2)); try { const result = await sts.send(new GetCallerIdentityCommand({})); diff --git a/nodejs/sample-apps/aws-sdk/package.json b/nodejs/sample-apps/aws-sdk/package.json index 08ff1ef8f8..74bb43f583 100644 --- a/nodejs/sample-apps/aws-sdk/package.json +++ b/nodejs/sample-apps/aws-sdk/package.json @@ -8,8 +8,8 @@ "repository": "open-telemetry/opentelemetry-lambda", "scripts": { "clean": "rimraf build/*", - "lint": "eslint .", - "lint:fix": "eslint . --fix", + "lint": "ESLINT_USE_FLAT_CONFIG=false eslint . --ext .ts", + "lint:fix": "ESLINT_USE_FLAT_CONFIG=false eslint . --ext .ts --fix", "build": "npm run clean && npm run compile && npm run postcompile", "compile": "tsc -p .", "postcompile": "copyfiles 'package*.json' build/src/ && npm install --production --ignore-scripts --prefix build/src/ && cd build/src && bestzip ../function.zip *" @@ -40,9 +40,6 @@ "bestzip": "^2.2.1", "constructs": "^10.4.2", "copyfiles": "^2.4.1", - "eslint": "8", - "eslint-plugin-header": "3.1.1", - "eslint-plugin-import": "2.31.0", "rimraf": "^6.0.1", "ts-node": "^10.9.2", "typescript": "^5.8.3" From 90a35390eeaffde37bfc80f651453565bb7adda8 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Sat, 31 May 2025 14:18:26 +0100 Subject: [PATCH 05/14] fix: typo --- .github/workflows/ci-nodejs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-nodejs.yml b/.github/workflows/ci-nodejs.yml index 003160c2ff..018a0f4c16 100644 --- a/.github/workflows/ci-nodejs.yml +++ b/.github/workflows/ci-nodejs.yml @@ -39,4 +39,4 @@ jobs: working-directory: nodejs - name: Build AWS SDK Sample run: npm run build - working-directory: nodejs/samples-apps/aws-sdk + working-directory: nodejs/sample-apps/aws-sdk From d1a29fdb0dda648f65363a3ccb4398bd0d15f46b Mon Sep 17 00:00:00 2001 From: Maxime David Date: Sat, 31 May 2025 14:49:37 +0100 Subject: [PATCH 06/14] fix: logging -> console --- nodejs/sample-apps/aws-sdk/README.md | 2 +- nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nodejs/sample-apps/aws-sdk/README.md b/nodejs/sample-apps/aws-sdk/README.md index 9448a9d501..2631ce6553 100644 --- a/nodejs/sample-apps/aws-sdk/README.md +++ b/nodejs/sample-apps/aws-sdk/README.md @@ -41,7 +41,7 @@ If you'd prefer to deploy manually: 5. **Set the following environment variables** ``` OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318/ - OTEL_TRACES_EXPORTER=logging + OTEL_TRACES_EXPORTER=console OTEL_METRICS_EXPORTER=logging OTEL_LOG_LEVEL=INFO OTEL_TRACES_SAMPLER=always_on diff --git a/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts b/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts index a7ce6b71ea..7f518e65f4 100644 --- a/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts +++ b/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts @@ -26,7 +26,7 @@ export class OtelSampleLambdaStack extends cdk.Stack { memorySize: 256, environment: { OTEL_EXPORTER_OTLP_ENDPOINT: 'http://localhost:4318/', - OTEL_TRACES_EXPORTER: 'logging', + OTEL_TRACES_EXPORTER: 'console', OTEL_METRICS_EXPORTER: 'logging', OTEL_LOG_LEVEL: 'INFO', OTEL_TRACES_SAMPLER: 'always_on', From a633dfac4547492c70205a6b149e7f5cf6a65bbb Mon Sep 17 00:00:00 2001 From: Maxime David Date: Sat, 31 May 2025 14:58:10 +0100 Subject: [PATCH 07/14] fix: logging -> console --- nodejs/sample-apps/aws-sdk/README.md | 4 ++-- nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/nodejs/sample-apps/aws-sdk/README.md b/nodejs/sample-apps/aws-sdk/README.md index 2631ce6553..702a753a5b 100644 --- a/nodejs/sample-apps/aws-sdk/README.md +++ b/nodejs/sample-apps/aws-sdk/README.md @@ -41,8 +41,8 @@ If you'd prefer to deploy manually: 5. **Set the following environment variables** ``` OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318/ - OTEL_TRACES_EXPORTER=console - OTEL_METRICS_EXPORTER=logging + OTEL_TRACES_EXPORTER=console + OTEL_METRICS_EXPORTER=console OTEL_LOG_LEVEL=INFO OTEL_TRACES_SAMPLER=always_on AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-handler diff --git a/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts b/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts index 7f518e65f4..3ea5e1cd03 100644 --- a/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts +++ b/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts @@ -27,7 +27,7 @@ export class OtelSampleLambdaStack extends cdk.Stack { environment: { OTEL_EXPORTER_OTLP_ENDPOINT: 'http://localhost:4318/', OTEL_TRACES_EXPORTER: 'console', - OTEL_METRICS_EXPORTER: 'logging', + OTEL_METRICS_EXPORTER: 'console', OTEL_LOG_LEVEL: 'INFO', OTEL_TRACES_SAMPLER: 'always_on', AWS_LAMBDA_EXEC_WRAPPER: '/opt/otel-handler', From 9606fad05bed7a7082851b5fe7b31b3de69486c5 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 10 Jun 2025 22:47:21 +0100 Subject: [PATCH 08/14] fix: put back terraform as a deployment option --- nodejs/sample-apps/aws-sdk/README.md | 27 +++++++++-- .../aws-sdk/deploy/wrapper/main.tf | 47 +++++++++++++++++++ .../aws-sdk/deploy/wrapper/outputs.tf | 7 +++ .../aws-sdk/deploy/wrapper/variables.tf | 29 ++++++++++++ .../aws-sdk/lib/otel-sample-lambda-stack.ts | 3 +- nodejs/sample-apps/aws-sdk/package.json | 2 +- 6 files changed, 110 insertions(+), 5 deletions(-) create mode 100644 nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf create mode 100644 nodejs/sample-apps/aws-sdk/deploy/wrapper/outputs.tf create mode 100644 nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf diff --git a/nodejs/sample-apps/aws-sdk/README.md b/nodejs/sample-apps/aws-sdk/README.md index 702a753a5b..e8c00be22a 100644 --- a/nodejs/sample-apps/aws-sdk/README.md +++ b/nodejs/sample-apps/aws-sdk/README.md @@ -22,6 +22,27 @@ Follow these steps to deploy the demo stack via CDK: --- +## ๐Ÿš€ Deploy Using Terraform + +Follow these steps to deploy the demo stack via Terraform: + +1. **Install dependencies** + `npm install` + +2. **Build the Lambda function artifact** + `npm run build` + +3. **Move to deploy/wrapper folder** + `cd deploy/wrapper` + +4. **Terraform init** + `terraform init` + +5. **Terraform apply** + `terraform apply` + +--- + ## ๐Ÿ› ๏ธ Manual Deployment via AWS Console If you'd prefer to deploy manually: @@ -43,9 +64,9 @@ If you'd prefer to deploy manually: OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318/ OTEL_TRACES_EXPORTER=console OTEL_METRICS_EXPORTER=console - OTEL_LOG_LEVEL=INFO - OTEL_TRACES_SAMPLER=always_on - AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-handler + OTEL_LOG_LEVEL=INFO + OTEL_TRACES_SAMPLER=always_on + AWS_LAMBDA_EXEC_WRAPPER=/opt/otel-handler ``` 6. **Attach the Node.js instrumentation layer** - Refer to the latest ARN in the OpenTelemetry Lambda releases, ie: diff --git a/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf b/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf new file mode 100644 index 0000000000..2279cc4e00 --- /dev/null +++ b/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf @@ -0,0 +1,47 @@ +locals { + collector_layer_arn = "arn:aws:lambda:${data.aws_region.current.name}:${var.account_id}:layer:opentelemetry-collector-arm64-0_15_0:1" + sdk_layer_arn = "arn:aws:lambda:${data.aws_region.current.name}:${var.account_id}:layer:opentelemetry-nodejs-0_14_0:1" +} + +data "aws_region" "current" {} + +module "hello-lambda-function" { + source = "terraform-aws-modules/lambda/aws" + version = "7.21.0" + + architectures = compact([var.architecture]) + function_name = var.name + handler = "index.handler" + runtime = var.runtime + + create_package = false + local_existing_package = "${path.module}/../../build/function.zip" + + memory_size = 384 + timeout = 20 + + layers = compact([ + local.collector_layer_arn, + local.sdk_layer_arn + ]) + + environment_variables = { + AWS_LAMBDA_EXEC_WRAPPER = "/opt/otel-handler" + OTEL_TRACES_EXPORTER = "console" + OTEL_METRICS_EXPORTER = "console" + OTEL_LOG_LEVEL = "DEBUG" + OTEL_EXPORTER_OTLP_ENDPOINT = "http://localhost:4318/" + OTEL_TRACES_SAMPLER = "always_on" + } + + tracing_mode = var.tracing_mode +} + +module "api-gateway" { + source = "../../../../../utils/terraform/api-gateway-proxy" + + name = var.name + function_name = module.hello-lambda-function.lambda_function_name + function_invoke_arn = module.hello-lambda-function.lambda_function_invoke_arn + enable_xray_tracing = var.tracing_mode == "Active" +} diff --git a/nodejs/sample-apps/aws-sdk/deploy/wrapper/outputs.tf b/nodejs/sample-apps/aws-sdk/deploy/wrapper/outputs.tf new file mode 100644 index 0000000000..5de8044c90 --- /dev/null +++ b/nodejs/sample-apps/aws-sdk/deploy/wrapper/outputs.tf @@ -0,0 +1,7 @@ +output "api-gateway-url" { + value = module.api-gateway.api_gateway_url +} + +output "function_role_name" { + value = module.hello-lambda-function.lambda_role_name +} diff --git a/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf b/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf new file mode 100644 index 0000000000..387dcd92db --- /dev/null +++ b/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf @@ -0,0 +1,29 @@ +variable "name" { + type = string + description = "Name of created function and API Gateway" + default = "hello-nodejs-awssdk" +} + +variable "account_id" { + type = string + description = "AWS account ID where the Lambda layers are published" + default = "184161586896" +} + +variable "tracing_mode" { + type = string + description = "Lambda function tracing mode" + default = "PassThrough" +} + +variable "architecture" { + type = string + description = "Lambda function architecture, valid values are arm64 or x86_64" + default = "arm64" +} + +variable "runtime" { + type = string + description = "NodeJS runtime version used for sample Lambda Function" + default = "nodejs22.x" +} diff --git a/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts b/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts index 3ea5e1cd03..c9cd91c41f 100644 --- a/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts +++ b/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts @@ -10,7 +10,7 @@ export class OtelSampleLambdaStack extends cdk.Stack { super(scope, id, props); const region = cdk.Stack.of(this).region; - const architecture = 'amd64'; // or 'arm64' for ARM architecture + const architecture = lambda.Architecture.ARM_64; const collectorLayerArn = `arn:aws:lambda:${region}:${AWS_ACCOUNT_ID}:layer:opentelemetry-collector-${architecture}-0_15_0:1`; // Update with the latest version if needed const nodejsInstrumentationLayerArn = `arn:aws:lambda:${region}:${AWS_ACCOUNT_ID}:layer:opentelemetry-nodejs-0_14_0:1`; // Update with the latest version if needed @@ -24,6 +24,7 @@ export class OtelSampleLambdaStack extends cdk.Stack { ], timeout: cdk.Duration.seconds(30), memorySize: 256, + architecture, environment: { OTEL_EXPORTER_OTLP_ENDPOINT: 'http://localhost:4318/', OTEL_TRACES_EXPORTER: 'console', diff --git a/nodejs/sample-apps/aws-sdk/package.json b/nodejs/sample-apps/aws-sdk/package.json index 74bb43f583..d97f515ea1 100644 --- a/nodejs/sample-apps/aws-sdk/package.json +++ b/nodejs/sample-apps/aws-sdk/package.json @@ -12,7 +12,7 @@ "lint:fix": "ESLINT_USE_FLAT_CONFIG=false eslint . --ext .ts --fix", "build": "npm run clean && npm run compile && npm run postcompile", "compile": "tsc -p .", - "postcompile": "copyfiles 'package*.json' build/src/ && npm install --production --ignore-scripts --prefix build/src/ && cd build/src && bestzip ../function.zip *" + "postcompile": "copyfiles 'package*.json' build/lambda/ && npm install --production --ignore-scripts --prefix build/lambda/ && cd build/lambda && bestzip ../function.zip *" }, "keywords": [ "opentelemetry", From 22c299a53cf3d8ce2118b2703a2bf8d4feda5d64 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 10 Jun 2025 23:31:14 +0100 Subject: [PATCH 09/14] fix: forgotten @aws-sdk/client-sts --- nodejs/sample-apps/aws-sdk/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/nodejs/sample-apps/aws-sdk/package.json b/nodejs/sample-apps/aws-sdk/package.json index bc8e91488c..5003f9dd26 100644 --- a/nodejs/sample-apps/aws-sdk/package.json +++ b/nodejs/sample-apps/aws-sdk/package.json @@ -35,6 +35,7 @@ "README.md" ], "devDependencies": { + "@aws-sdk/client-sts": "^3.826.0", "@types/aws-lambda": "8.10.149", "@types/node": "22.15.30", "bestzip": "2.2.1", From 26be62866dd14b9ae8fc878d0f3f950c92a0e4b4 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Tue, 10 Jun 2025 23:33:24 +0100 Subject: [PATCH 10/14] lint: terraform --- nodejs/package-lock.json | 4857 +++++++++++------ .../aws-sdk/deploy/wrapper/main.tf | 2 +- 2 files changed, 3089 insertions(+), 1770 deletions(-) diff --git a/nodejs/package-lock.json b/nodejs/package-lock.json index 098f505bdd..8cda082dfe 100644 --- a/nodejs/package-lock.json +++ b/nodejs/package-lock.json @@ -28,663 +28,797 @@ "typescript": "5.8.3" } }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "node_modules/@aws-crypto/sha256-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "@aws-sdk/util-locate-window": "^3.0.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=14.0.0" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" + "node": ">=14.0.0" } }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", - "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", + "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=14.17.0" + "node": ">=14.0.0" } }, - "node_modules/@emnapi/core": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.1.tgz", - "integrity": "sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==", + "node_modules/@aws-crypto/sha256-js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@emnapi/wasi-threads": "1.0.1", - "tslib": "^2.4.0" + "@aws-crypto/util": "^5.2.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=16.0.0" } }, - "node_modules/@emnapi/runtime": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", - "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", + "node_modules/@aws-crypto/supports-web-crypto": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "tslib": "^2.4.0" + "tslib": "^2.6.2" } }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", - "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", + "node_modules/@aws-crypto/util": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "tslib": "^2.4.0" + "@aws-sdk/types": "^3.222.0", + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", - "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", + "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "eslint-visitor-keys": "^3.4.3" + "tslib": "^2.6.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=14.0.0" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", + "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", + "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^2.2.0", + "tslib": "^2.6.2" + }, "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=14.0.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=14.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@aws-sdk/client-sso": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.826.0.tgz", + "integrity": "sha512-/FEKnUC3xPkLL4RuRydwzx+y4b55HIX6qLPbGnyIs+sNmCUyc/62ijtV1Ml+b++YzEF6jWNBsJOxeyZdgrJ3Ig==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.826.0", + "@aws-sdk/middleware-host-header": "3.821.0", + "@aws-sdk/middleware-logger": "3.821.0", + "@aws-sdk/middleware-recursion-detection": "3.821.0", + "@aws-sdk/middleware-user-agent": "3.826.0", + "@aws-sdk/region-config-resolver": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@aws-sdk/util-endpoints": "3.821.0", + "@aws-sdk/util-user-agent-browser": "3.821.0", + "@aws-sdk/util-user-agent-node": "3.826.0", + "@smithy/config-resolver": "^4.1.4", + "@smithy/core": "^3.5.3", + "@smithy/fetch-http-handler": "^5.0.4", + "@smithy/hash-node": "^4.0.4", + "@smithy/invalid-dependency": "^4.0.4", + "@smithy/middleware-content-length": "^4.0.4", + "@smithy/middleware-endpoint": "^4.1.11", + "@smithy/middleware-retry": "^4.1.12", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/node-http-handler": "^4.0.6", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.3", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-body-length-node": "^4.0.0", + "@smithy/util-defaults-mode-browser": "^4.0.19", + "@smithy/util-defaults-mode-node": "^4.0.19", + "@smithy/util-endpoints": "^3.0.6", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.5", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@aws-sdk/client-sts": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.826.0.tgz", + "integrity": "sha512-WqBxqsRyh0/OOjliVUGEUZ6lpZ3nNALOBSTN7U2ZjFaYSLlmBvLdNegwMNZfLxGxnyQWAATlHFkasOTHJM7qTQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "brace-expansion": "^1.1.7" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.826.0", + "@aws-sdk/credential-provider-node": "3.826.0", + "@aws-sdk/middleware-host-header": "3.821.0", + "@aws-sdk/middleware-logger": "3.821.0", + "@aws-sdk/middleware-recursion-detection": "3.821.0", + "@aws-sdk/middleware-user-agent": "3.826.0", + "@aws-sdk/region-config-resolver": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@aws-sdk/util-endpoints": "3.821.0", + "@aws-sdk/util-user-agent-browser": "3.821.0", + "@aws-sdk/util-user-agent-node": "3.826.0", + "@smithy/config-resolver": "^4.1.4", + "@smithy/core": "^3.5.3", + "@smithy/fetch-http-handler": "^5.0.4", + "@smithy/hash-node": "^4.0.4", + "@smithy/invalid-dependency": "^4.0.4", + "@smithy/middleware-content-length": "^4.0.4", + "@smithy/middleware-endpoint": "^4.1.11", + "@smithy/middleware-retry": "^4.1.12", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/node-http-handler": "^4.0.6", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.3", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-body-length-node": "^4.0.0", + "@smithy/util-defaults-mode-browser": "^4.0.19", + "@smithy/util-defaults-mode-node": "^4.0.19", + "@smithy/util-endpoints": "^3.0.6", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.5", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": "*" + "node": ">=18.0.0" } }, - "node_modules/@eslint/js": { - "version": "8.57.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", - "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "node_modules/@aws-sdk/core": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.826.0.tgz", + "integrity": "sha512-BGbQYzWj3ps+dblq33FY5tz/SsgJCcXX0zjQlSC07tYvU1jHTUvsefphyig+fY38xZ4wdKjbTop+KUmXUYrOXw==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.821.0", + "@aws-sdk/xml-builder": "3.821.0", + "@smithy/core": "^3.5.3", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/property-provider": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/signature-v4": "^5.1.2", + "@smithy/smithy-client": "^4.4.3", + "@smithy/types": "^4.3.1", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-utf8": "^4.0.0", + "fast-xml-parser": "4.4.1", + "tslib": "^2.6.2" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=18.0.0" } }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "dev": true - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", - "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", - "deprecated": "Use @eslint/config-array instead", + "node_modules/@aws-sdk/credential-provider-env": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.826.0.tgz", + "integrity": "sha512-DK3pQY8+iKK3MGDdC3uOZQ2psU01obaKlTYhEwNu4VWzgwQL4Vi3sWj4xSWGEK41vqZxiRLq6fOq7ysRI+qEZA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^2.0.3", - "debug": "^4.3.1", - "minimatch": "^3.0.5" + "@aws-sdk/core": "3.826.0", + "@aws-sdk/types": "3.821.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">=10.10.0" + "node": ">=18.0.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@aws-sdk/credential-provider-http": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.826.0.tgz", + "integrity": "sha512-N+IVZBh+yx/9GbMZTKO/gErBi/FYZQtcFRItoLbY+6WU+0cSWyZYfkoeOxHmQV3iX9k65oljERIWUmL9x6OSQg==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@aws-sdk/core": "3.826.0", + "@aws-sdk/types": "3.821.0", + "@smithy/fetch-http-handler": "^5.0.4", + "@smithy/node-http-handler": "^4.0.6", + "@smithy/property-provider": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.3", + "@smithy/types": "^4.3.1", + "@smithy/util-stream": "^4.2.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/@aws-sdk/credential-provider-ini": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.826.0.tgz", + "integrity": "sha512-g7n+qSklq/Lzjxe2Ke5QFNCgYn26a3ydZnbFIk8QqYin4pzG+qiunaqJjpV3c/EeHMlfK8bBc7MXAylKzGRccQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "brace-expansion": "^1.1.7" + "@aws-sdk/core": "3.826.0", + "@aws-sdk/credential-provider-env": "3.826.0", + "@aws-sdk/credential-provider-http": "3.826.0", + "@aws-sdk/credential-provider-process": "3.826.0", + "@aws-sdk/credential-provider-sso": "3.826.0", + "@aws-sdk/credential-provider-web-identity": "3.826.0", + "@aws-sdk/nested-clients": "3.826.0", + "@aws-sdk/types": "3.821.0", + "@smithy/credential-provider-imds": "^4.0.6", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "*" + "node": ">=18.0.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@aws-sdk/credential-provider-node": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.826.0.tgz", + "integrity": "sha512-UfIJXxHjmSxH6bea00HBPLkjNI2D04enQA/xNLZvB+4xtzt1/gYdCis1P4/73f5aGVVVB4/zQMobBbnjkrmbQw==", "dev": true, - "engines": { - "node": ">=12.22" + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.826.0", + "@aws-sdk/credential-provider-http": "3.826.0", + "@aws-sdk/credential-provider-ini": "3.826.0", + "@aws-sdk/credential-provider-process": "3.826.0", + "@aws-sdk/credential-provider-sso": "3.826.0", + "@aws-sdk/credential-provider-web-identity": "3.826.0", + "@aws-sdk/types": "3.821.0", + "@smithy/credential-provider-imds": "^4.0.6", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", - "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", - "deprecated": "Use @eslint/object-schema instead", - "dev": true - }, - "node_modules/@hutson/parse-repository-url": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", - "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", + "node_modules/@aws-sdk/credential-provider-process": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.826.0.tgz", + "integrity": "sha512-kURrc4amu3NLtw1yZw7EoLNEVhmOMRUTs+chaNcmS+ERm3yK0nKjaJzmKahmwlTQTSl3wJ8jjK7x962VPo+zWw==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.826.0", + "@aws-sdk/types": "3.821.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.9.0" + "node": ">=18.0.0" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@aws-sdk/credential-provider-sso": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.826.0.tgz", + "integrity": "sha512-F19J3zcfoom6OnQ0MyAtvduVKQXPgkz9i5ExSO01J2CzjbyMhCDA99qAjHYe+LwhW+W7P/jzBPd0+uOQ2Nhh9Q==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + "@aws-sdk/client-sso": "3.826.0", + "@aws-sdk/core": "3.826.0", + "@aws-sdk/token-providers": "3.826.0", + "@aws-sdk/types": "3.821.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" + "node": ">=18.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/@aws-sdk/credential-provider-web-identity": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.826.0.tgz", + "integrity": "sha512-o27GZ6Hy7qhuvMFVUL2eFEpBzf33Jaa/x3u3SHwU0nL7ko7jmbpeF0x4+wmagpI9X2IvVlUxIs0VaQ3YayPLEA==", "dev": true, - "engines": { - "node": ">=12" + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/core": "3.826.0", + "@aws-sdk/nested-clients": "3.826.0", + "@aws-sdk/types": "3.821.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/@aws-sdk/middleware-host-header": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.821.0.tgz", + "integrity": "sha512-xSMR+sopSeWGx5/4pAGhhfMvGBHioVBbqGvDs6pG64xfNwM5vq5s5v6D04e2i+uSTj4qGa71dLUs5I0UzAK3sw==", "dev": true, - "engines": { - "node": ">=12" + "license": "Apache-2.0", + "dependencies": { + "@aws-sdk/types": "3.821.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/@aws-sdk/middleware-logger": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.821.0.tgz", + "integrity": "sha512-0cvI0ipf2tGx7fXYEEN5fBeZDz2RnHyb9xftSgUsEq7NBxjV0yTZfLJw6Za5rjE6snC80dRN8+bTNR1tuG89zA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" + "@aws-sdk/types": "3.821.0", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@aws-sdk/middleware-recursion-detection": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.821.0.tgz", + "integrity": "sha512-efmaifbhBoqKG3bAoEfDdcM8hn1psF+4qa7ykWuYmfmah59JBeqHLfz5W9m9JoTwoKPkFcVLWZxnyZzAnVBOIg==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "ansi-regex": "^6.0.1" + "@aws-sdk/types": "3.821.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=18.0.0" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/@aws-sdk/middleware-user-agent": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.826.0.tgz", + "integrity": "sha512-j404+EcfBbtTlAhyObjXbdKwwDXO1pCxHvR5Fw8FXNvp/H330j6YnXgs3SJ6d3bZUwUJ/ztPx2S5AlBbLVLDFw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "@aws-sdk/core": "3.826.0", + "@aws-sdk/types": "3.821.0", + "@aws-sdk/util-endpoints": "3.821.0", + "@smithy/core": "^3.5.3", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=18.0.0" } }, - "node_modules/@isaacs/string-locale-compare": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", - "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==", - "dev": true - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/@aws-sdk/nested-clients": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.826.0.tgz", + "integrity": "sha512-p7olPq0uTtHqGuXI1GSc/gzKDvV55PMbLtnmupEDfnY9SoRu+QatbWQ6da9sI1lhOcNmRMgiNQBXFzaUFrG+SQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@sinclair/typebox": "^0.27.8" + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.826.0", + "@aws-sdk/middleware-host-header": "3.821.0", + "@aws-sdk/middleware-logger": "3.821.0", + "@aws-sdk/middleware-recursion-detection": "3.821.0", + "@aws-sdk/middleware-user-agent": "3.826.0", + "@aws-sdk/region-config-resolver": "3.821.0", + "@aws-sdk/types": "3.821.0", + "@aws-sdk/util-endpoints": "3.821.0", + "@aws-sdk/util-user-agent-browser": "3.821.0", + "@aws-sdk/util-user-agent-node": "3.826.0", + "@smithy/config-resolver": "^4.1.4", + "@smithy/core": "^3.5.3", + "@smithy/fetch-http-handler": "^5.0.4", + "@smithy/hash-node": "^4.0.4", + "@smithy/invalid-dependency": "^4.0.4", + "@smithy/middleware-content-length": "^4.0.4", + "@smithy/middleware-endpoint": "^4.1.11", + "@smithy/middleware-retry": "^4.1.12", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/node-http-handler": "^4.0.6", + "@smithy/protocol-http": "^5.1.2", + "@smithy/smithy-client": "^4.4.3", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-body-length-node": "^4.0.0", + "@smithy/util-defaults-mode-browser": "^4.0.19", + "@smithy/util-defaults-mode-node": "^4.0.19", + "@smithy/util-endpoints": "^3.0.6", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.5", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "node_modules/@aws-sdk/region-config-resolver": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.821.0.tgz", + "integrity": "sha512-t8og+lRCIIy5nlId0bScNpCkif8sc0LhmtaKsbm0ZPm3sCa/WhCbSZibjbZ28FNjVCV+p0D9RYZx0VDDbtWyjw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" + "@aws-sdk/types": "3.821.0", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "@smithy/util-config-provider": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "tslib": "^2.6.2" }, "engines": { - "node": ">=6.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "node_modules/@aws-sdk/token-providers": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.826.0.tgz", + "integrity": "sha512-iCOcVAqGPSHtQL8ZBXifZMEcHyUl9wJ8HvLZ5l1ohA/3ZNP+dqEPGi7jfhR5jZKs+xyp2jxByFqfil9PjI9c5A==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, + "@aws-sdk/core": "3.826.0", + "@aws-sdk/nested-clients": "3.826.0", + "@aws-sdk/types": "3.821.0", + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "node_modules/@aws-sdk/types": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.821.0.tgz", + "integrity": "sha512-Znroqdai1a90TlxGaJ+FK1lwC0fHpo97Xjsp5UKGR5JODYm7f9+/fF17ebO1KdoBr/Rm0UIFiF5VmI8ts9F1eA==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=6.0.0" + "node": ">=18.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "node_modules/@aws-sdk/util-endpoints": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.821.0.tgz", + "integrity": "sha512-Uknt/zUZnLE76zaAAPEayOeF5/4IZ2puTFXvcSCWHsi9m3tqbb9UozlnlVqvCZLCRWfQryZQoG2W4XSS3qgk5A==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" + "@aws-sdk/types": "3.821.0", + "@smithy/types": "^4.3.1", + "@smithy/util-endpoints": "^3.0.6", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "node_modules/@aws-sdk/util-locate-window": { + "version": "3.804.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.804.0.tgz", + "integrity": "sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "node_modules/@aws-sdk/util-user-agent-browser": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.821.0.tgz", + "integrity": "sha512-irWZHyM0Jr1xhC+38OuZ7JB6OXMLPZlj48thElpsO1ZSLRkLZx5+I7VV6k3sp2yZ7BYbKz/G2ojSv4wdm7XTLw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@aws-sdk/types": "3.821.0", + "@smithy/types": "^4.3.1", + "bowser": "^2.11.0", + "tslib": "^2.6.2" } }, - "node_modules/@lerna/create": { - "version": "8.1.9", - "resolved": "https://registry.npmjs.org/@lerna/create/-/create-8.1.9.tgz", - "integrity": "sha512-DPnl5lPX4v49eVxEbJnAizrpMdMTBz1qykZrAbBul9rfgk531v8oAt+Pm6O/rpAleRombNM7FJb5rYGzBJatOQ==", + "node_modules/@aws-sdk/util-user-agent-node": { + "version": "3.826.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.826.0.tgz", + "integrity": "sha512-wHw6bZQWIMcFF/8r03aY9Itp6JLBYY4absGGhCDK1dc3tPEfi8NVSdb05a/Oz+g4TVaDdxLo0OQ/OKMS1DFRHQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@npmcli/arborist": "7.5.4", - "@npmcli/package-json": "5.2.0", - "@npmcli/run-script": "8.1.0", - "@nx/devkit": ">=17.1.2 < 21", - "@octokit/plugin-enterprise-rest": "6.0.1", - "@octokit/rest": "19.0.11", - "aproba": "2.0.0", - "byte-size": "8.1.1", - "chalk": "4.1.0", - "clone-deep": "4.0.1", - "cmd-shim": "6.0.3", - "color-support": "1.1.3", - "columnify": "1.6.0", - "console-control-strings": "^1.1.0", - "conventional-changelog-core": "5.0.1", - "conventional-recommended-bump": "7.0.1", - "cosmiconfig": "9.0.0", - "dedent": "1.5.3", - "execa": "5.0.0", - "fs-extra": "^11.2.0", - "get-stream": "6.0.0", - "git-url-parse": "14.0.0", - "glob-parent": "6.0.2", - "globby": "11.1.0", - "graceful-fs": "4.2.11", - "has-unicode": "2.0.1", - "ini": "^1.3.8", - "init-package-json": "6.0.3", - "inquirer": "^8.2.4", - "is-ci": "3.0.1", - "is-stream": "2.0.0", - "js-yaml": "4.1.0", - "libnpmpublish": "9.0.9", - "load-json-file": "6.2.0", - "lodash": "^4.17.21", - "make-dir": "4.0.0", - "minimatch": "3.0.5", - "multimatch": "5.0.0", - "node-fetch": "2.6.7", - "npm-package-arg": "11.0.2", - "npm-packlist": "8.0.2", - "npm-registry-fetch": "^17.1.0", - "nx": ">=17.1.2 < 21", - "p-map": "4.0.0", - "p-map-series": "2.1.0", - "p-queue": "6.6.2", - "p-reduce": "^2.1.0", - "pacote": "^18.0.6", - "pify": "5.0.0", - "read-cmd-shim": "4.0.0", - "resolve-from": "5.0.0", - "rimraf": "^4.4.1", - "semver": "^7.3.4", - "set-blocking": "^2.0.0", - "signal-exit": "3.0.7", - "slash": "^3.0.0", - "ssri": "^10.0.6", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "strong-log-transformer": "2.1.0", - "tar": "6.2.1", - "temp-dir": "1.0.0", - "upath": "2.0.1", - "uuid": "^10.0.0", - "validate-npm-package-license": "^3.0.4", - "validate-npm-package-name": "5.0.1", - "wide-align": "1.1.5", - "write-file-atomic": "5.0.1", - "write-pkg": "4.0.0", - "yargs": "17.7.2", - "yargs-parser": "21.1.1" + "@aws-sdk/middleware-user-agent": "3.826.0", + "@aws-sdk/types": "3.821.0", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { "node": ">=18.0.0" + }, + "peerDependencies": { + "aws-crt": ">=1.0.0" + }, + "peerDependenciesMeta": { + "aws-crt": { + "optional": true + } } }, - "node_modules/@lerna/create/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/@aws-sdk/xml-builder": { + "version": "3.821.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.821.0.tgz", + "integrity": "sha512-DIIotRnefVL6DiaHtO6/21DhJ4JZnnIwdNbpwiAhdt/AVbttcE4yw925gsjur0OGv5BTYXQXU3YnANBYnZjuQA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@lerna/create/node_modules/chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=6.9.0" } }, - "node_modules/@lerna/create/node_modules/execa": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", - "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, "engines": { - "node": ">=10" + "node": ">=6.9.0" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "engines": { + "node": ">=12" } }, - "node_modules/@lerna/create/node_modules/get-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", - "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", + "node_modules/@discoveryjs/json-ext": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", + "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", "dev": true, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=14.17.0" } }, - "node_modules/@lerna/create/node_modules/glob": { - "version": "9.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", - "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", + "node_modules/@emnapi/core": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.3.1.tgz", + "integrity": "sha512-pVGjBIt1Y6gg3EJN8jTcfpP/+uuRksIo055oE/OBkDNcjZqVbfkWCksG1Jp4yZnj3iKWyWX8fdG/j6UDYPbFog==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "minimatch": "^8.0.2", - "minipass": "^4.2.4", - "path-scurry": "^1.6.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "@emnapi/wasi-threads": "1.0.1", + "tslib": "^2.4.0" } }, - "node_modules/@lerna/create/node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/@emnapi/runtime": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.3.1.tgz", + "integrity": "sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "tslib": "^2.4.0" } }, - "node_modules/@lerna/create/node_modules/glob/node_modules/minimatch": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", - "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz", + "integrity": "sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "tslib": "^2.4.0" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", + "integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@lerna/create/node_modules/inquirer": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", - "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", + "node_modules/@eslint-community/regexpp": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", + "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.5.5", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6", - "wrap-ansi": "^6.0.1" - }, "engines": { - "node": ">=12.0.0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@lerna/create/node_modules/inquirer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@lerna/create/node_modules/is-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", - "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@lerna/create/node_modules/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -693,1066 +827,1996 @@ "node": "*" } }, - "node_modules/@lerna/create/node_modules/minipass": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", - "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", "dev": true, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@lerna/create/node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", + "minimatch": "^3.0.5" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10.10.0" } }, - "node_modules/@lerna/create/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "engines": { - "node": ">=8" + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@lerna/create/node_modules/rimraf": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", - "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "glob": "^9.2.0" - }, - "bin": { - "rimraf": "dist/cjs/src/bin.js" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, - "node_modules/@lerna/create/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "dependencies": { - "tslib": "^2.1.0" + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@lerna/create/node_modules/uuid": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", - "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true + }, + "node_modules/@hutson/parse-repository-url": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz", + "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==", "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@lerna/create/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" } }, - "node_modules/@lerna/create/node_modules/write-file-atomic": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", - "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^4.0.1" - }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@lerna/create/node_modules/write-file-atomic/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, "engines": { - "node": ">=14" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@lerna/create/node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", - "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "@emnapi/core": "^1.1.0", - "@emnapi/runtime": "^1.1.0", - "@tybys/wasm-util": "^0.9.0" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">= 8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@isaacs/string-locale-compare": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz", + "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==", + "dev": true + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, "engines": { - "node": ">= 8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "dev": true, "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">= 8" + "node": ">=6.0.0" } }, - "node_modules/@npmcli/agent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", - "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", + "node_modules/@jridgewell/gen-mapping/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@npmcli/agent/node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "dev": true, "engines": { - "node": ">= 14" + "node": ">=6.0.0" } }, - "node_modules/@npmcli/agent/node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, "engines": { - "node": ">= 14" + "node": ">=6.0.0" } }, - "node_modules/@npmcli/agent/node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "dev": true, "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, - "node_modules/@npmcli/agent/node_modules/socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "dev": true, "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "engines": { - "node": ">= 14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@npmcli/arborist": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.5.4.tgz", - "integrity": "sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dev": true, "dependencies": { - "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^3.1.1", - "@npmcli/installed-package-contents": "^2.1.0", - "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^7.1.1", - "@npmcli/name-from-folder": "^2.0.0", - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.1.0", - "@npmcli/query": "^3.1.0", - "@npmcli/redact": "^2.0.0", - "@npmcli/run-script": "^8.1.0", - "bin-links": "^4.0.4", - "cacache": "^18.0.3", - "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^7.0.2", - "json-parse-even-better-errors": "^3.0.2", - "json-stringify-nice": "^1.1.4", - "lru-cache": "^10.2.2", - "minimatch": "^9.0.4", - "nopt": "^7.2.1", - "npm-install-checks": "^6.2.0", - "npm-package-arg": "^11.0.2", - "npm-pick-manifest": "^9.0.1", - "npm-registry-fetch": "^17.0.1", + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@lerna/create": { + "version": "8.1.9", + "resolved": "https://registry.npmjs.org/@lerna/create/-/create-8.1.9.tgz", + "integrity": "sha512-DPnl5lPX4v49eVxEbJnAizrpMdMTBz1qykZrAbBul9rfgk531v8oAt+Pm6O/rpAleRombNM7FJb5rYGzBJatOQ==", + "dev": true, + "dependencies": { + "@npmcli/arborist": "7.5.4", + "@npmcli/package-json": "5.2.0", + "@npmcli/run-script": "8.1.0", + "@nx/devkit": ">=17.1.2 < 21", + "@octokit/plugin-enterprise-rest": "6.0.1", + "@octokit/rest": "19.0.11", + "aproba": "2.0.0", + "byte-size": "8.1.1", + "chalk": "4.1.0", + "clone-deep": "4.0.1", + "cmd-shim": "6.0.3", + "color-support": "1.1.3", + "columnify": "1.6.0", + "console-control-strings": "^1.1.0", + "conventional-changelog-core": "5.0.1", + "conventional-recommended-bump": "7.0.1", + "cosmiconfig": "9.0.0", + "dedent": "1.5.3", + "execa": "5.0.0", + "fs-extra": "^11.2.0", + "get-stream": "6.0.0", + "git-url-parse": "14.0.0", + "glob-parent": "6.0.2", + "globby": "11.1.0", + "graceful-fs": "4.2.11", + "has-unicode": "2.0.1", + "ini": "^1.3.8", + "init-package-json": "6.0.3", + "inquirer": "^8.2.4", + "is-ci": "3.0.1", + "is-stream": "2.0.0", + "js-yaml": "4.1.0", + "libnpmpublish": "9.0.9", + "load-json-file": "6.2.0", + "lodash": "^4.17.21", + "make-dir": "4.0.0", + "minimatch": "3.0.5", + "multimatch": "5.0.0", + "node-fetch": "2.6.7", + "npm-package-arg": "11.0.2", + "npm-packlist": "8.0.2", + "npm-registry-fetch": "^17.1.0", + "nx": ">=17.1.2 < 21", + "p-map": "4.0.0", + "p-map-series": "2.1.0", + "p-queue": "6.6.2", + "p-reduce": "^2.1.0", "pacote": "^18.0.6", - "parse-conflict-json": "^3.0.0", - "proc-log": "^4.2.0", - "proggy": "^2.0.0", - "promise-all-reject-late": "^1.0.0", - "promise-call-limit": "^3.0.1", - "read-package-json-fast": "^3.0.2", - "semver": "^7.3.7", + "pify": "5.0.0", + "read-cmd-shim": "4.0.0", + "resolve-from": "5.0.0", + "rimraf": "^4.4.1", + "semver": "^7.3.4", + "set-blocking": "^2.0.0", + "signal-exit": "3.0.7", + "slash": "^3.0.0", "ssri": "^10.0.6", - "treeverse": "^3.0.0", - "walk-up-path": "^3.0.1" - }, - "bin": { - "arborist": "bin/index.js" + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "strong-log-transformer": "2.1.0", + "tar": "6.2.1", + "temp-dir": "1.0.0", + "upath": "2.0.1", + "uuid": "^10.0.0", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "5.0.1", + "wide-align": "1.1.5", + "write-file-atomic": "5.0.1", + "write-pkg": "4.0.0", + "yargs": "17.7.2", + "yargs-parser": "21.1.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@npmcli/fs": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", - "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", + "node_modules/@lerna/create/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/@npmcli/git": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz", - "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", + "node_modules/@lerna/create/node_modules/chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", "dev": true, "dependencies": { - "@npmcli/promise-spawn": "^7.0.0", - "ini": "^4.1.3", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^9.0.0", - "proc-log": "^4.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@npmcli/git/node_modules/ini": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", - "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "node_modules/@lerna/create/node_modules/execa": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz", + "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==", "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/@npmcli/git/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "node_modules/@lerna/create/node_modules/get-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz", + "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==", "dev": true, "engines": { - "node": ">=16" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@npmcli/git/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "node_modules/@lerna/create/node_modules/glob": { + "version": "9.3.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-9.3.5.tgz", + "integrity": "sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==", "dev": true, "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" + "fs.realpath": "^1.0.0", + "minimatch": "^8.0.2", + "minipass": "^4.2.4", + "path-scurry": "^1.6.1" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/installed-package-contents": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", - "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", + "node_modules/@lerna/create/node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "bin": { - "installed-package-contents": "bin/index.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "balanced-match": "^1.0.0" } }, - "node_modules/@npmcli/map-workspaces": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz", - "integrity": "sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==", + "node_modules/@lerna/create/node_modules/glob/node_modules/minimatch": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-8.0.4.tgz", + "integrity": "sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==", "dev": true, "dependencies": { - "@npmcli/name-from-folder": "^2.0.0", - "glob": "^10.2.2", - "minimatch": "^9.0.0", - "read-package-json-fast": "^3.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/map-workspaces/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "node_modules/@lerna/create/node_modules/inquirer": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.6.tgz", + "integrity": "sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==", "dev": true, "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^6.0.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=12.0.0" } }, - "node_modules/@npmcli/metavuln-calculator": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-7.1.1.tgz", - "integrity": "sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==", + "node_modules/@lerna/create/node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "cacache": "^18.0.0", - "json-parse-even-better-errors": "^3.0.0", - "pacote": "^18.0.0", - "proc-log": "^4.1.0", - "semver": "^7.3.5" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", + "node_modules/@lerna/create/node_modules/is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/@npmcli/move-file/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", + "node_modules/@lerna/create/node_modules/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "brace-expansion": "^1.1.7" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": "*" } }, - "node_modules/@npmcli/name-from-folder": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz", - "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==", + "node_modules/@lerna/create/node_modules/minipass": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.8.tgz", + "integrity": "sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==", "dev": true, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "node_modules/@lerna/create/node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@npmcli/package-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.0.tgz", - "integrity": "sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==", + "node_modules/@lerna/create/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "dependencies": { - "@npmcli/git": "^5.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^7.0.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "proc-log": "^4.0.0", - "semver": "^7.5.3" - }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "node_modules/@lerna/create/node_modules/rimraf": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-4.4.1.tgz", + "integrity": "sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==", "dev": true, "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "glob": "^9.2.0" }, "bin": { - "glob": "dist/esm/bin.mjs" + "rimraf": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=14" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/promise-spawn": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", - "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==", + "node_modules/@lerna/create/node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dev": true, "dependencies": { - "which": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" + "tslib": "^2.1.0" } }, - "node_modules/@npmcli/promise-spawn/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "node_modules/@lerna/create/node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", "dev": true, - "engines": { - "node": ">=16" + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" } }, - "node_modules/@npmcli/promise-spawn/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "node_modules/@lerna/create/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/@npmcli/query": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.1.0.tgz", - "integrity": "sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==", + "node_modules/@lerna/create/node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.10" + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@npmcli/redact": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", - "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", + "node_modules/@lerna/create/node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@npmcli/run-script": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", - "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", + "node_modules/@lerna/create/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.0", - "node-gyp": "^10.0.0", - "proc-log": "^4.0.0", - "which": "^4.0.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=12" } }, - "node_modules/@npmcli/run-script/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "node_modules/@napi-rs/wasm-runtime": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz", + "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==", "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dependencies": { + "@emnapi/core": "^1.1.0", + "@emnapi/runtime": "^1.1.0", + "@tybys/wasm-util": "^0.9.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": ">= 8" } }, - "node_modules/@nx/devkit": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-20.4.0.tgz", - "integrity": "sha512-qog9oGbuz7DDoXH5k+19tTI3WtaR1p9G5NobiDPfcWmsr1BTK2WH2V2/vVYFAfAcM/DEFgK3ITC5L3PSaJvMmw==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "ejs": "^3.1.7", - "enquirer": "~2.3.6", - "ignore": "^5.0.4", - "minimatch": "9.0.3", - "semver": "^7.5.3", - "tmp": "~0.2.1", - "tslib": "^2.3.0", - "yargs-parser": "21.1.1" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, - "peerDependencies": { - "nx": ">= 19 <= 21" + "engines": { + "node": ">= 8" } }, - "node_modules/@nx/devkit/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "node_modules/@npmcli/agent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.2.tgz", + "integrity": "sha512-OrcNPXdpSl9UX7qPVRWbmWMCSXrcDa2M9DvrbOTj7ao1S4PlqVFYv9/yLKMkrJKZ/V5A/kDBC690or307i26Og==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@nx/devkit/node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "node_modules/@npmcli/agent/node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", "dev": true, "engines": { - "node": ">=14.14" + "node": ">= 14" } }, - "node_modules/@nx/nx-darwin-arm64": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.4.0.tgz", - "integrity": "sha512-w07StYKNUIiH1koqBZY9Ew57d0wACyNdKpX96og4oiuSFYTTb+QhL4+vX2GOIYyEDfX7A97mA4lXcYUvN6R4zQ==", - "cpu": [ - "arm64" - ], + "node_modules/@npmcli/agent/node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, "engines": { - "node": ">= 10" + "node": ">= 14" } }, - "node_modules/@nx/nx-darwin-x64": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.4.0.tgz", - "integrity": "sha512-HS9SfQs9BKZm3mXnOggmDrsVPTdJOr4RYa0k8zhXd0GKOdAOmgvWYsCAFxHB1BV4FGq7wfc4YskXRYHra4Ornw==", - "cpu": [ - "x64" - ], + "node_modules/@npmcli/agent/node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, - "optional": true, - "os": [ - "darwin" - ], + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, "engines": { - "node": ">= 10" + "node": ">= 14" } }, - "node_modules/@nx/nx-freebsd-x64": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.4.0.tgz", - "integrity": "sha512-5Ex4dV9YKbmO+4ZNI7qXOPvVD7A0t/guPUMcye/Rk/vJVx3Ixr/PZlc2SpBDXDLXye4quiTqICV92VrOrVBj8Q==", - "cpu": [ - "x64" - ], + "node_modules/@npmcli/agent/node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", "dev": true, - "optional": true, - "os": [ - "freebsd" - ], + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, "engines": { - "node": ">= 10" + "node": ">= 14" } }, - "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.4.0.tgz", - "integrity": "sha512-mWu0QPZ4WQS39NuFOhbKy6Dwiytgn4SCzadZs/raXs/Sl9A1JtXIojMe5vy49rZocjhbpDuXCuKzHeFOi24TpA==", - "cpu": [ - "arm" - ], + "node_modules/@npmcli/arborist": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.5.4.tgz", + "integrity": "sha512-nWtIc6QwwoUORCRNzKx4ypHqCk3drI+5aeYdMTQQiRCcn4lOOgfQh7WyZobGYTxXPSq1VwV53lkpN/BRlRk08g==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@isaacs/string-locale-compare": "^1.1.0", + "@npmcli/fs": "^3.1.1", + "@npmcli/installed-package-contents": "^2.1.0", + "@npmcli/map-workspaces": "^3.0.2", + "@npmcli/metavuln-calculator": "^7.1.1", + "@npmcli/name-from-folder": "^2.0.0", + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.1.0", + "@npmcli/query": "^3.1.0", + "@npmcli/redact": "^2.0.0", + "@npmcli/run-script": "^8.1.0", + "bin-links": "^4.0.4", + "cacache": "^18.0.3", + "common-ancestor-path": "^1.0.1", + "hosted-git-info": "^7.0.2", + "json-parse-even-better-errors": "^3.0.2", + "json-stringify-nice": "^1.1.4", + "lru-cache": "^10.2.2", + "minimatch": "^9.0.4", + "nopt": "^7.2.1", + "npm-install-checks": "^6.2.0", + "npm-package-arg": "^11.0.2", + "npm-pick-manifest": "^9.0.1", + "npm-registry-fetch": "^17.0.1", + "pacote": "^18.0.6", + "parse-conflict-json": "^3.0.0", + "proc-log": "^4.2.0", + "proggy": "^2.0.0", + "promise-all-reject-late": "^1.0.0", + "promise-call-limit": "^3.0.1", + "read-package-json-fast": "^3.0.2", + "semver": "^7.3.7", + "ssri": "^10.0.6", + "treeverse": "^3.0.0", + "walk-up-path": "^3.0.1" + }, + "bin": { + "arborist": "bin/index.js" + }, "engines": { - "node": ">= 10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.4.0.tgz", - "integrity": "sha512-5ZOMKtEPoAQfSXgWYgQvMt+8JreWfnHC1rHBhQznb/66DyimKlPFv5TprzKCTqg2ElrYMe5NT5usU5fO94NDnA==", - "cpu": [ - "arm64" - ], + "node_modules/@npmcli/fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.1.tgz", + "integrity": "sha512-q9CRWjpHCMIh5sVyefoD1cA7PkvILqCZsnSOEUUivORLjxCO/Irmue2DprETiNgEqktDBZaM1Bi+jrarx1XdCg==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "semver": "^7.3.5" + }, "engines": { - "node": ">= 10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@nx/nx-linux-arm64-musl": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.4.0.tgz", - "integrity": "sha512-RBF3KoBYEs0q9YZ1yBidKhcszI8x4znAfcZI+RQ1zWa/kT/GlnQKamdxinri4ov8/bEo9E4YTx4ITLg4RuVHLg==", - "cpu": [ - "arm64" - ], + "node_modules/@npmcli/git": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.8.tgz", + "integrity": "sha512-liASfw5cqhjNW9UFd+ruwwdEf/lbOAQjLL2XY2dFW/bkJheXDYZgOyul/4gVvEV4BWkTXjYGmDqMw9uegdbJNQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@npmcli/promise-spawn": "^7.0.0", + "ini": "^4.1.3", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^9.0.0", + "proc-log": "^4.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^4.0.0" + }, "engines": { - "node": ">= 10" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@nx/nx-linux-x64-gnu": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.4.0.tgz", - "integrity": "sha512-RSYAfAmulCatDIKXXbWDhLU/fm03YrAMTD5FtS5IeEvMGEHkQ3scmXEXTxkOF4q5LuqSrutjdb3s8wHkbFRVqw==", - "cpu": [ - "x64" - ], + "node_modules/@npmcli/git/node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@nx/nx-linux-x64-musl": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.4.0.tgz", - "integrity": "sha512-0eup79jxSzHoYEGl6OU3wb02wWQbEt4ZfOA58fiZ7c5mvCpKXQV9kg7Tu38zIA8nkcEXGb8JaR1R9TgMiAIZsw==", - "cpu": [ - "x64" - ], + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, - "optional": true, - "os": [ - "linux" - ], "engines": { - "node": ">= 10" + "node": ">=16" } }, - "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.4.0.tgz", - "integrity": "sha512-EeHJL9YPVqi3ad9hXVCr1xDM2/PNgZIJvOlJ/ND6r9dVZ+UWw2Kk7G2r13zz4j4QAhrhQJ+kzrvXYkQlhiSH6g==", - "cpu": [ - "arm64" - ], + "node_modules/@npmcli/git/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, "engines": { - "node": ">= 10" + "node": "^16.13.0 || >=18.0.0" } }, - "node_modules/@nx/nx-win32-x64-msvc": { - "version": "20.4.0", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.4.0.tgz", - "integrity": "sha512-IUeCeLdehVocLML6Wub7OZVM96Sk97AshiWmeNnozI6/OYdS34hQ2+thH7ETUZas9nkC2nNkJ5jLwuAHm+5/vw==", - "cpu": [ - "x64" - ], + "node_modules/@npmcli/installed-package-contents": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.1.0.tgz", + "integrity": "sha512-c8UuGLeZpm69BryRykLuKRyKFZYJsZSCT4aVY5ds4omyZqJ172ApzgfKJ5eV/r3HgLdUYgFVe54KSFVjKoe27w==", "dev": true, - "optional": true, - "os": [ - "win32" - ], + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, "engines": { - "node": ">= 10" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@octokit/auth-token": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", - "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==", + "node_modules/@npmcli/map-workspaces": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-3.0.6.tgz", + "integrity": "sha512-tkYs0OYnzQm6iIRdfy+LcLBjcKuQCeE5YLb8KnrIlutJfheNaPvPpgoFEyEFgbjzl5PLZ3IA/BWAwRU0eHuQDA==", + "dev": true, + "dependencies": { + "@npmcli/name-from-folder": "^2.0.0", + "glob": "^10.2.2", + "minimatch": "^9.0.0", + "read-package-json-fast": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/map-workspaces/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/metavuln-calculator": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-7.1.1.tgz", + "integrity": "sha512-Nkxf96V0lAx3HCpVda7Vw4P23RILgdi/5K1fmj2tZkWIYLpXAN8k2UVVOsW16TsS5F8Ws2I7Cm+PU1/rsVF47g==", + "dev": true, + "dependencies": { + "cacache": "^18.0.0", + "json-parse-even-better-errors": "^3.0.0", + "pacote": "^18.0.0", + "proc-log": "^4.1.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@npmcli/move-file/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/name-from-folder": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz", + "integrity": "sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.2.0.tgz", + "integrity": "sha512-qe/kiqqkW0AGtvBjL8TJKZk/eBBSpnJkUWvHdQ9jM2lKHXRYYJuyNpJPlJw3c8QjC2ow6NZYiLExhUaeJelbxQ==", + "dev": true, + "dependencies": { + "@npmcli/git": "^5.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^7.0.0", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^6.0.0", + "proc-log": "^4.0.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.2.tgz", + "integrity": "sha512-xhfYPXoV5Dy4UkY0D+v2KkwvnDfiA/8Mt3sWCGI/hM03NsYIH8ZaG6QzS9x7pje5vHZBZJ2v6VRFVTWACnqcmQ==", + "dev": true, + "dependencies": { + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/query": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-3.1.0.tgz", + "integrity": "sha512-C/iR0tk7KSKGldibYIB9x8GtO/0Bd0I2mhOaDb8ucQL/bQVTmGoeREaFj64Z5+iCBRf3dQfed0CjJL7I8iTkiQ==", "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-2.0.1.tgz", + "integrity": "sha512-YgsR5jCQZhVmTJvjduTOIHph0L73pK8xwMVaDY0PatySqVM9AZj93jpoXYSJqfHFxFkN9dmqTw6OiqExsS3LPw==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-8.1.0.tgz", + "integrity": "sha512-y7efHHwghQfk28G2z3tlZ67pLG0XdfYbcVG26r7YIXALRsrVQcTq4/tdenSmdOrEsNahIYA/eh8aEVROWGFUDg==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/package-json": "^5.0.0", + "@npmcli/promise-spawn": "^7.0.0", + "node-gyp": "^10.0.0", + "proc-log": "^4.0.0", + "which": "^4.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "dev": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" + } + }, + "node_modules/@nx/devkit": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-20.4.0.tgz", + "integrity": "sha512-qog9oGbuz7DDoXH5k+19tTI3WtaR1p9G5NobiDPfcWmsr1BTK2WH2V2/vVYFAfAcM/DEFgK3ITC5L3PSaJvMmw==", + "dev": true, + "dependencies": { + "ejs": "^3.1.7", + "enquirer": "~2.3.6", + "ignore": "^5.0.4", + "minimatch": "9.0.3", + "semver": "^7.5.3", + "tmp": "~0.2.1", + "tslib": "^2.3.0", + "yargs-parser": "21.1.1" + }, + "peerDependencies": { + "nx": ">= 19 <= 21" + } + }, + "node_modules/@nx/devkit/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/devkit/node_modules/tmp": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", + "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@nx/nx-darwin-arm64": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-20.4.0.tgz", + "integrity": "sha512-w07StYKNUIiH1koqBZY9Ew57d0wACyNdKpX96og4oiuSFYTTb+QhL4+vX2GOIYyEDfX7A97mA4lXcYUvN6R4zQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-darwin-x64": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-20.4.0.tgz", + "integrity": "sha512-HS9SfQs9BKZm3mXnOggmDrsVPTdJOr4RYa0k8zhXd0GKOdAOmgvWYsCAFxHB1BV4FGq7wfc4YskXRYHra4Ornw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-freebsd-x64": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-20.4.0.tgz", + "integrity": "sha512-5Ex4dV9YKbmO+4ZNI7qXOPvVD7A0t/guPUMcye/Rk/vJVx3Ixr/PZlc2SpBDXDLXye4quiTqICV92VrOrVBj8Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-20.4.0.tgz", + "integrity": "sha512-mWu0QPZ4WQS39NuFOhbKy6Dwiytgn4SCzadZs/raXs/Sl9A1JtXIojMe5vy49rZocjhbpDuXCuKzHeFOi24TpA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-gnu": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-20.4.0.tgz", + "integrity": "sha512-5ZOMKtEPoAQfSXgWYgQvMt+8JreWfnHC1rHBhQznb/66DyimKlPFv5TprzKCTqg2ElrYMe5NT5usU5fO94NDnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-musl": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-20.4.0.tgz", + "integrity": "sha512-RBF3KoBYEs0q9YZ1yBidKhcszI8x4znAfcZI+RQ1zWa/kT/GlnQKamdxinri4ov8/bEo9E4YTx4ITLg4RuVHLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-gnu": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.4.0.tgz", + "integrity": "sha512-RSYAfAmulCatDIKXXbWDhLU/fm03YrAMTD5FtS5IeEvMGEHkQ3scmXEXTxkOF4q5LuqSrutjdb3s8wHkbFRVqw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-musl": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-20.4.0.tgz", + "integrity": "sha512-0eup79jxSzHoYEGl6OU3wb02wWQbEt4ZfOA58fiZ7c5mvCpKXQV9kg7Tu38zIA8nkcEXGb8JaR1R9TgMiAIZsw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-arm64-msvc": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-20.4.0.tgz", + "integrity": "sha512-EeHJL9YPVqi3ad9hXVCr1xDM2/PNgZIJvOlJ/ND6r9dVZ+UWw2Kk7G2r13zz4j4QAhrhQJ+kzrvXYkQlhiSH6g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-x64-msvc": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-20.4.0.tgz", + "integrity": "sha512-IUeCeLdehVocLML6Wub7OZVM96Sk97AshiWmeNnozI6/OYdS34hQ2+thH7ETUZas9nkC2nNkJ5jLwuAHm+5/vw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@octokit/auth-token": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.4.tgz", + "integrity": "sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/core": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz", + "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==", + "dev": true, + "dependencies": { + "@octokit/auth-token": "^3.0.0", + "@octokit/graphql": "^5.0.0", + "@octokit/request": "^6.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/endpoint": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", + "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", + "dev": true, + "dependencies": { + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/graphql": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", + "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", + "dev": true, + "dependencies": { + "@octokit/request": "^6.0.0", + "@octokit/types": "^9.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "18.1.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz", + "integrity": "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==", + "dev": true + }, + "node_modules/@octokit/plugin-enterprise-rest": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", + "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", + "dev": true + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz", + "integrity": "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==", + "dev": true, + "dependencies": { + "@octokit/tsconfig": "^1.0.2", + "@octokit/types": "^9.2.3" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=4" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", + "dev": true, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz", + "integrity": "sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==", + "dev": true, + "dependencies": { + "@octokit/types": "^10.0.0" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "@octokit/core": ">=3" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-10.0.0.tgz", + "integrity": "sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "node_modules/@octokit/request": { + "version": "6.2.8", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz", + "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==", + "dev": true, + "dependencies": { + "@octokit/endpoint": "^7.0.0", + "@octokit/request-error": "^3.0.0", + "@octokit/types": "^9.0.0", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/request-error": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", + "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", + "dev": true, + "dependencies": { + "@octokit/types": "^9.0.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/rest": { + "version": "19.0.11", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.11.tgz", + "integrity": "sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==", + "dev": true, + "dependencies": { + "@octokit/core": "^4.2.1", + "@octokit/plugin-paginate-rest": "^6.1.2", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^7.1.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/@octokit/tsconfig": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz", + "integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==", + "dev": true + }, + "node_modules/@octokit/types": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", + "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^18.0.0" + } + }, + "node_modules/@opentelemetry-lambda/sdk-layer": { + "resolved": "packages/layer", + "link": true + }, + "node_modules/@opentelemetry-samples/lambda-awssdk": { + "resolved": "sample-apps/aws-sdk", + "link": true + }, + "node_modules/@opentelemetry/api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/api-logs": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.202.0.tgz", + "integrity": "sha512-fTBjMqKCfotFWfLzaKyhjLvyEyq5vDKTTFfBmx21btv3gvy8Lq6N5Dh2OzqeuN4DjtpSvNT1uNVfg08eD2Rfxw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api": "^1.3.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@opentelemetry/context-async-hooks": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-2.0.1.tgz", + "integrity": "sha512-XuY23lSI3d4PEqKA+7SLtAgwqIfc6E/E9eAQWLN1vlpC53ybO3o6jW4BsXo1xvz9lYyyWItfQDDLzezER01mCw==", + "license": "Apache-2.0", + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/core": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.0.1.tgz", + "integrity": "sha512-MaZk9SJIDgo1peKevlbhP6+IwIiNPNmswNL4AF0WaQJLbHXjr9SrZMgS12+iqr9ToV4ZVosCcc0f8Rg67LXjxw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/semantic-conventions": "^1.29.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": ">=1.0.0 <1.10.0" + } + }, + "node_modules/@opentelemetry/exporter-logs-otlp-http": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.202.0.tgz", + "integrity": "sha512-mJWLkmoG+3r+SsYQC+sbWoy1rjowJhMhFvFULeIPTxSI+EZzKPya0+NZ3+vhhgx2UTybGQlye3FBtCH3o6Rejg==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.202.0", + "@opentelemetry/core": "2.0.1", + "@opentelemetry/otlp-exporter-base": "0.202.0", + "@opentelemetry/otlp-transformer": "0.202.0", + "@opentelemetry/sdk-logs": "0.202.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/exporter-metrics-otlp-http": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.202.0.tgz", + "integrity": "sha512-ooYcrf/m9ZuVGpQnER7WRH+JZbDPD389HG7VS/EnvIEF5WpNYEqf+NdmtaAcs51d81QrytTYAubc5bVWi//28w==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/otlp-exporter-base": "0.202.0", + "@opentelemetry/otlp-transformer": "0.202.0", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/sdk-metrics": "2.0.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/exporter-trace-otlp-http": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.202.0.tgz", + "integrity": "sha512-/hKE8DaFCJuaQqE1IxpgkcjOolUIwgi3TgHElPVKGdGRBSmJMTmN/cr6vWa55pCJIXPyhKvcMrbrya7DZ3VmzA==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "2.0.1", + "@opentelemetry/otlp-exporter-base": "0.202.0", + "@opentelemetry/otlp-transformer": "0.202.0", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/sdk-trace-base": "2.0.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.202.0.tgz", + "integrity": "sha512-Uz3BxZWPgDwgHM2+vCKEQRh0R8WKrd/q6Tus1vThRClhlPO39Dyz7mDrOr6KuqGXAlBQ1e5Tnymzri4RMZNaWA==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "0.202.0", + "import-in-the-middle": "^1.8.1", + "require-in-the-middle": "^7.1.1" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-amqplib": { + "version": "0.49.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.49.0.tgz", + "integrity": "sha512-OCGkE+1JoUN+gOzs3u0GSa7GV//KX6NMKzaPchedae7ZwFVyyBQ8VECJngHgW3k/FLABFnq9Oiym2WZGiWugVQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-aws-lambda": { + "version": "0.53.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-lambda/-/instrumentation-aws-lambda-0.53.0.tgz", + "integrity": "sha512-dZywDIc4t7o28eU9W4QMB+mNhRdH5/kVxVmxRtB46/diHg8Im6RFncuiCVJ1l9ig/RUtwR3dU9LX1huFBwxkPw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0", + "@types/aws-lambda": "8.10.147" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-aws-lambda/node_modules/@types/aws-lambda": { + "version": "8.10.147", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.147.tgz", + "integrity": "sha512-nD0Z9fNIZcxYX5Mai2CTmFD7wX7UldCkW2ezCF8D1T5hdiLsnTWDGRpfRYntU6VjTdLQjOvyszru7I1c1oCQew==", + "license": "MIT" + }, + "node_modules/@opentelemetry/instrumentation-aws-sdk": { + "version": "0.54.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.54.0.tgz", + "integrity": "sha512-4XnXfpACX8fpOnt/D8d/1AFg3uOwBTG9TopQBuikDZJYUrLUSdT7UiotCFqAM/Z6hQJh72Jy3591C/OrmKct7A==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/propagation-utils": "^0.31.2", + "@opentelemetry/semantic-conventions": "^1.31.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-bunyan": { + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.48.0.tgz", + "integrity": "sha512-Q6ay5CXIKuyejadPoLboz+jKumB3Zuxyk35ycFh9vfIeww3+mNRyMVj6KxHRS0Imbv9zhNbP3uyrUpvEMMyHuw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/api-logs": "^0.202.0", + "@opentelemetry/instrumentation": "^0.202.0", + "@types/bunyan": "1.8.11" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-cassandra-driver": { + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cassandra-driver/-/instrumentation-cassandra-driver-0.48.0.tgz", + "integrity": "sha512-0dcX8Kx0S6ZAOknrbA+BBh1j5lg5F20W18m5VYoGUxkuLIUbWkQA3uaqeTfqbOwmnBmb1upDPUWPR+g5N12B4Q==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" + } + }, + "node_modules/@opentelemetry/instrumentation-connect": { + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.46.0.tgz", + "integrity": "sha512-YNq/7M1JXnWRkpKPC9dbYZA36cg547gY0p1bijW7vuZJ9t5f3alo6w8TWtZwV/hOFtBGHDXVhKVfp2Mh6zVHjQ==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0", + "@types/connect": "3.4.38" + }, "engines": { - "node": ">= 14" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@octokit/core": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-4.2.4.tgz", - "integrity": "sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==", - "dev": true, + "node_modules/@opentelemetry/instrumentation-dataloader": { + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.19.0.tgz", + "integrity": "sha512-zIVRnRs3zDZCqStQcpIdRx3Dz9WXFSVj9qimqI7CRuKao9qnrZYUVQHvvVlLZX3JAg+nDC6JRS95zvbq50hj4A==", + "license": "Apache-2.0", "dependencies": { - "@octokit/auth-token": "^3.0.0", - "@octokit/graphql": "^5.0.0", - "@octokit/request": "^6.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@opentelemetry/instrumentation": "^0.202.0" }, "engines": { - "node": ">= 14" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@octokit/endpoint": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.6.tgz", - "integrity": "sha512-5L4fseVRUsDFGR00tMWD/Trdeeihn999rTMGRMC1G/Ldi1uWlWJzI98H4Iak5DB/RVvQuyMYKqSK/R6mbSOQyg==", - "dev": true, + "node_modules/@opentelemetry/instrumentation-dns": { + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dns/-/instrumentation-dns-0.46.0.tgz", + "integrity": "sha512-m8u72x2fSIjhP1ITJX9Ims3eR4Qn8ze+QWy9NHYO01JlmiMamoc9TfIOd4dyOtxVja4tjnkWceKQdlEH9F9BoA==", + "license": "Apache-2.0", "dependencies": { - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@opentelemetry/instrumentation": "^0.202.0" }, "engines": { - "node": ">= 14" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@octokit/graphql": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.6.tgz", - "integrity": "sha512-Fxyxdy/JH0MnIB5h+UQ3yCoh1FG4kWXfFKkpWqjZHw/p+Kc8Y44Hu/kCgNBT6nU1shNumEchmW/sUO1JuQnPcw==", - "dev": true, + "node_modules/@opentelemetry/instrumentation-express": { + "version": "0.51.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.51.0.tgz", + "integrity": "sha512-v1mgfvyeQh7yfsZ8wZlr+jgFGk9FxzLfNH0EH0UYGO9das8fCIkixsEasZMWhjwAJKjlf+ElTZ2jE2pT7I3DyQ==", + "license": "Apache-2.0", "dependencies": { - "@octokit/request": "^6.0.0", - "@octokit/types": "^9.0.0", - "universal-user-agent": "^6.0.0" + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0" }, "engines": { - "node": ">= 14" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@octokit/openapi-types": { - "version": "18.1.1", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz", - "integrity": "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==", - "dev": true - }, - "node_modules/@octokit/plugin-enterprise-rest": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz", - "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==", - "dev": true - }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz", - "integrity": "sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==", - "dev": true, + "node_modules/@opentelemetry/instrumentation-fs": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.22.0.tgz", + "integrity": "sha512-ktQVFD6pd8eAIW6t2DtDuXj2lxq+wnQ8WUkJLNZzl3rEE2TZEiHg7wIkWVoxl4Cz4pJ2YZJbdU2fHAizuDebDw==", + "license": "Apache-2.0", "dependencies": { - "@octokit/tsconfig": "^1.0.2", - "@octokit/types": "^9.2.3" + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/instrumentation": "^0.202.0" }, "engines": { - "node": ">= 14" + "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@octokit/core": ">=4" + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", - "dev": true, + "node_modules/@opentelemetry/instrumentation-graphql": { + "version": "0.50.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.50.0.tgz", + "integrity": "sha512-Nn3vBS5T0Dv4+9WF1dGR0Lgsxuz6ztQmTsxoHvesm6YAAXiHffnwsxBEJUKEJcjxfXzjO1SVuLDkv1bAeQ3NFw==", + "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/instrumentation": "^0.202.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, "peerDependencies": { - "@octokit/core": ">=3" + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz", - "integrity": "sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==", - "dev": true, + "node_modules/@opentelemetry/instrumentation-grpc": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.202.0.tgz", + "integrity": "sha512-dWvefHNAyAfaHVmxQ/ySLQSI2hGKLgK1sBtvae4w9xruqU08bBMtvmVeGMA/5whfiUDU8ftp1/84U4Zoe5N56A==", + "license": "Apache-2.0", "dependencies": { - "@octokit/types": "^10.0.0" + "@opentelemetry/instrumentation": "0.202.0", + "@opentelemetry/semantic-conventions": "^1.29.0" }, "engines": { - "node": ">= 14" + "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@octokit/core": ">=3" + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-10.0.0.tgz", - "integrity": "sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==", - "dev": true, + "node_modules/@opentelemetry/instrumentation-hapi": { + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.48.0.tgz", + "integrity": "sha512-wFPhBK000+4422KUPZ3ojlUq4ZzMGo7/H6GBWCVZLsP65rGPbssUTBeucPL2rkMeM8RS5z3s+cjsghw7fwOduA==", + "license": "Apache-2.0", "dependencies": { - "@octokit/openapi-types": "^18.0.0" + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0" + }, + "engines": { + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@octokit/request": { - "version": "6.2.8", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-6.2.8.tgz", - "integrity": "sha512-ow4+pkVQ+6XVVsekSYBzJC0VTVvh/FCTUUgTsboGq+DTeWdyIFV8WSCdo0RIxk6wSkBTHqIK1mYuY7nOBXOchw==", - "dev": true, + "node_modules/@opentelemetry/instrumentation-http": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.202.0.tgz", + "integrity": "sha512-oX+jyY2KBg4/nVH3vZhSWDbhywkHgE0fq3YinhUBx0jv+YUWC2UKA7qLkxr/CSzfKsFi/Km0NKV+llH17yYGKw==", + "license": "Apache-2.0", "dependencies": { - "@octokit/endpoint": "^7.0.0", - "@octokit/request-error": "^3.0.0", - "@octokit/types": "^9.0.0", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "@opentelemetry/core": "2.0.1", + "@opentelemetry/instrumentation": "0.202.0", + "@opentelemetry/semantic-conventions": "^1.29.0", + "forwarded-parse": "2.1.2" }, "engines": { - "node": ">= 14" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@octokit/request-error": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz", - "integrity": "sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==", - "dev": true, + "node_modules/@opentelemetry/instrumentation-ioredis": { + "version": "0.50.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.50.0.tgz", + "integrity": "sha512-f2e+3xPxMRdlt1rjZpRhxuqrfumlWe3NX0Y+W857RBBV11HhbeZZaYbO5MMaxV3xBZv4dwPSGx96GjExUWY0WA==", + "license": "Apache-2.0", "dependencies": { - "@octokit/types": "^9.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/redis-common": "^0.37.0", + "@opentelemetry/semantic-conventions": "^1.27.0" }, "engines": { - "node": ">= 14" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@octokit/rest": { - "version": "19.0.11", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.11.tgz", - "integrity": "sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==", - "dev": true, + "node_modules/@opentelemetry/instrumentation-kafkajs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.11.0.tgz", + "integrity": "sha512-+i9VqVEPNObB1tkwcLV6zAafnve72h2Iwo48E11M/kVXMNXlgGhiYckYCmzba8c2u5XD/V98XZDrCIyO8CLCNA==", + "license": "Apache-2.0", "dependencies": { - "@octokit/core": "^4.2.1", - "@octokit/plugin-paginate-rest": "^6.1.2", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^7.1.2" + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.30.0" }, "engines": { - "node": ">= 14" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@octokit/tsconfig": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@octokit/tsconfig/-/tsconfig-1.0.2.tgz", - "integrity": "sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==", - "dev": true - }, - "node_modules/@octokit/types": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-9.3.2.tgz", - "integrity": "sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==", - "dev": true, + "node_modules/@opentelemetry/instrumentation-knex": { + "version": "0.47.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.47.0.tgz", + "integrity": "sha512-OjqjnzXD5+FXVGkOznbRAz9yByb4UWzIUhXjuHvOQ50IUY8mv3rM2Gj6Ar7m5JsENiS5DtAy2Vfwk4e9zNC0ng==", + "license": "Apache-2.0", "dependencies": { - "@octokit/openapi-types": "^18.0.0" - } - }, - "node_modules/@opentelemetry-lambda/sdk-layer": { - "resolved": "packages/layer", - "link": true - }, - "node_modules/@opentelemetry-samples/lambda-awssdk": { - "resolved": "sample-apps/aws-sdk", - "link": true - }, - "node_modules/@opentelemetry/api": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", - "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.33.1" + }, "engines": { - "node": ">=8.0.0" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/api-logs": { - "version": "0.202.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.202.0.tgz", - "integrity": "sha512-fTBjMqKCfotFWfLzaKyhjLvyEyq5vDKTTFfBmx21btv3gvy8Lq6N5Dh2OzqeuN4DjtpSvNT1uNVfg08eD2Rfxw==", + "node_modules/@opentelemetry/instrumentation-koa": { + "version": "0.50.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.50.0.tgz", + "integrity": "sha512-JLVxvIWwH3XGGRfpYFOOdIctHCESKrWsdpNad0f95HdJhNVNPdEKloqWj6qHzvtDKJZ0UbEUcORhOr7xQB78JQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api": "^1.3.0" + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0" }, "engines": { - "node": ">=8.0.0" + "node": "^18.19.0 || >=20.6.0" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/context-async-hooks": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/context-async-hooks/-/context-async-hooks-2.0.1.tgz", - "integrity": "sha512-XuY23lSI3d4PEqKA+7SLtAgwqIfc6E/E9eAQWLN1vlpC53ybO3o6jW4BsXo1xvz9lYyyWItfQDDLzezER01mCw==", + "node_modules/@opentelemetry/instrumentation-memcached": { + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-memcached/-/instrumentation-memcached-0.46.0.tgz", + "integrity": "sha512-FFDcOVJUxZQqbg57gVskZGXRfEsZXwOvCaPv6/qIZRw5glLXPTulpnfG/s8NAltsj2buXSvS4eKFo+0HKH0apw==", "license": "Apache-2.0", + "dependencies": { + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0", + "@types/memcached": "^2.2.6" + }, "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/core": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/core/-/core-2.0.1.tgz", - "integrity": "sha512-MaZk9SJIDgo1peKevlbhP6+IwIiNPNmswNL4AF0WaQJLbHXjr9SrZMgS12+iqr9ToV4ZVosCcc0f8Rg67LXjxw==", + "node_modules/@opentelemetry/instrumentation-mongodb": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.55.0.tgz", + "integrity": "sha512-zWvT4gLZw/e6pvNGOOi+AM/qgLZoXjrnJW1Lh0qwrtpUoFZH4XUv/jgC+kfXsk034l9fggtfbhCfBboBiM8bAg==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/semantic-conventions": "^1.29.0" + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-logs-otlp-http": { - "version": "0.202.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.202.0.tgz", - "integrity": "sha512-mJWLkmoG+3r+SsYQC+sbWoy1rjowJhMhFvFULeIPTxSI+EZzKPya0+NZ3+vhhgx2UTybGQlye3FBtCH3o6Rejg==", + "node_modules/@opentelemetry/instrumentation-mongoose": { + "version": "0.49.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.49.0.tgz", + "integrity": "sha512-nF+43QFe8IoW20TmTJZdxZhnVZGEglODUvzAo3fRmaBFAkwUXRGzRgABS255PCjIbScEaRRDCXc6EAsSkwRNPg==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.202.0", - "@opentelemetry/core": "2.0.1", - "@opentelemetry/otlp-exporter-base": "0.202.0", - "@opentelemetry/otlp-transformer": "0.202.0", - "@opentelemetry/sdk-logs": "0.202.0" + "@opentelemetry/core": "^2.0.0", + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" @@ -1761,17 +2825,15 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-metrics-otlp-http": { - "version": "0.202.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.202.0.tgz", - "integrity": "sha512-ooYcrf/m9ZuVGpQnER7WRH+JZbDPD389HG7VS/EnvIEF5WpNYEqf+NdmtaAcs51d81QrytTYAubc5bVWi//28w==", + "node_modules/@opentelemetry/instrumentation-mysql": { + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.48.0.tgz", + "integrity": "sha512-o7DwkkRn3eLWfzJdbXrlCS1EhbIOgB0W74eucbP+5Lk0XDGixy4yURTkmNclCcsemgzRZfEq0YvYQV29Yhpo5A==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "2.0.1", - "@opentelemetry/otlp-exporter-base": "0.202.0", - "@opentelemetry/otlp-transformer": "0.202.0", - "@opentelemetry/resources": "2.0.1", - "@opentelemetry/sdk-metrics": "2.0.1" + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0", + "@types/mysql": "2.15.26" }, "engines": { "node": "^18.19.0 || >=20.6.0" @@ -1780,17 +2842,15 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/exporter-trace-otlp-http": { - "version": "0.202.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.202.0.tgz", - "integrity": "sha512-/hKE8DaFCJuaQqE1IxpgkcjOolUIwgi3TgHElPVKGdGRBSmJMTmN/cr6vWa55pCJIXPyhKvcMrbrya7DZ3VmzA==", + "node_modules/@opentelemetry/instrumentation-mysql2": { + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.48.0.tgz", + "integrity": "sha512-eCRpv0WV2s0Pa6CpjPWzZiLZDqx8kqZJopJESd4ywoUwtijXzBiTRidp/8aL9k+kl4drhm2GVNr4thUCMlEOSA==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "2.0.1", - "@opentelemetry/otlp-exporter-base": "0.202.0", - "@opentelemetry/otlp-transformer": "0.202.0", - "@opentelemetry/resources": "2.0.1", - "@opentelemetry/sdk-trace-base": "2.0.1" + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.27.0", + "@opentelemetry/sql-common": "^0.41.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" @@ -1799,15 +2859,14 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation": { - "version": "0.202.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation/-/instrumentation-0.202.0.tgz", - "integrity": "sha512-Uz3BxZWPgDwgHM2+vCKEQRh0R8WKrd/q6Tus1vThRClhlPO39Dyz7mDrOr6KuqGXAlBQ1e5Tnymzri4RMZNaWA==", + "node_modules/@opentelemetry/instrumentation-nestjs-core": { + "version": "0.48.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.48.0.tgz", + "integrity": "sha512-ytK4ABSkWcD9vyMU8GpinvodAGaRxBFuxybP/m7sgLtEboXMJjdWnEHb7lH/CX1ICiVKRXWdYg9npdu6yBCW5Q==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.202.0", - "import-in-the-middle": "^1.8.1", - "require-in-the-middle": "^7.1.1" + "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/semantic-conventions": "^1.30.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" @@ -1816,13 +2875,12 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-amqplib": { - "version": "0.49.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-amqplib/-/instrumentation-amqplib-0.49.0.tgz", - "integrity": "sha512-OCGkE+1JoUN+gOzs3u0GSa7GV//KX6NMKzaPchedae7ZwFVyyBQ8VECJngHgW3k/FLABFnq9Oiym2WZGiWugVQ==", + "node_modules/@opentelemetry/instrumentation-net": { + "version": "0.46.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-net/-/instrumentation-net-0.46.0.tgz", + "integrity": "sha512-3ZJPuPd1ffCT3PRs6irjxVrOrFixXvCV/kykBe2Ahs/KT+kgYUSr6d6e4S1/ZQNXZKIQEwG2az0+VAw6Gr0e1w==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "^2.0.0", "@opentelemetry/instrumentation": "^0.202.0", "@opentelemetry/semantic-conventions": "^1.27.0" }, @@ -1833,15 +2891,18 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-aws-lambda": { - "version": "0.53.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-lambda/-/instrumentation-aws-lambda-0.53.0.tgz", - "integrity": "sha512-dZywDIc4t7o28eU9W4QMB+mNhRdH5/kVxVmxRtB46/diHg8Im6RFncuiCVJ1l9ig/RUtwR3dU9LX1huFBwxkPw==", + "node_modules/@opentelemetry/instrumentation-pg": { + "version": "0.54.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.54.0.tgz", + "integrity": "sha512-KQnEGwm65p1zFZGjKGw+oMilGcR4l1q3qgRmETO7ySEfMddH3t6jwlbqmcjO3N3bVcPkYgjioGVQGvdpvz7O1w==", "license": "Apache-2.0", "dependencies": { + "@opentelemetry/core": "^2.0.0", "@opentelemetry/instrumentation": "^0.202.0", "@opentelemetry/semantic-conventions": "^1.27.0", - "@types/aws-lambda": "8.10.147" + "@opentelemetry/sql-common": "^0.41.0", + "@types/pg": "8.15.1", + "@types/pg-pool": "2.0.6" }, "engines": { "node": "^18.19.0 || >=20.6.0" @@ -1850,22 +2911,15 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-aws-lambda/node_modules/@types/aws-lambda": { - "version": "8.10.147", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.147.tgz", - "integrity": "sha512-nD0Z9fNIZcxYX5Mai2CTmFD7wX7UldCkW2ezCF8D1T5hdiLsnTWDGRpfRYntU6VjTdLQjOvyszru7I1c1oCQew==", - "license": "MIT" - }, - "node_modules/@opentelemetry/instrumentation-aws-sdk": { - "version": "0.54.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-aws-sdk/-/instrumentation-aws-sdk-0.54.0.tgz", - "integrity": "sha512-4XnXfpACX8fpOnt/D8d/1AFg3uOwBTG9TopQBuikDZJYUrLUSdT7UiotCFqAM/Z6hQJh72Jy3591C/OrmKct7A==", + "node_modules/@opentelemetry/instrumentation-pino": { + "version": "0.49.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pino/-/instrumentation-pino-0.49.0.tgz", + "integrity": "sha512-nngcqUnIeVnDvRMf6fixYwlMbTNzCVGv93CacyR/8TL/pjyumje020PC5q7b6CfcTdToiD5GMTMKvWBiTd08cA==", "license": "Apache-2.0", "dependencies": { + "@opentelemetry/api-logs": "^0.202.0", "@opentelemetry/core": "^2.0.0", - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/propagation-utils": "^0.31.2", - "@opentelemetry/semantic-conventions": "^1.31.0" + "@opentelemetry/instrumentation": "^0.202.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" @@ -1874,15 +2928,15 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-bunyan": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-bunyan/-/instrumentation-bunyan-0.48.0.tgz", - "integrity": "sha512-Q6ay5CXIKuyejadPoLboz+jKumB3Zuxyk35ycFh9vfIeww3+mNRyMVj6KxHRS0Imbv9zhNbP3uyrUpvEMMyHuw==", + "node_modules/@opentelemetry/instrumentation-redis": { + "version": "0.49.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis/-/instrumentation-redis-0.49.0.tgz", + "integrity": "sha512-DUg7HjVG2j4T97NUBl92O3Gjcrbj+209wZ2zV3Z2y9CDi2zfAoSOboKqKRtZbVUB0Bx+LRTIFiKCMapE5cSzSQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "^0.202.0", "@opentelemetry/instrumentation": "^0.202.0", - "@types/bunyan": "1.8.11" + "@opentelemetry/redis-common": "^0.37.0", + "@opentelemetry/semantic-conventions": "^1.27.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" @@ -1891,12 +2945,13 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-cassandra-driver": { + "node_modules/@opentelemetry/instrumentation-restify": { "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-cassandra-driver/-/instrumentation-cassandra-driver-0.48.0.tgz", - "integrity": "sha512-0dcX8Kx0S6ZAOknrbA+BBh1j5lg5F20W18m5VYoGUxkuLIUbWkQA3uaqeTfqbOwmnBmb1upDPUWPR+g5N12B4Q==", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-restify/-/instrumentation-restify-0.48.0.tgz", + "integrity": "sha512-iv9JTd0h3TYgeiuhB39ALv5s2X4YgL9Mtz0/nmF6f1aFCU9tY06K4f73VbPgq0/3yKwO+mPD7/W1xmB5D34VwQ==", "license": "Apache-2.0", "dependencies": { + "@opentelemetry/core": "^2.0.0", "@opentelemetry/instrumentation": "^0.202.0", "@opentelemetry/semantic-conventions": "^1.27.0" }, @@ -1907,16 +2962,14 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-connect": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.46.0.tgz", - "integrity": "sha512-YNq/7M1JXnWRkpKPC9dbYZA36cg547gY0p1bijW7vuZJ9t5f3alo6w8TWtZwV/hOFtBGHDXVhKVfp2Mh6zVHjQ==", + "node_modules/@opentelemetry/instrumentation-socket.io": { + "version": "0.49.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-socket.io/-/instrumentation-socket.io-0.49.0.tgz", + "integrity": "sha512-DpMtNBEcaLCcbP1WVBPCSgRiBs31igTQkal1gUm40VL/XAv5GUqRAUnvHZrQh3yPipOqzV65pdb0jJXdps/tug==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "^2.0.0", "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@types/connect": "3.4.38" + "@opentelemetry/semantic-conventions": "^1.27.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" @@ -1925,27 +2978,29 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-dataloader": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dataloader/-/instrumentation-dataloader-0.19.0.tgz", - "integrity": "sha512-zIVRnRs3zDZCqStQcpIdRx3Dz9WXFSVj9qimqI7CRuKao9qnrZYUVQHvvVlLZX3JAg+nDC6JRS95zvbq50hj4A==", + "node_modules/@opentelemetry/instrumentation-undici": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-undici/-/instrumentation-undici-0.13.0.tgz", + "integrity": "sha512-FwIDJSzA3Kv88oSf9JF6rzhjJc1Q0f30m4Q7IwOUQo0aTGPGM4J0pm6ZbgZ5TvfhnL3KvKnS9rzv0MJ1yUkGmA==", "license": "Apache-2.0", "dependencies": { + "@opentelemetry/core": "^2.0.0", "@opentelemetry/instrumentation": "^0.202.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "@opentelemetry/api": "^1.7.0" } }, - "node_modules/@opentelemetry/instrumentation-dns": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-dns/-/instrumentation-dns-0.46.0.tgz", - "integrity": "sha512-m8u72x2fSIjhP1ITJX9Ims3eR4Qn8ze+QWy9NHYO01JlmiMamoc9TfIOd4dyOtxVja4tjnkWceKQdlEH9F9BoA==", + "node_modules/@opentelemetry/instrumentation-winston": { + "version": "0.47.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-winston/-/instrumentation-winston-0.47.0.tgz", + "integrity": "sha512-r+GqnZU/aFldQyB5QdOlxsMlH9KZ4+zJfnYplz3lbC9f9ozAIlVAeoshvWTtbv7Oxp2NnK64EfnNP1pClaGEqA==", "license": "Apache-2.0", "dependencies": { + "@opentelemetry/api-logs": "^0.202.0", "@opentelemetry/instrumentation": "^0.202.0" }, "engines": { @@ -1955,15 +3010,14 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-express": { - "version": "0.51.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-express/-/instrumentation-express-0.51.0.tgz", - "integrity": "sha512-v1mgfvyeQh7yfsZ8wZlr+jgFGk9FxzLfNH0EH0UYGO9das8fCIkixsEasZMWhjwAJKjlf+ElTZ2jE2pT7I3DyQ==", + "node_modules/@opentelemetry/otlp-exporter-base": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.202.0.tgz", + "integrity": "sha512-nMEOzel+pUFYuBJg2znGmHJWbmvMbdX5/RhoKNKowguMbURhz0fwik5tUKplLcUtl8wKPL1y9zPnPxeBn65N0Q==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "^2.0.0", - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0" + "@opentelemetry/core": "2.0.1", + "@opentelemetry/otlp-transformer": "0.202.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" @@ -1972,14 +3026,19 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-fs": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.22.0.tgz", - "integrity": "sha512-ktQVFD6pd8eAIW6t2DtDuXj2lxq+wnQ8WUkJLNZzl3rEE2TZEiHg7wIkWVoxl4Cz4pJ2YZJbdU2fHAizuDebDw==", + "node_modules/@opentelemetry/otlp-transformer": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.202.0.tgz", + "integrity": "sha512-5XO77QFzs9WkexvJQL9ksxL8oVFb/dfi9NWQSq7Sv0Efr9x3N+nb1iklP1TeVgxqJ7m1xWiC/Uv3wupiQGevMw==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "^2.0.0", - "@opentelemetry/instrumentation": "^0.202.0" + "@opentelemetry/api-logs": "0.202.0", + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/sdk-logs": "0.202.0", + "@opentelemetry/sdk-metrics": "2.0.1", + "@opentelemetry/sdk-trace-base": "2.0.1", + "protobufjs": "^7.3.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" @@ -1988,819 +3047,1035 @@ "@opentelemetry/api": "^1.3.0" } }, - "node_modules/@opentelemetry/instrumentation-graphql": { - "version": "0.50.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.50.0.tgz", - "integrity": "sha512-Nn3vBS5T0Dv4+9WF1dGR0Lgsxuz6ztQmTsxoHvesm6YAAXiHffnwsxBEJUKEJcjxfXzjO1SVuLDkv1bAeQ3NFw==", + "node_modules/@opentelemetry/propagation-utils": { + "version": "0.31.2", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagation-utils/-/propagation-utils-0.31.2.tgz", + "integrity": "sha512-FlJzdZ0cQY8qqOsJ/A+L/t05LvZtnsMq6vbamunVMYRi9TAy+xq37t+nT/dx3dKJ/2k409jDj9eA0Yhj9RtTug==", "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0" + "engines": { + "node": "^18.19.0 || >=20.6.0" }, + "peerDependencies": { + "@opentelemetry/api": "^1.0.0" + } + }, + "node_modules/@opentelemetry/propagator-aws-xray": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-2.1.0.tgz", + "integrity": "sha512-msfgWJwK3rqGBHgPnY0qclJCT1pJq1Vv08cq8utM3KUBBqjKWX2o9zav9Sv/lkPqx1Zbl3cPGkb6eN+sITjg+g==", + "license": "Apache-2.0", "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@opentelemetry/instrumentation-grpc": { - "version": "0.202.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-grpc/-/instrumentation-grpc-0.202.0.tgz", - "integrity": "sha512-dWvefHNAyAfaHVmxQ/ySLQSI2hGKLgK1sBtvae4w9xruqU08bBMtvmVeGMA/5whfiUDU8ftp1/84U4Zoe5N56A==", + "node_modules/@opentelemetry/propagator-aws-xray-lambda": { + "version": "0.55.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray-lambda/-/propagator-aws-xray-lambda-0.55.0.tgz", + "integrity": "sha512-sfHaupLWYnGpXBvc98SXdX6xGNAc3QLt+Qxrgslo3fE523DbumHCYBZp/ja23a8ZTG6jU3EuoaBekBl6xUSATQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/instrumentation": "0.202.0", - "@opentelemetry/semantic-conventions": "^1.29.0" + "@opentelemetry/propagator-aws-xray": "^2.1.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, - "node_modules/@opentelemetry/instrumentation-hapi": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.48.0.tgz", - "integrity": "sha512-wFPhBK000+4422KUPZ3ojlUq4ZzMGo7/H6GBWCVZLsP65rGPbssUTBeucPL2rkMeM8RS5z3s+cjsghw7fwOduA==", + "node_modules/@opentelemetry/redis-common": { + "version": "0.37.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/redis-common/-/redis-common-0.37.0.tgz", + "integrity": "sha512-tJwgE6jt32bLs/9J6jhQRKU2EZnsD8qaO13aoFyXwF6s4LhpT7YFHf3Z03MqdILk6BA2BFUhoyh7k9fj9i032A==", + "engines": { + "node": "^18.19.0 || >=20.6.0" + } + }, + "node_modules/@opentelemetry/resource-detector-aws": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-aws/-/resource-detector-aws-2.2.0.tgz", + "integrity": "sha512-6k7//RWAv4U1PeZhv0Too0Sv7sp7/A6s6g9h5ZYauPcroh2t4gOmkQSspSLYCynn34YZwn3FGbuaMwTDjHEJig==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "^2.0.0", - "@opentelemetry/instrumentation": "^0.202.0", + "@opentelemetry/resources": "^2.0.0", "@opentelemetry/semantic-conventions": "^1.27.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "@opentelemetry/api": "^1.0.0" } }, - "node_modules/@opentelemetry/instrumentation-http": { - "version": "0.202.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-http/-/instrumentation-http-0.202.0.tgz", - "integrity": "sha512-oX+jyY2KBg4/nVH3vZhSWDbhywkHgE0fq3YinhUBx0jv+YUWC2UKA7qLkxr/CSzfKsFi/Km0NKV+llH17yYGKw==", + "node_modules/@opentelemetry/resources": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.0.1.tgz", + "integrity": "sha512-dZOB3R6zvBwDKnHDTB4X1xtMArB/d324VsbiPkX/Yu0Q8T2xceRthoIVFhJdvgVM2QhGVUyX9tzwiNxGtoBJUw==", "license": "Apache-2.0", "dependencies": { "@opentelemetry/core": "2.0.1", - "@opentelemetry/instrumentation": "0.202.0", - "@opentelemetry/semantic-conventions": "^1.29.0", - "forwarded-parse": "2.1.2" + "@opentelemetry/semantic-conventions": "^1.29.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, - "node_modules/@opentelemetry/instrumentation-ioredis": { - "version": "0.50.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.50.0.tgz", - "integrity": "sha512-f2e+3xPxMRdlt1rjZpRhxuqrfumlWe3NX0Y+W857RBBV11HhbeZZaYbO5MMaxV3xBZv4dwPSGx96GjExUWY0WA==", + "node_modules/@opentelemetry/sdk-logs": { + "version": "0.202.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.202.0.tgz", + "integrity": "sha512-pv8QiQLQzk4X909YKm0lnW4hpuQg4zHwJ4XBd5bZiXcd9urvrJNoNVKnxGHPiDVX/GiLFvr5DMYsDBQbZCypRQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/redis-common": "^0.37.0", - "@opentelemetry/semantic-conventions": "^1.27.0" + "@opentelemetry/api-logs": "0.202.0", + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1" }, "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "@opentelemetry/api": ">=1.4.0 <1.10.0" } }, - "node_modules/@opentelemetry/instrumentation-kafkajs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-kafkajs/-/instrumentation-kafkajs-0.11.0.tgz", - "integrity": "sha512-+i9VqVEPNObB1tkwcLV6zAafnve72h2Iwo48E11M/kVXMNXlgGhiYckYCmzba8c2u5XD/V98XZDrCIyO8CLCNA==", + "node_modules/@opentelemetry/sdk-metrics": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.0.1.tgz", + "integrity": "sha512-wf8OaJoSnujMAHWR3g+/hGvNcsC16rf9s1So4JlMiFaFHiE4HpIA3oUh+uWZQ7CNuK8gVW/pQSkgoa5HkkOl0g==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.30.0" + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1" }, "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "@opentelemetry/api": ">=1.9.0 <1.10.0" } }, - "node_modules/@opentelemetry/instrumentation-knex": { - "version": "0.47.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-knex/-/instrumentation-knex-0.47.0.tgz", - "integrity": "sha512-OjqjnzXD5+FXVGkOznbRAz9yByb4UWzIUhXjuHvOQ50IUY8mv3rM2Gj6Ar7m5JsENiS5DtAy2Vfwk4e9zNC0ng==", + "node_modules/@opentelemetry/sdk-trace-base": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.0.1.tgz", + "integrity": "sha512-xYLlvk/xdScGx1aEqvxLwf6sXQLXCjk3/1SQT9X9AoN5rXRhkdvIFShuNNmtTEPRBqcsMbS4p/gJLNI2wXaDuQ==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.33.1" + "@opentelemetry/core": "2.0.1", + "@opentelemetry/resources": "2.0.1", + "@opentelemetry/semantic-conventions": "^1.29.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "@opentelemetry/api": ">=1.3.0 <1.10.0" } }, - "node_modules/@opentelemetry/instrumentation-koa": { - "version": "0.50.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.50.0.tgz", - "integrity": "sha512-JLVxvIWwH3XGGRfpYFOOdIctHCESKrWsdpNad0f95HdJhNVNPdEKloqWj6qHzvtDKJZ0UbEUcORhOr7xQB78JQ==", + "node_modules/@opentelemetry/sdk-trace-node": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-2.0.1.tgz", + "integrity": "sha512-UhdbPF19pMpBtCWYP5lHbTogLWx9N0EBxtdagvkn5YtsAnCBZzL7SjktG+ZmupRgifsHMjwUaCCaVmqGfSADmA==", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "^2.0.0", - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0" + "@opentelemetry/context-async-hooks": "2.0.1", + "@opentelemetry/core": "2.0.1", + "@opentelemetry/sdk-trace-base": "2.0.1" }, "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "@opentelemetry/api": ">=1.0.0 <1.10.0" } }, - "node_modules/@opentelemetry/instrumentation-memcached": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-memcached/-/instrumentation-memcached-0.46.0.tgz", - "integrity": "sha512-FFDcOVJUxZQqbg57gVskZGXRfEsZXwOvCaPv6/qIZRw5glLXPTulpnfG/s8NAltsj2buXSvS4eKFo+0HKH0apw==", + "node_modules/@opentelemetry/semantic-conventions": { + "version": "1.34.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.34.0.tgz", + "integrity": "sha512-aKcOkyrorBGlajjRdVoJWHTxfxO1vCNHLJVlSDaRHDIdjU+pX8IYQPvPDkYiujKLbRnWU+1TBwEt0QRgSm4SGA==", "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/@opentelemetry/sql-common": { + "version": "0.41.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/sql-common/-/sql-common-0.41.0.tgz", + "integrity": "sha512-pmzXctVbEERbqSfiAgdes9Y63xjoOyXcD7B6IXBkVb+vbM7M9U98mn33nGXxPf4dfYR0M+vhcKRZmbSJ7HfqFA==", "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@types/memcached": "^2.2.6" + "@opentelemetry/core": "^2.0.0" }, "engines": { "node": "^18.19.0 || >=20.6.0" }, "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "@opentelemetry/api": "^1.1.0" } }, - "node_modules/@opentelemetry/instrumentation-mongodb": { - "version": "0.55.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.55.0.tgz", - "integrity": "sha512-zWvT4gLZw/e6pvNGOOi+AM/qgLZoXjrnJW1Lh0qwrtpUoFZH4XUv/jgC+kfXsk034l9fggtfbhCfBboBiM8bAg==", - "license": "Apache-2.0", - "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, "engines": { - "node": "^18.19.0 || >=20.6.0" + "node": ">=14" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "funding": { + "url": "https://opencollective.com/unts" } }, - "node_modules/@opentelemetry/instrumentation-mongoose": { - "version": "0.49.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.49.0.tgz", - "integrity": "sha512-nF+43QFe8IoW20TmTJZdxZhnVZGEglODUvzAo3fRmaBFAkwUXRGzRgABS255PCjIbScEaRRDCXc6EAsSkwRNPg==", - "license": "Apache-2.0", + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", "dependencies": { - "@opentelemetry/core": "^2.0.0", - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0" + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@rtsao/scc": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", + "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", + "dev": true + }, + "node_modules/@sigstore/bundle": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz", + "integrity": "sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.3.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/core": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.1.0.tgz", + "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.3.tgz", + "integrity": "sha512-RpacQhBlwpBWd7KEJsRKcBQalbV28fvkxwTOJIqhIuDysMMaJW47V4OqW30iJB9uRpqOSxxEAQFdr8tTattReQ==", + "dev": true, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/@opentelemetry/instrumentation-mysql": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.48.0.tgz", - "integrity": "sha512-o7DwkkRn3eLWfzJdbXrlCS1EhbIOgB0W74eucbP+5Lk0XDGixy4yURTkmNclCcsemgzRZfEq0YvYQV29Yhpo5A==", - "license": "Apache-2.0", + "node_modules/@sigstore/sign": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.3.2.tgz", + "integrity": "sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==", + "dev": true, "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@types/mysql": "2.15.26" + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.0.0", + "@sigstore/protobuf-specs": "^0.3.2", + "make-fetch-happen": "^13.0.1", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@opentelemetry/instrumentation-mysql2": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.48.0.tgz", - "integrity": "sha512-eCRpv0WV2s0Pa6CpjPWzZiLZDqx8kqZJopJESd4ywoUwtijXzBiTRidp/8aL9k+kl4drhm2GVNr4thUCMlEOSA==", - "license": "Apache-2.0", + "node_modules/@sigstore/sign/node_modules/make-fetch-happen": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", + "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", + "dev": true, "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@opentelemetry/sql-common": "^0.41.0" + "@npmcli/agent": "^2.0.0", + "cacache": "^18.0.0", + "http-cache-semantics": "^4.1.1", + "is-lambda": "^1.0.1", + "minipass": "^7.0.2", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1", + "ssri": "^10.0.0" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@opentelemetry/instrumentation-nestjs-core": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.48.0.tgz", - "integrity": "sha512-ytK4ABSkWcD9vyMU8GpinvodAGaRxBFuxybP/m7sgLtEboXMJjdWnEHb7lH/CX1ICiVKRXWdYg9npdu6yBCW5Q==", - "license": "Apache-2.0", + "node_modules/@sigstore/sign/node_modules/minipass-fetch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", + "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "dev": true, "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.30.0" + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "node_modules/@opentelemetry/instrumentation-net": { - "version": "0.46.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-net/-/instrumentation-net-0.46.0.tgz", - "integrity": "sha512-3ZJPuPd1ffCT3PRs6irjxVrOrFixXvCV/kykBe2Ahs/KT+kgYUSr6d6e4S1/ZQNXZKIQEwG2az0+VAw6Gr0e1w==", - "license": "Apache-2.0", + "node_modules/@sigstore/tuf": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz", + "integrity": "sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==", + "dev": true, "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0" + "@sigstore/protobuf-specs": "^0.3.2", + "tuf-js": "^2.2.1" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@opentelemetry/instrumentation-pg": { - "version": "0.54.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.54.0.tgz", - "integrity": "sha512-KQnEGwm65p1zFZGjKGw+oMilGcR4l1q3qgRmETO7ySEfMddH3t6jwlbqmcjO3N3bVcPkYgjioGVQGvdpvz7O1w==", - "license": "Apache-2.0", + "node_modules/@sigstore/verify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.2.1.tgz", + "integrity": "sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==", + "dev": true, "dependencies": { - "@opentelemetry/core": "^2.0.0", - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0", - "@opentelemetry/sql-common": "^0.41.0", - "@types/pg": "8.15.1", - "@types/pg-pool": "2.0.6" + "@sigstore/bundle": "^2.3.2", + "@sigstore/core": "^1.1.0", + "@sigstore/protobuf-specs": "^0.3.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/@opentelemetry/instrumentation-pino": { - "version": "0.49.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-pino/-/instrumentation-pino-0.49.0.tgz", - "integrity": "sha512-nngcqUnIeVnDvRMf6fixYwlMbTNzCVGv93CacyR/8TL/pjyumje020PC5q7b6CfcTdToiD5GMTMKvWBiTd08cA==", - "license": "Apache-2.0", + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, "dependencies": { - "@opentelemetry/api-logs": "^0.202.0", - "@opentelemetry/core": "^2.0.0", - "@opentelemetry/instrumentation": "^0.202.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "type-detect": "4.0.8" } }, - "node_modules/@opentelemetry/instrumentation-redis": { - "version": "0.49.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-redis/-/instrumentation-redis-0.49.0.tgz", - "integrity": "sha512-DUg7HjVG2j4T97NUBl92O3Gjcrbj+209wZ2zV3Z2y9CDi2zfAoSOboKqKRtZbVUB0Bx+LRTIFiKCMapE5cSzSQ==", - "license": "Apache-2.0", + "node_modules/@sinonjs/fake-timers": { + "version": "13.0.5", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", + "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", + "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/redis-common": "^0.37.0", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, - "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "@sinonjs/commons": "^3.0.1" } }, - "node_modules/@opentelemetry/instrumentation-restify": { - "version": "0.48.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-restify/-/instrumentation-restify-0.48.0.tgz", - "integrity": "sha512-iv9JTd0h3TYgeiuhB39ALv5s2X4YgL9Mtz0/nmF6f1aFCU9tY06K4f73VbPgq0/3yKwO+mPD7/W1xmB5D34VwQ==", - "license": "Apache-2.0", + "node_modules/@sinonjs/samsam": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.2.tgz", + "integrity": "sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==", + "dev": true, "dependencies": { - "@opentelemetry/core": "^2.0.0", - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0" - }, + "@sinonjs/commons": "^3.0.1", + "lodash.get": "^4.4.2", + "type-detect": "^4.1.0" + } + }, + "node_modules/@sinonjs/samsam/node_modules/type-detect": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "dev": true, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "node": ">=4" } }, - "node_modules/@opentelemetry/instrumentation-socket.io": { - "version": "0.49.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-socket.io/-/instrumentation-socket.io-0.49.0.tgz", - "integrity": "sha512-DpMtNBEcaLCcbP1WVBPCSgRiBs31igTQkal1gUm40VL/XAv5GUqRAUnvHZrQh3yPipOqzV65pdb0jJXdps/tug==", + "node_modules/@smithy/abort-controller": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.4.tgz", + "integrity": "sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/instrumentation": "^0.202.0", - "@opentelemetry/semantic-conventions": "^1.27.0" + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/instrumentation-undici": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-undici/-/instrumentation-undici-0.13.0.tgz", - "integrity": "sha512-FwIDJSzA3Kv88oSf9JF6rzhjJc1Q0f30m4Q7IwOUQo0aTGPGM4J0pm6ZbgZ5TvfhnL3KvKnS9rzv0MJ1yUkGmA==", + "node_modules/@smithy/config-resolver": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.4.tgz", + "integrity": "sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "^2.0.0", - "@opentelemetry/instrumentation": "^0.202.0" + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "@smithy/util-config-provider": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.7.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/instrumentation-winston": { - "version": "0.47.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/instrumentation-winston/-/instrumentation-winston-0.47.0.tgz", - "integrity": "sha512-r+GqnZU/aFldQyB5QdOlxsMlH9KZ4+zJfnYplz3lbC9f9ozAIlVAeoshvWTtbv7Oxp2NnK64EfnNP1pClaGEqA==", + "node_modules/@smithy/core": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.5.3.tgz", + "integrity": "sha512-xa5byV9fEguZNofCclv6v9ra0FYh5FATQW/da7FQUVTic94DfrN/NvmKZjrMyzbpqfot9ZjBaO8U1UeTbmSLuA==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "^0.202.0", - "@opentelemetry/instrumentation": "^0.202.0" + "@smithy/middleware-serde": "^4.0.8", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-stream": "^4.2.2", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/otlp-exporter-base": { - "version": "0.202.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.202.0.tgz", - "integrity": "sha512-nMEOzel+pUFYuBJg2znGmHJWbmvMbdX5/RhoKNKowguMbURhz0fwik5tUKplLcUtl8wKPL1y9zPnPxeBn65N0Q==", + "node_modules/@smithy/credential-provider-imds": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.6.tgz", + "integrity": "sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "2.0.1", - "@opentelemetry/otlp-transformer": "0.202.0" + "@smithy/node-config-provider": "^4.1.3", + "@smithy/property-provider": "^4.0.4", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/otlp-transformer": { - "version": "0.202.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/otlp-transformer/-/otlp-transformer-0.202.0.tgz", - "integrity": "sha512-5XO77QFzs9WkexvJQL9ksxL8oVFb/dfi9NWQSq7Sv0Efr9x3N+nb1iklP1TeVgxqJ7m1xWiC/Uv3wupiQGevMw==", + "node_modules/@smithy/fetch-http-handler": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.0.4.tgz", + "integrity": "sha512-AMtBR5pHppYMVD7z7G+OlHHAcgAN7v0kVKEpHuTO4Gb199Gowh0taYi9oDStFeUhetkeP55JLSVlTW1n9rFtUw==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.202.0", - "@opentelemetry/core": "2.0.1", - "@opentelemetry/resources": "2.0.1", - "@opentelemetry/sdk-logs": "0.202.0", - "@opentelemetry/sdk-metrics": "2.0.1", - "@opentelemetry/sdk-trace-base": "2.0.1", - "protobufjs": "^7.3.0" + "@smithy/protocol-http": "^5.1.2", + "@smithy/querystring-builder": "^4.0.4", + "@smithy/types": "^4.3.1", + "@smithy/util-base64": "^4.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.3.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/propagation-utils": { - "version": "0.31.2", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagation-utils/-/propagation-utils-0.31.2.tgz", - "integrity": "sha512-FlJzdZ0cQY8qqOsJ/A+L/t05LvZtnsMq6vbamunVMYRi9TAy+xq37t+nT/dx3dKJ/2k409jDj9eA0Yhj9RtTug==", + "node_modules/@smithy/hash-node": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.4.tgz", + "integrity": "sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==", + "dev": true, "license": "Apache-2.0", - "engines": { - "node": "^18.19.0 || >=20.6.0" + "dependencies": { + "@smithy/types": "^4.3.1", + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/propagator-aws-xray": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray/-/propagator-aws-xray-2.1.0.tgz", - "integrity": "sha512-msfgWJwK3rqGBHgPnY0qclJCT1pJq1Vv08cq8utM3KUBBqjKWX2o9zav9Sv/lkPqx1Zbl3cPGkb6eN+sITjg+g==", + "node_modules/@smithy/invalid-dependency": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.4.tgz", + "integrity": "sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==", + "dev": true, "license": "Apache-2.0", - "engines": { - "node": "^18.19.0 || >=20.6.0" + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/propagator-aws-xray-lambda": { - "version": "0.55.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/propagator-aws-xray-lambda/-/propagator-aws-xray-lambda-0.55.0.tgz", - "integrity": "sha512-sfHaupLWYnGpXBvc98SXdX6xGNAc3QLt+Qxrgslo3fE523DbumHCYBZp/ja23a8ZTG6jU3EuoaBekBl6xUSATQ==", + "node_modules/@smithy/is-array-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.0.0.tgz", + "integrity": "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/propagator-aws-xray": "^2.1.0" + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.3.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/redis-common": { - "version": "0.37.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/redis-common/-/redis-common-0.37.0.tgz", - "integrity": "sha512-tJwgE6jt32bLs/9J6jhQRKU2EZnsD8qaO13aoFyXwF6s4LhpT7YFHf3Z03MqdILk6BA2BFUhoyh7k9fj9i032A==", + "node_modules/@smithy/middleware-content-length": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.4.tgz", + "integrity": "sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, "engines": { - "node": "^18.19.0 || >=20.6.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/resource-detector-aws": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/resource-detector-aws/-/resource-detector-aws-2.2.0.tgz", - "integrity": "sha512-6k7//RWAv4U1PeZhv0Too0Sv7sp7/A6s6g9h5ZYauPcroh2t4gOmkQSspSLYCynn34YZwn3FGbuaMwTDjHEJig==", + "node_modules/@smithy/middleware-endpoint": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.11.tgz", + "integrity": "sha512-zDogwtRLzKl58lVS8wPcARevFZNBOOqnmzWWxVe9XiaXU2CADFjvJ9XfNibgkOWs08sxLuSr81NrpY4mgp9OwQ==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "^2.0.0", - "@opentelemetry/resources": "^2.0.0", - "@opentelemetry/semantic-conventions": "^1.27.0" + "@smithy/core": "^3.5.3", + "@smithy/middleware-serde": "^4.0.8", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "@smithy/url-parser": "^4.0.4", + "@smithy/util-middleware": "^4.0.4", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.0.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/resources": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/resources/-/resources-2.0.1.tgz", - "integrity": "sha512-dZOB3R6zvBwDKnHDTB4X1xtMArB/d324VsbiPkX/Yu0Q8T2xceRthoIVFhJdvgVM2QhGVUyX9tzwiNxGtoBJUw==", + "node_modules/@smithy/middleware-retry": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.12.tgz", + "integrity": "sha512-wvIH70c4e91NtRxdaLZF+mbLZ/HcC6yg7ySKUiufL6ESp6zJUSnJucZ309AvG9nqCFHSRB5I6T3Ez1Q9wCh0Ww==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "2.0.1", - "@opentelemetry/semantic-conventions": "^1.29.0" + "@smithy/node-config-provider": "^4.1.3", + "@smithy/protocol-http": "^5.1.2", + "@smithy/service-error-classification": "^4.0.5", + "@smithy/smithy-client": "^4.4.3", + "@smithy/types": "^4.3.1", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-retry": "^4.0.5", + "tslib": "^2.6.2", + "uuid": "^9.0.1" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.3.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/sdk-logs": { - "version": "0.202.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-logs/-/sdk-logs-0.202.0.tgz", - "integrity": "sha512-pv8QiQLQzk4X909YKm0lnW4hpuQg4zHwJ4XBd5bZiXcd9urvrJNoNVKnxGHPiDVX/GiLFvr5DMYsDBQbZCypRQ==", + "node_modules/@smithy/middleware-retry/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.8.tgz", + "integrity": "sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.202.0", - "@opentelemetry/core": "2.0.1", - "@opentelemetry/resources": "2.0.1" + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.4.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/sdk-metrics": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-metrics/-/sdk-metrics-2.0.1.tgz", - "integrity": "sha512-wf8OaJoSnujMAHWR3g+/hGvNcsC16rf9s1So4JlMiFaFHiE4HpIA3oUh+uWZQ7CNuK8gVW/pQSkgoa5HkkOl0g==", + "node_modules/@smithy/middleware-stack": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.4.tgz", + "integrity": "sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "2.0.1", - "@opentelemetry/resources": "2.0.1" + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.9.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/sdk-trace-base": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.0.1.tgz", - "integrity": "sha512-xYLlvk/xdScGx1aEqvxLwf6sXQLXCjk3/1SQT9X9AoN5rXRhkdvIFShuNNmtTEPRBqcsMbS4p/gJLNI2wXaDuQ==", + "node_modules/@smithy/node-config-provider": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.3.tgz", + "integrity": "sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "2.0.1", - "@opentelemetry/resources": "2.0.1", - "@opentelemetry/semantic-conventions": "^1.29.0" + "@smithy/property-provider": "^4.0.4", + "@smithy/shared-ini-file-loader": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.3.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/sdk-trace-node": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/sdk-trace-node/-/sdk-trace-node-2.0.1.tgz", - "integrity": "sha512-UhdbPF19pMpBtCWYP5lHbTogLWx9N0EBxtdagvkn5YtsAnCBZzL7SjktG+ZmupRgifsHMjwUaCCaVmqGfSADmA==", + "node_modules/@smithy/node-http-handler": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.6.tgz", + "integrity": "sha512-NqbmSz7AW2rvw4kXhKGrYTiJVDHnMsFnX4i+/FzcZAfbOBauPYs2ekuECkSbtqaxETLLTu9Rl/ex6+I2BKErPA==", + "dev": true, "license": "Apache-2.0", "dependencies": { - "@opentelemetry/context-async-hooks": "2.0.1", - "@opentelemetry/core": "2.0.1", - "@opentelemetry/sdk-trace-base": "2.0.1" + "@smithy/abort-controller": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/querystring-builder": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": ">=1.0.0 <1.10.0" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/semantic-conventions": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.34.0.tgz", - "integrity": "sha512-aKcOkyrorBGlajjRdVoJWHTxfxO1vCNHLJVlSDaRHDIdjU+pX8IYQPvPDkYiujKLbRnWU+1TBwEt0QRgSm4SGA==", + "node_modules/@smithy/property-provider": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.4.tgz", + "integrity": "sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==", + "dev": true, "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=14" + "node": ">=18.0.0" } }, - "node_modules/@opentelemetry/sql-common": { - "version": "0.41.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/sql-common/-/sql-common-0.41.0.tgz", - "integrity": "sha512-pmzXctVbEERbqSfiAgdes9Y63xjoOyXcD7B6IXBkVb+vbM7M9U98mn33nGXxPf4dfYR0M+vhcKRZmbSJ7HfqFA==", + "node_modules/@smithy/protocol-http": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.2.tgz", + "integrity": "sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "^2.0.0" + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^18.19.0 || >=20.6.0" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0" + "node": ">=18.0.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@smithy/querystring-builder": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.4.tgz", + "integrity": "sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==", "dev": true, - "optional": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.3.1", + "@smithy/util-uri-escape": "^4.0.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=14" + "node": ">=18.0.0" } }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "node_modules/@smithy/querystring-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.4.tgz", + "integrity": "sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==", "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, - "funding": { - "url": "https://opencollective.com/unts" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "node_modules/@smithy/service-error-classification": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.5.tgz", + "integrity": "sha512-LvcfhrnCBvCmTee81pRlh1F39yTS/+kYleVeLCwNtkY8wtGg8V/ca9rbZZvYIl8OjlMtL6KIjaiL/lgVqHD2nA==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" + "@smithy/types": "^4.3.1" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + "node_modules/@smithy/shared-ini-file-loader": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.4.tgz", + "integrity": "sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + "node_modules/@smithy/signature-v4": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.2.tgz", + "integrity": "sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/is-array-buffer": "^4.0.0", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "@smithy/util-hex-encoding": "^4.0.0", + "@smithy/util-middleware": "^4.0.4", + "@smithy/util-uri-escape": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + "node_modules/@smithy/smithy-client": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.4.3.tgz", + "integrity": "sha512-xxzNYgA0HD6ETCe5QJubsxP0hQH3QK3kbpJz3QrosBCuIWyEXLR/CO5hFb2OeawEKUxMNhz3a1nuJNN2np2RMA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/core": "^3.5.3", + "@smithy/middleware-endpoint": "^4.1.11", + "@smithy/middleware-stack": "^4.0.4", + "@smithy/protocol-http": "^5.1.2", + "@smithy/types": "^4.3.1", + "@smithy/util-stream": "^4.2.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + "node_modules/@smithy/types": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.3.1.tgz", + "integrity": "sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true + "node_modules/@smithy/url-parser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.4.tgz", + "integrity": "sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/querystring-parser": "^4.0.4", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@sigstore/bundle": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.3.2.tgz", - "integrity": "sha512-wueKWDk70QixNLB363yHc2D2ItTgYiMTdPwK8D9dKQMR3ZQ0c35IxP5xnwQ8cNLoCgCRcHf14kE+CLIvNX1zmA==", + "node_modules/@smithy/util-base64": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz", + "integrity": "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2" + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@sigstore/core": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.1.0.tgz", - "integrity": "sha512-JzBqdVIyqm2FRQCulY6nbQzMpJJpSiJ8XXWMhtOX9eKgaXXpfNOF53lzQEjIydlStnd/eFtuC1dW4VYdD93oRg==", + "node_modules/@smithy/util-body-length-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz", + "integrity": "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.3.tgz", - "integrity": "sha512-RpacQhBlwpBWd7KEJsRKcBQalbV28fvkxwTOJIqhIuDysMMaJW47V4OqW30iJB9uRpqOSxxEAQFdr8tTattReQ==", + "node_modules/@smithy/util-body-length-node": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz", + "integrity": "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.6.2" + }, "engines": { - "node": "^18.17.0 || >=20.5.0" + "node": ">=18.0.0" } }, - "node_modules/@sigstore/sign": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.3.2.tgz", - "integrity": "sha512-5Vz5dPVuunIIvC5vBb0APwo7qKA4G9yM48kPWJT+OEERs40md5GoUR1yedwpekWZ4m0Hhw44m6zU+ObsON+iDA==", + "node_modules/@smithy/util-buffer-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz", + "integrity": "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.2", - "make-fetch-happen": "^13.0.1", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1" + "@smithy/is-array-buffer": "^4.0.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@sigstore/sign/node_modules/make-fetch-happen": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.1.tgz", - "integrity": "sha512-cKTUFc/rbKUd/9meOvgrpJ2WrNzymt6jfRDdwg5UCnVzv9dTpEj9JS5m3wtziXVCjluIXyL8pcaukYqezIzZQA==", + "node_modules/@smithy/util-config-provider": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz", + "integrity": "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" + "tslib": "^2.6.2" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@sigstore/sign/node_modules/minipass-fetch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.5.tgz", - "integrity": "sha512-2N8elDQAtSnFV0Dk7gt15KHsS0Fyz6CbYZ360h0WTYV1Ty46li3rAXVOQj1THMNLdmrD9Vt5pBPtWtVkpwGBqg==", + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "4.0.19", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.19.tgz", + "integrity": "sha512-mvLMh87xSmQrV5XqnUYEPoiFFeEGYeAKIDDKdhE2ahqitm8OHM3aSvhqL6rrK6wm1brIk90JhxDf5lf2hbrLbQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "@smithy/property-provider": "^4.0.4", + "@smithy/smithy-client": "^4.4.3", + "@smithy/types": "^4.3.1", + "bowser": "^2.11.0", + "tslib": "^2.6.2" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "4.0.19", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.19.tgz", + "integrity": "sha512-8tYnx+LUfj6m+zkUUIrIQJxPM1xVxfRBvoGHua7R/i6qAxOMjqR6CpEpDwKoIs1o0+hOjGvkKE23CafKL0vJ9w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/config-resolver": "^4.1.4", + "@smithy/credential-provider-imds": "^4.0.6", + "@smithy/node-config-provider": "^4.1.3", + "@smithy/property-provider": "^4.0.4", + "@smithy/smithy-client": "^4.4.3", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, - "optionalDependencies": { - "encoding": "^0.1.13" + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@sigstore/tuf": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.4.tgz", - "integrity": "sha512-44vtsveTPUpqhm9NCrbU8CWLe3Vck2HO1PNLw7RIajbB7xhtn5RBPm1VNSCMwqGYHhDsBJG8gDF0q4lgydsJvw==", + "node_modules/@smithy/util-endpoints": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.6.tgz", + "integrity": "sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.2", - "tuf-js": "^2.2.1" + "@smithy/node-config-provider": "^4.1.3", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@sigstore/verify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.2.1.tgz", - "integrity": "sha512-8iKx79/F73DKbGfRf7+t4dqrc0bRr0thdPrxAtCKWRm/F0tG71i6O1rvlnScncJLLBZHn3h8M3c1BSUAb9yu8g==", + "node_modules/@smithy/util-hex-encoding": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.0.0.tgz", + "integrity": "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.3.2", - "@sigstore/core": "^1.1.0", - "@sigstore/protobuf-specs": "^0.3.2" + "tslib": "^2.6.2" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "node_modules/@smithy/util-middleware": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.4.tgz", + "integrity": "sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } }, - "node_modules/@sinonjs/commons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", - "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "node_modules/@smithy/util-retry": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.5.tgz", + "integrity": "sha512-V7MSjVDTlEt/plmOFBn1762Dyu5uqMrV2Pl2X0dYk4XvWfdWJNe9Bs5Bzb56wkCuiWjSfClVMGcsuKrGj7S/yg==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "type-detect": "4.0.8" + "@smithy/service-error-classification": "^4.0.5", + "@smithy/types": "^4.3.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "13.0.5", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.5.tgz", - "integrity": "sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==", + "node_modules/@smithy/util-stream": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.2.tgz", + "integrity": "sha512-aI+GLi7MJoVxg24/3J1ipwLoYzgkB4kUfogZfnslcYlynj3xsQ0e7vk4TnTro9hhsS5PvX1mwmkRqqHQjwcU7w==", "dev": true, - "license": "BSD-3-Clause", + "license": "Apache-2.0", "dependencies": { - "@sinonjs/commons": "^3.0.1" + "@smithy/fetch-http-handler": "^5.0.4", + "@smithy/node-http-handler": "^4.0.6", + "@smithy/types": "^4.3.1", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-hex-encoding": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@sinonjs/samsam": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-8.0.2.tgz", - "integrity": "sha512-v46t/fwnhejRSFTGqbpn9u+LQ9xJDse10gNnPgAcxgdoCDMXj/G2asWAC/8Qs+BAZDicX+MNZouXT1A7c83kVw==", + "node_modules/@smithy/util-uri-escape": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz", + "integrity": "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@sinonjs/commons": "^3.0.1", - "lodash.get": "^4.4.2", - "type-detect": "^4.1.0" + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" } }, - "node_modules/@sinonjs/samsam/node_modules/type-detect": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", - "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", + "node_modules/@smithy/util-utf8": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz", + "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@smithy/util-buffer-from": "^4.0.0", + "tslib": "^2.6.2" + }, "engines": { - "node": ">=4" + "node": ">=18.0.0" } }, "node_modules/@tootallnate/once": { @@ -4108,6 +5383,13 @@ "ieee754": "^1.1.13" } }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==", + "dev": true, + "license": "MIT" + }, "node_modules/brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -6804,6 +8086,29 @@ } ] }, + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "license": "MIT", + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, "node_modules/fastest-levenshtein": { "version": "1.0.16", "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", @@ -13783,6 +15088,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strnum": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz", + "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, "node_modules/strong-log-transformer": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", @@ -15432,6 +16750,7 @@ "aws-sdk": "2.1692.0" }, "devDependencies": { + "@aws-sdk/client-sts": "^3.826.0", "@types/aws-lambda": "8.10.149", "@types/node": "22.15.30", "bestzip": "2.2.1", diff --git a/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf b/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf index 2279cc4e00..978c5a08a2 100644 --- a/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf +++ b/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf @@ -1,6 +1,6 @@ locals { collector_layer_arn = "arn:aws:lambda:${data.aws_region.current.name}:${var.account_id}:layer:opentelemetry-collector-arm64-0_15_0:1" - sdk_layer_arn = "arn:aws:lambda:${data.aws_region.current.name}:${var.account_id}:layer:opentelemetry-nodejs-0_14_0:1" + sdk_layer_arn = "arn:aws:lambda:${data.aws_region.current.name}:${var.account_id}:layer:opentelemetry-nodejs-0_14_0:1" } data "aws_region" "current" {} From 10491f675718867f308f805c84ceb3d2395e846e Mon Sep 17 00:00:00 2001 From: Maxime David Date: Wed, 18 Jun 2025 09:30:12 +0100 Subject: [PATCH 11/14] fix: PR comments --- nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf | 4 ++-- .../sample-apps/aws-sdk/deploy/wrapper/variables.tf | 12 ++++++++++++ .../aws-sdk/lib/otel-sample-lambda-stack.ts | 8 +++++--- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf b/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf index 978c5a08a2..6423389357 100644 --- a/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf +++ b/nodejs/sample-apps/aws-sdk/deploy/wrapper/main.tf @@ -1,6 +1,6 @@ locals { - collector_layer_arn = "arn:aws:lambda:${data.aws_region.current.name}:${var.account_id}:layer:opentelemetry-collector-arm64-0_15_0:1" - sdk_layer_arn = "arn:aws:lambda:${data.aws_region.current.name}:${var.account_id}:layer:opentelemetry-nodejs-0_14_0:1" + collector_layer_arn = "arn:aws:lambda:${data.aws_region.current.name}:${var.account_id}:layer:opentelemetry-collector-arm64-${var.collector_layer_version}:1" + sdk_layer_arn = "arn:aws:lambda:${data.aws_region.current.name}:${var.account_id}:layer:opentelemetry-nodejs-${var.nodejs_layer_version}:1" } data "aws_region" "current" {} diff --git a/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf b/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf index 387dcd92db..6d26899220 100644 --- a/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf +++ b/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf @@ -27,3 +27,15 @@ variable "runtime" { description = "NodeJS runtime version used for sample Lambda Function" default = "nodejs22.x" } + +variable "collector_layer_version" { + type = string, + description = "Collector layer version, see latest releases here: https://github.com/open-telemetry/opentelemetry-lambda/releases" + default = "0_15_0" +} + +variable "nodejs_layer_version" { + type = string, + description = "Node.js layer version, see latest releases here: https://github.com/open-telemetry/opentelemetry-lambda/releases" + default = "0_14_0" +} \ No newline at end of file diff --git a/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts b/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts index c9cd91c41f..fe5c92dadf 100644 --- a/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts +++ b/nodejs/sample-apps/aws-sdk/lib/otel-sample-lambda-stack.ts @@ -4,6 +4,8 @@ import * as lambda from 'aws-cdk-lib/aws-lambda'; import * as path from 'path'; const AWS_ACCOUNT_ID = '184161586896'; // Replace with your AWS account ID if you want to use a specific layer +const NODEJS_LAYER_VERSION = '0_14_0'; // Update with the latest version if needed +const COLLECTOR_LAYER_VERSION = '0_15_0'; // Update with the latest version if needed export class OtelSampleLambdaStack extends cdk.Stack { constructor(scope: Construct, id: string, props?: cdk.StackProps) { @@ -11,8 +13,8 @@ export class OtelSampleLambdaStack extends cdk.Stack { const region = cdk.Stack.of(this).region; const architecture = lambda.Architecture.ARM_64; - const collectorLayerArn = `arn:aws:lambda:${region}:${AWS_ACCOUNT_ID}:layer:opentelemetry-collector-${architecture}-0_15_0:1`; // Update with the latest version if needed - const nodejsInstrumentationLayerArn = `arn:aws:lambda:${region}:${AWS_ACCOUNT_ID}:layer:opentelemetry-nodejs-0_14_0:1`; // Update with the latest version if needed + const collectorLayerArn = `arn:aws:lambda:${region}:${AWS_ACCOUNT_ID}:layer:opentelemetry-collector-${architecture}-${COLLECTOR_LAYER_VERSION}:1`; + const nodejsInstrumentationLayerArn = `arn:aws:lambda:${region}:${AWS_ACCOUNT_ID}:layer:opentelemetry-nodejs-${NODEJS_LAYER_VERSION}:1`; new lambda.Function(this, 'MyLambdaFunction', { runtime: lambda.Runtime.NODEJS_22_X, @@ -29,7 +31,7 @@ export class OtelSampleLambdaStack extends cdk.Stack { OTEL_EXPORTER_OTLP_ENDPOINT: 'http://localhost:4318/', OTEL_TRACES_EXPORTER: 'console', OTEL_METRICS_EXPORTER: 'console', - OTEL_LOG_LEVEL: 'INFO', + OTEL_LOG_LEVEL: 'DEBUG', OTEL_TRACES_SAMPLER: 'always_on', AWS_LAMBDA_EXEC_WRAPPER: '/opt/otel-handler', }, From 7e4244f02f16739a00644fb03f5470c6cc15ccd2 Mon Sep 17 00:00:00 2001 From: Maxime David Date: Wed, 18 Jun 2025 09:46:30 +0100 Subject: [PATCH 12/14] fix: typo --- nodejs/package-lock.json | 447 ++++++++++++++++++ .../aws-sdk/deploy/wrapper/variables.tf | 8 +- nodejs/sample-apps/aws-sdk/package.json | 1 + 3 files changed, 452 insertions(+), 4 deletions(-) diff --git a/nodejs/package-lock.json b/nodejs/package-lock.json index 8ad84bae97..cc50ad6f4d 100644 --- a/nodejs/package-lock.json +++ b/nodejs/package-lock.json @@ -28,6 +28,59 @@ "typescript": "5.8.3" } }, + "node_modules/@aws-cdk/asset-awscli-v1": { + "version": "2.2.237", + "resolved": "https://registry.npmjs.org/@aws-cdk/asset-awscli-v1/-/asset-awscli-v1-2.2.237.tgz", + "integrity": "sha512-OlXylbXI52lboFVJBFLae+WB99qWmI121x/wXQHEMj2RaVNVbWE+OAHcDk2Um1BitUQCaTf9ki57B0Fuqx0Rvw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@aws-cdk/asset-node-proxy-agent-v6": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/asset-node-proxy-agent-v6/-/asset-node-proxy-agent-v6-2.1.0.tgz", + "integrity": "sha512-7bY3J8GCVxLupn/kNmpPc5VJz8grx+4RKfnnJiO1LG+uxkZfANZG3RMHhE+qQxxwkyQ9/MfPtTpf748UhR425A==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@aws-cdk/cloud-assembly-schema": { + "version": "44.5.0", + "resolved": "https://registry.npmjs.org/@aws-cdk/cloud-assembly-schema/-/cloud-assembly-schema-44.5.0.tgz", + "integrity": "sha512-/dk9YtqF+BnBS6k4m7YWIp7Pd80m7jdjT8ED8gb3Rd9hAuAEUoJubO0M3EOlLFmknIesQNm95LYU6vt/MIQhWg==", + "bundleDependencies": [ + "jsonschema", + "semver" + ], + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "jsonschema": "~1.4.1", + "semver": "^7.7.2" + }, + "engines": { + "node": ">= 18.0.0" + } + }, + "node_modules/@aws-cdk/cloud-assembly-schema/node_modules/jsonschema": { + "version": "1.4.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/@aws-cdk/cloud-assembly-schema/node_modules/semver": { + "version": "7.7.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@aws-crypto/sha256-browser": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", @@ -5225,6 +5278,391 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/aws-cdk-lib": { + "version": "2.201.0", + "resolved": "https://registry.npmjs.org/aws-cdk-lib/-/aws-cdk-lib-2.201.0.tgz", + "integrity": "sha512-0ioqzM5dkJl02uchOfgeCY3thV3jTn9YkyZ/UF5P4Hq9iNGHQqmPu5xE/VcAV7+P72Z/zV+QLV0xkVT6iLF/bw==", + "bundleDependencies": [ + "@balena/dockerignore", + "case", + "fs-extra", + "ignore", + "jsonschema", + "minimatch", + "punycode", + "semver", + "table", + "yaml", + "mime-types" + ], + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@aws-cdk/asset-awscli-v1": "2.2.237", + "@aws-cdk/asset-node-proxy-agent-v6": "^2.1.0", + "@aws-cdk/cloud-assembly-schema": "^44.2.0", + "@balena/dockerignore": "^1.0.2", + "case": "1.6.3", + "fs-extra": "^11.3.0", + "ignore": "^5.3.2", + "jsonschema": "^1.5.0", + "mime-types": "^2.1.35", + "minimatch": "^3.1.2", + "punycode": "^2.3.1", + "semver": "^7.7.2", + "table": "^6.9.0", + "yaml": "1.10.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "constructs": "^10.0.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/@balena/dockerignore": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "Apache-2.0" + }, + "node_modules/aws-cdk-lib/node_modules/ajv": { + "version": "8.17.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/aws-cdk-lib/node_modules/ansi-regex": { + "version": "5.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aws-cdk-lib/node_modules/astral-regex": { + "version": "2.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/balanced-match": { + "version": "1.0.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/brace-expansion": { + "version": "1.1.12", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/aws-cdk-lib/node_modules/case": { + "version": "1.6.3", + "dev": true, + "inBundle": true, + "license": "(MIT OR GPL-3.0-or-later)", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/concat-map": { + "version": "0.0.1", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/emoji-regex": { + "version": "8.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/fast-deep-equal": { + "version": "3.1.3", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/fast-uri": { + "version": "3.0.6", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "inBundle": true, + "license": "BSD-3-Clause" + }, + "node_modules/aws-cdk-lib/node_modules/fs-extra": { + "version": "11.3.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/aws-cdk-lib/node_modules/graceful-fs": { + "version": "4.2.11", + "dev": true, + "inBundle": true, + "license": "ISC" + }, + "node_modules/aws-cdk-lib/node_modules/ignore": { + "version": "5.3.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/aws-cdk-lib/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/json-schema-traverse": { + "version": "1.0.0", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/jsonfile": { + "version": "6.1.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/aws-cdk-lib/node_modules/jsonschema": { + "version": "1.5.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/aws-cdk-lib/node_modules/lodash.truncate": { + "version": "4.4.2", + "dev": true, + "inBundle": true, + "license": "MIT" + }, + "node_modules/aws-cdk-lib/node_modules/mime-db": { + "version": "1.52.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/aws-cdk-lib/node_modules/mime-types": { + "version": "2.1.35", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/aws-cdk-lib/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/aws-cdk-lib/node_modules/punycode": { + "version": "2.3.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/aws-cdk-lib/node_modules/require-from-string": { + "version": "2.0.2", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/semver": { + "version": "7.7.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aws-cdk-lib/node_modules/slice-ansi": { + "version": "4.0.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/aws-cdk-lib/node_modules/string-width": { + "version": "4.2.3", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/strip-ansi": { + "version": "6.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/aws-cdk-lib/node_modules/table": { + "version": "6.9.0", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/universalify": { + "version": "2.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aws-cdk-lib/node_modules/yaml": { + "version": "1.10.2", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, "node_modules/aws-sdk": { "version": "2.1692.0", "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1692.0.tgz", @@ -5953,6 +6391,14 @@ "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "dev": true }, + "node_modules/constructs": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/constructs/-/constructs-10.4.2.tgz", + "integrity": "sha512-wsNxBlAott2qg8Zv87q3eYZYgheb9lchtBfjHzzLHtXbttwSrHPs1NNQbBrmbb1YZvYg2+Vh0Dor76w4mFxJkA==", + "dev": true, + "license": "Apache-2.0", + "peer": true + }, "node_modules/conventional-changelog-angular": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-7.0.0.tgz", @@ -16753,6 +17199,7 @@ "@aws-sdk/client-sts": "^3.826.0", "@types/aws-lambda": "8.10.150", "@types/node": "24.0.3", + "aws-cdk-lib": "^2.201.0", "bestzip": "2.2.1", "copyfiles": "2.4.1", "rimraf": "6.0.1", diff --git a/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf b/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf index 6d26899220..9f0052b2db 100644 --- a/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf +++ b/nodejs/sample-apps/aws-sdk/deploy/wrapper/variables.tf @@ -29,13 +29,13 @@ variable "runtime" { } variable "collector_layer_version" { - type = string, + type = string description = "Collector layer version, see latest releases here: https://github.com/open-telemetry/opentelemetry-lambda/releases" - default = "0_15_0" + default = "0_15_0" } variable "nodejs_layer_version" { - type = string, + type = string description = "Node.js layer version, see latest releases here: https://github.com/open-telemetry/opentelemetry-lambda/releases" - default = "0_14_0" + default = "0_14_0" } \ No newline at end of file diff --git a/nodejs/sample-apps/aws-sdk/package.json b/nodejs/sample-apps/aws-sdk/package.json index 7765f874aa..87143d6385 100644 --- a/nodejs/sample-apps/aws-sdk/package.json +++ b/nodejs/sample-apps/aws-sdk/package.json @@ -38,6 +38,7 @@ "@aws-sdk/client-sts": "^3.826.0", "@types/aws-lambda": "8.10.150", "@types/node": "24.0.3", + "aws-cdk-lib": "^2.201.0", "bestzip": "2.2.1", "copyfiles": "2.4.1", "rimraf": "6.0.1", From 46d6c094139e409ccb0ce73d7c7272261bbb6d2d Mon Sep 17 00:00:00 2001 From: Maxime David Date: Wed, 18 Jun 2025 10:09:33 +0100 Subject: [PATCH 13/14] fix: packaging --- nodejs/sample-apps/aws-sdk/cdk.json | 2 +- nodejs/sample-apps/aws-sdk/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nodejs/sample-apps/aws-sdk/cdk.json b/nodejs/sample-apps/aws-sdk/cdk.json index c91d7709c0..032f9e503a 100644 --- a/nodejs/sample-apps/aws-sdk/cdk.json +++ b/nodejs/sample-apps/aws-sdk/cdk.json @@ -1,3 +1,3 @@ { - "app": "npm run build && npx ts-node bin/app.ts" + "app": "npm run build" } \ No newline at end of file diff --git a/nodejs/sample-apps/aws-sdk/package.json b/nodejs/sample-apps/aws-sdk/package.json index 87143d6385..e7138cf560 100644 --- a/nodejs/sample-apps/aws-sdk/package.json +++ b/nodejs/sample-apps/aws-sdk/package.json @@ -12,7 +12,7 @@ "lint:fix": "ESLINT_USE_FLAT_CONFIG=false eslint . --ext .ts --fix", "build": "npm run clean && npm run compile && npm run postcompile", "compile": "tsc -p .", - "postcompile": "copyfiles 'package*.json' build/src/ && npm install --production --ignore-scripts --prefix build/src/ && cd build/src && bestzip ../function.zip *" + "postcompile": "copyfiles 'package*.json' build/lambda/ && npm install --production --ignore-scripts --prefix build/lambda/ && cd build/lambda && bestzip ../function.zip *" }, "keywords": [ "opentelemetry", From 244fd1c578489a73fd8373eb6d4c6b4aae13a1cd Mon Sep 17 00:00:00 2001 From: Maxime David Date: Wed, 18 Jun 2025 10:13:34 +0100 Subject: [PATCH 14/14] fix: PR comment, removing dependency --- nodejs/sample-apps/aws-sdk/package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/nodejs/sample-apps/aws-sdk/package.json b/nodejs/sample-apps/aws-sdk/package.json index e7138cf560..f09615f0cc 100644 --- a/nodejs/sample-apps/aws-sdk/package.json +++ b/nodejs/sample-apps/aws-sdk/package.json @@ -44,8 +44,5 @@ "rimraf": "6.0.1", "ts-node": "10.9.2", "typescript": "5.8.3" - }, - "dependencies": { - "aws-sdk": "2.1692.0" } }